:root{--card-w: 100px;--card-h: 140px;--table-2: #150f0a;--mat-1: #d9cbb0;--mat-2: #c5b394;--mat-line: rgba(94, 72, 46, .13);--paper: #fbf7ef;--paper-edge: #ddd2bd;--ink: #33291f;--ui-bg: rgba(24, 18, 12, .94);--ui-panel: rgba(30, 23, 16, .97);--ui-panel-solid: #1e1710;--ui-line: rgba(255, 245, 228, .13);--ui-text: #f3ead9;--ui-dim: rgba(243, 234, 217, .62);--accent: #f0c469;--good: #6fd08c;--warn: #e2803a;--bad: #d4585f;font-synthesis-weight:none}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--table-2);color:var(--ui-text);font-family:Segoe UI,Inter,Roboto,system-ui,-apple-system,sans-serif}#app{position:fixed;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:default}#app.is-panning{cursor:grabbing}#viewport{position:absolute;inset:0;overflow:hidden;background:radial-gradient(120% 90% at 50% -10%,#4a382a 0%,transparent 60%),linear-gradient(#33261b,var(--table-2))}#viewport:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:60;background:radial-gradient(120% 90% at 50% 6%,rgba(255,238,208,.12) 0%,transparent 55%),radial-gradient(130% 120% at 50% 50%,transparent 55%,rgba(0,0,0,.45) 100%)}#world{position:absolute;left:0;top:0;transform-origin:0 0}#world.is-camera-moving{will-change:transform}#surface{position:absolute;left:0;top:0;border-radius:34px;background:repeating-linear-gradient(90deg,transparent 0 79px,var(--mat-line) 79px 80px),repeating-linear-gradient(0deg,transparent 0 79px,var(--mat-line) 79px 80px),radial-gradient(90% 60% at 50% 0%,#e3d6bc 0%,transparent 55%),linear-gradient(160deg,var(--mat-1),var(--mat-2));box-shadow:inset 0 0 0 3px #785e3c59,inset 0 0 60px #60482c47,0 26px 60px #0000008c}.card{position:absolute;left:0;top:0;width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);margin-top:calc(var(--card-h) / -2);transform-origin:50% 50%;cursor:grab;--lift: 0}.card.is-dragging{cursor:grabbing}.card.is-transforming,.card.is-dragging{will-change:transform}.card-body{position:relative;width:100%;height:100%;border-radius:11px;overflow:hidden;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--paper-edge);box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.2 + .24 * var(--lift))),0 1px 2px #20160c38,inset 0 1px #ffffffd9}.card-body:after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;opacity:0;background:#fff9e20e;box-shadow:inset 0 0 0 1px #c3b193b8,inset 0 0 14px #fff6d61c;transition:opacity .11s ease-out}.card:hover:not(.is-dragging) .card-body:after{opacity:1}.card-edge{height:5px;flex:none;background:var(--cat, #888)}.card-header{flex:none;height:31px;padding:3px 7px 0;display:flex;align-items:flex-start;gap:4px;background:linear-gradient(#fffdf8,#f4eee1);border-bottom:1px solid rgba(120,96,62,.14)}.card-name{font-size:11px;line-height:1.12;font-weight:700;letter-spacing:.1px;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-art{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:radial-gradient(78% 62% at 50% 34%,color-mix(in srgb,var(--cat) 15%,transparent) 0%,transparent 72%),linear-gradient(#faf5ea,#efe6d4)}.art-svg{width:100%;height:100%;display:block}.card-cat{position:absolute;left:5px;bottom:4px;display:flex;align-items:center;gap:3px;font-size:7.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--cat, #777);opacity:.92}.card-cat .glyph{font-size:8.5px;line-height:1}.card-badge{position:absolute;right:4px;bottom:4px;min-width:20px;padding:1px 5px;border-radius:8px;font-size:10px;font-weight:800;text-align:center;color:#fffaf0;background:var(--cat, #555);box-shadow:0 1px 3px #00000059}.card-badge[hidden]{display:none}.card.is-buried .card-body{filter:saturate(.9) brightness(.98)}.card.is-busy .card-edge{animation:busy-pulse 1.25s ease-in-out infinite}@keyframes busy-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.55)}}.card.is-busy[data-category=Person] .card-art:after{content:"AT WORK";position:absolute;left:0;right:0;top:0;padding:2px 0;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:.8px;color:#2a1c08;background:var(--accent);box-shadow:0 1px 4px #0000004d}.card.is-hungry .card-body{filter:saturate(.72) hue-rotate(-6deg)}.card.is-hungry .card-art:before{content:"HUNGRY";position:absolute;left:0;right:0;top:0;z-index:2;padding:2px 0;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:.8px;color:#fff2f2;background:var(--bad)}.card.is-hungry.is-busy[data-category=Person] .card-art:after{top:13px}.card.is-dragging .card-body{border-color:#cbbda2}.card.is-assembling .card-body{box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.2 + .24 * var(--lift))),0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 1px #ffffffd9}.card.is-locked .card-body{box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.2 + .24 * var(--lift))),0 0 0 2px #a99bc4bf,inset 0 1px #ffffffd9}.card.is-blocked .card-body{box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.2 + .24 * var(--lift))),0 0 0 2px color-mix(in srgb,var(--bad) 60%,transparent),inset 0 1px #ffffffd9}#drop-halo{--halo: var(--good);--halo-ink: #10301c;position:absolute;left:0;top:0;border-radius:17px;pointer-events:none;opacity:0;transition:opacity 90ms ease-out;border:3px solid var(--halo);box-shadow:0 0 0 5px color-mix(in srgb,var(--halo) 22%,transparent),0 0 26px color-mix(in srgb,var(--halo) 50%,transparent);background:color-mix(in srgb,var(--halo) 11%,transparent)}#drop-halo[data-kind=assemble]{--halo: var(--accent);--halo-ink: #2a1c08}#drop-halo[data-kind=merge]{--halo: #6fb6e0;--halo-ink: #0d2634}#drop-halo[data-kind=locked]{--halo: #a99bc4;--halo-ink: #221a33}#drop-halo[data-kind=fight]{--halo: var(--bad);--halo-ink: #2a0d0f}#drop-halo[data-kind=equip]{--halo: #d59a5a;--halo-ink: #2e1c08}#drop-halo.on{opacity:1}#drop-halo .halo-label{position:absolute;left:50%;top:-14px;transform:translate(-50%);padding:2px 9px;border-radius:9px;font-size:10.5px;font-weight:800;letter-spacing:.3px;white-space:nowrap;color:var(--halo-ink);background:var(--halo);box-shadow:0 2px 6px #00000059}#drop-halo .halo-detail{position:absolute;left:50%;bottom:-16px;transform:translate(-50%);padding:1px 7px;border-radius:8px;font-size:9.5px;font-weight:700;white-space:nowrap;color:var(--ui-text);background:#16100be6}#drop-halo .halo-detail:empty{display:none}.progress{position:absolute;left:0;top:0;width:max-content;min-width:92px;max-width:168px;padding:3px 6px 4px;border-radius:9px;pointer-events:none;background:#1a130deb;box-shadow:0 3px 9px #0000006b}.progress .row{display:flex;justify-content:space-between;align-items:baseline;gap:4px;margin-bottom:3px}.progress .label{min-width:0;font-size:9px;font-weight:800;letter-spacing:.3px;color:var(--accent);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress .time{flex:none;margin-left:auto;font-size:9px;font-weight:700;color:var(--ui-dim);font-variant-numeric:tabular-nums}.progress .track{height:5px;border-radius:3px;overflow:hidden;background:#fff0d629}.progress .fill{height:100%;width:0;border-radius:3px;background:linear-gradient(90deg,#e0a94a,var(--accent))}.progress .need{margin-top:3px;font-size:8.5px;font-weight:700;line-height:1.25;color:var(--ui-dim)}.progress .need:empty{display:none}.progress.is-assemble .track,.progress.is-locked .track,.progress.is-blocked .track{display:none}.progress.is-assemble .label,.progress.is-assemble .time{color:var(--accent)}.progress.is-locked{background:#281e37ed}.progress.is-locked .label,.progress.is-locked .time{color:#c7b9e4}.progress.is-blocked{background:#341a1ced}.progress.is-blocked .label,.progress.is-blocked .time{color:#f0a3a7}.progress .loop{display:none;margin-left:3px;color:var(--good);font-weight:900}.progress.is-looping .loop{display:inline}.progress.is-looping{box-shadow:0 0 0 1px #6fd08c73,0 3px 9px #0000006b}.progress.is-slow .label{color:var(--bad)}#zones{position:absolute;left:0;top:0;pointer-events:none}.zone{--zone: #9a8f7a;position:absolute;left:0;top:0;border-radius:20px;border:1px dashed color-mix(in srgb,var(--zone) 42%,transparent);background:color-mix(in srgb,var(--zone) 7%,transparent);box-shadow:inset 0 0 40px color-mix(in srgb,var(--zone) 8%,transparent);transition:background .16s ease-out,border-color .16s ease-out,width .22s cubic-bezier(.22,1,.36,1)}.zone.is-off{display:none}.zone-name{position:absolute;left:14px;top:7px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--zone) 78%,#3a2f1e);opacity:.72;user-select:none}.zone-fold{position:absolute;right:10px;top:4px;padding:2px 9px;border-radius:9px;border:1px solid color-mix(in srgb,var(--zone) 45%,transparent);background:color-mix(in srgb,var(--zone) 16%,rgba(255,250,240,.5));color:color-mix(in srgb,var(--zone) 80%,#33291a);font:inherit;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;pointer-events:auto;opacity:.6;transition:opacity .12s ease-out}.zone-fold:hover{opacity:1}.zone.is-target{background:color-mix(in srgb,var(--zone) 15%,transparent);border-color:color-mix(in srgb,var(--zone) 78%,transparent);border-style:solid}.zone.is-target .zone-name{opacity:1}.snap-ghost{--ghost: #cbb68a;position:absolute;left:0;top:0;width:100px;height:140px;border-radius:12px;border:2px dashed color-mix(in srgb,var(--ghost) 85%,transparent);background:color-mix(in srgb,var(--ghost) 12%,transparent);pointer-events:none;opacity:0;z-index:3;transition:opacity .11s ease-out}.snap-ghost.on{opacity:.9}.snap-ghost[data-kind=row]{--ghost: #9fb4c8;border-style:dotted}.snap-ghost span{position:absolute;left:50%;top:-13px;transform:translate(-50%);padding:1px 8px;border-radius:8px;white-space:nowrap;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#2c2214;background:color-mix(in srgb,var(--ghost) 88%,#fff)}.card.is-waiting .card-body{box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.2 + .24 * var(--lift))),0 0 0 2px color-mix(in srgb,var(--good) 46%,transparent),inset 0 1px #ffffffd9}.progress.is-waiting{background:#1a2c20ed}.progress.is-waiting .label,.progress.is-waiting .time{color:#9cd6ae}.progress.is-waiting .fill{background:color-mix(in srgb,var(--good) 62%,transparent)}.card.is-bound .card-body{box-shadow:0 calc(4px + 10px * var(--lift)) calc(12px + 22px * var(--lift)) rgba(32,22,12,calc(.34 + .26 * var(--lift))),0 0 0 2px color-mix(in srgb,var(--accent) 78%,transparent),0 0 16px color-mix(in srgb,var(--accent) 34%,transparent),inset 0 1px #ffffffe6}.card.is-bound{--lift: 1}#drop-halo[data-kind=wait]{--halo: #7fae62;--halo-ink: #14260d}#drop-halo[data-kind=pool]{--halo: #86c07a;--halo-ink: #12260f}.card-body.is-painted{background:none;border:none;border-radius:8px;box-shadow:0 calc(1px + 7px * var(--lift)) calc(4px + 16px * var(--lift)) rgba(32,22,12,calc(.26 + .26 * var(--lift)));display:block}.card-face{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;border-radius:8px;pointer-events:none;-webkit-user-drag:none}.card-plate{position:absolute;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 5%;color:#33251a;pointer-events:none;overflow:hidden}.card-body.is-painted .card-name{font-size:9px;font-weight:800;letter-spacing:.1px;line-height:1;white-space:nowrap;text-overflow:ellipsis;text-shadow:none}.card-foot{font-size:6.5px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:#6b5236}.card-foot .glyph{font-size:7px;line-height:1;color:var(--cat)}.card-foot .foot-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-body.is-painted .card-art{position:absolute;background:none;flex:none}.card-body.is-painted .card-badge{position:static;margin-left:auto;flex:none;min-width:13px;height:12px;padding:0 3px;font-size:8px;line-height:12px;border-radius:6px}.card-body.is-painted .card-art:after,.card-body.is-painted .card-art:before{left:-1%;right:-1%;padding:2.5px 0 3px;font-size:7px;border-radius:2px;box-shadow:none}.card.is-busy[data-category=Person]:not(.is-fighting) .card-body.is-painted .card-art:after{background:var(--plate-at-work) center / 100% 100% no-repeat;color:#33251a;text-shadow:0 1px 0 rgba(255,240,200,.45)}.card.is-hungry.is-busy[data-category=Person] .card-body.is-painted .card-art:after{top:15%}.card.is-assembling .card-body.is-painted,.card.is-locked .card-body.is-painted,.card.is-blocked .card-body.is-painted,.card.is-waiting .card-body.is-painted,.card.is-bound .card-body.is-painted{box-shadow:0 calc(2px + 8px * var(--lift)) calc(6px + 18px * var(--lift)) rgba(32,22,12,calc(.28 + .26 * var(--lift))),0 0 0 2px var(--ring, transparent)}.card.is-assembling .card-body.is-painted{--ring: color-mix(in srgb, var(--accent) 55%, transparent)}.card.is-locked .card-body.is-painted{--ring: rgba(169, 155, 196, .75)}.card.is-blocked .card-body.is-painted{--ring: color-mix(in srgb, var(--bad) 60%, transparent)}.card.is-waiting .card-body.is-painted{--ring: color-mix(in srgb, var(--good) 46%, transparent)}.card.is-bound .card-body.is-painted{--ring: color-mix(in srgb, var(--accent) 78%, transparent)}.card.is-busy .card-body.is-painted{animation:painted-busy 1.6s ease-in-out infinite}@keyframes painted-busy{0%,to{filter:brightness(1)}50%{filter:brightness(1.06)}}.card-body.is-painted .card-name .name-sex{flex:none;width:auto;height:max(6.5px,62%);margin-right:1px;object-fit:contain;-webkit-user-drag:none}.poof{position:absolute;left:0;top:0;width:0;height:0;z-index:999999;pointer-events:none}.poof i{position:absolute;left:calc(var(--dx) - var(--z) / 2);top:calc(var(--dy) - var(--z) / 2);width:var(--z);height:var(--z);background:var(--fx-poof) center / contain no-repeat;opacity:0;animation:poof-puff .64s cubic-bezier(.16,.72,.3,1) var(--d) forwards}@keyframes poof-puff{0%{opacity:0;transform:scale(.3) rotate(var(--r))}20%{opacity:.85}60%{opacity:.7}to{opacity:0;transform:scale(1.45) translateY(-9px) rotate(var(--r))}}@media(prefers-reduced-motion:reduce){.poof{display:none}}.strike{position:absolute;left:0;top:0;width:0;height:0;z-index:999998;pointer-events:none}.strike i{position:absolute;left:calc(var(--z) / -2);top:calc(var(--z) / -2);width:var(--z);height:var(--z);background:var(--fx-strike) center / contain no-repeat;opacity:0;animation:strike-hit .23s cubic-bezier(.12,.78,.3,1) forwards}@keyframes strike-hit{0%{opacity:0;transform:scale(.42) rotate(calc(var(--r) - 14deg))}22%{opacity:1}55%{opacity:.92}to{opacity:0;transform:scale(1.16) rotate(var(--r))}}.strike.is-calm i{animation:strike-flash .24s ease-out forwards;transform:scale(.92)}@keyframes strike-flash{0%{opacity:0}18%{opacity:.95}to{opacity:0}}@media(prefers-reduced-motion:reduce){.strike i{animation:strike-flash .24s ease-out forwards;transform:scale(.92)}}.dice{position:absolute;left:0;top:0;display:flex;align-items:center;gap:3px;padding:3px 5px;border-radius:8px;background:#1a130de6;box-shadow:0 3px 9px #00000073;pointer-events:none;white-space:nowrap}.die{position:relative;width:16px;height:16px;border-radius:4px;background:linear-gradient(#fbf7ef,#e6dcc7);box-shadow:inset 0 -1px #5e482e59,0 1px 2px #0006;flex:none}.die:before{content:"";position:absolute;left:0;top:0;width:2.6px;height:2.6px;border-radius:50%;box-shadow:var(--pips, none)}.die[data-face="1"]{--pips: 6.7px 6.7px 0 0 #33291f}.die[data-face="2"]{--pips: 2.9px 2.9px 0 0 #33291f, 10.5px 10.5px 0 0 #33291f}.die[data-face="3"]{--pips: 2.9px 2.9px 0 0 #33291f, 6.7px 6.7px 0 0 #33291f, 10.5px 10.5px 0 0 #33291f}.die[data-face="4"]{--pips: 2.9px 2.9px 0 0 #33291f, 10.5px 2.9px 0 0 #33291f, 2.9px 10.5px 0 0 #33291f, 10.5px 10.5px 0 0 #33291f}.die[data-face="5"]{--pips: 2.9px 2.9px 0 0 #33291f, 10.5px 2.9px 0 0 #33291f, 6.7px 6.7px 0 0 #33291f, 2.9px 10.5px 0 0 #33291f, 10.5px 10.5px 0 0 #33291f}.die[data-face="6"]{--pips: 2.9px 2.9px 0 0 #33291f, 10.5px 2.9px 0 0 #33291f, 2.9px 6.7px 0 0 #33291f, 10.5px 6.7px 0 0 #33291f, 2.9px 10.5px 0 0 #33291f, 10.5px 10.5px 0 0 #33291f}.dice-total{font-size:9px;font-weight:900;letter-spacing:.2px;color:var(--ui-dim);font-variant-numeric:tabular-nums}.dice-total:empty{display:none}.dice.is-winner{background:#3a2c14f0;box-shadow:0 0 0 1px var(--accent),0 3px 9px #00000073}.dice.is-winner .dice-total{color:var(--accent)}.dice.is-locked{box-shadow:0 0 0 1px #a99bc4b3,0 3px 9px #00000073}.dice.is-locked .dice-total{color:#c7b9e4}.dice.is-rolling .die{animation:die-tumble .26s ease-in-out infinite}.dice.is-rolling .die:nth-child(2){animation-delay:90ms}@keyframes die-tumble{0%,to{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-3px) rotate(8deg)}}@media(prefers-reduced-motion:reduce){.dice.is-rolling .die{animation:none;opacity:.55}.card.is-fighting .card-edge,.card.is-busy .card-body.is-painted{animation:none}}.card-status{position:absolute;left:0;right:0;top:0;z-index:4;padding:1px 2px;border-radius:8px 8px 0 0;font-size:6px;font-weight:800;letter-spacing:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;text-shadow:0 1px 0 rgba(255,255,255,.35)}.card-status[data-tone=warn]{background:linear-gradient(#f4c944,#e0ab21);color:#4a3405;box-shadow:inset 0 -1px #78540880}.card-status[data-tone=danger]{background:linear-gradient(#e0563f,#c1341e);color:#fff2ec;text-shadow:0 1px 0 rgba(90,20,8,.55);box-shadow:inset 0 -1px #60160a99}.card-status[data-tone=dead]{background:linear-gradient(#6d6459,#554d44);color:#ded6c9;text-shadow:0 1px 0 rgba(30,26,20,.5)}.card-status[data-tone=danger]{animation:status-breathe 2.4s ease-in-out infinite}@keyframes status-breathe{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@media(prefers-reduced-motion:reduce){.card-status[data-tone=danger]{animation:none}}.card.is-dead .card-body{filter:saturate(.18) brightness(.86) contrast(.94)}.btn{min-height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--ui-line);background:#3a2d20d9;color:var(--ui-text);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s ease,border-color .12s ease,transform 80ms ease}.btn:hover{background:#54412df2;border-color:#fff5e447}.btn:active{transform:translateY(1px)}.btn.icon{min-width:32px;padding:0;font-size:15px;line-height:1}.btn.primary{background:var(--accent);color:#2a1c08;border-color:transparent}.btn.primary:hover{background:#f7d489}.badge{display:none;min-width:16px;height:16px;margin-left:6px;padding:0 4px;border-radius:8px;font-size:10px;line-height:16px;font-weight:900;text-align:center;color:#2a1c08;background:var(--accent)}.badge.on{display:inline-block}#topbar{position:absolute;top:0;left:0;right:0;z-index:70;height:52px;display:flex;align-items:center;gap:14px;padding:0 14px;background:linear-gradient(#120d08f7,#120d08e6);border-bottom:1px solid var(--ui-line);backdrop-filter:blur(6px)}#topbar .brand{font-size:13px;font-weight:900;letter-spacing:1.4px;color:var(--accent);flex:none}.stat{display:flex;flex-direction:column;justify-content:center;gap:1px;flex:none;padding:0 12px;border-left:1px solid var(--ui-line);min-width:72px}.stat .k{font-size:8.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--ui-dim)}.stat .v{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ui-text);line-height:1.1}.stat .v small{font-size:11px;font-weight:700;color:var(--ui-dim)}.stat.is-warn .v{color:var(--warn)}.stat.is-bad .v{color:var(--bad)}.stat.is-good .v{color:var(--good)}#stat-day{min-width:96px}.day-track{height:3px;margin-top:3px;border-radius:2px;background:#fff0d626;overflow:hidden}.day-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--warn))}#topbar-actions{display:flex;gap:7px;flex:none;margin-left:auto}#side{position:absolute;top:52px;right:0;bottom:0;z-index:70;width:var(--side-w);display:flex;background:var(--ui-panel-solid);border-left:1px solid var(--ui-line);box-shadow:-10px 0 30px #0006;transition:transform .18s cubic-bezier(.2,.8,.3,1)}:root{--side-w: 368px}#side.closed{transform:translate(100%)}@media(min-width:900px){body.side-open #viewport{right:var(--side-w)}#viewport{transition:right .18s cubic-bezier(.2,.8,.3,1)}}.side-inner{flex:1;min-width:0;display:flex;flex-direction:column}.side-grip{position:absolute;left:-26px;top:46%;width:26px;height:74px;padding:0;border:1px solid var(--ui-line);border-right:none;border-radius:9px 0 0 9px;background:var(--ui-panel);color:var(--ui-dim);cursor:pointer;display:grid;place-items:center;box-shadow:-5px 0 16px #00000059}.side-grip:hover{color:var(--accent)}.side-grip-arrow{width:0;height:0;border:5px solid transparent;border-right-color:currentColor;margin-right:3px}#side:not(.closed) .side-grip-arrow{border-right-color:transparent;border-left-color:currentColor;margin-right:0;margin-left:3px}.side-tabs{flex:none;display:flex;align-items:stretch;gap:2px;padding:6px 6px 0;border-bottom:1px solid var(--ui-line);background:#0000002e}.side-tab{position:relative;flex:1;min-width:0;padding:8px 3px 9px;border:none;border-radius:8px 8px 0 0;background:transparent;color:var(--ui-dim);font:inherit;font-size:clamp(10px,3.1vw,11.5px);font-weight:800;letter-spacing:.2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-tab:hover{color:var(--ui-text);background:#fff4e00d}.side-tab.on{color:var(--accent);background:var(--ui-panel);box-shadow:inset 0 -2px 0 var(--accent)}.side-panes{flex:1;min-height:0;position:relative}.side-pane{position:absolute;inset:0;display:none;flex-direction:column;overflow:hidden}.side-pane.on{display:flex}.sp-tools{flex:none;padding:9px 11px 8px;border-bottom:1px solid var(--ui-line)}.sp-search{width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--ui-line);background:#00000040;color:var(--ui-text);font:inherit;font-size:12.5px}.sp-search::placeholder{color:#f3ead959}.sp-search:focus{outline:none;border-color:#f0c4698c}.sp-filters{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.sp-filter{padding:3px 9px 4px;border-radius:20px;border:1px solid var(--ui-line);background:transparent;color:var(--ui-dim);font:inherit;font-size:10.5px;font-weight:800;cursor:pointer}.sp-filter:hover{color:var(--ui-text)}.sp-filter.on{color:#2a1c08;background:var(--accent);border-color:var(--accent)}.sp-sub{margin-top:7px;font-size:10px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--ui-dim)}.sp-list{flex:1;min-height:0;overflow-y:auto;padding:9px 11px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,245,228,.2) transparent}.sp-list::-webkit-scrollbar{width:7px}.sp-list::-webkit-scrollbar-thumb{background:#fff5e42e;border-radius:4px}.sp-empty{padding:16px 4px;font-size:11.5px;line-height:1.5;color:var(--ui-dim);text-align:center}.side-pane[data-pane=overview]{overflow-y:auto;padding:11px 11px 20px;gap:12px;scrollbar-width:thin}.ov-obj{padding:10px 12px 11px;border-radius:11px;background:#fff4e00d;border:1px solid var(--ui-line)}.ov-obj-head{display:flex;justify-content:space-between;font-size:8.5px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;color:var(--accent);margin-bottom:4px}.ov-obj-title{font-size:14px;font-weight:800;line-height:1.25;margin-bottom:7px}.ov-obj-bar{height:5px;border-radius:3px;background:#fff0d624;overflow:hidden;margin-bottom:5px}.ov-obj-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#e0a94a,var(--accent));transition:width .26s ease-out}.ov-obj-count{font-size:11px;font-weight:700;color:var(--ui-dim);font-variant-numeric:tabular-nums}.ov-obj-desc{margin-top:8px;padding-top:8px;border-top:1px solid var(--ui-line);font-size:11.5px;line-height:1.45;color:var(--ui-dim)}.ov-obj.is-done .ov-obj-title{color:var(--good)}.ov-stats{display:flex;flex-direction:column;gap:1px}.ov-stat{display:grid;grid-template-columns:74px auto 1fr;align-items:baseline;gap:8px;padding:7px 10px;border-radius:8px;background:#fff4e009}.ov-k{font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--ui-dim)}.ov-v{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}.ov-n{font-size:10.5px;color:var(--ui-dim);text-align:right}.ov-stat.is-warn .ov-v{color:var(--warn)}.ov-stat.is-bad .ov-v{color:var(--bad)}.ov-stat.is-good .ov-v{color:var(--good)}.ov-sec-head{display:flex;justify-content:space-between;align-items:baseline;margin:2px 2px 6px;font-size:9px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}.ov-sec-head span{color:var(--ui-dim);letter-spacing:.4px}.ov-group{margin-bottom:9px}.ov-group-head{margin:0 2px 4px;font-size:9.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ui-dim)}.ov-chips{display:flex;flex-wrap:wrap;gap:4px}.ov-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:11px;font-size:11px;font-weight:700;color:var(--ui-text);background:#fff4e00f;border:1px solid var(--ui-line);font-variant-numeric:tabular-nums}.ov-chip .dot{width:7px;height:7px;border-radius:50%;background:var(--cat, #888)}.ov-chip b{color:var(--accent)}.ov-empty{font-size:11.5px;color:var(--ui-dim);padding:6px 2px}#board-controls{position:absolute;left:14px;bottom:14px;z-index:68;display:flex;gap:7px;align-items:flex-end}#board-menu-wrap{position:relative}#board-menu{position:absolute;left:0;bottom:calc(100% + 7px);width:244px;padding:5px;border-radius:11px;background:var(--ui-panel);border:1px solid var(--ui-line);box-shadow:0 10px 30px #0000008c}#board-menu[hidden]{display:none}.bm-item{display:flex;justify-content:space-between;align-items:center;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--ui-text);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;text-align:left}.bm-item:hover{background:#fff4e014;color:var(--accent)}.bm-item[hidden]{display:none}.bm-sep{height:1px;margin:5px 4px;background:var(--ui-line)}.bm-help{padding:4px 10px 7px;font-size:10.5px;line-height:1.65;color:var(--ui-dim)}.bm-help b{color:var(--ui-text);font-weight:800}.bm-item kbd,.bm-help kbd{display:inline-block;min-width:15px;padding:0 4px;border-radius:4px;border:1px solid rgba(255,245,228,.18);background:#fff5e412;font:inherit;font-size:9.5px;font-weight:700;text-align:center;color:var(--ui-dim)}@media(max-width:899px){:root{--side-w: min(368px, 92vw)}#side{top:52px}}@media(max-width:620px){#board-controls{bottom:12px}.side-tab{padding:8px 2px 9px}#hint{padding-left:92px}}#toast{position:absolute;top:66px;left:50%;z-index:80;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast-item{padding:7px 15px;border-radius:10px;font-size:12.5px;font-weight:800;color:#2a1c08;background:var(--accent);box-shadow:0 4px 16px #00000080;animation:toast-in .26s cubic-bezier(.22,1,.36,1);transition:opacity .4s ease,transform .4s ease}.toast-item.kind-warn{background:var(--warn);color:#2a1408}.toast-item.kind-good{background:var(--good);color:#10301c}.toast-item.out{opacity:0;transform:translateY(-8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px) scale(.94)}to{opacity:1;transform:none}}#day-banner{position:absolute;inset:0;z-index:82;display:grid;place-items:center;pointer-events:none;opacity:0}#day-banner.show{animation:day-flash 2.2s ease-out}#day-banner .db-inner{text-align:center;padding:18px 46px;border-radius:16px;background:#120d08db;border:1px solid rgba(240,196,105,.35);box-shadow:0 16px 50px #0009}#day-banner .db-day{font-size:34px;font-weight:900;letter-spacing:4px;color:var(--accent);line-height:1}#day-banner .db-note{margin-top:8px;font-size:12.5px;font-weight:700;color:var(--ui-dim)}#day-banner .db-note.bad{color:var(--bad)}@keyframes day-flash{0%{opacity:0;transform:scale(.96)}12%{opacity:1;transform:scale(1)}78%{opacity:1}to{opacity:0}}#hint{position:absolute;left:50%;bottom:18px;z-index:66;transform:translate(-50%);max-width:520px;padding:9px 16px;border-radius:10px;text-align:center;font-size:12.5px;line-height:1.4;color:var(--ui-text);background:var(--ui-bg);border:1px solid var(--ui-line);pointer-events:none;transition:opacity .26s ease}#hint[hidden]{display:none}#hint.fade{opacity:0}#inspect{position:absolute;top:52px;right:0;bottom:0;z-index:76;width:296px;padding:16px 18px;overflow-y:auto;background:var(--ui-panel);border-left:1px solid var(--ui-line);box-shadow:-12px 0 34px #00000073;transform:translate(100%);transition:transform .2s cubic-bezier(.22,1,.36,1)}#inspect.open{transform:none}#inspect .head{display:flex;align-items:center;gap:10px;margin-bottom:10px}#inspect .swatch{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;font-size:15px;color:#fff;background:var(--cat, #666)}#inspect .name{font-size:17px;font-weight:800}#inspect .cat{font-size:10px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--cat, #999)}#inspect .desc{font-size:12.5px;line-height:1.55;color:var(--ui-dim);margin:0 0 12px}#inspect .state{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.state-chip{padding:4px 9px;border-radius:8px;font-size:11px;font-weight:700;color:#f3ead9e6;background:#fff0d612;border:1px solid var(--ui-line)}.state-chip.hot{color:#2a1c08;background:var(--accent);border-color:transparent}.state-chip.bad{color:#fff2f2;background:var(--bad);border-color:transparent}#inspect .close{width:100%}.rb-panel{display:flex;flex-direction:column;width:min(1000px,100%);max-height:100%;border-radius:14px;overflow:hidden;background:var(--ui-panel);border:1px solid var(--ui-line);box-shadow:0 24px 70px #000000a6;transform:translateY(10px) scale(.99);transition:transform .18s cubic-bezier(.22,1,.36,1)}#recipe-book.open .rb-panel{transform:none}.rb-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ui-line)}.rb-title{font-size:17px;font-weight:900;letter-spacing:.3px}.rb-sub{margin-top:2px;font-size:11.5px;color:var(--ui-dim)}.rb-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 20px;scrollbar-width:thin;scrollbar-color:rgba(255,245,228,.2) transparent}.rb-body::-webkit-scrollbar{width:8px}.rb-body::-webkit-scrollbar-thumb{background:#fff5e42e;border-radius:4px}.rb-section{margin-bottom:18px}.rb-sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 8px;font-size:10.5px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--accent)}.rb-sec-count{font-size:10.5px;font-weight:700;color:var(--ui-dim)}.rb-grid-unused{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:8px}.rb-row{margin-bottom:5px;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:11px;background:#fff4e00d;border:1px solid var(--ui-line);border-left:3px solid var(--cat, #777)}.rb-result{position:relative;flex:none}.rb-thumb{width:44px;height:44px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(#faf5ea,#e8dfcd);box-shadow:0 2px 5px #00000059;overflow:hidden}.rb-thumb .art-svg{width:100%;height:100%}.art-crop{display:block;width:100%;height:100%;background-repeat:no-repeat}.rb-thumb-locked{font-size:20px;font-weight:900;color:#f3ead952;background:#fff4e00f;box-shadow:none}.rb-qty{position:absolute;right:-4px;bottom:-4px;min-width:18px;padding:0 4px;border-radius:7px;text-align:center;font-size:9.5px;font-weight:900;color:#fffaf0;background:var(--cat, #555);box-shadow:0 1px 3px #0006}.rb-main{flex:1;min-width:0}.rb-name{font-size:13.5px;font-weight:800;margin-bottom:4px}.rb-inputs{display:flex;flex-wrap:wrap;gap:4px}.rb-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px 2px 3px;border-radius:7px;font-size:10px;font-weight:700;color:#f3ead9d9;background:#fff4e012;border:1px solid var(--ui-line)}.rb-chip b{font-weight:900;color:var(--accent)}.rb-chip-art{width:16px;height:16px;display:block;border-radius:4px;overflow:hidden;background:linear-gradient(#faf5ea,#e8dfcd)}.rb-chip-art .art-svg{width:100%;height:100%}.rb-chip.is-opt{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.rb-chip.is-ghost{padding:2px 7px;color:#f3ead961;font-style:italic}.rb-time{flex:none;font-size:11.5px;font-weight:800;color:var(--ui-dim);font-variant-numeric:tabular-nums}.rb-row.is-locked{border-left-color:#a99bc480;opacity:.5}.rb-row.is-locked .rb-name{color:#f3ead980;font-weight:700}.ex-grid{grid-template-columns:1fr!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}.ex-card{padding:12px 13px;border-radius:12px;background:#fff4e00d;border:1px solid var(--ui-line)}.ex-card.is-spent{opacity:.5}.ex-head{display:flex;align-items:center;gap:11px;margin-bottom:8px}.ex-thumb{width:54px;height:54px;flex:none;border-radius:9px;overflow:hidden;background:linear-gradient(#faf5ea,#e8dfcd);box-shadow:0 2px 6px #0006}.ex-thumb .art-svg{width:100%;height:100%}.ex-title{min-width:0}.ex-name{font-size:14.5px;font-weight:800;margin-bottom:4px}.ex-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:700;color:var(--ui-dim)}.ex-risk{padding:1px 7px;border-radius:7px;font-weight:900;letter-spacing:.4px;text-transform:uppercase;font-size:9.5px}.risk-safe{color:#10301c;background:var(--good)}.risk-low{color:#14301f;background:#a8d8ae}.risk-mod{color:#2a1408;background:var(--warn)}.risk-bad{color:#2a0d0f;background:var(--bad)}.ex-desc{font-size:11.5px;line-height:1.45;color:var(--ui-dim);margin-bottom:9px}.ex-row{display:flex;align-items:baseline;gap:8px;margin-top:6px}.ex-key{flex:none;width:72px;font-size:9.5px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:#f3ead966}.ex-chips{display:flex;flex-wrap:wrap;gap:4px}.ex-empty{padding:16px 4px 4px;font-size:12px;font-style:italic;color:#f3ead973;text-align:center}.card.is-tired .card-body{filter:saturate(.8) brightness(.97)}.card.is-tired .card-art:before{content:"TIRED";position:absolute;left:0;right:0;top:0;z-index:2;padding:2px 0;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:.8px;color:#eaf1f6;background:#5b7c93}.card.is-tired.is-busy[data-category=Person] .card-art:after{top:13px}.card[data-category=Location] .card-body:not(.is-painted) .card-art{background:linear-gradient(#f3ead4,#e3d7bb)}.card.is-regrowing .card-body{filter:saturate(.45) brightness(.94)}.card.is-regrowing .card-art:before{content:"REGROWING";position:absolute;left:0;right:0;top:0;z-index:2;padding:2px 0;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:.8px;color:#eef5e8;background:#6f9440}.card.is-hostile .card-body{box-shadow:0 0 0 2px color-mix(in srgb,var(--bad) 55%,transparent),0 6px 16px #0006}.card.is-hostile .card-body:not(.is-painted) .card-art{background:linear-gradient(#f0dcd6,#e0c3ba)}.card.is-fighting .card-edge{animation:fight-pulse .9s ease-in-out infinite}@keyframes fight-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.9) saturate(1.3)}}.card.is-down .card-body{filter:saturate(.25) brightness(.86)}.card.is-down .card-art:before{content:"DOWN";position:absolute;left:0;right:0;top:0;z-index:3;padding:2px 0;text-align:center;font-size:7.5px;font-weight:900;letter-spacing:1.2px;color:#fff2f2;background:var(--bad)}.card.is-fighting:not(.is-down).is-hungry .card-art:before,.card.is-fighting:not(.is-down).is-tired .card-art:before{content:none}.card.is-down .card-art:after{content:none}.card-art{--band: 0px}.card.is-busy[data-category=Person] .card-art,.card.is-hungry .card-art,.card.is-tired .card-art,.card.is-regrowing .card-art,.card.is-down .card-art{--band: 13px}.card.is-busy[data-category=Person] .card-body.is-painted .card-art,.card.is-hungry .card-body.is-painted .card-art,.card.is-tired .card-body.is-painted .card-art,.card.is-regrowing .card-body.is-painted .card-art,.card.is-down .card-body.is-painted .card-art{--band: 15px}.card.is-hungry.is-busy[data-category=Person] .card-art{--band: 26px}.card.is-hungry.is-busy[data-category=Person] .card-body.is-painted .card-art{--band: 30px}.card-hp{position:absolute;left:0;right:0;top:var(--band);z-index:3;height:5px;overflow:hidden;background:#18100a80;border-top:1px solid rgba(255,248,236,.75)}.card-hp[hidden]{display:none}.card-hp>i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#5fbe7c,var(--good));transition:width .16s ease-out}.card-hp.low>i{background:linear-gradient(90deg,#c04b52,var(--bad))}.card-pop{position:absolute;left:0;right:0;top:26%;z-index:4;text-align:center;font-size:17px;font-weight:900;color:#fff0ee;text-shadow:0 1px 0 #7a2026,0 2px 6px rgba(0,0,0,.5);pointer-events:none;opacity:0}.card-pop[hidden]{display:none}.card-pop.go{animation:dmg-float .7s ease-out forwards}@keyframes dmg-float{0%{opacity:0;transform:translateY(6px) scale(.7)}18%{opacity:1;transform:translateY(0) scale(1.15)}to{opacity:0;transform:translateY(-22px) scale(.95)}}.progress.is-fight{border-color:color-mix(in srgb,var(--bad) 50%,transparent)}.progress.is-fight .label{color:var(--bad)}.progress.is-fight .time{color:var(--bad);font-variant-numeric:tabular-nums}.progress.is-fight .fill{background:linear-gradient(90deg,#a83b42,var(--bad))}#inspect .hp{display:flex;align-items:center;gap:9px;margin:0 0 12px}#inspect .hp[hidden]{display:none}#inspect .hp-bar{flex:1;height:8px;border-radius:5px;overflow:hidden;background:#fff0d617;box-shadow:inset 0 0 0 1px var(--ui-line)}#inspect .hp-bar>i{display:block;height:100%;background:linear-gradient(90deg,#5fbe7c,var(--good));transition:width .18s ease-out}#inspect .hp.low .hp-bar>i{background:linear-gradient(90deg,#c04b52,var(--bad))}#inspect .hp.out .hp-bar>i{background:#d4585f59}#inspect .hp-text{flex:none;font-size:12px;font-weight:800;color:var(--ui-dim);font-variant-numeric:tabular-nums}#inspect .btn.act{width:100%;margin-bottom:8px}#inspect .btn.act[hidden]{display:none}#inspect .btn.retreat{color:#fff2f2;background:var(--bad);border-color:transparent}.card.is-fighting[data-category=Person] .card-art:after{content:"FIGHTING";background:var(--bad);color:#fff2f2}#workers,#game-menu{position:absolute;inset:0;z-index:90;display:grid;place-items:center;padding:40px;background:#080503a8;backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .18s ease}#workers.open,#game-menu.open{opacity:1;pointer-events:auto}.rb-panel.narrow{width:min(460px,100%)}.wk-filters{display:flex;gap:6px;padding:0 18px 12px;border-bottom:1px solid var(--ui-line)}.wk-filter{font-size:11.5px;padding:5px 11px}.wk-filter.on{color:#2a1c08;background:var(--accent);border-color:transparent}.wk-count{margin-left:5px;opacity:.65;font-variant-numeric:tabular-nums}.wk-list{display:flex;flex-direction:column;gap:5px}.wk-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"art name side" "art doing side";align-items:center;column-gap:10px;row-gap:1px;width:100%;padding:8px 11px;border:1px solid var(--ui-line);border-left:3px solid var(--ui-line);border-radius:10px;background:#fff4e00d;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}.wk-row:hover{background:#fff4e01a}.wk-row.state-idle{border-left-color:#f3ead959}.wk-row.state-busy{border-left-color:var(--accent)}.wk-row.state-away{border-left-color:#6fb6e0}.wk-row.state-fighting{border-left-color:var(--bad)}.wk-row.state-down{border-left-color:var(--bad);opacity:.65}.wk-art{grid-area:art;align-self:center;width:34px;height:34px;border-radius:8px;background-color:#fff4e00f;background-repeat:no-repeat;box-shadow:0 1px 4px #00000059}.wk-name{grid-area:name;display:flex;align-items:center;gap:5px;min-width:0;font-size:13.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-doing{grid-area:doing;min-width:0;font-size:11.5px;font-weight:700;color:var(--ui-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-doing em{margin-left:5px;font-size:11px;font-style:normal;font-weight:600;color:#f3ead96b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wk-side{grid-area:side;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:3px;flex:none;max-width:42%}.wk-hp{font-size:11px;font-weight:800;color:var(--good);font-variant-numeric:tabular-nums}.wk-hp.low{color:var(--warn)}.wk-hp.out{color:var(--bad)}.wk-tag{padding:2px 7px;border-radius:7px;font-size:10px;font-weight:800;color:#f3ead9cc;background:#fff0d614;border:1px solid var(--ui-line)}.wk-tag.bad{color:#fff2f2;background:var(--bad);border-color:transparent}.wk-tag.arm{color:#2e1c08;background:#d59a5a;border-color:transparent}.gm-row{display:flex;justify-content:space-between;align-items:baseline;padding:7px 2px;border-bottom:1px solid var(--ui-line);font-size:12.5px}.gm-key{font-weight:700;color:var(--ui-dim)}.gm-val{font-weight:800;font-variant-numeric:tabular-nums}.gm-acts{display:flex;flex-direction:column;gap:8px;margin:16px 0 12px}.gm-acts .btn{width:100%}.gm-acts .btn[disabled]{opacity:.4;pointer-events:none}.btn.danger{color:#fff2f2;background:var(--bad);border-color:transparent}.gm-confirm{padding:9px 11px;border-radius:9px;font-size:12px;font-weight:700;line-height:1.45;color:#ffd9da;background:#d4585f29;border:1px solid rgba(212,88,95,.45)}.gm-note{font-size:11.5px;line-height:1.5;color:#f3ead980}.card.is-found .card-body{animation:found-ring 1.4s ease-out}@keyframes found-ring{0%,to{box-shadow:0 6px 16px #0006}15%,55%{box-shadow:0 0 0 3px var(--accent),0 0 22px color-mix(in srgb,var(--accent) 65%,transparent),0 6px 16px #0006}}.card.is-pinned .card-body:after{content:"";position:absolute;right:6px;bottom:6px;width:9px;height:9px;border-radius:50%;background:#c8892f;box-shadow:0 0 0 2px #fff8e8d9,0 1px 3px #0006;pointer-events:none}#inspect .btn.act.pin.on{color:#2a1c08;background:var(--accent);border-color:transparent}#btn-alert{min-width:30px;padding-left:9px;padding-right:9px;font-weight:800;animation:alert-pulse 1.5s ease-in-out infinite}@keyframes alert-pulse{0%,to{box-shadow:0 0 #c44a428c}50%{box-shadow:0 0 0 7px #c44a4200}}@media(prefers-reduced-motion:reduce){#btn-alert{animation:none}}#main-menu{position:absolute;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 80% at 50% 0%,rgba(214,154,92,.16) 0%,transparent 60%),radial-gradient(100% 90% at 50% 100%,rgba(0,0,0,.5) 0%,transparent 70%),#150f0a}#main-menu.open{display:flex}@media(max-height:640px){.mm-logo{width:min(250px,60%)}.mm-body{margin-top:16px}.mm-tag{display:none}}.mm-panel{width:min(440px,100%);text-align:center;animation:mm-rise .32s cubic-bezier(.22,1,.36,1)}@keyframes mm-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mm-panel{animation:none}}.mm-logo{display:block;width:min(340px,78%);height:auto;margin:0 auto;filter:drop-shadow(0 10px 22px rgba(0,0,0,.55))}.mm-tag{margin-top:10px;font-size:13px;letter-spacing:.02em;color:var(--ui-dim)}.mm-body{margin-top:22px;display:flex;flex-direction:column;gap:10px}.mm-act{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;padding:15px 18px;height:auto;text-align:center;white-space:normal}.mm-act-label{font-size:15px;font-weight:700;letter-spacing:.04em}.mm-act-note{font-size:11.5px;font-weight:500;letter-spacing:.02em;opacity:.72}.mm-confirm,.mm-note,.mm-fail{font-size:12px;line-height:1.5;text-align:left;padding:10px 13px;border-radius:10px}.mm-confirm{color:#ffe4e0;background:#c44a422e;border:1px solid rgba(196,74,66,.45)}.mm-fail{color:#ffe4e0;background:#c44a4224;border:1px solid rgba(196,74,66,.4)}.mm-note{margin-top:6px;color:var(--ui-dim);background:#ffffff0a}#app.at-menu #topbar,#app.at-menu #objective,#app.at-menu #board-controls,#app.at-menu #keyhint,#app.at-menu #hint{display:none}.wk-sex{flex:none;width:auto;height:11px;object-fit:contain;opacity:.92}.rb-row{grid-template-columns:40px 1fr auto;gap:9px;padding:8px 9px}.rb-name{font-size:12.5px}.rb-where{margin-left:6px;font-size:10px;font-weight:700;color:var(--ui-dim)}.rb-time{font-size:10.5px}.rb-chip{font-size:10px;padding:2px 6px}.rb-inputs{gap:3px}.ex-card{padding:9px 10px}.ex-name{font-size:13px}.ex-desc{font-size:11px}.ex-card{cursor:pointer}.ex-card:hover{border-color:#f0c46973}.wk-row{grid-template-columns:30px minmax(0,1fr) auto;column-gap:8px;padding:7px 9px}.wk-art{width:30px;height:30px}.wk-doing{font-size:10.5px}#side{z-index:86}@media(min-width:900px){body.side-open #toast{left:calc(50% - var(--side-w) / 2)}#toast{transition:left .18s cubic-bezier(.2,.8,.3,1)}}@media(max-width:700px){#topbar{gap:8px;padding:0 8px}#stat-rank,#stat-day .day-track{display:none}.stat .k{font-size:7.5px}.stat .v{font-size:13px}#topbar-actions .btn{padding:5px 9px;font-size:11px}.brand{font-size:11px;letter-spacing:1px}}@media(max-width:460px){.brand,#stat-day{display:none}}.side-tab .badge:empty{display:none}@media(max-width:460px){.side-tab{padding:8px 1px 9px;letter-spacing:0}}@media(min-width:900px){body.side-open #inspect{right:var(--side-w)}#inspect{transition:transform .2s cubic-bezier(.22,1,.36,1),right .18s cubic-bezier(.2,.8,.3,1)}}@media(max-width:899px){#inspect{z-index:88}}#inspect .head .name{display:flex;align-items:center;gap:5px}#inspect .head .name .sex{flex:none;width:auto;height:14px;object-fit:contain}#inspect .btn.act.dismantle.is-armed{background:linear-gradient(#c1341e,#9c2515);border-color:#7d1c0f;color:#fff1ec}#inspect .act-note{margin:4px 0 0;padding:5px 7px;border-radius:6px;background:#3a2e2080;color:#d9cdb6;font-size:11px;line-height:1.35}#inspect .act-note.is-warning{background:#7a2c1a73;color:#f4d9cf}.wk-tag.warn{background:#e0ab2138;color:#f0cd6a}
