.rich-text-content[data-v-cf7c352c]{color:inherit;font-family:inherit;font-size:13px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.rich-text-content[data-v-cf7c352c] p,.rich-text-content[data-v-cf7c352c] ol,.rich-text-content[data-v-cf7c352c] ul,.rich-text-content[data-v-cf7c352c] blockquote,.rich-text-content[data-v-cf7c352c] h2,.rich-text-content[data-v-cf7c352c] h3{margin:0;padding:0}.rich-text-content[data-v-cf7c352c] h2{font-size:1.5em}.rich-text-content[data-v-cf7c352c] h3{font-size:1.17em}.rich-text-content[data-v-cf7c352c] ol,.rich-text-content[data-v-cf7c352c] ul{padding-left:1.5em}.rich-text-content[data-v-cf7c352c] li[data-list=ordered]{list-style-type:decimal}.rich-text-content[data-v-cf7c352c] li[data-list=bullet]{list-style-type:disc}.rich-text-content[data-v-cf7c352c] .ql-ui{display:none}.rich-text-content[data-v-cf7c352c] blockquote{border-left:4px solid #ccc;margin:5px 0;padding-left:16px}.rich-text-content[data-v-cf7c352c] a{color:#06c;text-decoration:underline}.game-canvas-wrap[data-v-f4cc9a45]{flex:1;min-height:0;position:relative;overflow:hidden;z-index:1}.game-canvas[data-v-f4cc9a45]{display:block;width:100%;height:100%;cursor:crosshair}.bg-controls[data-v-f4cc9a45]{position:absolute;top:10px;right:10px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 6px;background:#fffcf5e0;border:1px solid #b09a72;border-radius:999px;box-shadow:0 4px 14px #462f1b2e;color:#4a3b28}.bg-scale-slider[data-v-f4cc9a45]{appearance:auto;-webkit-appearance:none;writing-mode:vertical-lr;direction:rtl;width:22px;height:140px;cursor:pointer;accent-color:#7b302d;color-scheme:light}.bg-move-btn[data-v-f4cc9a45]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;padding:0;background:#fffcf5eb;border:1px solid #b09a72;border-radius:6px;color:#4a3b28;cursor:pointer}.bg-move-btn[data-v-f4cc9a45]:hover{border-color:#7b302d;color:#7b302d}.bg-move-btn.is-active[data-v-f4cc9a45]{background:#7b302d;border-color:#7b302d;color:#fff}html[data-theme=dark]{background:#251e19f0;border-color:#c3a2686b;color:#d8c39a}html[data-theme=dark]{border-color:#c3a268;color:#c3a268}html[data-theme=dark]{background:#9d4546;border-color:#c3a268;color:#f5e7c8}html[data-theme=dark]{background:#1d1916f0;border-color:#c3a2686b;box-shadow:0 5px 18px #0000006b;color:#d8c39a}html[data-theme=dark]{accent-color:#c3a268;color-scheme:dark}:root{color-scheme:light;--bg: #d8c39a;--surface: #ead7ad;--surface-soft: #e2cca0;--surface-hover: #d7bd8c;--line: #b49a6b;--text: #2f2820;--muted: #665744;--subtle: #8b7557;--accent: #7b302d;--accent-soft: rgba(123, 48, 45, .12);--success: #4f7655;--danger: #9c4b3f;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 10px;--sp-5: 12px;--sp-6: 16px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-pill: 999px;--shadow-1: 0 1px 2px rgba(70, 47, 27, .16), 0 1px 3px rgba(70, 47, 27, .12);--shadow-2: 0 2px 6px rgba(70, 47, 27, .16), 0 6px 18px rgba(70, 47, 27, .18);--shadow-3: 0 4px 10px rgba(70, 47, 27, .2), 0 12px 30px rgba(70, 47, 27, .24);--shadow-panel: 0 3px 10px rgba(70, 47, 27, .2), 0 18px 45px rgba(70, 47, 27, .3)}*{box-sizing:border-box}*{scrollbar-color:rgba(123,48,45,.42) transparent;scrollbar-width:thin}*::-webkit-scrollbar{height:6px;width:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#7b302d61;border:1px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#7b302d94}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,sans-serif;font-size:14px;position:relative}body:before{background-image:linear-gradient(#d8c39a8f,#d8c39a8f),url(/img/parchment-texture.svg);background-position:center;background-size:cover;content:"";inset:0;opacity:.32;pointer-events:none;position:fixed;z-index:-1}.app-shell{min-height:100vh;position:relative}.madness-aura{animation:madness-aura-breathe 2.6s ease-in-out infinite;background:linear-gradient(90deg,rgba(125,50,190,.4),transparent 23%,transparent 77%,rgba(125,50,190,.4)),linear-gradient(0deg,rgba(91,38,151,.36),transparent 24%,transparent 76%,rgba(91,38,151,.36));box-shadow:inset 0 0 92px #8639c494,inset 0 0 180px #42196957;inset:0;pointer-events:none;position:absolute;z-index:14}.madness-aura:before,.madness-aura:after{border:9px solid rgba(171,91,232,.22);content:"";inset:0;pointer-events:none;position:absolute}.madness-aura:before{filter:blur(8px)}.madness-aura:after{border-width:2px;box-shadow:inset 0 0 38px #c274f44d}.permanent-madness-aura{animation:permanent-madness-breathe 3.6s ease-in-out infinite;background:radial-gradient(ellipse at center,#2007312e 30%,#1f0430c2 68%,#12011cf0);box-shadow:inset 0 0 150px 42px #3f0a5ee6,inset 0 0 300px 80px #11011be0;inset:0;pointer-events:none;position:absolute;z-index:15}.permanent-madness-aura:before,.permanent-madness-aura:after{border:22px solid rgba(60,8,91,.88);content:"";inset:0;pointer-events:none;position:absolute}.permanent-madness-aura:before{filter:blur(10px)}.permanent-madness-aura:after{border-color:#5c188394;border-width:5px;box-shadow:inset 0 0 70px #290440d1}.permanent-madness-notice{animation:permanent-madness-notice 3.6s ease-in-out infinite;background:#0d0116e6;border:1px solid rgba(157,91,202,.72);box-shadow:0 0 34px #57107e8c,0 14px 45px #00000080;color:#ead4ff;font-size:clamp(18px,2.4vw,28px);left:50%;letter-spacing:.12em;padding:16px 28px;pointer-events:none;position:absolute;text-align:center;text-shadow:0 0 20px rgba(190,121,242,.72);top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:16}@keyframes permanent-madness-breathe{0%,to{filter:saturate(.92);opacity:.92}50%{filter:saturate(1.12);opacity:1}}@keyframes permanent-madness-notice{0%,to{opacity:.82;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.018)}}.death-aura{animation:death-aura-pulse 4.2s ease-in-out infinite;background:radial-gradient(ellipse at center,#03030414 30%,#050407b8 72%,#000000eb);box-shadow:inset 0 0 155px 38px #000000e6,inset 0 0 290px 72px #08040ddb;inset:0;pointer-events:none;position:absolute;z-index:15}.death-aura:before,.death-aura:after{border:24px solid rgba(0,0,0,.9);content:"";inset:0;pointer-events:none;position:absolute}.death-aura:before{filter:blur(11px)}.death-aura:after{border-color:#0f0c14cc;border-width:6px;box-shadow:inset 0 0 82px #000000d1}.death-notice{animation:death-notice-pulse 4.2s ease-in-out infinite;background:#030304e6;border:1px solid rgba(154,154,164,.5);box-shadow:0 0 32px #000000c7,0 14px 45px #00000094;color:#e5e5e8;font-size:clamp(18px,2.4vw,28px);left:50%;letter-spacing:.12em;padding:16px 28px;pointer-events:none;position:absolute;text-align:center;text-shadow:0 0 18px rgba(220,220,230,.45);top:50%;transform:translate(-50%,-50%);white-space:nowrap;z-index:16}@keyframes death-aura-pulse{0%,to{filter:contrast(.96);opacity:.9}50%{filter:contrast(1.08);opacity:1}}@keyframes death-notice-pulse{0%,to{opacity:.82;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.015)}}@keyframes madness-aura-breathe{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.72;transform:scale(1.014)}}@media(prefers-reduced-motion:reduce){.madness-aura{animation:none;opacity:.42}.permanent-madness-aura,.permanent-madness-notice,.death-aura,.death-notice{animation:none}}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.topbar{align-items:center;background:#dfc99df0;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #462f1b1f;display:flex;height:72px;justify-content:space-between;padding:0 28px;position:relative;z-index:90}.topbar__brand,.topbar__actions,.panel-heading,.chat-room,.chat-form{align-items:center;display:flex}.topbar__brand{gap:14px}.topbar-game-status{background:#7b302d1f;border:1px solid rgba(123,48,45,.25);border-radius:4px;color:var(--accent);font-size:12px;font-weight:500;margin-left:8px;padding:4px 10px;white-space:nowrap}.player-list-btn{background:var(--accent);border:0;border-radius:4px;color:#f3e5c2;cursor:pointer;font-size:12px;font-weight:600;margin-left:8px;padding:5px 12px}.player-list-btn:hover{background:#8f3935}.player-list-btn.is-recruiting{animation:recruitingPulse 1.6s ease-in-out infinite;box-shadow:0 0 #a8383000}@keyframes recruitingPulse{0%,to{box-shadow:0 0 #a8383059}50%{box-shadow:0 0 0 6px #a8383000}}.player-list-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.player-list-backdrop[hidden]{display:none}.player-list-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;left:50%;max-height:calc(100vh - 140px);overflow-y:auto;padding:22px;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(1080px,94vw);z-index:15}.player-list-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.player-list-head h2{font-size:20px;font-weight:500;margin:0}.player-list-head .section-label{margin:0 0 2px}.player-list-head-actions{align-items:center;display:flex;gap:10px}.player-limit-control{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px}.player-limit-control button{background:var(--accent-soft);border:1px solid rgba(123,48,45,.28);border-radius:4px;color:var(--accent);cursor:pointer;font-size:13px;height:22px;line-height:1;width:22px}.player-limit-control strong{color:var(--accent);font-size:14px}.recruit-room-btn{background:#2d6b4e;border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 14px}.recruit-room-btn:hover{background:#24563f}.player-list-grid{display:grid;gap:12px;grid-template-columns:repeat(8,minmax(0,1fr))}.player-slot-entry{display:flex;flex-direction:column;gap:4px;min-width:0}.player-slot{align-items:center;background:#e2cca066;border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 6px;position:relative}.player-slot.is-mine{border-color:#7b302d8c}.player-slot.is-pending{border-color:#b49a6b8c}.player-slot.is-empty{background:#e2cca02e;border-style:dashed}.player-slot:hover{border-color:var(--accent)}.player-slot-portrait{align-items:center;background:#123b2b;border-radius:4px;color:#f3e5c2;display:flex;font-size:26px;height:138px;justify-content:center;overflow:hidden;position:relative;width:100%}.player-slot-portrait img{height:100%;object-fit:cover;width:100%}.player-slot-buffs{display:none!important}.player-slot-buffs .buff-chip{flex-basis:22px;font-size:14px;height:22px;width:22px}.player-slot-stats{color:var(--subtle);display:flex;font-size:10px;gap:10px}.player-slot-stats span{color:inherit;width:auto}.player-slot-cover{align-items:center;background:#462f1b59;color:#f3e5c2;display:flex;font-size:12px;inset:0;justify-content:center;letter-spacing:2px;position:absolute}.player-slot-badge{background:#3a8a63d9;border-radius:0 0 4px;color:#fff;font-size:11px;left:0;padding:3px 8px;position:absolute;top:0;z-index:2}.player-slot strong{color:var(--text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.player-slot small{color:var(--subtle);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.player-slot-identity{align-items:baseline;display:flex;gap:5px;justify-content:center;max-width:100%;min-width:0}.player-slot-identity>strong{flex:0 1 auto;width:auto}.player-slot-player{background:none;border:0;color:var(--subtle);cursor:pointer;flex:0 1 auto;font-size:10px;min-width:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.player-slot-player--editable:hover{color:var(--accent);text-decoration:underline}button.player-slot-player{cursor:pointer;font-family:inherit;font-size:11px;text-align:left}button.player-slot-player:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.player-controller-picker{background:var(--surface);border:1px solid var(--accent);border-radius:4px;box-shadow:0 12px 28px #00000057;display:grid;gap:4px;left:6px;padding:8px;position:absolute;right:6px;top:calc(100% - 4px);z-index:8}.player-controller-picker>strong{color:var(--muted);font-size:11px}.player-controller-picker>button{align-items:center;background:#14100d14;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font-size:12px;justify-content:space-between;padding:5px 7px;text-align:left}.player-controller-picker>button:hover,.player-controller-picker>button.is-current{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.player-controller-picker>button span{color:var(--subtle);font-size:11px}.player-controller-picker>small{color:var(--danger);font-size:11px;white-space:normal}.player-slot.is-empty small{color:#8a6d3b}.player-slot-plus{align-items:center;color:#8a6d3b;display:flex;font-size:34px;height:138px;justify-content:center;line-height:1}.player-slot-actions{align-items:center;display:flex;gap:6px;justify-content:center;width:100%}.player-slot-actions button{background:var(--accent-soft);border:1px solid rgba(123,48,45,.28);border-radius:4px;color:var(--accent);cursor:pointer;font-size:12px;padding:3px 10px}.player-slot-actions button:hover{background:#a8383026}html[data-theme=dark] .player-slot-actions button{background:#c3a2682e;border-color:#f0cf8a94;color:#f0cf8a;text-shadow:0 1px 1px rgba(0,0,0,.55)}html[data-theme=dark] .player-slot-actions button:hover{background:#c3a2684d;border-color:#f0cf8a;color:#fff0c8}.player-slot-approve{background:#2d6b4e;border:0;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:3px 12px}.player-slot-approve:hover{background:#24563f}.view-card-actions{align-items:center;display:flex;justify-content:flex-end;margin-top:16px}.player-list-foot{color:var(--subtle);font-size:12px;margin:12px 0 0;text-align:right}@media(max-width:900px){.player-list-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.join-picker-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:120}.join-picker-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-height:min(600px,80vh);max-width:420px;overflow-y:auto;padding:22px;width:100%}.join-picker-dialog h2{font-size:20px;font-weight:500;margin:0}.join-picker-list{display:grid;gap:8px;margin-top:12px}.join-picker-list button{align-items:center;background:#e2cca066;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.join-picker-list button:hover{border-color:var(--accent)}.join-picker-list span{color:var(--subtle);font-size:12px}.join-picker-notices{color:var(--muted);font-size:12px;line-height:1.7;margin-top:10px}.join-picker-notices p{margin:0 0 6px}.join-picker-notices p:last-child{margin-bottom:0}.controller-picker-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:120}.controller-picker-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-height:min(640px,82vh);max-width:460px;overflow-y:auto;padding:24px;position:relative;width:100%}.controller-picker-dialog h2{font-size:21px;font-weight:500;margin:0 0 6px}.controller-picker-dialog .auth-description{margin-bottom:4px}.controller-picker-list{display:grid;gap:8px;max-height:min(440px,58vh);overflow-y:auto;padding:4px}.controller-picker-member{align-items:center;background:#9d45462e;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font:inherit;gap:10px;min-width:0;padding:9px 10px;text-align:left;width:100%}.controller-picker-member:hover:not(:disabled),.controller-picker-member.is-current{background:#e2cca059;border-color:var(--accent)}.controller-picker-member:disabled{cursor:default;opacity:.65}.controller-picker-member-info{display:grid;flex:1;gap:4px;min-width:0}.controller-picker-member-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controller-picker-member-info small{color:var(--subtle);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controller-picker-current{color:var(--accent);flex:none;font-size:11px}.controller-picker-actions{display:flex;justify-content:flex-end;margin-top:12px}.view-card-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:130}.view-card-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-height:none;max-width:900px;overflow:visible;padding:26px;position:relative;width:100%}.view-card-dialog h2{font-size:22px;font-weight:500;margin-bottom:6px}.view-card-body{align-items:start;display:grid;gap:18px;grid-template-columns:130px minmax(0,1fr) minmax(0,1fr);margin:12px 0}.view-card-images{background:#123b2b;border:1px solid var(--line);border-radius:4px;flex:0 0 130px;height:180px;overflow:hidden}.view-card-images img{height:100%;object-fit:cover;width:100%}.view-card-noimg{align-items:center;background:#e2cca04d;color:var(--subtle);display:flex;font-size:12px;height:100%;justify-content:center}.view-card-fields{display:grid;gap:6px;grid-column:2;min-width:0}.view-card-fields p{align-items:center;color:var(--muted);display:flex;font-size:12px;line-height:1.4;margin:0;min-height:32px;padding:6px 8px}.view-card-fields strong{color:var(--text)}.view-card-stats-panel{background:#e2cca04d;border:1px solid var(--line);border-radius:4px;box-shadow:0 10px 28px #462f1b33;grid-column:3;min-width:0;padding:14px;position:static;width:auto;z-index:auto}.view-card-stats-panel .section-label{margin-bottom:10px}.view-card-stat-row{align-items:center;border-bottom:1px solid rgba(180,154,107,.4);display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto auto auto;min-height:32px}.view-card-stat-row>div:first-child{align-items:baseline;display:flex;gap:8px;min-width:0}.view-card-stat-row>div:first-child strong{color:var(--accent);font-size:12px;min-width:42px}.view-card-stat-row>div:first-child span,.view-card-stat-max{color:var(--muted);font-size:12px}.view-card-stat-row>b{color:var(--text);font-size:15px;min-width:28px;text-align:right}.view-card-stat-actions{display:flex;gap:4px}.view-card-stat-actions button{background:var(--accent-soft);border:1px solid var(--line);border-radius:4px;color:var(--accent);cursor:pointer;height:24px;line-height:1;padding:0;width:24px}.view-card-stat-actions button:hover{background:#7b302d33}.view-card-stats-hint{color:var(--subtle);font-size:11px;margin:10px 0 0}@media(max-width:900px){.view-card-dialog{max-width:720px}.view-card-body{grid-template-columns:130px minmax(0,1fr)}.view-card-stats-panel{grid-column:1 / -1}}@media(max-width:640px){.view-card-stats-panel{max-height:none;overflow:visible}.view-card-body{grid-template-columns:110px minmax(0,1fr)}.view-card-images{flex-basis:auto;width:110px}}.view-card-attrs{display:grid;gap:6px;grid-template-columns:repeat(8,minmax(0,1fr));margin-bottom:12px}.view-card-attrs span{background:#e2cca059;border-radius:4px;color:var(--muted);font-size:12px;padding:6px 2px;text-align:center}.view-card-attrs strong{color:var(--accent);display:block;font-size:12px}.view-card-skill-scroll{max-height:300px;overflow-y:auto}.view-card-skill-scroll table{table-layout:fixed;width:100%}.view-card-skill-scroll th:first-child{width:35%}.view-card-skill-scroll th:nth-child(2){width:12%}.special-event-backdrop{align-items:center;background:#0a0907b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:280}.indefinite-madness-backdrop{align-items:center;animation:insanity-event-fade-in .7s ease both;background:radial-gradient(circle at center,#4d265cc7,#080708f5 72%);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100001}.special-event-dialog{background:var(--surface);border:1px solid var(--accent);box-shadow:0 22px 70px #0000008c;max-width:460px;padding:26px;width:100%}.special-event-dialog h2{margin:8px 0 12px}.special-event-dialog--indefinite{border-color:#d9a7ff;box-shadow:0 0 0 1px #d9a7ff38,0 0 56px #8e59ce80,0 22px 70px #000000b8}.special-event-dialog--insanity{animation:insanity-event-fade-in .7s ease both;border-color:#b78be8;box-shadow:0 0 0 1px #b78be82e,0 0 42px #8e59ce57,0 22px 70px #000000a6}@keyframes insanity-event-fade-in{0%{opacity:0}to{opacity:1}}.madness-lottery-backdrop{align-items:center;background:radial-gradient(circle at center,#3a234e80,#080708ed 72%);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100002}.madness-lottery-dialog{animation:madness-lottery-enter .65s cubic-bezier(.2,.85,.25,1) both;background:linear-gradient(150deg,#302333fc,#141117fc);border:1px solid rgba(206,157,247,.78);border-radius:8px;box-shadow:0 0 0 1px #ffffff0a,0 0 60px #8b48c059,0 24px 80px #000000c7;color:#f7ebff;max-height:90vh;max-width:530px;overflow-y:auto;padding:26px;position:relative;width:100%}@keyframes madness-lottery-enter{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.madness-lottery-dialog h2{color:#f0d8ff;margin:7px 0 5px;text-shadow:0 0 18px rgba(207,150,255,.38)}.madness-lottery-target{color:#f7ebffb3;font-size:12px;margin:0 0 17px}.madness-lottery-target strong{color:#ffe3a3}.madness-machine{background:linear-gradient(180deg,#0d0a12f2,#2f1d3ac7);border:1px solid rgba(202,150,240,.44);border-radius:6px;box-shadow:inset 0 0 22px #9853d21a;margin-top:11px;overflow:hidden;padding:11px}.madness-machine--nested{margin-left:22px;position:relative}.madness-machine--nested:before{border-left:1px solid rgba(205,157,242,.45);border-top:1px solid rgba(205,157,242,.45);content:"";height:18px;left:-16px;position:absolute;top:-12px;width:15px}.madness-machine-head{align-items:center;color:#f7ebffa6;display:flex;font-size:12px;justify-content:space-between;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.madness-machine-head strong{color:#f4cf83;font-size:12px}.madness-reel{background:#030205b8;border:1px solid rgba(255,221,159,.26);border-radius:4px;display:grid;min-height:108px;overflow:hidden;position:relative;text-align:center}.madness-reel:before,.madness-reel:after{content:"";height:33%;left:0;pointer-events:none;position:absolute;right:0;z-index:1}.madness-reel:before{background:linear-gradient(#030205eb,#03020500);top:0}.madness-reel:after{background:linear-gradient(#03020500,#030205eb);bottom:0}.madness-reel-item{align-items:center;color:#f7ebff61;display:flex;font-size:12px;justify-content:center;min-height:36px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.madness-reel-item--current{background:linear-gradient(90deg,transparent,rgba(199,133,241,.2),transparent);border-bottom:1px solid rgba(244,207,131,.72);border-top:1px solid rgba(244,207,131,.72);color:#fff2c7;font-size:16px;position:relative;text-shadow:0 0 15px rgba(245,187,255,.65);z-index:2}.madness-reel.is-spinning .madness-reel-item--current{animation:madness-reel-pulse .22s ease-in-out infinite alternate}.madness-reel.is-settled .madness-reel-item--current{animation:madness-reel-settle .5s ease both}@keyframes madness-reel-pulse{0%{filter:blur(.2px);opacity:.72}to{filter:blur(1px);opacity:1}}@keyframes madness-reel-settle{0%{box-shadow:0 0 #f4cf8300;transform:scale(1)}45%{box-shadow:0 0 24px #f4cf8359;transform:scale(1.025)}to{box-shadow:0 0 8px #f4cf831f;transform:scale(1)}}.madness-roll-result{color:#f4cf83;font-size:12px;font-weight:700;margin:9px 0 0;text-align:center}.madness-lottery-status{color:#f7ebffad;font-size:12px;margin:17px 0 0;text-align:center}.madness-lottery-error{color:#ffb4a6;font-size:12px;margin:14px 0 0;text-align:center}.madness-lottery-dialog .combat-turn-actions{justify-content:center;margin-top:16px}@media(max-width:720px){.madness-lottery-dialog{max-height:88vh;max-width:calc(100vw - 24px);padding:20px 16px}.madness-machine--nested{margin-left:14px}.madness-machine--nested:before{left:-10px;width:9px}}.san-loss-result-overlay{background:#1c1329f5;border:1px solid rgba(183,139,232,.72);border-radius:4px;box-shadow:0 8px 24px #0000006b;color:#e6d1ff;font-size:14px;font-weight:700;left:50%;max-width:min(560px,calc(100vw - 28px));padding:8px 16px;pointer-events:none;position:fixed;text-align:center;top:clamp(12px,9vh,86px);transform:translate(-50%);z-index:100001}.first-aid-backdrop{align-items:center;background:#0a0907c2;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:290}.first-aid-dialog{background:var(--surface);border:1px solid rgba(200,170,110,.75);box-shadow:0 22px 70px #0009;max-height:82vh;max-width:520px;overflow-y:auto;padding:26px;position:relative;width:100%}.first-aid-dialog.is-new-intent{animation:first-aid-intent-flash 1.5s ease-in-out}@keyframes first-aid-intent-flash{0%,to{border-color:#c8aa6ebf;box-shadow:0 22px 70px #0009}18%,42%,66%,90%{border-color:#f2c76c;box-shadow:0 0 0 3px #f2c76c75,0 22px 70px #0009}}.first-aid-dialog h2{margin:8px 0 12px}.first-aid-target-list,.first-aid-kp-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.first-aid-target{background:#e2cca029;border:1px solid var(--line);border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.first-aid-target-title{align-items:center;display:flex;flex-basis:100%;justify-content:space-between;gap:8px}.first-aid-target-title span{color:var(--accent);font-size:12px}.first-aid-use,.first-aid-check{background:#2d6b4ec7;border:1px solid rgba(160,220,170,.5);border-radius:4px;color:#f5f4e8;cursor:pointer;font-size:12px;padding:6px 9px}.first-aid-use:hover,.first-aid-check:hover{background:#2d824efa}.first-aid-use:disabled,.first-aid-check:disabled{cursor:default;opacity:.55}.first-aid-list-title{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0}.first-aid-intent{align-items:center;background:#e2cca029;border:1px solid var(--line);border-radius:6px;display:flex;gap:10px;justify-content:space-between;padding:10px}.first-aid-intent>div{display:flex;flex-direction:column;gap:4px;min-width:0}.first-aid-intent span{color:var(--muted);font-size:12px}.first-aid-check{background:#7b302dd9;border-color:#dcaa9680;flex-shrink:0}.first-aid-check:hover{background:#a03730fa}.first-aid-empty{color:var(--muted);font-size:12px;font-style:italic;margin:4px 0}.first-aid-owner-options{border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-top:12px}.special-event-warning{color:#f0cf8a;font-size:12px;margin:0 0 14px}.topbar__actions{gap:20px}.brand-kicker,.section-label{color:var(--subtle);font-size:11px;font-weight:700;letter-spacing:1.6px;margin:0 0 5px}h1,h2,p{margin-top:0}h1{font-size:19px;letter-spacing:.3px;margin:0}h2{font-size:15px;margin:0}.online-pulse{background:var(--success);border-radius:50%;display:inline-block;height:7px;width:7px}.login-button{background:transparent;border:1px solid #9c815a;border-radius:4px;cursor:pointer;font-size:12px;padding:9px 14px}.login-button:hover{border-color:var(--accent);color:var(--accent)}.user-session{align-items:center;display:flex;gap:8px}.user-session[hidden]{display:none}.user-avatar{align-items:center;background:#8a6743;border-radius:50%;color:#f3e5c2;display:inline-flex;font-family:Georgia,serif;font-size:12px;font-weight:700;height:30px;justify-content:center;line-height:1;overflow:hidden;padding:0 0 2px;width:30px}.avatar-button{align-items:center;background:transparent;border:0;border-radius:50%;cursor:pointer;display:inline-flex;flex:0 0 30px;height:30px;justify-content:center;line-height:1;overflow:hidden;padding:0;width:30px}.avatar-button:hover{box-shadow:0 0 0 2px var(--accent-soft)}.avatar-button .user-avatar,.avatar-button img{height:30px;width:30px}.avatar-button img,.room-avatar img,.message-avatar img,.member-avatar img{object-fit:cover;object-position:center}.avatar-button img,.room-avatar img,.message-avatar img,.member-avatar img{display:block;height:100%;transform:none;width:100%}.user-name{color:var(--text);font-size:12px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:12px;padding:4px}.logout-button:hover{color:var(--accent)}.room-button,.room-action{background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--accent);cursor:pointer;font-size:12px;padding:7px 9px}.room-button{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-button:hover,.room-action:hover{background:var(--accent-soft);border-color:var(--accent)}.room-action{color:var(--muted)}.room-action:hover{color:var(--accent)}.room-action[hidden]{display:none}.icon-button{align-items:center;background:#9d454629;border:1px solid rgba(157,69,70,.52);border-radius:50%;color:var(--text);cursor:pointer;display:inline-flex;font-size:20px;font-weight:700;height:32px;justify-content:center;line-height:1;padding:0 0 2px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;width:32px}.icon-button:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.06)}.icon-button:focus-visible,.auth-close:focus-visible,.clue-close:focus-visible{outline:2px solid var(--archive-gold);outline-offset:2px}.mobile-only{display:none}.workspace{display:grid;grid-template-columns:164px minmax(0,1fr) 320px;height:calc(100vh - 72px);min-height:0;position:relative}.side-panel{background:#ead7ade6;box-shadow:inset 0 0 28px #704b2314;padding:26px 14px 20px}.quick-menu{border-right:1px solid var(--line);display:flex;flex-direction:column}.chat-panel{border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-heading{justify-content:space-between;margin:0 8px 26px}.menu-list{display:grid;gap:6px}.menu-item{align-items:center;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;gap:12px;padding:11px 10px;text-align:left;width:100%}.menu-item:hover{background:var(--surface-hover);color:var(--text)}.menu-item.is-active{background:var(--accent-soft);border-color:#7b302d47;color:var(--accent)}.menu-item--records{color:var(--accent)}.menu-icon{align-items:center;color:currentColor;display:inline-flex;flex:0 0 18px;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",Microsoft YaHei,sans-serif;font-size:16px;font-style:normal;font-variant-emoji:text;font-weight:400;height:18px;justify-content:center;line-height:1;width:18px}.menu-footer{border-top:1px solid var(--line);color:var(--subtle);display:grid;gap:6px;margin:auto 8px 0;padding-top:18px}.menu-footer strong{color:var(--muted);font-size:12px;font-weight:500}.menu-footer span{font-size:12px}.menu-footer small{color:var(--subtle);font-size:11px;line-height:1.5}.menu-footer a{color:var(--accent)}.main-content{display:flex;flex-direction:column;min-width:0;padding:0;position:relative}.main-content-filter{inset:0;pointer-events:none;position:absolute;z-index:0}.dialog-records-btn{display:none;background:var(--surface);border:1px solid var(--line);border-radius:4px;color:var(--accent);cursor:pointer;font-size:12px;left:98px;padding:6px 12px;position:absolute;top:14px;z-index:17}.dialog-records-btn:hover{background:#a8383026}.combat-reopen-btn{align-items:center;background:#141a20eb;border:1px solid rgba(200,170,110,.45);border-radius:50%;color:#ffd97a;cursor:pointer;display:flex;font-size:15px;height:32px;justify-content:center;inset:auto 58px 18px auto;padding:0;position:absolute;width:32px;z-index:17}.combat-reopen-btn:hover{background:#7b302d8c}.game-dialog-bar{align-items:center;background:#ead7adeb;border:1px solid var(--line);border-radius:4px;bottom:32px;box-shadow:0 6px 20px #462f1b2e;display:flex;gap:8px;left:50%;max-width:728px;padding:9px 12px;position:absolute;transform:translate(-50%);z-index:75;width:80%}.dialog-input-row{align-items:stretch;display:flex;gap:8px;min-width:0;width:100%}.dialog-input-shell{background:#fffbefbf;border:1px solid transparent;border-radius:4px;display:flex;flex:1;flex-direction:column;min-width:0;overflow:hidden}.dialog-input-shell:focus-within{border-color:transparent}.dialog-action-line{align-items:center;display:flex;flex:none;gap:8px;min-height:25px;overflow-x:auto;padding:4px 8px 0;scrollbar-width:thin;white-space:nowrap}.dialog-action-line:empty{display:none}.dialog-action-chip{align-items:center;background:#9d454621;border:1px solid rgba(157,69,70,.35);border-radius:4px;color:var(--muted);display:inline-flex;flex:none;font-size:12px;gap:4px;line-height:1.4;padding:3px 6px 3px 8px}.dialog-action-chip button{background:transparent;border:0;color:var(--subtle);cursor:pointer;font-size:13px;line-height:1;padding:0 4px}.dialog-action-chip button:hover{color:var(--accent)}.dialog-input-shell .game-dialog-input{background:transparent;border:0;box-sizing:border-box;display:block;min-height:52px;resize:none;width:100%}.dialog-input-shell .game-dialog-input:focus{border-color:transparent;box-shadow:none;outline:none}.dialog-send-stack{display:flex;flex:0 0 54px;flex-direction:column;gap:6px;justify-content:flex-end}.dialog-action-trigger{background:#c3a2682e;border:1px solid rgba(195,162,104,.55);border-radius:4px;color:var(--muted);cursor:pointer;font-size:11px;padding:5px 6px}.dialog-action-trigger:hover{border-color:var(--accent);color:var(--accent)}.dialog-action-trigger:disabled{cursor:not-allowed;opacity:.45}.dialog-action-popover{align-items:flex-end;background:#1d1815fa;border:1px solid rgba(195,162,104,.42);border-radius:6px;bottom:calc(100% + 8px);box-shadow:0 8px 22px #00000057;display:flex;gap:6px;padding:7px;position:absolute;right:12px;z-index:2}.dialog-action-popover label{color:var(--muted);display:grid;font-size:11px;gap:4px}.dialog-action-popover input{background:#0a0908db;border:1px solid rgba(195,162,104,.38);border-radius:4px;color:var(--text);font:inherit;font-size:12px;min-width:min(240px,42vw);outline:0;padding:6px 7px}.dialog-action-popover input:focus{border-color:var(--accent)}.dialog-action-confirm{align-self:flex-end;background:var(--accent);border:0;border-radius:4px;color:#f3e5c2;cursor:pointer;font-size:12px;padding:7px 10px}.dialog-action-confirm:hover{background:#b05250}.dialog-speaker-control{display:flex;flex:0 0 150px;flex-direction:column;gap:4px;justify-content:center;min-width:90px}.game-dialog-speaker{color:var(--muted);display:block;font-size:11px;line-height:1.1;white-space:nowrap}.game-speaker-select{background:#fffbef99;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:12px;max-width:none;min-width:0;padding:5px 6px;width:100%}.dialog-speaker-trigger{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 10px) 50%,calc(100% - 5px) 50%;background-repeat:no-repeat;background-size:5px 5px;cursor:pointer;padding-right:20px;text-align:left}.dialog-speaker-trigger:disabled{cursor:not-allowed;opacity:.6}.dialog-speaker-picker-backdrop{align-items:center;background:#080a08ad;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:340!important}.dialog-speaker-picker-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);max-height:min(78vh,620px);max-width:600px;overflow-y:auto;padding:24px;position:relative;width:min(100%,600px)}.dialog-speaker-picker-head{align-items:flex-start;display:flex;justify-content:space-between}.dialog-speaker-picker-head h2{margin-bottom:0}.dialog-speaker-picker-tabs{border-bottom:1px solid var(--line);display:flex;gap:8px;margin:18px 0 14px}.dialog-speaker-picker-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:13px;padding:8px 12px}.dialog-speaker-picker-tabs button:hover,.dialog-speaker-picker-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent)}.dialog-speaker-picker-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-speaker-picker-item{align-items:center;background:#e2cca059;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:flex;gap:8px;min-width:0;padding:8px 10px;position:relative;text-align:left}.dialog-speaker-picker-item:hover,.dialog-speaker-picker-item.is-active{background:#2d6b4e2e;border-color:#2d6b4eb3}.dialog-speaker-picker-item strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-speaker-picker-avatar{align-items:center;background:#123b2b;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:15px;height:42px;justify-content:center;overflow:hidden;width:42px}.dialog-speaker-picker-avatar img{height:100%;object-fit:cover;width:100%}.dialog-speaker-picker-check{align-items:center;background:#2d6b4ef2;border:2px solid var(--surface);border-radius:50%;color:#fff;display:flex;font-size:12px;height:20px;justify-content:center;line-height:1;position:absolute;right:6px;top:6px;width:20px}.dialog-speaker-picker-empty{color:var(--muted);grid-column:1 / -1;padding:20px 0;text-align:center}.game-dialog-input{background:#fffbefbf;border:1px solid transparent;border-radius:4px;color:var(--text);flex:1;font:inherit;font-size:13px;min-width:0;outline:0;padding:5px 10px}.game-dialog-input:focus{border-color:var(--accent)}.game-dialog-input::placeholder{color:var(--subtle)}.dialog-sent-overlay{background:#fff9;border:1px solid rgba(150,128,88,.4);border-radius:6px;bottom:124px;box-shadow:0 4px 14px #462f1b1f;box-sizing:border-box;left:50%;max-height:150px;max-width:728px;opacity:.5;overflow-y:auto;padding:8px 12px;position:absolute;transition:opacity .2s ease;transform:translate(-50%);width:80%;z-index:17}.dialog-sent-overlay:hover{opacity:1}.dialog-sent-item{align-items:baseline;color:#17130c;display:flex;font-size:12px;justify-content:space-between;line-height:1.5;opacity:.6;padding:3px 0}.dialog-sent-item.is-played{opacity:1}.dialog-sent-left{align-items:baseline;display:flex;gap:8px;min-width:0}.dialog-sent-text{min-width:0;overflow-wrap:anywhere}.dialog-sent-author{color:#17130c;flex:none;font-weight:700;white-space:nowrap}.dialog-sent-text{white-space:normal}.dialog-sent-action{display:inline-block;margin-right:6px;white-space:nowrap}.dialog-sent-body{white-space:pre-wrap}.dialog-sent-time{color:#17130c8c;flex:none;font-size:12px;white-space:nowrap}.dialog-sent-badge-slot{align-items:baseline;display:flex;flex:none;justify-content:flex-end;min-width:44px}.dialog-sent-badge{background:#92682a3d;border:1px solid rgba(146,104,42,.75);border-radius:4px;color:#5e4215;flex:none;font-size:11px;padding:3px 8px;white-space:nowrap}.dialog-sent-badge.is-queued{background:#205c3e38;border-color:#205c3ebf;color:#1c4e35}.game-dialog-send{background:var(--accent);border:0;border-radius:4px;color:#f3e5c2;cursor:pointer;font-size:13px;padding:8px 14px;white-space:nowrap;min-width:max-content}.game-dialog-send:disabled{opacity:.45;cursor:default}.dialogs-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:24}.dialogs-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;display:flex;flex-direction:column;max-height:min(720px,88vh);max-width:800px;overflow:hidden;padding:28px;position:relative;width:100%}.dialog-send-stack .game-dialog-send{flex:0 0 auto;margin-top:0;white-space:nowrap}.dialogs-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.dialogs-list{display:grid;gap:12px;flex:1;min-height:0;overflow-y:auto}.dialogs-unwatched{align-items:center;background:#3a8a631f;border:1px solid rgba(58,138,99,.42);border-radius:5px;color:#2d6b4e;display:flex;font-size:12px;gap:10px;justify-content:space-between;margin-bottom:10px;padding:8px 10px}.dialogs-unwatched-btn{background:#3a8a6329;border:1px solid rgba(58,138,99,.5);border-radius:4px;color:#2d6b4e;cursor:pointer;font-size:12px;padding:3px 12px;white-space:nowrap}.dialogs-unwatched-btn:hover{background:#3a8a6347}.story-unwatched-badge{background:#a83830;border-radius:9px;color:#f7ead0;font-size:10px;line-height:1;margin-left:5px;padding:3px 5px}.dialogs-empty{color:var(--subtle);font-size:12px;padding:18px 8px;text-align:center}.dialogs-item{border-bottom:1px solid rgba(180,154,107,.35);padding-bottom:10px}.dialogs-meta{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.dialogs-meta strong{color:var(--accent);font-size:12px;font-weight:600}.dialogs-meta strong.dialogs-npc{color:#b07d1f}.dialogs-ink-time{background:#3a8a631f;border:1px solid rgba(58,138,99,.35);border-radius:4px;color:#2d6b4e;font-size:11px;padding:3px 8px}.dialogs-meta time{color:#927b5b;font-size:11px}.dialogs-item p{color:#4d4031;font-size:13px;line-height:1.6;margin:0;padding:2px;white-space:pre-wrap}.main-content:before,.main-content:after{background:var(--line);content:"";height:1px;left:12%;opacity:.7;position:absolute;right:12%}.main-content:before{top:28px}.main-content:after{bottom:28px}.empty-state{max-width:380px;padding:34px 44px;position:relative;text-align:center}.empty-state:before,.empty-state:after{color:var(--accent);font-size:13px;position:absolute;top:50%;transform:translateY(-50%)}.empty-state:before{content:"❧";left:0}.empty-state:after{content:"❧";right:0;transform:translateY(-50%) scaleX(-1)}.empty-state__mark{color:var(--accent);display:block;font-size:34px;margin-bottom:20px}.empty-state h2{font-size:25px;font-weight:500;margin-bottom:10px}.empty-state p:not(.section-label){color:var(--muted);line-height:1.7;margin-bottom:20px}.empty-state__hint{border:1px dashed #b49a6b;color:var(--subtle);display:inline-block;font-size:12px;padding:9px 12px}.chat-room{border-bottom:1px solid var(--line);gap:10px;margin:0 0 14px;padding:0 8px 16px}.room-avatar{align-items:center;background:#8a6743;border:0;border-radius:50%;color:#f3e5c2;cursor:pointer;display:flex;flex:0 0 30px;font-family:Georgia,serif;font-size:20px;font-weight:700;height:30px;justify-content:center;line-height:1;overflow:hidden;padding:0 0 2px;width:30px}.room-avatar:disabled{cursor:default}.room-avatar:not(:disabled):hover{box-shadow:0 0 0 2px var(--accent-soft)}.room-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-room div{display:grid;gap:4px;flex:1}.chat-room strong{font-size:12px;font-weight:600}.chat-room span:not(.room-avatar):not(.online-pulse){color:var(--subtle);font-size:12px}.online-pulse{box-shadow:0 0 0 4px #4f765524}.message-list{display:grid;align-content:start;flex:1;gap:16px;min-height:0;overflow-y:auto;padding:8px}.message{align-items:start;display:grid;gap:6px 8px;grid-template-columns:auto minmax(0,1fr);max-width:90%}.message--self{justify-self:end;text-align:right}.message-meta{align-items:baseline;display:flex;gap:8px;margin-bottom:4px}.message--self .message-meta{justify-content:flex-end}.message-body{min-width:0}.message-author-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.message--self .message-author-row{justify-content:flex-end}.message-avatar{align-items:center;background:#8a6743;border-radius:50%;color:#f3e5c2;display:inline-flex;flex:0 0 25px;font-size:11px;font-weight:700;height:25px;justify-content:center;overflow:hidden;width:25px}.message-avatar img{height:100%;object-fit:cover;width:100%}.message-author,.message time{color:var(--subtle);display:block;font-size:11px}.message-author{margin:0}.message p{background:var(--surface-soft);color:#4d4031;font-size:12px;line-height:1.5;margin:0 0 4px;padding:9px 10px;text-align:left}.message--self p{background:var(--accent-soft);color:#6b2928}.message--dice p{border:1px solid rgba(123,48,45,.35);color:var(--accent);font-family:Georgia,serif;font-weight:600}.message time{color:#927b5b}.chat-content{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.scroll-to-latest{align-items:center;background:var(--surface);border:1px solid var(--accent);border-radius:50%;bottom:14px;box-shadow:0 4px 12px #462f1b38;color:var(--accent);cursor:pointer;display:inline-flex;font-size:18px;height:32px;justify-content:center;line-height:1;padding:0 0 3px;position:absolute;right:16px;width:32px;z-index:3}.scroll-to-latest:hover{background:var(--accent-soft)}.scroll-to-latest:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scroll-to-latest[hidden]{display:none}.chat-lock{align-items:center;background:#e2cca0cc;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;padding:20px;position:absolute;text-align:center;z-index:2}.chat-lock[hidden]{display:none}.chat-lock__icon{color:var(--accent);font-size:28px}.chat-lock strong{color:var(--text);font-size:13px}.chat-lock span:last-child{color:var(--muted);font-size:12px;line-height:1.5}.chat-form{border-top:1px solid var(--line);gap:8px;margin-top:14px;padding:15px 6px 0}.chat-form[hidden]{display:none}.chat-form input{background:#e2cca08f;border:1px solid transparent;border-radius:4px;color:var(--text);min-width:0;outline:0;padding:10px;width:100%}.chat-form input:focus{border-color:#9c815a}.chat-form input::placeholder{color:var(--subtle)}.send-button{align-items:center;background:var(--accent);border:0;border-radius:4px;color:#f3e5c2;cursor:pointer;display:flex;font-size:18px;height:37px;justify-content:center;padding:0;width:37px}.send-button:hover{background:#8f3935}.panel-heading-actions{align-items:center;display:flex;gap:6px}.records-toggle{background:transparent;border:1px solid rgba(123,48,45,.35);border-radius:4px;color:var(--accent);cursor:pointer;font-size:12px;margin-top:8px;padding:5px 10px}.records-toggle:hover{background:var(--accent-soft)}.records-toggle.is-active{background:var(--accent);color:#f3e5c2}.records-drawer{align-items:center;display:flex;height:58vh;position:absolute;right:320px;top:50%;transform:translateY(-50%);z-index:6}.records-drawer.is-open{z-index:40}.records-panel{background:#ead7adf2;border:1px solid var(--line);border-right:0;box-shadow:-12px 0 30px #462f1b3d;display:flex;flex-direction:column;height:100%;min-height:0;opacity:0;overflow:visible;position:relative;transition:width .25s ease,opacity .25s ease;width:0}.records-drawer.is-open .records-panel{opacity:1;width:260px}.records-head{align-items:center;display:flex;flex-shrink:0;justify-content:space-between;margin:0 8px 14px}.records-head h2{font-family:var(--font-serif, Georgia, serif);font-size:20px;font-weight:400;margin:0}.records-head .section-label{margin:0 0 2px}.records-list{display:grid;align-content:start;flex:1;gap:12px;min-height:0;overflow-y:auto;padding:8px;position:relative}.records-empty{color:var(--subtle);font-size:12px;padding:18px 8px;text-align:center}.records-item{border-bottom:1px solid var(--line);padding-bottom:10px}.records-meta{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:4px}.records-meta strong{color:var(--accent);font-size:12px;font-weight:600}.records-meta time{color:#927b5b;font-size:11px}.records-meta .records-game-time{color:var(--accent);font-size:11px;opacity:.9;white-space:nowrap}.records-item p{color:#4d4031;font-size:12px;line-height:1.5;margin:0}.records-scroll{right:10px}.auth-backdrop{align-items:center;background:#3622146b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.auth-backdrop[hidden]{display:none}.auth-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:390px;padding:30px;position:relative;width:100%}.auth-close{align-items:center;background:#9d45462e;border:1px solid rgba(157,69,70,.58);border-radius:50%;color:var(--text);cursor:pointer;display:inline-flex;font-size:20px;font-weight:700;height:28px;justify-content:center;line-height:1;padding:0 0 5px 1px;position:absolute;right:2px;top:2px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;width:28px;z-index:4}.auth-close:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.06)}.auth-close,.icon-button{font-size:0;padding:0}.icon-button{position:relative}.auth-close:before,.auth-close:after,.icon-button:before,.icon-button:after{background:currentColor;border-radius:1px;content:"";height:2px;left:50%;position:absolute;top:50%;width:12px}.auth-close:before,.icon-button:before{transform:translate(-50%,-50%) rotate(45deg)}.auth-close:after,.icon-button:after{transform:translate(-50%,-50%) rotate(-45deg)}.auth-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.auth-description{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:22px}.auth-form{display:grid;gap:8px}.auth-form label{color:var(--muted);display:block;font-size:12px}.auth-remember{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:8px;line-height:1;margin:0 0 8px;-webkit-user-select:none;user-select:none}.auth-remember span{line-height:15px}.auth-remember input{appearance:none;-webkit-appearance:none;background:#e2cca08f;border:1px solid var(--line);border-radius:4px;cursor:pointer;flex:0 0 auto;height:13px;margin:0;position:relative;width:13px}.auth-remember input:checked{background:var(--accent);border-color:var(--accent)}.auth-remember input:checked:after{color:#f3e5c2;content:"✓";font-size:11px;font-weight:700;inset:0;line-height:13px;position:absolute;text-align:center}.auth-remember input:focus-visible{outline:2px solid rgba(123,48,45,.35)}.auth-form input:not([type=checkbox]){background:#e2cca08f;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;caret-color:var(--accent);color:var(--text);margin-bottom:8px;outline:0;padding:10px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.auth-form input:not([type=checkbox])::placeholder{color:var(--subtle)}.auth-form input:not([type=checkbox]):focus{border-color:var(--accent);box-shadow:0 0 0 2px #7b302d26}.auth-form input[type=password]{letter-spacing:1.5px}.auth-message{color:var(--danger);font-size:12px;min-height:18px;margin:0}.auth-message.is-success{color:var(--success)}.auth-submit{background:var(--accent);border:0;border-radius:4px;color:#f3e5c2;cursor:pointer;padding:11px}.auth-submit:hover{background:#8f3935}.auth-switch{color:var(--muted);font-size:12px;margin:18px 0 0;text-align:center}.auth-switch button{background:transparent;border:0;color:var(--accent);cursor:pointer;padding:0 4px}.auth-switch button:hover{text-decoration:underline}.room-backdrop{align-items:center;background:#3622146b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.room-backdrop[hidden]{display:none}.room-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:390px;padding:30px;position:relative;width:100%}.room-tabs{border-bottom:1px solid var(--line);display:flex;gap:16px;margin-bottom:20px}.room-tab{align-items:center;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;line-height:1.2;padding:8px 10px;text-align:center}.room-tabs>.room-tab{border-radius:0;padding:0 2px 9px}.room-tab.is-active{border-bottom-color:var(--accent);color:var(--accent)}.room-form{display:grid;gap:8px}.room-form[hidden]{display:none}.room-form label{color:var(--muted);display:block;font-size:12px}.room-form input{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--text);outline:0;padding:10px;width:100%}.room-form input:focus{border-color:var(--accent)}.dice-backdrop{align-items:center;background:#3622146b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.dice-backdrop[hidden],.dice-backdrop--result .dice-options,.dice-backdrop--result .dice-mode-label,.dice-backdrop--result .dice-message,.dice-backdrop--result .dice-roll-button,.dice-backdrop--result .dice-dialog .auth-description{display:none}.dice-backdrop--result .dice-dialog{max-width:330px}.dice-backdrop--result .dice-result{margin-top:12px}.dice-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:390px;padding:30px;position:relative;text-align:center;width:100%}.dice-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px;text-align:left}.dice-dialog .auth-description{margin-bottom:14px;text-align:left}.dice-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.dice-option{background:#e2cca0b8;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer;font-size:12px;min-width:48px;padding:8px 10px}.dice-option:hover,.dice-option:focus-visible{border-color:var(--accent);color:var(--accent)}.dice-option.is-active{background:var(--accent);border-color:var(--accent);color:#f3e5c2}.dice-option[disabled]{cursor:default;opacity:.5}.dice-option--modifier.is-active,.dice-option--percent.is-active{background:#8a6743;border-color:#8a6743}.dice-mode-label{color:var(--subtle);font-size:12px;margin:0 0 8px;text-align:left}.dice-stage{background:radial-gradient(ellipse at center,color-mix(in srgb,var(--occult-gold) 8%,transparent),transparent 72%);border:0;margin:0 auto 12px;max-width:260px}.dice-stage canvas,.check-dice-canvas,.dice-result-popup canvas{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}#dice-canvas{display:block;height:auto;max-width:100%;width:260px}.dice-result{color:var(--accent);font-family:Georgia,serif;font-size:20px;min-height:28px;margin:4px 0 2px}.dice-breakdown{color:var(--muted);font-size:12px;min-height:17px;margin:0 0 8px}.dice-count-row{align-items:center;display:flex;gap:8px;justify-content:center;margin-bottom:10px}.dice-count-label{color:var(--subtle);font-size:12px}.dice-count-options{display:flex;gap:6px}.dice-count-option{min-width:36px;padding:6px 8px}.dice-hidden-option{justify-content:center;margin:4px 0 10px}.dice-result-backdrop{align-items:center;background:#3622148c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.dice-result-popup{animation:dice-pop-in .3s ease-out;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-panel);max-width:340px;padding:20px;text-align:center;width:100%}.dice-result-popup-title{color:var(--accent);font-family:Georgia,serif;font-size:14px;margin:0 0 10px}.dice-result-popup canvas{display:block;margin:0 auto 10px}.dice-result-popup-text{color:var(--muted);font-size:12px;margin:0}@keyframes dice-pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.dice-roll-button{margin-top:4px;width:100%}.dice-double-row{align-items:center;display:grid;gap:6px;justify-items:center;margin:0 auto 10px}.dice-double-row .dice-option{min-width:150px}.dice-double-hint{color:var(--subtle);font-size:11px}.avatar-backdrop{align-items:center;background:#3622146b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.avatar-backdrop[hidden]{display:none}.members-backdrop{align-items:center;background:#3622146b;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.members-backdrop[hidden]{display:none}.members-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:390px;padding:30px;position:relative;width:100%}.members-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.members-dialog .auth-description{margin-bottom:12px}.members-message{color:var(--muted);font-size:12px;min-height:18px;margin:0 0 8px}.members-list{display:grid;gap:8px;max-height:min(360px,55vh);overflow-y:auto;padding-right:4px}.member-row{align-items:center;background:#e2cca059;border:1px solid rgba(180,154,107,.6);border-radius:4px;color:var(--text);cursor:pointer;display:flex;gap:10px;padding:8px 12px;text-align:left;width:100%}.member-row:hover:not(:disabled),.member-row.is-selected{background:#9d45462e;border-color:var(--accent)}.member-row:disabled{cursor:default;opacity:.82}.member-row strong{flex:1;font-size:13px}.member-row small{color:var(--muted);font-size:12px}.member-row-info{display:grid;flex:1;gap:4px;min-width:0}.member-row-info .member-role{margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.members-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:16px}.members-actions button{min-width:96px}.members-transfer-btn{border-bottom:0}.members-leave-btn{min-width:104px}.dissolve-room-backdrop{align-items:center;background:#070606b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:110100}.dissolve-room-dialog{background:var(--surface);border:1px solid rgba(157,69,70,.72);box-shadow:0 24px 70px #0000009e;max-width:460px;padding:30px;position:relative;width:100%}.dissolve-room-dialog h2{color:#e18b7d;font-size:23px;margin:0 0 12px}.dissolve-room-warning{color:var(--text);font-size:13px;line-height:1.8;margin:0 0 14px}.dissolve-room-input{background:#13100ee6;border:1px solid rgba(195,162,104,.42);border-radius:4px;box-sizing:border-box;color:var(--text);outline:0;padding:11px;width:100%}.dissolve-room-input:focus{border-color:#d99386;box-shadow:0 0 0 2px #9d454629}.dissolve-room-actions{align-items:center;display:flex;gap:14px;justify-content:flex-end;margin-top:8px}.dissolve-room-actions .room-tab{border-bottom:0;padding:10px 4px}.dissolve-room-actions .auth-submit{min-width:128px}.dissolve-room-actions .auth-submit:disabled{cursor:not-allowed;opacity:.42}.member-item{align-items:center;background:#e2cca08c;border:1px solid rgba(180,154,107,.65);display:flex;gap:10px;padding:8px 10px}.member-avatar{align-items:center;background:#8a6743;border-radius:50%;color:#f3e5c2;display:inline-flex;flex:0 0 30px;font-size:11px;font-weight:700;height:30px;justify-content:center;overflow:hidden;width:30px}.member-name{color:var(--text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role{color:var(--subtle);font-size:11px;margin-left:auto}.avatar-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:460px;padding:30px;position:relative;width:100%}.avatar-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.avatar-crop-area{background:#5c4939;height:min(380px,72vw);margin:0 auto 14px;max-height:380px;overflow:visible;position:relative;width:min(380px,100%)}.avatar-crop-area img{display:block;max-width:100%}.avatar-crop-area .cropper-container{max-width:100%}.avatar-crop-area .cropper-view-box,.avatar-crop-area .cropper-face{border-radius:50%}.avatar-dialog-actions{align-items:center;display:flex;gap:14px;justify-content:flex-end}.avatar-dialog-actions .room-tab{border-bottom:0;padding:10px 4px}.avatar-dialog-actions .auth-submit{min-width:112px}.character-cards-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.character-cards-backdrop[hidden]{display:none}.placeholder-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.placeholder-backdrop[hidden]{display:none}.placeholder-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:420px;padding:30px;position:relative;text-align:center;width:100%}.rules-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;display:flex;flex-direction:column;height:85vh;max-width:900px;padding:20px;position:relative;width:90vw}.rules-dialog h2{font-size:18px;margin-bottom:10px}.rules-pdf-container{flex:1;min-height:0;overflow:hidden}.rules-frame{border:0;width:100%;height:100%}.workbench-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;display:flex;flex-direction:column;height:85vh;max-width:600px;overflow:hidden;padding:24px;position:relative;width:90vw}.workbench-dialog>.workbench-panel{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:8px}.workbench-dialog h2{font-size:18px;margin-bottom:6px}.placeholder-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.placeholder-dialog .auth-description{margin-bottom:0}.character-cards-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;box-sizing:border-box;display:flex;flex-direction:column;height:min(880px,92vh);max-height:min(880px,92vh);max-width:900px;overflow:hidden;padding:30px;position:relative;width:100%}.character-cards-dialog--empty{height:min(360px,72vh);max-height:min(360px,72vh)}.character-cards-dialog-header{align-items:flex-start;display:flex;flex:0 0 auto;justify-content:space-between;min-height:58px;padding-right:38px;position:relative}.character-cards-dialog-header .auth-close{right:0;top:0}.character-cards-dialog-header .auth-description{margin-bottom:0}.character-cards-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-gutter:stable}.character-cards-dialog h2{font-size:22px;font-weight:500;margin-bottom:9px}.character-cards-toolbar{display:flex;justify-content:flex-end;margin:16px 0 8px}.character-cards-toolbar .auth-submit{width:auto}.character-card-list{display:grid;gap:10px;max-height:54vh;overflow-y:auto}.character-card-item{align-items:center;background:#e2cca08c;border:1px solid rgba(180,154,107,.65);display:flex;gap:12px;justify-content:space-between;padding:12px}.character-card-item__info{min-width:0}.character-card-item__info strong,.character-card-item__info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-card-item__info span{color:var(--subtle);font-size:11px;margin-top:6px}.character-card-item__actions{display:flex;flex:0 0 auto;gap:8px}.character-card-item__actions button{background:transparent;border:1px solid var(--line);color:var(--text);cursor:pointer;padding:7px 10px}.character-card-item__actions button:last-child{color:#8a302f}.character-card-form-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.character-card-form-heading .character-card-form-save-top{margin:0;width:130px}.character-card-form-heading h3{font-size:18px;font-weight:500;margin:0}.character-card-fields,.character-card-json-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.character-card-form label{color:var(--muted);display:grid;font-size:12px;gap:6px}.character-card-form input,.character-card-form textarea{background:#e2cca08f;border:1px solid var(--line);color:var(--text);font:inherit;padding:9px 10px;resize:vertical;width:100%}.character-card-form input[readonly]{cursor:default;opacity:.8}.character-card-form input:focus,.character-card-form textarea:focus{border-color:var(--accent);outline:2px solid rgba(138,48,47,.15)}.character-card-form>label{margin-bottom:14px}.character-card-form .auth-submit{width:auto}.character-card-form>.auth-submit{margin-left:auto;margin-top:18px;width:130px}.card-images{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.card-form-header{align-items:flex-start;display:flex;gap:18px}.card-form-header .card-images{flex:0 0 auto;margin-bottom:0}.card-header-fields{display:grid;flex:1 1 auto;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin-bottom:14px}.card-header-fields--full{grid-template-columns:1fr}.custom-occupation-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.label--full{grid-column:1 / -1}.label--half{grid-column:span 1}.attr-target-label{align-items:center;color:var(--muted);display:inline-flex!important;flex-shrink:0;font-size:12px;gap:6px;margin-left:12px;white-space:nowrap}.attr-target-input{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;color:var(--text);flex-shrink:0;font-size:12px;padding:4px 8px;width:60px}.derived-cn{color:var(--subtle);font-size:11px;margin-left:2px}.derived-input{background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);font-size:inherit;font-weight:700;padding:0 4px;width:40px}.derived-input:focus{border-bottom-color:var(--accent);outline:0}.age-field{position:relative}.age-help-panel{background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 16px #462f1b33;font-size:12px;max-width:280px;padding:12px;position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:25}.age-help-item{border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;margin-bottom:8px;padding-bottom:8px}.age-help-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.age-help-item strong{color:var(--text);font-size:12px}.age-help-item span{color:var(--muted);font-size:12px;line-height:1.5}.age-help-active{background:var(--accent-soft);border-radius:4px;margin:-4px -6px;padding:6px 8px 8px}.age-help-active strong{color:var(--accent)}.card-player-block{align-items:baseline;display:flex;flex-direction:column;gap:4px}.card-player-label{color:var(--muted);font-size:12px}.card-player-name{color:var(--text);font-size:12px;font-style:italic;opacity:.85}.card-occupation-meta{margin-bottom:14px}.card-occupation-meta[hidden]{display:none}.card-image{align-items:center;display:flex;flex-direction:column;gap:8px}.card-image-frame{align-items:center;background:#123b2b;border:1px dashed rgba(180,154,107,.8);display:flex;height:180px;justify-content:center;overflow:hidden;width:128px}.card-image-frame--avatar{border-radius:50%;height:96px;width:96px}.card-image-frame img{height:100%;object-fit:contain;width:100%}.card-image-frame--avatar img{object-fit:cover}.card-image-placeholder{color:var(--muted);font-size:12px;text-align:center}.card-image-frame:hover{border-color:var(--accent);background:#164a35;cursor:pointer}.card-image-frame:hover .card-image-placeholder{color:var(--accent)}.card-image-actions{display:flex;gap:8px}.card-image-actions .room-tab{border-bottom:0;padding:7px 8px}.card-image-actions .room-tab:disabled{cursor:not-allowed;opacity:.5}.card-tabs{border-bottom:1px solid var(--line);display:flex;gap:6px;margin:0 -4px 16px;overflow-x:auto;padding:0 4px 4px;scrollbar-width:thin}.card-tab{background:transparent;border:1px solid transparent;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;flex:0 0 auto;font:inherit;font-size:14px;padding:8px 14px;white-space:nowrap}.card-tab:hover{color:var(--text)}.card-tab.is-active{border-bottom-color:var(--accent);color:var(--accent);font-weight:500}.card-tab-panels{min-height:220px}.card-tab-panel{display:none;padding:8px}.card-tab-panel.is-active{display:block}.card-panel-hint{color:var(--muted);font-size:12px;margin:0 0 12px}.card-attr-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.card-attr-cell{align-items:center;background:#e2cca059;border:1px solid rgba(180,154,107,.6);display:grid;gap:4px;padding:10px;text-align:center}.card-attr-cell .card-attr-label{color:var(--muted);font-size:12px}.card-attr-cell input{background:#e2cca08f;border:1px solid var(--line);color:var(--text);font:inherit;font-size:18px;padding:6px;text-align:center;width:100%}.card-attr-cell input[readonly]{cursor:default;opacity:.85}.card-attr-cell input:focus{border-color:var(--accent);outline:2px solid rgba(138,48,47,.15)}.card-derived{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.card-derived-cell{background:#e2cca059;border:1px dashed rgba(180,154,107,.7);display:grid;gap:4px;padding:10px;text-align:center}.card-derived-cell strong{color:var(--accent);font-size:18px}.card-derived-cell span{color:var(--muted);font-size:12px}.card-skill-summary,.card-combat-meta,.card-assets-summary,.card-occupation-meta{background:#e2cca059;border:1px dashed rgba(180,154,107,.7);color:var(--muted);font-size:12px;margin-bottom:12px;padding:10px}.card-occupation-meta p{margin:2px 0}.card-occupation-meta strong{color:var(--accent)}.card-skill-group{margin-bottom:14px}.card-skill-group-title{border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;margin:0 0 8px;padding-bottom:4px}.card-attr-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.card-attr-toolbar .auth-submit{flex:0 0 auto}.card-attr-total{color:var(--text);font-size:12px}.card-attr-total strong{color:var(--accent);font-size:18px;margin-left:4px}.card-attr-target{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px}.card-attr-target input{background:#e2cca08f;border:1px solid var(--line);color:var(--text);font:inherit;padding:5px 8px;width:90px}.card-attr-roll-hint{color:var(--muted);font-size:12px}.card-skill-summary{display:flex;gap:16px;font-size:12px;margin-bottom:8px}.card-skill-summary span{background:var(--accent-soft);border:1px solid var(--line);border-radius:4px;color:var(--accent);padding:4px 10px}.card-skill-hint{color:#8a6d3b;font-size:12px;line-height:1.5;margin:0 0 8px;padding:5px 8px}.card-skill-table-wrap{contain:content;max-height:420px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:4px;scrollbar-gutter:stable}.card-skill-table{border-collapse:collapse;table-layout:fixed;width:100%}.card-skill-table th{background:var(--surface);border-bottom:1px solid rgba(180,154,107,.7);color:var(--muted);font-size:12px;font-weight:500;padding:6px;position:sticky;top:0;text-align:center;z-index:1}.card-skill-table th:first-child{text-align:left;width:35%}.card-skill-table th:nth-child(n+2),.card-skill-table td:nth-child(n+2){text-align:center}.card-skill-table th:nth-child(2),.card-skill-table th:nth-child(3),.card-skill-table th:nth-child(4),.card-skill-table th:nth-child(5){width:16.25%}.card-skill-table th,.card-skill-table td{vertical-align:middle}.card-skill-table td{border-bottom:1px solid rgba(180,154,107,.35);padding:4px 6px}.card-skill-table tr{color:var(--subtle)}.card-skill-table tr.skill-row--required,.card-skill-table tr.skill-row--interest{color:var(--text)}.card-skill-table tr.skill-row--required{background:#a8383014}.card-skill-table tr.skill-row--interest{background:#3a8a6314}.card-skill-table tr.skill-row--quota{background:#c88d2d1a}.card-skill-table tr.skill-row--quota.skill-row--interest{background:#c4842426}.card-skill-table .skill-name--required{font-weight:700;color:#a83830}.card-skill-table .skill-name--interest{font-weight:700;color:#3a8a63}.card-skill-table .skill-name--required.skill-name--interest{color:var(--accent)}.card-skill-table .skill-name--quota{font-weight:700;color:#a8761f}.card-skill-table .skill-name--quota.skill-name--interest{color:#7a5d14}.card-skill-table input:disabled{opacity:.4;cursor:default}.card-skill-table .skill-branch-select{background:#e2cca073;border:1px solid transparent;border-radius:4px;color:var(--text);font-size:12px;font-weight:inherit;max-width:120px;padding:0 5px;vertical-align:middle}.card-skill-table .skill-branch-select:focus{background:#e2cca0b8;border-color:var(--accent);outline:0}.card-skill-table .skill-branch-input{background:#e2cca073;border:1px solid transparent;border-radius:4px;color:var(--text);font-size:12px;font-weight:inherit;max-width:100px;padding:0 5px;vertical-align:middle}.card-skill-table .skill-branch-input:focus{background:#e2cca0b8;border-color:var(--accent);outline:0}.skill-branch-label{color:var(--muted);font-size:12px;margin-right:4px}.skill-row--group td{background:#e2cca04d;border-bottom:1px solid var(--line)}.skill-group-header{color:var(--text);font-size:12px;font-weight:700;padding:6px}.points-over{background:#c45c4a;border-radius:4px;color:#fff;font-weight:700;padding:3px 8px}.card-skill-table .skill-name{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-skill-table .skill-base{color:var(--muted);font-size:12px;text-align:center}.card-skill-table input{background:#e2cca073;border:1px solid transparent;color:var(--text);font:inherit;font-size:12px;padding:3px 2px;text-align:center;width:100%}.card-skill-table input:focus{border-color:var(--accent);background:#e2cca0b8;outline:none}.card-skill-table input[type=number]::-webkit-outer-spin-button,.card-skill-table input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.card-skill-table input[type=number]{-moz-appearance:textfield;appearance:textfield}.card-weapon-row{align-items:center;display:flex;gap:8px;margin-bottom:10px}.card-weapon-row select{background:#fffbef8f;border:1px solid var(--line);color:var(--text);flex:1;font:inherit;padding:8px}.card-weapon-trigger{align-items:center;background:#fffbef8f;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;flex:1;font:inherit;gap:8px;justify-content:space-between;min-width:0;padding:8px;text-align:left}.card-weapon-trigger:hover{border-color:var(--accent);background:var(--accent-soft)}.card-weapon-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-weapon-trigger em{color:var(--accent);flex:0 0 auto;font-size:12px;font-style:normal}.card-weapon-row .room-tab{border-bottom:0;flex:0 0 auto}.card-weapon-picker-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:40}.card-weapon-picker-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-height:min(720px,88vh);max-width:760px;overflow:hidden;padding:24px;width:100%}.card-weapon-picker-head{align-items:flex-start;display:flex;justify-content:space-between;padding-right:36px;position:relative}.card-weapon-picker-head h2{margin-bottom:0}.card-weapon-picker-head .auth-close{right:0;top:0}.card-weapon-picker-search{background:#fffbef8f;border:1px solid var(--line);box-sizing:border-box;color:var(--text);font:inherit;margin:14px 0 10px;padding:9px 10px;width:100%}.card-weapon-picker-list{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:58vh;overflow-y:auto;padding:2px}.card-weapon-picker-item{background:#e2cca04d;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:grid;gap:4px;padding:9px 10px;text-align:left}.card-weapon-picker-item:hover{background:var(--accent-soft);border-color:var(--accent)}.card-weapon-picker-item strong{font-size:13px}.card-weapon-picker-item small{color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:640px){.card-weapon-picker-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.card-weapon-picker-list{grid-template-columns:1fr}}.card-weapon-list{display:grid;gap:8px;margin-bottom:14px}.card-weapon-item{align-items:center;background:#e2cca059;border:1px solid rgba(180,154,107,.6);display:grid;gap:6px;grid-template-columns:1fr auto;padding:8px 10px}.card-weapon-item__info{min-width:0}.card-weapon-item__info strong{display:block;font-size:13px}.card-weapon-item__info span{color:var(--muted);display:block;font-size:12px;line-height:1.5}.card-weapon-item__remove{background:transparent;border:1px solid var(--line);color:#8a302f;cursor:pointer;padding:5px 9px}.card-assets-summary strong{color:var(--text)}.card-assets-fields{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.card-living-desc{color:var(--muted);font-size:12px;line-height:1.6;margin-top:10px}.character-card-form select{background:#fffbef8f;border:1px solid var(--line);color:var(--text);font:inherit;padding:9px 8px;width:100%}.character-card-form select:focus{border-color:var(--accent);outline:2px solid rgba(138,48,47,.15)}.occupation-picker{align-items:center;background:#fffbef8f;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;font:inherit;justify-content:space-between;padding:9px 8px;text-align:left;width:100%}.occupation-picker:hover{border-color:var(--accent)}.occupation-picker.is-active{border-color:var(--accent);outline:2px solid rgba(138,48,47,.15)}.occupation-picker em{color:var(--subtle);font-style:normal}.occupation-picker-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:30}.occupation-picker-popup{background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:var(--shadow-panel);max-height:min(600px,80vh);max-width:560px;overflow-y:auto;padding:16px;width:100%}.occupation-picker-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.occupation-picker-head strong{color:var(--text);font-size:15px;font-weight:500}.occupation-picker-grid{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}.occupation-picker-grid button{align-items:center;background:#e2cca073;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;display:flex;font:inherit;font-size:12px;height:52px;justify-content:center;line-height:1.4;overflow:hidden;padding:6px 3px;text-align:center}.occupation-picker-grid button:hover{border-color:var(--accent);color:var(--accent)}.occupation-picker-grid button.is-active{background:var(--accent);color:#f3e5c2}.occupation-picker-custom{background:#a8383014;border:1px solid rgba(123,48,45,.28);border-radius:4px;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;margin-top:10px;padding:8px;width:100%}.occupation-picker-custom.is-active{background:var(--accent);color:#f3e5c2}@media(max-width:640px){.occupation-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card-avatar-backdrop,.card-avatar-backdrop[hidden]{display:none}.card-avatar-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:25}.card-avatar-backdrop[hidden]{display:none}@media(max-width:640px){.character-cards-dialog{padding:24px 18px}.character-card-fields,.character-card-json-fields{grid-template-columns:1fr}.card-form-header{flex-direction:column}.card-header-fields{grid-template-columns:1fr 1fr}.character-card-item{align-items:flex-start;flex-direction:column}.character-card-item__actions{width:100%}.character-card-item__actions button{flex:1}.card-attr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-skill-list{flex-direction:column}}.toast{animation:toast-pop .22s ease-out;background:#3c2f1ef5;border:1px solid rgba(200,170,110,.65);border-radius:4px;box-shadow:0 8px 24px #462f1b66;color:#f3e5c2;display:none;font-size:13px;font-weight:600;left:50%;letter-spacing:.4px;padding:10px 18px;position:fixed;top:140px;transform:translate(-50%);z-index:45}.toast.is-visible{display:block}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.visually-hidden{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}@media(max-width:900px){.topbar{padding:0 18px}.workspace{grid-template-columns:minmax(0,1fr)}.side-panel{bottom:0;position:fixed;top:72px;transition:transform .2s ease;width:min(290px,88vw);z-index:10}.quick-menu{left:0;transform:translate(-100%)}.quick-menu.is-open{box-shadow:12px 0 30px #462f1b38;transform:translate(0)}.chat-panel{right:0;transform:translate(100%)}.chat-panel.is-open{box-shadow:-12px 0 30px #462f1b38;transform:translate(0)}.records-drawer,.records-toggle{display:none}.mobile-only{display:inline-block}.main-content{min-height:calc(100vh - 72px);padding:24px}.settlement-banner{inset:50% auto auto 50%;width:min(86vw,680px)}}@media(max-width:480px){.topbar{height:64px}.workspace{height:calc(100vh - 64px);min-height:0}.side-panel{top:64px}.topbar__actions{gap:8px}.login-button{padding:8px 9px}.dice-dialog{padding:24px 20px}.brand-kicker{font-size:10px}h1{font-size:17px}}.login-page{align-items:center;display:flex;justify-content:center;min-height:100vh;position:relative;overflow:hidden}.login-bg{background:radial-gradient(ellipse at 50% 80%,#0d2b1e,#080c12,#050709);inset:0;position:fixed;z-index:0}.login-bg:before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");opacity:.5}.login-bg:after{background:radial-gradient(circle at 50% 120%,rgba(45,107,78,.15) 0%,transparent 60%);content:"";position:absolute;inset:0}.login-shadow{animation:loginShadowWalk linear infinite;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 240'%3E%3Cg fill='%23050909'%3E%3Ccircle cx='70' cy='32' r='24'/%3E%3Cpath d='M46 62L46 56Q46 44 58 44L82 44Q96 44 96 56L98 118L46 118Z'/%3E%3Cpath d='M50 116L42 238L58 238L68 118Z'/%3E%3Cpath d='M96 118L104 170L86 238L70 238Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;filter:blur(18px);height:190px;opacity:.16;position:absolute;width:105px;z-index:0}.login-shadow--1{bottom:14%;animation-duration:34s;animation-delay:-8s;height:150px;width:84px;opacity:.12}.login-shadow--2{bottom:8%;animation-duration:26s;animation-delay:-2s;height:220px;width:124px;opacity:.22}.login-shadow--3{bottom:18%;animation-duration:42s;animation-delay:-18s;height:120px;width:68px;opacity:.1}.login-shadow--4{bottom:6%;animation-duration:30s;animation-delay:-14s;height:250px;width:140px;opacity:.16}.login-shadow--5{bottom:22%;animation-duration:48s;animation-delay:-28s;height:100px;width:58px;opacity:.09}.login-shadow--6{bottom:10%;animation-duration:24s;animation-delay:-5s;height:200px;width:112px;opacity:.2}.login-shadow--7{bottom:4%;animation-duration:36s;animation-delay:-22s;height:270px;width:152px;opacity:.14}.login-shadow--8{bottom:20%;animation-duration:38s;animation-delay:-31s;height:130px;width:74px;opacity:.11}.login-shadow--9{bottom:12%;animation-duration:28s;animation-delay:-11s;height:170px;width:96px;opacity:.15}.login-shadow--10{bottom:6%;animation-duration:22s;animation-delay:-4s;height:240px;width:136px;opacity:.19}.login-shadow--11{bottom:24%;animation-duration:52s;animation-delay:-40s;height:90px;width:52px;opacity:.08}.login-shadow--12{bottom:16%;animation-duration:33s;animation-delay:-26s;height:145px;width:82px;opacity:.1}.login-shadow--13{bottom:9%;animation-duration:25s;animation-delay:-17s;height:210px;width:118px;opacity:.17}.login-shadow--14{bottom:3%;animation-duration:44s;animation-delay:-35s;height:280px;width:158px;opacity:.13}@keyframes loginShadowWalk{0%{transform:translate(-30vw) translateY(0)}25%{transform:translate(15vw) translateY(-8px)}50%{transform:translate(55vw) translateY(0)}75%{transform:translate(90vw) translateY(-8px)}to{transform:translate(130vw) translateY(0)}}.login-card{background:#0a1016d9;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(45,107,78,.3);box-shadow:0 0 60px #2d6b4e14,0 24px 48px #00000080;max-width:380px;padding:40px 32px;position:relative;text-align:center;width:100%;z-index:1}.login-kicker{color:#2d6b4eb3;font-family:Georgia,Times New Roman,serif;font-size:12px;letter-spacing:4px;margin:0 0 8px;text-transform:uppercase}.login-title{color:#c8d8c0;font-family:Georgia,Times New Roman,serif;font-size:32px;font-weight:400;letter-spacing:2px;margin:0 0 6px;text-shadow:0 0 30px rgba(45,107,78,.3)}.login-subtitle{color:#a0af9b80;font-size:12px;margin:0 0 32px}.login-form{display:grid;gap:14px;text-align:left}.login-form label{color:#a0af9b99;display:block;font-size:12px}.login-form input:not([type=checkbox]){background:#141e19cc;border:1px solid rgba(45,107,78,.25);border-radius:4px;box-sizing:border-box;color:#c8d8c0;margin-top:6px;outline:0;padding:11px 12px;transition:border-color .2s,box-shadow .2s;width:100%}.login-form input:not([type=checkbox])::placeholder{color:#788c7866}.login-form input:not([type=checkbox]):focus{border-color:#2d6b4e99;box-shadow:0 0 0 2px #2d6b4e26}.login-form input[type=password]{letter-spacing:1.5px}.login-remember{align-items:center;color:#a0af9b80;display:flex;font-size:12px;gap:12px;line-height:1;margin:-4px 0 0;-webkit-user-select:none;user-select:none}.login-remember input{appearance:none;-webkit-appearance:none;background:#141e19cc;border:1px solid rgba(45,107,78,.25);border-radius:4px;cursor:pointer;flex:0 0 auto;height:14px;margin:0 3px 0 0;position:relative;transform:translateY(2px);width:14px}.login-remember input:checked{background:#2d6b4e;border-color:#2d6b4e}.login-remember input:checked:after{color:#c8d8c0;content:"✓";font-size:11px;font-weight:700;inset:0;line-height:14px;position:absolute;text-align:center}.login-label-confirm{margin-top:4px}.login-error{color:#c45c4a;font-size:12px;min-height:18px;margin:0;text-align:center}.login-submit{background:#2d6b4e;border:0;border-radius:4px;color:#c8d8c0;cursor:pointer;font-size:14px;letter-spacing:1px;margin-top:4px;padding:12px;transition:background .2s,box-shadow .2s}.login-submit:hover{background:#3a8a63;box-shadow:0 0 20px #2d6b4e40}.login-submit:disabled{opacity:.5;cursor:default}.login-switch{color:#a0af9b66;font-size:12px;margin:20px 0 0}.login-switch button{background:transparent;border:0;color:#2d6b4ecc;cursor:pointer;padding:0 4px}.login-switch button:hover{color:#3a8a63;text-decoration:underline}.canvas-toolbar{align-items:center;background:#ead7ad9e;border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 10px #462f1b1f;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:min(92%,760px);padding:7px 12px;position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:70}.canvas-toolbar button{background:#e2cca0d9;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;padding:5px 10px;transition:background .15s;white-space:nowrap}.canvas-toolbar button:hover{background:var(--surface-hover)}.canvas-toolbar button:disabled{opacity:.4;cursor:default}.canvas-text-input{background:#fffbefbf;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;font-size:13px;margin-bottom:10px;outline:0;padding:8px 10px;resize:vertical;width:100%}.canvas-text-input:focus{border-color:var(--accent)}.canvas-text-colors{display:flex;gap:8px;margin-bottom:10px}.canvas-text-colors button{border:2px solid transparent;border-radius:50%;cursor:pointer;height:24px;padding:0;width:24px}.canvas-text-colors button.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #7b302d40}.canvas-text-sizes{display:flex;gap:6px;margin-bottom:6px}.canvas-text-sizes button{background:#e2cca073;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;font-size:12px;padding:5px 10px}.canvas-text-sizes button.is-active{background:var(--accent);color:#f3e5c2}.check-init-list{display:grid;gap:10px}.check-init-list label{color:var(--muted);display:grid;font-size:12px;gap:4px}.check-init-list select{background:#fffbef99;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;padding:8px 6px;width:100%}.check-init-value{color:var(--muted);font-size:12px;margin:0}.check-init-value strong{color:var(--accent)}.san-loss-input{display:grid;gap:10px}.san-loss-controls{display:grid;grid-template-columns:minmax(82px,.45fr) auto minmax(120px,1fr);gap:8px}.san-loss-plus{align-items:center;color:var(--accent);display:flex;font-size:16px;font-weight:700;justify-content:center}.san-loss-controls input{min-width:0}.check-picker-group{color:var(--muted);font-size:12px;font-weight:700;margin:12px 0 6px}.check-picker-group:first-of-type{margin-top:0}.check-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.check-picker-grid button{flex-direction:column;gap:4px}.check-picker-grid button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.check-picker-grid button small{color:inherit;font-size:11px;opacity:.75}.check-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:35}.check-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;max-width:420px;padding:26px;position:relative;width:100%}.check-all-in-dialog{background:linear-gradient(160deg,#701d22fa,#2c1014f7);border-color:#f28d7ec7;box-shadow:0 18px 45px #540f147a,inset 0 0 30px #d428302e}.check-all-in-dialog h2,.check-all-in-dialog .section-label{color:#ffd0c5}.check-all-in-dialog .auth-description,.check-all-in-dialog .check-ask{color:#ffe5decc}.check-all-in-dialog .check-ask strong{color:#ffb5a5}.check-all-in-label{color:#ffb5a5;font-size:13px;font-weight:800;letter-spacing:.25em;margin:0;text-align:center;text-shadow:0 0 14px rgba(255,72,63,.8)}.check-all-in-button{background:#3e0e12d1;border:1px solid rgba(255,177,160,.65);border-radius:4px;bottom:12px;color:#ffd5ca;cursor:pointer;font-size:11px;padding:5px 8px;position:absolute;right:12px}.check-all-in-button:hover,.check-all-in-button:focus-visible{background:#9b262ce6;border-color:#ffd0c5}.check-dialog h2{font-size:21px;font-weight:500;margin-bottom:6px}.check-dialog-body{display:grid;gap:16px;margin-top:12px}.check-ask{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.check-ask strong{color:var(--accent);font-size:15px}.check-result{align-items:center;border:1px solid rgba(45,107,78,.5);border-radius:6px;color:#2d6b4e;display:flex;gap:14px;padding:12px 16px}.check-result strong{font-size:30px}.check-result span{font-size:15px;font-weight:600}.check-result--great{border-color:#a8383080;color:#a83830}.check-result--bad{border-color:#5a5248;color:#3a3630}.story-layer{background-color:#080b0a8c;background-position:center;background-repeat:no-repeat;background-size:cover;border:1px solid rgba(190,198,193,.28);border-radius:10px;box-shadow:none;inset:40px 10% 128px;overflow:hidden;pointer-events:none;position:absolute;z-index:33}.story-layer-filter{background:transparent;inset:0;pointer-events:none;position:absolute;z-index:0}.story-sprite{bottom:50px;height:78%;object-fit:contain;position:absolute;z-index:1;border-radius:0;box-shadow:none}.story-sprite--left{left:4%}.story-sprite--right{right:4%}.story-name{background:#0c120eeb;border:1px solid rgba(200,170,110,.55);border-radius:4px 4px 0 0;bottom:calc(100% - 8px);box-shadow:0 -2px 10px #00000040;color:#f3e5c2;font-size:13px;font-weight:600;left:-1px;padding:3px 12px 5px;position:absolute;z-index:2}.story-name--right{left:auto;right:-1px}.story-more-flag{animation:story-more-blink .9s ease-in-out infinite;bottom:6px;color:#f3e5c2e6;font-size:13px;pointer-events:none;position:absolute;right:12px}@keyframes story-more-blink{0%,to{opacity:.15;transform:translateY(0)}50%{opacity:1;transform:translateY(2px)}}.story-dialog{background:#080c0ad1;border:1px solid rgba(200,170,110,.55);border-radius:8px;bottom:16px;box-shadow:0 0 26px #c8aa6e24,inset 0 0 20px #c8aa6e12,0 4px 16px #00000059;color:#d8e3d0;font-size:16px;left:6%;line-height:1.8;min-height:88px;padding:14px 18px;position:absolute;right:6%;z-index:2}.story-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px;min-height:0}.story-action-tag{color:#d8e3d0ad;font-size:12px;line-height:1.4}.story-dialog-text{display:block;min-height:1.8em}.story-dialog:before{background:linear-gradient(90deg,transparent,rgba(200,170,110,.75),transparent);content:"";display:block;height:2px;margin:-14px -18px 12px}.story-hide-btn{align-items:center;background:#14201ad9;border:1px solid rgba(45,107,78,.4);border-radius:50%;color:#cfe0c6;cursor:pointer;display:flex;font-size:15px;height:30px;justify-content:center;line-height:1;pointer-events:auto;position:absolute;right:10px;top:10px;width:30px;z-index:3}.story-hide-btn:hover{background:#2d6b4e66}.story-reopen-btn{align-items:center;background:#14201aeb;border:1px solid rgba(45,107,78,.5);border-radius:6px;color:#cfe0c6;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;inset:auto 18px 18px auto;padding:0;position:absolute;width:32px;z-index:17}.story-reopen-btn:hover{background:#2d6b4e73}.dialogs-actions{align-items:center;display:flex;justify-content:flex-end;margin-top:8px}.dialogs-play-btn{background:var(--accent-soft);border:1px solid rgba(123,48,45,.28);border-radius:4px;color:var(--accent);cursor:pointer;font-size:12px;padding:3px 10px}.dialogs-play-btn:hover{background:#a8383026}.dialogs-tabs{display:flex;gap:6px;margin:4px 0 10px}.dialogs-tab{background:#e2cca066;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer;font-size:12px;padding:5px 16px}.dialogs-tab:hover{border-color:var(--accent);color:var(--accent)}.dialogs-tab.is-active{background:var(--accent);border-color:var(--accent);color:#f3e5c2}.play-editor{display:flex;flex-direction:column;flex:1;min-height:0}.play-controls{align-items:center;background:#e2cca038;border:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;padding:8px 10px}.play-control{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px}.play-control--toggle{cursor:pointer;font-weight:600}.play-control--toggle input{cursor:pointer;width:auto}.play-control input{background:#fffbef99;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;padding:4px 6px;width:64px}.play-buttons{display:flex;gap:6px}.play-bt{background:#e2cca0b3;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;padding:5px 12px}.play-bt:hover{border-color:var(--accent);color:var(--accent)}.play-bt:disabled{cursor:default;opacity:.45}.play-bt--play{background:#2d6b4ee6;border-color:#2d6b4ee6;color:#f6f1e0}.play-bt--play:hover:not(:disabled){background:#2d6b4e;color:#fff}.play-status{color:var(--subtle);font-size:12px;margin-left:auto}.play-cols{display:grid;flex:1;gap:12px;grid-template-columns:1fr 1fr;min-height:0;margin-top:10px;position:relative}.play-cols-mask{align-items:center;background:#faf4e4c7;border-radius:4px;color:#6b5636;display:flex;font-size:13px;inset:0;justify-content:center;position:absolute;z-index:6}.play-pending,.play-queue{display:flex;flex-direction:column;min-height:0}.play-pending{position:relative}.play-col-title{color:var(--muted);font-size:12px;font-weight:600;margin:0 0 8px}.play-col-title span{color:var(--subtle);font-weight:400;margin-left:6px}.play-scroll{flex:0 0 auto;height:425px;min-height:0;overflow-y:auto;padding-right:4px}.play-item{background:#e2cca04d;border:1px solid rgba(180,154,107,.45);border-radius:4px;cursor:grab;margin-bottom:8px;padding:8px 26px 8px 30px;position:relative;transition:opacity .3s}.play-item:active{cursor:grabbing}.play-item p{color:#4d4031;font-size:12px;line-height:1.5;margin:0}.play-item.is-current{border-color:#2d6b4ecc;box-shadow:0 0 0 2px #2d6b4e33}.play-item.is-played{opacity:.4}.play-drop-line{border-top:2px solid var(--accent);box-shadow:0 0 5px #7b302da6;margin:0 0 8px;animation:drop-line-pulse .9s ease-in-out infinite}.play-drop-line+.play-item,.play-item+.play-drop-line{margin-top:0}@keyframes drop-line-pulse{0%,to{opacity:1}50%{opacity:.35}}.play-scroll-hot{align-items:center;background:#7b302de0;border-radius:4px;color:#f3e5c2;cursor:ns-resize;display:flex;font-size:13px;height:24px;justify-content:center;left:0;position:absolute;right:0;z-index:4}.play-scroll-hot--top{top:26px}.play-scroll-hot--bottom{bottom:0}.play-queue-body .play-scroll-hot--top{top:0}.play-queue-body .play-scroll-hot--bottom{bottom:0}.play-seq{align-items:center;background:#7b302d1f;border-radius:50%;color:var(--accent);display:flex;font-size:12px;font-weight:700;height:18px;justify-content:center;left:6px;position:absolute;top:8px;width:18px}.play-item-remove{background:transparent;border:0;color:var(--subtle);cursor:pointer;font-size:14px;line-height:1;padding:3px 8px;position:absolute;right:2px;top:4px}.play-item-remove:hover{color:var(--accent)}.play-item-del{background:transparent;border:0;color:var(--subtle);cursor:pointer;font-size:14px;left:4px;line-height:1;padding:3px 8px;position:absolute;top:4px}.play-item-del:hover{color:var(--accent)}.play-refresh{margin-left:4px}.play-pending .play-scroll,.play-queue .play-scroll{border:1px solid var(--line);border-radius:4px;padding:8px}.play-queue-body{flex:1;min-height:0;position:relative}.play-progress{background:linear-gradient(180deg,#2d6b4ebf,#2d6b4e40);bottom:0;left:-4px;position:absolute;top:0;transform-origin:top;transition:transform .3s;width:3px}.dialog-records-btn--flash{animation:records-flash .8s ease-in-out 3}@keyframes records-flash{0%,to{box-shadow:0 0 #a8383000;background:#e2cca0d9}50%{box-shadow:0 0 0 5px #a8383059;background:#de9e76f2;color:var(--accent)}}.canvas-combat-btn{background:#7b302dd9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:6px 12px}.canvas-combat-btn:hover{background:#7b302d}.canvas-combat-btn:disabled{cursor:not-allowed;opacity:.55}.canvas-combat-btn:disabled:hover{background:#7b302dd9}.canvas-san-btn{background:#6a4c94d9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:6px 12px}.canvas-san-btn:hover{background:#6a4c94}.canvas-clue-btn{background:#2d6b4ed9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:6px 12px}.canvas-clue-btn:hover{background:#2d6b4e}.clue-overlay{align-items:center;background:#080a08eb;display:flex;flex-direction:column;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.clue-close{align-items:center;background:#9d454633;border:1px solid rgba(207,216,200,.55);border-radius:50%;color:#f3e5c2;cursor:pointer;display:inline-flex;font-size:24px;font-weight:700;height:34px;justify-content:center;line-height:1;padding:0 0 2px;position:absolute;right:14px;top:10px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;width:34px;z-index:2}.clue-close:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.06)}.clue-overlay-body{align-items:center;display:flex;flex-direction:column;max-height:92vh;max-width:min(86vw,1100px)}.clue-overlay-body img{border:2px solid rgba(200,170,110,.55);border-radius:6px;box-shadow:0 10px 40px #0009;max-height:76vh;max-width:100%;object-fit:contain}.clue-overlay-title{background:#0c120ee6;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f3e5c2;font-size:17px;font-weight:600;margin-top:14px;max-width:100%;padding:8px 20px;text-align:center}.clue-overlay-textonly{align-items:center;color:#f3e5c2;display:flex;font-size:26px;font-weight:700;justify-content:center;line-height:1.6;max-width:70vw;min-height:40vh;padding:20px;text-align:center}.clue-overlay-title-textonly{text-shadow:0 2px 12px rgba(0,0,0,.8)}.clue-overlay-meta{bottom:20px;color:#cfd8c8b3;font-size:12px;position:absolute}.clue-publish-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:40}.clue-publish-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-width:420px;padding:28px;position:relative;width:100%}.clue-publish-dialog h2{margin-bottom:10px}.clue-field-label{color:var(--muted);display:block;font-size:12px;margin-bottom:14px}.clue-field-label input[type=text]{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--text);margin-top:6px;padding:8px;width:100%}.clue-field-label .room-tab{border-bottom:0;margin-top:6px}.clue-target-field{background:#e2cca02e;border:1px solid var(--line);border-radius:4px;display:flex;flex-wrap:wrap;gap:8px 12px;margin:4px 0 14px;padding:10px}.clue-target-label{color:var(--muted);flex-basis:100%;font-size:12px}.clue-target-option{align-items:center;color:var(--text);display:inline-flex;font-size:12px;gap:6px}.clue-target-option input{accent-color:var(--accent)}.clue-target-empty{color:var(--subtle);font-size:12px}.clue-upload-box{align-items:center;background:#e2cca033;border:1px dashed var(--line);border-radius:4px;box-sizing:border-box;cursor:pointer;display:flex;height:150px;justify-content:center;margin-top:6px;overflow:hidden;position:relative;transition:border-color .2s,background .2s;width:100%}.clue-upload-box:hover,.clue-upload-box:focus-visible{background:#e2cca061;border-color:var(--accent);outline:none}.clue-upload-box img{height:100%;object-fit:contain;width:100%}.clue-upload-placeholder{align-items:center;color:var(--muted);display:flex;flex-direction:column;gap:6px;justify-content:center}.clue-upload-placeholder strong{color:var(--accent);font-size:28px;font-weight:400;line-height:1}.clue-upload-placeholder small{font-size:12px}.clue-img-name{color:var(--muted);display:block;margin-top:6px}.clue-remove{color:var(--danger);cursor:pointer;font-style:normal}.notes-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:40}.notes-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-height:84vh;max-width:540px;overflow-y:auto;padding:26px;position:relative;width:100%}.notes-dialog h2{margin-bottom:8px}.notes-tabs{border-bottom:1px solid var(--line);display:flex;gap:4px;margin-bottom:14px}.notes-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:13px;padding:6px 14px}.notes-tab.is-active{border-bottom-color:var(--accent);color:var(--accent)}.notes-textarea{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--text);font-size:13px;line-height:1.7;padding:10px;width:100%}.notes-pane{display:flex;flex-direction:column;gap:12px}.notes-empty{color:var(--subtle);font-size:12px;padding:12px 0}.notes-new-btn{align-self:flex-start}.note-list-item{background:#e2cca059;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px 12px;text-align:left;width:100%}.note-list-item:hover{border-color:var(--accent)}.note-list-item strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-list-item small,.note-detail-time{color:var(--muted);font-size:12px}.note-detail-backdrop{align-items:center;background:#36221473;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:50}.note-detail-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);max-height:84vh;max-width:540px;overflow-y:auto;padding:26px;position:relative;width:100%}.note-detail-dialog h2{margin-bottom:8px}.note-detail-content{background:#e2cca040;border:1px solid var(--line);border-radius:4px;line-height:1.7;margin:16px 0;max-height:48vh;overflow-y:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.note-editor-rich-text{margin:12px 0 0}.note-detail-actions{display:flex;gap:8px;justify-content:flex-end}.note-danger-btn{color:var(--danger)}.note-editor-textarea{box-sizing:border-box;margin:12px 0 0;max-height:48vh;min-height:180px;resize:vertical}.clue-list-item{align-items:center;display:flex;gap:8px}.clue-list-card{align-items:center;background:#e2cca059;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;flex:1;gap:10px;padding:8px;text-align:left}.clue-list-card:hover{border-color:var(--accent)}.clue-thumb{flex-shrink:0;height:44px;overflow:hidden;width:44px}.clue-thumb img{height:100%;object-fit:cover;width:100%}.clue-list-info{display:flex;flex:1;flex-direction:column;overflow:hidden}.clue-list-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clue-list-info small{color:var(--muted);font-size:12px}.clue-preview-full{border-radius:4px;max-height:88vh;max-width:88vw;object-fit:contain}.bg-gallery-backdrop{align-items:center;background:#080a08a6;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:60}.bg-gallery-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;max-height:86vh;max-width:760px;padding:24px;position:relative;width:100%}.bg-gallery-head{align-items:center;display:flex;justify-content:space-between}.bg-gallery-head h2{margin:0}.bg-gallery-toolbar{align-items:center;display:flex;gap:10px;margin:14px 0}.bg-upload-btn{background:#2d6b4ed9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:7px 14px}.bg-upload-btn:hover{background:#2d6b4e}.bg-gallery-msg{color:var(--muted);font-size:12px}.bg-gallery-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));overflow-y:auto;padding:4px}.bg-gallery-item{background:#e2cca040;border:2px solid transparent;border-radius:4px;cursor:pointer;height:100px;overflow:hidden;position:relative}.bg-gallery-item img{display:block;height:100%;object-fit:cover;width:100%}.bg-gallery-item--default{background:#171313}.bg-default-label{align-items:center;background:#05070d94;color:#fff0d0;display:flex;font-size:16px;font-weight:600;inset:0;justify-content:center;letter-spacing:1px;position:absolute;text-shadow:0 1px 3px rgba(0,0,0,.8)}.bg-gallery-item.is-selected{border-color:var(--accent)}.bg-delete-btn{background:#7b302deb;border:0;border-radius:50%;color:#fff;cursor:pointer;font-size:14px;height:22px;line-height:1;padding:0;position:absolute;right:4px;top:4px;width:22px}.bg-delete-btn:hover{background:#7b302d}.bg-selected-badge{align-items:center;background:#2d6b4ef2;border-radius:50%;color:#fff;display:flex;font-size:13px;height:24px;justify-content:center;left:6px;line-height:1;position:absolute;top:6px;width:24px}.bg-gallery-empty{color:var(--subtle);font-size:13px;padding:30px 0;text-align:center}.bg-gallery-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.bg-gallery-actions .room-tab{border-bottom:0}.check-waiting{color:var(--muted);font-size:13px;text-align:center;padding:10px 0}.check-stage{background:#5c49391f;border:1px solid var(--line);margin:0 auto;max-width:260px}.check-all-in-dialog .check-stage{background:#2f080c9e;border-color:#f28d7e94}.check-dice-canvas{display:block;height:auto;max-width:100%;width:260px}.check-showcase{align-items:center;background:#080a08f0;cursor:pointer;display:flex;inset:0;justify-content:center;position:fixed;z-index:9998}.check-showcase-card{background:#121a14f5;border:1px solid rgba(200,170,110,.6);border-radius:8px;box-shadow:0 0 30px #c8aa6e33;color:#f3e5c2;display:flex;flex-direction:column;gap:8px;max-width:440px;padding:26px 34px;text-align:center}.check-showcase-label{color:#c8aa6ed9;font-size:12px;letter-spacing:2px;margin:0;text-transform:uppercase}.check-showcase-card strong{font-size:22px}.check-showcase-roll{color:#d8e3d0;font-size:18px}.check-showcase-tip{color:#cfd8c899;font-size:12px}.san-check-backdrop{background:#051811e0}.san-check-dialog{background:linear-gradient(165deg,#1c4034f5,#0c221aeb 72%),radial-gradient(circle at 50% 0%,rgba(110,190,160,.1),transparent 60%);border:1px solid rgba(130,190,165,.35);border-radius:8px;box-shadow:0 18px 45px #0a201899,0 0 60px #60aa8c24,inset 0 0 50px #04120b99,inset 0 0 12px #60aa8c14;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%),linear-gradient(to right,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to bottom,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%),linear-gradient(to right,transparent 0,#000 12px,#000 calc(100% - 12px),transparent 100%);mask-composite:intersect}.san-check-dialog h2{color:#cdeedd}.san-check-dialog .section-label{color:#a0dcbed9}.san-check-dialog .auth-description{color:#cdeeddc7}.san-check-dialog .check-ask{color:#e2f6eceb}.san-check-dialog .check-ask strong{color:#b3e6d0}.san-check-dialog .check-stage{background:#0a1e178c;border-color:#78be9e66}.san-check-dialog .auth-submit{background:#4c6ca8b3}.san-check-dialog .auth-submit:hover{background:#5a7cc4e6}.san-check-dialog .check-waiting{color:#bee4d2b3}.san-tentacles{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:1}.san-tentacle{height:390px;position:absolute;transform-origin:center;width:240px}.san-tentacle-svg{animation:san-tentacle-in 2.8s ease-out var(--d, 0s) forwards,san-tentacle-sway 4.8s ease-in-out calc(var(--d, 0s) + 2.8s) infinite;display:block;filter:blur(9px);height:100%;opacity:0;width:100%}.san-tentacle-body{fill:#6746a19e;stroke:#b18bea85;stroke-width:2px}.san-tentacle-ridge{fill:none;stroke:#dec6ff7a;stroke-linecap:round;stroke-width:2px}.san-tentacle svg ellipse{fill:#bb92ee9e;stroke:#e6d2ff61;stroke-width:1px}@keyframes san-tentacle-in{0%{opacity:0;transform:translateY(-18px) scale(.9)}55%{opacity:.28}to{opacity:.28;transform:translateY(10px) scale(1.1)}}@keyframes san-tentacle-sway{0%,to{opacity:.28;transform:translateY(10px) scale(1.1) rotate(0)}50%{opacity:.34;transform:translateY(14px) scale(1.13) rotate(-5deg)}}.san-veil{height:420px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:420px;animation:san-veil-pulse 4s ease-in-out 1.6s infinite}@keyframes san-veil-pulse{0%,to{opacity:.15;transform:translate(-50%,-50%) rotate(0) scale(1)}50%{opacity:.35;transform:translate(-50%,-50%) rotate(18deg) scale(1.06)}}.combat-setup-backdrop{align-items:center;background:#080a08b8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:45}.combat-setup-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:8px;max-height:88vh;max-width:620px;overflow-y:auto;padding:24px;position:relative;width:100%}.combat-setup-side{background:#e2cca059;border:1px solid var(--line);border-radius:4px;padding:10px 12px}.combat-setup-side-head{align-items:center;display:flex;justify-content:space-between}.combat-setup-side-head h3{margin:0}.combat-setup-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.combat-setup-item{align-items:center;background:#7b302d1f;border:1px solid rgba(123,48,45,.4);border-radius:4px;display:inline-flex;font-size:12px;gap:6px;padding:4px 8px 4px 10px}.combat-setup-remove{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:14px;line-height:1;padding:0 4px}.combat-setup-empty{color:var(--muted);font-size:12px;font-style:italic}.combat-setup-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.combat-setup-actions .room-tab{border-bottom:0}.combat-picker-backdrop{align-items:center;background:#080a0899;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:46}.combat-picker-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;max-height:86vh;max-width:520px;overflow-y:auto;padding:24px;position:relative;width:100%}.combat-picker-group{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.combat-picker-group h3{margin:0 0 8px}.combat-picker-empty{color:var(--muted);font-size:12px;font-style:italic;padding:6px 0}.combat-picker-item{align-items:center;background:#e2cca080;border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;gap:8px;margin-bottom:6px;padding:6px 10px;text-align:left;width:100%}.combat-picker-item:hover{background:#e2cca0e6}.combat-picker-item.is-picked{background:#2d6b4e38;border-color:#2d6b4eb3}.combat-picker-item.is-added{background:#7b302d14;border-color:#7b302d4d;color:var(--muted);cursor:default}.combat-picker-item.is-added:hover{background:#7b302d14}.combat-picker-name{flex:1}.combat-picker-check{align-items:center;background:#2d6b4ee6;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:700;height:20px;justify-content:center;width:20px}.combat-picker-added{align-items:center;background:#7b302d26;border:1px solid rgba(123,48,45,.4);border-radius:4px;color:var(--accent);display:inline-flex;flex-shrink:0;font-size:12px;padding:3px 8px}.combat-picker-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.combat-picker-actions .room-tab{border-bottom:0}.combat-picker-avatar{align-items:center;background:#123b2b;border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;height:30px;justify-content:center;overflow:hidden;width:30px}.combat-picker-avatar img{height:100%;object-fit:cover;width:100%}.combat-layer{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.055'/></svg>"),repeating-linear-gradient(45deg,rgba(255,255,255,.014) 0 1px,transparent 1px 11px),radial-gradient(ellipse at 50% 40%,#2e1e0e8c,#070806f5 75%),linear-gradient(180deg,#0b0d09fa,#100d09f7);border:1px solid rgba(200,170,110,.32);border-radius:0;box-shadow:0 8px 30px #00000073,inset 0 0 90px #0000008c,inset 0 0 8px #c8aa6e0f;inset:0;pointer-events:auto;position:absolute;z-index:10}.combat-layer:before{border:1px solid rgba(200,170,110,.16);border-radius:8px;content:"";inset:44px 6px 6px;pointer-events:none;position:absolute}.combat-layer:after{border:1px dashed rgba(200,170,110,.08);border-radius:6px;content:"";inset:49px 11px 11px;pointer-events:none;position:absolute}.combat-topbar{align-items:center;display:flex;gap:12px;height:38px;padding:0 14px;position:relative}.combat-topbar:after{background:linear-gradient(90deg,transparent,rgba(200,170,110,.55),transparent);bottom:-1px;content:"";height:1px;left:12px;position:absolute;right:12px}.combat-title{color:#e9c97c;font-size:15px;font-weight:700;letter-spacing:2px;text-shadow:0 0 10px rgba(233,201,124,.35),0 1px 2px rgba(0,0,0,.9)}.combat-turn-hint{color:#cfd8c8bf;flex:1;font-size:12px}.combat-top-btn{background:#7b302dd9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;font-size:12px;padding:5px 12px}.combat-top-btn:hover{background:#7b302d}.combat-action-bar{align-items:flex-end;background:linear-gradient(180deg,#18140c8c,#18140c1f);display:flex;gap:12px;justify-content:center;overflow-x:auto;padding:12px 16px 9px;position:relative}.combat-action-bar:after{background:linear-gradient(90deg,transparent,rgba(200,170,110,.5),transparent);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.combat-action-item{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding:6px 2px 8px;position:relative;width:58px}.combat-action-item.is-acting{background:#c8aa6e24;border:1px solid rgba(218,168,64,.75);border-radius:6px;box-shadow:0 0 14px #daa8404d,inset 0 0 8px #daa8401f}.combat-action-item.is-acting:after{background:#080a08f2;border:1px solid rgba(218,165,32,.8);border-radius:4px;box-shadow:0 0 6px #daa52059;color:#ffd97a;content:"行动中";font-size:10px;left:50%;padding:0 5px;position:absolute;top:0;transform:translate(-50%,-50%);white-space:nowrap}.combat-action-name{color:#f8f0d8e6;font-size:12px;max-width:54px;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.combat-action-empty{color:#cfd8c880;font-size:12px;padding:8px 0}.combat-stage{display:flex;inset:118px 8% 393px;position:absolute}.combat-stage:before{background:linear-gradient(180deg,transparent,rgba(200,170,110,.22),transparent);bottom:0;content:"";left:50%;position:absolute;top:0;width:1px}.combat-side{align-content:center;align-items:center;display:grid;flex:1;gap:14px 30px;grid-template-columns:repeat(2,auto);justify-content:center}.combat-stage>.combat-side:first-child{background:radial-gradient(ellipse at center,rgba(45,107,78,.1),transparent 72%)}.combat-stage>.combat-side:nth-child(2){background:radial-gradient(ellipse at center,rgba(150,44,32,.13),transparent 72%)}.combat-side--bottom{bottom:268px;display:flex;flex:none;flex-direction:row;justify-content:center;left:0;position:absolute;right:0;z-index:2}.combat-side--bottom:before{background:linear-gradient(90deg,transparent,rgba(200,170,110,.28),transparent);content:"";height:1px;left:6%;position:absolute;right:6%;top:-16px}.combat-ops{background:linear-gradient(180deg,#12100ceb,#0c0c09db);border-top:1px solid rgba(200,170,110,.25);display:flex;flex-direction:column;gap:10px;inset:auto 8% 100px;padding:12px 18px 10px;position:absolute}.combat-ops-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.combat-ops-title{color:#f3e5c2;font-size:12px;font-weight:600;margin-right:6px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.combat-ops-btn{background:#7b302dbf;border:1px solid rgba(200,170,110,.45);border-radius:4px;color:#f6f1e0;cursor:pointer;font-size:12px;padding:6px 14px}.combat-ops-btn:hover{background:#7b302d}.combat-ops-btn:active{transform:translateY(1px)}.combat-ops-btn:disabled{cursor:not-allowed;opacity:.45}.combat-ops-btn.is-buff-disabled{cursor:not-allowed;opacity:.45}.combat-ops-actions>.combat-ops-btn:nth-of-type(3){display:none}.combat-move-field{display:grid;gap:8px;margin:18px 0}.combat-move-field textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:96px;padding:10px;border:1px solid rgba(200,170,110,.45);border-radius:4px;background:#161112b8;color:#f6f1e0;font:inherit}.combat-waiting-overlay{align-items:center;background:#080a088c;border:1px solid rgba(200,170,110,.35);border-radius:8px;color:#f3e5c2;display:flex;font-size:14px;justify-content:center;left:50%;letter-spacing:2px;padding:10px 22px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:40}.combat-continue-tip{align-items:center;background:#2d6b4ed9;border:1px solid rgba(200,170,110,.5);border-radius:8px;color:#f6f1e0;display:flex;font-size:14px;justify-content:center;left:50%;padding:10px 22px;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:40}.combat-ops-waiting{color:#cfd8c899;font-size:12px;padding:6px 0;text-align:center}.combat-turn-backdrop{align-items:center;background:#080a08b8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:34}.combat-turn-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:10px;max-width:380px;padding:24px;position:relative;width:100%}.combat-turn-dialog h2{font-size:16px;margin:0}.combat-turn-dialog .auth-description{color:var(--muted);font-size:13px;margin:0}.combat-turn-actions{display:flex;gap:8px;justify-content:flex-end}.combat-turn-actions .room-tab{border-bottom:0}.check-panel-backdrop{z-index:35}.combat-result-banner{display:none}.combat-contest-result-backdrop{align-items:center;background:#0a0807b8;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:60}.combat-contest-result{animation:combat-result-in .24s ease-out;background:linear-gradient(155deg,#2d251ffc,#181512fc);border:1px solid rgba(195,162,104,.55);border-radius:8px;box-shadow:0 24px 70px #000000a6,inset 0 0 30px #c3a2680d;color:#f3e5c2;max-width:650px;padding:26px 28px 22px;position:relative;width:min(92vw,650px)}.combat-contest-result h2{color:#e9c97c;font-size:21px;letter-spacing:2px;margin:0 0 5px;text-align:center}.combat-contest-summary{color:#dccfb4c2;font-size:13px;margin:0 0 20px;text-align:center}.combat-contest-rolls{align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto 1fr}.spell-result-rolls{grid-template-columns:repeat(2,minmax(0,1fr))}.spell-opposed-rolls{align-items:center;display:grid;gap:12px;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(54px,auto) minmax(0,1fr)}.combat-roll-card{animation:combat-die-pop .42s ease-out both;background:radial-gradient(circle at 50% 30%,#c3a2682e,#181512eb 72%);border:1px solid rgba(195,162,104,.48);border-radius:8px;display:grid;gap:8px;min-height:150px;padding:16px 12px;place-items:center;text-align:center}.combat-roll-card--defense{animation-delay:.12s;border-color:#708a6994}.combat-roll-label{color:#dccfb4b8;font-size:12px}.combat-roll-participant{color:#f3e5c2eb;font-size:12px;font-weight:600;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-roll-value{color:#f7d47f;font-family:Georgia,serif;font-size:58px;line-height:1;text-shadow:0 0 18px rgba(247,212,127,.24)}.combat-roll-card--defense .combat-roll-value{color:#b8d3a8;text-shadow:0 0 18px rgba(112,180,130,.2)}.combat-roll-level{border:1px solid currentColor;border-radius:999px;color:#d9b766;font-size:13px;padding:3px 12px}.combat-roll-level.is-great{color:#e59a77}.combat-roll-level.is-success{color:#a8c99a}.combat-roll-level.is-bad,.combat-roll-level.is-muted{color:#dccfb485}.combat-roll-versus{align-items:center;color:#e9c97ce6;display:flex;font-family:Georgia,serif;font-size:22px;font-weight:700;justify-content:center;letter-spacing:2px;min-width:54px;text-align:center;text-shadow:0 0 14px rgba(233,201,124,.24)}.combat-contest-outcome{border-top:1px solid rgba(195,162,104,.24);display:grid;gap:6px;margin-top:20px;padding-top:16px;text-align:center}.combat-contest-outcome strong{color:#e9c97c;font-size:20px}.combat-contest-outcome span{color:#dccfb4c7;font-size:13px;line-height:1.6}.combat-contest-outcome.is-hit strong{color:#a8c99a}.combat-contest-outcome.is-counter strong{color:#e59a77}.combat-damage-roll{align-items:center;animation:combat-dice-tumble .55s ease-out both;background:radial-gradient(circle at 50% 30%,#c3a2682e,#181512bf 74%);border:1px solid rgba(195,162,104,.34);border-radius:8px;display:flex;gap:12px;justify-content:center;margin:4px auto 2px;max-width:440px;padding:10px 18px;width:min(100%,440px)}.combat-damage-roll-icon{color:#f7d47f;filter:drop-shadow(0 0 10px rgba(247,212,127,.35));font-size:42px;line-height:1}.combat-damage-roll-body{align-items:center;display:flex;flex-direction:column;gap:4px;min-width:0}.combat-damage-roll-label{color:#dccfb4bd!important;font-size:12px!important;line-height:1.2!important}.combat-damage-dice{align-items:center;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.combat-damage-die{background:#f7d47f24;border:1px solid rgba(247,212,127,.5);border-radius:4px;color:#f7d47f!important;font-family:Georgia,serif;font-size:15px!important;font-weight:700;line-height:1.2!important;min-width:28px;padding:4px 8px}.combat-damage-total{color:#f3e5c2;font-size:13px}.combat-result-close{background:#7b302dc7;border:1px solid rgba(195,162,104,.46);border-radius:4px;color:#fff1d2;cursor:pointer;display:block;font-size:12px;margin:18px auto 0;padding:6px 22px}.combat-result-close:hover{background:#b14b4df5}@keyframes combat-result-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes combat-die-pop{0%{opacity:0;transform:translateY(18px) rotate(-4deg) scale(.88)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes combat-dice-tumble{0%{opacity:0;transform:translateY(8px) rotate(-8deg) scale(.82)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.combat-contest-defense-select{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;color:var(--text);padding:5px 8px}.ws-banner-overlay{align-items:center;background:#080e0aed;display:flex;inset:0;justify-content:center;pointer-events:none;position:fixed;z-index:99999}.ws-banner-card{align-items:center;background:#14201af2;border:1px solid rgba(130,190,165,.4);border-radius:10px;box-shadow:0 0 40px #60aa8c2e;color:#dff0e6;display:flex;flex-direction:column;gap:8px;max-width:360px;padding:26px 30px;pointer-events:auto;text-align:center;width:100%}.ws-banner-title{font-size:17px;font-weight:700;letter-spacing:1px;margin:0}.ws-banner-desc{color:#d0e8dcbf;font-size:13px;margin:0}.ws-banner-overlay.is-failed .ws-banner-card{border-color:#d2786e80;box-shadow:0 0 40px #b4463c33}.ws-banner-spinner{animation:ws-spin .9s linear infinite;border:3px solid rgba(130,190,165,.25);border-left-color:#8fd0b4;border-radius:50%;height:30px;margin-bottom:6px;width:30px}@keyframes ws-spin{to{transform:rotate(360deg)}}.scripts-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.scripts-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;display:flex;flex-direction:column;gap:8px;max-height:88vh;max-width:640px;overflow-y:auto;padding:24px;position:relative;width:100%}.scripts-head{align-items:center;display:flex;justify-content:space-between}.scripts-head h2{margin:0 0 4px}.scripts-head .scripts-new-btn{display:none}.scripts-tabs{border-bottom:1px solid var(--line);display:flex;gap:6px;margin-top:8px}.scripts-tab{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;font-size:12px;padding:8px 12px}.scripts-tab:hover{color:var(--text)}.scripts-tab.is-active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.scripts-dialog>.scripts-head{order:0}.scripts-dialog>.auth-description{order:1}.scripts-dialog>.scripts-tabs{order:2}.scripts-chapters-toolbar{display:flex;justify-content:flex-end;margin-top:4px;order:3}.scripts-chapters-new-btn{border-bottom:0}.scripts-dialog>.scripts-editor,.scripts-dialog>.scripts-detail,.scripts-dialog>.scripts-list,.scripts-dialog>.scripts-intro-section{order:4}.scripts-dialog[data-scripts-tab=chapters]>.scripts-intro-section{display:none}.scripts-dialog[data-scripts-tab=intro]>.scripts-chapters-toolbar{display:none}.scripts-dialog[data-scripts-tab=intro]>:not(.auth-close):not(.scripts-head):not(.scripts-tabs):not(.scripts-intro-section){display:none}.scripts-intro-section{background:#e2cca038;border:1px solid var(--line);border-radius:4px;display:flex;flex-direction:column;gap:8px;margin-top:4px;padding:14px}.scripts-intro-section h3{color:var(--text);font-size:15px;margin:0}.scripts-intro-section p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.scripts-intro-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.scripts-intro-actions .auth-submit{margin:0}.scripts-intro-status{color:var(--accent);font-size:12px;margin-right:auto}.scripts-editor{display:flex;flex-direction:column;gap:10px;margin-top:8px}.scripts-rich-label{margin-bottom:-4px}.scripts-editor textarea{background:#e2cca08f;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--text);padding:8px;resize:vertical;width:100%}.scripts-outline{background:#e2cca047;border:1px solid var(--line);border-radius:4px;padding:10px}.scripts-outline-row{align-items:center;display:flex;gap:6px;margin-bottom:6px}.scripts-outline-no{color:var(--muted);flex-shrink:0;font-size:12px;width:20px}.scripts-outline-row input{background:#fffcf5d9;border:1px solid var(--line);border-radius:4px;box-sizing:border-box;color:var(--text);flex:1;padding:6px 8px}.scripts-row-del{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:14px;padding:0 4px}.scripts-add-outline{border-bottom:0}.scripts-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.scripts-actions .room-tab{border-bottom:0}.scripts-list{display:flex;flex-direction:column;gap:10px;margin-top:6px}.scripts-empty{color:var(--muted);font-size:13px;font-style:italic;padding:20px 0;text-align:center}.scripts-item{background:#e2cca066;border:1px solid var(--line);border-radius:4px;padding:12px}.scripts-list-entry{align-items:center;cursor:pointer;display:flex;justify-content:space-between;text-align:left;width:100%}.scripts-list-entry:hover{border-color:var(--accent)}.scripts-item-title{color:var(--text);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scripts-item-head{align-items:center;display:flex;justify-content:space-between}.scripts-item-head strong{font-size:14px}.scripts-item-time{color:var(--muted);font-size:12px}.scripts-item-desc{color:var(--text);font-size:13px;line-height:1.7;margin:6px 0 0;white-space:pre-wrap}.scripts-item-desc .rich-text-content{font-size:inherit}.scripts-item-outline{display:flex;flex-direction:column;gap:4px;list-style:none;margin:8px 0 0;padding:0}.scripts-item-outline li{color:var(--text);display:flex;font-size:12px;gap:6px}.scripts-item-no{color:var(--accent);flex-shrink:0;font-weight:700;width:16px}.scripts-item-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.scripts-item-actions .room-tab{border-bottom:0;font-size:12px;padding:4px 8px}.scripts-del-btn{color:var(--danger)}.scripts-detail{display:flex;flex-direction:column;gap:10px;margin-top:8px;min-height:0}.scripts-detail-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.scripts-detail-head h2{margin:0 0 4px}.scripts-detail-back{border-bottom:0;flex-shrink:0}.scripts-detail-content{background:#e2cca038;border:1px solid var(--line);border-radius:4px;color:var(--text);font-size:13px;line-height:1.7;max-height:55vh;overflow-y:auto;padding:14px}.scripts-detail-empty{color:var(--muted);margin:0}.scripts-detail-outline{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.scripts-detail-outline h3{font-size:14px;margin:0 0 8px}.scripts-detail-outline ol{margin:0;padding-left:1.5em}.scripts-detail-outline li{color:var(--text);margin:3px 0}.scripts-detail-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.scripts-detail-actions .room-tab{border-bottom:0}.combat-dialog-row{align-items:center;display:flex;gap:8px}.combat-dialog-row .combat-dialog-bar{flex:1}.combat-dialog-bar{align-items:center;background:#14181299;border:1px solid rgba(200,170,110,.3);border-radius:6px;display:flex;gap:8px;padding:8px 10px;position:relative}.combat-dialog-bar .game-dialog-input{flex:1}.combat-story-reopen{align-items:center;background:#14201aeb;border:1px solid rgba(45,107,78,.5);border-radius:50%;color:#cfe0c6;cursor:pointer;display:flex;flex-shrink:0;font-size:15px;height:32px;justify-content:center;padding:0;width:32px}.combat-story-reopen:hover{background:#2d6b4e73}.combat-skill-backdrop{align-items:center;background:#080a08b3;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:32}.combat-skill-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:8px;max-height:80vh;max-width:420px;overflow-y:auto;padding:24px;position:relative;width:100%}.combat-skill-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:6px}.combat-skill-dialog--picker{max-width:520px}.combat-skill-list--select .combat-skill-item--select{align-items:center;flex-direction:row;justify-content:space-between}.combat-skill-list--select .combat-skill-item--select .combat-skill-name{flex:1;overflow-wrap:anywhere;width:auto}.combat-skill-list--select .combat-skill-item--select .combat-skill-value{flex-shrink:0;white-space:nowrap}.combat-skill-item{align-items:flex-start;background:#e2cca080;border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0;padding:7px 8px;text-align:left;width:100%}.combat-skill-item:hover{background:#e2cca0e6}.spell-cast-item{align-items:flex-start;background:#e2cca080;border:1px solid var(--line);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0;padding:9px 10px;position:relative;text-align:left}.spell-cast-item:hover{background:#e2cca0e6;border-color:var(--accent)}.spell-cast-item strong{font-size:13px;line-height:1.25;overflow-wrap:anywhere}.spell-cast-item small{color:var(--muted);font-size:12px}.spell-cast-item>p{background:var(--surface);border:1px solid var(--accent);box-shadow:0 10px 25px #0000004d;color:var(--muted);display:none;font-size:12px;left:0;line-height:1.5;margin:0;min-width:220px;padding:8px 10px;position:absolute;top:calc(100% + 6px);width:max-content;max-width:min(320px,calc(100vw - 48px));z-index:40}.spell-cast-item:hover>p{display:block}.spell-cast-item>p span{color:var(--accent);display:block;font-weight:600;margin-bottom:6px}.spell-cast-item>.combat-skill-item{display:none}.combat-spell-target-dialog{max-width:420px}.combat-spell-target-list{display:grid;gap:6px;margin-top:6px}.combat-skill-name{font-size:13px;line-height:1.25;overflow-wrap:anywhere;width:100%}.combat-skill-value{color:var(--accent);font-size:12px;font-weight:700}.combat-skill-apply{background:#7b302dbf;border:1px solid rgba(200,170,110,.45);border-radius:4px;color:#f6f1e0;font-size:12px;padding:3px 8px}.combat-skill-empty{color:var(--muted);font-size:12px;font-style:italic;padding:8px 0;text-align:center}.combat-skill-actions{display:flex;justify-content:flex-end;margin-top:8px}.combat-skill-actions .room-tab{border-bottom:0}.combat-approve-backdrop{align-items:center;background:#080a08b3;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:33}.combat-approve-dialog{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow-panel);display:flex;flex-direction:column;gap:10px;max-width:400px;padding:24px;position:relative;width:100%}.combat-approve-dialog .auth-description{color:var(--muted);font-size:13px;margin:0}.combat-approve-dialog .auth-description strong{color:var(--accent)}.combat-approve-actions{display:flex;gap:8px;justify-content:flex-end}.player-status-strip{--status-info-w: 176px;align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px 10px;left:16px;max-height:calc(100vh - 82px);max-width:calc(100vw - 32px);pointer-events:none;position:fixed;top:58px;z-index:2!important}.player-status-group{align-items:flex-start;background:transparent;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:4px;padding:5px 6px 6px;pointer-events:auto}.player-status-characters{display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px}.player-status-card{align-items:flex-start;display:flex;gap:8px;min-width:190px;position:relative}.player-status-avatar{align-items:center;background:#8060443d;border:2px solid rgba(240,207,138,.72);border-radius:50%;box-shadow:0 4px 10px #00000047;color:#fff1ca;display:flex;font-family:Georgia,serif;font-size:18px;flex:0 0 42px;height:42px;justify-content:center;overflow:hidden;width:42px}.player-status-avatar img{height:100%;object-fit:cover;width:100%}.player-status-info{min-width:0;width:var(--status-info-w)}.player-status-name{background:#080706db;border:1px solid rgba(255,255,255,.14);border-radius:4px;box-sizing:border-box;color:var(--text);font-size:11px;display:block;line-height:1.2;max-width:var(--status-info-w);overflow:hidden;text-overflow:ellipsis;padding:4px 8px;white-space:nowrap}.player-status-bars{display:grid;gap:4px;margin-top:4px;width:var(--status-info-w)}.player-status-bar{background:#080706e6;border:2px solid rgba(255,255,255,.15);border-radius:6px;box-sizing:border-box;overflow:hidden;position:relative;transition:box-shadow .2s ease;width:100%}.player-status-bar i{border-radius:inherit;display:block;height:100%;min-width:0;transition:width .25s ease}.player-status-bar span{align-items:center;color:#fff4dcb3;display:flex;font-size:11px;font-weight:700;inset:0;justify-content:center;line-height:1;opacity:.58;pointer-events:none;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.9);transition:opacity .18s ease}.player-status-card:hover .player-status-bar span{color:#fff4dc;opacity:1}.player-status-bar--hp{border-color:#e59a8b57;height:14px}.player-status-bar--hp i{background:linear-gradient(90deg,#9d4546,#db806f)}.player-status-bar--san{border-color:#bba0ea57;height:14px}.player-status-bar--san i{background:linear-gradient(90deg,#654d8e,#bba0ea)}.player-status-bar--mp{border-color:#86b7e757;height:14px}.player-status-bar--mp i{background:linear-gradient(90deg,#35658d,#86b7e7)}.player-status-bar.is-flashing{animation:player-status-flash 1.5s ease-in-out}@keyframes player-status-flash{0%,to{filter:brightness(1);transform:scaleX(1)}18%,46%,74%{filter:brightness(1.9);transform:scaleX(1.025)}}.player-status-buffs{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-start;margin-top:6px;max-width:112px;min-height:20px}.player-status-buffs.is-flashing .buff-chip{animation:player-status-buff-flash 1.5s ease-in-out}@keyframes player-status-buff-flash{0%,to{filter:brightness(1);transform:scale(1)}20%,50%,80%{filter:brightness(1.75);transform:scale(1.12)}}.player-status-buffs .buff-chip{flex-basis:20px;font-size:13px;height:20px;width:20px}.player-status-buffs .buff-tooltip{bottom:auto;left:calc(100% + 8px);max-width:calc(100vw - 32px);top:50%;transform:translateY(-50%);z-index:6}@media(max-width:720px){.player-status-strip{gap:6px;left:10px;max-width:calc(100vw - 20px);top:56px}.player-status-group{padding:4px 5px 5px}.player-status-card{min-width:166px}.player-status-avatar{flex-basis:36px;height:36px;width:36px}.player-status-info,.player-status-bars{width:104px}.player-status-buffs{max-width:104px}.player-status-bar span{font-size:10px}}.combat-approve-actions .room-tab{border-bottom:0}.combat-ops-btn--skill{background:#2d6b4ebf}.combat-ops-btn--skill:hover{background:#2d6b4e}.combat-direct-hidden{align-items:center;color:var(--muted);display:flex;font-size:12px;gap:6px;margin:2px 0 4px}.combat-direct-hidden input{accent-color:var(--accent)}.check-result--masked{padding:6px 0;text-align:center}.check-result--masked strong{color:var(--muted);font-size:14px}.check-result--masked span{color:var(--accent);font-size:12px}.combat-unit{align-items:center;display:flex;flex-direction:column;gap:6px;position:relative}.combat-unit-name{color:#f3e5c2;font-size:13px;font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-role-tag{display:none}.combat-ring{align-items:center;background:#123b2b;border-radius:50%;display:flex;height:96px;justify-content:center;overflow:hidden;position:relative;width:96px}.combat-ring img{height:100%;object-fit:cover;width:100%}.combat-ring-name{color:#f3e5c2;font-size:12px;max-width:88px;overflow-wrap:anywhere;padding:0 6px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8)}.combat-ring--ally{border:3px solid rgba(76,175,80,.95);box-shadow:0 0 16px #4caf5066,inset 0 0 12px #4caf502e,inset 0 0 18px #00000080}.combat-ring--enemy{border:3px solid rgba(229,57,53,.95);box-shadow:0 0 16px #e5393566,inset 0 0 12px #e5393529,inset 0 0 18px #00000080}.combat-ring--third{border:3px solid rgba(230,226,214,.95);box-shadow:0 0 16px #e6e2d638,inset 0 0 12px #e6e2d61a,inset 0 0 18px #00000080}.combat-ring--sm{border-width:2px;height:38px;width:38px}.combat-ring--sm .combat-ring-name{font-size:11px;max-width:30px;padding:0 4px}.combat-ring--sm.combat-ring--ally{box-shadow:0 0 8px #4caf5059,inset 0 0 6px #00000080}.combat-ring--sm.combat-ring--enemy{box-shadow:0 0 8px #e5393559,inset 0 0 6px #00000080}.combat-ring--sm.combat-ring--third{box-shadow:0 0 8px #e6e2d626,inset 0 0 6px #00000080}.combat-unit--effect-hit>.combat-ring{animation:combat-avatar-hit 1.5s ease-in-out}.combat-unit--effect-hit>.combat-ring:after{background:#d52a2a9e;border-radius:50%;content:"";inset:0;pointer-events:none;position:absolute}.combat-unit--effect-miss:after{animation:combat-miss-float 1.5s ease-out forwards;color:#f2dfae;content:"MISS";font-size:19px;font-weight:800;left:50%;letter-spacing:.12em;pointer-events:none;position:absolute;text-shadow:0 2px 5px rgba(0,0,0,.85);top:31%;transform:translate(-50%);z-index:4}.combat-unit--hp-loss:before,.combat-unit--hp-gain:before{animation:combat-hp-float 1.5s ease-out forwards;content:var(--combat-hp-change);font-size:21px;font-weight:800;left:50%;pointer-events:none;position:absolute;text-shadow:0 2px 5px rgba(0,0,0,.85);top:3%;transform:translate(-50%);z-index:5}.combat-unit--hp-loss:before{color:#ff5f5f}.combat-unit--hp-gain:before{color:#63e28a}.combat-unit--hp-loss>.combat-ring{animation:combat-avatar-hit 1.5s ease-in-out}.combat-unit--hp-gain>.combat-ring{animation:combat-avatar-heal 1.5s ease-in-out}.combat-unit--effect-hit.combat-unit--hp-loss>.combat-ring{animation:combat-avatar-hit 1.5s ease-in-out}@keyframes combat-avatar-hit{0%,to{filter:none;box-shadow:inherit}15%,45%,75%{filter:sepia(1) saturate(5) hue-rotate(315deg) brightness(1.12);box-shadow:0 0 22px #ff3030f2,0 0 42px #d6232385}30%,60%{filter:none}}@keyframes combat-miss-float{0%{opacity:0;top:34%}18%{opacity:1}to{opacity:0;top:7%}}@keyframes combat-hp-float{0%{opacity:0;top:12%}16%{opacity:1}to{opacity:0;top:-15%}}@keyframes combat-avatar-heal{0%,to{filter:none}15%,45%,75%{filter:saturate(1.7) brightness(1.18);box-shadow:0 0 22px #40e072f2,0 0 42px #2cae5485}30%,60%{filter:none}}.combat-hp-bar{--hp-percent: 100%;align-items:center;background:#2d1818e6;border:1px solid rgba(222,88,80,.6);border-radius:8px;box-shadow:inset 0 1px 4px #00000073,0 0 8px #de4a462e;display:flex;height:15px;justify-content:center;overflow:hidden;position:relative;width:96px}.app-shell.is-owner .combat-stage .combat-hp-bar{cursor:pointer}.combat-hp-bar:after{background:linear-gradient(180deg,#de4a46f2,#962c22db);border-radius:6px 0 0 6px;content:"";inset:1px auto 1px 1px;pointer-events:none;position:absolute;transition:width .3s ease;width:var(--hp-percent)}.combat-hp-bar:before{background:linear-gradient(180deg,#ffffff38,#ffffff05);border-radius:6px;content:"";inset:1px;pointer-events:none;position:absolute;z-index:2}.combat-hp-bar span{color:#fbf0e0;font-size:11px;font-weight:700;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.8);z-index:3}.combat-hp-bar--sm{border-radius:4px;height:12px;width:44px}.combat-side--bottom .combat-unit{gap:4px}.combat-side--bottom .combat-unit-name{font-size:11px;max-width:84px}.combat-side--bottom .combat-ring{height:60px;width:60px}.combat-side--bottom .combat-ring-name{font-size:10px;max-width:54px}.combat-side--bottom .combat-hp-bar{height:12px;width:60px}.combat-side--bottom .combat-hp-bar span{font-size:9px}.combat-side--bottom .combat-resource-bars{gap:3px;width:60px}.combat-side--bottom .combat-resource-bar{height:10px;width:60px}.combat-side--bottom .combat-resource-bar span{font-size:8px}.combat-hp-bar--sm span{font-size:10px}.combat-resource-bars{display:flex;flex-direction:column;gap:4px;width:96px}.combat-resource-bar{align-items:center;background:#202020bf;border:1px solid rgba(226,204,160,.32);border-radius:4px;box-sizing:border-box;display:flex;height:13px;justify-content:center;overflow:hidden;position:relative;width:96px}.combat-resource-bar i{bottom:0;left:0;position:absolute;top:0;transition:width .25s ease}.combat-resource-bar span{color:#fff;font-size:10px;font-weight:700;line-height:12px;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.75);z-index:1}.combat-resource-bar--san i{background:#9756bee6}.combat-resource-bar--mp i{background:#77bfdedb}.combat-drop-line{border-left:2px solid #ffd97a;box-shadow:0 0 6px #ffd97a99;flex-shrink:0;height:60px;margin:0 -6px}.combat-hover-tip{background:#0e1410f7;border:1px solid rgba(200,170,110,.55);border-radius:6px;box-shadow:0 6px 18px #00000080;color:#f3e5c2;left:50%;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%);width:200px;z-index:60}.combat-hover-tip--down{bottom:auto;top:calc(100% + 8px)}.combat-unit>.combat-hover-tip,.combat-side--bottom .combat-hover-tip{bottom:auto;left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.combat-hover-tip strong{display:block;font-size:13px;margin-bottom:4px}.combat-tip-tag{color:#c8aa6ed9;display:block;font-size:11px;margin-bottom:6px}.combat-tip-attrs{display:grid;gap:4px 6px;grid-template-columns:repeat(3,1fr);margin-bottom:6px}.combat-tip-resources{background:#c8aa6e1a;border-bottom:1px solid rgba(200,170,110,.35);border-top:1px solid rgba(200,170,110,.35);display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin:2px 0 6px;padding:4px 2px}.combat-tip-derived{background:#c8aa6e0f;border-bottom:1px dashed rgba(200,170,110,.3);display:grid;gap:6px;grid-template-columns:repeat(4,1fr);margin:-6px 0 6px;padding:4px 2px}.combat-tip-row{align-items:center;display:flex;font-size:11px;justify-content:space-between}.combat-tip-row em{color:#cfd8c899;font-style:normal}.combat-tip-row b{color:#fff;font-weight:600}.combat-tip-skills{border-top:1px dashed rgba(200,170,110,.4);display:flex;flex-direction:column;gap:4px;padding-top:6px}.combat-tip-skill{align-items:center;display:flex;font-size:12px;justify-content:space-between}.combat-tip-skill em{color:#cfd8c8bf;font-style:normal}.combat-tip-skill b{color:#ffd97a;font-weight:600}.combat-tip-none{color:#cfd8c880;font-size:11px;font-style:italic}.combat-attack-picker-dialog{max-width:520px}.combat-attack-field{color:var(--muted);display:flex;flex-direction:column;font-size:12px;gap:6px}.combat-attack-field select{background:#e2cca033;border:1px solid var(--line);border-radius:4px;color:var(--text);padding:8px}.combat-attack-targets{display:flex;flex-direction:column;gap:6px;margin-top:4px}.combat-attack-field-title{color:var(--muted);font-size:12px}.combat-attack-targets .combat-picker-item{align-items:center;display:flex;gap:8px}.combat-picker-value{color:var(--muted);font-size:12px;margin-left:auto}.app-modal-backdrop{align-items:center;background:#ffffff9e;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.app-modal-dialog{align-items:flex-start;background:#fffffff5;border:1px solid rgba(83,60,41,.2);border-radius:18px;box-shadow:0 24px 70px #462f1b40,0 2px 8px #462f1b1a;color:var(--text, #33271f);display:flex;gap:16px;max-width:min(440px,calc(100vw - 48px));padding:26px 28px 24px;width:100%}.app-modal-icon{align-items:center;background:#745b3e1f;border:1px solid rgba(116,91,62,.24);border-radius:50%;color:var(--accent, #7b342f);display:flex;flex:0 0 34px;font-family:Georgia,serif;font-size:20px;font-weight:700;height:34px;justify-content:center;line-height:1;margin-top:1px;width:34px}.app-modal-dialog.is-danger .app-modal-icon{background:#92302b1a;border-color:#92302b40;color:#9a302d}.app-modal-content{flex:1;min-width:0}.app-modal-eyebrow{color:var(--muted, #806f60);font-size:11px;letter-spacing:.18em;margin:0 0 6px}.app-modal-dialog h2{font-family:Georgia,Times New Roman,serif;font-size:23px;letter-spacing:.02em;margin:0}.app-modal-message{color:var(--muted, #806f60);font-size:14px;line-height:1.65;margin:12px 0 20px;white-space:pre-wrap;word-break:break-word}.app-modal-hint{color:var(--muted, #806f60);font-size:12px;line-height:1.5;margin:-8px 0 20px;opacity:.82}.app-modal-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.app-modal-button{border:1px solid transparent;border-radius:8px;cursor:pointer;font:inherit;min-width:82px;padding:9px 16px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.app-modal-button:hover{transform:translateY(-1px)}.app-modal-button--cancel{background:#745b3e14;border-color:#745b3e2e;color:var(--text, #33271f)}.app-modal-button--cancel:hover{background:#745b3e24}.app-modal-button--confirm{background:var(--accent, #7b342f);color:#fffaf3}.app-modal-button--confirm:hover{background:#642723}.app-modal-dialog.is-danger .app-modal-button--confirm{background:#94332f}@media(max-width:520px){.app-modal-backdrop{padding:16px}.app-modal-dialog{padding:22px 20px 20px}}:root{color-scheme:dark;--bg: #12100f;--surface: #211c19;--surface-soft: #2b2420;--surface-hover: #3a2f28;--line: #66533b;--text: #e5d6b9;--muted: #b4a184;--subtle: #8c775d;--accent: #9d4546;--accent-soft: rgba(157, 69, 70, .18);--success: #708a69;--danger: #bd5b51;--archive-gold: #c3a268;--archive-ink: #0c0b0a;--archive-shadow: rgba(0, 0, 0, .52);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-2: 0 2px 6px rgba(0, 0, 0, .42), 0 6px 18px rgba(0, 0, 0, .42);--shadow-3: 0 4px 10px rgba(0, 0, 0, .45), 0 12px 30px rgba(0, 0, 0, .5);--shadow-panel: 0 3px 10px rgba(0, 0, 0, .45), 0 18px 45px rgba(0, 0, 0, .5)}html{background:var(--bg)}body{background:radial-gradient(ellipse at 50% -20%,rgba(139,93,52,.16),transparent 56%),radial-gradient(ellipse at 50% 120%,rgba(71,45,32,.22),transparent 58%),var(--bg);color:var(--text);font-family:Microsoft YaHei,"Noto Serif SC",Songti SC,Georgia,serif;letter-spacing:.01em}body:before{background-image:linear-gradient(#12100ec7,#12100ec7),url(/img/parchment-texture.svg);background-size:cover;mix-blend-mode:normal;opacity:.22}button,input,select,textarea{font-family:inherit}button{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--archive-gold);outline-offset:2px}h1,h2,h3,.login-title,.records-head h2,.panel-heading h2,.dialogs-dialog h2{font-family:Georgia,Times New Roman,"Noto Serif SC",serif}h1,h2,h3{color:var(--text)}.app-shell{background:transparent;isolation:auto}.topbar{background:linear-gradient(180deg,#2b231dfa,#1b1714f5);border-bottom-color:#c3a2686b;box-shadow:0 8px 28px #0000005c,inset 0 -1px #c3a26814;position:relative}.topbar:after{background:linear-gradient(90deg,transparent,rgba(195,162,104,.46),transparent);bottom:-2px;content:"";height:1px;left:12%;position:absolute;right:12%}.brand-kicker,.section-label{color:var(--archive-gold);text-shadow:0 1px 8px rgba(195,162,104,.2)}.topbar-game-status{background:#c3a2681a;border-color:#c3a26859;color:var(--archive-gold)}.user-name,h1,h2,h3,.menu-footer strong,.chat-room strong{color:var(--text)}.user-avatar,.room-avatar,.message-avatar{background:#574431;border:1px solid rgba(195,162,104,.35);color:#f1e4ca}.login-button,.logout-button,.icon-button{color:var(--muted)}.login-button:hover,.logout-button:hover,.icon-button:hover{color:var(--archive-gold)}.player-list-btn,.auth-submit,.login-submit,.game-dialog-send,.send-button{background:var(--accent);color:#f5e7c8}.player-list-btn:hover,.auth-submit:hover,.login-submit:hover,.game-dialog-send:hover,.send-button:hover{background:#b05250;box-shadow:0 0 18px #9d454633}.workspace{background:#0b0a0938}.side-panel{background:linear-gradient(180deg,#231d19f5,#191613f0);box-shadow:inset 0 0 36px #00000047,inset -1px 0 #c3a26814}.quick-menu{border-right-color:#c3a26847}.chat-panel{background:#191613d6;border-left-color:#c3a2684d}.panel-heading{border-bottom-color:#c3a2682e}.menu-item{color:var(--muted)}.menu-item:hover{background:#c3a2681a;color:var(--text)}.menu-item.is-active{background:linear-gradient(90deg,#9d454640,#9d45460f);border-color:#9d454680;color:#d99386;box-shadow:inset 3px 0 0 var(--accent)}.menu-footer,.chat-form{border-top-color:#c3a26847}.menu-footer a,.menu-footer strong{color:var(--archive-gold)}.main-content:before,.main-content:after{background:#c3a26847}.empty-state__mark,.empty-state:before,.empty-state:after{color:var(--archive-gold)}.empty-state__hint{border-color:#c3a2686b;color:var(--subtle)}.room-button,.room-action,.login-button,.records-toggle,.room-tab,.canvas-toolbar button{background:#c3a2680f;border-color:#c3a2685c;color:var(--muted)}.room-button:hover,.room-action:hover,.login-button:hover,.records-toggle:hover,.room-tab:hover,.canvas-toolbar button:hover{background:#c3a26824;border-color:var(--archive-gold);color:var(--text)}.room-tab.is-active,.records-toggle.is-active{background:#9d45462e;border-bottom-color:var(--accent);color:#d99386}.game-dialog-bar,.canvas-toolbar,.records-panel{background:linear-gradient(180deg,#2d251ff5,#1d1916f5);border-color:#c3a26861;box-shadow:0 10px 28px var(--archive-shadow),inset 0 0 22px #c3a2680a}.game-dialog-input,.game-speaker-select,.canvas-text-input,.chat-form input,.scripts-editor textarea,.scripts-outline-row input,.combat-attack-field select,.combat-contest-defense-select,.note-editor-textarea,.notes-textarea,.skill-branch-input,.skill-branch-select,.attr-target-input,.derived-input{background:#0a090885;border-color:#c3a2684d;color:var(--text)}.game-dialog-input:focus,.chat-form input:focus,.canvas-text-input:focus,.scripts-editor textarea:focus,.note-editor-textarea:focus,.notes-textarea:focus{border-color:var(--archive-gold);box-shadow:0 0 0 2px #c3a2681a}.game-dialog-input::placeholder,.chat-form input::placeholder,textarea::placeholder{color:#b4a1847a}.dialog-sent-overlay{background:#1c1815e6;border-color:#c3a26847;box-shadow:0 8px 22px #00000040}.dialog-sent-item{color:var(--text)}.dialog-sent-time,.message time,.records-meta time{color:var(--subtle)}.dialog-sent-badge{background:#c3a26821;border-color:#c3a26880;color:var(--archive-gold)}.dialog-sent-badge.is-queued{background:#708a6926;border-color:#708a6980;color:#a8c09b}.message p,.records-item p,.dialogs-item p,.view-card-fields p{background:#302721cc;color:#d7c7a9}.message--self p{background:#9d454633;color:#e5b4a9}.message--dice p{border-color:#c3a26875;color:var(--archive-gold)}.message-author,.message time,.chat-room span:not(.room-avatar):not(.online-pulse){color:var(--subtle)}.chat-lock{background:#13110feb}.chat-lock strong{color:var(--text)}.chat-lock__icon{color:var(--archive-gold)}.scroll-to-latest{background:var(--surface);border-color:var(--archive-gold);color:var(--archive-gold)}.auth-backdrop,.dialogs-backdrop,.dice-backdrop,.dice-result-backdrop,.members-backdrop,.player-list-backdrop,.avatar-backdrop,.character-cards-backdrop,.view-card-backdrop,.room-backdrop,.notes-backdrop,.note-detail-backdrop,.check-backdrop,.check-panel-backdrop,.clue-publish-backdrop,.placeholder-backdrop,.join-picker-backdrop,.occupation-picker-backdrop,.scripts-backdrop,.bg-gallery-backdrop,.combat-setup-backdrop,.combat-picker-backdrop,.combat-turn-backdrop,.combat-skill-backdrop,.combat-approve-backdrop,.app-modal-backdrop{background:#070606c7;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-dialog,.dice-dialog,.members-dialog,.avatar-dialog,.character-cards-dialog,.view-card-dialog,.room-dialog,.notes-dialog,.note-detail-dialog,.check-dialog,.clue-publish-dialog,.placeholder-dialog,.join-picker-dialog,.occupation-picker-dialog,.scripts-dialog,.bg-gallery-dialog,.combat-setup-dialog,.combat-picker-dialog,.combat-turn-dialog,.combat-skill-dialog,.combat-approve-dialog,.player-list-panel,.dialogs-dialog,.app-modal-dialog,.age-help-panel{background:linear-gradient(155deg,#2d251ffc,#1b1714fc);border-color:#c3a26873;border-radius:6px;box-shadow:0 24px 65px #0000008c,inset 0 0 34px #c3a2680a;color:var(--text)}.auth-dialog:before,.workbench-dialog:before,.dice-dialog:before,.members-dialog:before,.dialogs-dialog:before,.combat-setup-dialog:before,.combat-picker-dialog:before,.app-modal-dialog:before{border:1px solid rgba(195,162,104,.11);content:"";inset:6px;pointer-events:none;position:absolute}.auth-dialog h2,.dice-dialog h2,.members-dialog h2,.dialogs-dialog h2,.room-dialog h2,.notes-dialog h2,.scripts-dialog h2,.combat-setup-dialog h2,.combat-picker-dialog h2,.combat-turn-dialog h2,.combat-skill-dialog h2,.combat-approve-dialog h2,.app-modal-dialog h2{color:var(--text)}.auth-description,.auth-form label,.auth-remember,.auth-switch,.placeholder-dialog .auth-description,.combat-turn-dialog .auth-description,.combat-approve-dialog .auth-description,.auth-close{color:var(--muted)}.auth-close:hover{color:#d99386}.auth-form input:not([type=checkbox]),.auth-remember input,.login-form input:not([type=checkbox]),.login-remember input{background:#0a09088f;border-color:#c3a2684d;color:var(--text)}.auth-form input:not([type=checkbox]):focus,.login-form input:not([type=checkbox]):focus{border-color:var(--archive-gold);box-shadow:0 0 0 2px #c3a2681f}.auth-switch button,.login-switch button,.auth-submit,.login-submit{color:#f2dfbd}.auth-switch button,.login-switch button{color:#d08b7f}.auth-switch button:hover,.login-switch button:hover{color:var(--archive-gold)}.room-tabs,.dialogs-tabs,.notes-tabs,.card-tabs{border-bottom-color:#c3a2684d}.dialogs-item,.records-item{border-bottom-color:#c3a26838}.dialogs-meta strong,.records-meta strong,.view-card-attrs strong{color:#d99386}.dialogs-meta time,.records-meta time,.scripts-item-time,.member-item small{color:var(--subtle)}.character-card-item,.clue-list-item,.note-list-item,.member-item,.play-item,.scripts-item,.card-weapon-item,.card-skill-group,.card-attr-cell,.card-panel,.card-tab-panel,.combat-setup-side,.combat-picker-item,.combat-skill-item,.age-help-item,.ws-banner-card{background:#2b231ed6;border-color:#c3a26847;color:var(--text)}.character-card-item:hover,.clue-list-item:hover,.note-list-item:hover,.member-item:hover,.play-item:hover,.combat-picker-item:hover,.combat-skill-item:hover{background:#c3a2681f;border-color:#c3a2688c}.card-panel-hint,.card-skill-hint,.clue-list-info small,.scripts-empty,.scripts-item-time,.combat-picker-empty,.combat-skill-empty,.age-help-panel{color:var(--muted)}.card-attr-label,.card-player-label,.card-skill-group-title,.card-occupation-meta,.card-combat-meta,.combat-attack-field-title{color:var(--archive-gold)}.card-weapon-item__remove,.scripts-row-del,.play-item-del,.play-item-remove,.bg-delete-btn{color:#d99386}.card-weapon-item__remove:hover,.scripts-row-del:hover{color:#f1b0a3}.player-slot{background:#2b231ec2;border-color:#c3a2684d}.player-slot:hover,.player-slot.is-mine{border-color:var(--accent)}.player-slot strong{color:var(--text)}.player-slot small{color:var(--subtle)}.player-slot-player{color:#b4a184b8}.player-controller-picker{background:#2d2520;border-color:var(--archive-gold)}.player-controller-picker>button{background:#0a090852;border-color:#c3a2684d;color:var(--text)}.player-controller-picker>button:hover,.player-controller-picker>button.is-current{background:#c3a26829;border-color:var(--archive-gold);color:var(--archive-gold)}.player-slot-portrait{background:#123b2b}.player-slot-cover{background:#08070680}.login-bg{background:radial-gradient(ellipse at 50% 88%,#3a201f,#171313 45%,#080808)}.login-bg:after{background:radial-gradient(circle at 50% 120%,rgba(157,69,70,.2),transparent 62%)}.login-card{background:#1c1715e8;border-color:#c3a2685c;box-shadow:0 0 70px #9d45461a,0 24px 48px #00000094,inset 0 0 30px #c3a2680a}.login-kicker{color:#c3a268cc}.login-title{color:#e6d6b7;text-shadow:0 0 28px rgba(195,162,104,.2)}.login-subtitle,.login-form label,.login-remember,.login-switch{color:#b4a184a8}.login-form input:not([type=checkbox]){background:#0a0908b8;border-color:#c3a26847;color:#e6d6b7}.login-form input:not([type=checkbox]):focus{border-color:#c3a268b8;box-shadow:0 0 0 2px #c3a26821}.login-submit{background:#8e3f42;color:#f3e2c2}.login-submit:hover{background:#ad504f;box-shadow:0 0 20px #9d454647}.combat-layer{border-color:#c3a26873;background-image:radial-gradient(ellipse at 50% 40%,#4d301e70,#090807f7 76%),linear-gradient(180deg,#120e0cfa,#0a0908fa)}.combat-title,.combat-tip-skill b{color:#e1bd78}.combat-top-btn,.combat-ops-btn,.combat-ops-btn--skill{background:#8e3f42c7;border-color:#c3a26885}.combat-top-btn:hover,.combat-ops-btn:hover{background:#b14b4df5}.combat-action-item.is-acting{background:#c3a26821;border-color:#c3a268cc;box-shadow:0 0 16px #c3a26838,inset 0 0 9px #c3a2681a}.combat-ring--ally{border-color:#708a69f2;box-shadow:0 0 16px #708a6952,inset 0 0 18px #0000008c}.combat-ring--enemy{border-color:#ae4643f2;box-shadow:0 0 16px #ae464357,inset 0 0 18px #0000008c}.combat-ring--third{border-color:#c3a268eb;box-shadow:0 0 16px #c3a26838,inset 0 0 18px #0000008c}.combat-unit-name,.combat-ring-name,.combat-ops-title{color:#ead9b9}.combat-hp-bar{background:#2d1818e6;border-color:#d0655ba3}.app-modal-backdrop{background:#ffffff1f}.app-modal-dialog{background:linear-gradient(155deg,#312821fc,#1b1714fc);border-color:#c3a26875;box-shadow:0 24px 70px #0009,inset 0 0 26px #c3a2680d;color:var(--text)}.app-modal-icon{background:#c3a2681f;border-color:#c3a26852;color:var(--archive-gold)}.app-modal-dialog.is-danger .app-modal-icon{background:#9d454629;border-color:#9d454666;color:#e18b7d}.app-modal-eyebrow,.app-modal-message{color:var(--muted)}.app-modal-button--cancel{background:#c3a26814;border-color:#c3a26847;color:var(--text)}.app-modal-button--cancel:hover{background:#c3a26829}.app-modal-button--confirm,.app-modal-dialog.is-danger .app-modal-button--confirm{background:var(--accent);color:#f5e5c5}.app-modal-button--confirm:hover,.app-modal-dialog.is-danger .app-modal-button--confirm:hover{background:#b05250}.workbench-dialog,.story-dialog,.game-dialog,.rules-dialog,.combat-dialog{background:linear-gradient(155deg,#2d251ff7,#181512f7);border-color:#c3a2686b;color:var(--text)}.workbench-dialog,.rules-dialog{border-radius:6px;box-shadow:0 24px 65px #0000008c,inset 0 0 34px #c3a2680a}.story-layer{background-color:#080b0a8c;border-color:#bec6c142;box-shadow:0 0 18px #00000014}.dialogs-unwatched{background:#3a8a6329;border-color:#708a6980;color:#a8c09b}.dialogs-unwatched-btn{background:#3a8a6333;border-color:#708a698c;color:#cfe0c6}.dialogs-unwatched-btn:hover{background:#3a8a6352}.story-dialog{background:#14100ee6;border-color:#c3a2688a;color:#e5d6b9;box-shadow:0 0 28px #c3a2681a,inset 0 0 20px #c3a2680a,0 4px 16px #0000006b}.story-name{background:#241b17f5;border-color:#c3a26899;color:#e1bd78}.story-hide-btn,.story-reopen-btn,.combat-reopen-btn{background:#231c18f0;border-color:#c3a2686b;color:#e1bd78}.story-hide-btn:hover,.story-reopen-btn:hover,.combat-reopen-btn:hover{background:#9d454673}.play-controls,.play-item{background:#2b231ed1;border-color:#c3a26847}.play-item p,.play-item-desc,.scripts-item-desc,.scripts-item-outline li{color:#d7c7a9}.play-item.is-current{border-color:#708a69cc;box-shadow:0 0 0 2px #708a692e}.play-cols-mask{background:#161311e0;color:var(--archive-gold)}.check-result{border-color:#708a698c;color:#a8c09b}.check-result--great{border-color:#c3a2689e;color:#e1bd78}.check-result--bad{border-color:#9d45468c;color:#d99386}.check-stage,.check-init-list select{background:#191512c7;border-color:#c3a2684d;color:var(--text)}.age-help-panel{background:#201b17fa;border-color:#c3a26866}.recruit-room-btn,.player-slot-approve,.bg-upload-btn{background:#536b50;border-color:#c3a2684d;color:#f0e2c2}.recruit-room-btn:hover,.player-slot-approve:hover,.bg-upload-btn:hover{background:#688463}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.theme-toggle{align-items:center;background:#c3a26814;border:1px solid rgba(195,162,104,.38);border-radius:50%;color:var(--archive-gold);cursor:pointer;display:inline-flex;font-size:16px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.theme-toggle:hover{background:#c3a2682e;border-color:var(--archive-gold);box-shadow:0 0 14px #c3a26829;transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0)}.theme-toggle span{filter:saturate(.8)}.theme-toggle--login{position:fixed;right:24px;top:24px;z-index:3}.auth-submit,.login-submit,.player-list-btn,.player-slot-approve,.recruit-room-btn,.game-dialog-send,.send-button,.dice-roll-button,.dice-option.is-active,.dice-option--modifier.is-active,.dice-option--percent.is-active,.dialogs-tab.is-active,.play-bt--play,.bg-upload-btn,.combat-top-btn,.combat-ops-btn,.combat-ops-btn--skill{color:#fff1d2!important;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.42)}.dice-option{background:#c3a2681a;border-color:#c3a2685c;color:#e7d8bc;font-weight:600}.dice-option:hover,.dice-option:focus-visible{background:#9d454647;border-color:#d08b7f;color:#fff1d2}.dice-option.is-active{background:var(--accent);border-color:#c27870;color:#fff1d2}.dice-option--modifier.is-active,.dice-option--percent.is-active{background:#765838;border-color:#c3a268;color:#fff1d2}.dice-roll-button{letter-spacing:.08em}html[data-theme=light]{color-scheme:light;--bg: #d8c39a;--surface: #ead7ad;--surface-soft: #e2cca0;--surface-hover: #d7bd8c;--line: #b49a6b;--text: #2f2820;--muted: #665744;--subtle: #8b7557;--accent: #7b302d;--accent-soft: rgba(123, 48, 45, .12);--success: #4f7655;--danger: #9c4b3f;--archive-gold: #8a6a36;--shadow-1: 0 1px 2px rgba(70, 47, 27, .16), 0 1px 3px rgba(70, 47, 27, .12);--shadow-2: 0 2px 6px rgba(70, 47, 27, .16), 0 6px 18px rgba(70, 47, 27, .18);--shadow-3: 0 4px 10px rgba(70, 47, 27, .2), 0 12px 30px rgba(70, 47, 27, .24);--shadow-panel: 0 3px 10px rgba(70, 47, 27, .2), 0 18px 45px rgba(70, 47, 27, .3)}html[data-theme=light] body{background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,sans-serif}html[data-theme=light] body:before{background-image:linear-gradient(#d8c39a8f,#d8c39a8f),url(/img/parchment-texture.svg);opacity:.32}html[data-theme=light] .topbar{background:#dfc99df0;border-bottom-color:var(--line);box-shadow:0 2px 12px #462f1b1f}html[data-theme=light] .topbar:after{background:linear-gradient(90deg,transparent,rgba(123,48,45,.38),transparent)}html[data-theme=light] .side-panel{background:#ead7ade6;box-shadow:inset 0 0 28px #704b2314}html[data-theme=light] .quick-menu{border-right-color:var(--line)}html[data-theme=light] .chat-panel{background:transparent;border-left-color:var(--line)}html[data-theme=light] .menu-item:hover{background:var(--surface-hover);color:var(--text)}html[data-theme=light] .menu-item.is-active{background:var(--accent-soft);border-color:#7b302d47;color:var(--accent);box-shadow:none}html[data-theme=light] .brand-kicker,html[data-theme=light] .section-label{color:var(--subtle);text-shadow:none}html[data-theme=light] .topbar-game-status{background:#7b302d1f;border-color:#7b302d40;color:var(--accent)}html[data-theme=light] .user-name,html[data-theme=light] h1,html[data-theme=light] h2,html[data-theme=light] h3,html[data-theme=light] .chat-room strong{color:var(--text)}html[data-theme=light] .user-avatar,html[data-theme=light] .room-avatar,html[data-theme=light] .message-avatar{background:#8a6743;border:0;color:#f3e5c2}html[data-theme=light] .theme-toggle{background:#7b302d14;border-color:#7b302d59;color:var(--accent)}html[data-theme=light] .theme-toggle:hover{background:#7b302d26;border-color:var(--accent);box-shadow:0 0 12px #7b302d1f}html[data-theme=light] .room-button,html[data-theme=light] .room-action,html[data-theme=light] .login-button,html[data-theme=light] .records-toggle,html[data-theme=light] .room-tab,html[data-theme=light] .canvas-toolbar button{background:transparent;border-color:var(--line);color:var(--muted)}html[data-theme=light] .room-button:hover,html[data-theme=light] .room-action:hover,html[data-theme=light] .login-button:hover,html[data-theme=light] .records-toggle:hover,html[data-theme=light] .room-tab:hover,html[data-theme=light] .canvas-toolbar button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}html[data-theme=light] .room-tab.is-active,html[data-theme=light] .records-toggle.is-active{background:transparent;border-bottom-color:var(--accent);color:var(--accent)}html[data-theme=light] .game-dialog-bar,html[data-theme=light] .canvas-toolbar,html[data-theme=light] .records-panel{background:#ead7adf2;border-color:var(--line);box-shadow:0 6px 20px #462f1b2e}html[data-theme=light] .game-dialog-input,html[data-theme=light] .game-speaker-select,html[data-theme=light] .canvas-text-input,html[data-theme=light] .chat-form input,html[data-theme=light] .scripts-editor textarea,html[data-theme=light] .scripts-outline-row input,html[data-theme=light] .combat-attack-field select,html[data-theme=light] .combat-contest-defense-select,html[data-theme=light] .note-editor-textarea,html[data-theme=light] .notes-textarea,html[data-theme=light] .skill-branch-input,html[data-theme=light] .skill-branch-select,html[data-theme=light] .attr-target-input,html[data-theme=light] .derived-input{background:#fffbefbf;border-color:var(--line);color:var(--text)}html[data-theme=light] .dialog-sent-overlay{background:#fff9;border-color:#96805866;box-shadow:0 4px 14px #462f1b1f}html[data-theme=light] .dialog-sent-item,html[data-theme=light] .message p,html[data-theme=light] .records-item p,html[data-theme=light] .dialogs-item p,html[data-theme=light] .view-card-fields p{color:#4d4031}html[data-theme=light] .message p{background:var(--surface-soft)}html[data-theme=light] .message--self p{background:var(--accent-soft);color:#6b2928}html[data-theme=light] .chat-lock{background:#e2cca0cc}html[data-theme=light] .scroll-to-latest{background:var(--surface);border-color:var(--accent);color:var(--accent)}html[data-theme=light] .auth-backdrop,html[data-theme=light] .dialogs-backdrop,html[data-theme=light] .dice-backdrop,html[data-theme=light] .dice-result-backdrop,html[data-theme=light] .members-backdrop,html[data-theme=light] .player-list-backdrop,html[data-theme=light] .avatar-backdrop,html[data-theme=light] .character-cards-backdrop,html[data-theme=light] .view-card-backdrop,html[data-theme=light] .room-backdrop,html[data-theme=light] .notes-backdrop,html[data-theme=light] .note-detail-backdrop,html[data-theme=light] .check-backdrop,html[data-theme=light] .check-panel-backdrop,html[data-theme=light] .clue-publish-backdrop,html[data-theme=light] .placeholder-backdrop,html[data-theme=light] .join-picker-backdrop,html[data-theme=light] .occupation-picker-backdrop,html[data-theme=light] .scripts-backdrop,html[data-theme=light] .bg-gallery-backdrop,html[data-theme=light] .combat-setup-backdrop,html[data-theme=light] .combat-picker-backdrop,html[data-theme=light] .combat-turn-backdrop,html[data-theme=light] .combat-skill-backdrop,html[data-theme=light] .combat-approve-backdrop{background:#36221475;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=light] .auth-dialog,html[data-theme=light] .dice-dialog,html[data-theme=light] .members-dialog,html[data-theme=light] .avatar-dialog,html[data-theme=light] .character-cards-dialog,html[data-theme=light] .view-card-dialog,html[data-theme=light] .room-dialog,html[data-theme=light] .notes-dialog,html[data-theme=light] .note-detail-dialog,html[data-theme=light] .check-dialog,html[data-theme=light] .clue-publish-dialog,html[data-theme=light] .placeholder-dialog,html[data-theme=light] .join-picker-dialog,html[data-theme=light] .occupation-picker-dialog,html[data-theme=light] .scripts-dialog,html[data-theme=light] .bg-gallery-dialog,html[data-theme=light] .combat-setup-dialog,html[data-theme=light] .combat-picker-dialog,html[data-theme=light] .combat-turn-dialog,html[data-theme=light] .combat-skill-dialog,html[data-theme=light] .combat-approve-dialog,html[data-theme=light] .player-list-panel,html[data-theme=light] .dialogs-dialog,html[data-theme=light] .age-help-panel{background:var(--surface);border-color:var(--line);border-radius:0;box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;color:var(--text)}html[data-theme=light] .auth-dialog:before,html[data-theme=light] .workbench-dialog:before,html[data-theme=light] .dice-dialog:before,html[data-theme=light] .members-dialog:before,html[data-theme=light] .dialogs-dialog:before,html[data-theme=light] .combat-setup-dialog:before,html[data-theme=light] .combat-picker-dialog:before,html[data-theme=light] .app-modal-dialog:before{display:none}html[data-theme=light] .auth-description,html[data-theme=light] .auth-form label,html[data-theme=light] .auth-remember,html[data-theme=light] .auth-switch{color:var(--muted)}html[data-theme=light] .auth-form input:not([type=checkbox]),html[data-theme=light] .auth-remember input{background:#e2cca08f;border-color:var(--line);color:var(--text)}html[data-theme=light] .character-card-item,html[data-theme=light] .clue-list-item,html[data-theme=light] .note-list-item,html[data-theme=light] .member-item,html[data-theme=light] .play-item,html[data-theme=light] .scripts-item,html[data-theme=light] .card-weapon-item,html[data-theme=light] .card-skill-group,html[data-theme=light] .card-attr-cell,html[data-theme=light] .card-panel,html[data-theme=light] .card-tab-panel,html[data-theme=light] .combat-setup-side,html[data-theme=light] .combat-picker-item,html[data-theme=light] .combat-skill-item,html[data-theme=light] .age-help-item,html[data-theme=light] .ws-banner-card{background:#e2cca08c;border-color:#b49a6ba6;color:var(--text)}html[data-theme=light] .character-card-item:hover,html[data-theme=light] .clue-list-item:hover,html[data-theme=light] .note-list-item:hover,html[data-theme=light] .member-item:hover,html[data-theme=light] .play-item:hover,html[data-theme=light] .combat-picker-item:hover,html[data-theme=light] .combat-skill-item:hover{background:#e2cca0e6;border-color:var(--accent)}html[data-theme=light] .player-slot{background:#e2cca066;border-color:var(--line)}html[data-theme=light] .player-slot-portrait{background:#123b2b}html[data-theme=dark] .card-image-frame,html[data-theme=light] .card-image-frame{background:#123b2b!important}html[data-theme=dark] .card-image-frame:hover,html[data-theme=light] .card-image-frame:hover{background:#164a35!important}html[data-theme=light] .login-bg{background:radial-gradient(ellipse at 50% 80%,#0d2b1e,#080c12,#050709)}html[data-theme=light] .login-bg:after{background:radial-gradient(circle at 50% 120%,rgba(45,107,78,.15) 0%,transparent 60%)}html[data-theme=light] .login-card{background:#0a1016d9;border-color:#2d6b4e4d;box-shadow:0 0 60px #2d6b4e14,0 24px 48px #00000080}html[data-theme=light] .login-kicker{color:#2d6b4eb3}html[data-theme=light] .login-title{color:#c8d8c0;text-shadow:0 0 30px rgba(45,107,78,.3)}html[data-theme=light] .login-form input:not([type=checkbox]){background:#141e19cc;border-color:#2d6b4e40;color:#c8d8c0}html[data-theme=light] .login-submit{background:#2d6b4e;color:#c8d8c0;text-shadow:none}html[data-theme=light] .login-submit:hover{background:#3a8a63;box-shadow:0 0 20px #2d6b4e40}html[data-theme=light] .dice-option{background:#e2cca0b8;border-color:var(--line);color:var(--muted);text-shadow:none}html[data-theme=light] .dice-option:hover,html[data-theme=light] .dice-option:focus-visible{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}html[data-theme=light] .dice-option.is-active{background:var(--accent);border-color:var(--accent);color:#f3e5c2!important}html[data-theme=light] .dice-option--modifier.is-active,html[data-theme=light] .dice-option--percent.is-active{background:#8a6743;border-color:#8a6743;color:#f3e5c2!important}html[data-theme=light] .combat-layer{border-color:#c8aa6e52}html[data-theme=light] .app-modal-backdrop{background:#ffffff9e;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=light] .app-modal-dialog{background:#fffffff5;border-color:#533c2933;border-radius:18px;box-shadow:0 24px 70px #462f1b40,0 2px 8px #462f1b1a;color:#33271f}html[data-theme=light] .app-modal-dialog:before{display:none}html[data-theme=light] .app-modal-icon{background:#745b3e1f;border-color:#745b3e3d;color:var(--accent)}html[data-theme=light] .app-modal-eyebrow,html[data-theme=light] .app-modal-message{color:#806f60}html[data-theme=light] .app-modal-button--cancel{background:#745b3e14;border-color:#745b3e2e;color:#33271f}html[data-theme=light] .app-modal-button--confirm{background:var(--accent);color:#fffaf3}.quick-menu{position:relative;z-index:70}.quick-menu.is-open{z-index:90!important}.auth-backdrop,.room-backdrop,.dice-backdrop,.avatar-backdrop,.members-backdrop,.player-list-backdrop,.character-cards-backdrop,.placeholder-backdrop,.join-picker-backdrop,.view-card-backdrop,.dialogs-backdrop,.check-backdrop,.check-panel-backdrop,.occupation-picker-backdrop,.scripts-backdrop,.bg-gallery-backdrop,.clue-publish-backdrop,.notes-backdrop,.note-detail-backdrop,.combat-setup-backdrop,.combat-picker-backdrop,.combat-turn-backdrop,.combat-skill-backdrop,.combat-approve-backdrop,.npc-modal-backdrop,.npc-picker-backdrop{z-index:80!important}.player-list-panel,.age-help-panel{z-index:81!important}.combat-layer{z-index:30}.combat-layer{z-index:10}.canvas-toolbar,.game-dialog-bar,.dialog-sent-overlay,.story-reopen-btn,.dialog-records-btn{z-index:5}.combat-contest-result-backdrop{z-index:60}.character-cards-backdrop{z-index:82!important}@media(max-width:900px){.quick-menu{position:fixed}}.combat-turn-backdrop,.combat-approve-backdrop,.combat-skill-backdrop,.check-backdrop,.check-panel-backdrop,.dice-result-backdrop,.card-avatar-backdrop,.toast{z-index:100!important}.toast{z-index:10050!important}html[data-theme=dark] .wb-section,html[data-theme=dark] .npc-card,html[data-theme=dark] .npc-field-group,html[data-theme=dark] .npc-skill-row,html[data-theme=dark] .mute-row,html[data-theme=dark] .card-image-frame,html[data-theme=dark] .card-derived-cell,html[data-theme=dark] .card-skill-summary,html[data-theme=dark] .card-combat-meta,html[data-theme=dark] .card-assets-summary,html[data-theme=dark] .card-occupation-meta,html[data-theme=dark] .note-detail-content,html[data-theme=dark] .clue-list-card,html[data-theme=dark] .clue-upload-box,html[data-theme=dark] .play-controls{background:#1f1a16e6!important;border-color:#c3a26857;color:var(--text)}html[data-theme=dark] .wb-section h3,html[data-theme=dark] .npc-card-info strong,html[data-theme=dark] .npc-field-title,html[data-theme=dark] .card-skill-group-title,html[data-theme=dark] .skill-group-header,html[data-theme=dark] .card-attr-total,html[data-theme=dark] .clue-list-info strong{color:var(--text)}html[data-theme=dark] .wb-form input,html[data-theme=dark] .wb-form select,html[data-theme=dark] .wb-form textarea,html[data-theme=dark] .wb-label input,html[data-theme=dark] .npc-attr-cell input,html[data-theme=dark] .npc-skill-row .npc-skill-value,html[data-theme=dark] .npc-picker-search,html[data-theme=dark] .npc-custom-skill input,html[data-theme=dark] .card-attr-cell input,html[data-theme=dark] .card-attr-target input,html[data-theme=dark] .card-skill-table input,html[data-theme=dark] .card-skill-table .skill-branch-select,html[data-theme=dark] .card-skill-table .skill-branch-input,html[data-theme=dark] .card-weapon-row select,html[data-theme=dark] .card-weapon-trigger,html[data-theme=dark] .card-weapon-picker-search,html[data-theme=dark] .character-card-form input,html[data-theme=dark] .character-card-form textarea,html[data-theme=dark] .character-card-form select,html[data-theme=dark] .occupation-picker,html[data-theme=dark] .play-control input,html[data-theme=dark] .pdf-toolbar button{background:#0a0908ad!important;border-color:#c3a26852;color:#ead9b9!important}html[data-theme=dark] .wb-form input::placeholder,html[data-theme=dark] .wb-form textarea::placeholder,html[data-theme=dark] .npc-picker-search::placeholder,html[data-theme=dark] .npc-custom-skill input::placeholder,html[data-theme=dark] .card-skill-table input::placeholder{color:#b4a18480}html[data-theme=dark] .card-skill-table th,html[data-theme=dark] .skill-row--group td{background:#312720f5!important;color:var(--archive-gold)}html[data-theme=dark] .card-skill-table td{border-bottom-color:#c3a26838;color:#d7c7a9}html[data-theme=dark] .card-skill-table tr.skill-row--required{background:#9d45462e!important;color:#efc0b2}html[data-theme=dark] .card-skill-table tr.skill-row--interest{background:#708a6929!important;color:#c4d7b7}html[data-theme=dark] .card-skill-table tr.skill-row--quota{background:#c3a26824!important;color:#ead39d}html[data-theme=dark] .card-skill-table .skill-name--required{color:#e18b7d}html[data-theme=dark] .card-skill-table .skill-name--interest{color:#a8c09b}html[data-theme=dark] .card-skill-table .skill-name--quota{color:#e1bd78}html[data-theme=dark] .occupation-picker-popup,html[data-theme=dark] .npc-picker,html[data-theme=dark] .npc-modal,html[data-theme=dark] .pdf-toolbar{background:#251e19fa!important;border-color:#c3a2686b;color:var(--text)}html[data-theme=dark] .occupation-picker-grid button,html[data-theme=dark] .npc-picker-item{background:#302720e6!important;border-color:#c3a26847;color:#e5d6b9!important}html[data-theme=dark] .occupation-picker-grid button:hover,html[data-theme=dark] .npc-picker-item:hover:not(:disabled){background:#9d454640!important;border-color:#d08b7f;color:#fff1d2!important}html[data-theme=dark] .occupation-picker-grid button.is-active{background:var(--accent)!important;color:#fff1d2!important}html[data-theme=dark] .npc-img-frame{background:#0a090894;border-color:#c3a2686b;color:var(--muted)}html[data-theme=dark] .npc-identity-tag{background:#9d454633;border-color:#c3a26859;color:#e1a092}html[data-theme=dark] .npc-picker-item small,html[data-theme=dark] .npc-weapon-damage,html[data-theme=dark] .npc-notes{color:var(--muted)}html[data-theme=light] .wb-section,html[data-theme=light] .npc-card,html[data-theme=light] .npc-field-group,html[data-theme=light] .npc-skill-row,html[data-theme=light] .mute-row,html[data-theme=light] .card-image-frame,html[data-theme=light] .card-derived-cell,html[data-theme=light] .card-skill-summary,html[data-theme=light] .card-combat-meta,html[data-theme=light] .card-assets-summary,html[data-theme=light] .card-occupation-meta,html[data-theme=light] .note-detail-content,html[data-theme=light] .clue-list-card,html[data-theme=light] .clue-upload-box,html[data-theme=light] .play-controls{background:#e2cca059!important;border-color:var(--line);color:var(--text)}html[data-theme=light] .wb-form input,html[data-theme=light] .wb-form select,html[data-theme=light] .wb-form textarea,html[data-theme=light] .wb-label input,html[data-theme=light] .npc-attr-cell input,html[data-theme=light] .npc-skill-row .npc-skill-value,html[data-theme=light] .npc-picker-search,html[data-theme=light] .npc-custom-skill input,html[data-theme=light] .card-attr-cell input,html[data-theme=light] .card-attr-target input,html[data-theme=light] .card-skill-table input,html[data-theme=light] .card-skill-table .skill-branch-select,html[data-theme=light] .card-skill-table .skill-branch-input,html[data-theme=light] .card-weapon-row select,html[data-theme=light] .card-weapon-trigger,html[data-theme=light] .card-weapon-picker-search,html[data-theme=light] .character-card-form input,html[data-theme=light] .character-card-form textarea,html[data-theme=light] .character-card-form select,html[data-theme=light] .occupation-picker,html[data-theme=light] .play-control input{background:#fffbefbf!important;border-color:var(--line);color:var(--text)!important}html[data-theme=light] .card-skill-table th,html[data-theme=light] .skill-row--group td{background:var(--surface)!important;color:var(--muted)}html[data-theme=light] .card-skill-table td{border-bottom-color:#b49a6b59;color:var(--subtle)}html[data-theme=light] .occupation-picker-grid button,html[data-theme=light] .npc-picker-item{background:#e2cca08f!important;border-color:var(--line);color:var(--text)!important}html[data-theme=dark] .room-form input,html[data-theme=dark] .room-form textarea,html[data-theme=dark] .room-form select,html[data-theme=dark] .clue-field-label input[type=text],html[data-theme=dark] .scripts-outline-row input{background:#0a0908ad!important;border-color:#c3a26852;color:#ead9b9!important}html[data-theme=dark] .member-row,html[data-theme=dark] .view-card-noimg,html[data-theme=dark] .view-card-attrs span,html[data-theme=dark] .scripts-outline,html[data-theme=dark] .bg-gallery-item{background:#1f1a16d1!important;border-color:#c3a2684d;color:#d7c7a9}html[data-theme=dark] .dialogs-ink-time{background:#708a692e;border-color:#708a6975;color:#b9d1ae}html[data-theme=dark] .view-card-fields p,html[data-theme=dark] .dialogs-item p,html[data-theme=dark] .records-item p{background:#302721cc;color:#d7c7a9}html[data-theme=dark] .view-card-stat-row>div:first-child strong{color:#f1c08f}html[data-theme=dark] .view-card-stat-row>div:first-child span,html[data-theme=dark] .view-card-stat-max{color:#d7c7a9}html[data-theme=dark] .view-card-stat-row>b{color:#fff1d0}html[data-theme=dark] .view-card-stat-actions button{background:#5e3033;border-color:#c7a66c;color:#ffe7b3;box-shadow:0 1px 4px #00000059}html[data-theme=dark] .view-card-stat-actions button:hover,html[data-theme=dark] .view-card-stat-actions button:focus-visible{background:#8e4547;border-color:#f0cf8a;color:#fff7df}html[data-theme=dark] .bg-gallery-item:hover{background:#9d454638!important;border-color:#d08b7f}html[data-theme=light] .room-form input,html[data-theme=light] .room-form textarea,html[data-theme=light] .room-form select,html[data-theme=light] .clue-field-label input[type=text],html[data-theme=light] .scripts-outline-row input{background:#fffbefbf!important;border-color:var(--line);color:var(--text)!important}html[data-theme=light] .member-row,html[data-theme=light] .view-card-noimg,html[data-theme=light] .view-card-attrs span,html[data-theme=light] .scripts-outline,html[data-theme=light] .bg-gallery-item{background:#e2cca059!important;border-color:var(--line);color:var(--text)}html[data-theme=dark] .member-row:hover:not(:disabled),html[data-theme=dark] .member-row.is-selected,html[data-theme=light] .member-row:hover:not(:disabled),html[data-theme=light] .member-row.is-selected{background:#9d45463d!important;border-color:var(--accent)!important}html[data-theme=dark] .dialog-input-shell{background:#0a090885;border-color:#c3a2684d}html[data-theme=dark] .dialog-sent-author{color:#ead9b9}html[data-theme=dark] .dialog-action-chip{background:#9d454633;border-color:#d9938661;color:#d7c7a9}html[data-theme=dark] .dialog-action-trigger{background:#c3a2681a;border-color:#c3a2686b;color:#d7c7a9}@media(max-width:720px){.game-dialog-bar,.dialog-sent-overlay{max-width:none;width:calc(100% - 20px)}.game-dialog-bar{padding:7px 8px}.dialog-input-row{gap:6px}.dialog-speaker-control{flex-basis:92px;min-width:72px}.game-speaker-select{max-width:none;min-width:0}.dialog-send-stack{flex-basis:48px}.dialog-action-popover{right:8px}.dialog-action-popover input{min-width:min(210px,58vw)}.dialog-speaker-picker-backdrop{padding:12px}.dialog-speaker-picker-dialog{padding:18px 14px}.dialog-speaker-picker-avatar{font-size:13px;height:36px;width:36px}.dialog-speaker-picker-item{font-size:12px;gap:6px;padding:7px 5px}}.join-picker-backdrop{z-index:120!important}.view-card-backdrop{z-index:130!important}.buff-manager-launch{position:fixed;right:22px;top:72px;z-index:18;background:#7b302de6;border:1px solid rgba(200,170,110,.55);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:8px 14px;box-shadow:0 4px 14px #0003}.buff-manager-launch{display:none}.canvas-toolbar button:nth-child(3){display:none}.canvas-check-btn{background:#7b302dd9;border:1px solid rgba(200,170,110,.5);border-radius:4px;color:#f6f1e0;cursor:pointer;padding:6px 12px}.canvas-check-btn:hover{background:#7b302d}.canvas-toolbar>button:nth-child(1){order:1}.canvas-toolbar>button:nth-child(2){order:2}.canvas-toolbar>button:nth-child(4){order:3}.canvas-toolbar>button:nth-child(5){order:4}.canvas-toolbar>button:nth-child(6){order:6}.canvas-toolbar>button:nth-child(7){order:7}.canvas-toolbar>button:nth-child(8){order:8}.bg-clear-btn{background:#7b302dd9;border-color:#c8aa6e80}.bg-clear-btn:hover{background:#7b302d}.buff-viewcard-overlay{align-items:center;display:flex;flex-wrap:wrap;gap:6px;left:50%;max-width:240px;position:fixed;top:142px;transform:translate(-50%);z-index:280}.buff-overlay-label{color:var(--muted);font-size:11px;margin-right:3px}.buff-combat-overlay{bottom:282px;display:flex;flex-direction:column;gap:4px;left:12px;max-width:180px;position:fixed;z-index:25}.buff-combat-overlay{display:none}.combat-buff-position-layer{inset:0;pointer-events:none;position:fixed;z-index:40}.combat-buff-position-layer--global{display:none}.combat-buff-position-layer--inside{z-index:40}.combat-buff-position{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:4px 6px;justify-content:flex-start;max-width:min(100px,calc(100vw - 20px));pointer-events:none;position:fixed;transform:translate(-50%);width:100px;z-index:41}.combat-buff-position .buff-chip{pointer-events:auto}.buff-combat-row{align-items:center;display:flex;flex-wrap:wrap;gap:4px}.buff-combat-row strong{color:#f3e5c2cc;font-size:11px;max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-grant-backdrop{align-items:center;background:#0a0907b8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:82}.item-grant-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 70px #0000008c;max-width:560px;padding:26px;position:relative;width:100%}.item-grant-dialog h2{margin:0 0 8px}.item-grant-form{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:16px}.item-grant-form label{color:var(--muted);display:grid;font-size:12px;gap:6px}.item-grant-form>label:first-child,.item-grant-form>label:nth-child(3),.item-grant-form>label:nth-child(4),.item-grant-form>label:nth-child(6){grid-column:1 / -1}.item-grant-form input,.item-grant-form select{background:#0a090833;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;padding:8px}.item-grant-damage-builder{display:grid;gap:8px;grid-column:1 / -1}.item-grant-damage-title{color:var(--muted);font-size:12px}.item-grant-damage-fields{display:grid;gap:6px;grid-template-columns:minmax(86px,1.2fr) 58px 64px 64px}.item-grant-damage-fields label{min-width:0}.item-grant-damage-fields input,.item-grant-damage-fields select{box-sizing:border-box;min-width:0;padding:6px;width:100%}.item-grant-damage-preview{background:#e2cca033;border:1px dashed var(--line);border-radius:4px;color:var(--text);display:block;font-size:12px;line-height:1.5;padding:8px;word-break:break-word}.item-grant-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.item-grant-weapon-trigger{align-items:center;background:#0a090833;border:1px solid var(--line);border-radius:4px;color:var(--text);cursor:pointer;display:flex;gap:10px;justify-content:space-between;min-height:37px;padding:8px;text-align:left}.item-grant-weapon-trigger:hover{background:var(--accent-soft);border-color:var(--accent)}.item-grant-weapon-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-grant-weapon-trigger em{color:var(--accent);font-size:11px;font-style:normal;flex:0 0 auto}.item-grant-weapon-backdrop{align-items:center;background:#080a0894;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:360}.item-grant-weapon-dialog{max-height:min(760px,88vh);max-width:620px}.item-grant-weapon-head{align-items:center;display:flex;justify-content:space-between}.item-grant-weapon-head h2{margin-bottom:0}.item-grant-weapon-search{background:#0a090833;border:1px solid var(--line);border-radius:4px;color:var(--text);margin:14px 0 10px;padding:9px 10px;width:100%}.item-grant-weapon-list{display:grid;gap:8px;max-height:54vh;overflow-y:auto;padding:3px}.item-grant-weapon-item{align-items:center;background:#e2cca033;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:grid;gap:5px 12px;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;text-align:left}.item-grant-weapon-item:hover,.item-grant-weapon-item.is-selected{background:var(--accent-soft);border-color:var(--accent)}.item-grant-weapon-item strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-grant-weapon-item small{color:var(--muted);font-size:11px;grid-column:1 / -1}.item-grant-weapon-item--custom{display:flex;flex-direction:column;gap:4px}.item-grant-weapon-item--custom span{color:var(--muted);font-size:11px}.item-grant-weapon-meta{align-items:center;color:var(--text);display:inline-flex;font-size:12px;gap:6px;white-space:nowrap}.item-grant-weapon-meta em{color:var(--muted);font-size:11px;font-style:normal}html[data-theme=dark] .item-grant-weapon-backdrop{background:#070606c7;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=dark] .item-grant-weapon-trigger,html[data-theme=dark] .item-grant-weapon-search{background:#0a09088f;border-color:#c3a2684d;color:var(--text);color-scheme:dark}html[data-theme=dark] .item-grant-weapon-item{background:#2b231ed6;border-color:#c3a26847}html[data-theme=dark] .item-grant-weapon-item:hover,html[data-theme=dark] .item-grant-weapon-item.is-selected{background:#702b3157;border-color:#d08b7f}@media(max-width:720px){.item-grant-weapon-item{grid-template-columns:1fr}.item-grant-weapon-meta{white-space:normal}}@media(max-width:560px){.item-grant-damage-fields{grid-template-columns:1fr 1fr}}.settlement-banner{--settlement-banner-height: 600px;--settlement-content-height: 0px;background:linear-gradient(180deg,#2d251f0f,#2d251fad 16% 84%,#2d251f0f);border:1px solid rgba(240,207,138,.46);box-sizing:border-box;color:#ffe9b0;height:min(600px,calc(100% - 48px));left:50%;max-height:600px;overflow:hidden;padding:18px 28px;pointer-events:none;position:absolute;right:auto;text-shadow:0 1px 3px #000;top:50%;transform:translate(-50%,-50%);width:min(78vw,760px);z-index:75;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%)}.settlement-banner .rich-text-content{animation:settlement-scroll-up var(--settlement-scroll-duration, 42s) linear 1 forwards;display:block;left:28px;position:absolute;right:28px;text-align:center;top:100%;transform:translateY(0);white-space:normal;width:auto;will-change:opacity,transform}.settlement-banner .rich-text-content,.settlement-banner .rich-text-content *{text-align:center}.settlement-banner .rich-text-content p,.settlement-banner .rich-text-content h2,.settlement-banner .rich-text-content h3,.settlement-banner .rich-text-content blockquote,.settlement-banner .rich-text-content ol,.settlement-banner .rich-text-content ul{display:block;margin:0 0 14px;padding-left:0;padding-right:0}.settlement-banner .rich-text-content ol,.settlement-banner .rich-text-content ul{list-style-position:inside}@keyframes settlement-scroll-up{0%{opacity:0;transform:translateY(0)}10%{opacity:1}86%{opacity:1}to{opacity:0;transform:translateY(calc(-1 * var(--settlement-banner-height, 600px) - var(--settlement-content-height, 0px)))}}html[data-theme=dark] .buff-manager-character:not(.is-active) .buff-manager-avatar{background:#26201be6;border-color:#c3a2683d;color:#dccfb49e}html[data-theme=dark] .buff-manager-character.is-active .buff-manager-avatar{background:linear-gradient(145deg,#a64d50,#713239);border-color:#f2cf82;box-shadow:0 0 0 2px #9d454685,0 0 18px #c3a26857;color:#fff4d6}html[data-theme=dark] .item-grant-dialog{background:linear-gradient(155deg,#2d251ffc,#1b1714fc);border-color:#c3a26873;color:var(--text)}html[data-theme=dark] .item-grant-form input,html[data-theme=dark] .item-grant-form select{background:#0a09088f;border-color:#c3a2684d;color:var(--text);color-scheme:dark}html[data-theme=dark] .settlement-banner{background:linear-gradient(180deg,#1f1a170f,#1f1a17b8 16% 84%,#1f1a170f);color:#f7d47f}html[data-theme=light] .item-grant-form input,html[data-theme=light] .item-grant-form select{background:#fffbefbf;color:var(--text)}html[data-theme=light] .settlement-banner{background:linear-gradient(180deg,#ead7ad0f,#7b302dad 16% 84%,#ead7ad0f);color:#fff8e5}.buff-manager-launch:hover{background:#a84e49}.buff-impact-editor{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.buff-impact-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.buff-impact-row{align-items:center;display:grid;gap:6px;grid-template-columns:minmax(130px,1fr) 76px 62px 90px 28px;margin-bottom:5px}.buff-impact-row select,.buff-impact-row input{cursor:pointer;min-width:0;padding:6px;pointer-events:auto;position:relative;z-index:2}.buff-impact-row select{appearance:auto}.buff-impact-trigger{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buff-impact-operator{display:grid;gap:4px;grid-template-columns:repeat(2,minmax(0,1fr))}.buff-impact-operator button{background:#e2cca033;border:1px solid var(--line);border-radius:4px;color:var(--muted);cursor:pointer;font:inherit;line-height:1;min-height:30px;padding:0 5px}.buff-impact-operator button:hover,.buff-impact-operator button.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.buff-impact-picker-backdrop{align-items:center;background:#080a089e;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.buff-impact-picker{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel);display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:75vh;max-width:620px;overflow-y:auto;padding:18px;width:min(92vw,620px)}.buff-impact-picker .occupation-picker-head{grid-column:1 / -1}.buff-impact-option{align-items:center;background:#e2cca029;border:1px solid var(--line);color:var(--text);cursor:pointer;display:flex;justify-content:space-between;margin:0;min-width:0;padding:8px 10px;text-align:left;width:auto}.buff-impact-option:hover{background:#c3a26838}.combat-unit--disabled{filter:grayscale(1);opacity:.48}.combat-unit--incapacitated,.combat-action-item--incapacitated{filter:none;opacity:1}.combat-unit--incapacitated>.combat-ring{filter:grayscale(1);opacity:.48}.combat-action-item--incapacitated>.combat-ring{filter:grayscale(1);opacity:.48}.combat-unit:has(>.combat-unit--disabled){filter:none;opacity:1}.combat-unit:has(>.combat-unit--disabled)>.combat-ring{filter:grayscale(1);opacity:.48}.combat-unit:hover{z-index:100}.combat-side:has(.combat-unit:hover){position:relative;z-index:100}.combat-side--bottom:has(.combat-unit:hover){position:absolute;z-index:100}.buff-manager-backdrop{align-items:center;background:#0a0907b8;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:70}.buff-manager-dialog{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 70px #0000008c;max-height:88vh;max-width:980px;overflow:auto;padding:26px;position:relative;width:100%}.buff-manager-note{color:var(--muted);font-size:12px}.buff-manager-layout{display:grid;gap:18px;grid-template-columns:190px 1fr;min-height:430px}.buff-manager-characters{border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px;padding-right:15px}.buff-manager-tabs{border-bottom:1px solid var(--line);display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:8px;padding-bottom:8px}.buff-manager-tabs button{background:transparent;border:1px solid transparent;border-radius:4px;color:var(--muted);cursor:pointer;font-size:12px;padding:6px}.buff-manager-tabs button:hover{color:var(--text)}.buff-manager-tabs button.is-active{background:#7b302d4d;border-color:#d9b766;color:#ffe7b3;font-weight:700}.buff-manager-character{align-items:center;background:#e2cca033;border:1px solid transparent;border-radius:6px;color:var(--text);cursor:pointer;display:grid;gap:4px 8px;grid-template-columns:38px 1fr;padding:7px;text-align:left}.buff-manager-character:hover,.buff-manager-character.is-active{background:#7b302d26;border-color:var(--accent)}.buff-manager-character strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buff-manager-character small{color:var(--muted);font-size:11px;grid-column:2}.buff-manager-avatar{align-items:center;background:#806044;border-radius:50%;color:#f6f1e0;display:flex;grid-row:span 2;height:38px;justify-content:center;overflow:hidden;width:38px}.buff-manager-avatar img{height:100%;object-fit:cover;width:100%}.buff-manager-character:not(.is-active) .buff-manager-avatar{background:#8060446b;border:1px solid rgba(180,154,107,.42);color:var(--muted)}.buff-manager-character.is-active .buff-manager-avatar{background:linear-gradient(145deg,#9d4546,#6f2f35);border:2px solid #f0cf8a;box-shadow:0 0 0 2px #9d454657,0 0 16px #f0cf8a47;color:#fff3d2}.buff-manager-content{min-width:0}.buff-manager-current{align-items:baseline;border-bottom:1px solid var(--line);display:flex;gap:10px;padding-bottom:10px}.buff-manager-current span{color:var(--muted);font-size:12px}.buff-resource-editor{background:#e2cca01a;border:1px solid var(--line);border-radius:6px;display:grid;gap:8px;margin:12px 0 14px;padding:10px}.buff-resource-head{align-items:baseline;display:flex;gap:8px}.buff-resource-head strong{font-size:12px}.buff-resource-head span{color:var(--muted);font-size:11px}.buff-resource-row{align-items:center;display:grid;gap:6px;grid-template-columns:32px minmax(130px,1fr) 26px 26px 62px}.buff-resource-label{color:var(--muted);font-size:11px;font-weight:700}.buff-resource-bar{background:#202020bf;border:1px solid var(--line);border-radius:4px;height:18px;overflow:hidden;position:relative}.buff-resource-bar i{background:#b94d45;inset:0 auto 0 0;position:absolute}.buff-resource-bar.is-san i{background:#9756be}.buff-resource-bar.is-mp i{background:#77bfde}.buff-resource-bar b{color:#fff;font-size:11px;left:0;position:absolute;right:0;text-align:center;text-shadow:0 1px 2px #000;top:2px}.buff-resource-row button{background:transparent;border:1px solid var(--line);color:var(--text);cursor:pointer;height:24px;padding:0}.buff-resource-row button:hover{border-color:var(--accent);color:var(--accent)}.buff-resource-row input{background:#0a090833;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;height:24px;min-width:0;padding:4px 6px;text-align:center}.buff-manager-list{display:grid;gap:8px;margin:12px 0 18px;max-height:175px;overflow:auto}.buff-manager-item{align-items:center;background:#e2cca038;border:1px solid var(--line);border-radius:6px;display:flex;gap:10px;padding:8px}.buff-manager-item>div{display:grid;gap:4px;min-width:0}.buff-manager-item small,.buff-manager-item em{color:var(--muted);font-size:12px;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buff-chip{align-items:center;border:1px solid rgba(255,255,255,.35);border-radius:4px;color:#fff5db;cursor:default;display:inline-flex;flex:0 0 24px;font-size:15px;height:24px;justify-content:center;position:relative;text-shadow:0 1px 2px #000;-webkit-user-select:none;user-select:none;width:24px}.buff-chip--large{flex-basis:38px;font-size:22px;height:38px;width:38px}.buff-visibility{color:var(--accent);font-size:11px;margin-left:auto;white-space:nowrap}.buff-remove{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:18px;margin-left:2px}.buff-manager-empty{color:var(--muted);font-size:12px;padding:18px;text-align:center}.buff-editor{border-top:1px dashed var(--line);display:grid;gap:10px;padding-top:14px}.buff-editor label{color:var(--muted);display:grid;font-size:12px;gap:6px}.buff-editor-grid{display:grid;gap:12px;grid-template-columns:1fr 1fr}.buff-editor input,.buff-editor textarea,.buff-editor select{background:#0a090833;border:1px solid var(--line);border-radius:4px;color:var(--text);font:inherit;padding:8px;resize:vertical}html[data-theme=dark] .buff-editor select{color-scheme:dark}html[data-theme=dark] .buff-editor select option{background:#211b17;color:#f3e5c2}.buff-icon-options,.buff-bg-options{display:flex;flex-wrap:wrap;gap:6px}.buff-icon-options button,.buff-bg-options button{border:1px solid var(--line);border-radius:4px;cursor:pointer;height:28px;width:28px}.buff-icon-options button{background:#e2cca033;color:var(--text);font-size:16px}.buff-icon-options button.is-active,.buff-bg-options button.is-active{border-color:#f0cf8a;box-shadow:0 0 0 2px #f0cf8a,0 0 12px #f0cf8a80;outline:1px solid rgba(26,21,17,.9);outline-offset:2px;transform:translateY(-1px) scale(1.05)}.buff-icon-options button.is-active{background:#7b3030;color:#fff7df}.buff-tooltip{background:#0e1410fa;border:1px solid rgba(200,170,110,.55);border-radius:6px;bottom:calc(100% + 8px);color:#f3e5c2;display:none;left:50%;padding:8px 10px;pointer-events:none;position:absolute;transform:translate(-50%);width:180px;z-index:90}.buff-chip:hover .buff-tooltip{display:grid;gap:4px}.buff-tooltip strong{font-size:12px}.buff-tooltip small,.buff-tooltip em,.buff-tooltip i{color:#f3e5c2b8;font-size:11px;font-style:normal;line-height:1.4}.buff-tooltip i{color:#e9c97c;justify-self:end}@media(max-width:720px){.buff-manager-layout{grid-template-columns:1fr}.buff-manager-characters{border-bottom:1px solid var(--line);border-right:0;display:grid;grid-template-columns:repeat(2,1fr);padding:0 0 12px}.buff-editor-grid{grid-template-columns:1fr}.buff-manager-dialog{padding:18px}.buff-resource-row{grid-template-columns:32px minmax(90px,1fr) 24px 24px 58px}}.combat-layer{z-index:10!important}.combat-buff-position-layer,.records-drawer.is-open{z-index:40!important}.quick-menu.is-open{z-index:70!important}.canvas-toolbar{z-index:5!important}.game-dialog-bar{z-index:110!important}.dialog-sent-overlay,.story-reopen-btn,.dialog-records-btn{z-index:5!important}.auth-backdrop,.room-backdrop,.dice-backdrop,.avatar-backdrop,.members-backdrop,.player-list-backdrop,.placeholder-backdrop,.scripts-backdrop,.npc-modal-backdrop,.buff-manager-backdrop,.item-grant-backdrop{z-index:200!important}.player-list-panel{z-index:210!important}.character-cards-backdrop{z-index:220!important}.dialogs-backdrop,.notes-backdrop,.clue-publish-backdrop,.bg-gallery-backdrop,.combat-setup-backdrop,.combat-skill-backdrop,.combat-turn-backdrop,.check-panel-backdrop{z-index:240!important}.check-backdrop{z-index:360!important}.check-panel-backdrop{z-index:240!important}.view-card-backdrop{z-index:260!important}.join-picker-backdrop,.occupation-picker-backdrop,.npc-picker-backdrop,.card-avatar-backdrop,.combat-picker-backdrop,.combat-approve-backdrop,.note-detail-backdrop,.controller-picker-backdrop{z-index:320!important}.dice-result-backdrop,.combat-contest-result-backdrop{z-index:340!important}.clue-overlay,.check-showcase{z-index:8000!important}.toast{z-index:90000!important}.app-modal-backdrop{z-index:110000!important}.ws-banner-overlay{z-index:120000!important}.combat-skill-backdrop,.combat-action-prompt-backdrop,.combat-approve-backdrop,.combat-turn-backdrop,.first-aid-backdrop,.special-event-backdrop,.check-gamble-backdrop{align-items:center!important;background:transparent!important;display:flex!important;justify-content:center!important;inset:0!important;padding:20px!important;pointer-events:auto!important;position:fixed!important;width:100%!important}.combat-action-prompt-backdrop>.combat-picker-dialog{transform:translateY(var(--action-prompt-combat-action-offset, 0px))}.combat-skill-backdrop>.combat-skill-dialog{transform:translateY(var(--action-prompt-combat-skill-offset, 0px))}.combat-approve-backdrop>.combat-approve-dialog{transform:translateY(var(--action-prompt-combat-approve-offset, 0px))}.combat-turn-backdrop>.combat-turn-dialog{transform:translateY(var(--action-prompt-combat-turn-offset, 0px))}.first-aid-backdrop>.first-aid-dialog{transform:translateY(var(--action-prompt-first-aid-offset, 0px))}.special-event-backdrop>.special-event-dialog{transform:translateY(var(--action-prompt-special-event-offset, 0px))}.check-gamble-backdrop{z-index:100000!important}.check-gamble-backdrop>.check-gamble-dialog{transform:translateY(var(--action-prompt-check-gamble-offset, 0px))}.combat-attack-picker-dialog{max-height:min(72vh,620px)!important}.combat-skill-backdrop>.combat-skill-dialog,.combat-action-prompt-backdrop>.combat-picker-dialog,.combat-approve-backdrop>.combat-approve-dialog,.combat-turn-backdrop>.combat-turn-dialog,.first-aid-backdrop>.first-aid-dialog,.special-event-backdrop>.special-event-dialog,.check-gamble-backdrop>.check-gamble-dialog{max-height:min(44vh,360px);margin:0;overflow-y:auto;pointer-events:auto;min-width:min(420px,calc(100vw - 40px));max-width:min(440px,calc(100vw - 40px));width:min(440px,calc(100vw - 40px))}@media(max-width:720px){.combat-skill-backdrop,.combat-action-prompt-backdrop,.combat-approve-backdrop,.combat-turn-backdrop,.first-aid-backdrop,.special-event-backdrop,.check-gamble-backdrop{width:100%!important}.combat-skill-backdrop>.combat-skill-dialog,.combat-action-prompt-backdrop>.combat-picker-dialog,.combat-approve-backdrop>.combat-approve-dialog,.combat-turn-backdrop>.combat-turn-dialog,.first-aid-backdrop>.first-aid-dialog,.special-event-backdrop>.special-event-dialog,.check-gamble-backdrop>.check-gamble-dialog{min-width:0;max-width:calc(100vw - 24px);width:calc(100vw - 24px)}}.combat-skill-dialog:has(.spell-cast-item){overflow:visible}.map-control-backdrop{align-items:center;background:#080a08a6;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:240!important}.map-control-dialog{gap:0}.map-control-head{margin-bottom:12px}.map-control-tabs{border-bottom:1px solid var(--line);display:flex;gap:10px;margin-bottom:12px}.map-control-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;padding:7px 14px}.map-control-tabs button:hover{color:var(--text)}.map-control-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.map-control-filter-row{align-items:center;display:flex;gap:10px;margin:14px 0 0}.map-control-filter-row label{color:var(--muted);font-size:12px}.map-control-filter-row select{background:var(--surface);border:1px solid var(--line);border-radius:4px;color:var(--text);min-width:112px;padding:6px 9px}.bg-gallery-item--default{align-items:center;display:flex;justify-content:center}.bg-gallery-none-label{color:var(--muted);font-size:15px;letter-spacing:1px}.map-control-element-actions{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0 20px}.map-control-action{align-items:flex-start;background:#e2cca038;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px;text-align:left}.map-control-action:hover{background:var(--accent-soft);border-color:var(--accent)}.map-control-action strong{color:var(--accent);font-size:14px}.map-control-action span{color:var(--muted);font-size:12px;line-height:1.5}html[data-theme=dark] .map-control-backdrop{background:#070606c7;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=dark] .map-control-action{background:#2b231ed6;border-color:#c3a26847}html[data-theme=dark] .map-control-action:hover{background:#702b3157;border-color:#d08b7f}html[data-theme=light] .map-control-backdrop{background:#36221475;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme=light] .map-control-action{background:#e2cca08c;border-color:#b49a6ba6}.canvas-toolbar>button:nth-child(-n+4){display:none}.canvas-toolbar .canvas-map-btn{background:#7b302dd9;border-color:#c8aa6e80;color:#f6f1e0;order:1}.canvas-toolbar .canvas-map-btn:hover{background:#7b302d}.canvas-toolbar .canvas-check-btn:not(.canvas-role-btn){order:2}.canvas-toolbar .canvas-san-btn{order:3}.canvas-toolbar .canvas-clue-btn{order:4}.canvas-toolbar .canvas-role-btn{order:5}.canvas-toolbar .canvas-item-btn{order:6}@media(max-width:720px){.map-control-element-actions{grid-template-columns:1fr}.map-control-dialog{padding:18px}}@media(min-width:901px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.quick-menu{background:#ead7adf5;border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;bottom:18px;box-shadow:8px 8px 26px #462f1b2e;left:0;overflow:hidden;padding:22px 14px 18px;position:fixed;top:90px;transform:translate(-100%);transition:transform .22s ease,box-shadow .22s ease;width:220px;z-index:70}.quick-menu.is-open{box-shadow:10px 10px 34px #462f1b47;transform:translate(0)}.quick-menu:not(.is-open) .panel-heading h2,.quick-menu:not(.is-open) .panel-heading .section-label,.quick-menu:not(.is-open) .menu-item span:last-child,.quick-menu:not(.is-open) .menu-footer{visibility:hidden}.quick-menu:not(.is-open) .panel-heading{margin-left:8px}.quick-menu:not(.is-open) .menu-item{justify-content:flex-start;padding-left:10px}.quick-menu-close{display:inline-block}.quick-menu-toggle{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:4px;color:var(--accent);cursor:pointer;display:inline-flex;font-size:12px;gap:6px;line-height:1;padding:8px 10px}.quick-menu-toggle:hover{background:var(--accent-soft);border-color:var(--accent)}}html[data-theme=dark] .quick-menu{background:#1d1815f7;box-shadow:8px 8px 28px #00000061}.topbar{display:none!important}.app-shell{min-height:100vh;overflow:hidden}.app-shell{--chat-panel-width: 320px}.workspace{grid-template-columns:minmax(0,1fr) var(--chat-panel-width)!important;height:100vh}.main-content{min-height:100vh}.chat-panel{min-height:100vh;padding-top:74px}.immersive-controls{inset:0;pointer-events:none;position:fixed;z-index:95}.immersive-controls button,.immersive-controls .immersive-profile{pointer-events:auto}.immersive-menu-tab{align-items:center;background:#1c1715db;border:1px solid rgba(195,162,104,.34);border-left:0;border-radius:0 8px 8px 0;box-shadow:8px 10px 25px #0003;color:var(--text);display:flex;flex-direction:column;gap:10px;justify-content:center;left:0;min-height:132px;padding:16px 9px;position:absolute;top:50%;transform:translateY(-50%);width:43px}.immersive-menu-tab span{font-size:12px;letter-spacing:3px;line-height:1.25;writing-mode:vertical-rl}.immersive-menu-tab b{color:var(--archive-gold, var(--accent));font-size:15px}.immersive-menu-tab:hover{background:#702b31eb}.immersive-status{align-items:center;background:#14110fad;border:1px solid rgba(195,162,104,.3);border-radius:0 0 8px;box-shadow:0 8px 22px #00000026;color:var(--text);display:flex;gap:12px;left:0;padding:10px 14px 10px 58px;position:absolute;top:0}.immersive-status span{color:var(--archive-gold, var(--accent));font-size:12px}.immersive-status button{background:transparent;border:1px solid rgba(195,162,104,.38);border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;padding:5px 8px}.immersive-status button:hover{background:var(--accent-soft)}.script-intro-backdrop{align-items:center;background:#3622147a;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:130}.script-intro-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-panel),inset 0 0 24px #704b2314;display:flex;flex-direction:column;max-height:min(720px,84vh);max-width:680px;overflow:hidden;padding:26px;position:relative;width:100%}.script-intro-dialog h2{color:var(--text);font-size:22px;font-weight:500;margin:0 0 14px}.script-intro-content{background:#e2cca038;border:1px solid var(--line);border-radius:4px;color:var(--text);flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px}.script-intro-empty{color:var(--muted);font-size:13px;margin:0}.immersive-brand{align-items:flex-start;bottom:20px;display:flex;flex-direction:column;left:20px;position:absolute;text-shadow:0 2px 12px #000}.immersive-brand .brand-kicker{color:#e6cc96a3;font-size:10px;letter-spacing:3px}.immersive-brand strong{color:#f3e5c2;font-family:Georgia,serif;font-size:20px;letter-spacing:2px}.immersive-profile{position:absolute;right:20px;top:16px}.profile-trigger{align-items:center;background:#1c1715d6;border:1px solid rgba(195,162,104,.35);border-radius:22px;box-shadow:0 8px 24px #0003;color:var(--text);cursor:pointer;display:flex;gap:8px;padding:5px 10px 5px 5px}.profile-trigger:hover{border-color:var(--archive-gold, var(--accent));background:#702b31cc}.profile-trigger b{color:var(--archive-gold, var(--accent));font-size:13px}.profile-trigger--guest{border-radius:6px;padding:9px 13px}.profile-avatar{align-items:center;background:#7b3030;border:1px solid rgba(240,207,138,.55);border-radius:50%;color:#fff1ca;display:inline-flex;height:30px;justify-content:center;overflow:hidden;width:30px}.profile-avatar img{height:100%;object-fit:cover;width:100%}.profile-menu{background:#1d1815fa;border:1px solid rgba(195,162,104,.4);border-radius:8px;box-shadow:0 15px 36px #0006;display:grid;gap:4px;min-width:178px;padding:9px;position:absolute;right:0;top:47px}.profile-menu strong{border-bottom:1px solid rgba(195,162,104,.22);color:var(--archive-gold, var(--accent));font-size:12px;padding:4px 7px 9px}.profile-menu button{background:transparent;border:0;border-radius:4px;color:var(--text);cursor:pointer;font-size:12px;padding:9px 8px;text-align:left}.profile-menu button:hover{background:#c3a2681f}.profile-menu .profile-menu-danger{color:#d99386}.immersive-theme{position:absolute;right:20px;top:62px}.quick-menu{position:fixed!important;top:50%!important;bottom:auto!important;left:0!important;height:auto!important;max-height:80vh;transform:translate(-100%,-50%)!important;z-index:70!important}.quick-menu.is-open{transform:translateY(-50%)!important;z-index:90!important}.immersive-auth-backdrop{align-items:center;background:#070606ad;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:180!important}.immersive-auth-gate{background:#1c1715e6;border:1px solid rgba(195,162,104,.4);box-shadow:0 25px 80px #0000008c;max-width:440px;padding:42px 38px;position:relative;text-align:center;width:100%}.immersive-auth-gate h1{color:var(--text);font-family:Georgia,serif;font-size:26px;font-weight:500;margin:0 0 12px}.immersive-auth-actions{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:24px}.immersive-register-btn{background:transparent;border:1px solid var(--accent);border-radius:4px;color:var(--accent);cursor:pointer;padding:11px}.immersive-register-btn:hover{background:var(--accent-soft)}.immersive-auth-card{max-width:420px;z-index:1}.immersive-guest-entry{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:12px;margin-top:18px;padding:5px 10px}.immersive-guest-entry:hover{color:var(--archive-gold, var(--accent))}@media(max-width:720px){.workspace{grid-template-columns:minmax(0,1fr)!important}.chat-panel{background:var(--surface);box-shadow:-14px 0 35px #00000047;max-width:340px;padding-top:0;position:fixed;right:0;top:0;transform:translate(100%);transition:transform .22s ease;width:min(88vw,340px);z-index:100}.chat-panel.is-open{transform:translate(0)}.immersive-profile{right:12px;top:12px}.immersive-theme{right:12px;top:58px}.immersive-brand{bottom:12px;left:12px}.immersive-brand strong{font-size:16px}.immersive-status{padding-left:52px}}.chat-panel{position:relative;padding-top:54px}.chat-panel>.panel-heading{margin:0;min-height:26px;position:absolute;right:12px;top:13px;z-index:2}.chat-panel>.panel-heading>div:first-child{display:none}.chat-theme-toggle{left:13px;position:absolute;top:12px;z-index:3}.immersive-menu-tab{left:auto;right:-43px;top:50%}.quick-menu{overflow:visible!important;transform:translate(-100%,-50%)!important}.quick-menu.is-open{transform:translateY(-50%)!important}.immersive-auth-backdrop{display:none}.immersive-auth-backdrop:has(.immersive-auth-card){display:flex}@media(max-width:720px){.chat-panel{padding-top:54px}.chat-panel>.panel-heading{right:8px;top:10px}.chat-theme-toggle{left:8px;top:8px}.quick-menu{transform:translate(-100%,-50%)!important}.quick-menu.is-open{transform:translateY(-50%)!important}}.profile-trigger b{display:inline-block;transform:translateY(-2px)}.chat-panel>.panel-heading{top:58px}.chat-panel .chat-theme-toggle{display:none!important}.main-theme-toggle{left:12px;position:absolute;top:12px;z-index:2}.immersive-status{left:0;padding-left:14px;z-index:0}.combat-layer{z-index:30!important}.story-hide-btn{top:30px}.story-layer{top:60px}.combat-reopen-btn,.story-reopen-btn{animation:collapse-cue-in .72s cubic-bezier(.2,.8,.25,1) both,collapse-cue-glow 1.5s ease-in-out .7s 2;overflow:visible;position:absolute}.combat-reopen-btn:before,.story-reopen-btn:before{border:1px solid currentColor;border-radius:6px;content:"";inset:-5px;opacity:0;pointer-events:none;position:absolute;transform-origin:bottom right}.combat-reopen-btn:before{animation:collapse-cue-frame .8s cubic-bezier(.2,.8,.25,1) both}.story-reopen-btn:before{animation:collapse-cue-frame .8s cubic-bezier(.2,.8,.25,1) .08s both}@keyframes collapse-cue-in{0%{opacity:0;transform:translate(10px,10px) scale(.72)}55%{opacity:1;transform:translate(-2px,-2px) scale(1.08)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes collapse-cue-frame{0%{opacity:0;transform:translate(-12px,-12px) scale(2.35)}32%{opacity:.9}to{opacity:0;transform:translate(0) scale(1)}}@keyframes collapse-cue-glow{0%,to{box-shadow:0 0 #f0cf8a00}45%{box-shadow:0 0 0 4px #f0cf8a2e,0 0 22px #f0cf8ac7}}@media(max-width:720px){.chat-panel>.panel-heading{top:54px}.main-theme-toggle{left:8px;top:8px}.immersive-status{left:0;padding-left:10px}.combat-reopen-btn,.story-reopen-btn{bottom:74px}}.theme-toggle{display:none!important}.profile-menu button:nth-of-type(3){display:none}.app-shell.is-guest:before{animation:guest-scene-breathe 12s ease-in-out infinite;background-image:linear-gradient(#05070d8f,#05070d8f),url(/assets/bg-Y7w3l6ax.jpg);background-position:60% center;background-size:cover;content:"";inset:0;opacity:.9;pointer-events:none;position:fixed;z-index:0}.app-shell.is-guest>.workspace{position:relative;z-index:1}@keyframes guest-scene-breathe{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.app-shell.is-guest:before{animation:none}}.immersive-status{position:fixed;z-index:5!important}.combat-kp-tools{align-items:center;bottom:12px;display:flex;gap:6px;position:absolute;right:14px;z-index:20}.combat-kp-tools button{background:#261f15eb;border:1px solid rgba(195,162,104,.58);border-radius:4px;color:#ead9b9;cursor:pointer;font-size:12px;padding:5px 8px;text-shadow:0 1px 2px rgba(0,0,0,.8)}.combat-kp-tools button:hover{background:#8e3f42f5;border-color:#eccd91d9}.combat-kp-tools button:active{transform:translateY(1px)}@media(max-width:720px){.combat-kp-tools{bottom:8px;right:8px}.combat-kp-tools button{font-size:11px;padding:4px 6px}}.check-all-in-button{bottom:auto;justify-self:end;margin-top:-8px;position:static}.check-gamble-backdrop{align-items:center;background:#070606c7;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100000!important}.check-gamble-dialog{background:linear-gradient(155deg,#2d251ffc,#1b1714fc);border:1px solid rgba(242,141,126,.7);border-radius:6px;box-shadow:0 24px 65px #0000008c,inset 0 0 34px #d4283014;color:var(--text);max-width:390px;padding:28px;position:relative;width:100%}.check-gamble-dialog h2{color:#ffd0c5;font-size:21px;font-weight:500;margin:0 0 8px}.check-gamble-dialog .section-label{color:#ffb5a5}.check-gamble-dialog .auth-description{color:#ffe5ded6}.check-gamble-detail{color:#ffe5deb3;font-size:13px;line-height:1.7;margin:14px 0 0}.npc-manager-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 65px #0000008c,inset 0 0 34px #c3a2680a;max-height:85vh;max-width:600px;overflow-y:auto;padding:24px;position:relative;width:90vw}.npc-manager-dialog h2{font-size:18px;margin-bottom:14px}.immersive-profile:has(.profile-trigger--guest){right:24px;top:50%;transform:translateY(-50%)}.profile-trigger--guest{align-items:center;background:linear-gradient(135deg,#1f4333fa,#0f1f1afa);border:1px solid rgba(240,207,138,.78);border-left:3px solid #9d4546;border-radius:4px;box-shadow:0 16px 34px #0006,inset 0 0 0 1px #c3a26829;color:#f3e5c2;gap:12px;min-width:198px;padding:13px 15px 13px 13px;position:relative;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.profile-trigger--guest:before{border:1px solid rgba(240,207,138,.25);content:"";inset:5px;pointer-events:none;position:absolute}.profile-trigger--guest:hover{background:linear-gradient(135deg,#2b5b44fc,#182d24fc);border-color:#f0cf8a;box-shadow:0 18px 42px #00000080,0 0 22px #c3a2682e;transform:translate(-4px)}.guest-login-icon{align-items:center;border:1px solid rgba(240,207,138,.7);border-radius:50%;color:#f0cf8a;display:inline-flex;flex:0 0 31px;font-family:Georgia,serif;font-size:21px;height:31px;justify-content:center;line-height:1;position:relative;width:31px}.guest-login-copy{display:flex;flex:1;flex-direction:column;gap:4px;position:relative}.guest-login-copy small{color:#e6cc96b8;font-size:10px;letter-spacing:1.8px;line-height:1}.guest-login-copy strong{color:#fff0c8;font-family:Georgia,"Noto Serif SC",serif;font-size:17px;font-weight:600;letter-spacing:2px}.guest-login-arrow{color:#d99386;font-size:20px;line-height:1;position:relative}.spell-view-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:#0a0810b8}.spell-view-panel{position:relative;width:min(760px,100%);max-height:min(760px,90vh);overflow:auto;padding:28px;border:1px solid rgba(217,147,134,.35);border-radius:18px;background:#17131c;box-shadow:0 24px 80px #00000073}.view-card-backdrop,.spell-view-overlay{display:none!important}.tutorial-root,.tutorial-layer1,.tutorial-layer2{inset:0;position:fixed}.tutorial-root{z-index:120000}.tutorial-layer2{pointer-events:none;z-index:120000}.tutorial-layer2--empty{background:#050706ad}.tutorial-spotlight{border:2px solid rgba(240,207,138,.96);border-radius:8px;box-shadow:0 0 0 9999px #050706ad,0 0 0 5px #f0cf8a29,0 0 24px #f0cf8ab3;pointer-events:none;position:fixed;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}.tutorial-layer1{pointer-events:none;z-index:120010}.tutorial-panel{background:#16120ffa;border:1px solid rgba(240,207,138,.72);border-radius:8px;box-shadow:0 18px 55px #00000085,0 0 28px #f0cf8a1f;color:#f3e5c2;max-height:calc(100vh - 36px);padding:20px 22px 16px;pointer-events:auto;position:fixed}.tutorial-panel--center{left:50%;top:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 36px))}.tutorial-panel .section-label{color:#f0cf8ac2;margin:0 0 6px}.tutorial-panel h2{color:#f3e5c2;font-family:Georgia,Times New Roman,"Noto Serif SC",serif;font-size:21px;font-weight:500;margin:0 0 10px}.tutorial-copy{color:#f3e5c2d1;font-size:13px;line-height:1.75;margin:0}.tutorial-progress{color:#f0cf8ab8;font-size:12px;margin-top:14px;text-align:right}.tutorial-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.tutorial-actions .auth-submit,.tutorial-actions .room-tab,.tutorial-exit{min-width:64px;padding:8px 12px}.tutorial-exit{background:transparent;border:1px solid rgba(240,207,138,.28);color:#f3e5c2b3;cursor:pointer}.tutorial-exit:hover{border-color:#f0cf8ab8;color:#f3e5c2}.menu-item--tutorial .menu-icon{border:1px solid currentColor;border-radius:50%;display:inline-grid;font-size:12px;height:18px;place-items:center;width:18px}@media(max-width:640px){.tutorial-panel:not(.tutorial-panel--center){left:18px!important;top:auto!important;bottom:18px!important;width:calc(100vw - 36px)!important}.tutorial-actions{flex-wrap:wrap}}.kp-guide-backdrop{align-items:center;background:#3622149e;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:500}.kp-guide-dialog{background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 70px #2d1c1061,inset 0 0 28px #704b2314;display:flex;flex-direction:column;height:min(790px,calc(100vh - 48px));max-width:1240px;overflow:hidden;width:min(1240px,96vw)}.kp-guide-head{align-items:flex-start;border-bottom:1px solid rgba(180,154,107,.7);display:flex;justify-content:space-between;padding:24px 28px 20px}.kp-guide-head h2{font-size:25px;font-weight:600;letter-spacing:.02em;margin:2px 0 6px}.kp-guide-head p:not(.section-label){color:var(--muted);font-size:13px;margin:0}.kp-guide-head .auth-close{flex:0 0 auto;margin:-4px -8px 0 16px}.kp-guide-body{display:grid;flex:1;grid-template-columns:268px minmax(0,1fr);min-height:0}.kp-guide-tree{border-right:1px solid rgba(180,154,107,.7);overflow-y:auto;padding:18px 12px}.kp-guide-tree-title{color:var(--subtle);font-size:11px;font-weight:700;letter-spacing:.16em;margin:0 10px 10px;text-transform:uppercase}.kp-guide-section-button,.kp-guide-item-button{align-items:center;background:transparent;border:0;color:var(--text);cursor:pointer;display:flex;font-family:inherit;text-align:left;width:100%}.kp-guide-section-button{border-radius:4px;font-size:14px;font-weight:600;gap:8px;padding:10px 9px}.kp-guide-section-button:hover,.kp-guide-section-button.is-active{background:#7b302d1a;color:var(--accent)}.kp-guide-section-button small{color:var(--subtle);font-size:11px;margin-left:auto}.kp-guide-tree-chevron{color:var(--accent);font-size:17px;line-height:1;width:10px}.kp-guide-section-icon{align-items:center;color:var(--accent);display:inline-flex;font-size:15px;justify-content:center;width:17px}.kp-guide-subtree{border-left:1px solid rgba(123,48,45,.22);margin:0 0 7px 17px;padding:3px 0 2px 9px}.kp-guide-item-button{border-radius:4px;color:var(--muted);font-size:12px;gap:8px;line-height:1.25;min-height:31px;padding:6px 7px}.kp-guide-item-button:hover,.kp-guide-item-button.is-active{background:#7b302d1f;color:var(--accent);font-weight:600}.kp-guide-tree-line{background:currentColor;border-radius:50%;display:block;flex:0 0 4px;height:4px;opacity:.62;width:4px}.kp-guide-content{min-width:0;overflow-y:auto;padding:24px 30px 30px}.kp-guide-breadcrumb{align-items:center;color:var(--subtle);display:flex;font-size:12px;gap:8px;margin-bottom:20px}.kp-guide-breadcrumb b{color:var(--accent);font-size:15px;font-weight:400}.kp-guide-title-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.kp-guide-title-row .section-label{margin:0 0 4px}.kp-guide-title-row h3{font-size:27px;font-weight:600;margin:0}.kp-guide-role-chip{background:#7b302d1c;border:1px solid rgba(123,48,45,.24);border-radius:999px;color:var(--accent);font-size:12px;padding:5px 10px;white-space:nowrap}.kp-guide-summary{color:var(--muted);font-size:14px;line-height:1.7;margin:10px 0 20px}.kp-guide-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1.4fr) minmax(210px,.8fr)}.kp-guide-card,.kp-guide-reference{background:#fff8e333;border:1px solid rgba(180,154,107,.72);border-radius:6px}.kp-guide-card{padding:17px 18px}.kp-guide-card h4,.kp-guide-reference h4{align-items:center;display:flex;font-size:14px;gap:8px;margin:0}.kp-guide-card h4 span{align-items:center;background:#7b302d1f;border-radius:50%;color:var(--accent);display:inline-flex;font-size:11px;height:22px;justify-content:center;width:22px}.kp-guide-steps-card ol{color:var(--text);line-height:1.65;margin:12px 0 0;padding-left:22px}.kp-guide-steps-card li{padding-left:4px}.kp-guide-steps-card li+li{margin-top:6px}.kp-guide-tip-card{background:#7b302d11}.kp-guide-tip-card p{color:var(--muted);line-height:1.7;margin:12px 0 0}.kp-guide-reference{margin-top:12px;overflow:hidden}.kp-guide-reference-head{align-items:center;border-bottom:1px solid rgba(180,154,107,.55);display:flex;justify-content:space-between;padding:14px 17px 12px}.kp-guide-reference-head p{color:var(--subtle);font-size:12px;margin:4px 0 0}.kp-guide-reference-head>span{color:var(--subtle);font-size:11px;letter-spacing:.12em}.kp-guide-image-frame{background:#462f1b14;padding:12px}.kp-guide-image-frame img{border:1px solid rgba(123,48,45,.26);display:block;height:auto;max-height:420px;object-fit:contain;width:100%}.kp-guide-image-frame.kp-guide-image-zoom{height:460px;overflow:hidden;padding:0;position:relative}.kp-guide-image-zoom img{border:0;height:100%;inset:0;max-height:none;object-fit:cover;position:absolute;width:100%}.kp-guide-sketch{background:#462f1b14;min-height:178px;padding:13px}.kp-sketch-top{align-items:center;background:#dfc99de0;border:1px solid rgba(180,154,107,.6);color:var(--text);display:flex;font-size:11px;gap:8px;padding:7px 9px}.kp-sketch-top i{background:var(--accent);border-radius:4px;display:block;height:7px;margin-left:auto;opacity:.7;width:20px}.kp-sketch-top i+i{margin-left:0;width:14px}.kp-sketch-layout{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:126px}.kp-sketch-side{background:#ead7adc7;border:1px solid rgba(180,154,107,.56);border-top:0;display:flex;flex-direction:column;gap:6px;padding:10px 8px}.kp-sketch-side b{font-size:12px;margin-bottom:4px}.kp-sketch-side span{background:#7b302d17;color:var(--muted);font-size:11px;padding:5px 6px}.kp-sketch-main{background:#f7e8c3a6;border:1px solid rgba(180,154,107,.56);border-left:0;border-top:0;padding:10px}.kp-sketch-toolbar{display:flex;flex-wrap:wrap;gap:6px}.kp-sketch-toolbar span{background:#fff8e3bf;border:1px solid rgba(180,154,107,.7);color:var(--muted);font-size:11px;padding:4px 6px}.kp-sketch-panel{background:#fff8e3a6;border:1px solid rgba(180,154,107,.55);display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:13px}.kp-sketch-panel strong{font-size:12px}.kp-sketch-panel span{color:var(--subtle);font-size:11px}.kp-sketch-panel button{align-self:flex-start;background:var(--accent);border:0;border-radius:4px;color:#f7e8c3;font-size:11px;padding:5px 10px}.kp-guide-reference-caption{color:var(--subtle);font-size:11px;line-height:1.5;margin:0;padding:9px 17px 12px}.kp-guide-foot{align-items:center;border-top:1px solid rgba(180,154,107,.7);color:var(--subtle);display:flex;font-size:12px;justify-content:space-between;padding:12px 22px}.kp-guide-foot .room-tab{min-width:74px;padding:7px 12px}@media(max-width:800px){.kp-guide-backdrop{padding:10px}.kp-guide-dialog{height:calc(100vh - 20px);width:100%}.kp-guide-head{padding:18px 18px 15px}.kp-guide-head h2{font-size:21px}.kp-guide-body{grid-template-columns:150px minmax(0,1fr)}.kp-guide-tree{padding:13px 7px}.kp-guide-section-button{font-size:12px;gap:4px;padding:8px 5px}.kp-guide-section-button small,.kp-guide-section-icon{display:none}.kp-guide-subtree{margin-left:10px;padding-left:5px}.kp-guide-item-button{font-size:12px;padding:5px 2px}.kp-guide-content{padding:18px 15px 20px}.kp-guide-title-row h3{font-size:22px}.kp-guide-grid{grid-template-columns:1fr}.kp-guide-image-frame.kp-guide-image-zoom{height:340px}.kp-guide-foot{gap:10px;padding:10px 14px}.kp-guide-foot>span{line-height:1.4}}@media(max-width:540px){.kp-guide-body{grid-template-columns:1fr}.kp-guide-tree{border-bottom:1px solid rgba(180,154,107,.7);border-right:0;max-height:195px}.kp-guide-tree-section{display:inline-block;vertical-align:top;width:49%}.kp-guide-subtree{max-height:100px;overflow-y:auto}.kp-guide-breadcrumb{margin-bottom:13px}.kp-guide-reference-head>span{display:none}}:root{--occult-gold: #cfb078;--occult-edge: rgba(207, 176, 120, .42);--occult-panel: #172620}html[data-theme=light]{--occult-gold: #79582e;--occult-edge: rgba(121, 88, 46, .46);--occult-panel: #e9d8b5}.immersive-brand{flex-direction:row;align-items:center;gap:14px;left:28px;bottom:28px}.archive-emblem{width:64px;height:64px;filter:drop-shadow(0 3px 12px #0009)}.archive-wordmark{display:flex;flex-direction:column;gap:5px}.immersive-brand strong{font-family:Georgia,STSong,SimSun,serif;letter-spacing:.16em;font-size:24px}.brand-caption{color:#d5c4a4;font-size:10px;letter-spacing:.25em}.immersive-brand .brand-kicker{color:#cfb078;font-size:9px;letter-spacing:.23em}.auth-emblem{display:block;width:76px;height:76px;margin:0 auto 18px;animation:archive-breathe 5s ease-in-out infinite}.immersive-auth-card{border:1px solid var(--occult-edge);border-radius:3px;background:linear-gradient(145deg,var(--occult-panel),var(--surface) 65%);box-shadow:inset 0 0 0 5px var(--surface),inset 0 0 0 6px var(--occult-edge),0 24px 80px #0009;animation:archive-reveal .24s ease-out;max-height:calc(100dvh - 48px);overflow-y:auto}.immersive-auth-card .login-kicker{font-size:9px;letter-spacing:.15em;line-height:1.7;color:var(--occult-gold)}.immersive-auth-card .login-title{font-family:STSong,SimSun,Georgia,serif;letter-spacing:.12em}.immersive-auth-card .login-subtitle,.immersive-auth-card .login-form label{color:var(--muted)}.immersive-auth-card .login-form input:not([type=checkbox]){border-radius:2px;border-color:var(--occult-edge);background:var(--bg);color:var(--text)}.immersive-auth-card .login-form input:focus{border-color:var(--occult-gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--occult-gold) 12%,transparent)}.section-label{display:flex;align-items:center;gap:10px;letter-spacing:.18em;color:var(--occult-gold)}.section-label:after{content:"";width:56px;height:1px;background:linear-gradient(90deg,var(--occult-gold),transparent)}:is(.room-dialog,.notes-dialog,.note-detail-dialog,.dice-dialog,.dialogs-dialog,.npc-manager-dialog,.kp-guide-dialog,.profile-menu){border-color:var(--occult-edge);border-radius:3px;box-shadow:inset 0 1px color-mix(in srgb,var(--occult-gold) 20%,transparent),var(--shadow-panel)}:is(.room-tab,.room-button,.room-action,.records-toggle,.dice-option,.canvas-toolbar button,.theme-toggle){border-radius:3px;border-color:var(--occult-edge);box-shadow:inset 0 1px color-mix(in srgb,var(--occult-gold) 10%,transparent)}:is(.auth-submit,.login-submit,.dice-roll-button,.game-dialog-send,.send-button){background:linear-gradient(135deg,#864446,#582b33);border:1px solid #bc9262;border-radius:3px;color:#fff0d4;box-shadow:inset 0 1px #e5c68a33,0 3px 10px #0003}:is(.auth-submit,.login-submit,.dice-roll-button,.game-dialog-send,.send-button):hover:not(:disabled){background:linear-gradient(135deg,#a35752,#713740);border-color:#e4c48a;box-shadow:inset 0 1px #e5c68a55,0 0 18px #b7814933}:is(.room-tab,.room-button,.records-toggle,.dice-option):hover:not(:disabled){border-color:var(--occult-gold);box-shadow:inset 0 0 12px color-mix(in srgb,var(--occult-gold) 10%,transparent)}button:disabled{cursor:not-allowed;opacity:.5}:is(.menu-item.is-active,.room-tab.is-active,.records-toggle.is-active){border-color:var(--occult-edge);box-shadow:inset 3px 0 var(--occult-gold)}.menu-icon{color:var(--occult-gold);text-shadow:0 0 10px color-mix(in srgb,var(--occult-gold) 25%,transparent)}.profile-trigger--guest{background:linear-gradient(135deg,#203e33,#0c201b);border-left-color:#ba795d}.guest-login-icon{border:0;border-radius:0;background:url(/favicon.svg) center / contain no-repeat;color:transparent;flex-basis:44px;width:44px;height:44px}.profile-trigger--guest:hover .guest-login-arrow{transform:translate(2px,-2px)}.guest-login-arrow{transition:transform .2s ease}.panel-heading,.chat-room{border-bottom-color:var(--occult-edge)}.profile-menu button:hover{background:var(--accent-soft);color:var(--occult-gold)}@keyframes archive-breathe{0%,to{filter:drop-shadow(0 0 5px #cfb07815)}50%{filter:drop-shadow(0 0 13px #cfb07845)}}html[data-theme] :is(.immersive-auth-card,.room-dialog,.dice-dialog,.notes-dialog,.note-detail-dialog,.scripts-dialog,.script-intro-dialog,.dialogs-dialog,.character-cards-dialog,.character-viewer-dialog,.npc-manager-dialog,.npc-modal,.buff-manager-dialog,.item-grant-dialog,.bg-gallery-dialog,.kp-guide-dialog,.spell-modal,.app-modal-dialog){background:linear-gradient(90deg,transparent,var(--occult-gold),transparent) center top / 72% 1px no-repeat,radial-gradient(ellipse at top left,color-mix(in srgb,var(--occult-panel) 80%,transparent),transparent 65%),var(--surface);border:1px solid var(--occult-edge);border-radius:8px;box-shadow:0 24px 72px #0006,0 4px 16px #0003,inset 0 1px #ffffff08;color:var(--text)}html[data-theme] :is(.immersive-auth-card,.room-dialog,.dice-dialog,.notes-dialog,.note-detail-dialog,.scripts-dialog,.script-intro-dialog,.dialogs-dialog,.character-cards-dialog,.npc-manager-dialog,.buff-manager-dialog,.item-grant-dialog,.bg-gallery-dialog,.kp-guide-dialog,.spell-modal,.app-modal-dialog) h2{color:var(--text);font-family:STSong,SimSun,Georgia,serif;letter-spacing:.08em;line-height:1.4}html[data-theme] :is(.room-dialog,.notes-dialog,.note-detail-dialog,.scripts-dialog,.npc-manager-dialog,.buff-manager-dialog,.item-grant-dialog,.spell-modal) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),textarea,select){background-color:color-mix(in srgb,var(--bg) 65%,var(--surface));border:1px solid var(--occult-edge);border-radius:4px;color:var(--text)}html[data-theme] :is(.notes-tabs,.scripts-tabs,.app-modal-actions){border-top:1px solid color-mix(in srgb,var(--occult-gold) 22%,transparent);padding-top:14px}html[data-theme] :is(.room-form label,.auth-form label,.wb-form label,label.wb-label):has(>:is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea)){display:grid;row-gap:6px}html[data-theme] .room-dialog>.section-label{margin-bottom:10px}html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs){gap:8px;margin-top:14px;margin-bottom:16px;padding-bottom:0;overflow-x:auto}html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs)>button{align-items:center;background:color-mix(in srgb,var(--surface) 85%,var(--bg));border:1px solid var(--occult-edge);border-bottom-width:2px;border-radius:4px 4px 0 0;box-shadow:none;box-sizing:border-box;color:var(--muted);display:inline-flex;flex-shrink:0;font-size:11px;justify-content:center;line-height:1.3;min-height:26px;padding:4px 10px;text-align:center;white-space:nowrap}html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs)>button:hover{background:var(--surface-hover);border-color:var(--occult-gold);color:var(--text)}html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs)>button.is-active,html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs)>button.is-active:hover{background:#203b30;border-color:var(--occult-gold);box-shadow:none;color:#fff0d4;font-weight:700}html[data-theme] :is(.room-tabs,.card-tabs,.notes-tabs,.scripts-tabs,.dialogs-tabs,.dialog-speaker-picker-tabs,.map-control-tabs,.buff-manager-tabs,.character-viewer-tabs,.npc-edit-tabs)>button:focus-visible{outline:2px solid var(--occult-gold);outline-offset:2px}html[data-theme] .auth-close{border-radius:5px;background:transparent;border-color:transparent;color:var(--muted);box-shadow:none}html[data-theme] .auth-close:hover{background:var(--accent-soft);border-color:var(--occult-edge);color:var(--text);transform:none}html[data-theme] .app-modal-backdrop{background:#060b0bb3}html[data-theme] .app-modal-dialog:before{display:none}html[data-theme] .app-modal-icon{border-radius:8px;background:color-mix(in srgb,var(--occult-gold) 9%,transparent);border-color:var(--occult-edge);color:var(--occult-gold);box-shadow:inset 0 0 0 4px var(--surface)}html[data-theme] .app-modal-eyebrow{color:var(--occult-gold);font-size:10px;letter-spacing:.2em}html[data-theme] .app-modal-message{color:var(--text);line-height:1.8}html[data-theme] .app-modal-button{border-radius:4px}html[data-theme] .app-modal-button--cancel{background:transparent;border-color:var(--occult-edge);color:var(--muted)}html[data-theme] .app-modal-button--cancel:hover{background:var(--surface-hover);color:var(--text)}html[data-theme] .app-modal-button--confirm{background:linear-gradient(135deg,#315c49,#203e33);border-color:#789077;color:#fff0d4}html[data-theme] .app-modal-button--confirm:hover{background:#386750}html[data-theme] .app-modal-dialog.is-danger{border-color:var(--danger)}html[data-theme] .app-modal-dialog.is-danger .app-modal-icon{border-color:var(--danger);color:var(--danger);background:var(--accent-soft)}html[data-theme] .app-modal-dialog.is-danger .app-modal-button--confirm{background:#94332f;border-color:#bd7563}html[data-theme] .app-modal-dialog.is-danger .app-modal-button--confirm:hover{background:#ac423c}@keyframes archive-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.auth-emblem,.immersive-auth-card{animation:none}.profile-trigger--guest,.guest-login-arrow{transition:none}.profile-trigger--guest:hover,.profile-trigger--guest:hover .guest-login-arrow{transform:none}}.icp-link{bottom:max(4px,env(safe-area-inset-bottom));color:var(--muted);font-size:10px;opacity:.55;position:fixed;right:max(8px,env(safe-area-inset-right));text-decoration:none;z-index:96}.icp-link:hover,.icp-link:focus-visible{opacity:1;text-decoration:underline}@media(min-width:721px){.icp-link.has-chat{right:calc(var(--chat-panel-width) + 8px)}}@media(max-width:720px){html{--mobile-chat-bar-h: 54px;--chat-bar-bottom: 0px}html,body{overflow:hidden}.app-shell,.workspace,.main-content{height:100dvh;min-height:100dvh}.immersive-profile:has(.profile-trigger--guest){left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:max-content;max-width:calc(100vw - 24px)}.profile-trigger--guest{min-width:174px;padding:11px 12px 11px 10px}.guest-login-copy strong{font-size:15px}.immersive-controls .immersive-profile.immersive-profile--roomless{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(320px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto}.roomless-profile{align-items:center;background:var(--panel, rgba(29, 24, 21, .97));border:1px solid var(--occult-edge, rgba(195, 162, 104, .4));border-radius:8px;box-shadow:var(--shadow-panel, 0 15px 36px rgba(0, 0, 0, .4));display:flex;flex-direction:column;gap:12px;padding:28px 20px 16px;text-align:center}.roomless-profile .roomless-profile-avatar{flex:0 0 64px;height:64px;width:64px;font-size:26px}.roomless-profile-name{color:var(--text);font-size:18px;max-width:100%;overflow-wrap:anywhere}.roomless-profile button{cursor:pointer;font:inherit;min-height:44px}.roomless-profile-edit,.roomless-profile-signout{background:transparent;border:0;color:var(--muted);padding:8px 12px}.roomless-profile-hint{color:var(--muted);font-size:13px;margin:0 0 4px}.roomless-profile-actions{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);width:100%}.roomless-profile-actions button{background:var(--accent-soft);border:1px solid var(--occult-edge);border-radius:4px;color:var(--text);padding:10px 8px}.roomless-profile-actions button:hover{border-color:var(--occult-gold)}.roomless-profile-actions .roomless-profile-secondary{background:transparent;color:var(--muted);font-size:12px;padding:6px 12px}.roomless-profile button:focus-visible{outline:2px solid var(--occult-gold);outline-offset:2px}.roomless-profile .roomless-profile-signout{font-size:12px}.immersive-auth-card{padding:30px 22px}.immersive-auth-card .login-title{font-size:22px}.immersive-brand{display:none}.immersive-controls:has(.immersive-profile--roomless) .immersive-brand{display:flex;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));transform:scale(.75);transform-origin:left bottom}.canvas-toolbar{align-content:flex-start;align-items:stretch;background:#191613f7;border:0;border-bottom:1px solid rgba(195,162,104,.34);border-radius:0 0 14px 14px;box-shadow:0 14px 35px #0000006b;display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:normal;left:0;max-width:none;padding:40px 12px 14px;pointer-events:none;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .24s ease;z-index:128000!important}.canvas-toolbar.is-mobile-open{pointer-events:auto;transform:translateY(0)}.canvas-toolbar button{background:#2b231ef0;border:1px solid rgba(195,162,104,.42);border-radius:6px;color:#e6d6b7;font-size:12px;padding:10px 6px}.canvas-toolbar button:hover,.canvas-toolbar button:active{background:#3a2f28f5;border-color:#f0cf8ab8}.mobile-toolbar-toggle{align-items:center;background:linear-gradient(180deg,#171311fa,#2b231efa);border:1px solid rgba(195,162,104,.5);border-top:0;border-radius:0 0 999px 999px;box-shadow:0 6px 16px #0000006b,inset 0 -1px #f0cf8a29;color:var(--archive-gold, #c3a268);cursor:pointer;display:inline-flex;height:26px;justify-content:center;left:auto;right:12px;padding:0;position:fixed;top:66px;transform:none;width:104px;z-index:128010}.mobile-toolbar-toggle:before,.mobile-toolbar-toggle:after{background:linear-gradient(90deg,#c3a26800,#c3a26880);content:"";height:1px;position:absolute;top:50%;width:14px}.mobile-toolbar-toggle:before{left:12px}.mobile-toolbar-toggle:after{right:12px;transform:rotate(180deg)}.mobile-toolbar-toggle:hover{border-color:#f0cf8ad9;color:#f0cf8a}.mobile-toolbar-toggle:active{background:linear-gradient(180deg,#211b18fc,#3a2f28fc)}.mobile-toolbar-toggle-label{display:block;font-size:12px;letter-spacing:1.5px;line-height:1}.mobile-toolbar-toggle.is-open{border-color:#f0cf8ad9;color:#f0cf8a}.immersive-status{display:grid;gap:6px 12px;grid-template-columns:auto auto;box-sizing:border-box;max-width:calc(100vw - 86px);gap:6px;padding:8px 10px;width:max-content}.immersive-status>span{grid-column:1 / -1}.player-status-strip{top:84px}.bg-controls{gap:6px!important;padding:6px 3px!important;top:44px!important}.bg-controls .bg-scale-slider{height:96px!important;width:16px!important}.bg-controls .bg-move-btn{height:24px!important;width:24px!important}.story-layer{inset:76px 0 202px;z-index:4}.story-sprite{bottom:var(--story-dialog-offset, 104px);height:56%;max-width:44%;object-position:center bottom}.story-sprite--left{left:2%}.story-sprite--right{right:2%}.story-reopen-btn{bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) - 12px);height:28px;left:calc(50% + 58px);position:fixed;right:auto;top:auto;width:28px;z-index:130030!important}.immersive-controls{z-index:25}.combat-topbar{gap:8px;height:34px;padding:0 10px}.combat-title{font-size:13px;letter-spacing:1px}.combat-top-btn{font-size:11px;padding:4px 9px}.combat-kp-tools{gap:6px;padding:6px 10px}.combat-kp-tools button{font-size:11px;padding:4px 8px}.combat-action-bar{-webkit-overflow-scrolling:touch;gap:8px;justify-content:safe center;padding:8px 12px 7px}.combat-action-item{gap:3px;padding:4px 2px 6px;width:50px}.combat-action-item .combat-ring--sm{height:32px;width:32px}.combat-action-item .combat-hp-bar--sm{height:10px;width:38px}.combat-action-name{font-size:10px}.combat-stage{inset:130px 2% 375px}.combat-stage:before{bottom:0;top:0}.combat-side{gap:8px 10px}.combat-unit{gap:4px}.combat-unit-name{font-size:11px;max-width:72px}.combat-ring{border-width:2px;height:62px;width:62px}.combat-ring-name{font-size:11px;max-width:56px}.combat-hp-bar{height:13px;width:62px}.combat-hp-bar span{font-size:10px}.combat-resource-bars{width:62px}.combat-resource-bar{height:11px;width:62px}.combat-resource-bar span{font-size:9px}.combat-side--bottom{bottom:284px}.combat-side--bottom:before{top:-3px}.combat-side--bottom .combat-unit{gap:3px}.combat-side--bottom .combat-unit-name{font-size:10px;max-width:56px}.combat-side--bottom .combat-ring{height:44px;width:44px}.combat-side--bottom .combat-ring-name{font-size:10px;max-width:40px}.combat-side--bottom .combat-hp-bar{height:11px;width:44px}.combat-side--bottom .combat-hp-bar span{font-size:9px}.combat-side--bottom .combat-resource-bars{width:44px}.combat-side--bottom .combat-resource-bar{height:10px;width:44px}.combat-side--bottom .combat-resource-bar span{font-size:8px}.combat-ops{bottom:92px;left:0;padding:9px 0 8px;right:0}.combat-ops-actions{gap:6px;padding:0 8px}.combat-ops-title{flex-basis:100%;margin:0 0 2px;text-align:center}.combat-ops-btn{font-size:11px;padding:5px 10px}.combat-buff-position{justify-content:center;max-width:min(62px,calc(100vw - 20px));width:62px}.combat-dialog-row .combat-dialog-bar{border-radius:0;flex:1 1 100%;width:100%}.combat-story-reopen{display:none}.combat-reopen-btn.is-flashing{animation:mobileChatArrowFlash .5s ease-in-out 6}.combat-reopen-btn{bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) - 12px);height:28px;left:auto;position:fixed;right:calc(50% + 58px);top:auto;width:28px;z-index:130030!important}.mobile-chat-backdrop{background:#06050594;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .24s ease;z-index:129999}.mobile-chat-backdrop.is-visible{opacity:1;pointer-events:auto}.chat-panel{border-left:0;border-radius:14px 14px 0 0;border-top:1px solid rgba(195,162,104,.34);bottom:var(--chat-bar-bottom, 0px);box-shadow:0 -14px 35px #0000006b;box-sizing:border-box;height:min(72dvh,560px);max-height:calc(100dvh - var(--chat-bar-bottom, 0px) - env(safe-area-inset-top,0px));left:0;max-width:none;min-height:0;padding:50px 0 calc(var(--mobile-chat-bar-h, 54px) + env(safe-area-inset-bottom,0px) + 10px);position:fixed;right:0;top:auto;transform:translateY(100%);transition:transform .24s ease;width:100%;z-index:130000}.chat-panel.is-open{transform:translateY(0)}.chat-panel>.chat-form{display:none}.chat-panel>.panel-heading{top:10px}.chat-panel>.chat-room{display:none}.mobile-chat-bar{background:#191613f7;border-top:1px solid rgba(195,162,104,.34);bottom:var(--chat-bar-bottom, 0px);box-shadow:0 -6px 18px #00000059;box-sizing:border-box;display:flex;gap:8px;left:0;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));position:fixed;right:0;z-index:130010}.mobile-chat-form{align-items:center;display:flex;flex:1;gap:8px;min-width:0}.mobile-menu-btn{align-items:center;background:#2b231ef5;border:1px solid rgba(195,162,104,.45);border-radius:50%;color:var(--archive-gold, #c3a268);cursor:pointer;display:inline-flex;flex:0 0 34px;font-size:15px;height:34px;justify-content:center;line-height:1;padding:0;width:34px}.mobile-menu-btn:active,.mobile-menu-btn[aria-expanded=true]{background:#3a2f28fc;border-color:#f0cf8ad9;color:#f0cf8a}.immersive-menu-tab{display:none}.mobile-chat-form input{background:#0a0908b8;border:1px solid rgba(195,162,104,.3);border-radius:18px;color:#e6d6b7;flex:1;font-size:14px;min-width:0;outline:0;padding:9px 12px}.mobile-chat-form input:focus{border-color:#c3a268b8}.mobile-chat-form input::placeholder{color:#b4a1847a}.mobile-chat-form .send-button{flex:0 0 37px}.mobile-chat-toggle{align-items:center;background:linear-gradient(180deg,#2b231efa,#171311fa);border:1px solid rgba(195,162,104,.5);border-radius:999px;bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) - 14px);box-shadow:0 6px 16px #0000006b,inset 0 1px #f0cf8a29;color:var(--archive-gold, #c3a268);cursor:pointer;display:inline-flex;height:30px;justify-content:center;left:50%;padding:0;position:fixed;transform:translate(-50%);width:104px;z-index:130020}.mobile-chat-toggle:before,.mobile-chat-toggle:after{background:linear-gradient(90deg,#c3a26800,#c3a26880);content:"";height:1px;position:absolute;top:50%;width:22px}.mobile-chat-toggle:before{left:14px}.mobile-chat-toggle:after{right:14px;transform:rotate(180deg)}.mobile-chat-toggle:hover{border-color:#f0cf8ad9;color:#f0cf8a}.mobile-chat-toggle:active{background:linear-gradient(180deg,#3a2f28fc,#211b18fc)}.mobile-chat-toggle-icon{align-items:center;display:inline-flex;justify-content:center;transition:transform .2s ease}.mobile-chat-toggle-icon svg{display:block;height:19px;width:19px}.mobile-chat-toggle.is-open .mobile-chat-toggle-icon{transform:rotate(180deg)}.mobile-chat-toggle.is-unread-flash{animation:mobileChatArrowFlash .5s ease-in-out 4}.game-dialog-bar{bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) + 24px)}.game-dialog-bar{padding:5px 6px}.dialog-input-row{gap:5px}.dialog-input-shell .game-dialog-input{min-height:38px;padding:6px 8px}.dialog-send-stack{flex-basis:46px;gap:4px}.dialog-send-stack button{white-space:nowrap}.dialog-action-trigger{padding:4px 5px}.game-dialog-send{padding:7px 4px}.dialog-action-popover{left:0;right:0;width:auto}.dialog-action-popover label{flex:1 1 auto;min-width:0}.dialog-action-popover input{min-width:0}html[data-theme] .dialog-sent-overlay{background:#191613f7;bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) + 104px);max-height:40vh;opacity:1}.dialog-sent-toggle{align-items:center;background:#2b231ef5;border:1px solid rgba(195,162,104,.42);border-radius:999px;color:var(--archive-gold, #c3a268);cursor:pointer;display:flex;font-size:12px;gap:6px;justify-content:center;margin-bottom:6px;padding:5px 14px;position:sticky;top:0;width:100%;z-index:1}.dialog-sent-toggle svg{height:14px;transition:transform .2s ease;width:14px}.dialog-sent-overlay.is-collapsed{max-height:none;padding:4px 6px}.dialog-sent-overlay.is-collapsed .dialog-sent-toggle svg{transform:rotate(180deg)}.dialog-sent-overlay.is-collapsed .dialog-sent-item{display:none}@keyframes mobileChatArrowFlash{0%,to{background:linear-gradient(180deg,#2b231efa,#171311fa);border-color:#c3a26880;box-shadow:0 6px 16px #0000006b,inset 0 1px #f0cf8a29;color:var(--archive-gold, #c3a268)}50%{background:#9d4546;border-color:#f0cf8a;box-shadow:0 0 0 6px #f0cf8a40,0 0 22px #f0cf8aa6;color:#fff0c8}}.player-list-backdrop{padding:10px}.player-list-panel{max-height:calc(100dvh - 28px);padding:16px 14px;width:calc(100vw - 16px)}.player-list-head{gap:10px;margin-bottom:10px}.player-list-head-actions{flex-wrap:wrap;gap:8px;justify-content:flex-end}.player-list-grid{gap:10px;grid-template-columns:minmax(0,1fr)}.player-slot{align-items:center;column-gap:12px;display:grid;grid-template-areas:"portrait badge" "portrait identity" "portrait job" "portrait stats" "portrait actions" "portrait approve";grid-template-columns:72px minmax(0,1fr);padding:10px;row-gap:4px}.player-slot-portrait{font-size:20px;grid-area:portrait;height:72px;width:72px}.player-slot-badge{grid-area:badge;justify-self:start}.player-slot-identity{grid-area:identity;justify-content:flex-start}.player-slot>small{grid-area:job;text-align:left}.player-slot-stats{grid-area:stats;justify-self:start}.player-slot-actions{grid-area:actions;justify-content:flex-start;width:auto}.player-slot-approve{grid-area:approve;justify-self:start}.player-slot-cover{font-size:11px}.player-slot.is-empty{align-items:center;display:flex;flex-direction:row;gap:10px;height:auto;justify-content:center;min-height:72px}.player-slot-plus{font-size:24px;height:auto}.player-list-foot{text-align:left}.buff-manager-characters>.buff-manager-tabs{grid-column:1 / -1}.check-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.check-picker-grid button span{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.item-grant-backdrop,.item-grant-weapon-backdrop,.check-panel-backdrop,.join-picker-backdrop,.combat-setup-backdrop,.clue-publish-backdrop,.buff-manager-backdrop,.buff-impact-picker-backdrop,.npc-modal-backdrop,.npc-picker-backdrop,.script-intro-backdrop,.bg-gallery-backdrop,.map-control-backdrop,.spell-modal-backdrop{padding:0;z-index:130100!important}.item-grant-backdrop>*,.item-grant-weapon-backdrop>*,.check-panel-backdrop>*,.join-picker-backdrop>*,.combat-setup-backdrop>*,.clue-publish-backdrop>*,.buff-manager-backdrop>*,.buff-impact-picker-backdrop>*,.npc-modal-backdrop>*,.npc-picker-backdrop>*,.script-intro-backdrop>*,.bg-gallery-backdrop>*,.map-control-backdrop>*,.spell-modal-backdrop>*{border:0;border-radius:0;box-sizing:border-box;height:100dvh;max-height:100dvh;max-width:none;overflow-y:auto;overscroll-behavior:contain;width:100vw}.item-grant-backdrop .auth-close,.item-grant-weapon-backdrop .auth-close,.check-panel-backdrop .auth-close,.join-picker-backdrop .auth-close,.combat-setup-backdrop .auth-close,.clue-publish-backdrop .auth-close,.buff-manager-backdrop .auth-close,.buff-impact-picker-backdrop .auth-close,.npc-modal-backdrop .auth-close,.npc-picker-backdrop .auth-close,.script-intro-backdrop .auth-close,.bg-gallery-backdrop .auth-close,.map-control-backdrop .auth-close,.spell-modal-backdrop .auth-close{position:fixed!important;right:12px;top:12px;z-index:130110}.character-cards-backdrop{padding:0;z-index:130100!important}.character-cards-dialog{border:0;border-radius:0;box-sizing:border-box;display:flex;flex-direction:column;height:100dvh;max-height:100dvh;max-width:none;overflow:hidden;padding:14px 12px 0;width:100vw}.character-cards-dialog--empty{height:100dvh;max-height:100dvh}.character-cards-dialog-header{flex:0 0 auto;min-height:54px;padding-right:40px}.character-cards-dialog-header .auth-close{position:absolute;right:12px;top:12px;z-index:6}.character-cards-dialog-body{padding-bottom:70px}.character-card-form-save-top,.character-card-form>button.auth-submit[type=submit]{bottom:calc(14px + env(safe-area-inset-bottom,0px));min-width:96px;position:fixed;right:14px;width:auto;z-index:130110}html.is-keyboard-open .app-shell,html.is-keyboard-open .workspace,html.is-keyboard-open .main-content{height:var(--app-height)!important;min-height:var(--app-height)!important}html.is-keyboard-open{--chat-bar-bottom: var(--keyboard-inset, 0px)}}@media(max-width:720px){.auth-emblem{height:58px;width:58px;margin-bottom:12px}.immersive-auth-card{max-height:calc(100dvh - 32px)}.immersive-auth-card .login-kicker{font-size:8px;letter-spacing:.08em}.guest-login-icon{flex-basis:38px;height:38px;width:38px}}@media(max-width:720px){.immersive-profile:not(:has(.profile-trigger--guest)){right:8px}.profile-trigger:not(.profile-trigger--guest){gap:4px;padding-right:6px}.profile-trigger:not(.profile-trigger--guest)>span:not(.profile-avatar){display:none}.profile-avatar{flex:0 0 30px}.immersive-status button{white-space:nowrap;padding:5px 6px}}@media(max-width:720px){.icp-link.has-mobile-chat-bar{bottom:calc(var(--chat-bar-bottom, 0px) + var(--mobile-chat-bar-h, 54px) + 4px);z-index:130011}}
