/* The fitting room owns its layout. Card materials still come from skins/cards.css. */
.profile-app { max-width:1240px; padding-bottom:36px; }
.profile-emblem { color:var(--gold); font-size:38px; line-height:1; }
.profile-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin:30px 0 26px; }
.profile-intro h1 { font-size:clamp(37px,5vw,58px); line-height:1.1; margin-top:9px; }
.profile-intro h1 em { color:var(--gold-light); font-style:normal; }
.profile-intro p { color:var(--muted); font-size:13px; line-height:1.7; }
.identity-panel { display:flex; align-items:center; gap:18px; padding:21px 24px; margin-bottom:32px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(110deg,rgba(217,183,121,.06),transparent),var(--panel); }
.identity-seal { display:grid; place-items:center; width:54px; height:54px; flex-shrink:0; border:1px solid rgba(217,183,121,.35); border-radius:50%; color:var(--gold); font-size:29px; background:rgba(0,0,0,.13); }
.identity-copy { flex:1; }
.identity-copy h2 { font-size:23px; }
.identity-copy p,.identity-input small { color:var(--muted); font-size:11px; }
.identity-input { width:310px; max-width:100%; }
.identity-input label { display:block; margin-bottom:5px; color:var(--gold-light); font-size:11px; }
.identity-input input { display:block; width:100%; height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:rgba(0,0,0,.18); color:var(--ink); font-size:16px; }
.identity-input small { display:block; margin-top:5px; font-size:10px; }
.wardrobe { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr); align-items:start; gap:28px; }
.profile-fieldset { min-width:0; margin:0; padding:0; border:0; }
.profile-fieldset legend { padding:0; font-family:Georgia,serif; font-size:25px; }
.section-number { display:inline-grid; place-items:center; width:25px; height:25px; margin-right:9px; border:1px solid var(--line); border-radius:50%; font:10px "Segoe UI",sans-serif; color:var(--gold); vertical-align:middle; }
.section-hint { color:var(--muted); font-size:11px; margin:8px 0 17px; }
.set-catalog { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.set-option,.board-option { position:relative; cursor:pointer; }
.set-option input,.board-option input { position:absolute; width:1px; height:1px; opacity:0; }
.set-option-content { position:relative; height:100%; padding:17px 15px 38px; border:1px solid var(--line); border-radius:10px; background:var(--panel); transition:border-color .18s,background .18s; }
.set-option:hover .set-option-content { border-color:rgba(217,183,121,.5); }
.set-option input:checked+.set-option-content { border-color:var(--gold); background:linear-gradient(145deg,rgba(217,183,121,.08),transparent 70%),var(--panel); box-shadow:inset 0 0 0 1px rgba(217,183,121,.15); }
.set-option input:focus-visible+.set-option-content,.board-option input:focus-visible+.board-swatch { outline:3px solid var(--gold-light); outline-offset:3px; }
.set-title { display:flex; align-items:center; justify-content:space-between; gap:6px; }
.set-title h3 { font-size:18px; line-height:1.2; }
.set-option-content>p { margin:5px 0 18px; color:var(--muted); font-size:10px; }
.set-option-content>small { display:block; color:var(--muted); font-size:10px; line-height:1.5; margin-top:15px; }
.set-check { display:grid; place-items:center; width:18px; height:18px; flex-shrink:0; border:1px solid var(--line); border-radius:50%; font-size:10px; color:transparent; }
.set-option input:checked+.set-option-content .set-check { background:var(--gold); border-color:var(--gold); color:#1c271c; }
.in-use { position:absolute; bottom:13px; left:15px; color:var(--gold-light); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.set-samples,.combo-cards { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.preview-deck { min-width:0; }
.deck-caption { display:block; font-size:9px; margin-bottom:8px; letter-spacing:.08em; text-transform:uppercase; }
.deck-0 { color:#df968a; }.deck-1 { color:#91bdd0; }
.preview-pair { display:flex; justify-content:center; gap:7px; }
.pair-labels { display:grid; grid-template-columns:1fr 1fr; gap:7px; text-align:center; margin-top:8px; color:#b4c0b7; font-size:8px; }
.profile-page .card { --card-w:47px; --card-h:67px; padding:5px; pointer-events:none; }
.profile-page .card .rank { font-size:22px; }.profile-page .card .suit { font-size:15px; top:5px; right:5px; }
.profile-page .card .role { font-size:6px; padding-top:3px; }
.profile-page .card.back::after { font-size:24px; }
.profile-page .card.back::before { inset:4px; }
.board-fieldset { margin-top:30px; }
.board-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.board-option { display:block; min-width:0; }
.board-option strong { display:block; color:var(--ink); font-size:12px; margin-top:9px; font-weight:500; }
.board-option small { display:block; color:var(--muted); font-size:9px; line-height:1.4; margin-top:3px; }
.board-swatch { display:grid; place-items:center; height:74px; border-radius:7px; }
.board-swatch>span { position:relative; z-index:1; color:#dac59d; font-size:27px; opacity:.8; }
.board-option input:checked+.board-swatch { outline:2px solid var(--gold); outline-offset:3px; }
.profile-board { position:relative; isolation:isolate; overflow:hidden; border:1px solid rgba(190,205,178,.25); background:radial-gradient(ellipse at 50% 46%,rgba(44,76,55,.44),transparent 78%),linear-gradient(150deg,rgba(255,255,255,.025),transparent 55%),#142722; box-shadow:inset 0 0 0 4px rgba(8,20,17,.2); }
.profile-board[data-preview-board="wood"] { background:radial-gradient(ellipse at 50% 12%,rgba(226,161,86,.13),transparent 75%),url('./skins/wood-grain.svg'),linear-gradient(105deg,#4b3020,#382419 48%,#4b3020); border-color:#967044; box-shadow:inset 0 0 0 4px rgba(22,12,6,.35),inset 0 0 0 5px rgba(229,185,113,.13); }
.profile-board[data-preview-board="magma"] { background:url('./skins/basalt.svg'),#0c0e12; border-color:#43332a; box-shadow:inset 0 0 0 4px rgba(0,0,0,.35),inset 0 0 0 5px rgba(235,159,90,.055); }
.profile-board[data-preview-board="magma"]::before,.profile-board[data-preview-board="magma"]::after { content:""; position:absolute; inset:1px; z-index:0; pointer-events:none; border-radius:inherit; background-size:640px 480px; }
.profile-board[data-preview-board="magma"]::before { background-image:url('./skins/magma-cracks.svg'); opacity:.5; animation:assedio-magma-embers 7s ease-in-out infinite alternate; }
.profile-board[data-preview-board="magma"]::after { background-image:url('./skins/magma-threads.svg'); opacity:.38; animation:assedio-magma-veins 11s -4s ease-in-out infinite alternate; }
.preview-panel { position:sticky; top:22px; padding:22px; border:1px solid var(--line); border-radius:12px; background:var(--panel); }
.preview-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:20px; }
.preview-heading .eyebrow { font-size:8px; letter-spacing:.12em; }
.preview-heading h2 { font-size:23px; margin-top:6px; line-height:1.25; }
.preview-badge { align-self:flex-start; border:1px solid var(--line); color:var(--muted); padding:3px 6px; border-radius:20px; font-size:8px; white-space:nowrap; }
.combo-board { border-radius:10px; padding:25px 16px; min-height:310px; }
.combo-inside { position:relative; z-index:1; }
.commander-heading { display:flex; align-items:center; gap:8px; min-width:0; margin-bottom:31px; font-family:Georgia,serif; color:#f2e9d8; font-size:19px; overflow-wrap:anywhere; }
.commander-mark { color:#d9b779; font-size:23px; }
.combo-cards { gap:18px; }
.combo-cards .card { --card-w:60px; --card-h:86px; padding:6px; }
.combo-cards .card .rank { font-size:26px; }.combo-cards .card .suit { font-size:19px; }
.combo-cards .card .role { font-size:7px; }
.combo-signature { display:block; text-align:center; color:#d9cbb0; font-size:9px; letter-spacing:.09em; margin-top:34px; }
.preview-note { color:var(--muted); font-size:11px; line-height:1.7; margin-top:18px; }
.sample-control { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:17px; margin-top:18px; border-top:1px solid var(--line); }
.sample-control label { color:var(--muted); font-size:10px; }
.sample-control select { min-width:0; max-width:160px; height:36px; border:1px solid var(--line); border-radius:5px; background:var(--panel-raised); color:var(--ink); padding:0 8px; font-size:11px; }
.sample-control select:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.profile-save { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:32px; padding:22px 24px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.profile-save strong { font-family:Georgia,serif; color:var(--gold-light); font-size:20px; font-weight:400; }
.profile-save p { color:var(--muted); font-size:11px; margin-top:5px; }
.profile-save .save-error { color:#f0a99a; }
.profile-save .button { white-space:nowrap; min-height:44px; }
.online-player-name { overflow-wrap:anywhere; }
@media(max-width:1100px) {
  .wardrobe { grid-template-columns:minmax(0,1fr) minmax(310px,.9fr); gap:20px; }
  .set-catalog { grid-template-columns:1fr; }
  .set-samples { max-width:260px; margin:0 auto; }
  .set-option-content { padding-bottom:35px; }
}
@media(max-width:720px) {
  .profile-app { padding:16px 14px 24px; }
  .profile-page .masthead { gap:14px; }.profile-page .brand h1 { font-size:27px; }.profile-page .brand .eyebrow { display:none; }.profile-emblem { font-size:29px; }
  .profile-page .top-actions { gap:5px; }.profile-page .top-actions .button { padding:8px; font-size:10px; }
  .profile-intro { display:block; margin:20px 0; }.profile-intro p { margin-top:12px; font-size:12px; }
  .identity-panel { flex-wrap:wrap; padding:17px; gap:12px; margin-bottom:24px; }.identity-seal { width:43px; height:43px; font-size:25px; }.identity-copy h2 { font-size:20px; }.identity-copy p { font-size:10px; }
  .identity-input { width:100%; }.identity-input label { margin-top:5px; }
  .wardrobe { display:flex; flex-direction:column; gap:25px; }.wardrobe-controls,.preview-panel { width:100%; }
  .preview-panel { position:static; order:-1; padding:17px; }.preview-heading h2 { font-size:23px; }
  .combo-board { min-height:245px; padding:19px 15px; }.commander-heading { margin-bottom:22px; }.combo-signature { margin-top:24px; }
  .set-catalog { grid-template-columns:1fr; gap:12px; }.set-option-content { padding:17px 19px 35px; }.set-samples { max-width:280px; }
  .profile-page .set-samples .card { --card-w:55px; --card-h:78px; }
  .profile-fieldset legend { font-size:24px; }
  .profile-save { position:sticky; bottom:8px; z-index:5; gap:12px; margin-top:25px; padding:12px; box-shadow:0 5px 30px rgba(0,0,0,.4); }.profile-save>div { min-width:0; }.profile-save strong { font-size:14px; }.profile-save p { font-size:9px; }.profile-save .button { padding:10px; font-size:10px; }
  .profile-page { padding-bottom:15px; }
}
@media(max-width:370px) {
  .combo-cards .card { --card-w:49px; --card-h:72px; }.combo-cards { gap:12px; }.combo-board { padding:17px 12px; }
  .profile-page .set-samples .card { --card-w:49px; --card-h:72px; }.set-samples { gap:12px; }
  .preview-heading h2 { font-size:20px; }.preview-badge { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .profile-board[data-preview-board="magma"]::before,.profile-board[data-preview-board="magma"]::after { animation:none; }
  .set-option-content { transition:none; }
}
.set-option,.board-option{position:relative}.skin-locked .set-samples,.skin-locked .board-swatch{filter:grayscale(1);opacity:.35}.skin-locked .set-option-content{border-color:var(--line)}.skin-lock{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);padding:8px 13px;background:#091210e8;border:1px solid var(--line);border-radius:99px;color:var(--gold-light);font-size:12px;pointer-events:none;white-space:nowrap}.locked-preview .combo-cards{filter:grayscale(1);opacity:.4}.skin-locked{cursor:pointer}.skin-lock[hidden]{display:none}
