:root{--ink:#232433;--muted:#747482;--paper:#f6f3ed;--gold:#c58c2e;--purple:#7860b3;--border:#e4dfd5;--card:#fffdfa;font-family:Segoe UI,system-ui,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}aside{position:fixed;width:242px;inset:0 auto 0 0;background:#1c1d2d;color:#eeebf5;padding:35px 25px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;color:#e8b765;font-size:30px;text-decoration:none;align-items:center}.brand span{font-size:22px;color:#fff}.brand small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:6px;color:#a09bb7}nav{display:grid;gap:9px;margin-top:55px}nav button{text-align:left;border:0;background:transparent;color:#aba8bc;padding:14px;font-size:14px}nav button.selected{color:#ffdc99;background:#363044}.aside-bottom{margin-top:auto;font-size:13px;line-height:1.8}.aside-bottom small{color:#a09bb7}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ed4b0;margin-right:5px}#signout{display:block;background:transparent;border:0;color:#aaa5ba;padding:12px 0;font-size:12px}main{margin-left:242px;padding:42px 50px;max-width:1560px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;color:#9e7f4f;margin:0 0 12px}h1{font-size:36px;font-weight:600;letter-spacing:-1.1px;margin:0}h2{font-size:21px;font-weight:600;letter-spacing:-.4px;margin:0 0 8px}p{font-size:14px;line-height:1.65;margin:8px 0 18px}.pill{font-size:10px;font-weight:600;letter-spacing:1px;border:1px solid var(--border);padding:9px 13px;border-radius:20px;white-space:nowrap}.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:27px;margin-bottom:24px}.narrow{max-width:520px;margin:20px auto}.big-star{font-size:44px;color:var(--gold);display:block;margin-bottom:20px}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px}.section-intro p{color:var(--muted);margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:20px;margin:0 0 30px}.wizard-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:25px;border-top:3px solid var(--school,#b087d4)}.wizard-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:25px}.wizard-top h3{font-size:20px;margin:0 0 7px}.wizard-top p{color:var(--muted);font-size:12px;margin:0}.school-badge{font-size:11px;background:var(--paper);border-radius:15px;padding:7px 10px;color:var(--school)}.bar-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px}.bar-label b{font-size:14px}progress{width:100%;height:7px;border:0;border-radius:10px;background:#ede9e2;appearance:none;margin-bottom:17px}progress::-webkit-progress-bar{background:#ede9e2;border-radius:10px}progress::-webkit-progress-value{background:var(--school,#8a6ac4);border-radius:10px}progress.total::-webkit-progress-value{background:#cfaa6b}.current{margin-top:8px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;line-height:1.6}.current small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:5px}.card-foot{color:var(--muted);font-size:11px;margin:12px 0}.empty{padding:30px;text-align:center;color:var(--muted);border:1px dashed #d5cbbd;border-radius:12px}.activity-row{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px}.activity-row:last-child{border:0}.activity-row .symbol{color:var(--gold)}.activity-row small{display:block;color:var(--muted);margin-top:5px}.activity-row time{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}button{font:inherit;font-size:13px;border:1px solid #dcd5c9;background:#fffdfa;color:var(--ink);border-radius:8px;padding:10px 15px;cursor:pointer}button:hover{filter:brightness(.97)}button:disabled{opacity:.5;cursor:wait}.primary{background:#7460a1;color:white;border-color:#7460a1;font-weight:600}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}label{display:block;color:#565462;font-size:12px;font-weight:600;margin-bottom:16px}input,select{display:block;width:100%;background:#fff;border:1px solid #dcd6cb;border-radius:8px;padding:11px 12px;margin-top:7px;font:inherit;font-size:14px;color:var(--ink)}input:focus,select:focus{outline:2px solid #c4b3e0;outline-offset:1px}small,.muted{color:var(--muted);font-size:12px}.filters{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:18px}.catalog-note{background:#faf2df;border:1px solid #ecdfbf;border-radius:9px;padding:13px 16px;color:#82652f;font-size:12px}.checkpoint{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0}.checkpoint label{flex:1;min-width:240px;margin:0}.checkpoint span{flex-basis:100%}.quest-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--border);padding:13px 0}.quest-row small{display:block;margin-top:4px}.quest-row .status{min-width:126px;text-align:center;font-size:11px}.status.complete{background:#edf6ed;border-color:#cbe0ca;color:#44724c}.status.incomplete{background:#f4f0e9}.status.unknown{color:#8a818c;border-style:dashed}.review{margin-top:24px;padding-top:15px}.review small{display:block;line-height:1.6;margin-top:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.invite{font-size:13px;overflow-wrap:anywhere;padding:15px;background:#edf5ee;border-radius:9px;margin:16px 0}hr{border:0;border-top:1px solid var(--border);margin:25px 0}footer{display:flex;justify-content:space-between;color:#938c80;font-size:11px;gap:15px;margin-top:35px}dialog{border:1px solid var(--border);border-radius:15px;padding:30px;min-width:380px;box-shadow:0 15px 70px #0003}dialog::backdrop{background:#19152566}#notice{position:sticky;top:10px;z-index:5;padding:14px 18px;border-radius:9px;background:#eee7f9;color:#51416f;margin-bottom:20px}#notice.error{background:#fbe9e5;color:#983f35}[hidden]{display:none!important}@media(max-width:900px){aside{width:180px;padding:25px 16px}.brand span{font-size:18px}main{margin-left:180px;padding:28px 25px}header{align-items:flex-start;gap:16px}h1{font-size:29px}.filters{grid-template-columns:1fr}footer{display:block}footer span{display:block;margin-top:10px}}@media(max-width:600px){aside{position:static;width:auto;padding:18px}.brand{font-size:24px}nav{margin-top:15px;display:flex;gap:3px}nav button{font-size:12px;padding:10px}.aside-bottom{display:none}main{margin:0;padding:25px 16px}header .pill{display:none}h1{font-size:28px}.two{grid-template-columns:1fr}dialog{min-width:0;width:90%}.section-intro{align-items:flex-start}.panel{padding:20px}}
