:root{
  --ink:#202430;--muted:#707786;--line:#e5ddd3;--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 12% 7%,rgba(255,201,75,.20),transparent 19%),
    radial-gradient(circle at 88% 11%,rgba(88,183,255,.17),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,.92);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;transition:.14s ease
}
.mission button:hover,.mission button.active{background:#f7f1e9}
.mission button.active{font-weight:900;transform:translateX(2px)}
.dot{
  width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);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);line-height:1.4}
.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;line-height:1.25}
.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;text-wrap:balance}
.sub{margin:0;color:var(--muted);font-size:14px}
.top-tools{display:flex;align-items:center;gap:10px;flex:none}
.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)
}
.another-btn{
  border:2px solid color-mix(in srgb,var(--accent) 34%,#d8d0c7);background:#fff;color:#202430;
  border-radius:13px;padding:11px 13px;font-weight:900;cursor:pointer;box-shadow:0 5px 0 rgba(32,36,48,.06)
}
.another-btn:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,white)}
.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:color-mix(in srgb,var(--accent) 9%,white);color:#202430;
  border:2px solid color-mix(in srgb,var(--accent) 30%,#d7cec4);
  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;text-wrap:pretty}
.choices{display:grid;gap:9px}
.choice{
  border:2px solid color-mix(in srgb,var(--accent) 15%,#d5c9bc);
  background:#fff;color:#202430;border-radius:14px;padding:12px 14px;text-align:left;cursor:pointer;
  font-weight:730;line-height:1.35;transition:.14s ease
}
.choice:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 4%,white)}
.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;line-height:1.45
}
.feedback.show{display:block}
.feedback strong{display:block;margin-bottom:3px;color:#202430}
.concept-nav{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:16px
}
.concept-nav button{
  border:1px solid #cfc5bb;border-radius:13px;padding:11px 14px;font-weight:900;cursor:pointer
}
.prev-concept{
  justify-self:start;background:#eee8ff;color:#443765;border-color:#cfc3f2!important
}
.prev-concept:hover{background:#e4dcff}
.next-concept{
  justify-self:end;background:var(--accent);color:white;border-color:transparent!important
}
.next-concept:hover{filter:brightness(.97)}
.counter{font-size:12px;color:var(--muted);font-weight:900;text-align:center;white-space:nowrap}
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}
.source{
  margin-top:24px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;
  background:rgba(255,255,255,.7);color:var(--muted);font-size:11px;line-height:1.45
}
@media(max-width:860px){
  .hero{grid-template-columns:1fr;align-items:start}.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}
  .card-top{gap:10px}.top-tools{align-items:flex-end;flex-direction:column}.concept-nav{gap:8px}
  .concept-nav button{padding:10px;font-size:12px}
}
