
:root{color-scheme:dark;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--bg:#10171A;--panel:#17201F;--surface-raised:#1E2B29;--text:#F2EFE6;--muted:#93A39C;--line:#2B3A37;--lime:#2F9E6E;--cyan:#4FB8C4;--gold:#D8A24C;--focus:#6FD6D1;--shadow:0 12px 32px #0004;--motion:220ms;--font-body:'Barlow',system-ui,sans-serif;--font-display:'Barlow Condensed',system-ui,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#F7F5EF;--panel:#FFFFFF;--surface-raised:#EDE9DE;--text:#1C2420;--muted:#56645D;--line:#C9C2B2;--lime:#1F7A52;--cyan:#1C7A86;--focus:#0E7490;--shadow:0 8px 26px #19395412}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.5}.brand,h1,h2,h3,.metric strong,.player-num,.hero-counts b,.orbit-center,.plan-total b,.date-box,.stats b{font-family:var(--font-display)}.orbit-center span{font-family:var(--font-body)}button,input,textarea,select{font-family:inherit;font-size:14px}button,.btn,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}button,.btn{min-width:44px;transition:background var(--motion),transform var(--motion),border-color var(--motion);touch-action:manipulation}button:active,.btn:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}button,.btn,input,select,textarea,.rating{background:var(--surface-raised);color:var(--text);border-color:var(--line)}button.primary,.btn.primary{background:var(--lime);color:var(--bg);border-color:var(--lime)}.panel,.metric,.session-builder,.drill-card,dialog{background:var(--panel);border-color:var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow)}.sidebar,header{background:var(--bg);border-color:var(--line)}.sidebar{overflow-y:auto}.sidebar nav a{min-height:48px;align-items:center}.sidebar nav i{display:flex}.tag,.subtle,small,.muted{font-size:12px}.eyebrow{font-size:11px;letter-spacing:1.4px}p{font-size:14px;color:var(--muted)}.notice{font-size:12px;color:var(--muted);background:var(--panel);border-color:var(--line)}.heading h1{overflow-wrap:anywhere}.library-filters select,.category-tabs button,.drill-bottom button,.drill-meta,.drill-content p{font-size:12px;min-height:44px}.favorite,.plan-item-controls button{width:44px;height:44px}.plan-item-controls input{width:64px}.field{gap:8px}.field label,th{font-size:13px}.list-item{min-height:64px}.text-button{min-height:44px}.empty{background:var(--panel);color:var(--muted);padding:32px 24px;line-height:1.8}dialog{padding:24px;max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:#040914ad}.modal-top>button{flex-shrink:0}body:has(dialog[open]){overflow:hidden}.ui-icon{width:22px;height:22px;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ui-tools{display:flex;gap:8px;align-items:center}.ui-tools button{display:grid;place-items:center}.skip-link{position:fixed;top:8px;left:8px;background:var(--lime);color:var(--bg);padding:12px 20px;z-index:100;transform:translateY(-160%);border-radius:8px}.skip-link:focus{transform:none}.device-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);padding:8px 0}.device-status[data-offline=true]{color:#e2c389}.bottom-nav{display:none}.ui-sheet-list{display:grid;gap:8px}.ui-sheet-list a,.ui-sheet-list button{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised);font-size:14px}.ui-sheet-list a:hover{border-color:var(--lime)}.ui-skeleton{height:16px;border-radius:8px;background:var(--surface-raised);animation:ui-pulse 1.4s ease-in-out infinite}.ui-empty-icon{width:56px;height:56px;margin:auto auto 16px;border-radius:50%;background:var(--surface-raised);display:grid;place-items:center}.ui-error{padding:16px;border:1px solid #c28161;border-radius:8px;color:var(--text);background:var(--panel)}.report p,.report small{color:#40534b}.board-frame{border:1px solid var(--line)}[data-theme=light] .welcome-hero,[data-theme=light] .library-hero,[data-theme=light] .feature-link,[data-theme=light] .player,[data-theme=light] .drill-content{background:var(--panel);border-color:var(--line)}[data-theme=light] .player-num,[data-theme=light] .priority,[data-theme=light] .hero-counts b{color:var(--lime)}[data-theme=light] .tag{background:#8fb7c2;color:#1c4954}[data-theme=light] .callout{background:#64a594;color:#2d4442}[data-theme=light] .rating{background:var(--surface-raised)}[data-theme=light] .drill-bottom button{color:#235d36;border-color:#73997c;background:#64a594}
@keyframes ui-pulse{50%{opacity:.45}}
@media(max-width:760px){.sidebar{position:static;padding:16px 20px;border-bottom:1px solid var(--line)}.sidebar nav,.workspace-label{display:none}.brand{font-size:20px}.brand small{font-size:9px}.shell{margin-left:0}header{padding:12px 16px}.header-controls{gap:8px}.header-controls select{font-size:12px;min-width:0}.avatar{display:none}.notice{margin:16px 16px 0;padding:12px;line-height:1.6}main{padding:24px 16px 110px}.heading h1{font-size:26px}.heading>.primary{width:100%}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:20;border-top:1px solid var(--line);background:var(--panel);padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #1013142}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:56px;border:0;background:none;padding:6px 2px;border-radius:12px;color:var(--muted);font-size:10px;text-align:center}.bottom-nav [aria-current=page]{color:var(--lime);background:var(--surface-raised)}.bottom-nav.parent-navigation{grid-template-columns:1fr 1fr}dialog{width:100%;max-width:100%;margin:auto 0 0;max-height:92dvh;border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}.modal-top h2{font-size:22px}.formgrid,.ratings{grid-template-columns:1fr}.actions{gap:12px}.actions>button{flex:1}.welcome-hero,.library-hero{padding:24px}.welcome-hero p,.library-hero p{font-size:14px}.results-label{font-size:12px}.library-toolbar{flex-wrap:wrap}.library-toolbar input{flex-basis:100%;font-size:14px}.category-tabs{gap:8px}.category-tabs button{padding:10px 12px}.drill-grid{grid-template-columns:1fr}.drill-content h3{font-size:18px}.drill-content p{min-height:0}.drill-meta{align-items:center;min-height:32px}.visual-tag{font-size:11px}.session-builder{padding:24px}.plan-item-controls{flex-wrap:wrap}.session{align-items:flex-start;flex-wrap:wrap}.tablewrap{border:1px solid var(--line);border-radius:8px}td,th{padding:12px}footer{padding-bottom:100px}.device-status{padding:0 16px}#toast{bottom:calc(90px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:520px;font-size:14px}.ui-tools{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.bottom-nav,.ui-tools,.device-status,.skip-link{display:none!important}main{padding-bottom:0}}
