:root{--bg-0: #0b1020;--bg-1: #111a2e;--bg-2: #192540;--bg-3: #223154;--border: #2b3a63;--text: #e6ecff;--text-dim: #9aa8c8;--accent: #60a5fa;--accent-strong: #3b82f6;--danger: #ef4444;--success: #10b981;--radius: 6px;--pad: 12px;--shadow: 0 6px 24px rgba(0,0,0,.4);--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden;background:var(--bg-0);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--accent-strong);color:#fff;border:none;padding:8px 14px;border-radius:var(--radius);cursor:pointer;font:inherit;font-weight:500}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--bg-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--danger)}button.ghost{background:transparent;color:var(--text-dim)}button.ghost:hover{color:var(--text);background:var(--bg-2)}input,textarea{background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font:inherit;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--accent)}select{background:var(--bg-1);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;font:inherit;width:100%;cursor:pointer}select:focus{outline:none;border-color:var(--accent)}select option{background:var(--bg-1);color:var(--text)}label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.field{margin-bottom:12px}.page-center{width:100vw;height:100vh;display:grid;place-items:center;padding:24px}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:28px;width:100%;max-width:420px;box-shadow:var(--shadow)}.card h1{margin:0 0 16px;font-size:22px}.card h2{margin:0 0 8px;font-size:16px;color:var(--text-dim);font-weight:500}.error{color:var(--danger);font-size:12px;margin-top:6px}.muted{color:var(--text-dim)}.toolbar{display:flex;align-items:center;gap:8px}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.row:hover{background:var(--bg-3)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:100}.modal{background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:24px;min-width:360px;max-width:520px;box-shadow:var(--shadow)}.modal h2{margin:0 0 12px;font-size:18px;color:var(--text);font-weight:600}.campaign-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:44px 1fr}.topbar{display:flex;align-items:center;padding:0 12px;background:var(--bg-1);border-bottom:1px solid var(--border);gap:12px}.topbar .title{font-weight:600}.topbar .spacer{flex:1}.campaign-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:0}.campaign-body.no-sidebar{grid-template-columns:1fr}.canvas-slot{position:relative;background:var(--bg-0);min-width:0;overflow:hidden}.canvas-slot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 50%,#00000073 90%,#000000b3);box-shadow:inset 0 0 120px #00000080,inset 0 0 30px #00000059;z-index:10}.sidebar{background:var(--bg-1);border-left:1px solid var(--border);padding:12px;overflow:auto;display:flex;flex-direction:column;gap:12px}.sidebar h3{margin:0;font-size:13px;text-transform:uppercase;color:var(--text-dim);letter-spacing:.05em}.bank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.bank-thumb{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:grab;aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative}.bank-thumb img{width:100%;height:100%;object-fit:cover;display:block}.bank-thumb:hover{border-color:var(--accent)}.bank-thumb .name{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(to top,#000c,#0000);padding:12px 6px 4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-delete{position:absolute;top:4px;right:4px;width:22px;height:22px;padding:0;background:#0000008c;color:#fff;border-radius:4px;border:1px solid rgba(255,255,255,.1);opacity:0;transition:opacity .1s;font-size:12px;line-height:1}.bank-thumb:hover .bank-delete{opacity:1}.bank-delete:hover{background:var(--danger)}.bank-confirm{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:4px}.bank-confirm button{font-size:11px;padding:4px 8px}.upload-target{border:2px dashed var(--border);border-radius:var(--radius);padding:16px;text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .12s,color .12s}.upload-target:hover{border-color:var(--accent);color:var(--text)}.player-chip{display:flex;align-items:center;gap:8px;font-size:13px}.player-chip .dot{width:10px;height:10px;border-radius:5px}.badge{display:inline-block;padding:2px 6px;background:var(--bg-3);color:var(--text-dim);border-radius:4px;font-size:11px}.badge.gm{background:var(--accent-strong);color:#fff}.placement-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto;background:#00000040;z-index:50}.placement-rect{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 1px #0009,0 6px 30px #60a5fa66;cursor:move;-webkit-user-select:none;user-select:none}.placement-handle{position:absolute;width:14px;height:14px;background:var(--accent);border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #00000080}.placement-handle.tl{left:-8px;top:-8px;cursor:nwse-resize}.placement-handle.tr{right:-8px;top:-8px;cursor:nesw-resize}.placement-handle.bl{left:-8px;bottom:-8px;cursor:nesw-resize}.placement-handle.br{right:-8px;bottom:-8px;cursor:nwse-resize}.tile-draw-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;cursor:crosshair;z-index:60;-webkit-user-select:none;user-select:none}.tile-draw-rect{position:absolute;border:2px dashed #fbbf24;background:#fbbf2426;pointer-events:none}.tile-draw-toolbar{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;gap:8px;align-items:center;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;box-shadow:var(--shadow);z-index:61;font-size:13px}.weather-chip{display:flex;align-items:center;gap:6px;padding:0 10px;height:100%;border-radius:6px;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text-dim)}.weather-cover{font-variant-numeric:tabular-nums}.calendar-anchor{display:flex;align-items:center;gap:6px;padding:0 10px;height:100%;border-radius:6px;-webkit-user-select:none;user-select:none;cursor:pointer;font-size:13px}.calendar-anchor:hover{background:var(--bg-2)}.calendar-icon{font-size:15px}.calendar-day{font-weight:600;font-variant-numeric:tabular-nums}.cal-popover{position:fixed;width:min(95vw,440px);max-height:min(82vh,640px);background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:10px;box-shadow:var(--shadow);z-index:500;display:flex;flex-direction:column;gap:10px;overflow:hidden}.cal-head{display:flex;align-items:center;gap:4px}.cal-head button{padding:4px 8px;font-size:13px}.cal-head .close{margin-left:auto}.cal-head-title{flex:1;text-align:center;line-height:1.1}.cal-month{font-size:15px;font-weight:700;color:var(--text)}.cal-year{font-size:11px;color:var(--text-dim)}.cal-select{flex:1;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font:inherit;font-weight:600;font-size:14px;text-align-last:center;cursor:pointer}.cal-select:hover{background:var(--bg-3)}.cal-year-input{width:70px;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font:inherit;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.cal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.cal-weekheader .cal-weekday{text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:2px 0}.cal-days .cal-day{aspect-ratio:1 / .95;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:13px;color:var(--text);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;cursor:pointer;transition:background 80ms,border-color 80ms;min-width:0}.cal-days .cal-day:hover{background:var(--bg-3)}.cal-days .cal-day.past{opacity:.55}.cal-days .cal-day.today{background:#60a5fa2e;border-color:var(--accent);font-weight:700}.cal-days .cal-day.selected{outline:2px solid var(--accent);outline-offset:-1px}.cal-day-num{font-variant-numeric:tabular-nums}.cal-day-top{display:flex;align-items:center;justify-content:space-between;width:100%}.cal-day-weather{opacity:.85;display:inline-flex;align-items:center}.cal-day-weather.overridden{color:var(--accent);opacity:1}.cal-day-dots{display:flex;gap:2px;align-items:center}.cal-dot{display:inline-block;width:5px;height:5px;border-radius:3px;background:var(--accent)}.cal-dot-more{font-size:9px;color:var(--text-dim);margin-left:2px}.cal-selected{display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:1px solid var(--border);flex:1 1 auto;min-height:0}.cal-selected-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-selected-date{font-weight:600;font-size:14px}.cal-selected-sub{font-size:11px;color:var(--text-dim)}.cal-weather{display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;font-size:12px}.cal-weather-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.cal-weather-title{display:flex;align-items:center;gap:6px;font-weight:600}.cal-weather-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;background:var(--accent-strong);color:#fff;padding:1px 5px;border-radius:3px}.cal-weather-types{display:flex;gap:4px}.cal-weather-type{padding:4px 6px;background:var(--bg-1);color:var(--text-dim);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center}.cal-weather-type:hover{background:var(--bg-3);color:var(--text)}.cal-weather-type.active{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong)}.cal-weather-slider{display:flex;align-items:center;gap:6px}.cal-weather-slider input[type=range]{flex:1}.cal-weather-val{font-variant-numeric:tabular-nums;min-width:36px;text-align:right}.cal-events{display:flex;flex-direction:column;gap:4px;overflow:auto;max-height:200px}.cal-event{display:flex;align-items:flex-start;gap:6px;padding:6px 8px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px}.cal-event-title{font-weight:600;font-size:13px}.cal-event-text{font-size:12px;color:var(--text);opacity:.9;white-space:pre-wrap}.cal-event-meta{font-size:11px;color:var(--text-dim);margin-top:2px}.cal-add{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px}.cal-add input[type=text],.cal-add input:not([type]){flex:1;min-width:160px}.cal-add textarea{flex:1 1 100%;font:inherit;resize:vertical;min-height:40px}.sundial{position:relative;display:flex;align-items:center;gap:6px;padding:0 8px;height:100%;border-radius:6px;-webkit-user-select:none;user-select:none}.sundial:hover{background:var(--bg-2)}.sundial>svg{display:block;flex:none}.sundial-time{font-variant-numeric:tabular-nums;font-weight:600;font-size:13px;color:var(--text)}.sundial-popover{position:fixed;min-width:260px;max-width:calc(100vw - 16px);background:var(--bg-1);border:1px solid var(--border);border-radius:8px;padding:10px;box-shadow:var(--shadow);z-index:500}.dice-box-canvas,#dice-canvas{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;pointer-events:none!important}.dice-launcher{position:absolute;right:14px;bottom:14px;z-index:45;width:44px;height:44px;font-size:20px;border-radius:999px;padding:0;box-shadow:0 4px 12px #0006}.campaign-body:has(.panel-rail.collapsed) .dice-launcher{right:78px}.dice-panel{position:fixed;right:14px;bottom:66px;z-index:300;min-width:280px;background:#0b1020f0;border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:0 10px 30px #00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:10px}.dice-panel-header{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:14px}.dice-panel-controls{display:flex;gap:8px;align-items:center;font-size:12px}.dice-panel-controls label{margin:0;color:var(--text-dim)}.dice-panel-controls input{width:52px;padding:3px 6px;font-size:12px}.dice-grid{display:grid;grid-template-columns:56px repeat(6,1fr);gap:4px;align-items:center}.dice-grid-col-head,.dice-grid-row-head{font-size:12px;font-weight:600;color:var(--text-dim);text-align:center}.dice-grid-row-head{text-align:left;padding-left:4px}.dice-grid-cell{padding:6px 0;min-width:0;background:var(--bg-2);color:var(--text);border:1px solid var(--border);border-radius:4px;font-weight:600;font-size:12px;transition:background 80ms}.dice-grid-cell:hover{background:var(--accent-strong);color:#fff;border-color:var(--accent-strong)}.roll-log{position:fixed;left:50%;bottom:110px;transform:translate(-50%);z-index:300;width:min(90vw,520px);max-height:300px;overflow:auto;background:#0b1020eb;border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 10px 30px #00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column-reverse;gap:4px}.roll-line{display:flex;align-items:center;gap:8px;font-size:12px;padding:4px 8px;border-radius:4px}.placement-toolbar{position:absolute;left:50%;top:calc(100% + 12px);transform:translate(-50%);display:flex;gap:6px;align-items:center;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:var(--shadow);white-space:nowrap}.audio-settings{position:absolute;left:10px;top:10px;background:#0b1020d9;border:1px solid var(--border);border-radius:8px;padding:10px;z-index:25;display:flex;flex-direction:column;gap:8px;min-width:200px;max-width:260px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 12px #0000004d}.setting-section{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.setting-header{margin:0;font-size:14px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding-bottom:8px}.setting-item{display:flex;align-items:center;gap:8px;font-size:13px}.setting-item label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text)}.setting-item input[type=checkbox]{cursor:pointer;width:18px;height:18px}.audio-setting-group{display:flex;align-items:center;gap:8px;font-size:12px;padding:0 8px}.audio-setting-group label{color:var(--text-dim);flex:1;-webkit-user-select:none;user-select:none;margin:0}.audio-setting-group input[type=range]{flex:.8;min-width:80px;height:5px;cursor:pointer}.audio-value{color:var(--text);font-weight:500;min-width:35px;text-align:right;font-size:11px;font-family:monospace}.panel-rail{display:flex;align-items:stretch;min-width:0;min-height:0;height:100%;background:linear-gradient(180deg,#10182bfa,#0a0f1cfa);border-left:1px solid rgba(112,138,192,.18);box-shadow:inset 1px 0 #ffffff08}.panel-rail.collapsed{position:absolute;right:0;top:0;bottom:0;z-index:30;overflow:hidden}.panel-rail-tabs{width:56px;min-width:56px;display:flex;flex-direction:column;gap:8px;padding:10px 8px;background:linear-gradient(180deg,#080c16eb,#0c1220eb);border-right:1px solid rgba(112,138,192,.16);overflow:hidden}.panel-rail:not(.collapsed) .panel-rail-tabs{width:120px;min-width:120px}.panel-rail-tab{display:flex;align-items:center;gap:10px;width:100%;padding:10px 9px;border-radius:12px;background:transparent;color:var(--text-dim);border:1px solid transparent;box-shadow:none;justify-content:flex-start;overflow:hidden}.panel-rail-tab:hover:not(:disabled){background:#60a5fa1a;color:var(--text);border-color:#60a5fa2e}.panel-rail-tab.active{background:linear-gradient(180deg,#60a5fa2e,#3b82f61f);color:var(--text);border-color:#60a5fa59;box-shadow:inset 0 0 0 1px #60a5fa14}.panel-rail-tab.small{margin-top:2px;background:#ffffff08}.panel-rail-tab-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:none}.panel-rail-tab-label{font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-rail-spacer{flex:1}.panel-rail-body{min-width:0;min-height:0;flex:1;overflow:auto;padding:14px}.panel-stack,.cast-panel,.world-panel,.map-panel,.cs{display:flex;flex-direction:column;gap:12px;min-height:0}.sidebar-section,.cast-header,.cast-create,.cal-popover,.cs-banner,.cs-section-head,.cs-prof-row,.cs-death-saves,.cs-attacks,.cs-inv,.cs-bio,.cs-spells,.cs-tabs,.cs-core,.cs-body,.cal-weather,.cal-event,.cal-selected,.dice-panel,.roll-log{background:#ffffff08;border:1px solid rgba(112,138,192,.16);border-radius:14px}.sidebar-section{padding:12px}.sidebar-header{margin-bottom:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.cast-panel{gap:10px}.cast-header,.cast-create{padding:12px}.cast-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.cast-create{display:flex;flex-direction:column;gap:10px}.cast-color-row{display:flex;flex-wrap:wrap;gap:8px}.cast-row,.cast-pool{padding:10px 12px;border:1px solid rgba(112,138,192,.12);border-radius:14px;background:#080c1661}.cast-row-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.cast-name{font-weight:600;color:var(--text)}.cast-dot{width:10px;height:10px;border-radius:999px;flex:none}.cast-dot.off{background:#64748b}.cast-chips{display:flex;flex-wrap:wrap;gap:8px}.cast-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 9px;border-radius:999px;background:#ffffff0d;border:1px solid rgba(112,138,192,.16);color:var(--text)}.cast-chip:hover{background:#60a5fa1a;border-color:#60a5fa42}.cast-chip-dot{width:10px;height:10px;border-radius:999px;flex:none}.cast-chip-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cast-chip-x{width:18px;height:18px;padding:0;border-radius:999px;background:#ffffff14;color:var(--text-dim);line-height:1}.cast-chip-x:hover{background:var(--danger);color:#fff}.panel-stack{gap:12px}.panel-stack>*{min-width:0}.map-panel,.world-panel{gap:12px}.cs{padding:0;color:var(--text)}.cs-banner{padding:14px;position:relative;background:radial-gradient(circle at top right,rgba(96,165,250,.2),transparent 38%),linear-gradient(180deg,#111a2efa,#0c1220f5)}.cs-name{font-size:22px;font-weight:800;letter-spacing:.01em}.cs-subtitle{margin-top:4px;font-size:12px;color:var(--text-dim)}.cs-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;gap:6px}.cs-tab{padding:8px 10px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:600}.cs-tab:hover:not(.active){color:var(--text);background:#ffffff0d}.cs-tab.active{color:var(--text);background:#60a5fa24;border-color:#60a5fa42}.cs-body{padding:12px;overflow:auto;gap:12px}.cs-section-head{padding:9px 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);background:#ffffff06}.cs-section-head span{display:inline-flex;align-items:center;gap:8px}.cs-core,.cs-inv,.cs-bio,.cs-spells{gap:12px}.cs-header-grid,.cs-bio-grid,.cs-spell-header{display:grid;gap:10px}.cs-header-grid,.cs-spell-header{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-header-grid>:nth-child(2),.cs-header-grid>:nth-child(6),.cs-spell-header>:nth-child(2),.cs-spell-header>:nth-child(3){min-width:0}.cs-abilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cs-ability{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label mod" "score score" "save save";gap:8px 10px;padding:12px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);border:1px solid rgba(112,138,192,.16);border-radius:16px}.cs-ability-label{grid-area:label;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--text-dim)}.cs-ability-mod{grid-area:mod;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}.cs-ability-score{grid-area:score;width:100%;text-align:center;font-size:18px;font-weight:700;padding:10px 12px;border-radius:12px}.cs-ability-save{grid-area:save;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:2px}.cs-ability-save input{width:16px;height:16px;flex:none}.cs-ability-save-mod{min-width:38px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.cs-ability-save-mod.prof{color:var(--accent)}.cs-ability-save-label{margin-left:auto;font-size:10px;letter-spacing:.1em;color:var(--text-dim)}.cs-prof-row{display:flex;align-items:stretch;justify-content:space-between;gap:10px;padding:10px 12px}.cs-prof-badge{display:flex;align-items:center;gap:10px}.cs-prof-value{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#60a5fa29;color:var(--text);font-size:16px;font-weight:800}.cs-prof-label{color:var(--text-dim);font-size:12px;font-weight:600}.cs-inspiration{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:10px;background:#ffffff0a}.cs-inspiration input{width:16px;height:16px}.cs-inspiration-label{font-size:12px;font-weight:600;color:var(--text)}.cs-combat-row,.cs-hp-fields,.cs-currency-row,.cs-slots,.cs-bio-pair{display:grid;gap:10px}.cs-combat-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cs-combat-stat,.cs-hp-bar,.cs-hp-dice,.cs-slot,.cs-currency,.cs-spell-row,.cs-inv-row,.cs-atk-row,.cs-skill-row{background:#ffffff08;border:1px solid rgba(112,138,192,.14);border-radius:14px}.cs-combat-stat{padding:12px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.cs-combat-stat-label,.cs-hp-label,.cs-death-label{font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-dim);text-transform:uppercase}.cs-combat-stat input{text-align:center;font-size:20px;font-weight:700;padding:8px 10px}.cs-combat-unit{font-size:11px;color:var(--text-dim)}.cs-hp-block2{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(112,138,192,.18);border-radius:8px}.cs-hp2-bar-wrap{position:relative;height:28px;background:#0000004d;border-radius:6px;overflow:hidden}.cs-hp2-bar{position:absolute;inset:0 auto 0 0;border-radius:6px;transition:width .35s ease,background .35s ease}.cs-hp2-bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}.cs-hp2-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.cs-hp2-field{display:flex;flex-direction:column;gap:3px}.cs-hp2-field-label{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:4px}.cs-hp2-field input{text-align:center;font-size:18px;font-weight:700}.cs-hp2-actions{display:flex;gap:6px;flex-wrap:wrap}.cs-hp2-btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:5px;border:none;cursor:pointer}.cs-hp2-btn.damage{background:#ef44442e;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}.cs-hp2-btn.damage:hover{background:#ef444452}.cs-hp2-btn.heal{background:#10b98124;color:#6ee7b7;border:1px solid rgba(16,185,129,.3)}.cs-hp2-btn.heal:hover{background:#10b98142}.cs-hp2-dice-row{display:flex;gap:10px}.cs-dmg-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}.cs-dmg-modal{background:var(--bg-1);border:1px solid var(--border);border-radius:10px;padding:20px;min-width:320px;max-width:420px;width:90vw;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.cs-dmg-modal-title{font-size:16px;font-weight:700;color:var(--text)}.cs-dmg-modal-row{display:flex;gap:10px}.cs-dmg-amount{width:90px!important;font-size:20px!important;font-weight:700!important;text-align:center!important}.cs-dmg-breakdown{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#ffffff0a;border-radius:6px;border:1px solid rgba(112,138,192,.2)}.cs-dmg-breakdown-chain{font-size:12px;color:var(--text-dim);line-height:1.6;word-break:break-word}.cs-dmg-breakdown-final{font-size:14px;font-weight:600;color:var(--text)}.cs-dmg-temp-note{font-size:11px;color:var(--text-dim);font-weight:400}.cs-dmg-modal-btns{display:flex;gap:8px;flex-wrap:wrap}.cs-armor-audit{background:#ffffff08;border:1px solid rgba(96,165,250,.22);border-radius:8px;padding:10px 12px;margin-bottom:4px}.cs-armor-audit-head{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);opacity:.8;margin-bottom:8px}.cs-armor-audit-body{display:flex;flex-direction:column;gap:10px}.cs-armor-top{display:flex;align-items:center;gap:14px;padding-bottom:8px;border-bottom:1px dashed rgba(96,165,250,.18)}.cs-armor-pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px}.cs-armor-piece{background:#ffffff0a;border:1px solid rgba(96,165,250,.15);border-radius:6px;padding:6px 8px;display:flex;flex-direction:column;gap:4px}.cs-armor-piece-head{display:flex;align-items:center;gap:6px;min-width:0}.cs-armor-piece-kind{font-size:8.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:3px}.cs-armor-piece-kind.armor{background:#93c5fd2e;color:#93c5fd}.cs-armor-piece-kind.shield{background:#a855f72e;color:#d8b4fe}.cs-armor-piece-kind.weapon{background:#f59e0b2e;color:#fcd34d}.cs-armor-piece-name{flex:1;min-width:0;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-armor-piece-body{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.cs-armor-ac{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:44px}.cs-armor-ac-num{font-size:28px;font-weight:800;color:var(--text);line-height:1}.cs-armor-ac-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.cs-armor-dr{display:flex;gap:8px;align-items:center}.cs-armor-dr-row{display:flex;flex-direction:column;align-items:center;gap:2px;background:#ffffff0d;border-radius:5px;padding:4px 8px;min-width:44px}.cs-armor-dr-type{font-size:9px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.cs-armor-dr-val{font-size:18px;font-weight:700;color:#93c5fd;line-height:1}.cs-armor-dr-sub{font-size:9px;color:var(--text-dim)}.cs-armor-profile{display:flex;flex-direction:column;gap:4px;flex:1}.cs-armor-profile-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cs-death-saves{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}.cs-death-row{display:flex;align-items:center;gap:6px}.cs-death-tag{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:800}.cs-death-tag.success{background:#10b98129;color:#8ef0cc}.cs-death-tag.failure{background:#ef444429;color:#ffb0b0}.cs-pip{width:18px;height:18px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(112,138,192,.22);padding:0}.cs-pip.filled.success{background:#10b981e6;border-color:#10b981f2}.cs-pip.filled.failure{background:#ef4444e6;border-color:#ef4444f2}.cs-death-spacer{width:8px}.cs-skills-header,.cs-inv-header,.cs-atk-header,.cs-spell-list-header{display:grid;grid-template-columns:24px 24px 56px minmax(0,1fr) 56px;gap:8px;align-items:center;font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;padding:0 4px}.cs-skills-list,.cs-attacks,.cs-inv,.cs-spells{display:flex;flex-direction:column;gap:8px}.cs-skill-row{display:grid;grid-template-columns:24px 24px 56px minmax(0,1fr) 56px;gap:8px;align-items:center;padding:8px 10px}.cs-skill-row.proficient{border-color:#60a5fa38}.cs-skill-row.expertise{background:#60a5fa14}.cs-skill-mod,.cs-skill-ab,.cs-spell-lv{text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.cs-skill-mod{color:var(--text)}.cs-skill-name{font-weight:500}.cs-skill-ab{color:var(--text-dim);font-size:11px}.cs-skill-expert-check,.cs-skill-expert-spacer{width:24px}.cs-atk-row,.cs-spell-row{display:grid;gap:8px;align-items:center;padding:8px 10px;grid-template-columns:minmax(0,1fr) 56px 72px 24px}.cs-inv-row{display:flex;flex-direction:column;padding:0;flex-wrap:nowrap}.cs-inv-row.expanded{background:#60a5fa0d;border-color:#60a5fa59}.cs-inv-head{display:flex;gap:8px;align-items:center;padding:8px 10px;cursor:pointer;min-width:0;border-radius:14px;transition:background .1s}.cs-inv-head:hover{background:#ffffff08}.cs-inv-row.expanded .cs-inv-head{border-bottom:1px solid rgba(96,165,250,.22);border-radius:14px 14px 0 0}.cs-inv-chevron{display:inline-block;font-size:10px;color:var(--accent);width:10px;text-align:center;transition:transform .15s;opacity:.7}.cs-inv-chevron.open{transform:rotate(90deg);opacity:1}.cs-inv-name{flex:1;min-width:0;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fg)}.cs-inv-tags{display:flex;gap:4px;align-items:center;flex-wrap:wrap;row-gap:3px;max-width:60%;justify-content:flex-end}.cs-inv-qty{display:flex;gap:6px;align-items:baseline;font-size:11px;color:var(--fg-dim, rgba(255,255,255,.55));white-space:nowrap;min-width:0}.cs-inv-qty-mul{font-weight:600;color:var(--fg)}.cs-inv-wt{opacity:.7}.cs-inv-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px}.cs-inv-field{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cs-inv-field>label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-dim, rgba(255,255,255,.55));font-weight:600}.cs-inv-field>input,.cs-inv-field>textarea{width:100%;font-size:13px}.cs-inv-field>textarea{resize:vertical;min-height:60px;font-family:inherit}.cs-inv-field-row{display:flex;gap:10px;flex-wrap:wrap}.cs-inv-field-row .cs-inv-field{min-width:80px;flex:1 1 100px}.cs-atk-header,.cs-inv-header,.cs-spell-list-header{grid-template-columns:minmax(0,1fr) 56px 72px 24px}.cs-inv-header{grid-template-columns:minmax(0,1fr) 48px 48px minmax(0,.7fr) 24px}.cs-spell-list-header,.cs-spell-row{grid-template-columns:24px 36px minmax(0,1fr) 72px 24px}.cs-currency-row{grid-template-columns:repeat(5,minmax(0,1fr))}.cs-currency{padding:10px;display:flex;flex-direction:column;gap:6px}.cs-currency-label{font-size:11px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.cs-weight-total{font-size:12px;color:var(--text-dim);text-align:right}.cs-slot{padding:10px;display:flex;align-items:center;gap:10px}.cs-slot-level{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#60a5fa29;font-weight:800;flex:none}.cs-slot-fields{flex:1;display:flex;align-items:center;gap:8px}.cs-slot-fields input{text-align:center;font-weight:700}.cs-slot-sep{color:var(--text-dim)}.cs-field{display:flex;flex-direction:column;gap:6px}.cs-field-label{font-size:11px;color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.cs-field-input,.cs-field-textarea,.cs-atk-row input,.cs-inv-row input,.cs-spell-row input,.cs-currency input,.cs-slot-fields input,.cs-combat-stat input,.cs-ability-score{background:#080c16b8;border-color:#708ac02e}.cs-field-textarea{min-height:88px;resize:vertical}.cs-add-btn,.cs-row-delete{align-self:flex-start}.cs-row-delete{width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff0d;color:var(--text-dim)}.cs-row-delete:hover{background:#ef4444e6;color:#fff}.cs-add-btn{background:#60a5fa24;border:1px dashed rgba(96,165,250,.3);color:var(--text)}.cs-add-btn:hover{background:#60a5fa33}.cs-empty{padding:20px;text-align:center;color:var(--text-dim)}.cs-empty-icon{width:52px;height:52px;margin:0 auto 10px;border-radius:999px;display:grid;place-items:center;background:#60a5fa1f;color:var(--text)}.cs{max-width:520px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column}.cs.cs-wide{max-width:960px}.cs.cs-ultra{max-width:1400px}.cs-body-wide,.cs-body-ultra{flex:1;min-height:0;overflow:hidden;display:grid;gap:10px;padding:10px}.cs-body-wide{grid-template-columns:1fr 1fr}.cs-body-ultra{grid-template-columns:1fr 1fr 1fr}.cs-col{min-width:0;min-height:0;overflow-y:auto;padding:8px;background:#ffffff05;border:1px solid rgba(112,138,192,.14);border-radius:12px;display:flex;flex-direction:column;gap:10px}.cs-col::-webkit-scrollbar{width:6px}.cs-col::-webkit-scrollbar-thumb{background:#708ac04d;border-radius:3px}.cs-col-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:2px 2px 4px;border-bottom:1px solid rgba(112,138,192,.2);margin-bottom:2px}.cs-tabs-inline{display:flex;gap:2px;padding:0 0 4px;margin-bottom:4px}.cs-body{flex:1;min-height:0;overflow-y:auto;padding:12px}.cs-ability{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 6px}.cs-slot-pills{display:flex;flex-wrap:wrap;gap:6px}.cs-slot-pill{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:999px;background:#ffffff0a;border:1px solid rgba(112,138,192,.14);font-size:11px;opacity:.5}.cs-slot-pill.active{opacity:1}.cs-slot-pill.spent{opacity:.7}.cs-slot-pill.spent .cs-slot-pill-count{color:var(--danger)}.cs-slot-pill-lv{font-weight:800;font-size:11px;color:var(--accent);min-width:10px;text-align:center}.cs-slot-pill-count{background:none;border:none;color:var(--text);font-weight:700;font-size:12px;padding:2px 4px;cursor:pointer;font-variant-numeric:tabular-nums;border-radius:4px;min-width:28px;text-align:center}.cs-slot-pill-count:hover:not(:disabled){background:#ffffff14}.cs-slot-pill-count:disabled{cursor:default}.cs-slot-pill-edit{display:flex;gap:1px}.cs-slot-pill-adj{background:#ffffff0f;border:none;color:var(--text-dim);font-size:10px;font-weight:700;width:18px;height:18px;padding:0;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.cs-slot-pill-adj:hover:not(:disabled){background:#60a5fa33;color:var(--text)}.cs-spell-group{margin-bottom:4px}.cs-spell-group-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:6px 0 4px;border-bottom:1px solid rgba(112,138,192,.12);margin-bottom:2px}.cs-spell-entry{border-bottom:1px solid rgba(112,138,192,.06)}.cs-spell-row{display:flex;align-items:center;gap:8px;padding:6px 4px;cursor:pointer;border-radius:6px;transition:background .1s;grid-template-columns:unset;background:transparent;border:none}.cs-spell-row:hover{background:#ffffff0a}.cs-spell-row input[type=checkbox]{width:14px;height:14px;margin:0;flex-shrink:0;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1.5px solid rgba(255,255,255,.28);border-radius:3px;background:#ffffff0a;position:relative;transition:background .1s,border-color .1s}.cs-spell-row input[type=checkbox]:hover{border-color:#a855f799}.cs-spell-row input[type=checkbox]:checked{background:#a855f799;border-color:#a855f7d9}.cs-spell-row input[type=checkbox]:checked:after{content:"";position:absolute;top:1px;right:3px;bottom:3px;left:2px;border-right:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(45deg);width:4px;height:8px;pointer-events:none}.cs-spell-name{flex:1;font-size:13px;font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-spell-school{font-size:11px;color:var(--text-dim);flex-shrink:0}.cs-spell-chevron{flex-shrink:0;color:var(--text-dim);transition:transform .15s;display:flex;align-items:center}.cs-spell-chevron.open{transform:rotate(180deg)}.cs-spell-detail{padding:6px 8px 10px 28px;display:flex;flex-direction:column;gap:8px}.cs-spell-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cs-spell-mech{display:flex;flex-wrap:wrap;gap:4px}.cs-spell-mech-tag{font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border-radius:4px;text-transform:lowercase;white-space:nowrap}.cs-spell-mech-tag.dmg{background:#fb923c2e;color:#fed7aa;border:1px solid rgba(251,146,60,.4)}.cs-spell-mech-tag.heal{background:#22c55e2e;color:#bbf7d0;border:1px solid rgba(34,197,94,.4)}.cs-spell-mech-tag.up{background:#a855f72e;color:#d8b4fe;border:1px solid rgba(168,85,247,.4)}.bm-spell-stat{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;margin-left:6px;text-transform:lowercase;white-space:nowrap}.bm-spell-stat.dmg{background:#fb923c2e;color:#fed7aa}.bm-spell-stat.heal{background:#22c55e2e;color:#bbf7d0}.bm-spell-stat.upcast{background:#a855f72e;color:#d8b4fe}.cs-conc-pill{display:flex;align-items:center;gap:6px;padding:4px 10px;margin-bottom:6px;background:#a855f726;border:1px solid rgba(168,85,247,.45);border-radius:5px;font-size:11.5px;color:#d8b4fe}.cs-conc-label{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.cs-conc-spell{flex:1;color:var(--text);font-weight:600}.cs-conc-end{background:transparent;border:1px solid rgba(168,85,247,.4);color:#d8b4fe;font-size:12px;width:18px;height:18px;border-radius:3px;cursor:pointer;line-height:1;padding:0}.cs-conc-end:hover{background:#a855f740}.cs-cond-list{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.cs-cond-pill{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:12px;border:1px solid}.cs-cond-turns{font-size:9px;font-weight:600;opacity:.75;text-transform:none;letter-spacing:0}.cs-cond-clear{background:transparent;border:none;color:inherit;opacity:.55;cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.cs-cond-clear:hover{opacity:1}.cs-cond-pill.kind-bleed,.cs-cond-pill.kind-poisoned{background:#ef44442e;color:#fca5a5;border-color:#ef444473}.cs-cond-pill.kind-stagger,.cs-cond-pill.kind-winded,.cs-cond-pill.kind-concussion{background:#f59e0b2e;color:#fcd34d;border-color:#f59e0b73}.cs-cond-pill.kind-prone,.cs-cond-pill.kind-restrained,.cs-cond-pill.kind-pin,.cs-cond-pill.kind-embedded,.cs-cond-pill.kind-disarm{background:#94a3b82e;color:#cbd5e1;border-color:#94a3b873}.cs-cond-pill.kind-charmed,.cs-cond-pill.kind-frightened,.cs-cond-pill.kind-incapacitated,.cs-cond-pill.kind-paralyzed,.cs-cond-pill.kind-stunned,.cs-cond-pill.kind-unconscious,.cs-cond-pill.kind-silenced{background:#a855f72e;color:#d8b4fe;border-color:#a855f773}.cs-cond-pill.kind-blinded,.cs-cond-pill.kind-deafened,.cs-cond-pill.kind-sunder{background:#60a5fa2e;color:#93c5fd;border-color:#60a5fa73}.cs-spell-remove{align-self:flex-start;background:transparent;border:1px solid rgba(239,68,68,.3);color:var(--danger);font-size:11px;padding:4px 10px;border-radius:6px;cursor:pointer}.cs-spell-remove:hover{background:#ef444426}.cs-spell-empty{padding:8px 4px;font-size:11px;color:var(--text-dim);font-style:italic}.cs-spell-add{display:flex;gap:8px;align-items:center;margin-top:8px}.cs-spell-add-select{background:#080c16b8;border:1px solid rgba(112,138,192,.18);border-radius:8px;color:var(--text);font-size:12px;padding:6px 8px;cursor:pointer;min-width:90px}.cs-field-select{background:#080c16b8;border:1px solid rgba(112,138,192,.18);border-radius:var(--radius);color:var(--text);font:inherit;font-size:12px;padding:6px 8px;width:100%;cursor:pointer}.cs-field-select:focus{border-color:var(--accent);outline:none}.cs-field-select:disabled{opacity:.5;cursor:not-allowed}.cs-field-custom{display:flex;gap:4px;align-items:center}.cs-field-custom .cs-field-input{flex:1}.cs-field-back{background:#ffffff0f;border:none;border-radius:4px;color:var(--text-dim);cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.cs-field-back:hover{background:#60a5fa33;color:var(--text)}.cs-auto-badge{font-size:9px;text-transform:uppercase;letter-spacing:.04em;background:#60a5fa2e;color:var(--accent);padding:1px 5px;border-radius:4px;margin-left:6px;font-weight:600}.cs-auto-tag{font-size:8px;text-transform:uppercase;color:var(--accent);opacity:.7;margin-left:4px;font-weight:600}.cs-reset-btn{background:transparent;border:1px solid rgba(96,165,250,.25);color:var(--accent);font-size:10px;padding:2px 8px;border-radius:4px;cursor:pointer;font-weight:600}.cs-reset-btn:hover{background:#60a5fa1f}.cs-atk-entry{background:#ffffff08;border:1px solid rgba(112,138,192,.14);border-radius:10px;overflow:hidden}.cs-atk-summary{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;transition:background .1s}.cs-atk-summary:hover{background:#ffffff0a}.cs-atk-name{flex:1;font-size:13px;font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-atk-hit{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);font-size:13px;min-width:32px;text-align:center}.cs-atk-dmg{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12px;min-width:48px;text-align:center}.cs-atk-detail{padding:6px 10px 10px;display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(112,138,192,.1)}.cs-atk-calc-row{display:flex;gap:8px;align-items:flex-end}.cs-atk-calc-row .cs-field{flex:1}.cs-atk-prof-toggle{display:flex;align-items:center;gap:6px;padding:4px 0}.cs-atk-prof-toggle input{width:16px;height:16px}.cs-atk-prof-label{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);font-size:14px}.cs-atk-roll-btn{background:linear-gradient(180deg,#60a5fa33,#3b82f624);border:1px solid rgba(96,165,250,.32);color:var(--text);font-size:11px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;flex-shrink:0;letter-spacing:.04em;text-transform:uppercase}.cs-atk-roll-btn:hover{background:#60a5fa52}.cs-atk-roll-btn:active{transform:translateY(1px)}.cs-atk-roll-group{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:4px}.cs-atk-roll-action{background:#60a5fa24;border:1px solid rgba(96,165,250,.28);color:var(--text);font-size:11px;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer;flex:1;min-width:80px}.cs-atk-roll-action:hover{background:#60a5fa38}.cs-atk-roll-action.adv{background:#22c55e1f;border-color:#22c55e4d}.cs-atk-roll-action.adv:hover{background:#22c55e33}.cs-atk-roll-action.dis{background:#ef44441f;border-color:#ef44444d}.cs-atk-roll-action.dis:hover{background:#ef444433}.cs-skill-roll{flex:1;display:flex;align-items:center;gap:6px;background:transparent;border:none;padding:2px 4px;cursor:pointer;color:var(--text);text-align:left;border-radius:4px}.cs-skill-roll:hover{background:#60a5fa14}.cs-ability-save-roll{background:transparent;border:none;padding:2px 4px;cursor:pointer;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:1px;border-radius:4px}.cs-ability-save-roll:hover{background:#60a5fa14}.cs-ability-check-roll{background:#60a5fa1f;border:1px solid rgba(96,165,250,.22);color:var(--text);font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;cursor:pointer;margin-top:2px;text-transform:uppercase}.cs-ability-check-roll:hover{background:#60a5fa38}.cs-stat-roll{background:#60a5fa1f;border:1px solid rgba(96,165,250,.22);color:var(--text);font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;cursor:pointer;margin-top:4px}.cs-stat-roll:hover{background:#60a5fa38}.chat-panel{display:flex;flex-direction:column;height:100%;min-height:320px;gap:0;background:#ffffff05;border:1px solid rgba(112,138,192,.14);border-radius:14px;overflow:hidden}.chat-log{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:12px}.chat-log::-webkit-scrollbar{width:6px}.chat-log::-webkit-scrollbar-thumb{background:#708ac04d;border-radius:3px}.chat-empty{text-align:center;color:var(--text-dim);font-size:12px;padding:40px 0}.chat-group{display:flex;flex-direction:column;gap:3px}.chat-group-head{display:flex;align-items:center;gap:6px;font-size:11px}.chat-group-dot{width:7px;height:7px;border-radius:999px;flex-shrink:0}.chat-group-name{font-weight:700}.chat-group-time{margin-left:auto;color:var(--text-dim);font-size:10px;font-variant-numeric:tabular-nums}.chat-msg{padding:6px 10px;border-radius:8px;font-size:13px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.chat-text{background:#ffffff0d;color:var(--text);white-space:pre-wrap}.chat-roll{background:linear-gradient(180deg,#60a5fa1a,#3b82f60d);border:1px solid rgba(96,165,250,.16);display:flex;flex-direction:column;gap:3px}.chat-roll-head{display:flex;align-items:baseline;gap:8px;justify-content:space-between}.chat-roll-dice{font-weight:600;color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.chat-roll-total{font-size:22px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1}.chat-roll-breakdown{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.chat-attack{background:linear-gradient(180deg,#fb923c1a,#fb923c0a);border:1px solid rgba(251,146,60,.2);display:flex;flex-direction:column;gap:6px}.chat-attack.draggable{cursor:grab;border-style:dashed}.chat-attack.draggable:hover{border-color:#fb923c8c;background:linear-gradient(180deg,#fb923c29,#fb923c12)}.chat-attack.draggable:active{cursor:grabbing}.chat-attack.heal{background:linear-gradient(180deg,#22c55e1a,#22c55e0a);border-color:#22c55e47}.chat-attack.heal.draggable:hover{border-color:#22c55e99;background:linear-gradient(180deg,#22c55e2e,#22c55e12)}.chat-attack.heal.self-heal{border-style:solid;opacity:.95}.canvas-left-stack{position:absolute;top:12px;left:12px;z-index:30;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-height:calc(100vh - 90px)}.canvas-left-stack>*{pointer-events:auto}.combat-panel{position:relative;z-index:30;width:220px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:#0b1220eb;border:1px solid rgba(96,165,250,.32);border-radius:8px;box-shadow:0 8px 24px #00000073;font-size:12px;color:var(--text);-webkit-user-select:none;user-select:none;overflow:hidden}.combat-panel.collapsed{width:auto;background:transparent;border:none;box-shadow:none;padding:0}.combat-start-btn{background:#0b1220b3;border:1px solid rgba(255,255,255,.18);color:var(--text-dim);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:4px;cursor:pointer;transition:color .1s,border-color .1s,background .1s}.combat-start-btn:hover{color:var(--text);border-color:#60a5fa8c;background:#0b1220f2}.combat-panel-head{padding:8px 10px;border-bottom:1px solid rgba(96,165,250,.18);display:flex;flex-direction:column;gap:6px}.combat-panel-title{display:flex;align-items:center;justify-content:space-between}.combat-panel-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.combat-round{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}.combat-panel-actions{display:flex;flex-wrap:wrap;gap:4px}.combat-panel-actions button{flex:1;font-size:10px;padding:3px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);cursor:pointer;white-space:nowrap}.combat-panel-actions button:hover{background:#60a5fa2e;border-color:#60a5fa73}.combat-panel-actions .combat-end{background:#ef444424;border-color:#ef444466;color:#fca5a5;flex:0 0 auto}.combat-panel-actions .combat-end:hover{background:#ef44443d}.combat-roll-init-btn{margin:8px 10px 0;padding:6px 10px;font-size:11px;font-weight:700;border-radius:5px;border:1px solid rgba(96,165,250,.4);background:#60a5fa2e;color:#93c5fd;cursor:pointer}.combat-roll-init-btn:hover{background:#60a5fa4d}.combat-empty{padding:12px;font-size:11px;color:var(--text-dim);text-align:center}.combat-order{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:2px}.combat-entry{display:grid;grid-template-columns:28px 8px 1fr 18px;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;cursor:default;border-left:3px solid transparent;background:#ffffff06}.combat-entry.player{border-left-color:#60a5fa99}.combat-entry.enemy{border-left-color:#ef44448c}.combat-entry.current{background:#f59e0b29;border-left-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b66}.combat-init{font-weight:800;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.combat-dot{width:8px;height:8px;border-radius:50%}.combat-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.combat-remove{background:transparent;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:0;line-height:1;border-radius:3px}.combat-remove:hover{color:#fca5a5;background:#ef444429}.combat-entry.current .combat-init{color:#fcd34d}.aoe-palette{position:relative;z-index:29;background:#0b1220eb;border:1px solid rgba(96,165,250,.32);border-radius:8px;box-shadow:0 8px 24px #00000073;padding:8px;font-size:11px;color:var(--text);display:flex;flex-direction:column;gap:6px;width:220px}.aoe-row{display:flex;gap:4px;align-items:center}.aoe-row label{font-size:10px;color:var(--text-dim)}.aoe-row input[type=number]{width:56px}.aoe-row input[type=color]{width:26px;height:26px;border:none;padding:0;background:transparent;cursor:pointer}.aoe-row button{flex:1;font-size:10px;padding:4px 6px;border-radius:4px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);cursor:pointer}.aoe-row button:hover{background:#60a5fa2e;border-color:#60a5fa73}.aoe-clear{background:#ef44442e!important;border-color:#ef444466!important;color:#fca5a5!important;flex:0 0 auto}.aoe-count{font-size:10px;color:var(--text-dim);flex:1}.aoe-list{display:flex;flex-direction:column;gap:3px;max-height:220px;overflow-y:auto;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.aoe-item{display:flex;align-items:center;gap:6px;font-size:10.5px;font-variant-numeric:tabular-nums}.aoe-kind{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:1px 6px;border-radius:3px;flex:1;text-align:center}.aoe-remove{background:transparent;border:none;color:var(--text-dim);font-size:14px;cursor:pointer;line-height:1}.aoe-remove:hover{color:#fca5a5}.chat-attack-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.chat-attack-name{font-weight:700;color:#fb923c;font-size:13px}.chat-attack-char{font-size:10px;color:var(--text-dim);font-style:italic}.chat-attack-parts{display:flex;flex-direction:column;gap:4px}.chat-attack-part{display:flex;flex-direction:column;gap:2px;padding:4px 6px;background:#00000026;border-radius:6px;border-left:2px solid rgba(96,165,250,.4)}.chat-attack-part.crit{border-left-color:#22c55e;background:#22c55e1f}.chat-attack-part.fumble{border-left-color:#ef4444;background:#ef44441f}.chat-attack-part-label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}.chat-attack-part-body{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.chat-attack-part-formula{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.chat-attack-part-dice{font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}.chat-die-face{display:inline-flex;align-items:center;gap:1px}.chat-die-num.low{color:#fca5a5}.chat-die-num.max{color:#86efac;font-weight:700}.chat-die-sep{color:var(--text-dim)}.chat-die-reroll{margin-left:2px;font-size:9px;width:14px;height:14px;padding:0;border-radius:3px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text-dim);cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;opacity:.55;transition:opacity .1s,background .1s}.chat-die-face:hover .chat-die-reroll{opacity:1}.chat-die-reroll:hover{background:#60a5fa40;border-color:#60a5fa80;color:var(--text)}.chat-attack-part-total{margin-left:auto;font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1}.chat-attack-part.crit .chat-attack-part-total{color:#22c55e}.chat-attack-part.fumble .chat-attack-part-total{color:#ef4444}.chat-atk-conditions{display:flex;flex-wrap:wrap;gap:4px;padding-top:2px}.chat-attack-rolling{padding:6px 8px;font-size:11px;color:#6b7280;font-style:italic;letter-spacing:.03em;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.chat-tag{font-size:9px;font-weight:800;padding:1px 5px;border-radius:999px;letter-spacing:.06em}.chat-tag.crit{background:#22c55e40;color:#4ade80}.chat-tag.fumble{background:#ef444440;color:#fca5a5}.chat-input{display:flex;gap:6px;padding:8px;border-top:1px solid rgba(112,138,192,.14);background:#0003}.chat-input textarea{flex:1;resize:none;background:#080c16b8;border:1px solid rgba(112,138,192,.2);border-radius:6px;color:var(--text);font:inherit;font-size:12px;padding:6px 8px;min-height:36px;max-height:120px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.chat-send{align-self:stretch;padding:0 14px;font-size:12px;font-weight:700;background:var(--accent-strong);border:none;border-radius:6px;color:#fff;cursor:pointer}.chat-send:disabled{opacity:.5;cursor:not-allowed}.cs-add-row{display:flex;gap:6px;align-items:center}.cs-ai-btn{background:linear-gradient(180deg,#a855f733,#a855f714);border:1px solid rgba(168,85,247,.35);color:var(--text);font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer}.cs-ai-btn:hover{background:#a855f740}.ci-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.ci-modal{background:linear-gradient(180deg,#111a2efa,#0b1020fa);border:1px solid rgba(112,138,192,.2);border-radius:14px;max-width:640px;width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0009;color:var(--text);font-size:13px}.ci-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(112,138,192,.18)}.ci-title{font-weight:700;font-size:14px}.ci-close{background:transparent;border:none;color:var(--text-dim);font-size:24px;padding:0;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.ci-close:hover{background:#ffffff14;color:var(--text)}.ci-tabs{display:flex;gap:2px;padding:6px;background:#00000040;border-bottom:1px solid rgba(112,138,192,.14)}.ci-tab{flex:1;background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:11px;font-weight:600;padding:6px 8px;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.ci-tab:hover{color:var(--text);background:#ffffff0a}.ci-tab.active{background:#60a5fa2e;border-color:#60a5fa4d;color:var(--text)}.ci-body{padding:14px 16px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.ci-label{font-size:11px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.ci-subhead{font-size:11px;font-weight:700;color:var(--accent);margin-top:4px;text-transform:uppercase;letter-spacing:.05em}.ci-input,.ci-textarea{background:#080c16b8;border:1px solid rgba(112,138,192,.22);border-radius:8px;color:var(--text);font:inherit;font-size:12px;padding:8px 10px;width:100%}.ci-input:focus,.ci-textarea:focus{outline:none;border-color:var(--accent)}.ci-textarea{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;resize:vertical;min-height:80px}.ci-preview{background:#00000059;border:1px solid rgba(112,138,192,.18);border-radius:8px;padding:10px 12px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;white-space:pre;overflow:auto;max-height:260px;color:var(--text);margin:0}.ci-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.ci-primary{background:var(--accent-strong);border:none;color:#fff;font-weight:700;font-size:12px;padding:8px 16px;border-radius:6px;cursor:pointer}.ci-primary:hover:not(:disabled){filter:brightness(1.1)}.ci-primary:disabled{opacity:.5;cursor:not-allowed}.ci-secondary{background:#ffffff0f;border:1px solid rgba(112,138,192,.22);color:var(--text);font-weight:600;font-size:12px;padding:8px 14px;border-radius:6px;cursor:pointer}.ci-secondary:hover{background:#ffffff1a}.ci-hint{font-size:11px;color:var(--text-dim);line-height:1.4}.ci-hint code{background:#00000059;padding:1px 5px;border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:10px}.ci-error{background:#ef444424;border:1px solid rgba(239,68,68,.35);border-radius:6px;color:#fca5a5;padding:8px 10px;font-size:12px}.ci-status{background:#22c55e24;border:1px solid rgba(34,197,94,.35);border-radius:6px;color:#86efac;padding:8px 10px;font-size:12px}.ci-bank-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow-y:auto;padding-right:4px}.ci-bank-list::-webkit-scrollbar{width:6px}.ci-bank-list::-webkit-scrollbar-thumb{background:#708ac04d;border-radius:3px}.ci-bank-card{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff08;border:1px solid rgba(112,138,192,.16);border-radius:8px;transition:background .1s,border-color .1s}.ci-bank-card:hover{background:#60a5fa0f;border-color:#60a5fa38}.ci-bank-card-body{flex:1;min-width:0}.ci-bank-name{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ci-bank-lv{font-size:9px;font-weight:700;padding:1px 6px;border-radius:999px;background:#60a5fa33;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.ci-bank-school{font-size:10px;color:var(--text-dim);font-style:italic}.ci-bank-sub{font-size:11px;color:var(--text-dim);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap;line-height:1.4}.ci-bank-notes{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;flex-basis:100%}.ci-bank-card-actions{display:flex;gap:4px;flex-shrink:0}.ci-compact{padding:4px 10px;font-size:11px}.ci-danger{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1}.ci-danger:hover{background:#ef44444d;color:#fff}.ci-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.ci-toggle input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--accent)}.ci-atk-fields{background:#60a5fa0f;border:1px solid rgba(96,165,250,.18);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.ci-bank-tag{font-size:9px;font-weight:700;padding:1px 5px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.ci-bank-tag.atk{background:#fb923c38;color:#fb923c}.bm-panel{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px}.bm-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;background:#0003;border-radius:10px}.bm-tab{background:transparent;border:1px solid transparent;color:var(--text-dim);font-size:11px;font-weight:600;padding:6px 8px;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.bm-tab:hover{color:var(--text);background:#ffffff0a}.bm-tab.active{background:#60a5fa2e;border-color:#60a5fa4d;color:var(--text)}.bm-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:2px}.bm-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.bm-search{width:100%;box-sizing:border-box;flex:none;background:#080c16b8;border:1px solid rgba(112,138,192,.22);border-radius:8px;color:var(--text);font:inherit;font-size:12px;padding:6px 10px}.bm-search:focus{outline:none;border-color:var(--accent)}.bm-primary{background:var(--accent-strong);border:none;color:#fff;font-weight:700;font-size:12px;padding:7px 12px;border-radius:6px;cursor:pointer;white-space:nowrap}.bm-primary:hover:not(:disabled){filter:brightness(1.1)}.bm-primary:disabled{opacity:.5;cursor:not-allowed}.bm-secondary{background:#ffffff0f;border:1px solid rgba(112,138,192,.22);color:var(--text);font-weight:600;font-size:11px;padding:5px 10px;border-radius:6px;cursor:pointer}.bm-secondary:hover{background:#ffffff1a}.bm-danger{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;font-size:14px;line-height:1}.bm-danger:hover{background:#ef44444d;color:#fff}.bm-empty{font-size:12px;color:var(--text-dim);font-style:italic;padding:20px;text-align:center}.bm-list{display:flex;flex-direction:column;gap:4px}.bm-entry{display:flex;flex-direction:column;gap:0;padding:8px 10px;background:#ffffff08;border:1px solid rgba(112,138,192,.16);border-radius:8px;transition:border-color .1s}.bm-entry:hover{border-color:#60a5fa38}.bm-entry-row{display:flex;align-items:flex-start;gap:8px}.bm-entry-body{flex:1;min-width:0}.bm-entry-name-btn{background:none;border:none;padding:0;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:6px;flex-wrap:wrap;text-align:left}.bm-entry-name-btn:hover{color:var(--accent)}.bm-entry-chevron{font-size:10px;color:var(--text-dim);margin-left:2px}.bm-entry-sub{font-size:11px;color:var(--text-dim);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}.bm-entry-notes{flex-basis:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.bm-entry-actions{display:flex;gap:4px;flex-shrink:0}.bm-npc-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(112,138,192,.18);border-left:3px solid rgba(224,92,92,.55);border-radius:8px;transition:border-color .15s,background .15s;cursor:grab}.bm-npc-card:hover{background:#ffffff0e;border-color:#e05c5cbf}.bm-npc-card-header{display:flex;align-items:center;gap:6px}.bm-npc-grip{color:var(--text-dim);font-size:13px;letter-spacing:-2px;opacity:.45;-webkit-user-select:none;user-select:none;flex-shrink:0}.bm-npc-name{font-size:13px;font-weight:700;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bm-npc-card-actions{display:flex;gap:4px;flex-shrink:0}.bm-npc-stats{display:flex;flex-wrap:wrap;gap:5px}.bm-npc-stat{font-size:11px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}.bm-npc-stat.hp{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.25)}.bm-npc-stat.ac{background:#3b82f626;color:#93c5fd;border:1px solid rgba(59,130,246,.25)}.bm-npc-stat.wpn{background:#f59e0b21;color:#fcd34d;border:1px solid rgba(245,158,11,.22)}.bm-npc-stat.dr{background:#a1a1aa24;color:#d4d4d8;border:1px solid rgba(161,161,170,.22)}.bm-npc-desc{font-size:11.5px;color:var(--text-dim);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bm-npc-traits{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.bm-npc-trait{font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;text-transform:capitalize}.bm-npc-trait.res{background:#10b98126;color:#6ee7b7;border:1px solid rgba(16,185,129,.2)}.bm-npc-trait.imm{background:#8b5cf626;color:#c4b5fd;border:1px solid rgba(139,92,246,.2)}.bm-npc-trait.vuln{background:#ef444426;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.bm-enemy-card{background:#8b5cf612;border:1px solid rgba(139,92,246,.22);border-radius:7px;padding:8px 10px;margin-bottom:6px;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .15s}.bm-enemy-card:active{cursor:grabbing}.bm-enemy-card:hover{border-color:#8b5cf673}.bm-enemy-cr{font-size:11px;font-weight:700;color:#c4b5fd;margin-left:4px;background:#8b5cf626;border-radius:4px;padding:1px 5px}.bm-enemy-stat{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px}.bm-enemy-stat.spd{background:#60a5fa1f;color:#93c5fd}.bm-enemy-scores{display:flex;gap:4px;margin:4px 0 2px}.bm-enemy-score{display:flex;flex-direction:column;align-items:center;flex:1;background:#ffffff08;border-radius:4px;padding:2px 4px}.bm-enemy-score-label{font-size:9px;font-weight:700;color:#94a3b8;letter-spacing:.04em}.bm-enemy-score-val{font-size:13px;font-weight:600;color:#e2e8f0}.bm-enemy-meta{font-size:10px;color:#94a3b8;margin-top:4px;text-transform:capitalize}.bm-json-import{background:#0f172a99;border:1px solid rgba(112,138,192,.2);border-radius:7px;padding:10px;margin-bottom:10px}.bm-json-textarea{width:100%;box-sizing:border-box;background:#0f172ae6;border:1px solid rgba(112,138,192,.25);border-radius:5px;color:#e2e8f0;font-family:monospace;font-size:11px;padding:6px 8px;resize:vertical}.bm-json-textarea:focus{outline:none;border-color:#60a5fa80}.bm-feature-row{display:flex;gap:4px;align-items:center;margin-top:4px;flex-wrap:nowrap}.bm-enemy-feature{font-size:12px;line-height:1.5;padding:3px 0;border-bottom:1px solid rgba(112,138,192,.1)}.bm-enemy-feature:last-child{border-bottom:none}.bm-enemy-feature-name{font-weight:700;font-style:italic;color:#c4b5fd}.bm-enemy-feature-desc{color:#cbd5e1}.bm-attack-row{display:flex;gap:4px;align-items:center;margin-top:4px;flex-wrap:wrap}.bm-detail{margin-top:8px;padding-top:8px;border-top:1px solid rgba(112,138,192,.18);display:flex;flex-direction:column;gap:6px}.bm-detail-notes{margin:0;font-size:12px;color:var(--text-dim);line-height:1.5}.bm-detail-stats{display:flex;gap:10px;font-size:11px;color:var(--text-dim);flex-wrap:wrap}.bm-detail-section{display:flex;flex-direction:column;gap:4px}.bm-detail-shead{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);opacity:.7}.bm-detail-atk{background:#ffffff0a;border-radius:4px;padding:5px 8px;display:flex;flex-direction:column;gap:3px}.bm-detail-atk-label{font-size:12px;font-weight:600;color:var(--text)}.bm-detail-atk-row{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--text-dim);align-items:center}.bm-detail-ammo-types{font-size:11px;color:var(--text-dim);font-style:italic}.bm-detail-conds{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.bm-detail-fx-grid{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--text-dim)}.bm-detail-dmg-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bm-detail-dmg-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;width:42px}.bm-detail-dmg-label.res{color:#34d399}.bm-detail-dmg-label.imm{color:#60a5fa}.bm-detail-dmg-label.vuln{color:#f87171}.bm-detail-tag{font-size:10px;padding:1px 5px;border-radius:3px;font-weight:600}.bm-detail-tag.ap{background:#34d3992e;color:#34d399}.bm-detail-tag.cons{background:#fbbf2429;color:#fcd34d}.bm-detail-tag.req{background:#94a3b824;color:#94a3b8}.bm-detail-tag.res{background:#34d39924;color:#34d399}.bm-detail-tag.imm{background:#60a5fa24;color:#93c5fd}.bm-detail-tag.vuln{background:#f8717124;color:#fca5a5}.bm-edit-card{background:#ffffff08;border:1px solid rgba(96,165,250,.32);border-radius:8px;padding:10px 12px}.bm-editor-popout-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.bm-editor-popout{background:#0b1220;border:1px solid rgba(96,165,250,.45);border-radius:10px;padding:14px 18px;width:min(900px,95vw);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0009}.bm-editor-popout-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(96,165,250,.22)}.bm-editor-popout-title{font-size:14px;font-weight:700;color:var(--accent)}.bm-editor-popout-close{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-dim);border-radius:4px;padding:2px 8px;cursor:pointer;font-size:14px}.bm-editor-popout-close:hover{color:var(--text);border-color:#ffffff4d}.bm-attack-card{background:#ffffff06;border:1px solid rgba(96,165,250,.18);border-radius:6px;padding:8px 10px;margin-top:6px;display:flex;flex-direction:column;gap:6px}.bm-attack-card-head{display:flex;align-items:center;gap:6px}.bm-attack-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}.bm-attack-card-grid .bm-field{gap:2px}.bm-attack-card-grid .bm-field label{font-size:10px;color:var(--text-dim)}.bm-editor{display:flex;flex-direction:column;gap:8px}.cs-equip-toggle{background:transparent;border:1px solid rgba(112,138,192,.3);color:var(--text-dim);font-size:14px;line-height:1;width:24px;height:24px;border-radius:50%;cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;justify-content:center}.cs-equip-toggle:hover{border-color:#22c55e99;color:#4ade80}.cs-equip-toggle.on{background:#22c55e33;border-color:#22c55e99;color:#4ade80;box-shadow:0 0 6px #22c55e59}.cs-equip-spacer{width:24px;flex-shrink:0}.cs-inv-row{border-left:3px solid transparent}.cs-inv-row.equipped{background:#22c55e12;border-left:3px solid rgba(34,197,94,.55);border-radius:0 6px 6px 0;outline:1px solid rgba(34,197,94,.2);outline-offset:-1px}.cs-inv-row.slot-sheathed{background:#6366f112;border-left:3px solid rgba(99,102,241,.55);border-radius:0 6px 6px 0;outline:1px solid rgba(99,102,241,.2);outline-offset:-1px}.cs-inv-row.slot-carry-overflow{background:#eab30812;border-left:3px solid rgba(234,179,8,.55);border-radius:0 6px 6px 0;outline:1px solid rgba(234,179,8,.2);outline-offset:-1px}.cs-ability-bonus-tag{font-size:9px;font-weight:700;color:var(--accent);background:#60a5fa33;padding:1px 4px;border-radius:4px;margin-left:4px}.ci-fx-fields{background:#a855f70f;border:1px solid rgba(168,85,247,.18);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.ci-fx-hint{font-size:11px;color:var(--text-dim);font-style:italic}.ci-fx-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.ci-fx-stat{display:flex;flex-direction:column;gap:2px}.ci-fx-stat>span{font-size:9px;font-weight:700;color:var(--text-dim);text-align:center;letter-spacing:.04em}.ci-fx-stat>input{text-align:center;font-size:11px!important;padding:3px 2px!important}.ci-dmg-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.ci-dmg-pill{font-size:10px;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid rgba(112,138,192,.28);background:#ffffff0a;color:var(--text-dim);cursor:pointer;text-transform:capitalize;transition:background .1s,border-color .1s,color .1s}.ci-dmg-pill:hover{color:var(--text);border-color:#708ac080}.ci-dmg-pill.res.on{background:#22c55e40;border-color:#22c55e80;color:#86efac}.ci-dmg-pill.imm.on{background:#a855f740;border-color:#a855f780;color:#d8b4fe}.ci-dmg-pill.vuln.on{background:#ef444440;border-color:#ef444480;color:#fca5a5}.cs-slot-tag{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;padding:1px 5px;border-radius:3px;background:#a855f733;color:#d8b4fe;flex-shrink:0}.cs-slot-tag.slot-weapon{background:#ef444438;color:#fca5a5}.cs-slot-tag.slot-sidearm{background:#fb923c38;color:#fed7aa}.cs-slot-tag.slot-shield{background:#f59e0b33;color:#fcd34d}.cs-slot-tag.slot-helmet,.cs-slot-tag.slot-visor{background:#60a5fa38;color:#93c5fd}.cs-slot-tag.slot-overlayer{background:#22c55e38;color:#86efac}.cs-slot-tag.slot-underlayer,.cs-slot-tag.slot-undertorso,.cs-slot-tag.slot-underlegs,.cs-slot-tag.slot-underhead{background:#14b8a633;color:#5eead4}.cs-slot-tag.slot-vambraces,.cs-slot-tag.slot-pauldrons,.cs-slot-tag.slot-besagews,.cs-slot-tag.slot-gorget,.cs-slot-tag.slot-plackart,.cs-slot-tag.slot-greaves,.cs-slot-tag.slot-cuisses,.cs-slot-tag.slot-poleyns,.cs-slot-tag.slot-couters{background:#84cc1633;color:#d9f99d}.cs-slot-tag.slot-cloak{background:#a855f738;color:#d8b4fe}.cs-slot-tag.slot-gloves{background:#d946ef33;color:#f0abfc}.cs-slot-tag.slot-boots{background:#f472b633;color:#fbcfe8}.cs-slot-tag.slot-belt,.cs-slot-tag.slot-harness{background:#b453094d;color:#fed7aa}.cs-slot-tag.slot-back{background:#3b82f638;color:#bfdbfe}.cs-slot-tag.slot-amulet,.cs-slot-tag.slot-ring1,.cs-slot-tag.slot-ring2{background:#eab30833;color:#fde68a}.cs-slot-tag.slot-clothes{background:#94a3b833;color:#cbd5e1}.cs-slot-tag.slot-other{background:#64748b33;color:#cbd5e1}.cs-inv-row.dragging{opacity:.4}.cs-inv-row[draggable=true]{cursor:grab}.cs-inv-row[draggable=true]:active{cursor:grabbing}.cs-dmg-profile{display:flex;flex-direction:column;gap:4px;padding:6px 8px;background:#ffffff08;border:1px solid rgba(112,138,192,.16);border-radius:6px}.cs-dmg-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cs-dmg-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;min-width:58px}.cs-dmg-label.res{color:#86efac}.cs-dmg-label.imm{color:#d8b4fe}.cs-dmg-label.vuln{color:#fca5a5}.cs-dmg-tags{display:flex;gap:3px;flex-wrap:wrap}.cs-dmg-tag{font-size:9px;font-weight:600;padding:1px 6px;border-radius:999px;text-transform:capitalize}.cs-dmg-tag.res{background:#22c55e33;color:#86efac}.cs-dmg-tag.imm{background:#a855f733;color:#d8b4fe}.cs-dmg-tag.vuln{background:#ef444433;color:#fca5a5}.cs-coin-cap{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-top:4px;background:#fbbf240f;border:1px solid rgba(251,191,36,.18);border-radius:6px;font-size:11px}.cs-coin-cap.over,.cs-coin-cap.warn{background:#ef44441a;border-color:#ef444459}.cs-coin-cap-label{color:var(--text-dim);font-weight:600;flex-shrink:0}.cs-coin-cap-bar{flex:1;height:6px;background:#0000004d;border-radius:3px;overflow:hidden}.cs-coin-cap-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);transition:width .2s}.cs-coin-cap.over .cs-coin-cap-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.cs-coin-cap-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0}.bm-group,.ci-bank-group{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.bm-group-head,.ci-bank-group-head{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:6px 8px;background:#60a5fa14;border-radius:4px;display:flex;align-items:center;gap:6px;width:100%;border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s;text-align:left;font-family:inherit}.bm-group-head:hover,.ci-bank-group-head:hover{background:#60a5fa24;border-color:#60a5fa38}.bm-group.collapsed .bm-group-head,.ci-bank-group.collapsed .ci-bank-group-head{background:#60a5fa0a;opacity:.8}.bm-group-count,.ci-bank-group-count{font-size:9px;font-weight:600;padding:1px 6px;border-radius:999px;background:#60a5fa33;color:var(--accent);margin-left:auto}.bm-group-chevron{display:inline-block;font-size:10px;transition:transform .15s;color:var(--accent);width:10px;text-align:center}.bm-group-chevron.collapsed{transform:rotate(-90deg)}.bm-subgroup,.ci-bank-subgroup{display:flex;flex-direction:column;gap:3px;margin-left:10px;padding-left:6px;border-left:1px solid rgba(96,165,250,.12)}.bm-subgroup-head,.ci-bank-subgroup-head{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:4px 8px;background:#60a5fa0a;border-radius:4px;display:flex;align-items:center;gap:6px;width:100%;border:1px solid transparent;cursor:pointer;transition:background .1s,border-color .1s;opacity:.9}.bm-subgroup-head:hover,.ci-bank-subgroup-head:hover{background:#60a5fa1a;border-color:#60a5fa2e;opacity:1}.bm-subgroup.collapsed .bm-subgroup-head,.ci-bank-subgroup.collapsed .ci-bank-subgroup-head{background:transparent;opacity:.65}.bm-group-top>.bm-group-head,.ci-bank-group-top>.ci-bank-group-head{font-size:11px;letter-spacing:.1em;background:#60a5fa1f}.bm-group-controls{display:flex;align-items:center;gap:6px;padding:4px 2px 8px;font-size:11px}.bm-link{background:transparent;border:none;color:var(--accent);cursor:pointer;padding:2px 4px;font-size:11px;font-weight:500;text-decoration:underline dotted;text-underline-offset:2px}.bm-link:hover{color:#93c5fd;text-decoration-style:solid}.bm-link-sep{color:var(--text-dim);opacity:.4}.ci-atk-mode{background:#0000002e;border:1px solid rgba(112,138,192,.18);border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.ci-atk-mode-head{display:flex;gap:6px;align-items:center}.cs-carry{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:6px;background:#ffffff08;border:1px solid rgba(112,138,192,.18);border-radius:6px;font-size:11px}.cs-carry.over{background:#ef44441f;border-color:#ef444473}.cs-carry-label{color:var(--text-dim);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:9px;flex-shrink:0}.cs-carry-bar{flex:1;height:6px;background:#00000059;border-radius:3px;overflow:hidden}.cs-carry-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#3b82f6);transition:width .2s}.cs-carry-fill.equip{background:linear-gradient(90deg,#a78bfa,#7c3aed)}.cs-carry.over .cs-carry-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.cs-carry-group{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.cs-carry-value{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);flex-shrink:0}.cs-carry-over{font-size:9px;font-weight:800;color:#fca5a5;background:#ef444440;padding:1px 6px;border-radius:3px;letter-spacing:.08em}.cs-carry-tag{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:#708ac033;color:var(--text-dim);flex-shrink:0}.cs-carry-tag.free{background:#22c55e2e;color:#86efac}.cs-carry-tag.oversized{background:#a78bfa2e;color:#a78bfa}.cs-carry-grant-tag{font-size:.65rem;padding:1px 4px;border-radius:3px;border:1px solid #4ecca3;color:#4ecca3;opacity:.85;white-space:nowrap}.cs-carry-grant-tag.equip-grant{border-color:#a78bfa;color:#a78bfa}.cs-item-dr-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:3px;background:#93c5fd26;color:#93c5fd;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}.cs-mat-tag{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#94a3b826;color:#cbd5e1;text-transform:capitalize;white-space:nowrap}.cs-dclass-tag{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.cs-dclass-tag.dclass-high{background:#22c55e2e;color:#86efac}.cs-dclass-tag.dclass-fragile{background:#ef44442e;color:#fca5a5}.cs-dur-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px;background:#1e293b99;color:#cbd5e1;white-space:nowrap}.cs-dur-badge.broken{background:#ef444433;color:#fca5a5}.cs-dur-bar{display:inline-block;width:36px;height:4px;background:#64748b59;border-radius:2px;overflow:hidden;position:relative}.cs-dur-fill{display:block;height:100%;transition:width .12s ease}.cs-dur-text{font-variant-numeric:tabular-nums}.cs-dmg-tag.weak{background:#ef44442e;color:#fca5a5}.cs-dur-tier{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-variant-numeric:tabular-nums}.cs-dur-tier.tier-pristine{background:#22c55e2e;color:#86efac}.cs-dur-tier.tier-worn{background:#eab3082e;color:#fde68a}.cs-dur-tier.tier-damaged{background:#f9731633;color:#fdba74}.cs-dur-tier.tier-broken{background:#ef444438;color:#fca5a5;border:1px solid rgba(239,68,68,.45)}.cs-feat-list,.cs-res-list{display:flex;flex-direction:column;gap:6px;padding:4px 8px}.cs-feat-row,.cs-res-row{background:#ffffff08;border:1px solid rgba(96,165,250,.14);border-radius:6px;padding:6px 9px;display:flex;flex-direction:column;gap:3px}.cs-feat-head,.cs-res-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.cs-feat-source{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#93c5fd29;color:#93c5fd;padding:1px 6px;border-radius:3px;white-space:nowrap}.cs-feat-name,.cs-res-name{font-size:13px;font-weight:600;color:var(--text)}.cs-feat-active{font-size:9px;font-weight:700;color:#86efac;background:#22c55e29;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}.cs-feat-desc{font-size:11.5px;color:var(--text-dim);line-height:1.4}.cs-feat-variant{display:flex;align-items:center;gap:6px;margin-top:2px}.cs-feat-variant label{font-size:11px;color:var(--text-dim)}.cs-feat-variant .ci-input{max-width:280px}.cs-res-actions{display:flex;gap:6px;padding:4px 8px 0}.cs-res-btn{background:#60a5fa26;border:1px solid rgba(96,165,250,.32);color:#93c5fd;padding:3px 10px;font-size:11px;border-radius:4px;cursor:pointer}.cs-res-btn:hover{background:#60a5fa40}.cs-res-rest{font-size:9px;font-weight:700;color:var(--text-dim);border:1px solid rgba(255,255,255,.18);padding:0 4px;border-radius:3px}.cs-res-controls{display:flex;align-items:center;gap:6px}.cs-res-step{flex:0 0 auto;width:26px;height:26px;padding:0;border-radius:4px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f;color:var(--text);font-size:18px;font-weight:700;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;font-family:inherit}.cs-res-step:hover:not(:disabled){background:#ffffff1f;border-color:#ffffff59}.cs-res-step:disabled{opacity:.35;cursor:not-allowed}.cs-res-num{font-variant-numeric:tabular-nums;font-size:12px;color:var(--text);min-width:50px;text-align:center}.cs-res-bar{flex:1;height:6px;background:#64748b4d;border-radius:3px;overflow:hidden}.cs-res-fill{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .12s ease}.cs-res-toggle{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.16);background:#ffffff0d;color:var(--text-dim);cursor:pointer}.cs-res-toggle:hover:not(:disabled){border-color:#60a5fa80;color:var(--text)}.cs-res-toggle:disabled{opacity:.4;cursor:not-allowed}.cs-res-toggle.on{background:#ef44442e;border-color:#ef444480;color:#fca5a5}.cs-res-row.active{border-color:#ef444466;background:#ef44440d}.cs-atk-smite{display:flex;align-items:center;gap:6px;padding:4px 0}.cs-atk-smite label{font-size:11px;font-weight:600;color:#fcd34d}.cs-cast-group{display:inline-flex;align-items:center;gap:4px}.cs-cast-slot{font-size:10px;padding:2px 4px;border-radius:3px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:var(--text)}.cs-cast-slot:disabled{opacity:.4}.cs-cast-btn{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;border:1px solid rgba(168,85,247,.45);background:#a855f72e;color:#d8b4fe;cursor:pointer}.cs-cast-btn:hover:not(:disabled){background:#a855f74d;border-color:#a855f7a6}.cs-cast-btn:disabled{opacity:.4;cursor:not-allowed}.cs-use-btn{background:linear-gradient(180deg,#22c55e33,#16a34a1f);border:1px solid rgba(34,197,94,.35);color:#86efac;font-size:10px;font-weight:700;padding:3px 10px;border-radius:5px;cursor:pointer;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.cs-use-btn:hover:not(:disabled){background:#22c55e4d}.cs-use-btn:disabled{opacity:.4;cursor:not-allowed}.cs-weapon-group{display:flex;flex-direction:column}.cs-weapon-group+.cs-weapon-group{margin-top:4px;padding-top:4px;border-top:1px solid rgba(112,138,192,.12)}.cs-ammo-row{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 4px;background:#6366f112;border-left:2px solid rgba(99,102,241,.4);border-radius:0 4px 4px 0;margin-bottom:2px}.cs-ammo-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.cs-ammo-empty{font-size:10px;color:#eab308cc;font-style:italic}.cs-ammo-pills{display:flex;flex-wrap:wrap;gap:4px;flex:1}.cs-ammo-pill{background:#708ac01a;border:1px solid rgba(112,138,192,.25);color:var(--text-dim);font-size:10px;padding:2px 8px;border-radius:10px;cursor:pointer;transition:background .12s,border-color .12s,color .12s;display:flex;align-items:center;gap:4px}.cs-ammo-pill:hover{background:#6366f12e;border-color:#6366f180;color:var(--text)}.cs-ammo-pill.selected{background:#6366f138;border-color:#6366f1b3;color:#a5b4fc;font-weight:600}.cs-ammo-qty{opacity:.6;font-size:9px}.cs-draft-tag{font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:1px 5px;border-radius:3px;background:#fbbf2438;color:#fcd34d;flex-shrink:0}.cs-promote-btn{background:linear-gradient(180deg,#fbbf2440,#d9770626);border:1px solid rgba(251,191,36,.4);color:#fcd34d;font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;cursor:pointer;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.cs-promote-btn:hover{background:#fbbf2459}.cs-atk-empty-tag{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;background:#ef444433;color:#fca5a5;margin-left:6px;text-transform:uppercase;letter-spacing:.05em}.cs-atk-conditions{display:flex;flex-wrap:wrap;gap:4px;padding:2px 8px 4px}.cs-atk-cond{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em;border:1px solid}.cs-atk-cond-bleed{background:#ef44441f;color:#fca5a5;border-color:#ef444459}.cs-atk-cond-concussion{background:#fbbf241f;color:#fde68a;border-color:#fbbf2459}.cs-atk-cond-stagger{background:#fb923c1f;color:#fdba74;border-color:#fb923c59}.cs-atk-cond-prone{background:#8b5cf61f;color:#c4b5fd;border-color:#8b5cf659}.cs-atk-cond-embedded{background:#ef444429;color:#fca5a5;border-color:#ef444473}.cs-atk-cond-winded{background:#34d3991f;color:#6ee7b7;border-color:#34d39959}.cs-atk-cond-disarm{background:#60a5fa1f;color:#93c5fd;border-color:#60a5fa59}.cs-atk-cond-sunder{background:#fbbf241f;color:#fde68a;border-color:#fbbf2459}.cs-atk-cond-pin{background:#8b5cf61f;color:#c4b5fd;border-color:#8b5cf659}.cs-atk-cond-ap{background:#34d3991f;color:#6ee7b7;border-color:#34d39959}.cs-page-wrapper{width:100vw;height:100vh;overflow:hidden;display:flex;justify-content:center;background:var(--bg-0)}@media (max-width: 1180px){.cs-abilities,.cs-combat-row,.cs-currency-row,.cs-header-grid,.cs-spell-header{grid-template-columns:1fr}.cs-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
