:root{--ink:#17211b;--muted:#647067;--cream:#f5f2e9;--paper:#fffefa;--green:#287042;--lime:#d8ee70;--line:#dcded6}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.5 system-ui,-apple-system,sans-serif;display:flex;min-height:100vh}body.auth-pending{display:block}body.auth-pending aside,body.auth-pending main{display:none}body.authenticated .login-page{display:none}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:var(--paper)}.login-visual{background:var(--green);color:white;padding:clamp(34px,7vw,92px);display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(72px,12vh,160px)}.login-brand{display:flex;align-items:center;gap:18px;font:700 32px/1 serif;letter-spacing:.05em}.login-brand-copy>span{display:block;margin-top:8px;color:#d5eadb;font:400 13px/1.4 system-ui;letter-spacing:.04em}.login-mark{display:block;width:88px;height:88px;flex:none}.login-mark svg{display:block;width:100%;height:100%}.login-mark rect{fill:#ff2525}.login-mark path{fill:none;stroke:#fff;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.login-visual small{color:#fff;letter-spacing:.12em}.login-visual h1{font-size:clamp(38px,5vw,64px);line-height:1.08;max-width:650px;margin:15px 0 20px}.login-visual p{color:#e1f0e6;max-width:600px;font-size:17px}.login-story{max-width:760px}.login-story>small{color:#c8e4d2;letter-spacing:.12em}.login-story h1{max-width:none;font-size:clamp(32px,3.4vw,48px);white-space:nowrap}.login-lead{max-width:680px;margin:0 0 24px;font-size:17px!important;line-height:1.65}.login-guidance{display:grid;gap:14px;max-width:720px}.login-guidance p{position:relative;margin:0;padding-left:14px;border-left:2px solid #ffffff48;color:#e1f0e6;font-size:14px;line-height:1.7}.login-guidance strong{display:block;margin-bottom:2px;color:#d8ee70;font-size:13px;letter-spacing:.04em}.login-mantra strong{display:block;color:#fff;font-weight:700}.login-mantra .feedback-repeat{display:block;color:#d7e8dc;font-weight:500}.login-mantra .feedback-repeat:before{content:"•";margin-right:8px;color:var(--lime)}.login-mantra{max-width:720px;margin:22px 0 0!important;padding-top:14px;border-top:1px solid #ffffff38;color:#fff!important;font-size:13px!important;font-weight:600;line-height:1.9;letter-spacing:.03em}.login-assurance{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin:14px 0 8px}.login-assurance span{border:0;border-radius:0;padding:0;background:transparent;color:var(--muted);font-size:12px;text-align:left}.login-assurance span+span:before{content:"·";margin:0 7px;color:#9aa29c}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-panel form{width:min(460px,100%);background:white;padding:34px;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 48px #1a3c2b12}.login-panel form>small:first-child{color:var(--green);font-weight:700;letter-spacing:.12em}.login-panel h2{font:600 32px serif;margin:7px 0}.login-panel>form>p{color:var(--muted);margin:0 0 24px}.login-intro{font-size:14px;line-height:1.65;max-width:390px}.login-kicker{color:var(--green);font-weight:700;letter-spacing:.12em}.login-panel label{display:block;font-weight:700;margin:17px 0 7px}.phone-field,.code-field{display:grid;align-items:stretch}.phone-field{grid-template-columns:auto 1fr;border:1px solid var(--line);border-radius:9px;overflow:hidden}.phone-field:focus-within,.code-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #28704215}.phone-field span{display:flex;align-items:center;padding:0 13px;background:#f2f4ef;border-right:1px solid var(--line);font-weight:700}.phone-field input,.code-field input{min-width:0;border:0;border-radius:0;outline:0;font-size:16px}.code-field{grid-template-columns:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:9px;overflow:hidden}.code-field button{border:0;border-left:1px solid var(--line);background:#f2f4ef;color:var(--green);font-weight:700;padding:0 14px;cursor:pointer}.code-field button:disabled{color:#8e9891;cursor:not-allowed}.login-submit{width:100%;margin-top:24px;font-size:16px}.login-submit:disabled{opacity:.65;cursor:wait}.auth-message{min-height:22px;margin:12px 0 0!important;color:#9c3c2e!important}.auth-message.success{color:var(--green)!important}.login-note{display:block;margin-top:16px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);line-height:1.6}aside{width:220px;background:var(--green);color:white;padding:32px 20px;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:11px;font:700 26px/1 serif;letter-spacing:.05em}.brand-mark{display:block;width:40px;height:40px;flex:none}.brand-mark svg{display:block;width:100%;height:100%}.brand-mark rect{fill:#ff2525}.brand-mark path{fill:none;stroke:#fff;stroke-width:3.7;stroke-linecap:round;stroke-linejoin:round}.brand-name>span{font:400 13px system-ui;color:#d5eadb;letter-spacing:0}nav{margin-top:55px;display:grid;gap:8px}nav button{color:#e5f1e8;background:none;border:0;text-align:left;padding:12px;border-radius:8px;font:inherit;cursor:pointer}nav button.active,nav button:hover{color:white;background:#ffffff18}main{margin-left:220px;width:calc(100% - 220px);padding:32px 5vw}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}header small,.hero small{letter-spacing:.14em;color:var(--muted);font-size:11px}h1{margin:4px 0;font:600 32px serif}.account{display:flex;align-items:center;gap:10px}.account>div:last-child{display:flex;flex-direction:column;align-items:flex-start}.account strong{font-size:13px}.account button{border:0;background:none;color:var(--muted);padding:0;cursor:pointer;font-size:12px}.account button:hover{color:var(--green)}.avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--lime);border-radius:50%;font-weight:700}.hero{background:var(--green);color:white;padding:38px;border-radius:16px;display:flex;justify-content:space-between;align-items:center}.hero h2{font:500 37px serif;margin:9px 0}.hero p{color:#e1f0e6;max-width:600px}.primary{background:var(--lime);color:#1b2b21;border:0;padding:13px 18px;border-radius:8px;font-weight:700;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.stats article,.panel,.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:20px}.stats label{display:block;color:var(--muted)}.stats strong{font:600 30px serif}.runrow,.historyrow{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.badge{font-size:12px;background:#e5e8e2;padding:4px 8px;border-radius:20px;width:max-content}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.card h3{margin:0}.card .meta{color:var(--muted);min-height:48px}.actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.actions button,.toolbar button,.more{border:1px solid var(--line);background:white;padding:8px;border-radius:7px;cursor:pointer}.toolbar{display:flex;gap:10px;margin-bottom:20px}.toolbar select,input,textarea,select{padding:11px;border:1px solid var(--line);border-radius:7px;background:white}.form{max-width:680px;display:grid;gap:9px}.form textarea{min-height:90px}.hidden{display:none!important}.muted{color:var(--muted)}#toast{position:fixed;right:25px;bottom:25px;background:#17211b;color:white;padding:12px 18px;border-radius:8px;display:none}@media(max-width:860px){.login-page{grid-template-columns:1fr}.login-visual{padding:34px;gap:28px}.login-visual h1{font-size:38px}.login-panel{padding:40px 24px}}@media(max-width:720px){aside{width:100%;height:auto;position:static;padding:17px}.brand br{display:none}nav{margin:15px 0 0;display:flex;overflow:auto}body{display:block}main{margin:0;width:100%;padding:20px}.hero{align-items:flex-start;gap:20px;flex-direction:column}.stats{grid-template-columns:1fr}.account strong{display:none}}


.first-visit-dialog{width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:18px;color:var(--ink);box-shadow:0 24px 90px #07150d55}.first-visit-dialog::backdrop{background:#07150dcc;backdrop-filter:blur(3px)}.first-visit-content{padding:clamp(24px,4vw,38px);overflow:auto;max-height:calc(100vh - 32px)}.first-visit-kicker{color:var(--green);font-size:12px;font-weight:700;letter-spacing:.1em}.first-visit-content h2{margin:8px 0 10px;font:600 29px/1.25 serif}.first-visit-content>p:not(.first-visit-reminder){margin:0;color:var(--muted);line-height:1.7}.first-visit-points{display:grid;gap:12px;margin:20px 0;padding:0;list-style:none}.first-visit-points li{display:grid;gap:3px;padding-left:13px;border-left:3px solid var(--green)}.first-visit-points strong{font-size:14px}.first-visit-points span{color:var(--muted);font-size:13px;line-height:1.6}.first-visit-reminder strong{display:block;margin-bottom:5px;color:var(--green)}.first-visit-reminder .feedback-repeat{display:block;color:#53685a;font-weight:500}.first-visit-reminder .feedback-repeat:before{content:"•";margin-right:8px;color:var(--green)}.first-visit-reminder{margin:18px 0;padding:12px 14px;border-left:3px solid var(--green);border-radius:0 8px 8px 0;background:#f2f7f3;color:#365443;font-size:13px;font-weight:700;line-height:1.8}.first-visit-content button{width:100%;margin-top:4px}.login-visual{padding-bottom:clamp(34px,7vw,92px)}@media(max-width:860px){.login-visual{gap:28px}.login-story{margin-top:0}}@media(max-width:560px){.first-visit-content h2{font-size:25px}.first-visit-reminder{font-size:12px}}

#dashboard .hero .hero-eyebrow{display:inline-block;padding:4px 10px;border:1px solid #ffffff55;border-radius:999px;background:#ffffff1b;color:#f1f8d6;font-size:13px;font-weight:700;letter-spacing:.08em}
#dashboard .hero p{max-width:780px;margin:0 0 24px;line-height:1.65}
#dashboard #run{min-height:58px;padding:15px 30px;border-radius:10px;font-size:18px;box-shadow:0 8px 18px #0b321c33}
#dashboard #run:hover{background:#e3f489}
#dashboard #run:focus-visible{outline:3px solid #fff;outline-offset:3px}
nav a{display:block;color:#e5f1e8;background:none;text-align:left;padding:12px;border-radius:8px;font:inherit;text-decoration:none;cursor:pointer}
nav a.active,nav a:hover{color:white;background:#ffffff18}
nav a:focus-visible{outline:2px solid var(--lime);outline-offset:2px}

.credit-wallet{display:flex;align-items:center;gap:12px;flex-wrap:wrap!important;margin:18px 0 10px!important}.credit-wallet strong{font-size:24px;color:var(--lime)}.credit-wallet button{background:#fffefa;color:var(--green);border:0;border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}.invite-dialog{width:min(520px,calc(100vw - 32px));max-height:85vh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--paper);color:var(--ink)}.invite-dialog::backdrop{background:#17211b99}.invite-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.invite-dialog-head h2{margin:0}.invite-dialog button{padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--green);cursor:pointer}.invite-dialog p{color:var(--muted);line-height:1.7}.invite-code{display:block;font:700 36px/1.4 ui-monospace,monospace;letter-spacing:.12em;background:#edf5ee;color:var(--green);padding:20px 12px;margin:12px 0;text-align:center;user-select:all}.invite-caption{margin-bottom:0}#loginInviteCode{width:100%;text-transform:uppercase}#run:disabled{opacity:.65;cursor:default}
