:root{--bg:#070706;--panel:#11100c;--panel-2:#17140e;--panel-3:#1d1d1a;--line:#3e3018;--line-strong:#7a5a20;--gold:#d6a73a;--gold-soft:#f4e1ad;--text:#f7f0df;--muted:#b6aa8d;--muted-2:#8c917f;--cyan:#77b9b1;--slate:#232a2a;--danger:#ffcf8a;--error:#ff9f85;--radius:8px}*{box-sizing:border-box}html{min-width:320px}body{background:var(--bg);min-height:100vh;color:var(--text);overflow-wrap:anywhere;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea{border-radius:var(--radius)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin-bottom:.35rem;font-size:.72rem;font-weight:700;line-height:1.3;display:block}.app-shell{flex-direction:column;gap:16px;max-width:1540px;min-height:100vh;margin:0 auto;padding:18px;display:flex}.app-header{border:1px solid var(--line);border-radius:var(--radius);justify-content:space-between;align-items:center;min-height:78px;padding:14px 16px;display:flex}.app-header h1,.auth-panel h1,.settings-panel h1{margin:0;font-size:1.35rem;line-height:1.15}.header-actions{align-items:center;gap:8px;display:flex}.header-actions a,.icon-action{background:var(--panel-2);border:1px solid var(--line);color:var(--gold-soft);justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.progress-strip{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(130px,.7fr) minmax(160px,2fr) minmax(220px,1fr);align-items:center;gap:14px;padding:14px 16px;display:grid}.progress-strip__item strong{font-size:1.05rem;display:block}.progress-strip__bar{background:#25221b;border:1px solid #302918;border-radius:999px;height:12px;overflow:hidden}.progress-strip__bar span{background:linear-gradient(90deg, var(--gold), var(--cyan));height:100%;display:block}.progress-strip__meta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:.86rem;display:flex}.dashboard-grid{grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.route-sidebar{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:18px;padding:12px;display:flex;position:sticky;top:12px}.route-sidebar__section{gap:8px;display:grid}.route-item,.stage-link{color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;gap:4px;width:100%;min-height:42px;padding:10px;display:grid}.route-item strong,.stage-link{color:var(--text);font-size:.9rem;line-height:1.25}.route-item span{font-size:.78rem;line-height:1.35}.route-item--active,.stage-link--active{border-color:var(--line-strong);color:var(--gold-soft);background:#171814}.stage-detail{gap:16px;min-width:0;display:grid}.stage-detail__header{justify-content:space-between;align-items:start;gap:14px;display:flex}.stage-detail h2{margin:0;font-size:1.45rem;line-height:1.2}.stage-detail__objective{color:var(--muted);max-width:980px;margin:0;line-height:1.65}.pending-chip{background:var(--slate);color:var(--cyan);border:1px solid #3d4d4a;flex:none;padding:6px 9px;font-size:.78rem}.concept-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;display:grid}.concept-card,.task-list,.resource-list,.stage-note,.settings-panel,.auth-panel,.passkey-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.concept-card{gap:12px;min-height:172px;padding:13px;display:grid}.concept-card__header{justify-content:space-between;align-items:start;gap:10px;display:flex}.concept-card h3,.task-list h3,.resource-list h3,.stage-note h3,.settings-panel h2,.passkey-row h3{margin:0;font-size:.98rem;line-height:1.25}.concept-card__header span{color:var(--gold-soft);background:#202414;border:1px solid #465225;flex:none;padding:4px 7px;font-size:.76rem}.concept-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.segmented{border-radius:var(--radius);background:#0c0c0a;border:1px solid #2d2a20;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;min-height:34px;padding:3px;display:grid}.segmented__button{color:var(--muted);background:0 0;border:0;min-width:0;padding:7px 5px}.segmented__button--active{background:var(--line-strong);color:var(--text)}.side-panels{grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr) minmax(260px,1fr);align-items:start;gap:12px;display:grid}.task-list,.resource-list,.stage-note{gap:10px;padding:13px;display:grid}.task-row{border-radius:var(--radius);border:1px solid #2b2618;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:46px;padding:9px;display:grid}.task-row input{accent-color:var(--gold);width:16px;height:16px}.task-row span,.resource-row a,.resource-row p,.self-checks p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.task-row svg{color:var(--cyan)}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title svg{color:var(--gold)}.resource-row{border-radius:var(--radius);border:1px solid #2b2618;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:9px;display:grid}.resource-row span{color:var(--cyan);font-size:.76rem;font-weight:700}.resource-row a{text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}.self-checks{border-top:1px solid #2b2618;gap:7px;padding-top:10px;display:grid}.self-checks h4{color:var(--gold-soft);margin:0;font-size:.82rem}.stage-note textarea,.field input{border:1px solid var(--line);color:var(--text);background:#0d0d0b;outline:none;width:100%;min-width:0;padding:10px}.stage-note textarea{resize:vertical;min-height:148px;line-height:1.5}.stage-note textarea:focus,.field input:focus{border-color:var(--gold);box-shadow:0 0 0 2px #d6a73a29}.save-status{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:10px 12px}.save-status--error,.form-message--error{color:var(--error)}.footer-warning{border:1px solid var(--line);border-radius:var(--radius);color:var(--gold-soft);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.footer-warning p{margin:0;font-weight:700;line-height:1.45}.footer-warning__labels{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.footer-warning__labels span{background:var(--panel-3);color:var(--cyan);border:1px solid #42514d;padding:6px 9px;font-size:.8rem}.auth-page{align-items:center;min-height:100vh;padding:20px;display:grid}.auth-panel{gap:18px;width:100%;max-width:430px;margin:0 auto;padding:22px;display:grid}.auth-panel__copy{color:var(--muted);margin:8px 0 0;line-height:1.5}.field{gap:8px;display:grid}.field span{color:var(--muted);font-size:.86rem}.primary-action,.primary-link{background:var(--gold);color:#11100c;border:1px solid #e0bb5b;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 13px;font-weight:800;display:inline-flex}.quiet-link{color:var(--muted);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;font-size:.9rem}.form-message{margin:0;line-height:1.45}.settings-page{gap:14px;max-width:980px;min-height:100vh;margin:0 auto;padding:18px;display:grid}.settings-panel{gap:14px;padding:16px;display:grid}.settings-panel__header{justify-content:space-between;align-items:start;gap:12px;display:flex}.settings-list,.passkey-row dl{gap:10px;margin:0;display:grid}.settings-list div,.passkey-row dl div{border-radius:var(--radius);border:1px solid #2b2618;gap:4px;padding:10px;display:grid}.settings-list dt,.passkey-row dt{color:var(--muted-2);font-size:.78rem}.settings-list dd,.passkey-row dd{color:var(--text);margin:0}.passkey-list{gap:10px;display:grid}.passkey-row{gap:12px;padding:12px;display:grid}.passkey-row p{color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.35}@media (max-width:1100px){.dashboard-grid,.side-panels{grid-template-columns:1fr}.route-sidebar{position:static}}@media (max-width:760px){.app-shell,.settings-page{padding:12px}.app-header,.footer-warning,.settings-panel__header{flex-direction:column;align-items:stretch}.progress-strip{grid-template-columns:1fr}.progress-strip__meta,.footer-warning__labels{justify-content:flex-start}.stage-detail__header{flex-direction:column}.concept-grid{grid-template-columns:1fr}}
