:root{--paper:#f4efe6;--paper-2:#ebe4d6;--paper-3:#ded4c0;--rule:#c9bfa9;--rule-soft:#d9d0bb;--ink:#1f1b16;--ink-2:#3a342b;--ink-3:#6b6356;--ink-4:#968b7a;--accent:#8a2c1f;--accent-soft:#c66a5b;--highlight:#f1d36a;--highlight-soft:#f5e3a4;--green:#4a6b3a;--red:#8a2c1f;--amber:#b07d2a;--serif:"Source Serif 4", "Source Serif Pro", "EB Garamond", Georgia, serif;--sans:"Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}.paper-bg{background-color:var(--paper);background-image:radial-gradient(circle at 25% 15%,#a08c6e0d 0,#0000 40%),radial-gradient(circle at 80% 70%,#a08c6e0a 0,#0000 50%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12  0 0 0 0 0.10  0 0 0 0 0.07  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.ruled{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 27px, var(--rule-soft) 27px, var(--rule-soft) 28px)}*{box-sizing:border-box}body,.ui{font-family:var(--sans);color:var(--ink);font-feature-settings:"ss01", "cv11"}.serif{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.mono{font-family:var(--mono)}.h1{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);font-size:44px;font-weight:500;line-height:1.05}.h2{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:28px;font-weight:500;line-height:1.15}.h3{font-family:var(--serif);color:var(--ink);font-size:20px;font-weight:500;line-height:1.2}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:11px}.body{font-family:var(--sans);color:var(--ink-2);font-size:14px;line-height:1.5}.small{font-family:var(--sans);color:var(--ink-3);font-size:12px}.tiny{font-family:var(--sans);color:var(--ink-3);font-size:11px}.marker{background:linear-gradient(180deg, transparent 60%, var(--highlight-soft) 60%, var(--highlight-soft) 92%, transparent 92%);padding:0 2px}.pill{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;display:inline-flex}.pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.pill.open{color:var(--amber);background:#b07d2a14}.pill.closed{color:var(--ink-3)}.pill.locked{color:var(--accent);background:#8a2c1f0f}.pill.present{color:var(--green);background:#4a6b3a14}.pill.absent{color:var(--accent)}.btn{font-family:var(--sans);border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn.ghost{color:var(--ink);border-color:var(--rule);background:0 0}.btn.ghost:hover{background:#0000000a}.btn.accent{background:var(--accent);border-color:var(--accent);color:#f7eedc}.btn.sm{padding:5px 10px;font-size:12px}.card{border:1px solid var(--rule);background:#fbf7ee;border-radius:4px;box-shadow:0 1px #00000008}.handwritten{color:var(--accent);font-family:Caveat,Kalam,cursive;font-size:18px;line-height:1}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb{background:var(--rule);border-radius:8px}.scroll::-webkit-scrollbar-track{background:0 0}.underline-stroke{margin-top:2px;display:inline-block}.stamp{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);border:2px solid var(--accent);background:#8a2c1f0a;border-radius:3px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block;transform:rotate(-4deg)}.row-hover:hover{background:#00000006}.tabs{border-bottom:1px solid var(--rule);gap:0;display:flex}.tab{font-family:var(--sans);color:var(--ink-3);cursor:pointer;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 14px;font-size:13px}.tab.active{color:var(--ink);border-bottom-color:var(--ink)}.input{font-family:var(--sans);border:1px solid var(--rule);color:var(--ink);background:#fbf7ee;border-radius:4px;padding:8px 11px;font-size:13px}.input:focus{border-color:var(--ink);outline:none}.div-h{background:var(--rule);width:100%;height:1px}
