:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#233b3a;background:#eef2ef;font-size:18px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:#fff;border:1px solid #d9e3dc;border-radius:7px;padding:9px 12px;min-height:36px;font-weight:600;line-height:1.3}button:hover:not(:disabled){border-color:#8fae9e;background:#f0f6f1}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #d6a555;outline-offset:2px}input,select,textarea{border:1px solid #cfdcd3;border-radius:6px;background:#fff;padding:8px 10px;min-height:36px;min-width:0;max-width:100%}input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;accent-color:#24705b}input[type=number]{width:100%}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#556b62}.check{display:flex;flex-direction:row;align-items:center;gap:7px;font-size:14px}.primary{background:#1f6655;border-color:#1f6655;color:#fff}.primary:hover:not(:disabled){background:#185241;color:#fff}.secondary,.active{background:#e7f0e9}.danger{color:#a34a42}.small{min-height:28px;padding:5px 8px;font-size:14px}.full{width:100%}.icon-button{width:32px;min-height:30px;height:32px;padding:5px;display:grid;place-items:center;background:transparent;border-color:transparent;font-size:22px}.icon-button svg{width:19px;height:19px}.icon-button:hover:not(:disabled){background:#e6eee8}h1,h2,h3,h4,p{margin:0}h1{font-size:25px;font-weight:700;letter-spacing:-.6px}h2{font-size:17px;letter-spacing:-.2px}h3{font-size:15px}h4{font-size:13px;color:#74887d;text-transform:uppercase;letter-spacing:.7px;margin:17px 0 8px}h2 span{font-weight:400;font-size:13px;color:#7c8d84;margin-left:8px}small{font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:1.2px;font-size:11px;color:#789080;font-weight:700;display:block;margin-bottom:3px}a{color:#1c6c56}encounter-lab{display:block;height:100%;width:100%}.shell{height:100dvh;min-height:0;display:flex;flex-direction:column;padding:0 18px;gap:12px;overflow:hidden}.topbar{height:57px;min-height:57px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9e1da;gap:20px}.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:20px;letter-spacing:-.3px}.brand-mark{width:29px;height:31px;display:grid;place-items:center;background:#1f6655;color:#fff;border-radius:7px;font-size:13px;letter-spacing:1px}.version{font-size:12px;color:#789080;font-weight:500;margin-left:5px}nav{display:flex;align-items:center;gap:5px;flex:1;justify-content:center}nav button{border-color:transparent;background:transparent;padding:8px 18px;min-height:34px;font-size:14px;color:#718378}nav button.active{background:#dfeae1;color:#245b45}.header-actions{display:flex;gap:4px}.encounter-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px}.encounter-buttons{display:flex;align-items:center;gap:8px}.round-label{font-size:14px;color:#47705a;padding:6px 10px;background:#e2eade;border-radius:20px}.workspace{display:grid;grid-template-columns:218px minmax(200px,1fr) 304px;gap:12px;flex:1;min-height:0;overflow:hidden}.roster-column,.inspector-column,.map-column,.character-list,.builder{border:1px solid #dce5dd;background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.panel-title{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;min-height:47px;border-bottom:1px solid #e8ece8;gap:5px}.counter{font-size:13px;color:#8b9a90;background:#eff4ed;border-radius:10px;padding:2px 6px}.roster-list,.library-list,.actions-body,.inspector-body{overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:#c5d3c9 transparent}.list-section h3{color:#7a8a7d;text-transform:uppercase;font-size:11px;letter-spacing:1px;padding:16px 13px 6px;display:flex;justify-content:space-between}.roster-row{display:flex;align-items:center;margin:3px 6px;border-radius:7px;border:1px solid transparent}.roster-row.selected{background:#edf3ec;border-color:#d5e3d4}.roster-row.acting{box-shadow:inset 3px 0 #297257}.actor-card{display:flex;gap:9px;width:100%;border:0;border-radius:0;background:transparent;text-align:left;padding:9px 5px;min-width:0;align-items:center}.actor-card>span:last-child{flex:1;min-width:0}.actor-card strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actor-card small{display:block;font-size:12px;color:#8c9b90;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.token{width:29px;height:31px;border-radius:8px;display:inline-grid;place-items:center;font-size:12px;font-weight:700;flex-shrink:0}.token.party{color:#287258;background:#e0eee4}.token.enemy{color:#a16343;background:#f2e5da}.token.large{width:44px;height:48px;font-size:17px}.hp-line{display:block;height:3px;width:100%;margin-top:6px;background:#e5ebe3;border-radius:3px;overflow:hidden}.hp-line i{display:block;height:100%;background:#78a084}.delete-actor{border:0;background:transparent;min-height:26px;padding:5px;color:#9eaaa0}.delete-actor svg{width:16px;height:16px}.roster-footer{border-top:1px solid #e7ece7;display:grid;gap:6px;padding:10px}.roster-footer button{font-size:13px;min-height:33px}.search-box{padding:9px}.search-box input{width:100%;font-size:14px}.library-row{display:flex;align-items:center;border-bottom:1px solid #edf1ed;margin:0 7px}.library-row button:first-child{border:0;text-align:left;flex:1;min-width:0;touch-action:none}.library-row strong{font-size:14px;display:block}.library-row small{font-size:12px;display:block;font-weight:400;color:#819082;margin-top:4px}.library-row button:last-child{padding:4px 7px;min-height:26px;font-size:20px}.center-column{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.map-column{flex:1;min-height:140px}.map-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e5ece4;min-height:44px}.map-toolbar select{min-height:28px;font-size:13px;padding:5px 24px 5px 8px}.map-toolbar h2{font-size:14px}.active-caption{color:#7d927e;font-size:13px}.map-wrap{background:#213933;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden;position:relative}#battle-map{display:block;width:100%;height:100%;max-width:100%;max-height:100%;touch-action:none;user-select:none}.tile{fill:#28453f;stroke:#38554c;stroke-width:.6}.tile-rubble{fill:#495344}.tile-water{fill:#305966}.tile-pit{fill:#172b29}.tile-hazard{fill:#684d36}.tile-wall{fill:#6b7567}.tile-door{fill:#565448}.tile-door.open{fill:#355b48}.tile-half-cover,.tile-three-quarter-cover{fill:#405647}.terrain-mark{fill:#a0a78a}.terrain-symbol{font-size:20px;fill:#bbbe9a;text-anchor:middle}.map-token{cursor:pointer}.map-token rect.token-outline{fill:#4f9176;stroke:#98bea3;stroke-width:1.3}.map-token.enemy rect.token-outline{fill:#b77854;stroke:#d3b094}.map-token.current rect.token-outline{stroke:#f2dba1;stroke-width:2.8}.map-token.selected rect.token-outline{filter:brightness(1.18)}.map-token text{fill:#fff;text-anchor:middle;pointer-events:none;font-weight:700}.map-token.dead{opacity:.35}.map-hp{fill:#c9e0ac}.height-label{font-size:10px;fill:#d1e1c3!important}.persistent-zone{fill:#dfb150;opacity:.16}.aim-cell{fill:#e9c362;opacity:.4;stroke:#ead384;stroke-width:1}.destination-cell{fill:#86c5b0;fill-opacity:.25;stroke:#b9efbf;stroke-width:2}.chosen-target,.enemy-in-area,.ally-in-area{fill:none;stroke-width:2.5}.chosen-target{stroke:#fce3a3}.enemy-in-area{stroke:#f1d473}.ally-in-area{stroke:#f29b7c}.map-caption{display:flex;align-items:center;justify-content:space-between;padding:7px 11px;gap:8px;min-height:29px;font-size:12px;color:#829384;white-space:nowrap}.map-caption>span:first-child{overflow:hidden;text-overflow:ellipsis}.map-key{display:flex;align-items:center;gap:4px}.party-dot,.enemy-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;background:#589778}.enemy-dot{background:#b97853}.setup-toolbar{display:flex;gap:7px;align-items:center;min-height:38px}.setup-toolbar>span{flex:1;font-size:12px;color:#819180}.setup-toolbar button{font-size:13px;min-height:30px;padding:5px 9px}.inspector-body,.actions-body{padding:14px}.character-heading{display:flex;align-items:center;gap:11px;margin-bottom:15px}.character-heading h2{font-size:21px}.character-heading span:not(.token){font-size:13px;color:#809080}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e1e9df;border-radius:8px;padding:10px 0;margin:12px 0}.stat-grid>div{text-align:center;border-right:1px solid #e7ece4}.stat-grid>div:last-child{border:0}.stat-grid strong{font-size:23px;display:block;font-weight:700;letter-spacing:-.6px}.stat-grid strong small{font-size:12px;font-weight:400;color:#849480;letter-spacing:0}.stat-grid span{display:block;font-size:11px;color:#8a9a84;margin-top:4px;text-transform:uppercase}.subclass-tags,.name-tags{display:flex;flex-wrap:wrap;gap:5px}.subclass-tags{margin:12px 0}.subclass-tags span,.name-tags span,.small-tag{display:inline-block;background:#f1f5ef;color:#617b62;padding:4px 7px;border-radius:5px;font-size:12px;font-weight:500}.two-buttons{display:flex;gap:6px;margin-top:8px}.two-buttons button{flex:1;font-size:13px}.mini-scores{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;gap:10px;text-align:center}.mini-scores div{padding:7px;border-radius:6px;background:#f6f8f4}.mini-scores small{font-size:10px;color:#8a9c83;display:block}.mini-scores b{font-size:17px;margin:0 5px}.mini-scores span{font-size:12px;color:#7b9276}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#82907e;margin:20px 0 10px}.inspector-body>button:last-child{margin-top:16px}.name-tags span{white-space:normal;max-width:100%}.actions-body{padding:10px 12px}.acting-character{display:flex;justify-content:space-between;align-items:center;gap:5px}.acting-character b{font-size:17px}.acting-character span{font-size:12px;color:#839781}.economy{display:flex;gap:5px;margin:10px 0}.economy span{font-size:11px;border-radius:4px;padding:4px 5px;background:#f2f5ef;color:#8c9b85}.economy .ready{color:#336c4c;background:#e7f0e5}.economy .spent{opacity:.6}.slot-chips{display:flex;flex-wrap:wrap;gap:5px}.slot-chips span{font-size:12px;background:#f2f3ec;padding:4px 6px;border-radius:4px;color:#8a8e73}.slot-chips b{color:#596d54;margin-left:6px}.actions-body h4{margin-top:9px}.action-filters{display:flex;gap:3px;margin:14px 0 8px}.action-filters button{font-size:12px;min-height:26px;padding:4px 7px;border-color:transparent}.action-filters button.active{border-color:#d6e4d0;background:#e6efe2}.ability-list{display:grid;gap:5px}.ability-button{display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;padding:9px 10px;min-height:39px;font-size:14px}.ability-button span{overflow-wrap:anywhere}.ability-button small{color:#8c9a83;font-size:11px;font-weight:400;flex-shrink:0}.ability-button.armed{background:#e4efe0;border-color:#87ab80;box-shadow:inset 3px 0 #4d8c60}.ability-button.unavailable:not(.armed){opacity:.5}.reaction-ability{border-style:dashed}.selected-action{padding:12px;background:#f5f7ef;border:1px solid #d4e0ce;border-radius:8px;margin:12px 0}.selected-action .section-heading{margin-bottom:5px}.selected-action label{margin:8px 0}.selected-action label select{font-size:13px}.aim-message{font-size:13px;color:#58784e;margin-top:9px;line-height:1.5}.target-chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.target-chips button{font-size:12px;padding:5px}.basic-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.basic-actions button{font-size:12px;padding:5px;min-height:30px}.movement-fields{display:flex;gap:5px;align-items:end;margin:10px 0}.movement-fields>*{min-width:0;width:50%;font-size:13px}.combat-log-panel{background:#fff;border:1px solid #dce5dd;border-radius:9px;height:182px;min-height:105px;max-height:30vh;display:flex;flex-direction:column;overflow:hidden}.log-heading{display:flex;align-items:center;justify-content:space-between;padding:7px 11px;border-bottom:1px solid #e7ece4;gap:5px}.log-heading h2{font-size:14px}.log-heading>div{display:flex;align-items:center;gap:7px}.log-heading .check{font-size:12px}.log-heading input{width:13px;height:13px}.log-heading select{min-height:26px;font-size:12px;padding:4px 7px}.log-heading button{min-height:26px;font-size:12px}#combat-log{overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#c5d3c9 transparent;padding:5px 11px}.log-event{display:flex;gap:9px;padding:5px 0;border-bottom:1px solid #f0f3ec;font-size:13px;line-height:1.35}.log-event>span:nth-child(2){flex:1}.log-round{color:#9aa58d;font-size:11px;min-width:20px;margin-top:1px}.log-event.damage{color:#a56a4a}.log-event.heal,.log-event.healing{color:#4c8c62}.log-event.death{color:#9e5144;font-weight:600}.fight-toolbar{display:flex;align-items:center;gap:10px;min-height:43px}.turn-order{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:thin;flex:1;min-width:0}.turn-order button{white-space:nowrap;min-height:32px;font-size:12px;padding:6px 9px;display:flex;align-items:center;gap:6px}.turn-order button span{color:#9ba38e}.turn-order .current{border-color:#54855b;background:#e8f0e2}.turn-order .dead{opacity:.4}.fight-buttons{display:flex;gap:6px}.fight-buttons button{font-size:13px}.simulation-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;background:#e5ece2;border-radius:8px;min-height:54px}.simulation-bar h3{font-size:14px}.simulation-bar span{font-size:12px;color:#819278;display:block;margin-top:3px}.simulation-buttons{display:flex;gap:7px}.simulation-buttons button,.simulation-buttons select{font-size:13px;min-height:32px}.app-footer{display:flex;justify-content:space-between;height:18px;min-height:18px;font-size:11px;color:#9aa18e;margin-top:-6px;padding-bottom:3px}.app-footer button{border:0;background:none;font-size:11px;padding:0;min-height:0;color:#8b9780;font-weight:400}.character-screen{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:12px;overflow:hidden}.character-list{padding:0 7px 10px}.character-list .panel-title{margin:0 -7px}.character-choice{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border-color:transparent;margin:5px 0}.character-choice.selected{border-color:#cde0c8;background:#eaf2e6}.character-choice b{display:block;font-size:14px}.character-choice small{display:block;font-size:12px;color:#809576;margin-top:4px}.builder-header{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;gap:14px}.builder-name input{border-color:transparent;font-size:26px;font-weight:700;letter-spacing:-.5px;padding:3px 0;width:270px;max-width:100%;background:transparent}.builder-name input:hover{border-bottom-color:#b7ceb1}.builder-save{display:flex;align-items:center;gap:7px}.builder-save button{font-size:14px}.save-state{font-size:12px;color:#839976}.builder-tabs{display:flex;gap:6px;padding:0 22px;border-bottom:1px solid #e3eadd}.builder-tabs button{font-size:14px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:10px 12px;color:#859679}.builder-tabs button.active{color:#355f3f;border-color:#487f52}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:0;flex:1}.builder-content{overflow:auto;min-height:0;padding:23px 25px;scrollbar-width:thin;scrollbar-color:#c2d3b9 transparent}.build-summary{border-left:1px solid #e3eadd;background:#f9faf6;padding:23px 17px;overflow:auto;scrollbar-width:thin}.build-summary h3{font-size:16px}.level-total{font-size:13px;color:#859e72;margin:11px 0}.level-total strong{font-size:26px;display:block;color:#31513a;margin-top:4px}.summary-lines{display:grid;gap:9px;font-size:13px;margin-top:18px}.summary-lines div{display:flex;justify-content:space-between}.summary-lines span{color:#819875}.summary-lines b{font-weight:600}.build-summary .stat-grid strong{font-size:22px}.build-summary .stat-grid strong small{font-size:11px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.section-heading>div>span{display:block;font-size:13px;color:#8ca079;margin-top:6px}.section-heading h2{font-size:21px}.section-heading button{font-size:14px}.class-rows{display:grid;gap:16px}.class-row{border:1px solid #dce7d5;border-radius:9px;padding:15px;background:#fbfcf9}.class-row-top{display:flex;align-items:center;gap:12px;margin-bottom:13px}.class-row-top label:first-of-type{flex:1;min-width:0}.class-row-top label:nth-of-type(2){width:118px}.class-index{font-size:13px;font-weight:600;border-radius:50%;width:25px;height:25px;background:#e7edde;display:grid;place-items:center;color:#7e8b6e;flex-shrink:0}.class-row>.small-tag{margin-top:10px}.stepper{display:flex;align-items:center;border:1px solid #cbd8c1;border-radius:6px;background:white;overflow:hidden}.stepper input{border:0;border-radius:0;padding:5px 0;min-width:20px;text-align:center;width:40px;flex:1;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper button{border:0;border-radius:0;padding:5px;min-height:35px;width:29px;font-size:18px;flex-shrink:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-grid .check{align-self:center}.score-inputs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:18px}.score-inputs label{text-align:center;font-size:12px}.score-inputs input{text-align:center;font-size:21px;font-weight:600;padding:6px;width:100%;min-width:30px}.score-inputs span{font-size:13px;color:#8f9c7d}.weapon-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:17px 0}.weapon-picker label{font-size:13px}.compact-details{margin:20px 0}.compact-details summary{font-size:13px;cursor:pointer;color:#899777}.compact-details .form-grid{margin-top:13px}.picker-controls{display:flex;gap:8px;margin:16px 0}.picker-controls input{flex:1;min-width:80px}.picker-controls select{font-size:13px;max-width:130px}.spell-editor-list,.item-editor-list{display:grid;gap:5px}.spell-editor-row,.item-editor-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e4eadd;border-radius:6px;min-height:43px}.spell-editor-row.chosen,.item-editor-row.chosen{border-color:#bfd5b6;background:#f1f6ec}.spell-editor-row>label{flex:1;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;cursor:pointer}.spell-editor-row strong{font-size:14px;color:#405b38}.spell-level{width:22px;height:23px;display:inline-grid;place-items:center;font-size:12px;color:#839868;background:#e9edde;border-radius:5px;flex-shrink:0}.spell-source{font-size:12px;color:#8c9d78}.spell-editor-row select{font-size:12px;padding:4px;min-height:27px;max-width:105px}.picker-footer{margin:18px 0}.item-editor-row{flex-direction:row;cursor:pointer}.item-editor-row strong{flex:1;font-size:14px}.item-editor-row small{font-size:12px;color:#8c9a77}.feature-list{margin:20px 0}.feature-list h3{font-size:14px;color:#60794a;margin-bottom:8px}.feature-list>div{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0e5;font-size:14px}.feature-list strong{flex:1}.feature-list small{font-size:12px;color:#83966e}.inline-error{padding:11px 13px;background:#f8eae5;border:1px solid #e9c9ba;border-radius:7px;font-size:14px;color:#a25a41;margin-bottom:14px}.empty{margin:auto;padding:35px;text-align:center;display:flex;flex-direction:column;gap:20px;align-items:center}.empty-small{padding:15px;color:#879877;font-size:13px}.results-screen{flex:1;min-height:0;overflow:auto;padding:15px 10px}.result-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.result-cards>div{border:1px solid #dce6d3;border-radius:10px;background:#fff;padding:20px}.result-cards span{display:block;font-size:14px;color:#8a9a72}.result-cards strong{display:block;font-size:37px;margin:13px 0;font-weight:650}.result-cards small{display:block;font-size:12px;color:#81996c}.comparison{padding:20px;border:1px solid #d7e4c9;background:white;border-radius:10px;margin:18px 0}.comparison p{font-size:14px;margin-top:10px}.results-table{width:100%;border-collapse:collapse;background:white;border-radius:8px;overflow:hidden}.results-table th,.results-table td{text-align:left;font-size:14px;padding:14px;border-bottom:1px solid #e6ecdc}.results-table thead th{color:#789464;font-size:12px;font-weight:600}.results-actions{display:flex;gap:8px;margin-top:20px}.modal-backdrop{position:fixed;inset:0;background:#1c3127a6;z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(560px,100%);max-height:85dvh;overflow:auto;border-radius:12px;background:#fff;box-shadow:0 25px 75px #18291a44}.modal-body{padding:22px}.modal-body>button{margin-top:20px}.modal-body p{line-height:1.7;font-size:14px}.class-grid,.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.menu-grid{grid-template-columns:repeat(2,1fr)}.class-grid button{padding:15px 10px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#294d32;color:white;border-radius:8px;box-shadow:0 5px 30px #25352633;z-index:110;display:flex;align-items:center;gap:15px;padding:10px 14px;max-width:min(90vw,700px);font-size:14px}.toast.error{background:#a3563a}.toast button{min-height:24px;padding:1px 5px;background:transparent;color:white;border:0;font-size:21px}.drag-ghost{position:fixed;pointer-events:none;padding:10px 15px;background:#335b39ee;color:#fff;z-index:500;border-radius:9px;font-size:14px;box-shadow:0 5px 20px #18332144}.mobile-tabs{display:none}
@media(min-width:1600px){.workspace{grid-template-columns:248px minmax(200px,1fr) 332px}.shell{padding:0 25px;gap:15px}.topbar{height:62px;min-height:62px}.combat-log-panel{height:205px}.ability-button{min-height:42px}.builder-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1150px){.shell{padding:0 10px;gap:9px}.workspace{grid-template-columns:176px minmax(170px,1fr) 250px;gap:8px}.actor-card{gap:6px}.actor-card strong{font-size:13px}.token{width:24px;height:27px}.builder-layout{grid-template-columns:minmax(0,1fr) 190px}.builder-content{padding:18px}.character-screen{grid-template-columns:185px minmax(0,1fr)}.builder-header{padding:12px 17px}.builder-name input{width:200px;font-size:23px}.builder-save .save-state{display:none}.score-inputs{gap:5px}.weapon-picker{grid-template-columns:repeat(2,1fr)}.builder-tabs{gap:0;padding:0 12px}.builder-tabs button{font-size:13px;padding:10px}.map-key{display:none}.inspector-body,.actions-body{padding:10px}.class-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-height:730px) and (min-width:761px){.topbar{height:48px;min-height:48px}.shell{gap:8px}.encounter-header{min-height:39px}.encounter-header h1{font-size:22px}.combat-log-panel{height:133px}.fight-toolbar{min-height:37px}.simulation-bar{min-height:44px;padding:5px 10px}.map-toolbar{min-height:36px;padding:5px 10px}.map-caption{min-height:25px;padding:5px 9px}.map-wrap{padding:5px}}
@media(max-width:760px){:root{font-size:14px}.shell{padding:0 8px;gap:7px}.topbar{height:47px;min-height:47px;gap:5px}.brand{font-size:15px;gap:5px}.brand-mark{width:24px;height:25px;font-size:11px}.version{display:none}nav{gap:0}nav button{font-size:12px;padding:6px 8px;min-height:29px}.header-actions .icon-button{width:26px}.encounter-header{min-height:41px;gap:5px}.encounter-header h1{font-size:18px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.encounter-buttons{gap:5px}.encounter-buttons button{font-size:12px;min-height:30px;padding:6px 8px}.encounter-buttons>button:first-of-type:not(.primary){display:none}.encounter-buttons .round-label{font-size:12px;padding:5px}.eyebrow{font-size:10px}.mobile-tabs{display:flex;gap:5px}.mobile-tabs button{flex:1;font-size:13px;min-height:29px;padding:5px}.mobile-tabs button.active{background:#e0edda;border-color:#c0d7b4}.workspace{display:block;position:relative;flex:1;min-height:0}.workspace>.roster-column,.workspace>.inspector-column,.workspace>.center-column{display:none;height:100%;width:100%}.workspace.mobile-map>.center-column{display:flex}.workspace.mobile-roster>.roster-column{display:flex}.workspace.mobile-actions>.inspector-column{display:flex}.center-column{gap:6px}.map-wrap{padding:4px}.map-toolbar{min-height:35px;padding:5px 9px}.map-caption{font-size:11px;min-height:25px}.setup-toolbar{min-height:31px}.setup-toolbar>span{display:none}.setup-toolbar button{flex:1;font-size:12px}.combat-log-panel{height:140px;max-height:27vh;min-height:105px}.log-event{font-size:12px}.log-heading h2{font-size:13px}.log-heading .check{display:none}.log-heading button{font-size:11px}.fight-toolbar{flex-direction:column;align-items:stretch;gap:5px}.turn-order{min-height:30px;max-height:32px}.turn-order button{min-height:27px;padding:4px 7px;font-size:11px}.fight-buttons{justify-content:stretch}.fight-buttons button{flex:1;font-size:13px;min-height:32px}.simulation-bar{min-height:46px;padding:7px 9px;gap:5px}.simulation-bar h3{font-size:12px}.simulation-bar>div>span{display:none}.simulation-buttons{gap:4px}.simulation-buttons button,.simulation-buttons select{font-size:12px;padding:6px;min-height:30px}.simulation-buttons button[data-action=snapshot]{display:none}.app-footer{height:15px;min-height:15px;margin-top:0;font-size:10px}.character-screen{display:flex;flex-direction:column;gap:7px}.character-list{max-height:95px;min-height:95px;flex-direction:row;align-items:center;padding:7px;gap:5px}.character-list .panel-title{display:none}.character-list .roster-list{display:flex;gap:5px;overflow-x:auto;flex:1}.character-choice{width:auto;min-width:100px;padding:6px;font-size:12px}.character-choice .token{display:none}.character-choice b{font-size:13px}.character-choice small{font-size:11px}.character-list>button{width:95px;font-size:12px;min-height:36px}.builder{flex:1;min-height:0}.builder-header{padding:10px;gap:5px}.builder-name{min-width:0;flex:1}.builder-name input{font-size:21px;width:100%;min-width:50px}.builder-save{flex-direction:column;gap:4px}.builder-save button{font-size:12px;min-height:28px;padding:5px 7px}.builder-tabs{padding:0 4px;overflow-x:auto;flex-shrink:0;white-space:nowrap}.builder-tabs button{font-size:12px;padding:8px;min-height:32px}.builder-layout{display:flex;flex-direction:column}.build-summary{display:none}.builder-content{padding:16px;flex:1}.class-row{padding:11px}.class-row-top{gap:8px}.class-row-top label:nth-of-type(2){width:97px}.class-index{width:19px;height:19px;font-size:11px}.class-row label{font-size:13px}.form-grid{gap:12px}.section-heading h2{font-size:18px}.section-heading button{font-size:12px}.score-inputs{grid-template-columns:repeat(3,1fr);gap:12px}.picker-controls{flex-wrap:wrap;gap:5px}.picker-controls input{width:100%;flex-basis:100%}.picker-controls select{flex:1;max-width:none}.spell-editor-row{padding:9px 8px}.spell-editor-row>label{gap:7px}.spell-editor-row strong{font-size:13px}.item-editor-row strong{font-size:13px}.item-editor-row small{max-width:80px;font-size:11px}.result-cards{grid-template-columns:repeat(2,1fr);gap:9px}.result-cards>div{padding:13px}.result-cards strong{font-size:29px}.results-table th,.results-table td{font-size:12px;padding:7px}.results-screen{padding:5px}.modal-body{padding:17px}.class-grid{grid-template-columns:repeat(2,1fr)}.class-grid button{font-size:14px;padding:12px}.toast{font-size:13px;padding:8px 11px;bottom:22px}}

.selected-action{position:sticky;top:0;z-index:3;background:#f4f8f0;max-height:42dvh;overflow-y:auto;box-shadow:0 4px 12px #23463712}
.log-focus-label{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:12px;color:#556b62}.log-focus-label select{max-width:175px}.log-heading h2 span{font-size:11px;color:#829384;margin-left:4px}.log-context{padding:5px 0 2px;color:#7f9187;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.45px}.log-context+.log-event{border-top:1px solid #e7ece4}.log-event{width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0;min-height:0}.log-event:hover:not(:disabled){background:#f7faf6;border-color:#f0f3ec}@media(max-width:700px){.log-heading{align-items:flex-start}.log-heading>div{flex-wrap:wrap;justify-content:flex-end}.log-focus-label select{max-width:132px}}
.sequence-bar{display:flex;gap:7px;align-items:end;flex-wrap:wrap;padding:8px;border:1px solid #dce5dd;border-radius:10px;background:#fff}.sequence-bar label{min-width:145px}.sequence-progress{display:grid;grid-template-columns:repeat(3,minmax(0,auto));align-items:center;gap:6px 12px;width:100%;padding:8px 10px;border:1px solid #dce5dd;border-radius:8px;background:#f8faf8}.sequence-progress strong{grid-column:1/-1}.sequence-progress span{font-size:14px;color:#52645a}.difficulty{font-size:13px;max-width:340px}.difficulty p{margin:4px 0}.sequence-result{padding:12px 0;border-bottom:1px solid #dce5dd}@media(max-width:760px){.sequence-bar{max-height:180px;overflow:auto}.sequence-progress{grid-template-columns:1fr}.sequence-progress strong{grid-column:auto}.difficulty{display:none}}
.experiment-bar{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #bfd5b6;border-radius:10px;background:#f7faf4;min-width:0}.experiment-heading{min-width:125px}.experiment-heading strong{display:block;font-size:14px}.variant-tabs{display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0}.variant-tab{min-width:150px;max-width:225px;text-align:left;padding:7px 9px}.variant-tab.active{background:#e2efdc;border-color:#82a878}.variant-tab b,.variant-tab small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-tab b{font-size:13px}.variant-tab small{font-size:11px;color:#71806b;margin-top:3px}.variant-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.variant-actions button{font-size:12px;padding:5px 7px;min-height:28px}.experiment-table small{display:block;font-size:11px;color:#71806b;margin-top:4px}.experiment-table tr.stale{opacity:.58}.metric-note{font-size:13px;color:#687a63;line-height:1.5;margin-top:12px}.simulation-buttons input{max-width:160px;font-size:13px}.experiment-results .section-heading>div>span{display:block;font-size:13px;color:#71806b;margin-top:5px}@media(max-width:760px){.experiment-bar{align-items:stretch;flex-wrap:wrap}.experiment-heading{display:none}.variant-tabs{order:1;width:100%}.variant-actions{order:2;width:100%;justify-content:flex-start}.variant-tab{min-width:125px}.experiment-table{min-width:900px}.experiment-results{overflow:auto}.simulation-buttons input{max-width:95px}}

.analysis-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid #dce6d3;border-radius:9px;background:#fff}.analysis-controls fieldset{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0;margin:0}.analysis-controls legend{font-size:12px;color:#71806b}.analysis-controls fieldset label{display:flex;flex-direction:row;align-items:center;gap:4px}.table-scroll{overflow-x:auto}.experiment-table{min-width:1250px}.experiment-table td{vertical-align:top}.conclusion,.status-text{font-weight:650;color:#405b38}.measured-changes{margin:18px 0;padding:16px;border:1px solid #dce6d3;border-radius:9px;background:#fff}.measured-changes li{font-size:14px;line-height:1.55;margin:6px 0}.experiment-results details{margin:8px 0;background:#fff;border:1px solid #e1e8dc;border-radius:7px;padding:9px}.experiment-results details summary{cursor:pointer;font-weight:600}.character-results{min-width:1150px}.character-results small{display:block;font-size:11px;color:#71806b;margin-top:3px}@media(max-width:760px){.analysis-controls{align-items:stretch}.analysis-controls>label{flex:1;min-width:130px}.analysis-controls select{width:100%}.experiment-results .section-heading{align-items:flex-start}.experiment-results .section-heading>div:last-child{white-space:nowrap}}

/* v0.29 battlefield presentation tokens: presentation only; never read by the engine. */
.shell{--bf-bg:#213933;--bf-cell:#28453f;--bf-grid:#49645b;--bf-special:#405647;--bf-hazard:#684d36;--bf-mark:#f0d28b;--bf-select:#f2dba1;--party-token:#4f9176;--monster-token:#b77854}.theme-parchment{--bf-bg:#d8c49a;--bf-cell:#efe1bd;--bf-grid:#8c7651;--bf-special:#baa77d;--bf-hazard:#b96b45;--bf-mark:#4a321e;--bf-select:#1b65a6}.theme-slate{--bf-bg:#151c25;--bf-cell:#253140;--bf-grid:#607086;--bf-special:#3d4b5c;--bf-hazard:#8d4e54;--bf-mark:#f2d47a;--bf-select:#7dd3fc}.theme-high-contrast{--bf-bg:#000;--bf-cell:#fff;--bf-grid:#000;--bf-special:#d8d8d8;--bf-hazard:#ffdf00;--bf-mark:#000;--bf-select:#e600ff}.map-wrap{background:var(--bf-bg)}.battlefield-base{fill:var(--bf-bg)}.tile{fill:var(--bf-cell);stroke:var(--bf-grid);stroke-width:1}.tile-rubble,.tile-water,.tile-pit,.tile-half-cover,.tile-three-quarter-cover,.tile-wall{fill:var(--bf-special)}.tile-hazard{fill:var(--bf-hazard);stroke:var(--bf-mark);stroke-width:2}.terrain-symbol,.cover-symbol{fill:var(--bf-mark);text-anchor:middle;font-weight:800}.cover-symbol{font-size:17px}.terrain-wall{fill:var(--bf-mark);stroke:var(--bf-grid);stroke-width:3}.terrain-cover{fill:none;stroke:var(--bf-mark);stroke-width:3}.terrain-cover.three-quarter-cover{stroke-dasharray:3 2}.map-token.party rect.token-outline{fill:var(--party-token);stroke:#fff;stroke-width:2}.map-token.enemy rect.token-outline{fill:var(--monster-token);stroke:#fff;stroke-width:2;stroke-dasharray:4 2}.token.party{background:var(--party-token);color:#fff;border:2px solid currentColor}.token.enemy{background:var(--monster-token);color:#fff;border:2px dashed currentColor}.palette-monochrome .token.party,.palette-monochrome .map-token.party text{color:#111;fill:#111}.map-token.current rect.token-outline{stroke:var(--bf-select);stroke-width:3}.field-error,.contrast-warning{min-height:18px;color:#a13c32;font-size:14px;margin:8px 0}.token-preview{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #dce5dd;border-radius:8px}.theme-high-contrast .tile-hazard{stroke-dasharray:4 2}.theme-high-contrast .map-token rect.token-outline{stroke-width:3}@media(max-width:760px){.sequence-bar label{min-width:120px}.modal{max-width:94vw}.map-toolbar{gap:6px;flex-wrap:wrap}}

/* v0.33 manual-combat clarity: concentration, targeting, and cover legibility. */
.concentration-detail{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px;border:1px solid #88752e;border-radius:7px;background:#fff8d7;color:#544712}.concentration-detail>span{width:25px;height:25px;display:grid;place-items:center;border:2px double currentColor;border-radius:50%;font-weight:800;flex:0 0 auto}.concentration-detail i,.concentration-mini i{font-style:normal}.concentration-detail strong,.concentration-detail small{display:block}.concentration-detail small{margin-top:2px}.token{position:relative}.concentration-mini{position:absolute;right:-5px;top:-6px;width:15px;height:15px;display:grid;place-items:center;border:2px double currentColor;border-radius:50%;background:#fff8d7;color:#4b421a;font-size:10px;line-height:1;box-shadow:0 0 0 1px #fff}.concentration-line{color:#625716!important;font-weight:700!important}.map-concentration circle{fill:#fff8d7;stroke:#111;stroke-width:1.5}.map-concentration text{fill:#111!important;font-weight:900}.drop-concentration{width:100%;display:flex;justify-content:space-between;align-items:center;margin:8px 0;border-color:#9b8532;background:#fffaf0}.drop-concentration small{font-weight:400}.drop-concentration-confirm{padding:10px;margin:8px 0;border:2px solid #9b6e32;border-radius:8px;background:#fff8e8}.drop-concentration-confirm p{margin-bottom:3px}.drop-concentration-confirm>div{display:flex;gap:6px;margin-top:8px}.drop-concentration-confirm button{flex:1}.action-cost{font-size:12px;color:#66755f;margin:0 0 8px}.concentration-warning{padding:8px;margin:8px 0;border-left:4px double #9b6e32;background:#fff0cf;font-size:13px;line-height:1.4}.roster-row.target-valid{border:2px dashed #24705b}.roster-row.target-selected{border:3px double #6b4caa;background:#f0eaff}.roster-row.target-invalid{opacity:.58}.roster-row.target-invalid .actor-card{cursor:not-allowed}.map-token.target-valid rect.token-outline{stroke:#78f0c3;stroke-width:4;stroke-dasharray:5 2}.map-token.target-selected rect.token-outline{stroke:#fce3a3;stroke-width:5;stroke-dasharray:none}.map-token.target-invalid{opacity:.48}.valid-target-ring,.invalid-target-ring,.legal-target-cell{fill:none;pointer-events:none}.valid-target-ring{stroke:#78f0c3;stroke-width:3;stroke-dasharray:5 2}.invalid-target-ring{stroke:#d7d7d7;stroke-width:2;stroke-dasharray:2 3;opacity:.62}.legal-target-cell{stroke:#78f0c3;stroke-width:2;stroke-dasharray:5 3;fill:#78f0c3;fill-opacity:.08}.cover-symbol{font-family:ui-sans-serif,"Segoe UI Symbol",sans-serif;font-size:16px;font-weight:900;paint-order:stroke;stroke:var(--bf-bg);stroke-width:2px;stroke-linejoin:round}.theme-high-contrast .cover-symbol{stroke:#fff;stroke-width:3px}.terrain-cover.half-cover{stroke-width:4}
/* v0.35 flight and vertical-positioning controls. */ .vertical-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0;padding:9px;border:1px solid #dce5dd;border-radius:8px;background:#f8faf7}.vertical-summary div{min-width:0}.vertical-summary dt{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#718378}.vertical-summary dd{margin:2px 0 0;font-size:13px;font-weight:700}.flight-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}.flight-controls button{font-size:12px;min-height:31px;padding:5px}.altitude-badge,.stack-badge{font-size:9px;paint-order:stroke;stroke:#10211d;stroke-width:2.5px;stroke-linejoin:round;pointer-events:none}.altitude-badge{text-anchor:end!important;fill:#fffbd1!important}.stack-badge{text-anchor:start!important;fill:#fff!important}.theme-high-contrast .altitude-badge,.theme-high-contrast .stack-badge{fill:#000!important;stroke:#fff;stroke-width:3px}.movement-fields label{min-width:0}@media(max-width:760px){.vertical-summary{grid-template-columns:1fr 1fr}.flight-controls button{min-height:38px}.altitude-badge,.stack-badge{font-size:10px}}

/* v0.44: brand name and simplified flight controls */
.brand-name{line-height:1.1}
.brand-name small{display:block;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;opacity:.7}
.flight-line{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.flight-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e3eefb;color:#1d4f8f;font-weight:600;font-size:13px}
.flight-speed{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2ef;color:#4f6158;font-size:13px}
.roster-row small.flight-badge{margin:2px 0;width:max-content}
.flight-setup{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:8px 0}
.flight-setup .check{display:flex;align-items:center;gap:6px;font-weight:600}
.flight-setup .check input{width:auto;margin:0}

.altitude-pill rect{fill:#1d4f8f;stroke:#ffffff;stroke-width:1}
.altitude-pill text{fill:#ffffff;font-size:11px;font-weight:700;text-anchor:end}
.study-edit-note{margin:8px 0 0;padding:8px 12px;border-radius:8px;background:#ecebf8;color:#3b2f8f;font-size:.9rem}
/* v0.51 maps and setups */
.maps-modal section{margin-bottom:18px}
.maps-modal h3{margin:0 0 6px}
.maps-modal .hint{font-size:.86rem;opacity:.8;margin:4px 0 8px}
.maps-modal .lib-save{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:8px 0}
.maps-modal .lib-save label{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-size:.84rem}
.maps-modal .lib-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px;max-height:260px;overflow:auto}
.maps-modal .lib-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(127,127,127,.25);border-radius:10px}
.maps-modal .lib-list li small{display:block;opacity:.75;font-size:.8rem}
.maps-modal .lib-actions{display:flex;gap:6px;flex-shrink:0}
.maps-modal .lib-files{display:flex;gap:8px;flex-wrap:wrap}
.map-toolbar #map-pick{max-width:12rem}
/* v0.52: helped / hindered halos, last area cast */
.map-token .aura{fill:none;stroke-width:3.5;pointer-events:none}
.map-token .aura-buff{stroke:#2fbf71;filter:drop-shadow(0 0 3px rgba(47,191,113,.9))}
.map-token .aura-debuff{stroke:#e0473c;filter:drop-shadow(0 0 3px rgba(224,71,60,.9))}
.cast-area .cast-cell{fill:rgba(255,166,0,.28);stroke:rgba(255,140,0,.85);stroke-width:1.2;stroke-dasharray:4 3}
.cast-label{color:#b25f00;margin-right:8px}
.inspect-body .inspect-h{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;opacity:.75}
.inspect-body .inspect-list{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.inspect-body .inspect-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;padding:5px 8px;border:1px solid #e1e9e3;border-radius:7px;background:#fff}
.inspect-body .inspect-list.abil li{flex-direction:column;align-items:flex-start;gap:0}
.inspect-body .inspect-list li small{opacity:.7;font-size:.78rem}
.inspect-body .inspect-list li.off{opacity:.55}
.inspect-body .aura-line{margin:6px 0;font-size:.88rem}
.inspect-body .aura-line.buff b{color:#1f8a52}.inspect-body .aura-line.debuff b{color:#c23a30}
/* v0.52 plain decision view */
.inspector.plain header h3{margin:0 0 6px}
.inspector.plain .did{font-size:1rem;margin:4px 0}
.inspector.plain .because{margin:4px 0}
.inspector.plain .note{background:#fff6e6;border:1px solid #f0d9a8;border-radius:8px;padding:8px 10px;font-size:.88rem}
.inspector.plain .muted{opacity:.72;font-size:.85rem}
.inspector.plain table.options{width:100%;border-collapse:collapse;margin-top:8px}
.inspector.plain table.options th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;text-align:left;opacity:.7;padding:4px 6px}
.inspector.plain table.options td{border-top:1px solid #e3ebe5;padding:7px 6px;vertical-align:top}
.inspector.plain table.options tr.chosen td{background:#eef8f1}
.inspector.plain .opt{font-weight:600}
.inspector.plain .pick{font-size:.72rem;background:#24705b;color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;font-weight:600}
.inspector.plain .chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.inspector.plain .why-chip{font-size:.74rem;border-radius:999px;padding:1px 7px;border:1px solid #d7e2da}
.inspector.plain .why-chip.up{background:#eaf6ee;color:#1f6a45}.inspector.plain .why-chip.down{background:#fbeceb;color:#9b2f28}
.inspector.plain td.w{width:90px;text-align:right}
.inspector.plain .wbar{height:4px;background:#e6ede8;border-radius:3px;margin-top:4px;overflow:hidden}.inspector.plain .wbar i{display:block;height:100%;background:#24705b}
.inspector.plain dl.parts{display:grid;grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);gap:4px 12px;font-size:.85rem;margin:8px 0 0}.inspector.plain dl.parts dt{color:var(--muted,#6b7280);margin:0;word-break:normal;overflow-wrap:normal}.inspector.plain dl.parts dd{margin:0;min-width:0;overflow-wrap:anywhere;text-align:left}.inspector.plain dl.parts dt.wide,.inspector.plain dl.parts dd.wide{grid-column:1/-1}.inspector.plain dl.parts dd.wide{margin-bottom:2px;font-family:ui-monospace,Consolas,monospace;font-size:.8rem}
/* v0.59: drops (pits, ravines) read as a dark gap, not as floor or water. */
.tile.tile-pit{fill:#0d1715}.theme-parchment .tile.tile-pit{fill:#5a4a33}.theme-high-contrast .tile.tile-pit{fill:#333}.terrain-symbol.pit-depth{font-size:12px;font-weight:700;opacity:.85}
.wall-height{font-size:11px;font-weight:800;text-anchor:middle;fill:var(--bf-bg)}
/* v0.60: footprint previews while dragging or choosing where to move. */
.footprint{fill-opacity:.22;stroke-width:3}.footprint.legal{fill:#7fd6a4;stroke:#9ff0be}.footprint.illegal{fill:#e0705f;stroke:#ff9a88;stroke-dasharray:6 4}.footprint-origin{fill:none;stroke:#f2dba1;stroke-width:2;stroke-dasharray:4 4;opacity:.8}
/* v0.60.1: buff/debuff letters in the combatant list (hover for the effect, time left and source). */
.effect-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.effect-chip{width:17px;height:17px;border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:800;color:#fff;cursor:help}.effect-chip.buff{background:#2a8f58;box-shadow:0 0 0 2px #2fbf7155,0 0 4px rgba(47,191,113,.9)}.effect-chip.debuff{background:#b8402f;box-shadow:0 0 0 2px #e0473c55,0 0 4px rgba(224,71,60,.9)}

/* v0.63 fight screen: combat log (or an AI decision) on the right, the acting creature's panel under the map */
.workspace.battle-layout{grid-template-columns:218px minmax(0,1fr) minmax(320px,380px)}
@media(min-width:1600px){.workspace.battle-layout{grid-template-columns:240px minmax(0,1fr) 420px}}
@media(max-width:1150px){.workspace.battle-layout{grid-template-columns:176px minmax(0,1fr) 300px}}
.battle-layout .map-column{flex:1 1 auto;min-height:220px}
.battle-layout .under-map{flex:0 0 auto;height:clamp(220px,31vh,400px);min-height:0;border:1px solid #dce5dd;background:#fff;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.battle-layout .under-map>.panel-title{min-height:38px;padding:7px 14px}
.battle-layout .under-map .inspect-body{overflow:auto;columns:3 250px;column-gap:24px;padding:12px 16px}
.battle-layout .under-map .inspect-body>*{break-inside:avoid}
.battle-layout .log-column{min-height:0;display:flex;flex-direction:column}
.battle-layout .log-column .combat-log-panel{flex:1;height:auto;max-height:none;min-height:0}
.battle-layout .log-column .log-event{font-size:14px}
.battle-layout .log-column .log-heading>div{flex-wrap:wrap;justify-content:flex-end}
.turn-panel{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(240px,320px);height:100%;min-height:0}
.turn-panel .tp-col{min-height:0;overflow:auto;padding:12px 14px;scrollbar-width:thin}
.turn-panel .tp-who{border-right:1px solid #e6ece7}
.turn-panel .tp-selected{border-left:1px solid #e6ece7;background:#fafbf8}
.turn-panel .tp-selected .selected-action{position:static;max-height:none;margin:0;box-shadow:none}
.turn-panel .tp-empty{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#62756a;line-height:1.5}
.turn-panel .tp-empty b{color:#233b3a}
.tp-tabs{display:inline-flex;border:1px solid #cfdcd3;border-radius:8px;overflow-x:auto;margin-bottom:8px;max-width:100%}
.tp-tabs button{border:0;border-radius:0;min-height:30px;padding:5px 9px;font-size:13px;white-space:nowrap;background:#fff;color:#4c6156}
.tp-tabs button+button{border-left:1px solid #e1e9e3}
.tp-tabs button.active{background:#245b45;color:#fff}
.ability-table{display:grid;gap:3px}
.ability-table .ar-head,.ability-table .ability-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1.15fr) minmax(52px,.5fr) minmax(64px,.75fr);gap:8px;align-items:center}
.ability-table .ar-head{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:#7a8a7d;padding:0 10px 2px}
.ability-table .ability-row{text-align:left;min-height:34px;padding:6px 10px;font-size:14px;font-weight:500}
.ability-table .ability-row .ar-name{font-weight:600;overflow-wrap:anywhere}
.ability-table .ability-row .ar-name small{display:block;font-weight:400;font-size:12px;color:#8b5a4a;margin-top:2px}
.ability-table .ability-row .ar-uses,.ability-table .ability-row .ar-level,.ability-table .ability-row .ar-range{font-size:13px;color:#5c6f63;font-weight:400}
.ability-table .ability-row.unavailable:not(.armed){opacity:.55}
@media(max-width:760px){
 .workspace>.log-column{display:none;height:100%;width:100%}
 .workspace.battle-layout.mobile-log>.log-column{display:flex}
 .workspace.battle-layout.mobile-actions>.center-column{display:flex}
 .workspace.battle-layout.mobile-actions .map-column{display:none}
 .workspace.battle-layout.mobile-actions .under-map{flex:1;height:auto}
 .workspace.battle-layout.mobile-map .under-map{display:none}
 .turn-panel{grid-template-columns:1fr;height:auto}
 .turn-panel .tp-col{overflow:visible}
 .battle-layout .under-map{overflow:auto}
}
/* v0.63 AI decision panel (in the log column) */
.decision-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff;border:1px solid #dce5dd;border-radius:10px;overflow:hidden}
.decision-panel .dp-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 8px;padding:8px 10px;border-bottom:1px solid #e3eae4;background:#fff}
.decision-panel .dp-head h2{font-size:15px;margin:0}
.decision-panel .dp-back{min-height:30px;padding:4px 9px;font-size:13px}
.decision-panel .dp-nav{grid-column:1/-1;display:flex;gap:5px}
.decision-panel .dp-nav select{flex:1;min-height:30px;font-size:13px;padding:4px 6px;min-width:0}
.decision-panel .dp-nav button{min-height:30px;width:32px;padding:0;font-size:18px}
.decision-panel .dp-body{flex:1;min-height:0;overflow:auto;padding:10px;font-size:14px;scrollbar-width:thin}

.battle-layout .log-column .ai-why{display:none}
.battle-layout .log-column .log-event .decision-link{display:inline-block;justify-self:end;align-self:start;text-decoration:none;font-size:12px;font-weight:600;color:#3b2f8f;background:#f3f2fb;border:1px solid #c9c4ea;border-radius:999px;padding:1px 8px;white-space:nowrap}
.inspector .dp-cmp th{white-space:nowrap}
/* v0.67: larger text; keep the turn panel readable when the area under the map is narrow */
.battle-layout .under-map{container-type:inline-size}
.turn-panel .tp-abilities{container-type:inline-size}
@container (max-width:900px){.turn-panel{grid-template-columns:minmax(150px,185px) minmax(0,1fr) minmax(180px,240px)}.turn-panel .tp-col{padding:10px}}
@container (max-width:380px){.ability-table .ar-head,.ability-table .ability-row{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) minmax(58px,.7fr)}.ability-table .ar-level{display:none}}
@container (max-width:250px){.ability-table .ar-head,.ability-table .ability-row{grid-template-columns:minmax(0,1fr) auto}.ability-table .ar-uses{display:none}}
@container (max-width:900px){.turn-panel .stat-grid strong{font-size:19px;white-space:nowrap}.turn-panel .stat-grid strong small{font-size:10px}}
@media(max-width:760px){.brand .brand-name{display:none}nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}nav button{padding:6px 7px}}
/* v0.76: the wall-height / drop-depth menu sits in a fixed slot, so the menus after it don't move when it appears. */
.map-toolbar .paint-extra{display:inline-flex;flex:none;width:12.5rem}.map-toolbar .paint-extra select{width:100%}
.map-toolbar{flex-wrap:wrap;row-gap:6px;column-gap:6px;justify-content:flex-start}.map-toolbar>h2{margin-right:auto}.map-toolbar>select,.map-toolbar>label,.map-toolbar>button{flex:none}
.map-toolbar .map-study{font-size:13px;white-space:nowrap}
@media (max-width:700px){.map-toolbar .paint-extra{width:min(12.5rem,100%)}}
.check-with-help{grid-column:1/-1;display:flex;flex-direction:column;gap:2px}.check-with-help .empty-small{padding:2px 0 0 24px}
/* v0.76: ability score boxes show the score the character has (base + background + ASIs), its modifier, and any magic item override. */
.score-inputs .score-box{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;border:1px solid #dce6df;border-radius:9px;background:#fbfcfb;text-align:center;min-width:0}
.score-box .score-name{font-size:12px;font-weight:700;letter-spacing:.6px;color:#6f8379}
.score-box .score-final{font-size:26px;line-height:1.1;color:#233b3a}
.score-box .score-mod{font-size:14px;font-weight:600;color:#55705f}
.score-box .item-score{font-size:.8em;color:#7b4fa0;font-weight:700;cursor:help;border-bottom:1px dotted currentColor}
.score-box .score-base{flex-direction:row;align-items:center;gap:6px;font-size:12px;margin-top:4px}
.score-box .score-base input{width:58px;font-size:15px;padding:4px;text-align:center;min-height:30px}
.score-box .score-parts{font-size:11.5px;color:#7a8b82;line-height:1.3;margin-top:2px}
.prep-limits{margin:0 15px 8px;font-size:13px;color:#56695f}.prep-limits.over{color:#a34a42}

/* v0.39 playback is cosmetic and separate from aiming and persistent battlefield overlays. */
.playback-speed-label{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;white-space:nowrap}.playback-speed-label select{min-height:36px;border:1px solid #9cac9c;border-radius:6px;background:#fff;padding:4px}.fight-buttons{flex-wrap:wrap}.active-caption{font-weight:700}.map-token.playback-actor .token-outline{stroke:#fff;stroke-width:4;stroke-dasharray:5 2}.map-token.playback-destination{opacity:.2}.playback-ghost{opacity:.88;filter:drop-shadow(0 2px 3px #172a22)}.playback-target{fill:none;stroke:#111;stroke-width:3;stroke-dasharray:5 2}.playback-feedback{fill:#fff;stroke:#16231f;stroke-width:3px;paint-order:stroke;stroke-linejoin:round;font-size:13px;font-weight:800;pointer-events:none}.theme-high-contrast .playback-target{stroke:#fff;stroke-width:5;stroke-dasharray:4 3}.theme-high-contrast .playback-feedback{stroke:#000;stroke-width:4px}@media(max-width:760px){.playback-speed-label{flex:1 1 100%;justify-content:space-between}.playback-feedback{font-size:14px}}@media(prefers-reduced-motion:reduce){.playback-ghost,.map-token.playback-actor,.playback-target,.playback-feedback{animation:none!important;transition:none!important}}

.results-redesign{display:grid;gap:1rem;margin:1.2rem 0;padding:1rem;border:1px solid var(--border,#6b7180);border-radius:.75rem;min-width:0}.results-redesign h2,.result-comparison h3{margin:.3rem 0}.result-comparison{padding:1rem;border:1px solid var(--border,#6b7180);border-radius:.6rem;min-width:0}.results-redesign .result-cards,.single-summary .result-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:.65rem}.results-redesign .result-cards>div,.single-summary .result-cards>div{min-width:0}.result-detail{min-width:0;margin:.5rem 0;padding:.6rem;border:1px solid var(--border,#6b7180);border-radius:.5rem}.result-detail summary{cursor:pointer;min-height:2.5rem;display:list-item;align-content:center;font-weight:600}.result-detail .results-table{margin:.6rem 0}.result-configuration{display:grid;grid-template-columns:minmax(7rem,auto) minmax(0,1fr);gap:.4rem 1rem;overflow-wrap:anywhere}.result-configuration dt{font-weight:600}.result-configuration dd{margin:0}.result-bars{display:grid;gap:.25rem;max-width:45rem}.result-bar-row{display:grid;grid-template-columns:minmax(6rem,auto) minmax(3rem,1fr) 3rem;gap:.5rem;align-items:center}.result-bar-track{height:.65rem;background:rgba(127,127,127,.2);border-radius:.3rem}.result-bar-track>span{display:block;height:100%;background:currentColor;opacity:.65;border-radius:.3rem}.result-data-table{max-width:45rem}.results-redesign .table-scroll,.result-detail{overflow-x:auto}.results-redesign .results-table th,.results-redesign .results-table td{white-space:normal;min-width:5rem}.results-redesign select{min-height:2.5rem}@media(max-width:600px){.results-redesign{padding:.65rem}.result-comparison{padding:.6rem}.result-configuration{grid-template-columns:1fr}.result-configuration dt{margin-top:.35rem}.result-bar-row{grid-template-columns:minmax(5rem,auto) minmax(2rem,1fr) 2rem;font-size:.82rem}.results-redesign .table-scroll{max-width:100%}}

/* v0.41 inspector: text-first, keyboard-accessible and bounded. */
.inspector{display:grid;gap:.9rem;min-width:0;overflow-wrap:anywhere}.inspector header,.inspector>section,.inspector>details{padding:.7rem;border:1px solid #d9e3dc;border-radius:.5rem}.inspector h3{font-size:1rem;margin:0 0 .35rem}.inspector h4{font-size:.82rem;margin:.5rem 0;text-transform:none;letter-spacing:0}.inspector p{line-height:1.5;margin:.3rem 0}.inspector ul{padding-left:1.4rem}.inspector li{margin:.3rem 0}.inspector details{margin:.4rem 0;padding:.45rem .6rem;border:1px solid #d9e3dc;border-radius:.4rem}.inspector summary{cursor:pointer;min-height:2.5rem;align-content:center;font-weight:600}.inspector .inspector-group{margin:.55rem 0}.inspector-breakdown{display:grid;gap:.4rem}.inspector-breakdown dl,.inspector>details dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem}.inspector-breakdown dt,.inspector>details dt{overflow-wrap:anywhere}.inspector-breakdown dd,.inspector>details dd{margin:0;font-variant-numeric:tabular-nums}.inspector-why-not{border-left:3px solid currentColor;padding-left:.65rem;opacity:.85}.ai-why{display:block;font-size:.76rem;line-height:1.35;opacity:.85;margin-top:.15rem;text-align:left}.decision-link{display:block;font-size:.7rem;text-decoration:underline}.inspector-navigation{margin-bottom:.65rem}.inspector-navigation select{width:100%}.paired-inspection{margin:.7rem 0;padding:.75rem;border:1px solid #d9e3dc;border-radius:.5rem}.paired-inspection .paired-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.5rem}.paired-inspection article{border:1px solid #d9e3dc;border-radius:.4rem;padding:.6rem;min-width:0}.paired-inspection .pair-row{margin:.5rem 0}.paired-inspection select,.paired-inspection input{max-width:14rem}.paired-inspection label{margin:.4rem 0}@media(max-width:650px){.inspector header,.inspector>section,.inspector>details{padding:.5rem}.inspector-breakdown dl,.inspector>details dl{grid-template-columns:1fr}.inspector-breakdown dd,.inspector>details dd{padding-bottom:.35rem}}
/* v0.63: decision details: the turn as steps, options by part of the turn, parts that add up, grouped skips */
.inspector .dp-plan{list-style:none;margin:.3rem 0 .5rem;padding:0;display:grid;gap:4px}
.inspector .dp-step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;width:100%;text-align:left;padding:6px 9px;min-height:auto;font-weight:500;border-color:#dce5dd}
.inspector .dp-step.on{border-color:#6b5fc7;background:#f3f1fc;box-shadow:inset 3px 0 #4a3aa7}
.inspector .dp-slot{grid-column:1/-1;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#4a3aa7;font-weight:700}
.inspector .dp-what{font-size:.82rem}
.inspector .dp-worth{font-variant-numeric:tabular-nums;font-size:.8rem}
.inspector .note{padding:.45rem .6rem;border-radius:.4rem;background:#fff6dd;color:#5d4800;font-size:.8rem}
.inspector .muted{color:#617068;font-size:.8rem}
.inspector .dp-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:.4rem 0}
.inspector .dp-tabs button{min-height:28px;padding:3px 10px;font-size:.78rem;border-radius:999px}
.inspector .dp-tabs button.on{background:#245b45;color:#fff;border-color:#245b45}
.inspector .dp-tabs small{opacity:.75;font-weight:400}
.inspector .dp-options{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.inspector .dp-options>li{border:1px solid #e3eae4;border-radius:.45rem;overflow:hidden}
.inspector .dp-options>li.chosen{border-color:#9cc8ab;background:#f3faf5}
.inspector .dp-opt{display:grid;grid-template-columns:18px minmax(0,1fr) 54px 34px;gap:8px;align-items:center;width:100%;border:0;border-radius:0;background:transparent;text-align:left;padding:7px 9px;min-height:auto;font-weight:500;font-size:.82rem}
.inspector .dp-rank{color:#7b8a80;font-size:.75rem}
.inspector .dp-bar{height:6px;background:#e9eeea;border-radius:3px;overflow:hidden}.inspector .dp-bar i{display:block;height:100%;background:#7f9a8a}
.inspector li.chosen .dp-bar i{background:#24705b}
.inspector .dp-opt .dp-worth{text-align:right;font-variant-numeric:tabular-nums}
.inspector .pick{font-size:.68rem;background:#24705b;color:#fff;border-radius:999px;padding:1px 6px;font-weight:700;margin-left:4px}
.inspector .dp-parts{padding:.2rem .7rem .6rem 2.1rem}
.inspector .dp-parts dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .7rem;margin:.3rem 0}
.inspector .dp-parts dt small{display:block;color:#7b8a80;font-size:.72rem;font-weight:400}
.inspector .dp-parts dd{margin:0;display:flex;align-items:center;gap:6px;justify-content:flex-end;font-variant-numeric:tabular-nums;font-weight:600}
.inspector .dp-parts dd.pos{color:#1d6b3c}.inspector .dp-parts dd.neg{color:#9b2c2c}
.inspector .dp-pbar{width:46px;height:6px;background:#eef1ee;border-radius:3px;overflow:hidden;display:inline-block}.inspector .dp-pbar i{display:block;height:100%}
.inspector .dp-parts dd.pos .dp-pbar i{background:#8fcca3}.inspector .dp-parts dd.neg .dp-pbar i{background:#e7a3a3}
.inspector .dp-parts .total{border-top:1px solid #cfd9d2;padding-top:.3rem;font-weight:700;color:#233b3a}
.inspector .dp-cmp{width:100%;border-collapse:collapse;font-size:.8rem}
.inspector .dp-cmp th,.inspector .dp-cmp td{padding:4px 6px;border-bottom:1px solid #edf1ee;text-align:right}
.inspector .dp-cmp th:first-child,.inspector .dp-cmp td:first-child{text-align:left}
.inspector .dp-cmp tr.total td{font-weight:700;border-top:1px solid #cfd9d2}
.inspector .dp-rej{list-style:none;padding:0;margin:.2rem 0 .5rem}
.inspector .dp-rej li{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.6fr);gap:8px;font-size:.8rem;padding:4px 0;border-bottom:1px solid #f0f3f0}
.inspector .dp-rej span{color:#46564d}
/* v0.65: one line for options ruled out because an earlier step used that part of the turn */
.inspector .dp-spent{margin:.35rem 0 .5rem;padding:.5rem .6rem;background:#f3f6f3;border-radius:.4rem;font-size:.85rem;color:#33443b}
.inspector .dp-spent .link{background:none;border:0;padding:0;margin-left:.25rem;color:#1f6b4a;text-decoration:underline;font:inherit;cursor:pointer}

/* Study results page (v0.45). Scoped to .study-results; light theme to match the app. */
.study-screen{flex:1;min-height:0;overflow:auto;padding:0 0 48px}
.study-results{
  --sbg:#f4f5f7;--ssurf:#ffffff;--ssurf2:#f8f9fb;--sink:#12141a;--sink2:#4b5261;--sline:#e2e5ea;--sline2:#cbd0d8;
  --saccent:#3b2f8f;--saccent-soft:#ecebf8;--son:#ffffff;--sgood:#0b6b2e;--sgood-soft:#e5f3e9;--sneutral:#eef0f3;--swarn:#8a5a00;--swarn-soft:#fdf3dc;
  --sgrid:#eceef2;--saxis:#c9ced6;--stip:#12141a;--stip-ink:#ffffff;
  --sv1:#2a78d6;--sv2:#eb6834;--sv3:#1baf7a;--sv4:#eda100;--sv5:#e87ba4;--sv6:#008300;--sv7:#4a3aa7;--sv8:#e34948;
  --sdisplay:"Familjen Grotesk","IBM Plex Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --sbody:"IBM Plex Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --smono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:var(--sbg);color:var(--sink);font-family:var(--sbody);font-size:19px;line-height:1.5;
  max-width:1180px;margin:0 auto;padding-inline:24px;padding-block:8px 32px;box-sizing:border-box}
.study-results *{box-sizing:border-box}
@media(max-width:600px){.study-results{padding-inline:16px}}
.study-results h1,.study-results h2,.study-results h3{font-family:var(--sdisplay);text-wrap:balance;margin:0;letter-spacing:-.01em;color:var(--sink)}
.study-results h2{font-size:1.35rem;font-weight:600}
.study-results .num{font-variant-numeric:tabular-nums}
.study-results .eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sink2);font-weight:600;font-family:var(--sbody)}
.study-results button{font:inherit;color:inherit}
.study-results :focus-visible{outline:2px solid var(--saccent);outline-offset:2px}
.sv-study{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;padding-block:24px 20px}
@media(max-width:820px){.sv-study{grid-template-columns:1fr}}
.sv-study h1{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:700;line-height:1.05;margin-top:8px}
.sv-study h1 .vs{color:var(--sink2);font-weight:500}
.study-results .question{color:var(--sink2);font-size:1.05rem;margin:10px 0 0;max-width:62ch}
.study-results .meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font-size:.88rem;color:var(--sink2)}
.study-results .legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.study-results .chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:var(--ssurf);border:1px solid var(--sline);font-size:.9rem;font-weight:500}
.study-results .sw{width:12px;height:12px;border-radius:3px;flex:none;display:inline-block}
.study-results .chip .lvl{color:var(--sink2);font-weight:400;font-size:.8rem}
.sv-controls{display:flex;gap:8px;flex-wrap:wrap}
.study-results .seg{display:inline-flex;border:1px solid var(--sline2);border-radius:10px;overflow:hidden;background:var(--ssurf)}
.study-results .seg button{border:0;background:transparent;padding:7px 14px;cursor:pointer;font-size:.88rem;color:var(--sink2);min-height:auto}
.study-results .seg button+button{border-left:1px solid var(--sline2)}
.study-results .seg button[aria-pressed="true"]{background:var(--saccent);color:var(--son);font-weight:600}
.study-results .panel{background:var(--ssurf);border:1px solid var(--sline);border-radius:14px;padding:24px}
@media(max-width:600px){.study-results .panel{padding:18px}}
.study-results .section{margin-top:20px}
.study-results .panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.study-results .panel-head p{margin:4px 0 0;color:var(--sink2);font-size:.9rem;max-width:70ch}
.sv-problems{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:var(--swarn-soft);color:var(--swarn);border:1px solid #f0d9a4;font-size:.92rem}
.study-results .verdict{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:28px;margin-top:14px}
@media(max-width:900px){.study-results .verdict{grid-template-columns:1fr}}
.study-results .headline{font-family:var(--sdisplay);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;line-height:1.15}
.study-results .headline-sub{color:var(--sink2);margin-top:10px}
.study-results .bigwin{display:flex;gap:18px;margin-top:22px;flex-wrap:wrap}
.study-results .bigwin .cell{min-width:120px}
.study-results .bigwin .v{font-family:var(--sdisplay);font-size:2.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.study-results .bigwin .l{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--sink2);margin-top:6px}
.study-results .findings{list-style:none;margin:0;padding:0;display:grid}
.study-results .findings li{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--sline)}
.study-results .findings li:first-child{border-top:0;padding-top:0}
.study-results .findings b{font-weight:600}
.study-results .tag{font-size:.74rem;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}
.study-results .tag.clear{background:var(--sgood-soft);color:var(--sgood)}
.study-results .tag.close,.study-results .tag.small{background:var(--sneutral);color:var(--sink2)}
.study-results .tag.note{background:var(--saccent-soft);color:var(--saccent)}
.study-results .tablewrap{overflow-x:auto}
.study-results .sv-table{border-collapse:collapse;width:100%;font-size:.93rem;background:transparent}
.study-results .sv-table th,.study-results .sv-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--sline);vertical-align:middle;background:transparent}
.study-results .sv-table thead th{font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--sink2);font-weight:600;border-bottom:1px solid var(--sline2)}
.study-results .sv-table tbody tr:last-child td{border-bottom:0}
.study-results .th-var{display:inline-flex;align-items:center;gap:6px}
.study-results .metric-name{font-weight:500}
.study-results .metric-name small{display:block;color:var(--sink2);font-weight:400;font-size:.8rem}
.study-results .valcell{min-width:140px}
.study-results .valcell .val{font-weight:600;font-variant-numeric:tabular-nums}
.study-results .valcell .best{font-size:.7rem;font-weight:600;color:var(--sgood);margin-left:6px;letter-spacing:.04em;text-transform:uppercase}
.study-results .minibar{height:6px;background:var(--sgrid);border-radius:3px;margin-top:6px;overflow:hidden}
.study-results .minibar i{display:block;height:100%;border-radius:3px}
.study-results .diff{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.study-results .diff small{display:block;font-weight:400;color:var(--sink2);font-size:.78rem}
.study-results .stage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px}
.study-results .scell{background:var(--ssurf2);border:1px solid var(--sline);border-radius:10px;padding:12px;display:grid;gap:7px}
.study-results .scell-h{font-family:var(--sdisplay);font-weight:600;font-size:.95rem}
.study-results .scell-h small{display:block;font-family:var(--sbody);font-weight:400;font-size:.78rem;color:var(--sink2)}
.study-results .srow{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:.84rem}
.study-results .srow .track{height:8px;background:var(--sgrid);border-radius:4px;overflow:hidden}
.study-results .srow .track i{display:block;height:100%;border-radius:4px}
.study-results .srow .v{font-variant-numeric:tabular-nums;font-weight:600;min-width:3.4em;text-align:right}
.study-results .pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:900px){.study-results .pair{grid-template-columns:1fr}}
.study-results .chart svg{width:100%;height:auto;display:block;overflow:visible}
.study-results .chart text{font-family:var(--sbody);font-size:14px;fill:var(--sink2)}
.study-results .chart .gl{stroke:var(--sgrid);stroke-width:1}
.study-results .chart .ax{stroke:var(--saxis);stroke-width:1}
.study-results .chart .hit{fill:transparent;cursor:crosshair}
.study-results .legend-inline{display:flex;gap:14px;flex-wrap:wrap;font-size:.82rem;color:var(--sink2);margin-bottom:8px}
.study-results .legend-inline span{display:inline-flex;align-items:center;gap:6px}
.study-results .legend-inline .right{margin-left:auto}
.study-results .sv-tip{position:fixed;pointer-events:none;background:var(--stip);color:var(--stip-ink);font-size:.8rem;padding:8px 10px;border-radius:8px;max-width:260px;z-index:50;box-shadow:0 6px 20px rgba(0,0,0,.18)}
.study-results .sv-tip b{display:block;margin-bottom:2px}
.study-results .spots{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.study-results .spot{border:1px solid var(--sline);border-radius:12px;padding:18px;background:var(--ssurf2)}
.study-results .spot-h{display:flex;align-items:center;gap:8px;font-family:var(--sdisplay);font-weight:600;font-size:1.05rem;flex-wrap:wrap}
.study-results .spot-h .lvl{font-family:var(--sbody);font-weight:400;font-size:.8rem;color:var(--sink2)}
.study-results .castrate{display:flex;align-items:baseline;gap:8px;margin-top:12px}
.study-results .castrate .v{font-family:var(--sdisplay);font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.study-results .castrate .l{color:var(--sink2);font-size:.85rem}
.study-results .spot dl{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:14px 0 0;font-size:.88rem}
.study-results .spot dt{color:var(--sink2)}
.study-results .spot dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.study-results .repro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}
@media(max-width:860px){.study-results .repro{grid-template-columns:1fr}}
.study-results .kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.88rem;margin:0}
.study-results .kv dt{color:var(--sink2)}
.study-results .kv dd{margin:0;font-family:var(--smono);font-size:.84rem;word-break:break-all}
.study-results .actions{display:flex;flex-wrap:wrap;gap:10px}
.study-results .btn{border:1px solid var(--sline2);background:var(--ssurf);border-radius:10px;padding:9px 14px;cursor:pointer;font-weight:500;font-size:.9rem;color:var(--sink);min-height:auto}
.study-results .btn:hover{background:var(--ssurf2)}
.study-results .btn.primary{background:var(--saccent);border-color:var(--saccent);color:var(--son)}
.study-results .btn.primary:hover{filter:brightness(1.08)}
.study-results .btn:disabled{opacity:.55;cursor:default}
.study-results .verify{margin-top:14px;border:1px solid var(--sline);border-radius:10px;padding:14px;background:var(--ssurf2);font-size:.9rem}
.study-results .progress{height:8px;background:var(--sgrid);border-radius:4px;overflow:hidden;margin-top:8px}
.study-results .progress i{display:block;height:100%;background:var(--saccent);border-radius:4px}
.study-results .watch{margin-top:18px;display:grid;gap:8px}
.study-results .watch-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.study-results .watch select,.study-results .watch input{border:1px solid var(--sline2);border-radius:10px;padding:8px 10px;background:var(--ssurf);font:inherit;font-size:.9rem;min-height:auto;width:auto}
.study-results .fight-no{display:inline-flex;flex-direction:row;margin:0;align-items:center;gap:8px;font-size:.9rem;color:var(--sink2)}
.study-results .fight-no input{width:6.5em}
.study-results .foot-note{color:var(--sink2);font-size:.82rem;margin-top:24px;max-width:80ch}
.study-results details.classic{margin-top:20px}
.study-results details.classic>summary{cursor:pointer;color:var(--sink2);font-size:.9rem}
.variant-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:baseline}
/* v0.46: benchmark fight grid and AI check */
.study-results .sv-scen td.valcell .sub{display:block;color:var(--sink2);font-size:.78rem;margin-top:1px}
.study-results .aicheck{display:grid;grid-template-columns:minmax(160px,auto) 1fr;gap:28px;align-items:start}
@media(max-width:700px){.study-results .aicheck{grid-template-columns:1fr}}
.study-results .aicheck .v{font-family:var(--sdisplay);font-size:2.6rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.study-results .aicheck .l{font-size:.85rem;color:var(--sink2);margin:6px 0 10px}
.study-results .flaglist{list-style:none;margin:0;padding:0;display:grid}
.study-results .flaglist li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--sline);font-size:.92rem}
.study-results .flaglist li:last-child{border-bottom:0}
.study-results .flaglist b{font-variant-numeric:tabular-nums}
/* v0.46: study setup */
.study-results .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bench-setup .bench-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.bench-setup .bench-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px 16px;border:1px solid var(--sline2);border-radius:12px;background:var(--ssurf);cursor:pointer;min-height:auto}
.bench-setup .bench-card small{color:var(--sink2);font-size:.84rem}
.bench-setup .bench-card:hover{background:var(--ssurf2)}
.bench-setup .bench-card[aria-pressed="true"]{border-color:var(--saccent);box-shadow:inset 0 0 0 1px var(--saccent);background:var(--saccent-soft)}
.bench-setup .bench-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 16px;margin-top:14px}
.bench-setup .bench-form label{display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--sink2);font-weight:500}
.bench-setup .bench-form select,.bench-setup .bench-form input{font:inherit;font-size:.95rem;color:var(--sink);background:var(--ssurf);border:1px solid var(--sline2);border-radius:9px;padding:8px 10px;min-height:38px}
.bench-setup .bench-modes{display:grid;gap:12px}
.bench-setup .check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.bench-setup .check input{width:18px;height:18px;margin-top:3px;accent-color:var(--saccent);flex:none}
.bench-setup .bench-modes b{display:block;color:var(--sink)}
.bench-setup .bench-modes span{color:var(--sink2);font-size:.92rem}
.bench-setup .bench-grid{border-collapse:collapse;width:100%;min-width:520px}
.bench-setup .bench-grid th,.bench-setup .bench-grid td{border-bottom:1px solid var(--sline);padding:10px 12px;text-align:left;vertical-align:middle}
.bench-setup .bench-grid thead th{font-size:.9rem}
.bench-setup .bench-grid th small{display:block;color:var(--sink2);font-weight:400;font-size:.78rem}
.bench-setup .bench-grid td{text-align:center}
.bench-setup .bench-grid td .check{justify-content:center}
.bench-setup .bench-progress-text{margin:6px 0 0;font-variant-numeric:tabular-nums}
.bench-setup .bench-sub{font-size:1rem;margin-top:22px;font-weight:600}
.bench-setup .bench-sub small{font-weight:400;color:var(--sink2);font-size:.84rem;margin-left:6px;font-family:var(--sbody)}
.bench-setup .bench-spells{margin-top:10px}
.bench-setup .bench-modes .check>span{font-weight:400}
.bench-setup .bench-members{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.bench-setup .bench-members li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--sline);border-radius:10px;background:var(--ssurf2)}
.bench-setup .bench-members small{display:block;color:var(--sink2);font-size:.8rem}
.bench-setup .bench-members .test-tag,.bench-setup .bench-members .edited-tag{display:inline;font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:999px;margin-left:4px}
.bench-setup .bench-members .test-tag{background:var(--saccent-soft);color:var(--saccent)}
.bench-setup .bench-members .edited-tag{background:var(--swarn-soft);color:var(--swarn)}
.bench-setup .bench-party-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:14px}
.bench-setup .bench-party-actions label.inline{display:flex;flex-direction:column;gap:6px;font-size:.84rem;color:var(--sink2);font-weight:500}
.bench-setup .bench-party-actions input{font:inherit;font-size:.95rem;border:1px solid var(--sline2);border-radius:9px;padding:8px 10px;min-height:38px;min-width:220px;background:var(--ssurf);color:var(--sink)}
.bench-setup .bench-diffs{margin-bottom:14px}
.bench-setup .bench-note{font-size:.86rem;color:var(--sink2);margin:8px 0 0}
/* v0.50: slice filters, clickable fight rows, watch by fight */
.study-results .sv-filter{padding-top:14px;padding-bottom:12px;margin-bottom:20px}
.study-results .sv-filter-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.study-results .sv-filter-row h2{margin:0 4px 9px 0}
.study-results .sv-filter label,.study-results .watch-bench label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--sink2);margin:0}
.study-results .sv-filter select{border:1px solid var(--sline2);border-radius:10px;padding:8px 10px;background:var(--ssurf);font:inherit;font-size:.9rem;color:inherit;min-height:auto;width:auto;max-width:100%}
.study-results .sv-filter-note{margin:10px 0 0;font-size:.86rem;color:var(--sink2)}
.study-results .watch-bench{align-items:flex-end}
.study-results .watch-bench .fight-no{flex-direction:row;align-items:center}
.study-results .watch-note{margin:8px 0 0;font-size:.8rem;color:var(--sink2)}
.study-results .rowlink{all:unset;cursor:pointer;display:block;border-radius:6px}
.study-results .rowlink:hover{color:var(--sv1)}
.study-results .rowlink:focus-visible{outline:2px solid var(--sv1);outline-offset:2px}
.study-results .rowlink small{display:block}
@media (max-width:640px){.study-results .sv-filter-row>label,.study-results .watch-bench>label{flex:1 1 44%}.study-results .sv-filter select{width:100%}}
.bench-setup .bench-setups{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:8px}
.study-results .losses{margin:14px 0}
.study-results .loss-list{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow:auto}
.study-results .loss{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sline2);border-radius:999px;padding:5px 11px;background:var(--ssurf);font:inherit;font-size:.82rem;cursor:pointer;min-height:auto}
.study-results .loss small{color:var(--sink2);margin-left:4px}
.study-results .loss:hover{border-color:var(--sv1)}

/* v0.61 History tab */
.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.history-row{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;border:1px solid var(--sline);border-radius:12px;padding:14px 16px;background:var(--ssurf)}
.history-row{cursor:pointer}.history-row.current{border-color:var(--saccent);box-shadow:inset 0 0 0 1px var(--saccent)}
.history-main{min-width:0;flex:1}
.history-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.history-title input{font:600 1.02rem var(--sdisplay);color:var(--sink);border:1px solid transparent;border-radius:8px;padding:4px 8px;margin-left:-8px;background:transparent;min-width:0;flex:1;max-width:520px}
.history-title input:hover,.history-title input:focus{border-color:var(--sline2);background:var(--ssurf2);outline:none}
.study-results .btn.small{padding:5px 10px;font-size:.8rem}
.history-meta{font-size:.84rem;color:var(--sink2);margin-top:2px;overflow-wrap:anywhere}
.history-headline{margin:8px 0 0;font-size:.92rem;color:var(--sink)}
.history-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.history-row>.history-actions{flex:0 0 auto;max-width:330px}
.study-results .btn.danger{color:#a3322b;border-color:#e3c3c0}
.study-results .btn.danger:hover{background:#fbeceb}
.history-setup{margin:12px 0 0;display:grid;gap:6px;font-size:.86rem}
.history-setup>div{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:10px}
.history-setup dt{color:var(--sink2);font-weight:600}
.history-setup dd{margin:0;overflow-wrap:anywhere}
.history-banner-wrap{padding-block:8px 0}
.history-banner{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;padding:14px 18px!important}
.history-banner .history-setup{flex-basis:100%}
.history-banner small{color:var(--sink2)}
@media(max-width:700px){.history-row{flex-direction:column}.history-row>.history-actions{max-width:none;justify-content:flex-start}.history-setup>div{grid-template-columns:1fr;gap:0}}

/* v0.63: wider results page, larger text, sticky filter bar, colour-coded "What happened", fight grid */
.study-results{max-width:1560px;font-size:20px;padding-inline:32px}
@media(max-width:600px){.study-results{padding-inline:16px}}
.study-results h2{font-size:1.45rem}
.study-results .panel-head p{font-size:.95rem}
.study-results .sv-table{font-size:.97rem}
.study-results .meta{font-size:.92rem}
.study-results .sv-sticky{position:sticky;top:0;z-index:20;margin:0 -32px 20px;padding:10px 32px 4px;background:color-mix(in srgb,var(--sbg) 94%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid var(--sline);box-shadow:0 8px 16px -14px rgba(18,20,26,.45)}
@media(max-width:600px){.study-results .sv-sticky{margin-inline:-16px;padding-inline:16px;position:static}}
.study-results .sv-sticky .sv-filter{background:transparent;border:0;padding:0;margin:0}
.study-results .sv-filter-row{align-items:flex-end}
.study-results .sv-filter select{font-size:.95rem;min-height:36px;padding-block:6px}
.study-results .sv-filter-row h2.eyebrow{align-self:center;margin:14px 6px 0 0}
.study-results .sv-filter label{font-size:.82rem;font-weight:600}
.study-results .sv-sticky-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.study-results .sv-filter-status{font-size:.88rem;color:var(--sink2);margin-left:auto;white-space:nowrap}
.study-results .sv-jump{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin;margin-left:-10px;min-width:0}
.study-results .sv-jump button{border:0;background:transparent;color:var(--saccent);font-size:.88rem;padding:6px 10px;border-radius:999px;white-space:nowrap;cursor:pointer;min-height:auto;font-weight:500}
.study-results .sv-jump button:hover{background:var(--saccent-soft)}
.study-results [id^="sv-"],.study-results section.panel{scroll-margin-top:120px}
.study-results .sv-what .verdict{grid-template-columns:minmax(280px,4fr) minmax(0,8fr);margin-top:0;gap:36px}
@media(max-width:900px){.study-results .sv-what .verdict{grid-template-columns:1fr}}
.study-results .what-left .eyebrow{display:block;margin-bottom:12px}
.study-results .what-hint{font-size:.88rem;color:var(--sink2);margin:18px 0 0;line-height:1.5}
.study-results .metrics{list-style:none;margin:0;padding:0 0 0 24px;border-left:1px solid var(--sline);display:grid}
@media(max-width:900px){.study-results .metrics{padding-left:0;border-left:0}}
.study-results .metrics>li{border-bottom:1px solid var(--sline)}
.study-results .metrics>li:last-child{border-bottom:0}
.study-results .mrow{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:190px minmax(0,1fr) 22px;gap:16px;align-items:center;padding:13px 12px;border-radius:10px;cursor:pointer;font-size:1.02rem;line-height:1.45;color:var(--sink)}
.study-results .mrow:hover{background:var(--ssurf2)}
.study-results .mrow:focus-visible{outline:2px solid var(--saccent);outline-offset:2px}
.study-results .mrow b{font-weight:700}
.study-results .mrow .chev{width:20px;height:20px;fill:none;stroke:var(--sink2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.study-results .mrow[aria-expanded="true"] .chev{transform:rotate(180deg)}
@media(max-width:640px){.study-results .mrow{grid-template-columns:minmax(0,1fr) 22px}.study-results .mrow .mlabel{grid-column:1/-1}}
.study-results .mlabel,.study-results .mpill{display:inline-flex;align-items:center;gap:8px;justify-self:start;font-weight:700;border-radius:8px;white-space:nowrap}
.study-results .mlabel{font-size:.95rem;padding:5px 12px 5px 8px}
.study-results .mpill{font-size:.9rem;padding:6px 12px;border-radius:999px;white-space:normal}
.study-results .msw{width:12px;height:12px;border-radius:3px;flex:none;background:var(--tone,#a3a9b4)}
.study-results .mlabel.clear .msw{background:#fff}
.study-results .mlabel.clear,.study-results .mpill.clear{background:color-mix(in srgb,var(--tone) 82%,#000);color:#fff}
.study-results .mlabel.lean,.study-results .mpill.lean{background:color-mix(in srgb,var(--tone) 18%,#fff);color:color-mix(in srgb,var(--tone) 62%,#000)}
.study-results .mlabel.none,.study-results .mpill.none{background:var(--sneutral);color:var(--sink2)}
.study-results .mdetail{margin:0 12px 16px;padding:18px 20px;background:var(--ssurf2);border:1px solid var(--sline);border-radius:12px;display:grid;gap:14px}
.study-results .mverdict{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.study-results .mnote{font-size:.88rem;color:var(--sink2)}
.study-results .mbars{display:grid;gap:8px}
.study-results .mbar{display:grid;grid-template-columns:auto minmax(110px,180px) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.93rem}
.study-results .mbar-t{height:12px;background:var(--sgrid);border-radius:6px;overflow:hidden}
.study-results .mbar-t i{display:block;height:100%;border-radius:6px}
.study-results .mbar-v{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}
.study-results .mrange{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center;font-size:.88rem}
.study-results .mrange-l{color:var(--sink2)}
.study-results .mrange-v{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.study-results .mrange-track{position:relative;height:26px}
.study-results .mrange-track::before{content:"";position:absolute;left:0;right:0;top:12px;height:2px;background:var(--sline2)}
.study-results .mrange-track .zero{position:absolute;left:50%;top:2px;width:2px;height:22px;background:var(--sink2);opacity:.6}
.study-results .mrange-track .ci{position:absolute;top:8px;height:10px;border-radius:5px;opacity:.35}
.study-results .mrange-track .pt{position:absolute;top:5px;width:16px;height:16px;margin-left:-8px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--sink2)}
.study-results .mrange-ends{display:flex;justify-content:space-between;font-size:.8rem;color:var(--sink2);margin:-8px 0 0 160px;padding-right:4px}
@media(max-width:640px){.study-results .mrange{grid-template-columns:1fr}.study-results .mrange-ends{margin-left:0}.study-results .mbar{grid-template-columns:auto 1fr auto}.study-results .mbar-t{grid-column:1/-1;grid-row:2}}
.study-results .mtable-h{font-size:.84rem;font-weight:600;color:var(--sink2);margin-bottom:4px}
.study-results .mtable .sv-table{background:var(--ssurf);border-radius:8px;font-size:.92rem}
.study-results .mtable .sv-table th,.study-results .mtable .sv-table td{padding:8px 10px}
.study-results .sv-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:20px;align-items:start}
.study-results .sv-cols>.panel{margin-top:0}
.study-results .sv-grid{border-collapse:separate;border-spacing:6px;width:100%;min-width:640px}
.study-results .sv-grid th{text-align:left;font-weight:600;font-size:.92rem;padding:0}
.study-results .sv-grid thead th{font-size:.88rem}
.study-results .sv-grid td{padding:0;vertical-align:top}
.study-results .gridhead{all:unset;cursor:pointer;display:block;padding:6px 8px;border-radius:8px;color:var(--saccent);box-sizing:border-box}
.study-results .gridhead:hover{background:var(--saccent-soft)}
.study-results .gridhead.on{background:var(--saccent);color:var(--son)}
.study-results .gridhead:focus-visible,.study-results .gcell:focus-visible{outline:2px solid var(--saccent);outline-offset:2px}
.study-results .gcell{all:unset;box-sizing:border-box;cursor:pointer;display:grid;gap:3px;width:100%;padding:8px 10px;border-radius:10px;border:1px solid var(--sline);background:var(--ssurf);transition:opacity .12s}
.study-results .gcell:hover{border-color:var(--saccent)}
.study-results .gcell.on{border-color:var(--saccent);box-shadow:inset 0 0 0 1px var(--saccent);background:var(--saccent-soft)}
.study-results .gcell.dim{opacity:.42}
.study-results .gline{display:flex;align-items:center;gap:6px;font-size:.92rem;font-variant-numeric:tabular-nums}
.study-results .gline small{color:var(--sink2);font-size:.8rem;margin-left:auto}

/* v0.65: larger type for video. :root is 17px (was 14), so every rem-sized label here grew by about a fifth. */
.study-results .bigwin .v{white-space:nowrap}
/* v0.68: Mode and Difficulty toggles in the Show bar */
.study-results .sv-seg{display:flex;flex-direction:column;gap:4px}
.study-results .sv-seg-l{font-size:.82rem;font-weight:600;color:var(--sink2)}
.study-results .sv-seg .seg button{min-height:36px;font-size:.95rem}
/* v0.76: Run study at the bottom of the setup too, with the expected time. */
.bench-run-foot{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;padding:18px 4px 6px}
.bench-run-foot p{margin:0;color:#5d6f66;font-size:14px}
.history-setup dd ul{margin:0;padding-left:18px}.history-setup dd li{margin:1px 0}
/* v0.77: monster swaps for blocked spells */
.bench-swap{margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#dde5e0)}
.bench-swaps{margin:4px 0 8px;padding-left:20px;font-size:.84rem;line-height:1.5;display:grid;gap:3px}
.bench-swaps small{display:block;color:#6a7c72}

/* v0.72 Survey screen. Scoped to .survey (inside .study-results); palette from the "Ability Usage Matrix" mockup. */
.study-results.survey{max-width:1400px;font-size:16px;--saccent:#1f6655;--saccent-soft:#e4efe8;--sbg:#eef2ef;--sline:#d9e3dc;--sline2:#cfdcd3;--sink:#1d2b27;--sink2:#4f6359;--ssurf2:#f5f8f6}
.survey .panel{padding:18px;margin-bottom:16px;border-radius:12px}
.survey .panel h2{font-size:1.15rem}
.survey-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:16px 0 18px}
.survey-head h1{font-size:clamp(1.5rem,3vw,2.1rem);letter-spacing:-.5px;line-height:1.15}
.survey .seg button{font-size:.88rem;min-height:36px;padding:7px 13px}
.survey .bench-sub{font-size:.95rem;margin:16px 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.survey .bench-sub small{font-weight:400;color:var(--sink2)}
.survey-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.survey-checks.inline{display:flex;flex-wrap:wrap}
.survey-checks.classes{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.survey-check{border:1px solid var(--sline);border-radius:9px;padding:9px 11px;background:var(--ssurf);color:var(--sink);font-weight:500;min-height:44px;cursor:pointer}
.survey-check:has(input:checked){border-color:var(--saccent);background:var(--saccent-soft)}
.survey-check small{display:block;color:var(--sink2);font-weight:400;font-size:.8rem}
.survey-two{display:flex;flex-wrap:wrap;gap:8px 40px}
.survey-seeds{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;margin-top:16px}
.survey-seeds label{max-width:260px;color:var(--sink2)}
.survey-seeds .bench-note{max-width:60ch;margin:0 0 8px}
.survey-go{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.survey-estimate{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;flex:1 1 420px}
.survey-estimate>div{display:flex;flex-direction:column}
.survey-estimate strong{font-size:1.7rem;letter-spacing:-.5px;line-height:1.2}
.survey-estimate span{color:var(--sink2);font-size:.9rem}
.survey-estimate p{flex:1 1 300px;font-size:.88rem;color:var(--sink2);margin:0}
.survey-run-btn{min-height:48px;padding:10px 22px;font-size:1rem}
.survey-progress{border-color:var(--saccent)}
.survey-progress-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.survey-bar{height:10px;border-radius:5px;background:var(--sline);overflow:hidden;margin:12px 0 4px}
.survey-bar i{display:block;height:100%;background:var(--saccent);transition:width .3s}
.survey-filters{position:sticky;top:0;z-index:4;background:var(--sbg);display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;padding:10px 0;border-bottom:1px solid var(--sline);margin-bottom:8px}
.survey-filters label,.survey-f{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--sink2)}
.survey-filters select{font-size:.88rem;min-height:36px;max-width:260px;font-weight:500;color:var(--sink)}
.survey-src{margin:4px 0 14px}
.survey-empty{text-align:center;display:grid;gap:12px;justify-items:center;padding:40px 20px}
.survey-layout{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.survey-abilities{flex:1 1 400px;max-width:520px;min-width:0}
.survey-matrix{flex:999 1 640px;min-width:0}
.survey-ab-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;margin-bottom:10px}
.survey-ab-head span{font-size:.8rem;color:var(--sink2)}
.sv-abh,.sv-ab{display:grid;grid-template-columns:minmax(0,1fr) 52px 64px;gap:8px;align-items:center}
.sv-abh{padding:0 11px 2px;font-size:.75rem;font-weight:600;color:var(--sink2)}
.survey .sv-abh .n{font-family:inherit;font-size:.75rem;white-space:nowrap}
.survey .n{text-align:right;font-family:var(--smono);font-size:.88rem;font-variant-numeric:tabular-nums}
.sv-list{display:grid;gap:5px}
.sv-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:0}
.sv-row.child{padding-left:18px}
.sv-ab{width:100%;text-align:left;min-height:46px;padding:6px 10px;border-radius:9px;background:var(--ssurf);border:1px solid #e3eae5;font-weight:400;color:var(--sink)}
.sv-ab[aria-pressed="true"]{background:var(--saccent-soft);border-color:var(--saccent);box-shadow:inset 0 0 0 1px var(--saccent)}
.sv-row.thin .sv-ab .n{color:var(--sink2)}
.sv-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.sv-name b{font-weight:600;font-size:.95rem;line-height:1.25}
.sv-name small{font-size:.75rem;color:var(--sink2);line-height:1.5}
.sv-name small .tag,.sv-name small .flag{margin-left:5px}
.sv-fold{border:0;background:transparent;min-height:40px;padding:4px 2px;font-size:.78rem;color:var(--sink2);font-weight:600;width:34px}
.sv-fold-gap{display:block;width:34px}
.survey .tag{font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:999px;white-space:nowrap}
.survey .tag.free{background:#eef3f0;color:#2f5d4f;border:1px solid #cfdcd3}
.survey .tag.feat{background:#fbecd6;color:#7a4b12;border:1px solid #ecc993}
.survey .flag{font-size:.68rem;font-weight:600;padding:1px 7px;border-radius:999px}
.survey .flag.never{background:#f8e3de;color:#a8402f}
.sv-group{margin-top:10px;border-top:1px solid var(--sline);padding-top:8px;display:grid;gap:5px}
.sv-group-head{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;text-align:left;border:1px dashed var(--sline2);background:var(--ssurf2);border-radius:9px;min-height:44px;padding:7px 10px;font-weight:400}
.sv-group-head small{color:var(--sink2);font-size:.78rem}
.mx-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}
.mx-head h2{font-size:1.45rem!important;letter-spacing:-.3px}
.mx-head>div>span{font-size:.88rem;color:var(--sink2)}
.mx-toggles{display:flex;flex-wrap:wrap;gap:10px}
.survey-matrix>.bench-note{margin:8px 0 14px}
.mx-scroll{overflow-x:auto}
.mx-grid{min-width:700px;display:grid;gap:6px}
.mx-row{display:grid;gap:6px}
.mx-col{text-align:center;font-size:.8rem;font-weight:600;color:var(--sink2);padding:0 4px}
.mx-rowhead{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;padding:4px 8px 4px 0;border:0;background:transparent;color:var(--sink);text-align:left;min-height:44px;cursor:help;border-radius:6px}
.mx-rowhead.total{font-weight:700}
.mx-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:88px;padding:8px 6px;border-radius:9px;background:#fff;border:1px solid #e0e7e2;color:var(--sink);font-weight:400}
.mx-cell.total{background:#eef3f0;border-color:#d2ded6;font-weight:600}
.mx-cell.low{background:#f1f3f1!important;border:1px dashed #b9c9be;color:#5d6e66}
.mx-cell[aria-pressed="true"]{box-shadow:0 0 0 2px var(--sink)}
.mx-pct{font-family:var(--smono);font-size:1.3rem;font-weight:500;letter-spacing:-.5px}
.mx-sub{font-size:.72rem}
.mx-sub.mono{font-family:var(--smono)}
.mx-when{font-size:.85rem;font-weight:700;text-align:center}
.mx-bar{display:flex;width:100%;height:8px;border-radius:4px;overflow:hidden;background:#e6ece8}
.mx-bar i{display:block;height:100%}
.mx-n{font-size:.68rem;color:var(--sink2);text-align:center;line-height:1.3}
.mx-legend{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:.8rem;color:#33443d;margin:12px 0}
.mx-legend span{display:flex;align-items:center;gap:6px}
.mx-legend i{width:18px;height:12px;border-radius:3px;display:inline-block}
.mx-legend i.low{background:#f1f3f1;border:1px dashed #b9c9be;box-sizing:border-box}
.mx-detail{background:var(--ssurf2);border:1px solid var(--sline);border-radius:10px;padding:14px 16px;display:grid;gap:10px}
.mx-detail-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}
.mx-detail-head h3{font-size:1rem}
.mx-detail-head span{font-size:.75rem;color:var(--sink2)}
.mx-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.mx-facts div{display:flex;flex-direction:column;gap:2px}
.mx-facts span{font-size:.75rem;font-weight:600;color:var(--sink2)}
.mx-facts b{font-weight:500;font-size:.92rem}
.mx-none{border:1px dashed #b9c9be;border-radius:10px;padding:40px 20px;text-align:center;color:var(--sink2)}
/* v0.72.1: opposition line-up popover on the matrix row headers (hover/focus; tap pins it). position:fixed, placed by layoutSurvey/surveyPopEvent. */
.mx-rowhead:hover .mx-rowname,.mx-rowhead[aria-expanded="true"] .mx-rowname{text-decoration:underline dotted;text-underline-offset:3px}
.mx-rowinfo{flex:none;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--sline2);font-size:.65rem;font-weight:700;color:var(--sink2);font-style:italic;font-family:Georgia,serif}
.mx-pop{display:none;position:fixed;z-index:30;width:max-content;max-width:min(340px,calc(100vw - 16px));padding:10px 12px;border-radius:9px;background:var(--sink);color:#fff;font-size:.8rem;font-weight:400;line-height:1.45;box-shadow:0 6px 20px rgba(0,0,0,.25);pointer-events:none;white-space:normal}
.mx-pop b{display:block;margin-bottom:3px;font-size:.85rem}
.mx-pop span{display:block}
.mx-pop i{font-style:normal;color:#b9d6c8}
.mx-rowhead.mx-hover .mx-pop,.mx-rowhead[aria-expanded="true"] .mx-pop{display:block}
/* v0.72.1: the matrix stays pinned below the sticky filters while the ability list scrolls. No overflow of its own, so the wheel always scrolls the page. */
@media(min-width:901px){.survey-matrix{position:sticky;top:var(--sv-top,72px);align-self:flex-start;z-index:2}.survey-matrix.mx-unpinned{position:static}}
.mx-detail-toggle{display:none;margin-left:auto}
.survey-matrix.mx-compact .mx-detail-toggle{display:inline-flex}
.survey-matrix.mx-compact .mx-detail-hint{display:none}
.survey-matrix.mx-compact:not(.mx-show-detail) .mx-detail-body{display:none}
/* Compact (the window is too short for the whole matrix): the cell details fold behind "Show details", and the cells keep only the
   share and the fight count (the rest is in the details). If it still doesn't fit, layoutSurvey unpins it (it scrolls with the page). */
.survey-matrix.mx-compact{padding:12px 14px}
.survey-matrix.mx-compact .mx-head h2{font-size:1.15rem!important}
.survey-matrix.mx-compact .mx-head{gap:6px}
.survey-matrix.mx-compact .mx-toggles .seg button{min-height:30px;padding:4px 10px;font-size:.8rem}
.survey-matrix.mx-compact>.bench-note{display:none}
.survey-matrix.mx-compact .mx-grid,.survey-matrix.mx-compact .mx-row{gap:4px}
.survey-matrix.mx-compact .mx-scroll{margin-top:8px}
.survey-matrix.mx-compact .mx-cell{min-height:0;padding:4px;gap:1px}
.survey-matrix.mx-compact .mx-pct{font-size:1.05rem}
.survey-matrix.mx-compact .mx-sub,.survey-matrix.mx-compact .mx-n br{display:none}
.survey-matrix.mx-compact .mx-when{font-size:.75rem}
.survey-matrix.mx-compact .mx-rowhead{min-height:36px}
.survey-matrix.mx-compact .mx-legend{margin:6px 0;font-size:.72rem}
.survey-matrix.mx-compact .mx-detail{padding:8px 12px}
.mx-detail-body{display:grid;gap:10px}
/* v0.73: contribution metrics. Metric selector and its options under the matrix heading; the pinned "All abilities" row; rows with nothing for the metric greyed out. */
.mx-metric{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:10px}
.mx-metric .seg{flex-wrap:wrap}
.mx-metric .seg button[disabled]{opacity:.45;cursor:not-allowed}
.mx-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mx-opt{min-height:36px;font-weight:500}
.mx-opt[aria-pressed="true"]{border-color:var(--saccent);background:var(--saccent-soft)}
.sv-all{margin-bottom:5px}
.sv-all .sv-ab{background:var(--ssurf2);border:1px solid var(--sline2);border-left:4px solid var(--saccent)}
.sv-all .sv-ab[aria-pressed="true"]{background:var(--saccent-soft);border-color:var(--saccent)}
.sv-row.nil .sv-ab{opacity:.45;background:transparent;border-style:dashed}
.sv-row.nil .sv-ab[aria-pressed="true"]{opacity:.8}
.sv-old{color:#8a4b14}
.sv-loose{margin:-1px 0 7px 34px;font-size:.75rem;color:var(--sink2);line-height:1.45}
.survey-matrix.mx-compact .mx-metric{margin-top:6px;gap:6px}
.survey-matrix.mx-compact .mx-metric .seg button,.survey-matrix.mx-compact .mx-opt{min-height:30px;padding:4px 9px;font-size:.8rem}
@media(max-width:760px){.study-results.survey{padding-inline:10px}.survey-abilities{max-width:none}.survey-filters{position:static}.survey .seg button{padding:6px 9px}}
@media(max-width:760px){nav{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}nav button{flex-shrink:0}}
/* v0.74: per cast / per round active, parts and chain lines, estimate tooltip, by-level chart */
.sv-unit{font-size:.7em;color:#74887d;margin-left:2px;font-weight:600}
.mx-pct small{font-size:.55em;color:#556b62;margin-left:2px}
.mx-chain{grid-column:1/-1;display:grid;gap:6px;font-size:.85rem;color:#33443d;border-top:1px solid var(--sline);padding-top:8px}
.mx-chain p span:first-child{display:inline-block;min-width:150px;color:#52665b;font-size:.8rem;font-weight:600}
.sv-est{border-bottom:1px dotted #8fae9e;cursor:help}
.sv-est i{font-style:normal;font-size:.7em;display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:#e1ebe4;color:#33443d;margin-left:2px;vertical-align:1px}
.survey-levels{margin-top:16px}
.sv-chart-head{width:100%;text-align:left;background:transparent;border:0;padding:4px 0;display:flex;justify-content:space-between}
.sv-chart-head small{font-weight:400;color:#74887d;margin-left:6px}
.survey-levels>.bench-note{margin:8px 0 10px}
.lv-wrap{width:100%;max-width:900px;overflow-x:auto}
.lv-svg{width:100%;min-width:560px;height:auto;display:block;overflow:visible}
.lv-grid{stroke:#e3ebe5;stroke-width:1}
.lv-tick{font-size:12px;fill:#74887d}
.lv-label{font-size:12px;fill:#33443d}
.lv-label.me{font-weight:700}
.lv-pt circle[r="11"]{cursor:default}
.lv-hollow{background:#fff!important;border:2px solid #74887d;border-radius:50%!important;width:10px!important;height:10px!important}
.lv-table summary{cursor:pointer;font-size:.85rem;font-weight:600;color:#556b62;margin-top:4px}
.lv-table table{border-collapse:collapse;font-size:.85rem;margin-top:8px;min-width:320px}
.lv-table th,.lv-table td{padding:4px 10px;text-align:right;border-bottom:1px solid #e3ebe5}
.lv-table th:first-child{text-align:left}
.lv-table small{color:#74887d}
/* v0.75: by-level chart — a colour and marker per class, hover list per level, click to pick classes out, table breakdown */
.lv-line{cursor:pointer}
.lv-line.off,.lv-end.off{opacity:.14}
.lv-line.iso path:last-of-type{filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}
.lv-end{cursor:pointer}
.lv-cross{stroke:#c3c2b7;stroke-width:1;opacity:0}
.lv-col{outline:none}
.lv-col:hover .lv-cross,.lv-col:focus .lv-cross{opacity:1}
.lv-tip{display:none;pointer-events:none}
.lv-svg:has(.lv-col[data-lv="3"]:hover,.lv-col[data-lv="3"]:focus) .lv-tip[data-lv="3"],
.lv-svg:has(.lv-col[data-lv="5"]:hover,.lv-col[data-lv="5"]:focus) .lv-tip[data-lv="5"],
.lv-svg:has(.lv-col[data-lv="7"]:hover,.lv-col[data-lv="7"]:focus) .lv-tip[data-lv="7"]{display:inline}
.lv-tipbox{fill:#fcfcfb;stroke:rgba(11,11,11,.14);filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}
.lv-tiphead{font-size:11px;font-weight:700;fill:#0b0b0b}
.lv-tiprow{font-size:11px;fill:#33443d}.lv-tiprow.off{fill:#a3a29b}
.lv-tipval{font-size:11px;font-weight:700;fill:#0b0b0b;font-variant-numeric:tabular-nums}
.lv-tipn{font-size:10px;fill:#898781;font-variant-numeric:tabular-nums}
.lv-legend{flex-wrap:wrap;gap:4px 6px}
.lv-key{display:inline-flex;align-items:center;gap:4px;border:1px solid #d9e2dc;background:#fff;border-radius:999px;padding:2px 9px 2px 5px;font:inherit;font-size:.8rem;color:#33443d;cursor:pointer}
.lv-key[aria-pressed="true"]{border-color:#33443d;font-weight:700}
.lv-key.off{opacity:.45}
.lv-key small{color:#74887d;font-weight:400}
.lv-reset{padding-left:9px}
.lv-table-toggle,.lv-rowbtn{background:none;border:0;padding:0;font:inherit;cursor:pointer}
.lv-table-toggle{font-size:.85rem;font-weight:600;color:#556b62;margin-top:6px}
.lv-rowbtn{font-weight:600;color:#33443d;text-align:left}
.lv-part th{font-weight:400;color:#556b62;padding-left:26px!important}
.lv-part td{color:#556b62}
.lv-part.turns th,.lv-part.turns td{font-style:italic}
/* v0.76: build popovers next to class names; sortable by-level table. */
.cls-pophead{min-height:0;padding:2px 4px;display:inline-flex;vertical-align:middle}
.cls-with-pop{display:flex;align-items:center;gap:4px}
.cls-pop-note{margin-top:4px;color:#b9d6c8;font-style:italic}
.lv-table th .lv-rowbtn+.cls-pophead{margin-left:2px}
.lv-sort{border:0;background:transparent;padding:2px 4px;font:inherit;font-weight:700;color:inherit;cursor:pointer;min-height:0}
.lv-sort span{font-size:.75em;color:var(--sink2)}

/* v0.76.1: readable copy — a short key under the list, one definition (lead line + "How it's counted") under the details. */
.sv-key{margin:10px 0 0;padding:10px 12px 10px 28px;font-size:.8rem;line-height:1.5;color:var(--sink2,#4f6157);background:#f6f9f7;border-radius:8px;display:grid;gap:3px}
.sv-key li{padding-left:2px}
.sv-key b{color:#2d3d35}
.sv-def{margin-top:10px;font-size:.86rem;line-height:1.55;color:#33443d}
.sv-def>p{margin:0}
.sv-how-btn{margin-left:4px;border:0;background:none;padding:0;color:#1f6655;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.sv-how{margin:8px 0 0;padding-left:20px;display:grid;gap:5px;font-size:.84rem;color:#3c4d44}
.sv-how ul{margin:4px 0 2px;padding-left:18px;display:grid;gap:4px}
.mx-opts-label{font-size:.8rem;color:#52665b;font-weight:600}
.mx-detail-body .bench-note{margin:8px 0 0}

/* v0.76.1: immune enemies (survey disclaimer). */
.mx-block{flex:none;display:inline-block;width:13px;height:13px;border-radius:50%;margin:0 2px 0 6px;vertical-align:-2px;box-sizing:border-box;border:2px solid #b5651d}
.mx-block.some{background:linear-gradient(90deg,#b5651d 50%,transparent 50%)}
.mx-block.all{background:#b5651d;position:relative}
.mx-block.all::after{content:"";position:absolute;left:50%;top:-1px;bottom:-1px;width:2px;margin-left:-1px;background:#fff;transform:rotate(45deg)}
.mx-pop-block{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.18)}
.tag.immune{background:#f6ece0;color:#7a4f17;border-radius:6px;padding:0 6px 0 2px;font-size:.72rem;white-space:nowrap}
.tag.immune .mx-block{width:10px;height:10px;border-width:1.5px;margin:0 4px 0 2px;vertical-align:-1px}
.mx-blocked{grid-column:1/-1;display:flex;gap:10px;font-size:.84rem;color:#33443d;border-top:1px solid var(--sline);padding-top:8px}
.mx-blocked>span{flex:none;min-width:150px;color:#8a5a1c;font-size:.8rem;font-weight:600}
.mx-blocked p{margin:0;line-height:1.55}
.mx-all-immune{display:inline-block;margin-left:4px;padding:0 6px;border-radius:6px;background:#8a3b2a;color:#fff;font-size:.72rem}
.sv-immune-note .mx-block{margin:0 1px}
.mx-facts .mx-blocked{flex-direction:column;gap:3px}
.mx-facts .mx-blocked>span{color:#8a5a1c;font-size:.78rem}
.mx-facts .mx-blocked .mx-all-immune{color:#fff;font-weight:600;font-size:.7rem}
.mx-facts .mx-blocked b{font-weight:600;font-size:inherit}
