From 686516bb310be689d18349834937a3ac06df67c8 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 00:00:07 +0000 Subject: [PATCH] =?UTF-8?q?drop:=202026-06-01=20=E2=80=94=20ikea-assembly-?= =?UTF-8?q?manual?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archive/2026-06-01/engagement.json | 1 + archive/2026-06-01/index.html | 323 +++++++++++++++++++++ archive/2026-06-01/meta.json | 24 ++ archive/2026-06-01/rating.json | 1 + archive/2026-06-01/script.js | 53 ++++ archive/2026-06-01/social.json | 11 + archive/2026-06-01/style.css | 445 +++++++++++++++++++++++++++++ 7 files changed, 858 insertions(+) create mode 100644 archive/2026-06-01/engagement.json create mode 100644 archive/2026-06-01/index.html create mode 100644 archive/2026-06-01/meta.json create mode 100644 archive/2026-06-01/rating.json create mode 100644 archive/2026-06-01/script.js create mode 100644 archive/2026-06-01/social.json create mode 100644 archive/2026-06-01/style.css diff --git a/archive/2026-06-01/engagement.json b/archive/2026-06-01/engagement.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/archive/2026-06-01/engagement.json @@ -0,0 +1 @@ +{} diff --git a/archive/2026-06-01/index.html b/archive/2026-06-01/index.html new file mode 100644 index 00000000..96806dc4 --- /dev/null +++ b/archive/2026-06-01/index.html @@ -0,0 +1,323 @@ + + + + + +ROOT-2015 · Assembly Instructions + + + + + + +
+
SHEET 1 / 9
+
ROOT-2015
+
+

Root Ventures®

+

Bygg-en-Fond — model year 2015

+ + + + + + + + + SEED + + +

Seeding bold engineers.

+
+ + SOME ASSEMBLY REQUIRED. ENGINEERS NEEDED. NO BATTERIES INCLUDED. + +
+
+

EN · Printed in San Francisco, CA · Reorder code AA-2015

+
+ +
+
SHEET 2 / 9
+
Innan du börjar
+

Before you begin

+
+
+ + + + + + + RTFM + + + +
Fig. 0.1 — Read the manual. Then read it again.
+
+
+

Mission: Investing at the earliest stages of technical founders taking engineering risk.

+

Thesis: San Francisco-based deep tech seed fund. As engineers ourselves, we specialize in leading initial funding for founders tackling new technical opportunities.

+
    +
  • ModelROOT-2015
  • +
  • StageSeed
  • +
  • Capacity$190M
  • +
  • Per-unit check$3M–5M
  • +
  • Reserve compartment2/3 of pack
  • +
  • Output rateA selective few per annum
  • +
  • Origin2670 Harrison St, SF, CA 94110
  • +
+
+
+

If any parts appear bent, missing, or pre-seed, do not return to retailer. Email service (Sheet 9).

+
+ +
+
SHEET 3 / 9
+
Verktyg
+

Tools required

+

Included in the box. Do not substitute.

+
    +
  1. + +
    + T-01 + Avidan Ross + Managing Partner · Allen key, long arm +

    Founding partner. Previously designed industrial robotics for Food Network's kitchens; CTO at CIM Group; embedded apps at Excite@Home. BA Computer Science, Columbia.

    +
    +
  2. +
  3. + +
    + T-02 + Kane Hsieh + Partner · Phillips driver, #2 +

    Founder and Head of Product at Brilliant Bicycle Co. Early stage at RRE Ventures, engineer at Romotive, PM at Microsoft. AB Computer Science, Harvard.

    +
    +
  4. +
  5. + +
    + T-03 + Chrissy Meyer + Partner · Calipers, electronic +

    Decade shipping hardware as EM at Apple and Square. Founding team at Pearl Automation. MS Electrical Engineering, Stanford; BSEE Rose-Hulman.

    +
    +
  6. +
  7. + +
    + T-04 + Lee Edwards + Partner · Mallet, soft-faced +

    CTO at Teespring. Mechanical engineer at iRobot, SWE at Pivotal Labs, Lead Engineer at SideTour (acq. Groupon), EM for GrouponLive. Olin Engineering.

    +
    +
  8. +
  9. + +
    + T-05 + Zodi Chalat + Associate · Spirit level +

    ML infrastructure engineer at Netflix before moving into venture. CS and comparative literature, Yale.

    +
    +
  10. +
  11. + +
    + T-06 + Ben Lovell + Head of Operations · Torque wrench +

    Operational automation and data pipelines at a16z, Menlo Ventures, FT Partners. Cofounded an adtech startup for rideshare. BA Stanford.

    +
    +
  12. +
  13. + +
    + T-07 + Laelah Reino + Operations Manager · Tape measure +

    15+ years in marketing for film, consumer products, subscription services. BA Business Administration (Marketing), Drexel.

    +
    +
  14. +
