:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#101318;--ink: #101318;--muted: #66707d;--line: #dfe6ec;--soft: #f5f8fa;--panel: #f8fafb;--teal: #17b6a6;--teal-dark: #087f76;--coral: #f06449;--green: #16a66a;--red: #d94a45;--shadow: 0 28px 90px rgba(16, 19, 24, .12)}*{box-sizing:border-box}body{min-width:320px;margin:0;background:linear-gradient(180deg,#fff,#f8fbfc 62%,#fff)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.site-header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;min-height:76px;padding:0 max(22px,calc((100vw - 1360px)/2));border-bottom:1px solid rgba(223,230,236,.86);background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:var(--ink);font-size:1.28rem;font-weight:880;letter-spacing:0}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-size:1rem}nav{display:flex;justify-content:center;gap:8px}nav button,.user-chip button,.header-login,.trainer-actions button,.trainer-card button,.user-row button{min-height:40px;border:1px solid transparent;border-radius:8px;padding:0 14px;background:transparent;color:var(--muted);font-size:.92rem;font-weight:760}nav button:hover,.user-chip button:hover,.header-login:hover,.trainer-actions button:hover,.trainer-card button:hover,.user-row button:hover{border-color:var(--line);color:var(--ink)}.header-login,.user-chip{justify-self:end}.user-chip{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:.92rem;font-weight:720}.hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:44px;align-items:center;width:min(1360px,calc(100% - 44px));min-height:min(720px,calc(100vh - 76px));margin:0 auto;padding:56px 0 58px}.hero-copy h1,.workspace-head h1,.trainer-head h1,.admin-page h1,.auth-card h1,.empty-state h1{margin:0;color:var(--ink);font-size:clamp(2.6rem,5vw,5.7rem);font-weight:900;line-height:.95;letter-spacing:0}.hero-copy p,.workspace-head p,.trainer-head p,.auth-card p,.feature p,.trainer-card p{color:var(--muted);font-size:1.05rem;font-weight:560;line-height:1.62}.hero-actions,.trainer-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.primary,.secondary{min-height:52px;border-radius:8px;padding:0 22px;border:1px solid var(--line);font-weight:820}.primary{border-color:var(--coral);background:var(--coral);color:#fff}.secondary{background:#fff;color:var(--ink)}.preview-shell{border:1px solid var(--line);border-radius:8px;padding:20px;background:#fff;box-shadow:var(--shadow)}.preview-top,.preview-stats,.workspace-head,.trainer-head,.round-line{display:flex;align-items:center;justify-content:space-between;gap:18px}.preview-top span,.preview-stats span{color:var(--muted);font-size:.9rem;font-weight:720}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.mini-zone{min-height:160px;border:1px solid var(--line);border-radius:8px;padding:18px;background:#fff}.mini-zone span{color:var(--ink);font-weight:850}.mini-zone b{display:block;margin-top:28px;text-align:center;color:var(--ink);font-size:5rem;line-height:.9}.mini-zone.active{border-color:var(--teal);background:linear-gradient(135deg,#17b6a621,#fff 45%)}.feature-band{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:min(1360px,calc(100% - 44px));margin:0 auto 72px}.feature,.metric,.trainer-card,.history-panel,.auth-card,.create-user,.user-table,.trainer-side{border:1px solid var(--line);border-radius:8px;background:#fff}.feature{padding:24px}.feature h2,.trainer-card h2,.history-panel h2{margin:0 0 8px;color:var(--ink);font-size:1.2rem}.app-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;width:min(1360px,calc(100% - 44px));margin:0 auto;padding:34px 0 64px}.sidebar{position:sticky;top:100px;align-self:start;display:grid;gap:8px;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--panel)}.sidebar strong{margin-bottom:8px;font-size:1.1rem}.sidebar button{min-height:42px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);text-align:left;font-weight:760}.sidebar button.selected,.sidebar button:hover{border-color:var(--line);background:#fff;color:var(--ink)}.workspace{min-width:0}.workspace-head{margin-bottom:22px}.workspace-head h1,.trainer-head h1,.admin-page h1{font-size:clamp(2rem,4vw,3.8rem)}.session-strip{display:grid;grid-template-columns:auto auto minmax(180px,1fr);gap:18px;align-items:center;margin:18px 0 4px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fff}.session-strip div{display:grid;gap:3px}.session-strip span,.duration-control button{color:var(--muted);font-size:.78rem;font-weight:830;letter-spacing:0;text-transform:uppercase}.session-strip strong{color:var(--ink);font-size:1.12rem;font-weight:900}.session-progress{display:block;width:100%;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--session-progress),#e6edf2 0)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric{padding:20px}.metric span,.speed-control,.round-line{color:var(--muted);font-size:.78rem;font-weight:830;letter-spacing:0;text-transform:uppercase}.metric strong{display:block;margin-top:8px;color:var(--ink);font-size:2.35rem;line-height:1;font-weight:900}.cards-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.trainer-card{display:grid;min-height:210px;padding:22px}.trainer-card.active{border-color:#17b6a68a;background:linear-gradient(135deg,#17b6a61a,#fff 45%)}.trainer-card button{align-self:end;justify-self:start;border-color:var(--line)}.history-panel{margin-top:18px;padding:22px}.session-row,.user-row{display:grid;grid-template-columns:1fr auto auto auto;gap:16px;align-items:center;padding:13px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.94rem;font-weight:700}.session-row strong,.user-row strong{color:var(--ink)}.admin-note{color:var(--muted);font-weight:700}.auth-page,.empty-state{display:grid;min-height:calc(100vh - 76px);place-items:center;padding:44px 22px}.auth-card{width:min(460px,100%);padding:30px;box-shadow:var(--shadow)}.auth-card h1{font-size:2.7rem}.auth-card label,.create-user label{display:grid;gap:8px;margin-top:16px;color:var(--muted);font-size:.85rem;font-weight:820}.auth-card input,.create-user input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:0 13px;color:var(--ink);font-size:1rem;font-weight:720}.auth-card .primary{width:100%;margin-top:18px}.form-error{display:block;margin-top:12px;color:var(--red);font-weight:760}.admin-page{width:min(1120px,calc(100% - 44px));margin:0 auto;padding:36px 0 64px}.create-user{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;margin-top:22px;padding:18px}.user-table{margin-top:18px;padding:8px 20px}.user-row div{display:grid}.user-row span{color:var(--muted)}.trainer-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;width:min(1360px,calc(100% - 44px));margin:0 auto;padding:34px 0 64px}.trainer-main{min-width:0}.round-line{margin:20px 0 14px}.round-line strong{color:var(--ink);font-size:1.3rem;text-transform:none}.round-line span{display:block;width:min(360px,45%);height:9px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--progress),#e6edf2 0)}.quadrants{display:grid;grid-template-columns:1fr 1fr;gap:14px}.zone{position:relative;min-height:228px;overflow:hidden;border:1px solid var(--line);border-radius:8px;padding:22px;background:#fff;text-align:left}.zone:after{content:"";position:absolute;top:22px;right:22px;width:12px;height:12px;border-radius:50%;background:#cfd7de}.zone.active{border-color:var(--teal);background:linear-gradient(135deg,#17b6a621,#fff 42%);box-shadow:var(--shadow)}.zone.active:after{background:var(--teal);box-shadow:0 0 0 8px #17b6a624}.zone.right{border-color:var(--green);background:#f0fbf5}.zone.wrong{border-color:var(--red);background:#fff4f2}.zone span{display:block;color:var(--ink);font-size:1.22rem;font-weight:880}.zone small{display:block;margin-top:8px;color:var(--muted);font-size:.92rem;font-weight:730}.zone b{display:block;margin-top:32px;text-align:center;color:var(--ink);font-size:clamp(5rem,13vw,9.8rem);line-height:.9;font-weight:920}.answer-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.answer{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:78px;border:0;border-radius:8px;color:#fff;font-size:1.58rem;font-weight:900}.answer:before{display:grid;width:30px;height:30px;place-items:center;border:3px solid currentColor;border-radius:50%;font-size:1.02rem}.answer.yes{background:var(--teal)}.answer.yes:before{content:"✓"}.answer.no{background:var(--coral)}.answer.no:before{content:"×"}.trainer-side{align-self:start;display:grid;gap:12px;padding:18px;background:var(--panel)}.speed-control{display:grid;gap:8px;padding:8px 2px 0}.speed-control strong{color:var(--teal-dark)}input[type=range]{width:100%;accent-color:var(--teal)}.duration-control{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.duration-control button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-transform:none}.duration-control button.selected{border-color:var(--teal);background:#17b6a61a;color:var(--teal-dark)}.history-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.history-strip span{height:12px;border-radius:999px;background:#d8e0e6}.history-strip .hit{background:var(--green)}.history-strip .miss{background:var(--red)}@media(max-width:1060px){.hero,.app-layout,.trainer-layout{grid-template-columns:1fr}.sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.trainer-side,.stat-grid{grid-template-columns:repeat(2,1fr)}.feature-band,.cards-row{grid-template-columns:1fr}}@media(max-width:720px){.site-header{grid-template-columns:1fr auto;gap:12px;padding:12px}nav{grid-column:1 / -1;justify-content:flex-start;overflow-x:auto}.hero,.app-layout,.trainer-layout,.feature-band,.admin-page{width:min(100% - 24px,680px)}.hero{min-height:auto;padding:38px 0 44px}.hero-copy h1{font-size:clamp(2.35rem,12vw,3.7rem)}.preview-shell{padding:14px}.mini-grid,.stat-grid,.trainer-side,.create-user{grid-template-columns:1fr}.quadrants,.answer-row{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-zone,.zone{min-height:156px}.mini-zone b,.zone b{font-size:clamp(3.7rem,19vw,5.8rem)}.workspace-head,.trainer-head,.round-line{align-items:flex-start;flex-direction:column}.session-row,.user-row{grid-template-columns:1fr;gap:6px}.sidebar{grid-template-columns:1fr}}@media(max-width:720px){.view-trainer .site-header{grid-template-columns:auto 1fr;min-height:62px;padding:8px 12px}.view-trainer .site-header nav{display:none}.view-trainer .brand{font-size:1.05rem}.view-trainer .brand-mark{width:36px;height:36px}.view-trainer .user-chip{justify-self:end}.view-trainer .user-chip span{max-width:98px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trainer-layout{width:100%;gap:0;padding:0 12px 118px}.trainer-main{padding-top:10px}.trainer-head{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:8px}.trainer-head h1{font-size:clamp(1.85rem,9vw,2.35rem);line-height:.98}.trainer-head p{display:none}.trainer-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:0}.trainer-actions button{min-height:42px;padding:0 10px;font-size:.88rem}.session-strip{grid-template-columns:1fr 1fr;gap:8px 10px;margin:8px 0;padding:9px 10px}.session-strip strong{font-size:1rem}.session-strip span{font-size:.7rem}.session-progress{grid-column:1 / -1;height:7px}.round-line{display:grid;grid-template-columns:1fr;gap:8px;margin:10px 0}.round-line strong{font-size:1.05rem}.round-line span{width:100%}.quadrants{gap:7px}.zone{min-height:116px;aspect-ratio:1 / .74;padding:10px}.zone:after{top:10px;right:10px;width:9px;height:9px}.zone.active:after{box-shadow:0 0 0 6px #17b6a624}.zone span{max-width:calc(100% - 20px);font-size:.86rem;line-height:1.1}.zone small{margin-top:4px;font-size:.68rem;line-height:1.15}.zone b{margin-top:11px;font-size:clamp(2.55rem,13.5vw,4.2rem)}.answer-row{position:fixed;left:0;right:0;bottom:0;z-index:20;gap:8px;margin:0;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.answer{min-height:62px;font-size:1.2rem}.answer:before{width:25px;height:25px;border-width:2px;font-size:.88rem}.trainer-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;padding:0;border:0;background:transparent}.trainer-side .metric{padding:13px}.trainer-side .metric strong{font-size:1.35rem}.duration-control,.speed-control,.history-strip{grid-column:1 / -1}.duration-control button{min-height:40px}.speed-control{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}}@media(max-width:380px){.site-header{grid-template-columns:1fr}.user-chip,.header-login{justify-self:start}.zone{min-height:120px;padding:10px}.zone b{font-size:clamp(2.55rem,14vw,4.1rem)}}
.trainer-library{width:min(1120px,calc(100% - 44px));margin:0 auto;padding:34px 0 72px}.trainer-library-head{display:block;margin-bottom:18px}.trainer-library-head h1{margin:0;color:var(--ink);font-size:clamp(2.1rem,4.5vw,4rem);line-height:1;font-weight:900;letter-spacing:0}.trainer-library-head p{margin:10px 0 0;color:var(--muted);font-size:1rem;font-weight:680}.trainer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.trainer-tile{position:relative;display:grid;grid-template-rows:150px 150px;min-height:300px;overflow:hidden;border:1px solid #dde5eb;border-radius:8px;padding:0;background:#fff;color:var(--ink);text-align:left;box-shadow:0 10px 28px rgba(16,19,24,.09);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.trainer-tile:hover{transform:translateY(-2px);border-color:#cbd8e1;box-shadow:0 16px 38px rgba(16,19,24,.13)}.trainer-tile:focus-visible{outline:3px solid #17b6a64a;outline-offset:3px}.trainer-tile-art{position:relative;display:block;overflow:hidden;background:linear-gradient(135deg,#26333d,#35444e)}.trainer-tile-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,#ffffff24 0 2px,transparent 3px),radial-gradient(circle at 78% 32%,#ffffff2e 0 2px,transparent 3px),radial-gradient(circle at 58% 78%,#ffffff24 0 2px,transparent 3px)}.trainer-tile-art .shape{position:absolute;display:block}.trainer-tile-art .shape-one{left:-20px;top:-18px;width:112px;height:112px;border:20px solid #47c864;transform:rotate(22deg)}.trainer-tile-art .shape-two{right:-10px;top:30px;width:120px;height:120px;border:24px solid #2599e6;border-radius:8px}.trainer-tile-art .shape-three{left:45%;bottom:-26px;width:88px;height:88px;border:16px solid #ff6b3b;transform:rotate(45deg)}.trainer-tile-art b{position:absolute;right:22px;bottom:12px;color:#ffffffd9;font-size:2.55rem;line-height:1;font-weight:920}.trainer-tile-body{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:16px;padding:22px 22px 18px;background:#fff}.trainer-tile-body strong{display:block;color:var(--ink);font-size:1.45rem;line-height:1.18;font-weight:760}.trainer-tile-body small{display:block;align-self:end;color:#9aa3ab;font-size:1.05rem;line-height:1.35;font-weight:560}.trainer-tile-star{position:absolute;right:24px;bottom:22px;color:#5b5fe8;font-size:2rem;line-height:1;text-shadow:-6px -4px 0 #42c8d4}.trainer-tile:disabled{cursor:not-allowed;opacity:.7;transform:none}@media(max-width:720px){.trainer-library{width:min(100% - 24px,680px);padding:20px 0 48px}.trainer-library-head{display:block;margin-bottom:14px}.trainer-library-head h1{font-size:clamp(2rem,10vw,2.8rem)}.trainer-library-head p{margin-top:8px;font-size:.95rem}.trainer-grid{grid-template-columns:1fr;gap:16px}.trainer-tile{grid-template-rows:132px 132px;min-height:264px}.trainer-tile-body{padding:18px}.trainer-tile-body strong{font-size:1.32rem}.trainer-tile-body small{font-size:.98rem}.trainer-tile-star{right:20px;bottom:18px;font-size:1.85rem}}
.trainer-tile-art{background:linear-gradient(135deg,#22313a 0%,#314754 58%,#159dcc 100%)}.trainer-tile-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 18%,#ffffff24 0 2px,transparent 3px),radial-gradient(circle at 68% 30%,#ffffff2e 0 2px,transparent 3px),radial-gradient(circle at 38% 74%,#ffffff24 0 2px,transparent 3px)}.trainer-tile-art:after{content:"9  E2";position:absolute;left:16px;bottom:16px;color:#ffffff3d;font-size:1.45rem;font-weight:900;letter-spacing:.18em}.trainer-tile-art .shape{width:auto!important;height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff;font-style:normal;font-weight:920;line-height:1;text-shadow:0 10px 22px #1013184a}.trainer-tile-art .shape:before{display:block}.trainer-tile-art .shape-one{left:18px!important;top:18px!important;transform:rotate(-10deg)!important;color:#47d66b;font-size:3.15rem!important}.trainer-tile-art .shape-one:before{content:"B4"}.trainer-tile-art .shape-two{right:20px!important;top:24px!important;transform:rotate(7deg)!important;color:#5fc1ff;font-size:3.45rem!important}.trainer-tile-art .shape-two:before{content:"O8"}.trainer-tile-art .shape-three{left:44%!important;bottom:22px!important;transform:rotate(-7deg)!important;color:#ff7a45;font-size:2.7rem!important}.trainer-tile-art .shape-three:before{content:"K5"}.trainer-tile-art b{right:24px;bottom:10px;color:#fff;font-size:2.7rem;text-shadow:0 10px 22px #10131866}@media(max-width:720px){.trainer-tile-art .shape-one{font-size:2.9rem!important}.trainer-tile-art .shape-two{font-size:3.15rem!important}.trainer-tile-art .shape-three{font-size:2.45rem!important}.trainer-tile-art b{font-size:2.45rem}}
.trainer-actions .trainer-start{border-color:var(--teal);background:var(--teal);color:#fff}.trainer-actions .trainer-start:hover{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff}.trainer-actions .trainer-stop{border-color:var(--coral);background:var(--coral);color:#fff}.trainer-actions .trainer-stop:hover{border-color:#d84f37;background:#d84f37;color:#fff}
body.trainer-play-mode .site-header{display:none}.trainer-setup,.trainer-results{width:min(720px,calc(100% - 24px));margin:0 auto;padding:24px 0 56px}.trainer-setup-head{display:grid;gap:10px;margin-bottom:16px}.setup-back{justify-self:start;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:0 12px;background:#fff;color:var(--muted);font-weight:820}.trainer-setup h1,.trainer-results h1{margin:0;color:var(--ink);font-size:clamp(2.15rem,10vw,3.35rem);line-height:.95;font-weight:930}.trainer-setup p{margin:0;color:var(--muted);font-weight:650;line-height:1.5}.setup-panel{display:grid;gap:14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px;box-shadow:0 14px 42px rgba(16,19,24,.08)}.setup-panel h2{margin:0;color:var(--ink);font-size:1rem}.setup-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.setup-segments button,.speed-cards button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--ink);font-weight:900}.setup-segments button.selected,.speed-cards button.selected{border-color:var(--teal);background:#17b6a61a;color:var(--teal-dark)}.speed-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.speed-cards button{display:grid;gap:3px;align-content:center;padding:10px 8px}.speed-cards strong{font-size:1rem}.speed-cards span{color:var(--muted);font-size:.78rem;font-weight:820}.about-game{border:1px solid #dfe8ee;border-radius:8px;background:#f8fbfc;padding:14px}.about-game h2{margin-bottom:8px}.setup-start{min-height:54px;border:1px solid var(--teal);border-radius:8px;background:var(--teal);color:#fff;font-weight:930;font-size:1rem}.trainer-countdown{display:grid;min-height:100vh;place-items:center;align-content:center;gap:8px;padding:22px;background:#f8fbfc;text-align:center}.trainer-countdown span{color:var(--muted);font-weight:850;text-transform:uppercase}.trainer-countdown strong{color:var(--ink);font-size:clamp(7rem,38vw,12rem);line-height:.9;font-weight:950}.trainer-countdown p{margin:0;color:var(--muted);font-weight:820}.trainer-play{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:8px;min-height:100vh;padding:10px 12px 94px;background:#f8fbfc}.play-session{display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.play-session div{display:grid;gap:2px}.play-session span,.play-round span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.play-session strong,.play-round strong{color:var(--ink);font-size:1.1rem;font-weight:950}.play-session i{grid-column:1/-1;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--session-progress),#e4ebf0 0)}.play-round{display:grid;gap:7px}.play-round div{display:flex;align-items:center;justify-content:space-between;gap:10px}.play-round i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--round-progress),#e4ebf0 0)}.play-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.play-zone{position:relative;min-height:118px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:11px;overflow:hidden}.play-zone:after{content:"";position:absolute;right:10px;top:10px;width:10px;height:10px;border-radius:50%;background:#cfd9df}.play-zone.active{border-color:var(--teal);background:linear-gradient(135deg,#eafffb,#fff 58%)}.play-zone.active:after{background:var(--teal);box-shadow:0 0 0 7px #17b6a629}.play-zone.right{border-color:var(--green);background:#f0fbf5}.play-zone.wrong{border-color:var(--red);background:#fff4f2}.play-zone span{display:block;max-width:calc(100% - 24px);color:var(--ink);font-size:.92rem;font-weight:900}.play-zone small{display:block;margin-top:5px;color:#526171;font-size:.72rem;font-weight:850;letter-spacing:.12em}.play-zone b{position:absolute;right:18px;bottom:10px;color:var(--ink);font-size:clamp(3.15rem,16vw,5.1rem);line-height:.9;font-weight:950}.play-history{display:grid;grid-template-columns:repeat(15,1fr);gap:5px;padding:4px 0}.play-history span{height:9px;border-radius:999px;background:#dbe4ea}.play-history .hit{background:var(--green)}.play-history .miss{background:var(--coral)}.play-answer-row{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffffff0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.play-answer-row .answer{min-height:64px}.trainer-results{display:grid;gap:16px}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.results-grid .metric{padding:16px}.results-grid .metric span{font-size:.72rem}.results-grid .metric strong{font-size:1.75rem}.results-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.results-actions .secondary{min-height:54px}@media(max-width:430px){.trainer-setup,.trainer-results{width:calc(100% - 24px);padding-top:18px}.setup-panel{padding:14px}.setup-segments,.speed-cards{gap:7px}.setup-segments button{font-size:.88rem}.speed-cards strong{font-size:.92rem}.speed-cards span{font-size:.7rem}.trainer-play{padding:8px 12px 92px}.play-zone{min-height:116px;padding:10px}.play-zone b{right:14px;bottom:9px}.results-grid{gap:8px}}
.mobile-menu-toggle,.mobile-menu-panel{display:none}@media(max-width:720px){.site-header{grid-template-columns:48px 1fr 48px!important;gap:0;min-height:64px;padding:8px 12px}.mobile-menu-toggle{grid-column:1;display:flex;width:48px;height:44px;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0;box-shadow:0 3px 10px rgba(16,19,24,.04)}.mobile-menu-toggle span{display:block;width:22px;height:2px;border-radius:999px;background:var(--ink);margin:3px 0;transition:transform .18s ease,opacity .18s ease}.mobile-menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.mobile-menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.site-header .brand{grid-column:2;justify-self:center;gap:8px;font-size:1.12rem}.site-header .brand-mark{width:34px;height:34px}.site-header nav,.site-header .user-chip,.site-header .header-login{display:none}.mobile-menu-panel{position:absolute;left:12px;right:12px;top:64px;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;box-shadow:0 18px 48px rgba(16,19,24,.16)}.mobile-menu-links{display:grid;gap:6px}.mobile-menu-panel button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-align:left;font-size:.98rem;font-weight:850;padding:0 14px}.mobile-menu-panel button:hover{background:#f3f7f8}.mobile-menu-panel .danger{color:var(--coral)}.mobile-menu-user{display:grid;align-content:center;justify-items:end;min-width:118px;border-left:1px solid var(--line);padding-left:12px;color:var(--muted);text-align:right}.mobile-menu-user span{font-size:.68rem;font-weight:900;text-transform:uppercase}.mobile-menu-user strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.98rem;font-weight:900}}@media(max-width:380px){.mobile-menu-panel{grid-template-columns:1fr}.mobile-menu-user{border-left:0;border-top:1px solid var(--line);padding:10px 4px 2px;justify-items:start;text-align:left}.mobile-menu-user strong{max-width:100%}}
.setup-kicker{display:inline-flex;width:max-content;border:1px solid #dfe8ee;border-radius:999px;background:#f8fbfc;color:var(--teal-dark);padding:5px 10px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.setup-start+.about-game{margin-top:2px}.about-game p+p{margin-top:8px}.about-game p{font-size:.94rem}@media(max-width:430px){.trainer-setup-head{gap:8px}.trainer-setup h1{font-size:2.35rem}.trainer-setup p{font-size:.95rem}.about-game{padding:12px}.about-game p{font-size:.9rem}}
.setup-segments button,.speed-cards button{min-height:62px;display:grid;place-items:center;text-align:center}.speed-cards button{grid-template-rows:auto auto}.setup-segments button{align-content:center;padding:10px 8px}.about-game{display:grid;gap:8px}.about-game h2{margin-bottom:0}@media(max-width:430px){.setup-segments button,.speed-cards button{min-height:60px}.setup-panel{gap:12px}}
html.trainer-play-mode,body.trainer-play-mode{height:100%;overflow:hidden;overscroll-behavior:none}body.trainer-play-mode{position:fixed;inset:0;width:100%}body.trainer-play-mode #root{height:100dvh;overflow:hidden}.trainer-play{height:100dvh;min-height:0;overflow:hidden;grid-template-rows:auto auto auto minmax(0,1fr);padding:8px 12px calc(92px + env(safe-area-inset-bottom))}.trainer-play .play-history{padding:0 0 2px}.trainer-play .play-grid{min-height:0;height:100%;overflow:hidden}.trainer-play .play-zone{min-height:0}.play-zone b.stimulus{right:auto;bottom:auto;left:auto;top:auto;max-width:calc(100% - 28px);white-space:nowrap}.play-zone b.stimulus.bottom-right{right:14px;bottom:8px}.play-zone b.stimulus.bottom-left{left:14px;bottom:8px}.play-zone b.stimulus.center{left:50%;top:60%;transform:translate(-50%,-50%)}.play-zone b.stimulus.middle-right{right:14px;top:58%;transform:translateY(-50%)}.play-zone b.stimulus.middle-left{left:14px;top:58%;transform:translateY(-50%)}.play-zone b.stimulus.top-center{left:50%;top:58px;transform:translateX(-50%)}@media(max-width:430px){.trainer-play{gap:7px;padding:8px 12px calc(90px + env(safe-area-inset-bottom))}.trainer-play .play-session{padding:9px}.trainer-play .play-grid{gap:7px}.trainer-play .play-zone b.stimulus{font-size:clamp(2.45rem,13vw,4.25rem)}.play-zone b.stimulus.top-center{top:54px}}
.view-trainer .trainer-results{height:calc(100dvh - 76px);min-height:0;overflow:hidden;align-content:start;gap:12px;padding:18px 0 14px}.trainer-results .results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.trainer-results .metric{padding:13px}.trainer-results .metric strong{font-size:clamp(1.15rem,4.8vw,1.65rem);word-break:break-word}.result-motivation{margin:0;border:1px solid var(--line);border-radius:8px;background:#f8fbfc;color:var(--ink);padding:13px 14px;font-weight:760;line-height:1.42}.trainer-results .results-actions{gap:9px}.trainer-results .results-actions .setup-start,.trainer-results .results-actions .secondary{min-height:50px}@media(max-width:430px){.view-trainer .trainer-results{height:calc(100dvh - 64px);padding:12px 0 10px;gap:9px}.trainer-results h1{font-size:2rem}.trainer-results .results-grid{gap:8px}.trainer-results .metric{padding:10px}.trainer-results .metric span{font-size:.66rem}.trainer-results .metric strong{margin-top:5px;font-size:1.18rem}.result-motivation{padding:11px 12px;font-size:.9rem;line-height:1.34}.trainer-results .results-actions .setup-start,.trainer-results .results-actions .secondary{min-height:48px}}
.speech-room-map{grid-template-columns:repeat(3,1fr)}
.trainer-tile-speech .trainer-tile-art{background-image:linear-gradient(180deg,#10131800,#10131840),url("./speech-mission-card.png");background-size:cover;background-position:center}.trainer-tile-speech .trainer-tile-art:before,.trainer-tile-speech .trainer-tile-art:after,.trainer-tile-speech .trainer-tile-art .shape,.trainer-tile-speech .trainer-tile-art b{display:none!important}.speech-card-shine{position:absolute;inset:0;background:linear-gradient(135deg,#ffffff35 0 18%,transparent 44%),radial-gradient(circle at 76% 28%,#fff8 0 2px,transparent 3px)}.trainer-tile-speech .trainer-tile-body strong{font-weight:820}.trainer-tile-speech .trainer-tile-star{color:#e0ad22;text-shadow:-6px -4px 0 #17b6a6}.view-speech{min-height:100vh;background:linear-gradient(180deg,#fff,#f8fbfc 58%,#eefaf8)}.speech-shell{width:min(980px,calc(100% - 28px));margin:0 auto;padding:28px 0 64px}.speech-hero{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:stretch;margin-bottom:16px}.speech-hero h1,.speech-room-head h1,.speech-results-head h1{margin:0;color:var(--ink);font-size:clamp(2.15rem,8vw,4.25rem);line-height:.95;font-weight:940;letter-spacing:0}.speech-hero p,.speech-room-head p,.speech-card-main p,.speech-results-head p,.speech-safe-note{margin:10px 0 0;color:var(--muted);font-weight:680;line-height:1.5}.speech-hero-art{min-height:190px;border:1px solid var(--line);border-radius:8px;background-image:linear-gradient(180deg,#10131800,#1013184d),url("./speech-mission-card.png");background-size:cover;background-position:center;box-shadow:0 18px 48px rgba(16,19,24,.12)}.speech-adult-panel,.speech-room,.speech-results .speech-result-grid article,.speech-results-head,.speech-medal,.speech-safe-note{border:1px solid var(--line);border-radius:8px;background:#fff}.speech-adult-panel{display:grid;gap:14px;padding:18px;box-shadow:0 14px 42px rgba(16,19,24,.08)}.speech-adult-panel h2{margin:0;color:var(--ink);font-size:1.15rem}.speech-settings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.speech-settings label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.speech-settings select{min-height:48px;border:1px solid var(--line);border-radius:8px;background:#f8fafb;color:var(--ink);padding:0 12px;font-weight:850}.speech-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.speech-toggles button,.speech-start,.speech-finish,.speech-record,.speech-rate-row button,.speech-choice-grid button,.speech-listen-target button{min-height:50px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-weight:900}.speech-toggles button.selected{border-color:var(--teal);background:#17b6a61a;color:var(--teal-dark)}.speech-brief{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #dfe8ee;border-radius:8px;background:#f8fbfc;padding:13px}.speech-brief strong{color:var(--ink);font-size:1.2rem}.speech-brief span{color:var(--muted);font-weight:760}.speech-start{border-color:var(--teal);background:var(--teal);color:#fff;font-size:1rem}.speech-safe-note{padding:13px 14px;font-size:.9rem}.speech-hud{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;margin-bottom:9px}.speech-hud div{display:grid;gap:2px}.speech-hud span,.speech-room-head span,.speech-result-grid span{color:var(--muted);font-size:.7rem;font-weight:930;text-transform:uppercase}.speech-hud strong{color:var(--ink);font-size:1.18rem;font-weight:950}.speech-hud i{grid-column:1/-1;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,var(--teal) var(--speech-progress),#e4ebf0 0)}.speech-room-map{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:9px}.speech-room-map span{display:grid;min-height:32px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);font-weight:950}.speech-room-map span.active{border-color:var(--teal);background:#17b6a61a;color:var(--teal-dark)}.speech-room-map span.done{border-color:#bdebdc;background:#f0fbf5;color:var(--green)}.speech-room{display:grid;gap:12px;padding:16px}.speech-room-head{display:grid;gap:6px}.speech-room-head h1{font-size:clamp(1.75rem,6vw,3rem)}.speech-room-head p{margin:0}.speech-listen-target{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #dfe8ee;border-radius:8px;background:#f8fbfc;padding:10px}.speech-listen-target strong{display:grid;width:64px;height:64px;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-size:2rem}.speech-listen-target button{border-color:var(--teal);color:var(--teal-dark)}.speech-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.speech-choice-grid button{display:grid;gap:8px;align-content:center;justify-items:center;min-height:126px;background:#fff}.speech-choice-grid button span{font-size:2.7rem}.speech-choice-grid button strong{font-size:1.05rem}.speech-card-main{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:center;border:1px solid #dfe8ee;border-radius:8px;background:#f8fbfc;padding:14px}.speech-picture{display:grid;width:132px;height:132px;place-items:center;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:4.2rem}.speech-card-main span{color:var(--muted);font-size:.75rem;font-weight:920;text-transform:uppercase}.speech-card-main strong{display:block;margin-top:5px;color:var(--ink);font-size:clamp(1.75rem,7vw,3.2rem);line-height:1;font-weight:950}.speech-card-main.phrase strong{font-size:clamp(1.35rem,5vw,2.3rem);line-height:1.12}.speech-rate-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.speech-rate-row .good{border-color:var(--teal);background:var(--teal);color:#fff}.speech-rate-row .almost{border-color:#e0ad22;background:#fff9e8;color:#8a6500}.speech-rate-row .again{border-color:var(--coral);background:#fff4f2;color:var(--coral)}.speech-feedback{margin:0;border:1px solid #dfe8ee;border-radius:8px;background:#fff;color:var(--ink);padding:12px 13px;font-weight:820}.speech-finish{width:100%;margin-top:9px;color:var(--muted)}.speech-self{display:grid;gap:10px}.speech-record{border-color:var(--coral);background:var(--coral);color:#fff}.speech-recordings{display:grid;gap:8px}.speech-recordings audio{width:100%}.speech-recordings span{color:var(--muted);font-weight:760}.speech-results{display:grid;gap:12px}.speech-results-head{padding:18px}.speech-results-head h1{font-size:clamp(2rem,8vw,3.5rem)}.speech-medal{display:grid;min-height:86px;place-items:center;color:#e0ad22;font-size:3rem;text-shadow:0 12px 28px #e0ad2240}.speech-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.speech-result-grid article{padding:14px}.speech-result-grid strong{display:block;margin-top:7px;color:var(--ink);font-size:1.45rem;line-height:1;font-weight:940}.speech-results-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.speech-results-actions .secondary{min-height:50px}@media(max-width:720px){.speech-shell{width:calc(100% - 24px);padding:16px 0 44px}.speech-hero{grid-template-columns:1fr}.speech-hero-art{min-height:150px}.speech-settings{grid-template-columns:1fr}.speech-toggles{grid-template-columns:1fr 1fr}.speech-mission{height:calc(100dvh - 64px);overflow:hidden;padding:8px 12px 10px;width:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}.speech-hud{margin-bottom:7px}.speech-room-map{margin-bottom:7px}.speech-room{min-height:0;overflow:hidden;padding:12px;gap:9px}.speech-room-head h1{font-size:1.75rem}.speech-room-head p{font-size:.9rem}.speech-choice-grid{grid-template-columns:1fr 1fr 1fr;gap:7px}.speech-choice-grid button{min-height:100px}.speech-choice-grid button span{font-size:2.2rem}.speech-card-main{grid-template-columns:96px minmax(0,1fr);padding:10px}.speech-picture{width:96px;height:96px;font-size:3.2rem}.speech-card-main strong{font-size:1.75rem}.speech-card-main.phrase strong{font-size:1.28rem}.speech-rate-row{gap:7px}.speech-rate-row button{min-height:48px;font-size:.86rem}.speech-feedback{padding:10px;font-size:.9rem}.speech-finish{min-height:42px;margin-top:7px}.speech-result-grid{grid-template-columns:repeat(2,1fr)}.speech-results-head,.speech-result-grid article{padding:12px}.speech-medal{min-height:70px;font-size:2.35rem}}@media(max-width:390px){.speech-hud strong{font-size:1rem}.speech-hud span{font-size:.62rem}.speech-room-head h1{font-size:1.55rem}.speech-choice-grid button strong{font-size:.88rem}.speech-card-main{grid-template-columns:82px minmax(0,1fr)}.speech-picture{width:82px;height:82px;font-size:2.7rem}.speech-card-main p{display:none}}
.trainer-seo-note{display:grid;gap:10px;max-width:920px;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted)}.trainer-seo-note h2{margin:0;color:var(--ink);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.12;font-weight:880;letter-spacing:0}.trainer-seo-note p{margin:0;color:var(--muted);font-size:1rem;line-height:1.65;font-weight:560}.trainer-seo-note p:last-child{color:#6f7a85;font-size:.94rem}@media(max-width:720px){.trainer-seo-note{margin-top:22px;padding-top:18px}.trainer-seo-note h2{font-size:1.35rem}.trainer-seo-note p{font-size:.95rem}}
