:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#252c42;background:#f7f7fb;font-size:16px;--purple:#5b46b3;--muted:#5e657a;--line:#dedfeb}*{box-sizing:border-box}body{margin:0}a{color:#55419a}button,input,textarea,select{font:inherit}button,.file{min-height:44px;padding:10px 16px;border:1px solid #d1cfe0;background:white;color:#34314a;border-radius:9px;cursor:pointer;font-weight:650}button:hover,.file:hover{background:#f0edf9}button.primary,nav button.active{background:var(--purple);color:white;border-color:var(--purple)}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid #b3641c;outline-offset:3px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{max-width:1280px;margin:auto;padding:25px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header a{text-decoration:none}.brand{font-size:1.15rem;font-weight:850;color:#293047}.brand span{color:var(--purple)}main{max-width:1280px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:60px 0 44px;align-items:center}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--purple)}h1{font-size:clamp(2.2rem,4.4vw,3.8rem);letter-spacing:-.045em;line-height:1.12;margin:19px 0}h1 em{color:var(--purple);font-style:normal}.lead{font-size:1.08rem;line-height:1.8;color:var(--muted)}.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hero-actions{margin:25px 0}.hero-actions span{margin-left:20px}.stats{display:flex;gap:25px;color:var(--muted);font-size:.8rem}.stats b{color:#333044;font-size:1.2rem;display:block;margin-bottom:4px}.visual{height:340px;position:relative;background:radial-gradient(ellipse,#e9e2f7,transparent 72%);padding:20px}.visual-label{font-size:.65rem;letter-spacing:.15em;color:#6b6182}.paper{position:absolute;width:280px;padding:18px 22px;background:white;border:1px solid #e2dfec;border-radius:12px;box-shadow:0 12px 30px #45396c10}.paper span{font-size:.62rem;color:#756a91;font-weight:800;letter-spacing:.12em}.paper strong{display:block;font-size:1.25rem;margin:7px 0}.paper p{font-size:.8rem;margin:0;color:var(--muted)}.one{top:54px;left:30px;transform:rotate(-5deg)}.two{top:140px;left:95px;transform:rotate(4deg);background:#f0ebfc}.three{top:225px;left:50px;transform:rotate(-2deg)}.notice{display:flex;gap:12px;line-height:1.65;background:#eeedf7;border:1px solid #dfdaef;padding:17px 21px;border-radius:12px;font-size:.85rem}.dot{width:9px;height:9px;background:var(--purple);border-radius:50%;flex:none;margin-top:7px}nav{display:flex;gap:7px;flex-wrap:wrap;margin:28px 0 0;padding-bottom:16px;border-bottom:1px solid var(--line)}nav button{background:transparent;border-color:transparent;font-size:.85rem}.progressline{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.77rem;margin:17px 0}.card{background:white;border:1px solid var(--line);border-radius:15px;padding:23px;margin-bottom:18px;min-width:0}h2{font-size:1.45rem;margin:8px 0 14px;letter-spacing:-.02em}h3{font-size:1rem;margin:15px 0 8px}p,li{line-height:1.7}p{margin:8px 0 15px}.muted{color:var(--muted);font-size:.86rem}.badge{display:inline-block;padding:5px 9px;border-radius:6px;background:#efecf8;color:#57477d;font-size:.7rem;font-weight:750}.layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}.side{position:sticky;top:16px}.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.row>*{flex:1;min-width:0}.row button{flex:none}label{display:block;font-size:.85rem;font-weight:700;margin:13px 0 6px}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{width:100%;padding:11px;border:1px solid #c9cad8;border-radius:8px;background:white;color:#272d40}textarea{min-height:120px;resize:vertical}input[type=range]{width:100%;accent-color:var(--purple)}input[type=checkbox],input[type=radio]{accent-color:var(--purple);margin-right:8px;min-width:16px;min-height:16px}.source{padding:17px;border:1px solid var(--line);border-radius:11px;margin:12px 0;background:#fff}.source.selected{border-color:#9e90ce;background:#faf8ff}.source label{font-size:1rem;margin:0;display:flex;align-items:center}.source p{font-size:.85rem;margin:10px 0;white-space:pre-wrap}.source small{font-size:.73rem;color:var(--muted)}.source .actions{justify-content:space-between;margin-top:10px}.source button{font-size:.72rem;min-height:36px;padding:5px 9px}.source details{margin:10px 0}.source summary{font-size:.8rem;cursor:pointer;color:#57477d}.state{font-size:.73rem;font-weight:700;color:#4c6261}.state.dropped,.warning{color:#8d4f1c}.meter{height:18px;display:flex;border-radius:5px;overflow:hidden;background:#ececf1;margin:14px 0}.meter span{height:100%;display:block}.meter .used{background:#7966bb}.meter .reserve{background:#bfc2d8}.legend{font-size:.74rem;color:var(--muted)}.coverage{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.coverage span{font-size:.74rem;padding:5px 9px;border:1px dashed #bdc1cc;border-radius:20px}.coverage .yes{background:#e7f3ed;border:1px solid #b6d4c5;color:#28644c}.insight{background:#f2eff9;border-left:3px solid #8670c0;border-radius:6px;padding:14px;margin:14px 0;font-size:.85rem}.warnings{padding-left:20px;font-size:.82rem}.packet{max-height:320px;overflow:auto;background:#f8f8fb;padding:14px;border:1px solid #e2e2eb;border-radius:8px;font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid .card{margin:0}.card.done{border-color:#8bb89b}.mission-title{font-size:1.12rem}.list{max-height:620px;overflow:auto;display:grid;gap:8px;padding:3px}.list button{text-align:left;font-weight:500;font-size:.85rem}.list button.active{background:#efeafa;border-color:#a79bc8}.learn-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}.quiz label{border:1px solid var(--line);border-radius:8px;padding:12px;font-weight:400;display:flex;align-items:center}.feedback{padding:10px 0;color:#365a4b;font-size:.9rem}.utilities{border-top:1px solid var(--line);padding:25px 0;margin-top:28px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-size:.8rem}.utilities p{color:var(--muted);max-width:500px}.utilities button,.file{font-size:.75rem}.file{display:inline-flex;align-items:center;position:relative;margin:0;overflow:hidden}.file input{position:absolute;inset:0;opacity:0;cursor:pointer}.file:focus-within{outline:3px solid #b3641c;outline-offset:3px}footer{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding:28px 0;font-size:.78rem;color:var(--muted)}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#342b50;color:white;padding:12px 22px;border-radius:12px;max-width:90%;z-index:10}#toast:empty{display:none}button,summary,a{touch-action:manipulation}@media(max-width:900px){.hero{grid-template-columns:1fr}.visual{display:none}.side{position:static}.layout{grid-template-columns:1fr}.learn-layout{grid-template-columns:240px minmax(0,1fr)}.utilities{display:block}}@media(max-width:640px){main{padding:0 16px}header{padding:20px 16px;font-size:.85rem}.hero{padding:35px 0 30px}.grid,.learn-layout{grid-template-columns:1fr}.list{max-height:220px}.card{padding:18px}.stats{gap:20px}footer{display:block}.progressline{flex-wrap:wrap}.row{gap:10px}nav{gap:2px}nav button{font-size:.75rem;padding:9px}.source .actions{gap:6px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
