:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090711;--bg-elevated:#131021eb;--bg-soft:#221c3ab8;--surface:#0e0c19db;--surface-border:#a5b4fc33;--surface-strong:#6e4cff38;--text:#f8fafc;--text-muted:#cbd5e1;--primary:#8b5cf6;--primary-strong:#a78bfa;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#38bdf8;--shadow:0 22px 48px #0307126b;--radius-xl:1.5rem;--radius-lg:1rem;--radius-md:.875rem;--radius-sm:.75rem;--nav-height:88px;--focus-ring:0 0 0 3px #38bdf88c}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:radial-gradient(circle at top,#8b5cf640,#0000 30%),radial-gradient(circle at 100% 10%,#0ea5e92e,#0000 25%),linear-gradient(#0d0a18 0%,#08070f 100%);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}button,input,select{font:inherit}button,input,select,summary,.action-tile,.nav-button,.roll-button{min-height:44px}button{border-radius:var(--radius-md);cursor:pointer;border:0;transition:transform .16s,background-color .16s,border-color .16s,box-shadow .16s,opacity .16s}button:hover{transform:translateY(-1px)}button:active{transform:translateY(0)}:focus-visible{box-shadow:var(--focus-ring);outline:none}#app{min-height:100vh}.app-shell{width:min(1120px,100%);padding:1rem 1rem calc(var(--nav-height) + 1.25rem);margin:0 auto}.app-main{gap:1rem;display:grid}.card,.mini-card,.list-card,.status-banner,.session-lock-card,.last-action-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--surface);border:1px solid var(--surface-border);box-shadow:var(--shadow)}.card{border-radius:var(--radius-xl);padding:1rem}.app-header{background:linear-gradient(145deg, #271c52e6, #100c1cf5), var(--surface);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.header-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.locale-switcher{align-items:center;gap:.3rem;display:flex}.locale-btn{appearance:none;cursor:pointer;min-height:unset;opacity:.45;background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .15s,border-color .15s;display:flex}.locale-btn img{border-radius:50%;display:block}.locale-btn:hover,.locale-btn:focus-visible{opacity:.75;outline:none;transform:none}.locale-btn.active{border-color:var(--primary);opacity:1}.discord-profile-slot{align-items:center;gap:.5rem;display:flex}.discord-avatar{object-fit:cover;border:2px solid #5865f299;border-radius:50%;flex-shrink:0}.discord-avatar--lg{border-width:2px;width:56px;height:56px}.discord-username{color:#c4b5fd;white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:.88rem;font-weight:700;overflow:hidden}.discord-sync-badge{white-space:nowrap;font-size:.72rem;font-weight:600;transition:color .3s}.discord-sync-badge[data-sync-status=syncing]{color:var(--warning)}.discord-sync-badge[data-sync-status=saved]{color:var(--success)}.discord-sync-badge[data-sync-status=error]{color:var(--danger)}.discord-logout-btn{border-radius:var(--radius-sm);color:#f87171;background:#ef44441f;border:1px solid #ef44444d;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1rem;line-height:1;display:flex}.discord-logout-btn:hover{background:#ef444438}.discord-login-btn{border-radius:var(--radius-md);color:#fff;letter-spacing:.02em;white-space:nowrap;background:#5865f2;border:none;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.88rem;font-weight:700;display:inline-flex;box-shadow:0 2px 12px #5865f266}.discord-login-btn:hover{background:#4752c4;box-shadow:0 4px 20px #5865f299}.discord-login-btn--large{padding:.75rem 1.5rem;font-size:1rem}.discord-connect-card{background:linear-gradient(145deg, #5865f20f, var(--surface));border-color:#5865f259}.discord-settings-profile{flex-direction:column;gap:.25rem;display:flex}.discord-profile-full{border-radius:var(--radius-md);background:#5865f214;border:1px solid #5865f240;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem;display:flex}.discord-profile-name{color:#a5b4fc;margin:0;font-size:1.1rem;font-weight:800}.discord-cloud-badge{color:#4ade80;background:#22c55e26;border:1px solid #22c55e59;border-radius:2rem;margin-left:auto;padding:.3rem .75rem;font-size:.78rem;font-weight:700}.discord-login-cta{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.discord-login-cta-text{flex:240px}.discord-login-cta-text p{margin:0 0 .25rem}.bot-channel-picker{border-radius:var(--radius-md);background:#5865f20f;border:1px solid #5865f233;flex-direction:column;gap:.6rem;margin-bottom:.75rem;padding:.75rem;display:flex}.bot-picker-header{align-items:center;gap:.6rem;display:flex}.bot-channel-active{color:#4ade80;margin:0;font-size:.88rem;display:block}.bot-status-ok{flex-direction:column;gap:.5rem;display:flex}.bot-missing-notice{border-radius:var(--radius-md);color:#fca5a5;background:#ef444414;border:1px solid #ef444440;flex-direction:column;gap:.4rem;padding:.65rem .9rem;font-size:.85rem;display:flex}.bot-missing-notice--warn{color:#fcd34d;background:#f59e0b14;border-color:#f59e0b40}.bot-missing-notice p{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#c4b5fd;margin:0 0 .35rem;font-size:.7rem}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.6rem,6vw,2.2rem)}h2{font-size:1.05rem}h3{font-size:.98rem}.muted{color:var(--text-muted);line-height:1.45}.panel-stack,.stack-form,.stack-list{gap:1rem;display:grid}.hero-grid,.form-grid,.button-grid,.ability-dashboard{gap:.875rem;display:grid}.hero-grid,.form-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.form-grid-abilities,.ability-dashboard,.button-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading,.card-header-inline,.list-card,.list-card-actions,.mode-group,.quick-actions,.switch-field{gap:.75rem;display:flex}.section-heading,.card-header-inline,.list-card,.switch-field{justify-content:space-between;align-items:center}.mode-group,.quick-actions,.list-card-actions{flex-wrap:wrap}.quick-actions>*,.list-card-actions>*{flex:120px}.status-banner{border-radius:var(--radius-lg);padding:.875rem 1rem;line-height:1.45}.status-info{border-color:#38bdf84d}.status-success{border-color:#22c55e59}.status-error{border-color:#ef44445c}.primary-action,.roll-button{background:linear-gradient(135deg, var(--primary), #5b21b6);color:var(--text);padding:.8rem 1rem;font-weight:700}.d20-lock-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;padding:.2rem;transition:transform .22s,filter .22s}.d20-lock-btn:hover{filter:drop-shadow(0 0 10px #8b5cf6e6);transform:translateY(-2px)rotate(15deg)}.d20-btn-svg{width:50px;height:50px;display:block}.d20-face{fill:#6d28d9b8;stroke:#a78bfabf;stroke-width:2.5px;transition:fill .3s,stroke .3s}.d20-ridge{stroke:#a78bfa47;stroke-width:1px;transition:stroke .3s}.d20-label{fill:#fff;font-size:30px;font-weight:800;font-family:var(--font-main,system-ui, sans-serif);letter-spacing:-1px;pointer-events:none}.d20-lock-btn--active .d20-face{fill:#16a34acc;stroke:#4ade80d9}.d20-lock-btn--active .d20-ridge{stroke:#4ade8059}.d20-lock-btn--active{filter:drop-shadow(0 0 8px #22c55e8c)}.d20-lock-btn--active:hover{filter:drop-shadow(0 0 14px #22c55ef2);transform:translateY(-2px)rotate(-10deg)}.ghost-button,.danger-button,.mode-option span,.action-tile,.nav-button,.check-tile,.mini-card,.list-card{background:var(--bg-soft);color:var(--text);border:1px solid #a5b4fc24}.ghost-button,.danger-button{padding:.8rem 1rem;font-weight:600}.danger-button{color:#fecaca;border-color:#ef444459}.pill,.result-badge{background:#8b5cf62e;border:1px solid #a78bfa4d;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .7rem;font-size:.82rem;display:inline-flex}.badge-critical{background:#22c55e2e;border-color:#22c55e59}.badge-fumble{background:#ef444429;border-color:#ef444459}.stat-card{gap:.8rem;display:grid}.hp-value{align-items:baseline;gap:.4rem;font-size:2.3rem;font-weight:800;display:flex}.hp-value small{color:var(--text-muted);font-size:1.1rem}.big-stat{font-size:2.3rem;font-weight:800}.hp-track{background:#94a3b829;border-radius:999px;width:100%;height:.75rem;position:relative;overflow:hidden}.hp-track-fill{border-radius:inherit;background:linear-gradient(90deg,#ef4444 0%,#f59e0b 40%,#22c55e 100%);height:100%;display:block}.field,.compact-field{gap:.45rem;display:grid}.field-full{grid-column:1/-1}.field span:first-child,.compact-field span:first-child{color:var(--text-muted);font-weight:600}.field input,.field select,.compact-field input{width:100%;color:var(--text);border-radius:var(--radius-md);background:#08070fb8;border:1px solid #a5b4fc38;padding:.8rem .95rem}.field input:disabled,.compact-field input:disabled{opacity:.68;cursor:not-allowed}.field-hint{color:var(--text-muted);font-size:.88rem}.mini-card,.list-card,.last-action-card{border-radius:var(--radius-lg);padding:.95rem}.mini-card{gap:.75rem;display:grid}.mini-card-kicker{text-transform:uppercase;letter-spacing:.08em;color:#c4b5fd;font-size:.74rem}.mini-card-values{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.mini-card-values strong{font-size:1.6rem}.action-tile{border-radius:var(--radius-lg);text-align:left;align-content:center;gap:.35rem;padding:.85rem;display:grid}.action-tile-proficient{background:linear-gradient(#22c55e29,#0b0f19d9);border-color:#22c55e6b}.action-tile-title{font-weight:700}.action-tile-meta{color:var(--text-muted);font-size:.88rem}.checklist-grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem;display:grid}.check-tile{border-radius:var(--radius-lg);align-items:center;gap:.8rem;padding:.8rem;display:flex}.check-tile input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}.check-tile-body{justify-content:space-between;gap:.5rem;width:100%;display:flex}.mode-group{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.mode-option{position:relative}.mode-option input{opacity:0;position:absolute;inset:0}.mode-option span{border-radius:var(--radius-md);justify-content:center;align-items:center;width:100%;padding:.8rem;font-weight:700;display:flex}.mode-option input:checked+span{background:linear-gradient(135deg,#8b5cf647,#38bdf838);border-color:#38bdf873}.sub-form,.stack-form{gap:1rem;display:grid}.switch-field{justify-content:flex-start}.switch-field input{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.empty-state{color:var(--text-muted);line-height:1.5}.history-list{gap:.7rem;margin:1rem 0 0;padding-left:1.1rem;display:grid}.history-item{color:var(--text-muted);line-height:1.5}.history-item-alert{color:#fde68a}.history-item-roll{color:#e2e8f0}.bottom-nav{z-index:9999;padding:.6rem .5rem calc(.6rem + env(safe-area-inset-bottom)) .5rem;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#04060ef5;border-top:1px solid #a5b4fc24;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav[data-gm-active="1"]{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-button{border-radius:var(--radius-md);color:#f8fafc73;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:52px;padding:.5rem .25rem;font-size:.68rem;font-weight:700;line-height:1.2;transition:transform .16s,background-color .16s,border-color .16s,color .16s;display:flex;position:relative}.nav-icon{font-size:1.3rem;line-height:1;transition:transform .2s,filter .2s;display:block}.nav-label{letter-spacing:.02em;font-size:.65rem;font-weight:700;display:block}.nav-button-active{color:var(--text);background:linear-gradient(135deg,#8b5cf657,#38bdf833);border-color:#38bdf852}.nav-button-active .nav-icon{filter:drop-shadow(0 0 6px #8b5cf6bf);transform:scale(1.15)translateY(-1px)}.nav-button-active:after{content:"";background:linear-gradient(90deg, var(--primary), var(--info));border-radius:99px;width:18px;height:3px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.panel-enter{animation:.2s both panel-fade-in}@keyframes panel-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.disclosure{overflow:hidden}.disclosure summary{cursor:pointer;font-weight:700;list-style:none}.disclosure summary::-webkit-details-marker{display:none}.disclosure[open] summary{margin-bottom:1rem}.session-lock-card{border-radius:var(--radius-lg);padding:1rem}.session-lock-list{color:var(--text-muted);gap:.55rem;margin:.9rem 0 0;padding-left:1.1rem;display:grid}.history-item-spell{color:#7dd3fc}.last-action-card{border-radius:var(--radius-lg);margin-bottom:.75rem;padding:1rem}.die-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;display:grid}@media (width>=700px){.die-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}.dice-builder{flex-direction:column;gap:.75rem;display:flex}.dice-builder-rows{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}@media (width>=640px){.dice-builder-rows{grid-template-columns:repeat(3,1fr)}}.dice-builder-row{background:var(--bg-soft);border:1px solid var(--surface-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .85rem;display:flex}.dice-builder-die-label{color:var(--primary-strong);min-width:2.2rem;font-size:1rem;font-weight:700}.dice-builder-stepper{align-items:center;gap:.4rem;display:flex}.dice-stepper-btn{background:var(--surface-strong);width:2rem;height:2rem;color:var(--primary-strong);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0;font-size:1.1rem;font-weight:700;line-height:1;display:flex}.dice-stepper-btn:hover{background:#8b5cf659}.dice-stepper-value{text-align:center;min-width:1.6rem;color:var(--text);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700}.dice-builder-footer{border-top:1px solid var(--surface-border);flex-direction:column;gap:.75rem;padding-top:.5rem;display:flex}.dice-builder-notation{color:var(--text-muted);font-variant-numeric:tabular-nums;min-height:1.4em;margin:0;font-size:.95rem;font-weight:600}.dice-builder-actions{flex-wrap:wrap;gap:.6rem;display:flex}.dice-reset-btn{border-radius:var(--radius-md);color:var(--text-muted);border:1px solid var(--surface-border);background:0 0;padding:.6rem 1rem;font-size:.88rem;font-weight:600}.dice-reset-btn:hover{background:var(--bg-soft);color:var(--text)}.dice-roll-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--primary), #6d28d9);color:#fff;flex:1;padding:.65rem 1.25rem;font-size:.95rem;font-weight:700;box-shadow:0 4px 14px #8b5cf666}.dice-roll-btn:hover:not(:disabled){box-shadow:0 6px 20px #8b5cf699}.dice-roll-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none;transform:none}.initiative-card{padding:0;overflow:hidden}.initiative-btn{border-radius:var(--radius-xl);width:100%;color:var(--text);cursor:pointer;background:linear-gradient(135deg,#38bdf826,#8b5cf638);border:none;justify-content:center;align-items:center;gap:1.1rem;padding:1.15rem 1.5rem;transition:background .2s,transform .16s,box-shadow .2s;display:flex}.initiative-btn:hover{background:linear-gradient(135deg,#38bdf847,#8b5cf661);transform:translateY(-2px);box-shadow:0 6px 24px #38bdf838}.initiative-btn:active{transform:translateY(0)}.initiative-icon{filter:drop-shadow(0 0 8px #38bdf899);font-size:2.4rem;line-height:1}.initiative-text{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.initiative-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.85rem;font-weight:700}.initiative-mod{color:var(--info);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:800;line-height:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.slot-rows{flex-direction:column;gap:.35rem;display:flex}.slot-row{border-bottom:1px solid var(--surface-border);align-items:center;gap:.55rem;padding:.3rem 0;display:flex}.slot-row:last-child{border-bottom:none}.slot-level{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:2.8rem;font-size:.8rem;font-weight:700}.slot-dots{flex-wrap:wrap;flex:1;align-items:center;gap:.22rem;display:flex}.slot-dot{border-radius:50%;width:.65rem;height:.65rem;transition:background-color .16s,box-shadow .16s}.slot-dot--on{background:var(--primary);box-shadow:0 0 5px #8b5cf68c}.slot-dot--off{background:var(--surface-strong);border:1px solid var(--surface-border)}.slot-fraction{text-align:right;font-variant-numeric:tabular-nums;min-width:2.4rem;color:var(--text-muted);flex-shrink:0;font-size:.8rem;font-weight:700}.slot-fraction--empty{color:var(--danger)}.slot-controls{flex-shrink:0;gap:.2rem;display:flex}.slot-restore-btn{height:2rem;min-height:2rem;padding:0 .45rem;font-size:.85rem}@media (width>=700px){.app-shell{padding:1.5rem 1.5rem calc(var(--nav-height) + 1.5rem)}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.button-grid,.checklist-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=980px){.app-shell{padding-bottom:2rem}.bottom-nav{border:1px solid #a5b4fc24;border-radius:999px;gap:.35rem;width:fit-content;margin:1rem auto 0;padding:.5rem .75rem;position:sticky;top:1rem;bottom:auto}.nav-button{flex-direction:row;gap:.4rem;min-height:44px;padding:.5rem .9rem;font-size:.8rem}.nav-button-active:after{display:none}.nav-label{font-size:.8rem}.ability-dashboard{grid-template-columns:repeat(3,minmax(0,1fr))}.button-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}#dice-box{z-index:10001;opacity:0;pointer-events:none;background:0 0;transition:opacity .25s;position:fixed;inset:0}#dice-box.dice-box--active{opacity:1;pointer-events:auto;background:#04030cb8}#dice-box canvas,#dice-canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.dice-result-panel{text-align:center;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;transition:opacity .35s,transform .35s;position:absolute;bottom:12%;left:50%;transform:translate(-50%)translateY(16px)}.dice-result-panel--visible{opacity:1;transform:translate(-50%)translateY(0)}.dice-result-inner{flex-direction:column;align-items:center;gap:.5rem;display:flex}.dice-result-number{letter-spacing:-.04em;color:#f8fafc;text-shadow:0 0 30px #8b5cf6e6,0 0 60px #8b5cf680,0 2px 8px #000c;font-size:clamp(4rem,16vw,7rem);font-weight:900;line-height:1}.dice-result-number--crit{color:#4ade80;text-shadow:0 0 30px #22c55ee6,0 0 60px #22c55e80,0 2px 8px #000c}.dice-result-number--fumble{color:#f87171;text-shadow:0 0 30px #ef4444e6,0 0 60px #ef444480,0 2px 8px #000c}.dice-result-label{text-transform:uppercase;letter-spacing:.22em;color:#c4b5fdd9;font-size:1rem;font-weight:700}.dice-badge{letter-spacing:.12em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:.3rem .9rem;font-size:.78rem;font-weight:800;display:inline-block}.dice-badge--crit{color:#4ade80;background:#22c55e26}.dice-badge--fumble{color:#f87171;background:#ef444426}.dice-result-hint{letter-spacing:.07em;color:#94a3b880;margin:1rem 0 0;font-size:.78rem}.dice-multi-inner{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.dice-chip-row{flex-wrap:wrap;justify-content:center;gap:.75rem;max-width:min(90vw,640px);display:flex}.dice-chip{border-radius:var(--radius-md);background:#8b5cf626;border:1px solid #8b5cf666;flex-direction:column;align-items:center;gap:.3rem;min-width:3.5rem;padding:.75rem 1.1rem;transition:opacity .2s;display:flex}.dice-chip--dimmed{opacity:.35;background:#6464781a;border-color:#64647840}.dice-chip--crit{background:#22c55e1f;border-color:#22c55e99}.dice-chip--fumble{background:#ef44441f;border-color:#ef444499}.dice-chip-value{color:#f8fafc;text-shadow:0 0 18px #8b5cf6b3;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:900;line-height:1}.dice-chip-label{text-transform:uppercase;letter-spacing:.15em;color:#c4b5fdbf;font-size:.7rem;font-weight:700}.dice-multi-total{border-top:1px solid #8b5cf64d;flex-direction:column;align-items:center;gap:.25rem;width:100%;padding-top:.75rem;display:flex}.dice-multi-total-label{text-transform:uppercase;letter-spacing:.18em;color:#c4b5fda6;font-size:.78rem;font-weight:700}.dice-multi-total-value{letter-spacing:-.04em;color:#f8fafc;text-shadow:0 0 30px #8b5cf6e6,0 0 60px #8b5cf680,0 2px 8px #000c;font-variant-numeric:tabular-nums;font-size:clamp(3.5rem,14vw,6rem);font-weight:900;line-height:1}.dice-multi-total-value--crit{color:#4ade80;text-shadow:0 0 30px #22c55ee6,0 0 60px #22c55e80,0 2px 8px #000c}.dice-multi-total-value--fumble{color:#f87171;text-shadow:0 0 30px #ef4444e6,0 0 60px #ef444480,0 2px 8px #000c}.dice-roll-label{letter-spacing:.06em;color:#c4b5fdb3;text-align:center;margin:.5rem 0 0;font-size:.92rem;font-weight:700}.attack-card .attack-card-info{flex:1;min-width:0}.attack-card-actions{gap:.45rem}.attack-card-actions>*{min-width:unset;flex:0 auto;padding:.55rem .85rem;font-size:.85rem}.attack-hit-btn{background:linear-gradient(135deg, var(--primary), #5b21b6);color:#fff}.attack-dmg-btn{color:#fff;background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 3px 10px #d977064d}.attack-dmg-btn:hover{box-shadow:0 5px 16px #d9770680}.dice-flat-modifier{border-radius:var(--radius-md);color:#fbbf24;font-variant-numeric:tabular-nums;background:#d977061f;border:1px dashed #d9770673;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;min-width:3.2rem;padding:.75rem .9rem;font-size:clamp(1.4rem,4.5vw,2rem);font-weight:900;display:flex}.save-actions{flex-direction:column;gap:.75rem;display:flex}.save-action-item{background:var(--bg-soft);border:1px solid var(--surface-border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.save-action-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.save-action-text strong{font-size:.95rem}.save-action-text span{font-size:.82rem}.save-action-text code{background:#8b5cf626;border-radius:4px;padding:.05em .3em;font-family:ui-monospace,monospace;font-size:.8em}.export-btn,.import-btn{border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;padding:.6rem 1.1rem;font-size:.88rem;font-weight:700}.export-btn{background:linear-gradient(135deg, var(--primary), #5b21b6);color:#fff;box-shadow:0 3px 10px #8b5cf659}.export-btn:hover{box-shadow:0 5px 16px #8b5cf68c}.import-btn{background:var(--bg-soft);color:var(--text);border:1px solid #a5b4fc40}.import-btn:hover{background:#8b5cf61f;border-color:#8b5cf666}@media (prefers-reduced-motion:reduce){#dice-box.dice-box--active{animation:none}.dice-result-panel{transition:none}}.remote-roll-banner{color:#e2d9f3;white-space:nowrap;z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#1e143ceb;border:1px solid #8b5cf680;border-radius:2rem;padding:.55rem 1.3rem;font-size:.92rem;font-weight:600;animation:.3s cubic-bezier(.34,1.56,.64,1) remoteBannerIn;position:fixed;top:1.1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000080,0 0 0 1px #8b5cf633}@keyframes remoteBannerIn{0%{opacity:0;transform:translate(-50%)translateY(-.8rem)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}#rpop-stack{z-index:9998;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.55rem;display:flex;position:fixed;bottom:1.5rem;right:1.2rem}.rpop{border:2px solid var(--rpop-color,#7c3aed);pointer-events:none;background:#0e0a1ef5;border-radius:1rem;min-width:180px;max-width:280px;padding:.75rem 1rem;animation:.35s cubic-bezier(.34,1.56,.64,1) rpopIn;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff0a}.rpop--exit{animation:.4s forwards rpopOut}@keyframes rpopIn{0%{opacity:0;transform:translate(1.5rem)scale(.88)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes rpopOut{to{opacity:0;transform:translate(1.5rem)scale(.88)}}.rpop-meta{flex-direction:column;gap:.1rem;margin-bottom:.55rem;display:flex}.rpop-name{color:var(--rpop-color,#a78bfa);font-size:.88rem;font-weight:700}.rpop-label{color:#ffffff73;font-size:.75rem}.rpop-rolling{color:#ffffffa6;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.rpop-spinner{animation:.7s linear infinite rpopSpin;display:inline-block}@keyframes rpopSpin{to{transform:rotate(360deg)}}.rpop-chips{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.rpop-chip{background:#ffffff12;border:1px solid #ffffff1a;border-radius:.45rem;flex-direction:column;align-items:center;min-width:2rem;padding:.25rem .45rem;display:flex}.rpop-chip--flat{border-color:var(--rpop-color,#7c3aed)}.rpop-chip-value{color:#f1f5f9;font-size:1rem;font-weight:800;line-height:1}.rpop-chip-sides{color:#ffffff59;font-size:.58rem;font-weight:400}.rpop-total{color:var(--rpop-color,#a78bfa);text-align:center;font-size:1.8rem;font-weight:900;line-height:1}#dice-box.dice-box--remote{pointer-events:none}#dice-box.dice-box--remote .dice-result-panel{pointer-events:none;cursor:default}#dice-box.dice-box--remote .dice-result-hint{display:none}.rpop-slots{flex-wrap:wrap;justify-content:center;gap:.45rem;margin:.4rem 0 .15rem;display:flex}.rpop-slot{justify-content:center;align-items:center;display:flex}.rpop-die-svg{width:64px;height:64px;overflow:visible}.rpop-die-shape{fill:#0000009e;stroke:var(--rpop-color,#7c3aed);stroke-width:3px;stroke-linejoin:round;transition:stroke .3s,filter .3s}.rpop-die-val{fill:#f1f5f9;font-family:inherit;font-weight:900}.avatar-upload-wrapper{justify-content:center;margin-bottom:1rem;display:flex}.avatar-upload{width:80px;height:80px;min-height:unset;cursor:pointer;background:#8b5cf614;border:2px dashed #a5b4fc66;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .2s,background .2s;display:flex;position:relative;overflow:hidden}.avatar-upload:hover,.avatar-upload:focus-visible{border-color:var(--primary);background:#8b5cf62e;outline:none;transform:none}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-placeholder{color:#a5b4fc99;pointer-events:none;flex-direction:column;align-items:center;gap:.2rem;display:flex}.avatar-hint{text-align:center;font-size:.58rem}.party-panel{z-index:200;pointer-events:none;width:168px;position:fixed;top:50%;left:12px;transform:translateY(-50%)}.party-list{pointer-events:auto;flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.party-card{-webkit-backdrop-filter:blur(14px);cursor:default;background:#0a0816d6;border:1px solid #a5b4fc1f;border-radius:.75rem;flex-direction:row;align-items:center;gap:.5rem;width:168px;padding:.5rem .6rem;transition:border-color .2s,transform .2s;display:flex}.party-card:hover{border-color:#8b5cf673;transform:translate(3px)}.party-card--self{border-color:#8b5cf659}.party-avatar{object-fit:cover;border:2px solid #a5b4fc40;border-radius:50%;flex-shrink:0;width:48px;height:48px}.party-avatar--initial{border:2px solid var(--pcolor,var(--primary));color:var(--text);background:#8b5cf633;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;line-height:1;display:flex}.party-info{flex-direction:column;flex:1;align-items:flex-start;gap:.15rem;min-width:0;display:flex}.party-name{color:var(--text);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;width:100%;font-size:.7rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.party-class{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.58rem;overflow:hidden}.party-hp-track{background:#ffffff14;border-radius:2px;width:100%;height:4px;overflow:hidden}.party-hp-bar{border-radius:2px;height:100%;transition:width .4s}.party-hp-bar--full{background:var(--success)}.party-hp-bar--injured{background:var(--warning)}.party-hp-bar--critical{background:var(--danger)}.party-hp-label{color:var(--text-muted);font-size:.56rem}@media (width<=480px){.party-panel{width:140px;left:6px}.party-card{width:140px;padding:.4rem .45rem}.party-avatar,.party-avatar--initial{width:38px;height:38px;font-size:.9rem}}.rpop-die-lbl{fill:var(--rpop-color,#7c3aed);opacity:.85;font-weight:700}.rpop-slot:not(.rpop-slot--locked) .rpop-die-val{animation:.11s step-end infinite rpopValFlicker}@keyframes rpopValFlicker{0%,to{opacity:1}50%{opacity:.4}}.rpop-slot--locked{animation:.45s cubic-bezier(.34,1.56,.64,1) rpopDieLock}.room-empty-state{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 1.5rem;display:flex}.room-empty-icon{font-size:2.5rem}.room-empty-text{color:var(--text-muted);max-width:28ch;font-size:.9rem}.room-entry,.room-entry-card{flex-direction:column;gap:.75rem;display:flex}.room-divider{color:var(--text-muted);align-items:center;gap:.75rem;padding:0 .25rem;font-size:.78rem;display:flex}.room-divider:before,.room-divider:after{content:"";background:#a5b4fc1f;flex:1;height:1px}.room-active-header{flex-direction:column;gap:.6rem;display:flex}.room-active-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.room-active-info{flex-direction:column;gap:.3rem;display:flex}.room-active-name{color:var(--text);margin:0;font-size:1.25rem;font-weight:800;line-height:1.2}.room-role-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:.15rem .55rem;font-size:.6rem;font-weight:700;display:inline-block}.room-role-badge--gm{color:#fbbf24;background:#fbbf2424;border:1px solid #fbbf2459}.room-role-badge--player{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf847}.room-code-row{background:#00000047;border-radius:.6rem;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.room-code-label{color:var(--text-muted);flex-shrink:0;font-size:.72rem}.room-code-value{color:var(--primary-strong);letter-spacing:.14em;flex:1;font-family:ui-monospace,SF Mono,monospace;font-size:1.05rem;font-weight:800}.room-copy-btn{min-height:unset;cursor:pointer;opacity:.65;background:0 0;border:none;padding:.1rem .3rem;font-size:1rem;transition:opacity .15s}.room-copy-btn:hover{opacity:1;transform:none}.room-leave-btn{min-height:unset;color:var(--danger);background:#ef44441a;border:1px solid #ef444440;border-radius:.5rem;flex-shrink:0;padding:.4rem .8rem;font-size:.74rem;transition:background .15s,border-color .15s}.room-leave-btn:hover{background:#ef444433;border-color:#ef444480;transform:none}.room-members-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.85rem;font-weight:700}.room-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex-shrink:0;padding:.1rem .32rem;font-size:.52rem;font-weight:700;display:inline-block}.room-badge--gm{color:#fbbf24;background:#fbbf2424;border:1px solid #fbbf2459}.room-badge--you{color:var(--primary-strong);background:#8b5cf624;border:1px solid #8b5cf64d}.room-member-avatar{object-fit:cover;border:2px solid #a5b4fc38;border-radius:50%;flex-shrink:0;width:46px;height:46px}.room-member-avatar--initial{border:2px solid var(--pcolor,var(--primary));color:var(--text);background:#8b5cf62e;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;display:flex}.room-member-info{flex-direction:column;flex:1;gap:.18rem;min-width:0;display:flex}.room-member-name-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.room-member-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.room-member-class{color:var(--text-muted);font-size:.72rem}.room-section{position:relative}.room-gm-card{border-radius:var(--radius-xl);background:linear-gradient(135deg,#fbbf2414,#8b5cf614);border:1px solid #fbbf244d;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex;position:relative;overflow:hidden}.room-gm-card:before{content:"";pointer-events:none;background:radial-gradient(at 0 0,#fbbf240f,#0000 60%);position:absolute;inset:0}.room-gm-crown{opacity:.55;font-size:1rem;position:absolute;top:.4rem;right:.7rem}.room-gm-avatar{object-fit:cover;border:2px solid #fbbf2480;border-radius:50%;flex-shrink:0;width:60px;height:60px;box-shadow:0 0 14px #fbbf2433}.room-gm-avatar--initial{border:2px solid var(--pcolor,#fbbf24);color:#fbbf24;background:#fbbf241f;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.room-gm-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.room-gm-role{text-transform:uppercase;letter-spacing:.1em;color:#fbbf24;opacity:.8;font-size:.6rem;font-weight:700}.room-gm-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:1rem;font-weight:700;display:flex}.room-members-list{flex-direction:column;gap:.45rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.room-member-card{background:#00000038;border:1px solid #a5b4fc14;border-radius:.75rem;align-items:center;gap:.65rem;padding:.6rem .55rem;transition:border-color .2s;display:flex}.room-member-card:hover{border-color:#8b5cf647}.room-member-actions{flex-shrink:0;gap:.1rem;margin-left:auto;display:flex}.room-no-players{color:var(--text-muted);text-align:center;padding:1.25rem 0 .5rem;font-size:.82rem}.room-kick-btn{min-height:unset;cursor:pointer;opacity:.4;background:0 0;border:none;flex-shrink:0;padding:.18rem .32rem;font-size:.9rem;transition:opacity .15s}.room-kick-btn:hover,.room-ban-btn:hover{opacity:1;transform:none}.party-card--gm{border-color:#fbbf244d}.presence-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.presence-dot--online{background:#22c55e;box-shadow:0 0 4px #22c55eb3}.presence-dot--offline{background:#ef4444;box-shadow:0 0 4px #ef444480}.presence-dot--unknown{background:#6b7280}.party-card--offline,.room-member-card--offline,.room-gm-card--offline{opacity:.45;filter:grayscale(.6)}.party-gm-badge{color:#fbbf24;text-transform:uppercase;letter-spacing:.04em;background:#fbbf2424;border:1px solid #fbbf2459;border-radius:999px;width:fit-content;padding:.08rem .28rem;font-size:.46rem;font-weight:700;display:block}.rpop-slot--locked .rpop-die-shape{stroke:#fff;filter:drop-shadow(0 0 7px var(--rpop-color,#7c3aed))}.rpop-slot--locked .rpop-die-val{fill:var(--rpop-color,#a78bfa);animation:none}@keyframes rpopDieLock{0%{transform:scale(1.4)rotate(-10deg)}55%{transform:scale(1.06)rotate(4deg)}to{transform:scale(1)rotate(0)}}.rpop-slot--flat{border:2px dashed var(--rpop-color,#7c3aed);opacity:.75;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-width:36px;height:64px;display:flex}.rpop-slot-flat{color:var(--rpop-color,#a78bfa);font-size:1rem;font-weight:800}.rpop--critical{border-color:#fbbf24;animation:.65s cubic-bezier(.34,1.56,.64,1) rpopCritBurst,2s .65s infinite rpopCritPulse}@keyframes rpopCritBurst{0%{transform:scale(.78);box-shadow:0 0 70px #fbbf24,0 8px 32px #00000080}45%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes rpopCritPulse{0%,to{box-shadow:0 0 18px #fbbf2459,0 8px 32px #00000080}50%{box-shadow:0 0 50px #fbbf24e6,0 8px 32px #00000080}}.rpop--fumble{background:#120404f7;border-color:#ef4444;animation:.55s rpopFumbleShake}@keyframes rpopFumbleShake{0%,to{transform:translate(0)}15%{transform:translate(-10px)rotate(-2deg)}30%{transform:translate(10px)rotate(2deg)}45%{transform:translate(-7px)}60%{transform:translate(7px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.rpop-special{text-align:center;letter-spacing:.08em;text-transform:uppercase;border-radius:.35rem;margin:.3rem 0 .4rem;padding:.22rem .5rem;font-size:.7rem;font-weight:900}.rpop-special--crit{color:#fbbf24;text-shadow:0 0 12px #fbbf24cc;background:#fbbf241a;border:1px solid #fbbf2466;animation:.5s cubic-bezier(.34,1.56,.64,1) rpopCritBadge}@keyframes rpopCritBadge{0%{opacity:0;transform:scale(.6)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.rpop-special-stars{animation:1.8s linear infinite rpopStarSpin;display:inline-block}@keyframes rpopStarSpin{to{transform:rotate(360deg)}}.rpop-special--fumble{color:#f87171;text-shadow:0 0 10px #ef4444b3;background:#ef44441a;border:1px solid #ef444459;animation:.4s rpopFumbleBadge}@keyframes rpopFumbleBadge{0%{opacity:0;transform:scale(1.4)}to{opacity:1;transform:scale(1)}}.rpop-total--crit{color:#fbbf24;text-shadow:0 0 20px #fbbf24d9;animation:.6s cubic-bezier(.34,1.56,.64,1) rpopTotalCrit}@keyframes rpopTotalCrit{0%{opacity:0;transform:scale(.3)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(0)}}.rpop-total--fumble{color:#f87171;text-shadow:0 0 16px #ef4444cc}.cssda{z-index:9000;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04030ed9;justify-content:center;align-items:center;animation:.3s both cssda-in;display:flex;position:fixed;inset:0}.cssda--remote{pointer-events:none;cursor:default;z-index:8999}.cssda--exit{animation:.35s both cssda-out!important}@keyframes cssda-in{0%{opacity:0}to{opacity:1}}@keyframes cssda-out{0%{opacity:1}to{opacity:0}}.cssda-arena{flex-direction:column;align-items:center;gap:1.4rem;padding:2rem;display:flex}.cssda-header{opacity:0;flex-direction:column;align-items:center;gap:.25rem;animation:.4s .2s both cssda-appear;display:flex}.cssda-player{color:#ffffffe6;font-size:1rem;font-weight:700}.cssda-label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.cssda-row{flex-wrap:wrap;justify-content:center;gap:1.25rem;max-width:90vw;display:flex}.cssda-die{perspective:600px}.cssda-face{border:2.5px solid var(--die-color,#7c3aed);width:88px;height:88px;box-shadow:0 0 24px var(--die-color,#7c3aed), inset 0 1px 2px #ffffff26;animation:cssda-roll var(--dur,2.8s) cubic-bezier(.22, .61, .36, 1) both;animation-delay:var(--delay,0s);transform-origin:50%;background:radial-gradient(circle at 35% 30%,#ffffff1f,#000000f2);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}@keyframes cssda-roll{0%{opacity:0;transform:perspective(600px)scale(.08)rotateY(0)rotateX(0)}6%{opacity:1;transform:perspective(600px)scale(.95)rotateY(340deg)rotateX(15deg)}22%{transform:perspective(600px)scale(1.12)rotateY(760deg)rotateX(-8deg)}42%{transform:perspective(600px)scale(1)rotateY(1260deg)rotateX(6deg)}60%{transform:perspective(600px)scale(1)rotateY(1640deg)rotateX(-3deg)}74%{transform:perspective(600px)scale(1.04)rotateY(1790deg)rotateX(1.5deg)}85%{transform:perspective(600px)scale(.96)rotateY(1797deg)rotateX(-.8deg)}92%{transform:perspective(600px)scale(1.02)rotateY(1799deg)rotateX(.3deg)}to{transform:perspective(600px)scale(1)rotateY(1800deg)rotateX(0)}}.cssda-num{color:#fff;text-shadow:0 0 12px var(--die-color,#7c3aed);font-size:2.5rem;font-weight:900;line-height:1}.cssda-type{color:var(--die-color,#7c3aed);text-transform:uppercase;letter-spacing:.06em;opacity:.9;font-size:.65rem;font-weight:700}.cssda-total{opacity:0;animation:cssda-appear .5s ease var(--settle-delay,2.6s) both;align-items:baseline;gap:.6rem;display:flex}.cssda-total-num{color:#fff;text-shadow:0 0 30px var(--die-color,#7c3aed);font-size:clamp(3.5rem,12vw,6rem);font-weight:900;line-height:1}.cssda-total-mod{color:#ffffff8c;font-size:1.4rem}.cssda-total-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.2em .5em;font-size:.75rem;font-weight:700}.cssda-badge--adv{color:#6ee7b7;background:#10b98140;border:1px solid #10b98166}.cssda-badge--dis{color:#fca5a5;background:#ef444433;border:1px solid #ef444459}.cssda-hint{color:#ffffff4d;text-transform:uppercase;letter-spacing:.08em;opacity:0;animation:cssda-appear .4s ease var(--settle-delay,2.6s) both;margin:0;font-size:.72rem}@keyframes cssda-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.combat-tracker-panel[hidden]{display:none}.combat-tracker-panel{z-index:900;background:var(--bg-elevated);border-radius:var(--radius-lg);width:160px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #a5b4fc2e;flex-direction:column;gap:0;display:flex;position:fixed;top:50%;right:12px;overflow:hidden;transform:translateY(-50%)}.ct-header{background:#8b5cf62e;border-bottom:1px solid #a5b4fc24;justify-content:space-between;align-items:center;padding:.5rem .7rem;display:flex}.ct-title{letter-spacing:.06em;text-transform:uppercase;color:var(--primary-strong);font-size:.72rem;font-weight:700}.ct-round{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.68rem}.ct-list{margin:0;padding:.3rem 0;list-style:none}.ct-entry{align-items:center;gap:.35rem;padding:.3rem .5rem;transition:background .15s;display:flex}.ct-entry--current{border-left:2px solid var(--primary);background:#8b5cf62e}.ct-turn-arrow{color:var(--primary-strong);flex-shrink:0;font-size:.65rem}.ct-turn-spacer{flex-shrink:0;width:.65rem}.ct-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px;font-size:0}.ct-avatar--monster{background:#ef444426;border:1px solid #ef444459;justify-content:center;align-items:center;font-size:.85rem;display:flex}.ct-avatar--initial{background:color-mix(in srgb, var(--pcolor,#8b5cf6) 25%, transparent);border:1px solid color-mix(in srgb, var(--pcolor,#8b5cf6) 45%, transparent);color:var(--text);justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.ct-info{flex:1;min-width:0;overflow:hidden}.ct-name{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.7rem;font-weight:600;display:block;overflow:hidden}.ct-initiative{color:var(--primary-strong);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem;font-weight:700}.ct-empty{color:var(--text-muted);padding:.5rem .7rem;font-size:.68rem;font-style:italic}.ct-monster-form{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.ct-monster-form .field-input{background:var(--bg-soft);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text);padding:.35rem .5rem;font-size:.85rem}.ct-gm-monster-list{flex-direction:column;gap:.3rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.ct-gm-monster-item{border-radius:var(--radius-sm);background:#ef444414;border:1px solid #ef444433;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.8rem;display:flex}.ct-gm-monster-name{flex:1;font-weight:600}.ct-gm-monster-init,.ct-gm-monster-hp{color:var(--text-muted);font-variant-numeric:tabular-nums}.ct-gm-player-list{flex-direction:column;gap:.3rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.ct-gm-player-status{background:var(--bg-soft);border-radius:var(--radius-sm);align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.82rem;display:flex}.ct-gm-player-init{color:var(--primary-strong);margin-left:auto;font-weight:700}.ct-gm-timeline{flex-direction:column;gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.ct-gm-timeline-item{background:var(--bg-soft);border-radius:var(--radius-sm);border:1px solid #0000;grid-template-columns:1.2rem 1fr 2.5rem 4rem auto;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.82rem;display:grid}.ct-gm-timeline-item--current{background:#8b5cf626;border-color:#8b5cf666}.ct-gm-timeline-arrow{color:var(--primary-strong);font-weight:700}.ct-gm-timeline-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ct-gm-timeline-init{font-variant-numeric:tabular-nums;color:var(--primary-strong);text-align:right;font-weight:700}.ct-gm-timeline-hp{font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:right;font-size:.75rem}[data-initiative-modal]{z-index:10000;position:fixed;inset:0}#dice-box.dice-box--active~[data-initiative-modal] .initiative-modal-backdrop{pointer-events:none}body:has(#dice-box.dice-box--active) [data-initiative-modal] .initiative-modal-backdrop{pointer-events:none}.initiative-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04060ee0;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.initiative-modal-card{background:var(--bg-elevated);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:360px;box-shadow:0 0 40px #8b5cf640, var(--shadow);border:1px solid #8b5cf666;flex-direction:column;gap:1rem;padding:2rem 1.75rem;display:flex}.initiative-modal-card h2{color:var(--text);margin:0;font-size:1.4rem;font-weight:800}.initiative-modal-dex{color:var(--primary-strong);margin:0;font-size:.9rem;font-weight:600}.initiative-modal-result{color:var(--primary-strong);text-shadow:0 0 24px #8b5cf680;font-variant-numeric:tabular-nums;font-size:4rem;font-weight:900;line-height:1}.initiative-modal-breakdown{color:var(--text-muted);margin:0;font-size:.82rem}@media (width<=500px){.combat-tracker-panel{display:none}}
