:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#152820;background:#f5f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #77ae90;outline-offset:2px}.app-shell{min-height:100vh}.top{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:12px max(22px,calc((100vw - 1240px)/2));background:#143b29;color:#fff;gap:14px}.brand{display:flex;align-items:center;gap:13px}.brand strong{font-size:1.05rem;letter-spacing:.08em}.brand small{display:block;font-size:.75rem;opacity:.74;margin-top:3px}.mark{font-weight:950;letter-spacing:-.04em;font-size:1.1rem;color:#143b29;background:#d9e6c7;padding:13px 10px;border-radius:10px}.mode{font-size:.75rem;color:#e1ecdf;border:1px solid #6d937f;border-radius:30px;padding:6px 12px}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1240px;margin:auto;min-height:75vh}.sidebar{padding:26px 16px;border-right:1px solid #dfe7df}.sidehead{font-size:.7rem;letter-spacing:.14em;font-weight:800;color:#76877a;display:flex;justify-content:space-between;margin:0 10px 20px}.sidebar nav{display:grid;gap:6px}.sidebar nav button{display:flex;gap:11px;align-items:center;width:100%;border:0;background:none;padding:14px 13px;text-align:left;border-radius:10px;color:#385043;font-weight:600}.sidebar nav button.active{color:#143b29;background:#deeadf}.sidebar nav button:hover{background:#e7eee7}.sidefoot{margin-top:38px;border-top:1px solid #dfe7df;padding:21px 10px;color:#607466;font-size:.82rem;line-height:1.6}.sidefoot b{color:#244d32}.main{padding:28px clamp(18px,4vw,48px) 70px;min-width:0}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:25px}.eyebrow{font-size:.7rem;letter-spacing:.16em;color:#698171;font-weight:850;margin:0 0 7px;text-transform:uppercase}h1{font-size:clamp(1.6rem,3vw,2.35rem);margin:0;letter-spacing:-.045em;line-height:1.12}h2{font-size:1.15rem;letter-spacing:-.02em;margin:0 0 10px}h3{font-size:1rem;margin:0 0 6px}p{line-height:1.55}.sub{color:#63756b;max-width:660px;margin:9px 0 0}.grid{display:grid;gap:15px}.four{grid-template-columns:repeat(4,minmax(0,1fr))}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:#fff;border:1px solid #dee6dd;border-radius:16px;padding:22px;min-width:0}.card + .card{margin-top:0}.muted{color:#708077}.small{font-size:.83rem}.scorevalue{font-size:2.6rem;font-weight:850;letter-spacing:-.06em;line-height:1.15}.metric label{display:block;font-size:.73rem;color:#687a6e;font-weight:800;letter-spacing:.06em;margin-bottom:9px}.metric .tag{font-size:.75rem;color:#456551}.pill{border:1px solid #dbe7db;background:#ecf3ec;padding:6px 10px;display:inline-block;border-radius:100px;color:#245239;font-size:.75rem;font-weight:700}.bar{height:7px;background:#edf2ed;border-radius:7px;overflow:hidden;margin:12px 0 6px}.bar>div{background:#638a72;height:100%;border-radius:7px}.section{margin-top:18px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.primary,.secondary,.ghost,.danger{border-radius:10px;padding:12px 16px;min-height:45px;font-weight:750;border:1px solid transparent}.primary{background:#205b3b;color:#fff}.primary:hover{background:#17462e}.secondary{background:#e5efe4;color:#245036}.ghost{background:#fff;border-color:#cad7cc;color:#325642}.danger{background:#fff0ee;border-color:#e8bdb7;color:#9c3931}.buttons{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.field{display:block;font-weight:750;font-size:.85rem;margin-bottom:15px;color:#325141}.field input,.field select,.field textarea{display:block;width:100%;padding:12px 13px;border-radius:9px;border:1px solid #cbd9ce;background:#fff;margin-top:7px;color:#203328;min-height:45px}.field textarea{min-height:90px;resize:vertical}.notice{background:#f0f5ef;border:1px solid #dbe8d9;border-radius:12px;padding:14px;color:#375542;font-size:.85rem}.warn{background:#fff5e5;border-color:#f2ddac;color:#76591a}.bad{background:#fff2f0;border-color:#f3c8c2;color:#90362e}.pass{background:#eaf5ee;border-color:#c2dec9;color:#1e603c}.activity{padding:13px 0;border-bottom:1px solid #e7ede7}.activity:last-child{border-bottom:0}.bigstep{font-size:1.25rem;font-weight:800}.track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.dot{height:10px;background:#e4ebe4;border-radius:5px}.dot.yes{background:#357952}.dot.no{background:#b87b70}.attemptbuttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.attemptbuttons button{min-height:72px;font-size:1rem;font-weight:800;border-radius:12px;border:1px solid #bcd5c2;background:#e5f3e9;color:#1b5c38}.attemptbuttons button+button{background:#f9eae8;border-color:#e1c1bc;color:#973f36}.stepnumber{font-size:3.6rem;font-weight:850;letter-spacing:-.07em}.steps{counter-reset:phase}.block{display:grid;grid-template-columns:65px 1fr;gap:17px;padding:18px 0;border-top:1px solid #e7eee7}.minbox{height:60px;width:60px;border:1px solid #d3e1d3;border-radius:12px;display:flex;justify-content:center;align-items:center;flex-direction:column;font-size:1.55rem;font-weight:800;background:#f6f9f5}.minbox span{font-size:.65rem;font-weight:700;letter-spacing:.07em}.session-note{border-left:3px solid #69977a;padding-left:12px;margin:12px 0}.empty{text-align:center;padding:42px 15px;color:#697b6c}.empty strong{display:block;color:#294b35;font-size:1.12rem}.historyrow{display:grid;grid-template-columns:95px 90px 1fr;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #e6ece5;font-size:.86rem}.time{font-size:.78rem;color:#758478}.spark{display:flex;align-items:end;gap:6px;height:75px;padding-top:8px}.spark span{flex:1;min-width:10px;max-width:34px;background:#84a98c;border-radius:5px 5px 0 0;position:relative}.spark span b{position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);font-size:.65rem;font-weight:700}.footer{font-size:.72rem;color:#758678;text-align:center;margin:0 auto;padding:18px;max-width:920px}.toast{position:sticky;bottom:12px;background:#1c4531;color:#fff;padding:12px 17px;border-radius:10px;max-width:560px;margin:15px auto;z-index:9;font-size:.85rem}.hidden{display:none!important}.caps{font-size:.68rem;letter-spacing:.12em;font-weight:800;color:#77907c}.help{font-size:.79rem;color:#66796c}.list-inline{display:flex;flex-wrap:wrap;gap:8px}.tabular{font-variant-numeric:tabular-nums}.loading{padding:70px;text-align:center;color:#67796a}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #dfe7df;padding:10px 12px}.sidehead,.sidefoot{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:5px}.sidebar nav button{flex:0 0 auto;min-height:47px;white-space:nowrap;padding:9px 12px}.main{padding:22px 18px 60px}.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.top{padding:12px 14px}.brand strong{font-size:.92rem}.brand small{font-size:.65rem}.mode{font-size:.65rem;padding:5px 8px}.mark{font-size:.9rem;padding:11px 8px}.two,.three{grid-template-columns:1fr}.card{padding:18px}.historyrow{grid-template-columns:70px 70px 1fr;gap:8px}.stepnumber{font-size:3rem}.block{grid-template-columns:53px 1fr;gap:12px}.minbox{height:48px;width:48px;font-size:1.15rem}.main{padding:19px 13px 55px}.sidebar nav button span{font-size:.77rem}}
