
  /* Self-hosted variable fonts (latin subset) — no third-party requests on
     the render path. Newsreader only downloads on Ink-theme pages. */
  @font-face { font-family:'Instrument Sans'; font-style:normal; font-weight:400 600; font-display:swap;
    src:url(/assets/fonts/instrument-sans.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
  @font-face { font-family:'Space Grotesk'; font-style:normal; font-weight:400 500; font-display:swap;
    src:url(/assets/fonts/space-grotesk.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
  @font-face { font-family:'Newsreader'; font-style:normal; font-weight:400 500; font-display:swap;
    src:url(/assets/fonts/newsreader.woff2) format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

  :root {
    --bg:#f7f6f2; --card:#fff; --ink:#1f231f; --muted:#6b6a60; --faint:#706e62;
    --kicker:#716f63; --border:#e6e3da; --accent:#617760; --accent-dark:#4d5f4c;
    --av:#dde3da; --off:#dedbd0; --danger:#a4554a; --danger-border:#e8d5d2;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  body { background:var(--bg); color:var(--ink); font-family:'Instrument Sans',system-ui,sans-serif;
         min-height:100dvh; display:flex; justify-content:center; }
  /* Grays are lighter on the dark theme: the paper values are tuned for
     WCAG AA on #f7f6f2/#fff and would vanish on #171714. */
  body[data-theme="ink"] { background:#171714; color:#f2efe6;
    --muted:#8b8a80; --faint:#b3b0a4; --kicker:#9a988c; }
  .page { width:min(27rem,100%); padding:0 0 3rem; display:flex; flex-direction:column; }
  .page > * { flex:none; }
  a { color:inherit; }

  .kicker { font:600 10.5px 'Space Grotesk',monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--kicker); }
  .card-input { display:flex; align-items:center; gap:10px; padding:13px 16px; background:var(--card);
                border:1px solid var(--border); border-radius:12px; }
  .card-input input, .card-input textarea { flex:1; border:none; outline:none; background:transparent;
                font:400 14px 'Instrument Sans',sans-serif; color:var(--ink); min-width:0; }
  .card-input .prefix { font:400 14px 'Space Grotesk',monospace; color:var(--faint); }
  .card-input input.mono { font:500 14px 'Space Grotesk',monospace; }
  .btn { border:none; background:var(--accent); color:#fff; font:500 14px 'Instrument Sans',sans-serif;
         padding:13px 20px; border-radius:12px; cursor:pointer; }
  .btn:hover { background:var(--accent-dark); }
  .btn.small { padding:7px 14px; font-size:12.5px; border-radius:8px; }
  .btn.ghost { background:var(--card); color:var(--ink); border:1px solid var(--border); }
  .btn.ghost:hover { background:var(--bg); color:var(--accent); }
  .error { margin:16px 24px 0; padding:12px 16px; border:1px solid var(--danger-border); border-radius:12px;
           color:var(--danger); font:500 13px 'Instrument Sans',sans-serif; background:var(--card); }
  .notice { margin:16px 24px 0; padding:12px 16px; border:1px solid var(--accent); border-radius:12px;
            color:var(--accent); font:500 13px 'Instrument Sans',sans-serif; background:var(--card); }
  .fp { text-align:center; font:400 12.5px 'Instrument Sans',sans-serif; margin-top:2px; }
  .fp a { color:var(--muted); }
  .code-card { margin-top:8px; padding:14px 16px; background:var(--card); border:1px solid var(--accent);
               border-radius:12px; font:500 14px 'Space Grotesk',monospace; color:var(--ink);
               text-align:center; letter-spacing:.04em; user-select:all; }
  .code-note { font:400 11.5px/1.5 'Instrument Sans',sans-serif; color:var(--muted); margin-top:8px; }

  /* ── auth ── */
  .auth-head { padding:56px 28px 0; text-align:center; }
  .auth-head h1 { font:600 22px 'Instrument Sans',sans-serif; color:var(--accent); }
  .auth-head h1 a, .auth-head > a { color:inherit; text-decoration:none; }
  .auth-head p { font:400 13.5px/1.5 'Instrument Sans',sans-serif; color:var(--muted); margin-top:8px; }
  .tabs { padding:32px 28px 0; display:flex; justify-content:center; }
  .tab { border:none; background:transparent; padding:10px 18px; cursor:pointer;
         font:500 14px 'Instrument Sans',sans-serif; color:var(--kicker); border-bottom:2px solid transparent; }
  .tab[data-active="1"] { color:var(--ink); border-bottom-color:var(--accent); }
  .auth-form { padding:24px 28px 0; display:none; flex-direction:column; gap:10px; }
  .auth-form[data-active="1"] { display:flex; }
  .auth-foot { padding:28px 28px 0; text-align:center; font:400 11.5px/1.5 'Instrument Sans',sans-serif; color:var(--faint); }

  /* ── landing ── */
  .hero { padding:48px 28px 0; }
  .hero h1 { font:600 clamp(28px,7vw,34px)/1.15 'Instrument Sans',sans-serif; letter-spacing:-.01em; margin-top:12px; }
  .hero .sub { font:400 14.5px/1.6 'Instrument Sans',sans-serif; color:var(--muted); margin-top:12px; max-width:34ch; }
  .cta-row { display:flex; gap:10px; margin-top:24px; }
  .cta-row .btn { flex:1; }
  .cta-row .btn { text-decoration:none; text-align:center; }
  .hero-mock { padding:36px 28px 0; }
  .mockcard { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:20px;
              box-shadow:0 10px 30px rgba(31,35,31,.07); }
  .mockhead { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
  .mockhead .avatar { width:44px; height:44px; font-size:15px; }
  .mnm { font:600 15px 'Instrument Sans',sans-serif; }
  .mbio { font:400 12px 'Instrument Sans',sans-serif; color:var(--muted); }
  .mockrow { display:flex; align-items:center; gap:11px; padding:11px 13px; background:var(--bg);
             border:1px solid var(--border); border-radius:11px; margin-top:7px;
             font:500 13.5px 'Instrument Sans',sans-serif; }
  .mockrow .lstack { flex:1; min-width:0; display:flex; flex-direction:column; }
  .mockrow .lstack .llabel { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mockrow .ldesc { font:400 11.5px/1.4 'Instrument Sans',sans-serif; color:var(--muted);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .mock-search { padding:10px 13px; margin-bottom:10px; background:var(--bg); font:400 13px 'Instrument Sans',sans-serif; }
  .mock-search .ph { color:var(--faint); }
  .mock-chips { display:flex; gap:7px; margin-bottom:14px; }
  .mockcard .group-head { margin:0 2px 2px; }
  .feat-list { padding:36px 28px 0; display:flex; flex-direction:column; gap:18px; }
  .feat .ft { font:600 14px 'Instrument Sans',sans-serif; color:var(--accent); }
  .feat .fd { font:400 13px/1.55 'Instrument Sans',sans-serif; color:var(--muted); margin-top:3px; }
  .lsec { padding:44px 28px 0; }
  .lsec h2 { font:600 19px 'Instrument Sans',sans-serif; letter-spacing:-.01em; }
  .lsec > p { font:400 13.5px/1.6 'Instrument Sans',sans-serif; color:var(--muted); margin-top:8px; }
  .steps { margin-top:16px; display:flex; flex-direction:column; gap:14px; }
  .step { display:flex; gap:14px; align-items:flex-start; }
  .step .n { flex:none; width:26px; height:26px; border-radius:50%; background:var(--av); color:var(--accent-dark);
             display:flex; align-items:center; justify-content:center; font:600 12.5px 'Space Grotesk',monospace; }
  .step .st { font:600 13.5px 'Instrument Sans',sans-serif; }
  .step .sd { font:400 13px/1.55 'Instrument Sans',sans-serif; color:var(--muted); margin-top:2px; }
  .statmock { margin-top:16px; background:var(--card); border:1px solid var(--border); border-radius:16px;
              padding:18px 20px; box-shadow:0 10px 30px rgba(31,35,31,.07); }
  .statmock .sm-num { font:600 26px 'Instrument Sans',sans-serif; }
  .statmock .sm-sub { font:400 12px 'Instrument Sans',sans-serif; color:var(--muted); }
  .statmock .sm-bars { display:flex; gap:8px; align-items:flex-end; height:56px; margin-top:14px; }
  .statmock .sm-bars i { flex:1; background:var(--av); border-radius:4px 4px 2px 2px; }
  .statmock .sm-bars i.hi { background:var(--accent); }
  .faq { margin-top:6px; }
  .faq h3 { font:600 14px 'Instrument Sans',sans-serif; margin-top:20px; }
  .faq p { font:400 13.5px/1.65 'Instrument Sans',sans-serif; color:var(--muted); margin-top:6px; }
  .faq a { color:var(--accent); }
  .cmp { width:100%; margin-top:16px; border-collapse:collapse; background:var(--card);
         border-radius:14px; overflow:hidden; box-shadow:0 0 0 1px var(--border); }
  .cmp th, .cmp td { padding:11px 12px; text-align:left; font:400 12.5px/1.45 'Instrument Sans',sans-serif;
                     border-bottom:1px solid var(--border); vertical-align:top; }
  .cmp th { font-weight:600; font-size:12px; }
  .cmp thead th { background:var(--bg); color:var(--kicker); font:600 10.5px 'Space Grotesk',monospace;
                  letter-spacing:.1em; text-transform:uppercase; }
  .cmp tr:last-child td { border-bottom:none; }
  .cmp td.y { color:var(--accent-dark); font-weight:500; }
  .cmp td.m { color:var(--muted); }

  /* ── legal ── */
  .legal { padding:20px 28px 0; }
  .legal h1 { font:600 22px 'Instrument Sans',sans-serif; margin:14px 0 4px; }
  .legal h2 { font:600 13.5px 'Instrument Sans',sans-serif; color:var(--accent); margin:24px 0 6px; }
  .legal p, .legal li { font:400 13.5px/1.65 'Instrument Sans',sans-serif; }
  .legal p + p { margin-top:8px; }
  .legal ul { padding-left:18px; margin:6px 0; }
  .legal .lmeta { font:400 12px 'Instrument Sans',sans-serif; color:var(--muted); }
  .legal a { color:var(--accent); }

  /* ── link editing ── */
  .edit { color:var(--faint); font-size:12px; text-decoration:none; padding:2px; flex:none; }
  .edit:hover { color:var(--accent); }
  .editform { flex:1; display:flex; flex-direction:column; gap:6px; min-width:0; }
  .editform input, .editform select { padding:8px 10px; border:1px solid var(--border); border-radius:8px;
                    background:var(--bg); font:400 13px 'Instrument Sans',sans-serif; color:var(--ink);
                    outline:none; width:100%; }
  .editform input:focus, .editform select:focus { border-color:var(--accent); }
  .editform .row { display:flex; gap:8px; align-items:center; }
  .editform .btn { padding:8px 14px; font-size:12px; border-radius:8px; margin:0; }
  .editform a { font:400 12px 'Instrument Sans',sans-serif; color:var(--muted); }

  /* ── app chrome ── */
  .apphead { padding:24px 24px 0; display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .apphead .brand { font:600 15px 'Instrument Sans',sans-serif; color:var(--accent); text-decoration:none;
                    white-space:nowrap; display:flex; align-items:center; gap:8px; }
  .brandmark { width:22px; height:22px; border-radius:6px; display:block; }
  .brandmark-lg { width:56px; height:56px; border-radius:14px; display:block; margin:0 auto 14px; }
  .apphead .right { display:flex; align-items:center; gap:10px; }
  .apphead .right a { font:500 12.5px 'Instrument Sans',sans-serif; color:var(--muted); text-decoration:none;
                      white-space:nowrap; padding:12px 6px; margin:-12px -6px; }
  .apphead .right a:hover, .apphead .right a[data-here="1"] { color:var(--accent); }
  .appnav { display:flex; gap:20px; padding:16px 24px 0; overflow-x:auto; scrollbar-width:none;
            border-bottom:1px solid var(--border); }
  .appnav::-webkit-scrollbar { display:none; }
  .appnav a { font:500 13px 'Instrument Sans',sans-serif; color:var(--muted); text-decoration:none;
              white-space:nowrap; padding-bottom:10px; border-bottom:2px solid transparent; margin-bottom:-1px; }
  .appnav a:hover { color:var(--accent); }
  .appnav a[data-here="1"] { color:var(--accent); border-bottom-color:var(--accent); }
  .navbtn { display:none; border:none; background:none; font-size:19px; color:var(--ink); cursor:pointer;
            padding:8px 10px; margin:-8px -10px -8px 0; }
  .scrim { position:fixed; inset:0; background:rgba(28,26,23,.4); opacity:0; pointer-events:none;
           transition:opacity .25s; z-index:40; }
  .drawer { position:fixed; top:0; right:0; bottom:0; width:min(280px,82vw); background:var(--card); z-index:50;
            transform:translateX(105%); transition:transform .28s cubic-bezier(.22,1,.36,1);
            display:flex; flex-direction:column; gap:2px; padding:16px; box-shadow:-8px 0 30px rgba(28,26,23,.14); }
  body.nav-open .drawer { transform:none; }
  body.nav-open .scrim { opacity:1; pointer-events:auto; }
  .drawer-head { display:flex; align-items:center; justify-content:space-between; padding:4px 10px 14px; }
  .drawer-close { border:none; background:none; font-size:15px; color:var(--muted); cursor:pointer; padding:8px; }
  .drawer a { display:flex; align-items:center; min-height:48px; padding:0 12px;
              font:500 15px 'Instrument Sans',sans-serif; color:var(--ink); text-decoration:none; border-radius:10px; }
  .drawer a:hover { color:var(--accent); }
  .drawer a[data-here="1"] { color:var(--accent); background:var(--bg); }
  .drawer-logout { margin-top:auto; }
  .drawer-logout button { width:100%; min-height:48px; border:1px solid var(--border); background:none;
              border-radius:10px; font:500 15px 'Instrument Sans',sans-serif; color:var(--danger); cursor:pointer; }
  @media (max-width: 699px) {
    .appnav { display:none; }
    .navbtn { display:block; }
    .apphead .navlogout { display:none; }
    .card-input input, .card-input textarea, .add-box input,
    .editform input, .editform select { font-size:16px; }
    .remove, .edit { padding:10px; font-size:14px; }
    .grip { padding:10px 4px; }
  }
  @media (min-width: 700px) { .drawer, .scrim, .navbtn { display:none; } }
  .navlogout { margin:0; }
  .navlogout button { border:none; background:none; padding:0; cursor:pointer; white-space:nowrap;
                      font:500 12.5px 'Instrument Sans',sans-serif; color:var(--muted); }
  .navlogout button:hover { color:var(--danger); }
  .avatar { width:32px; height:32px; border-radius:50%; background:var(--av); display:flex; align-items:center;
            justify-content:center; font:500 12px 'Instrument Sans',sans-serif; color:var(--accent); flex:none; }
  .htitle { padding:20px 24px 4px; display:flex; align-items:baseline; justify-content:space-between; }
  .htitle .t { font:600 20px 'Instrument Sans',sans-serif; }
  .htitle .m { font:400 12px 'Space Grotesk',monospace; color:var(--kicker); }

  /* ── onboarding ── */
  .obdots { display:flex; gap:6px; }
  .obdots span { width:6px; height:6px; border-radius:3px; background:var(--off); transition:all .25s; }
  .obdots span[data-on="1"] { background:var(--accent); }
  .obdots span[data-cur="1"] { width:20px; background:var(--accent); }
  .obbody { padding:44px 28px 0; }
  .obbody h2 { font:600 26px/1.2 'Instrument Sans',sans-serif; margin-top:10px; }
  .obbody .sub { font:400 14px/1.55 'Instrument Sans',sans-serif; color:var(--muted); margin-top:8px; }
  .obfoot { padding:28px 28px 28px; display:flex; gap:10px; }
  .obfoot .btn { flex:1; text-align:center; text-decoration:none; }
  .obfoot .btn.ghost { flex:0; }
  .theme-pick { margin-top:28px; display:flex; gap:14px; }
  .theme-card { flex:1; }
  .theme-card button { width:100%; cursor:pointer; border:2px solid var(--border); border-radius:14px;
                       padding:18px 16px 22px; text-align:center; }
  .theme-card[data-selected="1"] button { border-color:var(--accent); }
  .theme-card .av { width:28px; height:28px; border-radius:50%; margin:0 0 10px; }
  .theme-card .nm { height:8px; width:70%; border-radius:4px; margin-bottom:14px; }
  .theme-card .rw { height:22px; border-radius:8px; border:1px solid transparent; margin-top:6px; }
  .theme-card .lb { font:500 12.5px 'Instrument Sans',sans-serif; margin-top:14px; }

  /* ── editor ── */
  .add-wrap { padding:10px 24px 0; }
  .add-box { display:flex; align-items:center; gap:10px; padding:13px 16px; background:var(--card);
             border:1px dashed #cfccc0; border-radius:12px; }
  .add-box input { flex:1; border:none; outline:none; background:transparent;
                   font:400 14px 'Instrument Sans',sans-serif; color:var(--ink); }
  .detect-hint { margin-top:8px; font:400 12px 'Instrument Sans',sans-serif; color:var(--accent); display:none; }
  .detect-hint.show { display:block; }
  .groups { padding:18px 24px 0; display:flex; flex-direction:column; gap:22px; }
  .group-head { font:600 10.5px/1 'Space Grotesk',monospace; letter-spacing:.12em; text-transform:uppercase;
                color:var(--kicker); margin:0 2px 10px; }
  .glinks { display:flex; flex-direction:column; gap:8px; }
  .lrow { display:flex; align-items:center; gap:11px; padding:12px 14px; background:var(--card);
          border:1px solid var(--border); border-radius:12px; }
  .lrow[data-active="0"] { opacity:.45; }
  .lrow.dragging { opacity:.35; }
  .grip { color:#cfccc0; font-size:13px; cursor:grab; flex:none; touch-action:none; user-select:none; }
  .svc { width:24px; height:24px; border-radius:6px; display:flex; align-items:center; justify-content:center;
         font:600 9.5px 'Instrument Sans',sans-serif; flex:none; position:relative; overflow:hidden; }
  .svc .fav { position:absolute; inset:0; width:100%; height:100%; padding:3px; box-sizing:border-box;
              object-fit:contain; background:inherit; }
  .lmeta { flex:1; min-width:0; }
  .lmeta .llabel { font:500 14px/1.3 'Instrument Sans',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .lmeta .lclicks { font:400 11px 'Space Grotesk',monospace; color:var(--faint); margin-top:1px; }
  .lmeta .ldesc { font:400 11.5px/1.35 'Instrument Sans',sans-serif; color:var(--muted);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .lsub { color:var(--muted); font-weight:400; }
  .switch { width:36px; height:21px; border-radius:11px; background:var(--accent); padding:2px; cursor:pointer;
            flex:none; border:none; transition:background .2s; }
  .switch .knob { display:block; width:17px; height:17px; border-radius:50%; background:#fff;
                  transform:translateX(15px); transition:transform .2s; box-shadow:0 1px 2px rgba(0,0,0,.15); }
  .lrow[data-active="0"] .switch, .switch[data-on="0"] { background:var(--off); }
  .lrow[data-active="0"] .switch .knob, .switch[data-on="0"] .knob { transform:translateX(0); }
  .remove { border:none; background:none; color:var(--faint); font-size:12px; cursor:pointer; padding:2px; flex:none; }
  .remove:hover { color:var(--danger); }
  .toast { position:fixed; left:50%; bottom:24px; transform:translate(-50%, 80px); display:flex;
           gap:14px; align-items:center; background:#2a2d2a; color:#f2efe6; padding:12px 16px;
           border-radius:10px; font:500 13px 'Instrument Sans',sans-serif; opacity:0; visibility:hidden;
           pointer-events:none; transition:transform .25s, opacity .25s, visibility 0s linear .25s; z-index:50; }
  .toast.show { transform:translate(-50%, 0); opacity:1; visibility:visible; pointer-events:auto; transition-delay:0s; }
  .toast button { border:none; background:none; color:#d8c86e; font:600 13px 'Instrument Sans',sans-serif;
                  cursor:pointer; padding:2px; }
  .empty-note { padding:8px 2px; font:400 13.5px 'Instrument Sans',sans-serif; color:var(--faint); }

  /* ── public: paper ── */
  .phead { padding:40px 24px 8px; display:flex; align-items:center; gap:14px; }
  .phead .avatar { width:56px; height:56px; font-size:19px; }
  .phead .nm { font:600 18px/1.2 'Instrument Sans',sans-serif; }
  .phead .bio { font:400 13px/1.4 'Instrument Sans',sans-serif; color:var(--muted); margin-top:2px; }
  .searchwrap { padding:16px 24px 0; }
  .skey { display:flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:5px;
          background:#f0efe9; font:500 10.5px 'Space Grotesk',monospace; color:var(--muted); flex:none; }
  .scount { font:400 10.5px 'Space Grotesk',monospace; color:var(--faint); }
  .sclear { color:var(--faint); font-size:12px; cursor:pointer; padding:2px; background:none; border:none; display:none; }
  .chipswrap { padding:12px 24px 4px; display:flex; flex-wrap:wrap; gap:8px; }
  .chip { display:flex; align-items:center; gap:6px; padding:8px 14px; border-radius:99px;
          border:1px solid var(--border); background:var(--card); color:var(--ink);
          font:500 12.5px 'Instrument Sans',sans-serif; cursor:pointer; }
  .chip[data-active="1"] { background:var(--accent); border-color:var(--accent); color:#fff; }
  .chip .n { font:500 10.5px 'Space Grotesk',monospace; opacity:.55; }
  .plinks { padding:16px 24px 0; display:flex; flex-direction:column; gap:22px; min-height:200px; }
  .pgroup .glinks { gap:8px; }
  .row { display:flex; align-items:center; gap:12px; padding:13px 16px; background:var(--card);
         border:1px solid var(--border); border-radius:12px; text-decoration:none; color:var(--ink); }
  .row:hover { border-color:var(--accent); }
  .row .llabel { flex:1; font:500 14.5px/1.3 'Instrument Sans',sans-serif; }
  .row .lstack { flex:1; min-width:0; display:flex; flex-direction:column; }
  .row .lstack .llabel { flex:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .row .ldesc { font:400 12px/1.4 'Instrument Sans',sans-serif; color:var(--muted);
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .pempty { display:none; padding:24px 0; text-align:center; font:400 13.5px 'Instrument Sans',sans-serif; color:var(--faint); }
  .pempty u { cursor:pointer; }
  .sfoot { margin-top:auto; padding:36px 24px 0; text-align:center;
           font:400 11px 'Instrument Sans',sans-serif; color:var(--faint); }
  .sfoot a { color:var(--faint); text-decoration:none; }
  .sfoot a:hover { color:var(--accent); }
  body[data-theme="ink"] .sfoot, body[data-theme="ink"] .sfoot a { color:#6b675c; font-family:'Space Grotesk',monospace; }

  /* ── public: ink ── */
  body[data-theme="ink"] .ihead { padding:48px 30px 22px; }
  body[data-theme="ink"] .ihead .nm { font:500 34px/1.1 'Newsreader',serif; letter-spacing:-.01em; }
  body[data-theme="ink"] .ihead .bio { font:400 13.5px/1.5 'Space Grotesk',sans-serif; color:#9a968a; margin-top:10px; max-width:26ch; }
  body[data-theme="ink"] .searchwrap { padding:0 30px 6px; }
  body[data-theme="ink"] .card-input { background:#22221e; border:1px solid #2f2f29; border-radius:8px; }
  body[data-theme="ink"] .card-input input { color:#f2efe6; font:400 13.5px 'Space Grotesk',monospace; }
  body[data-theme="ink"] .skey { background:transparent; color:#6b675c; }
  body[data-theme="ink"] .scount { color:#6b675c; }
  body[data-theme="ink"] .ilinks { padding:10px 0 20px; min-height:200px; }
  body[data-theme="ink"] .glinks { gap:0; }
  body[data-theme="ink"] .group-head { font:400 10.5px 'Space Grotesk',monospace; letter-spacing:.12em;
        text-transform:uppercase; color:#6b675c; margin:0; padding:22px 30px 6px; }
  body[data-theme="ink"] .svc { border-radius:5px; }
  body[data-theme="ink"] .row { display:flex; align-items:center; gap:16px; padding:16px 30px;
        background:transparent; border:none; border-top:1px solid #2a2a25; border-radius:0; color:#f2efe6; }
  body[data-theme="ink"] .row:hover { color:#d8c86e; }
  body[data-theme="ink"] .row .num { font:400 11px 'Space Grotesk',monospace; color:#6b675c; width:20px; flex:none; }
  body[data-theme="ink"] .row .llabel { font:500 18px/1.3 'Newsreader',serif; }
  body[data-theme="ink"] .row .ldesc { font:400 12px/1.4 'Instrument Sans',sans-serif; color:#6b675c; }
  body[data-theme="ink"] .row .tag { font:400 10.5px 'Space Grotesk',monospace; letter-spacing:.08em;
        text-transform:uppercase; color:#6b675c; }
  body[data-theme="ink"] .pempty { color:#6b675c; font:400 12px 'Space Grotesk',monospace; text-align:left; padding:24px 30px; }

  /* ── analytics ── */
  .ranges { display:flex; gap:6px; }
  .ranges a { border:1px solid var(--border); background:var(--card); color:var(--ink);
              font:500 11.5px 'Instrument Sans',sans-serif; padding:6px 12px; border-radius:99px; text-decoration:none; }
  .ranges a[data-active="1"] { background:var(--accent); border-color:var(--accent); color:#fff; }
  .an-hero { padding:26px 24px 0; }
  .an-num { display:flex; align-items:baseline; gap:12px; margin-top:6px; }
  .an-num .big { font:600 40px/1 'Instrument Sans',sans-serif; letter-spacing:-.02em; }
  .an-num .delta { font:500 13px 'Instrument Sans',sans-serif; color:var(--accent); }
  .an-sub { font:400 12.5px 'Instrument Sans',sans-serif; color:var(--muted); margin-top:4px; }
  .bars { padding:20px 24px 0; display:flex; align-items:flex-end; gap:5px; height:110px; }
  .bars .b { flex:1; display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; justify-content:flex-end; }
  .bars .bar { width:100%; border-radius:5px 5px 2px 2px; background:#cfd8cf; }
  .bars .bar[data-max="1"] { background:var(--accent); }
  .bars .day { font:400 9.5px 'Space Grotesk',monospace; color:var(--faint); }
  .topwrap { padding:24px 24px 0; }
  .toprow { position:relative; display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--card);
            border:1px solid var(--border); border-radius:12px; overflow:hidden; margin-top:8px; }
  .toprow .fill { position:absolute; inset:0; background:#eef1ec; }
  .toprow > *:not(.fill) { position:relative; }
  .toprow .llabel { flex:1; font:500 14px/1.3 'Instrument Sans',sans-serif; }
  .toprow .n { font:500 12px 'Space Grotesk',monospace; color:var(--accent); }

  /* ── admin ── */
  .tiles { padding:16px 24px 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
  .tile { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px 16px; }
  .tile .tn { font:600 24px/1 'Instrument Sans',sans-serif; letter-spacing:-.01em; }
  .tile .tl { font:400 11px 'Instrument Sans',sans-serif; color:var(--muted); margin-top:5px; }
  .adrow { flex-wrap:wrap; gap:8px; }
  @media (min-width: 700px) { .adrow .llabel { flex:1 1 auto; } }
  .adrow .llabel { flex:1 1 100%; font:600 14px 'Instrument Sans',sans-serif; text-decoration:none; }
  .adrow .adm { font:400 11px 'Space Grotesk',monospace; color:var(--muted); }
  .adrow .suspended { color:var(--danger); }
  .adrow form { margin:0 0 0 auto; }
  .adrow form + form { margin-left:0; }
  .btn.tiny { padding:5px 10px; font-size:10.5px; border-radius:7px; }

  /* ── share ── */
  .qr-wrap { padding:26px 24px 0; display:flex; flex-direction:column; align-items:center; }
  .qr-card { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:18px; }
  .qr-card img { display:block; width:220px; height:220px; }
  .share-url { font:500 13.5px 'Space Grotesk',monospace; color:var(--accent); margin-top:14px; }
  .share-btns { padding:22px 24px 0; display:flex; gap:10px; }
  .share-btns .btn { flex:1; text-align:center; text-decoration:none; font-size:13.5px; padding:13px; }
  .bios { padding:20px 24px 0; }
  .bios .biorow { display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--card);
                  border:1px solid var(--border); border-radius:12px; margin-top:8px; }
  .bios .biorow .l { flex:1; font:500 14px 'Instrument Sans',sans-serif; }
  .bios .biorow .h { font:400 12px 'Instrument Sans',sans-serif; color:var(--muted); }

  /* ── settings ── */
  .stbody { padding:8px 24px 28px; display:flex; flex-direction:column; gap:22px; }
  .stsec .kicker { display:block; margin-bottom:10px; }
  .stsec.danger .kicker { color:#b0695f; }
  .strow { display:flex; align-items:center; gap:12px; padding:13px 16px; background:var(--card);
           border:1px solid var(--border); border-radius:12px; margin-top:8px; }
  .strow .l { flex:1; }
  .strow .l .t { font:500 14px 'Instrument Sans',sans-serif; }
  .strow .l .h { font:400 11.5px 'Instrument Sans',sans-serif; color:var(--faint); margin-top:1px; }
  .gorow { padding:11px 16px; cursor:grab; touch-action:none; user-select:none; }
  .gorow.dragging { opacity:.35; }
  .theme-btns { display:flex; gap:8px; }
  .theme-btns button { flex:1; display:flex; align-items:center; gap:10px; padding:12px 14px; border-radius:12px;
        cursor:pointer; border:1px solid var(--border); background:var(--card);
        font:500 13.5px 'Instrument Sans',sans-serif; color:var(--ink); }
  .theme-btns button[data-active="1"] { border-color:var(--accent); }
  .theme-btns .sw { width:20px; height:20px; border-radius:6px; border:1px solid var(--border); flex:none; }
  .theme-btns .ck { margin-left:auto; color:var(--accent); font-size:12px; }
  .btn.danger { width:100%; background:var(--card); color:var(--danger); border:1px solid var(--danger-border); }
  .btn.danger:hover { background:#faf3f2; }