+

Tools T-01 through T-07 form a complete set. Hand-tighten only. Do not over-torque founders.

+
+ +
+
SHEET 4 / 9
+
Delförteckning A
+

Parts inventory — sheet A (devtools, data, AI)

+

Verify all parts before assembly. If a part is missing, do not panic. We rarely lose track of our parts.

+ +
+ +
+
SHEET 5 / 9
+
Delförteckning B
+

Parts inventory — sheet B (hardware, robotics, machines)

+

Heavy. Lift with the legs, not the cap table.

+ +
+ +
+
SHEET 6 / 9
+
Delförteckning C
+

Parts inventory — sheet C (deep tech, biology, design tools)

+

Some parts in this section require additional R&D. Provided gloves are non-conductive.

+ +
+ +
+
SHEET 7 / 9
+
Monteringsanvisning
+

Assembly procedure

+
    +
  1. + 1. + +

    Identify the technical founder. Confirm engineering risk is present. If the founder is solving a market problem with no engineering risk, this part does not fit our chassis.

    +
  2. +
  3. + 2. + +

    Mount tools T-01 through T-05 to the part. Lead with the partner whose tool matches the geometry. Adjacent partners stabilize.

    +
  4. +
  5. + 3. + +

    Insert a single check (per-unit, $3M–$5M). Hold pressure for one funding round. Two thirds of pack reserved for follow-on torque.

    +
  6. +
  7. + 4. + +

    Apply T-06 and T-07 to operations. Light loads only. Repeat steps 1–3 a selective few times per annum.

    +
  8. +
  9. + 5. + +

    Park completed assembly outside 2670 Harrison St, San Francisco, CA 94110. Inspect for square. Tighten quarterly board cadence.

    +
  10. +
+
+ +
+
SHEET 8 / 9
+
Garanti
+

Warranty & help wanted

+
+
+

Limited lifetime support

+

If your assembled fund makes a strange noise, do not strike it with a hammer. Contact a partner directly. We answer.

+ +
+
+

Reorder slip — currently in stock

+

Open position: Venture Capital Associate, San Francisco.

+

We're looking for someone technical — CS, engineering experience, or equivalent — with genuine curiosity, a knack for explaining complex tech simply, and the kind of resourcefulness that figures things out without asking for the manual twice.

+

Bonus parts: open source contributions, active technical communities, prior startup time. Submit application to hello@root.vc.

+
+
+

Tip: removing the small Allen wrench from the box and pretending you don't have it is a recognized failure mode. We will find another one.

+
+ +
+
SHEET 9 / 9
+
Övriga modeller
+

Other models in this catalogue

+

Previously printed sheets are kept in the binder. We never lose track of a manual.

+
+ + Tab A + Open the binder → previous manuals + Printed weekly. Filed by date. Never recycled. + + + Tab B + Last week's model + Same fund. Different chassis. + +
+

Root Ventures · hello@root.vc · 2670 Harrison St, San Francisco, CA 94110 · Est. 2015

+

Reorder code AA-2015 · EN · © Root Ventures · No batteries. No serifs. No board observers.

