:root{font-family:Inter,"Noto Sans KR","Malgun Gothic",system-ui,sans-serif;color:#18242d;background:#eef2f5;font-synthesis:none;--border:#cbd5dc;--header:#e8edf0;--input:#eaf4ff;--calc:#ebf8ef;--manual:#fff5cf;--danger:#fff0ef;--muted:#667681;--ink:#18242d;--accent:#315e7d;--accent-soft:#dbeaf3;--panel:#f9fbfc}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:#eef2f5;color:var(--ink)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app-shell{min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:10px 18px 8px;background:#f8fafb;border-bottom:1px solid var(--border)}.app-header h1{font-size:18px;margin:0 0 2px}.app-header p{font-size:11px;color:var(--muted);margin:0}.baseline-badge{font-size:10px;color:#3c596c;border:1px solid #b9cbd6;background:#eef7fc;padding:3px 7px;border-radius:3px}.main-nav{background:#f8fafb;border-bottom:1px solid var(--border);padding:0 18px}.compact-tabs{display:flex;gap:2px;flex-wrap:wrap}.compact-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:8px 13px;font-size:12px;font-weight:700}.compact-tabs button:hover{background:#edf3f6}.compact-tabs button.active{color:#174a69;border-bottom-color:#2c6a8f;background:#eaf3f8}.page{padding:10px 12px 24px;max-width:1800px;margin:0 auto}.section-block{background:var(--panel);border:1px solid var(--border);margin-bottom:8px}.section-title{min-height:34px;padding:6px 9px;background:var(--header);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px}.section-title h2{font-size:13px;margin:0}.section-title span{font-size:10px;color:var(--muted)}.table-scroll{overflow:auto;max-width:100%}.dense-table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.25;table-layout:fixed}.dense-table th,.dense-table td{border-right:1px solid #d7dfe4;border-bottom:1px solid #d7dfe4;padding:4px 5px;vertical-align:top;overflow-wrap:anywhere}.dense-table thead th{position:sticky;top:0;z-index:2;background:#dde5ea;text-align:left;font-size:10px;color:#334955}.dense-table tbody th{background:#eef2f4;text-align:left}.dense-table tr:last-child td,.dense-table tr:last-child th{border-bottom:0}.input-cell{width:100%;min-height:25px;border:1px solid #aac7da;background:var(--input);padding:2px 4px;border-radius:2px}.number-input{max-width:92px}.party-table th:nth-child(1){width:9%}.party-table th:nth-child(2){width:10%}.party-table th:nth-child(3),.party-table th:nth-child(4),.party-table th:nth-child(5){width:17%}.party-table th:nth-child(6){width:15%}.party-table th:nth-child(7){width:15%}.synergy-strip{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f5f8fa;border:1px solid var(--border);margin-bottom:8px;font-size:11px}.synergy-strip>div{display:flex;flex-wrap:wrap;gap:4px}.synergy-chip{background:#edf4f7;border:1px solid #c9d9e1;padding:2px 5px;border-radius:2px;white-space:nowrap}.compact-form-row{display:flex;align-items:center;gap:10px;padding:6px 8px;font-size:11px}.compact-form-row label{display:flex;align-items:center;gap:5px}.compact-form-row input{width:80px}.initial-detail{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0}.cycle-toolbar{align-items:flex-start}.cycle-toolbar>div:first-child{display:flex;flex-direction:column}.toolbar-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:4px}.toolbar-actions button,.row-buttons button{border:1px solid #aebfc9;background:#f7fafb;padding:3px 6px;border-radius:2px;font-size:10px}.toolbar-actions button:hover,.row-buttons button:hover{background:#e7f0f5}.toolbar-actions button.active{background:#dbeef8;border-color:#75a9c5}.toolbar-actions .manual-button{background:var(--manual);border-color:#dac77e}.cycle-table{min-width:1120px}.cycle-table th:nth-child(1){width:32px}.cycle-table th:nth-child(2){width:95px}.cycle-table th:nth-child(3){width:145px}.cycle-table th:nth-child(4){width:155px}.cycle-table th:nth-child(5){width:220px}.cycle-table th:nth-child(6){width:145px}.cycle-table th:nth-child(7){width:150px}.cycle-table th:nth-child(8){width:120px}.cycle-table th:nth-child(9){width:105px}.cycle-table tbody tr{background:#fff}.cycle-table tbody tr:hover{background:#f5f9fb}.cycle-table .selected-row{outline:2px solid #7aa7bf;outline-offset:-2px}.manual-row{background:var(--manual)!important}.rejected-row{background:var(--danger)!important}.manual-input{display:flex;align-items:center;gap:4px;font-weight:700}.manual-input input{width:70px;border:1px solid #d8c36c;background:#fffaf0;padding:2px 4px}.row-buttons{display:flex;gap:2px;flex-wrap:wrap}.row-buttons button:disabled{opacity:.35;cursor:default}.inline-line{display:block;margin-bottom:2px}.issue{color:#9e302b;font-weight:700}.reject-box{border-left:3px solid #c14942;padding-left:5px;display:flex;flex-direction:column}.reject-box b{color:#a32924}.state-brief{display:flex;flex-wrap:wrap;gap:3px}.state-brief span{background:#eef5ef;border:1px solid #cfdfd2;padding:1px 3px}.event-groups{display:flex;flex-direction:column;gap:3px}.event-group{display:grid;grid-template-columns:58px 1fr;column-gap:4px}.event-group-label{font-size:9px;color:#596a75;font-weight:700}.event-line{display:block}.manual-event{background:#fff1b8;padding:1px 3px;font-weight:700}.event-groups.compact .event-group:nth-child(n+5){display:none}.row-detail summary{font-size:10px;color:#315e7d;cursor:pointer;margin-top:3px}.detail-panel{position:absolute;right:14px;width:min(760px,85vw);z-index:5;background:white;border:1px solid #9eb2bf;box-shadow:0 5px 18px #31444f2b;padding:7px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:8px;text-align:left}.detail-panel b{font-size:10px}.detail-line{display:block;font-size:9px;border-bottom:1px dotted #d8e0e5;padding:2px 0}.state-panel{background:#f9fbfc;border:1px solid var(--border);padding:0;margin-top:8px}.panel-title{background:#e8edf0;border-bottom:1px solid var(--border);padding:6px 8px;font-size:12px;font-weight:700}.panel-title span{font-size:9px;color:var(--muted);font-weight:400}.state-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:0}.state-grid section{padding:6px 8px;border-right:1px solid #dce3e7}.state-grid h4{font-size:10px;margin:0 0 4px;color:#4d5e68}.state-value{display:flex;justify-content:space-between;gap:8px;font-size:10px;padding:1px 0}.reservation-state-value{align-items:center;flex-wrap:wrap}.reservation-duration{white-space:nowrap}.reservation-expire-button{border:1px solid #aebfc9;background:#f7fafb;padding:2px 5px;border-radius:2px;font-size:9px;white-space:nowrap}.reservation-expire-button:hover{background:#e7f0f5}.muted{color:var(--muted);font-size:10px}.verification{font-size:9px;cursor:help}.verification-conflict{color:#c32f28}.verification-unverified{color:#9a7100}.settings-table{min-width:860px}.settings-table .setting-key,.settings-table tbody th{width:160px}.settings-table td{background:white}.settings-table .settings-group th{background:#dfe7eb;color:#2e4b5a;padding:4px 6px;font-size:10px}.triple-input,.quad-input{display:grid;gap:2px}.triple-input{grid-template-columns:repeat(3,1fr)}.quad-input{grid-template-columns:repeat(4,1fr)}.triple-input input,.quad-input input{width:100%;min-width:0;border:1px solid #aac7da;background:var(--input);padding:2px}.metric-pair{display:block;font-size:10px}.metric-pair strong{background:var(--calc);padding:1px 2px}.descriptions-page .compact-tabs{padding:0 8px;border-bottom:1px solid var(--border)}.description-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.description-sheet{border:1px solid var(--border);background:white}.description-sheet h3{font-size:13px;margin:0;padding:6px 8px;background:#eaf0f3}.desc-section{padding:5px 7px;border-top:1px solid #dce3e7}.desc-section h4{font-size:10px;margin:0 0 4px;color:#4a6575}.desc-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(120px,1fr) minmax(180px,1.5fr) 18px;gap:5px;padding:3px 0;border-bottom:1px dotted #dde4e8;font-size:10px}.description-list{padding:6px;display:grid;gap:4px}.list-record{display:grid;grid-template-columns:1fr 30px 2fr;gap:8px;align-items:start;border:1px solid var(--border);background:white;padding:6px}.list-record h3{font-size:12px;margin:0}.list-record span,.list-record p{font-size:10px;margin:2px 0}.dictionary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px}.dictionary-item{border:1px solid var(--border);background:white;padding:6px;min-height:100px}.dictionary-title{display:flex;gap:5px;align-items:center}.dictionary-title b{font-size:12px}.dictionary-category{font-size:9px;color:#546a76}.dictionary-item p{font-size:10px;line-height:1.4}.dictionary-item code{font-size:9px;color:#75858e}.calc-cell{background:var(--calc)}
@media(max-width:900px){.app-header{padding:8px 10px}.baseline-badge{display:none}.main-nav{padding:0 8px}.page{padding:7px 6px 18px}.party-summary .table-scroll{overflow:visible}.party-table,.party-table tbody,.party-table tr,.party-table td{display:block}.party-table thead{display:none}.party-table tr{margin:5px;border:1px solid var(--border);background:white}.party-table td{border-right:0;padding:4px 6px}.party-table td:nth-child(1){background:#e7edf1;font-size:12px}.party-table td:nth-child(n+3){display:grid;grid-template-columns:90px 1fr}.party-table td:nth-child(3)::before{content:"◆ 배틀"}.party-table td:nth-child(4)::before{content:"↻ 연계"}.party-table td:nth-child(5)::before{content:"★ 궁극기"}.party-table td:nth-child(6)::before{content:"핵심 조건"}.party-table td:nth-child(7)::before{content:"상태 및 자원"}.party-table td:nth-child(n+3)::before{font-size:9px;color:#5c6d77;font-weight:700}.synergy-strip{align-items:flex-start;flex-direction:column}.cycle-table{min-width:0;display:block}.cycle-table thead{display:none}.cycle-table tbody,.cycle-table tr,.cycle-table td{display:block}.cycle-table tr{position:relative;margin:6px 0;border:1px solid var(--border);padding:4px 6px}.cycle-table td{border:0;padding:3px 0}.cycle-table td:nth-child(1){position:absolute;right:4px;top:4px;color:#7a8991}.cycle-table td:nth-child(2),.cycle-table td:nth-child(3){display:inline-block;width:calc(50% - 5px);vertical-align:top}.cycle-table td:nth-child(4){display:none}.cycle-table td:nth-child(6),.cycle-table td:nth-child(7){display:none}.cycle-table td:nth-child(5){margin-top:3px;border-top:1px solid #dfe5e8;padding-top:5px}.cycle-table td:nth-child(8){font-size:10px}.cycle-table td:nth-child(9){display:flex;align-items:center;gap:5px}.manual-row td:nth-child(2){width:100%}.detail-panel{position:fixed;left:5vw;right:auto;top:18vh;width:90vw;max-height:65vh;overflow:auto;grid-template-columns:1fr}.state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.description-grid{grid-template-columns:1fr}.dictionary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-table{min-width:760px}.toolbar-actions{width:100%}.cycle-toolbar{flex-direction:column}}
@media(max-width:520px){.state-grid{grid-template-columns:1fr}.dictionary-grid{grid-template-columns:1fr}.compact-tabs button{padding:7px 9px}.app-header h1{font-size:15px}.section-title{align-items:flex-start}.cycle-toolbar .toolbar-actions button{flex:1 1 auto}.event-group{grid-template-columns:54px 1fr}}
/* v0.2.1 feedback: denser Korean-facing result and description presentation */
.event-groups{gap:7px}.event-group{grid-template-columns:64px 1fr;row-gap:1px}.event-group+.event-group{padding-top:3px;border-top:1px dotted #d9e1e5}.event-group-label{font-size:9px;color:#4d626f}.event-groups.compact .event-group:nth-child(n){display:grid}.effect-label{font-size:9px;color:#365b70}.dual-state-brief{display:flex;flex-direction:column;gap:4px}.state-scope{display:flex;flex-wrap:wrap;align-items:center;gap:3px}.state-scope>b{font-size:9px;min-width:28px;color:#4a5f6c}.state-chip{background:#eef5ef;border:1px solid #cfdfd2;padding:1px 3px;white-space:nowrap}.enemy-scope .state-chip{background:#f4f0ec;border-color:#ded3c8}.resource-scope .state-chip{background:#eef4f8;border-color:#cfdae2}.compact-empty{font-size:9px}.state-brief{display:none}
.description-table-wrap{padding:6px}.description-compare{min-width:1280px;table-layout:auto}.description-compare th,.description-compare td{font-size:10px;line-height:1.35}.description-compare thead th{white-space:nowrap}.description-compare .sticky-operator{position:sticky;left:0;z-index:1;background:#eef2f4;min-width:92px}.skill-talent-table{min-width:1760px}.skill-talent-table th:nth-child(1){width:105px}.skill-talent-table th:nth-child(2){width:90px}.skill-talent-table th:nth-child(3){width:105px}.skill-talent-table th:nth-child(4){width:130px}.skill-talent-table th:nth-child(5){width:150px}.skill-talent-table th:nth-child(6){width:170px}.skill-talent-table th:nth-child(7){width:205px}.skill-talent-table th:nth-child(8){width:180px}.skill-talent-table th:nth-child(9){width:190px}.skill-talent-table th:nth-child(10){width:230px}.skill-talent-table th:nth-child(11){width:210px}.spec-line{display:block;margin:1px 0}.spec-block{display:block;padding:2px 0;border-bottom:1px dotted #dce3e7}.spec-block:last-child{border-bottom:0}.spec-block>b,.spec-block>span{display:block}.active-spec{background:#f0f8f2}.inactive-spec{opacity:.62}.applied-spec-cell{background:var(--calc)!important}.applied-metric{padding:3px 0;border-bottom:1px solid #cfdfd2}.applied-metric:last-child{border-bottom:0}.applied-metric>b,.applied-metric>span{display:block}.applied-metric small{color:var(--muted)}.weapon-description-table{min-width:1320px}.equipment-description{padding:6px}.subsection-heading{font-size:11px;margin:8px 0 4px;padding:4px 6px;background:#e7edf1;border:1px solid var(--border)}.current-equipment-table{min-width:1220px}.equipment-spec-table{min-width:1050px}.equipment-set-table{min-width:980px}
.dictionary-sections{padding:6px;display:grid;gap:6px}.dictionary-section{border:1px solid var(--border);background:#fff}.dictionary-section-heading{padding:6px 8px;background:#e8edf0;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.dictionary-section-heading span:last-child{font-size:9px;color:var(--muted);font-weight:400}.dictionary-table{display:table;width:100%;border-collapse:collapse}.dictionary-row{display:grid;grid-template-columns:minmax(150px,.8fr) 100px minmax(260px,2fr) 22px;gap:6px;padding:4px 7px;border-top:1px solid #e0e6e9;align-items:start;font-size:10px}.dictionary-row>b{display:flex;align-items:center;gap:5px}.dictionary-symbol{min-width:22px;text-align:center;font-size:12px}.dictionary-kind{font-size:9px;color:#526875}.dictionary-row .verification{justify-self:end}
@media(max-width:900px){.description-table-wrap{padding:4px 0}.description-compare{min-width:1100px}.skill-talent-table{min-width:1650px}.description-compare .sticky-operator{box-shadow:2px 0 3px #32434d18}.dictionary-row{grid-template-columns:minmax(120px,.8fr) 85px minmax(220px,2fr) 20px}.event-groups{gap:6px}}
@media(max-width:520px){.dictionary-sections{padding:4px}.dictionary-row{grid-template-columns:115px 1fr;gap:3px}.dictionary-row>span:nth-child(3){grid-column:1/-1}.dictionary-row>.verification{grid-column:2;grid-row:1;justify-self:end}.description-compare .sticky-operator{min-width:86px}.event-group{grid-template-columns:58px 1fr}}
/* v0.2.2 second UI feedback */
.compact-chips{display:flex;flex-wrap:wrap;gap:3px;align-items:flex-start}.compact-chip{display:inline-block;padding:1px 4px;border:1px solid #cfdae1;background:#f3f7f9;border-radius:2px;font-size:9px;line-height:1.35}.info-groups{display:flex;flex-direction:column;gap:7px}.info-group{display:grid;grid-template-columns:62px minmax(0,1fr);gap:4px;align-items:start}.info-group+.info-group{padding-top:3px;border-top:1px dotted #d9e1e5}.info-group-label{font-size:9px;font-weight:700;color:#506571}.info-group-items{min-width:0}.info-line{display:block;font-size:10px;line-height:1.35;margin:0 0 1px}.info-line:last-child{margin-bottom:0}.state-info-groups .info-group{grid-template-columns:34px minmax(0,1fr)}
.engraving-inputs,.forge-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.forge-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.engraving-inputs label,.forge-inputs label,.lookup-selectors label,.weapon-lookup-selectors label,.equipment-lookup-selectors label,.preset-controls label{font-size:9px;color:#536873;display:flex;flex-direction:column;gap:1px}.engraving-inputs input,.forge-inputs input,.lookup-selectors input,.lookup-selectors select,.weapon-lookup-selectors input,.equipment-lookup-selectors input,.preset-controls input,.preset-controls select{width:100%;min-width:0;border:1px solid #aac7da;background:var(--input);padding:2px 3px;color:var(--ink)}
.preset-manager{margin-top:8px}.preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px}.preset-box{border:1px solid var(--border);background:#fff;padding:6px}.preset-box h3{font-size:11px;margin:0 0 5px}.preset-controls{display:grid;grid-template-columns:150px minmax(160px,1fr) minmax(180px,1.2fr);gap:4px}.preset-box:nth-child(2) .preset-controls{grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr)}.preset-actions{display:flex;gap:3px;flex-wrap:wrap;margin-top:5px}.preset-actions button{border:1px solid #aebfc9;background:#f7fafb;padding:3px 7px;font-size:10px}.preset-actions button:disabled{opacity:.35}.danger-button{background:#fff0ef!important;border-color:#d79a96!important;color:#9a2d27}.preset-note{font-size:9px;color:var(--muted);margin:5px 0 0}
.lookup-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-width:112px}.skill-talent-table{min-width:1600px}.skill-talent-table th:nth-child(1){width:100px}.skill-talent-table th:nth-child(2){width:90px}.skill-talent-table th:nth-child(3){width:145px}.skill-talent-table th:nth-child(4){width:160px}.skill-talent-table th:nth-child(5){width:190px}.skill-talent-table th:nth-child(6){width:230px}.skill-talent-table th:nth-child(7){width:205px}.skill-talent-table th:nth-child(8){width:200px}.skill-talent-table th:nth-child(9){width:180px}.skill-talent-table tbody tr{height:auto}.skill-talent-table .spec-block{padding:2px 0}.skill-talent-table .info-groups{gap:4px}.skill-talent-table .info-group{grid-template-columns:48px minmax(0,1fr)}.potential-details summary{cursor:pointer;font-size:10px;color:#315e7d;white-space:nowrap}.potential-chips{display:inline-flex;gap:2px;margin-left:3px}.potential-chips span{font-size:8px;border:1px solid #ccd7dd;padding:1px 2px;color:#70808a}.potential-chips span.on{background:#e8f6ec;color:#315c3c;border-color:#bcd6c4}.potential-detail-panel{margin-top:4px;border-top:1px solid #d8e0e5;padding-top:3px}.potential-spec{padding:3px 0;border-bottom:1px dotted #dce3e7}.potential-spec:last-child{border-bottom:0}.talent-spec .info-group,.potential-spec .info-group{grid-template-columns:44px minmax(0,1fr)}
.weapon-description-table{min-width:980px}.weapon-description-table th:nth-child(1){width:100px}.weapon-description-table th:nth-child(2){width:150px}.weapon-description-table th:nth-child(3){width:230px}.weapon-description-table th:nth-child(4){width:260px}.weapon-lookup-selectors{display:grid;grid-template-columns:repeat(5,minmax(52px,1fr));gap:2px}.equipment-spec-table{min-width:900px}.equipment-spec-table th:nth-child(1){width:210px}.equipment-spec-table th:nth-child(2){width:90px}.equipment-spec-table th:nth-child(3){width:120px}.equipment-spec-table th:nth-child(4){width:auto}.equipment-spec-table th:nth-child(5){width:140px}.equipment-lookup-selectors{display:flex;flex-direction:column;gap:2px}.equipment-set-table{min-width:720px}.equipment-set-table th:nth-child(1){width:160px}.equipment-set-table th:nth-child(2){width:90px}.pre-line{white-space:pre-line}
@media(max-width:900px){.preset-grid{grid-template-columns:1fr}.preset-controls,.preset-box:nth-child(2) .preset-controls{grid-template-columns:1fr 1fr}.skill-talent-table{min-width:1450px}.lookup-selectors{grid-template-columns:repeat(2,minmax(54px,1fr))}.weapon-lookup-selectors{grid-template-columns:repeat(3,minmax(58px,1fr))}.info-group{grid-template-columns:55px minmax(0,1fr)}}
@media(max-width:520px){.preset-controls,.preset-box:nth-child(2) .preset-controls{grid-template-columns:1fr}.info-group{grid-template-columns:50px minmax(0,1fr)}.lookup-selectors{grid-template-columns:repeat(2,minmax(52px,1fr))}.weapon-lookup-selectors{grid-template-columns:repeat(2,minmax(58px,1fr))}}
/* v0.2.3 third UI feedback */
.manual-sp-inline{display:flex;flex-direction:column;gap:2px;background:#fff7d7;border:1px solid #e0ce86;padding:3px 4px;font-size:9px;font-weight:700}.manual-sp-inline input{width:64px;border:1px solid #d8c36c;background:#fffdf4;padding:2px 3px}.cycle-table{min-width:1210px}.cycle-table th:nth-child(1){width:32px}.cycle-table th:nth-child(2){width:90px}.cycle-table th:nth-child(3){width:140px}.cycle-table th:nth-child(4){width:88px}.cycle-table th:nth-child(5){width:155px}.cycle-table th:nth-child(6){width:220px}.cycle-table th:nth-child(7){width:145px}.cycle-table th:nth-child(8){width:150px}.cycle-table th:nth-child(9){width:115px}.cycle-table th:nth-child(10){width:105px}
.synergy-strip{display:block;padding:7px 8px}.synergy-heading{display:flex!important;align-items:center;gap:7px;margin-bottom:5px}.synergy-heading span{font-size:9px;color:var(--muted)}.synergy-tags{display:flex!important;gap:3px;flex-wrap:wrap;margin-bottom:6px}.synergy-flows{display:flex!important;flex-direction:column;align-items:stretch!important;gap:4px!important}.synergy-flow{display:flex!important;align-items:center;gap:4px;padding:3px 5px;border:1px solid #d5e0e6;background:#fff;flex-wrap:wrap}.synergy-step{display:inline-flex;align-items:center;gap:4px}.synergy-node{font-size:10px}.synergy-node small{font-size:9px;color:#61737e}.synergy-arrow{color:#557789;font-weight:700}.synergy-more{margin-top:2px}.synergy-more summary{cursor:pointer;font-size:9px;color:#315e7d}.synergy-more .synergy-flow{margin-top:3px}
.staged-skill-list,.staged-action-group{display:block}.staged-action-details{margin-top:3px;border-top:1px dotted #cfd9df;padding-top:2px}.staged-action-details>summary{cursor:pointer;color:#315e7d;font-size:10px;font-weight:700}.staged-action-details[open]>summary{margin-bottom:2px}
.table-filter-bar{display:flex;gap:5px;flex-wrap:wrap;padding:5px 6px;background:#f5f8fa;border:1px solid var(--border);border-bottom:0}.table-filter-bar label{display:flex;align-items:center;gap:4px;font-size:9px;color:#526875}.table-filter-bar select,.table-filter-bar input{border:1px solid #aac7da;background:var(--input);padding:2px 4px;min-width:110px}.weapon-description-table{min-width:1420px}.weapon-description-table th:nth-child(1){width:150px}.weapon-description-table th:nth-child(2){width:95px}.weapon-description-table th:nth-child(3){width:235px}.weapon-description-table th:nth-child(4){width:220px}.weapon-description-table th:nth-child(5),.weapon-description-table th:nth-child(6),.weapon-description-table th:nth-child(7){width:175px}.weapon-description-table th:nth-child(8){width:160px}.weapon-effect-slot .info-group{grid-template-columns:40px minmax(0,1fr)}.empty-filter-row td{text-align:center;color:var(--muted);padding:12px}.equipment-current-stats{display:flex;flex-direction:column;gap:2px}.equipment-stat-line{display:grid;grid-template-columns:minmax(80px,1fr) minmax(55px,.7fr);gap:6px;border-bottom:1px dotted #dde4e8;padding:1px 0}.equipment-stat-line:last-child{border-bottom:0}.equipment-stat-line b{font-size:9px}.equipment-stat-line span{text-align:right;font-size:10px}
.dictionary-source-icon{display:inline-flex;min-width:44px;min-height:18px;align-items:center;justify-content:center}.dictionary-source-icon img{max-width:20px;max-height:20px}.icon-source-unavailable{font-size:8px;color:#8a6d23;border:1px dashed #c9b56f;padding:1px 2px;background:#fff9df;white-space:nowrap}.dictionary-resource-symbol{min-width:22px;text-align:center;font-size:11px}
.entity-tooltip-wrap{position:relative;display:inline-block}.entity-tooltip-trigger{border:0;background:transparent;padding:0;color:#245d7a;text-decoration:underline dotted;text-underline-offset:2px;font:inherit;text-align:left}.entity-tooltip-panel{position:absolute;z-index:20;left:0;top:calc(100% + 3px);width:min(300px,70vw);display:flex;flex-direction:column;gap:4px;padding:7px;background:#fff;border:1px solid #8199a7;box-shadow:0 5px 18px #31444f2b;color:var(--ink);font-size:9px;line-height:1.4}.entity-tooltip-panel>b{font-size:11px}.entity-tooltip-panel span{display:block}.entity-tooltip-panel strong{color:#4b6270}
@media(max-width:900px){.cycle-table td:nth-child(4){display:block!important;background:#fff8d9;border:1px solid #eadb9a;padding:3px;margin-top:3px}.cycle-table td:nth-child(5){display:none}.cycle-table td:nth-child(6){display:block!important;margin-top:3px;border-top:1px solid #dfe5e8;padding-top:5px}.cycle-table td:nth-child(7),.cycle-table td:nth-child(8){display:none}.cycle-table td:nth-child(9){font-size:10px}.cycle-table td:nth-child(10){display:flex;align-items:center;gap:5px}.synergy-flow{align-items:flex-start}.weapon-description-table{min-width:1350px}.entity-tooltip-panel{position:fixed;left:5vw;right:5vw;top:auto;bottom:8vh;width:90vw;max-height:45vh;overflow:auto}.table-filter-bar{position:sticky;left:0;z-index:3}}
@media(max-width:520px){.manual-sp-inline{max-width:110px}.synergy-node{font-size:9px}.table-filter-bar label{width:100%;justify-content:space-between}.table-filter-bar select,.table-filter-bar input{min-width:180px}.entity-tooltip-panel{left:4vw;right:4vw;width:92vw}}
/* v0.2.4 fourth UI feedback */
.numeric-stepper{display:inline-grid;grid-template-columns:22px minmax(38px,52px) 22px;align-items:center;gap:1px;max-width:100%}.numeric-stepper button{height:22px;border:1px solid #afc2cd;background:#f7fafb;padding:0;font-size:12px;font-weight:700}.numeric-stepper input{width:100%!important;min-width:0!important;height:22px;border:1px solid #aac7da!important;background:var(--input)!important;padding:1px 3px!important;text-align:center}.compact-select{max-width:100%;min-height:22px;border:1px solid #aac7da;background:var(--input);padding:1px 4px}.compact-search{min-height:22px}.main-operator-setting{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700}.main-op-chip{display:inline-block;margin-left:4px;padding:1px 3px;border:1px solid #9ebecf;background:#e8f5fb;color:#245d7a;font-size:8px}.party-status-resource-groups{gap:5px}.party-status-resource-groups .info-group{grid-template-columns:36px minmax(0,1fr)}
.synergy-core-heading{display:flex;align-items:center;gap:7px;padding:4px 5px;margin:2px 0 4px;border-top:1px solid #dce4e8;background:#f7fafb}.synergy-core-heading b{font-size:10px;color:#294f67}.synergy-core-heading span{font-size:9px;color:var(--muted)}
.cycle-table{min-width:1320px}.cycle-table th:nth-child(1){width:32px}.cycle-table th:nth-child(2){width:95px}.cycle-table th:nth-child(3){width:145px}.cycle-table th:nth-child(4){width:155px}.cycle-table th:nth-child(5){width:220px}.cycle-table th:nth-child(6){width:150px}.cycle-table th:nth-child(7){width:175px}.cycle-table th:nth-child(8){width:145px}.cycle-table th:nth-child(9){width:105px}.cycle-table th:nth-child(10){width:90px}.self-state-cell{display:flex;flex-direction:column;gap:5px}.manual-sp-in-state{display:flex;align-items:center;justify-content:space-between;gap:3px;padding-top:4px;border-top:1px dotted #d8c679;background:#fff9de}.manual-sp-in-state .mini-group-label{font-size:9px;font-weight:700;color:#776521}.active-operator-line{display:flex;align-items:center;gap:7px;padding:4px 8px;border-bottom:1px solid #dce3e7;background:#f5f8fa;font-size:10px}.active-operator-line span{color:var(--muted);margin-left:auto}
.lookup-setting-groups{display:flex;flex-direction:column;gap:5px;min-width:125px}.lookup-setting-group{display:grid;grid-template-columns:1fr;gap:2px;padding:3px 4px;border:1px solid #d7e0e5;background:#fbfcfd}.lookup-setting-group>b{font-size:9px;color:#3e5968}.lookup-setting-group label{display:grid;grid-template-columns:38px minmax(0,1fr);gap:3px;align-items:center;font-size:9px;color:#536873}.lookup-setting-group .numeric-stepper{justify-self:end}.skill-collapse-control{width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px;border:1px solid #bfd0da;background:#edf5f8;padding:3px 5px;font-size:10px;font-weight:700;text-align:left}.skill-collapse-control small{font-size:8px;color:#617681}.staged-action-group{display:block;margin-bottom:4px}.staged-action-details{display:block;margin-top:2px;border-top:1px dotted #cfd9df;padding-top:2px}.stage-toggle{border:0;background:transparent;padding:1px 2px;color:#315e7d;font-size:9px;font-weight:700;text-align:left}.skill-mode-core .info-group{opacity:.98}.skill-mode-collapsed{margin-bottom:2px}.skill-mode-collapsed .skill-collapse-control{background:#f6f8f9;color:#536873}.table-filter-bar .compact-select{min-width:105px}
.weapon-description-table{min-width:1260px}.weapon-description-table th:nth-child(1){width:140px}.weapon-description-table th:nth-child(2){width:90px}.weapon-description-table th:nth-child(3){width:165px}.weapon-description-table th:nth-child(4){width:150px}.weapon-description-table th:nth-child(5),.weapon-description-table th:nth-child(6),.weapon-description-table th:nth-child(7){width:175px}.weapon-description-table th:nth-child(8){width:150px}.weapon-setting-groups{display:flex;flex-direction:column;gap:4px}.weapon-setting-group{display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 3px;padding:3px;border:1px solid #d9e1e6;background:#fbfcfd}.weapon-setting-group>b{grid-column:1/-1;font-size:9px;color:#3e5968}.weapon-setting-group label{display:contents;font-size:9px}.weapon-setting-group label>.numeric-stepper{justify-self:end}.weapon-traits-compact{display:flex;flex-direction:column;gap:4px}.weapon-trait-summary{display:grid;grid-template-columns:38px minmax(0,1fr) 42px;gap:3px;align-items:center;border-bottom:1px dotted #dbe3e7;padding-bottom:2px;font-size:9px}.weapon-trait-summary:last-child{border-bottom:0}.weapon-trait-summary>b{color:#536873}.weapon-trait-summary strong{text-align:right;font-size:9px}.equipment-lookup-selectors .numeric-stepper{margin-top:2px}.dictionary-source-icon{display:inline-flex;min-width:23px;min-height:18px;align-items:center;justify-content:center;margin-right:3px}.dictionary-unicode-icon{font-size:15px;line-height:1}.dictionary-source-icon.unverified .dictionary-unicode-icon{opacity:.55}.dictionary-row b{display:flex;align-items:center}
@media(max-width:900px){.cycle-table{min-width:0}.cycle-table td:nth-child(4),.cycle-table td:nth-child(6),.cycle-table td:nth-child(7),.cycle-table td:nth-child(8){display:none!important}.cycle-table td:nth-child(5){display:block!important;margin-top:3px;border-top:1px solid #dfe5e8;padding-top:5px}.cycle-table td:nth-child(9){display:block!important;font-size:10px}.cycle-table td:nth-child(10){display:flex!important;align-items:center;gap:5px}.lookup-setting-groups{min-width:120px}.weapon-description-table{min-width:1180px}.numeric-stepper{grid-template-columns:22px 42px 22px}}
@media(max-width:520px){.main-operator-setting{width:100%;justify-content:flex-end}.synergy-core-heading{align-items:flex-start;flex-direction:column;gap:2px}.lookup-setting-group label{grid-template-columns:34px minmax(0,1fr)}.weapon-setting-group{grid-template-columns:34px minmax(0,1fr)}}
.active-operator-current{font-size:10px;font-weight:700;white-space:nowrap}

/* v0.2.5 fifth UI feedback: shared cell-role palette, pinning, compact results, selectors and tooltips */
:root{
 --cell-section:#edf2f5;
 --cell-header:#e1e9ee;
 --cell-input:#eef7ff;
 --cell-derived:#f1f8f3;
 --cell-manual:#fff7d9;
 --cell-warning:#fff0ed;
 --cell-selected:#e7f3fa;
 --cell-pinned:#f6fafc;
 --cell-neutral:#fafcfd;
}
.section-title,.panel-title{background:var(--cell-section)}
.dense-table thead th,.settings-group th{background:var(--cell-header)!important}
.cell-input,.input-cell,.numeric-select,.compact-select{background:var(--cell-input)}
.cell-derived{background:var(--cell-derived)!important}
.manual-row,.manual-value,.manual-sp-toolbar{background:var(--cell-manual)}
.issue,.rejected-row,.cell-warning{background:var(--cell-warning)}
.cycle-table tbody tr.selected-row{background:var(--cell-selected)!important;outline:2px solid #6f9fb8;outline-offset:-2px}
.dense-table td{background-color:var(--cell-neutral)}
.fixed-value{display:inline-flex;align-items:center;min-height:22px;padding:1px 4px;border:1px solid #d3dde3;background:var(--cell-derived);font-size:10px;font-weight:700;white-space:nowrap}
.numeric-select{min-width:54px;max-width:100%;min-height:22px;border:1px solid #aac7da;padding:1px 4px}

/* Result column: label/content stay on the same compact row. */
.result-groups{display:flex;flex-direction:column;gap:1px;min-width:0}
.result-group{display:grid;grid-template-columns:48px minmax(0,1fr);gap:4px;align-items:start;min-width:0;padding:1px 0}
.result-group-label{font-size:9px;font-weight:700;color:#536873;white-space:nowrap;line-height:1.25}
.result-group-content{display:flex;flex-direction:column;gap:0;min-width:0}
.result-line{display:block;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.result-group.manual .result-group-content{background:var(--cell-manual)}

/* Manual SP is a toolbar-only control. */
.manual-sp-toolbar{display:inline-flex;align-items:center;gap:4px;border:1px solid #ddcf94;border-radius:2px;padding:2px 4px;font-size:10px;font-weight:700}
.manual-sp-toolbar select{min-width:58px;max-width:88px;border:1px solid #c7b96f;background:#fffdf2;padding:1px 3px}
.manual-sp-toolbar.disabled{opacity:.55;background:var(--cell-neutral)}
.self-state-cell .manual-value{display:inline-block;padding:1px 3px;border:1px solid #e1cf89;border-radius:2px;font-weight:700}

/* Independent lookup setting group collapse. */
.lookup-setting-groups,.weapon-setting-groups{display:flex;flex-direction:column;gap:3px;min-width:118px}
.lookup-setting-group,.weapon-setting-group{display:block;padding:2px 3px;border:1px solid #d7e0e5;background:var(--cell-input)}
.lookup-setting-group.collapsed,.weapon-setting-group.collapsed{padding:1px 3px}
.lookup-group-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;border:0;background:transparent;padding:1px 0;color:#3e5968;font-size:9px;font-weight:700;text-align:left}
.lookup-group-body{display:grid;grid-template-columns:1fr;gap:2px;margin-top:2px}
.lookup-group-body label{display:grid;grid-template-columns:38px minmax(0,1fr);gap:3px;align-items:center;font-size:9px;color:#536873}
.lookup-group-body select,.lookup-group-body .fixed-value{justify-self:end;max-width:85px}
.weapon-setting-group .lookup-group-body label{grid-template-columns:34px minmax(0,1fr)}

/* Operator-specific dictionary grouping. */
.operator-specific-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:6px;padding:5px}
.operator-specific-group{border:1px solid #d7e0e5;background:var(--cell-neutral)}
.operator-specific-group h4{margin:0;padding:4px 6px;background:var(--cell-section);border-bottom:1px solid #d7e0e5;font-size:10px}

/* Shared canonical entity tooltip, viewport-safe on desktop and mobile. */
.entity-tooltip-wrap{display:inline-block;max-width:100%}
.entity-tooltip-trigger{border:0;background:transparent;padding:0;color:#245d7a;text-decoration:underline dotted;text-underline-offset:2px;font:inherit;text-align:left;max-width:100%}
.entity-tooltip-trigger:focus{outline:2px solid #7da7bd;outline-offset:1px;border-radius:2px}
.entity-tooltip-panel{position:fixed!important;z-index:80;width:min(320px,calc(100vw - 16px));max-height:min(320px,calc(100vh - 16px));overflow:auto;display:flex;flex-direction:column;gap:4px;padding:7px;background:#fff;border:1px solid #8199a7;box-shadow:0 5px 18px #31444f38;color:var(--ink);font-size:9px;line-height:1.4}
.entity-tooltip-panel>b{font-size:11px}.entity-tooltip-panel span{display:block}.entity-tooltip-panel strong{color:#4b6270}

/* Three independently persisted pin areas. */
.pin-section{position:relative}
.pin-toggle{position:absolute;top:5px;right:7px;z-index:35;border:1px solid #b8c9d3;background:#f8fbfc;padding:2px 5px;border-radius:2px;font-size:9px;font-weight:700}
.pin-toggle[aria-pressed="true"]{background:var(--cell-pinned);border-color:#759bb1;color:#24526a}
.pin-party.is-pinned,.pin-synergy.is-pinned,.pin-cycle.is-pinned{position:sticky;top:var(--pin-top,0);z-index:25;background:var(--cell-pinned);box-shadow:0 3px 8px #31444f22}
.pin-party.is-pinned{max-height:300px;overflow:auto}
.pin-synergy.is-pinned{max-height:230px;overflow:auto}
.pin-cycle.is-pinned{max-height:min(58vh,560px);overflow:hidden}
.pin-cycle.is-pinned .cycle-toolbar{position:relative;z-index:3;background:var(--cell-pinned)}
.pin-cycle.is-pinned .table-scroll{max-height:calc(min(58vh,560px) - var(--cycle-toolbar-height,54px));overflow:auto}
.pin-cycle.is-pinned .cycle-table thead th{position:sticky;top:0;z-index:5;background:var(--cell-header)!important}
.pin-section.is-pinned .section-title{background:var(--cell-pinned)}

/* Synergy effect summary keeps its existing order/position; only canonical symbols were added. */
.synergy-summary .synergy-strip,.synergy-core-summary{background:var(--cell-neutral)}
.synergy-chip .entity-tooltip-trigger{font-weight:700;text-decoration:none}
.synergy-type{font-size:8px;font-weight:700;color:#315e7d;background:#edf5f8;border:1px solid #c8d9e2;padding:1px 3px;white-space:nowrap}

@media(max-width:700px){
 .pin-party.is-pinned,.pin-synergy.is-pinned,.pin-cycle.is-pinned{top:0!important;max-height:44vh;z-index:40}
 .pin-cycle.is-pinned .table-scroll{max-height:calc(44vh - var(--cycle-toolbar-height,54px))}
 .pin-toggle{top:4px;right:5px}
 .entity-tooltip-panel{width:calc(100vw - 16px)!important;max-height:46vh;left:8px!important;top:auto!important;bottom:8px!important}
 .operator-specific-groups{grid-template-columns:1fr}
}
.pin-section>.section-title{padding-right:72px}

/* v0.2.6 sixth UI feedback: blue-pastel role palette, comparison pins, preset loader and semantic accents. */
:root{
 --border:#bfd0dc;
 --header:#d9e8f5;
 --input:#eaf5ff;
 --calc:#edf4fb;
 --manual:#eef6f7;
 --danger:#f8e8e8;
 --muted:#5f7483;
 --ink:#172b38;
 --accent:#376d8d;
 --accent-soft:#dcecf7;
 --panel:#f5f9fc;
 --cell-section:#e5eef8;
 --cell-header:#d9e8f5;
 --cell-input:#eaf5ff;
 --cell-derived:#edf4fb;
 --cell-manual:#e8f4f6;
 --cell-warning:#f8e9e8;
 --cell-selected:#d7ebfa;
 --cell-pinned:#e1eff9;
 --cell-neutral:#f4f8fc;
 --element-cryo:#dceff7;
 --element-heat:#f5e7e1;
 --element-electric:#f0ebcf;
 --element-nature:#e3f0e6;
 --status-freeze:#cfe7f2;
 --status-burn:#f0ddd5;
 --status-shock:#ebe4bf;
 --status-corrosion:#d9e9dc;
 --status-defense-break:#e7e8ee;
 --status-armor-break:#e6e1df;
 --status-physical-vulnerability:#eee5e3;
 --status-arts-vulnerability:#e2e6f2;
}
body{background:#eaf1f6}
.app-header,.main-nav{background:#f3f8fb}
.section-block,.description-sheet,.state-panel{background:var(--panel)}
.section-title,.panel-title,.description-sheet h3,.dense-table thead th,.settings-table .settings-group th{background:var(--cell-header)}
.dense-table td{background:var(--cell-neutral)}
.dense-table tbody th{background:var(--cell-section)}
.dense-table .cell-input,.settings-table td.cell-input{background:var(--cell-input)}
.dense-table .cell-derived,.settings-table td.cell-derived{background:var(--cell-derived)}
.dense-table .cell-manual{background:var(--cell-manual)}
.selected-row>td,.selected-row>th{background:var(--cell-selected)!important}
.rejected-row>td,.rejected-row>th,.cell-warning{background:var(--cell-warning)!important}
.pinned-row>td,.pinned-row>th{background:var(--cell-pinned)!important}

/* Party summary stays dense while showing editable operator, skill effect/condition/cost and grouped core conditions. */
.party-operator-cell .compact-select{max-width:130px}
.party-operator-cell .main-op-chip{display:inline-block;margin:2px 0 0 4px;padding:1px 4px;border:1px solid #8eb3c8;background:var(--cell-selected);border-radius:8px;font-size:8px;font-weight:700}
.party-skill-groups,.party-core-condition-groups,.party-status-resource-groups{gap:1px}
.party-skill-groups .info-group,.party-core-condition-groups .info-group,.party-status-resource-groups .info-group{grid-template-columns:42px minmax(0,1fr);gap:3px}
.party-skill-groups .info-group-label,.party-core-condition-groups .info-group-label,.party-status-resource-groups .info-group-label{font-size:8px;white-space:nowrap}

/* Compact shared preset loader: real build editing and lookup-only use the same preset store/schema. */
.preset-load-compact{position:relative;flex:0 0 auto;font-size:9px}
.preset-load-compact>summary{list-style:none;border:1px solid #9ebaca;background:var(--cell-input);padding:3px 7px;border-radius:2px;font-weight:700;cursor:pointer;white-space:nowrap}
.preset-load-compact>summary::-webkit-details-marker{display:none}
.preset-load-panel{position:absolute;right:0;top:calc(100% + 3px);z-index:60;min-width:270px;max-width:min(360px,calc(100vw - 24px));display:grid;grid-template-columns:1fr;gap:4px;padding:6px;background:#f6fbfe;border:1px solid #9ebaca;box-shadow:0 5px 16px #36576a2a}
.preset-load-panel label{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:5px}
.preset-load-panel .compact-select{width:100%;min-width:0}
.preset-load-panel button{justify-self:end;border:1px solid #95b2c3;background:var(--cell-input);padding:3px 8px;border-radius:2px;font-size:9px;font-weight:700}
.preset-load-panel button:disabled{opacity:.45;cursor:default}
.preset-load-mode-note{padding-top:3px;border-top:1px solid #d2e0e8;color:var(--muted);text-align:right}

/* Synergy detail grouping: semantic order is fixed in the component; each non-empty group collapses independently. */
.synergy-accordion{display:flex;flex-direction:column;gap:3px;width:100%}
.synergy-group{border:1px solid #c7d9e3;background:var(--cell-neutral)}
.synergy-group-toggle{width:100%;display:flex;align-items:center;gap:5px;border:0;background:var(--cell-section);padding:3px 5px;text-align:left;font-size:9px;font-weight:700;color:#2d566c}
.synergy-group-toggle>span{margin-left:auto;font-size:8px;color:var(--muted)}
.synergy-group-body{display:flex;flex-direction:column;gap:2px;padding:3px 5px}
.synergy-group.collapsed .synergy-group-toggle{background:var(--cell-neutral)}
.synergy-core-heading{display:flex;align-items:center;gap:6px;width:100%;font-size:9px;color:#3d5969}
.synergy-core-heading span{color:var(--muted)}

/* Description row comparison pins remain visible across filters without occupying the full viewport. */
.row-title-with-pin{display:flex;align-items:flex-start;gap:4px}
.row-pin-button{flex:0 0 auto;border:1px solid transparent;background:transparent;padding:0 2px;border-radius:2px;font-size:10px;line-height:1.25}
.row-pin-button:hover,.row-pin-button:focus{border-color:#9bb7c7;background:var(--cell-input);outline:none}
.row-pin-button[aria-pressed="true"]{background:var(--cell-pinned);border-color:#769fb6}
.pinned-compare-area{margin:4px 6px 7px;border:1px solid #9db8c8;background:var(--cell-pinned);max-height:34vh;overflow:auto}
.pinned-compare-title{position:sticky;top:0;z-index:8;padding:3px 6px;background:#d8eaf6;border-bottom:1px solid #a8c1d0;font-size:9px;font-weight:700;color:#31596f}
.pinned-compare-table{margin:0}
.pinned-compare-table thead th{top:24px;background:#dcebf5!important}

/* Central semantic colors. Attachments and reactions intentionally have distinct canonical tokens. */
.entity-tooltip-wrap[data-semantic-color="element-cryo"] .entity-tooltip-trigger{background:var(--element-cryo);text-decoration-color:#6b9eb4}
.entity-tooltip-wrap[data-semantic-color="element-heat"] .entity-tooltip-trigger{background:var(--element-heat);text-decoration-color:#b78470}
.entity-tooltip-wrap[data-semantic-color="element-electric"] .entity-tooltip-trigger{background:var(--element-electric);text-decoration-color:#a69655}
.entity-tooltip-wrap[data-semantic-color="element-nature"] .entity-tooltip-trigger{background:var(--element-nature);text-decoration-color:#6f9e79}
.entity-tooltip-wrap[data-semantic-color="status-freeze"] .entity-tooltip-trigger{background:var(--status-freeze);text-decoration-color:#548fa9}
.entity-tooltip-wrap[data-semantic-color="status-burn"] .entity-tooltip-trigger{background:var(--status-burn);text-decoration-color:#aa705d}
.entity-tooltip-wrap[data-semantic-color="status-shock"] .entity-tooltip-trigger{background:var(--status-shock);text-decoration-color:#97863e}
.entity-tooltip-wrap[data-semantic-color="status-corrosion"] .entity-tooltip-trigger{background:var(--status-corrosion);text-decoration-color:#5d8e67}
.entity-tooltip-wrap[data-semantic-color="status-defense-break"] .entity-tooltip-trigger{background:var(--status-defense-break)}
.entity-tooltip-wrap[data-semantic-color="status-armor-break"] .entity-tooltip-trigger{background:var(--status-armor-break)}
.entity-tooltip-wrap[data-semantic-color="status-physical-vulnerability"] .entity-tooltip-trigger{background:var(--status-physical-vulnerability)}
.entity-tooltip-wrap[data-semantic-color="status-arts-vulnerability"] .entity-tooltip-trigger{background:var(--status-arts-vulnerability)}
.entity-tooltip-wrap[data-semantic-color] .entity-tooltip-trigger{padding:0 2px;border-radius:2px}

.setting-operator-select .compact-select{width:100%;min-width:100px}
.manual-sp-toolbar{margin-left:auto}

@media(max-width:700px){
 .preset-load-panel{position:fixed;left:8px;right:8px;top:auto;bottom:8px;max-width:none;min-width:0;z-index:90}
 .pinned-compare-area{max-height:28vh;margin:4px 3px 6px}
 .pinned-compare-title{font-size:8px}
 .row-pin-button{font-size:11px}
 .party-operator-cell .compact-select{max-width:110px}
 .synergy-group-toggle{min-height:26px}
}
/* Semantic dictionary rows use the same central token mapping as tooltips. */
.dictionary-row[data-semantic-color="element-cryo"]{background:var(--element-cryo)}
.dictionary-row[data-semantic-color="element-heat"]{background:var(--element-heat)}
.dictionary-row[data-semantic-color="element-electric"]{background:var(--element-electric)}
.dictionary-row[data-semantic-color="element-nature"]{background:var(--element-nature)}
.dictionary-row[data-semantic-color="status-freeze"]{background:var(--status-freeze)}
.dictionary-row[data-semantic-color="status-burn"]{background:var(--status-burn)}
.dictionary-row[data-semantic-color="status-shock"]{background:var(--status-shock)}
.dictionary-row[data-semantic-color="status-corrosion"]{background:var(--status-corrosion)}

/* v0.2.7 seventh UI/usability feedback: denser multicolor pastel hierarchy without changing spreadsheet layout. */
:root{
 --v027-blue:#d7e7f3;--v027-blue-strong:#c5dced;--v027-mint:#dff1e8;--v027-lavender:#e9e2f3;--v027-peach:#f6e7d8;--v027-sand:#f3e7bc;--v027-rose:#f3d9dc;--v027-special:#e5dcf0;--v027-neutral:#eef3f6;
 --cell-section:var(--v027-blue);--cell-header:var(--v027-blue-strong);--cell-input:var(--v027-mint);--cell-derived:var(--v027-lavender);--cell-manual:var(--v027-peach);--cell-warning:var(--v027-rose);--cell-selected:#cfeaf2;--cell-pinned:var(--v027-sand);--cell-neutral:var(--v027-neutral);
 --font-core:12px;--font-normal:11px;--font-caption:9px;
 --element-cryo:#d7ecf4;--element-heat:#f2ded6;--element-electric:#eee6bd;--element-nature:#d9ecd9;
 --status-freeze:#c6e1ed;--status-burn:#eccfc5;--status-shock:#e5dcab;--status-corrosion:#cde4d0;--status-slow:#dce8ee;
}
body{background:#e7eef3;font-size:var(--font-normal)}
.app-header,.main-nav{background:#edf4f8}.section-block,.description-sheet,.state-panel{border-color:#aebfca}
.section-title,.panel-title{background:var(--cell-section);border-color:#aebfca}.section-title h2,.panel-title{font-size:var(--font-core)}
.section-title span,.muted,.preset-note{font-size:var(--font-caption)}
.dense-table{font-size:var(--font-normal)}.dense-table thead th{font-size:10px;border-color:#bcc9d1}.dense-table th,.dense-table td{border-color:#c6d0d6}
.dense-table tbody tr:hover>td,.dense-table tbody tr:hover>th{background:#e5f0f3!important}
.dense-table tbody tr.selected-row>td,.dense-table tbody tr.selected-row>th{background:var(--cell-selected)!important;border-left-color:#3c92ad}.selected-row{box-shadow:inset 3px 0 #3c92ad}
.pin-section.is-pinned,.pinned-row>td,.pinned-row>th,.pinned-synergy-flow{background:var(--cell-pinned)!important}.pin-section.is-pinned{border-color:#b99c42;box-shadow:0 3px 9px #76611922}.pin-toggle[aria-pressed="true"],.row-pin-button[aria-pressed="true"],.synergy-relation-pin[aria-pressed="true"]{background:#efd990;border-color:#b49639;color:#5f4d14}
.pin-party.is-pinned,.pin-synergy.is-pinned,.pin-cycle.is-pinned,.pin-state.is-pinned{position:sticky;top:var(--pin-top,0);z-index:25}.pin-state.is-pinned{max-height:260px;overflow:auto}

/* Settings use role/group pastels instead of one blue block. */
.settings-group-basic th{background:#d4e5f2!important}.settings-group-skill th{background:#dcdcf1!important}.settings-group-weapon th{background:#e5def0!important}.settings-group-equipment th{background:#dcebdd!important}.settings-group-special th{background:#eadff1!important}
.settings-table tr.setting-basic-row>th{background:#e3edf4}.settings-table tr.setting-skill-row>th{background:#e8e6f2}.settings-table tr.setting-weapon-row>th{background:#ede5f2}.settings-table tr.setting-equipment-row>th{background:#e4eee3}.settings-table tr.setting-special-row>th{background:#eee5f2}
.settings-table .cell-input{background:var(--cell-input)!important}.settings-table .cell-derived{background:var(--cell-derived)!important}.preset-manager .preset-box{background:#edf3f6;border-color:#b8c5cd}.preset-manager .preset-box:nth-child(1){background:#e3f1ea}.preset-manager .preset-box:nth-child(2){background:#eae4f2}

/* Shared identity and skill-type display. */
.operator-ident-cell{position:relative;font-weight:700;font-size:var(--font-core);padding-left:9px!important}.operator-element-accent{display:inline-flex;align-items:center;justify-content:center;min-width:17px;margin-right:3px;font-size:11px;font-weight:800;vertical-align:middle}.operator-ident-cell[data-operator-element="CRYO"]{border-left:3px solid #6ca9c2}.operator-ident-cell[data-operator-element="HEAT"]{border-left:3px solid #bf8069}.operator-ident-cell[data-operator-element="ELECTRIC"]{border-left:3px solid #aa9447}.operator-ident-cell[data-operator-element="NATURE"]{border-left:3px solid #669d70}.operator-ident-cell[data-operator-element="PHYSICAL"]{border-left:3px solid #7c8791}
.skill-type-label{display:inline-flex;align-items:center;gap:2px;padding:1px 4px;border:1px solid #aebbc9;border-radius:2px;font-size:10px;font-weight:800;white-space:nowrap}.skill-type-normal{background:#e7ecef}.skill-type-battle{background:#d9eaf4;border-color:#8fb8cd}.skill-type-chain{background:#e1e5f4;border-color:#9da9d0}.skill-type-ultimate,.skill-type-ultimate-subaction{background:#eee0ef;border-color:#bea0c1}.skill-type-followup,.skill-type-special,.skill-type-counter{background:#e3efe5;border-color:#9abd9e}
.cycle-table .skill-type-cell{border-left-width:3px}.cycle-table .skill-type-battle{border-left-color:#79aac1}.cycle-table .skill-type-chain{border-left-color:#8999c6}.cycle-table .skill-type-ultimate{border-left-color:#ad81b2}

/* Synergy groups start collapsed; pinned relations remain compactly visible. */
.synergy-group{border-color:#b9c8d0}.synergy-group-toggle{background:#dce8ef;font-size:10px;min-height:24px}.synergy-group.collapsed .synergy-group-toggle{background:#e7eef2}.synergy-group-body{padding:3px 5px}.synergy-flow{position:relative;padding-right:3px}.synergy-relation-pin{flex:0 0 auto;align-self:flex-start;border:1px solid transparent;background:transparent;padding:1px 3px;border-radius:2px;font-size:10px;line-height:1.3}.synergy-relation-pin:hover,.synergy-relation-pin:focus{background:#f5edcf;border-color:#c8ae55;outline:none}.pinned-synergy-flow{border:1px solid #d1b65c;padding:3px 4px}.synergy-group.collapsed .pinned-synergy-flow{margin:1px 0}

/* Common compact toolbars. */
.toolbar-actions,.table-filter-bar,.eventlog-filters,.transfer-controls{align-items:center}.toolbar-actions button,.toolbar-file-button,.table-filter-bar button,.eventlog-filters button,.preset-load-compact>summary{min-height:24px;border:1px solid #a8bac5;border-radius:3px;padding:3px 7px;background:#eef4f7;font-size:10px;font-weight:700;line-height:1.2}.toolbar-actions button:hover,.toolbar-file-button:hover,.table-filter-bar button:hover,.eventlog-filters button:hover{background:#e1edf2}.eventlog-filters button.active{background:var(--cell-selected);border-color:#6f9fb4}.toolbar-file-button{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toolbar-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.transfer-controls{display:inline-flex;gap:4px;position:relative}.transfer-message{position:absolute;right:0;top:100%;z-index:15;white-space:nowrap;background:#e0f0e7;border:1px solid #93b49e;padding:2px 5px;font-size:9px}.transfer-message.error{background:var(--cell-warning);border-color:#c38d92}.skill-lookup-load-right{margin-left:auto}

/* Cycle summary and EventLog stay thin and table-like. */
.cycle-summary-panel>summary{display:flex;align-items:center;gap:8px;padding:6px 9px;background:var(--cell-section);border-bottom:1px solid #afbec7;cursor:pointer;list-style:none}.cycle-summary-panel>summary::-webkit-details-marker{display:none}.cycle-summary-panel>summary strong{font-size:var(--font-core)}.cycle-summary-panel>summary span{font-size:var(--font-caption);color:var(--muted)}.cycle-summary-body{padding:5px 7px}.cycle-summary-counts{display:flex;flex-wrap:wrap;gap:3px}.summary-count{display:grid;grid-template-columns:auto 24px;gap:5px;padding:2px 5px;border:1px solid #bcc8cf;background:#eef3f6;font-size:10px}.summary-count strong{text-align:right}.operator-contribution{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px;margin-top:5px}.operator-contribution section{border:1px solid #c1cbd1;background:#f0f3f5}.operator-contribution h4{margin:0;padding:3px 5px;background:#dde7ed;font-size:11px}.contribution-line{display:flex;justify-content:space-between;gap:8px;padding:1px 5px;font-size:10px}.eventlog-toolbar{align-items:flex-start}.eventlog-list{max-height:280px;overflow:auto}.eventlog-row{display:grid;grid-template-columns:45px 90px minmax(0,1fr);gap:4px;padding:2px 6px;border-bottom:1px solid #ccd5da;background:#f1f4f6;font-size:10px}.eventlog-row:hover{background:#e7eff2}.eventlog-row.event-warning{background:var(--cell-warning)}.eventlog-row.event-resource{border-left:3px solid #bb9e68}.eventlog-row.event-buff{border-left:3px solid #75a67d}.eventlog-row.event-debuff{border-left:3px solid #b17d83}.eventlog-row.event-trigger{border-left:3px solid #8c88b6}.eventlog-row.event-swap{border-left:3px solid #6f9fb3}.eventlog-seq{color:var(--muted)}.eventlog-actor{font-weight:700}

/* Effect taxonomy and semantic accents: color is a cue, not the whole cell. */
.dictionary-top-section{border:1px solid #aebfc9;margin:5px;background:#eef3f6}.dictionary-top-section>.dictionary-section-heading,.dictionary-section>.dictionary-section-heading{padding:5px 7px;background:#d7e5ee;font-size:11px;font-weight:800}.dictionary-section-heading span:last-child,.dictionary-subsection-heading span:last-child{color:var(--muted);font-size:9px}.dictionary-subsection{margin:4px;border:1px solid #bfccd3;background:#f3f6f7}.dictionary-subsection-heading{padding:3px 5px;background:#e2e9ed;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.dictionary-source-note{display:block;margin-top:2px;color:var(--muted);font-size:var(--font-caption)}.dictionary-row{border-left:3px solid transparent;background:#f2f5f6!important}.dictionary-row[data-semantic-color="element-cryo"]{border-left-color:#6ba8c0}.dictionary-row[data-semantic-color="element-heat"]{border-left-color:#bd806b}.dictionary-row[data-semantic-color="element-electric"]{border-left-color:#aa9344}.dictionary-row[data-semantic-color="element-nature"]{border-left-color:#649b6e}.dictionary-row[data-semantic-color="status-freeze"]{border-left-color:#4f91ac}.dictionary-row[data-semantic-color="status-burn"]{border-left-color:#ad6855}.dictionary-row[data-semantic-color="status-shock"]{border-left-color:#94813e}.dictionary-row[data-semantic-color="status-corrosion"]{border-left-color:#548a5d}.dictionary-row[data-semantic-color="status-slow"]{border-left-color:#7897a7}
.entity-tooltip-wrap[data-semantic-color="status-slow"] .entity-tooltip-trigger{background:var(--status-slow);text-decoration-color:#7897a7}

/* Three-level typography only. */
.app-header h1,.section-title h2,.panel-title,.operator-ident-cell,.operator-contribution h4{font-weight:800}.info-group-content,.result-line,.state-value,.dictionary-row,.eventlog-row{font-size:var(--font-normal)}.info-group-label,.result-group-label,.verification,.dictionary-kind,.dictionary-source-note,.eventlog-seq{font-size:var(--font-caption)}

@media(max-width:700px){
 .pin-party.is-pinned,.pin-synergy.is-pinned,.pin-cycle.is-pinned,.pin-state.is-pinned{top:0!important;max-height:44vh;z-index:40}
 .pin-state.is-pinned{overflow:auto}.operator-ident-cell{font-size:11px}.operator-element-accent{min-width:15px}.transfer-controls{flex-wrap:wrap}.transfer-message{position:fixed;left:8px;right:8px;top:auto;bottom:8px;white-space:normal}.eventlog-row{grid-template-columns:36px 72px minmax(0,1fr)}.eventlog-filters{max-width:100%;overflow-x:auto;flex-wrap:nowrap!important}.cycle-summary-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.operator-contribution{grid-template-columns:1fr}.skill-lookup-load-right{margin-left:0;width:100%;display:flex;justify-content:flex-end}
}

/* v0.2.8 convenience / navigation / comparison layer. Dense spreadsheet layout remains the baseline. */
.main-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.main-nav .compact-tabs{min-width:0}.nav-tools{margin-left:auto;display:flex;align-items:center;gap:4px;flex:0 0 auto}.nav-tools>button,.ui-pref-controls>summary,.pin-manager-popover button,.state-view-toggle button,.problem-navigator button,.long-cell-toggle,.related-jump,.synergy-related-jump{min-height:23px;border:1px solid #a8bac5;border-radius:3px;padding:2px 6px;background:#eef4f7;font-size:10px;line-height:1.2}.nav-tools>button:hover,.ui-pref-controls>summary:hover,.pin-manager-popover button:hover,.state-view-toggle button:hover,.problem-navigator button:hover,.long-cell-toggle:hover,.related-jump:hover,.synergy-related-jump:hover{background:#e1edf2}.nav-tools>button:disabled{opacity:.4;cursor:default}
.ui-pref-controls{position:relative}.ui-pref-controls>summary{list-style:none;cursor:pointer;white-space:nowrap}.ui-pref-controls>summary::-webkit-details-marker{display:none}.pin-manager-popover{position:absolute;right:0;top:calc(100% + 3px);z-index:80;width:min(320px,86vw);max-height:320px;overflow:auto;border:1px solid #9fb3bf;background:#f8fafb;box-shadow:0 5px 18px #31444f2b;padding:6px}.pin-manager-popover h4{margin:0 0 5px;font-size:11px}.pin-manager-list{display:grid;gap:2px;margin:0 0 6px;padding:0;list-style:none}.pin-manager-list li{padding:2px 4px;border:1px solid #d1d9de;background:#f1f4f6;font-size:9px;overflow-wrap:anywhere}.pin-manager-actions{display:flex;flex-wrap:wrap;gap:3px}.pin-manager-actions .destructive-action{margin-left:auto}

.preset-source-status{display:inline-flex!important;align-items:center;gap:3px;margin-left:5px;padding:1px 4px;border:1px solid #abc3b3;border-radius:2px;background:#e3f1e8;color:#385d45!important;font-weight:700}.preset-source-status.dirty{background:#f4ead0;border-color:#cdb56d;color:#6d5720!important}

.state-panel .panel-title{display:flex;align-items:center;justify-content:space-between;gap:7px}.state-view-toggle{display:inline-flex;gap:2px;margin-left:auto}.state-view-toggle button[aria-pressed="true"]{background:var(--cell-selected);border-color:#70a5b9;font-weight:800}.snapshot-diff{padding:5px 7px;background:#f7f9fa}.snapshot-diff-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:3px}.snapshot-diff-item{display:grid;grid-template-columns:minmax(70px,.8fr) 1fr;gap:5px;border:1px solid #c7d1d7;background:#eef3f6;padding:3px 5px;font-size:10px}.snapshot-diff-label{font-weight:800}.snapshot-diff-values{display:flex;align-items:center;gap:4px;min-width:0}.snapshot-diff-arrow{color:#5e7786}.snapshot-diff-empty{padding:7px;color:var(--muted);font-size:10px}

/* Pinned comparison: highlight only literal value differences; no good/bad semantics. */
.pinned-compare-table .compare-different{background:#eee6f6!important;box-shadow:inset 0 0 0 1px #c6acd7}.pinned-compare-table .compare-different[data-numeric-direction="up"]::after,.pinned-compare-table .compare-different[data-numeric-direction="down"]::after{font-size:8px;color:#657680;margin-left:3px}.pinned-compare-table .compare-different[data-numeric-direction="up"]::after{content:"▲"}.pinned-compare-table .compare-different[data-numeric-direction="down"]::after{content:"▼"}

.verification-badge{display:inline-flex;align-items:center;white-space:nowrap;margin-left:4px;padding:0 3px;border-radius:2px;border:1px solid #bdc8cf;background:#eef2f4;font-size:8px;font-weight:800;line-height:1.5;vertical-align:middle}.verification-badge-verified{background:#e0efe5;border-color:#9fbdaa;color:#3d694b}.verification-badge-unverified{background:#f3ecd5;border-color:#c9b77c;color:#735e20}.verification-badge-conflict{background:#f1dadd;border-color:#cc969c;color:#8a333c}.verification-badge-derived{background:#e9e1f2;border-color:#b7a6cb;color:#635376}

.description-global-tools{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:5px 8px;border-bottom:1px solid #bcc9d1;background:#e9f0f4}.description-global-tools label{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700}.description-global-tools .compact-search{min-width:190px}.description-global-tools .lookup-source{margin-left:auto;font-size:9px;font-weight:700;color:#4c6574}.active-filter-chips{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:3px 8px;border-bottom:1px solid #d0d8dd;background:#f4f6f7}.filter-chip{display:inline-flex;align-items:center;gap:3px;border:1px solid #aebec8;background:#e7eff3;border-radius:10px;padding:1px 5px;font-size:9px}.filter-chip button{border:0;background:transparent;padding:0;line-height:1;font-size:11px}.search-highlight{background:#f1e49c;border-radius:2px;padding:0 1px;color:inherit}.description-return-button{white-space:nowrap}

/* Spreadsheet scrolling cues. */
.table-scroll{position:relative}.table-scroll.scroll-shadow-right{box-shadow:inset -12px 0 10px -12px #4f657a99}.table-scroll.scroll-shadow-left{box-shadow:inset 12px 0 10px -12px #4f657a99}.table-scroll.scroll-shadow-left.scroll-shadow-right{box-shadow:inset 12px 0 10px -12px #4f657a99,inset -12px 0 10px -12px #4f657a99}

/* Cycle's identity columns remain visible during horizontal scrolling. */
@media(min-width:901px){
 .cycle-table th:nth-child(1),.cycle-table td:nth-child(1){position:sticky;left:0;z-index:4;width:32px;min-width:32px;max-width:32px;background:#edf2f5}
 .cycle-table th:nth-child(2),.cycle-table td:nth-child(2){position:sticky;left:32px;z-index:4;width:95px;min-width:95px;background:#f0f4f6}
 .cycle-table th:nth-child(3),.cycle-table td:nth-child(3){position:sticky;left:127px;z-index:4;width:145px;min-width:145px;background:#f4f6f7;box-shadow:2px 0 2px #566a7820}
 .cycle-table thead th:nth-child(-n+3){z-index:8;background:var(--cell-header)}
 .cycle-table tr.selected-row td:nth-child(-n+3){background:var(--cell-selected)!important}.cycle-table tr.rejected-row td:nth-child(-n+3){background:var(--cell-warning)!important}.cycle-table tr:hover td:nth-child(-n+3){filter:brightness(.985)}
 .description-compare th:first-child,.description-compare td:first-child,.weapon-description-table th:first-child,.weapon-description-table td:first-child,.equipment-spec-table th:first-child,.equipment-spec-table td:first-child,.dictionary-table th:first-child,.dictionary-table td:first-child{position:sticky;left:0;z-index:4;background:#edf2f5;box-shadow:2px 0 2px #566a7820}
 .description-compare thead th:first-child,.weapon-description-table thead th:first-child,.equipment-spec-table thead th:first-child,.dictionary-table thead th:first-child{z-index:7;background:var(--cell-header)}
 .pinned-compare-table thead th{top:0}
}

/* Desktop column resizing; inline widths are saved as UI preferences. */
@media(min-width:701px){.dense-table thead th{position:sticky}.column-resize-handle{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:12;touch-action:none}.column-resize-handle::after{content:"";position:absolute;right:2px;top:20%;bottom:20%;width:1px;background:#71889555}.column-resize-handle:hover::after{background:#557b93}}

.problem-navigator{display:inline-flex;align-items:center;gap:2px;border:1px solid #c4a2a6;background:#f5e6e8;padding:2px 3px;border-radius:3px;white-space:nowrap}.problem-navigator strong{font-size:10px;color:#843942}.problem-navigator button{background:#f8eeee;border-color:#c7a7ab;padding:2px 4px}.related-jump,.synergy-related-jump{display:inline;padding:0 2px;min-height:0;border-color:transparent;background:transparent;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.related-jump:focus,.synergy-related-jump:focus{outline:2px solid #84aebe;outline-offset:1px}

.destructive-action{border-color:#c29a9e!important}.destructive-action:hover,.destructive-action:focus{background:#f2dadd!important;border-color:#b66f77!important;color:#7f2932}.row-buttons .destructive-action{color:#874047}.row-buttons button{white-space:nowrap}

.long-cell{min-width:0}.long-cell-content{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.long-cell.expanded .long-cell-content{display:block;overflow:visible}.long-cell-toggle{margin-top:2px;min-height:19px;padding:1px 4px;background:#f2f5f6;color:#426171}

/* Fixed short labels never split; long explanatory content can still wrap normally. */
.skill-type-label,.result-group-label,.info-group-label,.problem-navigator,.manual-sp-toolbar label,.state-view-toggle button,.verification-badge,.filter-chip,.toolbar-actions>button,.toolbar-actions>label{white-space:nowrap}.dense-table td,.dense-table th,.long-cell-content,.result-group-content,.info-group-content{white-space:normal}.dictionary-row b,.operator-ident-cell{overflow-wrap:normal;word-break:keep-all}

/* Narrow toolbars remain one compact horizontal strip instead of disorderly multi-line wrapping. */
@media(max-width:700px){
 .main-nav{padding:0 5px;gap:3px}.main-nav>.compact-tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.main-nav>.compact-tabs button{flex:0 0 auto;padding:7px 8px}.nav-tools{gap:2px}.nav-tools>button{padding:2px 4px}.ui-pref-controls>summary{padding:2px 4px}.nav-tools .undo-label{display:none}
 .cycle-toolbar .toolbar-actions{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;max-width:100%;padding-bottom:2px;scrollbar-width:thin}.cycle-toolbar .toolbar-actions>*{flex:0 0 auto}.cycle-toolbar .manual-sp-toolbar{margin-left:6px;order:999}
 .description-global-tools{flex-wrap:wrap;padding:4px}.description-global-tools label:first-child{width:100%}.description-global-tools .compact-search{min-width:0;width:100%}.description-global-tools .lookup-source{margin-left:0;width:100%}.active-filter-chips{overflow-x:auto;flex-wrap:nowrap}.filter-chip{flex:0 0 auto}
 .snapshot-diff-list{grid-template-columns:1fr}.snapshot-diff-item{grid-template-columns:90px minmax(0,1fr)}
 .column-resize-handle{display:none!important}.pin-manager-popover{position:fixed;left:8px;right:8px;top:64px;width:auto;max-height:50vh}
 .problem-navigator{flex:0 0 auto}.long-cell-content{-webkit-line-clamp:2}
 body,.app-shell,.page{max-width:100%;overflow-x:hidden}.table-scroll{max-width:100%;overflow-x:auto}
}
@media(max-width:700px){.cycle-toolbar .toolbar-actions{flex-wrap:wrap!important;overflow-x:visible}.cycle-toolbar .toolbar-actions>*{flex:0 0 auto}.cycle-toolbar .manual-sp-toolbar{margin-left:auto;order:999}}
.pin-manager-panel{position:absolute;right:0;top:calc(100% + 3px);z-index:80;width:min(320px,86vw);max-height:320px;overflow:auto;border:1px solid #9fb3bf;background:#f8fafb;box-shadow:0 5px 18px #31444f2b;padding:6px}.pin-manager-panel>b{display:block;margin-bottom:4px}.pin-manager-items{display:grid;gap:2px;margin-bottom:5px}.pin-manager-items>span{display:block;padding:2px 4px;border:1px solid #d1d9de;background:#f1f4f6;font-size:9px;overflow-wrap:anywhere}.pin-manager-panel>button{margin-top:4px}.danger-soft,.danger-button{border-color:#c29a9e!important}.danger-soft:hover,.danger-soft:focus,.danger-button:hover,.danger-button:focus{background:#f2dadd!important;color:#7f2932}
@media(max-width:700px){.pin-manager-panel{position:fixed;left:8px;right:8px;top:64px;width:auto;max-height:50vh}}
.pin-state .state-view-toggle{margin-right:58px}.snapshot-diff-row{display:grid;grid-template-columns:minmax(78px,.8fr) minmax(0,1fr) 14px minmax(0,1fr);gap:5px;align-items:center;border-bottom:1px solid #c7d1d7;padding:3px 5px;font-size:10px}.snapshot-diff-row:last-child{border-bottom:0}.snapshot-diff-row>b{font-weight:800}.snapshot-diff-row>strong{font-weight:800;color:#325d73}
@media(max-width:700px){.pin-state .state-view-toggle{margin-right:52px}.snapshot-diff-row{grid-template-columns:82px minmax(0,1fr) 12px minmax(0,1fr)}}

/* v0.2.9 UI · responsive · taxonomy cleanup */
:root{
 --control-height:30px;
 --font-core:13px;
 --font-normal:12px;
 --font-caption:10px;
 --cell-section:#dce8f0;
 --cell-header:#d4e1e9;
 --cell-input:#ffffff;
 --cell-derived:#f7f9fa;
 --cell-neutral:#f7f9fa;
 --cell-pinned:#fff7dc;
 --cell-selected:#d9eef5;
}
body{font-size:var(--font-normal);background:#eaf0f4}
.app-header p{font-size:10px}.baseline-badge{font-size:9px;opacity:.82}
.section-title,.panel-title{min-height:38px;padding:6px 9px;background:var(--cell-section)}
.section-title h2,.panel-title{font-size:var(--font-core)}
.section-title span,.muted,.preset-note{font-size:var(--font-caption)}
.dense-table{font-size:var(--font-normal)}
.dense-table thead th{font-size:11px;background:var(--cell-header)}
.dense-table th,.dense-table td{border-color:#dbe2e6;padding:4px 5px}
.settings-table .settings-group th{border-top:2px solid #aebfc9;border-bottom:1px solid #bfcbd2;background:#e2eaf0!important}
.settings-table tr.setting-basic-row>th,.settings-table tr.setting-skill-row>th,.settings-table tr.setting-weapon-row>th,.settings-table tr.setting-equipment-row>th,.settings-table tr.setting-special-row>th{background:#f0f4f6!important}
.settings-table td,.settings-table td.cell-input,.settings-table td.cell-derived{background:#fff!important}
.settings-table select,.settings-table input,.descriptions-page select,.descriptions-page input,.preset-controls select,.preset-controls input,.preset-load-panel select{background:#fff!important;border:1px solid #9fb4c1!important}
.fixed-value{display:inline;padding:0;border:0;background:transparent!important;font-size:inherit;font-weight:700;min-height:0;box-shadow:none}
.lookup-setting-group,.weapon-setting-group{background:#f7f9fa!important;border-color:#d6e0e5}
.preset-manager .preset-box,.preset-manager .preset-box:nth-child(1),.preset-manager .preset-box:nth-child(2){background:#f8fafb!important;border-color:#c6d0d6!important}
.preset-source-status{background:#eef3f6;border-color:#b9c6cd;color:#405864!important}.preset-source-status.dirty{background:#fff3d6;border-color:#ccb36f;color:#6d5720!important}
.verification-badge,.verification{display:none!important}

/* Unified compact controls. */
.toolbar-actions button,.toolbar-file-button,.table-filter-bar button,.eventlog-filters button,.preset-load-compact>summary,.preset-actions button,.nav-tools>button,.screen-settings>summary,.state-view-toggle button,.problem-navigator button,.long-cell-toggle,.row-buttons button,.compact-select,.numeric-select,.filter-select,.manual-sp-toolbar select{
 min-height:var(--control-height);height:var(--control-height);border-radius:3px;line-height:1.15;font-size:11px;
}
.toolbar-actions button,.toolbar-file-button,.table-filter-bar button,.eventlog-filters button,.preset-load-compact>summary,.preset-actions button,.nav-tools>button,.screen-settings>summary,.state-view-toggle button,.problem-navigator button,.long-cell-toggle,.row-buttons button{padding:4px 8px;border:1px solid #a9b9c3;background:#f5f8fa}
.toolbar-actions button.active,.eventlog-filters button.active,.compact-tabs button.active{background:#e0eef5;border-color:#719db5;color:#234f68}
.screen-settings{position:relative}.screen-settings>summary{display:flex;align-items:center;list-style:none;cursor:pointer;white-space:nowrap}.screen-settings>summary::-webkit-details-marker{display:none}
.screen-settings-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:90;display:grid;gap:4px;min-width:150px;padding:6px;border:1px solid #a9bac4;background:#fff;box-shadow:0 5px 18px #31444f2b}
.screen-settings-panel button{min-height:30px;border:1px solid #a9b9c3;background:#f7fafb;border-radius:3px;padding:4px 7px;text-align:left}

/* Pin comparison is a neutral comparison area, not a category color. */
.pinned-compare-area{background:#fbfcfd;border-color:#b9c6ce}
.pinned-compare-title{background:#edf2f5;border-bottom-color:#c6d0d6;color:#3e5968}
.pinned-compare-table .compare-different{background:#eef6fa!important;box-shadow:inset 0 0 0 1px #b7d3df}

/* Cycle and party tables fit the desktop container: no horizontal scrolling and no horizontal sticky columns. */
.cycle-page .table-scroll,.party-summary .table-scroll{overflow-x:visible!important;box-shadow:none!important}
.party-table,.cycle-table{min-width:0!important;width:100%!important;table-layout:fixed}
.party-table th:nth-child(1){width:10%}.party-table th:nth-child(2){width:10%}.party-table th:nth-child(3),.party-table th:nth-child(4),.party-table th:nth-child(5){width:15%}.party-table th:nth-child(6){width:15%}.party-table th:nth-child(7){width:20%}
.cycle-table th:nth-child(1){width:3%}.cycle-table th:nth-child(2){width:9%}.cycle-table th:nth-child(3){width:11%}.cycle-table th:nth-child(4){width:12%}.cycle-table th:nth-child(5){width:16%}.cycle-table th:nth-child(6){width:9%}.cycle-table th:nth-child(7){width:9%}.cycle-table th:nth-child(8){width:12%}.cycle-table th:nth-child(9){width:8%}.cycle-table th:nth-child(10){width:11%}
@media(min-width:901px){
 .cycle-table tbody th:nth-child(-n+3),.cycle-table tbody td:nth-child(-n+3),.description-compare tbody th:first-child,.description-compare tbody td:first-child,.weapon-description-table tbody th:first-child,.weapon-description-table tbody td:first-child,.equipment-spec-table tbody th:first-child,.equipment-spec-table tbody td:first-child,.dictionary-table tbody th:first-child,.dictionary-table tbody td:first-child{position:static!important;left:auto!important;box-shadow:none!important}
 .cycle-table thead th,.description-compare thead th,.weapon-description-table thead th,.equipment-spec-table thead th,.equipment-set-table thead th{position:sticky!important;top:0;z-index:5}
}
.cycle-page .column-resize-handle,.descriptions-page .column-resize-handle{display:none!important}
.party-element-class{white-space:nowrap}

/* Description tables: fit desktop width and keep all fields readable by wrapping. */
.descriptions-page .table-scroll{overflow-x:visible!important;box-shadow:none!important}
.skill-talent-table,.weapon-description-table,.equipment-spec-table,.equipment-set-table{min-width:0!important;width:100%!important;table-layout:fixed}
.skill-talent-table th:nth-child(1){width:10%}.skill-talent-table th:nth-child(2){width:8%}.skill-talent-table th:nth-child(3){width:12%}.skill-talent-table th:nth-child(4){width:12%}.skill-talent-table th:nth-child(5),.skill-talent-table th:nth-child(6),.skill-talent-table th:nth-child(7){width:12%}.skill-talent-table th:nth-child(8),.skill-talent-table th:nth-child(9){width:11%}
.weapon-description-table th:nth-child(1){width:12%}.weapon-description-table th:nth-child(2){width:8%}.weapon-description-table th:nth-child(3){width:14%}.weapon-description-table th:nth-child(4){width:14%}.weapon-description-table th:nth-child(5),.weapon-description-table th:nth-child(6),.weapon-description-table th:nth-child(7),.weapon-description-table th:nth-child(8){width:13%}
.equipment-spec-table th:nth-child(1){width:18%}.equipment-spec-table th:nth-child(2){width:10%}.equipment-spec-table th:nth-child(3){width:18%}.equipment-spec-table th:nth-child(4){width:36%}.equipment-spec-table th:nth-child(5){width:18%}
.equipment-set-table th:nth-child(1){width:20%}.equipment-set-table th:nth-child(2){width:10%}.equipment-set-table th:nth-child(3){width:70%}
.weapon-description-table td,.skill-talent-table td,.equipment-spec-table td,.equipment-set-table td{overflow-wrap:anywhere;word-break:keep-all}

/* Simplified palette: semantic colors remain accents, not whole category fills. */
.cell-input,.input-cell{background:#fff!important}.cell-derived{background:#f7f9fa!important}
.dictionary-row{background:#fff!important;border-bottom:1px solid #e0e6e9}
.dictionary-top-section{background:#f7f9fa}.dictionary-subsection{background:#fafbfc}.dictionary-subsection-heading{background:#edf2f5}

/* Slightly larger readable text while keeping density through smaller repeated gaps. */
.info-group-content,.result-line,.state-value,.dictionary-row,.eventlog-row{font-size:12px}
.info-group-label,.result-group-label,.dictionary-kind,.dictionary-source-note,.eventlog-seq{font-size:10px}
.party-skill-groups,.party-core-condition-groups{gap:1px}.info-group{row-gap:1px}.spec-line{line-height:1.25}

/* Mobile is a first-class stacked renderer, not a squeezed desktop table. */
@media(max-width:700px){
 body,.app-shell,.page{max-width:100%;overflow-x:visible!important}
 .baseline-badge{display:none}
 .main-nav{display:flex;flex-wrap:wrap;padding:0 5px 5px;gap:3px}
 .main-nav>.compact-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:2px}
 .main-nav>.compact-tabs button{min-width:0;padding:8px 5px;white-space:nowrap;font-size:12px}
 .nav-tools{width:100%;justify-content:flex-end;gap:3px}
 .nav-tools>button,.screen-settings>summary{min-height:36px;height:36px;padding:5px 8px}
 .screen-settings-panel{position:fixed;left:8px;right:8px;top:82px;min-width:0}
 .section-title{padding:5px 7px;min-height:36px}.section-title h2{font-size:13px}
 .party-table tr{margin:3px;border-color:#c6d0d6}.party-table td{padding:3px 5px}.party-table td:nth-child(2){padding-top:2px;padding-bottom:2px}.party-table td:nth-child(n+3){grid-template-columns:78px minmax(0,1fr);gap:3px}.party-table td:nth-child(n+3)::before{font-size:10px}.party-summary .info-group{grid-template-columns:48px minmax(0,1fr)}
 .cycle-page .table-scroll,.descriptions-page .table-scroll{overflow-x:visible!important}
 .cycle-table{display:block}.cycle-table tbody,.cycle-table tr,.cycle-table td{display:block}.cycle-table tr{margin:5px 0}.cycle-table td{width:auto!important;position:static!important}
 .cycle-table td:nth-child(1){position:absolute!important;right:5px!important;top:5px!important}
 .cycle-toolbar .toolbar-actions{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;max-width:100%}.cycle-toolbar .toolbar-actions>*{flex:0 0 auto}.cycle-toolbar .manual-sp-toolbar{margin-left:auto;order:999}
 .row-buttons button,.row-pin-button,.pin-toggle,.synergy-relation-pin,.long-cell-toggle,.preset-actions button,.table-filter-bar button,.eventlog-filters button{min-height:38px;min-width:38px;height:auto}
 .compact-select,.numeric-select,.filter-select,.manual-sp-toolbar select{min-height:38px;height:38px}
 .description-global-tools{gap:4px}.description-global-tools label{font-size:11px}.active-filter-chips{padding:3px 5px}
 .skill-talent-table,.weapon-description-table,.equipment-spec-table,.equipment-set-table{display:block!important;width:100%!important;min-width:0!important}
 .skill-talent-table thead,.weapon-description-table thead,.equipment-spec-table thead,.equipment-set-table thead{display:none!important}
 .skill-talent-table tbody,.weapon-description-table tbody,.equipment-spec-table tbody,.equipment-set-table tbody{display:block!important}
 .skill-talent-table tr,.weapon-description-table tr,.equipment-spec-table tr,.equipment-set-table tr{display:block!important;margin:5px 0;border:1px solid #c6d0d6;background:#fff}
 .skill-talent-table th,.skill-talent-table td,.weapon-description-table th,.weapon-description-table td,.equipment-spec-table th,.equipment-spec-table td,.equipment-set-table th,.equipment-set-table td{display:grid!important;grid-template-columns:108px minmax(0,1fr);gap:6px;width:auto!important;position:static!important;border-right:0;padding:5px 6px;align-items:start}
 .skill-talent-table th:first-child,.weapon-description-table th:first-child,.equipment-spec-table th:first-child,.equipment-set-table th:first-child{display:block!important;background:#edf2f5;font-size:13px}
 .skill-talent-table td::before,.weapon-description-table td::before,.equipment-spec-table td::before,.equipment-set-table td::before{font-size:10px;font-weight:800;color:#526a78;white-space:nowrap}
 .skill-talent-table td:nth-child(2)::before{content:"속성/직군"}.skill-talent-table td:nth-child(3)::before{content:"조회 세팅"}.skill-talent-table td:nth-child(4)::before{content:"일반 · 강력한 일격"}.skill-talent-table td:nth-child(5)::before{content:"◆ 배틀"}.skill-talent-table td:nth-child(6)::before{content:"↻ 연계"}.skill-talent-table td:nth-child(7)::before{content:"★ 궁극기"}.skill-talent-table td:nth-child(8)::before{content:"전투재능"}.skill-talent-table td:nth-child(9)::before{content:"잠재"}
 .weapon-description-table td:nth-child(2)::before{content:"등급/유형"}.weapon-description-table td:nth-child(3)::before{content:"세팅"}.weapon-description-table td:nth-child(4)::before{content:"기질"}.weapon-description-table td:nth-child(5)::before{content:"효과 1"}.weapon-description-table td:nth-child(6)::before{content:"효과 2"}.weapon-description-table td:nth-child(7)::before{content:"효과 3"}.weapon-description-table td:nth-child(8)::before{content:"사용 가능"}
 .equipment-spec-table td:nth-child(2)::before{content:"부위"}.equipment-spec-table td:nth-child(3)::before{content:"세팅"}.equipment-spec-table td:nth-child(4)::before{content:"스펙"}.equipment-spec-table td:nth-child(5)::before{content:"세트"}
 .equipment-set-table td:nth-child(2)::before{content:"발동"}.equipment-set-table td:nth-child(3)::before{content:"효과"}
 .pinned-compare-area{max-height:36vh;margin:4px 2px 6px}.pinned-compare-title{font-size:10px}
 .dictionary-row{grid-template-columns:minmax(92px,.8fr) minmax(70px,.6fr) minmax(0,2fr);font-size:12px}.dictionary-kind{font-size:10px}
 .app-header{padding:7px 9px}.app-header h1{font-size:17px}.app-header p{font-size:10px}
}
/* v0.2.9 finishing: compact mobile comparison and stacked combat dictionary. */
@media(max-width:700px){
 .pinned-compare-area{max-height:28vh;overflow:auto}
 .dictionary-row{display:grid;grid-template-columns:1fr!important;gap:2px;padding:6px 7px}
 .dictionary-row>b{font-size:13px}
 .dictionary-row .dictionary-kind{display:block;font-size:10px;color:#5a6d78}
}

/* v0.3.0 UI FINAL: responsive access, hierarchy and accessibility finish. */
:root{
 --section-flow-gap:8px;
 --control-gap:4px;
 --focus-ring:#2f78a0;
 --mobile-label-width:94px;
 --compact-number-width:62px;
}
.section-block,.state-panel,.synergy-strip{margin-bottom:var(--section-flow-gap)}
.section-title+.table-scroll,.section-title+.settings-mobile-editor{margin-top:0}
button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[role="tab"]:focus-visible,.row-pin-button:focus-visible,.pin-toggle:focus-visible{
 outline:2px solid var(--focus-ring)!important;outline-offset:2px!important;
}
button:disabled{opacity:.5;color:#6f7c84}
.main-nav>.compact-tabs button{font-weight:800}.nav-tools{opacity:.88}.nav-tools button{font-weight:600}
.row-pin-button,.synergy-relation-pin{opacity:.48;filter:grayscale(.55)}
.row-pin-button:hover,.row-pin-button:focus-visible,.synergy-relation-pin:hover,.synergy-relation-pin:focus-visible{opacity:.85;filter:none}
.row-pin-button[aria-pressed="true"],.synergy-relation-pin[aria-pressed="true"]{opacity:1;filter:none}
.pin-toggle[aria-pressed="false"]{color:#687984;background:#f7f9fa}
.pin-toggle[aria-pressed="true"]{opacity:1}
.pinned-row{box-shadow:inset 3px 0 #b49739}.selected-row{box-shadow:inset 3px 0 #3c92ad}
.pinned-compare-title{font-weight:800;letter-spacing:.01em}
.row-buttons{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid #d3dce1;border-radius:4px;background:#fafcfd;flex-wrap:nowrap}
.row-buttons button{margin:0;min-width:30px}
.cycle-skill-info{display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;border:1px solid #b9c8d0!important;border-radius:50%;width:24px;height:24px;padding:0!important;margin-left:4px;color:#315e7d;background:#f7fafb!important}
.long-cell-content,.dictionary-row>span:last-child,.info-line,.detail-line{line-height:1.36}
.long-cell-toggle{display:block;margin:3px 0 0 auto}
.numeric-select{width:var(--compact-number-width);max-width:var(--compact-number-width)}
.engraving-inputs label,.forge-inputs label,.lookup-group-body label,.mobile-inline-controls label,.equipment-lookup-selectors label{gap:3px}
.short-label,.skill-type-label,.manual-sp-toolbar,.party-element-class{white-space:nowrap}
.description-empty-state{display:flex;align-items:center;justify-content:center;gap:8px;min-height:70px;padding:12px;color:#61717b;background:#fafcfd}
.description-empty-state .secondary-action{border:1px solid #b7c5ce;background:#f3f7f9;border-radius:3px;padding:4px 8px}
.canonical-description{display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;margin:0 0 4px;padding:4px 5px;border-left:3px solid #7aa7bf;background:#f3f8fb;color:var(--ink);font-size:10px;line-height:1.45}
.operator-canonical-description{margin-top:4px;font-weight:400}
.potential-details summary{white-space:normal}
.canonical-rarity{font-weight:800;color:#6d5420}

/* Settings: desktop comparison stays; mobile/tablet gets one selected Operator editor. */
.settings-mobile-editor{display:none}
.setting-operator-select .setting-operator-name{display:block;font-size:12px;font-weight:800;margin-bottom:3px;color:#233d4b}
.settings-desktop-table thead th{position:sticky!important;top:0;z-index:8;background:#e8eef2!important}
.settings-desktop-table thead .setting-operator-select{box-shadow:inset 0 -1px #b8c6ce}
.mobile-operator-picker{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:6px;padding:7px;background:#edf3f6;border-bottom:1px solid #c6d1d7;font-weight:800}
.mobile-setting-operator-head{display:flex;align-items:center;justify-content:space-between;padding:7px 8px;border-bottom:2px solid #afbec7;background:#f8fafb}
.mobile-setting-operator-head strong{font-size:14px}.mobile-setting-operator-head span{color:#667681}
.mobile-setting-section{border-bottom:1px solid #d5dee3;background:#fff}.mobile-setting-section>h3{margin:0;padding:6px 8px;font-size:12px;color:#304f60;background:#f2f6f8;border-bottom:1px solid #dfe6ea}
.mobile-setting-row{display:grid;grid-template-columns:var(--mobile-label-width) minmax(0,1fr);gap:6px;align-items:center;padding:5px 8px;border-bottom:1px solid #edf1f3}
.mobile-setting-row:last-child{border-bottom:0}.mobile-setting-label{font-size:11px;font-weight:750;color:#526976}.mobile-setting-value{min-width:0}
.mobile-inline-controls{display:flex;flex-wrap:wrap;gap:5px}.mobile-inline-controls label{display:flex;align-items:center;gap:3px;font-size:10px}

/* Description desktop final proportions after Weapon effect columns are merged. */
.weapon-description-table th:nth-child(1){width:13%!important}.weapon-description-table th:nth-child(2){width:9%!important}.weapon-description-table th:nth-child(3){width:14%!important}.weapon-description-table th:nth-child(4){width:15%!important}.weapon-description-table th:nth-child(5){width:34%!important}.weapon-description-table th:nth-child(6){width:15%!important}
.weapon-effect-groups{display:grid;gap:4px}.weapon-effect-group{padding-top:3px;border-top:1px dotted #d5dee3}.weapon-effect-group:first-child{padding-top:0;border-top:0}.weapon-effect-group>b{display:block;font-size:10px;color:#4a6473;margin-bottom:2px}
.lookup-settings-summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:5px;border:1px solid #c8d4da;background:#f7fafb;border-radius:3px;padding:4px 5px;text-align:left}
.lookup-settings-summary>span{font-weight:800;white-space:nowrap}.lookup-settings-summary>small{color:#647680;text-align:right;line-height:1.25}
.lookup-setting-groups.collapsed{min-width:0}.lookup-settings-body{margin-top:3px}
.potential-details>summary{cursor:pointer;font-weight:700;color:#3d5d6e}.potential-detail-panel{padding-top:4px}
.description-tabs>.compact-tabs{width:100%}

/* Combat taxonomy hierarchy is always expanded; headings carry hierarchy without disclosure controls. */
.dictionary-section[data-taxonomy-level="1"]>.dictionary-section-heading{font-size:13px;font-weight:900;padding:7px 8px;border-bottom:2px solid #9eb1bd;background:#eaf0f4}
.dictionary-section[data-taxonomy-level="1"]>.dictionary-section-heading span:last-child{font-size:10px;font-weight:600;color:#687a84}
.dictionary-subsection[data-taxonomy-level="2"]{margin:5px 6px 7px;border-left:3px solid #93a9b7;background:#fff}
.dictionary-subsection[data-taxonomy-level="2"]>.dictionary-subsection-heading{padding:5px 7px;font-size:12px;font-weight:850;border-bottom:1px solid #d6e0e5;background:#f5f8fa}
.dictionary-subsection[data-taxonomy-level="3"]{margin:4px 6px 5px 16px;border-left:2px solid #b4c2cb;background:#fff}
.dictionary-subsection[data-taxonomy-level="3"]>.dictionary-subsection-heading{padding:4px 7px;font-size:11px;font-weight:800;border-bottom:1px solid #e1e7ea;background:#fafbfc}
.dictionary-subsection[data-taxonomy-level="2"]>.dictionary-group-content>.dictionary-table>.dictionary-row{padding-left:16px}
.dictionary-subsection[data-taxonomy-level="3"] .dictionary-row{padding-left:28px}
.dictionary-taxonomy-children{padding-bottom:2px}.taxonomy-title{display:inline-block}.dictionary-row{line-height:1.36}.dictionary-description{display:block;white-space:normal;overflow:visible;max-height:none}
.dictionary-row>b{min-width:0}.dictionary-row>span:last-child{min-width:0}
.panel-title .state-panel-heading{font-size:var(--font-core);color:var(--ink);font-weight:800}.panel-title .state-panel-heading small{font-size:var(--font-caption);color:var(--muted);font-weight:400}

@media(max-width:820px){
 .settings-desktop-table{display:none!important}
 .settings-mobile-editor{display:block}
 .settings-page .section-title{align-items:flex-start;flex-wrap:wrap}
 .settings-page .main-operator-setting{width:100%;display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:6px}
}
@media(min-width:821px){
 .settings-mobile-editor{display:none!important}
 .settings-desktop-table{display:block}
}

@media(max-width:700px){
 :root{--mobile-label-width:94px}
 .app-header{min-height:46px}.app-header p{display:none}
 .main-nav{align-items:start}.main-nav>.compact-tabs{order:0}.nav-tools{order:1}
 .description-title{display:block}.description-title>div:first-child{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
 .description-global-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:5px;width:100%;margin-top:6px}
 .description-global-tools>.description-search-label{grid-column:1/-1;display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:5px;width:100%}
 .description-global-tools>.description-search-label input{width:100%;min-width:0}
 .description-global-tools>.description-rarity-filter{grid-column:1;display:flex;align-items:center;gap:4px}
 .description-global-tools>.description-filter-reset{grid-column:2;justify-self:end}
 .description-global-tools>button:first-child{grid-column:1/-1;justify-self:start}
 .description-tabs>.compact-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:4px!important}
 .description-tabs>.compact-tabs button{min-width:0;white-space:normal;min-height:42px;padding:6px 5px;line-height:1.2}
 .skill-talent-table th,.skill-talent-table td,.weapon-description-table th,.weapon-description-table td,.equipment-spec-table th,.equipment-spec-table td,.equipment-set-table th,.equipment-set-table td{grid-template-columns:var(--mobile-label-width) minmax(0,1fr)!important;gap:5px!important}
 .weapon-description-table td:nth-child(2)::before{content:"등급/유형"}.weapon-description-table td:nth-child(3)::before{content:"세팅"}.weapon-description-table td:nth-child(4)::before{content:"기질"}.weapon-description-table td:nth-child(5)::before{content:"효과"}.weapon-description-table td:nth-child(6)::before{content:"사용 가능"}.weapon-description-table td:nth-child(n+7)::before{content:none}
 .settings-mobile-editor .compact-select,.settings-mobile-editor .numeric-select{max-width:100%}
 .mobile-operator-picker{grid-template-columns:var(--mobile-label-width) minmax(0,1fr)}
 .mobile-setting-row{grid-template-columns:var(--mobile-label-width) minmax(0,1fr);padding:5px 6px}
 .cycle-table .cycle-order-cell{position:absolute!important;right:6px!important;top:6px!important;width:27px!important;height:27px;display:flex!important;align-items:center;justify-content:center;background:#e9f1f5;border:1px solid #bfd0d9;border-radius:50%;font-weight:900;color:#315e7d!important;padding:0!important}
 .cycle-control-cell{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px}
 .row-buttons{gap:2px}.row-buttons button,.cycle-skill-info,.row-pin-button,.pin-toggle,.synergy-relation-pin,.long-cell-toggle{min-width:40px!important;min-height:40px!important}
 .cycle-skill-info{width:40px!important;height:40px!important;border-radius:4px}
 .row-buttons button{padding:5px 7px}
 .long-cell-toggle{width:auto!important;margin:5px 0 0 auto}
 .dictionary-section[data-taxonomy-level="1"]>.dictionary-section-heading{min-height:40px;display:flex;align-items:center;justify-content:space-between}
 .dictionary-subsection[data-taxonomy-level="2"]>.dictionary-subsection-heading,.dictionary-subsection[data-taxonomy-level="3"]>.dictionary-subsection-heading{min-height:40px;display:flex;align-items:center;justify-content:space-between}
 .dictionary-subsection[data-taxonomy-level="2"]{margin:4px 3px 6px}.dictionary-subsection[data-taxonomy-level="3"]{margin-left:12px}
 .dictionary-subsection[data-taxonomy-level="2"]>.dictionary-group-content>.dictionary-table>.dictionary-row{padding-left:10px}.dictionary-subsection[data-taxonomy-level="3"] .dictionary-row{padding-left:20px}
 .pinned-compare-title{padding:5px 7px}.pinned-compare-area{border-top:2px solid #aebdc6}
 .table-filter-bar{gap:4px}.table-filter-bar label{min-width:0}
 .compact-select,.numeric-select{min-height:40px!important;height:40px!important}
 .screen-settings-panel button{min-height:40px!important;height:40px!important}
}
@media(max-width:380px){
 :root{--mobile-label-width:90px}
 .page{padding-left:4px;padding-right:4px}
 .description-tabs>.compact-tabs button{font-size:11px}
 .mobile-setting-row{padding-left:5px;padding-right:5px}
 .row-buttons button{min-width:38px!important;min-height:40px!important;padding-left:5px;padding-right:5px}
}
@media(min-width:701px) and (max-width:900px){
 .toolbar-actions{gap:3px}.toolbar-actions button,.compact-select,.numeric-select{font-size:10px}
 .description-title{flex-wrap:wrap}.description-global-tools{flex-wrap:wrap}
 .dictionary-row{grid-template-columns:minmax(130px,.8fr) 90px minmax(0,2fr)!important}
}

/* v0.3.0 targeted overlap/fit guard: sticky Settings headers stay interactive only on their controls. */
.settings-desktop-table thead th{pointer-events:none}
.settings-desktop-table thead th select,.settings-desktop-table thead th input,.settings-desktop-table thead th button,.settings-desktop-table thead th .column-resize-handle{pointer-events:auto}
.cycle-table th,.cycle-table td{min-width:0!important;max-width:none!important;overflow-wrap:anywhere}
.cycle-table .row-buttons{flex-wrap:wrap;max-width:100%}
/* Keep top utility popovers above the vertically sticky Settings operator header. */
.main-nav{position:relative;z-index:120}

/* v0.3.0 UI FINAL: desktop pinned sections stay compact and Settings sticky header follows viewport scroll. */
@media(min-width:821px){
 .settings-page .table-scroll{overflow:visible}
 .pin-party.is-pinned{max-height:180px;overflow:auto}
 .pin-synergy.is-pinned{max-height:140px;overflow:auto}
 .pin-cycle.is-pinned{max-height:260px;overflow:hidden}
 .pin-cycle.is-pinned .table-scroll{max-height:calc(260px - var(--cycle-toolbar-height,54px));overflow:auto}
 .pin-state.is-pinned{max-height:180px;overflow:auto}
}

/* v0.4.2 Batch 1 regression resolution: operator-specific dictionary rows must shrink inside desktop grid tracks. */
@media(min-width:901px){
 .operator-specific-group{min-width:0}
 .operator-specific-group .dictionary-table{min-width:0;width:100%}
 .operator-specific-group .dictionary-row{grid-template-columns:minmax(0,.8fr) minmax(64px,.55fr) minmax(0,2fr)!important}
 .operator-specific-group .dictionary-row>b,.operator-specific-group .dictionary-row>span{min-width:0}
 .operator-specific-group .dictionary-description{overflow-wrap:anywhere}
}

/* v0.4.8 generic runtime-context input: compact and metadata-driven. */
.runtime-context-row > td{vertical-align:top}.runtime-context-row .manual-value{display:block;margin-bottom:4px}.runtime-context-inputs{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:flex-end}.runtime-context-field{display:inline-flex;gap:4px;align-items:center;white-space:nowrap;font-size:12px}.runtime-context-field select,.runtime-context-field input{max-width:132px;min-width:74px}.runtime-context-field small{color:var(--muted);font-size:10px}@media(max-width:600px){.cycle-table .runtime-context-row td:nth-child(4){display:block!important}.runtime-context-inputs{display:grid;grid-template-columns:1fr}.runtime-context-field{justify-content:space-between}.runtime-context-field select,.runtime-context-field input{max-width:150px}}
.status-application-state-value{align-items:center;flex-wrap:wrap;border-bottom:1px dotted #d8e0e5;padding:3px 0}.status-application-magnitude{white-space:nowrap}.status-application-duration{color:var(--muted);white-space:nowrap}.status-application-state{font-size:9px;font-weight:800}.status-application-state.active{color:#27643b}.status-application-state.expired{color:#7d858a}.status-application-expire-button{border:1px solid #aebfc9;background:#f7fafb;padding:2px 5px;border-radius:2px;font-size:9px;white-space:nowrap}.status-application-expire-button:hover{background:#e7f0f5}
