@font-face{font-family:Cinzel;src:url('/assets/Cinzel.ttf') format('truetype');font-style:normal;font-weight:400 900;font-display:swap}
:root{color-scheme:dark;--bg:#020812;--panel:#081525;--text:#f5f7fa;--muted:#b4c0d1;--gold:#efc65c;--gold-light:#ffe5a0;--blue:#78b2ff;--line:#29415e;--danger:#ffa2a2;--radius:20px;font-size:16px}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body{margin:0;color:var(--text);background:radial-gradient(ellipse at 0 10%,#0b2a4d75,transparent 50%),radial-gradient(ellipse at 100% 90%,#08458c35,transparent 40%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;line-height:1.55;min-height:100svh;-webkit-text-size-adjust:100%}
button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.5}a{color:var(--gold);text-underline-offset:4px}button,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold-light)}h1,h2,h3,p{margin-top:0}h1{font-weight:600;font-size:clamp(1.85rem,4vw,2.65rem);line-height:1.18;letter-spacing:-.035em;margin-bottom:14px}h2{font-size:1.22rem;font-weight:600;line-height:1.4}h3{font-size:1.04rem}p{margin-bottom:1em}button{border:1px solid var(--line);background:#071321;color:var(--text);padding:12px 18px;border-radius:12px;min-height:48px;transition:background .16s,border-color .16s}button:hover{border-color:#577ba1;background:#11223a}button:active{transform:translateY(1px)}.primary{background:linear-gradient(145deg,var(--gold-light),var(--gold));border-color:var(--gold);color:#17202b;font-weight:700;box-shadow:0 6px 24px #dfb84314}.primary:hover{background:var(--gold-light);border-color:var(--gold-light)}.secondary{background:#091727}.text-button{border-color:transparent;background:transparent;color:var(--gold);padding-inline:6px}.small{padding:8px 12px;min-height:44px;font-size:.875rem}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.8rem;color:var(--gold);font-weight:650;margin:0 0 14px}.selected{border-color:var(--gold)!important;background:#d6af4210!important}.app-shell{max-width:940px;margin:auto;padding:max(14px,env(safe-area-inset-top)) 28px max(24px,env(safe-area-inset-bottom))}.brand-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:6px 0 20px}.brand-lockup{display:grid;gap:6px;min-width:0;flex:1}.brand-crest{display:flex;align-items:flex-end;gap:12px;min-width:0}.brand-emblem{width:34px;height:56px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 0 12px rgba(37,131,252,.4))}.brand-lockup .official-logo{display:block;width:100%;max-width:min(540px,64vw);height:auto;max-height:70px;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 0 14px rgba(37,131,252,.28))}.wordmark{font-family:Cinzel,Georgia,serif;font-size:1.7rem;font-weight:500;white-space:nowrap}.tm{font-family:Arial,sans-serif;font-size:.45em;vertical-align:super;margin-left:2px}.tagline{font-size:.77rem;letter-spacing:.06em;color:#d8e1eb;margin-top:-1px}.product-name{font-size:.76rem;color:var(--gold);letter-spacing:.14em;font-weight:650;margin-top:2px;padding-left:46px}.product-name span{color:var(--muted);letter-spacing:0;font-weight:400}.sound-button{font-size:.85rem;background:rgba(8,21,37,.72);min-height:44px;padding:8px 12px;white-space:nowrap;border-color:#274568;backdrop-filter:blur(6px)}nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;gap:8px;margin-bottom:32px}nav button{border:1px solid transparent;background:transparent;color:var(--muted);min-height:44px;padding:9px 10px;font-size:.925rem}nav .selected{color:var(--gold)}main{min-height:55svh}footer{border-top:1px solid #18304a;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:var(--muted);margin-top:50px;padding-top:22px;font-size:.78rem}footer .wordmark{font-size:.94rem}.steps{display:flex;list-style:none;padding:0;margin:0 0 36px;gap:4px}.steps li{display:flex;align-items:center;gap:7px;color:#a8b5c5;flex:1;font-size:.75rem}.steps li>span{border:1px solid var(--line);width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-variant-numeric:tabular-nums;flex-shrink:0}.steps li.current{color:var(--gold)}.steps .current>span{border-color:var(--gold);background:#c3a14918}.steps .done>span{background:#133255}.steps b{font-weight:500}.section-heading{margin-bottom:26px}.section-heading .muted{max-width:600px;font-size:1rem}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.choice{background:linear-gradient(155deg,#0b1b2e,#050d19);border:1px solid var(--line);border-radius:var(--radius);text-align:left;padding:26px;display:flex;flex-direction:column;gap:9px;min-width:0;position:relative}.choice.selected{background:linear-gradient(155deg,#1a2540,#0a1627)!important;box-shadow:inset 0 1px #f6de8a30,0 10px 35px #0003}.choice.selected:after{content:'';position:absolute;right:18px;top:18px;width:7px;height:7px;border-radius:50%;background:var(--gold)}.choice strong{font-size:1.15rem;font-weight:600;display:block}.choice>span:last-child,.choice>span>span{display:block;color:var(--muted);font-size:.94rem}.choice-number{font-variant-numeric:tabular-nums;font-size:3.2rem;letter-spacing:-.04em;color:#ecf2fb;margin:0 0 8px;font-weight:300}.choice-number span{font-size:.85rem;text-transform:uppercase;color:var(--gold);vertical-align:middle;padding:0 8px;letter-spacing:.05em}.setup-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 10px}.setup-bottom p{font-size:.875rem;margin:0}.setup-bottom .primary{min-width:170px}.brand-note{display:flex;align-items:center;gap:24px;margin-top:36px;padding-top:24px;border-top:1px solid #223950}.brand-note img{width:100px;height:98px;object-fit:contain;opacity:.78}.brand-note b{font-weight:500;color:#d9e5f4}.brand-note p{color:var(--muted);font-size:.9rem;margin:6px 0;max-width:530px}.mode-choices{display:grid;gap:14px}.mode-choices .choice{flex-direction:row;align-items:center;gap:26px;padding:24px}.choice-mark{color:var(--gold);font-size:1.05rem;font-variant-numeric:tabular-nums}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.context-choice{padding:20px;text-align:left;background:#091624;border-radius:16px}.wizard-actions{display:flex;justify-content:space-between;gap:14px;margin-top:30px}.wizard-actions .primary{min-width:180px}.card{background:linear-gradient(130deg,#091829,#06111f);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:18px 0}.card p:last-child{margin-bottom:0}.card h2{margin-bottom:17px}.card.compact{max-width:400px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid>label+.form-grid{margin-top:0}label{display:block;color:#d1deed;font-size:.875rem;margin-bottom:7px}input:not([type=checkbox]),select{width:100%;background:#040e1a;color:var(--text);border:1px solid #36516e;border-radius:10px;min-height:48px;padding:10px 12px;font-size:1rem}input:focus,select:focus{outline:2px solid #6393d2;outline-offset:1px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--gold)}.presets{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 18px}.player-row{display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(2,minmax(90px,1fr));gap:12px;margin-bottom:16px}.player-row:has(>div:only-child){grid-template-columns:1fr}.player-row:has(>div:nth-child(2):last-child){grid-template-columns:1.6fr 1fr}.period-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--line)}.check{display:flex;gap:8px;align-items:center;min-height:48px;margin:0}.summary-line{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.pill{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #2e4661;border-radius:7px;color:#cbd8e8;font-size:.8rem;line-height:1.6}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.team h2{display:flex;align-items:center;gap:10px}.team.white{border-top:2px solid #e1e9f4}.team.black{border-top:2px solid #6d88ac}.roster-name{font-weight:500;margin-bottom:7px}.role-fields{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.role-fields label{margin-top:14px}.notice{background:#d8b5530d;border:1px solid #aa884452;border-left:3px solid var(--gold);padding:16px 20px;border-radius:9px;color:#e2e7ee;margin:18px 0;font-size:.94rem}.notice p{margin:8px 0}.rules-notice,details{margin:18px 0}summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:var(--gold);font-size:.94rem}li{margin:8px 0}ul,ol{padding-left:22px}.color-token{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid #a6bbd3;vertical-align:middle;flex-shrink:0}.color-token.white{background:#ecf1f7}.color-token.black{background:#172230}.game-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:16px}.game-meta>.muted{margin-left:auto;font-size:.78rem}.communications{display:flex;flex-direction:column;padding:13px 17px;background:#0a223b66;border:1px solid #294c70;border-radius:10px;gap:3px;margin:15px 0}.communications strong{font-size:.87rem;font-weight:600;letter-spacing:.035em}.communications span{font-size:.85rem;color:#c1d1e3}.communications.degraded{border-color:#c9a74785;background:#5b471222}.communications.silent{border-color:#da8181;background:#5c172033;color:#ffc4bf;padding:18px}.communications.silent b{font-size:.95rem}.communications.silent strong{font-size:.75rem}.communications.silent span{color:#f6cfca}.game-card{background:radial-gradient(ellipse at top,#102a4f88,transparent 70%),#061220;border:1px solid #416186;border-radius:24px;padding:26px;margin-top:18px;box-shadow:0 12px 50px #0005}.game-card.white{border-top:3px solid #dce7f5}.game-card.black{border-top:3px solid #6a88ae}.game-card-top{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:#b9cbe1}.team-label{display:flex;align-items:center;gap:9px;font-weight:500}.action-count{font-variant-numeric:tabular-nums}.active-player{margin:22px 0 14px;text-align:center;font-size:clamp(1.8rem,5vw,2.8rem);overflow-wrap:anywhere;letter-spacing:-.025em}.action-progress{display:flex;justify-content:center;gap:7px;margin-bottom:20px}.action-progress span{width:29px;height:3px;background:#263d58;border-radius:2px}.action-progress .active{background:var(--gold)}.action-progress .done{background:#81a9d3}.clock-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 8px;text-align:center}.clock-grid>div{border:1px solid #2e4868;border-radius:15px;padding:15px 6px;min-width:0;background:#030c17}.clock-grid .response-clock,.clock-grid .active-clock{border-color:#8098b7;background:#0e213c}.clock-label{display:block;color:#bacbe1;font-size:.84rem}.clock{display:block;font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-size:clamp(2.3rem,6vw,3.8rem);font-weight:500;letter-spacing:-.025em;line-height:1.4}.clock.low{color:#ffaf9f}.clock-detail{text-align:center;font-size:.8rem;color:var(--muted);margin-top:10px}.action-instruction{text-align:center;color:#cad8e8;font-size:.9rem;margin:24px 0 13px}.plane-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plane-actions:has(>button:only-child){grid-template-columns:1fr}.plane-actions:has(>button:nth-child(2):last-child){grid-template-columns:1fr 1fr}.plane-actions button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;padding:15px 7px;border-radius:15px;border:1px solid var(--gold);background:linear-gradient(145deg,#f9dda0,#e5b84c);color:#142338;box-shadow:0 4px 18px #e9b74016;user-select:none;-webkit-user-select:none}.plane-actions button:hover{background:#fce2a2}.plane-actions strong{font-size:1.08rem;font-weight:700}.plane-actions button>span:last-child{font-size:.75rem;margin-top:4px}.plane-index{font-size:.77rem;opacity:.7;margin-bottom:5px;letter-spacing:.08em}.paused .plane-actions button{background:#0c1b2d;color:#8e9caf;border-color:#355170;box-shadow:none}.paused-label{text-align:center;letter-spacing:.17em;font-size:.85rem;color:var(--gold);margin:16px 0}.pending-note{font-size:.84rem;color:var(--gold-light);text-align:center;margin:16px 0 0}.play-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:18px 0}.play-controls button{font-size:.9rem;padding:12px 6px}.board-state{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0 12px}.board-state section{border-top:1px solid var(--line);padding-top:16px}.board-state h2{font-size:.94rem;font-weight:500;margin-bottom:12px}.plane-status{display:flex;flex-wrap:wrap;gap:5px}.plane-status span{border:1px solid #315477;border-radius:5px;padding:3px 8px;font-size:.75rem;color:#cbdbeb}.plane-status .lost{color:#e8b0a9;border-color:#784849;background:#52212033}.points{color:var(--gold-light);font-size:.8rem;margin:10px 0}.danger-text{color:#ffb5a9}.final-card{display:grid;grid-template-columns:.9fr 1.1fr;position:relative;overflow:hidden;border:1px solid #395477;border-radius:26px;background:radial-gradient(ellipse at 25% 40%,#15487880,transparent 70%),#05101f;min-height:540px}.final-art{display:flex;align-items:center;justify-content:center;padding:25px 0 25px 15px}.final-art img{width:100%;max-width:360px;height:auto;filter:drop-shadow(0 0 28px #145fc365);opacity:.92}.final-copy{padding:44px 32px 36px 15px;align-self:center;position:relative}.final-copy h1{font-size:2.4rem}.result-reason{color:#b9cde4;font-size:.9rem}.gold-rule{height:1px;width:56px;background:var(--gold);margin:28px 0}.final-copy h2{font-family:Cinzel,Georgia,serif;font-size:1.45rem;font-weight:500;color:#f3deb0}.final-copy>p:not(.eyebrow){color:#c3d1e3}.final-actions{display:grid;gap:10px;margin-top:28px}.final-actions button{font-size:.85rem;letter-spacing:.05em}.final-score{font-size:2.4rem!important;font-variant-numeric:tabular-nums;color:var(--gold)!important;margin:5px 0}.final-score span{color:#8da0bc}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.metric{min-width:0;margin:5px 0 16px}.metric>span{display:block;font-size:.8rem;color:var(--muted)}.metric b{font-size:1.8rem;font-weight:500;display:block;font-variant-numeric:tabular-nums}.metric small{font-size:.9rem;color:var(--muted);font-weight:400}.small-metrics{grid-template-columns:1fr 1fr;gap:8px}.small-metrics .metric b{font-size:1.5rem}.small-metrics .metric>span{min-height:36px}.observations{padding-left:20px;color:#d9e4f1;margin:20px 0 30px}.observations li{margin-bottom:16px}.plane-bars{margin:20px 0}.plane-bars>div{display:grid;grid-template-columns:78px 1fr 22px;align-items:center;gap:9px;font-size:.8rem;margin-bottom:12px}.plane-bars b{text-align:right;font-weight:500}meter{width:100%;height:9px;background:#182a43;border:0;border-radius:5px}meter::-webkit-meter-bar{background:#182a43;border:0}meter::-webkit-meter-optimum-value{background:#9bbce3}meter::-moz-meter-bar{background:#9bbce3}.timeline{list-style:none;padding:0 0 0 18px;border-left:1px solid #395472;margin:22px 0}.timeline li{position:relative;padding:0 0 18px 8px}.timeline li:before{content:'';width:7px;height:7px;position:absolute;left:-22px;top:8px;background:var(--gold);border-radius:50%}.timeline b,.timeline span{display:block}.timeline span{color:var(--gold-light);font-size:.8rem;margin:5px 0}.timeline p{font-size:.9rem;color:var(--muted)}.challenge{padding:28px;border:1px solid #927c4977;background:linear-gradient(130deg,#28324877,#141a27);border-radius:var(--radius);margin:20px 0}.challenge p:last-child{font-size:1.15rem;margin-bottom:0;color:#f0e4c8}.interpretation-note{color:var(--muted);font-size:.85rem;padding:12px 3px}.analysis-actions,.history-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:.85rem;text-align:left;margin:14px 0}th,td{padding:12px;border-bottom:1px solid var(--line);font-weight:400;vertical-align:top}thead th{font-size:.78rem;color:var(--muted)}tbody th{font-weight:500;overflow-wrap:anywhere}.match-list{display:grid;gap:12px;margin:20px 0}.match-item{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:20px;gap:18px}.match-item b{display:block;font-weight:550;margin-bottom:7px}.match-item span span{display:block;color:var(--muted);font-size:.8rem}.match-item>span:last-child{color:var(--gold);font-size:.82rem;white-space:nowrap}.player-history{padding:18px 0;border-top:1px solid var(--line)}.empty-state{text-align:center;padding:36px 20px}.empty-state img{height:115px;width:75px;object-fit:contain;opacity:.8;margin-bottom:20px}.empty-state p{color:var(--muted)}.file-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;margin:0;padding:12px 18px;border:1px solid var(--line);border-radius:12px;min-height:48px;font-size:1rem;color:var(--text);cursor:pointer}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.version-note{font-size:.85rem}.version-note p{margin:6px 0}.loading{margin:70px auto;text-align:center}.skip-link{position:fixed;top:-80px;left:15px;z-index:20;padding:12px;background:#0b213d}.skip-link:focus{top:12px}#toast{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#17314d;border:1px solid #7192b9;color:#f1f6fd;max-width:min(600px,90vw);padding:12px 18px;border-radius:12px;box-shadow:0 10px 40px #0008;opacity:0;pointer-events:none;z-index:50;font-size:.9rem;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{padding:0;border:1px solid #5c7291;border-radius:22px;background:#081525;color:var(--text);max-width:min(560px,calc(100vw - 26px));width:100%;max-height:calc(100svh - 38px);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}.dialog-inner{padding:27px}.dialog-inner h2{font-size:1.45rem;margin-bottom:17px}.dialog-inner label{margin-top:18px}.dialog-inner>button{display:block;width:100%;margin-top:12px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.dialog-actions button{flex:1}.event-choices{display:grid;gap:10px;margin:20px 0}.event-choice{text-align:left;padding:14px 17px}.event-choice strong,.event-choice span{display:block}.event-choice strong{font-weight:500}.event-choice span{font-size:.85rem;color:var(--muted);margin-top:4px}.event-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:13px 0}
@media(max-width:640px){.app-shell{padding:max(16px,env(safe-area-inset-top)) 16px max(22px,env(safe-area-inset-bottom))}.brand-header{padding:4px 0 16px}.brand-lockup{gap:5px}.brand-crest{gap:10px}.brand-emblem{width:28px;height:48px}.brand-lockup .official-logo{max-width:min(360px,72vw);max-height:58px}.sound-button{font-size:.75rem;padding:6px 8px;border-radius:10px}.product-name{font-size:.64rem;letter-spacing:.1em;padding-left:38px}.product-name span{font-size:.66rem}.tagline{font-size:.64rem}.steps{margin-bottom:25px;gap:5px;justify-content:space-between}.steps li{flex:0;gap:0}.steps b{display:none}.steps .current{flex:1;justify-content:center;gap:8px}.steps .current b{display:block;font-size:.79rem}.steps li:first-child.current{justify-content:flex-start}nav{margin-bottom:24px;padding:6px 0}.choice-grid{gap:11px}.choice{padding:22px 16px}.choice strong{font-size:1.04rem}.choice>span:last-child{font-size:.86rem}.choice-number{font-size:2.65rem}.choice-number span{padding:0 3px;font-size:.75rem}.setup-bottom{align-items:flex-start}.setup-bottom .primary{min-width:132px}.setup-bottom p{font-size:.8rem;max-width:145px;padding-top:10px}.brand-note{gap:16px;margin-top:27px}.brand-note img{width:72px;height:85px}.brand-note b{font-size:.92rem}.brand-note p{font-size:.85rem}.mode-choices .choice{padding:20px 18px;gap:18px}.mode-choices .choice strong{padding-right:20px}.context-grid{gap:10px}.context-choice{padding:16px;font-size:.94rem}.card{padding:21px 18px}.form-grid{gap:16px}.player-row{grid-template-columns:1fr 1fr}.player-row>div:first-child{grid-column:1/-1}.period-row{grid-template-columns:1fr 1fr 1fr}.period-row .check{grid-column:1/-1}.team-grid{grid-template-columns:1fr}.team-grid .card{margin:0}.team-grid{margin:18px 0}.team-grid>div{border-bottom:1px solid var(--line);padding-bottom:18px}.game-card{padding:20px 14px;border-radius:20px}.active-player{margin:18px 0 14px}.clock-grid{gap:10px}.clock-grid>div{padding:12px 4px}.clock{font-size:2.55rem}.clock-label{font-size:.76rem}.plane-actions{gap:7px}.plane-actions button{min-height:111px;padding:13px 4px}.plane-actions strong{font-size:.96rem}.plane-actions button>span:last-child{font-size:.65rem}.plane-index{font-size:.7rem}.action-instruction{font-size:.85rem;margin-top:20px}.play-controls{gap:7px}.play-controls button{font-size:.79rem;padding:11px 5px}.board-state{gap:14px}.plane-status span{font-size:.72rem;padding:3px 6px}.game-meta>.muted{font-size:.7rem}.game-meta .pill{font-size:.75rem}.communications.silent strong{font-size:.7rem}.communications.silent b{font-size:.85rem}.communications.silent span{font-size:.8rem}.final-card{display:block;min-height:0}.final-art{height:195px;padding:18px 0 0}.final-art img{height:190px;width:215px;object-fit:contain}.final-copy{padding:14px 25px 28px;text-align:center}.final-copy h1{font-size:2.15rem}.final-copy .eyebrow{font-size:.74rem}.gold-rule{margin:22px auto}.final-copy h2{font-size:1.42rem}.final-copy>p{font-size:.94rem}.metrics{gap:14px}.metric b{font-size:1.55rem}.metric>span{font-size:.78rem}.challenge{padding:23px 20px}.match-item{padding:17px 14px;gap:12px}.match-item>span:last-child{font-size:.75rem;white-space:normal;max-width:65px}.dialog-inner{padding:24px 20px}.dialog-inner h2{font-size:1.25rem}.dialog-inner p{font-size:.94rem}.wizard-actions .primary{min-width:160px}.small-metrics{grid-template-columns:repeat(2,1fr)}footer .wordmark{font-size:.85rem}footer{font-size:.74rem}}
@media(max-width:359px){.app-shell{padding-inline:12px}.wordmark{font-size:1.18rem}.brand-emblem{width:24px;height:42px}.brand-lockup .official-logo{max-width:min(240px,64vw);max-height:46px}.product-name{padding-left:34px}.sound-button{max-width:88px;white-space:normal;line-height:1.3}.choice{padding:19px 12px}.choice-number{font-size:2.2rem}.choice-number span{padding:0}.plane-actions strong{font-size:.82rem}.plane-actions button>span:last-child{font-size:.62rem}.form-grid{grid-template-columns:1fr}.clock{font-size:2.2rem}.context-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:white;color:black}nav,.brand-header,.analysis-actions,footer,#toast{display:none}.card{break-inside:avoid;background:white;border-color:#aaa;color:black}.muted,.metric>span{color:#444}}

/* Discrete screen flow and official brand assets */
.brand-name{font-family:Cinzel,Georgia,serif;font-weight:400;font-variant:small-caps;letter-spacing:.035em}
.signature{font-family:"Times New Roman",serif;font-style:italic}
.legacy-brand-lockup{display:grid;grid-template-columns:minmax(170px,280px) auto;align-items:center;gap:18px}
.legacy-brand-lockup .official-logo{display:block;width:100%;height:auto;max-height:74px;object-fit:contain;object-position:left center;filter:drop-shadow(0 0 14px rgba(37,131,252,.28))}
.legacy-brand-lockup .product-name{border-left:1px solid var(--line);padding-left:18px;white-space:nowrap}
.cover-screen{min-height:100svh;display:grid;place-items:center;position:relative;overflow:hidden;padding:42px 22px calc(42px + env(safe-area-inset-bottom));isolation:isolate;background:radial-gradient(circle at 50% 42%,rgba(24,102,192,.25),transparent 30%),linear-gradient(160deg,#02060d,#06172c 52%,#020812)}
.cover-screen:before,.cover-screen:after{content:"";position:absolute;inset:auto;z-index:-1;border:1px solid rgba(115,169,238,.12);transform:rotate(45deg)}
.cover-screen:before{width:52vmin;height:52vmin;left:-22vmin;bottom:-25vmin}.cover-screen:after{width:42vmin;height:42vmin;right:-19vmin;top:-20vmin}
.cover-aura{position:absolute;z-index:-1;width:min(880px,95vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(35,126,239,.14),transparent 64%);filter:blur(6px)}
.cover-inner{width:min(780px,100%);text-align:center;display:flex;flex-direction:column;align-items:center}
.cover-logo{display:block;width:min(690px,92vw);height:auto;filter:drop-shadow(0 0 26px rgba(50,133,238,.24));margin-bottom:36px}
.cover-kicker{color:var(--gold);letter-spacing:.34em;font-size:.78rem;margin:0 0 26px}.cover-inner h1{font-family:Cinzel,Georgia,serif;font-weight:400;letter-spacing:.01em;max-width:720px;font-size:clamp(2rem,5vw,3.65rem);margin-bottom:20px}.cover-copy{color:#bac9db;max-width:610px;font-size:clamp(.95rem,2vw,1.12rem);margin-bottom:34px}
.cover-enter{min-width:min(310px,82vw);min-height:58px;letter-spacing:.16em}.cover-version{margin:22px 0 0;color:#72849a;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}
.edition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.edition-choice{min-height:224px;text-align:left;padding:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(160deg,#0b1d31,#050d18);position:relative;overflow:hidden}.edition-choice:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 10%,rgba(57,131,222,.2),transparent 48%);pointer-events:none}.edition-choice.edition-nature:before{background:radial-gradient(circle at 80% 10%,rgba(66,157,103,.28),transparent 48%)}.edition-choice.edition-football:before{background:linear-gradient(140deg,rgba(48,130,116,.18),transparent 55%)}
.edition-choice strong{font-family:Cinzel,Georgia,serif;font-weight:400;font-size:1.17rem;margin:8px 0}.edition-choice>span:not(.edition-status){font-size:.86rem;color:var(--muted)}.edition-choice small{font-size:.72rem;color:#8294a9;margin-top:10px}.edition-status{position:absolute;top:15px;left:17px;color:var(--gold);font-size:.66rem;letter-spacing:.12em}.edition-choice:disabled{opacity:.58}.edition-choice:disabled:hover{border-color:var(--line);background:linear-gradient(160deg,#0b1d31,#050d18)}
.quick-timer-link{display:grid;gap:4px;margin-top:18px;padding:18px 20px;border:1px solid #345476;border-radius:16px;background:linear-gradient(135deg,rgba(16,44,77,.82),rgba(4,14,26,.86));text-decoration:none;color:var(--text)}.quick-timer-link span{font-size:.67rem;letter-spacing:.13em;color:var(--gold)}.quick-timer-link strong{font-weight:550}.quick-timer-link small{color:var(--muted)}
.age-warning{font-size:.82rem;color:#f0d59a;border-left:2px solid var(--gold);padding-left:12px;margin:14px 0 0}
.timed-presets{display:grid;grid-template-columns:1fr 1fr;gap:24px}.custom-separator{text-align:center;color:#8292a7;font-size:.68rem;letter-spacing:.12em;margin:15px 0}.presets .selected{color:var(--gold-light);box-shadow:inset 0 0 0 1px rgba(239,198,92,.25)}
.score-breakdown{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:13px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.8rem}.score-breakdown b{color:var(--gold-light);font-weight:600}
#game-flash{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:0}.flash-warning{animation:globalWarning .5s ease-out}.flash-critical{animation:globalCritical .5s ease-out}.flash-finished{animation:globalFinished .82s ease-out}.countdown-pulse{animation:clockPulse .5s ease-out}
@keyframes globalWarning{0%,100%{opacity:0}35%{opacity:1;background:rgba(238,170,70,.22)}}@keyframes globalCritical{0%,100%{opacity:0}35%{opacity:1;background:rgba(236,67,53,.35)}}@keyframes globalFinished{0%,100%{opacity:0}28%{opacity:1;background:rgba(216,190,108,.34)}}@keyframes clockPulse{0%,100%{transform:scale(1);color:inherit}45%{transform:scale(1.075);color:#ffb36a;text-shadow:0 0 24px rgba(255,135,47,.58)}}
.final-card{background-image:linear-gradient(90deg,rgba(2,8,18,.3),rgba(2,8,18,.93)),var(--final-bg);background-size:cover;background-position:center}.final-nature{border-color:#4b8067}.final-nature .final-art img,.final-football-placeholder .final-art img{opacity:0}.final-football-placeholder{border-style:dashed}.context-cue{display:inline-flex!important;padding:5px 9px;border:1px solid rgba(207,225,244,.24);border-radius:999px;color:#c4d1de!important;font-size:.75rem!important;margin-bottom:17px}

@media(max-width:700px){.brand-lockup{gap:6px}.brand-lockup .product-name{font-size:.64rem;padding-left:38px}.edition-grid{grid-template-columns:1fr}.edition-choice{min-height:152px}.timed-presets{grid-template-columns:1fr}.cover-logo{margin-bottom:28px}.cover-inner h1{font-size:clamp(1.82rem,9vw,2.7rem)}.final-card{background-image:linear-gradient(180deg,rgba(2,8,18,.2),rgba(2,8,18,.94)),var(--final-bg)}}
@media(max-width:430px){.brand-header{align-items:flex-start}.brand-lockup{gap:4px}.brand-lockup .product-name{padding-left:34px;margin-top:0}.brand-lockup .product-name span{display:none}.edition-choice{min-height:140px}.cover-screen{padding-inline:18px}.cover-copy{font-size:.93rem}}

/* Entry choice, tactile plane feedback and compact debriefing */
.entry-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0 12px}
.entry-choice{min-height:250px;padding:28px;text-align:left;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:9px;position:relative;overflow:hidden;background:linear-gradient(155deg,#0a1c31,#050d18);border:1px solid #355777}
.entry-choice:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 12%,rgba(66,141,235,.22),transparent 46%);pointer-events:none}
.entry-choice.quick:before{background:radial-gradient(circle at 78% 12%,rgba(242,194,79,.20),transparent 48%)}
.entry-choice:hover{border-color:var(--gold);transform:translateY(-1px)}
.entry-choice strong{font-size:1.55rem;line-height:1.12;color:#f7fbff}
.entry-choice>span:not(.entry-number){color:#c1cede;max-width:330px}
.entry-choice small{color:#8195ac;margin-top:8px}
.entry-number{position:absolute;top:18px;left:20px;color:var(--gold);font-size:.75rem;letter-spacing:.18em}
.entry-note{text-align:center;color:var(--muted);font-size:.84rem;margin:18px 0 0}

.score-intro{font-size:1rem;line-height:1.55;margin-bottom:20px}.score-intro strong{color:#f5f8fc}.score-intro span{color:var(--muted)}
.score-entry{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.score-team{border:1px solid #355575;border-radius:16px;padding:18px;background:#06121f}
.score-team.white{border-top:3px solid #edf3fb}.score-team.black{border-top:3px solid #6c86a7}
.score-team h3{display:flex;align-items:center;gap:9px;margin:0 0 17px;font-size:1.08rem}
.score-team label{font-size:.8rem;color:#c4d2e3}.score-team input{font-size:1.35rem;font-weight:650;text-align:center;min-height:58px}
.score-help{font-size:.82rem;color:var(--muted);margin:14px 0 10px}.score-auto{font-size:.82rem;color:#f1d688;background:#d8b5530d;border-left:3px solid var(--gold);padding:12px 14px;border-radius:8px}
.score-calculate{width:100%;margin-top:12px}

.plane-actions button{transition:transform .08s ease,box-shadow .14s ease,filter .14s ease,background .14s ease}
.plane-actions button:active{transform:scale(.965);filter:brightness(1.08);box-shadow:0 0 0 3px rgba(255,226,142,.32),0 0 32px rgba(236,187,70,.55)}
.plane-feedback{position:fixed;z-index:120;left:50%;top:19%;transform:translate(-50%,-8px) scale(.96);opacity:0;display:grid;grid-template-columns:auto auto;grid-template-areas:"check name" "check sub";column-gap:10px;align-items:center;padding:14px 19px;border-radius:15px;background:rgba(4,16,29,.96);border:1px solid var(--gold);box-shadow:0 14px 45px #0009,0 0 26px rgba(237,188,66,.23);pointer-events:none;transition:.16s ease}
.plane-feedback.show{opacity:1;transform:translate(-50%,0) scale(1)}
.plane-feedback>span{grid-area:check;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--gold-light),var(--gold));color:#152033;font-weight:900}
.plane-feedback strong{grid-area:name;font-size:1rem;color:#fff}.plane-feedback small{grid-area:sub;color:#9fb1c6;font-size:.72rem}

.analysis-accordion{display:grid;gap:10px;margin:18px 0}
.analysis-section{margin:0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(130deg,#091829,#06111f);overflow:hidden}
.analysis-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;min-height:62px;color:#edf4fd;font-size:1rem;font-weight:600;cursor:pointer}
.analysis-section summary::-webkit-details-marker{display:none}.analysis-section summary::marker{display:none;content:""}
.analysis-section summary b{color:var(--gold);font-weight:650;font-variant-numeric:tabular-nums}
.analysis-chevron{font-size:1.35rem;line-height:1;color:var(--gold);transition:transform .16s ease;flex-shrink:0}
.analysis-section[open] .analysis-chevron{transform:rotate(180deg)}
.analysis-section[open] summary{border-bottom:1px solid var(--line);background:#0d1d31}
.analysis-panel{padding:20px}.analysis-panel>p:last-child{margin-bottom:0}.analysis-panel h3{margin-top:4px}
.participant-details{margin-top:16px}.participant-details summary{color:var(--gold)}
.analysis-actions{display:grid;gap:10px;margin:22px 0 8px}
.ai-reflection-button{width:100%;min-height:56px;border-color:#c7a342;background:linear-gradient(135deg,#25334b,#111c2d);color:#f7db87;font-weight:700;letter-spacing:.02em;box-shadow:inset 0 0 0 1px rgba(246,210,112,.08)}
.ai-reflection-button:hover{border-color:var(--gold-light);background:linear-gradient(135deg,#2c3c57,#152237)}
.analysis-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.analysis-secondary-actions button{width:100%}
.analysis-source{text-align:center;font-size:.78rem;margin-top:8px}
.analysis-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 24px}.analysis-overview>div{padding:18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0b1c30,#06101d)}.analysis-overview span{display:block;color:var(--gold);font-size:.69rem;letter-spacing:.11em;font-weight:700;margin-bottom:10px}.analysis-overview p{font-size:.91rem;margin:0}.analysis-overview small{display:block;color:var(--muted);font-size:.78rem;margin-top:9px}
.analysis-evidence{display:grid;gap:12px;margin-bottom:24px}.analysis-evidence article{padding:17px 18px;border:1px solid #294866;border-radius:14px;background:linear-gradient(145deg,#0c1f35,#071321)}.analysis-evidence article>span{display:block;color:var(--gold);font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}.analysis-evidence h3{margin:0 0 8px}.analysis-evidence p{font-size:.9rem;margin:0 0 8px}.analysis-evidence small{color:#a9bdd3;font-size:.75rem}

@media(max-width:640px){
  .analysis-overview{grid-template-columns:1fr;gap:9px}.analysis-overview>div{padding:15px}
  .entry-choice-grid{grid-template-columns:1fr;gap:12px}.entry-choice{min-height:180px;padding:23px 20px}.entry-choice strong{font-size:1.35rem}
  .score-entry{grid-template-columns:1fr 1fr;gap:9px}.score-team{padding:14px 11px}.score-team h3{font-size:.95rem}.score-team label{font-size:.71rem;min-height:34px}.score-team input{font-size:1.25rem}.score-breakdown{font-size:.7rem;padding:10px 8px;gap:5px 8px}
  .analysis-section summary{padding:17px 16px;font-size:.95rem}.analysis-panel{padding:17px 15px}.analysis-panel .team-grid{margin-top:14px}
  .plane-feedback{top:17%;max-width:calc(100vw - 34px);white-space:nowrap}
}
@media(max-width:370px){.score-entry{grid-template-columns:1fr}.analysis-secondary-actions{grid-template-columns:1fr}}

/* Safer header, restored emblem, calmer actions and refined format cards */
button.press-confirm{border-color:#e7c45e!important;filter:brightness(1.08);box-shadow:inset 0 0 0 1px rgba(255,230,150,.18);transition:none!important}
.format-grid{align-items:stretch;gap:18px}.format-choice{justify-content:flex-start;align-items:flex-start;gap:10px;min-height:218px;padding:28px 26px;overflow:hidden}.duel-choice{background:linear-gradient(155deg,#15284a,#0b1830)!important;border-color:#5f7fb0}.team-choice{background:linear-gradient(155deg,#0b223d,#071526)!important;border-color:#395f87}.format-choice.selected{box-shadow:inset 0 0 0 1px rgba(255,225,145,.18),0 16px 34px rgba(0,0,0,.24)!important}.format-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(239,198,92,.32);background:rgba(239,198,92,.08);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#f6d98a;margin-bottom:2px}.format-title{font-size:clamp(1.6rem,3.2vw,2.25rem)!important;line-height:1.06;color:#f4f7fb;min-height:2.3em;display:flex;align-items:flex-end}.format-meta{display:block;font-size:1rem!important;max-width:340px;color:#d8e3ef;line-height:1.35;font-weight:500}.format-note{display:block;margin-top:auto;color:#93a8bf;font-size:.82rem;line-height:1.42}
.context-section{margin:0 0 24px}.context-section-label{margin:0 0 10px;color:#899ab0;font-size:.69rem;letter-spacing:.14em;font-weight:700}.context-personal{width:100%;display:grid;gap:5px;padding:21px 22px;text-align:left;background:linear-gradient(135deg,#0c2038,#07121f);border-radius:18px;min-height:112px}.context-personal strong{font-size:1.18rem}.context-personal span{color:var(--muted);font-size:.9rem}.personal-context .context-personal.selected{box-shadow:inset 0 0 0 1px rgba(239,198,92,.2),0 10px 32px rgba(0,0,0,.18)}.context-note{font-size:.84rem;color:#9daec2;margin:4px 0 0}
.mode-choice{padding:24px 26px!important}.mode-title{font-size:1.25rem!important;color:#f7f8fb;letter-spacing:-.01em}.mode-choice>span>span{margin-top:5px}.mode-choice.selected .mode-title{color:#fff3c8}
.player-row.has-age{grid-template-columns:minmax(150px,1.45fr) minmax(82px,.62fr) repeat(2,minmax(92px,1fr))}.education-note{padding:14px 16px;border-left:3px solid var(--gold);border-radius:8px;background:rgba(215,176,70,.07);color:#c8d4e3;font-size:.86rem}.education-note strong{color:#f3d987}.roster-age{font-size:.78rem;color:#8fa1b7;font-weight:400}
.rules-card .secondary{margin-top:6px}.review-rules{text-align:right;margin-top:8px}.review-rules .text-button{font-size:.86rem}.rules-guide{font-size:.92rem}.rules-guide-intro{color:#bdcada}.rules-guide details{border-top:1px solid var(--line);padding:11px 0}.rules-guide details:last-of-type{border-bottom:1px solid var(--line)}.rules-guide summary{font-weight:650;color:#f0d687;cursor:pointer}.rules-guide ul{padding-left:20px;color:#d1dce9}.rules-guide li{margin:8px 0}.rules-guide-note{margin-top:18px;padding:12px 14px;background:#0c1c2d;border-radius:10px;color:#9faec1}
.install-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.install-grid>div{padding:16px;border:1px solid #294666;border-radius:14px;background:#061321}.install-grid h3{margin-bottom:8px;color:#f4d985}.install-grid p{font-size:.86rem;margin:0;color:#c1cede}
.entry-choice-grid{gap:18px}.entry-choice{isolation:isolate;min-height:270px;padding:28px 28px 25px}.entry-choice:before{z-index:-2}.entry-choice:after{content:"";position:absolute;inset:0;z-index:-3;opacity:.55;transition:opacity .18s ease}.entry-choice.quick{background:linear-gradient(150deg,rgba(9,24,43,.98),rgba(5,11,20,.98));box-shadow:inset 0 0 0 1px rgba(239,198,92,.04)}.entry-choice.quick:after{background:url('/assets/horse.png') 91% 18%/100px auto no-repeat,radial-gradient(circle at 84% 18%,rgba(35,113,223,.28),transparent 27%)}.entry-choice.advanced{background:linear-gradient(150deg,rgba(11,30,52,.98),rgba(6,13,24,.98));box-shadow:inset 0 0 0 1px rgba(111,166,237,.08)}.entry-choice.advanced:after{background:radial-gradient(circle at 84% 23%,transparent 0 31px,rgba(96,157,233,.26) 32px 33px,transparent 34px 52px,rgba(96,157,233,.19) 53px 54px,transparent 55px 73px,rgba(239,198,92,.16) 74px 75px,transparent 76px)}.entry-choice:hover:after{opacity:.8}.entry-visual{position:absolute;right:24px;top:22px;width:84px;height:84px;pointer-events:none}.entry-visual-quick:before{content:"";position:absolute;inset:10px;border:1px solid rgba(239,198,92,.38);border-radius:50%}.entry-visual-quick:after{content:"";position:absolute;left:41px;top:26px;width:2px;height:28px;background:rgba(255,231,158,.75);transform-origin:bottom;transform:rotate(38deg);border-radius:2px}.entry-visual-advanced{border-radius:50%;border:1px solid rgba(103,161,231,.18)}
.entry-number{display:none!important}.choice-mark{display:none!important}.plane-index{display:none!important}.plane-actions button{justify-content:center}.plane-actions strong{margin-top:0}
@media(max-width:700px){.install-grid{grid-template-columns:1fr}.entry-choice{min-height:210px}.entry-choice.quick:after{background-size:82px auto}.entry-visual{width:70px;height:70px;right:16px;top:14px}.player-row.has-age{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.format-choice{min-height:176px;padding:22px 18px;gap:8px}.format-kicker{font-size:.66rem;padding:5px 9px}.format-title{font-size:1.45rem!important;min-height:auto}.format-meta{font-size:.92rem!important}.format-note{font-size:.78rem}.context-personal{padding:18px}.mode-title{font-size:1.12rem!important}.player-row.has-age>div:first-child{grid-column:1/-1}.install-grid>div{padding:14px}.rules-guide{font-size:.88rem}}

/* V2.0 — safe areas, official luminous emblem and stable focus mode */
[hidden]{display:none!important}
.app-shell{padding-top:calc(24px + env(safe-area-inset-top))}
.brand-crest{align-items:center}
.brand-emblem{width:56px;height:56px;border-radius:12px;object-fit:cover;filter:drop-shadow(0 0 13px rgba(60,145,255,.58))}
.cover-screen{padding-top:calc(42px + env(safe-area-inset-top))}
.cover-emblem{display:block;width:112px;height:112px;border-radius:22px;object-fit:cover;margin-bottom:24px;filter:drop-shadow(0 0 22px rgba(67,151,255,.62))}
.entry-choice.quick:after{background:url('/assets/app-icon.png') 91% 18%/100px auto no-repeat,radial-gradient(circle at 84% 18%,rgba(35,113,223,.28),transparent 27%)}
.format-kicker{padding:0;border:0;border-radius:0;background:none;font-size:1.1rem;letter-spacing:.11em;color:#f5d680}
.format-title{font-size:clamp(1.55rem,3.2vw,2.15rem)!important;min-height:2.25em}
.focus-mode footer{display:none}
.focus-mode .brand-header{padding-bottom:12px}
.focus-mode .game-card{min-height:390px;contain:layout paint}
.focus-mode #communications-region{min-height:0}

@media(max-width:640px){
  .app-shell{padding-top:calc(22px + env(safe-area-inset-top))}
  .brand-emblem{width:48px;height:48px}
  .product-name{padding-left:60px}
  .cover-screen{padding-top:calc(34px + env(safe-area-inset-top))}
  .cover-emblem{width:92px;height:92px;border-radius:18px;margin-bottom:20px}
  .format-kicker{font-size:.93rem;padding:0}
  .focus-mode .brand-header{padding-bottom:8px}
  .focus-mode .brand-lockup .official-logo{max-width:min(330px,66vw)}
  .focus-mode .game-card{min-height:365px;margin-top:10px}
  .focus-mode .wizard-actions{position:sticky;bottom:max(8px,env(safe-area-inset-bottom))}
}

/* Wargame match instrument — official plane and loss assets */
.active-player.multiplayer{min-height:68px;display:grid;place-items:center;align-content:center;gap:4px;margin-block:17px 12px}
.active-player.multiplayer .active-role{font-size:clamp(.69rem,1.8vw,.8rem);line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#f2d681;font-weight:700}
.active-player.multiplayer .active-name{font-size:clamp(1.65rem,4.8vw,2.55rem);line-height:1.12;color:#f5f8fc}
.plane-actions .wargame-plane{position:relative;isolation:isolate;overflow:hidden;min-height:126px;border-color:rgba(132,174,224,.62);color:#f6f9fd;background-color:#071527;background-position:center;background-size:cover;box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.25);text-shadow:0 1px 8px #000}
.plane-actions .wargame-plane:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,9,18,.32),rgba(2,9,18,.86));pointer-events:none}
.plane-actions .plane-upper{background-image:url('/assets/wargame-plane-air.png')}
.plane-actions .plane-middle{background-image:url('/assets/wargame-plane-earth-sea.png')}
.plane-actions .plane-lower{background-image:url('/assets/wargame-plane-submarine.png')}
.plane-actions .wargame-plane:hover{border-color:#e6c768;filter:brightness(1.1)}
.plane-actions .wargame-plane strong{font-size:clamp(.84rem,2vw,1.04rem);letter-spacing:.055em;color:#fff}
.plane-actions .wargame-plane>span{font-size:.75rem;color:#d1ddea;margin-top:5px}
.plane-actions .wargame-plane small{font-size:.64rem;letter-spacing:.035em;color:#aebed0;margin-top:10px}
.paused .plane-actions .wargame-plane{background-color:#07121f;background-blend-mode:multiply;color:#98a7b9;border-color:#314a64;filter:saturate(.35) brightness(.68);box-shadow:none}
.loss-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:68px;margin-top:10px}
.loss-controls.empty{visibility:hidden}
.loss-control{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;padding:7px 12px;text-align:left;border-color:#385674;background:linear-gradient(145deg,rgba(11,31,52,.9),rgba(5,14,25,.96));color:#e8eef6}
.loss-control:hover{border-color:#d3b75f;background:linear-gradient(145deg,rgba(17,43,70,.95),rgba(7,18,31,.98))}
.loss-control>span:last-child{min-width:0}.loss-control strong,.loss-control small{display:block}.loss-control strong{font-size:.75rem;line-height:1.2;letter-spacing:.035em}.loss-control small{font-size:.66rem;line-height:1.3;color:#91a5bc;margin-top:4px}
.loss-icon{display:block;width:46px;height:46px;border:1px solid rgba(151,183,221,.28);border-radius:8px;background-position:center;background-repeat:no-repeat;background-size:contain;background-color:#e7edf4;overflow:hidden}
.loss-upper.affected-white .loss-icon{background-image:linear-gradient(rgba(219,230,240,.16),rgba(219,230,240,.16)),url('/assets/wargame-awacs-white.webp');background-size:cover}
.loss-upper.affected-black .loss-icon{background-image:linear-gradient(rgba(220,230,240,.1),rgba(220,230,240,.1)),url('/assets/wargame-awacs-black.webp');background-size:cover}
.loss-lower.affected-white .loss-icon{background-image:url('/assets/wargame-submarine-white.webp');background-color:#122842}
.loss-lower.affected-black .loss-icon{background-image:url('/assets/wargame-submarine-black.webp');background-color:#ced8e4}
.loss-plane-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.loss-plane-choice{min-height:72px;text-align:center!important;padding:10px!important}.loss-plane-choice strong{font-size:.85rem!important}.loss-plane-choice span{font-size:.72rem!important}
.play-controls.compact{grid-template-columns:1fr 1fr}

@media(max-width:640px){
  .active-player.multiplayer{min-height:60px}.active-player.multiplayer .active-name{font-size:1.72rem}
  .plane-actions .wargame-plane{min-height:105px;padding:11px 4px}.plane-actions .wargame-plane strong{font-size:.8rem}.plane-actions .wargame-plane>span{font-size:.64rem}.plane-actions .wargame-plane small{font-size:.57rem;margin-top:7px}
  .loss-controls{gap:7px;min-height:62px}.loss-control{grid-template-columns:36px minmax(0,1fr);gap:7px;min-height:58px;padding:6px 7px}.loss-icon{width:36px;height:40px}.loss-control strong{font-size:.66rem}.loss-control small{font-size:.58rem}
  .loss-plane-choices{grid-template-columns:1fr}.loss-plane-choice{min-height:58px}
}
@media(prefers-reduced-motion:reduce){.plane-actions button,.loss-control,.plane-feedback{transition:none!important}.plane-actions button:active{transform:none}}

/* V2.1 — global safe areas, assisted scoring and contextual debrief */
html{scroll-padding-top:calc(env(safe-area-inset-top) + 16px);scroll-padding-bottom:calc(env(safe-area-inset-bottom) + 16px)}
body::before{content:"";position:fixed;z-index:900;inset:0 0 auto;height:env(safe-area-inset-top);background:#020812;pointer-events:none}
.app-shell{padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.timer-switch-row{display:flex;justify-content:flex-start;margin:-9px 0 20px}.timer-switch-row button{color:#b7c4d4;font-size:.82rem;min-height:44px}
dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);margin-block:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
.scoring-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.scoring-mode-grid .choice{min-height:132px;padding:19px}.scoring-mode-grid .choice strong{letter-spacing:.08em;color:#f5d989}
.capture-control{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #25425f}.capture-open{min-width:210px;border-color:#d2b153}.capture-control>span{font-size:.72rem;color:#aebdd0;text-align:right}
.capture-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.capture-selectors>div:last-child:nth-child(3){grid-column:1/-1}
.capture-relation{font-size:.78rem;color:#aab9cb;padding:10px 12px;border-left:3px solid #db3e4d;background:#101b2b;border-radius:7px}.capture-relation.allowed{border-left-color:#db3e4d}.capture-relation.advanced-relation{border-left-color:#72de55}.capture-relation.same{border-left-color:#7299c9}
.capture-piece-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0}.capture-piece{padding:8px 4px;min-height:128px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.capture-piece img{height:58px;max-width:62px;object-fit:contain;margin-bottom:7px}.capture-piece strong{font-size:.78rem}.capture-piece span{font-size:.62rem;color:#9fb0c5;text-align:center;margin-top:3px}.capture-piece.selected{border-color:var(--gold);background:#15233a!important}
.play-controls.compact{grid-template-columns:repeat(3,1fr)}
.final-art img{filter:none;opacity:1;image-rendering:auto;max-width:390px}.score-verdict{font-size:.78rem!important;letter-spacing:.16em;color:#f0ce72!important;font-weight:800;margin:-2px 0 10px}.result-title{text-transform:uppercase}.material-timeline{list-style:none;padding:0;margin:16px 0}.material-timeline li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.82rem}.material-timeline b{font-variant-numeric:tabular-nums;color:#f1d681}
.context-transfer{margin:28px 0;padding:24px;border:1px solid #7f6b386e;border-radius:18px;background:linear-gradient(135deg,#18283b,#0a1624)}.context-transfer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.context-transfer-grid>div{padding:15px;border:1px solid #2c4662;border-radius:12px;background:#071321}.context-transfer-grid span{display:block;color:#f0cf7d;font-size:.68rem;letter-spacing:.11em;font-weight:750;margin-bottom:8px}.context-transfer-grid p{margin:0;font-size:.9rem;color:#d7e0eb}
@media(max-width:640px){
  .app-shell{padding-top:calc(22px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}
  .timer-switch-row{margin:-7px 0 15px}.scoring-mode-grid{grid-template-columns:1fr}.capture-control{display:grid}.capture-control>span{text-align:left}.capture-open{width:100%;min-width:0}
  .capture-selectors{grid-template-columns:1fr}.capture-piece-grid{grid-template-columns:repeat(3,1fr)}.capture-piece{min-height:116px}.play-controls.compact{grid-template-columns:1fr 1fr}.play-controls.compact button:last-child{grid-column:1/-1}
  .context-transfer{padding:18px 15px}.context-transfer-grid{grid-template-columns:1fr}.final-art img{max-width:270px}
}
@media(prefers-reduced-motion:reduce){body{scroll-behavior:auto}.capture-piece,.context-transfer *{transition:none!important}}

/* V2.2 — atomic action closure, official Wargame units and local debrief */
.action-group-label,.match-control-title{margin:24px 0 10px;color:#93a8c0;font-size:.68rem;font-weight:750;letter-spacing:.15em}
.capture-control{display:grid;grid-template-columns:1fr;align-items:center;margin-top:14px;padding:16px;border:1px solid #6d5b2f;border-radius:15px;background:linear-gradient(135deg,rgba(47,58,76,.9),rgba(10,23,38,.96))}
.capture-open{position:relative;isolation:isolate;display:grid;place-content:center;justify-items:center;gap:5px;width:100%;min-height:76px;overflow:hidden;border-color:#deb94d;background:linear-gradient(135deg,#162b46,#071321 52%,#14283f);color:#f4d77c;font-weight:750;letter-spacing:.055em;box-shadow:inset 0 0 0 1px rgba(255,222,137,.06),inset 0 0 26px rgba(32,89,151,.13),0 7px 18px rgba(0,0,0,.18)}
.capture-open:before{content:"";position:absolute;z-index:-1;left:8%;right:8%;top:34%;height:34%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(35,135,255,.18) 18%,rgba(64,159,255,.5) 50%,rgba(35,135,255,.18) 82%,transparent);filter:blur(10px);opacity:.9}
.capture-open:hover{border-color:#f0ce70;background:linear-gradient(135deg,#193354,#091728 52%,#19314e)}
.capture-open-title{font-size:1rem;line-height:1.1;font-weight:850;letter-spacing:.14em;color:#f6d77b;text-align:center}
.capture-open-subtitle{font-size:.72rem;line-height:1.25;font-weight:500;letter-spacing:0;color:#d1dceb;text-align:center}
.capture-control>span{padding:10px 2px 0;font-size:.72rem;color:#aebdd0;text-align:center}
.loss-controls{margin-top:12px}.loss-controls.empty{display:none}
.critical-action{width:100%;min-height:58px;margin-top:12px;border:1px solid #b64e55;background:linear-gradient(135deg,#421920,#1e0d14);color:#ffd9d4;font-weight:800;letter-spacing:.12em;box-shadow:inset 0 0 0 1px rgba(255,177,169,.06)}
.critical-action:hover{border-color:#e6797e;background:linear-gradient(135deg,#522028,#251018)}
.match-controls{margin:18px 0;padding:16px 18px 18px;border:1px solid #203b58;border-radius:16px;background:#06111f}.match-control-title{margin:0 0 11px}.match-controls .play-controls{margin:0}
.capture-selectors{grid-template-columns:repeat(3,minmax(0,1fr))}.capture-selectors>div:last-child:nth-child(3){grid-column:auto}
.capture-piece-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.capture-piece{min-height:164px;padding:10px 7px;justify-content:flex-end}.capture-piece img{width:100%;max-width:105px;height:82px}.capture-piece strong{font-size:.78rem;line-height:1.2}.capture-piece span{font-size:.64rem;line-height:1.35}
.stealth-confirm{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid #4b733d;border-radius:10px;background:#17301e66;color:#dcebd6;line-height:1.4}.stealth-confirm input{flex:0 0 auto;margin-top:1px}
.chatgpt-summary{box-sizing:border-box;width:100%;min-height:280px;resize:vertical;padding:14px;border:1px solid #3d5877;border-radius:11px;background:#030c17;color:#d9e4f0;font:400 .82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}
.analysis-section h3{margin-top:22px;color:#f1d37c}.analysis-section h3:first-child{margin-top:0}
@media(max-width:640px){
  .capture-control{grid-template-columns:1fr;padding:13px}.capture-control>span{padding:9px 2px 0;text-align:center}
  .capture-selectors{grid-template-columns:1fr}.capture-piece-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.capture-piece{min-height:150px}.capture-piece img{height:76px;max-width:100px}
  .critical-action{min-height:56px}.match-controls{padding:14px}.match-controls .play-controls.compact{grid-template-columns:1fr 1fr}.match-controls .play-controls.compact button:last-child{grid-column:auto}
  .dialog-actions{flex-wrap:wrap}.dialog-actions button{min-width:calc(50% - 5px)}
}
@media(prefers-reduced-motion:reduce){.critical-action,.capture-open{transition:none!important}.critical-action:active,.capture-open:active{transform:none}.capture-open:before{filter:none}}

/* V2.2.3 — high-resolution local unit assets */
.capture-piece img{box-sizing:border-box;padding:4px;border-radius:12px;background:radial-gradient(circle at 50% 52%,rgba(214,229,247,.16),rgba(70,104,142,.05) 48%,transparent 72%);filter:drop-shadow(0 5px 7px rgba(0,0,0,.42));image-rendering:auto}
@media(max-width:640px){.capture-piece img{height:82px;max-width:116px}}


/* V2.2.4 — neutral touch state and high-quality final Wargame identity */
@media (hover:none),(pointer:coarse){
  .entry-choice:hover{border-color:#355777;transform:none}
  .entry-choice:hover:after{opacity:.55}
  .plane-actions .wargame-plane:hover{border-color:rgba(132,174,224,.62);filter:none}
}

/* V3.0 keeps the established analysis layout while separating local facts from SC Insight. */
.analysis-tier{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid #2c4a68;border-radius:12px;background:#071524;margin:0 0 18px}
.analysis-tier strong{font-size:.76rem;letter-spacing:.12em;color:#d7bc69}
.analysis-tier span{font-size:.78rem;color:var(--muted);text-align:right}
.sc-insight-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:26px 0 18px;padding:24px;border:1px solid #a9893d88;border-radius:18px;background:radial-gradient(ellipse at 75% 50%,#0d65b82c,transparent 50%),linear-gradient(135deg,#0a1c31,#06101d);box-shadow:inset 0 1px #f5dd8b1c}
.sc-insight-card h2{margin:4px 0 7px}.sc-insight-card p{color:#bac9da;margin:0;max-width:590px}
.sc-insight-kicker{font-size:.72rem;letter-spacing:.13em;color:var(--gold)}
.sc-insight-button{min-width:210px;border-color:var(--gold);background:linear-gradient(90deg,#071625,#0b3560 50%,#071625);box-shadow:inset 0 0 18px #1479cb20;color:#f5e3a5;font-weight:700;letter-spacing:.035em}
@media(max-width:680px){.analysis-tier{align-items:flex-start;flex-direction:column}.analysis-tier span{text-align:left}.sc-insight-card{grid-template-columns:1fr}.sc-insight-button{width:100%}}
.remote-preview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin:22px 0 4px;padding:22px;border:1px solid #3e668d;border-radius:16px;background:linear-gradient(135deg,#0a2037,#06111f)}
.remote-preview-card h2{margin:5px 0 7px}.remote-preview-card p{margin:0;color:#b8c8d9}.remote-preview-kicker,.remote-code-label{font-size:.68rem;font-weight:800;letter-spacing:.14em;color:#e2c56d}
.remote-preview-actions{display:grid;gap:10px;min-width:190px}.remote-create-button,.remote-join-open-button{width:100%}.remote-room-card{text-align:center}.remote-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:22px;font-size:.72rem;letter-spacing:.1em;color:#b9cadb}.remote-status span{width:9px;height:9px;border-radius:50%;background:#61d99a;box-shadow:0 0 14px #61d99a}.remote-status.offline span{background:#e4ad58;box-shadow:0 0 14px #e4ad58}
.remote-entry-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:22px 0 4px;padding:20px 22px;border:1px solid #3e668d;border-radius:16px;background:linear-gradient(135deg,#0a2037,#06111f)}.remote-entry-card div{display:grid;gap:5px}.remote-entry-card div>strong{font-size:1.05rem}.remote-entry-card div>span:last-child{color:#b8c8d9}
.remote-code-label{display:block;margin:0 0 10px}.remote-code{font:800 clamp(1.65rem,7vw,3rem)/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#f4dda0;overflow-wrap:anywhere}.remote-code-input{width:min(100%,520px);margin:0 auto;text-align:center;text-transform:uppercase;font:800 clamp(1.35rem,6vw,2.35rem)/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#f4dda0}.remote-actions{display:flex;justify-content:center;gap:10px;margin:22px 0}.remote-presence{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid #28445f}.remote-presence strong{font-size:1.5rem;color:#75bdf6}.remote-presence span{color:#b8c8d9}.remote-join-button{width:100%;margin-top:24px}
@media(max-width:680px){.remote-preview-card{grid-template-columns:1fr}.remote-preview-actions{width:100%}.remote-entry-card{align-items:stretch;flex-direction:column}.remote-actions{flex-direction:column}.remote-code,.remote-code-input{letter-spacing:.08em}}
.final-wargame .final-art{background:linear-gradient(145deg,#07182b,#020812);overflow:hidden}
.final-wargame .final-art img{width:100%;height:100%;max-width:none;max-height:430px;object-fit:contain;object-position:center;filter:drop-shadow(0 0 24px rgba(53,132,224,.30))}
@media(max-width:640px){
  .final-wargame .final-art{height:min(74vw,320px);padding:10px 12px 0}
  .final-wargame .final-art img{width:100%;height:100%;max-width:none;object-fit:contain}
}


/* V2.2.5 — iOS plane controls must start every action visually neutral */
@media (hover:none),(pointer:coarse){
  .plane-actions .wargame-plane,
  .plane-actions .wargame-plane:hover,
  .plane-actions .wargame-plane:focus,
  .plane-actions .wargame-plane:focus-visible,
  .plane-actions .wargame-plane:active{
    border-color:rgba(132,174,224,.62)!important;
    filter:none!important;
    outline:none!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.25)!important;
  }
  .plane-actions .plane-upper,
  .plane-actions .plane-upper:hover,
  .plane-actions .plane-upper:focus,
  .plane-actions .plane-upper:focus-visible,
  .plane-actions .plane-upper:active{
    background-color:#071527!important;
    background-image:url('/assets/wargame-plane-air.png')!important;
  }
  .plane-actions .plane-middle,
  .plane-actions .plane-middle:hover,
  .plane-actions .plane-middle:focus,
  .plane-actions .plane-middle:focus-visible,
  .plane-actions .plane-middle:active{
    background-color:#071527!important;
    background-image:url('/assets/wargame-plane-earth-sea.png')!important;
  }
  .plane-actions .plane-lower,
  .plane-actions .plane-lower:hover,
  .plane-actions .plane-lower:focus,
  .plane-actions .plane-lower:focus-visible,
  .plane-actions .plane-lower:active{
    background-color:#071527!important;
    background-image:url('/assets/wargame-plane-submarine.png')!important;
  }
  .plane-actions.plane-state-reset .wargame-plane{pointer-events:none}
}


/* V2.2.6 — fixed luminous plane artwork and safe one-step action rollback */
.plane-actions .wargame-plane,
.plane-actions .wargame-plane:hover,
.plane-actions .wargame-plane:focus,
.plane-actions .wargame-plane:focus-visible,
.plane-actions .wargame-plane:active{
  -webkit-appearance:none!important;appearance:none!important;
  opacity:1!important;filter:brightness(1.08) saturate(1.05)!important;
  border-color:rgba(132,174,224,.68)!important;
  background-color:#071527!important;background-blend-mode:normal!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 8px 24px rgba(0,0,0,.25)!important;
  outline:none!important;transform:none!important;
}
.plane-actions .wargame-plane::before,
.plane-actions .wargame-plane:hover::before,
.plane-actions .wargame-plane:focus::before,
.plane-actions .wargame-plane:focus-visible::before,
.plane-actions .wargame-plane:active::before{
  background:linear-gradient(180deg,rgba(2,9,18,.18),rgba(2,9,18,.60))!important;
}
.plane-actions .plane-upper,
.plane-actions .plane-upper:hover,
.plane-actions .plane-upper:focus,
.plane-actions .plane-upper:focus-visible,
.plane-actions .plane-upper:active{background-image:url('/assets/wargame-plane-air.png')!important}
.plane-actions .plane-middle,
.plane-actions .plane-middle:hover,
.plane-actions .plane-middle:focus,
.plane-actions .plane-middle:focus-visible,
.plane-actions .plane-middle:active{background-image:url('/assets/wargame-plane-earth-sea.png')!important}
.plane-actions .plane-lower,
.plane-actions .plane-lower:hover,
.plane-actions .plane-lower:focus,
.plane-actions .plane-lower:focus-visible,
.plane-actions .plane-lower:active{background-image:url('/assets/wargame-plane-submarine.png')!important}
.paused .plane-actions .wargame-plane{filter:saturate(.35) brightness(.68)!important;opacity:.72!important}
.undo-action-region{margin-top:10px}.undo-action-control{width:100%;min-height:48px;border-color:#385674;background:#091727;color:#dce7f5}
.undo-action-control:not(:disabled){border-color:#4a6e95}.undo-action-control:not(:disabled):hover{border-color:#7ea5d1;background:#0c1c30}
.undo-action-control:disabled{opacity:.42}

/* V3 remote recovery controls */
.compact-room-button{padding:.45rem .8rem;min-height:auto;font-size:.88rem}
.room-paused-access{margin-top:.8rem;display:flex;justify-content:flex-start}
.remote-resume-card{border-color:rgba(247,200,76,.55)}


/* V5 UX polish — tactile capture flow, visible event consolidation and 1v1 command identity */
.capture-side-banner{display:inline-flex;margin:0 0 14px;padding:6px 10px;border:1px solid rgba(238,197,89,.38);border-radius:999px;background:rgba(238,197,89,.08);color:#f1cf73;font-size:.68rem;font-weight:850;letter-spacing:.14em}
.capture-choice-section{margin:18px 0}.capture-choice-section>h3{margin:0 0 9px;color:#d8e4ef;font-size:.78rem;font-weight:750;letter-spacing:.04em}
.capture-plane-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.capture-attacker-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.capture-visual-choice{min-height:118px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;border:1px solid #335779;border-radius:13px;background:linear-gradient(150deg,#0c2036,#071321);color:#edf4fb}
.capture-visual-choice img{width:100%;height:64px;max-width:112px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.42))}
.capture-plane-choice img{height:70px;border-radius:9px;object-fit:cover;opacity:.92}
.capture-visual-choice span{display:grid;gap:2px;text-align:center}.capture-visual-choice strong{font-size:.78rem;line-height:1.15}.capture-visual-choice small{color:#9eb1c5;font-size:.64rem;line-height:1.2}
.capture-visual-choice.selected{border-color:#f0cc68;background:linear-gradient(150deg,#17304e,#0b1a2b);box-shadow:inset 0 0 0 1px rgba(255,224,139,.2),0 0 0 2px rgba(218,177,67,.08)}
.capture-target-section{padding-top:4px;border-top:1px solid #203d59}
.event-review-row{align-items:center;gap:12px}.event-review-row>span:first-child{display:grid;gap:3px}.event-review-row small{color:#94a8bd;font-size:.72rem}.event-locked{margin-left:auto;padding:5px 8px;border:1px solid #40566d;border-radius:999px;color:#93a4b5;font-size:.6rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.visible-dialog-notice{opacity:1!important;filter:none!important}
.result-commander{margin:-2px 0 10px!important;color:#e8d18d!important;font-size:.88rem!important;font-weight:650;letter-spacing:.025em}
.v4-phase-caption{margin:16px 0 8px;color:#93a8bd;font-size:.76rem;line-height:1.45}
@media(max-width:640px){
  .capture-plane-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .capture-attacker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .capture-visual-choice{min-height:108px;padding:8px 5px}
  .capture-plane-choice img{height:58px}.capture-attacker-choice img{height:70px}
  .capture-visual-choice strong{font-size:.72rem}.capture-visual-choice small{font-size:.59rem}
  .event-review-row{align-items:flex-start;flex-direction:column}.event-locked{margin-left:0}
}


/* V5.1 — visual critical events and debriefing hierarchy */
.critical-loss-hero{display:grid;grid-template-columns:138px minmax(0,1fr);align-items:center;gap:16px;margin:0 0 18px;padding:14px;border:1px solid #405f7f;border-radius:16px;background:radial-gradient(circle at 18% 50%,rgba(56,113,174,.24),transparent 44%),linear-gradient(145deg,#0c2036,#071321)}
.critical-loss-hero img{width:138px;height:104px;object-fit:contain;border-radius:12px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))}
.critical-loss-hero span{display:grid;gap:4px}.critical-loss-hero small{color:#e7c75f;font-size:.63rem;font-weight:850;letter-spacing:.12em}.critical-loss-hero strong{font-size:1.08rem}.critical-loss-hero b{color:#9fb2c7;font-size:.72rem;letter-spacing:.08em}
.critical-loss-plane-grid{margin:14px 0}.critical-loss-plane-grid .capture-plane-choice{min-height:120px}.critical-loss-footnote{margin:8px 0 18px;color:#91a5ba;font-size:.72rem;text-align:center}
.analysis-section[hidden]{display:none!important}
@media(max-width:640px){
  .critical-loss-hero{grid-template-columns:104px minmax(0,1fr);gap:11px;padding:11px}.critical-loss-hero img{width:104px;height:86px}
  .critical-loss-plane-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.critical-loss-plane-grid .capture-plane-choice{min-height:105px}
  .critical-loss-hero strong{font-size:.96rem}.critical-loss-hero small{font-size:.57rem}
}

.critical-loss-attacker-section{padding-top:4px;border-top:1px solid #203d59}
.critical-loss-attacker-section h3{display:flex;align-items:baseline;gap:7px}
.optional-mark{color:#8297ad;font-size:.62rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em}
.critical-loss-attacker-grid{margin-top:10px}
.critical-loss-attacker-actions{display:flex;justify-content:center;margin:10px 0 0}
.critical-loss-attacker-actions .secondary{width:auto;min-width:190px;padding:9px 16px;font-size:.72rem}

/* V5.2 — keep plane artwork geometrically stable in every pointer/touch state */
.plane-actions .wargame-plane,
.plane-actions .wargame-plane:hover,
.plane-actions .wargame-plane:focus,
.plane-actions .wargame-plane:focus-visible,
.plane-actions .wargame-plane:active{
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.v5-score-breakdown{margin:0 0 24px;padding:18px 18px 8px;border:1px solid #2f4f70;border-radius:14px;background:rgba(7,21,36,.58)}
.v5-score-breakdown h3{margin-bottom:6px;color:#e4c45d}.v5-score-breakdown p{margin:0 0 8px;color:#aebed0;font-size:.82rem}

/* V5.3 — separate diegetic Wargame reading from real-world context transfer */
.v5-edition-context{border-color:#58779a;background:linear-gradient(145deg,rgba(12,31,51,.95),rgba(8,21,36,.92))}
.v5-edition-context span{color:#e7c75f}
.v5-context-transfer{margin-top:12px}
.v5-context-transfer:before{content:'TRANSFERENCIA';display:block;margin-bottom:10px;color:#7892ad;font-size:.62rem;font-weight:800;letter-spacing:.14em}

/* V5.4 — independent functional audio and optional Wargame soundscape */
.audio-panel{display:grid;gap:12px}
.audio-panel section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #294864;border-radius:12px;background:#08182a}
.audio-panel section div{display:grid;gap:4px}.audio-panel section span{color:#a8b9cc;font-size:.78rem;line-height:1.45}
.audio-panel section button{min-width:118px}.audio-panel section button.selected{border-color:#e3c35c;color:#f7d96f;background:#10243b}
.settings-audio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.settings-audio-grid>div{display:grid;gap:8px;padding:15px;border:1px solid #294864;border-radius:12px;background:#071526}
.settings-audio-grid span{color:#9fb1c5;font-size:.82rem;line-height:1.45}
@media(max-width:640px){.audio-panel section{grid-template-columns:1fr}.audio-panel section button{width:100%}.settings-audio-grid{grid-template-columns:1fr}}

/* V5.5 — checkmate uses the same visual language as captures and critical events */
.mate-target-hero{margin-bottom:14px}
.mate-side-banner{margin-bottom:10px}
.mate-plane-grid,.mate-attacker-grid{margin-top:8px}
.mate-attacker-section{padding-top:4px;border-top:1px solid #203d59}
.mate-confirm:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.55)}


/* V5.7 — cinematic Wargame checkmate result: dynamic units, domain and tactical closure */
.final-checkmate{background:#020914}
.final-checkmate .final-art{padding:0;align-items:stretch;min-height:560px}
.final-checkmate .final-copy{background:linear-gradient(180deg,#07111d 0%,#050c16 100%)}
.mate-final-scene{position:relative;isolation:isolate;width:100%;min-height:560px;overflow:hidden;background:#06111f center/cover no-repeat;background-image:linear-gradient(105deg,rgba(2,8,17,.10) 0%,rgba(2,8,17,.22) 42%,rgba(2,8,17,.86) 78%,rgba(2,8,17,.96) 100%),var(--mate-bg)}
.mate-final-scene:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 25% 18%,rgba(82,143,204,.30),transparent 36%),radial-gradient(circle at 58% 72%,rgba(218,170,77,.16),transparent 30%)}
.mate-final-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(1,7,14,.08) 45%,rgba(1,7,14,.58))}
.mate-final-grid{display:none}
.mate-final-kicker{position:absolute;z-index:5;top:26px;right:28px;margin:0;color:#f1d27b;font-family:Cinzel,Georgia,serif;font-size:clamp(1.8rem,4vw,3.3rem);font-weight:500;letter-spacing:.025em;text-shadow:0 3px 20px rgba(0,0,0,.72)}
.mate-final-kicker:after{content:"";display:block;width:72%;height:1px;margin:13px 0 0 auto;background:linear-gradient(90deg,transparent,#d6b45b)}
.mate-final-piece{position:absolute;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr);justify-items:start;gap:7px;min-width:0;min-height:0;overflow:hidden;text-align:left;text-shadow:0 2px 14px rgba(0,0,0,.92)}
.mate-final-piece span{padding:6px 9px;border:1px solid rgba(223,190,94,.38);border-radius:7px;background:rgba(3,13,24,.68);color:#d9c27d;font-size:.58rem;font-weight:850;letter-spacing:.14em}
.mate-final-piece img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:left center;filter:drop-shadow(0 20px 24px rgba(0,0,0,.70))}
.mate-final-attacker{left:3%;top:8%;width:57%;height:330px}
.mate-final-attacker img{transform:scale(1.08);transform-origin:left center}
.mate-final-target{right:3%;bottom:11%;width:40%;height:190px;justify-items:end;text-align:right}
.mate-final-target img{object-position:right center;opacity:.78;filter:grayscale(.18) brightness(.82) drop-shadow(0 16px 18px rgba(0,0,0,.75))}
.mate-final-versus{display:none}
.mate-final-caption{position:absolute;z-index:6;right:28px;top:118px;width:min(43%,410px);padding:0;background:none;border:0;text-align:right;text-shadow:0 2px 14px rgba(0,0,0,.9)}
.mate-final-caption b{display:block;color:#f0c765;font-family:Cinzel,Georgia,serif;font-size:1.05rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mate-final-caption:after{content:"";display:block;width:74%;height:1px;margin:14px 0 0 auto;background:linear-gradient(90deg,transparent,#d6b45b)}
.mate-domain-upper .mate-final-attacker{top:5%;height:350px}.mate-domain-upper .mate-final-target{bottom:8%;height:180px}
.mate-domain-middle .mate-final-attacker{left:1%;top:17%;width:55%;height:270px}.mate-domain-middle .mate-final-target{right:2%;bottom:8%;width:43%;height:185px}
.mate-final-scene.mate-domain-lower:before{background:radial-gradient(circle at 26% 75%,rgba(24,116,166,.34),transparent 40%),radial-gradient(circle at 65% 18%,rgba(208,176,91,.12),transparent 34%)}
.mate-domain-lower .mate-final-attacker{left:2%;top:35%;width:58%;height:215px}.mate-domain-lower .mate-final-target{right:2%;top:22%;bottom:auto;height:185px}
.mate-tone-encirclement .mate-final-caption b:before{content:"◎ ";}.mate-tone-maneuver .mate-final-caption b:before{content:"↗ ";}.mate-tone-control .mate-final-caption b:before{content:"◇ ";}.mate-tone-pressure .mate-final-caption b:before{content:"— ";}.mate-tone-dominance .mate-final-caption b:before{content:"◆ ";}.mate-tone-command .mate-final-caption b:before{content:"♔ ";}
@media(max-width:640px){
  .final-checkmate .final-art{height:330px;min-height:330px;padding:0}
  .final-checkmate .final-copy{padding:24px 20px}
  .final-checkmate .result-title{font-size:clamp(2rem,10vw,2.8rem);overflow-wrap:normal}
  .mate-final-scene{min-height:330px;background-image:linear-gradient(180deg,rgba(2,8,17,.08),rgba(2,8,17,.32) 54%,rgba(2,8,17,.90)),var(--mate-bg)}
  .mate-final-kicker{top:13px;right:13px;font-size:1.58rem}.mate-final-kicker:after{margin-top:7px}
  .mate-final-caption{top:62px;right:13px;width:55%}.mate-final-caption b{font-size:.69rem;letter-spacing:.075em}
  .mate-final-caption:after{width:66%;margin-top:9px}
  .mate-final-attacker{left:0;top:23%;width:67%;height:190px}.mate-final-target{right:0;bottom:5%;width:43%;height:106px}
  .mate-final-piece{gap:4px}.mate-final-piece span{max-width:100%;font-size:.42rem;line-height:1.25;padding:4px 6px;letter-spacing:.11em}
  .mate-domain-upper .mate-final-attacker{top:22%;height:188px}.mate-domain-upper .mate-final-target{bottom:5%;height:102px}
  .mate-domain-middle .mate-final-attacker{top:28%;height:165px}.mate-domain-middle .mate-final-target{bottom:4%;height:104px}
  .mate-domain-lower .mate-final-attacker{top:45%;height:116px}.mate-domain-lower .mate-final-target{top:29%;bottom:auto;height:104px}
}

.mate-analysis-note{margin:0 0 16px;padding:16px 18px;border:1px solid rgba(224,190,91,.42);border-radius:13px;background:linear-gradient(145deg,rgba(29,37,43,.86),rgba(7,21,36,.92))}
.mate-analysis-note span{display:block;margin-bottom:7px;color:#e8c866;font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.mate-analysis-note h3{margin:0 0 6px;color:#f6dd9b;font-family:Cinzel,Georgia,serif}.mate-analysis-note p{margin:0;color:#d8e1eb;font-size:.88rem}


/* V5.8 — room audio policy and canonical shared event verification */
.room-audio-mode{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:15px!important;border:1px solid #345575!important;border-radius:13px!important;background:linear-gradient(145deg,#081a2d,#071321)!important}
.room-audio-mode>div:first-child{display:grid;gap:5px}.room-audio-mode strong{color:#f0d376}.room-audio-mode span,.room-audio-mode small{color:#aabbd0;font-size:.78rem;line-height:1.45}
.room-audio-mode-options{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.room-audio-mode-options button{min-width:0!important;width:100%;padding:10px 8px;font-size:.72rem;letter-spacing:.04em}
.room-audio-mode-options button.selected{border-color:#e3c35c;color:#f7d96f;background:#10243b}

.remote-action-verification{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:22px;background:rgba(2,8,16,.68);backdrop-filter:blur(5px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.remote-action-verification.show{opacity:1}
.remote-verification-card{width:min(760px,94vw);padding:22px;border:1px solid rgba(221,188,92,.52);border-radius:18px;background:linear-gradient(145deg,rgba(7,23,39,.98),rgba(4,12,22,.98));box-shadow:0 28px 80px rgba(0,0,0,.58)}
.remote-verification-card.critical{border-color:rgba(237,192,72,.76);box-shadow:0 30px 90px rgba(0,0,0,.66),0 0 44px rgba(212,161,50,.12)}
.remote-verification-kicker{margin:0 0 7px;color:#9db0c3;font-size:.63rem;font-weight:850;letter-spacing:.16em;text-align:center}
.remote-verification-card h2{margin:0 0 18px;color:#f4d678;font-family:Cinzel,Georgia,serif;text-align:center;letter-spacing:.04em}
.remote-verification-flow{display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);gap:14px;align-items:center}
.remote-verification-unit{display:grid;grid-template-rows:132px auto auto;gap:6px;min-width:0;padding:12px;border:1px solid #315270;border-radius:14px;background:#08182a;text-align:center}
.remote-verification-unit img{width:100%;height:132px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.52))}
.remote-verification-unit strong{color:#e9eef5;font-size:.88rem;line-height:1.2}.remote-verification-unit small{color:#91a5ba;font-size:.68rem;font-weight:800;letter-spacing:.09em}
.remote-verification-unit.white{box-shadow:inset 0 0 0 1px rgba(229,233,240,.06)}.remote-verification-unit.black{box-shadow:inset 0 0 0 1px rgba(216,174,82,.05)}
.remote-tactical-vector{position:relative;display:grid;place-items:center;height:70px}
.remote-tactical-vector span{position:absolute;left:4px;right:15px;top:34px;height:2px;background:linear-gradient(90deg,#587999,#e0bd5d)}
.remote-tactical-vector span:after{content:"";position:absolute;right:-4px;top:-5px;width:10px;height:10px;border-top:2px solid #e0bd5d;border-right:2px solid #e0bd5d;transform:rotate(45deg)}
.remote-tactical-vector i{position:absolute;right:7px;top:26px;width:18px;height:18px;border:1px solid rgba(224,189,93,.7);border-radius:50%}
.remote-tactical-vector b{position:relative;z-index:1;padding:4px 7px;background:#071524;color:#e0c268;font-size:.56rem;letter-spacing:.12em}
.remote-verification-note{margin:16px 0 0;color:#a9bacd;font-size:.75rem;text-align:center}
@media(max-width:640px){
  .room-audio-mode-options{grid-template-columns:1fr!important}
  .remote-action-verification{padding:12px}
  .remote-verification-card{padding:16px 12px}
  .remote-verification-flow{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:7px}
  .remote-verification-unit{grid-template-rows:92px auto auto;padding:8px}.remote-verification-unit img{height:92px}
  .remote-verification-unit strong{font-size:.72rem}.remote-verification-unit small{font-size:.56rem}
  .remote-tactical-vector span{left:0;right:8px}.remote-tactical-vector b{font-size:.45rem;padding:3px 4px}
}


/* V5.9 — resilient room recovery + cinematic strategic-loss verification */
.remote-recovery-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.remote-forget-button{white-space:nowrap}
.remote-verification-card.critical{position:relative;overflow:hidden;isolation:isolate;min-height:440px;padding:26px 24px;background:
  linear-gradient(145deg,rgba(3,13,24,.62),rgba(2,8,16,.92)),
  var(--critical-bg) center/cover no-repeat}
.remote-verification-card.critical:before{content:"";position:absolute;inset:0;z-index:-1;background:
  radial-gradient(circle at 24% 18%,rgba(84,151,214,.24),transparent 32%),
  radial-gradient(circle at 78% 70%,rgba(231,179,60,.16),transparent 30%),
  linear-gradient(180deg,rgba(1,7,14,.10),rgba(1,7,14,.78))}
.remote-verification-card.critical-lower:before{background:
  radial-gradient(circle at 25% 76%,rgba(20,130,180,.34),transparent 38%),
  radial-gradient(circle at 78% 20%,rgba(55,116,162,.18),transparent 34%),
  linear-gradient(180deg,rgba(1,9,18,.20),rgba(1,7,14,.84))}
.remote-verification-card.critical .remote-verification-kicker{position:relative;z-index:3;margin-top:6px;color:#f0d98d}
.remote-verification-card.critical h2{position:relative;z-index:3;margin-bottom:22px;font-size:clamp(2rem,5vw,3.35rem);text-shadow:0 5px 26px rgba(0,0,0,.9)}
.remote-verification-card.critical .remote-verification-flow{position:relative;z-index:3}
.remote-verification-card.critical .remote-verification-unit{background:rgba(5,19,33,.78);backdrop-filter:blur(4px);border-color:rgba(214,185,96,.34)}
.remote-verification-card.critical .remote-verification-unit img{height:150px;transform:scale(1.08);filter:drop-shadow(0 18px 20px rgba(0,0,0,.68))}
.remote-verification-card.critical .remote-verification-unit.target img{transform:scale(1.14);filter:drop-shadow(0 20px 25px rgba(0,0,0,.82)) brightness(.88)}
.remote-verification-card.critical .remote-tactical-vector span{height:3px;background:linear-gradient(90deg,rgba(91,154,210,.65),#efc95e)}
.remote-verification-card.critical .remote-tactical-vector i{width:28px;height:28px;right:2px;top:21px;border-width:2px;box-shadow:0 0 18px rgba(228,191,83,.38)}
.remote-verification-card.critical .remote-verification-note{position:relative;z-index:3;margin-top:20px;color:#f1d987;font-size:.73rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.remote-critical-badge{position:absolute;z-index:4;top:15px;right:16px;padding:7px 10px;border:1px solid rgba(229,194,92,.5);border-radius:999px;background:rgba(5,16,28,.72);color:#ecd176;font-size:.56rem;font-weight:900;letter-spacing:.14em}
.remote-critical-scan{position:absolute;inset:-30% 0 auto 0;height:36%;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(100,189,240,.09),transparent);animation:criticalScan 2.4s ease-in-out 1}
.remote-verification-card.critical-lower .remote-critical-scan{background:linear-gradient(180deg,transparent,rgba(42,167,213,.12),transparent)}
@keyframes criticalScan{0%{transform:translateY(-120%);opacity:0}20%{opacity:1}100%{transform:translateY(430%);opacity:0}}
.remote-action-verification.show .remote-verification-card.critical{animation:criticalReveal .42s cubic-bezier(.2,.75,.25,1)}
@keyframes criticalReveal{0%{transform:scale(.965);filter:brightness(.72)}55%{transform:scale(1.012);filter:brightness(1.12)}100%{transform:scale(1);filter:brightness(1)}}
@media(max-width:640px){
  .remote-recovery-actions{grid-template-columns:1fr}
  .remote-verification-card.critical{min-height:390px;padding:18px 12px}
  .remote-verification-card.critical h2{font-size:clamp(1.75rem,8vw,2.35rem);margin-top:18px}
  .remote-verification-card.critical .remote-verification-unit img{height:104px}
  .remote-critical-badge{top:10px;right:10px;font-size:.48rem;padding:5px 7px}
}


/* V5.10 — tablet gameplay: landscape-first control surface */
.tablet-landscape-hint{display:none}
@media (min-width:700px) and (max-width:1180px) and (orientation:portrait){
  .focus-mode .tablet-landscape-hint{
    display:block;margin:2px 0 12px;padding:9px 12px;border:1px solid rgba(113,154,201,.32);
    border-radius:10px;background:rgba(7,23,39,.72);color:#b8c8da;font-size:.76rem;text-align:center
  }
}
@media (min-width:768px) and (max-width:1366px) and (orientation:landscape){
  .focus-mode .app-shell{max-width:1180px;padding-left:22px;padding-right:22px}
  .focus-mode .brand-header{padding-bottom:7px}
  .focus-mode .brand-lockup .official-logo{max-width:430px;max-height:55px}
  .focus-mode #game-root{
    display:grid;
    grid-template-columns:minmax(0,1.62fr) minmax(280px,.72fr);
    grid-template-rows:auto auto auto auto auto 1fr;
    column-gap:18px;row-gap:12px;align-items:start
  }
  .focus-mode #game-root>.tablet-landscape-hint{display:none}
  .focus-mode #game-meta{grid-column:1/-1;grid-row:1;margin-bottom:0}
  .focus-mode #communications-region{grid-column:1/-1;grid-row:2}
  .focus-mode #communications-region .communications{margin:0}
  .focus-mode #game-card{grid-column:1;grid-row:3/7;margin-top:0;padding:20px 22px;min-height:0}
  .focus-mode #game-root>.match-controls{grid-column:2;grid-row:3;margin:0}
  .focus-mode #tiebreak-region{grid-column:2;grid-row:4}
  .focus-mode #board-state{grid-column:2;grid-row:5;margin:0;grid-template-columns:1fr;gap:10px}
  .focus-mode #game-secondary{grid-column:2;grid-row:6;align-self:start}
  .focus-mode .active-player.multiplayer{min-height:50px;margin:10px 0 8px}
  .focus-mode .active-player.multiplayer .active-name{font-size:clamp(1.55rem,3vw,2.15rem)}
  .focus-mode .action-progress{margin-bottom:12px}
  .focus-mode .clock-grid{margin:12px 0 6px;gap:10px}
  .focus-mode .clock-grid>div{padding:10px 5px}
  .focus-mode .clock{font-size:clamp(2rem,4.2vw,3rem);line-height:1.2}
  .focus-mode .action-instruction{margin:14px 0 10px}
  .focus-mode .plane-actions{gap:9px}
  .focus-mode .plane-actions .wargame-plane{min-height:104px}
  .focus-mode .capture-control{margin-top:9px;padding-top:9px}
  .focus-mode .loss-controls{margin-top:8px;min-height:58px}
  .focus-mode .loss-control{min-height:58px}
  .focus-mode .match-controls{padding:15px;border:1px solid #29415e;border-radius:16px;background:rgba(6,17,31,.7)}
  .focus-mode .match-control-title{margin-bottom:9px}
  .focus-mode .play-controls.compact{margin:0;grid-template-columns:1fr 1fr}
  .focus-mode .play-controls.compact button{min-height:48px}
  .focus-mode .board-state section{padding-top:10px}
  .focus-mode .board-state h2{margin-bottom:8px}
  .focus-mode .room-paused-access,.focus-mode .undo-action-region{margin-top:9px}
  .focus-mode footer{display:none}
  dialog{max-width:min(780px,calc(100vw - 36px))}
  .capture-piece-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (min-width:1024px) and (max-width:1366px) and (orientation:landscape){
  .focus-mode #game-root{grid-template-columns:minmax(0,1.75fr) minmax(310px,.75fr)}
  .focus-mode .plane-actions .wargame-plane{min-height:112px}
}


/* V5.11 — operating polish: analysis dashboard + iPad control density */
@media (min-width:900px){
  .analysis-overview{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:641px) and (max-width:899px){
  .analysis-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.analysis-overview .analysis-domain-summary{border-color:rgba(120,178,255,.34);background:linear-gradient(145deg,#0b2037,#071523)}
.analysis-domain-summary p{font-variant-numeric:tabular-nums}

@media (min-width:768px) and (max-width:1366px) and (orientation:landscape){
  .focus-mode #game-root{min-height:calc(100dvh - 118px)}
  .focus-mode #game-card{align-self:start}
  .focus-mode #game-root>.match-controls{
    position:sticky;top:max(8px,env(safe-area-inset-top));z-index:3;
    backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)
  }
  .focus-mode #board-state{
    align-self:start;max-height:31vh;overflow:auto;padding-right:2px;
    scrollbar-width:thin
  }
  .focus-mode #game-secondary{max-height:23vh;overflow:auto;padding-right:2px}
  .focus-mode .game-card-top{min-height:24px}
  .focus-mode .active-player{margin:10px 0 8px}
  .focus-mode .action-progress{margin-bottom:10px}
  .focus-mode .clock-grid{margin:8px 0 5px}
  .focus-mode .action-instruction{margin:10px 0 8px}
  .focus-mode .action-group-label{margin:8px 0 7px}
  .focus-mode .plane-actions .wargame-plane{min-height:96px}
  .focus-mode #mate-control-region button{min-height:45px}
  .focus-mode .capture-control,.focus-mode .loss-controls{margin-top:7px}
}
@media (min-width:1024px) and (max-width:1366px) and (orientation:landscape) and (max-height:900px){
  .focus-mode .brand-header{padding-top:4px;padding-bottom:4px}
  .focus-mode .brand-lockup .official-logo{max-height:46px}
  .focus-mode #game-root{row-gap:8px;column-gap:16px}
  .focus-mode #game-card{padding:15px 18px}
  .focus-mode .plane-actions .wargame-plane{min-height:88px}
  .focus-mode .clock{font-size:clamp(1.9rem,3.6vw,2.55rem)}
  .focus-mode .clock-grid>div{padding:7px 5px}
  .focus-mode .communications{padding:9px 12px}
}
.final-actions{grid-template-columns:1fr 1fr}
.final-actions .text-button{grid-column:1/-1}
@media(max-width:640px){.final-actions{grid-template-columns:1fr}}

.analysis-trace{
  display:block;margin-top:9px;font-size:.68rem;line-height:1.25;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(214,228,245,.68)
}
.analysis-overview>div{display:flex;flex-direction:column}
.analysis-overview>div .analysis-trace{margin-top:auto;padding-top:10px}


/* V5.12 — phone gameplay density: keep the live instrument and event flows inside the viewport */
@media(max-width:640px){
  .focus-mode .app-shell{padding-top:calc(10px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));padding-bottom:calc(14px + env(safe-area-inset-bottom))}
  .focus-mode .brand-header{padding:0 0 6px}.focus-mode .brand-lockup .official-logo{max-height:38px;max-width:min(300px,70vw)}.focus-mode .product-name,.focus-mode .tagline{display:none}
  .focus-mode #game-root{display:grid;gap:7px}.focus-mode #game-meta{margin-bottom:0}.focus-mode #communications-region .communications{margin:0;padding:8px 10px}
  .focus-mode #game-card{margin-top:0;padding:10px 9px 11px;border-radius:15px}
  .focus-mode .game-card-top{font-size:.72rem}.focus-mode .active-player.multiplayer{min-height:40px;margin:5px 0 4px;gap:1px}.focus-mode .active-player.multiplayer .active-role{font-size:.58rem}.focus-mode .active-player.multiplayer .active-name{font-size:1.35rem}
  .focus-mode .action-progress{margin-bottom:6px}.focus-mode .clock-grid{gap:6px;margin:6px 0 3px}.focus-mode .clock-grid>div{padding:6px 3px;border-radius:10px}.focus-mode .clock{font-size:1.85rem;line-height:1.15}.focus-mode .clock-label{font-size:.64rem}.focus-mode .clock-detail{margin-top:4px;font-size:.68rem}
  .focus-mode .action-instruction{margin:7px 0 6px;font-size:.72rem}.focus-mode .action-group-label{margin:7px 0 5px;font-size:.58rem}
  .focus-mode .plane-actions{gap:5px}.focus-mode .plane-actions .wargame-plane{min-height:72px;padding:6px 3px;border-radius:10px}.focus-mode .plane-actions .wargame-plane strong{font-size:.69rem}.focus-mode .plane-actions .wargame-plane>span{font-size:.55rem;margin-top:2px}.focus-mode .plane-actions .wargame-plane small{font-size:.49rem;margin-top:3px}
  .focus-mode .capture-control{margin-top:6px;padding:7px;border-radius:11px}.focus-mode .capture-open{min-height:52px}.focus-mode .capture-open-title{font-size:.78rem}.focus-mode .capture-open-subtitle{font-size:.58rem}.focus-mode .capture-control>span{display:none}
  .focus-mode .loss-controls{margin-top:6px;min-height:0;gap:5px}.focus-mode .loss-control{min-height:48px;padding:4px 5px}.focus-mode .loss-icon{width:32px;height:34px}.focus-mode .critical-action{min-height:48px;margin-top:6px}
  .focus-mode #game-root>.match-controls{margin:0;padding:8px 9px;border-radius:12px}.focus-mode .match-control-title{margin-bottom:5px}.focus-mode .play-controls.compact{gap:5px}.focus-mode .play-controls.compact button{min-height:42px;padding:7px 4px;font-size:.7rem}
  .focus-mode #board-state{margin:4px 0 0;gap:7px}.focus-mode .board-state section{padding-top:7px}.focus-mode .board-state h2{margin-bottom:5px;font-size:.78rem}.focus-mode .plane-status span{font-size:.6rem;padding:2px 4px}.focus-mode .points{margin:5px 0;font-size:.68rem}
  .focus-mode footer{display:none}
  dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 12px)}
  .dialog-inner{padding:14px 12px calc(12px + env(safe-area-inset-bottom))}.dialog-inner h2{font-size:1.08rem;margin-bottom:9px}.dialog-inner p{font-size:.82rem;margin-bottom:.7em}
  .dialog-actions{position:sticky;bottom:calc(-12px - env(safe-area-inset-bottom));z-index:4;margin:12px -12px 0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(8,21,37,.86),#081525 28%);border-top:1px solid #29415e}
  .dialog-actions button{min-height:42px;padding:7px 8px;font-size:.76rem}
  .capture-selectors{gap:7px}.capture-piece-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.capture-piece{min-height:104px;padding:6px 3px}.capture-piece img{height:52px;max-width:68px;margin-bottom:4px}.capture-piece strong{font-size:.66rem}.capture-piece span{font-size:.54rem;margin-top:2px}
  .event-choices{gap:6px;margin:10px 0}.event-choice{padding:9px 10px;min-height:44px}.event-choice span{font-size:.72rem}
}


/* Audio V6.1 — internal listening bench */
.audio-lab-notice{margin:0 0 20px;padding:14px 16px;border:1px solid rgba(120,178,255,.28);border-radius:14px;background:rgba(8,25,43,.72);line-height:1.45}
.audio-lab-group{margin:24px 0}.audio-lab-group h2{margin:0 0 10px;font-size:.76rem;letter-spacing:.14em;color:rgba(214,228,245,.72)}
.audio-lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.audio-lab-card{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:2px 7px;min-height:82px;padding:11px 12px;text-align:left;border:1px solid #29415e;border-radius:13px;background:linear-gradient(145deg,#0b2037,#071523);color:inherit}
.audio-lab-card>span{grid-row:1/3;align-self:center;font-size:.95rem}.audio-lab-card strong{font-size:.82rem}.audio-lab-card small{font-size:.66rem;line-height:1.3;color:rgba(214,228,245,.66)}
.audio-lab-card:active{transform:scale(.985);border-color:rgba(120,178,255,.68)}
.audio-lab-actions{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 10px}.audio-lab-footnote{font-size:.72rem;color:rgba(214,228,245,.58);line-height:1.45}
@media(max-width:760px){.audio-lab-grid{grid-template-columns:1fr}.audio-lab-card{min-height:70px}.audio-lab-actions{display:grid;grid-template-columns:1fr}}

/* V5.14 — large two-step capture console */
.capture-step-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:3px 0 8px;padding:8px 11px;border:1px solid #29415e;border-radius:10px;background:#07192b}
.capture-step-head strong{color:#f0cf6a;font-size:.80rem;letter-spacing:.105em}.capture-step-head span{color:#9fb2c8;font-size:.74rem;text-align:right}
.capture-wizard .capture-choice-section{margin:7px 0}.capture-wizard .capture-choice-section h3{margin:0 0 6px;font-size:.82rem}
.capture-wizard .capture-plane-grid{gap:10px}
.capture-plane-grid-1{grid-template-columns:minmax(0,290px)!important}
.capture-plane-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.capture-plane-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.capture-wizard .capture-plane-choice{min-height:132px;padding:7px 7px 9px}
.capture-wizard .capture-plane-choice img{width:100%;height:86px;max-width:none;object-fit:cover;border-radius:9px}
.capture-wizard .capture-plane-choice strong{font-size:.90rem;line-height:1.05}
.capture-wizard .capture-plane-choice small{font-size:.72rem;line-height:1.05}
.capture-wizard-unit-grid{gap:8px}
.capture-wizard .capture-piece,.capture-wizard .capture-attacker-choice{min-height:132px;padding:8px 6px}
.capture-wizard .capture-piece img,.capture-wizard .capture-attacker-choice img{height:82px;max-width:104px;object-fit:contain}
.capture-wizard .capture-attacker-choice strong,.capture-wizard .capture-piece strong{font-size:.86rem;line-height:1.08}
.capture-wizard .capture-attacker-choice small,.capture-wizard .capture-piece span{font-size:.72rem;line-height:1.1}
.capture-wizard img[src*="-black.webp"]{transform:scale(1.06)}
.capture-wizard img[src*="middle-pawn-black.webp"]{transform:scale(1.10)}
.capture-relation.compact{margin:7px 0;padding:7px 9px;font-size:.70rem}
@media(max-width:640px){
  dialog:has(.capture-wizard){height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);width:calc(100vw - 8px);max-width:none;margin:auto}
  dialog:has(.capture-wizard) .dialog-inner{height:100%;display:flex;flex-direction:column;overflow-y:auto;padding:calc(8px + env(safe-area-inset-top)) 8px calc(7px + env(safe-area-inset-bottom))}
  dialog:has(.capture-wizard) .dialog-inner>h2{margin:0 0 3px;font-size:1rem}
  .capture-wizard{display:flex;flex-direction:column;min-height:0;flex:1}
  .capture-wizard .capture-side-banner{margin:1px 0 4px;font-size:.64rem}
  .capture-step-head{margin:2px 0 5px;padding:6px 8px}
  .capture-step-head strong{font-size:.78rem}.capture-step-head span{font-size:.69rem}
  .capture-wizard .capture-choice-section{margin:5px 0}
  .capture-wizard .capture-choice-section h3{margin-bottom:4px;font-size:.84rem}
  .capture-wizard .capture-plane-grid{gap:6px}
  .capture-plane-grid-1{grid-template-columns:minmax(0,260px)!important}
  .capture-plane-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .capture-plane-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .capture-wizard .capture-plane-choice{min-height:108px;padding:5px 4px 7px}
  .capture-wizard .capture-plane-choice img{width:100%;height:68px;max-width:none;object-fit:cover;border-radius:8px}
  .capture-wizard .capture-plane-choice strong{font-size:.80rem}.capture-wizard .capture-plane-choice small{font-size:.64rem}
  .capture-wizard .capture-wizard-unit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .capture-wizard .capture-attacker-choice,.capture-wizard .capture-piece{min-height:116px;padding:5px 3px}
  .capture-wizard .capture-attacker-choice img,.capture-wizard .capture-piece img{height:74px;max-width:90px;margin:0 auto 3px}
  .capture-wizard .capture-attacker-choice strong,.capture-wizard .capture-piece strong{font-size:.79rem;line-height:1.06}
  .capture-wizard .capture-attacker-choice small,.capture-wizard .capture-piece span{font-size:.69rem;line-height:1.08}
  .capture-wizard-actions{margin-top:auto!important;position:static!important}
}
@media(max-width:380px){
  .capture-wizard .capture-plane-choice{min-height:100px}.capture-wizard .capture-plane-choice img{height:62px}
  .capture-wizard .capture-attacker-choice,.capture-wizard .capture-piece{min-height:110px}
  .capture-wizard .capture-attacker-choice img,.capture-wizard .capture-piece img{height:68px}
}


/* V6.6 — unified capture language: full-bleed domains, tactical reticles and physical fluorescent cues */
.capture-wizard .capture-plane-choice{
  position:relative;isolation:isolate;overflow:hidden;padding:0!important;justify-content:flex-end;
  border-color:rgba(120,174,226,.52);background:#071523;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.24)
}
.capture-wizard .capture-plane-choice img{
  position:absolute;inset:0;z-index:0;width:100%!important;height:100%!important;max-width:none!important;
  margin:0!important;padding:0!important;border-radius:inherit!important;object-fit:cover!important;opacity:1!important;
  filter:saturate(.96) contrast(1.04) brightness(.84)!important;transform:none!important
}
.capture-wizard .capture-plane-choice:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(2,9,17,.02) 24%,rgba(2,10,19,.20) 52%,rgba(2,10,19,.88) 100%)
}
.capture-wizard .capture-plane-choice:before{
  content:"";position:absolute;z-index:2;left:50%;top:44%;width:70px;height:70px;transform:translate(-50%,-50%);
  border:1px solid transparent;border-radius:50%;opacity:0;pointer-events:none;
  background:
    linear-gradient(90deg,transparent 49.3%,rgba(242,207,106,.72) 49.4% 50.6%,transparent 50.7%),
    linear-gradient(0deg,transparent 49.3%,rgba(242,207,106,.72) 49.4% 50.6%,transparent 50.7%);
  box-shadow:0 0 0 18px rgba(236,197,87,.00),0 0 28px rgba(236,197,87,.10);
  transition:opacity .18s ease
}
.capture-wizard .capture-plane-choice span{
  position:relative;z-index:3;width:100%;padding:10px 8px 9px;
  text-shadow:0 2px 8px rgba(0,0,0,.95)
}
.capture-wizard .capture-plane-choice strong{color:#f5f8fb}
.capture-wizard .capture-plane-choice small{color:#c1cfdd}
.capture-wizard .capture-plane-choice.selected{
  border-color:#f1cc63;box-shadow:inset 0 0 0 2px rgba(248,211,103,.30),0 0 0 2px rgba(231,190,74,.16),0 8px 28px rgba(0,0,0,.30)
}
.capture-wizard .capture-plane-choice.selected:before{opacity:.86}

.capture-open{
  position:relative;overflow:hidden;border-color:#b89139!important;
  background:
    radial-gradient(circle at 50% 52%,transparent 0 22%,rgba(82,155,218,.22) 22.5% 23.2%,transparent 23.7% 39%,rgba(82,155,218,.12) 39.5% 40.2%,transparent 40.8%),
    linear-gradient(90deg,transparent 49.75%,rgba(105,173,226,.17) 49.8% 50.2%,transparent 50.25%),
    linear-gradient(0deg,transparent 49.75%,rgba(105,173,226,.15) 49.8% 50.2%,transparent 50.25%),
    linear-gradient(145deg,rgba(7,23,39,.70),rgba(4,15,28,.88) 58%,rgba(3,10,19,.94)),
    url('/assets/wargame-v2-1.jpg') center 46%/cover no-repeat!important;
  box-shadow:inset 0 0 34px rgba(54,132,199,.18),0 8px 24px rgba(0,0,0,.28)!important
}
.capture-open:after{
  content:"";position:absolute;inset:7px;border:1px solid rgba(115,188,236,.14);border-radius:10px;pointer-events:none
}
.capture-open-title{letter-spacing:.13em}.capture-open-subtitle{opacity:.86}

.capture-piece,.mate-attacker-choice,.mate-target-hero{position:relative;overflow:hidden}
.capture-piece.critical-target{
  border-color:#d9e663;
  background:radial-gradient(circle at 50% 28%,rgba(217,230,99,.10),transparent 42%),linear-gradient(150deg,#0d2238,#071321);
  box-shadow:inset 0 0 0 1px rgba(225,239,99,.18),0 0 22px rgba(210,228,70,.10)
}
.capture-piece.critical-target strong{color:#eef59a}
.capture-piece.critical-target:after{
  content:"";position:absolute;left:50%;top:31%;width:58px;height:58px;transform:translate(-50%,-50%);
  border:1px solid rgba(210,231,93,.72);border-radius:50%;pointer-events:none;opacity:.78;
  background:
    linear-gradient(90deg,transparent 48.8%,rgba(224,239,110,.58) 49% 51%,transparent 51.2%),
    linear-gradient(0deg,transparent 48.8%,rgba(224,239,110,.58) 49% 51%,transparent 51.2%)
}
.capture-piece.critical-target.selected{border-color:#f1fa76;box-shadow:inset 0 0 0 2px rgba(238,250,118,.34),0 0 28px rgba(218,235,65,.18)}

.interplane-fluorescent:before{
  content:"";position:absolute;z-index:4;left:22%;right:22%;top:78px;height:5px;border-radius:999px;pointer-events:none;
  background:#ff851b;box-shadow:0 0 8px rgba(255,126,20,.95),0 0 18px rgba(255,110,0,.42)
}
.command-fluorescent:after{
  content:"";position:absolute;z-index:4;left:14px;right:14px;bottom:10px;height:6px;border-radius:999px;pointer-events:none;
  background:#eaff3f;box-shadow:0 0 9px rgba(234,255,63,.95),0 0 22px rgba(214,238,40,.46)
}
.command-fluorescent{border-color:rgba(228,241,83,.62)!important;box-shadow:inset 0 0 0 1px rgba(234,255,63,.11),0 0 22px rgba(213,238,48,.08)}

.mate-open{
  position:relative;isolation:isolate;overflow:hidden;display:grid!important;gap:4px;align-items:center;justify-items:center;
  border-color:#c9ce4e!important;color:#f8efbf!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(222,236,65,.12),transparent 28%),
    linear-gradient(90deg,transparent 49.7%,rgba(232,239,91,.12) 49.8% 50.2%,transparent 50.3%),
    linear-gradient(135deg,rgba(31,34,10,.76),rgba(11,16,15,.88) 56%,rgba(4,10,16,.95)),
    url('/assets/wargame-final-v224.png') center 54%/cover no-repeat!important;
  box-shadow:inset 0 0 0 1px rgba(236,242,91,.12),inset 0 0 34px rgba(211,222,57,.08),0 0 22px rgba(209,222,60,.08)!important
}
.mate-open:before{
  content:"";position:absolute;left:50%;top:50%;width:82px;height:82px;transform:translate(-50%,-50%);border:1px solid rgba(231,239,95,.20);border-radius:50%;pointer-events:none;box-shadow:0 0 0 17px rgba(228,238,82,.035)
}
.mate-open>span{position:relative;z-index:1;text-shadow:0 2px 9px rgba(0,0,0,.94)}
.mate-open-title{font-weight:850;letter-spacing:.12em}
.mate-open-subtitle{font-size:.68rem;font-weight:550;letter-spacing:.035em;color:#c9cda5}
.mate-open:hover{border-color:#edf56c!important;filter:brightness(1.06)}

@media(max-width:640px){
  .capture-wizard .capture-plane-choice span{padding:8px 6px 7px}
  .capture-wizard .capture-plane-choice:before{width:54px;height:54px;top:42%}
  .capture-piece.critical-target:after{top:29%;width:48px;height:48px}
  .interplane-fluorescent:before{left:25%;right:25%;top:69px;height:4px}
  .command-fluorescent:after{left:10px;right:10px;bottom:7px;height:5px}
  .mate-open-subtitle{font-size:.64rem}
}


/* V6.10 — capture hierarchy cleanup + physical fluorescent bases */
.capture-control{
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.capture-control>span{display:none!important}
.capture-open{
  min-height:92px!important;
  border-radius:16px!important;
  border:1px solid #cda943!important;
  box-shadow:inset 0 0 36px rgba(45,119,180,.18),0 8px 24px rgba(0,0,0,.28)!important;
}
.capture-open:after{display:none!important}
.capture-open:before{left:2%!important;right:2%!important;top:28%!important;height:44%!important}
.capture-attacker-choice,.capture-piece{
  position:relative!important;
  overflow:hidden!important;
}
.interplane-fluorescent:before{
  left:22%!important;
  right:22%!important;
  top:auto!important;
  bottom:39px!important;
  height:5px!important;
}
@media(max-width:640px){
  .capture-open{min-height:90px!important}
  .interplane-fluorescent:before{
    left:24%!important;
    right:24%!important;
    top:auto!important;
    bottom:35px!important;
    height:4px!important;
  }
}


/* V6.10.1 — anchor the physical orange base to the unit artwork itself */
.capture-unit-art{
  position:relative!important;display:block!important;width:100%;height:82px;min-height:82px;margin:0 auto 3px!important;
  line-height:0!important;text-align:center!important
}
.capture-unit-art img{
  width:100%!important;height:100%!important;max-width:104px!important;margin:0 auto!important;object-fit:contain!important
}
.capture-unit-copy{display:grid!important;gap:2px!important;text-align:center!important}
.interplane-fluorescent:before{display:none!important}
.interplane-fluorescent .capture-unit-art:after{
  content:"";position:absolute;z-index:5;left:22%;right:22%;bottom:3px;height:5px;border-radius:999px;pointer-events:none;
  background:#ff851b;box-shadow:0 0 8px rgba(255,126,20,.95),0 0 18px rgba(255,110,0,.42)
}
@media(max-width:640px){
  .capture-unit-art{height:74px;min-height:74px}
  .capture-unit-art img{height:74px!important;max-width:90px!important}
  .interplane-fluorescent .capture-unit-art:after{left:24%;right:24%;bottom:2px;height:4px}
}
@media(max-width:380px){
  .capture-unit-art{height:68px;min-height:68px}
  .capture-unit-art img{height:68px!important}
}


/* V6.11 — physical-base language, route markers and restrained capture scoring */
.interplane-fluorescent .capture-unit-art:after{display:none!important}

.capture-unit-copy{
  width:100%;display:grid!important;grid-auto-flow:row;gap:3px!important;
  align-items:center;justify-items:center;text-align:center!important
}
.unit-physical-base{
  display:block;width:56%;height:5px;margin:4px auto 0;border-radius:999px;
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease
}
.unit-physical-base.base-white{
  background:#f1f4f7;
  box-shadow:0 0 0 1px rgba(255,255,255,.38),0 1px 7px rgba(225,236,246,.22)
}
.unit-physical-base.base-black{
  background:#05070a;
  box-shadow:0 0 0 1px rgba(202,215,229,.42),0 1px 7px rgba(0,0,0,.78)
}
.unit-physical-base.interplane-capable.base-white{
  box-shadow:0 0 0 1px rgba(255,255,255,.42),0 0 8px rgba(255,126,20,.82),0 0 16px rgba(255,110,0,.28)
}
.unit-physical-base.interplane-capable.base-black{
  box-shadow:0 0 0 1px rgba(202,215,229,.46),0 0 8px rgba(255,126,20,.82),0 0 16px rgba(255,110,0,.28)
}
.capture-attacker-choice.selected .unit-physical-base,
.capture-piece.selected .unit-physical-base,
.mate-attacker-choice.selected .unit-physical-base{transform:scaleX(1.08);filter:brightness(1.12)}

.unit-route-strip{
  display:inline-flex;align-items:center;justify-content:center;gap:4px;
  min-height:16px;margin-top:1px
}
.unit-route{
  display:inline-grid;place-items:center;width:18px;height:16px;border-radius:5px;
  font-size:.72rem;font-weight:900;line-height:1;border:1px solid transparent;
  text-shadow:0 1px 4px rgba(0,0,0,.72)
}
.unit-route.route-basic{
  color:#ff6f68;border-color:rgba(255,97,90,.42);background:rgba(110,27,29,.20)
}
.unit-route.route-advanced{
  color:#70e18b;border-color:rgba(99,224,127,.42);background:rgba(25,97,49,.20)
}

.capture-unit-meta{
  display:flex!important;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:4px 6px;min-height:19px;color:#b8c6d6!important;font-size:.72rem!important;line-height:1.15!important
}
.unit-chess-label,.unit-remaining{white-space:nowrap}
.unit-point-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:38px;
  padding:3px 6px;border-radius:999px;border:1px solid rgba(238,198,78,.46);
  background:rgba(167,125,18,.12);color:#f2cf67;font-size:.64rem;font-weight:850;
  letter-spacing:.055em;white-space:nowrap
}
.critical-meta{
  color:#edf49b;font-weight:760;letter-spacing:.025em;text-align:center
}
.capture-piece.critical-target .unit-physical-base{
  box-shadow:0 0 0 1px rgba(229,241,96,.54),0 0 10px rgba(222,238,74,.28)
}

@media(max-width:640px){
  .unit-physical-base{width:58%;height:4px;margin-top:3px}
  .unit-route{width:17px;height:15px;font-size:.68rem}
  .capture-unit-meta{font-size:.68rem!important;gap:3px 5px}
  .unit-point-badge{min-width:34px;padding:2px 5px;font-size:.60rem}
}


/* V6.12.1 — fluorescent physical bases + aligned score rows */
.capture-unit-copy{grid-template-rows:auto auto 16px 5px!important;align-content:end!important;min-height:78px}
.capture-piece .capture-unit-copy{grid-template-rows:auto 42px 16px 5px!important;min-height:102px}
.capture-unit-meta{
  display:grid!important;
  grid-template-columns:1fr;
  grid-template-rows:14px 20px 14px;
  align-items:center!important;justify-items:center!important;
  gap:2px!important;min-height:52px!important
}
.unit-chess-label,.unit-point-badge,.unit-remaining,.critical-meta{
  margin:0!important;align-self:center!important
}
.unit-point-badge{min-width:44px!important;height:20px!important;padding:0 7px!important}

.unit-physical-base.interplane-capable{
  background:#ff7b16!important;
  box-shadow:0 0 0 1px rgba(255,197,122,.72),0 0 9px rgba(255,126,20,.98),0 0 18px rgba(255,110,0,.46)!important
}
@media(max-width:640px){
  .capture-unit-copy{grid-template-rows:auto auto 15px 4px!important;min-height:72px}
  .capture-piece .capture-unit-copy{grid-template-rows:auto 40px 15px 4px!important;min-height:98px}
  .capture-unit-meta{grid-template-rows:13px 19px 13px;min-height:49px!important}
  .unit-point-badge{height:19px!important;min-width:40px!important}
}


/* V6.13 — fixed physical-base baseline and non-disruptive route markers */
.capture-wizard .capture-attacker-choice,
.capture-wizard .capture-piece{
  position:relative!important;
  padding-bottom:26px!important;
}
.capture-unit-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:2px!important;
  min-height:72px!important;
  padding-bottom:0!important;
}
.capture-piece .capture-unit-copy{
  min-height:94px!important;
}
.capture-unit-meta{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:2px!important;
  min-height:50px!important;
  line-height:1.05!important;
}
.capture-piece.critical-target .capture-unit-meta{
  min-height:56px!important;
}
.unit-chess-label{min-height:13px;display:flex;align-items:center;justify-content:center}
.unit-point-badge{flex:0 0 20px!important}
.unit-remaining{min-height:13px;display:flex;align-items:center;justify-content:center}
.critical-meta{
  min-height:26px!important;
  max-width:94%;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.05!important;
}
.unit-physical-base{
  position:absolute!important;
  left:22%!important;
  right:22%!important;
  bottom:9px!important;
  width:auto!important;
  margin:0!important;
}
.capture-attacker-choice.selected .unit-physical-base,
.capture-piece.selected .unit-physical-base,
.mate-attacker-choice.selected .unit-physical-base{
  left:19%!important;
  right:19%!important;
  transform:none!important;
}
.unit-route-strip{
  position:absolute!important;
  z-index:7!important;
  top:7px!important;
  right:7px!important;
  min-height:0!important;
  margin:0!important;
  gap:3px!important;
  pointer-events:none
}
.unit-route{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  border-radius:50%!important;
  font-size:.70rem!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px)
}
@media(max-width:640px){
  .capture-wizard .capture-attacker-choice,
  .capture-wizard .capture-piece{padding-bottom:22px!important}
  .capture-unit-copy{min-height:66px!important}
  .capture-piece .capture-unit-copy{min-height:90px!important}
  .capture-unit-meta{min-height:47px!important}
  .capture-piece.critical-target .capture-unit-meta{min-height:53px!important}
  .unit-physical-base{left:22%!important;right:22%!important;bottom:7px!important}
  .capture-attacker-choice.selected .unit-physical-base,
  .capture-piece.selected .unit-physical-base,
  .mate-attacker-choice.selected .unit-physical-base{left:19%!important;right:19%!important}
  .unit-route-strip{top:5px!important;right:5px!important}
  .unit-route{width:17px!important;height:17px!important;font-size:.66rem!important}
}


/* V6.14 — critical-target reticle clearance */
.capture-piece.critical-target:after{
  top:24%!important;width:54px!important;height:54px!important
}
@media(max-width:640px){
  .capture-piece.critical-target:after{top:22%!important;width:46px!important;height:46px!important}
}


/* V6.19 — independent ambient-bed / ambient-events mix controls */
.audio-mix-panel{display:grid;gap:14px}
.audio-mix-control{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.audio-mix-control span{display:grid;gap:3px}
.audio-mix-control small{color:var(--muted)}
.audio-mix-control output{min-width:48px;text-align:right;font-variant-numeric:tabular-nums;font-weight:800;color:var(--gold)}
.audio-mix-panel input[type="range"]{width:100%;accent-color:#e5c55e}
.audio-mix-note{padding:10px 12px;border:1px solid rgba(229,197,94,.22);border-radius:12px;color:var(--muted);font-size:.82rem}


/* V6.22 — coherent functional icon family + balanced board-state columns */
.entry-choice.quick:after{
  background:radial-gradient(circle at 84% 20%,rgba(239,198,92,.16),transparent 30%)!important
}
.entry-choice.advanced:after{
  background:radial-gradient(circle at 84% 20%,rgba(73,145,232,.20),transparent 31%)!important
}
.entry-choice .entry-visual{
  display:block!important;right:26px;top:24px;width:82px;height:82px;opacity:.96;
  filter:drop-shadow(0 0 16px rgba(65,142,232,.16))
}
.entry-visual-quick{
  border:1px solid rgba(239,198,92,.46)!important;border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(244,207,103,.88) 0 3px,transparent 4px),
    radial-gradient(circle at 50% 50%,rgba(11,31,54,.86) 0 55%,transparent 56%),
    conic-gradient(from 318deg,rgba(239,198,92,.82) 0 52deg,rgba(77,151,235,.24) 52deg 360deg);
  box-shadow:0 0 0 7px rgba(64,137,222,.07),inset 0 0 22px rgba(78,148,232,.14)
}
.entry-visual-quick:before{
  content:"";position:absolute;inset:12px;border:1px solid rgba(104,164,234,.26);border-radius:50%;
  background:
    radial-gradient(circle at 50% 7%,rgba(246,216,127,.82) 0 2px,transparent 3px),
    radial-gradient(circle at 93% 50%,rgba(116,173,237,.56) 0 2px,transparent 3px),
    radial-gradient(circle at 50% 93%,rgba(116,173,237,.36) 0 2px,transparent 3px),
    radial-gradient(circle at 7% 50%,rgba(116,173,237,.36) 0 2px,transparent 3px)
}
.entry-visual-quick:after{
  content:"";position:absolute;left:40px;top:21px;width:2px;height:23px;
  background:linear-gradient(180deg,#ffe7a0,#e8bb4e);transform-origin:bottom;transform:rotate(39deg);
  border-radius:3px;box-shadow:0 0 7px rgba(239,198,92,.34)
}
.entry-visual-advanced{
  position:absolute;border-radius:50%;border:1px solid rgba(101,163,235,.34)!important;
  background:radial-gradient(circle at 50% 50%,rgba(103,168,240,.48) 0 3px,rgba(13,35,61,.36) 4px 34%,transparent 35%);
  box-shadow:0 0 0 9px rgba(68,143,230,.06),0 0 0 22px rgba(68,143,230,.035),inset 0 0 24px rgba(68,143,230,.10)
}
.entry-visual-advanced:before{
  content:"";position:absolute;inset:13px 9px 17px 16px;border:1px solid rgba(239,198,92,.30);
  border-radius:50%;transform:rotate(-17deg)
}
.entry-visual-advanced:after{
  content:"";position:absolute;inset:20px 17px 10px 11px;border:1px solid rgba(111,175,243,.46);
  border-radius:50%;transform:rotate(19deg)
}

.board-state{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.board-state section{
  display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;
  padding:16px 8px 0
}
.board-state h2{width:100%;text-align:center;margin-bottom:12px}
.board-state .plane-status{justify-content:center;align-items:center;max-width:100%}
.board-state .points{width:100%;text-align:center;margin:10px auto 0;line-height:1.4}
@media(max-width:700px){
  .entry-choice .entry-visual{width:68px;height:68px;right:18px;top:16px}
  .entry-visual-quick:before{inset:10px}
  .entry-visual-quick:after{left:33px;top:18px;height:19px}
  .board-state{gap:12px}
  .board-state section{padding-inline:4px}
  .board-state .plane-status{justify-content:center;gap:5px}
  .board-state .points{font-size:.72rem;line-height:1.35}
}


/* V6.23 — capture legibility, checkmate spacing and final-scene hierarchy */

/* Captured-unit names use the same white hierarchy as attacking-unit names. */
.capture-wizard .capture-attacker-choice strong,
.capture-wizard .capture-piece strong{color:#f4f7fb!important}
.capture-wizard .capture-piece:not(.critical-target) strong{text-shadow:0 1px 5px rgba(0,0,0,.72)}

/* Dark/black unit artwork needs separation from the navy card background. */
.capture-wizard img[src*="-black.webp"]{
  filter:brightness(1.34) contrast(1.10) drop-shadow(0 0 7px rgba(160,190,221,.18)) drop-shadow(0 7px 10px rgba(0,0,0,.52))!important
}
.capture-wizard img[src*="middle-pawn-black.webp"]{filter:brightness(1.40) contrast(1.08) drop-shadow(0 0 8px rgba(171,198,228,.20))!important}

/* Critical text gets its own lane; the physical base stays below it. */
.capture-piece.critical-target{padding-bottom:31px!important}
.capture-piece.critical-target .capture-unit-copy{min-height:108px!important}
.capture-piece.critical-target .capture-unit-meta{min-height:64px!important}
.capture-piece.critical-target .critical-meta{
  min-height:31px!important;max-width:98%;padding:1px 3px;
  font-size:.67rem!important;line-height:1.12!important
}
.capture-piece.critical-target .unit-physical-base{bottom:8px!important}

/* Checkmate target hero: reserve a dedicated bottom lane for the fluorescent command base. */
.mate-target-hero{padding-bottom:27px!important}
.mate-target-hero>span{align-self:center;padding-bottom:2px}
.mate-target-hero.command-fluorescent:after{bottom:8px!important}
.mate-target-hero b{padding-bottom:2px}

/* Checkmate attacker cards: labels can never collide with their physical base. */
.mate-attacker-choice{padding-bottom:31px!important}
.mate-attacker-choice .capture-unit-copy{margin-bottom:7px!important;min-height:65px!important}
.mate-attacker-choice .unit-physical-base{bottom:8px!important}

/* A quieter game-frame language; avoid the impression of one bright blue outer rectangle. */
.focus-mode #game-card{border-color:rgba(88,126,164,.58)!important;box-shadow:0 10px 38px rgba(0,0,0,.34)!important}
.focus-mode #game-root>.match-controls{border-color:rgba(64,91,121,.52)!important}
.focus-mode .board-state section{border-top-color:rgba(63,91,121,.52)!important}

/* Final checkmate: left side is now a visual closure card, not a second result column. */
.final-checkmate{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr)}
.final-checkmate .final-art{min-height:560px;background:linear-gradient(155deg,#071829,#030a12)}
.mate-final-scene{
  min-height:560px;display:grid;grid-template-rows:auto 1fr auto;gap:14px;
  align-items:stretch;padding:28px 24px 24px;overflow:hidden;
  background-image:linear-gradient(180deg,rgba(2,8,17,.24),rgba(2,8,17,.74)),var(--mate-bg)!important
}
.mate-final-shade,.mate-final-grid{position:absolute;inset:0;pointer-events:none}
.mate-final-kicker{
  position:relative!important;top:auto!important;right:auto!important;z-index:5;
  justify-self:start;margin:0!important;font-size:clamp(1.75rem,3.3vw,2.75rem)!important;text-align:left
}
.mate-final-kicker:after{width:100%;margin:11px 0 0!important;background:linear-gradient(90deg,#d6b45b,transparent)!important}
.mate-final-piece{
  position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;min-width:0;overflow:visible!important
}
.mate-final-attacker{
  align-self:center;height:285px!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;
  justify-items:start!important;text-align:left!important
}
.mate-final-attacker span{max-width:86%;line-height:1.35}
.mate-final-attacker img{
  width:100%!important;height:100%!important;max-width:330px!important;max-height:235px!important;
  object-position:left center!important;transform:none!important;
  filter:brightness(1.06) contrast(1.04) drop-shadow(0 18px 24px rgba(0,0,0,.58))!important
}
.mate-final-target{
  align-self:end;height:112px!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) 112px!important;grid-template-rows:1fr!important;
  gap:12px!important;align-items:center!important;justify-items:stretch!important;
  padding:10px 12px;border:1px solid rgba(221,187,86,.32);border-radius:12px;
  background:linear-gradient(145deg,rgba(15,29,43,.90),rgba(5,15,25,.92));text-align:left!important
}
.mate-final-target span{
  grid-column:1;padding:0!important;border:0!important;background:none!important;
  color:#ddc77f!important;font-size:.58rem!important;line-height:1.45!important
}
.mate-final-target img{
  grid-column:2;width:100%!important;height:82px!important;max-width:112px!important;
  object-position:center!important;opacity:1!important;
  filter:brightness(1.34) contrast(1.08) drop-shadow(0 7px 10px rgba(0,0,0,.62))!important
}
.mate-final-caption{display:none!important}

@media(max-width:640px){
  .capture-piece.critical-target{padding-bottom:27px!important}
  .capture-piece.critical-target .capture-unit-copy{min-height:101px!important}
  .capture-piece.critical-target .capture-unit-meta{min-height:59px!important}
  .capture-piece.critical-target .critical-meta{font-size:.62rem!important;min-height:29px!important}
  .mate-target-hero{padding-bottom:23px!important}
  .mate-attacker-choice{padding-bottom:27px!important}
  .mate-attacker-choice .capture-unit-copy{margin-bottom:6px!important;min-height:59px!important}

  .final-checkmate .final-art{height:auto!important;min-height:390px!important}
  .mate-final-scene{min-height:390px!important;padding:18px 16px 16px;gap:9px}
  .mate-final-kicker{font-size:1.55rem!important}
  .mate-final-attacker{height:190px!important}
  .mate-final-attacker img{max-height:158px!important;max-width:235px!important}
  .mate-final-target{height:92px!important;grid-template-columns:minmax(0,1fr) 88px!important;padding:8px 9px}
  .mate-final-target span{font-size:.49rem!important}
  .mate-final-target img{height:66px!important;max-width:88px!important}
}


/* V6.24 — attacker-only route arrows, black-unit separation and atmospheric game frame */
.capture-wizard-target .capture-piece .unit-route-strip{display:none!important}

.capture-wizard img[src*="-black.webp"]{
  filter:brightness(1.28) contrast(1.16) drop-shadow(0 0 11px rgba(184,211,239,.30)) drop-shadow(0 8px 12px rgba(0,0,0,.58))!important
}
.capture-wizard img[src*="lower-pawn-black.webp"]{
  filter:brightness(.82) contrast(1.35) saturate(.78) drop-shadow(0 0 14px rgba(188,218,246,.46)) drop-shadow(0 8px 12px rgba(0,0,0,.64))!important
}
.capture-wizard img[src*="middle-pawn-black.webp"]{
  filter:brightness(1.30) contrast(1.14) drop-shadow(0 0 12px rgba(184,213,242,.32)) drop-shadow(0 8px 12px rgba(0,0,0,.58))!important
}

.focus-mode #game-root{
  position:relative;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none
}
.focus-mode #game-root:before{display:none!important}
.focus-mode #game-root>*{position:relative;z-index:1}
.focus-mode #game-card{border-color:rgba(84,119,153,.42)!important;box-shadow:0 12px 34px rgba(0,0,0,.24)!important}
.focus-mode #game-root>.match-controls{border-color:rgba(70,99,130,.40)!important}
.focus-mode .board-state section{border-top-color:rgba(69,98,128,.38)!important}


/* V6.26 — near-final timer, black-unit and game-frame polish */

/* SC Timer: abstract turn/time exchange, intentionally not a conventional clock face. */
.entry-choice.quick:after{
  background:radial-gradient(circle at 84% 20%,rgba(72,144,226,.16),transparent 29%)!important
}
.entry-visual-quick{
  border:0!important;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,rgba(8,25,43,.98) 0 54%,transparent 55%),
    conic-gradient(from 28deg,
      rgba(239,198,92,.92) 0 68deg,
      transparent 68deg 160deg,
      rgba(88,158,235,.82) 160deg 286deg,
      transparent 286deg 360deg);
  box-shadow:
    0 0 0 1px rgba(112,171,236,.18),
    0 0 0 9px rgba(63,133,214,.045),
    inset 0 0 20px rgba(66,142,226,.11),
    0 0 18px rgba(47,120,210,.13)
}
.entry-visual-quick:before{
  content:"";position:absolute;inset:17px;border-radius:50%;
  border:1px solid rgba(112,171,236,.22);
  background:
    radial-gradient(circle at 50% 50%,rgba(236,202,105,.90) 0 3px,transparent 4px),
    linear-gradient(90deg,transparent 0 24%,rgba(93,159,232,.18) 25% 27%,transparent 28% 72%,rgba(235,198,94,.16) 73% 75%,transparent 76%)
}
.entry-visual-quick:after{
  content:"";position:absolute;left:50%;top:50%;width:30px;height:3px;
  transform:translate(-50%,-50%) rotate(-8deg);
  transform-origin:center;border-radius:3px;
  background:linear-gradient(90deg,rgba(92,161,237,.88) 0 43%,transparent 44% 56%,rgba(239,198,92,.94) 57% 100%);
  box-shadow:0 0 7px rgba(80,151,232,.18)
}
@media(max-width:700px){
  .entry-visual-quick:before{inset:14px}
  .entry-visual-quick:after{left:50%;top:50%;width:25px;height:3px}
}

/* Black-side cards: separate the artwork from navy without turning black pieces into white ones. */
.capture-wizard .capture-attacker-choice.side-black .capture-unit-art,
.capture-wizard .capture-piece.side-black .capture-unit-art{
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,rgba(165,203,237,.12) 0,rgba(90,151,207,.07) 38%,transparent 72%)
}
.capture-wizard .capture-attacker-choice.side-black img,
.capture-wizard .capture-piece.side-black img{
  filter:brightness(1.34) contrast(1.20) saturate(.90)
    drop-shadow(0 0 15px rgba(184,216,244,.42))
    drop-shadow(0 8px 13px rgba(0,0,0,.62))!important
}
.capture-wizard .capture-attacker-choice.side-black img[src*="lower-pawn-black.webp"],
.capture-wizard .capture-piece.side-black img[src*="lower-pawn-black.webp"]{
  filter:brightness(.94) contrast(1.42) saturate(.82)
    drop-shadow(0 0 18px rgba(190,220,247,.56))
    drop-shadow(0 8px 13px rgba(0,0,0,.66))!important
}

/* V6.32 — remove the extra square blue enclosure; keep the rounded internal cards only. */
.focus-mode #game-root{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important
}
.focus-mode #game-root:before{display:none!important;content:none!important}


/* V6.32 — SC Timer mirrors the SC Match System mark with one ring less. */
.entry-choice.quick:after{
  background:radial-gradient(circle at 84% 20%,rgba(73,145,232,.18),transparent 31%)!important
}
.entry-choice.quick .entry-visual-quick.timer-system-mark{
  display:block!important;
  right:26px!important;top:24px!important;width:82px!important;height:82px!important;
  border-radius:50%!important;
  border:1px solid rgba(101,163,235,.34)!important;
  background:radial-gradient(circle at 50% 50%,rgba(103,168,240,.48) 0 3px,rgba(13,35,61,.36) 4px 34%,transparent 35%)!important;
  box-shadow:0 0 0 9px rgba(68,143,230,.06),inset 0 0 24px rgba(68,143,230,.10)!important;
  filter:drop-shadow(0 0 16px rgba(65,142,232,.16))!important
}
.entry-choice.quick .timer-system-mark:before{
  content:""!important;
  position:absolute!important;inset:13px!important;
  display:block!important;
  border:1px solid rgba(239,198,92,.30)!important;
  border-radius:50%!important;
  background:none!important;
  transform:none!important;
  box-shadow:none!important
}
.entry-choice.quick .timer-system-mark:after{display:none!important;content:none!important}
@media(max-width:700px){
  .entry-choice.quick .entry-visual-quick.timer-system-mark{
    width:68px!important;height:68px!important;right:18px!important;top:16px!important
  }
  .entry-choice.quick .timer-system-mark:before{inset:11px!important}
}
/* Give the compact phone header a little air before the main-menu control. */
@media(max-width:640px){
  .focus-mode .brand-header{padding-bottom:14px!important}
}


/* V6.34 — final gameplay frame: suppress Safari's square focus ring and use the rounded final-card language. */
#main:focus{outline:none!important}
.focus-mode #game-root{
  position:relative!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.focus-mode #game-root:before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border:1px solid rgba(57,84,119,.78)!important;
  border-radius:24px!important;
  background:transparent!important;
  box-shadow:0 16px 42px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.018)!important;
  pointer-events:none!important;
  z-index:0!important;
}
.focus-mode #game-root>*{position:relative;z-index:1}
@media(max-width:640px){
  .focus-mode #game-root:before{border-radius:20px!important}
}


/* V6.48 — four-scene cinematic checkmate tableau */
.final-checkmate{grid-template-columns:minmax(390px,1.02fr) minmax(0,.98fr)}
.final-checkmate .final-art{min-height:620px!important;background:#020914!important}
.mate-final-scene{
  --mate-gold:#e5c267;
  --mate-cool:#89b8e6;
  position:relative!important;display:block!important;min-height:620px!important;padding:0!important;overflow:hidden!important;
  background-position:center!important;background-size:cover!important;
  background-image:
    linear-gradient(180deg,rgba(2,8,17,.08) 0%,rgba(2,8,17,.16) 43%,rgba(2,8,17,.84) 100%),
    var(--mate-bg)!important
}
.mate-final-scene:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(circle at 72% 70%,rgba(230,193,94,.16),transparent 22%),
    linear-gradient(100deg,rgba(2,8,16,.06),transparent 48%,rgba(2,8,16,.24))
}
.mate-final-shade{z-index:1!important;background:linear-gradient(180deg,rgba(3,10,19,.12),transparent 35%,rgba(1,7,14,.42) 72%,rgba(1,7,14,.86))!important}
.mate-final-grid{
  display:block!important;z-index:2!important;opacity:.16;
  background-image:linear-gradient(rgba(126,166,206,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(126,166,206,.12) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(180deg,transparent 0,black 18%,black 78%,transparent 100%)
}
.mate-final-kicker{
  position:absolute!important;left:24px!important;right:auto!important;top:22px!important;z-index:8!important;
  color:#f3d37c!important;font-size:clamp(2rem,4vw,3.15rem)!important;letter-spacing:.035em!important;
  text-shadow:0 4px 22px rgba(0,0,0,.75)
}
.mate-final-kicker:after{width:118%!important;margin:10px 0 0!important;background:linear-gradient(90deg,#e6c362,rgba(230,195,98,.14),transparent)!important}
.mate-final-scene-title{
  position:absolute;left:26px;top:91px;z-index:8;margin:0;color:#d9e4ef;font-size:.64rem;font-weight:850;
  letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 12px rgba(0,0,0,.85)
}
.mate-final-piece{
  position:absolute!important;z-index:5!important;display:block!important;width:auto!important;height:auto!important;
  min-width:0!important;overflow:visible!important;background:none!important;border:0!important;text-align:left!important
}
.mate-final-piece span{
  position:absolute;z-index:7;display:block;max-width:260px;padding:6px 9px!important;
  border:1px solid rgba(226,194,102,.40)!important;border-radius:999px!important;
  background:rgba(4,15,27,.78)!important;backdrop-filter:blur(6px);
  color:#e2cb88!important;font-size:.54rem!important;font-weight:850!important;line-height:1.25!important;letter-spacing:.12em!important;
  white-space:normal
}
.mate-final-piece b{
  position:absolute;z-index:7;margin:0;color:#fff;font-family:Cinzel,Georgia,serif;font-size:.86rem;font-weight:600;letter-spacing:.04em;
  text-shadow:0 3px 16px rgba(0,0,0,.88)
}
.mate-final-piece img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;
  opacity:1!important;filter:brightness(1.12) contrast(1.08) drop-shadow(0 22px 28px rgba(0,0,0,.72))!important
}
.mate-final-attacker{left:0!important;top:122px!important;width:68%!important;height:340px!important}
.mate-final-attacker span{left:24px;top:-5px}
.mate-final-attacker b{left:26px;bottom:5px}
.mate-final-attacker img{object-position:left center!important;transform:scale(1.20)!important;transform-origin:left center!important}
.mate-final-target{
  right:-1%!important;bottom:42px!important;width:48%!important;height:235px!important;padding:0!important;
  background:none!important;border:0!important;border-radius:0!important
}
.mate-final-target span{right:20px;top:-2px;text-align:right}
.mate-final-target b{right:22px;bottom:1px;text-align:right}
.mate-final-target img{
  object-position:right center!important;filter:brightness(1.30) contrast(1.10) drop-shadow(0 20px 24px rgba(0,0,0,.76))!important
}
.mate-final-vector{
  position:absolute;z-index:4;left:42%;top:52%;width:34%;height:2px;transform:rotate(15deg);transform-origin:left center;
  background:linear-gradient(90deg,transparent 0,rgba(241,207,111,.72) 32%,rgba(241,207,111,.92) 82%,transparent 100%);
  box-shadow:0 0 14px rgba(230,193,94,.24)
}
.mate-final-vector:after{
  content:"";position:absolute;right:0;top:50%;width:9px;height:9px;border-top:1px solid #f0cf72;border-right:1px solid #f0cf72;
  transform:translateY(-50%) rotate(45deg)
}
.mate-final-vector span{position:absolute;inset:-8px 0;border-top:1px solid rgba(125,180,226,.18);border-bottom:1px solid rgba(125,180,226,.12)}
.mate-final-impact{position:absolute;z-index:4;right:16%;bottom:26%;width:96px;height:96px;border:1px solid rgba(239,203,102,.52);border-radius:50%;box-shadow:0 0 34px rgba(230,193,94,.16)}
.mate-final-impact:before,.mate-final-impact:after,.mate-final-impact i{content:"";position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);border-radius:50%}
.mate-final-impact:before{width:62px;height:62px;border:1px solid rgba(130,190,235,.36)}
.mate-final-impact:after{width:7px;height:7px;background:#efd16f;box-shadow:0 0 18px rgba(239,209,111,.62)}
.mate-final-impact i:first-child{width:1px;height:126px;background:linear-gradient(transparent,rgba(229,194,103,.38),transparent)}
.mate-final-impact i:last-child{width:126px;height:1px;background:linear-gradient(90deg,transparent,rgba(229,194,103,.38),transparent)}
.mate-final-relation{
  position:absolute;z-index:8;left:26px;bottom:22px;margin:0;color:#b8c8d8;font-size:.58rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase
}

/* Scene 1: the only upper-to-middle mate is Strategic Bomber -> Command Frigate. */
.mate-scene-air-bomber .mate-final-attacker{left:-4%!important;top:128px!important;width:76%!important;height:330px!important}
.mate-scene-air-bomber .mate-final-attacker img{transform:scale(1.30) rotate(2deg)!important}
.mate-scene-air-bomber .mate-final-target{right:-2%!important;bottom:40px!important;width:49%!important;height:225px!important}
.mate-scene-air-bomber .mate-final-vector{left:43%;top:49%;width:35%;transform:rotate(18deg)}
.mate-scene-air-bomber .mate-final-impact{right:15%;bottom:24%}

/* Scene 2: Nuclear Submarine -> Command Frigate. */
.mate-scene-sub-nuclear .mate-final-attacker{left:-3%!important;top:245px!important;width:72%!important;height:270px!important}
.mate-scene-sub-nuclear .mate-final-attacker img{transform:scale(1.24)!important;filter:brightness(1.17) contrast(1.12) drop-shadow(0 20px 28px rgba(0,0,0,.78))!important}
.mate-scene-sub-nuclear .mate-final-target{right:-1%!important;top:136px!important;bottom:auto!important;width:47%!important;height:220px!important}
.mate-scene-sub-nuclear .mate-final-vector{left:42%;top:55%;width:35%;transform:rotate(-18deg)}
.mate-scene-sub-nuclear .mate-final-impact{right:15%;top:31%;bottom:auto}

/* Scene 3: Attack Submarine -> Command Frigate. */
.mate-scene-sub-attack .mate-final-attacker{left:-2%!important;top:260px!important;width:68%!important;height:250px!important}
.mate-scene-sub-attack .mate-final-attacker img{transform:scale(1.20) rotate(-1deg)!important}
.mate-scene-sub-attack .mate-final-target{right:-1%!important;top:138px!important;bottom:auto!important;width:48%!important;height:218px!important}
.mate-scene-sub-attack .mate-final-vector{left:40%;top:56%;width:38%;transform:rotate(-19deg)}
.mate-scene-sub-attack .mate-final-impact{right:15%;top:31%;bottom:auto}

/* Scene 4: any middle-plane mating unit uses one common surface tableau. */
.mate-scene-surface-generic .mate-final-attacker{left:-2%!important;top:188px!important;width:61%!important;height:300px!important}
.mate-scene-surface-generic .mate-final-target{right:-2%!important;top:188px!important;bottom:auto!important;width:46%!important;height:235px!important}
.mate-scene-surface-generic .mate-final-vector{left:44%;top:53%;width:29%;transform:rotate(1deg)}
.mate-scene-surface-generic .mate-final-impact{right:15%;top:47%;bottom:auto}

@media(max-width:640px){
  .final-checkmate{display:block!important}
  .final-checkmate .final-art{height:auto!important;min-height:430px!important}
  .mate-final-scene{min-height:430px!important}
  .mate-final-kicker{left:15px!important;top:14px!important;font-size:1.72rem!important}
  .mate-final-scene-title{left:16px;top:63px;font-size:.50rem;letter-spacing:.135em}
  .mate-final-piece span{max-width:190px;font-size:.43rem!important;padding:4px 6px!important}
  .mate-final-piece b{font-size:.68rem}
  .mate-final-attacker{left:-5%!important;top:96px!important;width:73%!important;height:235px!important}
  .mate-final-attacker span{left:16px;top:0}
  .mate-final-attacker b{left:17px;bottom:8px}
  .mate-final-target{right:-4%!important;bottom:32px!important;width:51%!important;height:155px!important}
  .mate-final-target span{right:15px;top:0;max-width:170px}
  .mate-final-target b{right:15px;bottom:0}
  .mate-final-vector{left:41%;top:51%;width:39%;height:1px}
  .mate-final-impact{width:66px;height:66px;right:14%;bottom:25%}
  .mate-final-impact:before{width:42px;height:42px}
  .mate-final-impact i:first-child{height:90px}.mate-final-impact i:last-child{width:90px}
  .mate-final-relation{left:16px;bottom:12px;font-size:.44rem;letter-spacing:.09em}
  .mate-scene-air-bomber .mate-final-attacker{left:-7%!important;top:92px!important;width:82%!important;height:232px!important}
  .mate-scene-air-bomber .mate-final-target{right:-4%!important;bottom:30px!important;width:52%!important;height:152px!important}
  .mate-scene-air-bomber .mate-final-vector{left:43%;top:48%;width:38%;transform:rotate(18deg)}
  .mate-scene-air-bomber .mate-final-impact{right:14%;bottom:24%}
  .mate-scene-sub-nuclear .mate-final-attacker,.mate-scene-sub-attack .mate-final-attacker{left:-5%!important;top:205px!important;width:75%!important;height:185px!important}
  .mate-scene-sub-nuclear .mate-final-target,.mate-scene-sub-attack .mate-final-target{right:-4%!important;top:92px!important;width:52%!important;height:158px!important}
  .mate-scene-sub-nuclear .mate-final-vector,.mate-scene-sub-attack .mate-final-vector{left:42%;top:54%;width:39%;transform:rotate(-19deg)}
  .mate-scene-sub-nuclear .mate-final-impact,.mate-scene-sub-attack .mate-final-impact{right:14%;top:28%;bottom:auto}
  .mate-scene-surface-generic .mate-final-attacker{left:-5%!important;top:138px!important;width:66%!important;height:210px!important}
  .mate-scene-surface-generic .mate-final-target{right:-4%!important;top:151px!important;width:50%!important;height:166px!important}
  .mate-scene-surface-generic .mate-final-vector{left:42%;top:52%;width:35%;transform:none}
  .mate-scene-surface-generic .mate-final-impact{right:14%;top:43%;bottom:auto}
}


/* V6.49 — checkmate desktop polish after real Mac validation */
@media(min-width:641px){
  .mate-final-scene{min-height:640px!important}
  .final-checkmate .final-art{min-height:640px!important}

  /* Give both tactical labels independent lanes so they never touch or overlap. */
  .mate-final-attacker span{left:24px!important;top:-8px!important;max-width:245px!important}
  .mate-final-target span{right:22px!important;top:-8px!important;max-width:205px!important}

  /* The Command Frigate is the decisive objective: keep it visually substantial. */
  .mate-final-target{width:50%!important;height:248px!important}
  .mate-final-target img{
    transform:scale(1.08)!important;
    transform-origin:right center!important;
    filter:brightness(1.34) contrast(1.10) drop-shadow(0 22px 26px rgba(0,0,0,.76))!important
  }

  /* Preserve attacker dominance without letting very wide surface assets crowd the target. */
  .mate-scene-surface-generic .mate-final-attacker{
    left:-1%!important;top:196px!important;width:58%!important;height:286px!important
  }
  .mate-scene-surface-generic .mate-final-attacker img{
    transform:scale(1.10)!important;
    transform-origin:left center!important
  }
  .mate-scene-surface-generic .mate-final-target{
    right:-1%!important;top:190px!important;width:47%!important;height:238px!important
  }
  .mate-scene-surface-generic .mate-final-vector{left:43%;top:52%;width:31%!important}

  /* Bomber remains the hero asset, but the target gains enough presence to read as the finale. */
  .mate-scene-air-bomber .mate-final-attacker{
    left:-3%!important;top:132px!important;width:73%!important;height:330px!important
  }
  .mate-scene-air-bomber .mate-final-attacker img{transform:scale(1.24) rotate(2deg)!important}
  .mate-scene-air-bomber .mate-final-target{
    right:-1%!important;bottom:38px!important;width:50%!important;height:240px!important
  }

  /* Submarine scenes use the same visual balance: submerged attacker, clearly readable surface objective. */
  .mate-scene-sub-nuclear .mate-final-target,
  .mate-scene-sub-attack .mate-final-target{
    right:-1%!important;top:132px!important;width:49%!important;height:236px!important
  }

  /* Move unit captions slightly away from the frame edges for a more deliberate finish. */
  .mate-final-attacker b{left:26px!important;bottom:12px!important}
  .mate-final-target b{right:22px!important;bottom:10px!important}
}

/* Same-plane labels stay visually separated even when long Spanish copy wraps. */
.mate-scene-surface-generic .mate-final-attacker span{max-width:238px!important}
.mate-scene-surface-generic .mate-final-target span{max-width:190px!important}


/* V6.50 — final mate composition: piece-specific surface balance + stronger decisive objective */
@media(min-width:641px){
  /* The decisive Command Frigate should never read as a small secondary thumbnail. */
  .mate-final-target{
    width:51%!important;
    height:250px!important
  }
  .mate-final-target img{transform:scale(1.10)!important}
  .mate-final-impact{right:15%!important}

  /* Bomber: still unmistakably dominant, but leave breathing room for the target. */
  .mate-scene-air-bomber .mate-final-attacker{
    left:-2%!important;top:140px!important;width:68%!important;height:318px!important
  }
  .mate-scene-air-bomber .mate-final-attacker img{
    transform:scale(1.15) rotate(2deg)!important
  }
  .mate-scene-air-bomber .mate-final-target{
    right:-1%!important;bottom:36px!important;width:52%!important;height:248px!important
  }
  .mate-scene-air-bomber .mate-final-vector{
    left:42%!important;top:50%!important;width:37%!important
  }

  /* Surface scene families: fit the physical silhouette instead of forcing one universal scale. */
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker{
    left:3%!important;top:197px!important;width:43%!important;height:292px!important
  }
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker img{
    transform:scale(.98)!important;object-position:center bottom!important
  }
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-target{
    right:-1%!important;top:188px!important;width:51%!important;height:242px!important
  }

  .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker{
    left:-1%!important;top:200px!important;width:56%!important;height:286px!important
  }
  .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker img{
    transform:scale(1.02)!important
  }

  .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker{
    left:0!important;top:207px!important;width:55%!important;height:272px!important
  }
  .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker img{
    transform:scale(1.02)!important
  }

  .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker{
    left:-1%!important;top:220px!important;width:55%!important;height:252px!important
  }
  .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker img{
    transform:scale(1.00)!important
  }

  .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker{
    left:-2%!important;top:200px!important;width:57%!important;height:280px!important
  }
  .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker img{
    transform:scale(.96)!important
  }

  .mate-scene-surface-generic.mate-piece-king .mate-final-attacker{
    left:0!important;top:214px!important;width:55%!important;height:258px!important
  }
  .mate-scene-surface-generic.mate-piece-king .mate-final-attacker img{
    transform:scale(.98)!important
  }

  .mate-scene-surface-generic .mate-final-target{
    right:-1%!important;top:190px!important;width:49%!important;height:242px!important
  }
  .mate-scene-surface-generic .mate-final-vector{
    left:42%!important;top:52%!important;width:33%!important
  }

  /* Submarine finales: reinforce the vertical relationship while keeping both silhouettes fully readable. */
  .mate-scene-sub-nuclear .mate-final-attacker{
    left:-1%!important;top:258px!important;width:66%!important;height:252px!important
  }
  .mate-scene-sub-nuclear .mate-final-attacker img{transform:scale(1.12)!important}
  .mate-scene-sub-attack .mate-final-attacker{
    left:-1%!important;top:266px!important;width:65%!important;height:240px!important
  }
  .mate-scene-sub-attack .mate-final-attacker img{transform:scale(1.10)!important}
  .mate-scene-sub-nuclear .mate-final-target,
  .mate-scene-sub-attack .mate-final-target{
    right:-1%!important;top:130px!important;width:51%!important;height:242px!important
  }
  .mate-scene-sub-nuclear .mate-final-vector,
  .mate-scene-sub-attack .mate-final-vector{
    left:41%!important;width:38%!important
  }

  /* Long labels stay detached from imagery and from each other. */
  .mate-final-attacker span{max-width:232px!important}
  .mate-final-target span{max-width:192px!important}
}

/* On phones, preserve the proven V6.48 geometry; only expose the new semantic class. */
@media(max-width:640px){
  .mate-final-scene[class*="mate-piece-"] .mate-final-target img{max-width:none!important}
}


/* V6.51 — consolidated final-mate pass from full screenshot review */
.final-checkmate{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr)!important;
  overflow:hidden!important
}
.final-checkmate .final-art,
.final-checkmate .final-copy{min-width:0!important}
.final-checkmate .final-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:clamp(30px,4vw,50px) clamp(26px,3.4vw,44px)!important;
  text-align:left!important;
  background:linear-gradient(180deg,#07111d 0%,#050c16 100%)!important;
  border-left:1px solid rgba(60,86,116,.16)
}
.final-checkmate .final-copy .eyebrow{
  max-width:100%;
  margin-bottom:16px!important;
  line-height:1.45!important;
  letter-spacing:.105em!important
}
.final-checkmate .context-cue{align-self:flex-start!important;margin-bottom:20px!important}
.final-checkmate .result-title{
  max-width:11ch;
  margin:0!important;
  font-size:clamp(2.35rem,4.1vw,3.45rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance
}
.final-checkmate .result-reason{margin:13px 0 0!important}
.final-checkmate .gold-rule{margin:25px 0 21px!important}
.final-checkmate .final-copy h2{
  max-width:18ch;
  margin:0!important;
  font-size:clamp(1.42rem,2.3vw,2rem)!important;
  line-height:1.13!important;
  text-wrap:balance
}
.final-checkmate .final-actions{
  width:100%;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:10px!important;
  margin-top:29px!important
}
.final-checkmate .final-actions button{
  width:100%;
  min-width:0!important;
  min-height:56px;
  padding-inline:14px!important;
  white-space:normal!important;
  overflow-wrap:anywhere
}
.final-checkmate .final-actions [data-act="history"]{
  grid-column:1/-1!important;
  min-height:38px!important;
  border:0!important;
  background:transparent!important;
  color:var(--gold)!important
}

/* Short tactical chips keep the scene readable without competing with the units. */
.mate-final-piece span{
  box-sizing:border-box;
  line-height:1.18!important;
  letter-spacing:.105em!important
}
.mate-final-attacker span{max-width:215px!important}
.mate-final-target span{max-width:150px!important}
.mate-final-target{
  width:50%!important;
  height:244px!important
}
.mate-final-target img{
  transform:scale(1.10)!important;
  transform-origin:right center!important
}

/* Bomber: strong entry vector, but the command frigate remains a real visual objective. */
@media(min-width:721px) and (pointer:fine){
  .mate-scene-air-bomber .mate-final-attacker{
    left:-1%!important;top:145px!important;width:65%!important;height:306px!important
  }
  .mate-scene-air-bomber .mate-final-attacker img{
    transform:scale(1.10) rotate(1.5deg)!important
  }
  .mate-scene-air-bomber .mate-final-target{
    right:-1%!important;bottom:38px!important;width:52%!important;height:252px!important
  }
  .mate-scene-air-bomber .mate-final-vector{
    left:40%!important;top:50%!important;width:40%!important
  }

  /* Surface pieces need different silhouettes, not one universal scaling rule. */
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker{
    left:4%!important;top:205px!important;width:40%!important;height:280px!important
  }
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker img{
    transform:scale(.94)!important;object-position:center bottom!important
  }
  .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker{
    left:0!important;top:211px!important;width:53%!important;height:270px!important
  }
  .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker img{transform:scale(.98)!important}
  .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker{
    left:1%!important;top:215px!important;width:52%!important;height:260px!important
  }
  .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker img{transform:scale(.98)!important}
  .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker{
    left:0!important;top:226px!important;width:52%!important;height:238px!important
  }
  .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker img{transform:scale(.96)!important}
  .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker{
    left:-1%!important;top:214px!important;width:54%!important;height:260px!important
  }
  .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker img{transform:scale(.92)!important}
  .mate-scene-surface-generic.mate-piece-king .mate-final-attacker{
    left:1%!important;top:220px!important;width:51%!important;height:244px!important
  }
  .mate-scene-surface-generic.mate-piece-king .mate-final-attacker img{transform:scale(.94)!important}

  .mate-scene-surface-generic .mate-final-target{
    right:-1%!important;top:192px!important;width:49%!important;height:244px!important
  }
  .mate-scene-surface-generic .mate-final-vector{
    left:41%!important;top:52%!important;width:34%!important
  }

  /* Submarine closures keep the target above the submerged attacker with a clean diagonal vector. */
  .mate-scene-sub-nuclear .mate-final-attacker{
    left:0!important;top:265px!important;width:63%!important;height:236px!important
  }
  .mate-scene-sub-nuclear .mate-final-attacker img{transform:scale(1.05)!important}
  .mate-scene-sub-attack .mate-final-attacker{
    left:0!important;top:272px!important;width:62%!important;height:226px!important
  }
  .mate-scene-sub-attack .mate-final-attacker img{transform:scale(1.04)!important}
  .mate-scene-sub-nuclear .mate-final-target,
  .mate-scene-sub-attack .mate-final-target{
    right:-1%!important;top:134px!important;width:50%!important;height:240px!important
  }
  .mate-scene-sub-nuclear .mate-final-vector,
  .mate-scene-sub-attack .mate-final-vector{
    left:40%!important;width:39%!important
  }
}

/* Phone and coarse-pointer layouts stack the result even in landscape.
   This prevents the desktop two-column scene from being squeezed on iPhone. */
@media(max-width:940px) and (pointer:coarse), (max-width:720px){
  .final-checkmate{
    display:block!important;
    grid-template-columns:1fr!important;
    overflow:hidden!important
  }
  .final-checkmate .final-art{
    width:100%!important;
    height:auto!important;
    min-height:440px!important
  }
  .final-checkmate .final-copy{
    width:100%!important;
    padding:28px 20px 32px!important;
    text-align:center!important;
    border-left:0!important;
    border-top:1px solid rgba(60,86,116,.24)
  }
  .final-checkmate .final-copy .eyebrow{font-size:.72rem!important}
  .final-checkmate .context-cue{
    align-self:center!important;
    margin:0 auto 18px!important
  }
  .final-checkmate .result-title{
    max-width:none!important;
    font-size:clamp(2rem,10vw,2.8rem)!important;
    line-height:1.02!important;
    text-align:center!important
  }
  .final-checkmate .result-reason{text-align:center!important}
  .final-checkmate .gold-rule{margin:22px auto 20px!important}
  .final-checkmate .final-copy h2{
    max-width:none!important;
    font-size:clamp(1.35rem,6.8vw,1.8rem)!important;
    text-align:center!important
  }
  .final-checkmate .final-actions{
    max-width:540px;
    margin:26px auto 0!important
  }
}

/* Portrait phone art: all nine supplied final-scene families remain inside one safe frame. */
@media(max-width:640px){
  .final-checkmate .final-art{min-height:440px!important}
  .mate-final-scene{
    min-height:440px!important;
    height:440px!important;
    overflow:hidden!important
  }
  .mate-final-kicker{
    left:16px!important;top:14px!important;
    font-size:clamp(1.62rem,8.7vw,2rem)!important
  }
  .mate-final-scene-title{
    left:17px!important;top:65px!important;
    max-width:78%;
    font-size:.47rem!important;
    letter-spacing:.125em!important
  }
  .mate-final-piece span{
    font-size:.40rem!important;
    padding:4px 6px!important;
    white-space:nowrap!important;
    max-width:none!important
  }
  .mate-final-piece b{
    font-size:.65rem!important;
    line-height:1.12!important;
    white-space:nowrap!important
  }
  .mate-final-relation{
    left:16px!important;bottom:11px!important;
    max-width:76%;
    font-size:.40rem!important;
    line-height:1.25!important
  }

  /* Air */
  .mate-scene-air-bomber .mate-final-attacker{
    left:-7%!important;top:105px!important;width:77%!important;height:200px!important
  }
  .mate-scene-air-bomber .mate-final-attacker img{
    transform:scale(1.10) rotate(1deg)!important
  }
  .mate-scene-air-bomber .mate-final-target{
    right:-4%!important;top:238px!important;bottom:auto!important;width:53%!important;height:154px!important
  }
  .mate-scene-air-bomber .mate-final-vector{
    left:43%!important;top:51%!important;width:38%!important;transform:rotate(17deg)!important
  }
  .mate-scene-air-bomber .mate-final-impact{
    right:13%!important;top:59%!important;bottom:auto!important
  }

  /* Surface */
  .mate-scene-surface-generic .mate-final-target{
    right:-4%!important;top:176px!important;bottom:auto!important;width:51%!important;height:158px!important
  }
  .mate-scene-surface-generic .mate-final-vector{
    left:41%!important;top:52%!important;width:36%!important;transform:none!important
  }
  .mate-scene-surface-generic .mate-final-impact{
    right:13%!important;top:43%!important;bottom:auto!important
  }
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker{
    left:3%!important;top:136px!important;width:42%!important;height:220px!important
  }
  .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker img{
    transform:scale(.92)!important;object-position:center bottom!important
  }
  .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker{
    left:-4%!important;top:152px!important;width:59%!important;height:188px!important
  }
  .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker{
    left:-3%!important;top:158px!important;width:57%!important;height:180px!important
  }
  .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker{
    left:-2%!important;top:166px!important;width:56%!important;height:170px!important
  }
  .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker{
    left:-4%!important;top:152px!important;width:59%!important;height:190px!important
  }
  .mate-scene-surface-generic.mate-piece-king .mate-final-attacker{
    left:-2%!important;top:160px!important;width:55%!important;height:176px!important
  }
  .mate-scene-surface-generic .mate-final-attacker img{transform:scale(.96)!important}

  /* Submarine */
  .mate-scene-sub-nuclear .mate-final-target,
  .mate-scene-sub-attack .mate-final-target{
    right:-4%!important;top:105px!important;bottom:auto!important;width:53%!important;height:154px!important
  }
  .mate-scene-sub-nuclear .mate-final-attacker{
    left:-5%!important;top:232px!important;width:72%!important;height:170px!important
  }
  .mate-scene-sub-attack .mate-final-attacker{
    left:-5%!important;top:238px!important;width:71%!important;height:164px!important
  }
  .mate-scene-sub-nuclear .mate-final-attacker img,
  .mate-scene-sub-attack .mate-final-attacker img{transform:scale(1.02)!important}
  .mate-scene-sub-nuclear .mate-final-vector,
  .mate-scene-sub-attack .mate-final-vector{
    left:41%!important;top:54%!important;width:39%!important;transform:rotate(-18deg)!important
  }
  .mate-scene-sub-nuclear .mate-final-impact,
  .mate-scene-sub-attack .mate-final-impact{
    right:13%!important;top:27%!important;bottom:auto!important
  }

  .final-checkmate .final-actions{
    grid-template-columns:1fr!important;
    gap:9px!important
  }
  .final-checkmate .final-actions [data-act="history"]{
    grid-column:1!important;
    min-height:36px!important
  }
}

@media(max-width:380px){
  .mate-final-piece span{font-size:.37rem!important;letter-spacing:.085em!important}
  .mate-final-piece b{font-size:.60rem!important}
  .mate-final-target{width:52%!important}
  .final-checkmate .final-copy{padding-inline:16px!important}
}


/* V6.52 — iPhone final-screen fit + safe mate labels */
@media(max-width:640px){
  /* A completed mate is a self-contained result screen on phone.
     Remove the large site chrome so the full result can be read without scrolling. */
  .screen-final{
    width:100%!important;
    min-height:100svh!important;
    padding:max(6px,env(safe-area-inset-top)) 8px max(6px,env(safe-area-inset-bottom))!important
  }
  .screen-final>.brand-header,
  .screen-final>nav,
  .screen-final>.timer-switch-row,
  .screen-final>footer{display:none!important}
  .screen-final #main{width:100%!important;margin:0!important;padding:0!important}
  .screen-final .final-checkmate{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,47%) minmax(0,53%)!important;
    height:calc(100svh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)))!important;
    min-height:0!important;
    max-height:100svh!important;
    border-radius:20px!important
  }
  .screen-final .final-checkmate .final-art{
    min-height:0!important;
    height:100%!important
  }
  .screen-final .mate-final-scene{
    min-height:0!important;
    height:100%!important
  }
  .screen-final .final-checkmate .final-copy{
    min-height:0!important;
    height:100%!important;
    padding:16px 16px 14px!important;
    justify-content:flex-start!important;
    overflow:hidden!important
  }
  .screen-final .final-checkmate .final-copy .eyebrow{
    margin:0 0 7px!important;
    font-size:.61rem!important;
    line-height:1.25!important
  }
  .screen-final .final-checkmate .context-cue{
    margin:0 auto 8px!important;
    padding:4px 8px!important;
    font-size:.66rem!important
  }
  .screen-final .final-checkmate .result-title{
    font-size:clamp(1.9rem,9.2vw,2.5rem)!important;
    line-height:.98!important
  }
  .screen-final .final-checkmate .result-reason{
    margin:7px 0 0!important;
    font-size:.78rem!important
  }
  .screen-final .final-checkmate .gold-rule{
    width:44px!important;
    margin:10px auto 9px!important
  }
  .screen-final .final-checkmate .final-copy h2{
    font-size:clamp(1.18rem,5.8vw,1.55rem)!important;
    line-height:1.05!important
  }
  .screen-final .final-checkmate .final-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    margin:13px auto 0!important
  }
  .screen-final .final-checkmate .final-actions button{
    min-height:43px!important;
    padding:8px 9px!important;
    font-size:.70rem!important;
    line-height:1.15!important
  }
  .screen-final .final-checkmate .final-actions [data-act="analysis"]{
    grid-column:1/-1!important
  }
  .screen-final .final-checkmate .final-actions [data-act="history"]{
    grid-column:1/-1!important;
    min-height:28px!important;
    padding:3px 8px!important
  }

  /* Keep all attacker metadata inside the rounded art frame. */
  .screen-final .mate-final-attacker span{left:14px!important}
  .screen-final .mate-final-attacker b{left:15px!important}
  .screen-final .mate-final-target span{right:10px!important}
  .screen-final .mate-final-target b{right:12px!important}

  .screen-final .mate-scene-air-bomber .mate-final-attacker{
    left:0!important;top:94px!important;width:72%!important;height:176px!important
  }
  .screen-final .mate-scene-air-bomber .mate-final-target{
    right:0!important;top:205px!important;width:50%!important;height:138px!important
  }
  .screen-final .mate-scene-surface-generic .mate-final-target{
    right:0!important;top:154px!important;width:49%!important;height:142px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-pawn .mate-final-attacker{
    left:2%!important;top:122px!important;width:40%!important;height:190px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-bishop .mate-final-attacker{
    left:0!important;top:138px!important;width:55%!important;height:166px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-knight .mate-final-attacker{
    left:0!important;top:143px!important;width:54%!important;height:160px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-rook .mate-final-attacker{
    left:0!important;top:149px!important;width:53%!important;height:151px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-queen .mate-final-attacker{
    left:0!important;top:137px!important;width:55%!important;height:168px!important
  }
  .screen-final .mate-scene-surface-generic.mate-piece-king .mate-final-attacker{
    left:0!important;top:145px!important;width:52%!important;height:156px!important
  }
  .screen-final .mate-scene-sub-nuclear .mate-final-target,
  .screen-final .mate-scene-sub-attack .mate-final-target{
    right:0!important;top:92px!important;width:50%!important;height:139px!important
  }
  .screen-final .mate-scene-sub-nuclear .mate-final-attacker{
    left:0!important;top:205px!important;width:67%!important;height:149px!important
  }
  .screen-final .mate-scene-sub-attack .mate-final-attacker{
    left:0!important;top:210px!important;width:66%!important;height:145px!important
  }
  .screen-final .mate-final-kicker{
    left:15px!important;top:11px!important;
    font-size:clamp(1.45rem,7.8vw,1.85rem)!important
  }
  .screen-final .mate-final-scene-title{
    left:16px!important;top:57px!important;
    font-size:.43rem!important
  }
  .screen-final .mate-final-piece span{
    font-size:.36rem!important;
    padding:3px 5px!important;
    letter-spacing:.085em!important
  }
  .screen-final .mate-final-piece b{font-size:.57rem!important}
  .screen-final .mate-final-relation{
    left:15px!important;bottom:8px!important;
    font-size:.35rem!important
  }
  .screen-final .mate-final-impact{width:54px!important;height:54px!important}
  .screen-final .mate-final-impact:before{width:34px!important;height:34px!important}
  .screen-final .mate-final-impact i:first-child{height:72px!important}
  .screen-final .mate-final-impact i:last-child{width:72px!important}
}

@media(max-width:380px) and (max-height:720px){
  .screen-final .final-checkmate{grid-template-rows:45% 55%!important}
  .screen-final .final-checkmate .final-copy{padding:12px 13px 10px!important}
  .screen-final .final-checkmate .final-actions{margin-top:9px!important}
  .screen-final .final-checkmate .final-actions button{min-height:39px!important}
  .screen-final .mate-final-kicker{font-size:1.42rem!important}
  .screen-final .mate-final-scene-title{top:53px!important}
}

/* V6.58 — phone game frame: keep match metadata and changing point totals inside the border. */
@media(max-width:640px){
  .focus-mode #game-root{padding-bottom:18px!important}
  .focus-mode #game-meta{
    box-sizing:border-box;width:100%;min-width:0;
    padding:12px 14px 7px;margin:0;display:flex;
    flex-wrap:wrap;align-items:center;gap:6px 7px
  }
  .focus-mode #game-meta .pill{max-width:100%;min-width:0}
  .focus-mode #save-status{margin-left:auto;max-width:100%;white-space:nowrap;flex-shrink:0}
  .focus-mode #board-state{box-sizing:border-box;padding:0 12px;gap:10px;min-width:0}
  .focus-mode #board-state section{min-width:0;padding:7px 0 0}
  .focus-mode #board-state .plane-status{
    min-height:62px;align-content:flex-start;justify-content:center;max-width:100%
  }
  .focus-mode #board-state .capture-points{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:1px;min-height:39px;margin:8px 0 0;line-height:1.3;text-align:center
  }
  .focus-mode #board-state .points-count{font-weight:600;font-size:.79rem}
  .focus-mode #board-state .points-detail{font-size:.67rem}
  .focus-mode #game-secondary{box-sizing:border-box;padding:0 14px}
}

/* Nature Version · Pacific Wildlands · separate physical-game identity. */
.plane-actions .nature-plane{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(137,194,157,.62);color:#f0fff5;background-size:cover;background-position:center;box-shadow:inset 0 0 34px rgba(2,36,27,.55)}
.plane-actions .nature-plane:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(140deg,rgba(7,59,65,.56),rgba(8,31,34,.83))}
.plane-actions .nature-plane.plane-upper{background:linear-gradient(155deg,#4b9ca5,#1a4c65 62%,#102e49)!important}
.plane-actions .nature-plane.plane-middle{background:linear-gradient(155deg,#55896d,#23543a 62%,#173a2e)!important}
.plane-actions .nature-plane.plane-lower{background:linear-gradient(155deg,#316e8f,#153452 62%,#09203d)!important}
.plane-actions .nature-plane strong{color:#f5ffe9;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.nature-capture-wizard .capture-visual-choice,.nature-mate-dialog .capture-visual-choice{border-color:rgba(105,177,145,.48);background:linear-gradient(155deg,#0d2f39,#0a202b)}
.nature-capture-wizard .capture-visual-choice.selected,.nature-mate-dialog .capture-visual-choice.selected{border-color:#b7d68f;box-shadow:inset 0 0 0 1px rgba(195,233,158,.28)}
.nature-mate-dialog>h3{font-size:1.35rem;letter-spacing:.06em;color:#b7dc9a;margin:12px 0}
.nature-rules-guide details[open]{border-color:#749f89}

/* V5.5 — contextual transfer opens the debrief; chronology and metrics follow. */
.analysis-transfer-hero{
  min-width:0;box-sizing:border-box;margin:10px 0 28px;padding:clamp(21px,3.6vw,34px);
  border:1px solid rgba(218,186,104,.62);border-radius:20px;
  background:radial-gradient(ellipse at 88% 8%,rgba(214,177,83,.14),transparent 53%),
    linear-gradient(135deg,#0c2941,#081b2d 56%,#071421);
  box-shadow:0 16px 40px rgba(0,0,0,.22),inset 0 1px 0 rgba(242,213,141,.10)
}
.analysis-transfer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:15px}
.analysis-transfer-kicker{color:#e3c16b;font-size:.70rem;letter-spacing:.15em;font-weight:800}
.analysis-transfer-context{display:inline-block;max-width:100%;padding:6px 11px;border:1px solid rgba(229,191,102,.32);border-radius:100px;background:rgba(10,27,43,.65);color:#f5dfaa;font-size:.75rem;font-weight:650}
.analysis-transfer-hero h1{margin:0 0 17px;color:#f9f1df;font-size:clamp(1.55rem,3.7vw,2.15rem);line-height:1.18;letter-spacing:-.02em}
.analysis-transfer-reading{max-width:78ch;margin:0;color:#edf2f8;font-size:clamp(1rem,1.7vw,1.13rem);line-height:1.75;overflow-wrap:break-word}
.analysis-transfer-note{margin:20px 0 0;padding-top:14px;border-top:1px solid rgba(185,209,231,.13);color:#9bb1c5;font-size:.76rem;line-height:1.55}
.analysis-details-heading{margin:0 0 18px}
.analysis-details-heading h2{font-size:clamp(1.25rem,2.5vw,1.65rem);color:#e8f0f9;margin-bottom:7px}
@media(max-width:640px){
  .analysis-transfer-hero{padding:21px 18px;margin:8px 0 25px;border-radius:17px}
  .analysis-transfer-top{align-items:flex-start;gap:9px}
  .analysis-transfer-context{font-size:.71rem}
  .analysis-transfer-hero h1{margin-bottom:14px}
  .analysis-transfer-reading{line-height:1.65}
  .analysis-details-heading{margin-bottom:16px}
}

/* Nature Visuals V1: genuine user-provided Pacific Wildlands landscapes. */
.plane-actions .nature-plane.plane-upper{
  background-image:linear-gradient(180deg,rgba(5,22,30,.34),rgba(4,27,36,.79)),url('/assets/nature/planes/upper.webp')!important;
  background-size:cover!important;background-position:center!important;
}
.plane-actions .nature-plane.plane-middle{
  background-image:linear-gradient(180deg,rgba(4,31,28,.25),rgba(3,26,23,.82)),url('/assets/nature/planes/middle.webp')!important;
  background-size:cover!important;background-position:center!important;
}
.plane-actions .nature-plane.plane-lower{
  background-image:linear-gradient(180deg,rgba(1,23,41,.34),rgba(0,11,28,.80)),url('/assets/nature/planes/lower.webp')!important;
  background-size:cover!important;background-position:center!important;
}
.plane-actions .nature-plane{min-height:126px;text-shadow:0 1px 7px rgba(0,0,0,.9)}
.plane-actions .nature-plane span,.plane-actions .nature-plane small{color:#eff9f8;text-shadow:0 1px 5px #00131a}
.paused .plane-actions .nature-plane{filter:brightness(.65) saturate(.60);box-shadow:none}
.nature-capture-wizard .capture-visual-choice,.nature-mate-dialog .capture-visual-choice{
  border-color:#6b9d83;min-width:0;overflow:hidden
}
.nature-capture-wizard .capture-unit-art.nature-unit-gallery,.nature-mate-dialog .capture-unit-art.nature-unit-gallery{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:4px!important;width:100%;height:82px!important;min-height:82px!important
}
.nature-unit-gallery :is(img,svg){display:block!important;flex:0 1 auto;border-radius:8px;
  width:90%!important;max-width:88px!important;height:76px!important;object-fit:contain!important;
  background:rgba(208,229,220,.85);box-shadow:0 1px 5px #0005}
.nature-unit-gallery.has-alt :is(img,svg){width:48%!important;max-width:72px!important}
.nature-capture-wizard .capture-unit-copy strong,.nature-mate-dialog .capture-unit-copy strong{
  overflow-wrap:anywhere;font-size:.78rem;line-height:1.2
}
@media(max-width:640px){
  .plane-actions .nature-plane{min-height:106px}
  .nature-capture-wizard .capture-unit-art.nature-unit-gallery,.nature-mate-dialog .capture-unit-art.nature-unit-gallery{height:72px!important;min-height:72px!important}
  .nature-unit-gallery :is(img,svg){height:68px!important}
  .nature-unit-gallery.has-alt :is(img,svg){max-width:60px!important}
  .nature-capture-wizard .capture-unit-copy strong,.nature-mate-dialog .capture-unit-copy strong{font-size:.72rem}
}

/* Nature Preview V1.1 — visual isolation from Wargame and sticker legibility. */
.focus-mode #game-card.nature-game .nature-plane{
  background-blend-mode:normal!important;
  box-shadow:inset 0 -26px 38px rgba(0,16,16,.30)!important;
  filter:none!important;
}
.focus-mode #game-card.nature-game .nature-plane:before{
  background:linear-gradient(180deg,transparent 0%,rgba(0,21,27,.07) 29%,rgba(0,19,25,.44) 100%)!important;
}
.focus-mode #game-card.nature-game .nature-plane.plane-upper{
  background-image:linear-gradient(180deg,rgba(5,25,29,.07),rgba(4,22,28,.26)),url('/assets/nature/planes/upper.webp')!important;
  background-size:cover!important;background-position:center 47%!important
}
.focus-mode #game-card.nature-game .nature-plane.plane-middle{
  background-image:linear-gradient(180deg,rgba(5,25,20,.08),rgba(3,23,21,.32)),url('/assets/nature/planes/middle.webp')!important;
  background-size:cover!important;background-position:center 50%!important
}
.focus-mode #game-card.nature-game .nature-plane.plane-lower{
  background-image:linear-gradient(180deg,rgba(3,20,37,.05),rgba(1,20,37,.27)),url('/assets/nature/planes/lower.webp')!important;
  background-size:cover!important;background-position:center 48%!important
}
.focus-mode #game-card.nature-game .nature-plane strong,
.focus-mode #game-card.nature-game .nature-plane span,
.focus-mode #game-card.nature-game .nature-plane small{
  color:#fff!important;text-shadow:0 1px 3px #000,0 3px 9px #00151f!important
}
#game-card.nature-game .capture-open{
  background:linear-gradient(90deg,rgba(3,29,24,.75),rgba(2,36,33,.49) 55%,rgba(3,26,33,.78)),
    url('/assets/nature/planes/middle.webp') center 52%/cover no-repeat!important;
  border-color:#9fc4a2!important;box-shadow:inset 0 0 0 1px rgba(180,227,188,.15)!important
}
#game-card.nature-game .mate-open{
  background:linear-gradient(90deg,rgba(3,24,35,.80),rgba(4,42,32,.44) 55%,rgba(2,29,40,.80)),
    url('/assets/nature/planes/upper.webp') center 45%/cover no-repeat!important;
  border-color:#c0d38c!important;box-shadow:inset 0 0 0 1px rgba(216,233,164,.12)!important
}
#game-card.nature-game .capture-open::before,#game-card.nature-game .mate-open::before{
  background:none!important;box-shadow:none!important;border:0!important
}
#game-card.nature-game .capture-open-title{color:#f7e4a5;text-shadow:0 2px 9px #081d1c}
#game-card.nature-game .mate-open-title{color:#eff6bb;text-shadow:0 2px 9px #081d1c}
.nature-capture-wizard .capture-plane-grid{margin-bottom:15px!important}
.nature-capture-wizard .capture-wizard-unit-grid{margin-top:7px!important}
.nature-capture-wizard .capture-attacker-choice,
.nature-mate-dialog .capture-attacker-choice{
  box-sizing:border-box;justify-content:flex-start!important;
  min-height:196px!important;gap:9px!important;padding:8px 6px 13px!important;
  border-color:rgba(124,184,154,.47)!important
}
.nature-capture-wizard .capture-attacker-choice .nature-unit-gallery,
.nature-mate-dialog .capture-attacker-choice .nature-unit-gallery{
  box-sizing:border-box;display:flex!important;flex-direction:row!important;
  gap:5px!important;align-items:stretch!important;justify-content:center!important;
  height:112px!important;min-height:112px!important;margin:0!important;
  border-radius:10px;background:transparent!important
}
.nature-capture-wizard .nature-unit-gallery :is(img,svg),
.nature-mate-dialog .nature-unit-gallery :is(img,svg){
  display:block!important;min-width:0!important;flex:1 1 auto!important;
  width:100%!important;max-width:none!important;height:112px!important;
  margin:0!important;padding:3px!important;box-sizing:border-box!important;
  border-radius:8px!important;object-fit:contain!important;
  filter:contrast(1.04) brightness(.98) saturate(.95)!important;transform:none!important;
  box-shadow:0 1px 6px rgba(0,0,0,.12)!important
}
.nature-capture-wizard .side-white .nature-unit-gallery :is(img,svg),
.nature-mate-dialog .side-white .nature-unit-gallery :is(img,svg){background-color:#fbfcfd!important}
.nature-capture-wizard .side-black .nature-unit-gallery :is(img,svg),
.nature-mate-dialog .side-black .nature-unit-gallery :is(img,svg){background-color:#d5eaf4!important;mix-blend-mode:normal;filter:none!important}
.nature-capture-wizard .nature-unit-gallery.has-alt :is(img,svg),
.nature-mate-dialog .nature-unit-gallery.has-alt :is(img,svg){
  flex:0 1 calc(50% - 2px)!important;width:calc(50% - 2px)!important;max-width:none!important
}
.nature-capture-wizard .capture-unit-copy,
.nature-mate-dialog .capture-unit-copy{
  display:flex!important;flex-direction:column!important;gap:5px!important;
  justify-content:center!important;align-items:center!important;
  flex:1 0 auto;min-height:59px!important;padding:4px 1px 1px!important;
  grid-template-rows:none!important
}
.nature-capture-wizard .capture-unit-copy strong,
.nature-mate-dialog .capture-unit-copy strong{font-size:.79rem!important;line-height:1.22!important}
.nature-capture-wizard .capture-unit-copy small,
.nature-mate-dialog .capture-unit-copy small{color:#bcd6d5!important;line-height:1.25!important}
.nature-mate-dialog .capture-plane-grid{margin-bottom:14px!important}
.nature-learning{
  margin:15px 0 5px;padding:13px 16px 14px;border-radius:13px;
  border:1px solid rgba(148,204,169,.64);
  background:linear-gradient(145deg,rgba(16,55,46,.97),rgba(6,37,43,.96));
  color:#f0faf6;box-shadow:inset 0 1px 0 rgba(233,255,229,.08)
}
.nature-learning-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nature-learning-head span{font-size:.67rem;font-weight:850;letter-spacing:.13em;color:#d4eeb4}
.nature-learning .nature-learning-close{min-height:28px!important;padding:3px 9px!important;font-size:.68rem}
.nature-learning h3{margin:6px 0 5px;font-size:1.03rem;color:#e7f6ce}
.nature-learning p{margin:5px 0 9px;font-size:.86rem;line-height:1.55}
.nature-learning .nature-learning-question{border-left:2px solid #bbd990;padding-left:10px}
.nature-learning small{font-size:.68rem;color:#bed5d1}
@media(max-width:640px){
  .nature-capture-wizard .capture-plane-grid{margin-bottom:12px!important}
  .nature-capture-wizard .capture-wizard-unit-grid{margin-top:8px!important}
  .nature-capture-wizard .capture-attacker-choice,.nature-mate-dialog .capture-attacker-choice{
    min-height:168px!important;padding:6px 5px 9px!important;gap:6px!important
  }
  .nature-capture-wizard .capture-attacker-choice .nature-unit-gallery,
  .nature-mate-dialog .capture-attacker-choice .nature-unit-gallery{height:94px!important;min-height:94px!important}
  .nature-capture-wizard .nature-unit-gallery :is(img,svg),
  .nature-mate-dialog .nature-unit-gallery :is(img,svg){height:94px!important}
  .nature-capture-wizard .capture-unit-copy,
  .nature-mate-dialog .capture-unit-copy{min-height:55px!important;padding:3px 0!important}
  .nature-capture-wizard .capture-unit-copy strong,
  .nature-mate-dialog .capture-unit-copy strong{font-size:.72rem!important}
  .nature-learning{padding:11px 12px}
}

.nature-intro-frame {
  margin: 0 0 1rem;
}
.nature-intro-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8;
  object-fit: cover;
  border-radius: .75rem;
  background: #142d30;
}
.nature-intro-frame h3 {
  font-size: clamp(1.15rem, 4vw, 1.65rem);
  margin: .25rem 0 .45rem;
}
.nature-intro-frame .eyebrow {
  margin-top: .7rem;
}
.nature-intro-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
}
.nature-intro-controls button,
.nature-learning button,
.nature-journal-button {
  min-height: 44px;
}
.nature-learning-fact {
  color: inherit;
  border-bottom: 1px solid currentColor;
  padding-bottom: .65rem;
}
.nature-journal-button {
  margin-top: .6rem;
}

.edition-option .edition-choice {
  width: 100%;
}
.nature-intro-card {
  width: 100%;
  margin-top: 14px;
  border-color: #385950;
  border-radius: 12px;
  background: #0e242a;
  text-align: center;
}
.nature-intro-card:hover {
  border-color: #83b598;
}
.nature-capture-wizard .capture-attacker-choice.selected {
  border-color: var(--gold-light)!important;
  box-shadow: inset 0 0 0 1px var(--gold-light);
}
.final-cinematic .final-art { display:block; height:auto; padding:0; background:#061725; }
.final-scene-still { position:relative; width:100%; height:100%; min-height:230px; isolation:isolate; }
.final-cinematic .final-scene-still img {
  position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none;
  object-fit:cover; filter:none;
}
.final-scene-still::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 42%, #03101ddb 100%);
}
.final-scene-still span {
  position:absolute; z-index:1; bottom:17px; left:20px;
  color:#f5dfaa; font-weight:750; text-transform:uppercase; letter-spacing:.11em; font-size:.78rem;
}
.analysis-transfer-hero details { margin-bottom:0; }
.analysis-transfer-hero details p { margin:0 0 .5rem; max-width:65ch; }
@media(max-width:640px) {
  .final-cinematic .final-scene-still { height:clamp(140px, 48vw, 230px); min-height:0; }
}
.nature-learning-type {
  color: #c2dccf;
  font-size: .85rem;
  font-weight: 600;
}

.nature-intro-return-art {
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 8;
  border-radius: .75rem;
  background: radial-gradient(ellipse at center, #254c51, #0b242d 75%);
}
.nature-intro-return-art :is(img,svg) {
  width: clamp(86px, 34%, 164px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  border: 1px solid #84ada8;
  background: #e7f2ed;
}
