:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#101010;background:#ffd21f;font-synthesis:none;--ink:#101010;--paper:#fffdf8;--yellow:#ffd21f;--pink:#ff4d8d;--purple:#7957f5;--lime:#b9ef3d;--muted:#6b6b6b}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--yellow)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;max-width:1440px;margin:auto;padding:28px 34px 70px;background:var(--yellow);position:relative;overflow:hidden}.app-shell:before,.app-shell:after{content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none}.app-shell:before{width:430px;height:430px;background:var(--pink);left:-190px;top:170px}.app-shell:after{width:600px;height:420px;background:var(--purple);right:-180px;bottom:-180px;transform:rotate(-18deg);border-radius:48%}.topbar,.hero,.quiz-card,.schedule-heading,.toolbar,.days,.session-grid,.roadmap,.empty-state{position:relative;z-index:1}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:72px}.brand{display:flex;align-items:center;gap:12px}.brand img{width:46px;height:46px;object-fit:cover;border:3px solid var(--ink);border-radius:13px;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:-.03em}.brand span{font-size:11px;font-weight:700}.icon-button,.modal-heading button{display:grid;place-items:center;width:45px;height:45px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.icon-button:active,.modal-heading button:active,.secondary-button:active,.primary-button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}.hero{max-width:800px;margin:0 auto 34px;text-align:center}.eyebrow,.question-label{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.eyebrow{display:inline-block;padding:8px 11px;background:var(--ink);color:var(--yellow);border-radius:5px}.hero h1,.schedule-heading h1{font-size:clamp(44px,7vw,84px);line-height:.93;letter-spacing:-.085em;margin:20px 0 18px;font-weight:950}.hero h1 em{font-style:normal}.hero p{max-width:570px;margin:auto;font-size:15px;line-height:1.55;font-weight:650}.quiz-card,.session-card,.empty-state,.road-content{border:3px solid var(--ink);background:var(--paper);box-shadow:8px 8px 0 var(--ink)}.quiz-card{max-width:760px;margin:auto;padding:28px;border-radius:20px}.progress-row{display:flex;justify-content:space-between;font-size:12px;font-weight:850}.progress-track{height:9px;margin:12px 0 30px;border:3px solid var(--ink);border-radius:99px;background:#fff;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--pink);transition:width .25s}.question-label{display:block;color:var(--purple);margin-bottom:10px}.quiz-card h2{font-size:clamp(23px,3vw,34px);line-height:1.1;letter-spacing:-.055em;margin:0 0 24px}.answers{display:grid;gap:11px}.answer{display:flex;align-items:center;gap:12px;width:100%;padding:15px 16px;border:3px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-weight:750;text-align:left;box-shadow:4px 4px 0 var(--ink)}.answer:hover{background:#fff5be}.answer.selected{background:#e8ddff}.answer.correct{background:var(--lime)}.answer.incorrect{background:#ffbed5}.answer:disabled{cursor:default}.answer-dot{width:19px;height:19px;flex:none;border:3px solid var(--ink);border-radius:50%;background:#fff}.selected .answer-dot{background:var(--purple);box-shadow:inset 0 0 0 4px #fff}.feedback{min-height:24px;padding-top:13px;font-size:13px;font-weight:850}.feedback.success{color:#2c7713}.feedback.error{color:#bd194b}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:3px solid var(--ink);border-radius:12px;padding:13px 18px;font-weight:900;box-shadow:5px 5px 0 var(--ink)}.primary-button{width:100%;margin-top:20px;background:var(--yellow);color:var(--ink)}.primary-button:disabled{opacity:.42;cursor:not-allowed}.secondary-button{background:var(--paper);color:var(--ink)}.schedule-heading{display:flex;justify-content:space-between;align-items:end;margin:0 auto 28px;max-width:1170px}.schedule-heading h1{font-size:clamp(43px,6vw,72px);margin:14px 0 7px}.schedule-heading p{margin:0;font-weight:750}.toolbar,.days,.session-grid,.roadmap,.empty-state{max-width:1170px;margin-left:auto;margin-right:auto}.toolbar{margin-bottom:20px}.segmented{display:inline-flex;padding:4px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}.segmented button{border:0;border-radius:7px;padding:10px 15px;background:transparent;color:var(--muted);font-weight:900}.segmented button.active{background:var(--ink);color:var(--yellow)}.days{display:flex;gap:10px;overflow:auto;padding:4px 4px 17px}.day-button{border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);padding:11px 13px;white-space:nowrap;font-weight:900;box-shadow:4px 4px 0 var(--ink)}.day-button.active{background:var(--pink);color:var(--ink)}.remove-day{padding-left:9px}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.session-card{position:relative;padding:20px;border-radius:16px}.session-top{display:flex;justify-content:space-between;color:var(--purple);font-size:12px;font-weight:950}.session-top b{color:var(--pink);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.session-card h2{font-size:20px;letter-spacing:-.04em;margin:15px 0 10px}.session-meta,.road-content span{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--muted)}.session-meta span{display:flex;align-items:center;gap:5px}.card-actions{display:flex;gap:8px;margin-top:18px}.card-actions button{border:2px solid var(--ink);border-radius:9px;padding:7px 10px;background:var(--paper);color:var(--ink);font-weight:850;box-shadow:3px 3px 0 var(--ink)}.card-actions .delete{background:#ffbed5}.roadmap{display:grid;gap:0}.road-item{display:grid;grid-template-columns:76px 24px 1fr;gap:14px;min-height:110px}.road-time{text-align:right;font-size:12px;font-weight:950}.road-time small{display:block;color:var(--muted);margin-top:4px}.road-line{display:flex;justify-content:center;position:relative}.road-line:after{content:"";position:absolute;top:14px;bottom:0;width:3px;background:var(--ink)}.road-line i{z-index:1;width:15px;height:15px;border:3px solid var(--ink);border-radius:50%;background:var(--pink)}.road-content{align-self:start;padding:16px;box-shadow:5px 5px 0 var(--ink)}.road-content strong{display:block;margin-bottom:7px}.empty-state{padding:42px;text-align:center;font-weight:800}.modal-backdrop{position:fixed;inset:0;display:grid;place-items:end center;padding:18px;background:rgba(16,16,16,.55);backdrop-filter:blur(8px);z-index:5}.modal{width:min(620px,100%);padding:25px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);box-shadow:8px 8px 0 var(--ink)}.modal-heading{display:flex;justify-content:space-between;align-items:center}.modal-heading h2{margin:0 0 20px;font-size:26px;letter-spacing:-.05em}.modal label{display:grid;gap:7px;margin-bottom:13px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.modal input,.modal select{width:100%;padding:13px;border:3px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font-size:14px;text-transform:none;letter-spacing:normal}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.modal-actions .primary-button{width:auto;margin:0}.modal-actions .secondary-button{box-shadow:3px 3px 0 var(--ink)}@media(max-width:680px){.app-shell{padding:18px 16px 70px}.app-shell:before{width:260px;height:260px;left:-180px;top:230px}.app-shell:after{width:330px;height:270px;right:-170px;bottom:-90px}.topbar{margin-bottom:48px}.hero{text-align:left}.hero p{margin:0}.hero h1{font-size:clamp(43px,14vw,66px)}.quiz-card{padding:20px}.schedule-heading{display:block}.schedule-heading .secondary-button{margin-top:20px}.two-col{grid-template-columns:1fr}.road-item{grid-template-columns:56px 18px 1fr;gap:9px}.road-content{padding:13px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%!important}}
