.confirm-backdrop{z-index:220;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#100a0694;place-items:center;padding:20px 16px;animation:.18s ease-out modal-rise;display:grid;position:fixed;inset:0}.confirm-dialog{--modal-ink:#2a1c12;--modal-ink-soft:#5c4634;--modal-ink-mute:#8a7558;--modal-line:#3d241229;--modal-line-strong:#3d241247;width:min(400px,100%);max-height:min(86svh,720px);color:var(--modal-ink);box-sizing:border-box;background:linear-gradient(#faf1d9 0%,#f3e4bc 48%,#ead6a8 100%);border:3px solid #3d2412;border-radius:6px;flex-direction:column;animation:.2s ease-out modal-rise;display:flex;overflow:hidden;box-shadow:inset 0 0 0 2px #f6e7c8,inset 0 0 0 4px #8b5a2b,0 0 0 3px #1a120c,0 18px 40px #0000006b,6px 8px #00000047}.confirm-dialog.theme-dark,.scene-zoom.theme-dark{--modal-ink:#f1e7d5;--modal-ink-soft:#c9baa2;--modal-ink-mute:#a3937b;--modal-line:#e2cdab29;--modal-line-strong:#e2cdab47;color:var(--modal-ink);background:linear-gradient(#303238 0%,#25272c 55%,#202226 100%);border-color:#17191d;box-shadow:inset 0 0 0 2px #45474c,inset 0 0 0 4px #5a4b3c,0 0 0 3px #111214,0 18px 40px #00000094,6px 8px #00000059}.confirm-dialog.theme-dark .confirm-flat-close:hover{background:#f1e7d51f}.confirm-dialog.is-wide{width:min(560px,100%)}.confirm-dialog.is-tall{max-height:min(86svh,760px)}.confirm-header{border-bottom:1px solid var(--modal-line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;display:flex;position:relative}.confirm-flat-close{width:28px;height:28px;color:var(--modal-ink-mute,#8a7558);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;top:10px;right:10px}.confirm-flat-close:hover{color:var(--modal-ink,#2a1c12);background:#3d24121a}.confirm-heading{flex-direction:column;gap:3px;min-width:0;display:flex}.confirm-title{letter-spacing:.02em;color:var(--modal-ink);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:800;line-height:1.3;display:flex}.confirm-dialog.is-danger .confirm-title:before{content:"!";color:#fff8ee;background:linear-gradient(#d9573b 0%,#b8442c 100%);border:2px solid #3d2412;border-radius:3px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:14px;font-weight:900;line-height:1;display:grid;box-shadow:2px 2px #3d2412}.confirm-sub{color:var(--modal-ink-soft);margin:0;font-size:12px;line-height:1.45}.confirm-close{color:#5c3a1e;cursor:pointer;background:#f0e0bc;border:2px solid #3d2412;border-radius:3px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;line-height:1;transition:transform .1s,box-shadow .1s,background .1s;display:grid;box-shadow:2px 2px #3d2412}.confirm-close:hover{color:#3b2a1a;background:#e0c48a}.confirm-close:active{transform:translate(1px,1px);box-shadow:1px 1px #3d2412}.confirm-body{color:var(--modal-ink-soft);flex:1;min-height:0;padding:14px 18px;font-size:13px;line-height:1.6;overflow:auto}.confirm-body>:first-child{margin-top:0}.confirm-body>:last-child{margin-bottom:0}.confirm-dialog .muted{color:var(--modal-ink-mute);margin:6px 0;font-size:12px;line-height:1.45}.confirm-dialog .muted.small{font-size:11px}.confirm-footer{border-top:1px solid var(--modal-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px 14px;display:flex}.confirm-actions{flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.confirm-dialog>.confirm-actions{border-top:1px solid var(--modal-line);padding:12px 18px 14px}@keyframes modal-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.confirm-backdrop{padding:12px}.confirm-footer{flex-direction:column-reverse;align-items:stretch}.confirm-actions{width:100%}.confirm-actions .btn-ghost,.confirm-actions .btn-accent,.confirm-actions .btn-danger{flex:1}}:is(.confirm-dialog,.scene-zoom) .btn-ghost,:is(.confirm-dialog,.scene-zoom) .btn-accent,:is(.confirm-dialog,.scene-zoom) .btn-danger{letter-spacing:.02em;cursor:pointer;border:2px solid #3d2412;border-radius:3px;min-height:34px;padding:6px 16px;font-size:13px;font-weight:800;transition:transform .1s,box-shadow .1s,filter .1s,background .1s;box-shadow:2px 2px #3d2412}:is(.confirm-dialog,.scene-zoom) .btn-ghost:active,:is(.confirm-dialog,.scene-zoom) .btn-accent:active,:is(.confirm-dialog,.scene-zoom) .btn-danger:active{transform:translate(1px,1px);box-shadow:1px 1px #3d2412}:is(.confirm-dialog,.scene-zoom) .btn-ghost{color:#5c3a1e;background:#f0e0bc}:is(.confirm-dialog.theme-dark,.scene-zoom.theme-dark) .btn-ghost{color:#f1e7d5;background:#3b3d42;border-color:#17191d;box-shadow:2px 2px #17191d}:is(.confirm-dialog,.scene-zoom) .btn-ghost:hover:not(:disabled){color:#3b2a1a;background:#e0c48a}:is(.confirm-dialog.theme-dark,.scene-zoom.theme-dark) .btn-ghost:hover:not(:disabled){color:#fff8eb;background:#4a4c51}:is(.confirm-dialog.theme-dark,.scene-zoom.theme-dark) .btn-accent,:is(.confirm-dialog.theme-dark,.scene-zoom.theme-dark) .btn-danger{border-color:#17191d;box-shadow:2px 2px #17191d}:is(.confirm-dialog,.scene-zoom) .btn-accent{color:#1a1408;background:linear-gradient(#edb45e 0%,#d4922e 55%,#c47a1a 100%)}:is(.confirm-dialog,.scene-zoom) .btn-accent:hover:not(:disabled){filter:brightness(1.06)}:is(.confirm-dialog,.scene-zoom) .btn-danger{color:#fff8ee;background:linear-gradient(#d9573b 0%,#c94a30 50%,#a83c26 100%)}:is(.confirm-dialog,.scene-zoom) .btn-danger:hover:not(:disabled){filter:brightness(1.05)}:is(.confirm-dialog,.scene-zoom) .btn-ghost:disabled,:is(.confirm-dialog,.scene-zoom) .btn-accent:disabled,:is(.confirm-dialog,.scene-zoom) .btn-danger:disabled{opacity:.42;cursor:not-allowed;box-shadow:1px 1px #3d2412}:is(.confirm-dialog,.scene-zoom) .btn-ghost.compact,:is(.confirm-dialog,.scene-zoom) .btn-ghost.mini{min-height:28px;padding:3px 10px;font-size:12px;font-weight:700}.confirm-dialog .btn-ghost.danger-text{color:#9a3620}.confirm-dialog .field{letter-spacing:.02em;color:var(--modal-ink-mute,#8a7558);flex-direction:column;gap:5px;margin-bottom:10px;font-size:11px;font-weight:700;display:flex}.confirm-dialog .field>span{text-transform:none}.confirm-dialog .field input,.confirm-dialog .field select,.confirm-dialog input[type=search],.confirm-dialog .quest-picker-search{width:100%;min-height:34px;color:var(--modal-ink,#2a1c12);background:#fffaecb8;border:2px solid #3d2412;border-radius:3px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;box-shadow:inset 1px 1px #3d241214}.confirm-dialog .field input:focus,.confirm-dialog .field select:focus,.confirm-dialog .quest-picker-search:focus{border-color:#c45c26;outline:none;box-shadow:inset 1px 1px #3d241214,0 0 0 3px #c45c2638}.confirm-dialog .error-inline,.confirm-dialog .quest-form-error{color:#b42318;margin:0 0 8px;font-size:12px;font-weight:700}.account-dialog{width:min(360px,100%)}.account-body{flex-direction:column;display:flex}.account-status{color:var(--modal-ink-soft);margin:0 0 10px;font-size:13px;font-weight:700;line-height:1.5}.account-status.is-bottom{border-top:1px solid var(--modal-line);margin:12px 0 0;padding-top:10px;font-size:12px;font-weight:500}.account-fields{flex-direction:column;gap:10px;margin-bottom:4px;display:flex}.account-feedback{margin:10px 0 0;font-size:12.5px;font-weight:700;line-height:1.5}.account-feedback.is-error{color:#a33724}.account-feedback.is-ok{color:#3c6b34}.account-actions{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.account-switch{color:var(--modal-ink-mute);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:12px;padding:0;font-size:12.5px;font-weight:700;text-decoration:underline}.account-open-profile{align-self:flex-start;margin-bottom:2px}.profile-identity{align-items:center;gap:14px;margin-bottom:12px;display:flex}.profile-avatar{cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;width:64px;height:64px;padding:0;position:relative}.profile-avatar:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:conic-gradient(from 210deg,#e8b84b,#2d8aad,#e8b84b,#5c3a1e,#e8b84b);border-radius:50%;padding:2px;position:absolute;inset:0;box-shadow:0 2px #3d2412b3,0 6px 14px #020c1666;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.profile-avatar img{object-fit:cover;-webkit-user-select:none;user-select:none;background:#f0e0bc;border:2px solid #2a1c12;border-radius:50%;width:100%;height:100%;display:block}.profile-avatar>span{box-sizing:border-box;color:#5c3a1e;-webkit-user-select:none;user-select:none;background:linear-gradient(165deg,#f6e7c8,#e8d4a4);border:2px solid #2a1c12;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:22px;font-weight:800;display:flex}.profile-avatar:disabled{cursor:default;filter:saturate(.7)}.profile-avatar-busy{background:#2a1c1259;border-radius:50%;position:absolute;inset:0}.profile-identity-text{min-width:0;color:var(--modal-ink-soft);flex-direction:column;gap:2px;font-size:13px;display:flex}.profile-identity-text strong{color:var(--modal-ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.profile-name-row{align-items:flex-end;gap:10px;display:flex}.profile-name-row .field{flex:1;min-width:0;margin:0}.profile-name-save{flex-shrink:0;margin-bottom:2px}.profile-divider{background:var(--modal-line);height:1px;margin:14px 0 10px}.profile-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--modal-ink-mute);margin-bottom:8px;font-size:12px;font-weight:800}.profile-signout{justify-content:flex-start;margin-top:0}.profile-danger{flex-direction:column;gap:8px;display:flex}.profile-delete{color:#7a1f12;letter-spacing:.02em;cursor:pointer;background:#f7d9cf;border:2px solid #7a1f12;border-radius:3px;align-self:flex-start;min-height:34px;padding:6px 16px;font-size:13px;font-weight:800;transition:transform .1s,box-shadow .1s;box-shadow:2px 2px #7a1f1273}.profile-delete:active:not(:disabled){transform:translate(1px,1px);box-shadow:1px 1px #7a1f1273}.profile-delete:disabled{opacity:.55;cursor:default}.profile-danger-hint{color:var(--modal-ink-mute);margin:0;font-size:11.5px;line-height:1.55}.confirm-dialog.account-dialog .profile-close{width:30px;height:30px;box-shadow:none;color:var(--modal-ink-mute,#8a7558);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.confirm-dialog.account-dialog .profile-close:hover{color:var(--modal-ink,#2a1c12);background:#3d24121a}.confirm-dialog.account-dialog .confirm-heading{padding-right:28px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}#root{min-height:100svh}button{font:inherit;color:inherit}img{max-width:100%;display:block}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=hidden]),textarea,select):not(.composer-field input):not(.composer-field textarea):not(.scene-picker-input){box-shadow:none!important;border:1px solid #999!important;outline:none!important}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]):not([type=hidden]),textarea,select):not(.composer-field input):not(.composer-field textarea):not(.scene-picker-input):focus{border-color:#000!important}:where(.composer-field,.scene-picker-field){box-shadow:none!important;border:1px solid #999!important;outline:none!important}:where(.composer-field,.scene-picker-field):focus-within{border-color:#000!important}.scene-zoom-backdrop{z-index:300;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:zoom-out;background:#100a06b8;place-items:center;padding:24px 16px;animation:.18s ease-out modal-rise;display:grid;position:fixed;inset:0}.scene-zoom{cursor:default;background:linear-gradient(#faf1d9 0%,#f3e4bc 48%,#ead6a8 100%);border:3px solid #3d2412;border-radius:6px;flex-direction:column;width:fit-content;max-width:100%;max-height:88svh;animation:.2s ease-out modal-rise;display:flex;overflow:hidden;box-shadow:inset 0 0 0 2px #f6e7c8,inset 0 0 0 4px #8b5a2b,0 0 0 3px #1a120c,0 18px 40px #00000080}.scene-zoom-shot{background:#3d24121f;place-items:center;min-height:0;display:grid;overflow:hidden}.scene-zoom-shot img{width:var(--fit-w,auto);height:var(--fit-h,auto);object-fit:contain;max-width:100%;max-height:100%;display:block}.scene-zoom-fallback{color:var(--modal-ink-mute,#8a7558);flex-direction:column;align-items:center;gap:8px;padding:60px 0;font-size:13px;display:flex}.scene-zoom-bar{border-top:1px solid #3d241229;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;min-width:min(520px,100%);padding:12px 18px;display:flex}.scene-zoom.theme-dark .scene-zoom-bar{border-top-color:#e2cdab29}.scene-zoom-bar .confirm-actions{flex-shrink:0;gap:8px;display:flex}.scene-zoom-meta{min-width:0;color:var(--modal-ink-soft,#5c4634);flex-direction:column;gap:2px;font-size:12px;display:flex}.scene-zoom-meta strong{color:var(--modal-ink,#2a1c12);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.scene-zoom-x{display:none}@media (hover:none),(pointer:coarse),(width<=719px){.scene-zoom-backdrop{justify-content:center;align-items:stretch;padding:0;display:flex}.scene-zoom{width:auto;min-width:0;max-width:none;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;animation:none;display:flex}.scene-zoom-shot{overscroll-behavior:contain;touch-action:none;background:0 0;flex:1;width:100%;min-height:0;display:block;overflow:hidden}.scene-zoom-shot img{object-fit:contain;transform-origin:0 0;width:100%;max-width:none;height:auto;max-height:none;margin:0;display:block}.scene-zoom-bar{display:none}.scene-zoom.is-actionable .scene-zoom-bar{min-width:0;padding:16px max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px));background:linear-gradient(#0000,#00000094);border-top:0;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.scene-zoom.is-actionable .scene-zoom-meta,.scene-zoom.is-actionable .scene-zoom-bar .btn-ghost{display:none}.scene-zoom-x{top:calc(10px + env(safe-area-inset-top,0px));right:calc(10px + env(safe-area-inset-right,0px));z-index:1;color:#f6e7c8;background:#100a068c;border:2px solid #f6e7c8a6;border-radius:999px;place-items:center;width:40px;height:40px;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;box-shadow:0 2px 8px #00000073}.scene-zoom-x:active{background:#100a06cc}}.scene-picker-backdrop{z-index:260}.confirm-dialog.scene-picker{width:min(720px,100%)}.scene-picker-field{background:#fffaecb8;border:2px solid #3d2412;border-radius:4px;align-items:center;gap:8px;margin:12px 18px 0;padding:3px 8px 3px 33px;display:flex;position:relative;box-shadow:inset 1px 1px #3d241214}.scene-picker-field:focus-within{border-color:#c45c26;box-shadow:inset 1px 1px #3d241214,0 0 0 3px #c45c2638}.confirm-dialog.theme-dark .scene-picker-field{background:#0f11149e;border-color:#17191d;box-shadow:inset 1px 1px #ffffff0a}.confirm-dialog.theme-dark .scene-picker-field:focus-within{border-color:#e2a14d;box-shadow:0 0 0 3px #e2a14d33}.confirm-dialog.theme-dark .scene-picker-input::placeholder{color:#a3937b}.scene-picker-field-icon{width:14px;height:14px;color:var(--modal-ink-mute,#8a7558);pointer-events:none;position:absolute;left:11px}.scene-picker-input{min-width:0;min-height:32px;color:var(--modal-ink,#2a1c12);background:0 0;border:none;flex:1;padding:4px 0;font-family:inherit;font-size:13px;font-weight:400}.scene-picker-input:focus{outline:none}.scene-picker-field-side{flex-shrink:0;align-items:center;gap:6px;display:flex}.scene-picker-clear{width:22px;height:22px;color:var(--modal-ink-mute,#8a7558);cursor:pointer;background:#3d241217;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.scene-picker-clear:hover{color:var(--modal-ink,#2a1c12);background:#c45c2633}.scene-picker-clear svg{width:14px;height:14px;display:block}.scene-picker-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 18px 14px;display:flex;overflow:auto}.scene-picker-grid{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px;min-height:0;display:grid}.scene-picker-names,.scene-picker-body{scrollbar-width:thin;scrollbar-color:#3d24126b #3d241214}.scene-picker-names::-webkit-scrollbar{width:10px}.scene-picker-body::-webkit-scrollbar{width:10px}.scene-picker-names::-webkit-scrollbar-track{background:#3d241214;border-radius:999px}.scene-picker-body::-webkit-scrollbar-track{background:#3d241214;border-radius:999px}.scene-picker-names::-webkit-scrollbar-thumb{background:#3d24126b padding-box padding-box;border:2px solid #0000;border-radius:999px}.scene-picker-body::-webkit-scrollbar-thumb{background:#3d24126b padding-box padding-box;border:2px solid #0000;border-radius:999px}.scene-picker-names::-webkit-scrollbar-thumb:hover{background:#3d241299 padding-box padding-box}.scene-picker-body::-webkit-scrollbar-thumb:hover{background:#3d241299 padding-box padding-box}.scene-picker-names{flex-direction:column;gap:3px;max-height:min(340px,42svh);padding-right:4px;display:flex;overflow-y:auto}.scene-picker-tabs{background:#3d241214;border-radius:10px;gap:2px;margin:10px 18px 0;padding:3px;display:flex}.confirm-dialog.theme-dark .scene-picker-tabs{background:#ffffff0f}.scene-picker-tab{min-width:0;color:var(--modal-ink-soft,#5c4634);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-family:inherit;font-size:12px;font-weight:700;display:flex}.scene-picker-tab:hover{background:#3d241212}.scene-picker-tab.is-on{color:var(--modal-ink,#2a1c12);background:#fffaeceb;box-shadow:0 1px 3px #3d241240}.confirm-dialog.theme-dark .scene-picker-tab:hover{background:#ffffff0f}.confirm-dialog.theme-dark .scene-picker-tab.is-on{color:#f3e3c2;background:#e2a14d33;box-shadow:0 1px 3px #0006}.scene-picker-tab .scene-origin-icon{width:13px;height:13px}.scene-picker-tab-count{min-width:18px;color:var(--modal-ink-mute,#8a7558);text-align:center;background:#3d24121f;border-radius:999px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px}.scene-picker-tab.is-on .scene-picker-tab-count{color:#a34a1c;background:#c45c262e}.confirm-dialog.theme-dark .scene-picker-tab-count{background:#ffffff1a}.confirm-dialog.theme-dark .scene-picker-tab.is-on .scene-picker-tab-count{color:#f3e3c2;background:#e2a14d47}.scene-origin-icon{color:#a2703a;flex-shrink:0;width:13px;height:13px}.scene-picker-item{width:100%;color:var(--modal-ink,#2a1c12);text-align:left;cursor:pointer;background:#fffaec80;border:2px solid #0000;border-radius:6px;flex-direction:column;gap:1px;padding:7px 10px;font-family:inherit;display:flex}.scene-picker-item:hover{background:#c45c261a}.scene-picker-item.is-on{background:#c45c2629;border-color:#c45c26}.confirm-dialog.theme-dark .scene-picker-item{background:#0f111485}.confirm-dialog.theme-dark .scene-picker-item:hover,.confirm-dialog.theme-dark .scene-picker-item.is-on{background:#e2a14d29;border-color:#e2a14d}.scene-picker-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.scene-picker-item-meta{color:var(--modal-ink-mute,#8a7558);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.scene-picker-preview{flex-direction:column;gap:8px;min-width:0;display:flex}.scene-picker-shot{aspect-ratio:16/10;cursor:zoom-in;background:0 0;border:2px solid #3d241247;border-radius:6px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.scene-picker-shot:hover{border-color:#c45c26}.confirm-dialog.theme-dark .scene-picker-shot{border-color:#e2cdab3d}.confirm-dialog.theme-dark .scene-picker-shot:hover{border-color:#e2a14d}.scene-picker-shot.is-loading img{opacity:.45;transition:opacity .15s}.scene-picker-shot img{object-fit:cover;width:100%;height:100%;transition:opacity .15s;display:block;position:absolute;inset:0}.scene-picker-shot:disabled{cursor:default}.scene-picker-shot-fallback{color:var(--modal-ink-mute,#8a7558);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex;position:absolute;inset:0}.scene-picker-shot-fallback .scene-origin-icon{width:22px;height:22px}.scene-picker-preview-meta{min-width:0;color:var(--modal-ink-soft,#5c4634);flex-direction:column;gap:2px;font-size:11.5px;display:flex}.scene-picker-preview-meta strong{color:var(--modal-ink,#2a1c12);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.scene-picker-preview-sub{color:var(--modal-ink-mute,#8a7558)}.scene-picker-id-badge{color:var(--modal-ink-mute,#8a7558);background:#3d241217;border-radius:999px;align-self:flex-start;padding:2px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.4}.confirm-dialog.theme-dark .scene-picker-id-badge{color:#c5b89f;background:#ffffff17}.scene-picker-preview-votes{color:#a34a1c;font-weight:700}.scene-picker-source-badge{color:#8d451e;background:#c45c261f;border-radius:999px;align-self:flex-start;max-width:100%;padding:3px 8px;line-height:1.4}.confirm-dialog.theme-dark .scene-picker-source-badge{color:#e9bf80;background:#e2a14d29}.confirm-dialog.theme-dark .scene-picker-preview-votes{color:#e2a14d}.scene-picker-empty{color:var(--modal-ink-mute,#8a7558);text-align:center;margin:0;padding:22px 8px;font-size:12px}.scene-picker-empty p{margin:0 0 8px}.scene-picker-empty p:last-child{margin-bottom:0}.scene-picker-footer{justify-content:flex-end;gap:8px}.scene-picker-file{display:none}@media (width<=640px){.scene-picker-grid{grid-template-columns:1fr}.scene-picker-names{max-height:min(240px,32svh)}.scene-picker-shot{aspect-ratio:16/7}}@media (hover:none),(pointer:coarse),(width<=640px){.confirm-dialog.scene-picker .confirm-flat-close{border-radius:12px;width:44px;height:44px;top:6px;right:6px}.confirm-dialog.scene-picker .confirm-flat-close svg{width:18px;height:18px}.confirm-dialog.scene-picker .confirm-heading{padding-right:40px}.confirm-dialog.scene-picker .scene-picker-preview-meta{display:none}}:root{--ink:#2a1c12;--ink-soft:#5c4634;--parchment:#f6e7c8;--parchment-deep:#e8d2a4;--wood:#6b4423;--wood-dark:#3d2412;--accent:#c45c26;--ok:#3d7a5a;--shadow:#00000059;--topbar-h:56px;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;color:var(--ink);background:#1a120c;margin:0}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}.title-screen{background:#0a2a38;place-items:center;min-height:100svh;padding:36px 16px 44px;display:grid;position:relative;overflow:hidden}.title-sky{filter:saturate(1.05)contrast(1.02);background-image:url(/assets/coastal-village-ground-C4H1B0qb.webp);background-position:50% 42%;background-size:cover;animation:32s ease-in-out infinite alternate title-drift;position:absolute;inset:-3%;transform:scale(1.04)}.title-vignette{pointer-events:none;background:radial-gradient(55% 45% at 78% 28%,#e8b84b2e 0%,#0000 55%),radial-gradient(72% 62% at 50% 46%,#061c2a14 0%,#04142085 52%,#020c16e0 100%),linear-gradient(#061c2c6b 0%,#0000 26% 56%,#04101c9e 100%);position:absolute;inset:0}.title-float{pointer-events:none;filter:blur(28px);opacity:.35;border-radius:50%;animation:10s ease-in-out infinite alternate title-breathe;position:absolute}.title-float-a{background:radial-gradient(circle,#e8b84b80,#0000 70%);width:260px;height:260px;top:14%;left:6%}.title-float-b{background:radial-gradient(circle,#2d8aad8c,#0000 70%);width:300px;height:300px;animation-delay:-4s;bottom:10%;right:4%}@keyframes title-drift{0%{transform:scale(1.03)translate(0,0)}to{transform:scale(1.06)translate(-1.2%,-.8%)}}@keyframes title-breathe{0%{opacity:.22;transform:scale(.92)}to{opacity:.42;transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.title-sky,.title-float{animation:none}}.title-card{z-index:1;text-align:center;background:linear-gradient(#fff4dafa 0%,#f6e7c8f7 42%,#e8d0a4fa 100%);border:2px solid #e8b84bd9;border-radius:22px;width:min(540px,100%);padding:0 32px 28px;position:relative;box-shadow:0 0 0 1px #2a1608b3,0 0 0 7px #4a2812b8,0 0 0 8px #e8b84b6b,0 0 0 9px #2d8aad2e,0 28px 70px #020c169e,0 8px 24px #020c1666,inset 0 1px #ffffff8c,inset 0 -18px 36px #8b5a2b14}.title-card:before{content:"";pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(80% 40% at 50% 0,#ffffff59,#0000 70%);border-radius:22px;position:absolute;inset:0}.title-card-frame{pointer-events:none;border:1px solid #5c3a1e33;border-radius:14px;position:absolute;inset:12px;box-shadow:inset 0 0 0 1px #ffffff38,inset 0 0 24px #8b5a2b0f}.title-logo-wrap{justify-content:center;margin-top:-88px;margin-bottom:-6px;display:flex}.title-logo{filter:drop-shadow(0 14px 28px #020c168c)drop-shadow(0 3px #e8b84b66);-webkit-user-select:none;user-select:none;pointer-events:none;width:min(196px,48vw);height:auto}.title-wordmark{width:min(400px,94%);height:auto;margin:0 auto 4px;display:block}.title-tagline{color:#5c4634;letter-spacing:.08em;text-shadow:0 1px #ffffff73;margin:2px 0 12px;font-size:14.5px;font-weight:500}.title-rule{background:linear-gradient(90deg,#0000,#e8b84b8c,#2d8aad59,#e8b84b8c,#0000);width:78%;height:1px;margin:0 auto 14px;position:relative}.title-rule:after{content:"";background:linear-gradient(135deg,#fff1b8,#e8b84b);border:1px solid #5c3a1e73;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 2px #fff4dab3}.title-intro{text-align:left;color:#5c4634;background:#fffcf09e;border:1px solid #5c3a1e24;border-radius:12px;margin:0 0 22px;padding:14px 16px;font-size:13.5px;line-height:1.8;box-shadow:inset 0 1px #ffffff8c,0 2px #ffffff40}.title-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.title-footnote{color:#5c4634b8;letter-spacing:.03em;margin:16px 0 0;font-size:12px}.btn-primary,.btn-ghost,.btn-lang,.btn-icon{border-radius:10px;min-height:44px}.btn-primary{color:#fff8ee;letter-spacing:.04em;background:linear-gradient(#d96a38 0%,#c45c26 48%,#a8481c 100%);border:2px solid #3d2412;padding:12px 22px;font-weight:700;transition:transform .12s,filter .12s,box-shadow .12s;box-shadow:0 2px #3d2412,0 8px 18px #c45c2659,inset 0 1px #ffffff40}.btn-primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 3px #3d2412,0 12px 22px #c45c266b,inset 0 1px #ffffff47}.btn-primary:focus-visible,.btn-lang:focus-visible,.btn-ghost:focus-visible{outline-offset:3px;outline:2px solid #e8b84b}.btn-primary:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px #3d2412,0 4px 10px #c45c264d,inset 0 1px #fff3}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-enter{min-width:156px;animation:2.8s ease-in-out infinite enter-pulse;position:relative;overflow:hidden}.btn-enter:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 30%,#ffffff38 48%,#0000 62%);animation:3.6s ease-in-out infinite enter-shine;position:absolute;inset:0;transform:translate(-120%)}@keyframes enter-pulse{0%,to{box-shadow:0 2px #3d2412,0 8px 18px #c45c2659,inset 0 1px #ffffff40}50%{box-shadow:0 2px #3d2412,0 10px 28px #e8b84b7a,0 0 0 3px #e8b84b2e,inset 0 1px #ffffff47}}@keyframes enter-shine{0%,55%{transform:translate(-120%)}75%,to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.btn-enter,.btn-enter:after{animation:none}}.btn-editor{min-width:156px;min-height:44px;padding:12px 22px}.btn-lang{color:#5c3a1e;letter-spacing:.06em;background:#fffcf0b3;border:1.5px solid #6b442373;min-width:52px;padding:0 14px;font-size:13px;font-weight:700;transition:background .12s,border-color .12s;box-shadow:inset 0 1px #ffffff80}.btn-lang:hover{background:#fffcf0f2;border-color:#6b4423b3}.btn-ghost{background:var(--parchment);color:var(--wood-dark);border:3px solid var(--wood);box-shadow:2px 2px 0 var(--shadow);padding:8px 12px;font-weight:600}.btn-ghost.is-active{background:var(--accent);color:#fff8ee;border-color:var(--wood-dark)}.btn-icon{width:36px;min-height:36px;color:var(--ink-soft);border:2px solid var(--parchment-deep);background:#fff;font-size:20px;line-height:1}@media (width<=480px){.title-card{padding:0 18px 22px}.title-logo-wrap{margin-top:-68px}.title-actions{flex-wrap:wrap;width:100%}.btn-enter{width:100%}}.game-shell{background:#1a120c;flex-direction:column;height:100svh;display:flex;overflow:hidden}.top-bar{height:var(--topbar-h);color:var(--parchment);border-bottom:3px solid var(--wood);z-index:30;background:#2a1c12eb;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex;position:relative}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-text{flex:auto;min-width:0;position:relative}.brand-about{min-width:0;position:relative}.brand-about-btn{width:100%;min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:block}.brand-intro-menu{width:min(300px,100vw - 48px)}.brand-intro-text{white-space:normal;margin:0;padding:6px 10px;font-size:12px;line-height:1.6}@media (hover:hover) and (pointer:fine){.brand-about:hover .user-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}}.brand-about.is-pinned .user-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.brand strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.brand-origin{vertical-align:1px;margin-left:20px;display:inline-flex}.brand-origin.is-before{display:none}.brand-origin .scene-origin-label{border:2px solid var(--wood);color:var(--ink);letter-spacing:.02em;white-space:nowrap;background:#f6e7c8eb;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-flex}.brand-origin .scene-origin-label.is-community{border-color:var(--accent);color:var(--accent)}.brand-origin .scene-origin-label.is-local{border-color:var(--wood);color:var(--ink)}.brand-origin .scene-origin-label.is-draft{color:var(--ink-soft);border-style:dashed}.brand-origin .scene-origin-icon{color:currentColor;flex-shrink:0;width:12px;height:12px}.brand-tagline{opacity:.75;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.top-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.top-actions-desktop{align-items:center;gap:8px;display:flex}.lang-btn{min-width:46px;min-height:28px;color:var(--parchment);box-shadow:none;text-shadow:0 1px 2px #00000080;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;gap:5px;padding:0 6px;font-size:13px;font-weight:600;display:inline-flex}.lang-btn:hover:not(:disabled),.lang-btn.is-active,.lang-btn.is-active:hover:not(:disabled){color:#fff;background:0 0}.lang-btn svg{opacity:.75;flex:none}.lang-btn.is-active svg{opacity:1;transform:rotate(180deg)}.game-main{flex:1;min-height:0;position:relative;overflow:hidden}.village-scene{touch-action:none;overscroll-behavior:contain;cursor:default;background:#1c1c1c;position:absolute;inset:0;overflow:hidden}.village-scene button,.village-scene .npc-sprite,.village-scene .portal-marker,.village-scene .prop-sprite,.village-scene .talk-bubble{cursor:default}.village-scene .shot-btn,.village-scene .map-zoom button,.village-scene .npc-sprite:hover,.village-scene .npc-sprite:focus-visible,.village-scene .portal-marker:hover,.village-scene .portal-marker:focus-visible,.village-scene .prop-sprite.is-clickable:hover,.village-scene .prop-sprite.is-clickable:focus-visible,.village-scene .talk-bubble:hover{cursor:pointer}.village-scene.is-panning,.village-scene.is-panning button,.village-scene.is-panning .npc-sprite,.village-scene.is-panning .portal-marker,.village-scene.is-panning .prop-sprite,.village-scene.is-panning .talk-bubble{cursor:grab}.village-scene.is-panning:active,.village-scene.is-panning:active button,.village-scene.is-panning:active .npc-sprite,.village-scene.is-panning:active .portal-marker,.village-scene.is-panning:active .prop-sprite,.village-scene.is-panning:active .talk-bubble{cursor:grabbing}.map-stage{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}.map-layer{image-rendering:auto;background-color:#3f8a36;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;width:100%;height:100%;position:absolute;inset:0}.map-zoom{z-index:12;border:2px solid var(--wood);color:var(--parchment);background:#1a120ce0;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;display:flex;position:absolute;bottom:12px;right:12px}.map-zoom button{background:var(--parchment);width:36px;height:36px;color:var(--wood-dark);border-radius:6px;font-size:20px;font-weight:700;line-height:1}.map-zoom button:hover{background:var(--accent);color:#fff8ee}.map-zoom-label{opacity:.85;text-align:center;min-width:32px;font-size:10px}.scene-vignette{pointer-events:none;z-index:1;background:radial-gradient(90% 80% at 50% 45%,#0000 55%,#140c0647 100%),linear-gradient(#140c061f 0%,#0000 18% 82%,#140c062e 100%);position:absolute;inset:0}.map-hotspot{z-index:4;background:0 0;border:none;padding:0;position:absolute}.hotspot-region{cursor:pointer;background:0 0;outline:none;transition:box-shadow .12s}.hotspot-region:hover,.hotspot-region:focus-visible{box-shadow:none;outline:none}.npc-sprite{z-index:20;cursor:default;pointer-events:auto;background:0 0;border:none;place-items:center;width:64px;height:72px;min-height:0;margin:0;padding:0;display:grid;position:absolute;overflow:visible;transform:translate(-50%,-85%)}.npc-sprite.is-sized{width:auto;height:auto;transform:none}.npc-art{width:64px;height:72px;image-rendering:pixelated;filter:drop-shadow(1px 3px 2px #00000073);pointer-events:auto;place-items:center;display:grid}.npc-sprite.is-sized .npc-art{place-items:unset;width:100%;height:100%;display:block;position:relative}.npc-art img{object-fit:contain;width:80px;height:80px;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;margin:-4px 0 0}.npc-sprite.is-sized .npc-art img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;margin:0;position:absolute;inset:0}.npc-sprite:hover,.npc-sprite:focus-visible,.npc-sprite.is-near,.npc-sprite.is-nearby,.npc-sprite.is-selected{box-shadow:none;outline:none}.npc-sprite.is-nearby .npc-art{filter:drop-shadow(0 0 6px #ffe678d9)drop-shadow(1px 3px 2px #0006)}.hover-name{color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:20;background:#2a1c12e0;border:1px solid #f6e7c859;border-radius:3px;margin-bottom:6px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.2;transition:opacity .1s;position:absolute;bottom:100%;left:50%}.prop-sprite:hover .hover-name,.prop-sprite:focus-visible .hover-name,.npc-sprite:hover .hover-name,.npc-sprite:focus-visible .hover-name,.portal-marker:hover .hover-name,.portal-marker:focus-visible .hover-name,.hotspot-region:hover .hover-name,.hotspot-region:focus-visible .hover-name{opacity:1}.portal-marker{z-index:5;cursor:pointer;pointer-events:auto;place-items:end center;width:88px;height:128px;display:grid;position:absolute;transform:translate(-50%,-90%)}.portal-art{filter:drop-shadow(0 10px 14px #2a14608c);place-items:end center;width:76px;height:112px;display:grid;position:relative}.portal-art img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.portal-art:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#9b6dff8c,#0000 70%);border-radius:50%;height:18%;animation:2.2s ease-in-out infinite portal-glow;position:absolute;bottom:4%;left:18%;right:18%}.portal-marker .portal-art{box-shadow:none;background:0 0;border:none;border-radius:0}.portal-marker.is-nearby .portal-art{filter:drop-shadow(0 8px 16px #9b6dffd9)drop-shadow(0 0 22px #e8b84b73);transition:transform .15s;transform:scale(1.08)}@keyframes portal-glow{0%,to{opacity:.55;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.08)}}@keyframes portal-pulse{0%,to{opacity:.92;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}.prop-sprite{z-index:20;cursor:default;-webkit-tap-highlight-color:transparent;background:0 0;border:none;outline:none;padding:0;overflow:visible;transform:none}.prop-sprite:focus,.prop-sprite:focus-visible,.prop-sprite:active{box-shadow:none;background:0 0;outline:none}.prop-sprite img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(2px 4px 3px #00000059);-webkit-user-drag:none}.prop-sprite:hover img{filter:drop-shadow(0 0 6px #ffe67866)drop-shadow(2px 4px 3px #00000059)}.talk-bubble{z-index:12;color:#2a1c12;cursor:default;white-space:nowrap;pointer-events:auto;background:#ffe566;border:3px solid #2a1c12;min-height:32px;padding:4px 12px;font-size:13px;font-weight:800;animation:1.1s ease-in-out infinite bob;position:absolute;top:-40px;left:50%;transform:translate(-50%);box-shadow:2px 2px #0006}.talk-bubble:after{content:"";border-top:8px solid #2a1c12;border-left:7px solid #0000;border-right:7px solid #0000;width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.talk-bubble:before{content:"";z-index:1;border-top:6px solid #ffe566;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.talk-bubble:hover{background:#fff2a0}.player-sprite{z-index:20;pointer-events:none;image-rendering:pixelated;position:absolute;transform:none}.player-ring{z-index:0;pointer-events:none;border:3px solid #ffe566;border-radius:50%;width:55%;height:14%;position:absolute;bottom:2%;left:50%;transform:translate(-50%);box-shadow:0 0 10px #ffe566bf,inset 0 0 8px #ffe56659}.player-art{z-index:1;width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(1px 3px 2px #00000073);transform-origin:50%;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;position:relative}.player-sprite:not(.is-walking):not(.is-talking).is-face-left .player-art{transform:none}.player-sprite.is-talking.is-face-left .player-art,.player-sprite.is-walking.is-face-left .player-art{transform:scaleX(-1)}.player-sprite.is-walking .player-art{image-rendering:pixelated;filter:none;background-position:0%;background-repeat:no-repeat;background-size:800% 100%;animation:1s step-end infinite player-walk-frames}@keyframes player-walk-frames{0%,12.49%{background-position:0%}12.5%,24.99%{background-position:14.2857%}25%,37.49%{background-position:28.5714%}37.5%,49.99%{background-position:42.8571%}50%,62.49%{background-position:57.1429%}62.5%,74.99%{background-position:71.4286%}75%,87.49%{background-position:85.7143%}87.5%,99.99%{background-position:100%}}.animal-sprite{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute}.animal-sprite.is-interactive{pointer-events:auto}.animal-art{width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(1px 2px 1px #00000059);transform-origin:bottom;background-position:bottom;background-repeat:no-repeat;background-size:contain;display:block}.animal-sprite.is-face-left .animal-art{transform:scaleX(-1)}.animal-sprite.is-walking .animal-art{image-rendering:pixelated;filter:none;background-position:0%;background-repeat:no-repeat;background-size:800% 100%;animation-name:player-walk-frames;animation-timing-function:step-end;animation-iteration-count:infinite}.animal-sprite.is-walking .animal-art.walk-frames-4{background-size:400% 100%;animation-name:animal-walk-frames-4}@keyframes animal-walk-frames-4{0%,24.99%{background-position:0%}25%,49.99%{background-position:33.3333%}50%,74.99%{background-position:66.6667%}75%,99.99%{background-position:100%}}.player-tag{z-index:2;color:#2a1c12;white-space:nowrap;background:#ffe566;border:2px solid #2a1c12;padding:1px 6px;font-size:10px;font-weight:800;position:absolute;bottom:-16px;left:50%;transform:translate(-50%);box-shadow:1px 1px #00000059}@keyframes walk-bob{0%{transform:translateY(0)}50%{transform:translateY(-3px)}to{transform:translateY(0)}}.quest-mark{z-index:8;pointer-events:none;border:3px solid #2a1c12;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:28px;font-weight:900;line-height:1;animation:1.15s ease-in-out infinite bob;display:flex;position:absolute;top:-40px;left:50%;transform:translate(-50%);box-shadow:2px 2px #00000073}.quest-mark[data-kind=\!],.quest-mark.is-chat-unread{color:#2a1c12;background:#ffe566}.quest-mark[data-kind=\?]{color:#0b3a5a;background:#7ec8ff}.quest-mark.is-chat-unread{border-radius:20px;width:auto;min-width:40px;padding:0 10px;font-size:22px}.quest-mark.is-prop{z-index:9;top:0%}.quest-mark.is-animal{z-index:9;top:-28px}@keyframes bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.scene-hud{z-index:8;pointer-events:none;align-items:flex-start;gap:10px;width:fit-content;margin:12px;display:flex;position:sticky;top:12px;left:12px}.scene-hud>*{pointer-events:auto}.scene-refresh-btn{display:none!important}.village-scene .shot-btn{color:#f6e7c8;cursor:pointer;background:#1a120ce6;border:2px solid #e8b84bd9;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;margin-top:4px;transition:transform .15s,background .15s,color .15s;display:grid;position:relative;box-shadow:0 2px #3d2412b3,0 6px 14px #020c1666}.shot-btn svg{width:20px;height:20px;display:block}.village-scene .shot-btn:hover:not(:disabled),.village-scene .shot-btn:focus-visible:not(:disabled){background:var(--accent,#c48a1c);color:#fff8ee;cursor:pointer;transform:translateY(-1px)}.village-scene .shot-btn:disabled{opacity:.65;cursor:wait}.village-scene .shot-btn.is-ok{color:#fff8ee;background:#2d8aad;border-color:#e8b84b}.village-scene .shot-btn:after{content:attr(data-tip);white-space:nowrap;color:#f6e7c8;letter-spacing:.02em;opacity:0;visibility:hidden;pointer-events:none;z-index:20;background:#1a120cf2;border:1.5px solid #e8b84bbf;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:500;transition:none;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 8px 20px #020c1673}.village-scene .shot-btn:hover:after,.village-scene .shot-btn:focus-visible:after{opacity:1;visibility:visible}.user-chip{flex:none;position:relative}.top-bar .user-chip{margin-top:4px}.user-avatar{cursor:pointer;background:0 0;border:none;border-radius:50%;width:40px;height:40px;padding:0;transition:transform .15s,filter .15s;position:relative}.user-avatar:before{content:"";-webkit-mask-composite:xor;pointer-events:none;background:conic-gradient(from 210deg,#e8b84b,#2d8aad,#e8b84b,#5c3a1e,#e8b84b);border-radius:50%;padding:2px;position:absolute;inset:0;box-shadow:0 2px #3d2412b3,0 6px 14px #020c1666;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.user-avatar img,.user-avatar-initial{object-fit:cover;color:#5c3a1e;letter-spacing:.02em;-webkit-user-select:none;user-select:none;pointer-events:none;background:linear-gradient(165deg,#f6e7c8,#e8d4a4);border:2px solid #2a1c12;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;font-weight:800;display:flex}.user-ring{pointer-events:none;border:1px solid #fff6d059;border-radius:50%;position:absolute;inset:-1px}.user-chip:hover .user-avatar,.user-chip.is-pinned .user-avatar{filter:drop-shadow(0 4px 10px #e8b84b59);transform:translateY(-1px)}.user-menu{width:min(200px,100vw - 48px);color:var(--ink);opacity:0;visibility:hidden;transform-origin:0 0;pointer-events:none;z-index:40;background:linear-gradient(165deg,#fff4dafa 0%,#f6e7c8f7 55%,#e8d0a4fa 100%);border:1.5px solid #e8b84bcc;border-radius:14px;padding:6px;transition:opacity .16s,transform .16s,visibility .16s;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(-4px)scale(.97);box-shadow:0 0 0 1px #2a1608a6,0 0 0 4px #4a28128c,0 14px 32px #020c1673,inset 0 1px #ffffff8c}.user-menu:after{content:"";height:12px;position:absolute;top:-12px;left:0;right:0}.user-menu:before{content:"";background:#f6e7c8;border-top:1.5px solid #e8b84bcc;border-left:1.5px solid #e8b84bcc;width:10px;height:10px;position:absolute;top:-6px;left:18px;transform:rotate(45deg);box-shadow:-1px -1px #2a160859}@media (hover:hover) and (pointer:fine){.user-chip:hover .user-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}}.user-chip.is-pinned .user-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.user-menu-identity{letter-spacing:.04em;color:#5c4634b3;border-bottom:1px solid #5c3a1e29;margin-bottom:4px;padding:6px 10px 7px;font-size:11px;font-weight:700}.user-menu-item{letter-spacing:.02em;color:#5c3a1e;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:9px;width:100%;padding:8px 10px;font-size:13px;font-weight:700;transition:background .12s;display:flex}.user-menu-item svg{color:#a06a2c;flex:none;transition:color .12s}.user-menu-item:hover{background:#e8b84b47}.user-menu-item:hover svg{color:#7c4a12}@media (width<=640px){.user-menu{width:min(180px,100vw - 36px)}}.user-menu-catcher{z-index:1;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.user-chip.is-pinned .user-avatar{z-index:3;position:relative}.quest-backdrop{z-index:15;cursor:pointer;background:#0a080459;border:0;padding:0;position:absolute;inset:0}.side-panel{z-index:20;border:3px solid var(--wood);width:min(340px,100vw - 24px);box-shadow:-4px 4px 0 var(--shadow);pointer-events:none;background:#f6e7c8f5;flex-direction:column;transition:transform .22s;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden;transform:translate(calc(100% + 20px))}.side-panel.is-open{pointer-events:auto;transform:translate(0)}.quest-panel{flex-direction:column;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.quest-panel-head{border-bottom:2px solid var(--parchment-deep);background:#f6e7c8fa;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:12px 12px 8px;display:flex}.quest-panel-scroll{overscroll-behavior:contain;flex:1;min-height:0;padding:0 12px 12px;overflow-y:auto}.panel-title{color:var(--wood-dark);margin:0;font-size:16px}.quest-panel h3{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-top:2px solid var(--parchment-deep);margin:14px 0 8px;padding-top:10px;font-size:11px}.count{text-align:center;background:var(--parchment-deep);border-radius:2px;min-width:1.4em;margin-left:4px;padding:0 4px;display:inline-block}.quest-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.quest-card{border:2px solid var(--parchment-deep);background:#ffffff80;border-radius:3px;padding:0;overflow:hidden}.quest-card.is-active{border-color:var(--accent);background:#fff6e8}.quest-card.is-done{opacity:.75;border-color:var(--ok)}.quest-card-toggle{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:10px;display:flex}.quest-card-title{flex:auto;min-width:0;font-weight:800}.quest-card-meta{color:var(--ink-soft);flex:0 auto;font-size:11px}.quest-card-caret{opacity:.55;flex:none;align-self:center;font-size:22px;line-height:1;transform:translateY(-2px)}.quest-card-detail{border-top:1px dashed var(--parchment-deep);padding:0 10px 10px}.quest-card.compact{justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.quest-card.compact .muted{flex:none}.quest-card p{color:var(--ink-soft);margin:0 0 4px;font-size:12px;line-height:1.5}.quest-card-detail p:last-child{margin-bottom:0}.quest-objective{font-weight:600;color:var(--ink)!important}.quest-reward{color:var(--ok)!important}.pill{letter-spacing:.04em;background:var(--wood);color:var(--parchment);white-space:nowrap;border-radius:2px;padding:2px 6px;font-size:10px}.muted{color:var(--ink-soft);font-size:13px}.small{font-size:11px}.dialog-backdrop{z-index:40;pointer-events:auto;cursor:default;overscroll-behavior:none;background:linear-gradient(#140c0600 0%,#140c0614 45%,#140c0647 100%);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0;overflow:hidden}.dialog-backdrop .dialog-panel{pointer-events:auto;cursor:default}.game-shell.is-dialog-open .map-layer,.game-shell.is-dialog-open .map-hotspot,.game-shell.is-dialog-open .npc-sprite{pointer-events:none}.dialog-panel{overscroll-behavior:none;background:0 0;border:none;width:min(720px,100%);max-height:min(72svh,560px);padding:0;animation:.18s ease-out rise;overflow:hidden}.dialog-chat .dialog-frame{max-height:min(72svh,560px);overflow:hidden}.dialog-top{border-bottom:2px solid #3d241233;flex-shrink:0;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:7px 14px 5px;display:grid;position:relative}.dialog-top .dialog-portrait.is-sized{align-self:start;margin-top:0}.dialog-identity{align-self:start;min-width:0;margin-top:0}.dialog-identity-row{justify-content:space-between;align-items:flex-start;gap:8px;padding-right:104px;display:flex}.dialog-top-actions{z-index:2;align-items:center;gap:6px;display:flex;position:absolute;top:7px;right:12px}.dialog-top-actions .chat-clear{border-width:2px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;margin-left:0;padding:0;display:inline-flex;box-shadow:2px 2px #3d2412}.dialog-top-actions .chat-fullscreen{cursor:pointer;border-width:2px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;margin-left:0;padding:0;display:inline-flex;box-shadow:2px 2px #3d2412}.dialog-top-actions .chat-fullscreen.is-on{color:#fff8ea;background:#c45c26}.dialog-top-actions .dialog-top-close,.dialog-top-actions .btn-pixel-close{border-width:2px;width:28px;height:28px;font-size:16px;position:static;box-shadow:2px 2px #3d2412}.dialog-name{margin:0;line-height:1.2}.dialog-intro{color:#6b4f2a;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:10px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.dialog-tabs{background:#e0c896;border-bottom:3px solid #3d2412;flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:0;display:grid}.dialog-tab{min-height:40px;font:inherit;letter-spacing:.04em;color:#6b4f2a;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-right:2px solid #3d241226;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:13px;font-weight:800;display:inline-flex}.dialog-tab:last-child{border-right:none}.dialog-tab.is-on{color:#2a1c12;background:#f7e8c8;box-shadow:inset 0 -3px #c45c26}.dialog-tab-badge{color:#fff8ee;text-align:center;background:#d9573b;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px}.dialog-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:10px 12px 12px;display:flex}.dialog-body.is-chat{position:relative;overflow:hidden}.dialog-body.is-quests,.dialog-body.is-resources{overflow:hidden}.dialog-resource-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0 2px 2px 0;list-style:none;display:flex;overflow-y:auto}.dialog-resource-row{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:#fffaf0b8;border:1px solid #78502838;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dialog-resource-row:hover{background:#fffcf5e6;border-color:#78502866}.dialog-resource-icon{color:#7a5a3a;background:#7a5a3a1f;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.dialog-resource-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.dialog-resource-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.3;overflow:hidden}.dialog-resource-type{color:#8a7355;font-size:11px}.dialog-resource-chevron{color:#a08860;flex:none;font-size:18px;line-height:1}.resource-viewer-backdrop{z-index:80;background:#1e140c8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.resource-viewer{background:#fff8ea;border:2px solid #5a3c1e59;border-radius:12px;flex-direction:column;gap:8px;width:min(920px,100%);max-height:min(88vh,720px);padding:12px;display:flex;box-shadow:0 12px 40px #140c0647}.resource-viewer-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.resource-viewer-id{align-items:center;gap:10px;min-width:0;display:flex}.resource-viewer-id strong{font-size:14px;line-height:1.3;display:block}.resource-viewer-id .muted{margin:2px 0 0;font-size:11px}.resource-viewer-actions{flex:none;align-items:center;gap:8px;display:flex}.resource-viewer-body{background:#281c100f;border-radius:8px;flex:1;place-items:center;min-height:240px;display:grid;overflow:hidden}.resource-frame{background:#fff;border:0;border-radius:8px;width:100%;height:min(56vh,480px)}.resource-media{width:min(100%,720px);max-height:min(56vh,480px)}.resource-audio-wrap{width:min(100%,480px);padding:16px}.resource-image{object-fit:contain;max-width:100%;max-height:min(56vh,480px)}.resource-viewer-hint{margin:0;font-size:11px}.dialog-ai-footer{background:#fff8eb59;border-top:1px dashed #5a3c1e47;margin-top:auto;padding:6px 12px 8px}.dialog-ai-model{color:#8a7355;margin:0;font-size:10px;line-height:1.35}.dialog-ai-note{color:#9a8568;margin:3px 0 0;font-size:10px;font-style:italic;line-height:1.4}.dialog-quest-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0 2px 2px 0;list-style:none;display:flex;overflow-y:auto}.dialog-quest-empty{color:#7a5a3a;margin:12px 4px;font-size:13px}.dialog-quest-card{background:#fffaf0b8;border:2px solid #c4a06a;padding:10px 12px;box-shadow:2px 2px #3d24121f}.dialog-quest-card.is-active{border-color:#3d7ea6}.dialog-quest-card.is-done{opacity:.78;border-color:#6a9a4a}.dialog-quest-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.dialog-quest-title{color:#2a1c12;font-size:14px;font-weight:800}.quest-pill{letter-spacing:.03em;color:#2a1c12;background:#efe0bc;border:2px solid #3d2412;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:800}.quest-pill.is-available{background:#ffe566}.quest-pill.is-active{background:#7ec8ff}.quest-pill.is-done{background:#b8e08a}.dialog-quest-desc{color:#3b2a1a;margin:0 0 6px;font-size:13px;line-height:1.5}.dialog-quest-line{color:#5c4030;margin:0 0 4px;font-size:12px;line-height:1.45}.dialog-quest-line .label{color:#8b5a2b;margin-right:6px;font-weight:800;display:inline-block}.dialog-quest-line .quest-progress{color:#2f5f8a;font-weight:700}.dialog-quest-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.dialog-quest-actions .btn-pixel{min-height:36px;padding:6px 14px;font-size:13px}.dialog-identity{min-width:0}.dialog-log{scrollbar-width:thin;overscroll-behavior:contain;touch-action:pan-y;background:#ffffff59;border:2px solid #c4a06a;flex-direction:column;flex:1;gap:8px;min-height:140px;max-height:none;padding:8px 10px;display:flex;overflow:hidden auto}.chat-bubble{min-width:100px;max-width:88%;font-size:var(--chat-font-size,14px);font-family:var(--chat-font-family,inherit);color:#2a1c12;cursor:default;border:2px solid #3d2412;padding:8px 10px;line-height:1.55;position:relative;box-shadow:2px 2px #3d241240}.chat-bubble p{white-space:pre-wrap;word-break:break-word;margin:0}.chat-emote{color:#8a7a68;font-style:italic}.chat-translation{border-left:2px solid #3d241238;margin-top:6px;padding-left:8px}.chat-translation p{color:#6f6152;font-size:calc(var(--chat-font-size,14px) * 13 / 14)}.chat-translation .chat-emote{color:inherit}.chat-meta{align-items:baseline;gap:6px;margin-bottom:2px;display:flex;position:relative;top:-2px}.chat-who{font-size:calc(var(--chat-font-size,14px) * 11 / 14);letter-spacing:.04em;opacity:.7;font-weight:800}.chat-time{font-size:calc(var(--chat-font-size,14px) * 11 / 14);color:#8a7a68;cursor:default;position:relative}.chat-time[data-tip]:hover:after{content:attr(data-tip);color:#fff8ea;letter-spacing:0;white-space:nowrap;z-index:12;pointer-events:none;background:#3d2412;border:1px solid #5c3a1e;width:max-content;max-width:240px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:400;line-height:1.4;position:absolute;top:calc(100% + 4px);left:0;right:auto}.chat-time[data-tip-side=left][data-tip]:hover:after{left:auto;right:0}.chat-msg-menu{z-index:16;line-height:0;position:absolute;top:-3px}.chat-bubble.is-npc .chat-msg-menu{left:calc(100% + 4px)}.chat-bubble.is-player .chat-msg-menu{right:calc(100% + 4px)}.chat-msg-menu-btn{color:#8a7a68;cursor:pointer;opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.chat-bubble:hover .chat-msg-menu-btn,.chat-msg-menu.is-open .chat-msg-menu-btn,.chat-msg-menu.is-selected .chat-msg-menu-btn,.chat-msg-menu-btn:focus-visible{opacity:1;pointer-events:auto}.chat-msg-menu-btn:hover,.chat-msg-menu.is-open .chat-msg-menu-btn{color:#3d2412;background:#3d24121a}.chat-msg-menu-pop{z-index:40;background:#f6e7c8;border:2px solid #3d2412;flex-direction:column;min-width:120px;padding:2px;display:flex;position:absolute;top:calc(100% + 2px);right:0;box-shadow:3px 3px #3d241247}.chat-msg-menu.is-player .chat-msg-menu-pop{left:0;right:auto}.chat-msg-menu-pop.is-up{top:auto;bottom:calc(100% + 2px)}.chat-msg-copy-tip{z-index:50;letter-spacing:.02em;white-space:nowrap;color:#2a1c12;pointer-events:none;background:linear-gradient(#fff8ea 0%,#f6e7c8 100%);border:1px solid #3d241259;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;animation:.18s ease-out copy-tip-in;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #3d24122e,inset 0 1px #ffffff8c}@keyframes copy-tip-in{0%{opacity:0;transform:translate(-50%)translateY(4px)scale(.96)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.chat-msg-menu.is-pop-up .chat-msg-copy-tip{top:auto;bottom:calc(100% + 6px)}.chat-msg-menu-pop button{color:#2a1c12;text-align:left;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.chat-msg-menu-pop button:hover,.chat-msg-menu-pop button:focus-visible{background:#e8d2a4;outline:none}.chat-msg-menu-pop button.is-danger{color:#b33a28}.chat-msg-menu-pop button.is-danger:hover,.chat-msg-menu-pop button.is-danger:focus-visible{background:#b33a281f}.chat-clear{color:#5c3a1e;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;min-height:30px;margin-left:auto;padding:4px 10px;font-size:12px}.chat-fullscreen{color:#5c3a1e;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;min-height:30px;padding:4px 10px;font-size:12px}.chat-fullscreen:hover:not(.is-on),.chat-clear:hover:not(:disabled):not(.is-disabled){background:#e0c48a}.chat-clear:disabled,.chat-clear.is-disabled{opacity:.45;cursor:not-allowed;color:#8a7a68;background:#efe0bc}.chat-bubble.is-npc{background:#fff6e0;align-self:flex-start}.chat-bubble.is-player{background:#dcefdc;border-color:#3d5a3a;align-self:flex-end;min-width:160px}.chat-bubble.is-typing .chat-dots{align-items:center;gap:4px;height:1em;margin:2px 0 0;display:flex}.chat-bubble.is-typing .chat-dots i{background:#8b5a2b;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite chat-dot}.chat-bubble.is-typing .chat-dots i:nth-child(2){animation-delay:.15s}.chat-bubble.is-typing .chat-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.dialog-chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-chip{background:#efe0bc;min-height:34px;padding:6px 12px;font-size:13px}.dialog-composer{align-items:center;gap:8px;margin-top:auto;display:flex}.composer-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.composer-send{color:#fff8ea;cursor:pointer;background:#c45c26;border:2.5px solid #3d2412;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:inline-flex;box-shadow:2px 2px #3d2412}.composer-send:hover:not(:disabled):not(.is-disabled){background:#d46a32}.composer-send:active:not(:disabled):not(.is-disabled){transform:translate(1px,1px);box-shadow:1px 1px #3d2412}.composer-send:disabled,.composer-send.is-disabled{opacity:.4;cursor:not-allowed;box-shadow:1px 1px #3d2412}.live-toggle{color:#5c3a1e;cursor:pointer;background:#d9cbb0;border:2px solid #3d2412;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex;position:relative}.live-toggle:hover:not(:disabled){background:#cbb894}.live-toggle.is-on{color:#fff8ea;background:#c45c26;box-shadow:0 0 0 2px #c45c2647}.live-toggle.is-on:hover:not(:disabled){background:#a84a20}.live-toggle:disabled{cursor:default;opacity:.9}.live-toggle-spin{width:16px;height:16px}.live-toggle[data-tip]:hover:after{content:attr(data-tip);color:#fff8ea;letter-spacing:0;white-space:normal;z-index:6;pointer-events:none;background:#3d2412;border:1px solid #5c3a1e;width:max-content;max-width:220px;padding:6px 8px;font-size:11px;font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 8px);left:auto;right:-4px;transform:none}.dialog-composer input,.dialog-composer textarea{color:#2a1c12;background:#fffaf0;border:3px solid #3d2412;outline:none;min-height:42px;padding:8px 12px;font-family:inherit;font-size:14px;box-shadow:inset 2px 2px #00000014}.dialog-composer .composer-field input,.dialog-composer .composer-field textarea{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;padding:8px 8px 8px 12px}.dialog-composer input:focus,.dialog-composer textarea:focus{background:#fff;border-color:#c45c26}.dialog-composer .composer-field input:focus,.dialog-composer .composer-field textarea:focus{background:0 0;border-color:#0000}.dialog-composer input:disabled,.dialog-composer textarea:disabled{opacity:.6}.animal-sprite.is-interactive{pointer-events:auto;cursor:pointer}.animal-sprite.is-interactive:hover .animal-art{filter:drop-shadow(0 0 4px #ffe6788c)drop-shadow(1px 2px 1px #00000059)}.animal-sprite.is-talking .animal-art{filter:drop-shadow(0 0 6px #ffe678b3)drop-shadow(1px 2px 1px #00000059)}.game-shell.is-dialog-open .animal-sprite{pointer-events:none}.game-shell.is-dialog-open .animal-sprite.is-talking{pointer-events:auto}.dialog-frame{background:linear-gradient(#f7e8c8 0%,#efdbb0 100%);border:4px solid #3d2412;border-radius:0;grid-template-columns:auto 1fr;gap:12px;padding:12px 14px;display:grid;box-shadow:inset 0 0 0 3px #f6e7c8,inset 0 0 0 6px #8b5a2b,0 0 0 4px #1a120c,6px 8px #0006}.dialog-frame.is-tabbed{flex-direction:column;grid-template-columns:none;gap:0;min-height:340px;max-height:min(72svh,560px);padding:0;display:flex}.dialog-frame.is-tabbed .dialog-portrait.is-sized{align-self:start;margin-top:0}@media (width<=480px){.dialog-frame{gap:10px;padding:12px}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dialog-portrait{width:96px;min-height:96px;image-rendering:pixelated;background:linear-gradient(#d8c49a 0%,#c4b088 100%);border:4px solid #3d2412;flex-shrink:0;align-self:start;place-items:center;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #f6e7c8}.dialog-portrait.is-sized{flex-shrink:0;place-items:center;min-width:62px;min-height:62px;display:grid;overflow:hidden;background:linear-gradient(#d8c49a 0%,#c4b088 100%)!important;border:3px solid #3d2412!important;width:62px!important;height:62px!important;box-shadow:inset 0 0 0 2px #f6e7c8,2px 2px #3d2412!important}.dialog-npc-img{width:100%;height:100%;image-rendering:pixelated;object-fit:contain;padding:4px;display:block}.pixel-house{background:linear-gradient(#c45c26 0 42%,#0000 42%),linear-gradient(#f3e2b8 0 100%);border:2px solid #3d2412;width:44px;height:38px}.dialog-name{color:#2a1c12;letter-spacing:.04em;text-shadow:1px 1px #f6e7c8;margin:0;font-size:20px;font-weight:800;line-height:1.2}.btn-pixel-close{color:#2a1c12;cursor:pointer;background:#e8d2a4;border:3px solid #3d2412;flex:none;width:36px;height:36px;font-size:20px;font-weight:800;line-height:1;box-shadow:2px 2px #3d2412}.btn-pixel-close:hover{background:#f0c8a0}.btn-pixel-close:active{transform:translate(1px,1px);box-shadow:1px 1px #3d2412}.btn-pixel{letter-spacing:.04em;color:#2a1c12;cursor:pointer;background:#f6e7c8;border:3px solid #3d2412;min-height:42px;padding:8px 16px;font-size:14px;font-weight:800;box-shadow:3px 3px #3d2412}.btn-pixel:hover:not(:disabled):not(.is-disabled){background:#fff6e0}.btn-pixel:active:not(:disabled):not(.is-disabled){transform:translate(2px,2px);box-shadow:1px 1px #3d2412}.btn-pixel:disabled,.btn-pixel.is-disabled{opacity:.45;cursor:not-allowed;box-shadow:1px 1px #3d2412}.btn-pixel-primary{color:#fff8ee;background:#c45c26}.btn-pixel-primary:hover:not(:disabled):not(.is-disabled){background:#d46a32}.dialog-done{color:var(--ok);font-size:13px;font-weight:700}.dialog-quest-title{color:var(--ink,#3b2a1a);flex:auto;min-width:0;font-size:13px;font-weight:650}.chatroom-backdrop{z-index:40;overscroll-behavior:none;background:linear-gradient(#140c0600 0%,#140c0614 45%,#140c0647 100%);justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0;overflow:hidden}.chatroom-panel{overscroll-behavior:none;pointer-events:auto;background:linear-gradient(#f7e8c8 0%,#efdbb0 100%);border:4px solid #3d2412;border-radius:0;grid-template-rows:auto minmax(0,1fr);width:min(860px,100%);min-width:0;max-width:100%;max-height:min(76svh,620px);padding:12px 14px;animation:.18s ease-out rise;display:grid;overflow:hidden;box-shadow:inset 0 0 0 3px #f6e7c8,inset 0 0 0 6px #8b5a2b,0 0 0 4px #1a120c,6px 8px #0006}.chatroom-head{border-bottom:2px solid #3d241233;align-items:center;gap:10px;min-width:0;padding:2px 2px 8px;display:flex}.chatroom-emblem{object-fit:contain;flex-shrink:0;width:44px;height:44px}.chatroom-head-text{flex:1;min-width:0}.chatroom-title{color:#2a1c12;margin:0;font-size:17px;line-height:1.2}.chatroom-sub{color:#6b4f2a;align-items:center;gap:5px;margin:2px 0 0;font-size:11px;display:flex}.chatroom-sub-sep{opacity:.5}.chatroom-dot{background:#b9a98c;border:1px solid #3d241266;border-radius:50%;width:8px;height:8px}.chatroom-dot.is-online{background:#4caf6d}.chatroom-dot.is-connecting{background:#e2b13c}.chatroom-dot.is-offline{background:#c0574a}.chatroom-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.chatroom-head-actions .chat-fullscreen{border-width:2px;justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 8px;font-size:12px;display:inline-flex;box-shadow:2px 2px #3d2412}.chatroom-close{border-width:2px;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;padding:0;font-size:16px;display:inline-flex;box-shadow:2px 2px #3d2412}.chatroom-backdrop.is-fullscreen{justify-content:stretch;align-items:stretch;padding:0}.chatroom-panel.is-fullscreen{border-width:0 4px;width:100%;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;animation:none}.chatroom-body{grid-template-columns:168px minmax(0,1fr);gap:10px;width:100%;min-width:0;min-height:0;padding-top:10px;display:grid}.chatroom-presence{background:#3d24120f;border:2px solid #3d241240;flex-direction:column;min-height:0;display:flex}.chatroom-presence-head{letter-spacing:.04em;color:#6b4f2a;border-bottom:2px solid #3d241226;justify-content:space-between;align-items:center;padding:6px 8px;font-size:11px;font-weight:800;display:flex}.chatroom-presence-count{color:#fff8ee;text-align:center;background:#4caf6d;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;line-height:18px}.chatroom-presence-list{margin:0;padding:4px;list-style:none;overflow-y:auto}.chatroom-presence-row{border-radius:3px;padding:0}.chatroom-presence-name{color:#2a1c12;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.chatroom-presence-you{color:#6b4f2a;font-size:10px}.chatroom-avatar{object-fit:cover;border:2px solid #3d2412;border-radius:50%;flex-shrink:0}.chatroom-avatar.is-small{width:22px;height:22px}.chatroom-avatar.is-large{width:32px;height:32px;font-size:15px}.chatroom-avatar-letter{color:#2a1c12;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.chatroom-presence-btn{width:100%;min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:3px;align-items:center;gap:6px;padding:4px;display:flex}.chatroom-presence-btn:active{background:0 0}.chatroom-member-backdrop{z-index:60;background:#2a1c1273;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.chatroom-member-card{background:linear-gradient(#f7e8c8 0%,#efdbb0 100%);border:4px solid #3d2412;flex-direction:column;align-items:center;gap:12px;min-width:200px;max-width:min(320px,84vw);padding:24px 28px 20px;animation:.15s ease-out rise;display:flex;position:relative;box-shadow:0 0 0 4px #1a120c,6px 8px #0006}.chatroom-member-card .chatroom-avatar{border-width:3px;width:72px;height:72px;font-size:30px}.chatroom-member-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:16px;font-weight:800;overflow:hidden}.chatroom-member-close{position:absolute;top:6px;right:6px}.chatroom-main{grid-template-rows:minmax(0,1fr) auto;gap:13px;min-width:0;min-height:0;display:grid}.chatroom-log-stage{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.chatroom-log{overscroll-behavior:contain;background:#fff8eaa6;border:2px solid #3d241240;flex-direction:column;flex:1;min-width:0;min-height:0;padding:6px 4px;display:flex;position:relative;overflow-y:auto}.chatroom-empty{color:#8a7455;text-align:center;margin:auto;padding:24px 12px;font-size:13px}.chatroom-history-loading{z-index:2;color:#8e806c;text-align:center;pointer-events:none;background:#fff8eaeb;border-radius:12px;padding:5px 8px;font-size:12px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.chatroom-day-divider{color:#8a7455;align-items:center;gap:10px;margin:8px 8px 2px;font-size:11px;font-weight:800;display:flex}.chatroom-day-divider:before,.chatroom-day-divider:after{content:"";background:#3d241238;flex:1;height:1px}.chatroom-msg{border-radius:4px;grid-template-columns:36px minmax(0,1fr);gap:0 10px;min-width:0;padding:3px 10px 3px 6px;display:grid;position:relative}.chatroom-msg:hover,.chatroom-msg.is-menu-open{background:#3d241212}.chatroom-msg.is-grouped{padding-top:1px;padding-bottom:1px}.chatroom-msg-gutter{justify-content:center;align-items:flex-start;min-width:0;padding-top:3px;display:flex;position:relative}.chatroom-msg-main{min-width:0;overflow-wrap:anywhere;min-inline-size:0}.chatroom-gutter-time{top:calc(1px + var(--chat-font-size,14px) * .75 - 5px);color:#8a7455;white-space:nowrap;pointer-events:none;opacity:0;font-size:10px;line-height:1;transition:opacity .1s;position:absolute;left:50%;transform:translate(-50%)}.chatroom-msg.is-grouped:hover .chatroom-gutter-time,.chatroom-msg.is-grouped.is-menu-open .chatroom-gutter-time{opacity:1}.chatroom-msg-head{align-items:baseline;gap:8px;display:flex}.chatroom-msg-name{font-size:14px;font-weight:800}.chatroom-msg-time{color:#8a7455;font-size:10px}.chatroom-msg-text{font-size:var(--chat-font-size,14px);font-family:var(--chat-font-family,inherit);color:#2a1c12;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;cursor:default;min-width:0;line-height:1.5}.chatroom-msg.is-pending .chatroom-msg-text{opacity:.55}.chatroom-msg.is-failed .chatroom-msg-text{color:#a13a2c}.chatroom-hoverbar{z-index:5;opacity:0;pointer-events:none;background:#f6e7c8;border:2px solid #3d2412;border-radius:8px;align-items:center;gap:1px;padding:2px 4px;transition:opacity .1s,transform .1s;display:flex;position:absolute;top:-14px;right:8px;transform:translateY(2px);box-shadow:2px 2px #3d24124d}.chatroom-panel.is-dark .chatroom-hoverbar{background:#2b2d31;border:0;box-shadow:0 4px 12px #0000004d}.chatroom-msg:hover .chatroom-hoverbar,.chatroom-msg:focus-within .chatroom-hoverbar,.chatroom-msg.is-menu-open .chatroom-hoverbar{opacity:1;pointer-events:auto;transform:translateY(0)}.chatroom-hoverbar-btn{color:#5c3a1e;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:16px;display:inline-flex}.chatroom-hoverbar-btn:hover:not(:disabled){color:#2a1c12;background:#e8d2a4}.chatroom-panel.is-dark .chatroom-hoverbar-btn{color:#dbdee1}.chatroom-panel.is-dark .chatroom-hoverbar-btn:hover:not(:disabled){color:#fff;background:#404249}.chatroom-hoverbar-btn:disabled{opacity:.5;cursor:default}.chatroom-hoverbar-btn.is-active{color:#1a7f4b}.chatroom-panel.is-dark .chatroom-hoverbar-btn.is-active{color:#57f287}.chatroom-hoverbar-sep{background:#3d24124d;width:1px;height:18px;margin:0 3px}.chatroom-panel.is-dark .chatroom-hoverbar-sep{background:#ffffff24}@media (hover:none){.chatroom-hoverbar{display:none}}@media (hover:none),(pointer:coarse){.chatroom-msg{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.chatroom-msg textarea{-webkit-user-select:text;user-select:text}}.chatroom-mini-spin{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite chatroom-spin}.chatroom-hoverbar .chatroom-mini-spin{border-color:#2a1c12 #3d24124d #3d24124d}.chatroom-panel.is-dark .chatroom-hoverbar .chatroom-mini-spin{border-color:#fff #ffffff59 #ffffff59}.chatroom-mini-spin.is-warm{border-color:#5c3a1e #3d24124d #3d24124d}.chatroom-panel.is-dark .chatroom-mini-spin.is-warm{border-color:#fff #ffffff59 #ffffff59}@keyframes chatroom-spin{to{transform:rotate(360deg)}}.room-menu{z-index:90;background:#f6e7c8;border:2px solid #3d2412;border-radius:8px;min-width:240px;max-width:min(300px,100vw - 16px);max-height:min(70vh,520px);padding:6px;animation:.1s ease-out room-menu-in;position:fixed;overflow-y:auto;box-shadow:3px 3px #3d24124d}.chatroom-panel.is-dark .room-menu{background:#111214;border:0;box-shadow:0 8px 28px #00000073}@keyframes room-menu-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.room-sheet-backdrop{z-index:89;cursor:default;background:#0c090573;border:0;padding:0;position:fixed;inset:0}.room-menu.is-sheet{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));min-width:0;max-width:560px;max-height:min(62vh,480px);margin:0 auto;animation:.18s ease-out room-sheet-in;top:auto}@keyframes room-sheet-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.room-menu-emojis{flex-wrap:nowrap;align-items:center;gap:2px;padding:4px 2px 8px;display:flex}.room-menu-emoji{cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:24px;display:inline-flex}@media (hover:hover) and (pointer:fine){.room-menu-emoji:hover{background:#e8d2a4}.chatroom-panel.is-dark .room-menu-emoji:hover{background:#2b2d31}}.room-menu-emoji:active{background:#e8d2a4}.chatroom-panel.is-dark .room-menu-emoji:active{background:#2b2d31}.room-menu-sep{background:#3d241240;height:1px;margin:2px 6px 6px}.chatroom-panel.is-dark .room-menu-sep{background:#ffffff1a}.room-menu-item{color:#2a1c12;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;font-weight:600;display:flex}.room-menu-item.is-danger{color:#b33a28}@media (hover:hover) and (pointer:fine){.room-menu-item:hover{background:#e8d2a4}.room-menu-item.is-danger:hover{background:#b33a2824}.chatroom-panel.is-dark .room-menu-item:hover{color:#fff;background:#5865f2}.chatroom-panel.is-dark .room-menu-item.is-danger:hover{color:#fff;background:#f23f43}}.chatroom-panel.is-dark .room-menu-item{color:#dbdee1;font-weight:500}.chatroom-panel.is-dark .room-menu-item.is-danger{color:#f23f43}.room-menu-item:active{background:#e8d2a4}.room-menu-item.is-danger:active{background:#b33a2824}.chatroom-panel.is-dark .room-menu-item:active{color:#fff;background:#5865f2}.chatroom-panel.is-dark .room-menu-item.is-danger:active{color:#fff;background:#f23f43}.room-menu-label{text-align:left;flex:1}.room-menu-icon{opacity:.85;flex-shrink:0;display:inline-flex}.room-menu-chevron{opacity:.6;flex-shrink:0;transition:transform .12s;display:inline-flex}.room-menu-chevron.is-open{transform:rotate(90deg)}.room-menu-picker{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8b5a2b8c transparent;flex-wrap:wrap;gap:2px;max-height:172px;padding:2px 4px 8px;display:flex;overflow-y:auto}.room-menu-picker::-webkit-scrollbar{width:8px;height:8px}.room-menu-picker::-webkit-scrollbar-thumb{background:#8b5a2b73;border-radius:4px}.room-menu-picker::-webkit-scrollbar-track{background:0 0}.room-menu-pick{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:inline-flex}@media (hover:hover) and (pointer:fine){.room-menu-pick:hover{background:#e8d2a4}.chatroom-panel.is-dark .room-menu-pick:hover{background:#2b2d31}}.room-menu-pick:active{background:#e8d2a4}.chatroom-panel.is-dark .room-menu-pick:active{background:#2b2d31}.chatroom-reactions{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chatroom-reaction{color:#2a1c12;cursor:pointer;background:#3d241214;border:1px solid #3d241247;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:14px;line-height:1.3;display:inline-flex}.chatroom-reaction:hover{border-color:#5865f2}.chatroom-reaction.is-own{background:#5865f22e;border-color:#5865f2}.chatroom-reaction-count{font-size:12px;font-weight:800}.chatroom-quote{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:#3d24120f;border:0;border-left:3px solid #8b5a2b;border-radius:0 4px 4px 0;margin:2px 0 3px;padding:3px 8px 4px 10px;display:block}.chatroom-quote:hover{background:#3d24121a}.chatroom-quote-name{color:#8b5a2b;font-size:11px;font-weight:800;display:block}.chatroom-quote-text{color:#6b5a44;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.chatroom-pin-badge{font-size:11px}.chatroom-pin-badge.is-inline{margin-right:4px}.chatroom-edited{color:#8a7455;font-size:10px}.chatroom-resend{color:#b33a28;cursor:pointer;background:#b33a281f;border:1px solid #b33a2880;border-radius:4px;margin-left:6px;padding:1px 8px;font-size:11px;font-weight:800}.chatroom-speak-pill{color:#5c3a1e;cursor:pointer;background:#5865f21f;border:1px solid #5865f28c;border-radius:999px;align-items:center;gap:7px;margin-top:5px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.chatroom-speak-pill:hover{background:#5865f233}.chatroom-panel.is-dark .chatroom-speak-pill{color:#c7cdfb}.chatroom-eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.chatroom-eq i{background:#5865f2;border-radius:1px;width:3px;animation:.9s ease-in-out infinite chatroom-eq}.chatroom-eq i:first-child{height:60%}.chatroom-eq i:nth-child(2){height:100%;animation-delay:.2s}.chatroom-eq i:nth-child(3){height:40%;animation-delay:.4s}@keyframes chatroom-eq{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.chatroom-edit-input{resize:vertical;width:100%;min-height:52px;font:inherit;font-size:var(--chat-font-size,14px);color:#2a1c12;background:#fff8ea;border:2px solid #5865f2;border-radius:4px;padding:7px 9px;line-height:1.5}.chatroom-edit-hint{color:#8a7455;margin:3px 0 0;font-size:10px}.chatroom-edit-actions{justify-content:flex-end;gap:6px;margin-top:5px;display:flex}.chatroom-edit-cancel,.chatroom-edit-save{cursor:pointer;border:2px solid #3d2412;padding:4px 12px;font-size:12px;font-weight:800}.chatroom-edit-cancel{color:#2a1c12;background:#efe0bc}.chatroom-edit-save{color:#fff8ea;background:#5865f2;border-color:#2b2f7a}.chatroom-reply-bar{background:#3d241212;border-left:3px solid #8b5a2b;border-radius:0 4px 4px 0;align-items:center;gap:8px;padding:5px 8px 5px 10px;display:flex}.chatroom-reply-preview{flex-direction:column;flex:1;min-width:0;display:flex}.chatroom-reply-to{color:#8b5a2b;font-size:11px;font-weight:800}.chatroom-reply-text{color:#6b5a44;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.chatroom-reply-cancel{color:#6b4f2a;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:inline-flex}.chatroom-reply-cancel:hover{background:#3d241224}.chatroom-bind-hint{background:#c45c261a;border:2px dashed #c45c2673;border-radius:4px;align-items:center;gap:8px;padding:5px 6px 5px 10px;display:flex}.chatroom-bind-text{color:#7c4a20;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;line-height:1.4;overflow:hidden}.chatroom-bind-cta{color:#fff8ea;cursor:pointer;white-space:nowrap;background:#c45c26;border:2px solid #3d2412;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:800;box-shadow:1px 1px #3d2412}.chatroom-bind-dismiss{color:#6b4f2a;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:inline-flex}.chatroom-bind-dismiss:hover{background:#3d241224}.chatroom-panel.is-dark .chatroom-bind-hint{background:#5865f21f;border-color:#5865f280}.chatroom-panel.is-dark .chatroom-bind-text{color:#b5bac1}.chatroom-panel.is-dark .chatroom-bind-cta{background:#5865f2;border-color:#1e1f22;box-shadow:1px 1px #1e1f22}.chatroom-panel.is-dark .chatroom-bind-dismiss{color:#b5bac1}.chatroom-panel.is-dark .chatroom-bind-dismiss:hover{background:#ffffff1a}.chatroom-tip{z-index:20;white-space:nowrap;color:#f2f3f5;pointer-events:none;background:#111214;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:600;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000059}.chatroom-state{margin-left:6px;font-size:11px}.chatroom-offline-note{color:#7c4a35;text-align:center;background:#c0574a24;border:2px dashed #c0574a80;margin:6px auto 2px;padding:5px 8px;font-size:11px}.chatroom-composer{flex-direction:column;gap:6px;min-width:0;display:flex}.chatroom-composer.is-guest{flex-direction:column}.chatroom-input-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:flex-end;gap:8px;min-width:0;display:grid;transform:translateY(-8px)}.chatroom-input{resize:none;width:100%;min-width:0;font:inherit;color:#2a1c12;background:#fff8ea;border:2px solid #3d2412;border-radius:0;max-height:4.6em;padding:8px 10px;font-size:14px;line-height:1.45}.chatroom-count{color:#a08a63;align-self:center;font-size:10px}.chatroom-send{color:#fff8ea;width:42px;height:42px;box-shadow:none;cursor:pointer;background:#c45c26;border:2.5px solid #3d2412;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.chatroom-send:hover:not(.is-disabled){background:#d46a32}.chatroom-send:active:not(.is-disabled){transform:translate(1px,1px)}.chatroom-send.is-disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.chatroom-guest-hint{color:#6b4f2a;text-align:center;background:#3d24120f;border:2px dashed #3d24124d;margin:0;padding:8px 10px;font-size:12px}.chatroom-pins{flex-shrink:0;position:relative}.chatroom-pins-btn{color:#2a1c12;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 8px;font-size:12px;display:inline-flex;position:relative;box-shadow:2px 2px #3d2412}.chatroom-pins-btn:hover,.chatroom-pins-btn.is-open{background:#e0c48a}.chatroom-pins-count{color:#fff8ea;text-align:center;background:#c45c26;border:2px solid #3d2412;border-radius:999px;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;line-height:14px;position:absolute;top:-8px;right:-8px}.chatroom-pins-pop{z-index:70;background:#f6e7c8;border:2px solid #3d2412;border-radius:6px;flex-direction:column;width:280px;max-width:min(280px,100vw - 32px);max-height:min(60vh,420px);padding:10px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:3px 3px #3d24124d}.chatroom-pins-title{letter-spacing:.05em;color:#8b5a2b;margin:0 2px 6px;font-size:11px;font-weight:800}.chatroom-pins-empty{color:#8a7455;text-align:center;margin:0;padding:12px 8px;font-size:12px}.chatroom-pins-list{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.chatroom-pin-item{text-align:left;width:100%;font:inherit;color:#2a1c12;cursor:pointer;background:#3d24120f;border:0;border-left:3px solid #c45c26;border-radius:0 4px 4px 0;flex-direction:column;gap:2px;padding:7px 9px;display:flex}.chatroom-pin-item:hover{background:#3d24121f}.chatroom-pin-item-head{align-items:baseline;gap:6px;display:flex}.chatroom-pin-item-name{color:#8b5a2b;font-size:12px;font-weight:800}.chatroom-pin-item-text{color:#2a1c12;word-break:break-word;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.chatroom-settings{flex-shrink:0;position:relative}.chatroom-settings-btn{color:#2a1c12;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;justify-content:center;align-items:center;height:28px;min-height:28px;padding:0 8px;font-size:12px;display:inline-flex;box-shadow:2px 2px #3d2412}.chatroom-settings-btn:hover,.chatroom-settings-btn.is-open{background:#e0c48a}.chatroom-settings-pop{z-index:70;background:#f6e7c8;border:2px solid #3d2412;border-radius:6px;width:248px;max-height:min(60vh,420px);padding:10px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:3px 3px #3d24124d}.chatroom-settings-title{letter-spacing:.05em;color:#8b5a2b;margin:8px 2px 5px;font-size:11px;font-weight:800}.chatroom-settings-title:first-child{margin-top:0}.chatroom-settings-row{align-items:center;gap:6px;display:flex}.chatroom-settings-row.is-inset{margin-top:6px}.chatroom-theme-btn{color:#2a1c12;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 4px;font-size:12px;font-weight:800;display:inline-flex}.chatroom-theme-btn.is-on{color:#fff8ea;background:#c45c26}.chatroom-size-btn{color:#2a1c12;cursor:pointer;background:#efe0bc;border:2px solid #3d2412;flex:1;padding:5px 4px;font-size:13px;font-weight:800}.chatroom-size-btn:disabled{opacity:.4;cursor:default}.chatroom-size-value{text-align:center;color:#2a1c12;min-width:30px;font-size:13px;font-weight:800}.chatroom-settings-list,.chatroom-voice-list{flex-direction:column;gap:2px;max-height:150px;display:flex;overflow-y:auto}.chatroom-settings-option{color:#2a1c12;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.chatroom-settings-option:hover{background:#e8d2a4}.chatroom-settings-option.is-on{background:#c45c2629;font-weight:800}.chatroom-settings-option.is-voice-trigger{border:2px solid #3d241259}.chatroom-settings-note{color:#8a7455;margin:6px 2px 0;font-size:10px}.chatroom-panel.is-dark{background:#2b2d31;border-color:#1e1f22;box-shadow:inset 0 0 0 3px #313338,inset 0 0 0 6px #1e1f22,0 0 0 4px #000,6px 8px #00000080}.chatroom-panel.is-dark .chatroom-head{border-bottom-color:#ffffff1f}.chatroom-panel.is-dark .chatroom-title{color:#f2f3f5}.chatroom-panel.is-dark .chatroom-sub{color:#949ba4}.chatroom-panel.is-dark .chatroom-settings-btn,.chatroom-panel.is-dark .chatroom-head-actions .chat-fullscreen,.chatroom-panel.is-dark .chatroom-close{color:#dbdee1;background:#383a40;border-color:#1e1f22;box-shadow:2px 2px #1e1f22}.chatroom-panel.is-dark .chatroom-settings-btn:hover,.chatroom-panel.is-dark .chatroom-settings-btn.is-open,.chatroom-panel.is-dark .chatroom-head-actions .chat-fullscreen:hover,.chatroom-panel.is-dark .chatroom-close:hover{background:#404249}.chatroom-panel.is-dark .chatroom-presence{background:#2b2d31;border-color:#232428}.chatroom-panel.is-dark .chatroom-presence-head{color:#949ba4;border-bottom-color:#232428}.chatroom-panel.is-dark .chatroom-presence-name{color:#dbdee1}.chatroom-panel.is-dark .chatroom-presence-you{color:#949ba4}.chatroom-panel.is-dark .chatroom-avatar{border-color:#1e1f22}.chatroom-member-card.is-dark{background:#313338;border-color:#1e1f22;box-shadow:0 0 0 4px #1e1f22,6px 8px #0006}.chatroom-member-card.is-dark .chatroom-member-name{color:#f2f3f5}.chatroom-panel.is-dark .chatroom-log{background:#313338;border-color:#1e1f22}.chatroom-panel.is-dark .chatroom-log,.chatroom-panel.is-dark .chatroom-presence-list,.chatroom-panel.is-dark .room-menu,.chatroom-panel.is-dark .room-menu-picker,.chatroom-panel.is-dark .chatroom-settings-pop,.chatroom-panel.is-dark .chatroom-settings-list,.chatroom-panel.is-dark .chatroom-voice-list,.chatroom-panel.is-dark .chatroom-pins-list{scrollbar-width:thin;scrollbar-color:#1a1b1e transparent}.chatroom-panel.is-dark .chatroom-log::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-presence-list::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .room-menu::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .room-menu-picker::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-settings-pop::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-settings-list::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-voice-list::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-pins-list::-webkit-scrollbar{width:8px;height:8px}.chatroom-panel.is-dark .chatroom-log::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-presence-list::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .room-menu::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .room-menu-picker::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-settings-pop::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-settings-list::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-voice-list::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-pins-list::-webkit-scrollbar-thumb{background:#1a1b1e;border-radius:4px}.chatroom-panel.is-dark .chatroom-log::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chatroom-presence-list::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .room-menu::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .room-menu-picker::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chatroom-settings-pop::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chatroom-settings-list::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chatroom-voice-list::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chatroom-pins-list::-webkit-scrollbar-track{background:0 0}.chatroom-panel.is-dark .chat-jump-end{color:#dbdee1;background:#111214;border:0;box-shadow:0 2px 10px #00000073}.chatroom-panel.is-dark .chat-jump-end:hover{color:#fff;background:#2b2d31;border:0}.chatroom-panel.is-dark .chatroom-empty,.chatroom-panel.is-dark .chatroom-day-divider{color:#949ba4}.chatroom-panel.is-dark .chatroom-day-divider:before,.chatroom-panel.is-dark .chatroom-day-divider:after{background:#ffffff24}.chatroom-panel.is-dark .chatroom-msg:hover,.chatroom-panel.is-dark .chatroom-msg.is-menu-open{background:#ffffff0f}.chatroom-panel.is-dark .chatroom-gutter-time,.chatroom-panel.is-dark .chatroom-msg-time,.chatroom-panel.is-dark .chatroom-edited{color:#949ba4}.chatroom-panel.is-dark .chatroom-msg-name{filter:brightness(1.45)}.chatroom-panel.is-dark .chatroom-msg-text{color:#dbdee1}.chatroom-panel.is-dark .chatroom-msg.is-failed .chatroom-msg-text{color:#f38ba8}.chatroom-panel.is-dark .chatroom-resend{color:#f38ba8;background:#f23f4324;border-color:#f23f4380}.chatroom-panel.is-dark .chatroom-quote,.chatroom-panel.is-dark .chatroom-reply-bar{background:#ffffff0f;border-left-color:#5865f2}.chatroom-panel.is-dark .chatroom-quote:hover{background:#ffffff17}.chatroom-panel.is-dark .chatroom-quote-name,.chatroom-panel.is-dark .chatroom-reply-to{color:#9aa3f7}.chatroom-panel.is-dark .chatroom-quote-text,.chatroom-panel.is-dark .chatroom-reply-text{color:#b5bac1}.chatroom-panel.is-dark .chatroom-reaction{color:#dbdee1;background:#2b2d31;border-color:#0000}.chatroom-panel.is-dark .chatroom-reaction:hover{border-color:#5865f2}.chatroom-panel.is-dark .chatroom-reaction.is-own{background:#5865f24d;border-color:#5865f2}.chatroom-panel.is-dark .chatroom-edit-input{color:#dbdee1;background:#383a40}.chatroom-panel.is-dark .chatroom-edit-hint{color:#949ba4}.chatroom-panel.is-dark .chatroom-edit-cancel,.chatroom-panel.is-dark .chatroom-input{color:#dbdee1;background:#383a40;border-color:#1e1f22}.chatroom-panel.is-dark .chatroom-count{color:#949ba4}.chatroom-panel.is-dark .chatroom-send{box-shadow:none;background:#5865f2;border-color:#1e1f22}.chatroom-panel.is-dark .chatroom-send:hover:not(.is-disabled){background:#4752c4}.chatroom-panel.is-dark .chatroom-offline-note{color:#f38ba8;background:#f23f4324;border-color:#f23f4380}.chatroom-panel.is-dark .chatroom-tip{color:#f2f3f5;background:#111214}.chatroom-panel.is-dark .chatroom-reply-cancel{color:#b5bac1}.chatroom-panel.is-dark .chatroom-reply-cancel:hover{background:#ffffff1a}.chatroom-panel.is-dark .chatroom-guest-hint{color:#b5bac1;background:#ffffff0d;border-color:#fff3}.chatroom-panel.is-dark .chatroom-settings-pop{background:#111214;border:0;box-shadow:0 8px 28px #00000073}.chatroom-panel.is-dark .chatroom-settings-title,.chatroom-panel.is-dark .chatroom-settings-note{color:#949ba4}.chatroom-panel.is-dark .chatroom-theme-btn,.chatroom-panel.is-dark .chatroom-size-btn{color:#dbdee1;background:#383a40;border-color:#1e1f22}.chatroom-panel.is-dark .chatroom-theme-btn.is-on{color:#fff;background:#5865f2}.chatroom-panel.is-dark .chatroom-size-value,.chatroom-panel.is-dark .chatroom-settings-option{color:#dbdee1}.chatroom-panel.is-dark .chatroom-settings-option:hover{background:#2b2d31}.chatroom-panel.is-dark .chatroom-settings-option.is-on{background:#5865f24d}.chatroom-panel.is-dark .chatroom-settings-option.is-voice-trigger{border-color:#fff3}.chatroom-panel.is-dark .chatroom-pins-btn{color:#dbdee1;background:#383a40;border-color:#1e1f22;box-shadow:2px 2px #1e1f22}.chatroom-panel.is-dark .chatroom-pins-btn:hover,.chatroom-panel.is-dark .chatroom-pins-btn.is-open{background:#404249}.chatroom-panel.is-dark .chatroom-pins-count{color:#fff;background:#5865f2;border-color:#1e1f22}.chatroom-panel.is-dark .chatroom-pins-pop{background:#111214;border:0;box-shadow:0 8px 28px #00000073}.chatroom-panel.is-dark .chatroom-pins-title,.chatroom-panel.is-dark .chatroom-pins-empty{color:#949ba4}.chatroom-panel.is-dark .chatroom-pin-item{color:#dbdee1;background:#ffffff0f;border-left-color:#5865f2}.chatroom-panel.is-dark .chatroom-pin-item:hover{background:#ffffff17}.chatroom-panel.is-dark .chatroom-pin-item-name{color:#9aa3f7}.chatroom-panel.is-dark .chatroom-pin-item-text{color:#dbdee1}.toast{z-index:50;color:var(--parchment);border:3px solid var(--accent);box-shadow:4px 4px 0 var(--shadow);text-align:center;background:#2a1c12f2;max-width:min(90vw,420px);padding:10px 16px;font-size:13px;font-weight:700;animation:.2s ease-out toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.btn-map-editor{color:#2a1a08;letter-spacing:.04em;cursor:pointer;background:linear-gradient(#f6d078 0%,#e4a04a 48%,#c47a1a 100%);border:2px solid #3d2412;border-radius:999px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:8px 14px 8px 12px;font-size:13px;font-weight:800;transition:transform .12s,filter .12s,box-shadow .12s;display:inline-flex;box-shadow:0 2px #3d2412,0 6px 16px #e4a04a73,inset 0 1px #ffffff59}.btn-map-editor:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 3px #3d2412,0 10px 20px #e4a04a8c,inset 0 1px #fff6}.btn-map-editor:active{transform:translateY(1px);box-shadow:0 1px #3d2412,0 3px 8px #e4a04a59,inset 0 1px #ffffff40}.btn-map-editor:focus-visible{outline-offset:3px;outline:2px solid #e8b84b}.btn-map-editor-icon{flex-shrink:0;width:18px;height:18px;display:inline-flex}.btn-map-editor-icon svg{width:18px;height:18px;display:block}.btn-editor.btn-map-editor{border-radius:12px;width:auto;min-width:156px;min-height:44px;padding:12px 22px;font-size:16px;line-height:normal}.editor-entry-backdrop{z-index:220;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1a120c9e;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor-entry-dialog{border:3px solid var(--wood,#5c3a1e);background:linear-gradient(180deg, #fff8ea 0%, var(--parchment,#f6e7c8) 100%);width:min(400px,100%);color:var(--ink,#3b2a1a);box-shadow:6px 6px 0 var(--shadow,#1a120c59);text-align:center;border-radius:14px;padding:22px 20px 18px}.editor-entry-icon{background:#fffaebcc;border:2px solid #5c3a1e59;border-radius:14px;place-items:center;width:56px;height:56px;margin:0 auto 10px;display:grid}.editor-entry-dialog h3{letter-spacing:.02em;color:var(--wood-dark,#3d2412);margin:0 0 10px;font-size:18px;font-weight:800}.editor-entry-copy{color:var(--ink-soft,#5c4a32);margin:0 0 8px;font-size:13px;line-height:1.55}.editor-entry-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.btn-entry-mobile{min-width:168px}@media (width<=480px){.editor-entry-actions{flex-direction:column;align-items:stretch}.btn-entry-mobile{width:100%}}.chat-composer-wrap{flex-direction:column;gap:6px;margin-top:auto;display:flex}.composer-tip{color:#5c3a1e;background:#f6e7c1;border:2px solid #3d2412;margin:0;padding:6px 10px;font-size:12px;line-height:1.4}.chat-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.chat-stage .dialog-log{flex:1}.composer-field{background:#fffaf0;border:3px solid #3d2412;border-radius:0;flex:1;align-items:center;min-width:0;padding-right:4px;display:flex;position:relative;overflow:hidden;box-shadow:inset 2px 2px #00000014}.composer-field:focus-within{background:#fff;border-color:#c45c26}.composer-field.is-listening{border-color:#c45c26;box-shadow:inset 2px 2px #00000014,0 0 0 2px #c45c2640}.composer-field input,.composer-field textarea{color:#2a1c12;resize:none;box-sizing:border-box;background:0 0;border:0;outline:none;flex:1;min-width:0;min-height:42px;max-height:92px;padding:8px 8px 8px 12px;font-family:inherit;font-size:14px;line-height:1.45;overflow-y:hidden}.mic-infield{color:#5c3a1e;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-right:8px;padding:0;display:inline-flex;overflow:hidden}.mic-infield svg{width:16px;height:16px;display:block}.mic-infield:hover{color:#c45c26;background:#c45c261a}.mic-infield.is-on{color:#c45c26;background:#c45c2629;animation:1s ease-in-out infinite mic-pulse}.mic-infield.is-disabled{opacity:.35;cursor:default}@keyframes mic-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (width<=480px){.dialog-composer{gap:6px}.composer-field input{min-height:40px;padding-left:10px}.mic-infield{width:34px;height:34px}.composer-send{width:38px;height:38px}.live-toggle{width:36px;height:36px}}.live-switch-err{color:#8a3020;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:11px;overflow:hidden}.live-voice-row{align-items:center;gap:6px;margin-top:6px;display:flex}.live-voice-play{color:#2a1c12;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#f6e7c8;border:1.5px solid #3d2412;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:inline-flex}.live-voice-play-glyph{width:12px;height:12px;display:block}@media (hover:hover){.live-voice-play:hover{background:#e0c48a}}.live-voice-play.is-on{color:#fff8ea;background:#c45c26}.live-voice-play.is-disabled,.live-voice-play:disabled{opacity:.45;cursor:default}.live-voice-spin{flex-shrink:0;width:12px;height:12px}.live-voice-menu{flex:1;min-width:0;position:relative}.live-voice-trigger{align-items:center;gap:6px;max-width:220px;display:flex}.live-voice-pick{color:#3b2a1a;cursor:pointer;text-align:left;background:#f6e7c8;border:1.5px solid #3d2412;border-radius:2px;flex:1;align-items:center;gap:4px;width:auto;min-width:0;max-width:180px;min-height:24px;padding:2px 6px;font-family:inherit;font-size:12px;line-height:1.3;display:flex}.live-voice-pick-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.live-voice-pick-caret{opacity:.75;flex-shrink:0;align-self:center;font-size:20px;line-height:1;transform:translateY(-2px)}.live-voice-pick.is-open{border-color:#c45c26}.live-voice-pick:disabled{opacity:.55;cursor:default}.live-voice-pick:focus-visible{outline-offset:1px;outline:2px solid #c45c26}.live-voice-modal-backdrop{z-index:80;background:#100a0673;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.live-voice-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f6e7c8;border:2px solid #3d2412;border-radius:4px;width:min(320px,100%);max-height:min(70vh,420px);padding:6px;overflow-y:auto;box-shadow:3px 3px #3d241247;touch-action:pan-y!important}.live-voice-pop{z-index:70;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f6e7c8;border:2px solid #3d2412;border-radius:4px;max-height:min(48vh,260px);padding:4px;position:fixed;overflow-y:auto;box-shadow:3px 3px #3d241247;touch-action:pan-y!important}.live-voice-group{color:#8a7355;letter-spacing:.04em;padding:6px 8px 2px;font-size:12px;font-weight:700}.live-voice-option{color:#2a1c12;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;border-radius:2px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:6px 8px;font-family:inherit;font-size:12px;line-height:1.35;display:flex}@media (hover:hover) and (pointer:fine){.live-voice-option:hover{background:#e0c48a;outline:none}}.live-voice-option:focus-visible{background:#e0c48a;outline:none}.live-voice-option.is-on{color:#fff8ea;background:#c45c26}.live-voice-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.live-voice-dot{background:#3d2412;border-radius:50%;flex-shrink:0;width:10px;height:10px}.live-voice-option.is-on .live-voice-dot{background:#fff8ea}.speak-spin{border:2px solid #2a1c1240;border-top-color:#c45c26;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite speak-spin}@keyframes speak-spin{to{transform:rotate(360deg)}}.chat-clear[data-tip]{position:relative}.chat-clear[data-tip]:hover:after{content:attr(data-tip);color:#fff8ea;letter-spacing:0;white-space:nowrap;z-index:10;pointer-events:none;background:#3d2412;border:1px solid #5c3a1e;width:max-content;max-width:200px;padding:5px 8px;font-size:11px;font-weight:400;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.dialog-top-actions .chat-clear[data-tip]:hover:after{top:calc(100% + 4px);bottom:auto}.chat-jump-end{z-index:15;color:#3d2412;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;opacity:1;background:#fffaf0f2;border:2px solid #3d2412;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%);box-shadow:2px 2px #3d241259}.chat-jump-end:hover{color:#1a120c;background:#fff8ea;border-color:#1a120c}.chat-jump-end:active{transform:translate(-50%)scale(.96)}.chat-style-controls{z-index:15;align-items:center;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.chat-style-btn{color:#3d2412;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#f6e7c8;border:2px solid #3d2412;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex;position:relative;box-shadow:1px 1px #3d241240}.chat-style-btn:hover:not(:disabled),.chat-style-btn.is-open{background:#e8d2a4}.chat-style-btn:disabled{opacity:.4;cursor:default}.chat-style-a{font-size:13px;font-weight:800;line-height:1}.chat-style-a.is-sm{font-size:11px}.chat-style-plus,.chat-style-minus{margin-left:1px;font-size:10px;font-weight:800;line-height:1}.chat-font-wrap{position:relative}.chat-font-pop{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:30;touch-action:pan-y;background:#f6e7c8;border:2px solid #3d2412;min-width:148px;max-height:220px;padding:2px;position:absolute;bottom:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:3px 3px #3d241247}.chat-font-option{color:#2a1c12;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;display:flex}@media (hover:hover) and (pointer:fine){.chat-font-option:hover{background:#e8d2a4;outline:none}}.chat-font-option.is-on{color:#fff8ea;background:#c45c26}.chat-font-check{font-size:12px}@media (width<=719px){:root{--topbar-h:52px}html,body{overscroll-behavior:none;touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.game-shell,.dialog-backdrop,.title-screen{overscroll-behavior:none;touch-action:manipulation}.top-bar{height:auto;min-height:var(--topbar-h);z-index:30;flex-wrap:nowrap;gap:0;max-height:none;padding:6px 8px;position:relative;overflow:visible}.brand{flex:auto;gap:6px;min-width:0;overflow:visible}.brand-text{flex:auto;min-width:0;padding-right:15px}.brand strong{text-overflow:ellipsis;white-space:nowrap;max-width:none;font-size:11px;display:block;overflow:hidden}.brand-origin:not(.is-before){display:none}.brand-origin.is-before{vertical-align:-2px;margin-left:0;margin-right:5px;display:inline-flex}.brand-origin.is-before .scene-origin-icon{width:14px;height:14px}.brand-tagline{margin:1px 0 0;font-size:10px;display:block}.top-actions{flex-wrap:nowrap;flex:none;align-items:center;gap:4px;max-width:none;margin-left:0;overflow:visible}.top-actions-desktop{display:none}.top-actions .btn-ghost,.top-actions .lang-btn,.top-actions .scene-btn{border-width:2px;min-width:0;min-height:34px;padding:4px 8px;font-size:12px}.top-actions .btn-map-editor{gap:4px;min-height:34px;padding:4px 10px;font-size:12px}.btn-map-editor-icon,.btn-map-editor-icon svg{width:14px;height:14px}.live-voice-pick,.live-voice-group,.live-voice-option{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-size:12px}.live-voice-option:hover,.live-voice-option:active{background:0 0;outline:none}.live-voice-option.is-on{color:#fff8ea;background:#c45c26}.side-panel{opacity:0;pointer-events:none;width:min(360px,100vw - 24px);max-height:min(70svh,520px);inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(.96)}.side-panel.is-open{opacity:1;pointer-events:auto;z-index:40;transform:translate(-50%,-50%)scale(1)}.side-panel .quest-panel{max-height:inherit}.title-screen{flex-direction:column;justify-content:flex-end;align-items:center;padding:24px 14px 14px;display:flex;overflow:hidden}.title-card{margin-top:auto;margin-bottom:0;overflow:visible}.title-wordmark{width:min(360px,88%);margin-bottom:2px}.title-logo-wrap{justify-content:center;width:100%;margin-top:-80px;margin-bottom:-4px;display:flex}.title-logo{width:min(186px,44vw)}.title-tagline{margin-bottom:10px;font-size:13.5px}.title-intro{margin-bottom:14px;padding:11px 13px;font-size:12.5px;line-height:1.65}.title-footnote{margin-top:10px;font-size:11px}.btn-lang{font-size:12px}.btn-primary,.btn-map-editor.btn-editor{min-height:40px;padding:10px 18px;font-size:15px}.title-actions{flex-direction:unset;grid-template-columns:2fr 1fr;align-items:stretch;gap:10px;width:100%;display:grid}.btn-enter{grid-column:1/-1;width:100%}.title-actions .btn-editor,.title-actions .btn-map-editor{justify-content:center;width:100%}.title-actions .btn-lang{justify-content:center;width:100%;min-width:0}.dialog-name{font-size:16px}.dialog-intro{font-size:11px}.dialog-top .dialog-portrait.is-sized,.dialog-frame.is-tabbed .dialog-top .dialog-portrait.is-sized{margin-top:6px!important}.dialog-top .dialog-identity{margin-top:6px}.dialog-portrait.is-sized{min-width:52px;min-height:52px;width:52px!important;height:52px!important}.dialog-tab{min-height:36px;font-size:12px}.dialog-tab-badge{font-size:10px}.chat-bubble{font-size:13px}.chat-who,.chat-time{font-size:calc(var(--chat-font-size,14px) * 10 / 14)}.chat-msg-menu-btn{opacity:1;pointer-events:auto;width:34px;height:34px}.chat-msg-menu:not(.is-open):not(.is-selected) .chat-msg-menu-btn{opacity:0;pointer-events:none}.chat-msg-menu-pop{min-width:140px}.chat-msg-menu-pop button{min-height:44px;padding:10px 12px;font-size:14px}.chat-clear{font-size:11px}.dialog-done{font-size:12px}.composer-tip{font-size:11px}.dialog-top-actions{top:10px;right:13px}.dialog-top-actions .dialog-top-close{border-radius:0}.live-voice-play{width:24px;height:24px}.live-voice-play-glyph{width:12px;height:12px}.btn-pixel,.dialog-quest-title{font-size:13px}.dialog-quest-desc{font-size:12px}.dialog-quest-line{font-size:11px}.quest-pill{font-size:10px}.dialog-quest-empty,.dialog-quest-actions .btn-pixel,.btn-chip{font-size:12px}.dialog-composer input,.dialog-composer textarea{touch-action:manipulation;min-height:42px;padding:8px 12px;font-size:16px}.dialog-ai-model,.dialog-ai-note{font-size:9px}.panel-title{font-size:15px}.toast{font-size:12px;bottom:16px}}.mobile-header-menu{display:none}@media (width<=719px){.mobile-header-menu{flex:none;display:block;position:relative}.hamburger-btn{color:#2a1a08;background:linear-gradient(#f6d078 0%,#e4a04a 48%,#c47a1a 100%);border:2px solid #3d2412;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;line-height:1;display:inline-flex;box-shadow:0 2px #3d2412,0 4px 12px #e4a04a66,inset 0 1px #ffffff59}.hamburger-btn.is-open{filter:brightness(1.05);box-shadow:0 1px #3d2412,inset 0 1px #ffffff59}.hamburger-pop{z-index:80;background:#f6e7c8;border:3px solid #3d2412;flex-direction:column;min-width:148px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.hamburger-pop button{color:#2a1c12;text-align:left;border-bottom:2px solid #3d241226;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.hamburger-pop button:last-child{border-bottom:none}.hamburger-pop button:active{background:#e8d2a4}.hamburger-sub{opacity:.7;font-size:11px}}html.is-kb-open,html.is-kb-open body{overscroll-behavior:none;width:100%;height:100%;position:fixed;inset:0;overflow:hidden!important}html.is-kb-open .game-shell,html.is-kb-open .game-main,html.is-kb-open .village-scene,html.is-kb-open .dialog-backdrop,html.is-kb-open .dialog-panel,html.is-kb-open .dialog-frame,html.is-kb-open .dialog-body,html.is-kb-open .chat-stage,html.is-kb-open .dialog-top,html.is-kb-open .chat-composer-wrap,html.is-kb-open .dialog-composer{touch-action:pan-y!important;overscroll-behavior:none!important;overflow:hidden!important}html.is-kb-open .dialog-composer .composer-field,html.is-kb-open .dialog-composer input,html.is-kb-open .dialog-composer textarea{touch-action:manipulation!important}html.is-kb-open .village-scene,html.is-kb-open .map-stage{pointer-events:none!important}html.is-kb-open .game-shell{top:var(--vv-top,0px)!important;height:var(--vv-h,100%)!important;position:fixed!important;bottom:auto!important;left:0!important;right:0!important;overflow:hidden!important}html.is-kb-open .dialog-log{-webkit-overflow-scrolling:touch;touch-action:pan-y!important;overscroll-behavior:contain!important;overflow:hidden auto!important}html.is-kb-open .live-voice-pop,html.is-kb-open .live-voice-pop *,html.is-kb-open .live-voice-modal,html.is-kb-open .live-voice-modal *{touch-action:pan-y!important}html.is-kb-open .live-voice-pop,html.is-kb-open .live-voice-modal{-webkit-overflow-scrolling:touch;overscroll-behavior:contain!important;overflow-y:auto!important}html.is-kb-open .live-voice-modal-backdrop{touch-action:none!important}.dialog-backdrop.is-chat-focus{touch-action:pan-y;overscroll-behavior:none;pointer-events:auto;background:0 0;justify-content:stretch;align-items:stretch;padding:0;position:fixed;inset:0;overflow:hidden}.dialog-panel.is-chat-focus{top:var(--vv-top,0px);width:auto;max-width:none;height:var(--vv-h,100%);touch-action:pan-y;overscroll-behavior:none;max-height:none;animation:none;position:fixed;left:0;right:0;overflow:hidden}.dialog-panel.is-chat-focus .dialog-frame{touch-action:pan-y;height:100%;min-height:0;max-height:none;overflow:hidden}@media (hover:none),(pointer:coarse){.chatroom-panel.is-fullscreen .chatroom-input,.chatroom-panel.is-fullscreen .chatroom-send{min-height:44px}.dialog-panel.is-chat-focus .dialog-body.is-chat{padding-bottom:max(16px, env(safe-area-inset-bottom,0px))}}.dialog-panel.is-chat-focus .dialog-top{border-bottom:1px solid #3d24122e;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.dialog-panel.is-chat-focus .dialog-portrait.is-sized{border-radius:50%;align-self:center;min-width:28px;min-height:28px;width:28px!important;height:28px!important;box-shadow:none!important;border-width:2px!important;margin-top:0!important}.dialog-panel.is-chat-focus .dialog-npc-img{padding:1px}.dialog-panel.is-chat-focus .dialog-identity{align-self:center;align-items:center;min-width:0;min-height:28px;margin-top:0;display:flex}.dialog-panel.is-chat-focus .dialog-identity-row{align-items:center;width:100%;padding-right:100px}.dialog-panel.is-chat-focus .dialog-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.2;position:relative;top:3px;overflow:hidden}.dialog-panel.is-chat-focus .dialog-intro,.dialog-panel.is-chat-focus .dialog-tabs,.dialog-panel.is-chat-focus .dialog-ai-footer,.dialog-panel.is-chat-focus .dialog-chips{display:none}.dialog-panel.is-chat-focus .dialog-top-actions{display:flex;position:absolute;top:5px;right:5px}@media (width<=719px){.dialog-panel.is-chat-focus .dialog-top-actions{top:10px;right:13px}}.dialog-panel.is-chat-focus .dialog-top-close{border-radius:0;width:28px;height:28px}.dialog-panel.is-chat-focus .dialog-body.is-chat{flex:1;gap:6px;min-height:0;padding:6px 12px 8px 10px;overflow:hidden}.dialog-panel.is-chat-focus .dialog-log{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;gap:6px;min-height:60px;padding:6px 8px;overflow:hidden auto}.dialog-panel.is-chat-focus .chat-bubble{font-size:var(--chat-font-size,14px);font-family:var(--chat-font-family,inherit);padding:6px 8px}.dialog-panel.is-chat-focus .chat-who,.dialog-panel.is-chat-focus .chat-time{font-size:calc(var(--chat-font-size,14px) * 9 / 14)}.dialog-panel.is-chat-focus .dialog-composer input,.dialog-panel.is-chat-focus .dialog-composer textarea{min-height:36px;padding:6px 8px;font-size:16px}.dialog-panel.is-chat-focus .chat-composer-wrap,.dialog-panel.is-chat-focus .dialog-composer{flex-shrink:0}.dialog-panel.is-chat-focus .composer-send{width:36px;height:36px}html.is-kb-open .dialog-body.is-chat,.dialog-panel.is-chat-focus .dialog-body.is-chat{padding-right:max(14px, env(safe-area-inset-right,0px));padding-left:10px}html.is-kb-open .dialog-composer,.dialog-panel.is-chat-focus .dialog-composer{padding-right:max(4px, env(safe-area-inset-right,0px))}@media (width<=719px){html.is-kb-open .dialog-body.is-chat,.dialog-panel.is-chat-focus .dialog-body.is-chat{padding-right:max(9px, env(safe-area-inset-right,0px))}}.dialog-panel.is-chat-focus .live-toggle{width:34px;height:34px}@media (width>=720px){.dialog-panel.is-chat-focus .dialog-top{justify-content:center;gap:8px;width:100%;padding:11px 100px 6px}.dialog-panel.is-chat-focus .dialog-portrait.is-sized{margin-top:0!important}.dialog-panel.is-chat-focus .dialog-identity{margin-top:0}.dialog-panel.is-chat-focus .dialog-identity-row{padding-right:0}.dialog-panel.is-chat-focus .dialog-name{text-align:center;top:0}.dialog-panel.is-chat-focus .dialog-top-actions{top:10px;right:17px}}.a2hs-backdrop{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#100a068c;place-items:center;padding:20px 16px;display:grid;position:fixed;inset:0}.a2hs-card{text-align:center;color:#2a1c12;background:linear-gradient(#faf1d9 0%,#f3e4bc 55%,#ead6a8 100%);border:3px solid #3d2412;border-radius:6px;width:min(340px,100%);padding:18px 16px 14px;box-shadow:inset 0 0 0 2px #f6e7c8,0 0 0 3px #1a120c,0 16px 36px #0006}.a2hs-icon{justify-content:center;margin-bottom:6px;display:flex}.a2hs-title{letter-spacing:.04em;margin:0 0 8px;font-size:16px;font-weight:800}.a2hs-copy{color:#5c3a1e;margin:0 0 12px;font-size:12px;line-height:1.55}.a2hs-steps{text-align:left;color:#3d2412;background:#fff8eb8c;border:2px solid #c4a06a;border-radius:4px;margin:0 0 12px;padding:8px 10px 8px 28px;font-size:12px;line-height:1.7}.a2hs-actions{justify-content:center;gap:8px;display:flex}.a2hs-actions .btn-ghost,.a2hs-actions .btn-primary{flex:1;min-height:36px;padding:6px 14px;font-size:13px}.a2hs-go{color:#fff8ea;background:#c45c26}@media (width<=719px) and (height<=720px){.title-screen{padding:48px 12px 10px}.title-logo-wrap{margin-top:-56px;margin-bottom:-2px}.title-logo{width:min(132px,34vw)}.title-wordmark{width:min(280px,78%);margin-bottom:0}.title-tagline{margin-bottom:8px;font-size:12px}.title-intro{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:10px;padding:8px 10px;font-size:11.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.title-footnote{display:none}.btn-primary,.btn-map-editor.btn-editor{min-height:36px;padding:8px 14px;font-size:13px}.title-actions{gap:8px}}@media (width<=719px){.scene-hud{flex-direction:column;gap:6px}.village-scene .scene-refresh-btn{display:grid!important}.chat-jump-end{width:30px;height:30px;bottom:4px}.chat-style-controls{gap:5px;bottom:4px;right:4px}.chat-style-btn{border-radius:8px;width:36px;height:36px}.chatroom-backdrop{padding:8px}.chatroom-panel{width:100%;min-width:0;max-width:100vw;max-height:88svh;padding:10px}.chatroom-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0}.chatroom-main,.chatroom-log-stage,.chatroom-log,.chatroom-composer{min-width:0}.chatroom-presence{flex-direction:row;align-items:center;min-width:0;overflow:auto hidden}.chatroom-presence-head{border-bottom:none;border-right:2px solid #3d241226;flex-shrink:0;gap:3px;padding:4px 8px}.chatroom-presence-list{align-items:center;gap:6px;min-width:0;padding:6px;display:flex;overflow-x:auto}.chatroom-presence-row{flex-shrink:0;padding:0}.chatroom-presence-btn{justify-content:center;width:44px;height:44px;padding:4px}.chatroom-presence .chatroom-avatar{width:36px;height:36px;font-size:17px}.chatroom-presence-name,.chatroom-presence-you{display:none}.chatroom-msg{grid-template-columns:28px minmax(0,1fr);gap:0 8px}.chatroom-msg-gutter .chatroom-avatar{width:28px;height:28px}.chatroom-head-actions .chat-fullscreen,.chatroom-hoverbar{display:none}.chatroom-head-actions{position:relative}.chatroom-pins,.chatroom-settings{position:static}.chatroom-pins-pop,.chatroom-settings-pop{width:min(300px,100vw - 48px);max-width:calc(100vw - 48px)}.room-menu.is-sheet .room-menu-item{padding:12px 10px;font-size:15px}.chatroom-panel.is-fullscreen{border-width:0}}@media (width<=719px) and (orientation:portrait){.chatroom-backdrop,.chatroom-backdrop.is-fullscreen{justify-content:stretch;align-items:stretch;padding:0}.chatroom-panel,.chatroom-panel.is-fullscreen{width:100%;min-width:0;max-width:100vw;height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);padding:max(10px, env(safe-area-inset-top,0px)) max(10px, env(safe-area-inset-right,0px)) 0px max(10px, env(safe-area-inset-left,0px));border-width:0;border-radius:0;margin:0;animation:none}.chatroom-head{flex-wrap:nowrap;gap:6px}.chatroom-emblem{width:32px;height:32px}.chatroom-head-text{min-width:0}.chatroom-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.chatroom-sub{font-size:10px}.chatroom-head-actions{gap:4px;margin-left:auto}.chatroom-pins-btn,.chatroom-settings-btn{height:28px;min-height:28px;padding:0 7px;font-size:11px}.chatroom-close{width:28px;height:28px;min-height:28px}.chatroom-body{flex:1;min-height:0}.chatroom-input-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}.chatroom-count{display:none}.chatroom-input{min-width:0;font-size:16px}.chatroom-send{padding:0}.chatroom-input,.chatroom-send{min-height:44px}}@media (hover:none),(pointer:coarse){.chatroom-panel.is-fullscreen{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px);padding-bottom:0}.dialog-panel.is-chat-focus{height:calc(100dvh - 10px)}}@media (width<=719px){.dialog-panel.is-chat-focus{height:calc(100dvh - 10px)}}html.is-kb-open .chatroom-panel.is-fullscreen{height:var(--vv-h,100%);max-height:var(--vv-h,100%);padding-bottom:0}html.is-kb-open .dialog-panel.is-chat-focus{height:var(--vv-h,100%)}html.is-kb-open .chatroom-backdrop{top:var(--vv-top,0px);height:var(--vv-h,100%);bottom:auto}html.is-kb-open .chatroom-panel{height:var(--vv-h,100%);max-height:var(--vv-h,100%)}html.is-kb-open .chatroom-panel,html.is-kb-open .chatroom-body,html.is-kb-open .chatroom-log{overscroll-behavior:none!important;overflow:hidden!important}html.is-kb-open .chatroom-log{-webkit-overflow-scrolling:touch;touch-action:pan-y!important;overscroll-behavior:contain!important;overflow:hidden auto!important}html.is-kb-open .chatroom-input{touch-action:manipulation!important}
