.attire-gc-app{--ink:#2a2421;--muted:#766e68;--line:#ddd3c9;--paper:#fffdfa;--soft:#f5efe8;--accent:#654f42;--dark:#40332c;--ok:#48705c;--warn:#9a6738;--danger:#9a4949;--shadow:0 18px 46px rgba(52,43,37,.12);--radius:20px}
.attire-gc-app,.attire-gc-app *{box-sizing:border-box}
.attire-gc-app{margin:0;min-width:1200px;overflow-x:auto;background:linear-gradient(#f7f2ec,#fff);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif;line-height:1.6}
.attire-gc-app button,.attire-gc-app input,.attire-gc-app select{font:inherit}
.attire-gc-app button{cursor:pointer}
.attire-gc-app a{color:#735b4c}
.attire-gc-app .wrap{width:min(1460px,calc(100% - 24px));min-width:1160px;margin:auto;padding:18px 0 42px}
.attire-gc-app .hero{padding:30px clamp(20px,4vw,50px);border-radius:28px;background:linear-gradient(130deg,#282526,#51443e 56%,#8a705f);color:#fff;box-shadow:var(--shadow)}
.attire-gc-app .hero small{display:block;font-weight:900;letter-spacing:.14em;opacity:.7}
.attire-gc-app .hero h1{margin:6px 0 9px;font:500 clamp(29px,5vw,48px)/1.16 Georgia,"Noto Serif JP",serif}
.attire-gc-app .hero p{max-width:1050px;margin:0;color:rgba(255,255,255,.84);font-size:14px}
.attire-gc-app .stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.attire-gc-app .stat{padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);font-size:11px;font-weight:900}
.attire-gc-app .layout{display:grid;grid-template-columns:445px minmax(0,1fr);gap:22px;margin-top:22px;align-items:start}
.attire-gc-app .panel,.attire-gc-app .main{background:rgba(255,253,250,.98);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.attire-gc-app .panel{padding:18px;position:sticky;top:10px;max-height:calc(100vh - 20px);overflow:auto}
.attire-gc-app .main{padding:24px}
.attire-gc-app .section+.section{margin-top:17px;padding-top:17px;border-top:1px dashed var(--line)}
.attire-gc-app h2,.attire-gc-app h3,.attire-gc-app h4{margin:0}
.attire-gc-app .help{margin:4px 0 10px;color:var(--muted);font-size:11px}
.attire-gc-app .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.attire-gc-app .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.attire-gc-app .input,.attire-gc-app .select{width:100%;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;outline:none}
.attire-gc-app .input:focus,.attire-gc-app .select:focus{border-color:#a18575;box-shadow:0 0 0 3px rgba(161,133,117,.12)}
.attire-gc-app .btn{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--accent);font-weight:900}
.attire-gc-app .btn:hover{border-color:#a98d7e;background:#fbf6f1}
.attire-gc-app .btn.primary{border:0;background:linear-gradient(120deg,#44362f,#7b6254);color:#fff}
.attire-gc-app .btn.ok{border:0;background:var(--ok);color:#fff}
.attire-gc-app .btn.warn{border:0;background:var(--warn);color:#fff}
.attire-gc-app .btn.danger{border-color:#d6b4b4;color:var(--danger)}
.attire-gc-app .btn:disabled{opacity:.45;cursor:default}
.attire-gc-app .chips{display:flex;gap:6px;overflow:auto;padding-bottom:5px;margin:9px 0}
.attire-gc-app .chip{flex:none;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:10px;font-weight:900}
.attire-gc-app .chip.active{background:var(--dark);border-color:var(--dark);color:#fff}
.attire-gc-app .notice{padding:10px 11px;border:1px solid #dfd0c1;border-radius:13px;background:#faf4ed;color:#735d4e;font-size:10px}
.attire-gc-app .notice.ok{border-color:#bfd3c7;background:#f0f7f3;color:#456453}
.attire-gc-app .notice.warn{border-color:#e5c9ab;background:#fff8ed;color:#805d36}
.attire-gc-app .progress{height:9px;border-radius:999px;background:#e9e1d9;overflow:hidden;margin:9px 0 5px}
.attire-gc-app .progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#81695c,#b68f77);transition:width .2s}
.attire-gc-app .collector-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.attire-gc-app .countbox{padding:7px;border-radius:11px;background:var(--soft);text-align:center}
.attire-gc-app .countbox strong{display:block;font-size:15px}
.attire-gc-app .countbox span{font-size:9px;color:var(--muted)}
.attire-gc-app .searchbar{display:grid;grid-template-columns:1fr auto;gap:7px}
.attire-gc-app .meta{display:flex;justify-content:space-between;gap:9px;align-items:center;margin:9px 0 7px;color:var(--muted);font-size:10px}
.attire-gc-app .body-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:130px}
.attire-gc-app .body-btn{padding:0;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;text-align:left}
.attire-gc-app .body-btn:hover{transform:translateY(-1px);border-color:#a98e7f}
.attire-gc-app .body-btn.active{border-color:#846858;box-shadow:0 0 0 3px rgba(132,104,88,.12)}
.attire-gc-app .body-btn img{display:block;width:100%;aspect-ratio:1/1.13;object-fit:cover;object-position:top;background:#eee}
.attire-gc-app .copy{padding:8px}
.attire-gc-app .copy strong{display:block;font-size:10px;line-height:1.35}
.attire-gc-app .copy span{display:block;font-size:8px;color:var(--muted)}
.attire-gc-app .pager{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}
.attire-gc-app .empty{padding:24px 12px;border:1px dashed var(--line);border-radius:13px;text-align:center;color:var(--muted);font-size:11px}
.attire-gc-app .selected{display:grid;grid-template-columns:90px 1fr;gap:11px;padding:10px;border:1px solid #b59a89;border-radius:14px;background:#faf5ef}
.attire-gc-app .selected img{width:90px;height:110px;object-fit:cover;object-position:top;border-radius:9px}
.attire-gc-app .selected small{display:block;color:var(--muted);font-size:9px}
.attire-gc-app .selected strong{display:block;font-size:13px}
.attire-gc-app .selected a{font-size:10px}
.attire-gc-app .checkline{display:flex;gap:8px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.attire-gc-app .checkline input{margin-top:4px}
.attire-gc-app .checkline b{display:block;font-size:11px}
.attire-gc-app .checkline span span{display:block;color:var(--muted);font-size:9px}
.attire-gc-app .main-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}
.attire-gc-app .main-head p{margin:4px 0 0;color:var(--muted);font-size:12px}
.attire-gc-app .score{flex:none;padding:8px 13px;border-radius:13px;background:var(--soft);border:1px solid var(--line);text-align:center}
.attire-gc-app .score strong{display:block;font:28px Georgia,serif}
.attire-gc-app .score span{font-size:9px;color:var(--muted)}
.attire-gc-app .signature{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:16px 0}
.attire-gc-app .tags{display:flex;flex-wrap:wrap;gap:6px}
.attire-gc-app .tag{padding:5px 8px;border-radius:999px;background:#eee5dd;font-size:10px;font-weight:900}
.attire-gc-app .palette{display:flex;gap:5px}
.attire-gc-app .swatch{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.attire-gc-app .weapon-area{margin:0 0 14px}
.attire-gc-app .weapon-card{display:grid;grid-template-columns:240px minmax(0,1fr) 155px;gap:0;min-height:158px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;align-items:stretch}
.attire-gc-app .weapon-card.anchor{border-color:#856b5c;box-shadow:0 0 0 3px rgba(133,107,92,.08)}
.attire-gc-app .weapon-visual{position:relative;min-height:158px;background:#eee;overflow:hidden}
.attire-gc-app .weapon-visual img{display:block;width:100%;height:100%;min-height:158px;object-fit:cover}
.attire-gc-app .weapon-copy{min-width:0;padding:8px 11px}
.attire-gc-app .weapon-copy .part-head{padding:0 0 8px;border-bottom:1px solid #eee}
.attire-gc-app .weapon-copy p{margin:0;padding:9px 0}
.attire-gc-app .weapon-card>.part-action{display:flex;align-items:center;padding:14px;border-left:1px solid #eee;background:#fcf8f4}
.attire-gc-app .parts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.attire-gc-app .part{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.attire-gc-app .part.anchor{border-color:#856b5c;box-shadow:0 0 0 3px rgba(133,107,92,.08)}
.attire-gc-app .part-head{display:flex;justify-content:space-between;align-items:center;padding:8px 9px}
.attire-gc-app .slot{font-size:10px;font-weight:900}
.attire-gc-app .match{font-size:9px;color:var(--muted)}
.attire-gc-app .visual{position:relative;aspect-ratio:3/4;background:#eee;overflow:hidden}
.attire-gc-app .visual img{width:100%;height:100%;object-fit:cover;object-position:top}
.attire-gc-app .mark{position:absolute;left:7px;bottom:7px;padding:3px 6px;border-radius:999px;background:rgba(40,33,29,.77);color:#fff;font-size:8px}
.attire-gc-app .part p{margin:0;padding:7px 9px}
.attire-gc-app .source{border-top:1px solid #eee;color:var(--muted);font-size:9px}
.attire-gc-app .reason{font-size:9px}
.attire-gc-app .part-action{padding:0 8px 9px}
.attire-gc-app .part-reroll{width:100%;padding:7px 6px;border:1px solid var(--line);border-radius:10px;background:#faf6f1;color:var(--accent);font-size:9px;font-weight:900}
.attire-gc-app .part-reroll:hover{background:#efe5dc;border-color:#a98d7e}
.attire-gc-app .result-tools{display:grid;gap:7px;justify-items:stretch;min-width:145px}
.attire-gc-app .result-tools .btn{padding:8px 9px;font-size:10px}
.attire-gc-app .dye-wrap{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.attire-gc-app .dye-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.attire-gc-app .dye-head p{margin:4px 0 0;color:var(--muted);font-size:11px}
.attire-gc-app .dye-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:12px}
.attire-gc-app .dye-card{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}
.attire-gc-app .dye-card h4{padding:10px 11px;border-bottom:1px solid #eee;font-size:12px}
.attire-gc-app .dye-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}
.attire-gc-app .dye{min-width:0}
.attire-gc-app .dye-color{height:62px;border-radius:10px;border:1px solid rgba(0,0,0,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.attire-gc-app .dye strong{display:block;margin-top:6px;font-size:10px;line-height:1.35}
.attire-gc-app .dye small{display:block;color:var(--muted);font-size:8px}
.attire-gc-app .dye-note{padding:0 10px 10px;color:var(--muted);font-size:9px}
.attire-gc-app .method{margin-top:18px;padding:13px;border-radius:13px;background:var(--soft);color:var(--muted);font-size:10px}
.attire-gc-app .method strong{color:var(--ink)}
.attire-gc-app .log{max-height:150px;overflow:auto;margin-top:8px;padding:8px;border-radius:11px;background:#272322;color:#ddd;font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}
.attire-gc-app .upload-box{padding:12px;border:1px solid var(--line);border-radius:15px;background:#fff}
.attire-gc-app .upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.attire-gc-app .upload-preview{margin-top:10px;padding:9px;border-radius:13px;background:#262220}
.attire-gc-app .crop-stage{position:relative;width:100%;overflow:hidden;border-radius:10px;background:#151312;touch-action:none}
.attire-gc-app .crop-stage canvas{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;cursor:crosshair}
.attire-gc-app .crop-help{margin:7px 2px 0;color:#ddd;font-size:9px}
.attire-gc-app .upload-fixed{display:grid;grid-template-columns:90px 1fr;gap:11px;margin-top:10px;padding:10px;border:1px solid #a8c8b5;border-radius:14px;background:#f0f7f3}
.attire-gc-app .upload-fixed img{width:90px;height:110px;object-fit:cover;border-radius:9px}
.attire-gc-app .upload-fixed small{display:block;color:#587162;font-size:9px}
.attire-gc-app .upload-fixed strong{display:block;font-size:12px}
.attire-gc-app .privacy{margin-top:8px;color:var(--muted);font-size:9px}
.attire-gc-app .slot-select{margin-top:8px}
.attire-gc-app .ss-mode{padding:5px 8px;border-radius:999px;background:#dfeee5;color:#41604d;font-size:9px;font-weight:900}
.attire-gc-app .identify-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.attire-gc-app .identify-status{margin-top:8px;padding:8px 9px;border-radius:11px;background:#f7f1ea;color:var(--muted);font-size:9px}
.attire-gc-app .guess-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.attire-gc-app .guess-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}
.attire-gc-app .guess-card img{display:block;width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:top;background:#eee}
.attire-gc-app .guess-copy{padding:8px}
.attire-gc-app .guess-copy strong{display:block;font-size:10px;line-height:1.35}
.attire-gc-app .guess-copy small{display:block;color:var(--muted);font-size:8px}
.attire-gc-app .guess-score{display:inline-block;margin-top:4px;padding:3px 6px;border-radius:999px;background:#eee5dd;font-size:8px;font-weight:900}
.attire-gc-app .guess-use{width:100%;margin-top:7px;padding:6px;border:1px solid var(--line);border-radius:9px;background:#faf6f1;color:var(--accent);font-size:9px;font-weight:900}
.attire-gc-app .hidden{display:none!important}
.attire-gc-app .parts{grid-template-columns:1fr}
.attire-gc-app .main-head,.attire-gc-app .signature,.attire-gc-app .dye-head{display:block}
.attire-gc-app .score{display:inline-block;margin-top:10px}

.attire-gc-shell{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:auto;
  background:linear-gradient(#f7f2ec,#fff);
  -webkit-overflow-scrolling:touch;
}
.attire-gc-app{
  min-width:1200px;
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",Meiryo,sans-serif;
  line-height:1.6;
}
.attire-gc-app .wrap{width:min(1460px,calc(100% - 24px));min-width:1160px;margin:auto;padding:18px 0 42px}
.attire-gc-app .layout{display:grid;grid-template-columns:445px minmax(0,1fr);gap:22px;align-items:start}
.attire-gc-app .parts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.attire-gc-app .main-head,.attire-gc-app .signature,.attire-gc-app .dye-head{display:flex}
.attire-gc-app .score{display:block;margin-top:0}
.attire-gc-app img{max-width:none}
.attire-gc-app button,.attire-gc-app input,.attire-gc-app select{font-family:inherit}

.attire-gc-shell .dyeable{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:800;border:1px solid var(--line);background:#faf6f1;color:#7f6455}.attire-gc-shell .dyeable.ok{background:#eef8f1;color:#246b3a;border-color:#bfd7c5}.attire-gc-shell .dyeable.ng{background:#fff0f0;color:#8b3a3a;border-color:#e4c1c1}.attire-gc-shell .dyeable.na{background:#f5f3ef;color:#71685f;border-color:#ddd5cc}.attire-gc-shell .dye-row,.attire-gc-shell .meta-line{display:block;margin-top:6px}.attire-gc-shell .guess-copy small .dyeable{font-size:9px}
.attire-gc-app .upload-box{border:2px dashed #c9b5a6;background:linear-gradient(#fff,#fcf8f4)}
.attire-gc-app .upload-placeholder{display:grid;gap:5px;margin-bottom:10px;padding:12px;border:1px solid #e4d5c9;border-radius:13px;background:#faf4ed;color:#6f594c}
.attire-gc-app .upload-placeholder strong{font-size:12px}
.attire-gc-app .upload-placeholder span{font-size:10px;line-height:1.7;color:#7b6f67}
.attire-gc-app .weapon-area{margin:14px 0 0}

.attire-gc-app .image-placeholder{display:flex;width:100%;height:100%;min-height:110px;align-items:center;justify-content:center;background:linear-gradient(135deg,#eee7df,#f8f4ef);color:#8a7c72;font-size:10px;font-weight:800;text-align:center}.attire-gc-app .visual>.image-placeholder,.attire-gc-app .weapon-visual>.image-placeholder{position:absolute;inset:0;min-height:100%}.attire-gc-app .body-btn>.image-placeholder{aspect-ratio:1/1.13}


/* 2.11.4: 装備名の文字数に左右されないカード配置 */
.attire-gc-app .parts{align-items:stretch}
.attire-gc-app .part{display:flex;flex-direction:column;height:100%;min-height:0}
.attire-gc-app .part-head{flex:0 0 42px;min-height:42px}
.attire-gc-app .part .source{
  box-sizing:border-box;
  height:3.55em;
  min-height:3.55em;
  max-height:3.55em;
  overflow:hidden;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.attire-gc-app .part .meta-line{
  box-sizing:border-box;
  display:flex;
  align-items:flex-start;
  height:51px;
  min-height:51px;
  max-height:51px;
}
.attire-gc-app .part .reason{
  box-sizing:border-box;
  height:3.55em;
  min-height:3.55em;
  max-height:3.55em;
  overflow:hidden;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.attire-gc-app .part-action{
  display:flex;
  align-items:flex-end;
  min-height:53px;
  margin-top:auto;
}
.attire-gc-app .part-reroll{min-height:40px}


/* 2.12.0: スマートフォン専用表示。PC幅では従来レイアウトを一切縮小しない。 */
@media (max-width:782px){
  .attire-gc-shell{
    width:100%;
    max-width:100%;
    margin-left:0;
    margin-right:0;
    overflow-x:hidden;
  }
  .attire-gc-app{
    width:100%;
    min-width:0;
    overflow:hidden;
  }
  .attire-gc-app .wrap{
    width:100%;
    min-width:0;
    padding:8px 8px 30px;
  }
  .attire-gc-app .hero{
    padding:20px 16px;
    border-radius:18px;
  }
  .attire-gc-app .hero small{
    font-size:9px;
    line-height:1.45;
  }
  .attire-gc-app .hero h1{
    margin:7px 0 10px;
    font-size:27px;
    line-height:1.2;
  }
  .attire-gc-app .hero p{
    font-size:11px;
    line-height:1.75;
  }
  .attire-gc-app .stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .attire-gc-app .stat{
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:center;
    padding:7px 6px;
    border-radius:10px;
    text-align:center;
    font-size:9px;
    line-height:1.35;
  }
  .attire-gc-app .layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    margin-top:12px;
  }
  .attire-gc-app .panel{
    position:static;
    top:auto;
    max-height:none;
    overflow:visible;
    padding:12px;
    border-radius:16px;
  }
  .attire-gc-app .main{
    min-width:0;
    padding:12px;
    border-radius:16px;
  }
  .attire-gc-app .section+.section{
    margin-top:14px;
    padding-top:14px;
  }
  .attire-gc-app h2{font-size:18px;line-height:1.4}
  .attire-gc-app h3{font-size:16px;line-height:1.4}
  .attire-gc-app .help{font-size:10px;line-height:1.65}
  .attire-gc-app .grid2,
  .attire-gc-app .upload-actions,
  .attire-gc-app .identify-tools{
    grid-template-columns:minmax(0,1fr);
  }
  .attire-gc-app .input,
  .attire-gc-app .select,
  .attire-gc-app .btn{
    min-height:42px;
  }
  .attire-gc-app .chips{
    margin-right:-12px;
    padding-right:12px;
  }
  .attire-gc-app .body-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .attire-gc-app .body-btn img,
  .attire-gc-app .body-btn>.image-placeholder{
    max-width:100%;
  }
  .attire-gc-app .selected,
  .attire-gc-app .upload-fixed{
    grid-template-columns:72px minmax(0,1fr);
    gap:9px;
  }
  .attire-gc-app .selected img,
  .attire-gc-app .upload-fixed img{
    width:72px;
    height:92px;
    max-width:72px;
  }
  .attire-gc-app .crop-stage canvas{
    max-width:100%;
    max-height:68vh;
  }
  .attire-gc-app .guess-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .attire-gc-app .main-head,
  .attire-gc-app .signature,
  .attire-gc-app .dye-head{
    display:block;
  }
  .attire-gc-app .main-head{
    padding-bottom:12px;
  }
  .attire-gc-app .result-tools{
    display:grid;
    grid-template-columns:105px minmax(0,1fr);
    align-items:stretch;
    min-width:0;
    margin-top:10px;
  }
  .attire-gc-app .score{
    display:flex;
    min-width:0;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:7px 9px;
  }
  .attire-gc-app .score strong{font-size:23px}
  .attire-gc-app .signature{
    margin:12px 0;
  }
  .attire-gc-app .palette{
    margin-top:9px;
  }
  .attire-gc-app .parts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .attire-gc-app .part{
    min-width:0;
    border-radius:12px;
  }
  .attire-gc-app .part-head{
    flex-basis:38px;
    min-height:38px;
    padding:7px;
  }
  .attire-gc-app .visual{aspect-ratio:3/4}
  .attire-gc-app .visual img{
    width:100%;
    max-width:100%;
  }
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    height:3.5em;
    min-height:3.5em;
    max-height:3.5em;
    padding:6px 7px;
    font-size:8px;
  }
  .attire-gc-app .part .meta-line{
    height:47px;
    min-height:47px;
    max-height:47px;
    padding:6px 7px;
  }
  .attire-gc-app .part-action{
    min-height:48px;
    padding:0 7px 7px;
  }
  .attire-gc-app .part-reroll{
    min-height:38px;
  }
  .attire-gc-app .weapon-card{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    min-height:0;
  }
  .attire-gc-app .weapon-visual{
    min-height:0;
    aspect-ratio:16/10;
  }
  .attire-gc-app .weapon-visual img{
    width:100%;
    height:100%;
    min-height:0;
    max-width:100%;
  }
  .attire-gc-app .weapon-card>.part-action{
    min-height:0;
    padding:10px;
    border-top:1px solid #eee;
    border-left:0;
  }
  .attire-gc-app .dye-cards{
    grid-template-columns:minmax(0,1fr);
    gap:9px;
  }
  .attire-gc-app .dye-head .btn{
    width:100%;
    margin-top:9px;
  }
  .attire-gc-app .method{
    font-size:9px;
    line-height:1.7;
  }
  .attire-gc-app img{
    max-width:100%;
  }
}

@media (max-width:390px){
  .attire-gc-app .hero h1{font-size:24px}
  .attire-gc-app .stats{grid-template-columns:minmax(0,1fr)}
  .attire-gc-app .result-tools{grid-template-columns:minmax(0,1fr)}
  .attire-gc-app .score{justify-content:flex-start}
}


/* 2.13.0: 染色の指定色・雰囲気コントロール */
.attire-gc-app .dye-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.attire-gc-app .dye-field{display:grid;gap:6px;min-width:0}
.attire-gc-app .dye-field span{font-size:10px;font-weight:800;color:var(--muted)}
.attire-gc-app .dye-field .select{width:100%}
@media (max-width:782px){
  .attire-gc-app .dye-controls{grid-template-columns:minmax(0,1fr);gap:8px}
  .attire-gc-app .dye-field span{font-size:11px}
}


/* 2.13.1: 右側の候補カードを縦方向だけコンパクト化 */
@media (min-width:783px){
  .attire-gc-app .parts{
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:stretch;
  }
  .attire-gc-app .part{
    height:auto;
    min-height:0;
  }
  .attire-gc-app .part-head{
    flex:0 0 34px;
    min-height:34px;
    padding:5px 8px;
  }
  .attire-gc-app .visual{
    aspect-ratio:1/1.08;
  }
  .attire-gc-app .part p{
    padding:5px 8px;
  }
  .attire-gc-app .part .source{
    height:2.9em;
    min-height:2.9em;
    max-height:2.9em;
    font-size:8px;
    line-height:1.45;
  }
  .attire-gc-app .part .meta-line{
    height:39px;
    min-height:39px;
    max-height:39px;
    align-items:center;
  }
  .attire-gc-app .part .reason{
    height:2.9em;
    min-height:2.9em;
    max-height:2.9em;
    font-size:8px;
    line-height:1.45;
  }
  .attire-gc-app .part-action{
    min-height:43px;
    padding:0 7px 7px;
  }
  .attire-gc-app .part-reroll{
    min-height:34px;
    padding:5px;
    font-size:8px;
  }
  .attire-gc-app .part .dyeable{
    padding:2px 6px;
    font-size:8px;
  }
}

/* スマホでもカード内の余白を抑える。列数やPC幅には影響しない。 */
@media (max-width:782px){
  .attire-gc-app .visual{aspect-ratio:1/1.08}
  .attire-gc-app .part-head{flex-basis:34px;min-height:34px;padding:5px 7px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    height:2.85em;
    min-height:2.85em;
    max-height:2.85em;
    padding:5px 7px;
    line-height:1.4;
  }
  .attire-gc-app .part .meta-line{
    height:38px;
    min-height:38px;
    max-height:38px;
    padding:5px 7px;
  }
  .attire-gc-app .part-action{min-height:42px;padding:0 7px 7px}
  .attire-gc-app .part-reroll{min-height:34px;padding:5px}
}


/* 2.14.0: コーデ雰囲気選択と候補カード余白の微調整 */
.attire-gc-app .coord-field{display:grid;gap:6px;margin-top:10px}
.attire-gc-app .coord-field span{font-size:11px;font-weight:800;color:var(--muted)}
@media (min-width:783px){
  .attire-gc-app .part-head{flex:0 0 36px;min-height:36px;padding:6px 9px}
  .attire-gc-app .visual{aspect-ratio:1/1.12}
  .attire-gc-app .part p{padding:6px 9px}
  .attire-gc-app .part .source{height:3.05em;min-height:3.05em;max-height:3.05em;line-height:1.48}
  .attire-gc-app .part .meta-line{height:41px;min-height:41px;max-height:41px;align-items:center}
  .attire-gc-app .part .reason{height:3.05em;min-height:3.05em;max-height:3.05em;line-height:1.48}
  .attire-gc-app .part-action{min-height:45px;padding:0 8px 8px}
  .attire-gc-app .part-reroll{min-height:36px;padding:6px}
}
@media (max-width:782px){
  .attire-gc-app .coord-field span{font-size:11px}
  .attire-gc-app .visual{aspect-ratio:1/1.12}
  .attire-gc-app .part-head{min-height:35px;padding:6px 8px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{height:3em;min-height:3em;max-height:3em;line-height:1.45;padding:6px 8px}
  .attire-gc-app .part .meta-line{height:40px;min-height:40px;max-height:40px;padding:6px 8px}
  .attire-gc-app .part-action{min-height:44px;padding:0 8px 8px}
  .attire-gc-app .part-reroll{min-height:35px;padding:6px}
}


/* 2.15.0: 参考画像に近い候補カードの余白感 */
@media (min-width:783px){
  .attire-gc-app .part{border-radius:16px}
  .attire-gc-app .part-head{flex:0 0 42px;min-height:42px;padding:8px 10px}
  .attire-gc-app .visual{aspect-ratio:3/4}
  .attire-gc-app .part p{padding:8px 10px}
  .attire-gc-app .part .source{height:3.2em;min-height:3.2em;max-height:3.2em;font-size:9px;line-height:1.55}
  .attire-gc-app .part .meta-line{height:45px;min-height:45px;max-height:45px;align-items:center}
  .attire-gc-app .part .reason{height:3.2em;min-height:3.2em;max-height:3.2em;font-size:9px;line-height:1.55}
  .attire-gc-app .part-action{min-height:52px;padding:0 10px 10px}
  .attire-gc-app .part-reroll{min-height:40px;padding:7px 6px;font-size:9px}
  .attire-gc-app .part .dyeable{font-size:9px;padding:3px 8px}
}
@media (max-width:782px){
  .attire-gc-app .part{border-radius:14px}
  .attire-gc-app .visual{aspect-ratio:3/4}
  .attire-gc-app .part-head{min-height:38px;padding:7px 8px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{height:3.05em;min-height:3.05em;max-height:3.05em;padding:7px 8px;line-height:1.5}
  .attire-gc-app .part .meta-line{height:42px;min-height:42px;max-height:42px;padding:7px 8px}
  .attire-gc-app .part-action{min-height:48px;padding:0 8px 8px}
  .attire-gc-app .part-reroll{min-height:38px;padding:6px}
}


/* 2.15.1: 候補カードの余白を再調整 */
@media (min-width:783px){
  .attire-gc-app .part{border-radius:13px}
  .attire-gc-app .part-head{flex:0 0 34px;min-height:34px;padding:5px 8px}
  .attire-gc-app .visual{aspect-ratio:1/1.10}
  .attire-gc-app .part p{padding:5px 8px}
  .attire-gc-app .part .source{
    height:2.8em;
    min-height:2.8em;
    max-height:2.8em;
    font-size:8px;
    line-height:1.4;
  }
  .attire-gc-app .part .meta-line{
    height:36px;
    min-height:36px;
    max-height:36px;
    align-items:center;
  }
  .attire-gc-app .part .reason{
    height:2.8em;
    min-height:2.8em;
    max-height:2.8em;
    font-size:8px;
    line-height:1.4;
  }
  .attire-gc-app .part-action{min-height:40px;padding:0 7px 7px}
  .attire-gc-app .part-reroll{min-height:32px;padding:4px 5px;font-size:8px}
  .attire-gc-app .part .dyeable{font-size:8px;padding:2px 6px}
}
@media (max-width:782px){
  .attire-gc-app .part{border-radius:12px}
  .attire-gc-app .visual{aspect-ratio:1/1.10}
  .attire-gc-app .part-head{min-height:33px;padding:5px 7px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    height:2.75em;
    min-height:2.75em;
    max-height:2.75em;
    padding:5px 7px;
    line-height:1.38;
  }
  .attire-gc-app .part .meta-line{height:35px;min-height:35px;max-height:35px;padding:5px 7px}
  .attire-gc-app .part-action{min-height:39px;padding:0 7px 7px}
  .attire-gc-app .part-reroll{min-height:31px;padding:4px 5px}
}


/* 2.15.2: 参考画像に合わせてカード内の空白を最小化 */
.attire-gc-app .parts{align-items:start}
.attire-gc-app .part{
  height:auto;
  min-height:0;
  align-self:start;
  border-radius:13px;
}
.attire-gc-app .part-head{
  flex:0 0 32px;
  min-height:32px;
  padding:4px 8px;
}
.attire-gc-app .visual{aspect-ratio:3/4}
.attire-gc-app .part p{padding:5px 8px}
.attire-gc-app .part .source{
  box-sizing:border-box;
  height:2.7em;
  min-height:2.7em;
  max-height:2.7em;
  font-size:8px;
  line-height:1.35;
}
.attire-gc-app .part .meta-line{
  box-sizing:border-box;
  height:30px;
  min-height:30px;
  max-height:30px;
  padding-top:3px;
  padding-bottom:3px;
  align-items:center;
}
.attire-gc-app .part .reason{
  box-sizing:border-box;
  height:2.7em;
  min-height:2.7em;
  max-height:2.7em;
  font-size:8px;
  line-height:1.35;
}
.attire-gc-app .part-action{
  min-height:38px;
  padding:0 7px 7px;
}
.attire-gc-app .part-reroll{
  min-height:30px;
  padding:4px 5px;
  border-radius:9px;
  font-size:8px;
}
.attire-gc-app .part .dyeable{
  padding:1px 6px;
  font-size:8px;
}

@media (max-width:782px){
  .attire-gc-app .part-head{min-height:31px;padding:4px 7px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    height:2.65em;
    min-height:2.65em;
    max-height:2.65em;
    padding:5px 7px;
    line-height:1.32;
  }
  .attire-gc-app .part .meta-line{
    height:29px;
    min-height:29px;
    max-height:29px;
    padding:3px 7px;
  }
  .attire-gc-app .part-action{min-height:37px;padding:0 7px 7px}
  .attire-gc-app .part-reroll{min-height:29px;padding:4px 5px}
}


/* 2.15.4: 文字を小さくせず、カード構造そのものを短くする */
.attire-gc-app .dye-overlay{
  position:absolute;
  right:7px;
  bottom:7px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.9);
  font-size:9px;
  font-weight:800;
  line-height:1;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
}
.attire-gc-app .dye-overlay.ok{color:#246b3a}
.attire-gc-app .dye-overlay.ng{color:#8b3a3a}

@media (min-width:783px){
  .attire-gc-app .parts{align-items:start}
  .attire-gc-app .part{height:auto;min-height:0;align-self:start;border-radius:13px}
  .attire-gc-app .part-head{flex:0 0 34px;min-height:34px;padding:6px 9px}
  .attire-gc-app .visual{aspect-ratio:3/4}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    box-sizing:border-box;
    display:block;
    height:30px;
    min-height:30px;
    max-height:30px;
    padding:7px 9px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:9px;
    line-height:16px;
  }
  .attire-gc-app .part .reason{padding-top:6px;padding-bottom:6px}
  .attire-gc-app .part .meta-line{display:none!important}
  .attire-gc-app .part-action{min-height:42px;padding:0 8px 8px}
  .attire-gc-app .part-reroll{min-height:34px;padding:6px 7px;border-radius:10px;font-size:9px}
}

@media (max-width:782px){
  .attire-gc-app .part{height:auto;min-height:0;align-self:start}
  .attire-gc-app .visual{aspect-ratio:3/4}
  .attire-gc-app .part-head{min-height:33px;padding:5px 8px}
  .attire-gc-app .part .source,
  .attire-gc-app .part .reason{
    display:block;
    height:29px;
    min-height:29px;
    max-height:29px;
    padding:6px 8px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:9px;
    line-height:17px;
  }
  .attire-gc-app .part .meta-line{display:none!important}
  .attire-gc-app .part-action{min-height:40px;padding:0 7px 7px}
  .attire-gc-app .part-reroll{min-height:32px;padding:5px 6px;font-size:9px}
}


/* 2.15.5: 候補カードを固定グリッドで再構築
   以前の flex 高さ・stretch・margin-top:auto の影響を完全に切る。 */
#attire-glamour-coordinator.attire-gc-card-layout-v2155 .parts{
  align-items:start !important;
  grid-auto-rows:max-content !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:34px auto 30px 30px 40px !important;
  align-self:start !important;
  height:max-content !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:13px !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-head{
  grid-row:1 !important;
  box-sizing:border-box !important;
  min-height:0 !important;
  height:34px !important;
  padding:5px 8px !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .visual{
  grid-row:2 !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:3/4 !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .source,
#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .reason{
  box-sizing:border-box !important;
  display:block !important;
  height:30px !important;
  min-height:30px !important;
  max-height:30px !important;
  margin:0 !important;
  padding:6px 8px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  text-overflow:ellipsis !important;
  font-size:9px !important;
  line-height:18px !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .source{
  grid-row:3 !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .reason{
  grid-row:4 !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .meta-line{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-action{
  grid-row:5 !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  min-height:0 !important;
  height:40px !important;
  margin:0 !important;
  padding:0 7px 7px !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-reroll{
  box-sizing:border-box !important;
  width:100% !important;
  min-height:0 !important;
  height:33px !important;
  margin:0 !important;
  padding:4px 6px !important;
  border-radius:10px !important;
  font-size:9px !important;
}

#attire-glamour-coordinator.attire-gc-card-layout-v2155 .dye-overlay{
  min-height:18px !important;
  padding:2px 6px !important;
  font-size:8px !important;
}

@media (max-width:782px){
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part{
    grid-template-rows:33px auto 29px 29px 39px !important;
  }
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-head{
    height:33px !important;
    padding:5px 7px !important;
  }
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .source,
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part .reason{
    height:29px !important;
    min-height:29px !important;
    max-height:29px !important;
    padding:5px 7px !important;
    line-height:19px !important;
  }
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-action{
    height:39px !important;
    padding:0 7px 7px !important;
  }
  #attire-glamour-coordinator.attire-gc-card-layout-v2155 .part-reroll{
    height:32px !important;
  }
}


/* 2.16.0: 装備名だけのシンプルカード + 染色案を上へ */
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .main-head{
  align-items:center;
  margin-bottom:8px;
  padding-bottom:8px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .main-head h2{margin:0}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .parts{
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:start;
  grid-auto-rows:max-content;
  gap:10px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-equipment-card.part{
  display:grid !important;
  grid-template-rows:auto 46px 40px !important;
  height:auto !important;
  min-height:0 !important;
  align-self:start !important;
  overflow:hidden;
  border-radius:12px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-equipment-card .visual{
  grid-row:1;
  aspect-ratio:3/4;
  min-height:0;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-card-name{
  grid-row:2;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  height:46px;
  min-height:46px;
  padding:6px 8px;
  overflow:hidden;
  text-align:center;
  font-size:10px;
  font-weight:800;
  line-height:1.45;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-card-name a{
  display:-webkit-box;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-equipment-card .part-action{
  grid-row:3;
  box-sizing:border-box;
  display:flex;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0 7px 7px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .simple-equipment-card .part-reroll{
  width:100%;
  height:33px;
  min-height:33px;
  padding:4px 6px;
  font-size:9px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .card-dye-status{
  position:absolute;
  right:7px;
  bottom:7px;
  z-index:2;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .gc-dye-icon{
  display:inline-flex;
  width:24px;
  height:24px;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  box-shadow:0 1px 5px rgba(0,0,0,.18);
  font-size:16px;
  font-weight:900;
  line-height:1;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .gc-dye-icon.can{color:#27884a}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .gc-dye-icon.cannot{color:#bf3e3e}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .gc-dye-icon.unknown{color:#8b8178;font-size:12px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .search-dye-icon{position:absolute;right:7px;top:7px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .body-btn{position:relative}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .body-btn .copy span:not(.search-dye-icon){display:none}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .body-btn .copy{min-height:45px;padding:7px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .body-btn .copy strong{padding-right:24px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .equipment-searchbar{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 74px;
  gap:7px;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact{
  margin:8px 0 12px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fcfaf7;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-head{align-items:center}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-head h3{font-size:14px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-head .btn{min-height:30px;padding:5px 8px;font-size:9px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-controls{grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-field{gap:3px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-field span{font-size:9px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .select{min-height:32px;padding:5px 24px 5px 7px;font-size:10px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-card{border-radius:10px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-card h4{padding:6px 7px;font-size:10px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-pair{gap:5px;padding:6px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-color{height:28px;border-radius:6px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye strong{margin-top:3px;font-size:8px}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye small{display:none}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-note{display:none}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card{
  display:grid;
  grid-template-columns:160px minmax(0,1fr) 150px;
  min-height:0;
}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card .weapon-visual{aspect-ratio:16/9;min-height:0}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card .simple-card-name{height:auto;min-height:0;text-align:left;justify-content:flex-start}
#attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card .part-action{height:auto;min-height:0;align-items:center;padding:8px}
@media(max-width:782px){
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .equipment-searchbar{grid-template-columns:1fr}
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-controls{grid-template-columns:1fr}
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .dye-wrap-compact .dye-cards{grid-template-columns:1fr}
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card{grid-template-columns:1fr}
  #attire-glamour-coordinator.attire-gc-card-layout-v2160 .weapon-card.simple-equipment-card .weapon-visual{aspect-ratio:16/10}
}


/* 2.16.3: SS・武器を公開画面から外し、雰囲気を右側へ移動 */
#attire-glamour-coordinator.attire-gc-layout-v2163 .main-head{
  align-items:flex-end;
  gap:12px;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .result-tools{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .coord-field-right{
  display:grid;
  gap:4px;
  min-width:180px;
  margin:0;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .coord-field-right>span{
  font-size:9px;
  font-weight:800;
  color:var(--muted);
  text-align:left;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .coord-field-right .select{
  min-height:34px;
  padding:5px 26px 5px 8px;
  font-size:10px;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .gc-dye-text{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:2px 7px;
  border:1px solid currentColor;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  font-size:8px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .gc-dye-text.can{color:#277a43}
#attire-glamour-coordinator.attire-gc-layout-v2163 .gc-dye-text.cannot{color:#a53b3b}
#attire-glamour-coordinator.attire-gc-layout-v2163 .gc-dye-text.unknown{color:#786f68}
#attire-glamour-coordinator.attire-gc-layout-v2163 .card-dye-status{
  right:6px;
  bottom:6px;
  width:auto;
  height:auto;
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .search-dye-icon{
  right:6px;
  top:6px;
}
#attire-glamour-coordinator.attire-gc-layout-v2163 .search-dye-icon .gc-dye-text{
  min-height:18px;
  padding:2px 6px;
  font-size:7px;
}
@media (max-width:782px){
  #attire-glamour-coordinator.attire-gc-layout-v2163 .main-head{
    align-items:stretch;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2163 .result-tools{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2163 .coord-field-right{
    min-width:0;
  }
}


/* 2.16.4: 検索しない参考装備アップロード */
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-upload-section{
  background:#fbf8f4;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-card{
  position:relative;
  min-width:0;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview{
  display:grid;
  width:100%;
  min-height:92px;
  padding:0;
  overflow:hidden;
  border:1px dashed #ccb9aa;
  border-radius:10px;
  background:#fff;
  color:#745e50;
  cursor:pointer;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview.is-empty{
  place-content:center;
  gap:2px;
  padding:6px 2px;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview.is-empty strong{
  font-size:10px;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview.is-empty small{
  font-size:7px;
  color:#8a7c72;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-plus{
  font-size:19px;
  line-height:1;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview img{
  display:block;
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:center;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview>span:last-child{
  display:block;
  padding:4px;
  background:#fff;
  font-size:9px;
  font-weight:900;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-remove{
  position:absolute;
  top:4px;
  right:4px;
  z-index:2;
  padding:3px 5px;
  border:0;
  border-radius:999px;
  background:rgba(36,31,28,.82);
  color:#fff;
  font-size:7px;
  font-weight:800;
  cursor:pointer;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
}
#attire-glamour-coordinator.attire-gc-layout-v2164 .reference-actions .help{
  flex:1;
  margin:0;
}
@media (max-width:782px){
  #attire-glamour-coordinator.attire-gc-layout-v2164 .reference-grid{
    grid-template-columns:repeat(5,minmax(54px,1fr));
    gap:4px;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2164 .reference-preview{
    min-height:78px;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2164 .reference-actions{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* 2.16.5: 参考装備をドラッグ範囲指定 */
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-area{
  margin-top:10px;
  padding:10px;
  border:1px solid #ccb9aa;
  border-radius:12px;
  background:#211d1a;
  color:#fff;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-area.hidden{
  display:none !important;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-head strong{
  font-size:11px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-head span{
  color:#cfc5bd;
  font-size:8px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-stage{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-height:560px;
  overflow:hidden;
  border-radius:10px;
  background:#100e0d;
  touch-action:none;
  user-select:none;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-stage canvas{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:560px;
  cursor:crosshair;
  touch-action:none;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-area .crop-help{
  margin:7px 1px 0;
  color:#ddd4cd;
  font-size:9px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-buttons{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7px;
  margin-top:8px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-cancel{
  width:100%;
  margin-top:7px;
}
#attire-glamour-coordinator.attire-gc-layout-v2165 .reference-card.is-set .reference-preview{
  border-style:solid;
}
@media (max-width:782px){
  #attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-head{
    display:grid;
    gap:2px;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-stage,
  #attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-stage canvas{
    max-height:460px;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2165 .reference-crop-buttons{
    grid-template-columns:1fr;
  }
}


/* 2.16.6: 参考画像は1枚だけ */
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-grid-single{
  display:block;
  max-width:230px;
  margin:9px auto 0;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-card-single{
  width:100%;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single{
  min-height:118px;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single img{
  max-height:220px;
  aspect-ratio:auto;
  object-fit:contain;
  background:#f2eeea;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single.is-empty{
  min-height:118px;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single.is-empty strong{
  font-size:11px;
}
#attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single.is-empty small{
  font-size:8px;
}
@media (max-width:782px){
  #attire-glamour-coordinator.attire-gc-layout-v2166 .reference-grid-single{
    max-width:100%;
  }
  #attire-glamour-coordinator.attire-gc-layout-v2166 .reference-preview-single{
    min-height:104px;
  }
}


/* 2.17.0: 同系統優先の組み合わせ候補 */
#attire-glamour-coordinator.attire-gc-layout-v2170 .proposal-mode{
  margin:3px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}
#attire-glamour-coordinator.attire-gc-layout-v2170 .part-reroll.is-fixed{
  cursor:default;
  opacity:.72;
  border-color:#d8c9bc;
  background:#f2ece6;
  color:#705f53;
}
#attire-glamour-coordinator.attire-gc-layout-v2170 .part.anchor{
  box-shadow:0 0 0 2px rgba(151,113,82,.22);
}
