/* Illustrated duel, based on the approved blue-and-gold reference. */
[data-theme='night']{--bg:#081526;--panel:#10233c;--panel2:#172e48;--border:#7792b73b;--gold:#e3c477;--text:#f3f2ec;--muted:#b4c4d6;--action-bg:#ddbd70;--action-ink:#172236;--green:#6ed8c2}
[data-theme='aurora']{--bg:#071a30;--panel:#0e2947;--panel2:#193955;--border:#6c9bda45;--gold:#86ebe0;--text:#f2f5fa;--muted:#b4cbe2;--action-bg:#8af0df;--action-ink:#092b3d;--green:#67e3d1}
body{background:var(--bg)}.ambient{background:radial-gradient(ellipse at 50% 0,#284c7730,transparent 70%);opacity:1}
.in-duel .shell{max-width:650px;padding:0 14px}
.in-duel .top{display:flex;height:50px;gap:8px;border-bottom:1px solid var(--border)}
.in-duel .brandmark{height:30px;width:30px;clip-path:none;border-radius:8px;border:1px solid var(--border);background:var(--panel2);color:var(--gold)}
.in-duel .brand strong{font:600 19px ClubTitle,Georgia,serif!important;letter-spacing:.1px}.in-duel .brand small{font-size:6px;letter-spacing:2px;margin-top:3px}
.in-duel .top-right{gap:6px}.in-duel .top-right .pill{font-size:10px;padding:5px 8px}.in-duel .top-right .icon-btn{width:29px;height:29px;border-radius:8px}.in-duel .top-right .icon{width:17px;height:17px}
.compact-duel.duel-ready{height:auto;max-height:calc(100dvh - 50px);max-height:calc(var(--tg-viewport-stable-height,100dvh) - 50px);display:flex;flex-direction:column}
.compact-duel .duel-scroll{flex:1 1 auto;min-height:0;padding-bottom:0}
.compact-duel .page-head{min-height:37px;margin:6px 0 4px}.compact-duel .page-head h1{font:500 20px ClubTitle,Georgia,serif!important}.compact-duel .page-head .btn{min-height:32px;padding:6px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);color:var(--text)}
.compact-duel .duel-scroll>.notice{border:1px solid var(--border);background:var(--panel);padding:4px 8px;font-size:10px;margin:4px 0 8px}
.compact-duel .player-bar{margin:8px 0 5px;gap:8px;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr)}
.compact-duel .fighter-avatar .avatar{width:39px;height:39px;border-width:2px;box-shadow:none}.compact-duel .fighter-name{font-size:12px;padding-top:2px}.compact-duel .fighter-small{font-size:10px;margin:3px 0 5px}.compact-duel .health{height:6px;border-radius:8px;margin:4px 0}.compact-duel .health-text{font-size:10px}.compact-duel .round-badge{width:30px;height:30px;font-size:16px;background:var(--panel2);border-color:var(--border)}
.compact-duel .scene-toolbar{height:20px;margin:0 0 3px}.compact-duel .scene-toolbar .btn{min-height:20px;font-size:9px}
body .compact-duel .arena{height:166px!important;border:1px solid #769be67a;border-radius:13px;background-size:100% 100%!important;box-shadow:inset 0 0 24px #2649902b}
.compact-duel .duel-characters{inset:19px 0 15px;padding:0 7%;align-items:flex-end}.compact-duel .duel-character{width:38%;filter:drop-shadow(0 3px 3px #0008)}.compact-duel .arena-bottom{font-size:7px;padding:8px 8px 4px;color:#edf0f7}
.compact-duel .turn-header{min-height:32px;margin:8px 0 6px}.compact-duel .turn-header h2{font:600 21px ClubTitle,Georgia,serif!important}.compact-duel .timer{border-radius:8px;background:var(--panel2);border:1px solid var(--border);color:#c2acf4;font-size:15px}
.compact-duel .zone-label{font-size:10px;margin-bottom:5px}.compact-duel .zones{gap:7px}
.compact-duel .zone{border:1px solid var(--border);border-radius:9px;background:linear-gradient(145deg,var(--panel2),var(--panel));min-height:74px;padding:6px 2px;gap:3px}.compact-duel .zone>.icon{display:block;width:18px;height:18px;color:var(--gold)}
.compact-duel .zone strong{font-size:11px}.compact-duel .zone small,.compact-duel .zone .cost{font-size:10px}.compact-duel .zone.selected{border-color:var(--gold);background:var(--panel2);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 30%,transparent)!important}
.compact-duel .spell-label{margin:6px 0 4px;min-height:21px;font-size:10px}.compact-duel .spells{gap:6px;margin:4px 0 7px}
.compact-duel .spell{min-height:51px;padding:7px 9px!important;border:1px solid var(--border);background:linear-gradient(145deg,var(--panel2),var(--panel));border-radius:8px;gap:3px}.compact-duel .spell strong{font-size:11px}.compact-duel .spell small{font-size:10px;color:var(--muted)}.compact-duel .spell.selected{border-color:#b7a1ec;background:var(--panel2)}
.compact-duel .duel-reference{margin:2px 0 0}.compact-duel .duel-reference summary{padding:6px 9px;font-size:9px}.compact-duel .duel-reference>details{margin:3px 0}
.compact-duel>.duel-dock{padding:7px 0 9px;border:0;background:var(--bg)}.compact-duel .duel-dock .confirm-action{background:var(--action-bg)!important;border-radius:9px;color:var(--action-ink)!important;min-height:44px;font-size:12px;border:1px solid color-mix(in srgb,var(--action-bg) 65%,white);box-shadow:0 3px 0 #0003!important}
.compact-duel .duel-dock:after{content:'El rival no ve tu elección hasta resolver.';display:block;text-align:center;font-size:9px;color:var(--muted);margin-top:6px}
.figure-sprite{position:absolute;display:block;inset:0;background-image:var(--figure-sheet);background-size:700% 300%;background-position:var(--figure-x) var(--figure-y);background-repeat:no-repeat}
.avatar-body{aspect-ratio:3/5;overflow:visible;filter:drop-shadow(0 3px 2px #0005)}
.avatar-portrait{background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--house) 35%,#203a55),#10233a);isolation:isolate}
.avatar-portrait>.figure-sprite{width:290%;height:483.333%;inset:-16% auto auto -72%;background-size:700% 300%}
.identity-large .avatar-portrait{width:106px;height:106px}.identity-card .avatar-portrait{box-shadow:none}
.character-preview{height:185px;width:100%}.character-preview>.avatar-body{height:180px;width:108px}.avatar-choice{background:linear-gradient(145deg,var(--panel2),var(--panel))!important;border-radius:12px;padding:14px 9px}.avatar-choice h3{font-size:15px;margin:8px 0 4px}.avatar-choice p{font-size:10px;line-height:1.55}.avatar-choice .btn{min-height:40px;font-size:11px;border-radius:8px}
.figure-accessory{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}
[data-theme='pergamino'] .compact-duel .timer{color:#8058a4}[data-theme='pergamino'] .compact-duel .arena{border-color:#9d856b80}[data-theme='pergamino'] .avatar-portrait{background:radial-gradient(ellipse,#b4bba3,#7b8e78)}
@media(max-height:720px){body .compact-duel .arena{height:128px!important}.compact-duel .zone{min-height:65px}.compact-duel .turn-header h2{font-size:19px}.compact-duel .fighter-avatar .avatar{width:34px;height:34px}.compact-duel .page-head{margin:3px 0;min-height:34px}.compact-duel .player-bar{margin:5px 0}}
@media(max-width:350px){.in-duel .brand strong{font-size:16px!important}.in-duel .top-right .pill{padding:4px 6px}.compact-duel .fighter-name{font-size:10px}.compact-duel .duelist-code{font-size:8px}.compact-duel .zone strong{font-size:10px}.compact-duel .spell strong{font-size:10px}.character-preview{height:164px}.character-preview>.avatar-body{width:96px;height:160px}}
[data-theme='night'] .compact-duel{--gold:#8aebe0;--action-bg:#88f0df;--action-ink:#092d3e;--border:#709ad34d;--panel:#102a48;--panel2:#193b58}
.figure-housetint{clip-path:polygon(13% 24%,63% 24%,67% 45%,75% 89%,2% 89%,6% 50%)}
.figure-robe-accessory{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.avatar-portrait>.figure-robe-accessory,.avatar-portrait>.figure-accessory{width:290%;height:483.333%;inset:-16% auto auto -72%}
.figure-sprite,.avatar-portrait>.figure-sprite{background-size:100% 100%;background-position:center}
.figure-outfit-tint{clip-path:polygon(13% 24%,63% 24%,67% 45%,75% 89%,2% 89%,6% 50%);pointer-events:none}
.outfit-alchemist .figure-outfit-tint{filter:sepia(.5) saturate(.9);opacity:.75}
.outfit-astral .figure-outfit-tint{filter:hue-rotate(205deg) saturate(.8) brightness(1.12)}
.outfit-silverduel .figure-outfit-tint{filter:grayscale(1) brightness(1.2)}
.outfit-keeper .figure-outfit-tint{filter:sepia(.55) saturate(.8);opacity:.7}
.outfit-sentinel .figure-outfit-tint{filter:hue-rotate(140deg) saturate(.7) brightness(1.12)}
.outfit-champion .figure-outfit-tint{filter:saturate(1.2) brightness(1.22)}
.avatar-body,.duel-character .avatar-body{aspect-ratio:var(--figure-ratio,.75)}
.avatar-portrait>.figure-sprite,.avatar-portrait>.figure-robe-accessory,.avatar-portrait>.figure-accessory{width:310%;height:calc(310% / var(--figure-ratio,.75));inset:-8% auto auto var(--portrait-left,-72%)}
.character-preview>.avatar-body{width:auto;max-width:100%;height:180px;aspect-ratio:var(--figure-ratio,.75)}
.outfit-choice>.avatar-body{width:100%;height:auto;max-width:132px;aspect-ratio:var(--figure-ratio,.75)}
.wardrobe-stage>.avatar-body{width:115px;height:auto;aspect-ratio:var(--figure-ratio,.75)}
.purchase-outfit-preview>.avatar-body{height:260px;width:auto;aspect-ratio:var(--figure-ratio,.75)}
.figure-outfit-tint{clip-path:polygon(13% 24%,63% 24%,67% 45%,75% 89%,2% 89%,6% 63%,40% 63%,40% 43%,10% 43%)}
.compact-duel .zones{margin:0 0 5px!important}
.compact-duel .duel-reference{display:block;border:1px solid var(--border);border-radius:8px;background:var(--panel);margin:4px 0}
.compact-duel .duel-reference>summary{font-size:10px;padding:7px 9px;cursor:pointer;color:var(--gold)}
.compact-duel .duel-reference>.help-section{margin:6px!important}
@media(max-height:780px){body .compact-duel .arena{height:148px!important}}
@media(max-height:700px){.in-duel .top{display:none}.compact-duel.duel-ready{max-height:100dvh;max-height:var(--tg-viewport-stable-height,100dvh)}body .compact-duel .arena{height:118px!important}.compact-duel .duel-dock:after{display:none}.compact-duel .item-activation p{display:none}}
/* V6.4: three glass palettes, naturally framed hall and contextual heraldry. */
html[data-theme='night'],html[data-theme='night'] .compact-duel{--bg:#000;--panel:rgba(17,17,20,.84);--panel2:rgba(30,29,32,.8);--border:rgba(255,255,255,.14);--gold:#e0c17b;--text:#f4f1e9;--muted:#b5b1aa;--action-bg:#e0c17b;--action-ink:#211a10;--green:#94cab4;--glass:rgba(14,14,17,.82);--glass-edge:rgba(255,255,255,.19)}
html[data-theme='aurora'],html[data-theme='aurora'] .compact-duel{--bg:#081a2c;--panel:rgba(19,43,68,.78);--panel2:rgba(37,69,98,.65);--border:rgba(151,192,231,.24);--gold:#94eadf;--text:#eff6ff;--muted:#b6cbe0;--action-bg:#96eedf;--action-ink:#092e3e;--green:#75d9c8;--glass:rgba(16,37,60,.78);--glass-edge:rgba(207,232,255,.25)}
html[data-theme='pergamino'],html[data-theme='pergamino'] .compact-duel{--bg:#f1ecdf;--panel:rgba(255,253,247,.8);--panel2:rgba(235,229,213,.78);--border:rgba(108,92,63,.22);--gold:#876229;--text:#263e33;--muted:#626c62;--action-bg:#416b56;--action-ink:#fffef7;--green:#4d8a65;--glass:rgba(255,253,245,.82);--glass-edge:rgba(255,255,255,.85)}
html[data-theme='night'] body{background:#000}html[data-theme='night'] .ambient{display:none}
html .card,html .action-card,html .wand-card,html .room-duelist,html .avatar-choice,html .help-section{background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%),var(--panel)!important;border-color:var(--border);box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
html .identity-card:not(.background-stars):not(.background-parchment){background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 45%),var(--panel)!important}
.btn,.icon-btn{border-radius:12px}.btn.secondary,.icon-btn{background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 55%),var(--panel2);border:1px solid var(--border)}
html .bottom{left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 24px);max-width:620px;bottom:max(9px,env(safe-area-inset-bottom));border:1px solid var(--glass-edge);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 25%),var(--glass);box-shadow:0 5px 25px #0003;backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);overflow:hidden}
.bottom .nav-inner{padding:5px 6px;min-height:65px;gap:3px}.bottom .nav-item{min-height:55px;padding:7px 2px;border-radius:21px;font-size:9px}.bottom .nav-item.active{background:var(--panel2);box-shadow:inset 0 1px 0 var(--glass-edge);color:var(--gold)}
.modal,.room-actions{background:var(--glass)!important;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);border-color:var(--glass-edge)}
html .compact-duel .zone,html .compact-duel .spell{background:linear-gradient(160deg,rgba(255,255,255,.055),transparent 50%),var(--panel);border:1px solid var(--border);border-radius:10px}
html .compact-duel .zone.selected{border-color:var(--gold);background:var(--panel2)}html .compact-duel .spell.selected{border-color:color-mix(in srgb,var(--gold) 55%,#b7a1ec);background:var(--panel2)}
html .compact-duel .timer{background:linear-gradient(150deg,rgba(255,255,255,.05),transparent 60%),var(--panel2);border-color:var(--border);color:var(--gold)}
html .compact-duel>.duel-dock{background:var(--bg)}html .compact-duel .duel-dock .confirm-action{border-radius:12px;background:var(--action-bg)!important;color:var(--action-ink)!important;border-color:transparent;box-shadow:none!important}
html .compact-duel .arena{height:auto!important;aspect-ratio:16/9;background-size:cover!important;background-position:center!important;border-color:var(--glass-edge);box-shadow:none}
.compact-duel .duel-characters{inset:12% 0 9%;padding:0 5%;justify-content:space-between}.compact-duel .duel-character{width:42%;height:100%}
.fighter-avatar .faces-left{transform:scaleX(-1)}
.club-crest{background-image:var(--crest-image);background-position:center;background-size:contain;background-repeat:no-repeat}
.crest-hogwarts{aspect-ratio:1.2;object-fit:contain}.castle-watermark{position:absolute;right:8%;top:4%;width:75%;height:65%;opacity:.13;pointer-events:none}.castle-watermark .club-crest{width:100%;height:100%}.hero-art>svg{position:relative;z-index:1}
html[data-theme='night'] .hero{background:linear-gradient(130deg,#17150e,#070708);border-color:#e0c17b38}
.identity-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;padding:18px;text-align:left;border-radius:18px}
.identity-card.identity-large{display:grid;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:15px;text-align:left;padding:20px}
.identity-card .identity-text{min-width:0}.identity-card .identity-text h2{font:600 20px ClubTitle,Georgia,serif!important;line-height:1.3;margin:0 0 6px}.identity-card .identity-text p{font-size:11px;line-height:1.5;margin:6px 0}.identity-card .wardrobe-label{font-size:10px!important}
.identity-card .avatar-portrait{width:72px;height:72px}.identity-card.identity-large .avatar-portrait{width:102px;height:102px}
.identity-card .profile-house{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin-top:3px;padding-top:15px;border-top:1px solid var(--border)}
.profile-house .club-crest{width:64px;height:81px;flex-shrink:0;border-radius:9px;background-size:100% 100%;box-shadow:0 2px 9px #0002}
.profile-house>div{display:flex;flex-direction:column;gap:5px}.profile-house>div>span{font-size:10px;color:var(--muted)}.profile-house strong{font:500 19px ClubTitle,Georgia,serif;color:var(--gold)}.profile-house small{display:none}
.founder-seal{border-radius:7px;font-size:9px;padding:3px 6px}.identity-founder{border-color:#d6b66a8c!important}
@media(max-height:720px){html .compact-duel .arena{aspect-ratio:2.1;height:auto!important}.compact-duel .zone{min-height:60px}.compact-duel .spells .spell{min-height:48px}}
@media(max-width:350px){.identity-card.identity-large{grid-template-columns:82px minmax(0,1fr);padding:16px;gap:12px}.identity-card.identity-large .avatar-portrait{width:82px;height:82px}.identity-card .identity-text h2{font-size:18px!important}}
@supports not (backdrop-filter:blur(1px)){.bottom,.modal,.room-actions{background:var(--bg)!important}}
@media(prefers-reduced-motion:reduce){.btn,.card,.nav-item{transition:none}.casting,.receiving{animation:none}}
html .compact-duel .arena{aspect-ratio:1.95}
.compact-duel .zones .zone{min-height:70px;padding:5px 3px;gap:1px}
.compact-duel .zones .zone>.icon{width:16px;height:16px}
.compact-duel .zone-label{min-height:14px;margin:0 0 4px}
.compact-duel .turn-header{margin:5px 0 4px}
@media(max-height:720px){html .compact-duel .arena{aspect-ratio:2.1}}
@media(max-height:680px){html .compact-duel .arena{aspect-ratio:2.3}}
