[hidden]{display:none!important}:root{--paper:#f6efdf;--paper-edge:#e3d6b8;--ink:#3d3328;--ink-soft:#6e604f;--display:"Fraunces", Georgia, serif;--accent:#b5653e;--good:#5f9e4f;--warn:#c0503c;--shadow:0 6px 18px #281e0f40;color:var(--ink);font-family:Nunito,Segoe UI,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}html,body{background:#9db8c8;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#stage{position:absolute;inset:0}#stage canvas{touch-action:none;display:block;width:100%!important;height:100%!important}.paper{background:var(--paper);border:1px solid var(--paper-edge);box-shadow:var(--shadow);border-radius:10px}button{font:inherit;color:var(--ink);border:1px solid var(--paper-edge);cursor:pointer;background:#fffaf0;border-radius:6px;padding:4px 9px;font-size:13px}button:hover{background:#fff3da}button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hud{flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex;position:absolute;top:12px;left:12px}.hud .title{font-family:var(--display);letter-spacing:.02em;font-size:19px;font-weight:600}.hud .clock{font-variant-numeric:tabular-nums;min-width:190px}.speeds{gap:3px;display:flex}.scroll{filter:drop-shadow(0 6px 14px #281e0f4d);flex-direction:column;width:370px;display:flex;position:absolute;top:10px;right:12px}.scroll .rod{z-index:2;background:linear-gradient(#a57a4f,#7a5534 60%,#5d3f26);border-radius:8px;height:16px;position:relative}.scroll .rod.top{border-radius:10px;justify-content:space-between;align-items:flex-end;height:auto;min-height:40px;padding:6px 8px 0;display:flex}.scroll .rod.bottom{margin-top:-4px}.scroll .scroll-body{background:var(--paper);border-left:1px solid var(--paper-edge);border-right:1px solid var(--paper-edge);transform-origin:top;flex-direction:column;height:calc(100vh - 150px);max-height:760px;margin:-4px 8px 0;transition:height .45s,opacity .3s;display:flex;overflow:hidden}.scroll.rolled .scroll-body{opacity:.2;height:0}.scroll .roll{background:#f6efdf;margin-bottom:6px}.tabs{gap:3px;display:flex}.tabs button{background:#e9dcc0;border-bottom-right-radius:0;border-bottom-left-radius:0}.tabs button.on{background:var(--paper);color:var(--ink);border-color:var(--paper-edge);font-weight:700}.pane{flex:1;min-height:0;padding:10px 14px 16px;font-size:14px;line-height:1.45;overflow-y:auto}.pane h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:14px 0 6px;font-size:13px}.pane h3:first-child{margin-top:2px}.pane ul{margin:4px 0;padding-left:18px}.quiet{color:var(--ink-soft)}.card{border:1px dashed var(--paper-edge);background:#fffaf0;border-radius:8px;margin:6px 0;padding:8px 10px}.card-title{font-weight:700}.card .quote{margin:4px 0;font-style:italic}.card button{margin-top:4px;margin-right:6px}.entry{border-bottom:1px dotted #eadfc6;padding:3px 0}.entry.day{border-bottom:1px solid var(--paper-edge);margin-top:10px;font-weight:700}.entry.board{color:var(--ink-soft)}.entry.aside{padding-left:14px;font-style:italic}.entry.note{color:var(--ink-soft);font-size:12px}.entry .time{color:var(--ink-soft);font-variant-numeric:tabular-nums;margin-right:6px;font-size:12px}a.who{color:inherit;border-bottom:2px solid;text-decoration:none}.roster{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.roster button{border-width:2px}.journal h2{font-family:var(--display);border-bottom:3px solid;margin:4px 0;font-size:22px;font-weight:600;display:inline-block}.journal .doing{font-style:italic}.warning{color:var(--warn);font-weight:700}.meter,.valuebar{align-items:center;gap:8px;margin:3px 0;display:flex}.meter .label,.valuebar .label{width:92px;font-size:13px}.meter .track,.valuebar .track{background:#eadfc6;border-radius:4px;flex:1;height:8px;position:relative}.meter .fill,.valuebar .fill{background:var(--good);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.meter .fill.low{background:var(--warn)}.meter .mark{background:var(--ink);width:2px;position:absolute;top:-3px;bottom:-3px}details.why{margin:3px 0}details.why summary{cursor:pointer}details.why ul{color:var(--ink-soft);font-size:12.5px}.people{columns:2}.dock{align-items:center;gap:6px;max-width:calc(100vw - 420px);padding:8px;display:flex;position:absolute;bottom:12px;left:12px}.dock .status{color:var(--ink-soft);margin-left:8px;font-size:13px}.menu{width:min(640px,100vw - 420px);max-height:60vh;padding:10px 14px;position:absolute;bottom:64px;left:12px;overflow-y:auto}.menu-head{align-items:center;gap:10px;display:flex}.menu-head h3{flex:0;margin:0}.menu-head span{flex:1}.menu h4{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:10px 0 4px;font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;display:grid}.build-card{text-align:left;padding:8px;line-height:1.3}.build-card .cost{color:var(--accent);font-size:12px}.build-card .blurb{margin:3px 0;font-size:12.5px}.build-card .gives,.build-card .likes{color:var(--ink-soft);font-size:12px}.stock{font-variant-numeric:tabular-nums}.stock.short{color:var(--warn);font-weight:700}.card .track,.track.two-sided{background:#eadfc6;border-radius:4px;height:8px;margin:4px 0;position:relative}.card .track .fill{background:var(--good);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.track.two-sided:after{content:"";background:var(--ink-soft);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%}.track.two-sided .fill.neg{background:var(--warn)}button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.modal-back{z-index:10;background:#281e0f59;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{border-top:14px solid #7a5534;border-bottom:14px solid #7a5534;border-radius:6px;width:calc(100vw - 32px);max-width:520px;padding:22px 26px}.modal h2{margin:4px 0 10px}.modal .eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:12px}.modal .quote{font-style:italic}.modal-buttons{gap:8px;margin-top:14px;display:flex}.modal-buttons button{padding:6px 14px;font-size:15px}.bubbles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bubble{background:#fffdf6;border:2px solid;border-radius:12px;max-width:300px;padding:4px 8px;font-size:12.5px;line-height:1.3;position:absolute;transform:translate(-50%,-100%);box-shadow:0 3px 8px #281e0f33}.bubble.up{background:#f1fbea}.bubble.down{background:#fdeeee}.bubble.thought{background:#f7f5ff;border-style:dashed;font-style:italic}.entry.thought{opacity:.85;font-style:italic}.hope .steps{gap:4px;margin:0 0 4px;display:inline-flex}.hope .step{background:#785a3233;border-radius:3px;width:14px;height:6px}.hope .step.done{background:var(--accent)}.hope p{margin:4px 0}ul.mind{margin:4px 0 8px;padding-left:18px}ul.mind .quiet{font-size:12px}@media (max-width:760px){.scroll{width:auto;inset:auto 8px 60px}.scroll .scroll-body{height:40vh}.dock{max-width:none;bottom:8px;left:8px;right:8px}.dock .status{display:none}.menu{width:auto;bottom:60px;left:8px;right:8px}.hud{gap:6px;top:8px;left:8px;right:8px}.hud .clock{min-width:0}}.log-filter{z-index:1;background:var(--paper,#fbf6ea);border-bottom:1px solid var(--paper-edge);gap:4px;margin:-10px -14px 8px;padding:8px 14px 6px;display:flex;position:sticky;top:-10px}.log-filter button{padding:2px 8px;font-size:12px}.log-filter button.on{background:var(--accent);color:#fff;border-color:var(--accent)}.log-group{border-bottom:1px dotted #eadfc6}.log-group .entry{border-bottom:none}.log-group .fold .entry{padding-left:12px;font-size:13px}.log-group .more{color:var(--accent);cursor:pointer;background:0 0;border:none;margin:0 0 4px 12px;padding:0 6px;font-size:11.5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.entry.minor{color:var(--ink-soft);font-size:13px}.entry.major{border-left:3px solid var(--accent);background:#d68c3c17;padding-left:8px;font-weight:600}.pane li.major{font-weight:600}.pane li.major::marker{color:var(--accent)}.bubble.major{border-width:3px;box-shadow:0 3px 10px #d68c3c73}details.section>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:12px 0 4px;font-size:13px}.talk{border:1px solid var(--paper-edge);background:#ffffff59;border-radius:6px;margin:10px 0 6px;padding:8px 10px}.talk h3{margin:4px 0 6px}.talk-row{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;display:flex}.talk-row button{padding:3px 8px;font-size:12.5px}.talk-row select{max-width:150px;font-size:12.5px}.subtabs{border-bottom:1px solid var(--paper-edge);gap:4px;margin:2px 0 8px;display:flex}.subtabs button{color:var(--ink-soft);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;margin-bottom:-1px;padding:6px 14px;font-weight:700}.subtabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.convo{flex-direction:column;gap:6px;margin:2px 0 10px;display:flex}.said.you{background:#e9dcc0;border-radius:14px 14px 4px;align-self:flex-end;max-width:80%;padding:6px 12px;font-size:13px}.said.them{align-items:flex-end;gap:8px;display:flex}.said.them .portrait{flex:none}.bubble-reply{border:1px solid var(--paper-edge);background:#fffaf0;border-radius:14px 14px 14px 4px;padding:9px 13px;font-family:Fraunces,Georgia,serif;font-size:15px;font-style:italic;line-height:1.4;position:relative;box-shadow:0 2px 6px #281e0f14}.talk-grid{grid-template-columns:1fr 1fr;gap:5px;margin-bottom:8px;display:grid}.talk-grid button{text-align:left;padding:7px 8px;font-size:13px}.talk-grid button.picks:after{content:" ▾";color:var(--ink-soft)}.talk-grid button.picks.on{background:var(--accent);color:#fff;border-color:var(--accent)}.talk-grid button.picks.on:after{content:" ▴";color:#fff}.picker{background:#d68c3c1a;border-radius:8px;flex-wrap:wrap;gap:5px;margin:-2px 0 8px;padding:8px;display:flex}.picker .chip{font-size:13px}.picker .chip:not(:has(.portrait)){padding-left:10px}.slider{color:var(--ink-soft);grid-template-columns:74px 1fr 74px;align-items:center;gap:6px;margin:3px 0;font-size:12px;display:grid}.slider .end:last-child{text-align:right}.slider .track{background:linear-gradient(90deg,#785a3240,#785a3214 50%,#785a3240);border-radius:2px;height:4px;position:relative}.slider .knob{background:var(--accent);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:-4px}html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none}#stage canvas{touch-action:none}input,textarea,select{-webkit-user-select:auto;user-select:auto}button.link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12.5px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h2,h3,.card-title,.modal h2{font-family:var(--display)}.pane h3,.menu h4,details.section>summary{letter-spacing:.1em;font-family:Nunito,sans-serif;font-size:12px;font-weight:700}.pane{font-size:15px}button{font-family:Nunito,sans-serif;font-weight:600}button.icon{justify-content:center;align-items:center;min-width:34px;height:32px;padding:0 6px;display:inline-flex}button svg{display:block}.dock button{align-items:center;gap:6px;height:34px;display:inline-flex}.hud{gap:14px;height:auto;min-height:48px;padding:6px 14px}.hud .clock{align-items:center;gap:6px;font-weight:600;display:inline-flex}.stock{gap:12px;display:inline-flex}.stock .res{align-items:center;gap:4px;display:inline-flex;position:relative}.stock .res-food svg{color:#b8862b}.stock .res-timber svg{color:#7a5534}.stock b{min-width:2ch;font-size:16px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.floater{color:var(--good);pointer-events:none;margin-left:2px;font-size:13px;font-weight:700;animation:.9s ease-out forwards floatUp;position:absolute;top:-2px;left:100%}.floater.timber{color:#8a5a3b}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.bubble{border-width:1.5px;border-radius:12px;width:max-content;max-width:240px;padding:6px 10px;font-size:14px;animation:.18s ease-out bubbleIn;transform:translate(-50%,calc(-100% - 10px))}.bubble:after{content:"";left:var(--tail,50%);background:inherit;border-right:inherit;border-bottom:inherit;border-color:inherit;border-style:inherit;border-width:0 1.5px 1.5px 0;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:-7px;transform:rotate(45deg)}.bubble.thought{border-style:dashed}@keyframes bubbleIn{0%{opacity:0;margin-top:6px}to{opacity:1;margin-top:0}}.portrait{border-radius:50%;flex:none;display:inline-flex;overflow:hidden;box-shadow:0 1px 3px #281e0f40}.chip{border-radius:999px;align-items:center;gap:6px;padding:2px 10px 2px 3px;display:inline-flex}.journal-head{align-items:center;gap:12px;margin:4px 0 6px;display:flex}.modal-back{-webkit-backdrop-filter:blur(4px);background:#1e160e73;animation:.2s ease-out fadeIn}.modal{border-radius:12px;animation:.22s ease-out rise}.modal-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.modal-head h2{margin:2px 0 0;font-size:22px;line-height:1.2}.modal-buttons{align-items:center}button.primary{background:var(--accent);border-color:var(--accent);color:#fffaf0}button.primary:hover{background:#a3572f}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.scroll.rolled .tabs button:not(.on){display:none}.scroll.rolled .tabs button.on{color:#f6efdf;background:0 0;border-color:#0000}@media (max-width:600px){.hud{grid-template-columns:1fr auto;grid-template-areas:"clock stock""speeds rot";gap:6px 8px;min-height:0;padding:6px 8px;display:grid;top:8px;left:8px;right:8px;overflow:hidden}.hud .title{display:none}.hud .clock{grid-area:clock}.hud .stock{grid-area:stock;justify-self:end}.hud .speeds{grid-area:speeds}.hud .speeds.rot{grid-area:rot;justify-self:end}.hud .clock{white-space:nowrap;gap:4px;font-size:13px}.hud .clock .season,.hud .speeds button[data-testid=speed-3]{display:none}.stock{gap:8px}.hud .speeds button[data-testid=speed-4],.hud [data-testid=help]{display:none}button.icon{min-width:40px;height:40px}.dock button,.tabs button,.talk-row button,.chip{min-height:44px}.scroll{border-radius:14px 14px 0 0;width:auto;inset:auto 0 0}.scroll .rod.top{border-radius:14px 14px 0 0}.scroll .scroll-body{height:46vh;margin:-4px 0 0}.scroll .rod.bottom{display:none}.dock{padding:6px;bottom:calc(46vh + 70px);left:8px;right:auto}.scroll.rolled~.dock{bottom:70px}.dock .status{display:none}.bubble{min-width:120px;max-width:200px;font-size:13px}}.cards{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.build-card{border-radius:10px;flex-direction:column;align-items:stretch;gap:2px;padding:6px 8px 8px;transition:transform .12s,box-shadow .12s;display:flex}.build-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #281e0f2e}.build-card .thumb{object-fit:contain;background:radial-gradient(at 50% 70%,#eef3dc 0%,#f7f1e1 70%);border-radius:8px;width:100%;height:84px}.build-card .cost{color:#7a5534;align-items:center;gap:4px;font-weight:700;display:inline-flex}.build-card .cost svg{width:16px;height:16px}.build-card.unaffordable{opacity:1}.build-card.unaffordable .cost{color:var(--warn)}.build-card.unaffordable .thumb{filter:grayscale(.6)opacity(.7)}.place-bar{z-index:5;align-items:center;gap:8px;padding:8px 10px;display:flex;position:absolute;bottom:84px;left:50%;transform:translate(-50%)}.place-bar button{align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:15px;display:inline-flex}.place-bar .quiet{margin-right:4px;font-size:13px}@media (max-width:600px){.place-bar{justify-content:space-between;bottom:calc(46vh + 128px);left:8px;right:8px;transform:none}.scroll.rolled~.place-bar{bottom:128px}.place-bar .quiet{display:none}}.intro-faces{flex-wrap:wrap;gap:10px;margin:10px 0 4px;display:flex}.intro-faces figure{flex-direction:column;align-items:center;gap:4px;margin:0;font-size:13px;font-weight:700;display:flex}#stage{isolation:isolate}#stage:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle at 82% 14%,#fdf6d8 0 26px,#fdf6d840 27px 40px,#0000 41px),radial-gradient(1.2px 1.2px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 24% 8%,#fff 50%,#0000 51%),radial-gradient(1.4px 1.4px at 38% 22%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 52% 6%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 64% 16%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 71% 30%,#fff 50%,#0000 51%),radial-gradient(1.3px 1.3px at 92% 26%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 6% 34%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 30% 36%,#fff 50%,#0000 51%),radial-gradient(1.1px 1.1px at 47% 40%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 88% 44%,#fff 50%,#0000 51%),radial-gradient(1.2px 1.2px at 18%,#fff 50%,#0000 51%);transition:opacity 1.5s;position:absolute;inset:0}#stage.night:before{opacity:.9}.menu{width:auto;max-height:none;padding:8px 12px 10px;bottom:64px;left:12px;right:394px;overflow:visible}.menu-head h3{font-family:Fraunces,Georgia,serif;font-size:17px}.tray-info{min-height:38px;color:var(--ink-soft);margin:4px 0 6px;font-size:12.5px;line-height:1.35}.tray-info b{color:var(--ink);margin-right:6px;font-size:13.5px}.tray-info .blurb{color:var(--ink);display:inline}.tray-info .gives,.tray-info .likes{display:inline}.tray-info .gives:before,.tray-info .likes:not(:empty):before{content:" · "}.tray-info .need{color:var(--warn);font-weight:700}.menu .cards{scroll-snap-type:x proximity;grid-template-columns:none;gap:8px;padding:4px 2px 6px;display:flex;overflow-x:auto}.tray-group{scroll-snap-align:start;writing-mode:vertical-rl;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);flex:none;align-self:center;padding:0 2px;font-size:11px;font-weight:700;transform:rotate(180deg)}.menu .build-card{scroll-snap-align:start;flex:none;width:128px;padding:5px 6px 7px;position:relative}.menu .build-card .thumb{height:70px}.menu .build-card .card-title{margin-top:3px;font-family:Nunito,sans-serif;font-size:15px;font-weight:700;line-height:1.2}.menu .build-card .details{display:none}.build-card .lock{background:var(--warn);border-radius:50%;width:22px;height:22px;display:none;position:absolute;top:8px;right:9px;box-shadow:0 1px 3px #00000040}.build-card .lock:before{content:"";background:#fff;border-radius:1.5px;width:8px;height:7px;position:absolute;top:9px;left:7px}.build-card .lock:after{content:"";border:1.6px solid #fff;border-bottom:none;border-radius:4px 4px 0 0;width:4px;height:5px;position:absolute;top:4px;left:8px}.build-card.unaffordable .lock{display:block}.shake{animation:.45s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.pulse{animation:.6s pulse}@keyframes pulse{0%,to{color:inherit;transform:scale(1)}40%{color:var(--warn);transform:scale(1.25)}}@media (max-width:760px){.menu{bottom:60px;left:8px;right:8px}.tray-info{min-height:0;max-height:3.2em;font-size:12px;overflow:hidden}.menu .build-card{width:112px}}.card.quest{background:linear-gradient(#fff8e6,#fbf1da);border-color:#c99a4a}.card.quest .card-title{align-items:center;gap:6px;display:flex}.card.quest .card-title svg{color:#9a6b2c;flex:none}.card.quest .track .fill{background:#c99a4a}.stock .res-granary svg{color:#9a6b2c}.bubble .speaker{color:#fff;letter-spacing:.02em;vertical-align:1px;text-shadow:0 1px 1px #00000040;border-radius:999px;margin:-2px 6px 2px -2px;padding:0 7px;font-family:Nunito,sans-serif;font-size:11px;font-style:normal;font-weight:800;display:inline-block}body:not(.phone) .phone-only,body:not(.phone) .tabbar,body:not(.phone) .quick-card,body.phone .desk-only,body.phone .dash-left,body.phone .widget-menu{display:none!important}.renown{background:linear-gradient(#fff6dc,#f7e7bd);border-color:#e2c27a;border-radius:999px;align-items:center;gap:6px;height:34px;padding:0 10px 0 8px;display:inline-flex;position:relative}.renown svg{color:#c48a1f;width:18px;height:18px}.renown .tier{font-family:var(--display);font-size:14px;font-weight:600}.renown b{font-variant-numeric:tabular-nums;font-size:14px}.renown .bar{background:#a06e1e33;border-radius:3px;width:46px;height:6px;position:relative;overflow:hidden}.renown .bar i{background:#d79a2b;border-radius:3px;transition:width .6s;position:absolute;top:0;bottom:0;left:0}.floater.renown-up{color:#c48a1f;top:-10px;left:auto;right:-6px}.dash-left{pointer-events:none;flex-direction:column;gap:10px;width:300px;display:flex;position:absolute;top:74px;bottom:64px;left:12px}.dash-left>*{pointer-events:auto}.widget{flex-direction:column;min-height:0;display:flex;overflow:hidden}.dash-left{overflow-y:auto}.widget[data-widget=goals]{flex:0 auto;min-height:140px}.widget[data-widget=folk]{flex:1 1 0;min-height:260px}body:not(.phone) .dash-left .stores-hint,body:not(.phone) .dash-left .renown-how{display:none}.widget[data-widget=folk] .widget-body{overflow:hidden}body:not(.phone) .album.fit{scroll-snap-type:y mandatory;scrollbar-width:thin;padding-right:2px;overflow-y:auto}body:not(.phone) .album.fit>.folk-card{scroll-snap-align:start}.widget-head{border-bottom:1px solid var(--paper-edge);background:linear-gradient(#fbf5e6,#f1e6cc);align-items:center;gap:4px;padding:6px 6px 6px 12px;display:flex}.widget-head h2{cursor:pointer;flex:1;align-items:center;gap:8px;margin:0;font-size:16px;display:inline-flex}.widget-head h2 svg{color:var(--accent)}.widget-head button.icon{background:0 0;border-color:#0000;min-width:28px;height:28px}.widget-head button.icon:hover{background:#fff3da}.widget.collapsed .widget-body{display:none}.widget.collapsed{flex:none}.widget.collapsed .fold svg{transform:rotate(-90deg)}.widget-body{flex:1;min-height:0;overflow-y:auto}.widget-body>.pane{overflow:visible}.widget.flash{animation:.8s flash}@keyframes flash{0%{box-shadow:0 0 0 0 #d68c3cb3, var(--shadow)}to{box-shadow:0 0 0 14px #d68c3c00, var(--shadow)}}.widget-menu{z-index:6;flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:72px;left:324px}.widget-menu button{justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.widget-menu button:not(.on) svg{opacity:0}body:not(.phone) .dock{max-width:calc(100vw - 724px);left:324px}body:not(.phone) .dock button{white-space:nowrap;flex:none}body:not(.phone) .dock .status{white-space:nowrap;flex:auto;min-width:0;font-size:12px;overflow:hidden}body:not(.phone) .menu{left:324px;right:394px}body:not(.phone) .scroll{top:70px}body:not(.phone) .scroll .scroll-body{height:calc(100vh - 210px)}body:not(.phone) .scroll.rolled .scroll-body{height:0}body:not(.phone) .scroll .rod.top{gap:4px}body:not(.phone) .scroll .rod.top .roll.desk-only{order:3;align-items:center;margin-left:auto;margin-right:4px;padding:4px 6px;display:inline-flex}@media (max-width:1150px){.dash-left{width:250px}.widget-menu{left:274px}body:not(.phone) .dock{max-width:calc(100vw - 638px);left:274px}body:not(.phone) .dock button span{display:none}body:not(.phone) .menu{left:274px}body:not(.phone) .scroll{width:340px}}.goal{border:1px solid var(--paper-edge);background:#fffaf0;border-radius:8px;align-items:center;gap:8px;margin:4px 0;padding:7px 8px;font-size:14px;line-height:1.25;display:flex}.goal .box{color:#fff;border:2px solid #cdb98f;border-radius:6px;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.goal .what{flex:1}.goal .count{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-weight:700}.goal .reward{color:#c48a1f;white-space:nowrap;font-size:12.5px;font-weight:800}.goal.done{background:#eef6e6;border-color:#c8e0b5}.goal.done .box{background:var(--good);border-color:var(--good)}.goal.done .what{color:var(--ink-soft);-webkit-text-decoration:line-through #5f9e4f99;text-decoration:line-through #5f9e4f99}.goal.bonus{color:#a8761e;background:0 0;border-style:dashed;justify-content:center;font-size:13px;font-weight:700}.goal.bonus.done{color:var(--good)}.tier-card{background:radial-gradient(circle at 90% 0,#fff4cf,#fbefd2 60%);border:1px solid #e8cf8f;border-radius:10px;margin:10px 0;padding:10px 12px}.tier-card .tier-name{font-family:var(--display);font-size:24px;font-weight:600;line-height:1.1}.tier-card .tier-renown{color:#a8761e;font-size:13px;font-weight:800}.tier-card .track{background:#a06e1e2e;border-radius:5px;height:10px;margin:8px 0 4px;position:relative;overflow:hidden}.tier-card .track .fill{background:linear-gradient(90deg,#e0a33a,#d0812c);border-radius:5px;position:absolute;top:0;bottom:0;left:0}.tier-card p{margin:4px 0 0;font-size:13px}.tier-card .small{font-size:12px}.album-summary{margin:0 0 8px;font-size:13px}.album{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px;display:grid}.folk-card{border:2px solid var(--paper-edge);border-top:5px solid var(--who);text-align:center;background:#fffaf0;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:10px 6px 8px;transition:transform .12s,box-shadow .12s;display:flex}.folk-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px #281e0f26}.folk-card.on{border-color:var(--who);box-shadow:0 0 0 2px var(--who)}.folk-card .folk-name{font-family:var(--display);font-size:15px;font-weight:600}.folk-card .folk-line{color:var(--ink-soft);min-height:2.5em;font-size:11.5px;line-height:1.25}.folk-card.unmet .portrait{filter:grayscale()brightness(1.05)contrast(.6);opacity:.75}.folk-card.unmet .folk-line{color:var(--accent);font-style:italic}.pips{gap:2px;display:flex}.pip{background:#785a322e;border-radius:50%;width:7px;height:7px}.pip.on{background:var(--accent)}.facts ul{margin:4px 0 8px;padding:0;list-style:none}.facts li{border-bottom:1px dotted #eadfc6;padding:4px 0 4px 18px;font-size:14px;position:relative}.facts li:before{content:"✦";color:#d79a2b;font-size:11px;position:absolute;top:6px;left:0}.facts li.unknown{color:var(--ink-soft);font-size:13px;font-style:italic}.facts li.unknown:before{content:"?";color:var(--ink-soft)}.toasts{z-index:8;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:74px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--paper-edge);max-width:min(460px,100vw - 32px);box-shadow:var(--shadow);background:#fffaf0;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:14px;transition:opacity .4s,transform .4s;animation:.26s cubic-bezier(.2,1.4,.4,1) toastIn;display:inline-flex}.toast.out{opacity:0;transform:translateY(-8px)}.toast svg{flex:none}.toast b{color:#c48a1f;white-space:nowrap}.toast.goal svg{color:var(--good)}.toast.big{background:linear-gradient(#fff6dc,#f7e7bd);border-color:#e2c27a;font-weight:700}.toast.big svg{color:#c48a1f}@keyframes toastIn{0%{opacity:0;transform:translateY(-14px)scale(.92)}to{opacity:1;transform:none}}.celebrate{text-align:center;position:relative}.celebrate h2{margin:4px 0 8px;font-size:30px}.celebrate .unlock{text-align:left;border:1px solid var(--paper-edge);background:#fffaf0;border-radius:10px;align-items:center;gap:10px;margin:8px 0;padding:6px;display:flex}.celebrate .unlock .thumb{object-fit:contain;background:radial-gradient(at 50% 70%,#eef3dc 0%,#f7f1e1 70%);border-radius:8px;width:84px;height:64px}.celebrate .modal-buttons{justify-content:center}.confetti{pointer-events:none;height:0;position:absolute;inset:-40px -20px auto}.confetti i{opacity:0;border-radius:2px;width:8px;height:12px;animation:1.8s ease-in forwards confetti;position:absolute;top:0}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(260px)rotate(540deg)}}.build-card.locked .thumb{filter:grayscale()opacity(.55)}.build-card.locked .lock{background:#8a7a5e;display:block}.build-card.locked .cost{color:var(--ink-soft)}body.phone .dock{display:none}body.phone .tabbar{z-index:7;padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--paper-edge);background:#fbf5e6;grid-template-columns:repeat(5,1fr);display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -4px 14px #281e0f1f}body.phone .tabbar button{min-height:54px;color:var(--ink-soft);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11.5px;font-weight:700;display:flex}body.phone .tabbar button.on{color:var(--accent);background:#d68c3c1f}body.phone .scroll{top:auto;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));filter:drop-shadow(0 -4px 12px #281e0f33);width:auto}body.phone .scroll .rod.top{border-radius:16px 16px 0 0;align-items:center;min-height:46px;padding:4px 8px}body.phone .scroll .rod.top:before{content:attr(data-title);color:#f6efdf;font-family:var(--display);flex:1;padding-left:8px;font-size:17px;font-weight:600}body.phone .scroll .rod.top:after{content:"";background:#f6efdf80;border-radius:2px;width:38px;height:4px;margin-left:-19px;position:absolute;top:6px;left:50%}body.phone .scroll .tabs{display:none}body.phone .scroll .roll{min-width:44px;min-height:36px;margin:0}body.phone .scroll .scroll-body{border:none;height:52vh;max-height:none;margin:-2px 0 0}body.phone .scroll.rolled .scroll-body{height:0}body.phone .scroll .rod.bottom{display:none}body.phone .scroll.stacked .scroll-body{display:block;overflow-y:auto}body.phone .scroll.stacked .pane{flex:none;overflow:visible}body.phone .scroll.stacked .pane[data-pane=board]{padding-top:0}body.phone .menu{left:0;right:0;bottom:calc(108px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0}body.phone .place-bar{bottom:calc(118px + env(safe-area-inset-bottom));justify-content:space-between;left:8px;right:8px;transform:none}body.phone .quick-card{left:8px;right:8px;bottom:calc(116px + env(safe-area-inset-bottom));z-index:6;padding:10px 12px 12px;animation:.2s ease-out rise;position:absolute}body.phone .quick-head{align-items:center;gap:10px;display:flex}body.phone .quick-head>div{flex:1;min-width:0}body.phone .quick-name{font-family:var(--display);font-size:19px;font-weight:600}body.phone .quick-head .quiet{white-space:normal;font-size:13px}body.phone .quick-actions{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}body.phone .quick-actions button{min-height:46px;font-size:15px}body.phone .toasts{width:calc(100vw - 16px);top:104px}body.phone .toast{font-size:13px}body.phone .hud{grid-template-columns:auto 1fr auto;grid-template-areas:"clock clock stock""speeds renown rot"}body.phone .hud .renown{grid-area:renown;justify-self:center;height:40px;padding:0 10px}body.phone .hud .renown .bar{width:34px}body.phone .album{grid-template-columns:repeat(3,1fr);gap:6px}body.phone .folk-card{padding:8px 4px 6px}body.phone .folk-card .folk-line{font-size:11px}body.phone .goal{min-height:44px}body.phone .bubbles{bottom:108px}body.phone .hud .renown .bar{display:none}body.phone .hud .renown .tier{font-size:13px}body.phone .hud .renown{gap:4px;padding:0 8px}body.phone .hud,body.phone .hud .stock{gap:6px}.folk-card.on{color:var(--ink);background:#fffaf0}body:not(.phone) .tabs button{white-space:nowrap;padding:4px 7px;font-size:12.5px}body.phone button.icon{min-width:44px;height:44px}body.phone .scroll .roll{min-height:44px}body.phone .hud .renown,body.phone .widget-head button.icon,body.phone .quick-head button.icon{height:44px}body.phone .menu-head button,body.phone .build-card,body.phone button.link,body.phone .subtabs button,body.phone .talk-grid button{min-height:44px}.modal-buttons .link{margin-left:auto}body.phone .log-filter button{min-height:44px;padding:0 12px}body.phone .log-filter{top:-10px}body.phone .hud{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"clock stock stock""speeds renown rot";gap:6px;padding:6px 8px;display:grid;left:8px;right:8px;overflow:visible}body.phone .hud .clock{grid-area:clock;min-width:0;font-size:13px}body.phone .hud .stock{grid-area:stock;justify-self:end;gap:10px;min-width:0}body.phone .hud .stock b{font-size:15px}body.phone .hud .stock .of{display:none}body.phone .hud .speeds{grid-area:speeds}body.phone .hud .speeds.rot{grid-area:rot;justify-self:end}body.phone .hud .renown{grid-area:renown;justify-content:center;justify-self:stretch;min-width:0;overflow:hidden}body.phone .hud .renown b,body.phone .hud .renown .bar{display:none}body.phone .hud .renown .tier{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body.phone .hud button.icon{width:40px;min-width:40px;padding:0}.stock .of{color:var(--ink-soft);font-size:.75em;font-weight:600}.place-bar.laying [data-testid=place-ok],.place-bar.laying [data-testid=place-rotate]{display:none}body:not(.phone) .place-bar.laying .quiet{display:inline}body.phone .place-bar.laying .quiet{font-size:13px;display:inline}.trader-card{background:#f3ead6;border:1px dashed #c9a46a;border-radius:10px;margin:10px 0;padding:10px 12px}.trader-card .trader-title{font-family:var(--display);font-size:17px;font-weight:600}.trader-card p{margin:6px 0;font-size:14px}.trader-card button{margin-top:4px}.ad-test{z-index:60;position:fixed}.ad-test .ad-row{flex-wrap:wrap;gap:8px;display:flex}.tray-jumps{flex-wrap:wrap;gap:6px;margin:2px 0;display:flex}.tray-jumps .chip{min-height:0;padding:3px 10px;font-size:12px}.menu .cards.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),#0000)}.menu .cards.more-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px);mask-image:linear-gradient(90deg,#0000,#000 48px)}.menu .cards.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000);mask-image:linear-gradient(90deg,#0000,#000 48px calc(100% - 48px),#0000)}.to-learn{border:1px dashed var(--paper-edge);background:#f6efdf;border-radius:8px;margin:8px 0 4px;padding:8px 10px}.to-learn-head{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;font-size:11px;font-weight:700}.to-learn .ask-row{justify-content:space-between;gap:8px;padding:2px 0;font-size:13.5px;display:flex}.to-learn .ask-row .n{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.to-learn .ask-row.later{opacity:.6}body.phone .tray-jumps{display:none}.memories{margin:10px 0 4px}.memories .memory{border-left:3px solid var(--good);background:#fffaf0;border-radius:8px;grid-template-columns:auto 1fr;gap:2px 10px;margin:4px 0;padding:6px 8px;font-size:14px;line-height:1.35;display:grid}.memories .memory.bad{border-left-color:var(--warn)}.memories .memory .day{color:var(--ink-soft);white-space:nowrap;padding-top:2px;font-size:11.5px;font-weight:700}.memories .memory q{quotes:"“" "”";font-style:italic}.replies{flex-wrap:wrap;gap:6px;margin:2px 0 8px 44px;display:flex}.replies .chip.reply{border:1px solid var(--paper-edge);background:#fffaf0;padding:4px 12px;font-size:13px}.replies .chip.reply:hover{background:#fff}body.phone .replies{margin-left:0}body.phone .replies .chip.reply{min-height:40px}.widget-body{scrollbar-width:thin}.widget-body.more-below{-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.grab{cursor:grab;-webkit-user-select:none;user-select:none}.grab.grabbing{cursor:grabbing}.dragged{z-index:8;max-height:none;margin:0;position:absolute!important}.dragged.widget{display:flex}.dragged.scroll{bottom:auto}.convo-history .exchange{opacity:.6;margin-bottom:4px}.convo-history .said{font-size:13px}.convo-history .said.them{background:#ffffff80;border-radius:10px;padding:4px 10px}.convo-history .exchange{flex-direction:column;gap:3px;display:flex}
