/* Мини-сброс вместо Tailwind preflight: то же поведение, без сборки. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
svg{display:block;flex-shrink:0}
ol,ul{margin:0}
form{margin:0}
:root{--background:#f5f6f8;--foreground:#18201f;--card:#fff;--primary:#c3f567;--border:#e3e7e5;--muted:#737b78;--radius:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #568c23;outline-offset:4px}button{border:0;background:none;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:32px;line-height:1.2;letter-spacing:-1.1px;font-weight:750}h2{font-size:22px;line-height:1.3;font-weight:700;letter-spacing:-.5px}h3{font-size:18px;font-weight:700}.shell{display:flex;min-height:100vh}.sidebar{width:242px;background:white;border-right:1px solid var(--border);position:fixed;inset:0 auto 0 0;padding:31px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:9px;font-size:23px;font-weight:900;letter-spacing:-1px}.brandicon{background:#c3f567;border-radius:10px;width:36px;height:36px;display:grid;place-items:center}.branddot{margin-left:-8px;color:#73aa2c}.workspace{font-size:12px;letter-spacing:1.4px;color:#8b918f;margin:47px 12px 16px}nav{display:grid;gap:8px}nav button{padding:13px 13px;display:flex;align-items:center;gap:12px;text-align:left;border-radius:9px;font-size:14px;color:#727a76}nav button.selected{background:#edf6e0;color:#273d16;font-weight:700}nav small{margin-left:auto;background:#e3ebd9;border-radius:5px;padding:0 5px}.sidebottom{margin-top:auto;padding:22px 10px 0;display:grid;grid-template-columns:38px 1fr;gap:10px}.levelavatar{height:38px;background:#202d27;color:#c3f567;border-radius:12px;display:grid;place-items:center;font-weight:bold}.sidebottom b{font-size:13px}.sidebottom span{display:block;font-size:12px;color:var(--muted)}.sidebottom .bar,.sidebottom>small{grid-column:1/-1}.sidebottom>small{font-size:12px;color:var(--muted)}.sidefoot{font-size:12px;color:#9a9f9c;margin-top:28px;text-align:center}.body{margin-left:242px;flex:1;min-width:0}header{height:82px;border-bottom:1px solid var(--border);padding:0 40px;display:flex;align-items:center;justify-content:space-between;background:#ffffffaa;font-size:14px}header>span{display:flex;gap:14px;align-items:center;color:#7d837f}header b{color:#343d36;font-weight:500}.headerchips{gap:22px}.headerchips>span:first-child{display:flex;gap:6px;color:#415234}.avatar{background:#e2e9df;color:#34432d;width:34px;height:34px;display:grid;place-items:center;border:3px solid white;border-radius:50%;font-weight:bold}main{max-width:1510px;margin:auto;padding:35px 40px 18px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:#7d867f}.green{color:#547b36}.pagehead h1{margin:10px 0}.pagehead p{font-size:15px;color:#7b827d}.pagehead{margin-bottom:29px}.columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px}.primary{min-width:0}.focus{background:#c9f58a;border:1px solid #b6e577;border-radius:18px;padding:30px;display:flex;justify-content:space-between;overflow:hidden;min-height:287px;gap:15px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:1.1px;background:#ddf9b6;border:1px solid #abd873;padding:5px 10px;border-radius:6px}.focus h2{font-size:30px;line-height:1.15;margin:16px 0 10px;letter-spacing:-1px}.focus p{font-size:14px;color:#52653e;margin-bottom:19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 16px;border-radius:9px;border:1px solid #dce1d9;background:#fff;font-size:14px;font-weight:600}.button.dark{background:#243124;color:white;border-color:#243124}.button:hover{filter:brightness(.95)}.focustime{display:block;font-size:12px;margin:10px 0 0;color:#506c3c}.focusbadge{width:166px;flex-shrink:0;align-self:center;border:1px solid #98c567;background:#b3e66f;border-radius:22px;padding:22px;transform:rotate(7deg);box-shadow:8px 9px 0 #b9e67d;display:flex;flex-direction:column;align-items:flex-start}.focusbadge span{font-size:10px;letter-spacing:2px;margin-top:20px}.focusbadge b{font-size:24px;line-height:1.15;letter-spacing:-.6px;margin-top:7px}.sectiontitle{display:flex;align-items:center;justify-content:space-between;gap:8px}.primary>.sectiontitle{margin-top:28px}.sectiontitle h2{font-size:20px}.sectiontitle h2 span{font-size:12px;font-weight:400;color:#8a928a;letter-spacing:0;margin-left:8px}.sectiontitle button{display:flex;gap:4px;align-items:center;font-size:12px;color:#626e5d}.muted{color:#7b827c;font-size:14px}.intro{margin:8px 0 18px}.missionlist{display:grid;gap:12px}.mission{display:flex;align-items:center;text-align:left;padding:21px 20px;background:white;border:1px solid #e3e7e3;border-radius:13px;gap:16px;width:100%;transition:transform .2s,border-color .2s}.mission:hover{transform:translateY(-2px);border-color:#a7c187}.icon{height:46px;width:46px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.color1{background:#e9eefb;color:#6a80bb}.color2{background:#f1eaff;color:#9560c5}.color3{background:#fff0d9;color:#b78938}.color4{background:#e7f4ef;color:#4e9b7e}.missionbody{display:flex;flex-direction:column;gap:3px}.missionbody .eyebrow{font-size:10px;letter-spacing:.7px}.missionbody strong{font-size:16px}.missionbody>.muted{font-size:13px}.missionmeta{display:flex;gap:15px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:#858e86}.missionmeta>span{display:flex;gap:4px;align-items:center}.missionmeta .xp{color:#5f7d3f;font-weight:700}.chevron{margin-left:auto;color:#929b94;flex-shrink:0}.goal{background:#20332b;color:#fff;padding:24px;border-radius:17px}.goal .eyebrow{color:#a5b6a9;font-size:11px}.goal .sectiontitle>svg{color:#a0b394}.printericon{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;margin:24px 0;color:#c4f489}.printericon span{font-size:9px;letter-spacing:3px;color:#8d9f8d}.goal h2{font-size:21px}.goal p{font-size:12px;color:#9eafa2;margin:6px 0 23px}.goalamount{font-size:24px;font-weight:700}.goalamount span{font-size:13px;font-weight:400;color:#94a79a}.bar{height:6px;border-radius:9px;background:#e8ede5;overflow:hidden}.bar i{height:100%;display:block;background:#94bb59;border-radius:9px;transition:width .4s}.goal .bar{margin:13px 0 9px;background:#3c5144}.goal .bar i{background:#c3f567}.goalmeta{font-size:10px;display:flex;justify-content:space-between;color:#a8b8ab}.goal .button{width:100%;background:#34483a;color:#dce9d9;border-color:#50634e;margin-top:22px;font-size:13px}.panel{padding:23px;border:1px solid var(--border);border-radius:14px;background:#fff;margin-bottom:17px}.right .panel{margin-top:21px}.week>button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-top:22px;color:#73806e}.week>button span{flex:1;font-size:13px;color:#3f4b3c}.week .bar{height:4px;margin-top:6px}.week small{font-size:11px}.tip{padding:0 8px;display:flex;gap:12px;color:#8e9a80}.tip b{font-size:13px;color:#58664c}.tip p{font-size:12px;line-height:1.7;margin-top:5px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filters button{padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.filters .active{background:#243124;color:white}.stats{display:flex;gap:12px;margin-bottom:22px}.stats>div{flex:1;background:#e6efd9;border-radius:14px;padding:20px}.stats strong{display:block;font-size:30px}.stats span{font-size:12px}.track h3{display:flex;justify-content:space-between}.track h3 span{font-size:14px;color:#8d9687}.track .bar{margin:18px 0}.track button{display:flex;gap:8px;align-items:center;font-size:13px;color:#6b8252}.panel p{margin:12px 0}.panel form{margin-top:20px}label{display:block;font-size:14px;font-weight:600;margin:15px 0}input,textarea{display:block;width:100%;border:1px solid #cfd7cb;border-radius:8px;padding:12px;margin-top:8px;color:#283327;background:#fafcf8}textarea{resize:vertical}input:focus,textarea:focus{outline:2px solid #89b34f}.moneyrow{display:flex;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid #edf0e9;font-size:14px}.moneyrow small{display:block;font-size:12px;color:#8d9487}.moneyrow strong{color:#628c3e;white-space:nowrap}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.panel>small{font-size:12px;color:#828a7e}.answertext{white-space:pre-wrap;overflow-wrap:anywhere}.notice,.error{background:#edf5de;border-radius:10px;padding:14px;font-size:14px;margin:16px 0;color:#425932}.error{background:#ffebe8;color:#94473d}.error button{text-decoration:underline}.overlay{position:fixed;inset:0;background:#11201799;backdrop-filter:blur(4px);z-index:5;display:flex;align-items:center;justify-content:center;padding:22px}.modal{position:relative;background:white;border-radius:20px;max-width:650px;width:100%;max-height:90vh;overflow-y:auto;padding:36px}.modal h2{font-size:29px;margin:15px 30px 10px 0}.close{position:absolute;right:16px;top:16px;padding:5px}.modal ol{list-style:decimal;padding-left:23px;margin:25px 0}.modal li{padding:5px 0 5px 6px;font-size:15px}.prompt{background:#edf3e6;border-radius:12px;padding:18px;font-size:14px}.prompt p{margin:10px 0;line-height:1.7}.prompt a{text-decoration:underline}.textbutton{color:#64853e}footer{display:flex;justify-content:space-between;border-top:1px solid #e4e8e0;margin-top:35px;padding-top:18px;font-size:11px;color:#a0a69b}.completed{border-color:#aac786}.completed .chevron{color:#638942}@media(min-width:1500px){main{padding-top:44px}.focus{min-height:310px}}@media(max-width:1150px){.sidebar{width:206px;padding:27px 14px}.body{margin-left:206px}main{padding:28px 24px}.columns{grid-template-columns:minmax(0,1fr) 265px;gap:20px}h1{font-size:28px}.focus{padding:24px}.focusbadge{width:125px;padding:18px}.focusbadge b{font-size:20px}.focus h2{font-size:26px}.focustime{font-size:11px}.brand{font-size:21px}}@media(max-width:950px){.columns{grid-template-columns:1fr}.right{display:grid;grid-template-columns:1fr 1fr;gap:18px}.right .panel{margin:0}.tip{grid-column:1/-1}.printericon{margin:16px 0}.focusbadge{width:170px}.focus{min-height:280px}.goalmeta{font-size:11px}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;padding:15px 18px;border-bottom:1px solid var(--border)}.workspace,.sidebottom,.sidefoot{display:none}.brand{font-size:21px}.sidebar nav{display:flex;overflow-x:auto;gap:4px;margin-top:14px}.sidebar nav button{white-space:nowrap;padding:9px 10px;font-size:12px;gap:6px}.sidebar nav svg{width:16px}.sidebar nav small{display:none}.body{margin-left:0}header{height:52px;padding:0 20px;font-size:12px}main{padding:24px 18px}.pagehead h1{font-size:28px}.pagehead p{font-size:14px}.focus{padding:22px;min-height:0}.focusbadge{width:100px;padding:13px}.focusbadge svg{width:40px}.focusbadge b{font-size:17px}.focusbadge span{font-size:8px;letter-spacing:1px}.focus h2{font-size:24px}.focus p{font-size:13px}.focus .button{font-size:12px;padding:10px}.sectiontitle h2{font-size:18px}.sectiontitle h2 span{display:none}.mission{padding:16px 13px;gap:12px}.missionbody strong{font-size:15px}.missionbody>.muted{font-size:12px}.icon{width:39px;height:39px}.right{grid-template-columns:1fr}.tip{grid-column:auto}.stats{gap:7px}.stats>div{padding:13px}.stats span{font-size:11px}.modal{padding:28px 22px}.modal h2{font-size:25px}footer span{display:none}.missionmeta{gap:9px}.eyebrow{font-size:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.missionbody>.muted,.missionmeta,.week>button span,.goal p,.goalmeta,.goal .button,.sectiontitle button,.tip b,.tip p,.filters button,.track button,nav button{font-size:14px}.goalmeta{flex-wrap:wrap;gap:4px}.goalamount span{font-size:14px}.missionbody .eyebrow{font-size:12px}.panel small{font-size:13px}.modal .eyebrow{font-size:12px}@media(max-width:650px){.sidebar nav button{font-size:14px}.missionbody>.muted{font-size:14px}.focus .button{font-size:14px}.stats span{font-size:13px}.focusbadge{display:none}}

/* Страница входа */
.loginpage{display:grid;place-items:center;min-height:100vh;padding:24px}
.loginbox{background:#fff;border:1px solid var(--border);border-radius:20px;padding:34px;width:100%;max-width:380px}
.loginbox .brand{margin-bottom:26px}
.loginbox h1{font-size:26px}
.loginbox .muted{margin-top:8px}
.loginbox form{margin-top:18px}
.loginbox .button{width:100%;margin-top:22px}
.loginbox .sidefoot{margin-top:24px}
.loginbox .error{margin-top:16px}
.textbutton{color:#64853e;font-size:13px}
