:root{--t-instant: 80ms;--t-quick: .14s;--t-soft: .22s;--t-slow: .42s;--t-page: .6s;--ease: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.16, 1, .3, 1);--r-card: 6px;--r-tile: 14px;--r-pill: 999px;--glass-bg: rgba(250, 247, 240, .78);--glass-bg-dark: rgba(17, 31, 54, .72);--glass-blur: saturate(140%) blur(18px);--glass-border: rgba(21, 19, 15, .08);--warmth-color: var(--accent, #161412);--col-prose: 720px;--col-wide: 980px;--col-bleed: 1180px;--col-narrow: 480px;--col-shelf: 960px}:root{--world-politics: #b8341f;--world-politics-deep: #8b2416;--world-space: #00d4ff;--world-space-deep: #0085a1;--world-earth: #2d6a4f;--world-earth-deep: #1a4a36;--world-tech: #c6f432;--world-tech-deep: #9cc528;--world-travel: #c85a3c;--world-travel-deep: #9a4028;--world-sports: #e8f048;--world-sports-deep: #b8c038}[data-world=politics]{--w-accent: #b8341f;--w-accent-deep: #8b2416;--w-accent-alt: #1e5a3f;--w-bg: #f4f1ea;--w-paper: #ffffff;--w-ink: #161412}[data-world=space]{--w-accent: #00d4ff;--w-accent-deep: #0085a1;--w-accent-alt: #ffb347;--w-bg: #0a1628;--w-paper: #111f36;--w-ink: #e8eef7}[data-world=earth]{--w-accent: #2d6a4f;--w-accent-deep: #1a4a36;--w-accent-alt: #a04922;--w-bg: #f0e9d8;--w-paper: #fbf6e9;--w-ink: #1f2a1c}[data-world=tech]{--w-accent: #c6f432;--w-accent-deep: #9cc528;--w-accent-alt: #ff5c8a;--w-bg: #0d0d0d;--w-paper: #161616;--w-ink: #fafafa}[data-world=travel]{--w-accent: #c85a3c;--w-accent-deep: #9a4028;--w-accent-alt: #2d6a7a;--w-bg: #faf6ef;--w-paper: #fffdf7;--w-ink: #2a1f15}[data-world=sports]{--w-accent: #e8f048;--w-accent-deep: #b8c038;--w-accent-alt: #ff6b35;--w-bg: #0f2820;--w-paper: #143328;--w-ink: #f5f5f0}:root{--bg: #faf7f0;--paper: #ffffff;--rule: #d8cfbf;--ink: #15130f;--ink-soft: #3d352c;--muted: #7a6d5e;--accent: #b8341f;--accent-deep: #8b2416;--danger: #c0392b;--ok: #1a6a3f;--font-display: "Fraunces", Georgia, serif;--font-body: "Schibsted Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--pad-y: 48px;--pad-x: 24px;--gap-sm: 16px;--gap-md: 28px;--gap-lg: 48px;--gap-xl: 72px;--shell-w: var(--col-narrow);--shadow-plate: 0 1px 2px rgba(21, 19, 15, .05), 0 12px 32px rgba(21, 19, 15, .07)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[data-world] :focus-visible,[data-world]:focus-visible{outline-color:var(--w-accent-deep, var(--accent))}[data-width=shelf]{--shell-w: var(--col-shelf)}.app-shell{width:100%;max-width:var(--shell-w);margin:0 auto;padding:var(--pad-y) var(--pad-x);flex:1 0 auto;display:flex;flex-direction:column}.appbar{position:sticky;top:0;z-index:50;flex:none;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border)}.appbar__inner{width:100%;max-width:var(--shell-w);margin:0 auto;padding:0 var(--pad-x);min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}.appbar__brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;transition:opacity var(--t-quick) var(--ease)}.appbar__brand:hover{opacity:.78}.appbar__wordmark{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap}.appbar__session{display:inline-flex;align-items:center;gap:14px;min-width:0}.appbar__email{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--muted);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar__signout{min-height:44px;padding:0 14px;font-size:12px}@media (max-width: 560px){.appbar__email{max-width:120px}}.app-back{display:inline-block;margin-top:var(--gap-lg);font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:3px;transition:color var(--t-quick) var(--ease),border-color var(--t-quick) var(--ease)}.app-back:hover{color:var(--accent-deep);border-bottom-color:var(--accent-deep)}.app-footer{margin-top:auto;padding-top:var(--gap-lg);font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;color:var(--muted)}h1,.h1{font-family:var(--font-display);font-weight:500;font-size:36px;line-height:1.15;letter-spacing:-.01em;margin:0 0 var(--gap-sm);color:var(--ink)}h1 em,.h1 em{color:var(--accent-deep);font-style:italic;font-weight:400}[data-world] h1 em,[data-world] .h1 em{color:var(--w-accent-deep, var(--accent-deep))}h2{font-family:var(--font-display);font-weight:500;font-size:22px;line-height:1.25;letter-spacing:-.005em;margin:var(--gap-md) 0 var(--gap-sm);color:var(--ink)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}p{color:var(--ink-soft);margin:0 0 var(--gap-sm);max-width:56ch}p.dek{font-family:var(--font-display);font-weight:300;font-style:italic;font-size:18px;line-height:1.4;color:var(--ink-soft);margin-bottom:var(--gap-md);max-width:40ch}a{color:var(--accent-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent)}hr{border:none;border-top:1px solid var(--rule);margin:var(--gap-md) 0}.plate{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-tile);box-shadow:var(--shadow-plate);padding:32px}html.js .plate{animation:plateIn var(--t-slow) var(--ease) backwards}@keyframes plateIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tile{background:var(--paper);border:1px solid var(--rule);border-left:3px solid var(--w-accent, var(--accent));border-radius:var(--r-tile);box-shadow:var(--shadow-plate);padding:20px;transition:transform var(--t-quick) var(--ease),box-shadow var(--t-quick) var(--ease)}.tile:hover{transform:translateY(-2px);box-shadow:0 1px 2px #15130f0d,0 16px 40px #15130f1a}.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background var(--t-quick) var(--ease),color var(--t-quick) var(--ease),border-color var(--t-quick) var(--ease),transform var(--t-instant) var(--ease)}button.chip{cursor:pointer;min-height:44px;padding:12px 18px}button.chip:hover{border-color:var(--ink)}button.chip:active{transform:scale(.98)}.chip__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--w-accent, var(--accent))}.chip.is-selected,.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.toggle{display:inline-flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.toggle input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.toggle__track{flex:none;position:relative;width:36px;height:20px;border-radius:var(--r-pill);background:var(--muted);transition:background var(--t-quick) var(--ease)}.toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--paper);transition:transform var(--t-quick) var(--ease)}.toggle input:checked+.toggle__track{background:var(--accent-deep)}.toggle input:checked+.toggle__track:after{transform:translate(16px)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--accent);outline-offset:2px}[data-world] .toggle input:focus-visible+.toggle__track{outline-color:var(--w-accent-deep, var(--accent))}.toggle input:disabled+.toggle__track{opacity:.45}.stat{display:flex;flex-direction:column;gap:6px}.stat__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.stat__value{font-family:var(--font-display);font-weight:500;font-size:32px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums}.stat__note{font-size:13px;color:var(--muted);margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;font-family:var(--font-body);font-size:15px;font-weight:500;letter-spacing:.01em;padding:12px 22px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);cursor:pointer;text-decoration:none;transition:background var(--t-quick) var(--ease),color var(--t-quick) var(--ease),border-color var(--t-quick) var(--ease),transform var(--t-instant) var(--ease)}.btn:hover{background:var(--ink-soft);border-color:var(--ink-soft);color:var(--paper)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--rule)}.btn--ghost:hover{background:color-mix(in oklab,var(--ink) 4%,transparent);color:var(--ink);border-color:var(--ink)}.btn--danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn--danger:hover{background:var(--danger);color:var(--paper);border-color:var(--danger)}.btn--block{display:flex;width:100%}.btn__icon{width:18px;height:18px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--gap-md)}.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:500}.field input[type=email],.field input[type=text],.field input[type=password],.field select,.field textarea{font-family:var(--font-body);font-size:16px;min-height:48px;padding:12px 16px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:var(--r-card);transition:border-color var(--t-quick) var(--ease)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}[data-world] .field input:focus,[data-world] .field select:focus,[data-world] .field textarea:focus{border-color:var(--w-accent-deep, var(--accent))}.field input:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}.field__hint{font-size:13px;color:var(--muted);margin:0;font-style:italic}.notice{padding:14px 18px;border:1px solid var(--rule);border-left-width:3px;border-left-color:var(--rule);border-radius:var(--r-card);background:var(--paper);margin:var(--gap-md) 0;font-size:14px;color:var(--ink-soft)}.notice--ok{border-left-color:var(--ok)}.notice--err{border-left-color:var(--danger);color:var(--danger)}.notice--info{border-left-color:var(--ink)}.divider{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:var(--gap-md) 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--rule)}.row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule)}.row:last-child{border-bottom:none}.row__label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.row__value{font-family:var(--font-body);font-size:15px;color:var(--ink);text-align:right}.empty{padding:28px 0;font-family:var(--font-display);font-style:italic;color:var(--muted);font-size:17px;text-align:left}.lens-mark{display:inline-block;vertical-align:middle;overflow:visible}html.js .lens-mark--animate .lens-mark__ring--l{animation:lensSettleL var(--t-page) var(--ease-snap) both}html.js .lens-mark--animate .lens-mark__ring--r{animation:lensSettleR var(--t-page) var(--ease-snap) both}html.js .lens-mark--animate .lens-mark__sphere{animation:lensSettleDot var(--t-page) var(--ease-snap) both}@keyframes lensSettleL{0%{transform:translate(6px)}to{transform:translate(0)}}@keyframes lensSettleR{0%{transform:translate(-6px)}to{transform:translate(0)}}@keyframes lensSettleDot{0%{opacity:0}to{opacity:1}}.reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}html.js .reveal:not(.is-in){opacity:0;transform:translateY(10px)}@media (max-width: 480px){:root{--pad-y: 28px;--pad-x: 20px}h1,.h1{font-size:30px}.plate{padding:24px}}@media (prefers-reduced-motion: reduce){html.js .plate,html.js .lens-mark--animate .lens-mark__ring--l,html.js .lens-mark--animate .lens-mark__ring--r,html.js .lens-mark--animate .lens-mark__sphere{animation:none!important}html.js .reveal:not(.is-in){opacity:1!important;transform:none!important}*,*:before,*:after{transition:none!important;animation:none!important}}
