:root{--ink:#202430;--muted:#707786;--line:#e6ddd2;--pink:#ff4f9a;--shadow:0 20px 50px rgba(36,32,28,.10);--soft:0 10px 22px rgba(36,32,28,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}body{margin:0;font-family:ui-rounded,"Avenir Next","Segoe UI",system-ui,sans-serif;color:var(--ink);background:radial-gradient(circle at 11% 8%,rgba(255,201,75,.22),transparent 20%),radial-gradient(circle at 88% 12%,rgba(88,183,255,.18),transparent 22%),linear-gradient(180deg,#fffdf9,#fffbf7)}button,textarea{font:inherit;color:var(--ink)}.page{max-width:1240px;margin:auto;padding:28px 22px 60px}.hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:18px;margin-bottom:24px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;color:var(--muted)}h1{margin:4px 0 0;font-size:clamp(34px,5vw,58px);line-height:.96}.welcome{text-align:center;font-size:clamp(26px,3.1vw,42px);font-weight:900;color:var(--pink);transform:rotate(-2deg);font-family:"Comic Sans MS","Marker Felt","Trebuchet MS",cursive;text-shadow:0 3px 0 rgba(255,79,154,.12);white-space:nowrap}.hero-right{text-align:right;color:var(--muted);font-size:13px;padding-bottom:6px}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}.sidebar{position:sticky;top:18px}.panel{background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:24px;box-shadow:var(--soft)}.mission{padding:16px}.mission h2{margin:0 0 12px;font-size:16px}.mission button{width:100%;border:0;background:transparent;text-align:left;padding:10px 11px;border-radius:14px;display:flex;align-items:center;gap:10px;cursor:pointer}.mission button:hover,.mission button.active{background:#f7f1e9}.mission button.active{font-weight:900}.dot{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.8);flex:none}.notes{margin-top:14px;padding:14px}.notes-title{margin:0 0 8px;font-size:31px;line-height:1;font-weight:900;color:var(--pink);font-family:"Comic Sans MS","Marker Felt","Trebuchet MS",cursive;transform:rotate(-1deg)}.notes p{margin:0 0 10px;font-size:12px;color:var(--muted)}.notes textarea{width:100%;min-height:235px;resize:vertical;background:#fff3f8;color:#202430;border:2px solid #f2bad3;border-radius:16px;padding:12px 13px;outline:none;line-height:1.45}.notes textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px rgba(255,79,154,.11)}.save-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.save-row button{border:0;background:#202430;color:white;padding:10px 12px;border-radius:12px;font-size:12px;font-weight:900;cursor:pointer}#syncState{font-size:11px;color:#557062}.deck{position:relative;padding:0 14px 18px 0}.deck:before,.deck:after{content:"";position:absolute;inset:0;border-radius:30px;border:1px solid var(--line);z-index:-2}.deck:before{transform:translate(8px,8px);background:#fffaf3}.deck:after{transform:translate(16px,16px);background:#fff5eb;z-index:-3}.card{position:relative;min-height:700px;padding:22px;border-radius:30px;background:var(--card-bg);border:1px solid #ded4c7;box-shadow:var(--shadow);overflow:hidden}.card:after{content:"";position:absolute;right:-70px;top:-75px;width:230px;height:230px;border-radius:50%;background:var(--blob);pointer-events:none}.card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;position:relative;z-index:1}.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:var(--accent)}.concept-title{margin:4px 0;font-size:clamp(28px,4vw,44px);line-height:1.02}.sub{margin:0;color:var(--muted);font-size:14px}.helpbox{width:52px;height:52px;border:0;border-radius:12px;background:var(--accent);color:white;font-weight:1000;font-size:29px;cursor:pointer;box-shadow:inset 0 -5px rgba(0,0,0,.14),0 7px 0 rgba(32,36,48,.08);transform:rotate(1deg)}.visual{margin:22px 0 16px;border-radius:22px;background:#fff;border:1px solid #dcd3ca;padding:10px;overflow:hidden}.visual svg{display:block;width:100%;height:auto;max-height:240px}.question{background:#fff3df;color:#202430;border:2px solid #dccbb5;border-radius:20px;padding:18px;position:relative;z-index:1}.question h3{margin:0 0 12px;font-size:23px;line-height:1.28;color:#202430}.choices{display:grid;gap:9px}.choice{border:2px solid #d5c9bc;background:#eee6dc;color:#202430;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;font-weight:750}.choice:hover{border-color:var(--accent);background:#fff}.choice.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,white);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.feedback{margin-top:12px;border-radius:14px;padding:12px 13px;background:#fff;color:#334054;border-left:4px solid var(--accent);display:none}.feedback.show{display:block}.feedback strong{display:block;margin-bottom:3px;color:#202430}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.actions button{border:1px solid #cfc5bb;background:#fff;color:#202430;border-radius:13px;padding:10px 13px;font-weight:900;cursor:pointer}.actions .primary{background:var(--accent);color:white;border-color:transparent}.counter{margin-left:auto;font-size:12px;color:var(--muted)}dialog{border:2px solid #2d3340;padding:0;border-radius:24px;background:#fff8e8;color:#202430;box-shadow:0 30px 100px rgba(32,36,48,.25);max-width:640px;width:calc(100% - 36px)}dialog::backdrop{background:rgba(32,36,48,.38);backdrop-filter:blur(3px)}.modal{padding:24px;background:#fff8e8;color:#202430}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.modal h3{margin:0;font-size:28px;color:#202430}.close{border:0;background:#202430;color:white;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:20px}.modal p{line-height:1.6;color:#344054;background:white;padding:14px 16px;border-radius:14px;border:1px solid #dfd4c6}.mini-defs{display:grid;gap:8px;margin-top:14px}.mini-defs button{border:2px solid #d1a42c;background:#ffe28b;color:#202430;border-radius:12px;padding:10px 12px;text-align:left;cursor:pointer;font-weight:900}.definition{display:none;margin:7px 0 0 10px;color:#354052;background:white;border-left:4px solid var(--pink);border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.45}.definition.show{display:block}@media(max-width:860px){.hero{grid-template-columns:1fr}.welcome{text-align:left;white-space:normal}.hero-right{text-align:left}.layout{grid-template-columns:1fr}.sidebar{position:static}.notes textarea{min-height:150px}.card{min-height:auto}}