+
+ + + + diff --git a/archive/2026-06-01/meta.json b/archive/2026-06-01/meta.json new file mode 100644 index 00000000..592849f1 --- /dev/null +++ b/archive/2026-06-01/meta.json @@ -0,0 +1,24 @@ +{ + "theme_name": "ikea-assembly-manual", + "editorial_note": "The drop reads as a flat-pack assembly instruction manual for ROOT-2015 (the model year, est. 2015): cover, before-you-begin spec page, tools-required page (the team, each rendered as a labeled tool), three parts-inventory sheets (all 63 portfolio companies as part numbers with brand-anchor line drawings), an assembly procedure tying mission and check size into steps, a warranty card with the contact mailto and the open Associate role, and a final 'other models in this catalogue' sheet. The voice is deadpan-IKEA: short captions, Swedish-style section labels in the corner marks, no marketing prose. All 63 portfolio companies are included; the team is rendered as tools T-01 through T-07 by name; firm.name, tagline ('Seeding bold engineers'), mission, and thesis all appear in the static DOM. No omissions.", + "where_facts_live": { + "firm_name": ".wordmark on the cover sheet (Sheet 1) and in the warranty footer rule", + "mission": ".copy .mission on Sheet 2 ('Before you begin'), with thesis directly below", + "portfolio": "Three .parts-list sections on Sheets 4, 5, 6 (P-001 through P-063), each a real anchor to the company URL", + "team": "Seven .tool entries on Sheet 3 (T-01 through T-07), each with name, title, and bio", + "contact": "mailto:hello@root.vc inside .meta-list on Sheet 8 and again on the application line; address printed in footer rule on Sheet 9" + }, + "history_view_concept": "Sheet 9, 'Other models in this catalogue,' is a two-tab binder: one tab labeled 'Open the binder → previous manuals' and one labeled 'Last week's model.' Both are large, hover-active anchors pointing to /archive/. The tab markup mirrors the binder tabs you'd flip on a catalogue spine — in-world for a printed instruction series, not a footer link.", + "theme_keys": [ + "ikea", + "assembly-manual", + "flat-pack", + "instruction-manual", + "line-drawings", + "deadpan", + "print-aesthetic", + "scandi" + ], + "topical": false, + "csp_nonce": "QVc6-Bo2LVBZtnhI87l_sg==" +} diff --git a/archive/2026-06-01/rating.json b/archive/2026-06-01/rating.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/archive/2026-06-01/rating.json @@ -0,0 +1 @@ +[] diff --git a/archive/2026-06-01/script.js b/archive/2026-06-01/script.js new file mode 100644 index 00000000..7d49fb7e --- /dev/null +++ b/archive/2026-06-01/script.js @@ -0,0 +1,53 @@ +// ROOT-2015 instruction manual — progressive enhancement only. +// All anchor facts are in the static HTML. This file adds: +// 1) A live sheet counter in the top-right corner mark. +// 2) A subtle "crinkle" hover state on parts (CSS-driven via class). +// JSDOM safe: every API used has a JSDOM impl; no observers, no network. + +(function () { + if (typeof document === "undefined") return; + + // Sheet counter: update the top-right corner mark while the visitor scrolls. + var sheets = document.querySelectorAll(".sheet"); + if (!sheets || sheets.length === 0) return; + + function nearestSheet() { + var best = null; + var bestDist = Infinity; + var anchor = window.scrollY + 80; + for (var i = 0; i < sheets.length; i++) { + var top = sheets[i].offsetTop; + var d = Math.abs(top - anchor); + if (d < bestDist) { bestDist = d; best = sheets[i]; } + } + return best; + } + + function updateMark() { + var current = nearestSheet(); + if (!current) return; + document.body.setAttribute("data-current-sheet", current.id || ""); + } + + // throttle via rAF + var ticking = false; + function onScroll() { + if (ticking) return; + ticking = true; + window.requestAnimationFrame(function () { + updateMark(); + ticking = false; + }); + } + + window.addEventListener("scroll", onScroll, { passive: true }); + updateMark(); + + // Tiny easter egg: clicking the cover wordmark toggles a stamp class. + var mark = document.querySelector(".wordmark"); + if (mark) { + mark.addEventListener("click", function () { + document.body.classList.toggle("stamped"); + }); + } +})(); diff --git a/archive/2026-06-01/social.json b/archive/2026-06-01/social.json new file mode 100644 index 00000000..559ed763 --- /dev/null +++ b/archive/2026-06-01/social.json @@ -0,0 +1,11 @@ +{ + "tweet_draft": "We rewrote root.vc as the flat-pack assembly instructions for a venture fund. Parts list: all 63 portfolio companies. Tools required: the team. Some assembly required. Engineers needed. root.vc", + "tweet_thread": [ + "Sheet 1: cover. Wordmark, model number ROOT-2015, warning strip: 'SOME ASSEMBLY REQUIRED. ENGINEERS NEEDED. NO BATTERIES INCLUDED.'", + "Sheet 3: tools required. Each partner is a tool with a part number. Avidan is the long-arm Allen key. Lee is the soft-faced mallet. Chrissy is the electronic calipers. You get the idea.", + "Sheets 4-6: parts inventory. P-001 through P-063, every portfolio company, with quantity and a one-line spec. Verify all parts before assembly. If a part is missing, do not panic.", + "Sheet 9: 'Other models in this catalogue.' That's the archive. We never recycle a manual." + ], + "linkedin_draft": "This week's root.vc is a flat-pack assembly instruction manual.\n\nModel: ROOT-2015 (the year we shipped the first version of the fund). Nine sheets, each with corner marks in Swedish, line drawings instead of stock photography, and a deadpan tone that any engineer who has built a Billy bookcase will recognize on sight.\n\nWhat's on each sheet:\n\n- Sheet 1, cover. The Root Ventures wordmark, the tagline ('Seeding bold engineers'), a labeled diagram of an assembled fund, and a printed warning: SOME ASSEMBLY REQUIRED. ENGINEERS NEEDED. NO BATTERIES INCLUDED.\n- Sheet 2, 'Before you begin.' Mission and thesis as the bold-text spec card. Fund size, check size, reserve ratio, cadence, address.\n- Sheet 3, 'Tools required.' Each member of the team is a numbered tool with a line drawing and a one-line description of what they do. Avidan is the long-arm Allen key. Chrissy is the electronic calipers. Lee is the soft-faced mallet. Ben is the torque wrench. Laelah is the tape measure. Zodi is the spirit level. Kane is the Phillips driver.\n- Sheets 4, 5, 6, 'Parts inventory.' All 63 portfolio companies as part numbers P-001 through P-063, each with quantity and a one-line spec, grouped by category.\n- Sheet 7, 'Assembly procedure.' Five steps with diagrams: identify a technical founder, mount the partners, insert a single $3-5M check, apply ops, park outside 2670 Harrison.\n- Sheet 8, 'Warranty.' The contact mailto and the open Associate role rendered as a reorder slip.\n- Sheet 9, 'Other models in this catalogue.' The archive, rendered as binder tabs.\n\nThe joke runs all the way through. We treat ourselves as the unboxed product because, on the inside, we mostly are. We get a small batch of bold engineers per year, we ship them with two thirds of the pack in reserve, and we put the wrenches in the box.\n\nLink to the live drop on root.vc. Manual filed in the binder every Monday. We never recycle one.", + "screenshot_brief": "Lead screenshot: Sheet 1 (cover) showing the Root Ventures wordmark, the labeled line drawing of an assembled fund, and the yellow 'SOME ASSEMBLY REQUIRED' warning strip. Second screenshot: Sheet 3 (tools required) showing the seven partners as numbered tools T-01 through T-07. Optional third: a parts-inventory sheet with part numbers P-001 through P-022 visible, to show how the portfolio is rendered." +} diff --git a/archive/2026-06-01/style.css b/archive/2026-06-01/style.css new file mode 100644 index 00000000..72e175af --- /dev/null +++ b/archive/2026-06-01/style.css @@ -0,0 +1,445 @@ +:root { + --paper: #fafaf6; + --ink: #111; + --rule: #d8d6cc; + --accent: #ffd000; + --warning: #ffd000; + --shadow: rgba(0,0,0,0.06); +} + +* { box-sizing: border-box; } + +html, body { + margin: 0; + padding: 0; + background: #ece8dc; + color: var(--ink); + font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif; + font-weight: 500; + line-height: 1.4; + -webkit-font-smoothing: antialiased; +} + +body { + padding: 28px 16px 80px; +} + +.sheet { + position: relative; + background: var(--paper); + max-width: 920px; + margin: 0 auto 28px; + padding: 56px 56px 72px; + border: 1px solid #cfcdc2; + box-shadow: 0 1px 0 var(--shadow), 0 18px 40px -28px rgba(0,0,0,0.25); +} + +.sheet::before { + content: ""; + position: absolute; + inset: 8px; + border: 1px solid #e7e4d8; + pointer-events: none; +} + +.corner-mark { + position: absolute; + top: 20px; + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.12em; + text-transform: uppercase; + color: #5b5a51; +} +.corner-mark.tl { left: 28px; } +.corner-mark.tr { right: 28px; } + +.section-title { + font-size: 22px; + font-weight: 800; + letter-spacing: -0.01em; + margin: 0 0 4px; + padding-bottom: 12px; + border-bottom: 2px solid var(--ink); +} + +.sub { + font-size: 13px; + color: #4a493f; + margin: 8px 0 24px; +} + +.hint { + font-size: 12px; + color: #555; + margin-top: 24px; + padding: 10px 12px; + border-left: 3px solid var(--ink); + background: #f3efe2; + font-style: italic; +} + +.cover { + text-align: center; + padding: 72px 56px 88px; +} + +.cover-frame { + border: 2px solid var(--ink); + padding: 40px 28px 28px; + background: linear-gradient(180deg, #fff 0%, #fafaf6 100%); +} + +.wordmark { + font-size: 56px; + font-weight: 900; + margin: 0; + letter-spacing: -0.04em; +} +.wordmark .reg { + font-size: 16px; + vertical-align: super; + font-weight: 600; + margin-left: 2px; +} + +.swedish { + font-family: "Courier New", monospace; + font-size: 13px; + letter-spacing: 0.18em; + text-transform: uppercase; + color: #5b5a51; + margin: 4px 0 28px; +} + +.cover-art { + width: 100%; + max-width: 420px; + height: auto; + margin: 8px auto; + display: block; +} + +.tagline { + font-size: 20px; + font-weight: 700; + margin: 20px 0 24px; +} + +.warning-strip { + display: flex; + align-items: center; + justify-content: center; + gap: 14px; + background: var(--warning); + color: var(--ink); + padding: 10px 16px; + margin: 12px -4px 0; + font-family: "Courier New", monospace; + font-size: 12px; + letter-spacing: 0.12em; + text-transform: uppercase; + border: 2px solid var(--ink); +} +.warning-strip .chev { font-size: 18px; } + +.locale-note { + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.18em; + text-transform: uppercase; + color: #5b5a51; + margin-top: 28px; +} + +.two-col { + display: grid; + grid-template-columns: 220px 1fr; + gap: 36px; + align-items: start; +} +@media (max-width: 720px) { + .two-col { grid-template-columns: 1fr; } +} + +.figure svg { + width: 100%; + height: auto; + background: #fff; + border: 1px solid var(--rule); + padding: 12px; +} +.figure figcaption { + font-family: "Courier New", monospace; + font-size: 11px; + margin-top: 8px; + color: #5b5a51; + text-align: center; +} + +.copy p { margin: 0 0 14px; font-size: 15px; } +.copy .mission { font-size: 17px; line-height: 1.45; } +.copy .thesis { color: #2a2a22; } + +.spec { + list-style: none; + margin: 18px 0 0; + padding: 0; + border-top: 1px solid var(--rule); +} +.spec li { + display: grid; + grid-template-columns: 180px 1fr; + padding: 8px 0; + border-bottom: 1px dotted var(--rule); + font-size: 14px; +} +.spec li span:first-child { + font-family: "Courier New", monospace; + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.1em; + color: #5b5a51; + align-self: center; +} + +.tool-grid { + list-style: none; + padding: 0; + margin: 24px 0 0; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 24px 32px; +} +@media (max-width: 720px) { + .tool-grid { grid-template-columns: 1fr; } +} + +.tool { + display: grid; + grid-template-columns: 120px 1fr; + gap: 14px; + padding: 14px; + border: 1px solid var(--rule); + background: #fff; + position: relative; +} +.tool svg { + width: 100%; + height: auto; + align-self: start; + background: #fafaf6; + border: 1px solid var(--rule); + padding: 4px; +} +.tool-meta { font-size: 13px; } +.tool-id { + display: inline-block; + font-family: "Courier New", monospace; + font-size: 11px; + background: var(--ink); + color: var(--paper); + padding: 2px 6px; + letter-spacing: 0.1em; + margin-bottom: 4px; +} +.tool-meta strong { display: block; font-size: 16px; margin-top: 2px; } +.tool-meta em { + font-style: normal; + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.05em; + text-transform: uppercase; + color: #5b5a51; + display: block; + margin: 2px 0 6px; +} +.tool-meta p { margin: 4px 0 0; line-height: 1.4; color: #2a2a22; } + +.parts-list { + list-style: none; + padding: 0; + margin: 16px 0 0; + border-top: 2px solid var(--ink); +} +.part { + display: grid; + grid-template-columns: 76px 220px 60px 1fr; + gap: 16px; + padding: 10px 4px; + border-bottom: 1px dotted var(--rule); + align-items: baseline; + font-size: 14px; +} +@media (max-width: 720px) { + .part { grid-template-columns: 70px 1fr; } + .part .qty, .part .pdesc { grid-column: 2; } +} +.pn { + font-family: "Courier New", monospace; + font-size: 12px; + letter-spacing: 0.08em; + color: #5b5a51; + background: #f3efe2; + padding: 2px 6px; + display: inline-block; + width: max-content; +} +.pname { + font-weight: 700; + color: var(--ink); + text-decoration: none; + border-bottom: 2px solid var(--ink); +} +.pname:hover { background: var(--accent); } +.qty { + font-family: "Courier New", monospace; + font-size: 12px; + color: #5b5a51; +} +.pdesc { color: #2a2a22; } + +.steps { + list-style: none; + padding: 0; + margin: 16px 0 0; + counter-reset: step; +} +.steps > li { + display: grid; + grid-template-columns: 44px 220px 1fr; + gap: 22px; + align-items: center; + padding: 20px 8px; + border-bottom: 1px solid var(--rule); +} +@media (max-width: 720px) { + .steps > li { grid-template-columns: 44px 1fr; } + .steps > li svg { grid-column: 1 / -1; max-width: 280px; } +} +.step-no { + font-size: 36px; + font-weight: 900; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.steps svg { + width: 100%; + max-width: 220px; + height: auto; + background: #fff; + border: 1px solid var(--rule); + padding: 6px; +} +.steps p { margin: 0; font-size: 15px; line-height: 1.45; } + +.warranty-card { + border: 2px solid var(--ink); + background: #fff; + padding: 20px; +} +.warranty-card .card-head { + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.14em; + text-transform: uppercase; + color: #5b5a51; + margin: 0 0 10px; +} +.warranty-card p { margin: 0 0 12px; font-size: 14px; } +.meta-list { + list-style: none; + padding: 0; + margin: 14px 0 0; + border-top: 1px solid var(--rule); +} +.meta-list li { + display: grid; + grid-template-columns: 140px 1fr; + padding: 8px 0; + font-size: 13px; + border-bottom: 1px dotted var(--rule); +} +.meta-list li span { + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.1em; + text-transform: uppercase; + color: #5b5a51; + align-self: center; +} +.meta-list li a { + color: var(--ink); + text-decoration: none; + border-bottom: 2px solid var(--ink); +} +.meta-list li a:hover { background: var(--accent); } + +.binder { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 18px; + margin: 18px 0 24px; +} +@media (max-width: 720px) { .binder { grid-template-columns: 1fr; } } +.binder-tab { + display: block; + padding: 22px 24px; + background: #fff; + border: 2px solid var(--ink); + text-decoration: none; + color: var(--ink); + position: relative; + box-shadow: 6px 6px 0 var(--ink); + transition: transform 0.08s ease, box-shadow 0.08s ease; +} +.binder-tab:hover { + transform: translate(-2px, -2px); + box-shadow: 8px 8px 0 var(--ink); + background: var(--accent); +} +.tab-no { + display: inline-block; + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.14em; + text-transform: uppercase; + color: #5b5a51; + margin-bottom: 6px; +} +.tab-name { + display: block; + font-weight: 800; + font-size: 18px; + margin: 2px 0 6px; +} +.tab-meta { + display: block; + font-size: 12px; + color: #2a2a22; +} + +.foot-rule { + margin-top: 20px; + padding-top: 12px; + border-top: 1px solid var(--rule); + font-family: "Courier New", monospace; + font-size: 11px; + letter-spacing: 0.08em; + text-transform: uppercase; + color: #5b5a51; + text-align: center; +} +.reorder { + font-family: "Courier New", monospace; + font-size: 10px; + letter-spacing: 0.16em; + text-transform: uppercase; + color: #7a7869; + text-align: center; + margin: 6px 0 0; +} + +@media print { + body { background: #fff; padding: 0; } + .sheet { box-shadow: none; border: none; page-break-after: always; } +}