.phase-duel{height:var(--screen-height);min-height:0;display:grid;grid-template-rows:70px 80px minmax(0,1fr);overflow:hidden}.duel-top{width:min(1240px,94%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:16px}
.duel-top h1{font:30px var(--serif);margin:5px 0}.duel-resources{display:flex;gap:10px;flex-wrap:wrap}.duel-resources>span{background:#12313a;border:1px solid #355059;border-radius:8px;padding:9px 12px;font-size:12px}.duel-resources b{font-size:24px;color:var(--gold)}.duel-resources .danger{border-color:#d68875;color:#ffc1ab}.duel-resources .danger b{color:#ffc1ab}
.duel-layout{width:min(1240px,94%);height:100%;min-height:0;margin:0 auto;padding-bottom:18px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:22px;align-items:stretch}.duel-stage,.duel-hand{min-height:0}.duel-reply{overflow:auto}.duel-cards{min-height:0;overflow:auto;overscroll-behavior:contain}.duel-portrait{flex:0 0 clamp(70px,17vh,160px)}
.duel-stage{display:flex;flex-direction:column;min-width:0;background:#0c252d;border:1px solid #355059;border-radius:12px;overflow:hidden}.duel-portrait{position:relative;min-height:70px;background:linear-gradient(0deg,#0c252d,transparent 65%),url('assets/palace.png') 74% 35%/cover}.duel-portrait>span:first-child{position:absolute;bottom:12px;left:20px;font-size:12px;background:#071b24c9;padding:5px 10px;border-radius:4px}.duel-stamp{position:absolute;top:14px;right:18px;font:36px var(--serif);color:#ecc986;border:1px solid #b88954;transform:rotate(6deg);padding:0 8px;background:#321f1ca6}
.duel-reply{padding:8px 22px 16px;flex:1;min-height:0}.duel-reply>p{font:23px/1.75 var(--serif);margin:0}.duel-reply .duel-caption{font:13px/1.8 var(--sans);color:#a7b9b9;margin-top:16px}.duel-change{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.duel-change>span{font-size:11px;color:#e4c481;background:#234048;padding:4px 7px;border-radius:4px;animation:duel-flash .45s ease-out}
.duel-locks{display:grid;gap:7px;margin:0 20px 12px}.duel-locks>span{border-left:2px solid #536369;padding:5px 10px;font-size:13px;color:#b3c4c7}.duel-locks>.unlocked{border-color:#dfc185;color:#f4dcaa;background:#dcc58a12}.duel-tools{display:flex;flex-wrap:wrap;gap:12px;padding:0 20px}.duel-tools .link-button{font-size:12px;min-height:44px}
.duel-hand{min-width:0;display:flex;flex-direction:column;gap:12px}.duel-hand-title b{font:23px var(--serif);color:var(--gold)}.duel-hand-title small{display:block;color:#a7b9b9;font-size:12px;margin-top:6px}.duel-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1}.duel-card{min-width:0;min-height:130px;text-align:left;color:#eceddf;background:linear-gradient(135deg,#193840,#0d2932);border:1px solid #46626a;border-radius:9px;padding:14px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background .15s,transform .15s;cursor:pointer}.duel-card:hover:not(:disabled){border-color:#e5c37e;background:#28484f;transform:translateY(-2px)}.duel-card:focus-visible{outline:3px solid #efd799;outline-offset:2px}.duel-card-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#c6b186}.duel-card-top em{font-style:normal;background:#e3c687;color:#122d36;padding:1px 6px;border-radius:3px}.duel-card strong{font:18px var(--serif)}.duel-line{font-size:13px;line-height:1.6;flex:1}.duel-card small{font-size:11px;line-height:1.6;color:#b6c9cd;border-top:1px solid #57707677;padding-top:6px}.duel-card.used{opacity:.43}.duel-card:disabled{cursor:default}.duel-card.finisher{border-color:#d6b879;background:#403c27}.duel-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.duel-footer>span{font-size:11px;color:#a7b9b9}.duel-footer button{min-height:44px;font-size:13px}.duel-footer .primary{flex:1}.duel-won .duel-stage{border-color:#e1c385;box-shadow:0 0 24px #e4c48122}.duel-won .duel-stamp{background:#35574b}.duel-summary{margin:16px 0;padding:14px 16px;background:#1d363c;border-left:3px solid #dfc185}.duel-summary>b{color:#dfc185;font-size:14px}.duel-summary p{font-size:13px;line-height:1.9;margin:8px 0}.duel-summary small{color:#a8babc;font-size:11px}
@keyframes duel-flash{from{background:#a6833d;transform:translateY(3px)}to{background:#234048;transform:translateY(0)}}
@media(max-width:700px) and (orientation:portrait){.phase-duel{height:auto;display:block;overflow:visible}.duel-layout{height:auto}.duel-portrait{flex-basis:80px}.duel-top{margin-top:12px;gap:8px}.duel-top h1{font-size:23px}.duel-resources{gap:4px;flex-direction:column}.duel-resources>span{padding:4px 8px;font-size:10px}.duel-resources b{font-size:17px}.duel-layout{display:flex;flex-direction:column;gap:14px}.duel-portrait{min-height:80px;background-position:70% 35%}.duel-stamp{font-size:26px;top:8px}.duel-reply{padding:8px 14px 10px}.duel-reply>p{font-size:18px}.duel-locks{display:flex;flex-wrap:wrap;gap:5px;margin:0 12px 6px}.duel-locks>span{font-size:10px;padding:3px 5px}.duel-tools{padding:0 12px;gap:12px}.duel-card{padding:10px;gap:6px}.duel-card strong{font-size:16px}.duel-line{font-size:12px}.duel-card small{font-size:10px}.duel-cards{gap:7px}.duel-hand-title b{font-size:21px}.duel-footer{position:sticky;bottom:0;padding:8px;background:#071b24f5}.duel-footer>span{display:none}}
@media(orientation:landscape) and (max-height:600px){
 .phase-duel{grid-template-rows:44px 38px minmax(0,1fr)}.duel-top{width:100%;margin:0;padding:0 14px;height:38px}.duel-top>div:first-child{display:flex;align-items:baseline;gap:10px}.duel-top h1{font-size:17px;margin:0}.duel-top .eyebrow{font-size:10px}.duel-resources{gap:6px}.duel-resources>span{padding:3px 7px;font-size:10px}.duel-resources b{font-size:17px}
 .duel-layout{width:100%;height:100%;min-height:0;margin:0;padding:0 12px 8px;grid-template-columns:minmax(0,.78fr) minmax(0,1.3fr);gap:12px;overflow:hidden}.duel-stage{min-height:0}.duel-portrait{min-height:28px;flex:0 0 34px;background-position:75% 32%}.duel-portrait>span:first-child{bottom:4px;left:8px;font-size:10px;padding:1px 4px}.duel-stamp{font-size:20px;top:2px;right:12px}.duel-reply{overflow:auto;overscroll-behavior:contain;padding:6px 10px}.duel-reply>p{font-size:16px;line-height:1.6}.duel-reply .duel-caption{font-size:11px;margin-top:7px}.duel-change{margin-top:6px;gap:4px}.duel-change>span{font-size:10px;padding:2px 5px}.duel-locks{gap:2px;margin:2px 10px;display:flex;flex-wrap:wrap}.duel-locks>span{font-size:10px;padding:1px 5px}.duel-tools{padding:0 8px;gap:9px;flex-wrap:nowrap;overflow-x:auto;flex-shrink:0}.duel-tools .link-button{font-size:10px;white-space:nowrap;min-height:44px}
 .duel-hand{min-height:0;overflow:hidden;gap:5px}.duel-hand-title{flex-shrink:0}.duel-hand-title>div{display:flex;gap:10px;align-items:baseline}.duel-hand-title b{font-size:14px}.duel-hand-title small{font-size:10px;margin:0}.duel-cards{min-height:0;overflow:auto;align-content:start;padding:2px 3px 4px;gap:6px;overscroll-behavior:contain}.duel-card{padding:8px;gap:5px;min-height:110px}.duel-card strong{font-size:14px}.duel-card-top,.duel-card small{font-size:10px}.duel-line{font-size:11px}.duel-footer{flex-shrink:0;gap:5px}.duel-footer>span{display:none}.duel-footer button{padding:6px 10px;font-size:12px;min-height:44px}
}
@media(prefers-reduced-motion:reduce){.duel-change>span{animation:none}.duel-card{transition:none}}

@media(max-width:700px) and (orientation:portrait){
 .phase-duel{height:var(--screen-height);min-height:0;display:grid;grid-template-rows:56px 76px minmax(0,1fr);overflow:hidden}
 .duel-top{margin:0 auto}.duel-layout{height:100%;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding-bottom:8px;margin-bottom:0}
 .duel-stage,.duel-hand{min-height:0;overflow:hidden}.duel-portrait{min-height:32px;flex-basis:32px}.duel-portrait>span:first-child{bottom:4px;font-size:10px;padding:1px 5px}.duel-stamp{font-size:20px;top:2px}
 .duel-reply{overflow:auto;min-height:0}.duel-reply .duel-caption{display:none}.duel-locks{flex-shrink:0}.duel-tools{flex-shrink:0;flex-wrap:nowrap;gap:10px}.duel-tools .link-button{font-size:11px;white-space:nowrap}
 .duel-cards{overflow:auto;min-height:0;align-content:start;padding:2px 3px 3px}.duel-footer{position:static;flex-shrink:0;padding:0}.duel-hand{gap:7px}.duel-hand-title b{font-size:18px}.duel-hand-title small{font-size:11px}
}
@media(orientation:landscape) and (max-height:320px){.duel-portrait{display:none}.duel-hand-title small{display:none}}

/* Let each card keep the space its Korean text actually needs. */
.duel-cards{grid-auto-rows:max-content}.duel-card{display:grid;grid-template-rows:auto auto auto auto;align-content:start}.duel-line{flex:none}


html:has(.phase-duel),body:has(.phase-duel){overflow:hidden}
@media(max-width:700px) and (orientation:portrait){.duel-layout{grid-template-rows:minmax(0,.65fr) minmax(0,1.35fr)}}


/* The response carries the evidence; predictions are not printed on the hand. */
.duel-text-label{display:block;margin-top:8px;color:#dfc185;font-size:11px;line-height:1.6}
.duel-guide{margin-top:12px;padding:10px 12px;border-left:3px solid #dfc185;background:#e4c4810d}
.duel-guide b{font-size:12px;color:var(--gold)}.duel-guide p{font:14px/1.7 var(--sans);margin:5px 0 0;color:#d2dedb}
.duel-card.guided-card{border:2px solid #f3d693;box-shadow:inset 0 0 15px #efd79924}.duel-card:disabled:not(.used):not(.guided-card){opacity:.5}
.duel-correction{margin:14px 0;border-left:3px solid #b99866;padding:12px 15px;background:#d8c3890d}
.duel-correction b{color:var(--gold);font-size:14px}.duel-correction p{font-size:13px;line-height:1.8;margin:8px 0 0}
@media(orientation:landscape) and (max-height:600px){.duel-guide{margin-top:7px;padding:7px 9px}.duel-guide p{font-size:12px}.duel-text-label{font-size:10px}}

.duel-guided .duel-guide{margin:0;max-height:42%;min-height:0;overflow:auto;flex-shrink:1}
.duel-guided .duel-cards{grid-template-columns:1fr}.duel-guided .duel-card{min-height:120px;opacity:1}
.duel-guided .duel-line{font-size:16px}.duel-guided .duel-hand-title{flex-shrink:0}
@media(orientation:landscape) and (max-height:600px){.duel-guided .duel-card{min-height:90px}.duel-guided .duel-line{font-size:13px}.duel-guided .duel-guide{max-height:35%;padding:6px 8px}}
@media(max-width:700px) and (orientation:portrait){.duel-guided .duel-guide{max-height:45%}}
@media(orientation:landscape) and (max-height:320px){.duel-guided .duel-hand-title{display:none}}
