.account-screen{--account-bg: #2e2c24;--account-text: #e9e3d0;--account-muted: #a9a288;--account-field: #3b3830;--account-border: #4a4638;--account-primary: #4f6b33;--account-primary-hover: #63843f;--account-error: #c97b5e;position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;overflow-y:auto;box-sizing:border-box;padding:32px 20px 48px;background:var(--account-bg);color:var(--account-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.5;-webkit-user-select:text;user-select:text}.account-column{display:flex;flex-direction:column;align-items:stretch;width:min(350px,100%);margin-block:auto}.account-title{margin:0 0 28px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,9vw,40px);font-weight:400;line-height:1.15;letter-spacing:.01em;text-align:center;color:var(--account-text)}.account-tabs{display:flex;gap:4px;margin-bottom:28px;padding:4px;border-radius:999px;background:color-mix(in srgb,var(--account-field) 70%,#000 30%)}.account-tab{flex:1;padding:10px 12px;border:none;border-radius:999px;background:transparent;color:var(--account-muted);font:inherit;font-size:15px;cursor:pointer;transition:background .14s ease,color .14s ease}.account-tab:hover{color:var(--account-text)}.account-tab-active,.account-tab-active:hover{background:var(--account-field);color:var(--account-text)}.account-tab:focus-visible{outline:2px solid var(--account-text);outline-offset:2px}.account-form{display:flex;flex-direction:column;gap:18px}.account-field{display:flex;flex-direction:column;gap:8px}.account-label{color:var(--account-muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.account-input{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid transparent;border-radius:10px;background:var(--account-field);color:var(--account-text);font:inherit;font-size:16px;transition:border-color .14s ease,background .14s ease}.account-input::placeholder{color:color-mix(in srgb,var(--account-muted) 70%,transparent)}.account-input:focus{outline:none;border-color:var(--account-text);background:color-mix(in srgb,var(--account-field) 80%,var(--account-bg) 20%)}.account-input:focus-visible{outline:2px solid var(--account-text);outline-offset:2px}.account-input:disabled{opacity:.6}.account-input-pin{font-size:20px;letter-spacing:.7em;text-indent:.35em}.account-help{margin:0;color:var(--account-muted);font-size:12.5px;line-height:1.45}.account-button{width:100%;box-sizing:border-box;margin-top:4px;padding:14px 16px;border:none;border-radius:10px;background:var(--account-primary);color:#f4f2e6;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:background .14s ease}.account-button:hover:enabled{background:var(--account-primary-hover)}.account-button:focus-visible{outline:2px solid var(--account-text);outline-offset:3px}.account-button:disabled{opacity:.6;cursor:default}.account-button-secondary{background:transparent;border:1px solid var(--account-border);color:var(--account-text)}.account-button-secondary:hover:enabled{background:var(--account-field)}.account-link{align-self:center;margin-top:18px;padding:4px 2px;border:none;background:none;color:var(--account-muted);font:inherit;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-link:hover{color:var(--account-text)}.account-link:focus-visible{outline:2px solid var(--account-text);outline-offset:2px;border-radius:4px}.account-note{margin:12px 0 0;padding:12px 14px;border:1px solid var(--account-border);border-radius:10px;background:color-mix(in srgb,var(--account-field) 60%,transparent);color:var(--account-muted);font-size:13.5px;line-height:1.5}.account-error{margin:0;color:var(--account-error);font-size:14px;line-height:1.45}.account-error:empty{display:none}.account-heading{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:400;line-height:1.3}.account-text{margin:0 0 14px;color:var(--account-muted);font-size:14.5px;line-height:1.55}.account-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px}.account-actions .account-button{margin-top:0}.account-status{margin:14px 0 0;color:var(--account-muted);font-size:13.5px}.account-status:empty{display:none}.account-loading{margin:0;color:var(--account-muted);font-size:14px;text-align:center}.account-config-error{color:var(--account-error)}.account-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.account-menu{position:fixed;top:12px;left:12px;z-index:110;font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-user-select:none;user-select:none}.account-menu-button{display:block;width:34px;height:34px;padding:5px;box-sizing:border-box;border:1px solid rgba(242,230,200,.16);border-radius:10px;background:#08080a66;color:#d8c9a680;cursor:pointer;opacity:.55;transition:opacity .14s ease,color .14s ease,border-color .14s ease,background .14s ease}.account-menu-button:hover,.account-menu-button-open{opacity:1;color:#f4ecd8;border-color:#f2e6c880;background:#08080ad9}.account-menu-button:focus-visible{opacity:1;outline:2px solid #f4ecd8;outline-offset:3px}.account-menu-icon{display:block;width:100%;height:100%;pointer-events:none}.account-menu-backdrop{position:fixed;inset:0;z-index:109;background:transparent}.account-menu-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:190px;padding:8px;border:1px solid rgba(242,230,200,.22);border-radius:12px;background:#0a0a0cf5;box-shadow:0 10px 28px #0000008c;color:#e6dcc4;font-size:14px}.account-menu-who{margin:0 0 8px;padding:4px 8px 10px;color:#d8c9a6bf;font-size:12.5px;line-height:1.4;border-bottom:1px solid rgba(242,230,200,.14)}.account-menu-name{color:#f4ecd8;font-weight:600;overflow-wrap:anywhere}.account-menu-item{display:block;width:100%;box-sizing:border-box;padding:9px 8px;border:none;border-radius:8px;background:transparent;color:#e6dcc4;font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease}.account-menu-item:hover{background:#f2e6c81f;color:#f7f0dd}.account-menu-item:focus-visible{outline:2px solid #f4ecd8;outline-offset:-2px}.account-admin{align-items:flex-start;padding:28px 20px 56px}.account-admin-column{display:flex;flex-direction:column;align-items:stretch;width:min(760px,100%);margin-inline:auto}.account-admin-header{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--account-border)}.account-admin-title{margin:0;font-size:26px}.account-admin-section{margin-bottom:34px}.account-admin-section-title{margin:0 0 12px;color:var(--account-muted);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.account-admin-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.account-admin-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--account-border);border-radius:10px;background:color-mix(in srgb,var(--account-field) 55%,transparent)}.account-admin-identity{display:flex;flex-direction:column;gap:3px;flex:1 1 220px;min-width:0}.account-admin-name{color:var(--account-text);font-size:15.5px;font-weight:600;overflow-wrap:anywhere}.account-admin-meta{color:var(--account-muted);font-size:13px;overflow-wrap:anywhere}.account-admin-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.account-admin-action{padding:9px 14px;border:1px solid var(--account-border);border-radius:8px;background:transparent;color:var(--account-text);font:inherit;font-size:14px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}.account-admin-action:hover:enabled{background:var(--account-field);border-color:var(--account-text)}.account-admin-action:focus-visible{outline:2px solid var(--account-text);outline-offset:2px}.account-admin-action:disabled{opacity:.5;cursor:default}.account-admin-action-primary{border-color:transparent;background:var(--account-primary);color:#f4f2e6;font-weight:600}.account-admin-action-primary:hover:enabled{background:var(--account-primary-hover);border-color:transparent}.account-admin-action-danger{border-color:color-mix(in srgb,var(--account-error) 55%,transparent);color:var(--account-error)}.account-admin-action-danger:hover:enabled{background:color-mix(in srgb,var(--account-error) 18%,transparent);border-color:var(--account-error)}.account-admin-self{color:var(--account-muted);font-size:13px;font-style:italic}.account-admin-inline,.account-admin-confirm{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px;padding-top:12px;border-top:1px solid var(--account-border)}.account-admin-confirm{flex-direction:column;align-items:stretch}.account-admin-confirm-text{margin:0;color:var(--account-text);font-size:14px;line-height:1.5}.account-admin-inline-label{color:var(--account-muted);font-size:12.5px}.account-admin-pin{width:6.5em;box-sizing:border-box;padding:9px 12px;border:1px solid transparent;border-radius:8px;background:var(--account-field);color:var(--account-text);font:inherit;font-size:16px;letter-spacing:.35em;text-indent:.18em}.account-admin-pin:focus{outline:none;border-color:var(--account-text)}.account-admin-pin:focus-visible{outline:2px solid var(--account-text);outline-offset:2px}.account-admin-empty{margin:0;padding:16px;border:1px dashed var(--account-border);border-radius:10px;color:var(--account-muted);font-size:14px}html,body{margin:0;padding:0;background:#0b0b0d}.game-root{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0b0b0d}.game-stage{position:relative;flex:none;background:#000;--line-width: 860px;overflow:hidden;transform-origin:center center;user-select:none;-webkit-user-select:none;font-family:system-ui,sans-serif;touch-action:none}.scene-world{position:absolute;inset:0;isolation:isolate}.scene-shake-a{animation:scene-shake-a var(--shake-ms, .4s) ease-in-out 1}.scene-shake-b{animation:scene-shake-b var(--shake-ms, .4s) ease-in-out 1}@keyframes scene-shake-a{0%,to{transform:translate(0)}15%{transform:translate(calc(var(--shake-intensity, 8px) * -1),calc(var(--shake-intensity, 8px) * .4))}30%{transform:translate(var(--shake-intensity, 8px),calc(var(--shake-intensity, 8px) * -.5))}45%{transform:translate(calc(var(--shake-intensity, 8px) * -.7),calc(var(--shake-intensity, 8px) * -.3))}60%{transform:translate(calc(var(--shake-intensity, 8px) * .6),calc(var(--shake-intensity, 8px) * .5))}80%{transform:translate(calc(var(--shake-intensity, 8px) * -.3),calc(var(--shake-intensity, 8px) * -.2))}}@keyframes scene-shake-b{0%,to{transform:translate(0)}15%{transform:translate(calc(var(--shake-intensity, 8px) * -1),calc(var(--shake-intensity, 8px) * .4))}30%{transform:translate(var(--shake-intensity, 8px),calc(var(--shake-intensity, 8px) * -.5))}45%{transform:translate(calc(var(--shake-intensity, 8px) * -.7),calc(var(--shake-intensity, 8px) * -.3))}60%{transform:translate(calc(var(--shake-intensity, 8px) * .6),calc(var(--shake-intensity, 8px) * .5))}80%{transform:translate(calc(var(--shake-intensity, 8px) * -.3),calc(var(--shake-intensity, 8px) * -.2))}}@media(prefers-reduced-motion:reduce){.scene-shake-a,.scene-shake-b{animation:none}}.scene-tint{position:absolute;inset:0;pointer-events:none;transition-property:opacity;transition-timing-function:ease}.scene-background{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;-webkit-user-drag:none}.scene-background-empty{background:#1a1d23;box-sizing:border-box}.scene-sprite{position:absolute;display:block;pointer-events:none;-webkit-user-drag:none}.scene-sprite-animated{background-repeat:no-repeat;animation:sprite-steps var(--sprite-duration) steps(var(--sprite-frames)) infinite}@keyframes sprite-steps{0%{background-position:0 0}to{background-position:var(--sprite-shift) 0}}@media(prefers-reduced-motion:reduce){.scene-sprite-animated{animation:none}}.scene-foreground{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;pointer-events:none;-webkit-user-drag:none}.scene-hotspots{position:absolute;inset:0;width:100%;height:100%}.scene-floor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg shape-rendering='crispEdges'%3E%3Crect x='10' y='1' width='4' height='5' fill='%2314101c'/%3E%3Crect x='10' y='18' width='4' height='5' fill='%2314101c'/%3E%3Crect x='1' y='10' width='5' height='4' fill='%2314101c'/%3E%3Crect x='18' y='10' width='5' height='4' fill='%2314101c'/%3E%3Crect x='11' y='2' width='2' height='3' fill='%23f4e3b2'/%3E%3Crect x='11' y='19' width='2' height='3' fill='%23f4e3b2'/%3E%3Crect x='2' y='11' width='3' height='2' fill='%23f4e3b2'/%3E%3Crect x='19' y='11' width='3' height='2' fill='%23f4e3b2'/%3E%3Crect x='11' y='11' width='2' height='2' fill='%23f4e3b2'/%3E%3C/g%3E%3C/svg%3E") 12 12,crosshair}.hotspot{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg shape-rendering='crispEdges'%3E%3Cpath fill='%2314101c' d='M9,3h3v1h-3zM8,4h1v16h-1zM12,4h1v11h-1zM12,15h4v1h-4zM12,16h1v2h-1zM16,16h1v1h-1zM16,17h4v1h-4zM16,18h1v2h-1zM20,18h1v1h-1zM20,19h4v1h-4zM5,20h3v1h-3zM24,20h1v7h-1zM4,21h1v2h-1zM8,21h1v3h-1zM5,23h1v1h-1zM6,24h3v1h-3zM8,25h1v2h-1zM9,27h1v3h-1zM23,27h1v3h-1zM9,30h15v1h-15z'/%3E%3Cpath fill='%23f4ecd8' d='M9,4h2v1h-2zM9,5h1v15h-1zM13,16h1v4h-1zM17,18h1v3h-1zM8,20h1v1h-1zM21,20h1v2h-1zM5,21h1v2h-1zM9,22h1v4h-1zM10,28h10v2h-10z'/%3E%3Cpath fill='%23f4e3b2' d='M11,4h1v1h-1zM10,5h2v7h-2zM10,13h2v7h-2zM14,16h1v4h-1zM18,18h1v3h-1zM9,20h3v2h-3zM13,20h2v2h-2zM22,20h1v2h-1zM6,21h2v2h-2zM17,21h2v1h-2zM10,22h12v4h-12zM7,23h1v1h-1zM10,26h11v1h-11z'/%3E%3Cpath fill='%23d8c9a6' d='M10,12h2v1h-2zM15,16h1v4h-1zM12,18h1v4h-1zM19,18h1v2h-1zM15,20h2v2h-2zM19,20h2v2h-2zM23,20h1v2h-1zM22,22h2v4h-2zM6,23h1v1h-1zM9,26h1v1h-1zM21,26h3v1h-3zM20,28h3v2h-3z'/%3E%3Cpath fill='%231a1408' d='M10,27h13v1h-13z'/%3E%3C/g%3E%3C/svg%3E") 10 3,pointer}.hotspot:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg shape-rendering='crispEdges'%3E%3Cpath fill='%2314101c' d='M9,6h3v1h-3zM8,7h1v14h-1zM12,7h1v9h-1zM12,16h4v1h-4zM12,17h1v2h-1zM16,17h1v1h-1zM16,18h4v1h-4zM16,19h1v2h-1zM20,19h1v1h-1zM20,20h4v1h-4zM5,21h3v1h-3zM24,21h1v7h-1zM4,22h1v2h-1zM8,22h1v3h-1zM5,24h1v1h-1zM6,25h3v1h-3zM8,26h1v2h-1zM9,28h1v3h-1zM23,28h1v3h-1zM9,31h15v1h-15z'/%3E%3Cpath fill='%23f4ecd8' d='M9,7h2v1h-2zM9,8h1v13h-1zM13,17h1v4h-1zM17,19h1v3h-1zM8,21h1v1h-1zM21,21h1v2h-1zM5,22h1v2h-1zM9,23h1v4h-1zM10,29h10v2h-10z'/%3E%3Cpath fill='%23f4e3b2' d='M11,7h1v1h-1zM10,8h2v5h-2zM10,14h2v7h-2zM14,17h1v4h-1zM18,19h1v3h-1zM9,21h3v2h-3zM13,21h2v2h-2zM22,21h1v2h-1zM6,22h2v2h-2zM17,22h2v1h-2zM10,23h12v4h-12zM7,24h1v1h-1zM10,27h11v1h-11z'/%3E%3Cpath fill='%23d8c9a6' d='M10,13h2v1h-2zM15,17h1v4h-1zM12,19h1v4h-1zM19,19h1v2h-1zM15,21h2v2h-2zM19,21h2v2h-2zM23,21h1v2h-1zM22,23h2v4h-2zM6,24h1v1h-1zM9,27h1v1h-1zM21,27h3v1h-3zM20,29h3v2h-3z'/%3E%3Cpath fill='%231a1408' d='M10,28h13v1h-13z'/%3E%3C/g%3E%3C/svg%3E") 10 3,pointer}.hotspot-use-item{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg shape-rendering='crispEdges'%3E%3Cpath fill='%2314101c' d='M9,3h3v1h-3zM8,4h1v16h-1zM12,4h1v11h-1zM12,15h4v1h-4zM12,16h1v2h-1zM16,16h1v1h-1zM16,17h4v1h-4zM16,18h1v2h-1zM20,18h1v1h-1zM20,19h4v1h-4zM5,20h3v1h-3zM24,20h1v1h-1zM4,21h1v2h-1zM8,21h1v3h-1zM24,21h5v1h-5zM23,22h7v1h-7zM5,23h1v1h-1zM22,23h3v1h-3zM28,23h3v1h-3zM6,24h3v1h-3zM21,24h4v1h-4zM28,24h4v1h-4zM8,25h1v2h-1zM21,25h1v3h-1zM31,25h1v3h-1zM9,27h1v3h-1zM21,28h4v1h-4zM28,28h4v1h-4zM22,29h3v1h-3zM28,29h3v1h-3zM9,30h21v1h-21zM24,31h5v1h-5z'/%3E%3Cpath fill='%23f4ecd8' d='M9,4h2v1h-2zM9,5h1v15h-1zM13,16h1v4h-1zM17,18h1v3h-1zM8,20h1v1h-1zM21,20h1v2h-1zM5,21h1v2h-1zM9,22h1v4h-1zM10,28h10v2h-10z'/%3E%3Cpath fill='%23f4e3b2' d='M11,4h1v1h-1zM10,5h2v7h-2zM10,13h2v7h-2zM14,16h1v4h-1zM18,18h1v3h-1zM9,20h3v2h-3zM13,20h2v2h-2zM22,20h1v2h-1zM6,21h2v2h-2zM17,21h2v1h-2zM10,22h12v2h-12zM7,23h1v1h-1zM25,23h3v2h-3zM10,24h11v3h-11zM22,25h9v3h-9zM25,28h3v2h-3z'/%3E%3Cpath fill='%23d8c9a6' d='M10,12h2v1h-2zM15,16h1v4h-1zM12,18h1v4h-1zM19,18h1v2h-1zM15,20h2v2h-2zM19,20h2v2h-2zM23,20h1v2h-1zM22,22h1v1h-1zM6,23h1v1h-1zM9,26h1v1h-1zM20,28h1v1h-1zM20,29h2v1h-2z'/%3E%3Cpath fill='%231a1408' d='M10,27h11v1h-11z'/%3E%3C/g%3E%3C/svg%3E") 10 3,pointer}.hotspot-use-item:active{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg shape-rendering='crispEdges'%3E%3Cpath fill='%2314101c' d='M9,6h3v1h-3zM8,7h1v14h-1zM12,7h1v9h-1zM12,16h4v1h-4zM12,17h1v2h-1zM16,17h1v1h-1zM16,18h4v1h-4zM16,19h1v2h-1zM20,19h1v1h-1zM20,20h4v1h-4zM5,21h3v1h-3zM24,21h5v1h-5zM4,22h1v2h-1zM8,22h1v3h-1zM23,22h7v1h-7zM22,23h3v1h-3zM28,23h3v1h-3zM5,24h1v1h-1zM21,24h4v1h-4zM28,24h4v1h-4zM6,25h3v1h-3zM21,25h1v3h-1zM31,25h1v3h-1zM8,26h1v2h-1zM9,28h1v3h-1zM21,28h4v1h-4zM28,28h4v1h-4zM22,29h3v1h-3zM28,29h3v1h-3zM23,30h7v1h-7zM9,31h20v1h-20z'/%3E%3Cpath fill='%23f4ecd8' d='M9,7h2v1h-2zM9,8h1v13h-1zM13,17h1v4h-1zM17,19h1v3h-1zM8,21h1v1h-1zM21,21h1v2h-1zM5,22h1v2h-1zM9,23h1v4h-1zM10,29h10v2h-10z'/%3E%3Cpath fill='%23f4e3b2' d='M11,7h1v1h-1zM10,8h2v5h-2zM10,14h2v7h-2zM14,17h1v4h-1zM18,19h1v3h-1zM9,21h3v2h-3zM13,21h2v2h-2zM22,21h1v2h-1zM6,22h2v2h-2zM17,22h2v1h-2zM10,23h12v1h-12zM25,23h3v2h-3zM7,24h1v1h-1zM10,24h11v4h-11zM22,25h9v3h-9zM25,28h3v2h-3z'/%3E%3Cpath fill='%23d8c9a6' d='M10,13h2v1h-2zM15,17h1v4h-1zM12,19h1v4h-1zM19,19h1v2h-1zM15,21h2v2h-2zM19,21h2v2h-2zM23,21h1v1h-1zM6,24h1v1h-1zM9,27h1v1h-1zM20,29h2v1h-2zM20,30h3v1h-3z'/%3E%3Cpath fill='%231a1408' d='M10,28h11v1h-11z'/%3E%3C/g%3E%3C/svg%3E") 10 3,pointer}.hotspot-highlight{pointer-events:none}.hotspot-highlight-outline{fill:#f4e3b21a;stroke:#f4e3b2;stroke-width:3;stroke-linejoin:round;animation:hotspot-highlight-pulse 1.4s ease-in-out infinite}@keyframes hotspot-highlight-pulse{0%,to{stroke-opacity:.5}50%{stroke-opacity:1}}@media(prefers-reduced-motion:reduce){.hotspot-highlight-outline{animation:none;stroke-opacity:.85}}.hotspot-highlight-label{fill:#f4e3b2;font-family:system-ui,sans-serif;font-size:20px;font-weight:600;text-anchor:middle;paint-order:stroke;stroke:#14101c;stroke-width:3px;stroke-linejoin:round}.scene-fade{position:absolute;inset:0;z-index:18;background:#000;opacity:0;pointer-events:none;transition:opacity .25s ease}.scene-fade-out{opacity:1}.scene-fade-black{opacity:1;transition:none}.scene-fade-in{opacity:0}.hotspot{fill:transparent;pointer-events:all}.hotspot-drop{fill:#f4ecd81f;stroke:#f4ecd8;stroke-width:3;stroke-linejoin:round}.drag-ghost{position:absolute;display:block;z-index:16;pointer-events:none;opacity:.8;filter:drop-shadow(0 4px 8px rgba(0,0,0,.7));-webkit-user-drag:none}.player-sprite{position:absolute;display:block;pointer-events:none;background-repeat:no-repeat;image-rendering:auto;-webkit-user-drag:none}.critter-sprite{position:absolute;display:block;pointer-events:none;background-repeat:no-repeat}.critter-sprite-animated{animation:sprite-steps var(--sprite-duration) steps(var(--sprite-frames)) infinite}@media(prefers-reduced-motion:reduce){.critter-sprite-animated{animation:none}}.player-strip-cache,.critter-strip-cache{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none;background-repeat:no-repeat}.hotspot-label{position:absolute;top:24px;left:0;right:0;z-index:16;text-align:center;pointer-events:none;color:#f2e6c8;font-size:30px;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.9)}.bag{position:absolute;right:20px;bottom:20px}.bag-button{position:relative;display:block;width:76px;height:76px;padding:12px;box-sizing:border-box;border:2px solid rgba(242,230,200,.3);border-radius:16px;background:#08080ab8;color:#d8c9a6;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.bag-button:hover{color:#f4ecd8;border-color:#f2e6c8a6;background:#08080adb}.bag-button-open{color:#f4ecd8;border-color:#f4ecd8;background:#1c1812eb}.bag-button:focus-visible{outline:2px solid #f4ecd8;outline-offset:3px}.bag-icon{display:block;width:100%;height:100%;pointer-events:none}.bag-badge{position:absolute;top:-8px;right:-8px;min-width:26px;height:26px;box-sizing:border-box;padding:0 6px;border-radius:13px;background:#f0b45a;color:#1a1408;font-size:17px;font-weight:700;line-height:26px;text-align:center;pointer-events:none}.bag-pulse{position:absolute;inset:-6px;border:3px solid #f0b45a;border-radius:20px;pointer-events:none;animation:bag-pulse .8s ease-out forwards}@keyframes bag-pulse{0%{opacity:0;transform:scale(.9)}20%{opacity:1}to{opacity:0;transform:scale(1.4)}}.bag-panel{position:absolute;right:0;bottom:calc(100% + 14px);width:max-content;padding:14px;box-sizing:border-box;border:2px solid rgba(242,230,200,.28);border-radius:14px;background:#08080aeb;visibility:hidden;opacity:0;transform:translateY(14px) scale(.94);transform-origin:bottom right;transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s}.bag-panel-open{visibility:visible;opacity:1;transform:none;transition:opacity .16s ease,transform .16s cubic-bezier(.2,1.1,.4,1),visibility 0s}.bag-slots{display:flex;flex-wrap:wrap;gap:10px;max-width:360px;margin:0;padding:0;list-style:none}.bag-empty{margin:0;padding:8px 4px;color:#f4ecd899;font-size:20px;white-space:nowrap}.bag-slot{display:flex;width:64px;height:64px;padding:6px;box-sizing:border-box;align-items:center;justify-content:center;border:2px solid rgba(242,230,200,.25);border-radius:8px;background:#00000059;cursor:grab}.bag-slot:hover{border-color:#f2e6c88c}.bag-slot:active{cursor:grabbing}.bag-slot-selected,.bag-slot-selected:hover{border-color:#f4ecd8;background:#f4ecd824;box-shadow:0 0 0 2px #f4ecd866}.bag-slot-drop,.bag-slot-drop:hover{border-color:#f0b45a;background:#f0b45a2e;box-shadow:0 0 0 2px #f0b45a73}.bag-slot:focus-visible{outline:2px solid #f4ecd8;outline-offset:2px}.bag-icon-item{max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.mute-button{position:absolute;left:20px;bottom:20px;z-index:30;display:block;width:48px;height:48px;padding:9px;box-sizing:border-box;border:2px solid rgba(242,230,200,.18);border-radius:12px;background:#08080a8c;color:#d8c9a6b3;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.mute-button:hover{color:#f4ecd8;border-color:#f2e6c88c;background:#08080ad1}.mute-button-off{color:#f0b45ad9}.mute-button:focus-visible{outline:2px solid #f4ecd8;outline-offset:3px}.mute-icon{display:block;width:100%;height:100%;pointer-events:none}.textbox{position:absolute;left:60px;right:60px;bottom:104px;width:fit-content;max-width:var(--line-width);min-width:120px;margin-inline:auto;box-sizing:border-box;padding:24px 32px;border-radius:10px;background:#08080ad1;cursor:pointer}.textbox-portrait{display:flex;align-items:center;gap:24px}.textbox-portrait .dialog-text{flex:1}.dialog{position:absolute;left:60px;right:60px;bottom:104px;display:flex;flex-direction:column;align-items:center;gap:12px}.dialog-line{width:fit-content;max-width:var(--line-width);min-width:120px;box-sizing:border-box;padding:24px 32px;border-radius:10px;background:#08080ad1}.dialog-line-waiting{cursor:pointer}.dialog-line-portrait{display:flex;align-items:center;gap:24px}.dialog-line-portrait .dialog-text{flex:1}.dialog-portrait{flex:none;width:96px;height:96px;object-fit:cover;border:2px solid rgba(242,230,200,.28);border-radius:10px;background:#00000059;-webkit-user-drag:none}.dialog-text{margin:0;color:#f4ecd8;font-size:30px;line-height:1.4;text-align:center;text-wrap:pretty}.dialog-speaker{color:#f0b45a;font-weight:600}.dialog-options{margin:0;width:fit-content;max-width:var(--line-width);min-width:420px;box-sizing:border-box;padding:12px 16px;list-style:none;border-radius:10px;background:#08080ae6;border:2px solid rgba(242,230,200,.22)}.dialog-option{display:block;width:100%;box-sizing:border-box;padding:8px 16px;border:none;border-radius:6px;background:transparent;color:#f4ecd8;font:inherit;font-size:26px;line-height:1.3;text-align:left;cursor:pointer}.dialog-option:hover{background:#f4ecd824}.dialog-option:focus-visible{outline:2px solid #f4ecd8;outline-offset:-2px}.dialog-option-number{color:#f0b45a;font-weight:600}.pause-button{position:absolute;right:20px;top:20px;z-index:15;display:block;width:48px;height:48px;padding:9px;box-sizing:border-box;border:2px solid rgba(242,230,200,.18);border-radius:12px;background:#08080a8c;color:#d8c9a6b3;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.pause-button:hover:enabled{color:#f4ecd8;border-color:#f2e6c88c;background:#08080ad1}.pause-button:disabled{opacity:.35;cursor:default}.pause-button:focus-visible{outline:2px solid #f4ecd8;outline-offset:3px}.pause-icon{display:block;width:100%;height:100%;pointer-events:none}.menu-screen{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0b0b0d}.menu-screen-pause{background:#08080adb}.menu-panel{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 64px;text-align:center;color:#f4ecd8}.menu-title{margin:0;font-size:76px;font-weight:700;line-height:1.1;letter-spacing:.01em;text-shadow:0 4px 16px rgba(0,0,0,.8)}.menu-subtitle{margin:0;color:#f4ecd88c;font-size:24px;letter-spacing:.14em;text-transform:uppercase}.menu-heading{margin:0;color:#f4ecd8bf;font-size:34px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.menu-buttons{display:flex;flex-direction:column;gap:16px;margin-top:40px}.menu-button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:360px;padding:18px 32px;box-sizing:border-box;border:2px solid rgba(242,230,200,.3);border-radius:14px;background:#1c1812b3;color:#f4ecd8;font:inherit;font-size:32px;line-height:1.2;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease}.menu-button:hover{border-color:#f4ecd8;background:#342c20d9}.menu-button:focus-visible{outline:3px solid #f0b45a;outline-offset:3px}.menu-button:disabled{opacity:.55;border-color:#f2e6c84d;background:#1c1812b3;cursor:default}.menu-sliders{display:flex;flex-direction:column;gap:18px;width:100%;margin-top:28px}.menu-slider{display:flex;flex-direction:column;gap:8px;width:100%}.menu-slider-label{display:flex;align-items:baseline;justify-content:space-between;color:#f4ecd8bf;font-size:20px;letter-spacing:.04em}.menu-slider-value{color:#f4ecd88c;font-size:18px;font-variant-numeric:tabular-nums}.menu-slider-input{width:100%;height:8px;margin:0;border-radius:999px;background:#f2e6c82e;accent-color:#f0b45a;cursor:pointer}.menu-slider-input:focus-visible{outline:3px solid #f0b45a;outline-offset:3px}.menu-button-note{color:#f4ecd899;font-size:19px;letter-spacing:.02em}.menu-message{min-height:30px;margin:20px 0 0;color:#7fd18a;font-size:24px}.menu-message-failed{color:#f0b45a}.menu-hint{margin:20px 0 0;color:#f4ecd873;font-size:18px}.history-screen{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:#08080adb}.history-panel{display:flex;flex-direction:column;gap:12px;width:min(760px,82vw);max-height:78vh;padding:32px 40px;box-sizing:border-box;border:2px solid rgba(242,230,200,.3);border-radius:14px;background:#14100cf0;color:#f4ecd8}.history-list{overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:8px}.history-entry{margin:0;font-size:22px;line-height:1.4;color:#f4ecd8}.history-entry-say{color:#f4ecd8d9}.history-entry-choice{color:#f4ecd8bf}.history-choice-marker{color:#f0b45a;font-weight:600}.history-empty{margin:0;color:#f4ecd88c;font-size:22px}
