/* Time Wizard Games 0.10: digital editorial surfaces, neon data accents. */
:root{--bg:#f4f6f9;--surface:#fff;--surface-alt:#edf1f8;--ink:#172535;--text:#172535;--muted:#526076;--line:#d7deec;--line-strong:#a0adc6;--accent:#006f83;--accent-bright:#087d94;--accent-hover:#046579;--accent-soft:#e0f5f8;--plum:#6351b5;--plum-soft:#f0ecff;--teal:#087d79;--teal-soft:#def5ed;--warning:#956107;--warning-soft:#fff3ce;--focus:#6351b5;--neon:#00c9dd;--violet:#9a79ff;--amber:#f4b92a;--pink:#e671b1;--board:#e6ecf6;--board-center:#f9fbff;--zone:#ffffff60;--zone-line:#a9b9d1;--header-surface:#f4f6f9f5;--grid-ink:#5979aa0c;--on-accent:#fff}
:root[data-theme=dark]{--bg:#0c111b;--surface:#131c29;--surface-alt:#1b2739;--surface-raised:#23334a;--ink:#eef4ff;--text:#eef4ff;--muted:#afbbd3;--line:#293b55;--line-strong:#526687;--accent:#56e4f0;--accent-bright:#3ed2e3;--accent-hover:#7aeaf4;--accent-soft:#143740;--plum:#b8a0ff;--plum-soft:#28213e;--teal:#62dfb6;--teal-soft:#143b33;--warning:#f9c354;--warning-soft:#3b301a;--focus:#a890ff;--neon:#40edff;--violet:#ad88ff;--amber:#ffcb42;--pink:#ff79c2;--board:#101d30;--board-center:#16263d;--zone:#a3c8ff05;--zone-line:#385678;--header-surface:#0c111bf5;--grid-ink:#93b3e00a;--on-accent:#092633}
body{background:radial-gradient(ellipse at 4% 14%,color-mix(in srgb,var(--neon) 7%,transparent),transparent 38%),radial-gradient(ellipse at 95% 65%,color-mix(in srgb,var(--violet) 8%,transparent),transparent 40%),linear-gradient(var(--grid-ink) 1px,transparent 1px),linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px),var(--bg);background-size:auto,auto,32px 32px,32px 32px,auto;background-attachment:fixed}
button.primary{color:var(--on-accent)}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.panel{box-shadow:0 2px 0 color-mix(in srgb,var(--violet) 5%,transparent)}.panel-head{border-top:2px solid color-mix(in srgb,var(--violet) 30%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--accent-soft) 35%,var(--surface)),var(--surface))}.metric:nth-child(4n+1){border-top:3px solid var(--neon)}.metric:nth-child(4n+2){border-top:3px solid var(--violet)}.metric:nth-child(4n+3){border-top:3px solid var(--amber)}.metric:nth-child(4n){border-top:3px solid var(--pink)}
#header{border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--neon),var(--violet),var(--amber)) 1;box-shadow:0 1px 0 var(--line)}#header .masthead{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding-block:13px}#header .brand{flex:none;min-width:0}#header .brand-title{display:flex;align-items:center;gap:9px}#header .release-label{display:flex;flex-direction:column;gap:2px;white-space:nowrap;font:12px/1.2 var(--font-data);color:var(--muted)}.release-label b{font:600 12px/1.2 var(--font-data);text-transform:uppercase;letter-spacing:1px;color:var(--warning);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--amber) 60%,var(--line));padding:2px 4px;border-radius:3px}#header .brand-tagline{margin-top:5px;max-width:none}#header .header-actions{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none;min-width:0}#header .format-selector{display:flex;flex-direction:row;align-items:center;gap:7px;margin:0}#header .format-selector>span{font:600 12px var(--font-data);letter-spacing:1px}#header .format-selector select{min-width:0;width:178px;min-height:36px}#header .appearance-controls{order:initial;margin:0}#header .grouped-nav{flex:1;justify-content:center}#header .nav-toggle{display:none}.grouped-nav .active{box-shadow:inset 0 -2px var(--neon)}
.legal-navigation{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px 0 20px;font-size:13px}.legal-navigation a[aria-current]{font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:6px}.legal-copy{padding:clamp(20px,4vw,50px);max-width:940px}.legal-copy h2{margin-top:30px;font-size:22px}.legal-copy h2:first-child{margin-top:0}.legal-copy p,.legal-copy li{font-size:15px;line-height:1.8}.legal-copy ul{padding-left:22px}.legal-copy li{margin:10px 0}.legal-copy a{text-decoration:underline}.rules-page>.legal-navigation{padding-bottom:10px}
.composition-chart{display:grid;grid-template-columns:minmax(130px,230px) minmax(150px,1fr);gap:22px;align-items:center;padding:20px;margin:0}.composition-chart svg{display:block;width:100%;max-width:230px}.composition-chart figcaption>strong{font-size:13px}.composition-chart ul{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:7px}.composition-chart li{display:grid;grid-template-columns:9px 1fr auto;gap:8px;align-items:center;font-size:12px;line-height:1.35}.composition-chart i{width:9px;height:9px;border-radius:2px}.composition-chart b{font:500 12px var(--font-data)}.analytics-chart .chart-line{stroke:var(--violet)}.analytics-chart .chart-dot{fill:var(--neon);stroke:var(--surface);stroke-width:2px}.matrix .non-mirror{background:var(--accent-soft);border-right:2px solid var(--line-strong)}
.duel-center .duel-board{background:linear-gradient(135deg,color-mix(in srgb,var(--neon) 3%,transparent),transparent 45%),linear-gradient(325deg,color-mix(in srgb,var(--violet) 6%,transparent),transparent 40%),var(--board);border-color:color-mix(in srgb,var(--neon) 35%,var(--zone-line));box-shadow:inset 0 0 30px color-mix(in srgb,var(--neon) 3%,transparent)}.duel-center .field-half.is-opponent .field-slot{border-color:color-mix(in srgb,var(--violet) 28%,var(--zone-line))}.duel-center .field-half:not(.is-opponent) .field-slot{border-color:color-mix(in srgb,var(--neon) 25%,var(--zone-line))}.duel-player-card.has-priority{border-color:var(--accent);box-shadow:inset 3px 0 var(--neon)}.duel-center .phase.active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 -2px var(--neon)}.duel-mobile-players,.duel-mobile-bar{display:none}.duel-clock.is-low strong{color:var(--danger)}.lp-losing{color:var(--danger)!important}.clock-pulse{animation:clock-pulse .8s ease-out}@keyframes clock-pulse{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px var(--amber);background:var(--warning-soft)}}
@media(max-width:1450px) and (min-width:1001px){#header .grouped-nav{flex-basis:100%;order:3;border-top:1px solid var(--line);padding-top:9px}#header .nav-group{display:flex;align-items:center;gap:10px}}
@media(max-width:1000px){
 #header .masthead{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;gap:10px}#header .brand .wordmark,#header .brand .wordmark>span{font-size:24px}#header .brand-tagline{font-size:12px}#header .nav-toggle{display:block;grid-column:2;grid-row:1;font-size:12px;min-height:34px;padding:5px 12px}#header .header-actions{grid-column:1/-1;grid-row:2;justify-content:space-between;margin:0;gap:8px;width:100%;max-width:none;flex-wrap:nowrap}#header .format-selector{gap:5px}#header .format-selector select{width:137px;font-size:12px;min-height:34px;padding-right:18px}#header #sign-in{font-size:12px;min-height:34px;padding:5px 8px;white-space:nowrap}#header .theme-toggle{min-height:34px;width:49px;padding:0}#header .theme-toggle-track{width:46px;height:28px}#header .theme-toggle-thumb{width:22px;height:22px;top:2px;left:2px}#header .theme-toggle[aria-checked=true] .theme-toggle-thumb{transform:translateX(18px)}#header .theme-sun,#header .theme-moon{width:16px;height:16px}#header .grouped-nav{display:none;grid-column:1/-1;grid-row:3;padding:8px 0 0;gap:5px}#header.nav-open .grouped-nav{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}#header .nav-group,#header .nav-group+.nav-group{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;padding:0;border:0}#header .nav-group-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#header .nav-group-links a{font-size:12px;padding:8px 3px;min-height:38px}#header .nav-group-heading{font-size:12px;letter-spacing:1px}.composition-chart{gap:14px;grid-template-columns:minmax(110px,180px) minmax(140px,1fr);padding:16px}
 body[data-page=game] #header .brand-tagline,body[data-page=game] #header:not(.nav-open) .header-actions{display:none}body[data-page=game] #header .masthead{padding-block:7px}body[data-page=game] #main.duel-workspace{padding:5px 6px 0;margin:0;max-width:none;width:100%;min-height:0}body[data-page=game]{padding-bottom:0;overflow:hidden}body[data-page=game] #header.nav-open{position:absolute;z-index:75;inset:0 0 auto;box-shadow:0 15px 40px var(--shadow)}
 .duel-workspace .duel-studio{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:65px minmax(0,1fr) 38px;gap:5px;height:var(--table-height,calc(100dvh - 60px));min-height:0;max-height:none;padding-bottom:env(safe-area-inset-bottom,0px)}
 .duel-mobile-players{display:grid;grid-template-columns:1fr 1fr;gap:6px;grid-row:1;min-width:0;min-height:0}.duel-mobile-players .duel-context-phase{display:none}.duel-mobile-players .duel-player-card{padding:4px 7px;border-radius:6px;min-width:0;height:65px}.duel-mobile-players .duel-player-identity{gap:5px}.duel-mobile-players .duel-player-identity .avatar{width:19px;height:19px;font-size:12px}.duel-mobile-players .duel-player-identity>div{min-width:0}.duel-mobile-players .duel-player-identity strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.duel-mobile-players .duel-player-identity small,.duel-mobile-players .seat-indicator,.duel-mobile-players .lp-meter,.duel-mobile-players .duel-zone-counts{display:none}.duel-mobile-players .duel-player-numbers{margin-top:3px;gap:4px;align-items:baseline}.duel-mobile-players .duel-player-numbers>div:first-child strong{font-size:20px;line-height:1.2}.duel-mobile-players .duel-player-numbers>div>span{display:inline;font-size:12px;margin-left:4px}.duel-mobile-players .duel-clock strong{font-size:18px;line-height:1.2}.duel-mobile-players .duel-clock>span{display:none!important}
 .duel-workspace .duel-center{grid-column:1;grid-row:2;display:block;height:100%;min-height:0;max-height:none;--zone-height:auto;overflow:hidden}.duel-workspace .duel-center .duel-board{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;height:100%;min-height:0;padding:3px 4px;overflow:hidden}.duel-workspace .field-half{flex:1 1 0!important;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr))!important;padding:2px 0!important;gap:4px!important}.duel-workspace .field-cell,.duel-workspace .field-slot{min-height:0;height:100%;overflow:visible}.duel-workspace .field-card{max-height:100%;max-width:100%}.duel-workspace .field-card .card-tile{height:100%;max-height:100%;min-height:0}.duel-workspace .field-slot{font-size:12px}.duel-workspace .field-slot .stat{font-size:12px}.duel-workspace .duel-center .hand{flex:0 0 83px;height:83px;min-height:0;max-height:83px;padding:4px 1px;gap:0;justify-content:center;overflow-x:auto;overflow-y:hidden}.duel-workspace .hand-card{width:49px;height:71px;flex:0 0 49px;margin-left:-6px}.duel-workspace .hand-card:first-child{margin-left:0}.duel-workspace .hand-card .card-tile{width:100%;height:100%;min-width:0;min-height:0}.duel-workspace .duel-center .hand.opponent{height:19px;min-height:19px;max-height:19px;flex:0 0 19px;padding:0;gap:3px}.duel-workspace .hand.opponent .hand-card{width:12px;height:18px;flex-basis:12px;margin:0}.duel-workspace .duel-hand-label{flex:0 0 12px;font-size:12px;line-height:12px;padding:0;min-height:0}
 .duel-workspace .duel-center .phase-bar{display:flex;flex-wrap:nowrap;align-items:center;flex:0 0 27px;min-height:27px;max-height:27px;padding:0;gap:2px;margin:1px 0}.duel-workspace .phase-bar>.tag{flex:0 0 39px;width:auto;font-size:12px;padding:0;line-height:1.2;grid-column:auto;display:inline}.duel-workspace .duel-center .phase{flex:1 1 0;min-width:0;font-size:12px;padding:2px 1px;min-height:26px;white-space:nowrap}.duel-workspace .pile-tabs button{padding:1px!important;min-height:17px!important;min-width:0;font-size:12px!important;flex-direction:column;gap:0}.duel-workspace .pile-tab-full{display:none}.duel-workspace .pile-tab-short{display:inline;font-size:12px}.duel-workspace .pile-tabs b{font-size:12px}.duel-workspace .pile>span:first-child{font-size:12px}.duel-workspace .pile strong{font-size:13px}
 .duel-mobile-bar{grid-row:3;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;z-index:65}.duel-mobile-bar button{font-size:12px;min-height:34px;padding:4px 6px}.duel-mobile-bar button[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -2px var(--neon)}
 .duel-workspace .duel-context,.duel-workspace .duel-reference,.duel-workspace .duel-social{display:none}.duel-workspace[data-mobile-panel=actions] .duel-context,.duel-workspace[data-mobile-panel=reference] .duel-reference,.duel-workspace[data-mobile-panel=tools] .duel-social{position:absolute;display:flex;grid-area:auto;flex-direction:column;min-width:0;width:auto;inset:70px 0 43px;z-index:60;min-height:0;height:auto;max-height:none;overflow:auto;gap:8px;background:var(--surface);border:1px solid var(--accent);border-radius:10px;box-shadow:0 8px 35px var(--shadow);padding:8px}.duel-workspace .duel-social>[data-player-context]{display:none}.duel-workspace .duel-action-panel{display:flex;flex-direction:column;min-height:0;height:100%;max-height:none;overflow:hidden;border:0;grid-row:auto}.duel-workspace .duel-context .duel-prompt{padding:8px}.duel-workspace .duel-context .duel-prompt h3{font-size:17px}.duel-workspace .duel-context .duel-prompt p{font-size:12px;margin-top:3px}.duel-workspace .duel-response-settings{padding:5px 8px;gap:5px}.duel-workspace .response-settings-title{display:none}.duel-workspace .duel-response-settings label{font-size:12px}.duel-workspace .duel-context .action-menu{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;padding:7px;gap:5px}.duel-workspace .duel-context .duel-action{min-height:43px;padding:6px 8px;font-size:12px;flex:none}.duel-workspace .duel-context .action-thumb{width:23px;height:34px;flex-basis:23px}.duel-workspace .duel-chain{max-height:65px}.duel-workspace .duel-log-panel{min-height:220px;flex:1}.duel-workspace .card-inspector{min-height:180px;max-height:none;flex:none}.duel-workspace .duel-chat-panel{height:260px;min-height:260px}.duel-workspace .duel-card-browser{position:absolute;inset:75px 4px 47px;height:auto;max-height:none;z-index:70;background:var(--surface)}.duel-workspace [data-duel-result]:not(:empty){position:absolute;z-index:72;top:65px;left:10px;right:10px}.duel-workspace .deck-zone{min-height:0}.duel-workspace .duel-board:has([data-side-zone]){overflow:auto}
}
@media(max-width:380px){#header .format-selector>span{display:none}.composition-chart{grid-template-columns:1fr}.composition-chart svg{max-width:170px;margin:auto}.duel-workspace .hand-card{width:43px;height:63px;flex-basis:43px}.duel-workspace .duel-center .hand{height:73px;max-height:73px;flex-basis:73px}}
@media(max-height:550px) and (max-width:1000px){.duel-workspace .duel-studio{grid-template-rows:50px minmax(0,1fr) 34px;gap:3px}.duel-mobile-players .duel-player-card{height:50px;padding:2px 6px}.duel-mobile-players .duel-player-identity .avatar{display:none}.duel-mobile-players .duel-player-numbers>div:first-child strong{font-size:16px}.duel-mobile-players .duel-clock strong{font-size:16px}.duel-workspace .duel-center .hand{flex-basis:56px;height:56px;max-height:56px;padding:2px}.duel-workspace .hand-card{width:35px;height:51px;flex-basis:35px}.duel-workspace .duel-center .hand.opponent{display:none}.duel-workspace .duel-hand-label{display:none}.duel-workspace[data-mobile-panel] .duel-context,.duel-workspace[data-mobile-panel] .duel-reference,.duel-workspace[data-mobile-panel] .duel-social{top:53px;bottom:37px}}
@media(prefers-reduced-motion:reduce){.clock-pulse{animation:none;outline:2px solid var(--amber)}body{background-attachment:scroll}}
.coach-settings,.coach-detail{margin:16px 0}.coach-settings>summary,.coach-detail>summary{cursor:pointer;padding:12px 16px;border:1px solid var(--line);background:var(--surface-alt);border-radius:6px;font-size:13px;font-weight:600}.coach-settings[open]>.grid{margin-top:12px}.coach-leading{border-top:3px solid var(--neon)}.coach-leading .panel-body>strong{font-size:30px;color:var(--accent)}
/* The clock strip is refreshed as LP counts down; a brief stable highlight avoids restarting CSS animation every frame. */
.duel-workspace .clock-pulse{animation:none;outline:2px solid var(--amber);outline-offset:2px;border-radius:3px;background:var(--warning-soft)}
