/* KNOWNORTH 1.0 — brand design system · lightweight, accessible, mobile-first */
:root{
 --bg:#0b1728;--side:#0d1d30;--panel:#102438;--panel2:#182d43;--panel3:#203950;--line:#28435a;
 --text:#f3f6f8;--muted:#9eb4c5;--gold:#e9bc75;--gold2:#f0c986;--blue:#86bcd5;--ok:#75ceb0;--bad:#ffb0a5;
 --shadow:0 12px 34px rgba(0,0,0,.18);--radius:17px;color-scheme:dark;
 --surface-gradient:linear-gradient(145deg,#172e45,#11273c);
}
[data-theme=light]{
 --bg:#f1f5f7;--side:#e7eef3;--panel:#fff;--panel2:#f4f8fa;--panel3:#e9f2f6;--line:#d3e0e7;
 --text:#193045;--muted:#567086;--gold:#916220;--gold2:#8f5c19;--blue:#2f7293;--ok:#1c8266;--bad:#ba4648;
 --shadow:0 8px 26px rgba(28,57,81,.06);color-scheme:light;
 --surface-gradient:linear-gradient(145deg,#fff,#f1f7fa);
}
html{font-size:15px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;background:var(--bg);color:var(--text);line-height:1.48;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}
:focus-visible{outline:3px solid #dbb36a!important;outline-offset:3px!important}
.card{background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:18px;margin-bottom:14px}
.card h3{letter-spacing:-.025em}.page h2{letter-spacing:-.035em;font-size:clamp(1.38rem,3vw,1.75rem)}
.small{font-size:.84rem}.muted{color:var(--muted)}.eyebrow{letter-spacing:.105em;font-size:.68rem;font-weight:750;color:var(--gold)}
.app{max-width:1490px}.workspace{padding-inline:14px}.page{max-width:1100px;padding-top:20px}
.top{height:72px;backdrop-filter:blur(18px);background:color-mix(in srgb,var(--bg),transparent 6%);border-bottom-color:var(--line)}
.mobile-brand{gap:8px}.mobile-brand img{width:45px;height:45px;object-fit:cover;object-position:center;border-radius:13px;flex-shrink:0;border:1px solid #c9a76957}
.mobile-brand span{display:grid;gap:1px;min-width:0}.mobile-brand b{font-size:15px;letter-spacing:.075em;line-height:1.1;background:linear-gradient(90deg,var(--text),var(--gold));background-clip:text;color:transparent}
.mobile-brand small{color:var(--muted);font-size:7px;line-height:1.2;letter-spacing:.095em;font-weight:700}
.brand{padding-bottom:16px}.brand img{width:50px;height:50px;object-fit:cover;border-radius:15px;border:1px solid #c4aa74}.brand small{line-height:1.45!important;white-space:normal}
.btn,.btn.sm{font-weight:700;font-size:.88rem;letter-spacing:0;min-height:44px;padding:11px 15px;border-radius:12px;border:1px solid #c69c5d;background:linear-gradient(120deg,#ecd29c,#dab074);color:#1e2a37;box-shadow:none;transition:background .18s,border-color .18s,transform .18s}
.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:scale(.99)}
.btn.sec{background:var(--panel2);color:var(--text);border-color:var(--line)}
.btn.ghost{background:transparent;color:var(--muted);border-color:var(--line)}
.btn.danger{background:#552a32;color:#ffd9d1;border-color:#94535d}
[data-theme=light] .btn:not(.sec):not(.ghost):not(.danger){background:linear-gradient(130deg,#dcb77e,#bd894b);color:#182636}
.pill{font-weight:650;letter-spacing:0;font-size:.73rem;padding:5px 10px}.pill.gold{border-color:#b898634d;background:#b8986316}
.kpi{padding:15px;background:var(--panel);border-color:var(--line);border-radius:14px}.kpi b{font-size:1.45rem;color:var(--text)}.kpi span{font-size:.77rem}
.hero-new{background:#102339 url('./assets/northscape.svg') center / cover no-repeat;min-height:286px;display:flex;align-items:center;padding:25px 22px;border:1px solid #9a845d6e;border-radius:22px;isolation:isolate;overflow:hidden}
.hero-new:after{background:linear-gradient(90deg,rgba(8,20,35,.85),rgba(8,20,35,.58) 60%,rgba(8,20,35,.16))!important;z-index:-1}
.hero-new .hero-copy{position:relative;z-index:3;max-width:560px}.hero-new h1{font-size:clamp(1.55rem,4vw,2.45rem);line-height:1.13;font-weight:740;margin:13px 0;max-width:600px}.hero-new h1 em{font-style:normal;color:#f5d092}.hero-new p{font-size:.93rem;max-width:450px;line-height:1.65}.hero-new .btn{min-height:46px}
.hero-compass{display:none}
[data-theme=light] .hero-new{color:#fff}
.stat-grid{margin:0 0 18px;gap:10px}.stat-grid .kpi{margin:0}.stat-grid .kpi b{font-variant-numeric:tabular-nums}
.route-list{display:grid;gap:8px;margin:15px 0}.day-select{display:flex;align-items:center;gap:12px;text-align:left;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:13px;padding:12px;width:100%;min-height:63px}.day-select.active{background:var(--panel3);border-color:#b59a67;box-shadow:inset 2px 0 var(--gold)}.day-select span:nth-child(2){display:grid;gap:3px;flex:1}.day-select b{font-size:.92rem}.day-select small{font-size:.75rem;color:var(--muted)}.compass-small{font-size:1.45rem;color:var(--gold);line-height:1;display:inline-grid;place-items:center;width:31px;height:31px;border-radius:50%;border:1px solid #a58e654a;flex-shrink:0}
.feature-row{display:flex;align-items:center;gap:13px;padding:10px 0;border-top:1px solid var(--line)}.feature-row>span{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;color:var(--gold);background:var(--panel2);font-size:20px}.feature-row div{display:grid;gap:2px}.feature-row b{font-size:.89rem}.feature-row small{font-size:.77rem;color:var(--muted)}.feature-row+.btn{margin-top:13px}
.reminder-card{background:linear-gradient(105deg,var(--panel),var(--panel2))}.reminder-card h3{margin:7px 0 5px}
.session-heading{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:12px}.session-heading h2{margin:4px 0}.session-heading p{margin:0}.progress-track{height:6px;background:var(--panel3)}.progress-fill{background:linear-gradient(90deg,#5c95b5,#e7bd78)}
.workout-strip{display:flex;overflow-x:auto;gap:8px;padding:15px 1px 13px;scrollbar-width:thin;scroll-snap-type:x mandatory}.workout-tab{flex:0 0 150px;display:grid;grid-template-columns:27px 1fr;align-items:center;gap:3px 8px;color:var(--text);background:var(--panel);text-align:left;border:1px solid var(--line);border-radius:13px;padding:10px;scroll-snap-align:start;min-height:72px}.workout-tab.active{border-color:#c1a16b;background:var(--panel3)}.workout-tab.skipped{opacity:.67}.workout-tab b{font-weight:680;font-size:.77rem;line-height:1.25}.workout-tab small{font-size:.7rem;color:var(--muted);grid-column:2}.workout-tab-count{grid-row:span 2;width:27px;height:27px;display:grid;place-items:center;border:1px solid #a6a9a946;border-radius:50%;color:var(--gold);font-weight:700}
.workout-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:15px}.workout-layout>.card{margin:0}.training-primary h2{margin:5px 0 2px;font-size:1.42rem}.training-log h3{margin:5px 0;font-size:1.28rem}.training-log .field{margin-top:12px}
.lesson-preview{display:block;position:relative;padding:0;border:1px solid #54768a68;overflow:hidden;border-radius:16px;background:#102339;margin:15px 0 12px;width:100%;color:#fff;text-align:left}
.lesson-preview img{display:block;width:100%;height:auto;aspect-ratio:960/560;object-fit:cover}
.lesson-preview span{position:absolute;right:9px;bottom:9px;background:#102337e8;border:1px solid #d9bb7a9c;border-radius:99px;padding:7px 11px;font-size:.75rem;font-weight:700}
.guide-tip{display:flex;gap:11px;padding:12px;background:var(--panel2);border:1px solid var(--line);border-radius:13px;margin-bottom:13px}.guide-tip b{font-size:.9rem}.guide-tip p{font-size:.81rem;color:var(--muted);margin:5px 0;line-height:1.6}
.sets-grid{grid-template-columns:22px minmax(0,1fr) minmax(0,1fr) minmax(0,.78fr) 39px 26px;gap:5px;align-items:center;margin-bottom:8px}.sets-grid.head{margin-top:16px}.sets-grid .heading{font-size:.66rem}.sets-grid input{height:42px;padding:7px 2px;font-size:15px;background:var(--panel2);border:1px solid var(--line);border-radius:9px;color:var(--text);font-variant-numeric:tabular-nums}.sets-grid.done-row input{background:color-mix(in srgb,var(--ok),transparent 91%)}
.setdone{border-radius:10px!important;background:var(--panel2);border:1px solid var(--line);min-height:41px;color:var(--text)}.setdone.done{background:#22685633;color:var(--ok);border-color:#3c997a}.remove{color:var(--muted);font-size:17px}
.inline-control{background:none;border:0;color:var(--gold2);font-size:.85rem;text-decoration:underline;min-height:31px;margin-left:9px}.recovery-card{margin-top:15px}.workout-actions{margin-top:17px}
.library-tools{display:grid;grid-template-columns:1fr;gap:12px}.library-tools .field{margin:0}.exercise-catalog{display:grid;grid-template-columns:1fr;gap:11px;margin:14px 0 22px}.exercise-tile{display:flex;min-width:0;align-items:center;gap:13px;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:8px;color:var(--text);transition:border-color .15s}.exercise-tile:hover{border-color:var(--gold)}.exercise-thumb{width:109px;height:80px;object-fit:cover;border-radius:11px;background:#10263a;flex-shrink:0}.tile-body{display:grid;gap:4px;min-width:0;flex:1}.tile-body strong{font-size:.9rem;line-height:1.3}.tile-body small{font-size:.74rem;color:var(--muted)}.tile-body .pill{justify-self:start;font-size:.7rem}.tile-chevron{font-size:24px;color:var(--gold)}
.modal-backdrop{backdrop-filter:blur(8px);background:#071627bb}.dialog{border-radius:22px;border:1px solid var(--line);background:var(--panel);box-shadow:0 23px 80px #0006;max-width:660px;padding:20px;max-height:calc(100dvh - 36px);overflow:auto}
.guide-media{background:#102339;border-radius:14px;margin:12px 0;overflow:hidden;border:1px solid #405f75}.guide-media img{display:block;width:100%;aspect-ratio:960/560;object-fit:cover}.guide-progress{display:flex;justify-content:space-between;align-items:center;gap:11px;font-size:.83rem;color:var(--muted)}.guide-progress b{font-size:.93rem;color:var(--gold2)}.guide-instruction{font-size:.91rem;line-height:1.6;min-height:44px;margin:15px 0}.slide-dots{display:flex;justify-content:center;gap:9px;margin:10px 0 18px}.slide-dots button{width:22px;height:8px;border:0;border-radius:12px;background:var(--line)}.slide-dots button.active{background:var(--gold);width:33px}.icon-close{color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:12px;width:42px;height:42px;font-size:23px;flex-shrink:0}
.feel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.feel-card{background:var(--panel2);border:1px solid var(--line);border-radius:14px;color:var(--text);padding:15px 10px;min-height:106px;display:grid;place-items:center;gap:3px}.feel-card.active,.feel-card:hover{border-color:var(--gold);background:var(--panel3)}.feel-card span{font-size:21px;color:var(--gold)}.feel-card b{font-size:.92rem}.feel-card small{font-size:.76rem;color:var(--muted)}
.skip-options{display:grid;gap:7px;margin:15px 0}.skip-option{display:flex;align-items:center;gap:11px;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:11px 13px;min-height:49px;text-align:left;color:var(--text)}.skip-option b{font-size:.85rem;font-weight:640;flex:1}.skip-option span:first-child{color:var(--gold)}
.timerdock{border:1px solid #ab9464b0;background:color-mix(in srgb,var(--panel),#152a40 35%);border-radius:16px;box-shadow:0 10px 38px #0005;backdrop-filter:blur(15px)}
.footer{font-size:.69rem;color:var(--muted)}
.bottomnav{background:color-mix(in srgb,var(--bg),transparent 2%);backdrop-filter:blur(18px);border-top:1px solid var(--line)}
.bottomnav button{font-size:.59rem!important;min-width:0}.bottomnav button span{font-size:1.08rem!important}.bottomnav button.active{color:var(--gold2)!important}
@media(min-width:650px){.library-tools{grid-template-columns:2fr 1fr}.exercise-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-thumb{width:132px;height:100px}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:980px){.workout-layout{grid-template-columns:1.06fr 1fr}.hero-new{min-height:338px;padding:35px}.hero-new h1{font-size:2.45rem}}
@media(max-width:390px){.mobile-brand b{font-size:13px}.mobile-brand small{font-size:6.2px}.top .flag{display:none}.sets-grid{gap:3px;grid-template-columns:16px repeat(3,minmax(0,1fr)) 36px 22px}.sets-grid input{font-size:13px}.stat-grid .kpi{padding:10px}.stat-grid .kpi b{font-size:1.23rem}.workout-actions{display:grid;grid-template-columns:1fr 1fr}.workout-actions>.btn:last-child{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.reminder-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.reminder-days label{cursor:pointer;min-width:0}.reminder-days input{position:absolute;opacity:0;pointer-events:none}.reminder-days span{display:grid;place-items:center;border:1px solid var(--line);background:var(--panel2);border-radius:9px;min-height:41px;color:var(--muted);font-size:.78rem;font-weight:650}.reminder-days input:checked+span{border-color:var(--gold);color:var(--text);background:var(--panel3)}.reminder-days input:focus-visible+span{outline:3px solid var(--gold)}

/* Phone-first study sheet: tall, readable illustration; desktop maintains contained proportions. */
.guide-media{display:grid;place-items:center;background:#091a2b}
.guide-media img{width:100%;max-width:480px;height:auto;max-height:min(57dvh,690px);aspect-ratio:3/4;object-fit:contain}
.precision-toggle{display:block;margin:0 0 12px;width:100%;text-align:left;color:var(--gold2);background:var(--panel2);border:1px solid var(--line);border-radius:11px;padding:12px;font-weight:650;font-size:.82rem;min-height:44px}
.precision-panel{background:var(--panel2);padding:14px;border:1px solid var(--line);border-radius:11px;margin:-3px 0 12px}
.precision-panel label{display:block;font-weight:650;margin-bottom:12px}
.precision-panel input{display:block;width:100%;accent-color:var(--gold2);min-height:32px}
@media(max-width:430px){
  .sets-grid{grid-template-columns:17px minmax(0,1fr) minmax(0,1fr) minmax(0,.82fr) 38px 32px;gap:3px}
  .sets-grid input{min-width:0;font-size:14px;padding-inline:1px}
  .sets-grid .setdone{min-height:44px}
  .sets-grid .remove{min-height:44px;border-radius:8px}
  .guide-media img{max-height:min(59dvh,620px)}
  .dialog{padding:14px;max-height:calc(100dvh - 18px)}
  .guide-instruction{font-size:.96rem}
}

.evidence-hint{background:linear-gradient(135deg,var(--panel2),var(--panel));border:1px solid var(--line);border-left:3px solid var(--gold);padding:12px 13px;border-radius:11px;margin:12px 0}.evidence-hint p{color:var(--muted);font-size:.83rem;line-height:1.5;margin:6px 0 0}

/* Beta 1.2: calm focus, accessible touch controls, brand-consistent selection. */
:where(button,a,input,select,textarea):focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.guide-media{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.workout-tab.active{box-shadow:inset 2px 0 var(--gold2)}
.workout-actions .btn{font-weight:620}
@media(max-width:430px){
 .workout-tab{min-height:47px}
 .sets-grid .setdone,.sets-grid .remove{min-width:38px}
 .exercise-tile{min-height:84px}
}
