:root{--bg: #0a0a0a;--surface: #161616;--surface-2: #1f1f1f;--line: #2a2a2a;--text: #f5f5f5;--muted: #9a9a9a;--accent: #4fc3e8;--accent-strong: #2aa9d6;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text)}body{overscroll-behavior:none}.app{max-width:540px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}.brand{display:flex;align-items:center;gap:10px;padding:18px 2px 14px}.brand-name{font-weight:800;font-size:24px;letter-spacing:.5px;line-height:1;color:var(--text)}.brand-name span{color:#00943a}.brand-logo{font-weight:800;font-size:26px;letter-spacing:-1px;line-height:1}.brand-logo .k{background:#00943a;color:#fff;padding:0 6px;border-radius:6px;margin-left:2px}.brand-sub{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:2px}.back-btn{background:none;border:none;color:var(--accent);font-size:15px;padding:8px 4px;cursor:pointer}.row-between{display:flex;align-items:center;justify-content:space-between}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.curr-card{cursor:pointer;display:flex;align-items:center;gap:16px;transition:border-color .15s,transform .1s}.curr-card:active{transform:scale(.99)}.curr-card .badge{width:64px;height:64px;border-radius:14px;display:grid;place-items:center;border:2px solid var(--line);flex:none}.curr-card h3{margin:0 0 2px;font-size:18px}.curr-card p{margin:0;color:var(--muted);font-size:13px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin:22px 2px 10px}.toggle{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.toggle button{flex:1;border:none;background:none;color:var(--muted);font-size:16px;font-weight:700;padding:12px;border-radius:9px;cursor:pointer}.toggle button.active{background:var(--accent);color:#062430}.weeks-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.week-cell{height:42px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:var(--text);font-size:15px;font-weight:700;cursor:pointer}.week-cell.active{background:var(--accent);color:#062430;border-color:var(--accent)}.activity{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.activity:last-child{border-bottom:none}.activity .dot{width:12px;height:12px;border-radius:50%;margin-top:5px;flex:none}.activity .time{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.activity h4{margin:0;font-size:15px}.activity .cat{color:var(--muted);font-size:13px;margin-top:2px}.activity .name{color:var(--accent);font-size:14px;font-weight:600;margin-top:2px}.btn{border:none;border-radius:14px;font-size:17px;font-weight:700;padding:16px;cursor:pointer;width:100%}.btn-primary{background:var(--accent);color:#062430}.btn-ghost{background:var(--surface-2);color:var(--text)}.sticky-bottom{position:sticky;bottom:0;padding:14px 0 max(14px,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 30%)}.timer-screen{flex:1;display:flex;flex-direction:column;text-align:center}.clock-wrap{display:grid;place-items:center;margin:6px 0 2px}.timer-block-label{font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-top:8px}.timer-display{font-size:clamp(60px,21vw,104px);font-weight:800;font-variant-numeric:tabular-nums;line-height:1.02;margin:2px 0 6px}.timer-content{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;margin:4px 0 14px}.timer-content .cat{color:var(--muted);font-size:14px}.timer-content .name{font-size:24px;font-weight:800;margin-top:4px}.timer-next{color:var(--muted);font-size:14px;margin-bottom:10px}.progress-track{display:flex;gap:4px;margin:10px 0 16px}.progress-seg{height:6px;border-radius:3px;flex:1;background:var(--line);overflow:hidden}.progress-seg .fill{height:100%;background:var(--accent)}.controls{display:flex;gap:10px;margin-top:auto;padding-bottom:max(14px,env(safe-area-inset-bottom))}.controls .btn{flex:1}.ctrl-icon{flex:0 0 64px!important;background:var(--surface-2);color:var(--text);font-size:22px}.setting-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.setting-row .dot{width:12px;height:12px;border-radius:50%;flex:none}.setting-row label{flex:1;font-size:15px}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:20px;cursor:pointer}.stepper .val{width:58px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.muted{color:var(--muted);font-size:13px}.curr-name{font-weight:800;font-size:19px;letter-spacing:.3px;margin-top:4px}:root{--gb-red: #d51f33;--gb-red-2: #e23042}.btn-red{background:var(--gb-red);color:#fff}.btn-red:active{background:var(--gb-red-2)}.lp-nav{display:flex;align-items:center;justify-content:space-between;padding:16px 2px}.lp-logo{font-weight:800;letter-spacing:2px;text-transform:uppercase;font-size:18px}.lp-logo span{color:var(--gb-red)}.lp-hero{text-align:center;padding:38px 0 26px}.lp-eyebrow{color:var(--muted);letter-spacing:3px;text-transform:uppercase;font-size:11px;font-weight:700}.lp-hero h1{font-size:clamp(30px,7.5vw,46px);font-weight:800;letter-spacing:-1px;line-height:1.08;margin:14px 0}.lp-hero h1 .r{color:var(--gb-red)}.lp-hero p{color:var(--muted);max-width:460px;margin:0 auto 24px;font-size:16px}.lp-cta{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.lp-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:34px}.lp-feat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.lp-feat .ic{width:40px;height:40px;border-radius:10px;background:#d51f331f;display:grid;place-items:center;font-size:20px}.lp-feat h3{font-size:15px;margin:12px 0 4px}.lp-feat p{color:var(--muted);font-size:13px}.lp-foot{text-align:center;color:var(--muted);font-size:13px;padding:30px 0 16px}.auth-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:400px;margin:0 auto;width:100%}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:28px 24px}.auth-field{display:block;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:16px;padding:14px;margin-bottom:12px}.auth-field:focus{outline:none;border-color:var(--gb-red)}.auth-label{font-size:13px;color:var(--muted);margin:0 0 6px 2px;font-weight:600}.block-input{flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:15px;padding:9px 10px;min-width:0}.del-btn{background:none;border:none;color:var(--muted);font-size:16px;cursor:pointer;padding:6px;flex:none}.tool-card{display:flex;align-items:center;gap:14px;cursor:pointer}.tool-card .tool-ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-size:24px;flex:none}.plan-card{border:2px solid var(--line);border-radius:16px;padding:18px;background:var(--surface)}.plan-card.best{border-color:var(--accent)}.plan-price{font-size:30px;font-weight:800}.plan-tag{display:inline-block;background:var(--accent);color:#062430;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:1px}.admin-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}.admin-tabs button{flex:none;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap}.admin-tabs button.active{background:var(--accent);color:#062430;border-color:var(--accent)}.dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px}.dash-num{font-size:26px;font-weight:800;line-height:1.1}.dash-label{color:var(--muted);font-size:13px;margin-top:4px}.pill-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;cursor:pointer}.pill-btn.on{background:var(--accent);color:#062430;border-color:var(--accent)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--bg);overflow-y:auto}.overlay .app{height:100%}.lesson-bar{background:var(--surface-2);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:10px;padding:8px 12px;font-size:14px;color:var(--muted);margin-bottom:6px}.lesson-bar b{color:var(--text)}.lesson-strip{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:6px 0 12px}.lesson-strip-block{font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.5px}.lesson-strip-time{font-weight:800;font-size:30px;font-variant-numeric:tabular-nums;line-height:1}.progress-mini{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:8px}.progress-mini .fill{height:100%}.mini-ctrl{width:38px;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:14px;cursor:pointer}.mini-ctrl:disabled{opacity:.4}.lesson-mini{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:6px 0 10px;text-align:left}.lesson-mini-info{flex:1;min-width:0}.lesson-mini .lesson-strip-time{font-size:clamp(38px,12vw,56px);line-height:1.05;margin:2px 0}.sparring-panel{background:var(--surface);border:1px solid var(--line);border-top:3px solid #ef5350;border-radius:14px;padding:14px;flex:1;display:flex;flex-direction:column;min-height:0}.spar-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:safe center}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:100}.confirm-box{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px 22px;max-width:360px;width:100%;text-align:center;box-shadow:0 30px 80px -20px #000c}.confirm-emoji{font-size:40px}.confirm-box h3{font-size:21px;font-weight:800;margin:8px 0 6px}.confirm-box p{font-size:14.5px;margin-bottom:20px}.confirm-actions{display:flex;flex-direction:column;gap:10px}.tv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#060708;display:flex;flex-direction:column;padding:2.4vh 3vw;gap:1vh}.tv-head{display:flex;align-items:center;justify-content:space-between;flex:none}.tv-sub{font-size:clamp(15px,2.6vh,34px);color:var(--muted);font-weight:700;letter-spacing:1px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tv-head-btns{display:flex;gap:10px;flex:none}.tv-head-btns button{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer;font-size:clamp(18px,3vh,30px);width:clamp(44px,6vh,70px);height:clamp(44px,6vh,70px)}.tv-main{flex:1;display:flex;align-items:center;justify-content:center;gap:5vw;min-height:0}.tv-clock{flex:none;display:grid;place-items:center}.tv-clock svg{width:auto;height:56vh;max-width:40vw}.tv-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.tv-label{font-size:clamp(26px,6vh,88px);font-weight:800;line-height:1.04;letter-spacing:.5px;text-transform:uppercase}.tv-time{font-size:clamp(72px,26vh,360px);font-weight:800;line-height:.92;font-variant-numeric:tabular-nums;letter-spacing:-2px}.tv-next{font-size:clamp(18px,4vh,60px);color:var(--muted);margin-top:1vh}.tv-next b{color:var(--text)}.tv-finish{font-size:clamp(40px,13vh,180px);font-weight:800;text-align:center}.tv-controls{flex:none;display:flex;gap:2vw;justify-content:center}.tv-ctrl{width:auto!important;font-size:clamp(16px,2.8vh,32px)!important;padding:1.3vh 3.4vw!important}.tv-split{flex:1;min-height:0;display:flex;gap:3vw;align-items:stretch}.tv-lesson-side{flex:1.1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.4vh;min-width:0}.tv-lesson-side .tv-clock svg{height:40vh;max-width:42vw}.tv-lesson-side .tv-info{align-items:center;text-align:center}.tv-lesson-side .tv-time{font-size:clamp(60px,17vh,250px)}.tv-lesson-side .tv-label{font-size:clamp(22px,4vh,58px)}.tv-spar-side{flex:1;min-width:0;display:flex}.tv-spar-side .sparring-panel{flex:1;border-radius:16px}.tv-spar-side .spar-run-time{font-size:clamp(34px,9.5vh,132px)!important}.tv-overlay .as-spar-head{font-size:clamp(13px,2vh,24px)}@media (orientation: portrait){.tv-split{flex-direction:column;gap:1.5vh}.tv-lesson-side{flex:none}.tv-lesson-side .tv-clock svg{height:24vh;max-width:66vw}.tv-lesson-side .tv-time{font-size:clamp(60px,13vh,200px)}}@media (orientation: portrait){.tv-main{flex-direction:column;gap:2vh}.tv-clock svg{height:32vh;max-width:80vw}.tv-info{align-items:center;text-align:center}.tv-time{font-size:clamp(72px,20vh,320px)}}.ic-title{font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:2px 0 8px}.combo-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.combo-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:2px solid transparent;color:var(--text);cursor:pointer;text-align:left;font:inherit}.combo-btn b{font-size:15px}.combo-btn span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.combo-btn.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--surface-2))}.combo-btn.on span{color:var(--text)}.ic-empty{font-size:13px;color:var(--muted);margin-bottom:8px}.my-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.my-row{display:flex;align-items:stretch;gap:6px}.my-row .combo-btn{flex:1;min-width:0}.my-row .combo-btn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mc-act{flex:none;width:42px;border-radius:12px;background:var(--surface-2);border:2px solid transparent;color:var(--text);font-size:15px;cursor:pointer}.mc-del{color:#f87171}.mc-save{width:100%;padding:10px;border-radius:12px;background:transparent;border:1px dashed var(--line);color:var(--muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.mc-save:hover{color:var(--text);border-color:var(--accent)}.mc-edit{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.mc-edit .block-input{flex:1;min-width:130px}.mc-ok{width:auto;padding:9px 14px;flex:none}.ic-field{margin-bottom:14px}.ic-field:last-child{margin-bottom:0}.ic-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.ic-label{font-size:15px;font-weight:600}.ic-stepper{flex:none}.ic-stepper .val{width:auto;min-width:62px}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{min-width:46px;padding:9px 12px;border-radius:999px;background:var(--surface-2);border:2px solid transparent;color:var(--text);font:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.chip.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--surface-2))}.ic-compact .combo-row{gap:6px;margin-bottom:12px}.ic-compact .combo-btn{padding:8px 10px}.ic-compact .combo-btn b{font-size:14px}.ic-compact .ic-field{margin-bottom:11px}.ic-compact .chip{min-width:42px;padding:8px 10px;font-size:13px}.ic-compact .mc-save{padding:8px;font-size:13px}.ic-compact .ic-empty{font-size:12px}.tv-overlay .ic-title{font-size:clamp(11px,1.5vh,18px)}.tv-overlay .combo-btn b{font-size:clamp(13px,1.9vh,24px)}.tv-overlay .combo-btn span{font-size:clamp(11px,1.5vh,19px)}.tv-overlay .ic-label{font-size:clamp(13px,2vh,24px)}.tv-overlay .chip{font-size:clamp(13px,1.9vh,24px);padding:clamp(7px,1.1vh,14px) clamp(10px,1.5vh,18px)}.tv-overlay .ic-stepper button{width:clamp(36px,4.6vh,56px);height:clamp(36px,4.6vh,56px);font-size:clamp(16px,2.4vh,26px)}.tv-overlay .mc-save,.tv-overlay .ic-empty{font-size:clamp(12px,1.7vh,20px)}.tv-overlay .mc-act{width:clamp(38px,4.8vh,58px);font-size:clamp(14px,2vh,24px)}.demo-banner{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;margin-bottom:12px}.switch{width:52px;height:30px;border-radius:999px;border:none;background:var(--surface-2);position:relative;cursor:pointer;flex:none;transition:background .15s}.switch.on{background:var(--accent)}.switch .knob{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s}.switch.on .knob{transform:translate(22px)}.total-pill{display:inline-block;background:var(--surface-2);border-radius:999px;padding:6px 14px;font-size:13px;color:var(--muted)}.total-pill b{color:var(--text)}
