:root{--g-yellow: #f8c058;--g-yellow-soft: #fbe3b0;--g-yellow-wash: #fdf3dc;--g-green: #3f6d62;--g-ink: #2c4f47;--g-ink-soft: #55706a;--g-muted: #87978f;--g-white: #fdfbf7;--g-glass: #fdfbf7eb;--g-line: #e9e9e1;--g-brick: #b8664f;--g-shadow: 0 6px 18px #2c4f4722;--g-radius: calc(14px * var(--ui-size, 1))}body[data-game=on] .dock{display:none}.g-layer{position:absolute;inset:0;pointer-events:none;z-index:4;color:var(--g-ink);font-size:calc(13px * var(--ui-font-scale, 1))}.g-layer>*{pointer-events:auto}.g-glass{background:var(--g-glass);border:1px solid var(--g-line);border-radius:var(--g-radius);box-shadow:var(--g-shadow)}.g-stats{position:absolute;left:calc(16px * var(--ui-size));top:calc(calc(54px * var(--ui-size)) + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:calc(12px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(12px * var(--ui-size)) calc(6px * var(--ui-size));font-variant-numeric:tabular-nums}.g-badge{width:calc(28px * var(--ui-size));height:calc(28px * var(--ui-size));border-radius:50%;display:grid;place-items:center;background:var(--g-green);color:var(--g-white);font-weight:700;box-shadow:inset 0 0 0 2px var(--g-yellow)}.g-stars{color:var(--g-yellow);letter-spacing:.04em;white-space:nowrap}.g-stars .off{color:#d9ddd3}.g-coin{display:flex;align-items:center;gap:calc(5px * var(--ui-size));font-weight:700}.g-coin:before{content:"";width:calc(12px * var(--ui-size));height:calc(12px * var(--ui-size));border-radius:50%;background:var(--g-yellow);box-shadow:inset 0 0 0 2px #fde4a6}.g-cups{color:var(--g-ink-soft)}.g-stats.ready{box-shadow:0 0 0 2px var(--g-yellow),var(--g-shadow)}.g-avatar{position:absolute;left:calc(16px * var(--ui-size));bottom:calc(calc(18px * var(--ui-size)) + env(safe-area-inset-bottom,0px));width:calc(52px * var(--ui-size));height:calc(52px * var(--ui-size));border-radius:50%;border:3px solid var(--g-white);box-shadow:0 0 0 2px var(--g-yellow),var(--g-shadow);background:var(--g-yellow-soft);padding:0;overflow:hidden;cursor:pointer}.g-avatar svg{width:60%;height:60%;margin:20%;fill:none;stroke:var(--g-green);stroke-width:2;stroke-linecap:round;display:block}.g-avatar img{width:100%;height:100%;object-fit:cover;display:block}.g-dock{position:absolute;left:50%;bottom:calc(calc(14px * var(--ui-size)) + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;gap:calc(6px * var(--ui-size));padding:calc(6px * var(--ui-size))}.g-btn{min-width:calc(48px * var(--ui-size));height:calc(40px * var(--ui-size));min-height:0;padding:0 calc(10px * var(--ui-size));white-space:nowrap;border-radius:calc(12px * var(--ui-size));display:grid;place-items:center;border:1px solid var(--g-line);background:var(--g-white);color:var(--g-ink);cursor:pointer;transition:background .2s,transform .2s;font:inherit}.g-btn-icon{display:none}.g-btn-label{font-weight:600;font-size:.94em}.g-btn.open{background:var(--g-green);color:var(--g-white)}.g-btn:hover{background:var(--g-yellow-wash)}.g-btn:disabled{opacity:.4;cursor:default;color:var(--g-muted);background:#efeee8}.g-btn[aria-pressed=true]{background:var(--g-green);border-color:transparent;color:var(--g-white);box-shadow:inset 0 -3px 0 var(--g-yellow)}.g-btn svg{width:calc(22px * var(--ui-size));height:calc(22px * var(--ui-size));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.g-sep{width:calc(1px * var(--ui-size));margin:calc(6px * var(--ui-size)) calc(2px * var(--ui-size));background:var(--g-line)}.g-btn:focus-visible,.g-pie button:focus-visible,.g-choice:focus-visible{outline:2px solid var(--g-yellow);outline-offset:2px}.g-pie{position:absolute;width:0;height:0}.g-pie button{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:calc(3px * var(--ui-size));background:none;border:0;padding:0;min-height:0;cursor:pointer;color:var(--g-ink)}.g-pie .g-dot{width:calc(46px * var(--ui-size));height:calc(46px * var(--ui-size));border-radius:50%;display:grid;place-items:center;background:var(--g-white);border:1px solid var(--g-line);box-shadow:var(--g-shadow);transition:background .2s}.g-pie button:hover .g-dot{background:var(--g-yellow);border-color:transparent}.g-pie .g-dot svg{width:calc(22px * var(--ui-size));height:calc(22px * var(--ui-size));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.g-pie .g-word{background:var(--g-white);border:1px solid var(--g-line);border-radius:calc(8px * var(--ui-size));padding:0 calc(7px * var(--ui-size));font-size:.92em;white-space:nowrap}.g-pie .g-title{position:absolute;left:0;top:calc(14px * var(--ui-size));transform:translate(-50%);background:var(--g-green);color:var(--g-white);border-radius:calc(999px * var(--ui-size));padding:calc(1px * var(--ui-size)) calc(10px * var(--ui-size));font-size:.9em;white-space:nowrap;font-weight:600}.g-pie .g-ring{position:absolute;width:calc(16px * var(--ui-size));height:calc(16px * var(--ui-size));margin:calc(-8px * var(--ui-size)) 0 0 calc(-8px * var(--ui-size));border-radius:50%;border:2px solid var(--g-yellow)}.g-event{position:absolute;left:50%;top:calc(calc(16px * var(--ui-size)) + env(safe-area-inset-top,0px));transform:translate(-50%);width:min(calc(460px * var(--ui-size)),calc(100% - calc(32px * var(--ui-size))));padding:calc(14px * var(--ui-size)) calc(16px * var(--ui-size));display:grid;gap:calc(10px * var(--ui-size))}.g-event h3{margin:0;font-size:1.12em;display:flex;gap:calc(10px * var(--ui-size));align-items:center}.g-event h3 .g-ic{width:calc(34px * var(--ui-size));height:calc(34px * var(--ui-size));border-radius:calc(10px * var(--ui-size));display:grid;place-items:center;background:var(--g-yellow-soft);color:var(--g-brick);flex:none}.g-event h3 svg{width:calc(20px * var(--ui-size));height:calc(20px * var(--ui-size));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.g-event p{margin:0;color:var(--g-ink-soft);line-height:1.5}.g-choices{display:grid;grid-template-columns:1fr 1fr;gap:calc(8px * var(--ui-size))}.g-choice{text-align:left;display:grid;gap:calc(2px * var(--ui-size));padding:calc(9px * var(--ui-size)) calc(12px * var(--ui-size));border-radius:calc(12px * var(--ui-size));border:1px solid var(--g-line);background:var(--g-white);color:var(--g-ink);cursor:pointer;min-height:0}.g-choice b{font-size:1.04em}.g-choice small{color:var(--g-muted);font-size:.9em}.g-choice.suggested{border-color:var(--g-yellow);background:var(--g-yellow-wash);box-shadow:inset 0 0 0 1px var(--g-yellow)}.g-paused{color:var(--g-muted);font-size:.9em}@media(max-width:759px){.g-stats{left:calc(12px * var(--ui-size));max-width:calc(100% - calc(190px * var(--ui-size)));gap:calc(8px * var(--ui-size));padding-right:calc(10px * var(--ui-size))}.g-stats{flex-wrap:wrap;row-gap:calc(2px * var(--ui-size))}.g-stats .g-cups{flex-basis:100%;font-size:.86em;padding-left:calc(34px * var(--ui-size));margin-top:calc(-2px * var(--ui-size))}.g-dock{width:calc(100% - calc(24px * var(--ui-size)));display:flex;flex-wrap:wrap;justify-content:center;box-sizing:border-box}.g-dock .g-sep{display:none}.g-avatar{bottom:calc(var(--game-dock-height, 94px) + calc(22px * var(--ui-size)) + env(safe-area-inset-bottom,0px));left:calc(12px * var(--ui-size))}.g-btn{flex:1 0 17%;min-width:calc(54px * var(--ui-size));height:calc(40px * var(--ui-size));padding:0 calc(5px * var(--ui-size))}.g-dock{gap:calc(4px * var(--ui-size));padding:calc(5px * var(--ui-size))}}@media(prefers-reduced-motion:no-preference){.g-pie button{animation:g-pop .25s ease-out both}.g-event{animation:g-drop .3s ease-out both}}@keyframes g-pop{0%{opacity:.3;transform:translate(-50%,-50%) scale(.6)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes g-drop{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}body[data-reduced-motion=true] .g-pie button,body[data-reduced-motion=true] .g-event{animation:none}.g-panel{background:var(--g-white);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(calc(440px * var(--ui-size)),calc(100% - calc(32px * var(--ui-size))));max-height:calc(100% - calc(96px * var(--ui-size)));overflow:auto;padding:calc(16px * var(--ui-size));display:grid;gap:calc(10px * var(--ui-size));pointer-events:auto}.g-panel h3{margin:0;font-size:1.15em}.g-panel p{margin:0;color:var(--g-ink-soft);line-height:1.5}.g-panel .g-note{font-size:.92em;color:var(--g-muted)}.g-panel button{cursor:pointer;min-height:calc(40px * var(--ui-size));padding:calc(8px * var(--ui-size)) calc(14px * var(--ui-size));border-radius:calc(12px * var(--ui-size));border:1px solid var(--g-line);background:var(--g-white);color:var(--g-ink);font:inherit}.g-panel button.suggested{background:var(--g-yellow-wash);border-color:var(--g-yellow)}.g-panel button:disabled{opacity:.45;cursor:default}.g-panel button:focus-visible{outline:2px solid var(--g-yellow);outline-offset:2px}.g-panel .g-row{display:grid;grid-template-columns:1fr 1fr;gap:calc(8px * var(--ui-size))}.g-panel .g-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin;gap:calc(6px * var(--ui-size));padding-right:calc(36px * var(--ui-size))}.g-panel .g-tabs button{flex:0 0 auto;white-space:nowrap;min-height:calc(36px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(8px * var(--ui-size))}.g-panel .g-tabs button.on{background:var(--g-yellow-wash);border-color:var(--g-yellow)}.g-panel .g-x{position:absolute;right:calc(10px * var(--ui-size));top:calc(10px * var(--ui-size));width:calc(36px * var(--ui-size));min-height:calc(36px * var(--ui-size));padding:0}.g-panel .g-body{display:grid;gap:calc(10px * var(--ui-size))}.g-panel .g-ledger{display:grid;grid-template-columns:auto 1fr;gap:calc(6px * var(--ui-size)) calc(14px * var(--ui-size));margin:0}.g-panel .g-ledger dt{color:var(--g-muted)}.g-panel .g-ledger dd{margin:0;font-variant-numeric:tabular-nums}.g-panel .g-item{display:flex;justify-content:space-between;align-items:center;gap:calc(10px * var(--ui-size))}@media(max-width:520px){.g-panel .g-row{grid-template-columns:1fr}}.g-panel select{min-height:calc(40px * var(--ui-size));border-radius:calc(10px * var(--ui-size));border:1px solid var(--g-line);background:var(--g-white);color:var(--g-ink);font:inherit;padding:calc(4px * var(--ui-size)) calc(8px * var(--ui-size));min-width:0}.g-panel .g-slots{grid-template-columns:repeat(3,1fr)}.g-panel label.g-item input[type=checkbox]{width:calc(22px * var(--ui-size));height:calc(22px * var(--ui-size));accent-color:var(--g-green)}.g-panel label.g-item input[type=number]{width:6em;min-height:36px;padding:4px 8px;border:1px solid var(--g-line);border-radius:10px;font:inherit;color:var(--g-ink);background:var(--g-white)}.g-panel label.g-item input[type=text]{width:10em;max-width:60%;min-height:36px;padding:4px 8px;border:1px solid var(--g-line);border-radius:10px;font:inherit;color:var(--g-ink);background:var(--g-white)}.g-panel .g-tabs button{padding:calc(6px * var(--ui-size)) calc(4px * var(--ui-size))}.g-creator{left:auto;right:calc(16px * var(--ui-size));transform:translateY(-50%);width:min(calc(300px * var(--ui-size)),calc(100% - calc(32px * var(--ui-size))))}.g-creator .g-row button.on{background:var(--g-yellow-wash);border-color:var(--g-yellow);color:var(--g-ink);font-weight:650}.g-creator .g-style{display:flex;align-items:center;gap:calc(8px * var(--ui-size))}.g-creator .g-style button{width:calc(46px * var(--ui-size));flex:none;padding:0;font-size:1.3em}.g-creator .g-style-name{flex:1;text-align:center;color:var(--g-ink)}.g-creator input[type=text]{min-height:calc(40px * var(--ui-size));border-radius:calc(10px * var(--ui-size));border:1px solid var(--g-line);background:var(--g-white);color:var(--g-ink);font:inherit;padding:calc(4px * var(--ui-size)) calc(10px * var(--ui-size));min-width:0}@media(max-width:759px){.g-creator{left:50%;right:auto;top:calc(68px * var(--ui-size));bottom:auto;transform:translate(-50%);gap:calc(6px * var(--ui-size));padding:calc(10px * var(--ui-size)) calc(14px * var(--ui-size))}.g-creator .g-row{grid-template-columns:1fr 1fr}.g-creator h3{font-size:1em}.g-creator>p{display:none}.g-creator button,.g-creator input[type=text]{min-height:calc(36px * var(--ui-size))}.g-creator .g-style button{width:calc(40px * var(--ui-size))}}.g-btn.attn{box-shadow:0 0 0 2px var(--g-yellow);animation:g-attn 1.8s ease-in-out infinite}@keyframes g-attn{0%,to{box-shadow:0 0 0 2px var(--g-yellow)}50%{box-shadow:0 0 0 6px #f8c05866}}body[data-reduced-motion=true] .g-btn.attn{animation:none}.g-layer[data-kind=play] .g-stats,.g-layer[data-kind=play] .g-btn[data-id=shop]{display:none}.g-avatar{overflow:visible}.g-avatar:after{content:"✎";position:absolute;right:calc(-3px * var(--ui-size));bottom:calc(-3px * var(--ui-size));width:calc(20px * var(--ui-size));height:calc(20px * var(--ui-size));border-radius:50%;background:var(--g-yellow);color:var(--g-ink);font-size:calc(12px * var(--ui-font-scale));display:grid;place-items:center;box-shadow:0 1px 4px #2c4f4733}.g-stats{max-width:calc(100% - calc(200px * var(--ui-size)));flex-wrap:wrap}.g-dock{max-width:calc(100% - calc(24px * var(--ui-size)));flex-wrap:wrap;justify-content:center}.g-collection{display:flex;flex-direction:column;width:min(calc(650px * var(--ui-size)),calc(100% - 24px));max-height:calc(100% - 28px);padding:calc(14px * var(--ui-size));gap:calc(10px * var(--ui-size))}.g-collection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.g-collection-head h3{margin:0}.g-collection-close{flex:none;min-height:40px}.g-panel .g-collection-tabs{flex-wrap:wrap;gap:4px;flex:none;padding-right:0}.g-collection-tabs button{min-height:36px;white-space:normal}.g-collection-body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:2px}.g-collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(145px,100%),1fr));gap:calc(8px * var(--ui-size));margin-top:10px}.g-collection-slot{min-height:calc(65px * var(--ui-size));white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.5;padding:10px}.g-collection-slot.shadow{color:var(--g-muted);background:#f0eee7;border-style:dashed;opacity:1}.g-collection-slot.discovered{border-color:#d8b76c}.g-collection-detail{margin-top:12px;line-height:1.7;white-space:pre-line}.g-collection-detail h4{margin:0 0 4px}.g-collection-turn{display:flex;justify-content:space-between;gap:8px;flex:none}.g-hidden-count{font-size:1.5em;padding:24px 0;text-align:center}.g-layer:has(.g-panel,.g-event){z-index:9}@media(max-width:600px){.g-collection{width:calc(100% - 20px);max-height:calc(100% - 24px)}.g-panel .g-collection-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior:contain}.g-panel .g-collection-tabs button{flex:0 0 auto;white-space:nowrap;font-size:.9em;padding:8px}}.g-first-controls{position:absolute;inset:0;z-index:10;pointer-events:none}.g-first-controls button,.g-first-look{pointer-events:auto;touch-action:none}.g-first-exit{position:absolute;top:calc(12px * var(--ui-size));left:50%;transform:translate(-50%);min-height:44px;font-size:calc(13px * var(--ui-font-scale))}.g-first-look{position:absolute;right:12px;bottom:calc(var(--game-dock-height, 120px) + 26px);width:112px;height:96px;border:1px dashed var(--g-green);border-radius:24px;background:#fdfbf7a8;color:var(--g-ink);display:grid;place-items:center;font-size:calc(12px * var(--ui-font-scale));user-select:none}.g-first-move{position:absolute;left:12px;bottom:calc(var(--game-dock-height, 120px) + 26px);display:grid;grid-template-columns:repeat(3,44px);gap:4px;pointer-events:auto}.g-first-direction{width:44px;height:44px;padding:0;font-size:24px}.g-first-direction:first-child{grid-column:2}.g-first-direction:nth-child(2){grid-column:1}@media(pointer:fine){.g-first-look,.g-first-move{display:none}}.g-btn{height:auto;min-height:calc(40px * var(--ui-size));padding-block:calc(6px * var(--ui-size))}.g-btn-label,.g-panel,.g-event{overflow-wrap:anywhere}.g-btn-label{white-space:normal}.g-creator{max-height:min(calc(100% - var(--game-dock-height, 94px) - calc(106px * var(--ui-size))),62%)}@media(pointer:coarse){.g-btn,.g-panel button,.g-panel select,.g-panel input[type=text]{min-height:max(40px,calc(44px * var(--ui-size)))}}.g-panel.g-workspace{box-sizing:border-box;display:flex;flex-direction:column;width:min(calc(650px * var(--ui-size)),calc(100% - 24px));height:min(calc(620px * var(--ui-size)),calc(100% - 28px));max-height:calc(100% - 28px);padding:calc(14px * var(--ui-size));overflow:hidden}.g-workspace>h3{padding-right:42px}.g-workspace>.g-body{flex:1;min-height:0;align-content:start;overflow:auto;overscroll-behavior:contain;padding:2px}.g-workspace>.g-tabs{flex:none;padding-right:0}.g-subtabs{display:flex;flex-wrap:wrap;gap:6px;align-self:start}.g-panel .g-subtabs button{min-height:32px;padding:5px 10px;font-size:.9em}.g-panel .g-subtabs button.on{background:var(--g-green);color:var(--g-white);border-color:var(--g-green)}.g-item-detail,.g-equipment{display:grid;gap:8px;padding:10px;border:1px solid var(--g-line);border-radius:12px}.g-staff h4{margin:4px 0 10px}.g-staff .g-body{margin-top:10px}.g-panel [hidden]{display:none!important}.g-pie.g-target-menu{width:300px;height:auto;padding:12px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain}.g-target-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.g-pie.g-target-menu button{position:static;transform:none;animation:none;border:1px solid var(--g-line);border-radius:10px;background:var(--g-white);min-height:40px;padding:6px;font:inherit;color:var(--g-ink)}.g-target-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.g-pie.g-target-menu .g-target-actions button{display:flex;align-items:center;justify-content:flex-start;gap:7px;text-align:left}.g-pie.g-target-menu .g-target-close{min-width:34px;min-height:34px;flex:none}.g-pie.g-target-menu .g-dot{width:22px;height:22px;border:0;box-shadow:none;background:none;flex:none}.g-pie.g-target-menu .g-word{background:none;border:0;padding:0;white-space:normal;overflow-wrap:anywhere}.g-pie.g-target-menu button:hover{background:var(--g-yellow-wash)}.g-layer:has(.g-target-menu){z-index:9}:root{--ink: #2c4f47;--ink-soft: #4d6a60;--muted: #84948b;--paper: #fdfbf7;--card: #fdfbf7;--line: #e9e9e1;--gold: #f8c058;--gold-text: #b8862a;--green: #3f6d62;--bg: #fdfbf7;--ui-size: 1;--ui-scale: 1;--ui-font-scale: calc(var(--ui-size) * var(--ui-scale));--drawer-w: min(calc(372px * var(--ui-font-scale)), 48vw);--sheet-h: min(54dvh, calc(560px * var(--ui-size)));--glass: #fdfbf7e6;--shadow: 0 10px 28px #3e503624;font-family:ui-sans-serif,system-ui,-apple-system,Microsoft JhengHei,PingFang TC,Noto Sans TC,sans-serif;color:var(--ink);font-size:calc(14px * var(--ui-font-scale));color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);overflow:hidden}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);background:#fdfbf7;color:var(--ink);border-radius:calc(11px * var(--ui-size));padding:calc(8px * var(--ui-size)) calc(12px * var(--ui-size));min-height:calc(36px * var(--ui-size));transition:background .2s,box-shadow .2s,color .2s}button:hover{background:#fbf1d9}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #f8c058;outline-offset:2px}button:disabled{opacity:.5;cursor:default}button.primary,button.active,button[aria-pressed=true]{background:var(--green);color:#fdfbf7;border-color:transparent}h1,h2,h3,p{margin:0}small{font-size:calc(10.5px * var(--ui-font-scale))}select{min-height:calc(36px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(9px * var(--ui-size));border:1px solid var(--line);background:#fdfbf7;border-radius:calc(9px * var(--ui-size));color:#2c4f47;font-size:calc(12.5px * var(--ui-font-scale));max-width:100%}[hidden]{display:none!important}#app{position:fixed;inset:0}#viewport{position:absolute;inset:0;overflow:hidden;touch-action:none}#viewport canvas{display:block;position:absolute;inset:0;touch-action:none}body[data-ui=detail] #viewport{right:var(--drawer-w)}.brand{position:absolute;top:calc(16px * var(--ui-size));left:calc(18px * var(--ui-size));z-index:2;pointer-events:none;transition:opacity .6s}.brand h1{display:flex;align-items:center;gap:calc(10px * var(--ui-size));font-size:calc(18px * var(--ui-font-scale));letter-spacing:.16em;white-space:nowrap;font-weight:650;text-shadow:0 1px 8px #fdfbf780}.brand h1 i{width:calc(20px * var(--ui-size));height:calc(22px * var(--ui-size));display:block;background:linear-gradient(to bottom,#f8c058 0 43%,transparent 43% 51%,var(--green) 51% 94%,transparent 94%);border-radius:calc(2px * var(--ui-size))}#loading{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--bg);z-index:8;gap:calc(13px * var(--ui-size))}#loading strong{font-size:calc(18px * var(--ui-font-scale));letter-spacing:.15em}#loading p{color:#8d9b83;font-size:calc(12px * var(--ui-font-scale))}.loader{width:calc(36px * var(--ui-size));height:calc(36px * var(--ui-size));border:2px solid #e2e2da;border-top-color:#f8c058;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#toast{position:absolute;left:50%;bottom:calc(86px * var(--ui-size));transform:translate(-50%);background:#2c4f47ed;color:#fdfbf7;border-radius:calc(12px * var(--ui-size));padding:calc(11px * var(--ui-size)) calc(17px * var(--ui-size));font-size:calc(12px * var(--ui-font-scale));line-height:1.7;max-width:min(80%,calc(520px * var(--ui-size)));width:max-content;z-index:15;box-shadow:0 8px 25px #334f3028;pointer-events:none}.hud-wrap{position:absolute;top:calc(14px * var(--ui-size));right:calc(14px * var(--ui-size));z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:calc(8px * var(--ui-size));max-width:calc(100% - calc(28px * var(--ui-size)));pointer-events:none}.hud-wrap>*{pointer-events:auto}.hud{display:flex;align-items:baseline;gap:calc(9px * var(--ui-size));border-radius:calc(999px * var(--ui-size));padding:calc(7px * var(--ui-size)) calc(15px * var(--ui-size));min-height:calc(38px * var(--ui-size));background:var(--glass);border:1px solid #fdfbf7c0;box-shadow:var(--shadow);backdrop-filter:blur(8px);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:calc(12px * var(--ui-font-scale));color:var(--ink-soft)}.hud:hover,.hud.open{background:#fdfbf7}.hud b{font-size:calc(16px * var(--ui-font-scale));color:#b8862a;align-self:center;line-height:1}#hud-clock{font-size:calc(19px * var(--ui-font-scale));font-weight:550;letter-spacing:-.02em;color:var(--ink)}.hud small{color:#93a087;letter-spacing:.06em}.hud-shop{background:#fdfbf7;border:1px solid var(--line);padding:calc(3px * var(--ui-size)) calc(9px * var(--ui-size));border-radius:calc(12px * var(--ui-size));color:#6c7f63;align-self:center}.pop{background:#fdfbf7f7;border:1px solid #fdfbf7;border-radius:calc(16px * var(--ui-size));box-shadow:0 18px 50px #263e3a30;backdrop-filter:blur(12px);padding:calc(12px * var(--ui-size)) calc(14px * var(--ui-size)) calc(14px * var(--ui-size));font-size:calc(12px * var(--ui-font-scale))}.hud-pop{width:min(calc(320px * var(--ui-size)),calc(100vw - calc(28px * var(--ui-size))))}.pop h2{font-size:calc(11px * var(--ui-font-scale));letter-spacing:.14em;color:#8a9a80;font-weight:600;margin:calc(10px * var(--ui-size)) 0 calc(7px * var(--ui-size))}.pop h2:first-child{margin-top:calc(2px * var(--ui-size))}.pop .check{display:flex;align-items:center;gap:calc(7px * var(--ui-size));margin-top:calc(8px * var(--ui-size));color:var(--ink-soft)}.pop .link{margin-top:calc(12px * var(--ui-size));width:100%;background:transparent;border-style:dashed;color:#6b7f62}.chips{display:flex;flex-wrap:wrap;gap:calc(6px * var(--ui-size))}.chips button{min-height:calc(32px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(11px * var(--ui-size));border-radius:calc(16px * var(--ui-size));border:1px solid #e8e8e0;background:#fdfbf7;font-size:calc(12px * var(--ui-font-scale))}.chips.small{gap:calc(4px * var(--ui-size))}.chips.small button{min-height:calc(28px * var(--ui-size));padding:calc(3px * var(--ui-size)) calc(8px * var(--ui-size));font-size:calc(11.5px * var(--ui-font-scale))}.chips button[aria-pressed=true],.chips button.active{background:var(--green);color:#fdfbf7;border-color:transparent}input[type=checkbox]{accent-color:#3f6d62;width:calc(16px * var(--ui-size));height:calc(16px * var(--ui-size))}.event-box{position:absolute;top:calc(64px * var(--ui-size));right:calc(14px * var(--ui-size));width:min(calc(320px * var(--ui-size)),42%);z-index:4;background:var(--glass);border:1px solid #fdfbf7c0;border-radius:calc(15px * var(--ui-size));padding:calc(9px * var(--ui-size)) calc(12px * var(--ui-size)) calc(4px * var(--ui-size));box-shadow:var(--shadow);font-size:calc(11px * var(--ui-font-scale));color:var(--ink-soft);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:calc(3px * var(--ui-size));height:min(var(--event-panel-height, 180px),var(--event-panel-room, 420px));max-height:calc(100% - calc(110px * var(--ui-size)));min-height:0;overflow:hidden}.event-box header{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:calc(6px * var(--ui-size))}.event-box header b{flex:1;font-size:calc(11px * var(--ui-font-scale));letter-spacing:.14em;color:#3f6d62}.event-box header button{min-height:calc(26px * var(--ui-size));height:calc(26px * var(--ui-size));width:calc(26px * var(--ui-size));padding:0;border-radius:calc(8px * var(--ui-size));font-size:calc(13px * var(--ui-font-scale));line-height:1;border:0;background:transparent;color:#6f8468}.event-box header button:hover{background:#fbf1d9}.event-sales{margin:calc(3px * var(--ui-size)) 0 calc(5px * var(--ui-size));font-size:calc(10px * var(--ui-font-scale));color:#a0823f;white-space:pre-line;line-height:1.5}.event-box ol{list-style:none;margin:0;padding:0;min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.event-box li{display:flex;gap:calc(8px * var(--ui-size));padding:calc(3px * var(--ui-size)) 0;border-top:1px solid #f1f0e9;line-height:1.5}.event-box li:first-child{border-top:0;color:#2c4f47}.event-box li time{flex:none;color:#a9a88c;font-variant-numeric:tabular-nums}.event-box li span{overflow-wrap:anywhere}.event-box li[data-type=order] span{color:#8a6a2a}.event-box[data-mode=mini] ol,.event-box[data-mode=full] ol{overflow:auto}.event-open{position:absolute;top:calc(64px * var(--ui-size));right:calc(14px * var(--ui-size));z-index:4;min-height:calc(30px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(12px * var(--ui-size));border-radius:calc(14px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale));background:var(--glass);letter-spacing:.1em}.event-fold{display:block}body[data-ui=view] .event-box{top:calc(62px * var(--ui-size));width:min(calc(300px * var(--ui-size)),40%);padding:calc(5px * var(--ui-size)) calc(8px * var(--ui-size)) calc(4px * var(--ui-size));background:#fdfbf7b0;border-color:#fdfbf790;box-shadow:0 6px 18px #3e50361a;opacity:.78;transition:opacity .4s;font-size:calc(10.5px * var(--ui-font-scale))}body[data-ui=view] .event-box:hover,body[data-ui=view] .event-box:focus-within{opacity:1}body[data-ui=view] .event-sales{display:none}body[data-ui=view] .event-box li{padding:calc(1px * var(--ui-size)) 0;border-top:0}body[data-ui=view] .event-box li:not(:first-child){color:#7d8f76}.event-box[data-lines="1"] li:nth-child(n+2){display:none}body[data-ui=view] .event-box[data-lines="1"] li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-ui=view] .event-fold:hover{background:#fbf1d9}body[data-ui=view].controls-idle .event-box{opacity:.62}body[data-ui=detail][data-tab=shop] .event-box,body[data-ui=detail][data-tab=shop] .event-open{display:none}.person-card{position:absolute;left:calc(14px * var(--ui-size));bottom:calc(calc(76px * var(--ui-size)) + env(safe-area-inset-bottom,0px));width:min(calc(300px * var(--ui-size)),calc(100% - calc(28px * var(--ui-size))));z-index:5;display:grid;grid-template-columns:minmax(0,1fr) calc(36px * var(--ui-size));background:#fdfbf7f2;border:1px solid #fdfbf7;border-radius:calc(16px * var(--ui-size));padding:calc(10px * var(--ui-size)) calc(12px * var(--ui-size));box-shadow:0 12px 30px #3e503626;font-size:calc(11.5px * var(--ui-font-scale));line-height:1.6;color:var(--ink-soft);max-height:min(calc(320px * var(--ui-size)),40%,calc(100% - calc(150px * var(--ui-size))));overflow:auto;overscroll-behavior:none;touch-action:pan-y;scrollbar-width:thin}.person-card h2{grid-column:1;grid-row:1;align-self:center;font-size:calc(14px * var(--ui-font-scale));color:var(--ink);overflow-wrap:anywhere}.person-card p{grid-column:1 / -1;margin-top:calc(5px * var(--ui-size));overflow-wrap:anywhere}.person-card #person-close{grid-column:2;grid-row:1;position:sticky;top:0;z-index:1;min-height:calc(36px * var(--ui-size));height:calc(36px * var(--ui-size));width:calc(36px * var(--ui-size));padding:0;border:0;background:#fdfbf7;border-radius:calc(10px * var(--ui-size));font-size:calc(18px * var(--ui-font-scale))}.person-card .row{grid-column:1 / -1;position:sticky;bottom:0;margin-top:calc(7px * var(--ui-size));padding-top:calc(5px * var(--ui-size));background:#fdfbf7}.person-card .row button{min-height:calc(32px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(10px * var(--ui-size));font-size:calc(11.5px * var(--ui-font-scale))}body[data-ui=detail] .person-card{display:none}.thinking{font-size:calc(12px * var(--ui-font-scale));color:#6a7f55;background:#fdfbf7;border:1px solid var(--line);border-radius:calc(10px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(10px * var(--ui-size));margin-top:calc(8px * var(--ui-size));line-height:1.55}.thinking:empty{display:none}.thinking:before{content:"💭 "}.order{white-space:pre-line;font-size:calc(11px * var(--ui-font-scale));line-height:1.65;color:#5d6f58;background:#fdf3dc;border:1px dashed #f3d79a;border-radius:calc(10px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(10px * var(--ui-size));margin-top:calc(8px * var(--ui-size))}.row{display:flex;gap:calc(6px * var(--ui-size));flex-wrap:wrap}.row button{flex:1}.gesture{position:absolute;left:50%;bottom:calc(72px * var(--ui-size));transform:translate(-50%);z-index:3;font-size:calc(11px * var(--ui-font-scale));color:#5f735a;background:#fdfbf7c0;border-radius:calc(14px * var(--ui-size));padding:calc(4px * var(--ui-size)) calc(12px * var(--ui-size));white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .8s;max-width:calc(100% - calc(24px * var(--ui-size)));overflow:hidden;text-overflow:ellipsis}body.intro .gesture{opacity:1}.for-touch{display:none}@media(pointer:coarse){.for-touch{display:inline}.for-mouse{display:none}}.dock{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + calc(14px * var(--ui-size)));transform:translate(-50%);z-index:6;display:flex;align-items:center;gap:calc(4px * var(--ui-size));padding:calc(5px * var(--ui-size));background:#fdfbf7eb;border:1px solid #fdfbf7;border-radius:calc(18px * var(--ui-size));box-shadow:0 14px 35px #546a4124;backdrop-filter:blur(8px);white-space:nowrap;max-width:calc(100% - calc(24px * var(--ui-size)));transition:opacity .6s,transform .6s}.dock button{border:0;background:transparent;min-height:calc(36px * var(--ui-size));border-radius:calc(11px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(10px * var(--ui-size));font-size:calc(12.5px * var(--ui-font-scale));color:#2c4f47}.dock button:hover{background:#fbf1d9}.dock button.active,.dock button[aria-pressed=true]{background:var(--green);color:#fdfbf7}.dock .group{display:flex;align-items:center;gap:calc(1px * var(--ui-size))}.dock-more{display:flex;align-items:center;gap:calc(4px * var(--ui-size))}.dock-more .group,.dock .ui-mode{border-left:1px solid #e9e9e1;padding-left:calc(5px * var(--ui-size));margin-left:calc(1px * var(--ui-size))}.dock .cut{background:#fdfbf7;border:1px solid var(--line);border-radius:calc(12px * var(--ui-size));padding:calc(2px * var(--ui-size));border-left:0;margin-left:calc(6px * var(--ui-size))}.dock .cut button{min-height:calc(32px * var(--ui-size));padding:calc(4px * var(--ui-size)) calc(9px * var(--ui-size));white-space:nowrap}.dock .cut button.active{background:#fdfbf7;color:var(--ink);box-shadow:0 2px 6px #284b3b25}.dock .tools button{font-size:calc(16px * var(--ui-font-scale));padding:calc(6px * var(--ui-size)) calc(9px * var(--ui-size))}#play{font-size:calc(14px * var(--ui-font-scale));width:calc(38px * var(--ui-size))}.dock .ui-mode{background:transparent}.dock #ui-mode{background:var(--green);color:#fdfbf7;padding:calc(6px * var(--ui-size)) calc(14px * var(--ui-size));margin-left:calc(4px * var(--ui-size));letter-spacing:.08em}.dock #ui-mode:hover{background:#4a7a6e}.more-toggle{display:none}.dock.compact .more-toggle{display:inline-flex;align-items:center}.dock.compact .more-toggle.open{background:#fdf3dc}.dock.compact .dock-more{display:none;position:absolute;bottom:calc(100% + calc(8px * var(--ui-size)));left:50%;transform:translate(-50%);width:min(calc(420px * var(--ui-size)),calc(100vw - calc(24px * var(--ui-size))));flex-direction:column;align-items:stretch;gap:calc(8px * var(--ui-size));padding:calc(10px * var(--ui-size));background:#fdfbf7f7;border:1px solid #fdfbf7;border-radius:calc(16px * var(--ui-size));box-shadow:0 18px 50px #263e3a30;white-space:normal}.dock.compact .dock-more[data-open=true]{display:flex}.dock.compact .dock-more .group{border:0;padding:0;margin:0;flex-wrap:wrap;justify-content:center;gap:calc(4px * var(--ui-size))}.dock.compact .dock-more .views button{border:1px solid #e8e8e0;border-radius:calc(16px * var(--ui-size));min-height:calc(36px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(12px * var(--ui-size))}.dock.compact .dock-more .cut{align-self:center}body.controls-idle .dock{opacity:0}body.controls-idle .dock{transform:translate(-50%,8px)}.detail{position:fixed;top:0;right:0;bottom:0;width:var(--drawer-w);z-index:12;display:flex;flex-direction:column;background:var(--paper);border-left:1px solid #eeeee6;box-shadow:-18px 0 40px #3e50361c;animation:drawer-in .25s ease-out both;font-size:calc(13px * var(--ui-font-scale))}@keyframes drawer-in{0%{transform:translate(28px);opacity:.4}to{transform:none;opacity:1}}.detail-head{display:flex;align-items:center;gap:calc(10px * var(--ui-size));padding:calc(14px * var(--ui-size)) calc(14px * var(--ui-size)) calc(8px * var(--ui-size)) calc(18px * var(--ui-size))}.detail-head>div{flex:1;min-width:0}.detail-head small{font-size:calc(9.5px * var(--ui-font-scale));letter-spacing:.26em;color:#93a287;font-weight:650}.detail-head h2{font-size:calc(16px * var(--ui-font-scale));letter-spacing:.12em;margin-top:calc(3px * var(--ui-size))}.detail .close{width:calc(36px * var(--ui-size));height:calc(36px * var(--ui-size));min-height:calc(36px * var(--ui-size));padding:0;font-size:calc(20px * var(--ui-font-scale));border-radius:calc(12px * var(--ui-size));flex:none}.sheet-handle{display:none}.tabs{display:flex;gap:calc(2px * var(--ui-size));padding:0 calc(10px * var(--ui-size));border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}.tabs [role=tab]{flex:1 0 auto;border:0;border-radius:calc(10px * var(--ui-size)) calc(10px * var(--ui-size)) 0 0;background:transparent;padding:calc(9px * var(--ui-size)) calc(10px * var(--ui-size)) calc(10px * var(--ui-size));min-height:calc(40px * var(--ui-size));font-size:calc(13px * var(--ui-font-scale));color:var(--muted);letter-spacing:.08em}.tabs [role=tab][aria-selected=true]{color:var(--ink);font-weight:650;box-shadow:inset 0 -3px 0 var(--gold);background:transparent}.tabs [role=tab]:hover{background:#fbf1d9}.tab-panel{flex:1;overflow:auto;overscroll-behavior:contain;padding:calc(14px * var(--ui-size)) calc(16px * var(--ui-size)) calc(28px * var(--ui-size));scrollbar-width:thin}.tab-panel:focus-visible{outline-offset:-3px}#tab-diag.tab-panel{flex:none;overflow:visible;overscroll-behavior:auto;padding:calc(14px * var(--ui-size)) 0 0}.card{background:var(--card);border:1px solid #efefe8;border-radius:calc(16px * var(--ui-size));padding:calc(14px * var(--ui-size));margin-bottom:calc(12px * var(--ui-size));box-shadow:0 6px 18px #47654508}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:calc(8px * var(--ui-size));margin:calc(4px * var(--ui-size)) calc(2px * var(--ui-size)) calc(8px * var(--ui-size))}.card>.section-title:first-child{margin-top:0}.section-title.sub{margin-top:calc(12px * var(--ui-size))}.section-title h3{font-size:calc(12.5px * var(--ui-font-scale));letter-spacing:.14em;font-weight:650}.section-title small{color:#a98a45;text-align:right}.note{font-size:calc(11px * var(--ui-font-scale));color:#70816a;line-height:1.7;margin-top:calc(8px * var(--ui-size))}.profile{display:flex;align-items:center;gap:calc(12px * var(--ui-size))}.profile>span{background:#fbe3b0;border-radius:50%;width:calc(40px * var(--ui-size));height:calc(40px * var(--ui-size));display:grid;place-items:center;font-size:calc(21px * var(--ui-font-scale));flex:none}.profile h2{font-size:calc(15px * var(--ui-font-scale));letter-spacing:.06em;overflow-wrap:anywhere}.profile p{font-size:calc(11px * var(--ui-font-scale));color:#94a187;margin-top:calc(4px * var(--ui-size))}.actor-card h3{margin:calc(12px * var(--ui-size)) 0 calc(6px * var(--ui-size));font-size:calc(13.5px * var(--ui-font-scale));font-weight:550;line-height:1.55}.actor-card .row{margin-top:calc(12px * var(--ui-size))}.actor-card .row button{font-size:calc(12px * var(--ui-font-scale))}#actor-meters label{display:grid;grid-template-columns:3.6em 1fr;align-items:center;gap:calc(10px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale));color:#88957e;margin:calc(7px * var(--ui-size)) 0}#actor-meters label>span{flex:1;height:calc(4px * var(--ui-size));background:#ebebe3;border-radius:calc(9px * var(--ui-size));overflow:hidden}#actor-meters i{display:block;height:100%;background:#90a982;border-radius:calc(9px * var(--ui-size));width:50%}#actor-meters label:nth-child(2) i{background:#f2b94e}#actor-meters label:nth-child(3) i{background:#93b8a7}#actor-meters label:nth-child(4) i{background:#8fb3c9}.people-list{list-style:none;margin:0;padding:0;display:grid;gap:calc(2px * var(--ui-size))}.people-list .group-head{font-size:calc(10.5px * var(--ui-font-scale));letter-spacing:.18em;color:#98a58c;padding:calc(10px * var(--ui-size)) calc(4px * var(--ui-size)) calc(3px * var(--ui-size));font-weight:650}.person-row{width:100%;display:grid;grid-template-columns:calc(22px * var(--ui-size)) 1fr auto;gap:calc(2px * var(--ui-size)) calc(8px * var(--ui-size));align-items:center;text-align:left;border:0;background:transparent;border-radius:calc(11px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(8px * var(--ui-size));min-height:calc(40px * var(--ui-size));font-size:calc(12px * var(--ui-font-scale));color:var(--ink-soft)}.person-row:hover{background:#fbf1d9}.person-row i{grid-row:1 / 3;justify-self:center;width:calc(9px * var(--ui-size));height:calc(9px * var(--ui-size));border-radius:50%;background:#e9c77a}.person-row[data-group=dog] i{background:#d99a3e}.person-row[data-group=staff] i{background:var(--green)}.person-row[data-group=guest] i{background:#f8c058}.person-row[data-group=visitor] i{background:#a9b8a0}.person-row b{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row span{grid-column:2 / 4;font-size:calc(11px * var(--ui-font-scale));color:#7d8f76;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.person-row small{color:#a4a88e;white-space:nowrap}.person-row[aria-current=true]{background:#fdf3dc;box-shadow:inset 3px 0 0 var(--gold)}.sales{white-space:pre-line;font-size:calc(11.5px * var(--ui-font-scale));line-height:1.7;color:#5f7a58}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(6px * var(--ui-size));margin-top:calc(10px * var(--ui-size))}.tiles span{background:#fdfbf7;border:1px solid var(--line);border-radius:calc(11px * var(--ui-size));padding:calc(7px * var(--ui-size)) calc(9px * var(--ui-size));font-size:calc(10.5px * var(--ui-font-scale));color:#8a9981;line-height:1.4}.tiles b{display:block;font-size:calc(17px * var(--ui-font-scale));color:var(--ink);font-weight:550;font-variant-numeric:tabular-nums}.tiles span[data-ok=false]{background:#f8e6df;color:#9c5a44}.tiles span[data-ok=false] b{color:#9c5a44}.tiles em{display:block;font-style:normal;font-size:calc(9.5px * var(--ui-font-scale));color:#a4a88e}.now{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(4px * var(--ui-size));margin-top:calc(6px * var(--ui-size));font-size:calc(10px * var(--ui-font-scale));color:#8a9981}.now span{border:1px solid #f1f0e9;border-radius:calc(10px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(7px * var(--ui-size));line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now span b{display:block;font-size:calc(14px * var(--ui-font-scale));color:var(--ink-soft);font-weight:550;font-variant-numeric:tabular-nums}.hourly{position:relative;display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:calc(2px * var(--ui-size));height:calc(58px * var(--ui-size));padding-bottom:calc(14px * var(--ui-size));border-bottom:1px solid var(--line)}.hourly i{display:block;background:#f6dca0;border-radius:calc(3px * var(--ui-size)) calc(3px * var(--ui-size)) 0 0;min-height:calc(2px * var(--ui-size))}.hourly i[data-now=true]{background:var(--gold)}.hourly i[data-hour]:after{content:attr(data-label);position:absolute;bottom:calc(-1px * var(--ui-size));font-size:calc(9px * var(--ui-font-scale));color:#a4a88e;font-style:normal;transform:translate(-2px)}.journal{list-style:none;margin:calc(8px * var(--ui-size)) 0 0;padding:0;font-size:calc(11.5px * var(--ui-font-scale))}.journal li{display:flex;gap:calc(9px * var(--ui-size));padding:calc(5px * var(--ui-size)) calc(2px * var(--ui-size));border-top:1px solid #f1f0e9;line-height:1.55;color:var(--ink-soft)}.journal li time{flex:none;color:#a9a88c;font-variant-numeric:tabular-nums}.journal li span{overflow-wrap:anywhere}.journal li[data-category=order] span{color:#8a6a2a}.journal:empty:after{content:"這一類還沒有事件。";color:#a4a88e;display:block;padding:calc(8px * var(--ui-size)) calc(2px * var(--ui-size))}.roster{list-style:none;margin:calc(4px * var(--ui-size)) 0 0;padding:0;display:grid;gap:calc(2px * var(--ui-size));font-size:calc(11.5px * var(--ui-font-scale))}.roster li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:calc(8px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(8px * var(--ui-size)) calc(6px * var(--ui-size)) calc(20px * var(--ui-size));border-radius:calc(10px * var(--ui-size));position:relative;cursor:pointer;line-height:1.4;color:#5d6f58}.roster li:hover,.roster li:focus-visible{background:#fbf1d9;outline:none}.roster li:before{content:"";position:absolute;left:calc(7px * var(--ui-size));top:calc(12px * var(--ui-size));width:calc(7px * var(--ui-size));height:calc(7px * var(--ui-size));border-radius:50%;background:#dfdfd7}.roster li b{grid-row:1 / 3;align-self:center;font-weight:600;color:#3f6d62;min-width:4.4em}.roster li small{color:#9aa592;font-size:calc(10.5px * var(--ui-font-scale));font-variant-numeric:tabular-nums}.roster li span{color:#5d6f58}.roster li[data-status=work]:before{background:#3f8f6a}.roster li[data-status=break]:before{background:#f8c058}.roster li[data-status=arriving]:before,.roster li[data-status=leaving]:before{background:#8fb3d9}.roster li[data-status=off],.roster li[data-status=done]{opacity:.55}.roster li[data-status=done] span{color:#9aa592}.settings fieldset{border:0;border-top:1px solid var(--line);padding:calc(14px * var(--ui-size)) calc(2px * var(--ui-size)) 0;margin:0 0 calc(16px * var(--ui-size));min-width:0}.settings fieldset:first-child{border-top:0;padding-top:calc(2px * var(--ui-size))}.settings legend{font-size:calc(13px * var(--ui-font-scale));padding:0 calc(10px * var(--ui-size)) 0 0;letter-spacing:.1em;font-weight:600}.settings label{display:block;font-size:calc(12.5px * var(--ui-font-scale));line-height:1.8;margin:calc(8px * var(--ui-size)) 0}.settings label select{display:block;width:100%;margin-top:calc(5px * var(--ui-size))}.settings label strong{float:right;font-weight:500;color:#a98a45}.settings .check{display:flex;align-items:flex-start;gap:calc(8px * var(--ui-size))}.settings .check input{margin-top:calc(5px * var(--ui-size));flex-shrink:0}.settings input[type=range]{display:block;width:100%;accent-color:#e9ad3f;margin:calc(8px * var(--ui-size)) 0}.presets{margin-bottom:calc(10px * var(--ui-size))}.presets button,.settings .row button{font-size:calc(12px * var(--ui-font-scale));padding:calc(7px * var(--ui-size)) calc(6px * var(--ui-size));white-space:normal}#sample-event{width:100%;white-space:normal}.settings button.danger{color:#9c6b51;margin-top:calc(10px * var(--ui-size));width:100%;background:#faf1e7}.keys{display:grid;grid-template-columns:auto 1fr;gap:calc(6px * var(--ui-size)) calc(12px * var(--ui-size));margin:calc(6px * var(--ui-size)) 0 0;font-size:calc(11.5px * var(--ui-font-scale));line-height:1.6}.keys dt{font-weight:600;color:var(--ink-soft);white-space:nowrap}.keys dd{margin:0;color:#70816a}.tiles.perf{grid-template-columns:repeat(3,1fr);margin-top:calc(4px * var(--ui-size))}#backend-label{color:#93a087}.qa-list,.day-list{list-style:none;margin:0;padding:0;font-size:calc(11.5px * var(--ui-font-scale))}.qa-list li,.day-list li{display:grid;grid-template-columns:calc(20px * var(--ui-size)) 1fr;gap:0 calc(8px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(2px * var(--ui-size));border-top:1px solid #f1f0e9;line-height:1.5}.qa-list li:first-child,.day-list li:first-child{border-top:0}.qa-list li:before,.day-list li:before{content:"✓";grid-row:1 / 3;color:#3f8f6a;font-weight:700;text-align:center}.qa-list li[data-pass=false]:before,.day-list li[data-state=fail]:before{content:"✗";color:#b0573e}.day-list li[data-state=todo]:before{content:"○";color:#b8bfab}.day-list li[data-state=run]:before{content:"◐";color:var(--gold)}.qa-list li small,.day-list li small{color:#93a087;overflow-wrap:anywhere}.day-list{margin-top:calc(10px * var(--ui-size))}.day-list li b{font-weight:550;color:var(--ink-soft)}details.card summary{cursor:pointer;font-size:calc(12.5px * var(--ui-font-scale));letter-spacing:.1em;font-weight:600}details.card pre{background:#fdfbf7;border:1px solid var(--line);border-radius:calc(10px * var(--ui-size));padding:calc(12px * var(--ui-size));font-size:calc(10.5px * var(--ui-font-scale));line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:#63775e;max-height:calc(360px * var(--ui-size));overflow:auto}@media(max-width:759px){:root{--sheet-h: min(54dvh, 520px)}body[data-ui=detail] #viewport{right:0;bottom:var(--sheet-h)}body[data-ui=detail] .detail[data-size=tall]~* #viewport{bottom:0}.detail{top:auto;left:0;width:auto;height:var(--sheet-h);border-left:0;border-radius:calc(20px * var(--ui-size)) calc(20px * var(--ui-size)) 0 0;box-shadow:0 -14px 36px #3e503626;animation-name:sheet-in;padding-bottom:env(safe-area-inset-bottom)}.detail[data-size=tall]{height:calc(100dvh - calc(64px * var(--ui-size)))}@keyframes sheet-in{0%{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}.detail-head{padding:calc(4px * var(--ui-size)) calc(12px * var(--ui-size)) calc(4px * var(--ui-size)) calc(16px * var(--ui-size));position:relative}.sheet-handle{display:block;position:absolute;left:50%;top:0;transform:translate(-50%);width:calc(64px * var(--ui-size));height:calc(18px * var(--ui-size));min-height:calc(18px * var(--ui-size));padding:0;border:0;background:transparent}.sheet-handle:after{content:"";display:block;width:calc(40px * var(--ui-size));height:calc(4px * var(--ui-size));border-radius:calc(3px * var(--ui-size));background:#e2e2da;margin:calc(7px * var(--ui-size)) auto 0}.detail-head small{display:none}.detail-head h2{margin-top:calc(12px * var(--ui-size));font-size:calc(14px * var(--ui-font-scale))}.tabs [role=tab]{padding:calc(8px * var(--ui-size)) calc(8px * var(--ui-size));min-height:calc(38px * var(--ui-size))}.tab-panel{padding:calc(12px * var(--ui-size)) calc(12px * var(--ui-size)) calc(24px * var(--ui-size))}.brand{top:calc(12px * var(--ui-size));left:calc(14px * var(--ui-size))}.brand h1{font-size:calc(15px * var(--ui-font-scale));gap:calc(8px * var(--ui-size));letter-spacing:.12em}.brand h1 i{width:calc(16px * var(--ui-size));height:calc(18px * var(--ui-size))}.hud-wrap{top:calc(48px * var(--ui-size));right:calc(10px * var(--ui-size));max-width:calc(100% - calc(20px * var(--ui-size)))}.hud{padding:calc(6px * var(--ui-size)) calc(12px * var(--ui-size));gap:calc(7px * var(--ui-size))}.hud-weather,.hud-shop{display:none}body[data-ui=view] .event-box{top:calc(110px * var(--ui-size));right:calc(10px * var(--ui-size));width:min(calc(300px * var(--ui-size)),calc(100% - calc(20px * var(--ui-size))))}.dock{bottom:calc(env(safe-area-inset-bottom,0px) + calc(12px * var(--ui-size)));max-width:calc(100% - calc(16px * var(--ui-size)))}.person-card{left:calc(10px * var(--ui-size));bottom:calc(calc(68px * var(--ui-size)) + env(safe-area-inset-bottom,0px));width:min(calc(280px * var(--ui-size)),calc(100% - calc(20px * var(--ui-size))));max-height:min(calc(260px * var(--ui-size)),36%,calc(100% - calc(140px * var(--ui-size))))}body[data-game=on] .person-card{left:auto;right:calc(10px * var(--ui-size));bottom:calc(var(--game-dock-height, 94px) + calc(22px * var(--ui-size)) + env(safe-area-inset-bottom,0px));max-height:min(calc(260px * var(--ui-size)),36%,calc(100% - calc(180px * var(--ui-size))))}body[data-ui=detail] .event-box,body[data-ui=detail] .event-open,body[data-ui=detail] .gesture{display:none}#toast{bottom:calc(70px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale))}.gesture{bottom:calc(64px * var(--ui-size));font-size:calc(10.5px * var(--ui-font-scale))}.tiles.perf,.tiles{grid-template-columns:repeat(3,1fr)}}@media(max-width:380px){#hud-day{display:none}.dock button{padding:calc(6px * var(--ui-size)) calc(8px * var(--ui-size))}}.night-scene .brand h1{color:#f5f3df;text-shadow:0 1px 10px #0b161480}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.loader,.detail{animation:none}}.still .detail,.still .event-box,.still .dock,.still .brand{animation:none;transition:none}.dock{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:min(calc(580px * var(--ui-size)),calc(100% - calc(16px * var(--ui-size))));gap:calc(2px * var(--ui-size))}.dock>button{min-width:0;min-height:calc(42px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(4px * var(--ui-size));white-space:nowrap}.dock #ui-mode{margin:0;padding:calc(6px * var(--ui-size)) calc(4px * var(--ui-size));border:0}.dock #ui-mode{order:1}.dock .dof-tools{display:flex;align-items:stretch;min-width:0}.dock .dof-tools #dock-dof{flex:1;min-width:0;padding:calc(6px * var(--ui-size)) 0}.dock #dock-dof-adjust{min-width:calc(18px * var(--ui-size));padding:calc(4px * var(--ui-size)) calc(2px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale))}.dof-panel{position:absolute;z-index:8;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + calc(76px * var(--ui-size)));transform:translate(-50%);width:min(calc(340px * var(--ui-size)),calc(100% - calc(24px * var(--ui-size))));max-height:calc(100% - calc(100px * var(--ui-size)));overflow-y:auto;overscroll-behavior:contain;padding:calc(12px * var(--ui-size)) calc(18px * var(--ui-size));background:#fdfbf7;border:1px solid var(--line);border-radius:calc(18px * var(--ui-size));box-shadow:0 16px 40px #263e3a2e;color:var(--ink)}.dof-panel header{display:flex;align-items:center;justify-content:space-between;gap:calc(12px * var(--ui-size))}.dof-panel h2{margin:0;font-size:calc(15px * var(--ui-font-scale))}.dof-panel header button{min-width:calc(36px * var(--ui-size));min-height:calc(36px * var(--ui-size));border:0;border-radius:calc(12px * var(--ui-size));background:transparent;color:var(--ink);font-size:calc(21px * var(--ui-font-scale))}.dof-panel label{display:block;margin:0;min-height:0;padding:calc(6px * var(--ui-size)) 0;font-size:calc(13px * var(--ui-font-scale))}.dof-panel label output{float:right}.dof-panel label.check{display:flex;flex-direction:row;gap:calc(12px * var(--ui-size));min-height:calc(38px * var(--ui-size))}.dof-panel label input[type=range]{display:block;clear:both;width:100%;min-height:calc(24px * var(--ui-size));height:calc(24px * var(--ui-size));padding:0;margin:calc(6px * var(--ui-size)) 0 0;accent-color:var(--gold)}.dof-panel select{display:block;width:100%;min-height:calc(36px * var(--ui-size));margin-top:calc(6px * var(--ui-size));border:1px solid var(--line);border-radius:calc(12px * var(--ui-size));background:#fdfbf7;color:var(--ink);padding:calc(9px * var(--ui-size));font:inherit}.dof-panel .note{margin:calc(8px * var(--ui-size)) 0;font-size:calc(12px * var(--ui-font-scale))}.settings-group{border:1px solid var(--line);border-radius:calc(14px * var(--ui-size));background:#fdfbf7;margin:0 0 calc(10px * var(--ui-size));padding:calc(4px * var(--ui-size)) calc(12px * var(--ui-size)) calc(12px * var(--ui-size));min-width:0}.settings summary{min-height:calc(40px * var(--ui-size));display:flex;align-items:center}.settings-group>summary{min-height:calc(44px * var(--ui-size));display:flex;align-items:center;cursor:pointer;font-size:calc(13px * var(--ui-font-scale));font-weight:600;gap:calc(8px * var(--ui-size))}.settings-group>summary:before{content:"›";font-size:1.4em}.settings-group[open]>summary:before{transform:rotate(90deg)}.settings-group:not([open]){padding-bottom:calc(4px * var(--ui-size))}.settings button,.settings select,.settings label{min-height:calc(40px * var(--ui-size))}.settings .check{align-items:center;padding:calc(5px * var(--ui-size)) 0}.settings .check input{appearance:none;width:calc(38px * var(--ui-size));height:calc(22px * var(--ui-size));border-radius:calc(16px * var(--ui-size));background:#d8d8d0;position:relative;margin:0;flex-shrink:0}.settings .check input:after{content:"";position:absolute;width:calc(16px * var(--ui-size));height:calc(16px * var(--ui-size));top:calc(3px * var(--ui-size));left:calc(3px * var(--ui-size));border-radius:50%;background:#fff;transition:transform .15s}.settings .check input:checked{background:var(--green)}.settings .check input:checked:after{transform:translate(calc(16px * var(--ui-size)))}.camera-tools{display:grid;gap:calc(10px * var(--ui-size))}.camera-tools .group{display:flex;flex-wrap:wrap;gap:calc(6px * var(--ui-size))}.camera-tools button{flex:1 1 70px}.settings-group .note{overflow-wrap:anywhere}.settings input[type=range]{min-height:calc(40px * var(--ui-size))}@media(max-width:600px){.dock>button{font-size:calc(11px * var(--ui-font-scale))}}.object-card{position:absolute;z-index:3;max-width:min(calc(240px * var(--ui-size)),calc(100% - calc(24px * var(--ui-size))));background:#fdfbf7;border:1px solid #d8c9a1;color:#2c4f47;border-radius:calc(14px * var(--ui-size));padding:calc(9px * var(--ui-size)) calc(13px * var(--ui-size));font-size:calc(12.5px * var(--ui-font-scale));line-height:1.5;box-shadow:0 6px 18px #284b3b22;opacity:0;transform:translate(-50%,calc(-100% - 10px));transition:opacity .22s;pointer-events:none}.object-card.on{opacity:1}.object-card b{display:block;font-size:calc(13.5px * var(--ui-font-scale));margin-bottom:calc(2px * var(--ui-size))}.object-card p{margin:0}.world-bubble{position:absolute;z-index:3;transform:translate(-50%,-100%);background:#fdfbf7;border:1px solid #d8c9a1;color:#2c4f47;border-radius:calc(15px * var(--ui-size));padding:calc(8px * var(--ui-size)) calc(13px * var(--ui-size));font-size:calc(12px * var(--ui-font-scale));line-height:1.5;max-width:calc(190px * var(--ui-size));text-align:center;pointer-events:none;box-shadow:0 4px 15px #3e503622}.world-bubble[data-type=thought]{border-style:dashed;background:#fdfbf7}.world-bubble:before,.world-bubble:after{content:"";position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.world-bubble:before{bottom:calc(-8px * var(--ui-size));border:8px solid transparent;border-bottom:0;border-top-color:#d8c9a1}.world-bubble:after{bottom:calc(-6px * var(--ui-size));border:7px solid transparent;border-bottom:0;border-top-color:#fdfbf7}.world-bubble[data-type=thought]:before,.world-bubble[data-type=thought]:after{border:1px solid #d8c9a1;border-radius:50%;background:#fdfbf7}.world-bubble[data-type=thought]:before{bottom:calc(-10px * var(--ui-size));width:calc(8px * var(--ui-size));height:calc(8px * var(--ui-size));transform:translate(-90%)}.world-bubble[data-type=thought]:after{bottom:calc(-17px * var(--ui-size));width:calc(5px * var(--ui-size));height:calc(5px * var(--ui-size));transform:translate(-200%)}.world-bubble[data-priority="3"]{border-color:#e9ad3f;box-shadow:0 4px 16px #3e503630}.world-bubble[data-priority="3"]:not([data-type=thought]):before{border-top-color:#e9ad3f}.world-bubble{animation:bubble-in .25s ease-out both}.world-bubble.out{animation:bubble-out .4s ease-in both}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,-100%) translateY(6px)}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes bubble-out{0%{opacity:1;transform:translate(-50%,-100%)}to{opacity:0;transform:translate(-50%,-100%) translateY(-8px)}}.world-bubble[data-type=order]{background:#fdf3dc linear-gradient(to bottom,#f8c058 0 45%,#3f6d62 45% 100%) no-repeat 10px 50% / 9px 13px;border-color:#f8c058;color:#2f4f45;font-weight:600;border-radius:calc(9px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(11px * var(--ui-size)) calc(6px * var(--ui-size)) calc(26px * var(--ui-size));white-space:nowrap;max-width:none}.world-bubble[data-type=order]:before{border-top-color:#f8c058}.world-bubble[data-type=order]:after{border-top-color:#fdf3dc}@media(max-width:759px){.world-bubble{font-size:calc(11px * var(--ui-font-scale));max-width:calc(150px * var(--ui-size))}}@media(prefers-reduced-motion:reduce){.world-bubble,.world-bubble.out{animation:none}}.still .world-bubble,.still .world-bubble.out{animation:none}.staff-cmd.g-pie{z-index:6;font-size:calc(13px * var(--ui-font-scale));color:var(--g-ink)}.staff-cmd[hidden]{display:none}.staff-cmd.g-pie button{background:none;color:var(--g-ink)}.staff-cmd.g-pie button[aria-pressed=true] .g-dot{background:var(--g-yellow);border-color:transparent}.staff-cmd.g-pie button[aria-pressed=true] .g-word{background:var(--g-yellow-soft);border-color:var(--g-yellow)}.dock-menu{--menu-green: #426e62;--menu-yellow: #f6c05a;position:absolute;z-index:7;min-width:calc(176px * var(--ui-size));max-width:calc(100% - calc(16px * var(--ui-size)));max-height:calc(100% - calc(100px * var(--ui-size)));overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:calc(2px * var(--ui-size));padding:calc(6px * var(--ui-size));background:#fdfbf7;border:1px solid #e9e9e1;border-radius:calc(16px * var(--ui-size));box-shadow:0 16px 40px #263e3a2e;animation:dock-menu-in .18s ease-out both}@keyframes dock-menu-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dock-menu-title{padding:calc(6px * var(--ui-size)) calc(10px * var(--ui-size)) calc(4px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale));letter-spacing:.18em;color:var(--menu-green);font-weight:650;opacity:.8}.dock-menu button{display:grid;grid-template-columns:calc(22px * var(--ui-size)) 1fr auto;align-items:center;gap:calc(4px * var(--ui-size));width:100%;min-height:calc(46px * var(--ui-size));padding:calc(6px * var(--ui-size)) calc(12px * var(--ui-size)) calc(6px * var(--ui-size)) calc(8px * var(--ui-size));border:0;border-radius:calc(12px * var(--ui-size));background:transparent;color:#2c4f47;text-align:left;font-size:calc(14.5px * var(--ui-font-scale))}.dock-menu button:hover,.dock-menu button:focus-visible{background:#fbf1d9}.dock-menu button i{font-style:normal;font-weight:700;color:var(--menu-green);text-align:center}.dock-menu button small{color:#84948b;font-size:calc(11.5px * var(--ui-font-scale));white-space:nowrap}.dock-menu button[aria-checked=true]{background:color-mix(in srgb,var(--menu-yellow) 30%,#fdfbf7);box-shadow:inset 3px 0 0 var(--menu-yellow);font-weight:650}.dock-menu-camera{width:min(calc(780px * var(--ui-size)),calc(100% - calc(16px * var(--ui-size))));gap:calc(8px * var(--ui-size));padding:calc(8px * var(--ui-size))}.dock-menu-camera .dock-menu-title{padding-bottom:0}.dock-menu-section{min-width:0}.dock-menu-group-title{padding:calc(2px * var(--ui-size)) calc(8px * var(--ui-size)) calc(6px * var(--ui-size));font-size:calc(11px * var(--ui-font-scale));color:var(--menu-green)}.dock-menu-section+.dock-menu-section{padding-top:calc(7px * var(--ui-size));border-top:1px solid #e9e9e1}.dock-menu-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(4px * var(--ui-size))}.dock-menu-grid[data-group=view]{grid-template-columns:repeat(4,minmax(0,1fr))}.dock-menu-camera button{min-width:0;grid-template-columns:calc(18px * var(--ui-size)) minmax(0,1fr);gap:calc(2px * var(--ui-size)) calc(4px * var(--ui-size));padding:calc(7px * var(--ui-size)) calc(8px * var(--ui-size))}.dock-menu-camera button span{overflow-wrap:anywhere}.dock-menu-camera button small{grid-column:2;white-space:normal;line-height:1.35}@media(max-width:759px){.dock-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dock-menu-grid[data-group=view]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.dock-menu-grid[data-group=focus]{grid-template-columns:repeat(2,minmax(0,1fr))}.dock-menu-camera button{padding:calc(7px * var(--ui-size)) calc(5px * var(--ui-size));font-size:calc(13px * var(--ui-font-scale))}}.dock .open[aria-haspopup]{background:var(--menu-green, #426e62);color:#fdfbf7}@media(prefers-reduced-motion:reduce){.dock-menu{animation:none}}.still .dock-menu{animation:none}#loading .app-ver{position:absolute;right:calc(14px * var(--ui-size));bottom:calc(env(safe-area-inset-bottom,0px) + calc(12px * var(--ui-size)));font-size:calc(11px * var(--ui-font-scale));letter-spacing:.08em;color:var(--muted);opacity:.8}.game-entries{position:absolute;top:calc(58px * var(--ui-size));left:calc(18px * var(--ui-size));z-index:2;display:flex;gap:calc(8px * var(--ui-size))}.game-entry{position:relative;display:inline-flex;align-items:center;gap:calc(8px * var(--ui-size));min-height:calc(40px * var(--ui-size));padding:calc(7px * var(--ui-size)) calc(16px * var(--ui-size)) calc(7px * var(--ui-size)) calc(12px * var(--ui-size));border-radius:calc(999px * var(--ui-size));border:1px solid #f8c058;background:#fdfbf7;color:#3f6d62;font:inherit;font-weight:650;letter-spacing:.08em;cursor:pointer;box-shadow:0 4px 14px #2c4f4722}.game-entry svg{width:calc(20px * var(--ui-size));height:calc(20px * var(--ui-size));fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.game-entry:hover{background:#fdf3dc}.game-entry:focus-visible{outline:2px solid #f8c058;outline-offset:2px}body[data-game=on] .game-entries{display:none}@media(max-width:759px){.game-entries{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + calc(76px * var(--ui-size)));left:calc(14px * var(--ui-size))}.game-entry{padding:calc(7px * var(--ui-size)) calc(12px * var(--ui-size)) calc(7px * var(--ui-size)) calc(10px * var(--ui-size))}}.pick-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.pick-outline{transition:opacity .12s}.pick-outline-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.object-card[data-game]{transform:none}.object-card[data-side=above]:after,.object-card[data-side=below]:after{content:none}body[data-has-upper=false] [data-focus=upper],body[data-has-upper=false] [data-view=ground]{display:none}.hud-pop{max-height:calc(100dvh - calc(90px * var(--ui-size)));overflow-y:auto;overscroll-behavior:contain}.dock button,.game-entry,.settings summary{white-space:normal;overflow-wrap:anywhere}@media(pointer:coarse){.dock button,.dock-menu button,.game-entry,.settings button,.settings select,.person-card button{min-height:max(40px,calc(44px * var(--ui-size)))}}.event-box[data-lines="1"]{height:min(var(--event-panel-height, 180px),var(--event-panel-room, 420px))}.event-box header b{min-width:0}.event-box header button{flex:none}.event-resize{flex:none;height:16px;position:relative;cursor:ns-resize;touch-action:none;user-select:none;border-radius:6px}.event-resize:before{content:"";position:absolute;width:40px;height:3px;left:calc(50% - 20px);top:6px;border-radius:3px;background:#8a9a80;opacity:.65}.event-resize:after{content:"";position:absolute;inset:-4px 0}.event-resize:hover,.event-resize:focus-visible{background:#fbf1d9}@media(max-width:400px){.event-box header b{flex-basis:100%}}@media(pointer:coarse){.event-box header button{min-height:30px;min-width:30px}}@media(max-width:759px){.event-box,.event-open{top:calc(110px * var(--ui-size))}}.dock{display:flex;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 20px)}.dock>button,.dock .dof-tools{flex:0 0 auto}.dock>button{padding:calc(7px * var(--ui-size)) calc(9px * var(--ui-size));min-height:40px;white-space:nowrap}body[data-game=on] .dock.g-shared-dock{display:flex}body[data-game=on].controls-idle .dock.g-shared-dock{opacity:1;transform:translate(-50%)}.dock.g-shared-dock .g-btn{height:auto}.dock.g-shared-dock .g-btn-label{font-size:inherit}@media(max-width:400px){.dock{gap:2px}.dock>button{padding:6px}}.event-box,body[data-ui=view] .event-box{background:rgb(253 251 247 / var(--event-background-opacity, .9));font-size:calc(11px * var(--ui-font-scale) * var(--event-font-scale, 1));opacity:1}body[data-ui=view].controls-idle .event-box{opacity:1}.event-box header b{font-size:inherit;letter-spacing:.08em}.event-box header button{font-size:calc(13px * var(--ui-font-scale) * var(--event-font-scale, 1))}.event-box header .event-appearance{width:auto;padding:0 4px}.event-box[data-appearance=open]{height:min(max(320px,var(--event-panel-height, 180px)),var(--event-panel-room, 420px))}.event-box[data-appearance=open] ol,.event-box[data-appearance=open] .event-sales{display:none}.event-appearance-panel{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:5px 2px;display:grid;gap:9px}.event-appearance-panel label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px}.event-appearance-panel select,.event-appearance-panel button{font-size:inherit;min-height:36px}.event-appearance-panel input[type=range]{grid-column:1 / -1;width:100%}.event-appearance-panel p{line-height:1.6}@media(max-width:759px){body[data-game=on] .event-box,body[data-game=on] .event-open{top:max(calc(110px * var(--ui-size)),calc(var(--game-stats-bottom, 0px) + 10px))}}.event-box header button{width:auto;padding:3px 6px;height:auto;min-height:26px;font-size:.95em;line-height:1.3;white-space:nowrap;border:1px solid #e4e7df;background:#fdfbf7b8}.event-box header b{flex-basis:auto}.event-box header .event-height-less,.event-box header .event-height-more{color:#426e62}.event-box header button:disabled{opacity:.4;cursor:default}.event-box header{flex-wrap:nowrap;justify-content:space-between}.event-box header b{flex:1;min-width:0}.event-box header .event-close{width:28px;height:28px;min-height:28px;padding:0;font-size:calc(20px * var(--ui-font-scale));border:0;background:transparent}.event-toolbar{display:grid;flex:none;grid-template-columns:minmax(0,1fr) 28px 28px auto;align-items:center;gap:4px;padding:3px 0 6px;border-bottom:1px solid var(--line)}.event-toolbar button{min-width:0;min-height:28px;padding:4px 6px;font-size:inherit;line-height:1.35;border-radius:7px;white-space:nowrap}.event-toolbar .event-toggle{text-align:left}.event-toolbar .event-height-less,.event-toolbar .event-height-more{padding:0;font-size:.8em;color:#426e62}.event-toolbar button:disabled{opacity:.35}.event-box[data-lines="1"] li span,body[data-ui=view] .event-box[data-lines="1"] li span{white-space:normal;overflow:visible;text-overflow:clip}.event-fold{display:none}.event-open{display:flex;justify-content:space-between;align-items:center;gap:14px;width:min(calc(320px * var(--ui-size)),42%);text-align:left}body[data-ui=view] .event-open{width:min(calc(300px * var(--ui-size)),40%)}.event-open span:last-child{font-size:20px;line-height:1}@media(pointer:coarse){.event-toolbar{grid-template-columns:minmax(0,1fr) 32px 32px auto}.event-toolbar button,.event-box header .event-close{min-height:32px}}.hud{display:grid;grid-template-columns:1.25em 4.5em minmax(0,1.15fr) minmax(0,1fr) 7em;width:min(calc(620px * var(--ui-font-scale)),calc(100vw - 28px * var(--ui-size)));align-items:center;text-align:left}.hud>*{min-width:0;overflow:hidden;text-overflow:ellipsis}#hud-icon{width:100%;text-align:center}#hud-clock{font-variant-numeric:tabular-nums;text-align:center}.hud-shop{text-align:center;margin:0}@media(max-width:759px){.hud{width:min(calc(440px * var(--ui-font-scale)),calc(100vw - 20px))}.event-open,body[data-ui=view] .event-open{width:min(calc(300px * var(--ui-size)),calc(100% - 20px * var(--ui-size)))}}.scene-loading{position:absolute;inset:0;z-index:30;display:grid;place-items:center;overflow:auto;padding:24px;box-sizing:border-box;text-align:center;background:#f6f3e9!important;color:#2c4f47;pointer-events:auto;isolation:isolate}.shop-loading-card{width:min(420px,100%);display:grid;justify-items:center;gap:18px;padding:32px 24px;box-sizing:border-box;border:1px solid #dce4d4;border-radius:28px;background:#fdfbf7;box-shadow:0 16px 42px #315b4614}.shop-loading-card h2{margin:0;font-size:calc(20px * var(--ui-font-scale,1));line-height:1.5;letter-spacing:.08em}.shop-loading-card p{margin:0;font-size:calc(13px * var(--ui-font-scale,1));line-height:1.8;color:#728570;max-width:30em}.shop-loading-card button{min-height:42px;padding:8px 18px;border:1px solid #dce4d4;border-radius:12px;background:#fbf1d9;color:#2c4f47}.shop-loading-art{width:190px;height:176px;position:relative;margin:4px 0}.shop-loading-art:after{content:"";position:absolute;left:50px;bottom:1px;width:92px;height:13px;border-radius:50%;background:#e7e8d7}.shop-loading-cup{position:absolute;left:53px;bottom:13px;width:80px;height:102px;border:4px solid #426e62;border-radius:8px 8px 28px 28px;box-sizing:border-box;background:linear-gradient(#fdfbf7 35%,#eed994 35% 72%,#fcf3d4 72%);z-index:1;transform-origin:50% 90%;animation:shop-tea-sway 1.7s ease-in-out infinite}.shop-loading-cup:before{content:"";position:absolute;top:-11px;left:-10px;width:94px;height:13px;border:3px solid #426e62;box-sizing:border-box;border-radius:7px;background:#fdfbf7}.shop-loading-cup:after{content:"8YO";position:absolute;left:0;top:37px;width:100%;color:#426e62;font:700 20px/1.3 system-ui,sans-serif;letter-spacing:.05em}.shop-loading-steam i{position:absolute;top:9px;width:15px;height:32px;border-left:3px solid #bac9ad;border-radius:50%;animation:shop-tea-steam 1.9s ease-in-out infinite}.shop-loading-steam i:nth-child(1){left:66px;animation-delay:-.7s}.shop-loading-steam i:nth-child(2){left:92px;top:2px;animation-delay:-.2s}.shop-loading-steam i:nth-child(3){left:118px;animation-delay:-.9s}.shop-loading-leaf i{position:absolute;width:30px;height:18px;border-radius:90% 0;background:#89a273;box-shadow:inset 0 -3px #426e6240;animation:shop-tea-leaf 2.5s ease-in-out infinite}.shop-loading-leaf i:nth-child(1){left:18px;top:85px;transform:rotate(-18deg)}.shop-loading-leaf i:nth-child(2){right:11px;top:61px;transform:rotate(78deg);animation-delay:-1.2s;background:#bdca8f}@keyframes shop-tea-sway{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes shop-tea-steam{0%,to{opacity:.25;transform:translateY(5px)}50%{opacity:.9;transform:translateY(-7px)}}@keyframes shop-tea-leaf{50%{translate:0 -10px}}@media(prefers-reduced-motion:reduce){.shop-loading-cup,.shop-loading-steam i,.shop-loading-leaf i{animation:none}}body[data-reduced-motion=true] .shop-loading-cup,body[data-reduced-motion=true] .shop-loading-steam i,body[data-reduced-motion=true] .shop-loading-leaf i,.still .shop-loading-cup,.still .shop-loading-steam i,.still .shop-loading-leaf i{animation:none}@media(max-height:420px){.shop-loading-card{gap:8px;padding:16px}.shop-loading-art{scale:.7;height:126px;margin-top:-12px}}@media(max-width:759px){.hud{display:grid;grid-template-columns:1.25em 4.5em minmax(0,1fr);max-width:calc(100vw - 20px);box-sizing:border-box;border-radius:18px;gap:3px 7px}#hud-day{display:block;font-size:10px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis}.hud-weather{display:block;grid-column:1 / -1;font-size:calc(11px * var(--ui-font-scale));overflow:hidden;text-overflow:ellipsis}.hud-shop{display:none}.event-box,.event-open,body[data-ui=view] .event-box{top:calc(122px * var(--ui-size))}body[data-game=on] .event-box,body[data-game=on] .event-open{top:max(calc(122px * var(--ui-size)),calc(var(--game-stats-bottom, 0px) + 10px))}}
