.card{background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r3);box-shadow:var(--shadow-card);padding:var(--s4)}.card-label{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.06em;margin-bottom:var(--s3);text-transform:uppercase;font-size:.68rem}.move-chip-wrap{display:inline-block}.move-chip{align-items:center;gap:var(--s2);background:var(--bg-card);border:1px solid var(--stroke);border-radius:var(--r2);padding:var(--s1) var(--s3);cursor:pointer;-webkit-user-select:none;user-select:none;max-width:100%;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.move-chip:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.move-chip[aria-expanded=true]{border-color:var(--accent);background:var(--accent-tint);border-bottom-right-radius:0;border-bottom-left-radius:0}.move-chip-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;font-weight:500;overflow:hidden}.move-chip-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px}.move-chip-caret{opacity:.4;flex-shrink:0;width:12px;height:12px;transition:transform .2s,opacity .15s}.move-chip:hover .move-chip-caret{opacity:.7}.move-chip[aria-expanded=true] .move-chip-caret{opacity:.9;transform:rotate(180deg)}.move-expand{background:var(--accent-tint);border:1px solid var(--accent);border-radius:0 0 var(--r2) var(--r2);padding:var(--s3) var(--s4);border-top:none;max-width:320px;display:none}.move-expand.open{display:block}.move-trigger{color:var(--ink-2);margin-bottom:var(--s2);font-size:.78rem;font-style:italic;line-height:1.55}.move-trigger strong{font-style:normal;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:2px;font-size:.68rem;display:block}.move-effect{color:var(--ink-2);font-size:.78rem;line-height:1.55}.move-effect strong{font-style:normal;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:2px;font-size:.68rem;display:block}.condition-row{gap:var(--s2);flex-wrap:wrap;display:flex}.condition-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.condition-pip{border-radius:var(--r2);border:1.5px solid var(--stroke);background:var(--bg-card);justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex;position:relative;overflow:hidden}.condition-pip:before{content:"";background:var(--fire-tint);opacity:0;transition:opacity .15s;position:absolute;inset:0}.condition-toggle.active .condition-pip{border-color:var(--fire);background:var(--fire-tint)}.condition-toggle.active .condition-pip:before{opacity:1}.condition-pip svg{width:16px;height:16px;stroke:var(--ink-4);fill:none;stroke-width:1.5px;z-index:1;transition:stroke .15s;position:relative}.condition-toggle.active .condition-pip svg{stroke:var(--fire)}.condition-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);font-size:.6rem;transition:color .15s}.condition-toggle.active .condition-label{color:var(--fire)}.condition-toggle:hover .condition-pip{border-color:var(--ink-3);box-shadow:0 0 0 2px var(--fire-tint)}.status-chip{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid;border-radius:99px;align-items:center;gap:5px;padding:3px 10px 3px 8px;font-size:.65rem;font-weight:500;display:inline-flex}.status-chip.positive{background:var(--hit-bg);border-color:var(--hit);color:var(--hit-fg)}.status-chip.negative{background:var(--miss-bg);border-color:var(--miss);color:var(--miss-fg)}.status-chip.neutral{background:var(--neutral-bg);border-color:var(--neutral);color:var(--neutral-fg)}.status-chip-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-chip.positive .status-chip-dot{background:var(--hit)}.status-chip.negative .status-chip-dot{background:var(--miss)}.status-chip.neutral .status-chip-dot{background:var(--neutral)}.status-chip.removable{cursor:pointer}.status-chip.removable:hover{filter:brightness(.96)}.status-chip-x{opacity:.5;stroke:currentColor;fill:none;stroke-width:2px;flex-shrink:0;width:12px;height:12px}.status-chip.removable:hover .status-chip-x{opacity:.9}.status-chip.removing{opacity:0;transition:opacity .2s,transform .2s;transform:scale(.85)}.balance-slider-wrap{padding:var(--s4);background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r3);min-width:260px}.balance-poles{margin-bottom:var(--s2);justify-content:space-between;display:flex}.balance-pole{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);max-width:80px;font-size:.65rem;font-weight:600}.balance-pole.right{text-align:right}.balance-track-wrap{align-items:center;height:28px;display:flex;position:relative}.balance-track{background:linear-gradient(to right, var(--water-tint) 0%, var(--bg-deep) 50%, var(--fire-tint) 100%);border:1px solid var(--stroke-soft);border-radius:99px;width:100%;height:6px;position:relative}.balance-center-tick{background:var(--stroke);width:1px;height:12px;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.balance-thumb{background:var(--bg-card);border:2px solid var(--accent);width:18px;height:18px;box-shadow:var(--shadow-card);cursor:grab;z-index:2;pointer-events:none;border-radius:50%;transition:border-color .15s,box-shadow .15s;position:absolute;top:50%;transform:translate(-50%,-50%)}.balance-thumb:active{cursor:grabbing}.balance-value{text-align:center;font-family:var(--font-mono);color:var(--ink-3);margin-top:var(--s2);letter-spacing:.04em;font-size:.75rem}.balance-input{opacity:0;cursor:grab;z-index:3;width:100%;height:100%;margin:0;position:absolute}.fatigue-wrap{gap:var(--s2);flex-direction:column;display:flex}.fatigue-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.62rem;font-weight:600}.fatigue-boxes{gap:5px;display:flex}.fatigue-box{border:1.5px solid var(--stroke);border-radius:var(--r1);background:var(--bg-card);cursor:pointer;width:28px;height:28px;padding:0;transition:border-color .15s;position:relative;overflow:hidden}.fatigue-box.filled{border-color:var(--ink-2);background:var(--bg-deep)}.fatigue-box.filled:after{content:"";background:var(--ink-2);border-radius:1px;position:absolute;inset:3px}.fatigue-box:hover{border-color:var(--ink-3)}.fatigue-count{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.03em;font-size:.72rem}.approach-row{gap:var(--s3);display:flex}.approach-stat{align-items:center;gap:var(--s2);flex-direction:column;min-width:72px;display:flex}.approach-value{border-radius:var(--r2);border:1.5px solid var(--stroke);background:var(--bg-card);width:44px;height:44px;font-family:var(--font-mono);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:0;font-size:1.1rem;font-weight:600;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.approach-value:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.approach-value.selected{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.approach-value .approach-sign{opacity:.5;font-size:.7rem;font-weight:400;position:absolute;top:4px;left:6px}.approach-abbr{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center;font-size:.6rem;font-weight:600;line-height:1.3}.bond-card{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r2);min-width:240px;max-width:320px;display:flex}.bond-portrait{border-radius:var(--r2);border:1.5px solid var(--stroke);background:var(--bg-deep);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:relative;overflow:hidden}.bond-portrait-placeholder{font-family:var(--font-display);color:var(--ink-4);letter-spacing:.05em;font-size:.75rem;font-weight:600}.bond-content{flex:1;min-width:0}.bond-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);margin-bottom:2px;font-size:.7rem;font-weight:600}.bond-statement{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-style:italic;line-height:1.4;overflow:hidden}.bond-value-pips{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.bond-pip{border:1.5px solid var(--stroke);cursor:pointer;background:0 0;border-radius:50%;width:8px;height:8px;padding:0;transition:background .15s,border-color .15s}.bond-pip.filled{background:var(--accent);border-color:var(--accent)}.dice-roller{align-items:center;gap:var(--s4);padding:var(--s5);background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r3);flex-direction:column;min-width:260px;display:flex}.dice-pair{justify-content:center;align-items:center;gap:var(--s3);min-height:96px;display:flex}.dice-plus{font-family:var(--font-mono);color:var(--ink-4);-webkit-user-select:none;user-select:none;font-size:1rem}.modifier-badge{border:2px solid var(--accent);background:var(--accent-tint);color:var(--accent);font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.modifier-badge-md{width:44px;height:44px;font-size:.95rem}.modifier-badge-sm{border-width:1.5px;width:32px;height:32px;font-size:.78rem}.dice-total-row{justify-content:center;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.dice-total{font-family:var(--font-mono);color:var(--ink);text-align:center;min-width:36px;font-size:1.6rem;font-weight:600}.dice-modifier-row{align-items:center;gap:var(--s3);display:flex}.dice-modifier-label{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;font-size:.72rem}.roll-band{font-family:var(--font-display);letter-spacing:.12em;padding:var(--s1) var(--s4);text-align:center;opacity:0;border:1.5px solid;border-radius:99px;font-size:.8rem;font-weight:600;transition:opacity .2s}.roll-band.shown{opacity:1}.roll-band.hit{background:var(--hit-bg);border-color:var(--hit);color:var(--hit-fg)}.roll-band.partial{background:var(--partial-bg);border-color:var(--partial);color:var(--partial-fg)}.roll-band.miss{background:var(--miss-bg);border-color:var(--miss);color:var(--miss-fg)}.dice-roll-btn{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;padding:var(--s2) var(--s5);background:var(--ink);color:var(--bg-card);border-radius:var(--r2);cursor:pointer;border:none;min-height:44px;font-size:.72rem;font-weight:600;transition:background .15s,transform .1s}.dice-roll-btn:hover{background:var(--ink-2)}.dice-roll-btn:active{transform:scale(.97)}.dice-roll-btn:disabled{opacity:.6;cursor:not-allowed}.char-portrait{border-radius:var(--r2);border:1.5px solid var(--stroke);background:var(--bg-deep);flex-shrink:0;position:relative;overflow:hidden}.char-portrait-img{object-fit:cover;width:100%;height:100%;display:block}.char-portrait-placeholder{background:repeating-linear-gradient(45deg, var(--bg-deep), var(--bg-deep) 4px, var(--bg) 4px, var(--bg) 8px);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.char-portrait-placeholder span{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;text-align:center;padding:var(--s2);font-size:.62rem;line-height:1.5}.char-portrait-overlay{pointer-events:none;transition:background .3s;position:absolute;inset:0}.char-portrait.afraid .char-portrait-overlay{background:#004d7540;background:lab(30.2185% -9.13744 -31.0345/.25)}.char-portrait.angry .char-portrait-overlay{background:#831a1d40;background:lab(28.9798% 44.3251 27.7132/.25)}.char-portrait.insecure .char-portrait-overlay{background:#3e3f7c33;background:lab(29.1807% 13.1622 -35.2111/.2)}.char-portrait.foolish .char-portrait-overlay{background:#704e0038;background:lab(36.1744% 11.209 50.2841/.22)}.char-portrait.guilty .char-portrait-overlay{background:#43260a40;background:lab(18.5578% 12.5017 23.1023/.25)}.char-portrait-conditions{flex-wrap:wrap;justify-content:center;gap:3px;display:flex;position:absolute;bottom:4px;left:4px;right:4px}.char-portrait-condition-pip{background:var(--fire);border:1px solid var(--bg-card);border-radius:50%;width:6px;height:6px}.char-portrait-name{padding:var(--s2) var(--s2) var(--s1);font-family:var(--font-display);letter-spacing:.08em;color:#f6f1ea;color:lab(95.384% .696629 3.74849);text-align:center;background:linear-gradient(#0000 0%,#1e0d01b3 100%);background:linear-gradient(#0000 0%,lab(5.13969% 6.94005 7.51902/.7) 100%);font-size:.65rem;font-weight:500;position:absolute;bottom:0;left:0;right:0}.scene-card-frame{border-radius:var(--r3);background:var(--bg-deep);border:1px solid var(--stroke);box-shadow:var(--shadow-lift);position:relative;overflow:hidden}.scene-card-art{aspect-ratio:16/9;background:repeating-linear-gradient(-45deg, var(--bg-deep), var(--bg-deep) 6px, var(--bg-card) 6px, var(--bg-card) 12px);justify-content:center;align-items:center;width:100%;display:flex}.scene-card-art-img{object-fit:cover;width:100%;height:100%}.scene-card-art-placeholder{align-items:center;gap:var(--s2);opacity:.5;flex-direction:column;display:flex}.scene-card-art-placeholder span{font-family:var(--font-mono);color:var(--ink-3);letter-spacing:.04em;font-size:.7rem}.scene-card-top-strip{padding:var(--s3) var(--s4);justify-content:space-between;align-items:flex-start;gap:var(--s3);background:linear-gradient(#1e0d01b8 0%,#0000 100%);background:linear-gradient(lab(5.13969% 6.94005 7.51902/.72) 0%,#0000 100%);display:flex;position:absolute;top:0;left:0;right:0}.scene-dramatic-question{font-family:var(--font-body);color:#f7f1e7;color:lab(95.3948% 1.06761 5.63797);text-shadow:0 1px 3px #00000080;text-shadow:0 1px 3px lab(0% 0 0/.5);text-wrap:pretty;font-size:.82rem;font-style:italic;line-height:1.4}.scene-card-bottom-strip{padding:var(--s3) var(--s4);background:linear-gradient(#0000 0%,#1e0d01cc 100%);background:linear-gradient(#0000 0%,lab(5.13969% 6.94005 7.51902/.8) 100%);position:absolute;bottom:0;left:0;right:0}.scene-portrait-row{gap:var(--s2);scrollbar-width:none;display:flex;overflow-x:auto}.scene-portrait-row::-webkit-scrollbar{display:none}.scene-char-slot{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.scene-char-portrait{border-radius:var(--r2);width:40px;height:40px;font-family:var(--font-display);color:#ece3d6;color:lab(90.7644% 1.45891 7.54194);background:#57433199;background:lab(30.3263% 6.57952 14.7506/.6);border:1.5px solid #c5bcb080;border:1.5px solid lab(76.8433% 1.47766 7.55551/.5);justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.scene-char-portrait.hostile{color:#edaaa4;color:lab(76.0449% 24.7452 13.5466);border-color:#b54a4699;border-color:lab(46.4168% 43.9955 25.6171/.6)}.scene-char-name{font-family:var(--font-display);letter-spacing:.08em;color:#dfd6c9;color:lab(86.1241% 1.46458 7.54603);text-transform:uppercase;font-size:.55rem}.scene-char-name.hostile{color:#d2a09b;color:lab(70.4372% 18.513 10.0845)}.scene-location{font-family:var(--font-mono);color:#c8bca9;color:lab(76.8728% 1.97572 11.4901);letter-spacing:.04em;white-space:nowrap;font-size:.62rem}.trigger-candidate{background:var(--bg-card);border:1px solid var(--stroke-soft);border-left:3px solid var(--air);border-radius:0 var(--r2) var(--r2) 0;padding:var(--s3) var(--s4);gap:var(--s3);flex-direction:column;max-width:360px;display:flex}.trigger-candidate.high{border-left-color:var(--earth)}.trigger-candidate.med{border-left-color:var(--air)}.trigger-candidate.low{border-left-color:var(--stroke)}.trigger-header{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.trigger-excerpt{color:var(--ink-2);font-size:.82rem;font-style:italic;line-height:1.55}.trigger-excerpt mark{background:var(--air-tint);color:var(--ink);padding:0 2px;font-style:normal}.trigger-meta{gap:var(--s2);flex-wrap:wrap;display:flex}.trigger-pill{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-3);background:var(--bg-deep);border:1px solid var(--stroke-soft);border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:.63rem;display:flex}.trigger-pill-key{color:var(--ink-4);text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.trigger-move-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);font-size:.72rem;font-weight:600}.trigger-confidence{font-family:var(--font-mono);color:var(--earth);letter-spacing:.04em;font-size:.65rem}.trigger-actions{gap:var(--s2);display:flex}.trigger-btn{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;padding:var(--s2) var(--s3);border-radius:var(--r1);cursor:pointer;border:1.5px solid;flex:1;min-height:36px;font-size:.68rem;font-weight:600;transition:all .1s}.trigger-btn.confirm{background:var(--earth);border-color:var(--earth);color:#f3f7f0;color:lab(96.6403% -2.19613 2.90407)}.trigger-btn.confirm:hover{filter:brightness(1.1)}.trigger-btn.dismiss{border-color:var(--stroke);color:var(--ink-3);background:0 0}.trigger-btn.dismiss:hover{border-color:var(--ink-3);color:var(--ink-2)}.page-header{margin-bottom:var(--s6);border-bottom:1px solid var(--stroke);padding-bottom:var(--s5)}.page-header h1{font-family:var(--font-display);letter-spacing:.08em;color:var(--ink);font-size:clamp(1.4rem,4vw,2rem);font-weight:600}.page-header p{color:var(--ink-3);margin-top:var(--s1);font-size:.85rem;font-family:var(--font-mono);letter-spacing:.03em}.section{margin-bottom:var(--s6)}.section-label{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--s4);align-items:center;gap:var(--s3);font-size:.65rem;font-weight:600;display:flex}.section-label:after{content:"";background:var(--stroke-soft);flex:1;height:1px}.demo-stage{width:100%;max-width:var(--max-w-stage)}.demo-narrow{width:100%;max-width:var(--max-w-narrow)}.demo-wizard-frame{--wizard-min-h:auto;border:1px solid var(--stroke-soft);padding:0;overflow:hidden}.demo-wizard-content{padding:var(--s5);color:var(--ink-3);font-size:.88rem;line-height:1.55}.demo-stack{gap:var(--s3);flex-direction:column;display:flex}.demo-row-wide{gap:var(--s5);flex-wrap:wrap;display:flex}.demo-row-tight{gap:var(--s2);flex-wrap:wrap;display:flex}.row{gap:var(--s4);flex-wrap:wrap;align-items:flex-start;display:flex}.nation-palette{gap:var(--s3);flex-wrap:wrap;display:flex}.nation-swatch{gap:var(--s1);cursor:pointer;font:inherit;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.nation-swatch-color{border-radius:var(--r2);border:1.5px solid var(--stroke);width:48px;height:32px;transition:transform .15s,box-shadow .15s}.nation-swatch:hover .nation-swatch-color{box-shadow:var(--shadow-card);transform:scale(1.06)}.nation-swatch.active .nation-swatch-color{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.nation-swatch-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;font-size:.58rem}.type-specimen{gap:var(--s3);flex-direction:column;display:flex}.type-specimen-row{align-items:baseline;gap:var(--s4);display:flex}.type-tag{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.04em;flex-shrink:0;width:80px;font-size:.62rem}.type-display-xl{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);font-size:2rem;font-weight:600;line-height:1.15}.type-display-md{font-family:var(--font-display);letter-spacing:.08em;color:var(--ink);font-size:1.15rem;font-weight:500}.type-display-sm{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:.72rem;font-weight:600}.type-body-md{font-family:var(--font-body);color:var(--ink-2);font-size:.95rem;line-height:1.6}.type-body-italic{font-family:var(--font-body);color:var(--ink-3);font-size:.9rem;font-style:italic;line-height:1.6}.type-mono-md{font-family:var(--font-mono);color:var(--ink-2);letter-spacing:.04em;font-size:.82rem;font-weight:500}.color-swatch-grid{gap:var(--s2);flex-wrap:wrap;display:flex}.color-swatch{flex-direction:column;align-items:center;gap:4px;display:flex}.color-swatch-chip{border:1px solid var(--stroke);border-radius:var(--r1);width:48px;height:32px}.color-swatch-name{font-family:var(--font-mono);color:var(--ink-4);font-size:.58rem}.appearance-slider-wrap{gap:var(--s2);flex-direction:column;min-width:260px;display:inline-flex}.appearance-slider-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:.58rem;font-weight:600}.appearance-slider{background:var(--bg-deep);border:1px solid var(--stroke-soft);border-radius:10px;padding:4px;display:flex;position:relative}.appearance-slider-pill{background:var(--bg-card);border:1px solid var(--stroke-soft);width:calc(33.333% - 3px);box-shadow:var(--shadow-card);pointer-events:none;border-radius:7px;transition:left .2s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px}.appearance-slider-opt{cursor:pointer;z-index:1;color:var(--ink-4);font:inherit;background:0 0;border:none;border-radius:7px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 8px;transition:color .15s;display:flex;position:relative}.appearance-slider-opt.active{color:var(--ink)}.appearance-slider-opt span{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:600}.avatar-badge{align-items:center;gap:var(--s2);flex-direction:column;display:inline-flex;position:relative}.avatar-badge-ring-wrap{width:var(--avatar-size);height:var(--avatar-size);position:relative}.avatar-badge-ring{border:3px solid var(--accent);box-shadow:0 0 0 1px var(--bg-card), 0 0 12px color-mix(in oklch, var(--accent) 25%, transparent);border-radius:50%;transition:border-color .3s,box-shadow .3s;position:absolute;inset:-3px}.avatar-badge-portrait{background:var(--bg-deep);border:2px solid var(--stroke-soft);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.avatar-badge-img{object-fit:cover;width:100%;height:100%}.avatar-badge-hatch{background:repeating-linear-gradient(45deg, var(--bg-deep), var(--bg-deep) 4px, var(--bg) 4px, var(--bg) 8px);opacity:.6;position:absolute;inset:0}.avatar-badge-initials{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink-3);z-index:1;font-weight:700;position:relative}.avatar-badge-condition-tint{pointer-events:none;border-radius:50%;transition:background .4s;position:absolute;inset:0}.avatar-badge-condition-afraid{background:#004d754d;background:lab(30.2185% -9.13744 -31.0345/.3)}.avatar-badge-condition-angry{background:#831a1d4d;background:lab(28.9798% 44.3251 27.7132/.3)}.avatar-badge-condition-insecure{background:#3e3f7c38;background:lab(29.1807% 13.1622 -35.2111/.22)}.avatar-badge-condition-foolish{background:#704e0038;background:lab(36.1744% 11.209 50.2841/.22)}.avatar-badge-condition-guilty{background:#43260a47;background:lab(18.5578% 12.5017 23.1023/.28)}.avatar-badge-edit-overlay{cursor:pointer;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:#0000;z-index:2;background:0 0;background:lab(0% 0 0/0);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;transition:background .15s,color .15s;display:flex;position:absolute;inset:0}.avatar-badge-edit-overlay:hover{color:#dedede;color:lab(88.4% 0 .0000119209);background:#00000073;background:lab(0% 0 0/.45)}.avatar-badge-playbook{background:var(--accent);border:2px solid var(--bg-card);font-family:var(--font-display);letter-spacing:.06em;color:var(--bg-card);white-space:nowrap;box-shadow:var(--shadow-card);border-radius:6px;padding:2px 6px;font-weight:700;line-height:1.2;position:absolute;bottom:-2px;right:-2px}.avatar-badge-meta{text-align:center}.avatar-badge-name{font-family:var(--font-display);letter-spacing:.05em;color:var(--ink);font-size:.82rem;font-weight:600}.avatar-badge-playbook-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-top:2px;font-size:.6rem}.avatar-badge-condition-pips{gap:4px;display:flex}.avatar-badge-pip{background:var(--stroke);border:1px solid var(--bg-card);border-radius:50%;width:8px;height:8px;transition:background .15s}.avatar-badge-pip.on{background:var(--fire)}.nation-picker-wrap{gap:var(--s2);flex-direction:column;min-width:280px;display:inline-flex}.nation-picker-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:.58rem;font-weight:600}.nation-picker{gap:6px;display:flex}.nation-picker-opt{background:var(--bg-raised);border:1.5px solid var(--stroke-soft);cursor:pointer;font:inherit;color:var(--ink-4);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px 6px;transition:all .15s;display:flex}.nation-picker-opt:hover{border-color:var(--stroke)}.nation-picker-opt.active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}.nation-picker-dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 6px color-mix(in oklch, var(--accent) 38%, transparent);border-radius:50%}.nation-picker-name{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:600}.byok-field{flex-direction:column;gap:5px;display:flex}.byok-field-header{justify-content:space-between;align-items:baseline;display:flex}.byok-field-label{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-size:.6rem;font-weight:600}.byok-field-help{font-family:var(--font-mono);color:var(--ink-4);font-size:.58rem}.byok-field-row{gap:6px;display:flex}.byok-input-wrap{flex:1;align-items:center;display:flex;position:relative}.byok-input{width:100%;font-family:var(--font-mono);color:var(--ink);background:var(--bg-raised);border:1px solid var(--stroke-soft);border-radius:7px;outline:none;padding:9px 50px 9px 12px;font-size:.8rem;transition:border-color .15s}.byok-input:focus{border-color:var(--accent)}.byok-input-toggle{cursor:pointer;color:var(--ink-4);font-size:.75rem;font-family:var(--font-mono);background:0 0;border:none;padding:2px;position:absolute;right:10px}.byok-test-btn{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;background:var(--bg-raised);border:1px solid var(--stroke);min-height:38px;color:var(--ink-3);cursor:pointer;border-radius:7px;flex-shrink:0;padding:9px 14px;font-size:.6rem;font-weight:600;transition:all .15s}.byok-test-btn:disabled{opacity:.5;cursor:not-allowed}.byok-test-btn.byok-test-ok{background:var(--earth-tint);border-color:var(--earth);color:var(--earth)}.byok-test-btn.byok-test-fail{background:var(--fire-tint);border-color:var(--fire);color:var(--fire)}.byok-field-preview{font-family:var(--font-mono);color:var(--ink-4);margin-top:4px;font-size:.6rem}.toggle{background:var(--stroke);cursor:pointer;border:none;border-radius:99px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.toggle.on{background:var(--accent)}.toggle.disabled{opacity:.5;cursor:not-allowed}.toggle-thumb{background:var(--bg-card);border-radius:50%;width:18px;height:18px;transition:left .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0000004d;box-shadow:0 1px 4px lab(0% 0 0/.3)}.toggle.on .toggle-thumb{left:23px}.danger-action{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.danger-action-text{flex:1;min-width:200px}.danger-action-title{font-family:var(--font-display);letter-spacing:.05em;color:var(--ink);margin-bottom:3px;font-size:.72rem;font-weight:600}.danger-action-desc{color:var(--ink-3);font-size:.78rem;line-height:1.5}.danger-action-trigger,.danger-action-cancel,.danger-action-commit{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:7px;flex-shrink:0;min-height:32px;padding:6px 12px;font-size:.6rem;font-weight:600;transition:all .12s}.danger-action-trigger{background:var(--danger-tint);border:1px solid var(--danger);color:var(--danger)}.danger-action-trigger:hover{filter:brightness(1.1)}.danger-action-confirm-row{flex-shrink:0;gap:6px;display:flex}.danger-action-cancel{border:1px solid var(--stroke);color:var(--ink-4);background:0 0}.danger-action-cancel:hover{color:var(--ink-2);border-color:var(--ink-3)}.danger-action-commit{background:var(--danger-tint);border:1px solid var(--danger);color:var(--danger)}.danger-action-commit:hover{filter:brightness(1.1)}.npc-stat-block{background:var(--bg-card);border:1.5px solid var(--stroke-soft);border-radius:var(--r4);box-shadow:var(--shadow-card);overflow:hidden}.npc-stat-block-stripe{background:var(--accent);opacity:.7;height:3px}.npc-stat-block-header{border-bottom:1px solid var(--stroke-soft);align-items:flex-start;gap:14px;padding:14px 18px 12px;display:flex}.npc-stat-block-portrait{border:1.5px solid var(--stroke);background:var(--bg-deep);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:68px;display:flex;position:relative;overflow:hidden}.npc-stat-block.compact .npc-stat-block-portrait{width:44px;height:54px}.npc-stat-block-portrait-hatch{background:repeating-linear-gradient(45deg, var(--bg-deep), var(--bg-deep) 3px, var(--bg) 3px, var(--bg) 6px);opacity:.5;position:absolute;inset:0}.npc-stat-block-portrait-initials{font-family:var(--font-display);color:var(--ink-4);z-index:1;font-size:.75rem;font-weight:600;position:relative}.npc-stat-block.compact .npc-stat-block-portrait-initials{font-size:.65rem}.npc-stat-block-meta{flex:1;min-width:0}.npc-stat-block-name{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);margin-bottom:3px;font-size:1.05rem;font-weight:700;line-height:1.2}.npc-stat-block.compact .npc-stat-block-name{font-size:.9rem}.npc-stat-block-tags{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:6px;display:flex}.npc-stat-block-role{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink-3);font-size:.62rem}.npc-stat-block-type{font-family:var(--font-mono);color:var(--ink-4);background:var(--bg-deep);border:1px solid var(--stroke-soft);border-radius:3px;padding:1px 6px;font-size:.58rem}.npc-stat-block-nation{font-family:var(--font-display);letter-spacing:.08em;text-transform:capitalize;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent);border-radius:99px;padding:1px 8px;font-size:.6rem;font-weight:600}.npc-stat-block-principle{font-family:var(--font-body);color:var(--ink-3);font-size:.8rem;font-style:italic;line-height:1.45}.npc-stat-block-body{flex-direction:column;gap:12px;padding:12px 18px;display:flex}.npc-stat-block-label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px;font-size:.58rem;font-weight:600}.npc-stat-block-fatigue{align-items:center;gap:5px;display:flex}.npc-stat-block-fatigue-box{border:1.5px solid var(--stroke);background:var(--bg-raised);border-radius:3px;width:24px;height:24px;position:relative}.npc-stat-block-fatigue-box.filled{background:var(--bg-deep)}.npc-stat-block-fatigue-box.filled:after{content:"";background:var(--ink-3);border-radius:1px;position:absolute;inset:4px}.npc-stat-block-fatigue-count{font-family:var(--font-mono);color:var(--ink-4);margin-left:4px;font-size:.65rem}.npc-stat-block-condition-row{flex-wrap:wrap;gap:5px;display:flex}.npc-stat-block-condition{border:1px solid var(--stroke);background:var(--bg-raised);font-family:var(--font-display);letter-spacing:.06em;text-transform:capitalize;color:var(--ink-4);border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:.6rem;font-weight:500;display:inline-flex}.npc-stat-block-condition.on{border-color:var(--fire);background:var(--fire-tint);color:var(--fire)}.npc-stat-block-condition-dot{background:var(--fire);border-radius:50%;width:4px;height:4px}.npc-stat-block-balance-poles{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;margin-bottom:6px;font-size:.62rem;font-weight:600;display:flex}.npc-stat-block-balance-track-wrap{align-items:center;height:28px;display:flex;position:relative}.npc-stat-block-balance-track{background:linear-gradient(to right, var(--water-tint), var(--bg-deep) 50%, var(--fire-tint));border:1px solid var(--stroke-soft);border-radius:99px;width:100%;height:7px}.npc-stat-block-balance-thumb{background:var(--bg-card);border:2px solid var(--earth);border-radius:50%;width:18px;height:18px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #1e0d012e;box-shadow:0 1px 4px lab(5.13969% 6.94005 7.51902/.18)}.npc-stat-block-balance-value{text-align:center;font-family:var(--font-mono);color:var(--ink-4);margin-top:4px;font-size:.65rem}.npc-stat-block-statuses{flex-wrap:wrap;gap:5px;display:flex}.npc-stat-block-status{font-family:var(--font-display);letter-spacing:.06em;border:1px solid var(--earth);background:var(--earth-tint);color:var(--earth);text-transform:capitalize;border-radius:99px;padding:2px 9px;font-size:.62rem;font-weight:500}.npc-stat-block-moves{flex-direction:column;gap:8px;display:flex}.npc-stat-block-move{background:var(--bg-raised);border:1px solid var(--stroke-soft);border-radius:7px;padding:10px 12px}.npc-stat-block-move-name{font-family:var(--font-display);letter-spacing:.05em;color:var(--ink);margin-bottom:4px;font-size:.72rem;font-weight:600}.npc-stat-block-move-trigger{color:var(--ink-3);margin-bottom:4px;font-size:.75rem;font-style:italic;line-height:1.5}.npc-stat-block-move-effect{color:var(--ink-2);font-size:.75rem;line-height:1.5}.npc-stat-block-techniques{flex-wrap:wrap;gap:5px;display:flex}.npc-stat-block-technique{font-family:var(--font-display);letter-spacing:.05em;border:1px solid var(--stroke);background:var(--bg-raised);color:var(--ink-2);border-radius:5px;padding:3px 10px;font-size:.65rem;font-weight:500}.roll-band-sm{padding:1px var(--s3);font-size:.65rem}.roll-band-md{padding:var(--s1) var(--s4);font-size:.8rem}.roll-band-lg{padding:var(--s2) var(--s5);letter-spacing:.14em;font-size:.95rem}.meta-tag{font-family:var(--font-mono);color:var(--ink-4);background:var(--bg-deep);border:1px solid var(--stroke-soft);letter-spacing:.03em;white-space:nowrap;border-radius:3px;padding:2px 6px;font-size:.6rem;display:inline-flex}.sheet-overlay{z-index:40;opacity:0;pointer-events:none;background:#1e0d0173;background:lab(5.13969% 6.94005 7.51902/.45);transition:opacity .2s;position:fixed;inset:0}.sheet-overlay.open{opacity:1;pointer-events:auto}.sheet-panel{background:var(--bg-card);border-top:1px solid var(--stroke);border-radius:var(--r3) var(--r3) 0 0;z-index:41;padding:var(--s5) var(--s4) calc(var(--s6) + env(safe-area-inset-bottom));gap:var(--s4);box-shadow:var(--shadow-lift);flex-direction:column;margin:0 auto;transition:transform .35s cubic-bezier(.34,1.1,.64,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet-panel.open{transform:translateY(0)}.sheet-handle{background:var(--stroke);width:36px;height:4px;margin:0 auto var(--s2);border-radius:2px;flex-shrink:0}.collapsible-card{background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r3);box-shadow:var(--shadow-card);overflow:hidden}.collapsible-card-header{width:100%;padding:var(--s3) var(--s4);border:none;border-bottom:1px solid var(--stroke-soft);cursor:pointer;-webkit-user-select:none;user-select:none;font:inherit;color:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;min-height:48px;display:flex}.collapsible-card.collapsed .collapsible-card-header{border-bottom-color:#0000}.collapsible-card-title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:var(--s2);font-size:.62rem;font-weight:600;display:inline-flex}.collapsible-card-subtitle{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.03em;text-transform:none;margin-left:var(--s2);font-size:.58rem;font-weight:400}.collapsible-card-caret{width:16px;height:16px;color:var(--ink-4);flex-shrink:0;transition:transform .25s}.collapsible-card.collapsed .collapsible-card-caret{transform:rotate(180deg)}.collapsible-card-body{max-height:1200px;transition:max-height .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.collapsible-card.collapsed .collapsible-card-body{max-height:0}.scene-info-strip{padding:var(--s3) var(--s4);gap:var(--s2);flex-direction:column;display:flex}.scene-info-position{color:var(--ink-3);text-wrap:pretty;font-size:.82rem;font-style:italic;line-height:1.55}.scene-info-status-row{flex-wrap:wrap;gap:5px;display:flex}.sheet-header{padding:var(--s4);align-items:flex-start;gap:var(--s4);display:flex}.sheet-header-portrait{flex-shrink:0}.sheet-header-info{flex:1;min-width:0}.sheet-header-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);margin-bottom:2px;font-size:1.05rem;font-weight:600}.sheet-header-playbook{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s2);font-size:.68rem;font-weight:400}.sheet-header-demeanor{color:var(--ink-3);font-size:.8rem;font-style:italic;line-height:1.4}.sheet-header-meta{margin-top:var(--s2);flex-wrap:wrap;gap:5px;display:flex}.mob-btn{width:100%;padding:var(--s3) var(--s4);background:linear-gradient(135deg, var(--accent-tint) 0%, var(--bg-card) 100%);border:1.5px solid var(--accent);color:var(--accent);border-radius:var(--r2);cursor:pointer;align-items:center;gap:var(--s3);text-align:left;min-height:56px;font:inherit;transition:box-shadow .15s;display:flex}.mob-btn:hover{box-shadow:0 0 0 3px var(--accent-tint)}.mob-btn.spent{opacity:.4;cursor:not-allowed;border-style:dashed}.mob-btn.spent:hover{box-shadow:none}.mob-btn-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.mob-btn-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.mob-btn-title{font-family:var(--font-display);letter-spacing:.08em;color:var(--accent);font-size:.78rem;font-weight:600}.mob-btn-desc{color:var(--ink-3);font-size:.75rem;font-style:italic;line-height:1.4}.mob-btn-state{font-family:var(--font-mono);color:var(--accent);letter-spacing:.06em;flex-shrink:0;align-self:flex-start;font-size:.6rem}.roll-panel-context{text-align:center}.roll-panel-move-name{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);margin-bottom:var(--s1);font-size:.85rem;font-weight:600}.roll-panel-trigger{color:var(--ink-3);font-size:.8rem;font-style:italic;line-height:1.5}.roll-panel-dice{justify-content:center;align-items:center;gap:var(--s4);min-height:96px;display:flex}.roll-panel-result{justify-content:center;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.roll-panel-total{font-family:var(--font-mono);color:var(--ink);text-align:center;min-width:48px;font-size:2rem;font-weight:600;transition:all .3s}.roll-panel-effect{color:var(--ink-2);text-align:center;text-wrap:pretty;min-height:48px;font-size:.82rem;font-style:italic;line-height:1.55}.roll-panel-action{width:100%;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;padding:var(--s3) var(--s4);background:var(--ink);color:var(--bg-card);border-radius:var(--r2);cursor:pointer;border:none;min-height:48px;font-size:.72rem;font-weight:600;transition:background .15s,transform .1s}.roll-panel-action:hover{background:var(--ink-2)}.roll-panel-action:active{transform:scale(.98)}.roll-panel-action:disabled{opacity:.6;cursor:not-allowed}.primary-btn,.secondary-btn{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--r2);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);font-weight:600;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.primary-btn-sm,.secondary-btn-sm{letter-spacing:.1em;min-height:36px;padding:8px 14px;font-size:.62rem}.primary-btn-md,.secondary-btn-md{min-height:44px;padding:10px 20px;font-size:.7rem}.primary-btn-lg,.secondary-btn-lg{min-height:52px;padding:14px 26px;font-size:.78rem}.primary-btn-full,.secondary-btn-full{width:100%}.primary-btn{background:var(--ink);color:var(--bg-card);border:1px solid var(--ink)}.primary-btn:hover:not(:disabled){background:var(--ink-2)}.primary-btn:active:not(:disabled){transform:scale(.98)}.primary-btn:disabled{background:var(--stroke);color:var(--ink-4);border-color:var(--stroke);cursor:not-allowed}.secondary-btn{color:var(--ink-3);border:1px solid var(--stroke);background:0 0}.secondary-btn:hover:not(:disabled){border-color:var(--ink-3);color:var(--ink)}.secondary-btn:active:not(:disabled){transform:scale(.98)}.secondary-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-shell{min-height:var(--wizard-min-h,100dvh);background:var(--bg);flex-direction:column;display:flex}.wizard-progress-bar{background:var(--stroke-soft);flex-shrink:0;height:3px;position:relative}.wizard-progress-fill{background:var(--accent);border-radius:0 2px 2px 0;transition:width .5s cubic-bezier(.4,0,.2,1);position:absolute;inset:0 auto 0 0}.wizard-step-indicators{flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:12px 16px 0;display:flex}.wizard-step-row{align-items:center;gap:6px;display:flex}.wizard-step-bubble{border:1.5px solid var(--stroke);background:var(--bg-card);width:22px;height:22px;color:var(--ink-4);font-family:var(--font-mono);border-radius:50%;justify-content:center;align-items:center;font-size:.55rem;transition:background .25s,border-color .25s,color .25s;display:inline-flex}.wizard-step-bubble.wizard-step-current{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.wizard-step-bubble.wizard-step-done{border-color:var(--accent);background:var(--accent);color:var(--bg-card)}.wizard-step-connector{background:var(--stroke-soft);width:18px;height:1px;transition:background .25s}.wizard-step-connector.done{background:var(--accent)}.wizard-current-label{text-align:center;font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-top:6px;margin-bottom:4px;font-size:.62rem;font-weight:600}.wizard-content{padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.chat-bubble-row{display:flex}.chat-bubble-row-assistant,.chat-bubble-row-question{justify-content:flex-start}.chat-bubble-row-player{justify-content:flex-end}.chat-bubble-assistant{background:0 0;max-width:85%}.chat-bubble-speaker{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:.58rem}.chat-bubble-text{font-family:var(--font-body);color:var(--ink-3);white-space:pre-line;font-size:.88rem;line-height:1.65}.chat-bubble-question{background:var(--accent-tint);border:1px solid var(--accent);max-width:90%;font-family:var(--font-body);color:var(--ink-2);border-radius:12px;padding:12px 16px;font-size:.92rem;font-style:italic;line-height:1.6}.chat-bubble-player{background:var(--bg-card);border:1px solid var(--stroke-soft);max-width:78%;font-family:var(--font-body);color:var(--ink-2);border-radius:12px 12px 4px;padding:10px 14px;font-size:.88rem;line-height:1.55;box-shadow:0 1px 4px #1e0d0114;box-shadow:0 1px 4px lab(5.13969% 6.94005 7.51902/.08)}.chat-input{background:var(--bg-card);border:1px solid var(--stroke);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #1e0d011a;box-shadow:0 2px 10px lab(5.13969% 6.94005 7.51902/.1)}.chat-input-header{border-bottom:1px solid var(--stroke-soft);justify-content:space-between;align-items:center;padding:8px 14px 6px;display:flex}.chat-input-label,.chat-input-progress{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.06em;font-size:.6rem}.chat-input-row{align-items:flex-end;gap:8px;padding:8px;display:flex}.chat-input-textarea{font-family:var(--font-body);color:var(--ink);resize:none;background:0 0;border:none;outline:none;flex:1;padding:4px 6px;font-size:.92rem;line-height:1.6}.chat-input-textarea::placeholder{color:var(--ink-4)}.chat-input-textarea:disabled{color:var(--ink-3)}.chat-input-send{background:var(--ink);width:40px;height:40px;color:var(--bg-card);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.chat-input-send.disabled,.chat-input-send:disabled{background:var(--stroke);color:var(--ink-4);cursor:not-allowed}.typing-dots-row{align-items:center;gap:8px;padding-left:4px;display:flex}.typing-dots-label{font-family:var(--font-mono);color:var(--ink-4);letter-spacing:.06em;text-transform:uppercase;font-size:.6rem}.typing-dots{align-items:center;gap:5px;display:inline-flex}.typing-dot{background:var(--ink-4);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-dot-pulse}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing-dot-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.recommended-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.55rem;font-weight:600;line-height:1;display:inline-block}.radio-group{gap:var(--s2);flex-direction:column;display:flex}.radio-option{align-items:center;gap:var(--s3);background:var(--bg-card);border:1px solid var(--stroke-soft);border-radius:var(--r2);cursor:pointer;width:100%;font-family:var(--font-body);color:var(--ink-2);text-align:left;padding:12px 14px;font-size:.88rem;transition:border-color .15s,background .15s;display:flex}.radio-option:hover:not(:disabled){border-color:var(--stroke);background:var(--bg-raised)}.radio-option.selected{border-color:var(--accent);background:var(--accent-tint);color:var(--ink)}.radio-option:disabled{opacity:.5;cursor:not-allowed}.radio-option-circle{border:1.5px solid var(--stroke);background:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:border-color .15s,background .15s;display:inline-flex}.radio-option-circle.selected{border-color:var(--accent);background:var(--bg-card)}.radio-option-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.radio-option-label{flex:1;line-height:1.45}.radio-option-value{font-family:var(--font-mono);color:var(--ink-3);flex-shrink:0;font-size:.72rem;font-weight:500}.radio-option-value.selected{color:var(--accent)}
