.release27-ui #panel:has([data-wardrobe27]){max-width:450px;padding:48px 20px 20px!important}
.release27-ui #panel-content[data-wardrobe27]{display:grid;grid-template-columns:1fr;gap:10px;text-align:center}
.wardrobe27-heading{grid-column:1/-1}.wardrobe27-heading small{color:#d9ba74;font-size:9px;letter-spacing:2px}.release27-ui #panel .wardrobe27-heading h2{margin:7px 0;font-size:24px;letter-spacing:1px}
.wardrobe27-stage{height:235px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 65%,#64887c32,transparent 62%);border-bottom:1px solid #c2ad7255}
.wardrobe27-stage>canvas{height:220px;max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 9px #0008)}
.wardrobe27-turn{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center}.wardrobe27-turn>span{font-size:9px;color:#b6c3b6}.wardrobe27-turn button{width:44px;height:44px;border:0;border-radius:50%;background:#18374399;color:#ecd9a3;font:26px Georgia}
.wardrobe27-items{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wardrobe27-items button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid #adb88b44;border-radius:12px;background:linear-gradient(150deg,#203c49,#0d2231);padding:8px;color:#e5ddc3;min-height:110px}.wardrobe27-items button[aria-pressed=true]{border-color:#edc776;box-shadow:inset 0 0 18px #ba9a4229,0 0 0 1px #ba9a4244}.wardrobe27-items canvas{height:57px;width:72px;object-fit:contain}.wardrobe27-items b{font-size:11px}.wardrobe27-items small{font-size:9px;color:#a4b8b2}
.wardrobe27-detail>b{font-size:14px;color:#eed9a7}.wardrobe27-note{font-size:10px;line-height:1.5;margin:8px 0 12px;min-height:15px;color:#a9beb8}.wardrobe27-detail .primary{justify-content:center}
@media(max-height:700px) and (orientation:portrait){.wardrobe27-stage{height:158px}.wardrobe27-stage>canvas{height:156px}.wardrobe27-items button{min-height:93px;padding:5px}.wardrobe27-items canvas{height:43px}.release27-ui #panel:has([data-wardrobe27]){padding:44px 16px 14px!important}.wardrobe27-heading small{display:none}.release27-ui #panel .wardrobe27-heading h2{font-size:20px;margin:3px 0}.wardrobe27-note{margin:6px 0}.wardrobe27-detail>b{display:none}}
@media(orientation:landscape) and (max-height:550px){.release27-ui #panel:has([data-wardrobe27]){max-width:620px;width:620px;padding:20px 24px 15px!important}.release27-ui #panel-content[data-wardrobe27]{grid-template-columns:1fr 1fr;gap:8px 18px}.wardrobe27-heading{grid-column:2;grid-row:1;padding-right:20px}.wardrobe27-heading small{display:none}.release27-ui #panel .wardrobe27-heading h2{font-size:20px;margin:6px 0}.wardrobe27-stage{grid-column:1;grid-row:1/4;height:260px}.wardrobe27-stage>canvas{height:246px}.wardrobe27-items{grid-column:2;grid-row:2}.wardrobe27-items button{min-height:95px;padding:5px;gap:3px}.wardrobe27-items canvas{height:43px}.wardrobe27-detail{grid-column:2;grid-row:3}.wardrobe27-detail>b{display:none}.wardrobe27-note{font-size:9px;min-height:28px;margin:6px 0}}

.wardrobe27-stage canvas,.wardrobe27-items canvas{position:static;inset:auto;display:block;pointer-events:none;z-index:auto}

/* Loading and retry live inside the existing preview slots, so the 320px and
   short-landscape layouts keep their original dimensions. */
.wardrobe27-preview-status{position:absolute;inset:0 0 44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#c7cbb6;font-size:10px;line-height:1.5;text-align:center}
.wardrobe27-preview-status>span{max-width:calc(100% - 24px);word-break:keep-all}
.wardrobe27-loader{display:flex;align-items:center;justify-content:center;gap:5px;width:32px;height:14px;font-style:normal}
.wardrobe27-loader>i{display:block;width:4px;height:4px;border-radius:1px;background:#d9bd7d;opacity:.30;animation:wardrobe27-breathe 1.05s ease-in-out infinite}
.wardrobe27-loader>i:nth-child(2){animation-delay:.14s}.wardrobe27-loader>i:nth-child(3){animation-delay:.28s}
.wardrobe27-stage[data-state=loading]>canvas,.wardrobe27-stage[data-state=error]>canvas{opacity:0}
.wardrobe27-stage[data-state=ready] .wardrobe27-preview-status{display:none}
.wardrobe27-stage[data-state=error] .wardrobe27-loader{display:none}
.wardrobe27-stage [data-preview27-retry]{min-width:112px;min-height:44px;padding:8px 14px;border:1px solid #d8bd7970;border-radius:9px;background:linear-gradient(135deg,#b49a4320,#173640e8);color:#efdda9;font:600 10px/1.3 'Noto Sans KR',system-ui,sans-serif;touch-action:manipulation;box-shadow:inset 0 1px #f1dea315}
.wardrobe27-stage [data-preview27-retry]:active{background:#394b42}.wardrobe27-stage [data-preview27-retry]:focus-visible{outline:2px solid #edcc88;outline-offset:3px}
.wardrobe27-thumb{position:relative;display:block;width:72px;height:57px;flex:none}
.wardrobe27-thumb-status{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#c3c5aa;font:8px/1.3 'Noto Sans KR',system-ui,sans-serif}
.wardrobe27-thumb .wardrobe27-loader{transform:scale(.8);height:11px}
.wardrobe27-items [data-image-state=ready] .wardrobe27-thumb-status{display:none}
.wardrobe27-items [data-image-state=loading] canvas,.wardrobe27-items [data-image-state=error] canvas{opacity:0}
.wardrobe27-items [data-image-state=error] .wardrobe27-loader{display:none}
.wardrobe27-items [data-image-state=error] .wardrobe27-thumb-status{color:#e5c18e}
.wardrobe27-turn button:disabled,.wardrobe27-items button:disabled{cursor:wait;filter:saturate(.75)}
.wardrobe27-detail [data-equip27]:disabled{cursor:default;opacity:.53;box-shadow:none}
.wardrobe27-reveal{animation:wardrobe27-reveal .16s ease-out both}
@keyframes wardrobe27-reveal{from{opacity:0}to{opacity:1}}
@keyframes wardrobe27-breathe{0%,75%,100%{opacity:.25}35%{opacity:.90}}
@media(max-height:700px) and (orientation:portrait){.wardrobe27-thumb{height:43px}.wardrobe27-preview-status{gap:7px}}
@media(orientation:landscape) and (max-height:550px){.wardrobe27-thumb{height:43px}.wardrobe27-preview-status{gap:9px}}
@media(prefers-reduced-motion:reduce){.wardrobe27-reveal,.wardrobe27-loader>i{animation:none}.wardrobe27-loader>i{opacity:.55}}

/* Release29 loadout. The standalone Wardrobe27 dimensions above are retained. */
.release27-ui #panel:has([data-loadout29]){width:min(440px,100%);max-width:440px;padding:42px 18px 16px!important}
.release27-ui #panel-content[data-loadout29]{display:flex;flex-direction:column;align-items:stretch;width:100%;gap:12px;min-width:0;text-align:left}
.loadout29-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.loadout29-heading>div>span{font:9px/1.4 'Noto Sans KR',system-ui;color:#c8b178;letter-spacing:1px}
.release27-ui #panel .loadout29-heading h2{font-size:21px;line-height:1.3;letter-spacing:.5px;margin:4px 0 0}
.loadout29-hat-status{max-width:44%;text-align:right;word-break:keep-all;line-height:1.4}.loadout29-hat-status>b{display:block;font-size:10px;font-weight:500;color:#d5d9c7}.loadout29-hat-status>span{display:block;font-size:8px;letter-spacing:0;color:#9db5b1}.loadout29-hat-status[data-save=failed]>span,.loadout29-hat-status[data-save=unavailable]>span{color:#edb397}.loadout29-hat-status[data-save=recovered]>span{color:#dfc57f}
.loadout29-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;background:#07192466;padding:4px;border-radius:11px}
.loadout29-tabs button{min-height:44px;min-width:0!important;border:1px solid transparent;border-radius:8px;background:transparent;color:#a5b6b4;font-size:11px;font-weight:500;touch-action:manipulation}
.loadout29-tabs button[aria-pressed=true]{background:linear-gradient(140deg,#5b583738,#253e4199);border-color:#c8aa6275;color:#f0d596}
.loadout29-content{display:grid;gap:12px;min-width:0}
.loadout29-weapons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.loadout29-weapon{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0!important;min-height:117px;padding:9px 4px;border:1px solid #98ac9755;border-radius:11px;background:linear-gradient(145deg,#29404a,#112835);color:#dddfd0;touch-action:manipulation}
.loadout29-weapon>.art27{width:51px;height:51px;border-radius:9px;filter:drop-shadow(0 3px 6px #0007)}
.loadout29-weapon.wind>.art27{filter:sepia(.35) hue-rotate(98deg) saturate(1.25) drop-shadow(0 3px 6px #0007)}
.loadout29-weapon.moon>.art27{filter:sepia(.7) saturate(1.35) drop-shadow(0 3px 6px #0007)}
.loadout29-weapon>b{font-size:10px;font-weight:600;line-height:1.3;word-break:keep-all;text-align:center;min-height:26px;display:flex;align-items:center;justify-content:center}.loadout29-weapon>small{font-size:8px;color:#b0c0b8}
.loadout29-weapon>i{position:absolute;top:5px;right:6px;font:700 11px/1 system-ui;color:#f2d491}
.loadout29-weapon[data-status=locked]>.art27{filter:grayscale(.85) brightness(.72)}
.loadout29-weapon[data-status=locked]>small{color:#889d9e}.loadout29-weapon[data-status=equipped]{border-color:#91b6a677}
.loadout29-weapon[aria-pressed=true]{border-color:#e3c383;box-shadow:inset 0 0 18px #d6b55a16,0 0 0 1px #c8ab6033}
.loadout29-detail{display:flex;flex-direction:column;gap:10px;min-width:0;text-align:center}.loadout29-detail>b{font-size:13px;color:#ead5a3}
.loadout29-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 4px;background:#061a2666;border-radius:10px}.loadout29-stats>span+span{border-left:1px solid #b0b49325}.loadout29-stats strong{display:block;font:600 19px/1.15 Georgia,serif;color:#e3d6b2}.loadout29-stats small{display:block;font:8px/1.5 system-ui;color:#9eb3b0;margin-top:3px}
.loadout29-detail .loadout29-hint{font-size:9px;line-height:1.5;color:#a9b9ae;margin:0;min-height:14px;word-break:keep-all}
.loadout29-detail [data-loadout29-equip]{min-height:44px;padding:8px;justify-content:center;font-size:12px;letter-spacing:.3px;border-radius:9px}.loadout29-detail [data-loadout29-equip]:disabled{opacity:.5;cursor:default}
.loadout29-message{font-size:9px;color:#dfc793;text-align:center}.loadout29-message:empty{display:none}
.loadout29-scope{border-top:1px solid #b9b79122;padding-top:9px;text-align:center;word-break:keep-all}.loadout29-scope b{display:block;font-size:9px;line-height:1.5;font-weight:500;color:#c1c6b4}.loadout29-scope>span{display:block;font-size:8px;line-height:1.5;color:#8da8a7;margin-top:3px}
.loadout29-training{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;align-content:start}
.loadout29-training button{position:relative;min-width:0!important;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 3px;min-height:95px;background:linear-gradient(140deg,#263b40,#0e2531);border:1px solid #90a89a44;border-radius:10px;color:#d5dbce;touch-action:manipulation}
.loadout29-training button[aria-pressed=true]{border-color:#d6bd7b;background:linear-gradient(140deg,#514b3233,#19363ee8)}
.loadout29-training .art27{width:39px;height:39px;border-radius:9px}.loadout29-training b{font-size:10px;line-height:1.3;word-break:keep-all}.loadout29-training small{font-size:8px;color:#a9bcaf}
.loadout29-training-detail{align-items:center;padding:12px 10px;background:#071d2680;border-radius:10px;gap:7px}.loadout29-training-detail>.art27{width:38px;height:38px;border-radius:8px}.loadout29-training-detail>p{font-size:11px;line-height:1.6;margin:0;color:#ddd3b1;word-break:keep-all}.loadout29-training-detail>small{font-size:8px;color:#95aeaa}
.loadout29-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:204px;text-align:center}.loadout29-empty>.art27{width:65px;height:65px;border-radius:14px;opacity:.7}.loadout29-empty>b{font-size:12px;color:#d5d9c7;font-weight:500}.loadout29-empty>span{font-size:10px;color:#9eb5b0}
.loadout29-back{position:absolute;z-index:6;left:8px;top:7px;display:flex;align-items:center;gap:5px;min-height:44px!important;min-width:44px;padding:6px 10px;border:1px solid #aeb99435;border-radius:8px;background:#132c35f2;color:#d4c89f;font:500 10px/1.3 'Noto Sans KR',system-ui;touch-action:manipulation;pointer-events:auto}.loadout29-back:active{background:#354b43}.loadout29-back:focus-visible{outline:2px solid #edcc88;outline-offset:2px}
@media(max-width:359px){.release27-ui #panel:has([data-loadout29]){padding:42px 12px 12px!important}.release27-ui #panel-content[data-loadout29]{gap:9px}.loadout29-heading h2{font-size:19px!important}.loadout29-hat-status{max-width:45%}.loadout29-hat-status>b{font-size:9px}.loadout29-tabs{padding:3px}.loadout29-weapons,.loadout29-training{gap:5px}.loadout29-weapon{min-height:104px;padding:7px 3px;gap:3px}.loadout29-weapon>.art27{width:43px;height:43px}.loadout29-weapon>b{font-size:9px}.loadout29-stats{padding:8px 2px}.loadout29-detail{gap:8px}.loadout29-training button{min-height:85px;padding:6px 2px}.loadout29-training .art27{width:33px;height:33px}.loadout29-training b{font-size:9px}.loadout29-training-detail{padding:9px;gap:5px}.loadout29-training-detail>p{font-size:10px}}
@media(orientation:landscape) and (max-height:550px){.release27-ui #panel:has([data-loadout29]){width:min(620px,100%);max-width:620px;padding:36px 20px 12px!important}.release27-ui #panel-content[data-loadout29]{gap:8px}.release27-ui #panel .loadout29-heading h2{font-size:19px;margin:0}.loadout29-heading>div>span{display:none}.loadout29-hat-status{display:flex;align-items:center;gap:6px;max-width:60%}.loadout29-tabs{padding:2px}.loadout29-tabs button{min-height:38px!important}.loadout29-content{grid-template-columns:1.2fr 1fr;gap:16px;align-items:center}.loadout29-weapons{gap:6px}.loadout29-weapon{min-height:119px}.loadout29-detail{gap:7px}.loadout29-stats{padding:7px 3px}.loadout29-detail [data-loadout29-equip]{min-height:39px!important}.loadout29-scope{padding-top:7px}.loadout29-scope>span{margin:1px 0 0}.loadout29-training{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.loadout29-training button{min-height:67px;padding:4px 2px;gap:2px}.loadout29-training .art27{width:28px;height:28px}.loadout29-training b{font-size:9px}.loadout29-training-detail{align-self:stretch;justify-content:center;padding:10px}.loadout29-empty{grid-column:1/-1;min-height:143px;gap:8px}.loadout29-empty>.art27{width:48px;height:48px}}
