:root{--ink:#1e1033;--ink-2:#3d2e52;--muted:#5a4a6b;--indigo:#24104a;--indigo-2:#3d2372;--indigo-line:#6a4fa3;--on-dark:#e6dcf5;--pink:#c2185b;--pink-dark:#8e0f42;--pink-tint:#fce4ef;--hot:#ff7eb0;--lilac:#b79cff;--saffron:#ffc94d;--violet:#5b21b6;--violet-tint:#ede4fb;--ground:#faf5fa;--surface:#fff;--well:#f1e9f5;--line:#e5d9ea;--display:"Bricolage Grotesque", "Trebuchet MS", sans-serif;--body:"Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;--nav-h:66px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--body);margin:0;font-size:16px;line-height:1.55}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}h1,h2{font-family:var(--display);letter-spacing:-.015em;text-wrap:balance;line-height:1.15}h1{font-size:clamp(1.8rem,5vw,2.3rem);font-weight:700}h2{font-size:1.3rem;font-weight:600}h3{font-size:.9rem;font-weight:700}p{text-wrap:pretty}a{color:var(--pink)}a:hover{color:var(--pink-dark)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--violet);outline-offset:2px;border-radius:6px}.viewport :focus-visible,.nav :focus-visible,.signin-top :focus-visible,.term-card :focus-visible{outline-color:var(--saffron)}.skip{background:var(--surface);z-index:20;border-radius:10px;padding:10px 14px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.shell{min-height:100dvh}.main{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px)}.nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(8px + env(safe-area-inset-bottom));display:flex;position:fixed;bottom:0;left:0;right:0}.brand,.nav-foot{display:none}.nav-link{min-height:50px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-size:.72rem;text-decoration:none;display:flex}.nav-link.active{color:var(--pink);font-weight:700}@media (width>=900px){.shell{grid-template-columns:236px minmax(0,1fr);display:grid}.main{padding-bottom:0}.nav{background:var(--indigo);border:0;flex-direction:column;gap:4px;height:100dvh;padding:24px 16px;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 12px 20px;display:flex}.brand span{font-family:var(--display);color:#fff;letter-spacing:.04em;font-size:1.4rem;font-weight:700}.phone-only{display:none}.nav-link{min-height:46px;color:var(--on-dark);flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:0 12px;font-size:.95rem}.nav-link:hover,.nav-link.active{background:var(--indigo-2);color:#fff}.nav-foot{border-top:1px solid var(--indigo-2);align-items:center;gap:10px;margin-top:auto;padding:16px 8px 0;display:flex}.avatar{background:var(--hot);width:36px;height:36px;color:var(--indigo);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.who{flex-direction:column;flex:auto;min-width:0;line-height:1.3;display:flex}.who strong{color:#fff;font-size:.9rem}.who span{color:#c9bce0;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}}.icon-btn{background:0 0;border:0;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.icon-btn.on-dark{color:var(--on-dark)}.icon-btn.on-dark:hover{background:var(--indigo-2)}.page{flex-direction:column;gap:18px;max-width:1180px;margin:0 auto;padding:24px 18px;display:flex}.page.narrow{max-width:720px}@media (width>=900px){.page{gap:24px;padding:40px}}.page-head{flex-direction:column;gap:6px;display:flex}.page-head p{color:var(--muted)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.eyebrow.pink{color:var(--pink)}.eyebrow.violet,strong.violet{color:var(--violet)}.eyebrow.hot{color:var(--hot)}.eyebrow.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;padding:18px;display:flex}.card p{color:var(--ink-2)}.btn{text-align:center;border:2px solid #0000;border-radius:23px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 20px;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--pink);color:#fff}.btn-primary:hover{background:var(--pink-dark);color:#fff}.btn-outline{border-color:var(--pink);color:var(--pink);background:0 0}.btn-outline:hover{background:var(--pink-tint)}.btn-light{color:var(--indigo);background:#fff}.btn-light:hover{background:var(--pink-tint);color:var(--indigo)}.btn-hot{background:var(--hot);color:var(--indigo);align-self:flex-start}.btn-hot:hover{color:var(--indigo);background:#fff}.btn-small{flex:none;min-height:44px;padding:0 14px;font-size:.85rem}.btn-big{width:100%;min-height:52px;font-size:1rem}.btn:disabled{opacity:.6;cursor:default}.btn-row{flex-wrap:wrap;gap:10px;display:flex}.btn-row .btn{flex:150px}.link-btn{color:var(--pink);background:0 0;border:0;min-height:44px;padding:0 0 0 8px;font-weight:700;text-decoration:underline}.pill{border:2px solid var(--line);background:var(--surface);border-radius:22px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 18px;font-size:.9rem;font-weight:700;display:inline-flex}.pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.pill.on-dark{border-color:var(--indigo-line);color:#fff;background:0 0}.pill.on-dark.is-on{color:var(--indigo);background:#fff;border-color:#fff}.pill.is-correct,.pill.is-correct[aria-pressed=true]{background:var(--pink-tint);border-color:var(--pink);color:var(--ink)}.pill.is-wrong,.pill.is-wrong[aria-pressed=true]{background:var(--violet-tint);border-color:var(--violet);color:var(--ink);border-style:dashed}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.segmented{background:var(--well);border-radius:26px;gap:6px;padding:4px;display:flex}.segmented button{min-height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:22px;flex:1 1 0;font-size:.9rem;font-weight:700}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.segmented.on-dark{background:var(--indigo-2)}.segmented.on-dark button{color:var(--on-dark)}.segmented.on-dark button[aria-pressed=true]{color:var(--indigo);background:#fff}.segmented.small{flex:none}.segmented.small button{flex:none;padding:0 18px}.journey{color:var(--indigo);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.stratum{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex;position:relative}.stratum>div{flex-direction:column;gap:1px;display:flex}.stratum strong{font-family:var(--display);font-size:1.25rem;line-height:1.2}.stratum-note{margin-top:2px;font-size:.85rem;line-height:1.4}.s1{background:var(--hot)}.s2{background:var(--lilac);padding-top:22px}.s3{background:var(--saffron);padding-top:22px}.s2:before,.s3:before{content:"";background-repeat:repeat-x;background-size:70px 12px;height:12px;position:absolute;top:-1px;left:0;right:0}.s2:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 12' preserveAspectRatio='none'%3E%3Cpath d='M0,0 H70 V5 Q52.5,14 35,5 T0,5 Z' fill='%23FF7EB0'/%3E%3C/svg%3E")}.s3:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 12' preserveAspectRatio='none'%3E%3Cpath d='M0,0 H70 V5 Q52.5,14 35,5 T0,5 Z' fill='%23B79CFF'/%3E%3C/svg%3E")}.here{background:var(--indigo);color:#fff;border-radius:14px;flex:none;padding:6px 12px;font-size:.75rem;font-weight:700}@media (width>=900px){.journey{flex-direction:row}.stratum{flex:1 1 0;align-items:flex-start;padding:20px 22px}.s2,.s3{padding-top:20px}.s2:before,.s3:before{display:none}}.resume{background:var(--indigo);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.resume>div{flex-direction:column;flex:200px;gap:4px;min-width:0;display:flex}.resume h2{color:#fff}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=900px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;flex-direction:column;gap:6px;padding:16px;text-decoration:none;display:flex}.tile svg{color:var(--pink)}.tile strong{font-size:1rem;line-height:1.25}.tile span{color:var(--muted);font-size:.85rem;line-height:1.35}.tile:hover{border-color:var(--pink);color:var(--ink)}.stats{flex-flow:wrap;align-items:center;gap:16px 28px}.stats>div{flex-direction:column;line-height:1.3;display:flex}.stats strong{font-family:var(--display);font-size:1.35rem}.stats span{color:var(--muted);font-size:.85rem}.stats .btn{margin-left:auto}.sync-note{color:var(--muted);align-items:flex-start;gap:8px;font-size:.85rem;display:flex}.sync-note svg{color:var(--pink);flex:none;margin-top:3px}.sync-note span{flex:auto}.sync-note.boxed{background:var(--pink-tint);color:var(--ink);border-radius:14px;flex-wrap:nowrap;align-items:flex-start;padding:14px 16px}.split{align-items:start;gap:18px;display:grid}@media (width>=1000px){.split{grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:24px}.split.even{grid-template-columns:repeat(2,minmax(0,1fr))}}.viewport{background:var(--indigo);border-radius:20px;flex-direction:column;gap:12px;padding:14px;display:flex}.viewport-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.canvas-wrap{touch-action:none;border-radius:14px;height:300px;position:relative;overflow:hidden}.canvas-wrap.tall{height:380px}@media (width>=1000px){.canvas-wrap{height:460px}.canvas-wrap.tall{height:540px}}.canvas-loading{text-align:center;color:var(--on-dark);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.viewport-hint{color:var(--on-dark);font-size:.8rem;line-height:1.4}.tones{align-items:center;display:flex}.tones-label{color:var(--muted);margin-right:4px;font-size:.8rem}.tones.on-dark .tones-label{color:var(--on-dark)}.tone{background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.viewport .tone{width:38px}.tone span{border-radius:50%;width:26px;height:26px;display:block}.tone[aria-pressed=true] span{box-shadow:0 0 0 2px var(--ground), 0 0 0 4px var(--ink)}.tones.on-dark .tone[aria-pressed=true] span{box-shadow:0 0 0 2px var(--indigo), 0 0 0 4px #fff}.panel{gap:14px}.panel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-head h2{font-size:1.6rem;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{background:var(--well);border:1px solid var(--line);border-radius:14px;padding:6px 12px;font-size:.82rem}.bedside{background:var(--pink-tint);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.bedside h3{color:var(--pink-dark)}.bedside ul{flex-direction:column;gap:10px;display:flex}.bedside li{align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.5;display:flex}.bedside svg{color:var(--pink);flex:none;margin-top:2px}.check{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.panel .check{background:var(--well);border:0}.check-q{font-weight:700;line-height:1.4;color:var(--ink)!important}.check-options{flex-wrap:wrap;gap:8px;display:flex}.check-options .pill{flex:100px}.check-result{font-size:.9rem;color:var(--ink)!important}.panel-stack{flex-direction:column;gap:14px;display:flex}.pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.soon{font-size:.9rem;color:var(--muted)!important}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.lesion-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;display:grid}.lesion{gap:0;padding:0;scroll-margin:90px;overflow:hidden}.lesion.is-focus{border-color:var(--pink);box-shadow:0 0 0 3px var(--pink)}.lesion-art{background:var(--well);width:100%;display:block}.lesion-body{flex-direction:column;gap:6px;padding:16px 18px 18px;display:flex}.lesion .seen,.footnote{color:var(--muted);font-size:.85rem}.topics{flex-direction:column;gap:8px;display:flex}.topic{background:var(--surface);border:1px solid var(--line);min-height:56px;color:var(--ink);border-radius:14px;align-items:center;gap:12px;padding:8px 14px;text-decoration:none;display:flex}a.topic:hover{border-color:var(--pink);color:var(--ink)}a.topic>svg{color:var(--muted);flex:none}.topic.is-planned{color:var(--ink-2);background:0 0;border-style:dashed}.num{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid}.is-planned .num{background:var(--line);color:var(--ink-2)}.topic-title{flex:auto;min-width:0;font-size:.95rem;font-weight:700;line-height:1.3}.tag{background:var(--well);color:var(--ink-2);border-radius:10px;flex:none;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.tag-done{background:var(--pink-tint);color:var(--pink-dark)}.tag-wrong{color:var(--violet);border:1px solid var(--violet);background:#fff}.back{align-self:flex-start;align-items:center;gap:4px;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.status{align-items:center;gap:8px;font-size:.85rem;display:flex}.status svg{color:var(--pink)}.remember{background:var(--pink-tint);border-radius:18px;flex-direction:column;gap:12px;padding:18px;display:flex}.remember h2{color:var(--pink-dark);font-size:1rem}.remember ol{flex-direction:column;gap:12px;display:flex}.remember li{align-items:flex-start;gap:10px;font-size:.95rem;line-height:1.5;display:flex}.remember li>div{flex-direction:column;flex:auto;gap:10px;min-width:0;display:flex}.remember .num{background:var(--pink);width:24px;height:24px;margin-top:1px;font-size:.75rem}.term{font:inherit;color:var(--pink);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.term[aria-expanded=true]{color:var(--pink-dark);text-decoration-style:solid}.term-card{background:var(--indigo);border-radius:14px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.term-card>svg{border-radius:8px;flex:none}.term-card>div{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.term-card strong{font-family:var(--display);color:#fff;font-size:1.05rem}.term-card span{color:var(--on-dark);font-size:.9rem;line-height:1.5}.flag{background:var(--violet-tint);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:.9rem;line-height:1.5;display:flex}.flag svg{color:var(--violet);flex:none;margin-top:2px}.sources{background:var(--well);border-radius:18px;padding:16px 18px}.sources h2{font-size:.9rem;font-family:var(--body);letter-spacing:0;font-weight:700}.sources a{align-items:center;min-height:44px;font-size:.9rem;font-weight:700;display:flex}.case-body{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.figure{background:var(--well);border-radius:16px;flex:none;padding:14px 26px}.case-body>div:last-child{flex-direction:column;flex:200px;gap:10px;display:flex}.dots{flex-direction:column;gap:10px;display:flex}.dots li{padding-left:18px;font-size:.9rem;line-height:1.5;position:relative}.dots li:before{content:"";background:var(--pink);border-radius:50%;width:8px;height:8px;position:absolute;top:.55em;left:0}.options{flex-direction:column;gap:10px;display:flex}.option{border:2px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;min-height:64px;padding:12px 14px;display:flex}.option:hover{border-color:var(--ink-2)}.option.is-correct{border-color:var(--pink);background:var(--pink-tint)}.option.is-wrong{border-color:var(--violet);background:var(--violet-tint);border-style:dashed}.option-text{flex-direction:column;flex:auto;min-width:0;line-height:1.35;display:flex}.option-text span{color:var(--muted);font-size:.82rem}.feedback{background:var(--pink-tint);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.feedback h3{color:var(--pink-dark);font-size:1rem}.feedback p{font-size:.9rem;color:var(--ink)!important}.signin{background:var(--indigo);flex-direction:column;min-height:100dvh;display:flex}.signin-top{flex-direction:column;gap:16px;width:100%;max-width:520px;margin:0 auto;padding:64px 28px 32px;display:flex}.brand.big{align-items:center;gap:12px;padding:0;display:flex}.brand.big span{font-family:var(--display);color:#fff;letter-spacing:.04em;font-size:2.1rem;font-weight:700}.signin-top p{font-family:var(--display);color:#fff;font-size:1.5rem;font-weight:600;line-height:1.3}.signin-sheet{background:var(--ground);border-radius:28px 28px 0 0;flex-direction:column;flex:auto;gap:20px;padding:32px 28px;display:flex}.signin-sheet>*{width:100%;max-width:464px;margin-left:auto;margin-right:auto}.signin-sheet form{flex-direction:column;gap:10px;display:flex}.signin-sheet h1{margin-bottom:6px;font-size:1.6rem}.signin-sheet label{margin-top:6px;font-size:.9rem;font-weight:700}.signin-sheet input{height:50px;font:inherit;color:var(--ink);background:#fff;border:1px solid #9485a8;border-radius:12px;padding:0 14px}.signin-sheet .btn{margin-top:8px}.form-error{background:var(--violet-tint);color:var(--ink);border-left:0;border-radius:12px;padding:10px 14px;font-size:.9rem}.splash{min-height:100dvh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
