:root{--bg: #0b0a08;--bg-2: #13110d;--bg-3: #1b1813;--line: rgba(243, 234, 214, .1);--line-strong: rgba(243, 234, 214, .22);--ink: #f3ead6;--ink-dim: rgba(243, 234, 214, .62);--ink-mute: rgba(243, 234, 214, .38);--paper: #f4ead6;--paper-2: #efe2c4;--paper-ink: #1b1712;--paper-dim: rgba(27, 23, 18, .62);--lime: #e7ff4a;--lime-ink: #17150b;--brass: #c9a45a;--brick: #d4654a;--sea: #7eb3aa;--violet: #c4a3de;--shadow: 0 30px 80px rgba(0, 0, 0, .35);--serif: "Fraunces", ui-serif, Georgia, serif;--sans: "Outfit", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--rail: 248px}*{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:var(--sans);font-weight:380;background:radial-gradient(1200px 500px at 80% -10%,rgba(231,255,74,.07),transparent 50%),radial-gradient(800px 400px at -10% 110%,rgba(196,163,222,.08),transparent 45%),var(--bg);letter-spacing:.01em}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}.app{display:grid;grid-template-columns:var(--rail) 1fr;min-height:100vh}.rail{position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:linear-gradient(180deg,#100e0b,#0c0b09 70%);display:flex;flex-direction:column;gap:28px}.mast{display:grid;gap:8px}.vol{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--lime)}.logo{font-family:var(--serif);font-size:28px;line-height:.9;font-weight:600}.logo em{font-style:italic;color:var(--paper-2);font-weight:400}.logo-sub{color:var(--ink-mute);font-size:12px;line-height:1.35}.nav{display:grid;gap:2px}.nav a{display:grid;grid-template-columns:28px 1fr;align-items:baseline;gap:8px;padding:8px 10px;border-radius:2px;color:var(--ink-dim)}.nav a span:first-child{font-family:var(--mono);font-size:10px;color:var(--ink-mute)}.nav a.active{background:var(--lime);color:var(--lime-ink)}.nav a.active span:first-child{color:var(--lime-ink)}.nav a:hover:not(.active){background:#f3ead60d;color:var(--ink)}.rail-foot{margin-top:auto;font-size:11px;color:var(--ink-mute);line-height:1.45}.stage{min-width:0;padding:28px 36px 64px}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass)}.headline{font-family:var(--serif);font-size:clamp(36px,5vw,64px);line-height:.92;margin:8px 0 12px;font-weight:600;max-width:16ch}.lede{max-width:62ch;color:var(--ink-dim);font-size:16px;line-height:1.5}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.spread{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.btn{border:1px solid var(--line-strong);background:transparent;color:var(--ink);padding:10px 14px;border-radius:2px;letter-spacing:.04em}.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--lime);color:var(--lime-ink);border-color:var(--lime);font-weight:600}.btn.ghost{border-color:transparent;color:var(--ink-dim)}.btn.danger{border-color:var(--brick);color:var(--brick)}.btn:disabled{opacity:.4;cursor:not-allowed}.err{color:var(--brick);margin:0;font-size:14px}.setup-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;padding:16px 0 8px;background:linear-gradient(180deg,transparent,#0b0a08 28%)}.setup-actions .btn{position:relative;z-index:6}.paper h3{pointer-events:none}a.paper{display:block}.grid{display:grid;gap:14px}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat,.card,.paper,.slip{border:1px solid var(--line);background:var(--bg-2)}.stat,.card{padding:18px}.stat .n{font-family:var(--serif);font-size:40px;line-height:1;margin:8px 0 4px}.stat .hint{color:var(--ink-mute);font-size:13px}.paper{background:var(--paper);color:var(--paper-ink);padding:22px;box-shadow:var(--shadow)}.paper h3{font-family:var(--serif);margin:0 0 8px;font-size:28px;line-height:1}.paper p,.paper li{color:var(--paper-dim)}.tape{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--brick)}.field{display:grid;gap:6px}.field span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.paper .field span{color:var(--paper-dim)}input,textarea,select{background:var(--bg-3);border:1px solid var(--line);padding:10px 12px;border-radius:2px;outline:none;width:100%}.paper input,.paper textarea,.paper select{background:#fffaf0;color:var(--paper-ink);border-color:#1b171226}input:focus,textarea:focus,select:focus{border-color:var(--lime)}textarea{min-height:110px;resize:vertical}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);background:var(--bg-3);font-size:12px;color:var(--ink)}.chip.on{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}.bar{height:8px;background:var(--bg-3);border-radius:99px;overflow:hidden;display:flex}.bar i{display:block;height:100%}.t-educational{background:var(--sea)}.t-inspirational{background:var(--brass)}.t-entertaining{background:var(--lime)}.t-promotional{background:var(--brick)}.t-community{background:var(--violet)}.dot{width:8px;height:8px;border-radius:99px;display:inline-block}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal-h{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);padding:0 4px 4px}.day{min-height:148px;border:1px solid var(--line);background:var(--bg-2);padding:8px;display:flex;flex-direction:column;gap:6px}.day.mute{opacity:.35}.day.head{font-family:var(--serif);font-size:18px;display:flex;justify-content:space-between;align-items:center;width:100%;gap:6px}.day.head button{background:none;border:0;color:var(--lime);font-size:18px;line-height:1;padding:0 2px;min-width:18px}.slip{background:var(--paper);color:var(--paper-ink);padding:7px 8px;font-size:11px;line-height:1.25;cursor:pointer;border:0;text-align:left;width:100%}.slip b{display:block;font-weight:600}.slip small{color:var(--paper-dim)}.drawer-back{position:fixed;inset:0;background:#0807059e;z-index:20}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(520px,100%);background:var(--paper);color:var(--paper-ink);z-index:21;overflow:auto;padding:28px;box-shadow:var(--shadow)}.drawer h2{font-family:var(--serif);font-size:34px;margin:6px 0 18px;line-height:.95}.list{display:grid;gap:8px}.item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px 16px;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;text-align:left;width:100%}.item:hover{border-color:var(--line-strong)}.item h4{margin:0 0 4px;font-size:16px;font-weight:600}.item p{margin:0;color:var(--ink-mute);font-size:13px}.check{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line)}.check input{width:auto}.check.done span{text-decoration:line-through;color:var(--ink-mute)}.overlay{position:fixed;inset:0;z-index:30;background:radial-gradient(900px 500px at 70% 10%,rgba(231,255,74,.12),transparent 50%),#0b0a08;overflow:auto;padding:48px 24px 80px}.sheet{max-width:860px;margin:0 auto}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.choice{text-align:left;padding:16px;border:1px solid var(--line);background:var(--bg-2)}.choice.on{border-color:var(--lime);background:color-mix(in srgb,var(--lime) 12%,var(--bg-2))}.choice b{display:block;font-family:var(--serif);font-size:22px;margin-bottom:6px}.choice span{color:var(--ink-dim);font-size:13px}.voice{display:grid;gap:8px}.voice input[type=range]{accent-color:var(--lime)}hr.rule{border:0;border-top:1px solid var(--line);margin:28px 0}.empty{border:1px dashed var(--line-strong);padding:36px;text-align:center;color:var(--ink-dim)}.tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}@media(max-width:980px){.app{grid-template-columns:1fr}.rail{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(2,1fr)}.grid.cols-3,.grid.cols-4,.grid.cols-2,.cal{grid-template-columns:1fr}.stage{padding:20px 16px 48px}}
