:root{color-scheme:dark;--bg:#101816;--panel:#18231f;--raised:#202e28;--line:#3d5045;--text:#eef1e9;--muted:#b3c0b4;--gold:#e2c584;--sans:"Segoe UI","Yu Gothic UI",Meiryo,sans-serif;--mono:Consolas,monospace;--silhouette-cut:#202e28}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:18px}body{margin:0;background:radial-gradient(ellipse at 85% 0,#29382c55,transparent 55%),var(--bg);color:var(--text);font:14px/1.65 var(--sans)}
button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:var(--raised);border-radius:6px}button:hover{border-color:#94a28a;background:#2a3b31}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4}input,textarea,select{max-width:100%;border:1px solid var(--line);border-radius:5px;background:#0f1915;color:var(--text);padding:11px}input::placeholder,textarea::placeholder{color:#9faea2}textarea{resize:vertical}svg{max-width:100%;display:block}[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-70px;padding:12px;background:var(--gold);color:#182019;z-index:30}.skip-link:focus{top:12px}
.topbar{max-width:1600px;margin:auto;padding:17px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #36453a;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:.04em}.brand-mark{font:700 16px var(--mono);border:1px solid #b2a275;width:37px;height:37px;display:grid;place-items:center;color:var(--gold)}.brand small{display:block;font-size:10px;font-weight:400;color:var(--muted);letter-spacing:.08em}.test-badge{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.test-badge i,.status-dot{width:6px;height:6px;border-radius:50%;background:#b8d19b;flex-shrink:0}
.shell{max-width:1600px;margin:auto;padding:28px 32px 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:.14em;color:var(--gold);margin-bottom:5px}.intro h1{font-size:32px;letter-spacing:.06em;font-weight:650}.intro-note{color:var(--muted);margin-top:5px}.intro-meta{text-align:right;font-size:12px;color:var(--muted)}.armory-counts{margin:0 0 6px;color:#e4d6b4;font-size:13px;letter-spacing:.02em}
.utility-bar{display:flex;align-items:flex-start;gap:20px;position:relative;margin-bottom:18px}.sets-panel{width:min(690px,100%);border:1px solid var(--line);border-radius:7px;background:#19241f}.sets-panel>summary{padding:12px 16px;font-weight:550;font-size:13px}.sets-panel[open]>summary{border-bottom:1px solid var(--line)}summary{cursor:pointer}summary>span:last-child{float:right;color:var(--muted)}.sets-content{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.sets-content h2{font-size:15px}.sets-content p{font-size:12px;color:var(--muted);margin:5px 0 12px}.preset-buttons{display:flex;gap:6px;flex-wrap:wrap}.preset-button{padding:9px 10px;font-size:12px}.preset-button span{color:var(--gold);font:10px var(--mono);margin-right:6px}.subtle-button,.text-button{background:none;border:none;color:var(--gold);padding:6px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.subtle-button{margin-top:8px}.saved-area h2{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.saved-area h2 span{font:12px var(--mono);color:var(--muted)}#saved-list{display:grid;gap:7px}.saved-card{display:flex;min-width:0;border:1px solid var(--line);border-radius:5px;overflow:hidden}.saved-load{flex:1;text-align:left;padding:8px 10px;border:0;border-radius:0;overflow-wrap:anywhere;font-size:13px}.saved-load span{float:right;color:var(--gold)}.saved-delete{width:36px;flex-shrink:0;border:0;border-left:1px solid var(--line);border-radius:0;font-size:17px}.local-note{color:var(--muted);font-size:12px}.storage-note{margin-left:auto;padding-top:12px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}
.category-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:20px}.category-button{display:flex;gap:12px;text-align:left;align-items:flex-start;padding:15px 16px;background:#17221d;border:1px solid #3a4c3f;min-width:0;position:relative}.category-button>span:nth-child(2){min-width:0}.category-button strong{font-size:15px;display:block;font-weight:550}.category-button small{font-size:11px;display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.slot-number{font:11px var(--mono);color:#9aaa97;padding-top:5px}.category-button.active{background:#30392a;border-color:var(--gold);box-shadow:inset 0 -3px var(--gold)}.category-button.active strong,.category-button.active .slot-number{color:var(--gold)}
.builder{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.catalog-panel{min-width:0;background:#16211c;border:1px solid var(--line);border-radius:10px;padding:26px;scroll-margin-top:20px}.catalog-panel:focus,.summary:focus{outline:none}.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.catalog-heading h2{font-size:25px;font-weight:600}.selection-label{font-size:12px;border:1px solid #647150;padding:5px 10px;color:#d3dcbe;border-radius:4px;white-space:nowrap}.category-description{color:var(--muted);font-size:13px;margin:10px 0 20px;line-height:1.8;max-width:65em}
.search-wrap{display:flex;align-items:center;gap:10px;border:1px solid #607564;background:#0e1813;border-radius:6px;padding:0 14px;margin-bottom:17px}.search-wrap:focus-within{outline:2px solid var(--gold);outline-offset:2px}.search-wrap>span{font-size:26px;color:#c2ccb5}.search-wrap input{padding:12px 0;flex:1;min-width:0;border:none;background:transparent;font-size:15px;outline:none!important}.filter-row{display:flex;gap:12px;align-items:flex-start;margin:10px 0}.filter-label{font-size:12px;color:var(--muted);width:54px;flex-shrink:0;padding-top:9px}.type-filters{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.filter-chip{font-size:12px;padding:7px 10px;min-height:35px;border-radius:5px;background:#1b2821;color:#d2ddcc;border-color:#405141}.filter-chip small{margin-left:5px;font:11px var(--mono);opacity:1;color:#a9b7a4}.filter-chip.active{border-color:#cfb678;background:#3c422c;color:#fff0bf}.filter-chip.active small{color:#e3d6af}.catalog-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding:16px 0;margin-top:16px;color:var(--muted);font-size:12px}.catalog-tools>#search-count{font-size:13px;color:#e4e9dd}.reference-toggle{margin-left:auto;display:flex;align-items:center;gap:6px;cursor:pointer}.reference-toggle input{accent-color:var(--gold);width:15px;height:15px;margin:0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.equipment-card{background:#202e26;border:1px solid #435440;border-radius:7px;padding:15px;text-align:left;min-width:0;display:flex;flex-direction:column;position:relative;--silhouette-cut:#202e26;transition:background .15s,border-color .15s,box-shadow .15s}.equipment-card:hover{background:#27382c;border-color:#a0b38d;--silhouette-cut:#27382c}.equipment-card.selected{background:#343d2b;border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);--silhouette-cut:#343d2b}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#c0ceb6;width:100%;min-height:20px}.selected-mark{visibility:hidden;background:var(--gold);color:#24301f;font-size:10px;font-weight:700;border-radius:3px;padding:2px 5px;white-space:nowrap}.selected .selected-mark{visibility:visible}.equipment-art{display:flex;align-items:center;justify-content:center;width:100%;height:106px;margin:12px 0;color:#d6dfc6}.equipment-art svg,.equipment-art .weapon-silhouette,.compact .equipment-art .weapon-silhouette{width:100%;height:100%;max-width:100%;overflow:visible}.equipment-card.selected .equipment-art{color:#fff0ba}.equipment-card h3,.equipment-card.compact h3{font-size:16px;font-weight:550;line-height:1.5;overflow-wrap:anywhere;margin:0 0 3px}.equipment-card p{color:#bec9b6;font-size:12px;line-height:1.65}.equipment-card.compact .equipment-art{height:110px}.card-reference{display:none;margin-top:10px;padding-top:10px;border-top:1px solid #627254;font-size:12px;color:#bac6b0}.show-references .card-reference{display:block}.equipment-card.selected .card-reference{color:#d9dbc4}.section-group+.section-group{margin-top:24px}.group-title{font-size:16px;display:flex;align-items:center;gap:12px;margin:5px 0 12px}.group-title span{font-size:12px;color:var(--muted);font-weight:400}.group-rule{height:1px;flex:1;background:var(--line)}
.catalog-more{padding:22px 0 10px;font-size:13px;gap:12px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;color:var(--muted)}.load-more{padding:11px 20px;border:1px solid #8a9872;color:#f0eedc;background:#2d3a26;font:inherit}.empty-results{padding:34px 16px;text-align:center;background:#1e2a22;border:1px dashed #677358;border-radius:7px;margin-bottom:15px}.empty-results strong{font-size:17px}.empty-results p{font-size:13px;color:var(--muted);margin:8px 0 14px}.custom-disclosure,.catalog-guide{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;font-size:13px;color:var(--muted)}.custom-disclosure summary{color:var(--gold);padding:5px 0}.custom-field{padding-top:14px;display:grid;gap:8px}.custom-field label{font-size:13px;color:var(--text)}.custom-field small{font-size:12px;color:var(--muted)}.custom-field textarea{min-height:90px}.catalog-guide p{margin-top:10px;line-height:1.85}
.summary{position:sticky;top:18px;max-height:calc(100dvh - 36px);overflow:auto;scrollbar-width:thin;scrollbar-color:#657154 transparent;min-width:0;border:1px solid #778062;border-radius:10px;background:#202b23;padding:22px;scroll-margin-top:20px}.summary-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-heading h2{font-size:18px;font-weight:600}.summary-heading .eyebrow{font-size:10px}.count-badge{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap;color:var(--gold);font-size:11px}.count-badge b{font-size:23px;font-weight:500}.equipped-preview{margin:17px 0 14px;padding:14px;border:1px solid #4a5a44;border-radius:6px;background:#18231c;color:#e9ebd5;--silhouette-cut:#18231c}.preview-label{display:flex;justify-content:space-between;font:9px var(--mono);color:#aeb99e}.equipped-preview>svg,.equipped-preview .weapon-silhouette{width:100%;height:88px;margin:4px 0}.equipped-preview strong{display:block;font-size:16px;font-weight:550;overflow-wrap:anywhere}.equipped-preview small{display:block;color:var(--muted);font-size:12px}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px}.summary-actions button{font-size:11px;padding:9px 4px;line-height:1.5}.selection-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;font-size:12px;color:#d0d7c5}.summary-items{padding-top:10px;display:grid;gap:0}.summary-row{width:100%;display:grid;grid-template-columns:78px minmax(0,1fr) 10px;gap:10px;border:0;border-radius:0;border-bottom:1px solid #3b4a3b;background:transparent;text-align:left;padding:10px 2px;font-size:12px;line-height:1.65}.summary-row>span{color:var(--muted);font-size:11px}.summary-row strong{font-weight:450;overflow-wrap:anywhere}.summary-row:last-child{border:0}.output-area{padding-top:20px}.output-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.output-title h3{font-size:14px;font-weight:550}.output-title>span{font:9px var(--mono);color:#b8cca6}.format-toggle{display:flex;padding:3px;border:1px solid var(--line);border-radius:5px;margin:12px 0;background:#131e17}.format-toggle button{flex:1;border:none;background:transparent;border-radius:3px;font-size:12px;padding:6px;color:var(--muted)}.format-toggle button.active{background:#465039;color:#ffedbf}.output-area textarea{width:100%;height:200px;font-size:13px;line-height:1.85;padding:13px;background:#111c15;scrollbar-width:thin}.text-metrics{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-top:8px;gap:8px}.text-metrics strong{font:19px var(--mono);color:var(--text);margin-right:3px}.text-metrics select{padding:4px 6px;font-size:12px;margin-left:5px}.meter{margin-top:10px;height:3px;background:#46523d}.meter span{display:block;height:100%;background:#aac38e}.meter span.over{background:#f4b791}.length-message{font-size:11px;line-height:1.7;color:var(--muted);margin:8px 0 16px}.length-message.over{color:#ffd0af}.copy-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:var(--gold);color:#1e281d;border:1px solid var(--gold);font-weight:650;font-size:14px}.copy-button:hover{background:#f0d599;color:#172018;border-color:#f0d599}.paste-help{font-size:11px;line-height:1.8;color:var(--muted);margin-top:10px}
.visual-details,.credits-panel{border:1px solid var(--line);border-radius:7px;background:#17221c;margin-top:24px;scroll-margin-top:20px}.visual-details>summary,.credits-panel>summary{padding:16px 20px;font-size:14px;font-weight:500}.visual-loadout{border-width:1px 0 0}.visual-heading{padding:15px 22px;gap:14px}.visual-heading .eyebrow,.visual-heading h2,.visual-heading>span{font-size:12px}.visual-slot-head,.visual-slot-head b,.visual-slot-head button{font-size:13px}.visual-slot-head button{padding:7px 12px}.visual-weapon-art{height:190px}.visual-weapon-name h3{font-size:23px}.visual-weapon-name span{font-size:11px}.visual-weapon.secondary h3{font-size:20px}.visual-reference{font-size:12px;line-height:1.75;color:#b6c4aa}.visual-attachments-row>span{font-size:12px}.attachment-token{font-size:12px;padding:7px 10px;min-height:38px}.visual-gear-slot{padding:15px 20px}.visual-gear-slot small{font-size:12px;color:#b6c4aa}.visual-gear-slot strong{font-size:14px}.visual-caption{font-size:12px;padding:13px 22px;color:#b6c4aa;line-height:1.8}.source-notes{margin:0 20px;padding:15px 0;font-size:13px;color:var(--muted)}.source-notes summary{color:#d1dbc5}.source-notes p{margin:10px 0}.source-notes a{overflow-wrap:anywhere}.credits-panel{margin-top:12px}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0;font-size:11px;color:#acb9a5}footer>span{font:11px var(--mono);letter-spacing:.06em}footer b{color:var(--gold);margin:0 5px}
.primary-button,.secondary-button{padding:10px 16px;font-size:13px}.primary-button{background:var(--gold);border-color:var(--gold);color:#1e281d}.primary-button:hover{background:#f0d599;border-color:#f0d599}.secondary-button{background:#27372b;border-color:#66765a}dialog{width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid #87966f;border-radius:10px;padding:28px;background:#202d24;color:var(--text);box-shadow:0 20px 90px #0009}dialog::backdrop{background:#07100bd9;backdrop-filter:blur(4px)}dialog h2{font-size:21px;margin-bottom:12px}dialog p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:18px}dialog label{display:block;font-size:13px;margin-bottom:7px}dialog input{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}dialog .form-error{color:#ffd0af;margin:10px 0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;border:1px solid var(--gold);background:#283622;box-shadow:0 5px 25px #0008;border-radius:7px;padding:13px 20px;font-size:13px;max-width:calc(100% - 28px);width:max-content}.mobile-dock{display:none}.no-script{padding:20px;background:#442a20}.custom-silhouette{font-size:20px}
@media(min-width:1420px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.builder{grid-template-columns:minmax(0,1fr) 380px}.equipment-card h3{font-size:15px}}
@media(max-width:1100px){.shell{padding:24px 24px 0}.topbar{padding:16px 24px}.builder{grid-template-columns:minmax(0,1fr) 325px;gap:16px}.catalog-panel{padding:20px}.summary{padding:17px}.category-button{padding:13px 10px;gap:8px}.category-button strong{font-size:13px}.category-button small{font-size:10px}.category-button .slot-number{font-size:10px}.intro-meta p{max-width:240px}.filter-row{display:block}.filter-label{display:block;width:auto;padding:0 0 7px}.equipment-card{padding:12px}.equipment-card h3{font-size:14px}.card-top{font-size:10px}}
@media(max-width:900px){.builder{grid-template-columns:minmax(0,1fr)}.summary{position:static;max-height:none;overflow:visible;padding:24px;scroll-margin-top:16px}.summary-heading h2{font-size:22px}.equipped-preview{display:none}.summary-actions{margin:18px 0}.summary-actions button{font-size:13px;padding:11px}.output-area textarea{height:185px;font-size:14px}.selection-details{font-size:14px}.summary-row{grid-template-columns:110px minmax(0,1fr) 12px;font-size:14px}.summary-row>span{font-size:12px}.output-title h3{font-size:16px}.format-toggle button{font-size:13px;padding:9px}.copy-button{font-size:16px;padding:15px}.paste-help,.length-message{font-size:12px}.shell{padding-bottom:80px}.mobile-dock{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;position:fixed;bottom:0;left:0;right:0;z-index:20;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:#15231eef;backdrop-filter:blur(12px);border-top:1px solid #778263;box-shadow:0 -4px 20px #0004}.mobile-dock button{font-size:13px;padding:10px 4px;min-height:43px;background:#25362a}.mobile-dock strong{font-weight:500;color:var(--gold);margin:0 3px}.mobile-dock .dock-copy{background:var(--gold);color:#1c281c;border-color:var(--gold);font-weight:650}.toast{bottom:82px}.equipment-card{padding:16px}.equipment-card h3{font-size:16px}.equipment-art{height:112px}.card-top{font-size:11px}.filter-row{display:flex}.filter-label{width:54px;padding-top:9px}.intro-meta p{display:none}.storage-note{display:none}.sets-panel{width:100%}.category-list{gap:5px}.category-button{padding:12px 8px;justify-content:center;min-height:54px;align-items:center;text-align:center}.category-button .slot-number,.category-button small{display:none}.category-button strong{font-size:13px}.catalog-panel{padding:24px}.intro h1{font-size:29px}.intro{gap:12px}.armory-counts{max-width:210px;line-height:1.9;font-size:12px}.catalog-tools{font-size:12px}.reference-toggle{margin-left:auto}}
@media(max-width:600px){.topbar{padding:13px 16px}.brand{font-size:15px;gap:9px}.brand-mark{width:32px;height:32px;font-size:14px}.test-badge{font-size:10px}.shell{padding:20px 14px 90px}.intro{align-items:flex-start;flex-direction:column;gap:9px;margin-bottom:17px}.intro h1{font-size:27px}.intro-note{font-size:13px}.intro-meta{text-align:left}.armory-counts{max-width:none;font-size:11px;margin:0}.intro .eyebrow{font-size:10px}.utility-bar{margin-bottom:14px}.sets-panel>summary{font-size:12px;padding:12px}.sets-content{grid-template-columns:1fr;padding:16px;gap:18px}.saved-area{border-top:1px solid var(--line);padding-top:16px}.category-list{gap:4px;margin-bottom:14px}.category-button{padding:9px 3px;min-height:53px}.category-button strong{font-size:11px}.catalog-panel{padding:18px 14px;border-radius:8px}.catalog-heading h2{font-size:23px}.catalog-heading .eyebrow{font-size:10px}.selection-label{font-size:11px;padding:4px 7px}.category-description{font-size:12px;margin:9px 0 17px}.search-wrap{padding:0 10px}.search-wrap input{font-size:14px}.filter-row{display:block;margin:12px 0}.filter-label{width:auto;padding:0 0 7px;font-size:11px}.type-filters{gap:6px}.filter-chip{font-size:12px;padding:6px 9px}.filter-chip small{font-size:10px}.catalog-tools{gap:8px;padding:12px 0}.catalog-tools>#search-count{font-size:12px}.reference-toggle{font-size:11px}.cards{gap:10px}.equipment-card{padding:12px}.equipment-card h3,.equipment-card.compact h3{font-size:14px}.equipment-art{height:88px;margin:8px 0}.equipment-card.compact .equipment-art{height:92px}.card-top{font-size:10px;gap:4px;flex-wrap:wrap;align-content:flex-start;min-height:24px}.selected-mark{font-size:9px;padding:1px 4px}.equipment-card p{font-size:11px}.summary{padding:20px 17px;border-radius:8px}.summary-heading h2{font-size:19px}.summary-row{grid-template-columns:90px minmax(0,1fr) 10px;font-size:13px;gap:8px}.summary-row>span{font-size:11px}.mobile-dock{padding:9px 14px calc(9px + env(safe-area-inset-bottom))}.visual-details>summary,.credits-panel>summary{padding:14px;font-size:13px}.visual-heading .eyebrow{display:none}.visual-heading h2{font-size:12px}.visual-heading>span{font-size:10px}.visual-weapon-art{height:135px}.visual-weapon.secondary .visual-weapon-art{height:110px}.visual-weapon-name{display:block}.visual-weapon-name h3,.visual-weapon.secondary h3{font-size:20px;max-width:none}.visual-weapon-name span{font-size:10px}.visual-slot-head,.visual-slot-head b,.visual-slot-head button{font-size:12px}.visual-reference{font-size:11px}.visual-attachments-row>span,.attachment-token{font-size:11px}.visual-gear-slot{padding:12px 15px}.visual-gear-slot strong{font-size:13px}.visual-gear-slot small{font-size:11px}.visual-caption{font-size:11px;padding:12px 16px}.source-notes{margin:0 14px;font-size:12px}footer{display:block;font-size:10px;padding:24px 0}footer p{margin-top:8px}.toast{font-size:12px}}
@media(max-width:390px){.cards{grid-template-columns:1fr}.equipment-art{height:120px;margin:10px 0}.equipment-card h3,.equipment-card.compact h3{font-size:16px}.equipment-card p{font-size:12px}.equipment-card.compact .equipment-art{height:110px}.card-top{font-size:11px;min-height:20px}.selected-mark{font-size:10px}.catalog-tools{align-items:center}.reference-toggle{margin-left:0}.category-button strong{font-size:10px}.summary-actions{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* v19 — body slots, generic equipment and a reversible clear action. */
.reset-tools{display:grid;gap:6px;margin:14px 0}.reset-all,.undo-reset{background:transparent;border:1px solid #56616b;color:#c7d1d9;padding:11px 13px;text-align:left;font-size:12px;cursor:pointer}.reset-all:hover{background:#253139;border-color:#aab7be}.undo-reset{color:#9edbdc;border-color:#42777e}.reset-tools [hidden]{display:none}
.generic-silhouette{width:100%;height:100%;max-height:130px;color:#c4ced3;overflow:visible}.generic-silhouette .cut{fill:#172129;stroke:none}.rail-art .generic-silhouette{width:70px;height:35px}.stage-empty>.generic-silhouette{width:150px;height:100px}
.body-layout{display:grid;grid-template-columns:minmax(130px,185px) 1fr;align-items:center;gap:22px;margin-top:5px}.body-map{position:relative;text-align:center;min-width:0}.body-figure{display:block;height:290px;width:100%;overflow:visible}.body-base{fill:#273743;stroke:#5b707d;stroke-width:1.2}.body-ground{fill:#688797;opacity:.16}.body-zone{fill:#374b59;stroke:#688492;stroke-width:1;transition:fill .18s ease,stroke .18s ease}.body-zone.equipped{fill:#567580;stroke:#8ba8b3}.body-zone.active{fill:#83d2d5;stroke:#d1ffff;filter:drop-shadow(0 0 5px #6bd9e64d)}.body-detail{fill:none;stroke:#14282f;stroke-width:1.3}.body-caption{display:block;font-size:10px;color:#acd8df;padding:3px 0 10px}.body-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.body-slot{min-width:0;min-height:77px;border:1px solid #3a4a57;border-left:2px solid #3a4a57;background:#18232ccc;color:#e2eaee;text-align:left;padding:9px 10px;cursor:pointer;transition:background .18s,border-color .18s}.body-slot:hover{background:#243744;border-color:#8ab4c1}.body-slot.active{border-color:#85d4dc;background:#21404d;box-shadow:inset 2px 0 #a7e8ec}.body-slot>span{display:flex;justify-content:space-between;color:#8da6b4;font-size:9px}.body-slot i{font-style:normal;color:#71939e}.body-slot.equipped i{color:#91d6cc}.body-slot strong{display:block;font-size:12px;margin:5px 0}.body-slot small{display:block;font-size:10px;color:#afc0ca;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body-slot.active small,.body-slot.active>span{color:#c6e6ed}.body-all{background:transparent;border:1px solid #4c6875;color:#bad8e0;font-size:11px;padding:7px 11px;cursor:pointer}.body-all[aria-pressed=true]{border-color:#90d1d7;background:#254450}.gear-candidate-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px;color:#d9e4e9;font-size:14px}.gear-candidate-heading span{font-size:10px;color:#8ba1af}
.armory-v18[data-category=gear] .weapon-stage{padding:18px 22px 12px}.armory-v18[data-category=gear] .stage-heading h2{font-size:24px}.armory-v18 [hidden]{display:none!important}
.armory-v18[data-category=supplies] .catalog-controls,.armory-v18[data-category=special] .catalog-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px}.armory-v18[data-category=supplies] .catalog-tools,.armory-v18[data-category=special] .catalog-tools{display:flex;justify-content:space-between}.armory-v18[data-category=special] .stage-kit{grid-template-columns:repeat(6,minmax(0,1fr))}.armory-v18[data-category=special] .stage-kit svg{height:68px}.armory-v18[data-category=special] .stage-kit span{font-size:10px}
@media(max-width:1100px){.body-layout{grid-template-columns:140px 1fr;gap:12px}.body-slot{padding:8px}.body-slot strong{font-size:11px}.body-figure{height:270px}}
@media(max-width:800px){.reset-tools{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 15px}.reset-all,.undo-reset{padding:9px 12px;min-height:38px;font-size:11px}.armory-v18[data-category=gear] .weapon-stage{padding:14px 12px 9px}.body-layout{grid-template-columns:95px 1fr;gap:8px}.body-figure{height:255px}.body-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.body-slot{min-height:64px;padding:7px}.body-slot strong{font-size:10px;margin:4px 0}.body-slot small{font-size:9px}.body-slot>span{font-size:8px}.body-caption{font-size:8px;line-height:1.6}.body-all{font-size:10px;padding:7px}.gear-candidate-heading{font-size:12px;align-items:flex-start}.gear-candidate-heading span{font-size:9px;max-width:120px;text-align:right}.armory-v18[data-category=special] .stage-kit{grid-template-columns:repeat(3,minmax(0,1fr))}.armory-v18[data-category=gear] .category-list{margin-bottom:8px}}
.armory-counts{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.armory-counts>span{white-space:nowrap;border:1px solid #47583e;padding:3px 8px;border-radius:4px;background:#1c2a20;font-size:11px}.armory-counts b{font:13px var(--mono);color:var(--gold);margin-left:4px}@media(max-width:600px){.armory-counts{justify-content:flex-start;gap:5px}}
.nav-short{display:none}@media(max-width:600px){.nav-full{display:none}.nav-short{display:inline}.category-button strong{font-size:12px}.intro-note{display:none}.intro{gap:8px}}

/* v13: weapon-specific parts stay identified in the editor and every summary. */
.weapon-parts-link,.weapon-parts-target{margin:0 0 18px;padding:15px;border:1px solid #687753;border-radius:7px;background:#233124;min-width:0}
.weapon-parts-link{display:flex;align-items:center;justify-content:space-between;gap:14px}.weapon-parts-link>div{min-width:0}.weapon-parts-link small,.weapon-parts-link strong,.weapon-parts-link span{display:block;overflow-wrap:anywhere}.weapon-parts-link small{font-size:11px;color:var(--muted)}.weapon-parts-link strong{font-size:16px;color:var(--gold);margin:4px 0}.weapon-parts-link span{font-size:12px;color:#c2ceb7;line-height:1.65}
.parts-edit-button{padding:9px 11px;font-size:12px;color:#f1d7a4;min-height:40px;background:#303f2d;border-color:#839466;text-align:left;flex-shrink:0;white-space:normal}
.weapon-parts-target label{display:block;font-size:12px;margin-bottom:8px;color:#e4d2ac}.weapon-parts-target select{width:100%;max-width:100%;padding:11px 10px;font-size:14px;background:#15231a;border:1px solid #8a9a70;border-radius:5px;color:var(--text);text-overflow:ellipsis}.weapon-parts-target p{margin:12px 0 0;line-height:1.6;overflow-wrap:anywhere}.weapon-parts-target strong{display:block;font-size:14px;color:var(--gold)}.weapon-parts-target p span{display:block;font-size:12px;color:#c2ceb7;margin-top:4px}
#visual-attachments{display:grid;width:100%;gap:12px}.weapon-parts-preview{border:1px solid var(--line);background:#1c2a20;padding:14px;border-radius:5px;min-width:0}.weapon-parts-preview>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:12px}.weapon-parts-preview strong{font-size:14px;overflow-wrap:anywhere}.weapon-part-tokens{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.extra-selected-list .extra-selected-weapon{width:100%;min-width:0;border-bottom:1px solid var(--line);padding:0 0 12px}.extra-selected-weapon>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.extra-selected-weapon strong{font-size:13px;overflow-wrap:anywhere}.extra-selected-weapon small{display:block;font-size:12px;line-height:1.6;color:#c2ceb7;margin:4px 0 8px;overflow-wrap:anywhere}.extra-selected-weapon>div button{min-width:36px;text-align:center}.extra-selected-list .parts-edit-button{margin:0}
@media(max-width:600px){.weapon-parts-link{display:block;padding:12px}.weapon-parts-link .parts-edit-button{margin-top:12px;width:100%;text-align:center}.weapon-parts-target{padding:12px}.weapon-parts-preview>div:first-child{align-items:flex-start;flex-direction:column}.weapon-parts-preview .parts-edit-button{width:100%}.weapon-parts-target select{font-size:16px}}

/* v12 additional weapons: selection stays visible across searches. */
.extra-selection{background:#1e2d23;border:1px solid #526345;border-radius:7px;padding:13px 15px;margin:0 0 18px}.extra-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.extra-selection-heading strong{font-size:13px;font-weight:550}.extra-selection-heading span{font:14px var(--mono);color:var(--gold);margin-left:6px}.extra-selection-heading small,.extra-selection p{font-size:12px;color:var(--muted)}.extra-selection p{margin:8px 0 0}.extra-selected-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;max-height:180px;overflow:auto}.extra-selected-list button{font-size:12px;padding:7px 10px;background:#303f2d;border:1px solid #829367;border-radius:5px;overflow-wrap:anywhere;text-align:left;max-width:100%;min-height:36px}.extra-selected-list button span{color:var(--gold);margin-left:5px}.equipment-card:disabled{opacity:.46;cursor:default}.visual-extra{border-top:1px solid var(--line);padding:20px}.extra-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:15px}.extra-preview-item{background:#1c2a20;border:1px solid var(--line);border-radius:5px;padding:15px}.extra-preview-item svg{display:block;width:100%;height:110px;color:#c3c9ac}.extra-preview-item strong{display:block;font-size:13px;font-weight:500;margin-top:8px}.visual-extra[hidden]{display:none}
@media(max-width:1100px) and (min-width:901px){.category-button .slot-number{display:none}.category-button{gap:0}}
@media(max-width:600px){.category-list{grid-template-columns:repeat(3,minmax(0,1fr))}.category-button{min-height:44px}.extra-selection{padding:12px}.extra-preview-grid{grid-template-columns:1fr}.visual-extra{padding:15px}}

/* v18 — 2D armory: slot rail, weapon bench, focused parts, review dialog. */
:root{--bg:#0b1014;--panel:#141b20;--raised:#1e272e;--line:#354149;--text:#f0f3f4;--muted:#a8b6bd;--gold:#86d2eb;--silhouette-cut:#1b252c}
html{scroll-padding-top:20px}
body.armory-v18{background:radial-gradient(ellipse at 70% 10%,#24323a77,transparent 65%),#0b1014;font-size:13px}
.armory-v18 button,.armory-v18 input,.armory-v18 select,.armory-v18 textarea{border-radius:2px}
.armory-v18 button:hover{background:#293a45;border-color:#87acbc}
.armory-v18 input,.armory-v18 select,.armory-v18 textarea{background:#11191e}
.armory-v18 .topbar{max-width:none;padding:10px 28px;background:#10161bea;border-color:#34404a;height:62px}
.top-actions{display:flex;align-items:center;gap:10px}
.top-actions button{padding:9px 18px;font-size:12px}
.header-save{background:transparent}
.header-review{background:#8cd5ec!important;border-color:#8cd5ec;color:#10232a;font-weight:700}
.top-actions .test-badge{font:10px var(--mono);letter-spacing:.12em;margin-right:14px}
.brand-mark{border-color:#82939b;color:#dde7eb}
.armory-v18 .shell{max-width:1780px;padding:18px 28px 76px}
.armory-v18 .intro{margin:0 0 17px;gap:20px;align-items:center}
.armory-v18 .intro>div:first-child{display:flex;align-items:baseline;gap:16px}
.armory-v18 .intro h1{font-size:26px;letter-spacing:.06em}
.armory-v18 .intro .eyebrow{display:none}
.armory-v18 .intro-note{font-size:12px;margin:0}
.armory-v18 .intro-meta p{display:none}
.armory-v18 .armory-counts{display:flex;gap:14px;margin:0;font-size:11px;max-width:none;line-height:1.5;color:var(--muted)}
.armory-v18 .armory-counts>span{border:none;background:none;padding:0}
.armory-counts b{color:#e8eff2;font-weight:500}
.armory-v18 .builder{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.slot-rail{position:sticky;top:18px;min-width:0}
.rail-heading{display:flex;justify-content:space-between;padding:0 2px 10px;font-size:12px;color:#d0dce1}
.rail-heading>span{font:9px var(--mono);letter-spacing:.12em;color:#82959e}
.armory-v18 .category-list{display:grid;grid-template-columns:1fr;gap:5px;margin:0 0 14px}
.armory-v18 .category-button{padding:12px 13px;gap:8px;min-height:67px;align-items:center;justify-content:flex-start;text-align:left;border:1px solid #35424c;background:linear-gradient(100deg,#202a32,#141b20);box-shadow:none;overflow:hidden}
.armory-v18 .category-button.active{border-color:#8acee5;background:linear-gradient(100deg,#264553,#172933);box-shadow:inset 3px 0 #9be3fc}
.armory-v18 .category-button .slot-number{display:block;align-self:flex-start;padding-top:4px;color:#7e939e;font-size:9px}
.armory-v18 .category-button strong{font-size:14px;line-height:1.4;font-weight:600}
.armory-v18 .category-button small{display:block;color:#b3c4cd;margin:4px 0 0;font-size:10px;white-space:normal;line-height:1.3;padding-right:12px}
.slot-copy{position:relative;z-index:1;min-width:0;flex:1}
.rail-art{width:62px;height:34px;color:#a5b6c0;display:flex;align-items:center;justify-content:center;opacity:.5;position:absolute;right:12px;bottom:9px;pointer-events:none;--silhouette-cut:#18242c}
.rail-art svg{width:100%;height:100%;max-height:34px}
.category-button[data-category="main"],.category-button[data-category="sub"]{min-height:94px;align-items:flex-start}
.category-button[data-category="main"] .rail-art,.category-button[data-category="sub"] .rail-art{width:125px;height:38px;opacity:.75}
.rail-arrow{font-size:21px;color:#b3c8d1;align-self:flex-start;line-height:1;z-index:1}
.category-button:not([data-category="main"]):not([data-category="sub"]) .rail-art{display:none}
.armory-v18 .utility-bar{display:block;margin:0}
.armory-v18 .sets-panel{width:100%;background:#151f26;border-color:#35434e}
.armory-v18 .sets-panel>summary{padding:12px 9px;font-size:11px}
.armory-v18 .sets-content{display:block;padding:12px}
.sets-content .preset-buttons{display:grid;grid-template-columns:1fr;gap:5px}
.sets-content .preset-button{text-align:left}
.armory-v18 .saved-area{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.armory-v18 .storage-note{display:flex;white-space:normal;margin:0;padding:12px 2px 0;font-size:10px}
.status-dot,.test-badge i{background:#90cbda}
.rail-help{padding:16px 2px;color:#7e939e;font-size:11px;line-height:2.1}
.armory-v18 .catalog-panel{border:none;background:transparent;border-radius:0;padding:0;scroll-margin-top:18px}
.armory-v18 .catalog-heading{min-height:30px;margin:0 0 10px;align-items:center}
.catalog-heading>div{display:flex;align-items:baseline;gap:12px}
.armory-v18 .catalog-heading h2{font-size:17px;letter-spacing:.04em}
.catalog-heading .eyebrow{font-size:9px;margin:0;color:#87a0ae;order:2}
.armory-v18 .selection-label{font-size:10px;padding:3px 8px;color:#b8cbd5;border-color:#3d515c}
.armory-v18 .category-description{display:none}
.weapon-stage{position:relative;border:1px solid #45535e;background:radial-gradient(ellipse at 50% 35%,#31434d 0%,#1b252e 45%,#141c22 100%);overflow:hidden;padding:17px 22px 10px;--silhouette-cut:#25353e}
.weapon-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,transparent 0 40px,#bdd6df05 40px 41px)}
.stage-heading{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;z-index:1}
.stage-heading .eyebrow{font:9px var(--mono);letter-spacing:.17em;margin:0 0 4px;color:#93b2c0}
.stage-heading h2{font-size:31px;letter-spacing:.025em;font-weight:600;line-height:1.15;overflow-wrap:anywhere}
.stage-status{font-size:10px;color:#a4d9ea;border:1px solid #546f7b;padding:3px 9px;white-space:nowrap;background:#14262d66}
.stage-art{height:122px;max-width:750px;margin:2px auto 0;display:flex;align-items:center;justify-content:center;position:relative;color:#d7e4e9}
.stage-art svg,.stage-art .weapon-silhouette{display:block;width:100%;height:100%;max-height:122px;filter:drop-shadow(0 12px 7px #0008)}
.stage-art .custom-silhouette{color:#829dab;font:30px var(--mono);letter-spacing:.15em;background:none;border:none}
.stage-art .custom-silhouette small{display:block;text-align:center;font:12px var(--sans);margin-top:6px;letter-spacing:normal}
.stage-caption{display:flex;justify-content:space-between;gap:12px;font-size:10px;color:#b5c5cd;margin:0 0 10px;position:relative}
.stage-caption>span:last-child{font:8px var(--mono);letter-spacing:.2em;white-space:nowrap;color:#7d96a4}
.stage-parts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;position:relative}
.stage-part{position:relative;min-width:0;text-align:left;padding:7px 18px 7px 10px;background:#0d161dbd;border:1px solid #455762;min-height:46px}
.stage-part>span{display:block;color:#9eb4c0;font-size:9px;line-height:1.4;white-space:nowrap}
.stage-part strong{font-size:10px;line-height:1.5;font-weight:500;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px}
.stage-part i{position:absolute;right:6px;top:10px;font-style:normal;font-size:12px;color:#8cc7dc}
.stage-part.active{border-color:#94def5;box-shadow:inset 0 -2px #94def5;background:#294855}
.stage-note{position:relative;margin-top:7px;font-size:9px;color:#94aab6;line-height:1.7}
.stage-kit{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;min-height:162px;align-items:center;padding:15px 0}
.stage-kit>div{min-width:0;text-align:center;color:#d7e4e9}
.stage-kit svg{width:100%;height:75px}
.stage-kit span{display:block;font-size:10px;color:#bcced6;overflow-wrap:anywhere;margin-top:9px}
.stage-empty{height:150px;display:flex;align-items:center;justify-content:center;gap:24px;color:var(--muted);font-size:12px}
.stage-empty svg{width:180px;height:100px;opacity:.5}
.armory-v18 .weapon-parts-target{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0;margin:0}
.weapon-parts-target label{font-size:11px!important;color:#b4c9d4}
.armory-v18 .weapon-parts-target select{flex:1;width:auto;min-width:140px;max-width:430px;margin:0;padding:6px 10px;font-size:12px}
.weapon-parts-target button{padding:7px 12px;font-size:11px;margin-left:auto}
.part-tabs{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:12px}
.part-tabs>span{color:var(--gold);font-size:10px}.part-tabs small{color:var(--muted);margin-left:auto;font-size:10px}
.catalog-controls{display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:20px;row-gap:6px;padding:13px 0 10px;align-items:center}
.armory-v18 .search-wrap{grid-column:2;grid-row:1;margin:0;padding:0 9px;border-color:#475c6a;background:#111a21}
.armory-v18 .search-wrap>span{font-size:19px}
.armory-v18 .search-wrap input{padding:7px 0;font-size:11px;height:33px;background:transparent}
.armory-v18 .filter-row{display:flex;align-items:center;gap:8px;margin:0;grid-column:1}
#type-filter-row{grid-row:1}#collection-filter-row{grid-row:2}
.armory-v18 .filter-label{width:auto;min-width:24px;padding:0;font-size:9px}
.armory-v18 .type-filters{gap:4px}
.armory-v18 .filter-chip{padding:5px 7px;font-size:10px;min-height:28px;background:#19242c;border-color:#3b4e5a;color:#afc3cf;border-radius:1px}
.armory-v18 .filter-chip small{font-size:8px;margin-left:4px;color:#85a1b1}
.armory-v18 .filter-chip.active{color:#f0faff;background:#325465;border-color:#88cde5}
.armory-v18 .filter-chip.active small{color:#c4e6f2}
.armory-v18 .catalog-tools{grid-column:2;grid-row:2;margin:0;padding:0;border:0;font-size:9px;gap:8px;justify-content:space-between}
.armory-v18 .catalog-tools>#search-count{font-size:10px;color:#a2bac7}
.armory-v18 .reference-toggle{font-size:9px;margin:0}
.armory-v18 .reference-toggle input{width:12px;height:12px}
.armory-v18 .catalog-tools .text-button{font-size:10px}
.armory-v18[data-category="attachments"] .catalog-controls,.armory-v18[data-category="supplies"] .catalog-controls{grid-template-columns:1fr 250px}
.armory-v18[data-category="attachments"] .catalog-tools,.armory-v18[data-category="supplies"] .catalog-tools{grid-column:1;grid-row:1;justify-content:flex-start}
.armory-v18 .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.armory-v18 .equipment-card{border-radius:1px;background:linear-gradient(145deg,#243039,#172027);border-color:#3e505d;padding:10px 12px;--silhouette-cut:#202b33;min-height:130px}
.armory-v18 .equipment-card:hover{background:#2a3d48;border-color:#8bcbe4;--silhouette-cut:#2a3d48}
.armory-v18 .equipment-card.selected{background:linear-gradient(145deg,#2b4e5e,#1b303c);border-color:#93def6;box-shadow:inset 0 -3px #93def6;--silhouette-cut:#274754}
.armory-v18 .equipment-card .equipment-art,.armory-v18 .equipment-card.compact .equipment-art{height:58px;margin:5px 0;color:#c8d8e1}
.armory-v18 .equipment-card.selected .equipment-art{color:#e1f4ff}
.armory-v18 .equipment-card h3,.armory-v18 .equipment-card.compact h3{font-size:13px;font-weight:500;margin:2px 0 0;line-height:1.4}
.armory-v18 .card-top{font-size:9px;min-height:15px;flex-wrap:nowrap;color:#96aebb}
.armory-v18 .selected-mark{background:none;color:#a8e6fb;padding:0;font-size:9px}
.armory-v18 .equipment-card p{display:none}
.armory-v18[data-category="attachments"] .equipment-card p{display:block;font-size:10px;color:#b6c7cf;margin-top:5px}
.armory-v18 .card-reference{font-size:10px;color:#b5c6d0;border-color:#48626d}
.armory-v18 .group-title{display:none}
.armory-v18 .catalog-more{padding:14px 0 5px;font-size:11px}
.armory-v18 .load-more{padding:8px 22px;background:#1d2d37;color:#bcdfef;border-color:#567a8d;font-size:11px}
.armory-v18 .custom-disclosure,.armory-v18 .catalog-guide{margin-top:16px;padding-top:10px;font-size:11px}
.armory-v18 .extra-selection{border:1px solid #445b68;border-radius:1px;background:#18252e;margin:0 0 12px;padding:12px}
.extra-selected-weapon{background:#202f39!important;border-color:#425b6b!important}
.armory-v18 .parts-edit-button{background:#263f4d;color:#b0d9ea;border-color:#50788a;font-size:10px;padding:6px 9px}
.armory-v18 .extra-selection-heading small{color:#a6c4d3}
.armory-v18 .credits-panel{background:transparent;border:0;border-top:1px solid var(--line);margin:22px 0 0}
.armory-v18 .credits-panel>summary{padding:12px 0;font-size:10px;color:#829ba9}
.armory-v18 footer{padding:15px 0;font-size:9px;color:#7c94a1}
.armory-v18 .mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:10px 28px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #475c68;background:#101a22f5;backdrop-filter:blur(14px);box-shadow:0 -7px 25px #0005}
.armory-v18 .mobile-dock button{padding:10px 20px;font-size:12px;min-height:40px;background:#1d2e3b;border:1px solid #4c6879}
.armory-v18 .mobile-dock .dock-copy{background:#91d8ee;color:#0d2732;border-color:#91d8ee;font-weight:700}
.dock-hint{display:flex;gap:12px;align-items:center;margin-right:auto;font-size:11px;color:#a5bcc9}
.dock-hint #dock-chars{border-left:1px solid #425864;padding-left:12px}
.armory-v18 .mobile-dock strong{color:#e0f2fa;font-weight:500}
.armory-v18 dialog{background:#16232c;color:var(--text);border:1px solid #76919f;border-radius:3px}
.armory-v18 dialog::backdrop{background:#050b10cf;backdrop-filter:blur(7px)}
.armory-v18 .review-dialog{width:min(680px,calc(100% - 28px));max-width:680px;max-height:88dvh;padding:0;overflow:auto;scrollbar-color:#607d8d #101a20}
.review-close{position:sticky;top:12px;float:right;margin:12px 16px 0;z-index:3;padding:7px 12px;font-size:11px;background:#223540}
.armory-v18 .summary{position:static;width:100%;max-height:none;overflow:visible;padding:26px;border:0;border-radius:0;background:#16232c;clear:both}
.armory-v18 .summary-heading h2{font-size:23px}
.armory-v18 .summary .equipped-preview{display:none}
.armory-v18 .summary-actions{margin-top:18px;grid-template-columns:1fr 1fr}
.armory-v18 .selection-details{font-size:13px}
.armory-v18 .summary-row{grid-template-columns:90px minmax(0,1fr) 12px;border-color:#3a535f;font-size:12px}
.armory-v18 .format-toggle{background:#101a22}
.armory-v18 .format-toggle button.active{background:#365d6e;color:#e1f6ff}
.armory-v18 .output-area textarea{height:230px;background:#0d1921;line-height:1.9;font-size:13px}
.armory-v18 .visual-details{margin:0 26px 26px;border-color:#405967;background:#101c24}
.armory-v18 .primary-button,.armory-v18 .copy-button{background:#91d8ee;color:#0d2732;border-color:#91d8ee}
.armory-v18 .secondary-button{background:#263b48;border-color:#4c6d7e;color:#d9edf6}
.armory-v18 .toast{bottom:78px;background:#203d4a;border-color:#88cee5;color:#edfaff}
@media(min-width:1500px){.armory-v18 .builder{grid-template-columns:250px minmax(0,1fr);gap:28px}.stage-art{height:185px;max-width:950px}.stage-art svg,.stage-art .weapon-silhouette{max-height:185px}.armory-v18 .equipment-card .equipment-art,.armory-v18 .equipment-card.compact .equipment-art{height:85px}.stage-part{padding:10px 20px 10px 12px}.stage-part strong{font-size:12px}.stage-part>span{font-size:10px}.armory-v18 .cards{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.armory-v18 .builder{grid-template-columns:190px minmax(0,1fr);gap:16px}.armory-v18 .shell{padding-left:20px;padding-right:20px}.catalog-controls{grid-template-columns:minmax(0,1fr) 185px;column-gap:12px}.armory-v18 .filter-label{display:none}.armory-v18 .intro-note{display:none}.stage-part strong{font-size:9px}.stage-part>span{font-size:8px}.armory-v18 .cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.armory-v18 .topbar{padding:10px 16px;height:58px}.top-actions .test-badge,.header-save{display:none}.top-actions button{padding:8px 12px}.armory-v18 .shell{padding:16px 14px 88px}.armory-v18 .intro{margin-bottom:14px}.armory-v18 .intro h1{font-size:22px}.armory-v18 .intro-meta{display:none}.armory-v18 .builder{display:block}.slot-rail{position:static}.rail-heading,.rail-help,.armory-v18 .storage-note{display:none}.armory-v18 .category-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:10px}.armory-v18 .category-button,.category-button[data-category="main"],.category-button[data-category="sub"]{min-height:57px;padding:9px;align-items:flex-start}.armory-v18 .category-button strong{font-size:12px}.armory-v18 .category-button small{font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding:0}.armory-v18 .category-button .slot-number,.rail-art,.rail-arrow{display:none!important}.armory-v18 .utility-bar{margin-bottom:15px}.armory-v18 .sets-panel>summary{padding:8px 10px}.armory-v18 .sets-content{display:grid;grid-template-columns:1fr 1fr;gap:16px}.armory-v18 .saved-area{margin:0;border:0;padding:0}.armory-v18 .catalog-heading{margin-bottom:8px}.catalog-heading .eyebrow{display:none}.weapon-stage{padding:14px 13px 9px}.stage-heading h2{font-size:25px}.stage-heading .eyebrow{font-size:8px}.stage-art{height:105px}.stage-art svg,.stage-art .weapon-silhouette{max-height:105px}.stage-caption>span:last-child{display:none}.stage-caption{font-size:9px}.stage-parts{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.stage-part{min-height:43px}.stage-part>span{font-size:9px}.stage-part strong{font-size:10px}.stage-note{font-size:9px}.catalog-controls{grid-template-columns:1fr;gap:8px;padding:12px 0}.armory-v18 .search-wrap{grid-column:1;grid-row:1}.armory-v18 .search-wrap input{font-size:13px;min-height:39px}.armory-v18 #type-filter-row{grid-row:2}.armory-v18 #collection-filter-row{grid-row:3}.armory-v18 .catalog-tools{grid-column:1;grid-row:4}.armory-v18 .type-filters{gap:5px}.armory-v18 .filter-chip{font-size:11px;min-height:32px;padding:6px 9px}.armory-v18 .catalog-tools>#search-count,.armory-v18 .reference-toggle{font-size:10px}.armory-v18[data-category="attachments"] .catalog-controls,.armory-v18[data-category="supplies"] .catalog-controls{grid-template-columns:1fr}.armory-v18[data-category="attachments"] .catalog-tools,.armory-v18[data-category="supplies"] .catalog-tools{grid-row:2}.armory-v18 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.armory-v18 .equipment-card{padding:9px;min-height:123px}.armory-v18 .equipment-card h3,.armory-v18 .equipment-card.compact h3{font-size:12px}.armory-v18 .equipment-card .equipment-art,.armory-v18 .equipment-card.compact .equipment-art{height:58px}.armory-v18 .mobile-dock{padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:6px}.armory-v18 .mobile-dock button{font-size:11px;padding:9px 10px;min-height:42px}.armory-v18 .mobile-dock .dock-save{display:none}.dock-hint{font-size:10px;gap:5px;flex-direction:column;align-items:flex-start}.dock-hint .status-dot{display:none}.dock-hint #dock-chars{padding:0;border:0;font-size:9px}.stage-kit{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stage-kit svg{height:55px}.stage-kit span{font-size:9px}.stage-empty{height:130px;gap:8px;font-size:11px}.stage-empty svg{width:100px}.armory-v18 .weapon-parts-target{gap:8px}.weapon-parts-target label{width:100%}.armory-v18 .weapon-parts-target select{font-size:11px;min-width:120px}.weapon-parts-target button{padding:7px;font-size:10px}.armory-v18 .summary{padding:20px 16px}.armory-v18 .summary-heading h2{font-size:20px}.armory-v18 .summary-row{grid-template-columns:65px minmax(0,1fr) 10px;gap:7px;font-size:11px}.armory-v18 .review-dialog{max-height:92dvh}.armory-v18 .visual-details{margin:0 16px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:801px) and (max-width:1499px){.weapon-stage{padding:12px 18px 8px}.stage-heading h2{font-size:27px}.stage-art{height:92px}.stage-art svg,.stage-art .weapon-silhouette{max-height:92px}.stage-caption{margin-bottom:8px}.stage-part{min-height:43px;padding-top:6px;padding-bottom:6px}}

/* TTI guidance is visible beside selection and before copying. */
.tti-note{margin:0 0 14px;padding:14px 16px;border:1px solid #806c46;border-left:4px solid #e2bf78;background:#28271f;color:#eee9dc;border-radius:5px;line-height:1.75}
.tti-note strong{display:block;font-size:15px;color:#f4d99f;font-weight:700}
.tti-note p{margin:5px 0 0;font-size:13px;overflow-wrap:anywhere}
.tti-note .tti-note-detail{font-size:12px;color:#c8c6bc}
.output-area .tti-note{margin-top:12px}
@media(max-width:800px){.tti-note{padding:11px 12px}.tti-note strong{font-size:14px}.tti-note p{font-size:12px}.tti-note .tti-note-detail{font-size:11px}}

/* v20 — reset beside the title, persistent JSDF browsing. */
.armory-v18 .intro{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px}
.armory-v18 .intro .reset-tools{display:flex;align-items:center;gap:8px;margin:0 0 0 auto;flex-wrap:wrap;justify-content:flex-end}
.armory-v18 .reset-all{display:flex;align-items:center;gap:8px;background:#38291f;border:1px solid #c68c57;color:#ffdec0;font-size:13px;font-weight:700;min-height:44px;padding:9px 18px;white-space:nowrap}
.armory-v18 .reset-all>span{font-size:24px;line-height:1}.armory-v18 .reset-all:hover{background:#523a27;border-color:#ffd0a5}
.armory-v18 .undo-reset{font-size:11px;min-height:44px;padding:9px 12px}
.equipment-scope{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-bottom:1px solid #354149;padding:0 0 13px;margin:0 0 18px}
.scope-buttons{display:flex;gap:4px;padding:3px;background:#10171d;border:1px solid #3d4d57}
.scope-buttons button{padding:7px 14px;min-height:36px;background:transparent;border-color:transparent;color:#acbcc5;font-size:12px}
.scope-buttons button[aria-pressed=true]{background:#344b42;border-color:#9ac0a6;color:#edfff0}.equipment-scope .armory-counts{margin-left:auto}
.equipment-scope p{font-size:11px;color:#bbcbc2;margin:0;flex-basis:100%;line-height:1.6}
.jsdf-tag{display:inline-block;color:#b1d5b9;border:1px solid #58715f;padding:1px 4px;font-size:9px;font-weight:500;margin-right:4px}
.illustration-tag{display:block;font-size:9px;color:#aab8bf;margin-top:4px}.generic-equipment .cut{fill:var(--silhouette-cut)}
@media(max-width:800px){.armory-v18 .intro h1{font-size:22px}.armory-v18 .intro .reset-tools{gap:5px}.armory-v18 .reset-all{font-size:12px;padding:7px 11px;min-height:42px}.armory-v18 .undo-reset{font-size:10px;min-height:36px;padding:6px 8px}.equipment-scope{gap:7px;padding-bottom:10px;margin-bottom:12px}.equipment-scope .armory-counts{display:none}.equipment-scope p{font-size:10px}.scope-buttons{width:100%}.scope-buttons button{flex:1}.armory-v18[data-category=supplies] .catalog-tools{grid-row:4}}

.topbar a.brand{color:inherit;text-decoration:none}.topbar a.brand small{color:var(--gold)}.topbar a.brand:hover{color:var(--gold)}
