:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#171b1f;color:#f2f5f7;--surface: rgba(14, 20, 25, .9);--surface-strong: rgba(8, 13, 18, .94);--line: rgba(205, 217, 226, .16);--line-strong: rgba(205, 217, 226, .24);--accent: #ef233c;--teal: #2f7d80;--paper: #fbfbf8;--paper-line: #d9e1e6;--bottom-control-lane: 176px;--floating-overlay-bottom: 178px;--z-map-ui: 40;--z-bottom-chip: 61;--z-status: 64;--z-map-popover: 66;--z-roll-feed: 68;--z-dice-tray: 69;--z-modal: 70;--z-critical-overlay: 95;--sheet-dock-width: 74px;--sheet-dock-gap: 14px;--right-panel-width: min(430px, calc(100vw - 104px) );--right-panel-overlay-offset: calc(var(--right-panel-width) + 42px)}.view-mode-control{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 8px;color:var(--muted);border:1px solid var(--line-strong);border-radius:9px;background:var(--surface)}.view-mode-control select{min-width:88px;color:inherit;border:0;background:transparent}.scene-object-controls{margin-top:18px}.scene-object-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scene-object-list{display:grid;gap:7px;margin-top:10px}.scene-object-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(205,217,226,.13);border-radius:9px;background:#070d1252}.scene-object-row.selected{border-color:#76e4f7b3;background:#76e4f717}.scene-object-kind{width:11px;height:11px;flex:0 0 auto;border:2px solid #d6e1e8;border-radius:2px}.scene-object-kind.door{border-color:#d6a45b;background:#d6a45b}.scene-object-kind.hazard{border-color:#ef5d69;background:#ef5d69;border-radius:50%}.scene-object-kind.secret{border-color:#c788ff;background:#c788ff;border-radius:50%}.scene-object-kind.wall{width:16px;height:4px;border:0;background:#d6e1e8;border-radius:1px}.scene-object{position:absolute;z-index:18;pointer-events:none;box-sizing:border-box;color:var(--object-color);opacity:var(--object-opacity)}.scene-object.blocking{background:var(--object-color);box-shadow:0 0 0 1px #05090cb8}.scene-object-door{border-radius:3px}.scene-object-door-open{opacity:.24;background:repeating-linear-gradient(135deg,var(--object-color),var(--object-color) 5px,transparent 5px,transparent 10px)}.scene-object-light{border-radius:50%;background:radial-gradient(circle,var(--object-color) 0%,color-mix(in srgb,var(--object-color) 38%,transparent) 52%,transparent 72%)}.scene-object-fog{background:var(--object-color)}.scene-object-hazard,.scene-object-region,.scene-object-effect{border:2px dashed var(--object-color);background:color-mix(in srgb,var(--object-color) 24%,transparent)}.scene-object-secret{border:2px dotted var(--object-color);background:color-mix(in srgb,var(--object-color) 15%,transparent)}.scene-object-light{animation:scene-light-flicker 3.2s ease-in-out infinite}.scene-object-hazard,.scene-object-region,.scene-object-effect{animation:scene-effect-pulse 1.9s ease-in-out infinite}.scene-object.dm-only{filter:saturate(.85)}.scene-object.dm-only small{position:absolute;left:0;top:-17px;padding:2px 5px;white-space:nowrap;color:#fff;font:700 10px/1 system-ui,sans-serif;background:#070c10db;border-radius:4px}.scene-object.interactive{padding:0;cursor:pointer;pointer-events:auto}.scene-object.interactive:focus-visible{outline:2px solid #76e4f7;outline-offset:3px}.vision-fog-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:hidden}.vision-fog-cell{position:absolute;display:block;background:#020508f7;box-shadow:inset 0 0 12px #000000e6}.vision-settings-panel{display:grid;gap:10px;padding:11px;border:1px solid rgba(118,228,247,.22);border-radius:10px;background:#09151d85}.vision-settings-panel label:not(.check-row){display:grid;gap:5px;font-size:12px}.token-vision-card{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid rgba(118,228,247,.2);border-radius:10px;background:#07111880}.mobile-move-confirm{position:absolute;z-index:60;left:50%;bottom:88px;display:grid;gap:4px;width:min(360px,calc(100% - 24px));padding:12px;border:1px solid rgba(118,228,247,.72);border-radius:12px;color:#eefbff;background:#060e14f5;box-shadow:0 18px 42px #0000007a;transform:translate(-50%)}.mobile-move-confirm>span{color:#9fb1bc;font-size:12px}.mobile-move-confirm>div{display:grid;grid-template-columns:1fr 1.25fr;gap:8px;margin-top:4px}.table-cues{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:2px 0 10px}.table-cues>span{margin-right:auto;color:#b9c9d2;font-size:12px;font-weight:700}@keyframes scene-light-flicker{0%,to{filter:brightness(.9);transform:scale(.98)}44%{filter:brightness(1.16);transform:scale(1.01)}47%{filter:brightness(.82);transform:scale(.97)}52%{filter:brightness(1.24);transform:scale(1.025)}}@keyframes scene-effect-pulse{0%,to{opacity:var(--object-opacity);transform:scale(.98)}50%{opacity:min(1,calc(var(--object-opacity) + .18));transform:scale(1.02)}}@media(prefers-reduced-motion:reduce){.scene-object-light,.scene-object-hazard,.scene-object-region,.scene-object-effect{animation:none}.spell-vfx-layer *{animation:none!important}.spell-vfx-projectile-trail,.spell-vfx-projectile-spark,.spell-vfx-aura-spark,.spell-vfx-ward-spark,.spell-vfx-summon-star,.spell-vfx-summon-column,.spell-vfx-burst-ring.ring-two,.spell-vfx-aura-ring.ring-two,.spell-vfx-teleport-ring.ring-two{display:none}.spell-vfx-impact{opacity:.66;transform:translate(-50%,-50%) scale(.76)}}.mobile-navigation{display:none}.mobile-navigation.overlay-open{visibility:hidden;pointer-events:none}.mobile-dm-command{display:grid;gap:10px}.mobile-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(max-width:820px){.view-mode-control{min-height:32px;padding-inline:5px}.view-mode-control select{min-width:0;max-width:84px;font-size:11px}.mobile-mode .left-dock{display:none}.mobile-mode .map-scroll{padding:82px 10px 106px}.mobile-mode .character-shelf{left:10px;top:70px}.mobile-mode .sidebar,.mobile-mode .right-rail{top:124px;bottom:76px;max-height:none}.mobile-mode .mobile-navigation{position:fixed;z-index:80;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:6px;border:1px solid var(--line-strong);border-radius:14px;background:#0c141bf5;box-shadow:0 12px 32px #00000070}.mobile-mode.dm-view .mobile-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-navigation button{display:grid;place-items:center;gap:2px;min-height:48px;padding:4px;color:var(--muted);border:0;border-radius:10px;background:transparent}.mobile-navigation button.active{color:#07141b;background:#76e4f7}.mobile-navigation button span{font-size:10px;font-weight:700}.mobile-mode .header-actions>a.button{display:none}.mobile-mode .header-actions .button:not(.primary){font-size:0;min-width:36px;padding-inline:8px}.mobile-mode .scene-object-preset-grid{grid-template-columns:1fr}.mobile-mode .scene-object-row{align-items:flex-start;flex-wrap:wrap}.mobile-mode .scene-object-row .layer-row-actions{width:100%}}.planner-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-critical-overlay);padding:12px;background:#04070aeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);touch-action:auto}.planner-backdrop:focus{outline:none}.planner-workspace{position:relative;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid rgba(194,211,222,.2);border-radius:14px;background:radial-gradient(circle at 18% 0%,rgba(47,125,128,.14),transparent 32%),#11171c;box-shadow:0 28px 90px #000000a8;color:#f2f5f7}.planner-develop-session{margin:-2px 0 12px;justify-content:space-between;border-color:#55c1c36b;background:linear-gradient(135deg,#2f7d8033,#2f7d800f);color:#c8f2f2}.brief-workshop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;min-width:0;min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;color:#eef5f6;background:radial-gradient(circle at 16% -10%,rgba(47,125,128,.24),transparent 34%),#0c1318}.brief-workshop-loading{display:grid;place-items:center;align-content:center;gap:12px}.brief-workshop-loading svg{width:34px;height:34px;color:#63c7c9}.brief-workshop-loading h2{margin:0;font-family:Georgia,Times New Roman,serif}.brief-workshop-header{min-height:72px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(194,211,222,.14);background:#080e12e0}.brief-workshop-header>div:first-child>span,.brief-step-kicker{display:flex;align-items:center;gap:7px;color:#72cfd0;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.brief-workshop-header h2{margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:24px}.brief-workshop-header-actions{display:flex;align-items:center;gap:8px}.brief-workshop-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;padding:0 18px;border-bottom:1px solid rgba(194,211,222,.12);background:#050a0e94}.brief-workshop-steps button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-bottom:2px solid transparent;background:transparent;color:#7e909a;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.brief-workshop-steps button span{width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(194,211,222,.18);border-radius:999px;font-size:10px}.brief-workshop-steps button.active{color:#ddfbfb;border-bottom-color:#55c1c3}.brief-workshop-steps button.active span{color:#061013;border-color:#55c1c3;background:#55c1c3}.brief-workshop-steps button.complete{color:#9ac7c8}.brief-workshop-error,.brief-workshop-notice{margin:10px 18px 0;padding:9px 12px;display:flex;align-items:center;gap:9px;border:1px solid rgba(239,35,60,.35);border-radius:8px;background:#5e0f1b40;color:#ffd8dc;font-size:12px}.brief-workshop-notice{border-color:#55c1c34d;background:#2f7d802e;color:#cef2f2}.brief-workshop-error button,.brief-workshop-notice button{margin-left:auto;border:0;background:none;color:inherit;cursor:pointer}.brief-workshop-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,370px);overflow:hidden}.brief-workshop-main,.brief-workshop-aside{min-height:0;overflow:auto}.brief-workshop-main{padding:28px clamp(20px,4vw,58px) 50px}.brief-workshop-aside{padding:18px;border-left:1px solid rgba(194,211,222,.12);background:#060b0f9e}.brief-step{width:min(980px,100%);margin:0 auto}.brief-step>h3{margin:7px 0 8px;font:700 clamp(28px,3vw,42px)/1.08 Georgia,"Times New Roman",serif}.brief-step>p:not(.brief-step-kicker){margin:0 0 22px;color:#9dafb8;font-size:13px;line-height:1.55}.brief-wide-field,.brief-simple-field,.brief-partner>label{display:grid;gap:7px;color:#becbd1;font-size:11px;font-weight:800}.brief-wide-field{margin:20px 0}.brief-wide-field textarea{min-height:116px}.brief-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.brief-simple-field.wide{grid-column:1 / -1}.brief-simple-field>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.brief-simple-field>span small{color:#667b85;font-size:9px;font-weight:700}.brief-simple-field>span button{padding:3px;display:grid;border:0;background:transparent;color:#6e8b91;cursor:pointer}.brief-simple-field>span button:hover{color:#69cbcd}.brief-workshop :is(input,textarea,select){width:100%;border:1px solid rgba(194,211,222,.16);border-radius:8px;background:#040a0eb8;color:#eef5f6;font:inherit}.brief-workshop :is(input,select){min-height:39px;padding:8px 10px}.brief-workshop textarea{min-height:86px;padding:10px;resize:vertical;line-height:1.5}.brief-workshop :is(input,textarea):focus{outline:2px solid rgba(85,193,195,.35);border-color:#55c1c3}.brief-workshop :is(input,textarea):disabled{opacity:.62;cursor:not-allowed}.brief-party-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:20px 0}.brief-party-roster article{padding:11px;display:grid;gap:4px;border:1px solid rgba(85,193,195,.22);border-radius:8px;background:#2f7d8017}.brief-party-roster article span{color:#8fa4ae;font-size:10px}.brief-structure-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0}.brief-structure-choices button{padding:12px;border:1px solid rgba(85,193,195,.2);border-radius:8px;background:#2f7d8014;color:#c9e8e8;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.brief-structure-choices button:hover{border-color:#55c1c3;background:#2f7d802e}.brief-inspiration{margin-top:18px;border:1px solid rgba(85,193,195,.3);border-radius:10px;background:linear-gradient(135deg,#2f7d8026,#080e12d9);overflow:hidden}.brief-inspiration>div{padding:14px;display:flex;align-items:center;gap:10px}.brief-inspiration>div>span{display:grid;gap:3px}.brief-inspiration>div>span small{color:#8fa4ae;font-size:10px}.brief-inspiration>div>button{margin-left:auto}.brief-inspiration section{padding:14px;border-top:1px solid rgba(194,211,222,.11)}.brief-inspiration section p{margin:0;color:#97abb4;font-size:11px}.brief-inspiration blockquote{margin:10px 0;padding-left:12px;border-left:2px solid #55c1c3;color:#e4f6f6}.brief-inspiration section div{display:flex;align-items:center;gap:7px}.brief-inspiration section div span{margin-right:auto;color:#728791;font-size:9px}.brief-aside-title{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:#6bced0}.brief-aside-title>div{display:grid;gap:2px}.brief-aside-title strong{color:#edf7f7;font-size:13px}.brief-aside-title span{color:#768b95;font-size:9px}.brief-partner>label{margin-bottom:9px}.brief-aside-empty{color:#7f939d;font-size:11px;line-height:1.55}.brief-assessment{margin-top:14px}.brief-assessment h4{margin:12px 0 5px;color:#a8cfd0;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.brief-assessment p{margin:5px 0;padding-left:9px;border-left:1px solid rgba(85,193,195,.26);color:#9eb0b9;font-size:10px;line-height:1.45}.brief-question,.brief-suggestion{margin-top:12px;padding:11px;border:1px solid rgba(194,211,222,.13);border-radius:8px;background:#0d151bb8}.brief-question{display:grid;gap:7px}.brief-question small,.brief-suggestion small{color:#7f939d;font-size:9px;line-height:1.45}.brief-question textarea{min-height:65px}.brief-suggestion>strong{display:block;margin-bottom:7px;font-size:11px}.brief-suggestion>div{padding:8px 0;display:flex;align-items:center;gap:8px;border-top:1px solid rgba(194,211,222,.08)}.brief-suggestion>div span{display:grid;gap:2px;margin-right:auto}.brief-suggestion>div b{font-size:10px}.campaign-memory-search{display:flex;gap:6px;margin-bottom:8px}.campaign-recap-form{margin:9px 0;padding:10px;display:grid;gap:7px;border:1px solid rgba(85,193,195,.22);border-radius:8px;background:#2f7d8014}.campaign-memory-list{display:grid;gap:9px;margin-top:11px}.campaign-memory-card{padding:11px;border:1px solid rgba(194,211,222,.13);border-radius:9px;background:#0c1419e0}.campaign-memory-card.included{border-color:#55c1c36b}.campaign-memory-card.pinned{border-color:#e2b54b73;box-shadow:inset 3px 0 #d2a94e}.campaign-memory-card>div:first-child{display:flex;justify-content:space-between;color:#6ec9ca;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.campaign-memory-card>strong{display:block;margin:6px 0;font:700 14px/1.2 Georgia,Times New Roman,serif}.campaign-memory-card p{margin:0 0 6px;color:#a6b6bd;font-size:10px;line-height:1.45}.campaign-memory-card>small{display:block;color:#68808a;font-size:8px}.campaign-memory-card>em{display:block;margin-top:5px;color:#9acfd0;font-size:9px;font-style:normal}.campaign-memory-card footer{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.campaign-memory-card footer :is(button,a){padding:5px 7px;display:flex;align-items:center;gap:4px;border:1px solid rgba(194,211,222,.14);border-radius:5px;background:#ffffff05;color:#93a8b1;font:inherit;font-size:9px;text-decoration:none;cursor:pointer}.campaign-memory-card footer :is(button,a).active{border-color:#55c1c3;color:#d7f5f5;background:#2f7d802e}.brief-readiness{padding:13px;display:grid;gap:3px;border:1px solid rgba(239,35,60,.28);border-radius:9px;background:#5e0f1b2e}.brief-readiness.ready{border-color:#55c1c359;background:#2f7d801f}.brief-readiness span{color:#9aadb6;font-size:10px}.brief-review-list{margin:12px 0;padding:12px;border-left:3px solid #df9c45;background:#df9c4512}.brief-review-list.optional{border-left-color:#59727e}.brief-review-list h4{margin:0 0 6px}.brief-review-list p{margin:4px 0;color:#98aab3;font-size:10px}.brief-generation-instructions{margin:16px 0;border:1px solid rgba(194,211,222,.14);border-radius:9px;overflow:hidden}.brief-generation-instructions summary{padding:12px;cursor:pointer;font-size:11px;font-weight:900}.brief-generation-instructions p{margin:0;padding:0 12px 8px;color:#738892;font-size:9px}.brief-generation-instructions textarea{min-height:300px;border:0;border-top:1px solid rgba(194,211,222,.1);border-radius:0;font-family:Cascadia Code,Consolas,monospace;font-size:10px}.brief-workshop-footer{min-height:58px;padding:9px 18px;display:flex;align-items:center;gap:8px;border-top:1px solid rgba(194,211,222,.13);background:#060b0ff0}.brief-workshop-footer>div{margin-left:auto;color:#758a94;font-size:9px}@media(max-width:1050px){.brief-workshop-body{grid-template-columns:1fr;overflow:auto}.brief-workshop-main,.brief-workshop-aside{overflow:visible}.brief-workshop-aside{border-top:1px solid rgba(194,211,222,.12);border-left:0}.brief-workshop-footer>div{display:none}}@media(max-width:720px){.brief-workshop-header h2{font-size:18px}.brief-workshop-header-actions .button{font-size:0}.brief-workshop-steps{padding:0 6px}.brief-workshop-steps button{font-size:0}.brief-workshop-steps button span{font-size:10px}.brief-field-grid,.brief-structure-choices{grid-template-columns:1fr}.brief-workshop-footer{flex-wrap:wrap}.brief-workshop-footer .button{flex:1}}@media print{.brief-workshop{display:none!important}}.planner-confirmation-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;padding:24px;display:grid;place-items:center;background:#030609c2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.planner-confirmation-card{width:min(520px,100%);display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:20px;border:1px solid rgba(231,188,91,.38);border-radius:13px;background:linear-gradient(145deg,#191f24fc,#0a0f13fc);box-shadow:0 28px 90px #000000b8}.planner-confirmation-card.danger{border-color:#ef233c70}.planner-confirmation-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e7bc5b1f;color:#f0c66f}.planner-confirmation-card.danger .planner-confirmation-icon{background:#ef233c1f;color:#ff7b8c}.planner-confirmation-card h2,.planner-confirmation-card p{margin:0}.planner-confirmation-card h2{color:#f7fafb;font-size:18px}.planner-confirmation-card p{margin-top:7px;color:#aebcc5;font-size:12px;line-height:1.55}.planner-confirmation-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:3px}@media(max-width:480px){.planner-confirmation-layer{padding:12px}.planner-confirmation-card{grid-template-columns:1fr;padding:16px}.planner-confirmation-actions{grid-column:1;display:grid}}.planner-header{min-width:0;min-height:74px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(205,217,226,.14);background:#080d11b8}.planner-brand,.planner-header-actions,.planner-brand-icon,.planner-guide-kicker,.planner-section-heading>span,.planner-subheading,.planner-privacy-note,.planner-source-card>span,.planner-guide-meta>div,.planner-section-actions,.planner-guide-section footer,.planner-guide-footer{display:flex;align-items:center}.planner-brand{min-width:0;gap:11px}.planner-brand-icon{width:46px;height:46px;justify-content:center;border-radius:11px;color:#e7ffff;background:linear-gradient(145deg,#2f7d80,#1d5057);box-shadow:0 8px 24px #2f7d8047}.planner-brand p,.planner-brand h1,.planner-panel-heading h2,.planner-panel-heading span,.planner-guide-hero h1,.planner-guide-hero p,.planner-guide-section h2,.planner-section-heading,.planner-party-analysis p,.planner-source-card p,.planner-source-card strong,.planner-source-card small,.planner-empty-guide h2,.planner-empty-guide p{margin:0}.planner-brand p,.planner-panel-heading span,.planner-guide-kicker,.planner-kind,.planner-source-card>span{color:#75c8c9;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.planner-brand h1{max-width:46vw;overflow:hidden;font-size:20px;text-overflow:ellipsis;white-space:nowrap}.planner-header-actions{min-width:0;justify-content:flex-end;gap:9px}.planner-plan-picker{display:grid;gap:3px;min-width:min(280px,28vw)}.planner-plan-picker>span{color:#8999a5;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.planner-plan-picker select,.planner-field input,.planner-field select,.planner-field textarea,.planner-section-editor input,.planner-section-editor textarea{width:100%;min-width:0;border:1px solid rgba(205,217,226,.16);border-radius:7px;outline:none;background:#04090d8f;color:#f2f5f7}.planner-plan-picker select{padding:8px 10px}.planner-close{color:#dce5eb;background:#ffffff0a}.planner-error{min-height:38px;display:flex;align-items:center;gap:8px;padding:7px 16px;color:#ffd6d2;background:#8e343061;border-bottom:1px solid rgba(255,125,114,.22);font-size:13px}.planner-error span{flex:1}.planner-error button{border:0;background:transparent;color:inherit}.planner-error .planner-error-retry{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid rgba(255,214,210,.3);border-radius:6px;background:#ffffff12;font-size:11px;font-weight:900;white-space:nowrap}.planner-error .planner-error-retry:hover{background:#ffffff21}.planner-error .planner-error-dismiss{min-width:28px;min-height:28px;display:grid;place-items:center}.planner-notice{min-height:38px;display:flex;align-items:center;gap:8px;padding:7px 16px;color:#d7ffed;background:#25735b57;border-bottom:1px solid rgba(99,214,170,.22);font-size:13px}.planner-notice span{flex:1}.planner-notice button{border:0;background:transparent;color:inherit}.planner-layout{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);overflow:hidden}.planner-workspace.run-mode .planner-layout{grid-template-columns:minmax(0,1fr)}.planner-workspace.run-mode .planner-brief-panel{display:none}.planner-header-actions .button.active{color:#dffdf2;border-color:#53c99f75;background:#25846233}.planner-brief-panel,.planner-guide-panel{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(133,156,170,.4) transparent;touch-action:pan-y}.planner-brief-panel{padding:18px;border-right:1px solid rgba(205,217,226,.14);background:#070c10a8}.planner-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}.planner-panel-heading h2{margin-top:2px;font-size:21px}.planner-field{display:grid;gap:5px;min-width:0;color:#c4d0d8;font-size:11px;font-weight:800}.planner-field input,.planner-field select,.planner-field textarea{padding:9px 10px;font:inherit;font-size:12px;font-weight:600}.planner-field textarea{min-height:58px;resize:vertical}.planner-field :is(input,select,textarea):focus,.planner-section-editor :is(input,textarea):focus{border-color:#52bebeb8;box-shadow:0 0 0 2px #2f7d8033}.planner-idea-field textarea{min-height:144px;line-height:1.5}.planner-field small{color:#71818c;font-size:10px;font-weight:600}.planner-field-grid{margin-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-span-two{grid-column:1 / -1}.planner-characters,.planner-balance,.planner-details{margin-top:18px}.planner-subheading{gap:7px;margin-bottom:9px;color:#d9e3e9;font-size:12px;font-weight:900;letter-spacing:.02em}.planner-party-mode{margin-bottom:9px;padding:3px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;border:1px solid rgba(205,217,226,.12);border-radius:9px;background:#03080b6b}.planner-party-mode button{min-width:0;padding:8px 7px;display:grid;gap:2px;border:1px solid transparent;border-radius:6px;color:#8798a2;background:transparent;font-size:10px;font-weight:850;text-align:left}.planner-party-mode button small{color:#61737e;font-size:8px;font-weight:650}.planner-party-mode button.active{border-color:#48a7a86b;color:#d9f2f0;background:#2f7d8026}.planner-party-mode button.active small{color:#83b8b7}.planner-party-mode-note,.planner-quick-party>p{margin:0 0 8px;color:#788b96;font-size:9px;line-height:1.45}.planner-quick-party{padding:10px;border:1px solid rgba(72,167,168,.2);border-radius:8px;background:#2f7d8012}.planner-quick-party>div{display:grid;grid-template-columns:.75fr .75fr 1.5fr;gap:7px}.planner-quick-party label{min-width:0;display:grid;gap:4px;color:#8fa1ab;font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.planner-quick-party :is(input,select){width:100%;min-width:0;padding:8px 7px;border:1px solid rgba(205,217,226,.15);border-radius:6px;color:#d7e3e7;background:#040a0eb8;font:inherit;font-size:10px}.planner-character{min-width:0;margin-bottom:6px;padding:8px;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(205,217,226,.12);border-radius:8px;color:#c6d1d8;background:#ffffff06;cursor:pointer}.planner-character.selected{border-color:#48a7a89e;background:#2f7d8024}.planner-character input{width:14px;height:14px;accent-color:#3f9c9c}.planner-character-avatar{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;color:#eaffff;background:#254b52;font-size:12px;font-weight:900}.planner-character>span:nth-of-type(2){min-width:0;display:grid}.planner-character strong,.planner-character small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-character strong{color:#f2f5f7;font-size:12px}.planner-character small{color:#80909c;font-size:9px}.planner-character em{color:#9eacb6;font-size:9px;font-style:normal;white-space:nowrap}.planner-empty-note{padding:10px;border:1px dashed rgba(205,217,226,.18);color:#8899a4;font-size:11px;line-height:1.5}.planner-roster-warning{margin-top:10px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;border:1px solid rgba(235,172,93,.34);border-radius:8px;color:#e9b879;background:#844e1b29}.planner-roster-warning>svg{margin-top:1px}.planner-roster-warning strong{display:block;color:#f3cf9f;font-size:11px}.planner-roster-warning p{margin:4px 0 8px;color:#c9ad88;font-size:9px;line-height:1.5}.planner-roster-warning label{display:flex;align-items:center;gap:6px;color:#e2bf92;cursor:pointer;font-size:9px;font-weight:800}.planner-roster-warning input{accent-color:#d49245}.planner-roster-warning .button{width:max-content;margin-top:8px;color:#f0cea3;border-color:#ebac5d57;background:#844e1b2e}.planner-quick-party-badge{padding:4px 7px;border:1px solid rgba(235,172,93,.22);border-radius:999px;color:#d8b27d;background:#844e1b17;font-size:8px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.planner-balance>label{margin-bottom:5px;display:grid;grid-template-columns:98px minmax(0,1fr);align-items:center;gap:8px;color:#9baab4;font-size:10px;font-weight:750}.planner-balance>label>span{display:flex;justify-content:space-between;gap:5px}.planner-balance b{color:#75c8c9}.planner-balance input{width:100%;accent-color:#3d9294}.planner-details{padding:0 11px 11px;border:1px solid rgba(205,217,226,.12);border-radius:8px;background:#ffffff05}.planner-details summary{padding:10px 0;color:#b7c4cc;cursor:pointer;font-size:11px;font-weight:850}.planner-details .planner-field+.planner-field{margin-top:9px}.planner-provider-status{margin-top:12px;padding:9px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(93,175,179,.2);border-radius:8px;background:#2f7d8012}.planner-provider-status.connected,.planner-provider-status.local{border-color:#55b99140;background:#2d846314}.planner-provider-status.failed,.planner-provider-status.misconfigured{border-color:#ef56694d;background:#911f3017}.planner-provider-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;color:#75c8c9;background:#3d98981f}.planner-provider-status.connected .planner-provider-icon,.planner-provider-status.local .planner-provider-icon{color:#72cfaa;background:#429d7a1f}.planner-provider-status.failed .planner-provider-icon,.planner-provider-status.misconfigured .planner-provider-icon{color:#ff8292;background:#ef56691a}.planner-provider-status>div{min-width:0}.planner-provider-status small,.planner-provider-status strong,.planner-provider-status p{display:block}.planner-provider-status small{color:#70828b;font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.planner-provider-status strong{margin-top:2px;overflow:hidden;color:#c5dcde;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.planner-provider-status p{margin:3px 0 0;color:#71838c;font-size:8px;line-height:1.35}.planner-provider-status>em{color:#76ba9e;font-size:7px;font-style:normal;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.planner-provider-status .button{padding-inline:7px;white-space:nowrap}.planner-generate{min-height:47px;margin-top:17px;background:linear-gradient(135deg,#2f7d80,#3d9898)!important;box-shadow:0 10px 26px #2f7d8030}.planner-generation-progress{margin-top:9px;padding:10px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;border:1px solid rgba(75,173,176,.2);border-radius:8px;background:linear-gradient(135deg,#2f7d8021,#1b38411f)}.planner-generation-progress>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#76d4d2;background:#3d989824}.planner-generation-progress strong,.planner-generation-progress small{display:block}.planner-generation-progress strong{color:#c7ecea;font-size:10px}.planner-generation-progress small{margin-top:3px;color:#758c95;font-size:8px;line-height:1.4}.planner-privacy-note{gap:6px;margin:9px 2px 0;color:#71818c;font-size:9px;line-height:1.4}.planner-local-draft{min-height:30px;margin:8px 0 0;padding:6px 8px;display:flex;align-items:center;gap:6px;border:1px solid rgba(117,200,201,.15);border-radius:7px;color:#88a8aa;background:#2f7d8012;font-size:8px;line-height:1.35}.planner-local-draft span{flex:1}.planner-local-draft button{padding:2px 4px;border:0;color:#a7d8d8;background:transparent;font-size:8px;font-weight:800}.planner-guide-panel{padding:28px clamp(20px,3.6vw,58px) 50px;background:linear-gradient(#11171cf0,#11171cfa),repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.018) 48px)}.planner-loading,.planner-empty-guide{min-height:100%;display:grid;place-content:center;justify-items:center;text-align:center}.planner-loading{color:#7ebfc0}.planner-loading h2{margin:10px 0;color:#dce5ea;font-size:17px}.planner-empty-guide{max-width:650px;margin:auto}.planner-empty-guide>span:first-child{width:76px;height:76px;display:grid;place-items:center;margin-bottom:20px;border:1px solid rgba(108,198,198,.28);border-radius:24px;color:#8bd0d0;background:#2f7d801f;transform:rotate(-4deg)}.planner-empty-guide>p:first-of-type{color:#75c8c9;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.planner-empty-guide h2{max-width:580px;margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(29px,4vw,48px);line-height:1.08}.planner-empty-guide h2+p{max-width:590px;margin-top:17px;color:#9ba8b1;font-size:14px;line-height:1.65}.planner-empty-guide>div{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.planner-empty-guide>div span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(205,217,226,.12);border-radius:999px;color:#aebbc4;font-size:11px}.planner-guide-hero{max-width:1080px;margin:0 auto 24px;padding:7px 0 25px;border-bottom:1px solid rgba(205,217,226,.16)}.planner-guide-navigator{position:sticky;top:0;z-index:6;max-width:1080px;margin:-9px auto 18px;padding:8px;display:grid;grid-template-columns:auto minmax(190px,1fr) auto auto;align-items:center;gap:7px;border:1px solid rgba(104,183,184,.24);border-radius:10px;background:#080e12ed;box-shadow:0 10px 28px #00000038;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.planner-guide-navigator-copy{min-width:155px;display:flex;align-items:center;gap:8px;color:#68b6b7}.planner-guide-navigator-copy span{min-width:0;display:grid}.planner-guide-navigator-copy strong{color:#dce6e9;font-size:10px;letter-spacing:.055em;text-transform:uppercase}.planner-guide-navigator-copy small{margin-top:1px;color:#72838d;font-size:8px}.planner-guide-navigator select{width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid rgba(205,217,226,.15);border-radius:7px;outline:none;color:#dce5e9;background:#03080bb3;font:inherit;font-size:10px}.planner-guide-navigator select:focus-visible{border-color:#75c8c9b3;box-shadow:0 0 0 2px #4fa4a629}.planner-guide-nav-shortcut{min-width:78px;height:36px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(205,217,226,.14);border-radius:7px;color:#b9c7cd;background:#ffffff09;font-size:9px;font-weight:800;cursor:pointer}.planner-guide-nav-shortcut:hover:not(:disabled){color:#e6fffa;border-color:#67c1a466;background:#348b6f1f}.planner-guide-nav-shortcut:focus-visible{outline:2px solid rgba(117,200,201,.7);outline-offset:2px}.planner-guide-nav-shortcut:disabled{opacity:.45;cursor:not-allowed}.planner-guide-nav-shortcut small{min-width:16px;padding:2px 4px;border-radius:999px;color:#8ed3ba;background:#36937124;font-size:7px;text-align:center}.planner-readiness{max-width:1080px;margin:-7px auto 18px;padding:13px;border:1px solid rgba(224,177,79,.32);border-radius:9px;background:#875d1a1a}.planner-readiness.not-ready{border-color:#ef566961;background:#911f301a}.planner-readiness.ready{border-color:#4ab98f57;background:#237e5f1a}.planner-readiness-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.planner-readiness-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;color:#e1b85e;background:#e0b14f1c}.planner-readiness.not-ready .planner-readiness-icon{color:#ff8292;background:#ef56691a}.planner-readiness.ready .planner-readiness-icon{color:#77d5b2;background:#4ab98f1a}.planner-readiness-heading>div{min-width:0}.planner-readiness-heading small{display:block;color:#75858d;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.planner-readiness-heading strong{display:block;margin-top:2px;color:#f2dfb4;font-size:12px}.planner-readiness.not-ready .planner-readiness-heading strong{color:#ffd1d7}.planner-readiness.ready .planner-readiness-heading strong{color:#c8f3df}.planner-readiness-heading p{margin:3px 0 0;color:#a99d84;font-size:9px;line-height:1.45}.planner-readiness-state{padding:4px 7px;border:1px solid rgba(224,177,79,.28);border-radius:999px;color:#e1b85e;background:#e0b14f14;font-size:7px;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.planner-readiness-state.not-ready{border-color:#ef56694d;color:#ff8292;background:#ef566914}.planner-readiness-state.ready{border-color:#4ab98f4d;color:#77d5b2;background:#4ab98f14}.planner-readiness-progress{height:3px;margin:11px 0 9px;overflow:hidden;border-radius:999px;background:#ffffff0f}.planner-readiness-progress span{display:block;height:100%;border-radius:inherit;background:#d3aa51;transition:width .18s ease}.planner-readiness.not-ready .planner-readiness-progress span{background:#e45f72}.planner-readiness.ready .planner-readiness-progress span{background:#57b991}.planner-readiness details{border-top:1px solid rgba(205,217,226,.08)}.planner-readiness summary{padding-top:9px;color:#aab7bd;font-size:8px;font-weight:800;cursor:pointer}.planner-readiness summary:focus-visible{outline:2px solid rgba(117,200,201,.7);outline-offset:3px}.planner-readiness ul{margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;list-style:none}.planner-readiness li{min-width:0;padding:8px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:7px;border:1px solid rgba(205,217,226,.09);border-radius:7px;color:#72828a;background:#ffffff06}.planner-readiness li.pass>svg{color:#65c49f}.planner-readiness li.warning>svg{color:#dcb45c}.planner-readiness li.blocker>svg{color:#ef6679}.planner-readiness li span{min-width:0}.planner-readiness li strong,.planner-readiness li small{display:block}.planner-readiness li strong{color:#c7d1d6;font-size:9px}.planner-readiness li small{margin-top:3px;color:#76868e;font-size:8px;line-height:1.4}.planner-readiness li em{color:#64747c;font-size:7px;font-style:normal;font-weight:800;text-transform:uppercase}.planner-readiness li.warning em{color:#d0a64d}.planner-readiness li.blocker em{color:#e86678}.planner-readiness-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}.planner-readiness-actions .button{white-space:nowrap}.planner-guide-section:focus,.planner-sources:focus,.planner-party-analysis:focus{outline:2px solid rgba(104,191,177,.65);outline-offset:4px}.planner-guide-section,.planner-sources{scroll-margin-top:94px}.planner-guide-kicker{flex-wrap:wrap;gap:7px}.planner-guide-kicker span{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border:1px solid rgba(86,170,172,.22);border-radius:999px;background:#2f7d8012}.planner-guide-hero h1{max-width:920px;margin-top:13px;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4.6vw,59px);font-weight:700;letter-spacing:-.025em;line-height:1.03}.planner-guide-premise{max-width:870px;margin-top:14px;color:#bbc6ce;font-size:14px;line-height:1.65}.planner-guide-premise>:first-child,.planner-guide-premise>:last-child{margin-top:0;margin-bottom:0}.planner-guide-premise strong{color:#e1e8ec}.planner-guide-meta{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.planner-guide-meta>div{min-width:0;gap:9px;padding:10px 11px;border:1px solid rgba(205,217,226,.11);border-radius:8px;color:#6ab4b6;background:#ffffff05}.planner-guide-meta span{min-width:0;display:grid}.planner-guide-meta small{color:#758590;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.planner-guide-meta strong{overflow:hidden;color:#d7e0e5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.planner-party-analysis,.planner-section-list,.planner-sources,.planner-guide-footer{max-width:1080px;margin-right:auto;margin-left:auto}.planner-party-analysis{margin-bottom:18px;padding:17px;border:1px solid rgba(205,217,226,.14);border-radius:10px;background:#070c1080}.planner-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dce4e9;font-size:13px;font-weight:900}.planner-section-heading>span{gap:7px}.planner-section-heading>small{color:#75848e;font-size:9px;font-weight:600}.planner-party-analysis>p{margin-top:8px;color:#a9b6bf;font-size:12px;line-height:1.55}.planner-analysis-grid{margin-top:13px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.planner-analysis-grid div{padding:8px;border-radius:6px;background:#ffffff09}.planner-analysis-grid small,.planner-analysis-grid strong{display:block}.planner-analysis-grid small{color:#71818b;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.planner-analysis-grid strong{margin-top:3px;color:#e3eaee;font-size:16px}.planner-analysis-notes{margin-top:10px;display:grid;gap:4px}.planner-analysis-notes p{color:#8fa0aa;font-size:10px}.planner-analysis-notes b{color:#bfcbdb}.planner-analysis-guidance{padding:9px 10px;border:1px solid rgba(205,217,226,.09);border-radius:7px;background:#ffffff05}.planner-analysis-guidance>b{display:block;margin-bottom:5px;color:#bfcbdb;font-size:9px;letter-spacing:.05em;text-transform:uppercase}.planner-analysis-guidance-content{color:#8fa0aa;font-size:10px;line-height:1.55}.planner-analysis-guidance-content>:first-child{margin-top:0}.planner-analysis-guidance-content>:last-child{margin-bottom:0}.planner-analysis-guidance-content :is(h3,p,ul,ol){margin:4px 0}.planner-analysis-guidance-content :is(ul,ol){padding-left:18px}.planner-analysis-guidance-content strong{color:#c8d4da}.planner-analysis-notes .risk b{color:#e4a49d}.planner-section-list{display:grid;gap:11px}.planner-guide-section{overflow:hidden;border:1px solid rgba(205,217,226,.13);border-radius:10px;background:#090e12b8}.planner-guide-section.locked{border-color:#48a7a866}.planner-guide-section.run-active{border-color:#53c99f94;box-shadow:0 0 0 1px #53c99f14,0 12px 34px #00000029}.planner-workspace.run-mode .planner-guide-section.run-complete{opacity:.68}.planner-guide-section>header{padding:13px 15px 9px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.planner-guide-section h2{margin-top:2px;color:#e7edf0;font-family:Georgia,Times New Roman,serif;font-size:19px}.planner-run-state-badge{width:max-content;margin-top:6px;padding:3px 6px;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(205,217,226,.12);border-radius:999px;color:#8fa0aa;background:#ffffff06;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.planner-run-state-badge.active{color:#9ee6c8;border-color:#53c99f47;background:#2584621a}.planner-run-state-badge.complete{color:#9fb1bb}.planner-section-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px}.planner-section-actions button{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(205,217,226,.11);border-radius:6px;color:#93a5af;background:#ffffff06}.planner-section-actions button:hover:not(:disabled){color:#dff7f6;border-color:#48a7a873;background:#2f7d8026}.planner-section-content{padding:4px 15px 15px;color:#bac5cc;font-size:12px;line-height:1.65;white-space:normal}.planner-section-content>:first-child{margin-top:0}.planner-section-content>:last-child{margin-bottom:0}.planner-section-content p{margin:0 0 9px}.planner-section-content h3{margin:15px 0 6px;color:#dce7eb;font-family:Georgia,Times New Roman,serif;font-size:14px}.planner-section-content :is(ul,ol){margin:2px 0 11px;padding-left:22px}.planner-section-content li{margin:3px 0;padding-left:2px}.planner-section-content li::marker{color:#58aaa9;font-weight:800}.planner-section-content strong{color:#d8e4e8;font-weight:800}.planner-section-content em{color:#c7d2d7}.planner-section-content code{padding:1px 4px;border:1px solid rgba(205,217,226,.12);border-radius:4px;color:#b6e1dd;background:#141e25b8;font-family:Cascadia Code,Consolas,monospace;font-size:.92em;overflow-wrap:anywhere}.planner-section-content pre{margin:7px 0 12px;padding:10px 11px;overflow-x:auto;border:1px solid rgba(205,217,226,.12);border-radius:7px;background:#080f14ad;white-space:pre-wrap}.planner-section-content pre code{padding:0;border:0;color:#bdcbd0;background:transparent}.planner-section-content blockquote{margin:7px 0 12px;padding:7px 10px;border-left:3px solid rgba(83,201,159,.54);color:#c3d2d5;background:#2f7d8012}.planner-section-content hr{margin:13px 0;border:0;border-top:1px solid rgba(205,217,226,.13)}.planner-markdown-table-wrap{max-width:100%;margin:7px 0 12px;overflow-x:auto;border:1px solid rgba(205,217,226,.12);border-radius:7px}.planner-section-content table{width:100%;min-width:360px;border-collapse:collapse;font-size:11px;line-height:1.45}.planner-section-content :is(th,td){padding:7px 9px;border-right:1px solid rgba(205,217,226,.09);border-bottom:1px solid rgba(205,217,226,.09);text-align:left;vertical-align:top}.planner-section-content :is(th,td):last-child{border-right:0}.planner-section-content tbody tr:last-child td{border-bottom:0}.planner-section-content th{color:#d8e4e8;background:#ffffff0a;font-size:9px;letter-spacing:.055em;text-transform:uppercase}.planner-markdown-checklist{padding-left:0!important;list-style:none}.planner-markdown-checklist li{display:flex;align-items:flex-start;gap:7px;padding-left:0}.planner-check-box{width:14px;height:14px;margin-top:2px;flex:0 0 14px;display:inline-grid;place-items:center;border:1px solid rgba(114,186,187,.45);border-radius:3px;color:#08110f;background:#2f7d8012;font-size:10px;font-weight:900;line-height:1}button.planner-check-box{padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button.planner-check-box:hover:not(:disabled){border-color:#77cbb0;background:#53c99f26}button.planner-check-box:focus-visible{outline:2px solid rgba(117,200,201,.72);outline-offset:2px}button.planner-check-box:disabled{cursor:wait;opacity:.62}.planner-check-box.checked{border-color:#68bf9b;background:#68bf9b}.planner-list-bullet{width:14px;flex:0 0 14px;color:#58aaa9;text-align:center}.planner-markdown-disabled-link{border-bottom:1px dotted rgba(205,217,226,.35);color:#c5d0d5}.planner-provenance{padding:1px 15px 9px;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.planner-provenance>span{padding:3px 7px;display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(205,217,226,.13);border-radius:999px;color:#95a5ae;background:#ffffff06;font-size:8px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.planner-provenance.library-grounded>span:first-child{color:#78c2bf;border-color:#4aa3a43d;background:#2f7d8012}.planner-provenance>span.dm-edited{color:#d1ad74;border-color:#d0a2583d;background:#98672214}.planner-provenance>span.planner-checklist-progress{color:#9fb0b8;border-color:#cdd9e226;background:#ffffff06}.planner-provenance>span.planner-checklist-progress.complete{color:#8ad8b4;border-color:#53c99f4d;background:#2584621a}.planner-revision-history{margin:0 15px 10px;overflow:hidden;border:1px solid rgba(205,217,226,.11);border-radius:7px;background:#ffffff05}.planner-revision-history summary{padding:7px 9px;display:flex;align-items:center;gap:6px;color:#91a5af;font-size:9px;font-weight:850;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;list-style:none}.planner-revision-history summary::-webkit-details-marker{display:none}.planner-revision-history summary:after{content:"+";margin-left:auto;color:#667b86;font-size:13px}.planner-revision-history[open] summary:after{content:"−"}.planner-revision-history summary small{color:#5d8f91;font-size:8px}.planner-revision-history>div{padding:0 9px 8px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.planner-revision-history label{min-width:0;display:grid;gap:4px}.planner-revision-history label>span{color:#718590;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.planner-revision-history select{width:100%;min-width:0;padding:8px 9px;border:1px solid rgba(205,217,226,.14);border-radius:6px;color:#cbd8dd;background:#03080b9e;font:inherit;font-size:10px}.planner-revision-history p{margin:0;padding:0 9px 8px;color:#6f818b;font-size:8px;line-height:1.45}.planner-guide-section footer{flex-wrap:wrap;gap:5px;padding:8px 15px 11px;border-top:1px solid rgba(205,217,226,.08);background:#ffffff04}.planner-guide-section footer a,.planner-guide-section footer span{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 7px;overflow:hidden;border:1px solid rgba(74,163,164,.17);border-radius:999px;color:#72babb;background:#2f7d800f;font-size:9px;font-weight:750;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.planner-section-editor{padding:3px 15px 15px;display:grid;gap:8px}.planner-section-editor input,.planner-section-editor textarea{padding:9px 10px;font:inherit;font-size:12px}.planner-section-editor textarea{min-height:220px;resize:vertical;line-height:1.55}.planner-section-editor>div{display:flex;justify-content:flex-end;gap:7px}.planner-sources{margin-top:27px;padding-top:18px;border-top:1px solid rgba(205,217,226,.15)}.planner-source-link-warning{margin-top:10px;padding:9px 10px;display:flex;align-items:flex-start;gap:8px;border:1px solid rgba(235,172,93,.24);border-radius:8px;color:#c9ad88;background:#844e1b1a;font-size:9px;line-height:1.5}.planner-source-link-warning svg{flex:0 0 auto;color:#e4ad68}.planner-source-link-warning code{color:#efd0a7}.planner-source-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.planner-source-entry{min-width:0;display:flex;flex-direction:column}.planner-source-card{position:relative;min-width:0;min-height:126px;padding:11px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(205,217,226,.11);border-radius:8px;color:inherit;background:#ffffff05;text-decoration:none}.planner-source-entry>.planner-source-card{width:100%;flex:1}.planner-source-actions{margin-top:6px}.planner-source-actions .button{width:100%;justify-content:center;font-size:9px}a.planner-source-card:hover{border-color:#43a3a575;background:#2f7d8014}.planner-source-card>span{gap:4px}.planner-source-card strong{max-width:100%;margin-top:5px;overflow:hidden;color:#dce4e9;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.planner-source-card small{max-width:100%;overflow:hidden;color:#687985;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.planner-source-card p{margin-top:8px;display:-webkit-box;overflow:hidden;color:#8d9ca5;font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.planner-source-card>svg{position:absolute;top:10px;right:10px;color:#527f82}.planner-guide-footer{justify-content:space-between;gap:12px;margin-top:24px;color:#687985;font-size:9px}.spin{animation:planner-spin .8s linear infinite}@keyframes planner-spin{to{transform:rotate(360deg)}}@media(max-width:980px){.planner-backdrop{padding:0}.planner-workspace{border:0;border-radius:0}.planner-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.planner-header{min-height:64px}.planner-header-actions .button{font-size:0}.planner-header-actions .button svg{margin:0}.planner-plan-picker{min-width:190px}.planner-guide-panel{padding:22px 18px 38px}.planner-guide-meta{grid-template-columns:1fr}.planner-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.planner-header{padding:8px 10px}.planner-brand-icon{width:39px;height:39px}.planner-brand h1{max-width:33vw;font-size:15px}.planner-plan-picker{min-width:150px}.planner-layout{display:block;overflow-y:auto}.planner-brief-panel,.planner-guide-panel{overflow:visible}.planner-brief-panel{min-height:auto;border-right:0;border-bottom:1px solid rgba(205,217,226,.14)}.planner-guide-panel{min-height:80vh}.planner-source-grid{grid-template-columns:1fr}.planner-guide-hero h1{font-size:34px}.planner-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.planner-header{gap:6px;padding:7px 8px}.planner-brand{flex:0 0 32px}.planner-brand-icon{width:32px;height:32px;border-radius:8px}.planner-brand>div,.planner-plan-picker>span{display:none}.planner-header-actions{flex:1 1 auto;gap:5px}.planner-plan-picker{min-width:0;flex:1 1 auto}.planner-plan-picker select{height:36px;padding:6px 8px;font-size:11px}.planner-header-actions .button,.planner-header-actions .planner-close{width:36px;min-width:36px;height:36px;padding:0;flex:0 0 36px;justify-content:center}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;max-height:100%;max-width:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;position:fixed;top:0;right:0;bottom:0;left:0;background:#171b1f;touch-action:none}button,input,select{font:inherit}button{cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}button:disabled{cursor:not-allowed;opacity:.48}svg{flex:0 0 auto}.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(#0f1419a3,#0f1419c7),url(https://images.unsplash.com/photo-1518709268805-4e9042af2176?auto=format&fit=crop&w=1800&q=80) center/cover;padding:24px}.login-panel{width:min(520px,100%);background:#141a1ff0;border:1px solid rgba(204,216,225,.25);border-radius:10px;padding:28px;box-shadow:0 24px 70px #0006}.login-panel h1,.brand-row h1{margin:0;font-size:24px;letter-spacing:0}.login-panel p,.login-note,.brand-row p,.drawer-heading p,.muted{color:#aeb8c2}.login-note{margin:14px 0 0;font-size:14px}.app-shell{height:100vh;height:100dvh;min-height:0;position:relative;overflow:hidden;background:#171b1f}.top-bar{position:fixed;top:14px;left:18px;right:18px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.brand-row,.campaign-pill,.header-actions,.left-dock,.workspace-dock,.right-rail,.sidebar,.chrome-button,.zoom-cluster,.display-scene-button{background:var(--surface);border:1px solid var(--line-strong);box-shadow:0 14px 38px #00000061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand-row,.campaign-pill,.header-actions{pointer-events:auto;min-height:56px;border-radius:9px;display:flex;align-items:center;gap:10px;padding:8px 10px}.brand-row{min-width:min(430px,48vw)}.top-bar.sheet-open .brand-row{opacity:0;transform:translateY(-14px);pointer-events:none}.brand-row h1{font-size:20px;text-transform:uppercase;letter-spacing:.08em}.brand-row p,.drawer-heading p{margin:2px 0 0;font-size:12px;overflow-wrap:anywhere}.campaign-pill{padding:8px 16px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.header-actions{flex-wrap:wrap;justify-content:flex-end}.character-shelf{position:fixed;top:82px;right:18px;z-index:39;display:flex;align-items:center;justify-content:flex-end;gap:8px;max-width:min(760px,calc(100vw - 132px));overflow-x:auto;padding:7px;border-radius:11px;background:#0e1419d1;border:1px solid rgba(205,217,226,.17);box-shadow:0 14px 38px #00000052;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.character-shelf-label{flex:0 0 auto;padding:0 5px 0 3px;color:#dee8eea8;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.character-shelf-label small{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;border-radius:999px;background:#ffffff14;color:#fff;font-size:10px}.character-shelf::-webkit-scrollbar{height:0}.character-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;max-width:136px;min-height:36px;border-radius:999px;padding:4px 9px 4px 4px;border:1px solid rgba(205,217,226,.16);background:#ffffff0d;color:#eef5f8;font-size:12px;font-weight:850}.character-chip:hover,.character-chip.selected{border-color:#e6bf58b8;background:#e6bf581f}.character-chip.add{padding-left:9px;color:#fff;border-color:#3bc2beb3;background:#3bc2be2e}.character-chip span:last-child{min-width:0;display:grid;gap:1px;overflow:hidden}.character-chip b,.character-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-chip b{font-size:12px;line-height:1.05}.character-chip small{color:#d2dde49e;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.character-chip-avatar{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:999px;border:1px solid rgba(255,255,255,.68);background-size:cover;background-position:center;color:#fff;font-size:11px;font-weight:900}.workspace{position:fixed;top:0;right:0;bottom:0;left:0;min-width:0}.sidebar,.right-rail{position:fixed;top:88px;z-index:35;width:min(430px,calc(100vw - 104px));max-height:calc(100vh - 112px);overflow-y:auto;overflow-x:hidden;border-radius:9px;padding:10px;transition:transform .18s ease,opacity .18s ease,visibility 0s linear .18s;visibility:hidden;pointer-events:none;scrollbar-width:thin;scrollbar-color:rgba(205,217,226,.32) transparent}.sidebar{left:24px;transform:translate(calc(-100% - 34px));opacity:0}.sidebar.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.right-rail{right:24px;top:140px;max-height:calc(100vh - 164px);transform:translate(calc(100% + 34px));opacity:0}.right-rail.open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.drawer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.drawer-heading h2{margin:0;font-size:17px;letter-spacing:0}.left-dock{position:fixed;left:28px;top:114px;z-index:30;display:grid;gap:8px;padding:10px;border-radius:12px}.left-dock.sheet-open{left:clamp(76px,calc(min(500px,96vw) + var(--sheet-dock-gap)),calc(100vw - var(--sheet-dock-width)));z-index:80}.workspace-dock{position:fixed;left:24px;top:104px;z-index:30;width:172px;max-height:calc(100vh - 126px);display:grid;align-content:start;gap:7px;overflow:auto;padding:8px;border-radius:14px;scrollbar-width:thin;scrollbar-color:rgba(205,217,226,.25) transparent}.workspace-dock.sheet-open{left:clamp(76px,calc(min(500px,96vw) + var(--sheet-dock-gap)),calc(100vw - var(--sheet-dock-width)));z-index:80;width:58px;padding:6px}.workspace-dock-group{display:grid;gap:3px;padding-bottom:7px;border-bottom:1px solid rgba(205,217,226,.12)}.workspace-dock-group:last-child{padding-bottom:0;border-bottom:0}.workspace-dock-label{margin:0;padding:2px 7px 4px;color:#c0d2de9e;font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.workspace-dock-button{width:100%;min-height:38px;display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:9px;background:transparent;color:#d7e1e8;padding:7px 8px;font-size:12px;font-weight:850;text-align:left}.workspace-dock-button:hover{border-color:#cdd9e233;background:#ffffff14}.workspace-dock-button.active{border-color:#ef233cb8;background:#ef233c29;color:#fff}.workspace-dock-button:disabled{opacity:.48}.workspace-dock-button kbd{margin-left:auto;border:1px solid rgba(205,217,226,.2);border-radius:4px;color:#deeaf1c7;padding:1px 3px;font-family:inherit;font-size:9px;font-weight:900}.workspace-dock-overflow{display:grid;gap:3px;padding-top:3px}.workspace-dock.sheet-open .workspace-dock-label,.workspace-dock.sheet-open .workspace-dock-button span,.workspace-dock.sheet-open .workspace-dock-button kbd{display:none}.workspace-dock.sheet-open .workspace-dock-button{min-height:42px;justify-content:center;padding:6px}.workspace-dock.sheet-open .workspace-dock-group{gap:4px}.dock-button,.icon-button,.chrome-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;color:#cad3dc;background:transparent}.dock-button{width:54px;height:54px}.dock-button:hover,.icon-button:hover,.chrome-button:hover{background:#ffffff14}.dock-button.active{background:#ef233c;color:#fff}.icon-button{min-width:42px;height:42px;border:1px solid rgba(205,217,226,.2)}.icon-button.ghost{min-width:36px;height:36px;border-color:transparent}.button,.file-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);border-radius:7px;background:#ffffff0f;color:#f0f4f7;padding:9px 12px;text-decoration:none;font-weight:800;text-align:center}.button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.button.compact{min-height:32px;padding:6px 10px;font-size:12px}.button.ghost{background:#ffffff0a}.button.danger{background:#9b3f39;color:#fff;border-color:#9b3f39}.button.full{width:100%}.main-grid,.map-column{position:fixed;top:0;right:0;bottom:0;left:0}.map-scroll{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;scrollbar-width:none;overscroll-behavior:none;touch-action:none;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none;background:linear-gradient(#13191ebd,#13191ebd),repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 1px,transparent 1px 48px),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 48px);padding:96px 26px 118px 208px;display:grid;place-items:center}.map-scroll::-webkit-scrollbar{width:0;height:0}.map-scroll.panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.map-viewport{position:relative;flex:0 0 auto;transform-origin:top left;contain:layout paint;border-radius:18px;box-shadow:0 0 0 1px #d2dce42e,0 30px 90px #00000085}.map-stage{position:relative;transform-origin:top left;touch-action:none;user-select:none;-webkit-user-select:none;background-color:#303941;overflow:hidden;border-radius:18px;isolation:isolate}.map-stage-image{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.map-stage.calibrating-grid{cursor:crosshair}.map-ping{position:absolute;z-index:8;width:28px;height:28px;transform:translate(-50%,-50%);border:3px solid rgba(255,80,92,.98);border-radius:999px;box-shadow:0 0 #ff505c8c,0 0 24px #ff505c7a;pointer-events:none;animation:map-ping-pulse 1.3s ease-out 2}.map-ping:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:inherit;background:#ff505ce6}.map-ping small{position:absolute;left:50%;top:calc(100% + 5px);transform:translate(-50%);max-width:140px;overflow:hidden;text-overflow:ellipsis;border-radius:7px;background:#090e13e0;color:#fff;padding:3px 6px;font-size:11px;font-weight:850;white-space:nowrap}.spell-vfx-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:34;overflow:hidden;pointer-events:none;mix-blend-mode:screen}.spell-vfx-layer .theme-fire{--vfx-core: #fff4bf;--vfx-hot: #ffb22d;--vfx-mid: #f3531a;--vfx-soft: rgba(255, 76, 18, .42)}.spell-vfx-layer .theme-cold{--vfx-core: #f2ffff;--vfx-hot: #9cf5ff;--vfx-mid: #3c9dff;--vfx-soft: rgba(68, 154, 255, .4)}.spell-vfx-layer .theme-lightning{--vfx-core: #fffbd0;--vfx-hot: #d9b9ff;--vfx-mid: #7b67ff;--vfx-soft: rgba(101, 84, 255, .44)}.spell-vfx-layer .theme-acid{--vfx-core: #f4ffbd;--vfx-hot: #ccff44;--vfx-mid: #57b950;--vfx-soft: rgba(79, 185, 79, .4)}.spell-vfx-layer .theme-poison{--vfx-core: #efffb5;--vfx-hot: #8fe36c;--vfx-mid: #2e8b57;--vfx-soft: rgba(46, 139, 87, .42)}.spell-vfx-layer .theme-force{--vfx-core: #ffffff;--vfx-hot: #bfc9ff;--vfx-mid: #7b85ef;--vfx-soft: rgba(108, 119, 242, .42)}.spell-vfx-layer .theme-radiant{--vfx-core: #fffde8;--vfx-hot: #ffe78a;--vfx-mid: #dfab31;--vfx-soft: rgba(240, 188, 54, .42)}.spell-vfx-layer .theme-necrotic{--vfx-core: #e9d8ff;--vfx-hot: #aa76e6;--vfx-mid: #56358d;--vfx-soft: rgba(87, 47, 137, .45)}.spell-vfx-layer .theme-psychic{--vfx-core: #ffe0fa;--vfx-hot: #ff90df;--vfx-mid: #b657c2;--vfx-soft: rgba(194, 83, 202, .42)}.spell-vfx-layer .theme-arcane{--vfx-core: #e9fbff;--vfx-hot: #80e4f7;--vfx-mid: #428ac4;--vfx-soft: rgba(61, 139, 202, .4)}.spell-vfx-layer .theme-healing{--vfx-core: #f2ffe9;--vfx-hot: #b7ff9c;--vfx-mid: #52bd75;--vfx-soft: rgba(73, 190, 111, .42)}.spell-vfx-layer .theme-shadow{--vfx-core: #e5e0ff;--vfx-hot: #8e86bc;--vfx-mid: #3c3b68;--vfx-soft: rgba(54, 48, 94, .5)}.spell-vfx-projectile,.spell-vfx-beam,.spell-vfx-burst,.spell-vfx-aura,.spell-vfx-ward,.spell-vfx-summon,.spell-vfx-teleport{position:absolute;width:1px;height:1px;color:var(--vfx-hot)}.spell-vfx-projectile-shot{position:absolute;left:0;top:0;width:1px;height:1px;animation:spell-vfx-projectile-flight var(--spell-vfx-duration) cubic-bezier(.2,.74,.18,1) var(--spell-vfx-shot-delay) both}.spell-vfx-projectile-trail{position:absolute;left:calc(var(--spell-vfx-tail) * -1);top:-9px;width:var(--spell-vfx-tail);height:18px;border-radius:999px 18px 18px 999px;background:linear-gradient(90deg,transparent,var(--vfx-soft) 54%,var(--vfx-hot));filter:blur(2px);opacity:.88}.spell-vfx-projectile-core{position:absolute;left:-14px;top:-14px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 34% 30%,var(--vfx-core) 0 10%,var(--vfx-hot) 35%,var(--vfx-mid) 61%,transparent 75%);box-shadow:0 0 9px 4px var(--vfx-hot),0 0 24px 8px var(--vfx-soft);animation:spell-vfx-core-flicker .15s steps(2,end) infinite}.spell-vfx-projectile-core:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--vfx-soft);border-radius:50% 43% 56% 48%;transform:rotate(27deg)}.spell-vfx-projectile-spark,.spell-vfx-aura-spark,.spell-vfx-ward-spark{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--vfx-core);box-shadow:0 0 10px var(--vfx-hot);animation:spell-vfx-spark .36s ease-out infinite alternate}.spell-vfx-projectile-spark.spark-one{left:-2px;top:-23px}.spell-vfx-projectile-spark.spark-two{left:-21px;top:8px;animation-delay:-.14s}.spell-vfx-impact{position:absolute;left:var(--spell-vfx-dx);top:var(--spell-vfx-dy);width:20px;height:20px;border:3px solid var(--vfx-hot);border-radius:50%;background:radial-gradient(circle,var(--vfx-core) 0 12%,var(--vfx-hot) 27%,var(--vfx-soft) 58%,transparent 72%);box-shadow:0 0 18px 8px var(--vfx-soft);opacity:0;animation:spell-vfx-impact .52s cubic-bezier(.16,.7,.16,1) var(--spell-vfx-impact-delay) both}.spell-vfx-impact:after{content:"";position:absolute;top:-22px;right:-22px;bottom:-22px;left:-22px;border:2px solid var(--vfx-soft);border-radius:50%;animation:spell-vfx-ring .5s ease-out var(--spell-vfx-impact-delay) both}.spell-vfx-projectile.miss .spell-vfx-impact,.spell-vfx-beam.miss .spell-vfx-impact{opacity:.58;filter:saturate(.56)}.spell-vfx-beam{transform-origin:center}.spell-vfx-beam-line{position:absolute;left:0;top:-4px;width:var(--spell-vfx-distance);height:8px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--vfx-soft) 8%,var(--vfx-core) 47%,var(--vfx-hot) 65%,transparent);box-shadow:0 0 9px 3px var(--vfx-soft);transform-origin:0 50%;animation:spell-vfx-beam-flash .52s ease-out both}.spell-vfx-beam-flare{position:absolute;left:calc(var(--spell-vfx-distance) - 13px);top:-13px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle,var(--vfx-core),var(--vfx-hot) 36%,transparent 70%);box-shadow:0 0 18px 6px var(--vfx-soft);transform:rotate(var(--spell-vfx-angle));animation:spell-vfx-flare .54s ease-out both}.spell-vfx-beam .spell-vfx-impact{animation-delay:.24s}.spell-vfx-beam .spell-vfx-impact:after{animation-delay:.24s}.spell-vfx-burst,.spell-vfx-aura,.spell-vfx-ward,.spell-vfx-summon,.spell-vfx-teleport{transform:translate(-50%,-50%)}.spell-vfx-burst-core,.spell-vfx-aura-core,.spell-vfx-teleport-core{position:absolute;left:-18px;top:-18px;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle,var(--vfx-core) 0 8%,var(--vfx-hot) 24%,var(--vfx-soft) 57%,transparent 74%);box-shadow:0 0 24px 9px var(--vfx-soft);animation:spell-vfx-pulse .7s cubic-bezier(.12,.7,.22,1) both}.spell-vfx-burst-ring,.spell-vfx-aura-ring,.spell-vfx-teleport-ring{position:absolute;left:-28px;top:-28px;width:56px;height:56px;border:2px solid var(--vfx-hot);border-radius:50%;box-shadow:0 0 12px 2px var(--vfx-soft);animation:spell-vfx-ring .78s cubic-bezier(.12,.68,.2,1) both}.spell-vfx-burst-ring.ring-two,.spell-vfx-aura-ring.ring-two,.spell-vfx-teleport-ring.ring-two{animation-delay:.11s;border-color:var(--vfx-soft)}.spell-vfx-burst .spell-vfx-burst-core{animation-duration:.79s}.spell-vfx-burst .spell-vfx-burst-ring{width:68px;height:68px;left:-34px;top:-34px}.spell-vfx-aura-core{animation-duration:.92s;opacity:.78}.spell-vfx-aura-ring{animation-duration:1s}.spell-vfx-aura-spark.spark-one{left:-30px;top:-12px}.spell-vfx-aura-spark.spark-two{left:23px;top:18px;animation-delay:-.18s}.spell-vfx-ward-hex{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border:2px solid var(--vfx-hot);background:color-mix(in srgb,var(--vfx-soft) 38%,transparent);box-shadow:0 0 20px 4px var(--vfx-soft);clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%);animation:spell-vfx-ward 1.05s ease-out both}.spell-vfx-ward-ring{position:absolute;left:-38px;top:-38px;width:76px;height:76px;border:2px solid var(--vfx-soft);border-radius:50%;animation:spell-vfx-ring .94s ease-out both}.spell-vfx-ward-spark.one{left:-31px;top:-25px}.spell-vfx-ward-spark.two{left:25px;top:23px;animation-delay:-.19s}.spell-vfx-summon-rune{position:absolute;left:-32px;top:-32px;width:64px;height:64px;border:2px solid var(--vfx-hot);border-radius:50%;background:repeating-conic-gradient(from 30deg,var(--vfx-hot) 0 10deg,transparent 10deg 30deg);box-shadow:0 0 22px 6px var(--vfx-soft);animation:spell-vfx-summon-rune 1.05s cubic-bezier(.18,.74,.2,1) both}.spell-vfx-summon-column{position:absolute;left:-13px;top:-58px;width:26px;height:94px;background:linear-gradient(180deg,transparent,var(--vfx-soft) 18%,var(--vfx-hot) 52%,transparent);filter:blur(3px);animation:spell-vfx-summon-column .92s ease-out both}.spell-vfx-summon-star{position:absolute;width:8px;height:8px;background:var(--vfx-core);box-shadow:0 0 10px var(--vfx-hot);transform:rotate(45deg);animation:spell-vfx-star .76s ease-out both}.spell-vfx-summon-star.star-one{left:-44px;top:-26px}.spell-vfx-summon-star.star-two{left:36px;top:12px;animation-delay:.11s}.spell-vfx-teleport-core{animation:spell-vfx-teleport-core .78s ease-out both}.spell-vfx-teleport-ring{border-style:dashed;animation:spell-vfx-teleport-ring .8s ease-out both}.spell-vfx-teleport-ring.ring-two{animation-delay:90ms}.spell-vfx-layer.reduced .spell-vfx-projectile-trail,.spell-vfx-layer.reduced .spell-vfx-projectile-spark,.spell-vfx-layer.reduced .spell-vfx-aura-spark,.spell-vfx-layer.reduced .spell-vfx-ward-spark,.spell-vfx-layer.reduced .spell-vfx-summon-star,.spell-vfx-layer.reduced .spell-vfx-summon-column,.spell-vfx-layer.reduced .ring-two{display:none}.spell-vfx-layer.reduced .spell-vfx-projectile-shot,.spell-vfx-layer.reduced .spell-vfx-beam-line,.spell-vfx-layer.reduced .spell-vfx-burst-core,.spell-vfx-layer.reduced .spell-vfx-aura-core,.spell-vfx-layer.reduced .spell-vfx-ward-hex,.spell-vfx-layer.reduced .spell-vfx-summon-rune,.spell-vfx-layer.reduced .spell-vfx-teleport-core{animation-duration:.39s}@keyframes spell-vfx-projectile-flight{0%{opacity:0;transform:rotate(var(--spell-vfx-angle)) translate(0) scale(.35)}12%{opacity:1}74%{opacity:1;transform:rotate(var(--spell-vfx-angle)) translate(var(--spell-vfx-distance)) scale(1)}to{opacity:.08;transform:rotate(var(--spell-vfx-angle)) translate(var(--spell-vfx-distance)) scale(.58)}}@keyframes spell-vfx-core-flicker{0%{filter:brightness(.9) saturate(1);transform:scale(.9) rotate(-8deg)}to{filter:brightness(1.25) saturate(1.18);transform:scale(1.1) rotate(9deg)}}@keyframes spell-vfx-spark{0%{opacity:.92;transform:translate(0) scale(1)}to{opacity:.04;transform:translate(-18px,8px) scale(.35)}}@keyframes spell-vfx-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(2.2)}}@keyframes spell-vfx-ring{0%{opacity:.74;transform:translate(-50%,-50%) scale(.2) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.48) rotate(44deg)}}@keyframes spell-vfx-beam-flash{0%{opacity:0;transform:rotate(var(--spell-vfx-angle)) scaleX(.08)}18%{opacity:1}to{opacity:0;transform:rotate(var(--spell-vfx-angle)) scaleX(1)}}@keyframes spell-vfx-flare{0%{opacity:0;transform:scale(.3)}34%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@keyframes spell-vfx-pulse{0%{opacity:0;transform:scale(.25)}30%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes spell-vfx-ward{0%{opacity:0;transform:scale(.35) rotate(-30deg)}30%{opacity:.9;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(1.3) rotate(24deg)}}@keyframes spell-vfx-summon-rune{0%{opacity:0;transform:scale(.24) rotate(-90deg)}40%{opacity:.92;transform:scale(1) rotate(18deg)}to{opacity:0;transform:scale(1.35) rotate(80deg)}}@keyframes spell-vfx-summon-column{0%{opacity:0;transform:scaleY(.25)}35%{opacity:.9;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.25)}}@keyframes spell-vfx-star{0%{opacity:0;transform:scale(.2) rotate(0)}40%{opacity:1;transform:scale(1) rotate(95deg)}to{opacity:0;transform:translateY(-28px) scale(.4) rotate(190deg)}}@keyframes spell-vfx-teleport-core{0%{opacity:0;transform:scale(.2)}35%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.05)}}@keyframes spell-vfx-teleport-ring{0%{opacity:.82;transform:translate(-50%,-50%) scale(.18) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.45) rotate(160deg)}}@keyframes map-ping-pulse{0%{opacity:1;box-shadow:0 0 #ff505c9e,0 0 24px #ff505c80}to{opacity:.28;box-shadow:0 0 0 32px #ff505c00,0 0 12px #ff505c29}}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.38) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.38) 1px,transparent 1px)}.grid-calibration-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.grid-calibration-line{position:absolute;height:4px;transform-origin:left center;border-radius:999px;background:#f0c75f;box-shadow:0 0 0 2px #060a0eb8,0 0 22px #f0c75fb8}.grid-calibration-mark{position:absolute;display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-50%);border:3px solid #f0c75f;border-radius:999px;background:#070c11e6;color:#fff5c7;font-size:14px;font-weight:950;box-shadow:0 0 0 3px #070c1194,0 0 26px #f0c75f9e}.scene-layer{position:absolute;z-index:1;pointer-events:none;opacity:var(--layer-opacity, .3)}.scene-layer.editable{z-index:6;cursor:move;pointer-events:auto}.scene-layer.selected{outline:3px solid rgba(230,191,88,.92);outline-offset:3px;box-shadow:0 0 0 2px #070c11b8,0 0 24px #e6bf586b}.scene-layer.round{border-radius:999px}.scene-layer-template{z-index:2;border:3px solid var(--layer-color, #ef233c);background:color-mix(in srgb,var(--layer-color, #ef233c) 34%,transparent);box-shadow:inset 0 0 0 1px #ffffff38,0 0 24px color-mix(in srgb,var(--layer-color, #ef233c) 38%,transparent)}.scene-layer-light{z-index:2;background:radial-gradient(circle,color-mix(in srgb,var(--layer-color, #ffb347) 70%,transparent) 0%,color-mix(in srgb,var(--layer-color, #ffb347) 24%,transparent) 42%,transparent 72%);filter:blur(1.5px);mix-blend-mode:screen}.scene-layer-fog{z-index:6;background:var(--layer-color, #05080c);box-shadow:inset 0 0 20px #00000080}.scene-layer-effect{z-index:2;border:2px dashed var(--layer-color, #76e4f7);background:color-mix(in srgb,var(--layer-color, #76e4f7) 28%,transparent)}.scene-layer.editable{z-index:7}.scene-layer.dm-only{outline:2px dashed rgba(230,191,88,.6);outline-offset:-4px}.scene-layer.selected.dm-only{outline:3px solid rgba(230,191,88,.92);outline-offset:3px}.scene-layer-label{position:absolute;left:8px;top:8px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;border-radius:7px;background:#070c11d1;color:#fff;padding:4px 7px;font-size:12px;font-weight:900;white-space:nowrap}.scene-layer-resize{position:absolute;right:-9px;bottom:-9px;width:20px;height:20px;border:2px solid rgba(7,12,17,.9);border-radius:6px;background:#e6bf58;box-shadow:0 8px 20px #00000073;cursor:nwse-resize}.map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#dce4ea;font-weight:750;background:linear-gradient(45deg,rgba(255,255,255,.05) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.05) 25%,transparent 25%);background-size:40px 40px}.token-aura{position:absolute;z-index:25;border:2px dashed color-mix(in srgb,var(--aura-color, #7c83ff) 84%,white);border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--aura-color, #7c83ff) 38%,transparent) 0%,color-mix(in srgb,var(--aura-color, #7c83ff) 18%,transparent) 58%,transparent 74%);opacity:var(--aura-opacity, .22);filter:blur(.2px);pointer-events:none;mix-blend-mode:screen}.token-aura small{position:absolute;left:50%;top:8px;max-width:70%;transform:translate(-50%);overflow:hidden;border-radius:999px;background:#080d13b8;color:#edf4ff;padding:2px 7px;font-size:10px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.drag-snap-cell{position:absolute;z-index:2;border:2px solid rgba(54,126,255,.9);border-radius:8px;background:#367eff24;box-shadow:inset 0 0 0 1px #ffffff59,0 0 24px #367eff6b;pointer-events:none}.selection-box{position:absolute;z-index:4;border:2px solid rgba(85,153,255,.95);border-radius:5px;background:#5599ff29;box-shadow:inset 0 0 0 1px #ffffff47,0 0 22px #367eff47;pointer-events:none}.movement-ruler-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.movement-ruler-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.movement-ruler-svg line,.movement-ruler-svg polyline{stroke:#2f77ff;stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}.movement-ruler-svg circle{fill:#b8d6ff;stroke:#1649b7;stroke-width:3px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.movement-ruler-label{position:absolute;transform:translate(-50%,-50%);border-radius:6px;border:1px solid rgba(220,232,245,.72);background:#080e14eb;color:#fff;padding:4px 7px;font-size:13px;font-weight:900;line-height:1;box-shadow:0 6px 18px #00000073;white-space:nowrap}.movement-ruler-waypoint-label{position:absolute;transform:translate(-50%,-50%);border-radius:999px;border:1px solid rgba(45,119,255,.78);background:#111922eb;color:#fff;padding:3px 6px;font-size:12px;font-weight:900;line-height:1;box-shadow:0 6px 18px #00000073;white-space:nowrap}.map-utility-tray{position:fixed;left:50%;bottom:22px;z-index:var(--z-map-ui);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;transform:translate(-50%);pointer-events:auto}.spotlight-map-control{position:fixed;right:22px;bottom:94px;z-index:var(--z-map-ui);width:min(292px,calc(100vw - 34px));padding:10px 11px;border:1px solid rgba(110,224,237,.5);border-radius:14px;color:#eaf9ff;background:linear-gradient(145deg,#07161df7,#0f1d28f0);box-shadow:0 14px 40px #00000070;pointer-events:auto}.spotlight-map-heading,.spotlight-map-actions,.spotlight-panel-actions{display:flex;align-items:center}.spotlight-map-heading{justify-content:space-between;gap:10px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#83edf5}.spotlight-map-heading>span,.spotlight-panel strong{display:inline-flex;align-items:center;gap:6px}.spotlight-map-heading b{color:#f7cf68;font-size:11px}.spotlight-map-heading-actions{display:inline-flex;align-items:center;gap:7px}.spotlight-tray-close,.spotlight-map-launcher{border:0;cursor:pointer}.spotlight-tray-close{display:none}.spotlight-map-control p{margin:7px 0 9px;color:#d6e8ee;font-size:13px;line-height:1.35}.spotlight-map-control p strong{color:#fff}.spotlight-map-control>p:not(.spotlight-summary),.spotlight-map-control .spotlight-map-legacy-actions,.spotlight-map-control>small:not(.spotlight-progress){display:none}.spotlight-summary{margin:5px 0 8px!important;color:#d6e8ee;font-size:12px;line-height:1.3}.spotlight-map-actions,.spotlight-panel-actions{flex-wrap:wrap;gap:6px}.spotlight-map-actions .button,.spotlight-panel-actions .button{min-height:34px}.spotlight-map-actions.spotlight-map-primary-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.spotlight-map-primary-actions .button{min-height:36px}.spotlight-turn-link{white-space:nowrap}.spotlight-progress{display:block;margin-top:7px;color:#9db3bf;font-size:10px;font-weight:750}.spotlight-map-control small{display:block;margin-top:8px;color:#9db3bf;font-size:11px;font-weight:750}.spotlight-end-button{border-color:#f7cf68c2;color:#fff4ca}.spotlight-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px;border:1px solid rgba(202,218,229,.15);border-radius:12px;background:#ffffff06}.spotlight-panel>div:first-child{flex:1 1 auto;min-width:0}.spotlight-panel>.button{flex:0 0 auto}.spotlight-panel.enabled{border-color:#6ee0ed7a;background:#3ebdca14}.spotlight-panel p{max-width:530px;margin:4px 0 0;color:#aebfc9;font-size:12px;line-height:1.35}.spotlight-panel-status{margin:0 0 16px;padding:12px;border:1px solid rgba(110,224,237,.36);border-radius:12px;background:#2276841f}.spotlight-status-copy{display:grid;gap:3px;margin-bottom:10px}.spotlight-status-copy strong{color:#e8fbff}.spotlight-status-copy span{color:#a9c7cf;font-size:12px}.spotlight-participant-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.spotlight-participant{padding:4px 7px;border:1px solid rgba(220,231,238,.15);border-radius:999px;color:#c6d8df;font-size:11px;font-weight:750}.spotlight-participant.acted{border-color:#64e1a77a;color:#aaf3c9}.spotlight-participant.passed{border-color:#f7cf687a;color:#f4d98a}.spotlight-participant.unavailable{opacity:.56}.view-toggle-cluster{display:flex;align-items:center;gap:6px;min-height:50px;border-radius:10px;padding:6px;background:#0a1015d1;border:1px solid rgba(205,217,226,.14);box-shadow:0 10px 30px #00000061}.chrome-toggle{min-height:36px;padding:0 11px;border-radius:8px;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#cfd8df;background:#ffffff0a;border:1px solid rgba(205,217,226,.16)}.chrome-toggle.active{color:#fff;border-color:#e6bf58c7;background:#e6bf582e}.zoom-cluster{display:flex;align-items:center;gap:8px;min-height:50px;border-radius:10px;padding:6px;font-weight:850;letter-spacing:.06em}.chrome-button{width:42px;height:42px}.display-scene-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border-radius:10px;border-color:#e6bf58;color:#fff;padding:0 22px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.token{position:absolute;z-index:30;display:grid;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:999px;background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9);padding:4px;overflow:visible;touch-action:none;box-shadow:0 7px 20px #0000006b}.token.selected{outline:3px solid #e6bf58;outline-offset:2px}.token.current-turn{border-color:#ffca6efa;animation:current-turn-pulse 1.8s ease-in-out infinite}.token.targeted{border-color:#ff4e4ef5}.token.unconscious-token{filter:saturate(.65) brightness(.82)}.token.unconscious-token:before{content:"DOWN";position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%) rotate(-11deg);border:1px solid rgba(255,255,255,.72);border-radius:5px;background:#7a1622eb;color:#fff;padding:2px 5px;font-size:10px;font-weight:950;letter-spacing:.08em;pointer-events:none}.token-target-ring{position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border:3px solid rgba(255,70,70,.88);border-radius:999px;box-shadow:0 0 0 4px #ff46461a,0 0 26px #ff46466b;pointer-events:none;animation:target-ring-pulse 1.2s ease-in-out infinite}.token-target-number{position:absolute;right:-9px;top:-13px;z-index:5;min-width:19px;height:19px;border:2px solid rgba(255,255,255,.94);border-radius:999px;background:#f01d3f;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:950;line-height:1;box-shadow:0 5px 14px #00000073;pointer-events:none}@keyframes target-ring-pulse{0%,to{transform:scale(.96);opacity:.72}50%{transform:scale(1.08);opacity:1}}@keyframes current-turn-pulse{0%,to{box-shadow:0 7px 20px #0000006b,0 0 #ff972b2e,0 0 18px #ff8b1b47}50%{box-shadow:0 7px 20px #0000006b,0 0 0 12px #ff972b1a,0 0 34px #ff8b1b7a}}.token.hidden-token{opacity:.45;filter:grayscale(.7);border-style:dashed}.token-initials{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:850;pointer-events:none}.token b{position:absolute;right:2px;bottom:2px;min-width:18px;height:18px;border-radius:999px;background:#111820;border:1px solid #ffffff;font-size:11px;line-height:16px;pointer-events:none}.token-usage-stack{position:absolute;left:-8px;top:-10px;z-index:5;display:grid;grid-template-columns:repeat(2,17px);gap:3px;pointer-events:none}.token-usage-stack i{display:grid;place-items:center;width:17px;height:17px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#0b1117f0;color:#ffd9a1;font-size:8px;font-style:normal;font-weight:950;line-height:1;box-shadow:0 5px 12px #00000073}.token-condition-stack{position:absolute;right:-8px;top:-10px;z-index:5;display:grid;grid-template-columns:repeat(2,18px);gap:3px;pointer-events:none}.token-condition-badge{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(255,255,255,.72);border-radius:6px;background:#111820eb;color:#fff;font-size:8px;font-style:normal;font-weight:950;line-height:1;box-shadow:0 5px 12px #00000073}.token-condition-badge.condition-prone,.token-condition-badge.condition-restrained{background:#7a5d18f0}.token-condition-badge.condition-stunned,.token-condition-badge.condition-poisoned{background:#772836f0}.token-condition-badge.condition-invisible,.token-condition-badge.condition-concentrating{background:#1f5c68f0}.token-hp-bar{position:absolute;left:50%;bottom:-14px;width:min(70px,calc(100% + 14px));height:6px;transform:translate(-50%);overflow:hidden;border-radius:999px;background:#04080ce0;border:1px solid rgba(255,255,255,.68);box-shadow:0 2px 7px #0000008c;pointer-events:none}.token-hp-bar i{display:block;height:100%;border-radius:inherit}.token-hp-bar.healthy i{background:#39c46b}.token-hp-bar.hurt i{background:#e6bf58}.token-hp-bar.critical i{background:#ef233c}.token-name-label{position:absolute;left:50%;bottom:-34px;max-width:140px;transform:translate(-50%);overflow:hidden;border-radius:5px;padding:2px 6px;background:#050a0ec7;color:#f7fbff;font-size:11px;font-weight:850;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.85);pointer-events:none}.token:not(.show-hp) .token-name-label{bottom:-20px}.token.dead-token:before,.token.dead-token:after{content:"";position:absolute;left:15%;right:15%;top:50%;z-index:2;height:5px;border-radius:999px;background:#ff233f;box-shadow:0 0 0 1px #ffffff73,0 2px 8px #0000008c;pointer-events:none}.token.dead-token:before{transform:rotate(45deg)}.token.dead-token:after{transform:rotate(-45deg)}.drag-readout{position:absolute;z-index:6;transform:translate(10px,-10px);padding:5px 7px;background:#111820;color:#fff;border:1px solid #e6bf58;border-radius:6px;font-size:12px;pointer-events:none}.selected-token-chip{position:fixed;left:50%;bottom:var(--bottom-control-lane);z-index:var(--z-bottom-chip);width:min(660px,calc(100vw - 32px));transform:translate(-50%);display:flex;align-items:center;gap:8px;border:1px solid rgba(230,191,88,.62);border-radius:12px;background:#0c1217f0;box-shadow:0 18px 50px #0000007a;padding:8px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.selected-token-chip.floating{bottom:auto;transform:none}.selected-token-chip.vertical{width:min(300px,calc(100vw - 20px));align-items:stretch;flex-wrap:wrap}.selected-token-drag-handle{width:26px;align-self:stretch;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#ffffff0b;color:#c8d3dc;cursor:grab;touch-action:none}.selected-token-drag-handle:active{cursor:grabbing}.selected-token-summary{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:9px;border:0;border-radius:9px;background:#ffffff0b;color:#eef4f8;padding:6px 8px;text-align:left}.selected-token-summary:disabled{opacity:1}.selected-token-dismiss{width:44px;min-height:44px;flex:0 0 44px;display:grid;place-items:center;gap:2px;border:1px solid rgba(255,159,169,.36);border-radius:9px;background:#ef3d4f1a;color:#ffd0d6;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.selected-token-dismiss:hover{border-color:#ff9fa9c7;background:#ef3d4f33}.selected-token-avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:2px solid rgba(230,191,88,.74);border-radius:999px;background-size:cover;background-position:center;color:#fff;font-size:12px;font-weight:950;box-shadow:0 0 0 2px #05090dbd}.selected-token-copy{min-width:0;flex:1 1 auto;display:grid;gap:3px}.selected-token-copy strong,.selected-token-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-token-copy strong{color:#fff;font-size:14px;font-weight:950}.selected-token-copy span{color:#aeb8c2;font-size:12px}.selected-token-hp{width:100%;height:5px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14}.selected-token-hp b{display:block;height:100%;border-radius:inherit;background:#55cf84}.selected-token-hp.bloodied b{background:#e6bf58}.selected-token-hp.critical b{background:#ef3d4f}.selected-token-actions{flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:5px}.selected-token-chip.vertical .selected-token-summary{flex:1 1 calc(100% - 34px)}.selected-token-chip.vertical .selected-token-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.selected-token-actions button{width:48px;min-height:44px;display:grid;place-items:center;gap:2px;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#ffffff0b;color:#eef4f8;padding:5px;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.selected-token-actions button:hover:not(:disabled){border-color:#e6bf589e;background:#e6bf5824}.selected-token-actions button:disabled{opacity:.45}.selected-token-close{color:#ffd0d6}.token-context-menu{position:fixed;z-index:var(--z-map-popover);width:228px;max-width:calc(100vw - 24px);display:grid;gap:2px;border:1px solid rgba(205,217,226,.2);border-radius:10px;padding:7px;background:#f7f9fbf7;box-shadow:0 20px 56px #00000061;color:#1f2730;overflow-y:auto;overscroll-behavior:contain}.token-context-menu button{min-height:34px;display:flex;align-items:center;gap:9px;border:0;border-radius:7px;padding:7px 8px;background:transparent;color:#202832;font-size:13px;font-weight:850;text-align:left}.token-context-menu button:hover:not(:disabled){background:#20283214}.token-context-menu button:disabled{color:#a8afb7}.token-context-menu .danger-action{color:#d3384a}.token-context-divider{height:1px;margin:4px 2px;background:#20283229}.panel,.toolbar,.empty-state,.notice-bar{background:transparent;border:0}.panel,.empty-state{padding:0}.panel,.panel *,.toolbar,.toolbar *{min-width:0}.panel h2{margin:0 0 10px;font-size:16px;letter-spacing:0}.panel label,.toolbar label{display:grid;gap:4px;color:#c5ced7;font-size:12px;font-weight:750}.panel input,.panel select,.toolbar input,.toolbar select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:#050a0e75;color:#f3f6f8}.panel input:focus,.panel select:focus,.toolbar input:focus,.toolbar select:focus,.action-tab-panel input:focus,.action-tab-panel select:focus{outline:2px solid rgba(59,194,190,.42);outline-offset:1px;border-color:#3bc2bead}.toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.toolbar-wide,.toolbar-section-title{grid-column:1 / -1}.toolbar-section-title{margin:8px 0 0;padding-top:12px;border-top:1px solid rgba(205,217,226,.14);color:#f2f5f7;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.grid-calibration{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:10px;background:linear-gradient(135deg,#2f7d8024,#090e137a),#ffffff08}.grid-calibration-heading,.grid-calibration-help,.calibration-mode-switch,.calibration-presets,.calibration-points{grid-column:1 / -1}.grid-calibration-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid-calibration-heading div{display:grid;gap:2px;min-width:0}.grid-calibration-heading strong{color:#f3f6f8;font-size:13px;font-weight:900}.grid-calibration-heading span,.grid-calibration-help,.calibration-points span{color:#aebbc5;font-size:12px;font-weight:750}.grid-calibration-help{margin:0;line-height:1.35}.reference-drawer{display:grid;gap:12px}.reference-search{display:grid;gap:9px}.reference-filter-row{display:flex;flex-wrap:wrap;gap:7px}.pill{border:1px solid rgba(205,217,226,.14);border-radius:999px;background:#ffffff0f;color:#d6dee5;padding:6px 10px;font-size:11px;font-weight:900;letter-spacing:.02em}.pill.active{border-color:#ef233c;background:#ef233c;color:#fff}.reference-section,.reference-reader{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(205,217,226,.14)}.reference-section h3,.reference-reader h3{margin:0;font-size:15px;letter-spacing:0}.reference-section-heading,.reference-reader-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.reference-reader-header small,.reference-source-card small,.stl-map-card small{color:#aab6c1;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.reference-link{color:#8bd8d5;font-size:12px;font-weight:850}.reference-text{max-height:42vh;overflow-y:auto;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#050a0e6b;color:#dce5ec;scrollbar-width:thin}.reference-text p{margin:0 0 10px;font-size:13px;line-height:1.48}.reference-results,.stl-map-results{display:grid;gap:8px}.reference-source-card,.stl-map-card{width:100%;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:linear-gradient(135deg,#ffffff0e,#ffffff05),#090e13bd;color:#eff4f7}.reference-source-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;text-align:left}.reference-source-card:hover,.stl-map-card:hover{border-color:#3bc2be8f}.reference-source-card span:first-child,.stl-map-card div{display:grid;gap:3px;min-width:0}.reference-source-card strong,.stl-map-card strong{overflow:hidden;color:#fff;font-size:13px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.reference-source-card em,.stl-map-card span{overflow:hidden;color:#b8c3cc;font-size:12px;font-style:normal;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.reference-count{display:grid;place-items:center;min-width:28px;height:28px;border-radius:999px;background:#ef233c2e;color:#ffd8dd;font-size:12px;font-weight:950}.stl-map-card{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:9px}.stl-map-card img,.stl-map-placeholder{width:86px;height:62px;border-radius:7px;border:1px solid rgba(255,255,255,.12);object-fit:cover;background:#ffffff0d}.stl-map-placeholder{display:grid;place-items:center;color:#aebbc5;font-size:11px;font-weight:900;text-transform:uppercase}.stl-map-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:5px}.calibration-mode-switch,.calibration-presets{display:grid;gap:7px}.calibration-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr))}.calibration-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.calibration-mode-switch button,.calibration-presets button{min-height:38px;border:1px solid rgba(205,217,226,.16);border-radius:8px;background:#ffffff0b;color:#dfe7ed;font-size:12px;font-weight:900}.calibration-mode-switch button.active,.calibration-presets button:active{border-color:#e6bf58c2;background:#e6bf582e;color:#fff}.calibration-points{display:grid;gap:5px;min-height:26px}.calibration-points span{border:1px solid rgba(205,217,226,.12);border-radius:8px;padding:6px 8px;background:#050a0e61}.check-row{grid-template-columns:18px auto;align-items:center;align-self:end;padding-bottom:8px}.check-row input{width:18px}.discord-post-panel{display:grid;gap:7px;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:10px;background:linear-gradient(135deg,#3bc2be1a,#080d1280),#ffffff08}.discord-post-note{margin:0 0 2px;color:#b7c4cc;font-size:12px;font-weight:750;line-height:1.35}.discord-post-note.warning{color:#ffd98f}.discord-channel-row{display:grid;gap:5px;padding:8px;border:1px solid rgba(255,217,143,.18);border-radius:9px;background:#ffd98f0b}.discord-channel-row span{color:#f3f6f8;font-size:12px;font-weight:900}.discord-channel-row input{width:100%;min-width:0}.discord-post-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;padding:8px;border:1px solid rgba(205,217,226,.1);border-radius:9px;background:#ffffff09}.discord-post-row input{width:18px;margin-top:2px}.discord-post-row span{display:grid;gap:2px;min-width:0}.discord-post-row strong{color:#f3f6f8;font-size:12px;font-weight:950}.discord-post-row small{color:#9fabba;font-size:11px;font-weight:720;line-height:1.3}.bulk-token-panel,.user-management-panel,.layer-preset-grid{display:grid;gap:8px}.bulk-token-panel,.user-management-panel,.layer-stage-panel{grid-template-columns:1fr;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:10px;background:linear-gradient(135deg,#3bc2be1f,#080d127a),#ffffff09}.bulk-token-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bulk-token-heading div{display:grid;gap:2px;min-width:0}.bulk-token-heading strong{color:#f4f7f9;font-size:13px;font-weight:950}.bulk-token-heading span{color:#aebbc5;font-size:11px;font-weight:800;line-height:1.3}.bulk-token-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bulk-token-actions .button{min-height:38px;padding-inline:8px}.user-management-list{display:grid;gap:7px}.user-management-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid rgba(205,217,226,.1);border-radius:9px;background:#ffffff09}.user-management-avatar{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#3bc2be3d center / cover no-repeat;color:#f7fbfc;font-size:12px;font-weight:950}.user-management-main{display:grid;gap:2px;min-width:0}.user-management-main strong,.user-management-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-management-main strong{color:#f4f7f9;font-size:13px;font-weight:950}.user-management-main small{color:#9fabba;font-size:11px;font-weight:720}.user-management-row .mini-button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.layer-stage-panel div{display:grid;gap:2px}.layer-stage-panel strong{color:#f3f6f8;font-size:13px}.layer-stage-panel span{color:#aebbc5;font-size:12px;font-weight:750}.layer-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.layer-preset{display:grid;min-height:72px;align-content:start;gap:4px;border:1px solid rgba(205,217,226,.15);border-radius:9px;padding:10px;text-align:left;background:#ffffff0a;color:#eef3f6}.layer-preset b{font-size:13px;font-weight:950}.layer-preset span{color:#aebbc5;font-size:11px;font-weight:750;line-height:1.25}.layer-preset.fog{border-color:#a8b1bc3b;background:linear-gradient(135deg,#05080cad,#ffffff0a)}.layer-preset.light{border-color:#ffb34752;background:radial-gradient(circle at top right,#ffb3472e,#ffffff0a 58%)}.layer-preset.template{border-color:#ef233c59;background:linear-gradient(135deg,#ef233c1f,#ffffff0a)}.layer-preset.effect{border-color:#76e4f757;background:linear-gradient(135deg,#76e4f71f,#ffffff0a)}.layer-list{display:grid;gap:8px}.layer-row{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:center;min-width:0;padding:8px;border:1px solid rgba(205,217,226,.13);border-radius:8px;background:#ffffff09}.layer-row.selected{border-color:#e6bf5894;background:#e6bf581a}.layer-swatch{width:14px;height:14px;border:1px solid rgba(255,255,255,.55);border-radius:4px;box-shadow:0 0 12px currentColor}.layer-row-main{display:grid;gap:2px;min-width:0}.layer-row-main b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:850}.layer-row-main small,.layer-row small{color:#9ba8b3;font-size:11px;font-weight:800;text-transform:uppercase}.layer-row-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.layer-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:8px;background:#ffffff0a}.layer-editor-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px}.layer-editor-heading strong{color:#f3f6f8;font-size:13px;text-transform:capitalize}.layer-editor input[type=color]{min-height:39px;padding:4px}.layer-quick-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.mini-button{min-height:28px;border-radius:7px;padding:0 8px;font-size:11px;font-weight:850}.mini-button.active{border-color:#3bc2becc;background:#3bc2be29}.mini-button.danger{border-color:#ef233c59;color:#ffd3d8}.file-button{align-self:end;overflow:hidden;position:relative}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.encounter-list,.monster-results{display:grid;gap:8px}.creature-drop-config{display:grid;gap:10px;margin-top:10px;padding:11px;border:1px solid rgba(118,228,247,.3);border-radius:10px;background:linear-gradient(135deg,#112d36d1,#0a1015b8)}.monster-drag-hint{margin:10px 0 0;color:#9fcbd1;font-size:11px;font-weight:750}.creature-drop-config label{display:grid;gap:5px;color:#dce9ee;font-size:12px;font-weight:850}.creature-drop-preview{display:flex;align-items:center;gap:9px;min-width:0}.creature-drop-preview>span:last-child{display:grid;gap:2px;min-width:0}.creature-drop-preview strong,.creature-drop-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creature-drop-preview small{color:#aac0ca;font-size:11px}.monster-row{grid-template-columns:auto auto 1fr;align-items:center}.monster-row[draggable=true]{cursor:grab}.monster-row[draggable=true]:active{cursor:grabbing}.monster-drag-handle{display:inline-flex;align-items:center;color:#b0cdd6ad}.monster-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:999px;background:#35424c;background-size:cover;background-position:center;color:#fff;font-weight:900}.monster-row-copy{display:grid;gap:2px;min-width:0}.list-row{width:100%;display:grid;gap:3px;text-align:left;border:1px solid rgba(205,217,226,.16);border-radius:8px;background:#ffffff0b;color:#eef3f6;padding:10px}.list-row.selected{border-color:#e6bf58;background:#e6bf581f}.list-row strong,.list-row span{overflow-wrap:anywhere}.list-row span{color:#aab4be;font-size:12px}.encounter-list-row{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;gap:7px;border:1px solid rgba(205,217,226,.16);border-radius:9px;background:#ffffff0b;padding:5px}.encounter-list-row.selected{border-color:#e6bf58;background:#e6bf581f}.encounter-open-button,.encounter-delete-button{border:0;border-radius:7px;color:#eef3f6;background:transparent;font:inherit}.encounter-open-button{display:grid;gap:3px;min-width:0;padding:6px 7px;text-align:left}.encounter-open-button:hover{background:#ffffff0e}.encounter-open-button strong,.encounter-open-button span{overflow-wrap:anywhere}.encounter-open-button span{color:#aab4be;font-size:12px}.encounter-delete-button{display:grid;place-items:center;color:#ffb6bf;border:1px solid rgba(239,35,60,.22);background:#ef233c14}.encounter-delete-button:hover{color:#fff;border-color:#ef233c7a;background:#ef233c38}.encounter-delete-button:disabled{opacity:.45}.segmented,.two-col,.three-col{display:grid;gap:8px}.segmented{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.segmented button{border:1px solid rgba(205,217,226,.16);background:#ffffff0d;color:#dbe3ea;border-radius:8px;padding:8px;text-transform:capitalize}.segmented button.active{background:#ef233c;color:#fff;border-color:#ef233c}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.saved-token-preview{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;margin-top:10px;padding:10px;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#ffffff0b}.saved-token-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:220px;margin-top:8px;overflow-y:auto;padding-right:2px}.saved-token-option{min-width:0;display:flex;align-items:center;gap:8px;border:1px solid rgba(205,217,226,.13);border-radius:9px;padding:8px;background:#ffffff0a;color:#eef5f8;text-align:left}.saved-token-option:hover,.saved-token-option.selected{border-color:#e6bf58b3;background:#e6bf581f}.saved-token-option>span:last-child{display:grid;gap:2px;min-width:0}.saved-token-option strong,.saved-token-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-token-option small{color:#aeb8c2;font-size:11px}.saved-token-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;border:2px solid rgba(255,255,255,.72);background-size:cover;background-position:center;color:#fff;font-weight:900}.saved-token-avatar.compact{width:34px;height:34px;border-width:1px;font-size:12px;flex:0 0 auto}.saved-token-preview div{display:grid;gap:3px;min-width:0}.saved-token-preview strong,.saved-token-preview small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-token-preview small{color:#aeb8c2;font-size:12px}.panel>label,.panel .two-col,.panel .three-col,.panel .condition-picks,.panel .monster-results,.panel .token-editor-block,.panel .button.full{margin-top:8px}.token-editor-block{display:grid;gap:9px;padding:10px 0 0;border:0;border-top:1px solid var(--line);background:transparent}.token-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.owner-hint{align-self:end;margin:0;border:1px solid rgba(59,194,190,.26);border-radius:8px;padding:9px 10px;color:#b7d8da;background:#3bc2be14;font-size:12px;font-weight:800}.compact-results{max-height:250px;overflow-y:auto}.token-stats,.condition-row,.condition-picks{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.token-stats{margin-bottom:7px}.token-primary-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:7px;margin:10px 0 8px}.tracked-effects{display:grid;gap:7px;margin:9px 0 2px;border:1px solid rgba(124,131,255,.35);border-radius:10px;padding:9px;background:linear-gradient(135deg,#7c83ff21,#3bc2be0e)}.concentration-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:9px 0 2px;border:1px solid rgba(59,194,190,.38);border-radius:10px;padding:9px;background:linear-gradient(135deg,#3bc2be21,#7c83ff0f)}.concentration-card>div{display:grid;min-width:0;gap:2px}.concentration-card span{color:#9ce6e3;font-size:10px;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.concentration-card strong{overflow:hidden;color:#f2ffff;font-size:12px;line-height:1.3;text-overflow:ellipsis}.concentration-card .button{flex:0 0 auto;min-height:31px;padding:5px 8px;font-size:11px}.tracked-effects>header,.tracked-effects article{display:flex;align-items:center;justify-content:space-between;gap:9px}.tracked-effects>header span{color:#d9ddff;font-size:11px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.tracked-effects>header b{min-width:21px;border-radius:999px;padding:2px 6px;background:#7c83ff3d;color:#fff;text-align:center;font-size:11px}.tracked-effects article{align-items:flex-start;border-top:1px solid rgba(205,217,226,.14);padding-top:7px}.tracked-effects article>div{display:grid;min-width:0;gap:2px}.tracked-effects strong{color:#f4f6ff;font-size:12px}.tracked-effects small{color:#bbc6df;font-size:11px;line-height:1.3}.tracked-effects .button{flex:0 0 auto;min-height:31px;padding:5px 8px;font-size:11px}.token-primary-actions .button{min-height:38px;padding:7px 8px;font-size:12px;font-weight:900}.token-visibility-card{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;border:1px solid rgba(205,217,226,.14);border-radius:10px;padding:9px;background:#ffffff0a}.token-visibility-card.hidden{border-color:#e6bf586b;background:#e6bf581c}.token-visibility-card.visible{border-color:#4ac68957;background:#4ac68914}.token-visibility-card div{display:grid;gap:2px;min-width:0}.token-visibility-card strong{color:#f5f8fb;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.token-visibility-card span{color:#b9c5ce;font-size:12px}.token-visibility-card .button{flex:0 0 auto;min-height:34px;padding:6px 10px}.token-effects-panel,.effect-token-presets{display:grid;gap:10px;margin:10px 0 12px;border:1px solid rgba(205,217,226,.14);border-radius:10px;padding:11px;background:linear-gradient(180deg,#7c83ff13,#ffffff06)}.effect-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.aura-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) 82px 52px 84px;gap:7px;align-items:end}.aura-editor-grid label{min-width:0}.aura-editor-grid input[type=color]{min-height:38px;padding:3px}.aura-list{display:flex;flex-wrap:wrap;gap:6px}.aura-list span{display:inline-grid;grid-template-columns:minmax(0,auto) auto 24px;align-items:center;gap:6px;min-height:30px;border:1px solid color-mix(in srgb,var(--aura-color, #7c83ff) 60%,rgba(205,217,226,.2));border-radius:999px;background:color-mix(in srgb,var(--aura-color, #7c83ff) 16%,rgba(255,255,255,.035));color:#eef4ff;padding:3px 4px 3px 9px}.aura-list b,.aura-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aura-list b{font-size:11px;font-weight:950}.aura-list small{color:#b9c5ce;font-size:10px;font-weight:850}.aura-list button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:999px;background:#060a0e75;color:#fff}.hp-manager{margin:10px 0 12px;border:1px solid rgba(205,217,226,.14);border-radius:10px;padding:11px;background:linear-gradient(180deg,#ffffff0e,#ffffff06)}.hp-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.hp-manager-heading h3{margin:0;color:#f3f7fa;font-size:13px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.button.small{min-height:30px;padding:5px 9px;font-size:11px}.hp-vitals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.hp-field,.hp-delta{display:grid;gap:4px}.hp-field span,.hp-delta span{color:#aab5bf;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.hp-field input,.hp-delta input{width:100%;min-width:0;border:1px solid rgba(205,217,226,.22);border-radius:7px;background:#05090d6b;color:#f8fbfd;padding:8px;font-size:18px;font-weight:900;text-align:center}.hp-field.current input{border-color:#d84040d1}.hp-field.temp input{border-color:#68d391cc}.hp-field.ac input{border-color:#9ab9ffd1}.hp-adjust-grid{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px;gap:8px;align-items:end;margin-top:10px}.hp-delta small{min-height:16px;color:#aeb8c2;font-size:11px}.hp-delta small strong{color:#fff}.hp-adjust-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid transparent;border-radius:8px;color:#fff}.hp-adjust-button.heal{border-color:#5fcc8ea6;background:#2a9863cc}.hp-adjust-button.harm{border-color:#ef233cb3;background:#be2834e0}.hp-adjust-button:disabled{opacity:.45}.combat-usage-strip{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.panel-usage-strip{margin:0 0 9px}.combat-usage-strip span{display:inline-flex;align-items:center;min-height:23px;border:1px solid rgba(95,204,142,.28);border-radius:999px;background:#5fcc8e1a;color:#caf3db;padding:3px 7px;font-size:11px;font-weight:900;text-transform:uppercase}.combat-usage-strip span.used{border-color:#ef233c66;background:#ef233c26;color:#ffd2d8}.action-economy-editor{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.owner-line{margin:0 0 9px;color:#aeb8c2;font-size:12px}.owner-line strong{color:#eef5f8}.owned-token-list{display:grid;gap:9px;margin-top:10px}.owned-token-list article{display:grid;gap:7px;border:1px solid var(--line);border-radius:8px;background:#ffffff09;padding:8px}.owned-token-list article>button:first-child{min-width:0;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#eef5f8;padding:0;text-align:left}.owned-token-list article>button:first-child span:last-child{min-width:0;display:grid;gap:2px}.owned-token-list strong,.owned-token-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owned-token-list small{color:#aeb8c2;font-size:12px}.owned-token-avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:999px;background-size:cover;background-position:center;color:#fff;font-size:12px;font-weight:950}.token-stats span,.condition-row span,.condition-picks button{border:1px solid var(--line);background:#ffffff0e;color:#f0f4f7;border-radius:7px;padding:5px 8px;font-size:12px;font-weight:800}.condition-picks button{color:#d6dee6}.condition-picks button.active{color:#fff;border-color:#e6bf58c7;background:#e6bf582e}.layer-note{margin:0;border:1px solid rgba(230,191,88,.4);border-radius:8px;background:#e6bf581f;color:#ffe5a3;padding:8px 10px;font-size:13px}.sheet-summary{display:grid;gap:8px;margin-top:12px}.sheet-summary div{display:flex;align-items:center;gap:8px;min-width:0;color:#cbd5dd;font-size:13px}.initiative-list{display:grid;gap:8px}.initiative-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.initiative-controls .button{min-height:38px;padding:6px 8px;font-size:12px}.initiative-controls .button.primary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initiative-controls .end-turn-button{grid-column:span 2}.initiative-player-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,auto);align-items:center;gap:10px;margin-bottom:10px}.initiative-player-controls .end-turn-button{white-space:nowrap}.initiative-current-turn{margin:0;color:#d7e0e8;font-size:13px;font-weight:850}.initiative-row{display:grid;grid-template-columns:28px 38px minmax(0,1fr) 54px 52px 56px 56px;align-items:center;gap:8px;border:1px solid rgba(205,217,226,.14);border-radius:8px;background:#ffffff0b;padding:8px}.initiative-panel.player-view .initiative-row{grid-template-columns:28px 38px minmax(0,1fr) 54px 56px}.initiative-row.defeated{opacity:.6}.initiative-row.active-turn{border-color:#ff972bb8;background:radial-gradient(circle at 18% 50%,rgba(255,151,43,.18),transparent 42%),#ffffff0e;box-shadow:0 0 24px #ff972b24}.initiative-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#e6bf5824;color:#ffe5a3;font-size:12px;font-weight:900}.initiative-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background-size:cover;background-position:center;color:#fff;font-size:12px;font-weight:900}.initiative-copy{display:grid;gap:2px;min-width:0}.initiative-copy strong,.initiative-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.initiative-copy span{color:#aeb8c2;font-size:12px}.initiative-row input{width:100%;text-align:center;padding-inline:6px}.initiative-score{display:grid;place-items:center;min-height:36px;border:1px solid rgba(205,217,226,.13);border-radius:8px;background:#050a0e4d;color:#f4f7f8;font-size:15px}.initiative-row .button{min-height:36px;padding:6px 8px;font-size:12px}.initiative-row .set-turn-button{color:#ffe2ad;border-color:#ff972b52}.encounter-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-critical-overlay);display:grid;place-items:center;padding:20px;background:#04080ca8;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.encounter-guide{width:min(790px,calc(100vw - 40px));max-height:min(800px,calc(100vh - 40px));overflow:auto;border:1px solid rgba(118,228,247,.36);border-radius:16px;color:#edf5f8;background:radial-gradient(circle at 10% 0%,rgba(64,188,201,.2),transparent 36%),linear-gradient(155deg,#15252cfa,#090e13fb);box-shadow:0 34px 115px #000000b8}.encounter-guide-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px 16px;border-bottom:1px solid rgba(205,217,226,.14)}.encounter-guide-header h2,.encounter-guide-header p,.encounter-guide-next h3,.encounter-guide-next p,.encounter-guide-step h3,.encounter-guide-step p,.encounter-guide-footer{margin:0}.encounter-guide-header h2{margin-top:3px;color:#fff;font-size:25px;letter-spacing:0}.encounter-guide-subtitle{margin-top:5px!important;color:#aebdc6;font-size:13px}.encounter-guide-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.encounter-guide-status{display:inline-flex;align-items:center;min-height:28px;border:1px solid rgba(255,214,137,.36);border-radius:999px;padding:3px 9px;color:#ffe1a0;background:#ffbe431a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.encounter-guide-status.live{border-color:#53d5a56b;color:#b8f5d7;background:#36bd861f}.encounter-guide-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:16px 18px 0;border:1px solid rgba(104,220,235,.28);border-radius:13px;padding:15px 16px;background:linear-gradient(100deg,#238a942e,#07101626),#ffffff09}.encounter-guide-kicker{display:block;margin-bottom:4px;color:#8ae1ed;font-size:10px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.encounter-guide-next h3{color:#fff;font-size:17px;line-height:1.18}.encounter-guide-next p{margin-top:5px;max-width:580px;color:#c4d4db;font-size:13px;line-height:1.42}.encounter-guide-next .button{min-height:40px;white-space:nowrap}.encounter-guide-progress{display:grid;grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:11px;margin:14px 20px 10px;color:#a9bbc4;font-size:11px;font-weight:800}.encounter-guide-progress>div{height:6px;overflow:hidden;border-radius:999px;background:#cdd9e21f}.encounter-guide-progress>div>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4fc8d6,#8ce9c0);transition:width .18s ease}.encounter-guide-steps{display:grid;gap:7px;margin:0;padding:0 18px 16px;list-style:none}.encounter-guide-step{display:grid;grid-template-columns:29px 38px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:74px;border:1px solid rgba(205,217,226,.13);border-radius:11px;padding:10px;background:#ffffff09}.encounter-guide-step.active{border-color:#71e0ef94;background:linear-gradient(90deg,#3abfca29,#ffffff09);box-shadow:inset 3px 0 #78e1ed}.encounter-guide-step.complete{border-color:#5ad1a547}.encounter-guide-step-number,.encounter-guide-step-icon{display:grid;place-items:center;flex:0 0 auto}.encounter-guide-step-number{width:27px;height:27px;border:1px solid rgba(205,217,226,.2);border-radius:999px;color:#c3d2d9;background:#ffffff0f;font-size:10px;font-weight:950}.encounter-guide-step.complete .encounter-guide-step-number{border-color:#5bd7a68a;color:#baf5d7;background:#38ba842b}.encounter-guide-step-icon{width:36px;height:36px;border:1px solid rgba(205,217,226,.14);border-radius:9px;color:#8be4f1;background:#ffffff0b}.encounter-guide-step h3{color:#fff;font-size:14px}.encounter-guide-step p{margin-top:3px;color:#b8c8d0;font-size:12px;line-height:1.35}.encounter-guide-step .button{min-width:112px;min-height:36px;padding-inline:10px;font-size:12px;white-space:nowrap}.encounter-guide-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px 18px;border-top:1px solid rgba(205,217,226,.12);color:#98abb6;font-size:11px;line-height:1.4}.encounter-guide-footer .button{flex:0 0 auto;white-space:nowrap}@media(max-width:820px){.encounter-guide-backdrop{place-items:end stretch;padding:8px}.encounter-guide{width:100%;max-height:min(760px,calc(100dvh - 16px));border-radius:16px}.encounter-guide-header{gap:10px;padding:16px 15px 12px}.encounter-guide-header h2{font-size:20px}.encounter-guide-subtitle{font-size:12px}.encounter-guide-header-actions{align-items:flex-start}.encounter-guide-status{display:none}.encounter-guide-next{grid-template-columns:1fr;gap:11px;margin:12px 12px 0;padding:13px}.encounter-guide-next .button{width:100%}.encounter-guide-progress{grid-template-columns:1fr;gap:6px;margin:13px 14px 9px}.encounter-guide-steps{gap:7px;padding:0 12px 12px}.encounter-guide-step{grid-template-columns:28px 36px minmax(0,1fr);gap:8px;padding:9px}.encounter-guide-step .button{grid-column:2 / -1;width:100%}.encounter-guide-footer{display:grid;padding:12px 14px 14px}.encounter-guide-footer .button{width:100%}}.help-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-critical-overlay);display:grid;place-items:center;padding:18px;background:#05080b75}.help-overlay{width:min(760px,calc(100vw - 36px));max-height:min(720px,calc(100vh - 44px));overflow:auto;border:1px solid rgba(205,217,226,.22);border-radius:8px;color:#ecf3f8;background:linear-gradient(135deg,rgba(46,126,127,.16),transparent 42%),#0b1016f5;box-shadow:0 28px 90px #00000094}.help-overlay,.help-overlay *{min-width:0}.help-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 12px;border-bottom:1px solid rgba(205,217,226,.16)}.help-overlay-header h2,.help-overlay-header p{margin:0}.help-overlay .eyebrow{margin-bottom:4px;color:#95a3ae;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.help-overlay-header h2{font-size:22px;letter-spacing:0}.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.help-section{padding:14px;border:1px solid rgba(205,217,226,.14);border-radius:8px;background:#ffffff09}.help-section h3{margin:0 0 12px;color:#fff;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.help-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.help-list li{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;align-items:start}.help-list strong{color:#ffd98f;font-size:13px;line-height:1.35}.help-list span{color:#cad3dc;font-size:13px;line-height:1.45}.help-overlay-footer{margin:0;padding:0 18px 16px;color:#aeb9c3;font-size:12px}.help-overlay kbd{display:inline-flex;min-width:22px;justify-content:center;margin:0 2px;padding:2px 6px;border:1px solid rgba(205,217,226,.24);border-radius:6px;color:#fff;background:#ffffff14;font:inherit;font-weight:850}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-critical-overlay);display:grid;place-items:start center;padding:min(16vh,150px) 18px 18px;background:#04080c94;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.command-palette{width:min(680px,100%);max-height:min(680px,calc(100vh - 40px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(121,220,234,.36);border-radius:16px;background:radial-gradient(circle at 12% 0%,rgba(69,185,200,.16),transparent 42%),#0a1117fa;box-shadow:0 30px 110px #000000ad}.command-palette header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 12px}.command-palette header p,.command-palette header h2{margin:0}.command-palette header h2{color:#fff;font-size:20px;letter-spacing:0}.command-palette-search{min-height:48px;display:flex;align-items:center;gap:9px;margin:0 18px 10px;border:1px solid rgba(205,217,226,.24);border-radius:10px;background:#ffffff0e;color:#aebdca;padding:0 11px}.command-palette-search input{min-width:0;width:100%;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:14px}.command-palette-search input::placeholder{color:#cdd9e28f}.command-palette-search kbd,.command-palette-footer kbd{display:inline-flex;justify-content:center;border:1px solid rgba(205,217,226,.22);border-radius:5px;color:#e6f0f6c7;background:#ffffff0f;padding:2px 5px;font-family:inherit;font-size:10px;font-weight:850;white-space:nowrap}.command-palette-results{display:grid;align-content:start;gap:5px;min-height:0;overflow:auto;padding:0 10px 10px}.command-palette-result{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#ecf4f8;padding:8px;text-align:left}.command-palette-result:hover:not(:disabled),.command-palette-result:focus-visible:not(:disabled){border-color:#6fddeb75;background:#57cddb1c;outline:0}.command-palette-result:disabled{opacity:.52}.command-palette-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(205,217,226,.15);border-radius:9px;color:#8be4f1;background:#ffffff0b}.command-palette-result>span:nth-child(2){min-width:0;display:grid;gap:2px}.command-palette-result strong{color:#fff;font-size:13px}.command-palette-result small,.command-palette-result em{color:#aebdca;font-size:11px;font-style:normal;line-height:1.35}.command-palette-result em{color:#ffe3a4;font-weight:850}.command-palette-empty{margin:18px 8px;color:#b8c5ce;font-size:13px}.command-palette-footer{margin:0;padding:10px 18px 14px;border-top:1px solid rgba(205,217,226,.12);color:#91a1ac;font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:stretch;justify-content:flex-start;background:#05080b5c;padding:0}.danger-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:18px;background:#05080b94;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.danger-dialog{width:min(460px,94vw);display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:16px;border:1px solid rgba(239,35,60,.55);border-radius:12px;color:#ffecef;background:linear-gradient(135deg,#ef233c33,#090d12f0 44%),#11181f;box-shadow:0 28px 90px #0000009e}.danger-dialog-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;color:#fff;background:#ef233c47;border:1px solid rgba(239,35,60,.62)}.danger-dialog-copy{display:grid;gap:6px;min-width:0}.danger-dialog-copy h2,.danger-dialog-copy p{margin:0}.danger-dialog-copy h2{color:#fff;font-size:20px;line-height:1.15;overflow-wrap:anywhere}.danger-dialog-copy p:not(.eyebrow){color:#ffd7dc;font-size:13px;line-height:1.45}.danger-dialog-warning,.danger-dialog-actions{grid-column:1 / -1}.danger-dialog-warning{padding:10px;border:1px solid rgba(239,35,60,.38);border-radius:9px;color:#ffe7a8;background:#ef233c1f;font-size:12px;font-weight:800;line-height:1.35}.danger-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.action-browser{width:min(500px,96vw);height:100vh;max-height:100vh;overflow:hidden;position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr);color-scheme:light;color:#1d2429;border:1px solid rgba(25,32,37,.28);border-left:0;border-radius:0 8px 8px 0;background:var(--paper);box-shadow:0 28px 90px #0000008c}.action-browser,.action-browser *{min-width:0}.action-browser-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(90deg,rgba(207,31,43,.2),transparent 42%),#2f363a}.action-browser-header h2,.action-browser-header p{margin:0}.action-browser-header p{margin-top:2px;color:#c7d0d7;font-size:12px}.action-restriction-note,.condition-restriction-note{margin:0;border:1px solid rgba(186,108,31,.42);border-radius:8px;background:#fff5deeb;color:#6d3d0a;font-size:12px;font-weight:750;line-height:1.35}.action-restriction-note{padding:8px 12px;border-width:0 0 1px;border-radius:0}.condition-restriction-note{padding:8px 10px}.turn-economy-note{margin:0;border-bottom:1px solid rgba(46,102,122,.24);background:#edf9f7;color:#1d5e61;padding:8px 12px;font-size:12px;font-weight:750;line-height:1.35}.turn-economy-note.compact{margin-top:8px;border:1px solid rgba(46,102,122,.24);border-radius:7px;padding:7px 9px}.target-range-note{margin:8px 0 0;border:1px solid rgba(51,109,150,.28);border-radius:7px;background:#edf7ff;color:#285575;padding:7px 9px;font-size:12px;font-weight:750;line-height:1.35}.target-range-note.invalid{border-color:#c2343d66;background:#fff0f1;color:#9d2731}.sheet-header-actions{display:inline-flex;align-items:center;gap:6px}.sheet-avatar{display:grid;place-items:center;width:44px;height:44px;border:2px solid rgba(235,244,250,.72);border-radius:6px;background-size:cover;background-position:center;color:#fff;font-weight:900;box-shadow:0 10px 22px #00000047}.sheet-header-copy{min-width:0;flex:1}.sheet-header-copy h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-vitals{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.sheet-vitals span{display:inline-flex;align-items:center;gap:4px;min-height:23px;border:1px solid rgba(205,217,226,.16);border-radius:5px;background:#ffffff0e;color:#dce5ec;padding:3px 6px;font-size:11px;font-weight:800}.action-browser .sheet-vitals span{border-color:#ffffff38;background:#ffffff14;color:#f7f8f9}.sheet-vitals b{color:#fff}.action-browser .combat-usage-strip span{border-color:#fff3;background:#5fcc8e29;color:#ecfff4}.action-browser .combat-usage-strip span.used{border-color:#ef233c59;background:#ef233c38;color:#ffe1e5}.action-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;overflow:visible;padding:7px 9px;border-bottom:1px solid var(--paper-line);background:#f4f6f6}.action-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:0;border:0;border-radius:6px;background:transparent;color:#44515b;padding:7px 4px;font-size:11px;font-weight:850;white-space:nowrap}.action-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.action-tabs button small{min-width:18px;height:18px;display:inline-grid;place-items:center;border-radius:999px;background:#4550581f;color:#5f6a72;font-size:10px;font-weight:950}.action-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 8px 18px #ef233c38}.action-tabs button.active small{background:#ffffff2e;color:#fff}.action-tab-panel{overflow-y:auto;overflow-x:hidden;padding:10px 10px 88px;background:linear-gradient(180deg,#e7ecef8c,#fbfbf800 82px),var(--paper);scrollbar-width:thin;scrollbar-color:#b7c1c8 transparent}.action-tab-panel label{display:grid;gap:4px;color:#56616a;font-size:12px;font-weight:750}.action-tab-panel input,.action-tab-panel select{width:100%;min-width:0;border:1px solid #ccd6dd;border-radius:7px;padding:8px 9px;background:#fff;color:#1d2429}.target-controls{position:sticky;top:-10px;z-index:4;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(124px,.65fr);gap:9px;border:1px solid #cfd9df;border-radius:7px;background:#f6f8f8f5;padding:8px;box-shadow:0 8px 18px #1f272d14}.chromatic-orb-type-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(138px,.5fr);align-items:center;gap:10px;border:1px solid rgba(198,139,42,.45);border-radius:7px;background:linear-gradient(135deg,#fff9e6f5,#f3f7f8f5);color:#5e4510;padding:8px 10px;font-size:12px;font-weight:950}.chromatic-orb-type-control select{border-color:#c68b2a7a;background:#fff;color:#1d2429}.multi-target-row{grid-column:1 / -1;display:grid;gap:6px}.multi-target-row>span{color:#65717a;font-size:11px;font-weight:850;letter-spacing:.02em;text-transform:uppercase}.multi-target-row>div{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.multi-target-row button{flex:0 0 auto;min-width:56px;max-width:116px;min-height:36px;border:1px solid #cfd9df;border-radius:999px;background:#fff;color:#1d2429;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;padding:5px 9px 5px 6px;font-size:11px;font-weight:850}.multi-target-row button:first-letter{text-transform:uppercase}.multi-target-row button>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:800;color:inherit}.multi-target-row button.active{border-color:#cf1f2b;background:#cf1f2b;color:#fff;box-shadow:0 0 0 2px #cf1f2b29}.multi-target-row .clear-targets-button{justify-self:start;min-width:0;min-height:28px;border-color:#d7dde2;background:#eef2f3;color:#56616a;padding:4px 10px;font-size:10px;text-transform:uppercase}.spell-browser-panel{display:grid;align-content:start;gap:10px}.spell-browser-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px 0 2px}.spell-browser-summary span{display:grid;place-items:center;gap:1px;border:1px solid #d8e0e5;border-radius:7px;background:#fff;color:#1d2429;padding:7px 5px}.spell-browser-summary b{font-size:17px;line-height:1}.spell-browser-summary small{color:#64707a;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.spell-browser-search input{min-height:36px;border-radius:6px;background:#fff}.spell-filter-tabs{display:flex;flex-wrap:wrap;gap:5px}.spell-filter-tabs button{min-height:27px;border:0;border-radius:5px;background:#e7ecef;color:#66727c;padding:4px 8px;font-size:10px;font-weight:950;text-transform:uppercase}.spell-filter-tabs button.active{background:#cf1f2b;color:#fff}.spell-detail-panel{display:grid;gap:10px;border:1px solid #d8e0e5;border-left:3px solid #cf1f2b;border-radius:7px;background:#fff;color:#1d2429;padding:10px}.spell-detail-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.spell-detail-panel header small{color:#66727c;font-size:10px;font-weight:850;text-transform:uppercase}.spell-detail-panel h3{margin:2px 0 0;color:#12171c;font-size:18px;font-style:italic;line-height:1.1}.spell-detail-panel header>div:last-child{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.spell-detail-panel button{min-height:31px;border:1px solid #cf1f2b;border-radius:5px;background:#fff;color:#cf1f2b;padding:5px 8px;font-size:10px;font-weight:950;text-transform:uppercase}.spell-detail-panel button.primary{background:#cf1f2b;color:#fff}.spell-detail-panel .spell-reference-button{border-color:#9aa7b1;color:#45515b}.spell-cast-guidance{margin:-2px 0 0;color:#4a5862;font-size:11px;font-weight:750;line-height:1.35}.spell-resolution-brief,.spell-resolution-result{display:grid;gap:8px;border:1px solid #d8e0e5;border-radius:7px;background:linear-gradient(135deg,#f8fafb,#fff);padding:9px}.spell-resolution-brief.ready{border-color:#197f5e6b;box-shadow:inset 3px 0 #197f5e}.spell-resolution-brief.needs-target{border-color:#c68b2a85;box-shadow:inset 3px 0 #c68b2a}.spell-resolution-brief.reference{border-color:#61707c59;box-shadow:inset 3px 0 #7b8790}.spell-resolution-brief-heading,.spell-resolution-result>header{display:flex;align-items:baseline;justify-content:space-between;gap:9px}.spell-resolution-brief-heading>span,.spell-resolution-result>header span,.spell-resolution-result>header>div>span{color:#66727c;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.spell-resolution-brief-heading strong,.spell-resolution-result>header strong{color:#182126;font-size:13px;font-weight:950}.spell-resolution-brief ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.spell-resolution-brief li{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:5px;align-items:center;border:1px solid #e0e7eb;border-radius:6px;background:#fff;padding:6px}.spell-resolution-brief li>b{grid-row:span 2;display:grid;place-items:center;width:17px;height:17px;border-radius:999px;background:#22333c;color:#fff;font-size:9px}.spell-resolution-brief li>span{color:#66727c;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.spell-resolution-brief li>strong{min-width:0;overflow-wrap:anywhere;color:#1d2429;font-size:10px;line-height:1.15}.spell-resolution-brief>p,.spell-resolution-result>p{margin:0;color:#4d5a63;font-size:11px;line-height:1.35}.spell-resolution-result{border-color:#1f547959;background:linear-gradient(135deg,#edf7fcf5,#fff)}.spell-resolution-result>header>div{display:grid;gap:1px}.spell-resolution-result>header>span{border:1px solid rgba(31,84,121,.23);border-radius:999px;background:#fffc;color:#1f5479;padding:3px 6px}.spell-resolution-outcomes{display:grid;gap:5px}.spell-resolution-outcomes article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:3px 7px;align-items:baseline;border:1px solid #d8e0e5;border-radius:6px;background:#fff;padding:7px 8px}.spell-resolution-outcomes article>strong{min-width:0;overflow:hidden;color:#1d2429;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.spell-resolution-outcomes article>span{color:#66727c;font-size:10px;font-weight:850}.spell-resolution-outcomes article>b{border-radius:999px;padding:3px 6px;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.spell-resolution-outcomes article.passed>b{background:#197f5e1f;color:#146b4e}.spell-resolution-outcomes article.failed>b{background:#cf1f2b1c;color:#a61929}.spell-resolution-outcomes article.pending>b{background:#c68b2a21;color:#815509}.spell-resolution-outcomes article.hit>b{background:#197f5e1f;color:#146b4e}.spell-resolution-outcomes article.critical>b{background:#7b45bd21;color:#63359d}.spell-resolution-outcomes article.miss>b{background:#61707c21;color:#55616a}.spell-resolution-outcomes article>small{grid-column:1 / -1;color:#4d5a63;font-size:10px;line-height:1.3}.resolution-decision-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.resolution-decision-actions button{flex:1 1 132px;min-height:32px;border:1px solid #126d59;border-radius:6px;background:#146b4e;color:#fff;font-size:10px;font-weight:950;letter-spacing:.02em;line-height:1.15}.resolution-decision-actions button.half{border-color:#a6771c;background:#fff7df;color:#724c06}.resolution-decision-actions button.legendary{border-color:#7041a8;background:#f4ecff;color:#5b278f}.resolution-decision-actions button.effect{border-color:#1f5479;background:#e8f5fc;color:#164767}.resolution-decision-actions button:disabled{cursor:wait;opacity:.55}.spell-detail-panel dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0}.spell-detail-panel dl>div{min-width:0;border:1px solid #e2e7eb;border-radius:6px;background:#f7f9fa;padding:6px}.spell-detail-panel dt{color:#66727c;font-size:9px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.spell-detail-panel dd{margin:2px 0 0;color:#1d2429;font-size:12px;font-weight:850;overflow-wrap:anywhere}.spell-detail-copy{display:grid;gap:8px;color:#1d2429;font-size:12px;line-height:1.45}.spell-detail-copy p{margin:0}.spell-level-section{display:grid;gap:5px}.spell-level-section+.spell-level-section{margin-top:13px}.spell-level-section h3{margin:0;color:#cf1f2b;font-size:12px;font-weight:950;letter-spacing:.05em;text-transform:uppercase}.spell-table{display:grid;border-top:1px solid #e2e7eb}.spell-table-head,.spell-table-row{display:grid;grid-template-columns:minmax(128px,1.35fr) 42px 62px 64px minmax(74px,.85fr);gap:8px;align-items:center}.spell-table-head{min-height:28px;color:#1d2429;padding:5px 8px;font-size:9px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.spell-table-row{width:100%;min-height:48px;border:0;border-bottom:1px solid #e2e7eb;background:#fff;color:#1d2429;padding:6px 8px;text-align:left}.spell-table-row:hover,.spell-table-row.selected{background:#fff8e6}.spell-table-row.selected{box-shadow:inset 3px 0 #cf1f2b}.spell-table-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#1d2429;font-size:12px;font-weight:750;white-space:nowrap}.spell-name-cell{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:center}.spell-name-cell small{color:#7d8a95;font-size:8px;font-weight:950;line-height:1.05;text-align:center;text-transform:uppercase}.spell-name-cell b{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#11171c;font-size:12px;font-style:italic;white-space:nowrap}.action-filter-tabs{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px;margin:10px 0 4px}.action-filter-tabs button{min-height:27px;border:0;border-radius:6px;background:#e7ecef;color:#64707a;padding:4px 7px;font-size:10px;font-weight:900;text-transform:uppercase}.action-filter-tabs button.active{background:#cf1f2b;color:#fff}.action-card-grid{display:grid;grid-template-columns:1fr;gap:6px;margin-top:8px}.action-browser .muted{color:#66727c}.action-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card{min-height:0;display:grid;align-content:start;gap:4px;border:1px solid #e0e5e8;border-left:2px solid transparent;border-radius:6px;background:#fff;color:#1d2429;padding:9px 10px;text-align:left;box-shadow:none}.action-card:hover{border-color:#e6bf58bf;border-left-color:#cf1f2b;background:#fff9e8}.action-card strong{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.18}.action-card span,.action-card em{min-width:0;overflow-wrap:anywhere;color:#5f6b75;font-size:11px;line-height:1.35}.action-card .action-badge-line{display:flex;align-items:center;gap:7px;color:#aeb8c2}.action-badge-line b{display:inline-flex;align-items:center;min-height:20px;border:1px solid rgba(230,191,88,.35);border-radius:999px;background:#e6bf581f;color:#7b5b14;padding:2px 7px;font-size:11px;font-weight:900}.action-badge-line small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-card small{min-width:0;overflow-wrap:anywhere;color:#66727c;font-size:10px;line-height:1.35}.action-card .card-action-hint{margin-top:2px;color:#7b5b14;font-weight:850}.action-card .action-card-resolution-hint{margin-top:1px;color:#63727c;font-weight:850}.action-card:disabled .action-card-resolution-hint{color:#9b6a11}.passive-card{cursor:default}.drawer-section-title{margin:13px 0 6px;font-size:12px;text-transform:uppercase;color:#cf1f2b;letter-spacing:.08em}.skill-list,.inventory-list{display:grid;gap:0}.skill-list button,.inventory-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #e1e6ea;border-radius:0;background:#fff;color:#1d2429;padding:8px 7px;text-align:left}.skill-list button:hover{background:#fff7e3}.skill-list button strong{font-size:14px}.inventory-list article{display:grid;justify-content:stretch;gap:4px}.inventory-list span,.inventory-list em{color:#66727c;font-size:13px}.sheet-detail{display:grid;gap:14px}.sheet-detail h3{margin:0 0 6px;font-size:13px;text-transform:uppercase;color:#cf1f2b;letter-spacing:.08em}.sheet-detail p{margin:0 0 5px;color:#1d2429;font-size:13px}.sheet-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sheet-stat-grid div,.stat-card-button{display:grid;place-items:center;gap:2px;border:1px solid #d9e0e5;border-radius:6px;background:#fff;padding:8px 5px}.stat-card-button{color:#1d2429}.stat-card-button:hover{border-color:#e6bf58bf;background:#fff9e8}.sheet-stat-grid span,.stat-card-button span{font-size:17px;font-weight:900}.sheet-stat-grid small,.stat-card-button small{color:#69747d}.sheet-bottom-actions{position:absolute;right:12px;bottom:12px;z-index:3;display:inline-flex;gap:8px}.sheet-menu-fab,.sheet-close-fab{width:52px;height:52px;display:grid;place-items:center;border:0;border-radius:999px;color:#fff;box-shadow:0 12px 24px #0000003d}.sheet-menu-fab{background:#cf1f2b}.sheet-close-fab{background:#d7333e}.sheet-menu-panel{position:absolute;left:10px;right:10px;bottom:12px;z-index:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border:1px solid rgba(207,31,43,.36);border-radius:8px;background:#282f34f7;padding:10px;box-shadow:0 18px 44px #00000057}.sheet-menu-panel button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(207,31,43,.7);border-radius:7px;background:#263035;color:#fff;padding:8px;font-size:11px;font-weight:900;text-transform:uppercase}.event-log{max-height:calc(100vh - 176px);overflow-y:auto}.event-log article{border-top:1px solid rgba(205,217,226,.12);padding:10px 0}.event-log article:first-of-type{border-top:0}.event-log strong,.event-log span,.event-log p{display:block}.event-log span{color:#aab4be;font-size:12px;margin-top:2px}.event-log p{margin:4px 0 0;color:#d9e1e8;font-size:13px;overflow-wrap:anywhere}.roll-feed-tab,.roll-feed-panel{position:fixed;right:18px;bottom:92px;z-index:var(--z-roll-feed);background:#0e1419eb;border:1px solid rgba(205,217,226,.2);box-shadow:0 18px 46px #00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.presence-roster{position:fixed;left:18px;bottom:20px;z-index:62;display:flex;flex-wrap:wrap;gap:7px;max-width:min(520px,calc(100vw - 36px));padding:8px 10px;border:1px solid rgba(205,217,226,.18);border-radius:10px;background:#0e1419d1;box-shadow:0 14px 34px #00000061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.presence-roster span{font-size:12px;font-weight:900;text-shadow:0 1px 5px rgba(0,0,0,.8);white-space:nowrap}.dice-tray-shell{position:fixed;right:18px;bottom:24px;z-index:var(--z-dice-tray);display:grid;justify-items:end;gap:10px;pointer-events:none}.dice-tray-shell>*{pointer-events:auto}.dice-tray-fab{position:relative;width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:#ef233c;color:#fff;box-shadow:0 18px 44px #00000073}.dice-tray-fab.active{background:#b91c2e}.dice-tray-fab b,.dice-quick-grid button b{position:absolute;right:5px;top:5px;min-width:18px;height:18px;display:grid;place-items:center;border-radius:999px;background:#fff;color:#10161b;font-size:11px;font-weight:950}.dice-tray-panel{width:min(360px,calc(100vw - 36px));border:1px solid rgba(205,217,226,.18);border-radius:12px;background:#10181ef5;color:#edf4f8;box-shadow:0 24px 68px #0000008c;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dice-tray-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid rgba(205,217,226,.13)}.dice-tray-panel h2,.dice-tray-panel p{margin:0}.dice-tray-panel h2{font-size:15px}.dice-tray-panel p{margin-top:2px;color:#aeb8c2;font-size:12px}.dice-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:13px}.dice-quick-grid button{position:relative;min-height:64px;display:grid;place-items:center;gap:2px;border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#ffffff0d;color:#eef5f8;font-weight:900}.dice-quick-grid button.selected{border-color:#e6bf58bf;background:#e6bf5824}.dice-quick-grid button span{color:#c6d1da;font-size:12px}.dice-mode-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 13px 9px}.dice-mode-row button{min-height:32px;border:1px solid rgba(205,217,226,.15);border-radius:7px;background:#ffffff0e;color:#d9e3ea;font-size:12px;font-weight:900}.dice-mode-row button.active{border-color:#e6bf58b3;color:#ffe7a3;background:#e6bf5824}.dice-advanced-grid{display:grid;grid-template-columns:minmax(0,1.4fr) 72px 88px;gap:8px;padding:0 13px 12px}.dice-advanced-grid label{display:grid;gap:4px;color:#aeb8c2;font-size:11px;font-weight:850}.dice-advanced-grid input{width:100%;min-width:0;border:1px solid rgba(205,217,226,.16);border-radius:7px;background:#050a0ea6;color:#fff;padding:8px 9px}.dice-tray-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 13px 13px}.roll-animation-overlay{position:fixed;left:50%;bottom:var(--floating-overlay-bottom);z-index:var(--z-critical-overlay);pointer-events:none;transform:translate(-50%)}.dice-roll-animation{width:min(520px,calc(100vw - 28px));display:grid;gap:10px;border:1px solid rgba(230,191,88,.52);border-radius:14px;background:radial-gradient(circle at 20% 0%,rgba(230,191,88,.18),transparent 34%),linear-gradient(145deg,#121a20f5,#080d12f2);color:#fff;padding:14px;box-shadow:0 22px 58px #00000080,0 0 42px #e6bf5838;perspective:900px;animation:diceStagePop 4.25s ease-out forwards}.dice-roll-animation.crit{border-color:#4ef18abf;box-shadow:0 18px 44px #00000073,0 0 38px #4ef18a47}.dice-roll-animation.hit,.dice-roll-animation.success{border-color:#4ee1c6b8;box-shadow:0 22px 58px #00000080,0 0 38px #4ee1c638}.dice-roll-animation.fail{border-color:#ff5468bf;box-shadow:0 18px 44px #00000073,0 0 38px #ff54683d}.dice-roll-animation.miss{border-color:#f5b14cc2;box-shadow:0 22px 58px #00000080,0 0 38px #f5b14c33}.dice-roll-animation.damage{border-color:#ff5e52cc;box-shadow:0 22px 58px #00000080,0 0 42px #ff5e523d}.dice-roll-animation-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.dice-roll-animation-header div{min-width:0;display:grid;gap:3px}.dice-roll-animation-header span,.dice-roll-animation-header small,.dice-roll-animation p,.dice-roll-animation-footer small{min-width:0;overflow:hidden;color:#cbd5dd;font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.dice-roll-animation-header span{color:#fff;font-size:14px;font-weight:950}.roll-animation-badge{min-width:70px;border:1px solid rgba(255,231,163,.4);border-radius:999px;background:#e6bf5824;color:#ffe7a3;padding:6px 10px;font-size:16px;line-height:1;text-align:center;letter-spacing:.08em}.dice-roll-animation.crit .roll-animation-badge{border-color:#69f99d99;color:#69f99d;background:#4ef18a24}.dice-roll-animation.fail .roll-animation-badge{border-color:#ff72849e;color:#ff7284;background:#ff546824}.dice-roll-animation.hit .roll-animation-badge,.dice-roll-animation.success .roll-animation-badge{border-color:#5aeed594;color:#68f5de;background:#4ee1c621}.dice-roll-animation.miss .roll-animation-badge,.dice-roll-animation.damage .roll-animation-badge{border-color:#f5b14c94;color:#ffd37d;background:#f5b14c24}.dice-stage{min-height:104px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:11px;padding:8px 4px 4px;transform-style:preserve-3d}.animated-die,.dice-overflow,.damage-applied-pulse{width:64px;height:64px;position:relative;display:grid;place-items:center;border:1px solid rgba(236,244,249,.82);background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.95),transparent 24%),linear-gradient(145deg,#f9fcfffa,#b7c5d1f2);color:#131a20;font-style:normal;text-shadow:none;box-shadow:inset -8px -10px 16px #4958653d,inset 5px 5px 14px #ffffffbd,0 16px 28px #00000061}.animated-die{clip-path:polygon(50% 0%,92% 23%,92% 77%,50% 100%,8% 77%,8% 23%);transform-style:preserve-3d;animation:dieRollLand 1.12s cubic-bezier(.16,.85,.24,1.18) both}.animated-die.kept{box-shadow:inset -8px -10px 16px #4958653d,inset 5px 5px 14px #ffffffbd,0 16px 28px #00000061,0 0 0 3px #e6bf5857,0 0 24px #e6bf583d}.animated-die.d6{border-radius:14px;clip-path:none}.animated-die.damage{border-color:#ffda9de6;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.9),transparent 23%),linear-gradient(145deg,#ffe1a4,#c6453d);color:#180b0a}.animated-die.d20{border-color:#99eee1eb;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.9),transparent 22%),linear-gradient(145deg,#d9fff9,#2f7d80)}.animated-die.natural-max{border-color:#76ffa6f2;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.95),transparent 22%),linear-gradient(145deg,#e7ffef,#2bbf6a);color:#07160c;box-shadow:inset -8px -10px 16px #1f60353d,inset 5px 5px 14px #ffffffc7,0 16px 28px #00000061,0 0 34px #5dff9780}.animated-die.natural-one{border-color:#ff7284f2;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.88),transparent 22%),linear-gradient(145deg,#ffdce1,#d72e42);color:#1f0608;box-shadow:inset -8px -10px 16px #74172247,inset 5px 5px 14px #ffffffad,0 16px 28px #00000061,0 0 30px #ff54686b}.animated-die i{position:absolute;top:10px;left:50%;transform:translate(-50%);color:#0c141aad;font-size:9px;font-style:normal;font-weight:950;line-height:1;text-transform:uppercase}.animated-die b{margin-top:9px;font-size:24px;font-weight:950;line-height:1}.animated-die.d100 b{font-size:20px}.animated-die.dropped{opacity:.42;filter:grayscale(.65);transform:scale(.92)}.animated-die.dropped:after{content:"";position:absolute;width:54px;height:3px;border-radius:999px;background:#181d22c7;transform:rotate(-24deg)}.dice-overflow,.damage-applied-pulse{border-radius:999px;clip-path:none;font-size:18px;font-weight:950}.damage-applied-pulse{width:94px;height:94px;border-color:#ff7267e0;background:radial-gradient(circle,#ff9677f2,#972924f0);color:#fff;font-size:30px;animation:damagePulse 1.1s ease-out both}.dice-roll-animation.success .damage-applied-pulse{border-color:#68ffa6e6;background:radial-gradient(circle,#a6ffc2f5,#1f844cf0);color:#f4fff7}.dice-roll-animation-footer{display:flex;align-items:stretch;justify-content:center;gap:9px}.dice-roll-animation-footer div{min-width:112px;display:grid;place-items:center;gap:2px;border:1px solid rgba(205,217,226,.16);border-radius:10px;background:#ffffff0e;padding:8px 12px}.dice-roll-animation-footer strong{color:#ffe7a3;font-size:26px;line-height:1}.dice-roll-animation-footer .damage-total strong{color:#ffcf8b}.roll-animation-math{display:grid;gap:4px;padding:7px 9px;border:1px solid rgba(205,217,226,.13);border-radius:10px;background:#0000002e}.roll-animation-math span{min-width:0;overflow:hidden;color:#d9e2e8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.dice-roll-animation p{margin:-2px 0 0;text-align:center}@keyframes diceSpin{0%{transform:rotate(-180deg) scale(.6)}to{transform:rotate(0) scale(1)}}@keyframes dieRollLand{0%{opacity:0;transform:translate3d(calc((var(--die-index, 0) - 4) * -7px),-76px,80px) rotateX(320deg) rotateY(-260deg) rotate(-80deg) scale(.45)}62%{opacity:1;transform:translate3d(0,7px,0) rotateX(-16deg) rotateY(18deg) rotate(8deg) scale(1.12)}82%{transform:translate3d(0,-3px,0) rotateX(7deg) rotateY(-5deg) rotate(-3deg) scale(.98)}to{opacity:1;transform:translateZ(0) rotateX(0) rotateY(0) rotate(0) scale(1)}}@keyframes damagePulse{0%{opacity:0;transform:scale(.48);box-shadow:0 0 #ff5e529e}54%{opacity:1;transform:scale(1.08);box-shadow:0 0 0 22px #ff5e5214}to{opacity:1;transform:scale(1);box-shadow:0 0 0 34px #ff5e5200}}@keyframes diceFaceTumble{0%{opacity:0;transform:translateY(-18px) rotate(-32deg) scale(.55)}68%{opacity:1;transform:translateY(2px) rotate(7deg) scale(1.08)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes diceStagePop{0%{opacity:0;transform:translateY(8px) scale(.92)}14%,84%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(6px) scale(.96)}}.roll-feed-tab{width:min(310px,calc(100vw - 36px));min-height:56px;display:flex;align-items:center;gap:10px;border-radius:10px;color:#eef4f8;padding:9px 12px;text-align:left;animation:feedFadeIn .16s ease-out}@media(min-width:821px){.workspace:has(.spotlight-map-control) .roll-feed-tab,.workspace:has(.spotlight-map-control) .roll-feed-panel{bottom:242px}}.roll-feed-tab-copy{display:grid;gap:2px;min-width:0;color:#cbd5dd;font-size:12px}.roll-feed-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roll-feed-tab strong{color:#fff;font-size:22px;line-height:1}.roll-feed-panel{width:min(390px,calc(100vw - 36px));max-height:min(440px,calc(100vh - 180px));display:grid;grid-template-rows:auto 1fr;border-radius:12px;overflow:hidden;animation:feedFadeIn .16s ease-out}.roll-feed-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 12px 10px;border-bottom:1px solid rgba(205,217,226,.12)}.roll-feed-panel h2,.roll-feed-panel p{margin:0}.roll-feed-panel h2{font-size:15px}.roll-feed-panel header p{color:#aeb8c2;font-size:12px;margin-top:2px}.roll-feed-actions{display:flex;gap:6px}.roll-feed-actions button{border:1px solid rgba(205,217,226,.16);border-radius:7px;background:#ffffff0f;color:#dce5ec;padding:6px 8px;font-size:12px;font-weight:850}.roll-feed-actions button.active{border-color:#e6bf58;color:#ffe7a3}.roll-feed-list{display:grid;gap:8px;overflow-y:auto;padding:10px 12px 12px}.roll-card{border:1px solid rgba(205,217,226,.14);border-radius:9px;background:#ffffff0d;padding:10px}.roll-card.attack-roll{border-color:#e6bf5852}.roll-card.spell-roll{border-color:#74c3ff57;background:linear-gradient(180deg,rgba(116,195,255,.07),transparent),#ffffff0d}.roll-card.state-roll{border-color:#ef233c52;background:linear-gradient(180deg,rgba(239,35,60,.08),transparent),#ffffff0d}.roll-card.crit{border-color:#41be6a94}.roll-card.success{border-color:#41be6a7a}.roll-card.fail{border-color:#ef233c99}.roll-card-main{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.roll-card-main div{display:grid;gap:2px;min-width:0}.roll-card-main strong{color:#f5f8fb;font-size:13px;overflow-wrap:anywhere}.roll-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;margin-right:7px;font-size:10px;font-weight:950;letter-spacing:.08em}.roll-badge.crit,.roll-badge.success{color:#baffca;background:#41be6a2e;border:1px solid rgba(65,190,106,.42)}.roll-badge.fail{color:#ffb5bf;background:#ef233c29;border:1px solid rgba(239,35,60,.42)}.roll-card-main span,.roll-card p,.roll-card small{color:#aeb8c2;font-size:12px}.roll-card-main b{min-width:42px;text-align:right;color:#fff;font-size:28px;line-height:1}.roll-card p{margin:8px 0 0;color:#dce5ec}.roll-card small{display:block;margin-top:5px}.roll-callout{display:block;margin-top:8px;border-left:3px solid #ef233c;padding:6px 8px;border-radius:6px;background:#ef233c24;color:#fff;font-size:13px}.damage-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.damage-actions button{flex:1 1 120px;border:1px solid rgba(205,217,226,.18);border-radius:8px;background:#2f7d8047;color:#eefafa;padding:8px 10px;font-size:12px;font-weight:900}.damage-actions button:last-child{background:#e6bf5824;color:#ffe8a8}@keyframes feedFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.notice,.notice-bar{color:#ffe3b0;background:#764612e0;border:1px solid rgba(241,201,155,.45)}.notice-bar{position:fixed;bottom:var(--floating-overlay-bottom);left:50%;z-index:var(--z-status);width:min(560px,calc(100vw - 36px));transform:translate(-50%);border-radius:8px;padding:9px 9px 9px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.notice-close{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:7px;background:#ffffff1a;color:#fff4dd}@media(min-width:821px){.workspace.right-panel-open .selected-token-chip,.workspace.right-panel-open .notice-bar,.workspace.right-panel-open .creature-drop-banner,.workspace.right-panel-open .combat-cockpit,.workspace.right-panel-open .roll-animation-overlay{left:calc((100vw - var(--right-panel-overlay-offset)) / 2)}.workspace.right-panel-open .selected-token-chip{width:min(520px,calc(100vw - var(--right-panel-overlay-offset) - 32px))}.workspace.right-panel-open .notice-bar,.workspace.right-panel-open .creature-drop-banner{width:min(560px,calc(100vw - var(--right-panel-overlay-offset) - 36px))}.workspace.right-panel-open .combat-cockpit{width:min(760px,calc(100vw - var(--right-panel-overlay-offset) - 36px))}.workspace.right-panel-open .roll-feed-tab,.workspace.right-panel-open .roll-feed-panel,.workspace.right-panel-open .dice-tray-shell{right:var(--right-panel-overlay-offset)}.workspace.right-panel-open .roll-feed-tab{width:min(310px,calc(100vw - var(--right-panel-overlay-offset) - 36px))}.workspace.right-panel-open .roll-feed-panel{width:min(390px,calc(100vw - var(--right-panel-overlay-offset) - 36px))}}.empty-state{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#dce4ea}hr{border:0;border-top:1px solid rgba(205,217,226,.12);margin:12px 0}@media(max-width:820px){:root{--bottom-control-lane: 164px;--floating-overlay-bottom: 154px}.top-bar{top:8px;left:8px;right:8px;gap:8px}.brand-row{min-width:0;flex:1 1 auto}.brand-row h1{font-size:16px}.campaign-pill{display:none}.header-actions{padding:6px}.header-actions .button{padding:8px;font-size:12px}.character-shelf{top:72px;left:70px;right:10px;max-width:none;justify-content:flex-start;padding:6px}.character-chip{max-width:118px}.character-chip.add{max-width:none}.character-shelf-label{display:none}.left-dock{left:10px;top:128px;padding:7px}.left-dock.sheet-open{left:auto;right:10px}.modal-backdrop{padding:0 var(--sheet-dock-width) 0 0}.dock-button{width:44px;height:44px}.map-scroll{padding:82px 12px 134px 70px}.sidebar,.right-rail{top:128px;left:70px;right:10px;width:auto;max-height:calc(100vh - 232px)}.sidebar,.right-rail{transform:translateY(18px);opacity:0;pointer-events:none}.sidebar.open,.right-rail.open{transform:translateY(0);opacity:1;pointer-events:auto}.workspace.right-panel-open .selected-token-chip,.workspace.right-panel-open .roll-feed-tab,.workspace.right-panel-open .roll-feed-panel,.workspace.right-panel-open .dice-tray-shell{display:none}.saved-token-options{grid-template-columns:1fr;max-height:190px}.calibration-mode-switch,.calibration-presets,.layer-preset-grid{grid-template-columns:1fr}.map-utility-tray{width:calc(100vw - 20px);bottom:12px}.selected-token-chip{width:min(380px,calc(100vw - 20px));bottom:82px;align-items:stretch;flex-wrap:wrap}.selected-token-chip.floating{bottom:auto}.selected-token-chip.vertical{width:min(300px,calc(100vw - 20px))}.selected-token-summary{flex:1 1 calc(100% - 34px)}.selected-token-actions{width:100%;justify-content:space-between}.selected-token-actions button{flex:1 1 0;width:auto;min-height:40px}.hp-vitals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.effect-action-grid,.aura-editor-grid{grid-template-columns:1fr}.hp-adjust-grid{grid-template-columns:minmax(0,1fr) 42px}.token-context-menu{width:min(228px,calc(100vw - 22px))}.help-overlay-backdrop{align-items:end;padding:10px}.help-overlay{width:100%;max-height:min(680px,calc(100vh - 20px))}.help-overlay-header{padding:14px 14px 10px}.help-overlay-header h2{font-size:18px}.help-grid{grid-template-columns:1fr;gap:10px;padding:10px}.help-section{padding:12px}.help-list li{grid-template-columns:1fr;gap:2px}.help-overlay-footer{padding:0 14px 14px}.action-browser{width:min(500px,calc(100vw - var(--sheet-dock-width) - 8px));height:100vh;max-height:100vh}.action-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;padding:6px}.action-tabs button{min-width:0;flex-direction:column;gap:2px;padding:6px 2px;font-size:9px;line-height:1.05;white-space:normal}.action-tabs button small{min-width:16px;height:16px;font-size:9px}.action-card-grid,.action-card-grid.compact,.target-controls{grid-template-columns:1fr}.spell-browser-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.spell-detail-panel header{display:grid}.spell-detail-panel header>div:last-child{justify-content:stretch}.spell-detail-panel header>div:last-child button{flex:1 1 120px}.spell-resolution-brief ol{grid-template-columns:1fr}.spell-resolution-brief li{grid-template-columns:auto minmax(72px,.42fr) minmax(0,1fr)}.spell-resolution-brief li>b{grid-row:auto}.spell-resolution-brief li>strong{grid-column:3;grid-row:1}.spell-resolution-outcomes article{grid-template-columns:minmax(0,1fr) auto}.spell-resolution-outcomes article>b{grid-column:2;grid-row:1}.spell-resolution-outcomes article>span{grid-column:1 / -1}.spell-detail-panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.spell-table-head,.spell-table-row{grid-template-columns:minmax(112px,1.2fr) 34px 52px 52px minmax(62px,.7fr);gap:5px;padding-inline:5px}.spell-name-cell{grid-template-columns:24px minmax(0,1fr);gap:4px}.sheet-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sheet-stat-grid{grid-template-columns:repeat(3,minmax(62px,1fr))}.token-primary-actions{grid-template-columns:1fr}.notice-bar{bottom:var(--floating-overlay-bottom)}.roll-feed-tab,.roll-feed-panel{right:10px;bottom:94px;width:min(340px,calc(100vw - 20px))}.roll-feed-panel{max-height:min(380px,calc(100vh - 170px))}.display-scene-button{flex:1 1 220px}.three-col{grid-template-columns:1fr}}.creature-drop-banner{position:fixed;top:144px;left:50%;z-index:var(--z-status);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(560px,calc(100vw - 244px));min-height:52px;padding:8px 9px 8px 11px;border:1px solid rgba(118,228,247,.58);border-radius:11px;color:#ecfbff;background:#08151df5;box-shadow:0 16px 38px #0000006b;transform:translate(-50%)}.creature-drop-kicker{border-radius:6px;padding:5px 6px;color:#081216;background:#76e4f7;font-size:10px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.creature-drop-copy{display:grid;gap:2px;min-width:0}.creature-drop-copy strong,.creature-drop-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.creature-drop-copy strong{font-size:13px}.creature-drop-copy span,.creature-drop-instruction{color:#b9ced6;font-size:11px;font-weight:750}.creature-drop-instruction{white-space:nowrap}.creature-drop-cancel{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 9px;border:1px solid rgba(205,217,226,.25);border-radius:8px;color:#f2f6f8;background:#ffffff0f;font:inherit;font-size:11px;font-weight:900}.map-stage.creature-drop-active,.map-stage.creature-drop-active .token,.map-stage.creature-drop-active .scene-layer,.map-stage.creature-drop-active .scene-object{cursor:crosshair}.map-stage.monster-drag-over{box-shadow:inset 0 0 0 4px #76e4f7f2,inset 0 0 0 999px #10555f2e}.monster-drag-target{position:absolute;top:16px;right:16px;bottom:16px;left:16px;z-index:30;display:grid;place-items:center;border:2px dashed rgba(157,241,252,.92);border-radius:13px;color:#edfdff;background:#05181e59;font-size:18px;font-weight:950;letter-spacing:.02em;pointer-events:none}@media(min-width:821px){.panel .monster-results{max-height:min(42vh,calc(100vh - 510px));overflow-y:auto;overscroll-behavior:contain;padding-right:4px}}.map-stage.target-selection-active,.map-stage.target-selection-active .token{cursor:crosshair}.combat-cockpit{position:fixed;top:144px;left:50%;z-index:var(--z-bottom-chip);display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:min(760px,calc(100vw - 244px));padding:8px;border:1px solid rgba(83,201,159,.52);border-radius:12px;color:#e9f8f1;background:#081613f2;box-shadow:0 16px 38px #0000006b;transform:translate(-50%)}.combat-cockpit-focus{min-width:165px;flex:1 1 180px;display:flex;align-items:center;gap:7px}.combat-cockpit-kicker{flex:0 0 auto;border-radius:6px;padding:5px 6px;color:#07130e;background:#53c99f;font-size:9px;font-weight:950;letter-spacing:.065em;text-transform:uppercase}.combat-cockpit-actor{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:7px;border:0;border-radius:8px;padding:3px 4px;color:inherit;background:transparent;text-align:left}.combat-cockpit-actor:not(:disabled):hover{background:#53c99f1a}.combat-cockpit-actor:disabled{opacity:1}.combat-cockpit-avatar{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border:2px solid rgba(83,201,159,.82);border-radius:999px;background-size:cover;background-position:center;color:#fff;font-size:11px;font-weight:950}.combat-cockpit-actor>span:last-child{min-width:0;display:grid;gap:2px}.combat-cockpit-actor strong,.combat-cockpit-actor small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combat-cockpit-actor strong{color:#f0fff7;font-size:13px;font-weight:950}.combat-cockpit-actor small{color:#9cc6b2;font-size:10px;font-weight:750}.combat-cockpit-resources,.combat-cockpit-tools{display:flex;align-items:center;gap:5px}.combat-cockpit-resources button{min-width:54px;min-height:38px;display:grid;gap:1px;border:1px solid rgba(205,217,226,.17);border-radius:8px;padding:4px 6px;color:#dbf5e7;background:#ffffff0b;font-size:9px;font-weight:900;line-height:1}.combat-cockpit-resources button b{color:#69daa8;font-size:10px}.combat-cockpit-resources button.used{border-color:#ee68776b;color:#ffd9df;background:#ef3d4f1f}.combat-cockpit-resources button.used b{color:#ffabb6}.combat-cockpit-resources button:not(:disabled):hover,.combat-cockpit-tools button:not(:disabled):hover{border-color:#53c99fb8;background:#53c99f24}.combat-cockpit-tools{flex:1 1 100%;min-width:0}.combat-cockpit-tools button,.combat-cockpit-targets{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(205,217,226,.16);border-radius:8px;padding:5px 8px;color:#d6e8df;background:#ffffff0a;font-size:10px;font-weight:850;line-height:1;white-space:nowrap}.combat-cockpit-targets{min-width:0;flex:1 1 150px;justify-content:flex-start;color:#b4cbbf}button.combat-cockpit-targets{cursor:pointer}.combat-cockpit-targets.active{color:#d8fbeb;border-color:#53c99f6b;background:#53c99f1a}.combat-cockpit-targets.selecting{color:#fff0c7;border-color:#e6bf58a6;background:#e6bf5821}.combat-cockpit-conditions{flex:0 0 auto}.combat-cockpit-act{flex:0 0 auto;color:#e9fbf6!important;border-color:#53c99f7a!important;background:#53c99f21!important}.combat-cockpit-end{flex:0 0 auto;color:#fff0d2!important;border-color:#e6bf5885!important;background:#e6bf581f!important}@media(max-width:560px){.left-dock.sheet-open{display:none}.modal-backdrop{padding-right:0}.action-browser{width:100vw}}.planner-recalculate{color:#9fd6d6;background:#2f7d801a}.planner-source-card em{margin-top:7px;color:#8ec6c7;font-size:8px;font-style:normal;font-weight:700;line-height:1.35}.planner-guide-inline-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px}.planner-run-overview{max-width:980px;margin:0 auto 16px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,28%) auto;align-items:center;gap:18px;border:1px solid rgba(83,201,159,.24);border-radius:10px;background:linear-gradient(120deg,#25846221,#2f7d800f)}.planner-run-overview-copy{min-width:0;display:grid;gap:4px}.planner-run-overview-copy>span{display:flex;align-items:center;gap:6px;color:#82d2b3;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.planner-run-overview-copy strong{overflow:hidden;color:#e7f5ef;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.planner-run-overview-copy small{color:#7f939e;font-size:9px}.planner-run-overview-copy .planner-run-recovery{display:flex;align-items:center;gap:4px;color:#88caae}.planner-run-progress{height:8px;overflow:hidden;border-radius:999px;background:#0000004d;box-shadow:inset 0 0 0 1px #cdd9e214}.planner-run-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#2f7d80,#53c99f);transition:width .18s ease}.planner-run-overview-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.planner-run-overview-actions .button{white-space:nowrap}.planner-run-section-action{display:flex;align-items:center;justify-content:flex-end;gap:7px}.planner-run-section-action small{color:#82949f;font-size:9px;font-weight:800;text-transform:uppercase}.planner-run-state-dot{width:8px;height:8px;flex:0 0 auto;border:1px solid #61737e;border-radius:50%;background:transparent}.planner-run-state-dot.active{border-color:#53c99f;background:#53c99f;box-shadow:0 0 0 4px #53c99f1a}.planner-run-state-dot.complete{border-color:#6d878f;background:#6d878f}.planner-run-notes{padding:11px 15px 13px;display:grid;gap:7px;border-top:1px solid rgba(83,201,159,.13);background:#2584620b}.planner-run-notes label{display:grid;gap:6px}.planner-run-notes label>span{display:flex;align-items:center;gap:6px;color:#8fcdb5;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.planner-run-notes textarea{width:100%;min-height:76px;padding:9px 10px;resize:vertical;border:1px solid rgba(205,217,226,.13);border-radius:7px;outline:none;color:#dce8e2;background:#03080b94;font:inherit;font-size:11px;line-height:1.5}.planner-run-notes textarea:focus{border-color:#53c99f7a;box-shadow:0 0 0 2px #53c99f14}.planner-run-notes>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-run-notes>div small{color:#687b85;font-size:8px}.planner-run-notes-print{display:none}.planner-guide-identity-editor{max-width:900px;margin-top:15px;display:grid;gap:9px}.planner-guide-identity-editor label{display:grid;gap:5px}.planner-guide-identity-editor label>span,.planner-source-remix label>span{color:#81939e;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.planner-guide-identity-editor input,.planner-guide-identity-editor textarea,.planner-source-remix select,.planner-source-search input{width:100%;padding:9px 10px;border:1px solid rgba(205,217,226,.14);border-radius:7px;color:#dce5ea;background:#03080b9e;font:inherit}.planner-guide-identity-editor textarea{min-height:90px;resize:vertical;line-height:1.5}.planner-guide-identity-editor>div{display:flex;justify-content:flex-end;gap:7px}.planner-section-refinement{margin:0 15px 11px;overflow:hidden;border:1px solid rgba(74,163,164,.17);border-radius:8px;background:#2f7d800b}.planner-section-refinement summary{padding:9px 10px;display:flex;align-items:center;gap:6px;color:#8dc9c8;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;list-style:none}.planner-section-refinement summary::-webkit-details-marker{display:none}.planner-section-refinement summary:after{content:"+";margin-left:auto;color:#5f898b;font-size:13px}.planner-section-refinement[open] summary:after{content:"−"}.planner-section-refinement summary small{color:#687f89;font-size:8px;font-weight:750;letter-spacing:0;text-transform:none}.planner-section-refinement>div{padding:0 10px 8px;display:grid;gap:7px}.planner-section-refinement textarea{width:100%;min-height:68px;padding:9px 10px;resize:vertical;border:1px solid rgba(205,217,226,.14);border-radius:7px;outline:none;color:#dce5ea;background:#03080b9e;font:inherit;font-size:10px;line-height:1.5}.planner-section-refinement textarea:focus{border-color:#4aa3a480;box-shadow:0 0 0 2px #2f7d801a}.planner-section-refinement>div>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-section-refinement small,.planner-section-refinement>p{color:#6f828c;font-size:8px}.planner-section-refinement>p{margin:0;padding:0 10px 9px;line-height:1.45}.planner-source-remix{padding:10px 15px 13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;border-top:1px solid rgba(205,217,226,.08);background:#2f7d8009}.planner-source-remix label{min-width:0;display:grid;gap:5px}.planner-source-remix select{min-width:0;font-size:10px}.planner-source-search{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.planner-source-search input{min-width:0;font-size:10px}.planner-guide-section.omitted{border-style:dashed;opacity:.68}.planner-cut-notice{margin:0 15px 10px;padding:8px 10px;display:flex;align-items:center;gap:7px;border:1px solid rgba(224,162,119,.23);border-radius:7px;color:#d9aa86;background:#7946281f;font-size:10px;line-height:1.4}.planner-source-entry.unused{opacity:.58}.planner-source-entry.unused .planner-source-card:after{content:"Shelf only";position:absolute;right:9px;bottom:8px;color:#687985;font-size:7px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}@media(max-width:720px){.planner-readiness ul{grid-template-columns:1fr}.planner-readiness-actions .button{flex:1 1 140px;width:100%;justify-content:center}.planner-run-overview{grid-template-columns:1fr}.planner-run-overview-actions,.planner-run-overview-actions .button{width:100%}.planner-run-overview-actions .button{justify-content:center}.planner-run-section-action{flex-wrap:wrap}.planner-source-remix,.planner-revision-history>div,.planner-source-search{grid-template-columns:1fr}.planner-guide-navigator{grid-template-columns:minmax(0,1fr) auto auto;margin-top:-8px}.planner-guide-navigator-copy{display:none}}@media(max-width:480px){.planner-section-refinement>div>div{align-items:stretch;flex-direction:column}.planner-section-refinement .button{width:100%;justify-content:center}.planner-guide-navigator{gap:5px;padding:6px}.planner-guide-navigator select{height:34px;padding:0 7px;font-size:9px}.planner-guide-nav-shortcut{min-width:38px;width:38px;height:34px;padding:0;gap:2px}.planner-guide-nav-shortcut>span{display:none}.planner-guide-nav-shortcut small{min-width:13px;padding:1px 2px}}@media screen and (max-width:480px){.planner-provider-status{grid-template-columns:auto minmax(0,1fr)}.planner-provider-status .button,.planner-provider-status>em{grid-column:1 / -1;width:100%;justify-content:center;text-align:center}}.foundry-page,.foundry-auth-shell{--foundry-ink: #edf3f4;--foundry-muted: #9aabb2;--foundry-teal: #55c1c3;--foundry-gold: #d6ae62;min-height:100vh;color:var(--foundry-ink);background:radial-gradient(circle at 18% -8%,rgba(68,158,162,.22),transparent 34%),radial-gradient(circle at 82% 2%,rgba(214,174,98,.1),transparent 25%),linear-gradient(180deg,#0a1116,#0d1419 52%,#090e12)}.foundry-page{padding:0 34px 34px}.foundry-site-header{width:min(1220px,100%);min-height:76px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(189,213,218,.13)}.foundry-site-brand{display:inline-flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.foundry-site-brand>span:last-child{display:grid;line-height:1.05}.foundry-site-brand small,.foundry-eyebrow,.foundry-card-kicker{color:#77d2d3;font-size:.67rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.foundry-site-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.15rem;letter-spacing:.01em}.foundry-mark{width:45px;height:45px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(111,214,216,.3);border-radius:14px;color:#d9ffff;background:linear-gradient(145deg,#2e8e91,#1e5d63);box-shadow:0 10px 30px #1a6e7245}.foundry-site-actions,.foundry-auth-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.foundry-user{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(178,204,211,.14);border-radius:999px;color:#afc0c6;font-size:.77rem}.foundry-hero{width:min(1180px,100%);margin:0 auto;padding:clamp(60px,9vw,112px) 0 clamp(44px,6vw,76px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:end;gap:clamp(38px,8vw,100px)}.foundry-hero h1,.foundry-auth-card h1{max-width:790px;margin:12px 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,7vw,6.5rem);font-weight:500;line-height:.92;letter-spacing:-.055em}.foundry-hero h1 em{color:#79ccca;font-weight:500}.foundry-hero>div>p:last-child{max-width:720px;margin:0;color:#a9b9bf;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.72}.foundry-hero aside{display:grid;gap:1px;overflow:hidden;border:1px solid rgba(182,209,214,.14);border-radius:16px;background:#b8d1d617;box-shadow:0 22px 65px #0000003d}.foundry-hero aside span{min-height:58px;padding:14px 17px;display:flex;align-items:center;gap:11px;color:#bdcbd0;background:#0c1419f5;font-size:.82rem}.foundry-hero aside svg{color:#65bfc0}.foundry-page-error{width:min(1180px,100%);margin:0 auto 18px;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid rgba(237,103,115,.32);border-radius:12px;color:#ffd4d8;background:#701e283b;font-size:.83rem}.foundry-page-error button{margin-left:auto;border:0;color:inherit;background:transparent;font-size:1.25rem;cursor:pointer}.foundry-launch-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.foundry-launch-card{min-height:390px;padding:clamp(25px,4vw,40px);display:flex;flex-direction:column;align-items:flex-start;border:1px solid rgba(187,211,217,.15);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent 48%),#0e161bf0;box-shadow:0 24px 70px #0000003b}.foundry-launch-card.featured{border-color:#5dc1c345;background:radial-gradient(circle at 100% 0%,rgba(73,168,171,.17),transparent 40%),#0e181df5}.foundry-card-icon{width:48px;height:48px;margin-bottom:28px;display:inline-grid;place-items:center;border-radius:14px;color:#cfffff;background:#318b8e59}.foundry-card-icon.muted{color:#e9d4a8;background:#9a733240}.foundry-launch-card h2{margin:8px 0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.75rem,3vw,2.65rem);font-weight:500;letter-spacing:-.025em}.foundry-launch-card>p:not(.foundry-card-kicker):not(.foundry-empty-parties){max-width:560px;margin:0 0 22px;color:#9dafb5;line-height:1.65}.foundry-card-meta{margin:auto 0 20px;display:inline-flex;align-items:center;gap:7px;color:#7f989f;font-size:.75rem}.foundry-launch-card>.button{min-height:46px;gap:9px}.foundry-context-list{width:100%;max-height:205px;margin-top:auto;display:grid;gap:8px;overflow:auto;scrollbar-width:thin}.foundry-context-list button{width:100%;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(185,210,216,.13);border-radius:11px;color:#e8eff1;background:#070d118c;text-align:left;cursor:pointer}.foundry-context-list button:hover:not(:disabled){border-color:#5dc1c361;background:#24535633}.foundry-context-list button:disabled{opacity:.56;cursor:wait}.foundry-context-list button span{display:grid;gap:3px}.foundry-context-list button strong{font-size:.84rem}.foundry-context-list button small,.foundry-empty-parties{color:#82969d;font-size:.72rem}.foundry-empty-parties{margin:auto 0 0;padding:14px;border:1px dashed rgba(185,210,216,.15);border-radius:11px;line-height:1.55}.foundry-footer{width:min(1180px,100%);margin:28px auto 0;padding:24px 2px 0;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(188,211,217,.1);color:#6f858d;font-size:.72rem}.foundry-footer span{color:#a9b9bf;font-weight:700}.foundry-footer p{margin:0}.foundry-auth-shell{padding:28px;display:grid;place-items:center}.foundry-auth-card{width:min(670px,100%);padding:clamp(30px,6vw,58px);border:1px solid rgba(184,210,215,.16);border-radius:24px;background:#0b1217e8;box-shadow:0 32px 110px #00000075}.foundry-auth-card .foundry-mark{margin-bottom:26px}.foundry-auth-card h1{font-size:clamp(2.35rem,7vw,4.5rem);line-height:.98}.foundry-auth-card>p:not(.foundry-eyebrow):not(.foundry-page-error){color:#9cafb5;line-height:1.65}.foundry-auth-card[aria-busy=true]>p:last-child{display:flex;align-items:center;gap:9px}.foundry-auth-actions{margin:28px 0 20px}.foundry-auth-note{font-size:.78rem}.foundry-security{display:flex;align-items:center;gap:7px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(184,210,215,.11);font-size:.72rem}@media(max-width:820px){.foundry-page{padding:0 18px 24px}.foundry-site-header{min-height:68px}.foundry-user{display:none}.foundry-hero,.foundry-launch-grid{grid-template-columns:1fr}.foundry-hero{padding-top:58px;gap:34px}.foundry-launch-card{min-height:350px}}@media(max-width:540px){.foundry-site-actions .button{padding-inline:10px;font-size:.72rem}.foundry-site-brand small{display:none}.foundry-site-brand strong{font-size:.98rem}.foundry-mark{width:40px;height:40px}.foundry-hero h1{font-size:clamp(2.7rem,16vw,4.1rem)}.foundry-footer{display:grid}}@media print{@page{margin:13mm;size:auto}html,body,#root{position:static!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;background:#fff!important}body *{visibility:hidden!important}.planner-backdrop,.planner-backdrop *{visibility:visible!important}.planner-backdrop{position:absolute!important;inset:0 auto auto 0!important;width:100%!important;height:auto!important;padding:0!important;color:#172027!important;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.planner-workspace,.planner-layout,.planner-guide-panel{display:block!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important;border:0!important;border-radius:0!important;color:#172027!important;background:#fff!important;box-shadow:none!important}.planner-header,.planner-error,.planner-notice,.planner-brief-panel,.planner-section-actions,.planner-recalculate,.planner-guide-inline-actions,.planner-source-remix,.planner-section-refinement,.planner-source-actions,.planner-run-overview,.planner-run-section-action,.planner-run-notes,.planner-guide-navigator,.planner-source-link-warning,.planner-guide-section.omitted,.planner-source-entry.unused,.planner-guide-footer .button{display:none!important}.planner-run-notes-print{margin:7px 15px 14px;padding:9px 10px;display:block!important;border:1px solid #d6dde1;border-radius:6px;color:#33414a;background:#f8fafb;white-space:pre-wrap}.planner-run-notes-print strong{color:#111820;font-size:10px}.planner-run-notes-print p{margin:5px 0 0;font-size:10px;line-height:1.5}.planner-workspace.run-mode .planner-guide-section.run-complete{opacity:1!important}}@media(max-width:820px){.app-shell.mobile-mode{background:#0d151b}.mobile-mode .character-shelf,.mobile-mode .map-utility-tray{display:none}.mobile-mode .spotlight-map-control{right:10px;bottom:calc(78px + env(safe-area-inset-bottom));left:10px;width:auto;padding:9px 10px;border-radius:15px}.mobile-mode .spotlight-tray-close{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#e7f8fc;background:#ffffff17}.mobile-mode .spotlight-map-launcher{position:fixed;right:12px;bottom:calc(154px + env(safe-area-inset-bottom));z-index:var(--z-map-popover);display:grid;width:54px;height:54px;place-items:center;border:2px solid #fff2b2;border-radius:50%;color:#17220c;background:radial-gradient(circle at 34% 28%,#fff7c9,#f5c94a 54%,#bb7c15);box-shadow:0 8px 24px #0000006b,0 0 20px #f7cf6861;font-size:24px;font-weight:950;line-height:1}.mobile-mode .spotlight-map-launcher:focus-visible,.mobile-mode .spotlight-map-launcher:active{outline:3px solid rgba(110,224,237,.9);outline-offset:3px}.mobile-mode .spotlight-map-heading{font-size:11px}.mobile-mode .spotlight-summary{margin:4px 0 7px!important;font-size:12px}.mobile-mode .spotlight-map-actions.spotlight-map-primary-actions{grid-template-columns:minmax(0,1fr) auto}.mobile-mode .spotlight-map-primary-actions .button{min-height:38px}.spotlight-panel{align-items:stretch;flex-direction:column}.spotlight-panel>.button{width:100%}.creature-drop-banner{top:88px;width:calc(100vw - 20px);grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.creature-drop-instruction{display:none}.combat-cockpit{top:76px;right:10px;left:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;width:auto;gap:6px;padding:6px;transform:none}.combat-cockpit-focus{min-width:0;gap:6px}.combat-cockpit-kicker{display:none}.combat-cockpit-actor{padding:2px}.combat-cockpit-actor strong{font-size:12px}.combat-cockpit-resources{gap:4px}.combat-cockpit-resources button{min-width:42px;min-height:42px;padding:4px}.combat-cockpit-tools{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.95fr);gap:5px}.combat-cockpit-tools button,.combat-cockpit-targets{min-width:0;min-height:34px;overflow:hidden;padding:5px 4px;text-overflow:ellipsis;font-size:9px}.combat-cockpit-targets{justify-content:center}.mobile-top-bar{position:fixed;z-index:90;top:max(8px,env(safe-area-inset-top));left:10px;right:10px;display:flex;align-items:center;gap:7px;min-height:56px;padding:5px;border:1px solid rgba(205,217,226,.16);border-radius:17px;background:#080f15f0;box-shadow:0 14px 38px #0000005c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-scene-summary,.mobile-turn-summary,.mobile-header-menu{min-width:0;min-height:46px;border:0;border-radius:12px;color:#f2f7f9}.mobile-scene-summary{flex:1 1 auto;display:flex;align-items:center;gap:9px;padding:4px 7px;background:transparent;text-align:left}.mobile-scene-summary:active,.mobile-turn-summary:active,.mobile-header-menu:active{background:#76e4f71f}.mobile-top-icon{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(118,228,247,.32);border-radius:10px;color:#87e8f6;background:#76e4f717}.mobile-scene-copy,.mobile-turn-copy{min-width:0;display:grid;gap:2px}.mobile-scene-copy strong,.mobile-turn-copy strong{overflow:hidden;color:#f4f8fa;font-size:13px;font-weight:900;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mobile-scene-copy small,.mobile-turn-copy small{overflow:hidden;color:#91a8b5;font-size:10px;font-weight:800;letter-spacing:.055em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.mobile-turn-summary{flex:0 1 164px;display:flex;align-items:center;gap:7px;padding:4px 8px 4px 5px;background:#e6bf5817;text-align:left}.mobile-turn-summary:disabled{opacity:.72}.mobile-turn-score{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;color:#16120a;background:#e6bf58;font-size:15px;font-weight:950}.mobile-header-menu{width:46px;flex:0 0 46px;display:grid;place-items:center;background:#ffffff0e}.mobile-mode .map-scroll{padding:82px 12px 88px}.mobile-mode .map-column:has(.combat-cockpit) .map-scroll{padding-top:190px}.mobile-mode .sidebar,.mobile-mode .right-rail{top:76px;right:10px;bottom:calc(88px + env(safe-area-inset-bottom));left:10px;max-height:none;border-radius:16px}.mobile-mode.mobile-panel-open .mobile-top-bar,.mobile-mode.mobile-panel-open .mobile-navigation,.mobile-mode.mobile-panel-open .selected-token-chip,.mobile-mode.mobile-panel-open .combat-cockpit,.mobile-mode.mobile-panel-open .map-utility-tray,.mobile-mode.mobile-panel-open .roll-feed-tab,.mobile-mode.mobile-panel-open .roll-feed-panel,.mobile-mode.mobile-panel-open .dice-tray-shell,.mobile-mode.mobile-panel-open .notice-bar,.mobile-mode.mobile-panel-open .roll-animation-overlay,.mobile-mode.mobile-panel-open .presence-roster,.mobile-mode.mobile-utility-open .selected-token-chip,.mobile-mode.mobile-utility-open .combat-cockpit,.mobile-mode.mobile-utility-open .roll-feed-tab,.mobile-mode.mobile-utility-open .roll-feed-panel,.mobile-mode.mobile-utility-open .dice-tray-shell{display:none}.mobile-mode.mobile-panel-open .sidebar.open,.mobile-mode.mobile-panel-open .right-rail.open{top:0;right:0;bottom:0;left:0;z-index:130;width:auto;height:100vh;height:100dvh;max-height:none;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));border:0;border-radius:0;background:#101b23;box-shadow:none;overscroll-behavior:contain}.mobile-mode.mobile-panel-open .drawer-heading{position:sticky;z-index:2;top:0;min-height:52px;margin:0 0 12px;padding:3px 0 10px;border-bottom:1px solid rgba(205,217,226,.14);background:#101b23}.mobile-mode.mobile-panel-open .drawer-heading .icon-button{min-width:48px;min-height:48px;border-radius:12px}.mobile-mode .mobile-navigation{z-index:90;right:10px;bottom:max(8px,env(safe-area-inset-bottom));left:10px;gap:4px;min-height:62px;padding:5px;border-radius:17px;background:#080f15f5;box-shadow:0 14px 38px #0000006b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-mode .mobile-navigation button{min-height:52px;border-radius:12px;color:#a9bbc4}.mobile-mode .mobile-navigation button.active{color:#061319;background:#78e4f5;box-shadow:0 4px 14px #76e4f72e}.mobile-mode .mobile-navigation button span{font-size:10px;font-weight:900;letter-spacing:.015em}.mobile-mode .presence-roster{display:none}.mobile-mode .dice-tray-shell{right:12px;bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-mode .roll-feed-tab,.mobile-mode .roll-feed-panel{right:10px;bottom:calc(164px + env(safe-area-inset-bottom))}.mobile-mode .roll-feed-tab{right:12px;width:54px;min-height:54px;height:54px;display:grid;place-items:center;gap:0;padding:0;border:1px solid rgba(255,244,180,.9);border-radius:50%;color:#17220c;background:radial-gradient(circle at 34% 28%,#fff7c9,#f5c94a 54%,#bb7c15);box-shadow:0 8px 24px #0000006b,0 0 20px #f7cf684d}.mobile-mode .roll-feed-tab:hover,.mobile-mode .roll-feed-tab:active{color:#17220c;transform:translateY(-1px) scale(1.03)}.mobile-mode .roll-feed-tab:focus-visible{outline:3px solid rgba(110,224,237,.9);outline-offset:3px}.mobile-mode .roll-feed-tab-icon,.mobile-mode .roll-feed-tab-title{display:none}.mobile-mode .roll-feed-tab-copy{display:block;color:inherit;line-height:1}.mobile-mode .roll-feed-tab strong{color:inherit;font-size:21px;font-variant-numeric:tabular-nums;line-height:1}.mobile-mode .selected-token-chip{right:12px;bottom:calc(78px + env(safe-area-inset-bottom));left:12px;z-index:70;width:auto;min-height:58px;padding:5px;border-color:#e6bf587a;border-radius:15px;transform:none}.mobile-mode .selected-token-chip.floating{right:auto;bottom:auto;left:auto}.mobile-mode .selected-token-chip.vertical{width:auto}.mobile-mode .selected-token-drag-handle{display:none}.mobile-mode .selected-token-summary{width:auto;flex:1 1 auto;min-height:48px;padding:6px 9px}.mobile-mode .selected-token-chip.vertical .selected-token-summary{flex:1 1 auto}.mobile-mode .selected-token-dismiss{width:48px;min-height:48px;flex-basis:48px;border-radius:12px}.mobile-mode .selected-token-avatar{width:36px;height:36px}.mobile-mode .selected-token-actions,.mobile-mode .selected-token-chip.vertical .selected-token-actions{width:100%;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:6px;overflow-x:visible;padding:1px}.mobile-mode .selected-token-actions button{min-width:0;min-height:46px;flex:1 1 0;border-radius:10px}.mobile-mode .selected-token-actions button span{font-size:9px}.mobile-mode .map-column:has(.selected-token-chip) .map-scroll{padding-bottom:158px}.mobile-mode:has(.selected-token-chip:not(.floating)){--floating-overlay-bottom: calc(224px + env(safe-area-inset-bottom)) }.mobile-mode:has(.selected-token-chip:not(.floating)) .dice-tray-shell,.mobile-mode:has(.selected-token-chip:not(.floating)) .roll-feed-tab,.mobile-mode:has(.selected-token-chip:not(.floating)) .roll-feed-panel{display:none}.mobile-mode .mobile-move-confirm{bottom:calc(218px + env(safe-area-inset-bottom))}.mobile-mode:has(.spotlight-map-launcher){--floating-overlay-bottom: calc(300px + env(safe-area-inset-bottom)) }.mobile-mode:has(.spotlight-map-launcher) .roll-feed-tab,.mobile-mode:has(.spotlight-map-launcher) .roll-feed-panel{bottom:calc(224px + env(safe-area-inset-bottom))}.mobile-mode:has(.spotlight-map-control){--floating-overlay-bottom: calc(332px + env(safe-area-inset-bottom)) }.mobile-mode:has(.spotlight-map-control) .dice-tray-shell{bottom:calc(286px + env(safe-area-inset-bottom))}.mobile-mode:has(.spotlight-map-control) .roll-feed-tab,.mobile-mode:has(.spotlight-map-control) .roll-feed-panel{bottom:calc(342px + env(safe-area-inset-bottom))}.mobile-mode:has(.spotlight-map-control) .selected-token-chip{bottom:calc(154px + env(safe-area-inset-bottom))}.mobile-mode:has(.spotlight-map-control) .map-column:has(.selected-token-chip) .map-scroll{padding-bottom:236px}.mobile-mode:has(.spotlight-map-control) .map-column:not(:has(.selected-token-chip)) .map-scroll{padding-bottom:168px}.desktop-on-mobile .top-bar{top:8px;left:8px;right:8px;align-items:flex-start;gap:6px}.desktop-on-mobile .brand-row{min-width:0;min-height:54px;flex:0 1 132px;gap:6px;padding:6px}.desktop-on-mobile .brand-row h1{font-size:14px;letter-spacing:.04em}.desktop-on-mobile .brand-row p{font-size:10px}.desktop-on-mobile .campaign-pill{display:none}.desktop-on-mobile .header-actions{min-width:0;min-height:54px;flex:1 1 auto;flex-wrap:nowrap;justify-content:flex-end;gap:5px;overflow-x:auto;padding:6px}.desktop-on-mobile .header-actions>a.button,.desktop-on-mobile .header-actions>.button:not(.primary),.desktop-on-mobile .header-actions>.icon-button{display:none}.desktop-on-mobile .header-actions .view-mode-control,.desktop-on-mobile .header-actions .button.primary{flex:0 0 auto}.desktop-on-mobile .header-actions .button.primary{min-height:34px;padding:7px 9px;font-size:11px}.desktop-on-mobile .character-shelf{top:70px;right:8px;left:70px;max-width:none}.desktop-on-mobile .workspace-dock{top:72px;bottom:10px;left:8px;width:54px;max-height:none;padding:5px;border-radius:13px}.desktop-on-mobile .workspace-dock-label,.desktop-on-mobile .workspace-dock-button span,.desktop-on-mobile .workspace-dock-button kbd{display:none}.desktop-on-mobile .workspace-dock-button{min-height:42px;justify-content:center;padding:6px}.desktop-on-mobile .sidebar,.desktop-on-mobile .right-rail{top:76px;right:8px;bottom:10px;left:70px;width:auto;max-height:none}.desktop-on-mobile .map-scroll{padding:82px 10px 92px 70px}.desktop-on-mobile .map-utility-tray{right:10px;bottom:10px;left:70px;width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:6px;transform:none}.desktop-on-mobile .map-utility-tray .view-toggle-cluster,.desktop-on-mobile .map-utility-tray .zoom-cluster span{display:none}.desktop-on-mobile .display-scene-button{min-height:42px;flex:1 1 auto;font-size:12px}.desktop-on-mobile .spotlight-map-control{right:10px;bottom:72px;width:min(292px,calc(100vw - 82px))}.desktop-on-mobile:has(.spotlight-map-control) .roll-feed-tab,.desktop-on-mobile:has(.spotlight-map-control) .roll-feed-panel{display:none}.desktop-on-mobile:has(.spotlight-map-control) .dice-tray-shell{right:10px;bottom:224px}.mobile-mode .roll-animation-overlay{top:76px;bottom:auto;width:min(340px,calc(100vw - 24px))}.mobile-mode.sheet-open .mobile-top-bar,.mobile-mode.sheet-open .mobile-navigation,.mobile-mode.sheet-open .selected-token-chip,.mobile-mode.sheet-open .combat-cockpit,.mobile-mode.sheet-open .map-utility-tray,.mobile-mode.sheet-open .roll-feed-tab,.mobile-mode.sheet-open .roll-feed-panel,.mobile-mode.sheet-open .dice-tray-shell,.mobile-mode.sheet-open .notice-bar,.mobile-mode.sheet-open .roll-animation-overlay,.mobile-mode.sheet-open .presence-roster{display:none}.mobile-mode.sheet-open .modal-backdrop,.mobile-mode .danger-dialog-backdrop{z-index:130;padding:0}.mobile-mode.sheet-open .action-browser{position:fixed;z-index:131;top:0;right:0;bottom:0;left:0;width:100vw;width:100dvw;height:100vh;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;overscroll-behavior:contain}.mobile-mode.sheet-open .action-browser-header{padding-top:max(10px,env(safe-area-inset-top))}.mobile-mode .dice-roll-animation{width:100%;gap:7px;padding:10px;border-radius:13px}.mobile-mode .dice-roll-animation-footer div{min-width:0;padding:6px 8px}.mobile-mode .dice-roll-animation-footer strong{font-size:21px}.mobile-utility-backdrop{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;display:flex;align-items:end;padding:12px 10px max(12px,env(safe-area-inset-bottom));background:#02070b8a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.mobile-utility-sheet{width:100%;display:grid;gap:12px;padding:16px;border:1px solid rgba(205,217,226,.18);border-radius:20px;background:#101b23;box-shadow:0 -18px 52px #00000073}.mobile-utility-sheet header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.mobile-utility-sheet h2{margin:2px 0 0;font-size:19px;letter-spacing:0}.mobile-utility-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-utility-actions .button{min-height:46px;padding:8px;font-size:12px}.mobile-workspace-control{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 11px;border:1px solid rgba(205,217,226,.15);border-radius:11px;color:#c7d5dc;font-size:12px;font-weight:850}.mobile-workspace-control select{min-height:34px;border:0;color:#fff;background:transparent;font:inherit;text-align:right}.mobile-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:0;color:#b7c7cf;background:transparent;font-size:12px;font-weight:800}}@media(max-width:430px){.mobile-turn-summary{flex-basis:102px}.mobile-turn-copy{display:grid;gap:0}.mobile-turn-copy strong{display:none}.mobile-turn-copy small{font-size:9px;letter-spacing:.02em}}@media print{.planner-guide-panel{padding:0!important}.planner-guide-hero,.planner-party-analysis,.planner-section-list,.planner-sources,.planner-guide-footer{max-width:none!important}.planner-guide-hero h1,.planner-guide-section h2,.planner-section-heading,.planner-source-card strong,.planner-analysis-grid strong{color:#111820!important}.planner-guide-premise,.planner-party-analysis>p,.planner-section-content,.planner-analysis-notes p,.planner-analysis-guidance-content,.planner-source-card p,.planner-guide-footer{color:#33414a!important}.planner-section-content :is(h3,strong,th){color:#111820!important}.planner-section-content :is(code,pre,blockquote){color:#263740!important;border-color:#d6dde1!important;background:#f7f9fa!important}.planner-section-content blockquote{border-left-color:#6aa5a3!important}.planner-markdown-table-wrap,.planner-section-content :is(th,td){border-color:#d6dde1!important}.planner-section-content th{background:#f2f5f6!important}.planner-check-box{color:#fff!important;border-color:#538f76!important;background:#fff!important}.planner-check-box.checked{background:#538f76!important}.planner-guide-kicker span,.planner-guide-meta>div,.planner-party-analysis,.planner-guide-section,.planner-source-card,.planner-analysis-grid div{border-color:#d6dde1!important;background:#fff!important;box-shadow:none!important}.planner-guide-section,.planner-party-analysis,.planner-source-card{break-inside:avoid;page-break-inside:avoid}.planner-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.planner-guide-section footer a,.planner-guide-section footer span{color:#285f61!important;border-color:#b9d1d2!important;background:#f5fafa!important}}
