:root{--paper: #f4efe6;--paper-2: #ebe4d8;--paper-3: #e0d7c8;--ink: #1b1a17;--ink-2: #4a4740;--ink-3: #7b766c;--rule: #c9bfae;--accent: #b9641c;--accent-ink: #8f4a10;--accent-soft: #f1dcc6;--on-accent: #fff;--good: #4a7a4f;--bad: #a63d2f;--warn: #b9641c;--info: #4f6b7a;--radius: 3px;--radius-lg: 6px;--radius-full: 999px;--fd: "Piazzolla", Georgia, serif;--fb: "Golos Text", system-ui, sans-serif;--fm: "JetBrains Mono", ui-monospace, monospace;--sp-2xs: 2px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--sp-2xl: 48px;--sp-3xl: 64px;--sp-4xl: 96px;--dur-micro: 80ms;--dur-short: .2s;--dur-medium: .3s;--dur-long: .4s;--ease-in: ease-in;--ease-out: ease-out;--ease-move: ease-in-out;--w-journal: 720px;--w-life: 1080px;--w-cert: 560px;--w-birth: 420px;color-scheme:light}[data-theme=dark]{--paper: #161513;--paper-2: #1f1d1a;--paper-3: #2a2723;--ink: #e9e2d5;--ink-2: #b8b0a2;--ink-3: #86806f;--rule: #3a362f;--accent: #d1813a;--accent-ink: #e6a062;--accent-soft: #3a2a1a;--on-accent: var(--paper);--good: #7fae84;--bad: #d3715f;--warn: #d1813a;--info: #8ba7b5;color-scheme:dark}@media (prefers-reduced-motion: reduce){:root{--dur-micro: 0ms;--dur-short: 0ms;--dur-medium: 0ms;--dur-long: 0ms}}*,*:before,*:after{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--fb);font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow-x:hidden;background-image:radial-gradient(rgb(0 0 0 / 2.5%) .5px,transparent .5px);background-size:3px 3px}[data-theme=dark] body{background-image:radial-gradient(rgb(255 255 255 / 2.5%) .5px,transparent .5px)}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px}h1,h2,h3{font-family:var(--fd);font-weight:500;margin:0;letter-spacing:-.01em;line-height:1.15}h1{font-size:44px}h2{font-size:28px}h3{font-size:20px;line-height:1.2}p{margin:0 0 var(--sp-md)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.page{width:100%;max-width:var(--w-journal);margin:0 auto;padding:0 var(--sp-md) var(--sp-2xl)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-sm);padding:var(--sp-md) 0;border-bottom:1px solid var(--rule);font-size:13px;color:var(--ink-3)}.topbar b{font-family:var(--fd);font-weight:500;font-size:15px;color:var(--ink)}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.lead{font-size:20px;max-width:620px;color:var(--ink-2)}.mono{font-family:var(--fm)}.big{font-family:var(--fd);font-weight:300;font-size:clamp(64px,12vw,160px);line-height:.95;letter-spacing:-.03em;font-variation-settings:"opsz" 30;overflow-wrap:anywhere}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-sm);min-height:44px;padding:10px 18px;border:1px solid var(--ink);border-radius:var(--radius);background:transparent;color:var(--ink);font-weight:500;letter-spacing:.01em;text-decoration:none;transition:opacity var(--dur-short) var(--ease-out)}.btn.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.ghost{border-color:transparent;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--rule)}.btn.small{min-height:36px;padding:6px 12px;font-size:14px}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink)}label{display:block;font-size:13px;color:var(--ink-2);margin:0 0 6px}.field{margin-bottom:var(--sp-md)}fieldset.field{border:0;padding:0;min-width:0}legend{display:block;font-size:13px;color:var(--ink-2);padding:0;margin:0 0 6px}.hint{font-size:13px;color:var(--ink-3);margin:6px 0 0}.h-section{font-size:20px;margin-bottom:var(--sp-md)}.radios{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.radios label{display:inline-flex;align-items:center;gap:var(--sp-sm);min-height:44px;padding:0 14px;border:1px solid var(--rule);border-radius:var(--radius);font-size:15px;color:var(--ink);margin:0;cursor:pointer}.radios input{width:auto;min-height:0;margin:0;accent-color:var(--ink)}.radios label:has(input:checked){border-color:var(--ink)}fieldset.radios{border:0;padding:0;margin:0;min-width:0}.radios.compact label{font-size:13px;padding:0 10px}.topbar{flex-wrap:wrap}.actions{display:grid;gap:var(--sp-sm)}.shelf{list-style:none;margin:0;padding:0}.shelf li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-md);padding:var(--sp-sm) 0;border-bottom:1px solid var(--rule);font-size:15px}.shelf li:last-child{border-bottom:0}.alert{padding:12px 14px;border-left:3px solid var(--rule);border-radius:0 var(--radius) var(--radius) 0;background:var(--paper-2);font-size:14px;margin-bottom:var(--sp-sm)}.alert.good{border-color:var(--good)}.alert.bad{border-color:var(--bad)}.alert.warn{border-color:var(--warn)}.alert.info{border-color:var(--info)}.card{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-2);padding:20px}.chip{display:inline-block;font-size:12px;padding:2px 10px;border:1px solid var(--rule);border-radius:var(--radius-full);color:var(--ink-2)}.strip{display:grid;grid-template-columns:repeat(40,1fr);gap:3px;max-width:var(--w-journal);pointer-events:none;-webkit-user-select:none;user-select:none}.strip>i{display:block;position:relative;width:100%;min-height:0;padding:0;margin:0;aspect-ratio:1;border:0;background:var(--paper-3);border-radius:1px}.strip>.on{background:var(--ink)}.strip>.now{background:var(--accent)}.strip>.off{background:transparent;border:1px dashed var(--rule)}.strip>.starred:after{content:"";position:absolute;inset:0;margin:auto;width:30%;height:30%;background:var(--paper);border-radius:1px}.cap{font-family:var(--fm);font-size:12px;color:var(--ink-3);margin-top:var(--sp-sm)}section{padding:var(--sp-xl) 0;border-bottom:1px solid var(--rule)}hr{border:0;border-top:1px solid var(--rule);margin:var(--sp-lg) 0}.dots{display:grid;grid-template-columns:repeat(16,1fr);gap:6px;max-width:var(--w-birth);margin:var(--sp-lg) 0}.dots i{display:block;aspect-ratio:1;background:var(--paper-3);border-radius:1px;transition:background-color var(--dur-long) var(--ease-out),opacity var(--dur-long) var(--ease-in)}.dots i.lit{background:var(--ink)}.dots i.target{background:var(--accent)}.dots i.out{opacity:0}.birth{max-width:var(--w-birth);margin:0 auto;padding:28px;border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--radius-lg)}.birth .eyebrow{margin-bottom:10px}.birth .birth-name{font-size:32px;font-weight:400;line-height:1.15;overflow-wrap:anywhere}.birth .meta{font-size:14px;color:var(--ink-2);margin:14px 0 18px;line-height:1.7}.birth .meta b{color:var(--ink);font-weight:500}.birth .strip{max-width:none}.birth .actions{margin-top:var(--sp-lg)}.names{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-top:var(--sp-sm)}.page.life-page{max-width:var(--w-life);padding-bottom:0}.topbar-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm)}.life{display:grid;grid-template-columns:minmax(0,1fr) 280px}.life .main{min-width:0;padding:var(--sp-lg) var(--sp-lg) var(--sp-2xl) 0}.life .side{min-width:0;border-left:1px solid var(--rule);padding:var(--sp-lg) 0 var(--sp-lg) var(--sp-lg)}.life .side .eyebrow{margin-bottom:var(--sp-sm)}.life .side-foot{margin-top:var(--sp-lg);padding-top:var(--sp-md);border-top:1px solid var(--rule)}.life details.side>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.life details.side[open]>summary{margin-bottom:var(--sp-sm)}@media (max-width: 760px){.life{grid-template-columns:minmax(0,1fr)}.life .main{padding-right:0;padding-bottom:var(--sp-lg)}.life .side{border-left:0;border-top:1px solid var(--rule);padding:0 0 var(--sp-lg)}.life>.side-foot{margin-top:0;padding-bottom:var(--sp-md)}}.age{font-family:var(--fd);font-weight:300;font-size:64px;line-height:1;letter-spacing:-.03em;font-variation-settings:"opsz" 30}.age small{font-family:var(--fb);font-size:14px;color:var(--ink-3);letter-spacing:0;margin-left:var(--sp-sm)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.stat .k{font-size:12px;color:var(--ink-3)}.stat .v{font-family:var(--fm);font-size:18px}.stat .b{position:relative;height:3px;margin-top:6px;background:var(--paper-3)}.stat .b i{position:absolute;inset:0 auto 0 0;background:var(--ink);transition:width var(--dur-medium) var(--ease-move)}.focus-line{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-sm);margin-bottom:var(--sp-sm);font-size:15px}.focus-block{margin-bottom:var(--sp-md)}.ribbon{display:flex;gap:var(--sp-sm);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:var(--sp-xs);margin:0 calc(-1 * var(--sp-md));padding-left:var(--sp-md);padding-right:var(--sp-md)}.ribbon .btn{flex:0 0 auto;white-space:nowrap;padding:8px 12px 6px;border-bottom:3px solid transparent;border-radius:var(--radius) var(--radius) 0 0;font-size:14px;text-decoration:none}.ribbon .btn.active{color:var(--ink);border-bottom-color:var(--accent)}.ribbon .btn:disabled{text-decoration:none}.restless{margin-top:var(--sp-xs)}.speed{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm)}.speeds{display:inline-flex;border:1px solid var(--rule);border-radius:var(--radius)}.speeds .btn{min-width:44px;padding:10px 8px;border:0;border-radius:0;font-size:13px;font-weight:400;color:var(--ink-3)}.speeds .btn+.btn{border-left:1px solid var(--rule)}.speeds .btn.active{color:var(--accent-ink);background:var(--accent-soft)}.speed .current{min-width:44px;padding:10px 12px;border-color:var(--rule);font-size:13px;font-weight:400;color:var(--accent-ink);background:var(--accent-soft)}.speeds .btn:first-child{border-radius:var(--radius) 0 0 var(--radius)}.speeds .btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.envelope{margin-top:var(--sp-lg);border-top:1px solid var(--rule)}.envelope>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0 0 var(--sp-md);font-size:14px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;text-align:right;font-size:13px;overflow-wrap:anywhere}.later{list-style:none;margin:var(--sp-sm) 0 0;padding:0;font-size:13px;color:var(--ink-3)}.later li{padding:6px 0}.decision{margin-top:var(--sp-lg);padding:18px;border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper)}.decision .t{margin:0 0 12px;font-family:var(--fd);font-size:22px;font-weight:500;line-height:1.15;letter-spacing:0}.decision .opts{display:grid;gap:var(--sp-sm)}.decision .opts .btn{justify-content:flex-start;text-align:left;padding:12px 14px;border-color:var(--rule);background:var(--paper-2)}.decision .opts .btn.na{text-decoration:line-through}.decision .opts .btn.preview{border-color:var(--accent)}.decision .opt .hint{margin:4px 0 2px 14px}.decision-foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-sm) var(--sp-md);margin-top:10px}.decision .timer{font-family:var(--fm);font-size:12px;color:var(--accent-ink)}.minigame{margin-top:var(--sp-lg);padding:18px;border:1px solid var(--ink);border-radius:var(--radius-lg);background:var(--paper)}.minigame .t{margin:0 0 12px;font-family:var(--fd);font-size:22px;font-weight:500;line-height:1.15;letter-spacing:0}.minigame .expect{margin:0 0 12px;font-size:14px;color:var(--ink-2)}.minigame .body{display:grid;gap:var(--sp-sm)}.minigame-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-sm) var(--sp-md);margin-top:10px}.minigame .timer{font-family:var(--fm);font-size:12px;color:var(--accent-ink)}.picks{display:flex;flex-wrap:wrap;gap:var(--sp-sm)}.picks.column{flex-direction:column}.picks .btn{flex:1 1 auto;justify-content:space-between;text-align:left}.picks .btn.active{background:var(--accent-soft);border-color:var(--ink)}.bet label{display:flex;justify-content:space-between;gap:var(--sp-sm);font-size:13px;color:var(--ink-2)}.bet input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}.scratch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-sm)}.scratch .cell{min-height:56px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--paper-3);color:var(--ink-3);font-family:var(--fm);font-size:12px;transition:background var(--dur-medium) var(--ease-out)}.scratch .cell.done{background:var(--paper);border-style:dashed;border-color:var(--rule)}.hand{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--sp-sm) var(--sp-md);padding:8px 0;border-top:1px solid var(--rule);font-size:13px}.hand-label{color:var(--ink-3)}.cards{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.card{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px;padding:0 6px;border:1px solid var(--ink);border-radius:var(--radius);font-size:16px;font-weight:500}.card.back{border-style:dashed;border-color:var(--rule);color:var(--ink-3);font-size:12px}.teams{display:grid;gap:var(--sp-xs)}.teams .btn{justify-content:space-between;border-color:var(--rule)}.teams .btn.active{background:var(--accent-soft);border-color:var(--ink)}.games{display:grid;gap:var(--sp-sm);margin-top:var(--sp-md)}.minigame .note{display:block;font-size:12px;font-weight:400;color:var(--ink-3)}.picks .btn .note{flex:0 0 auto;text-align:right;max-width:50%}.picks .btn>span:first-child{flex:1 1 auto}.q{display:grid;gap:var(--sp-xs);padding-top:var(--sp-sm);border-top:1px solid var(--rule)}.q-text{margin:0;font-size:16px}.q.row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.q.row .picks.column{flex-direction:row}.order{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-xs)}.order li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--sp-sm);min-height:44px;padding:4px 0;border-top:1px solid var(--rule)}.order li:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.order-n{font-size:12px;color:var(--ink-3)}.order-ctl{display:flex;gap:var(--sp-xs)}.order-ctl .btn.small{min-width:44px;min-height:44px;padding:6px}.tap,.hold{display:grid;gap:var(--sp-sm);justify-items:stretch}.tap-btn,.hold-btn{min-height:88px;font-size:20px;touch-action:none;user-select:none;-webkit-user-select:none}.hold-btn.holding{border-color:var(--ink)}.hold-btn.escaped{background:transparent;color:var(--ink);border-style:dashed;margin-left:25%;width:75%}.pairs-wrap,.pick-wrap{display:grid;gap:var(--sp-sm)}.pairs,.pick.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-sm)}.pairs .card{min-height:72px;padding:6px;font-size:13px;font-weight:400;text-align:center;background:transparent;cursor:pointer}.pairs .card.open{background:var(--accent-soft)}.pairs .card.done{border-style:solid;border-color:var(--rule);color:var(--ink-2);cursor:default}.pairs .card-text{display:grid;gap:2px}.pairs.drift .card.open,.pairs.drift .card.done{color:var(--ink-3);letter-spacing:.04em}.pick.grid .btn{min-height:56px;padding:6px;justify-content:center;text-align:center}.pick.grid .btn.active{background:var(--accent-soft);border-color:var(--ink)}.journal{padding:var(--sp-md) 0 0;border-bottom:0}.log{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.log li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:0;border-bottom:1px solid var(--rule);font-size:15px}.log li .y{font-family:var(--fm);font-size:13px;color:var(--ink-3);padding-top:3px}.log li .y{padding-top:14px}.log li.heavy{color:var(--ink-2)}.log li.heavy .y{color:var(--bad)}.log .body{min-width:0}.log .text{display:block;width:100%;min-height:44px;padding:11px 0;border:0;background:transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}.log .text:not(:last-child){padding-bottom:4px}.log .body>:last-child:not(.text){margin-bottom:11px}.log .text:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.log .star{font-family:var(--fm);color:var(--accent-ink)}.log .thought{display:block;margin-top:4px;font-family:var(--fd);font-style:italic;font-weight:300;font-size:15px;color:var(--ink-2)}.log .alert{margin-top:var(--sp-sm);margin-bottom:0}.thought-form{margin-top:var(--sp-sm)}.row{display:flex;flex-wrap:wrap;gap:var(--sp-sm);margin-top:var(--sp-sm)}@keyframes yearIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.log li.fresh{animation:yearIn var(--dur-long) var(--ease-out) both}.death-page{max-width:var(--w-journal)}.cert{position:relative;max-width:var(--w-cert);margin:var(--sp-md) auto 0;padding:40px 36px;border:1px solid var(--rule);background:var(--paper-2)}.cert:before{content:"";position:absolute;inset:8px;border:1px solid var(--rule);pointer-events:none}.cert .eyebrow{text-align:center}.cert h1{font-size:34px;font-weight:400;line-height:1.15;text-align:center;margin:10px 0 4px;overflow-wrap:anywhere}.cert .sub{text-align:center;color:var(--ink-3);font-size:14px;margin-bottom:var(--sp-lg)}.cert dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:0;font-size:14px}.cert dt{color:var(--ink-3)}.cert dd{margin:0;font-family:var(--fm);overflow-wrap:anywhere}.cert .strip{max-width:none;margin-top:22px}.cert .quote{font-family:var(--fd);font-size:20px;font-weight:300;font-style:italic;text-align:center;margin:26px 0 8px;overflow-wrap:anywhere}.cert .alert{margin-top:22px}.cert .compare{list-style:none;margin:22px 0 0;padding:14px 0 0;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-2);line-height:1.6}.epitaph{max-width:var(--w-cert);margin:0 auto}.keyyears .slots{display:flex;gap:var(--sp-sm);margin:var(--sp-sm) 0}.keyyears .slot{display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:44px;padding:0 12px;border:1px solid var(--ink);border-radius:var(--radius);font-family:var(--fm);font-size:18px}.keyyears .slot.empty{border-style:dashed;border-color:var(--rule);color:var(--ink-3)}.keyyears .names{margin:var(--sp-sm) 0 var(--sp-md)}.keyyears .anyyear{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px var(--sp-sm);align-items:end;margin:var(--sp-md) 0}.keyyears .anyyear label{grid-column:1 / -1}.epitaph textarea{resize:vertical;font:inherit;line-height:1.5}.epitaph .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:var(--sp-lg)}@media (max-width: 760px){.cert{padding:28px 20px}.cert dl{grid-template-columns:1fr;gap:2px 0}.cert dd{margin-bottom:8px}}.hint-card{display:flex;align-items:center;gap:var(--sp-md);margin:var(--sp-sm) 0 var(--sp-md)}.hint-card p{margin:0;flex:1 1 auto;min-width:0}.hint-card .btn{flex:0 0 auto}@media (max-width: 760px){.hint-card{flex-direction:column;align-items:stretch}}.still *,.still *:before,.still *:after{animation:none!important;transition:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important}}
