:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f7faf8;background:#07110e;font-synthesis:none;text-rendering:optimizeLegibility;--green-950: #07110e;--green-900: #10251e;--green-800: #173f2d;--field: #2d7c45;--mint: #63dfb6;--yellow: #f6c344;--red: #ff5c66;--muted: #9eb1aa;--panel: #10231d;--line: rgba(255,255,255,.1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -10%,#1a5439 0,#10251e 22rem,#07110e 55rem)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.shell{width:min(100% - 32px,760px);margin:0 auto;padding:28px 0 48px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand__mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-weight:900;letter-spacing:-.08em;background:linear-gradient(145deg,var(--yellow),#ffe7a1);color:#10251e;box-shadow:0 10px 30px #f6c3442e}.brand strong{display:block;font-size:1.15rem}.brand span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}.brand--compact .brand__mark{width:42px;height:42px;border-radius:13px}.brand--compact strong{font-size:1rem}.hero-panel{padding:72px 0 38px}.eyebrow{display:inline-flex;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--mint)}h1,h2,h3,p{margin-top:0}.hero-panel h1,.player-header h1,.assignment-heading h1,.round-header h1{font-size:clamp(2rem,8vw,3.7rem);line-height:.98;letter-spacing:-.045em;margin:10px 0 18px}.hero-panel p,.player-header p,.round-header p{color:#c1cec9;font-size:1.05rem;line-height:1.55;max-width:38rem}.home-card,.admin-panel,.question-card,.status-panel,.success-panel,.error-panel{background:linear-gradient(180deg,#173f2de0,#10251eeb);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 18px 50px #0003}.home-card{margin:14px 0}.home-card p,.question-card p,.muted{color:var(--muted);line-height:1.45}.home-card--coach{border-color:#f6c34440}.primary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:14px;background:var(--yellow);color:#10251e;font-weight:850;padding:0 18px;text-decoration:none;cursor:pointer}.primary-button--wide{width:100%;min-height:56px}.subtle-link{display:inline-block;margin-top:20px;color:var(--muted)}.coach-login-actions{display:flex;gap:10px;flex-wrap:wrap}.coach-login-actions a{flex:1;min-width:190px}.auth-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.player-shell{padding-top:18px}.player-header{padding:42px 0 18px}.assignment-stack{display:grid;gap:12px}.assignment-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#10251eeb;border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;min-height:82px}.assignment-card strong{display:block;margin-top:6px}.assignment-kind{color:var(--mint);font-size:.82rem;font-weight:700}.assignment-arrow{font-size:2rem;color:var(--yellow)}.done-list{margin-top:30px}.done-list h2{font-size:1rem;color:var(--muted)}.done-list div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);color:#c7d2ce}.done-list span{color:var(--mint)}.assignment-topbar{display:flex;align-items:center;justify-content:space-between}.back-link{text-decoration:none;color:var(--muted);font-weight:700}.assignment-heading{padding:34px 0 22px;position:sticky;top:0;z-index:4;background:linear-gradient(#07110e 70%,rgba(7,17,14,.94),transparent)}.assignment-heading h1{font-size:2.4rem}.progress-track{height:8px;border-radius:999px;background:#ffffff1a;overflow:hidden}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--mint),var(--yellow));transition:width .25s}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:.8rem;margin-top:8px}.save-state--error{color:var(--red)}.save-state--saving{color:var(--yellow)}.save-state--saved{color:var(--mint)}.question-section{margin:24px 0 38px}.section-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.section-heading>span{display:grid;place-items:center;min-width:48px;height:34px;border-radius:10px;border:1px solid rgba(99,223,182,.35);color:var(--mint);font-size:.72rem;font-weight:900}.section-heading h2{margin:2px 0 4px}.section-heading p{color:var(--muted);margin:0;line-height:1.4}.question-card{margin:10px 0;padding:18px}.question-card h3{font-size:1.05rem;margin-bottom:6px}.question-card p{font-size:.9rem;margin-bottom:16px}.star-rating{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.star-rating__stars{display:flex;gap:2px}.star{width:44px;height:44px;border:0;background:transparent;color:#4b5a55;font-size:2rem;line-height:1;cursor:pointer;padding:0}.star.is-active{color:var(--yellow);text-shadow:0 0 14px rgba(246,195,68,.22)}.star:focus-visible,.choice-chip:focus-visible,.primary-button:focus-visible{outline:3px solid white;outline-offset:2px}.unknown-button{border:0;background:none;color:var(--muted);padding:10px 4px;cursor:pointer}.position-grid{display:grid;gap:10px}.position-row{padding:12px 0;border-top:1px solid var(--line)}.position-row>span{display:block;font-weight:700;margin-bottom:8px}.position-row .star{width:36px;height:36px;font-size:1.65rem}.choice-grid{display:flex;gap:8px;flex-wrap:wrap}.choice-chip{border:1px solid var(--line);background:#0b1915;color:#dbe4e1;border-radius:999px;min-height:42px;padding:0 14px;cursor:pointer}.choice-chip.is-selected{border-color:var(--yellow);background:#f6c34424;color:#fff3c2}.question-card textarea,.question-card input,.admin-panel input,.admin-panel select{width:100%;border:1px solid var(--line);background:#091713;color:#fff;border-radius:12px;padding:13px 14px;outline:none}.question-card textarea:focus,.question-card input:focus,.admin-panel input:focus,.admin-panel select:focus{border-color:var(--mint)}.char-count{display:block;text-align:right;color:var(--muted);margin-top:5px}.submit-bar{position:sticky;bottom:0;padding:16px 0 calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#07110e 20%)}.success-panel{border-color:#63dfb647;color:#d9fff1}.error-panel{border-color:#ff5c6659;color:#ffd8db}.compact-error{margin-bottom:16px}.admin-shell{min-height:100vh}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:20px clamp(20px,4vw,54px);border-bottom:1px solid var(--line);background:#07110ee0;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-topbar a{color:var(--muted)}.admin-grid{display:grid;grid-template-columns:320px 1fr;gap:26px;width:min(1500px,calc(100% - 40px));margin:28px auto}.admin-sidebar{display:grid;gap:18px;align-content:start}.admin-panel h2{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#d8e2de}.admin-panel form{display:grid;gap:14px}.admin-panel label{display:grid;gap:6px;color:var(--muted);font-size:.86rem}.round-list{display:grid;gap:7px}.round-item{display:flex;justify-content:space-between;text-align:left;border:1px solid transparent;border-radius:12px;background:#0b1915;color:#e8f0ed;padding:12px;cursor:pointer}.round-item span{color:var(--muted);font-size:.76rem}.round-item.is-active{border-color:var(--mint);background:#63dfb614}.admin-main{min-width:0;display:grid;gap:20px;align-content:start}.round-header{display:flex;gap:20px;align-items:flex-end;justify-content:space-between;padding:10px 0}.round-header h1{font-size:2.7rem;margin-bottom:8px}.round-actions{display:flex;gap:8px;flex-wrap:wrap}.round-actions button,.link-list button,.copy-mini{border:1px solid var(--line);background:#10251e;color:#eef4f2;border-radius:10px;padding:10px 12px;cursor:pointer}.progress-list,.link-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.progress-list div,.link-list div{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0a1814;border-radius:10px;padding:10px 12px}.progress-list span,.link-list span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.section-title-row{display:flex;justify-content:space-between;align-items:end}.section-title-row span{color:var(--muted)}.player-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px}.player-card-game{position:relative;overflow:hidden;border-radius:26px;padding:20px;background:radial-gradient(circle at 100% 0,rgba(246,195,68,.16),transparent 34%),linear-gradient(145deg,#18392b,#091611 70%);border:1px solid rgba(246,195,68,.35);box-shadow:0 20px 50px #00000047}.player-card-game:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.035),transparent 65%);pointer-events:none}.player-card-game__header{display:flex;gap:14px;align-items:center;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:16px}.player-card-game__badge{display:grid;place-items:center;width:58px;height:68px;clip-path:polygon(50% 0,100% 18%,90% 80%,50% 100%,10% 80%,0 18%);background:linear-gradient(#f8d66e,#d9a925);color:#10251e;font-weight:950;font-size:.8rem}.player-card-game__header p{color:var(--muted);font-size:.76rem;margin-bottom:3px;text-transform:uppercase;letter-spacing:.12em}.player-card-game__header h3{font-size:1.35rem;margin-bottom:8px}.position-badges{display:flex;gap:5px;flex-wrap:wrap}.position-badges span{font-size:.68rem;padding:4px 7px;border-radius:999px;background:#63dfb61c;color:#bff7e3}.game-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 0}.game-stat{min-width:0}.game-stat__value{font-size:1.8rem;font-weight:950;color:var(--yellow);margin-right:5px}.game-stat__code{font-weight:900;font-size:.78rem}.game-stat small{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.game-stat__detail{font-size:.66rem;color:#9fb0aa;margin-top:4px}.extra-stats{display:grid;gap:5px;border-top:1px solid var(--line);padding-top:12px}.extra-stats div{display:flex;justify-content:space-between}.extra-stats strong{font-size:.8rem}.extra-stats span{color:var(--mint);font-weight:800}.player-card-game footer{color:#73837d;font-size:.64rem;margin-top:14px}code{display:inline-block;margin-top:8px;background:#081411;padding:8px;border-radius:8px;word-break:break-all}.copy-mini{margin-left:8px}@media(max-width:780px){.admin-grid{grid-template-columns:1fr;width:min(100% - 24px,720px)}.admin-sidebar{grid-template-columns:1fr}.round-header{align-items:flex-start;flex-direction:column}.round-actions{width:100%}.round-actions button{flex:1}.admin-topbar{padding:14px 16px}.player-card-grid{grid-template-columns:1fr}}@media(max-width:420px){.shell{width:min(100% - 22px,760px)}.hero-panel{padding-top:48px}.hero-panel h1{font-size:2.7rem}.question-card{padding:15px}.star{width:40px;height:40px;font-size:1.8rem}.position-row .star{width:32px;height:34px;font-size:1.5rem}.game-stats{grid-template-columns:repeat(2,1fr)}.assignment-heading{padding-top:24px}.assignment-heading h1{font-size:2rem}}.step-line{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.8rem;margin:0 0 10px}.step-line strong{color:#e8f0ed;font-size:.85rem}.section-nav{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:16px 0 calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#07110e 20%);z-index:5}.section-nav button{min-width:120px}.secondary-button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:#10251e;color:#eef4f2;font-weight:750;padding:0 18px;cursor:pointer}.secondary-button:disabled{opacity:.35;cursor:default}.player-result{min-width:0}.player-result-detail{margin-top:8px;background:#0a1814;border:1px solid var(--line);border-radius:14px;overflow:hidden}.player-result-detail summary{cursor:pointer;padding:12px 14px;color:var(--muted);font-size:.82rem;font-weight:750}.result-detail-list{border-top:1px solid var(--line);padding:6px 14px 12px}.result-detail-row{display:grid;grid-template-columns:minmax(120px,1.5fr) repeat(3,minmax(70px,1fr));gap:8px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);align-items:center}.result-detail-row>span{font-size:.8rem}.result-detail-row div{display:grid;gap:2px}.result-detail-row small{font-size:.6rem;color:var(--muted)}.result-detail-row strong{font-size:.78rem}.result-text-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.result-text-row>strong{font-size:.8rem}.result-text-row p{font-size:.76rem;color:#ced9d5;margin:7px 0 0;line-height:1.4}.result-text-row p span{color:var(--muted)}@media(max-width:520px){.result-detail-row{grid-template-columns:1fr 1fr}.result-detail-row>span{grid-column:1/-1}}.coach-nav{display:flex;align-items:center;gap:18px}.coach-nav a{text-decoration:none}.coach-nav a:hover{text-decoration:underline}.help-shell{min-height:100vh}.help-content{width:min(920px,calc(100% - 32px));margin:0 auto;padding:42px 0 70px}.help-hero{padding:18px 0 26px}.help-hero h1{font-size:clamp(2.2rem,7vw,4rem);line-height:1;letter-spacing:-.045em;margin:10px 0 14px}.help-hero p{color:#c1cec9;font-size:1.05rem;line-height:1.55;max-width:44rem}.help-card{background:linear-gradient(180deg,#173f2de0,#10251eeb);border:1px solid var(--line);border-radius:20px;padding:22px;margin:14px 0}.help-card h2{font-size:1.2rem;margin-bottom:10px}.help-card p,.help-card li{color:#c5d1cd;line-height:1.55}.help-card ul,.help-card ol{padding-left:1.35rem;margin-bottom:0}.help-card--warning{border-color:#f6c34473;background:linear-gradient(180deg,#483a1499,#10251ef0)}.help-card--warning strong{color:#ffe29a}.help-footer{padding-top:14px}@media(max-width:520px){.help-content{width:min(100% - 22px,920px);padding-top:26px}.coach-nav{gap:12px}.help-card{padding:18px}}.signed-in-as{color:var(--muted);font-size:.78rem;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-nav{display:flex;align-items:center;gap:14px}
