:root{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--primary:74 87% 57%;--primary-foreground:240 6% 10%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--success:142 71% 45%;--warm:26 90% 55%;--info:208 72% 45%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:74 66% 45%;--radius:0.5rem}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 5.5%;--card-foreground:0 0% 98%;--primary:74 84% 60%;--primary-foreground:240 6% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 64.9%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--success:142 65% 45%;--warm:26 85% 58%;--info:208 70% 55%;--border:240 3.7% 17%;--input:240 3.7% 17%;--ring:74 60% 50%}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:-apple-system,SF Pro Text,SF Pro Display,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}button{font-family:inherit;cursor:pointer}input[type=range]{accent-color:hsl(var(--primary))}.muted{color:hsl(var(--muted-foreground))}.tiny{font-size:12px}.app{max-width:840px;margin:0 auto;padding:0 24px 120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 16px;border-radius:var(--radius);font-size:13.5px;font-weight:500;border:1px solid transparent;transition:.12s;white-space:nowrap}.btn:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background:hsl(var(--primary)/.9)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{border-color:hsl(var(--input));background:hsl(var(--background));color:hsl(var(--foreground))}.btn-outline:hover{background:hsl(var(--accent))}.btn-outline:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:hsl(var(--foreground))}.btn-ghost:hover{background:hsl(var(--accent))}.btn-sm{height:32px;padding:0 11px;font-size:12.5px}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);box-shadow:0 1px 2px rgba(0,0,0,.05)}.card-p{padding:22px}h1{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:0 0 6px}h1,h2{font-weight:600}h2{font-size:20px;letter-spacing:-.01em;margin:0 0 4px}.eyebrow{letter-spacing:.08em}.eyebrow,h3.lbl{font-size:11.5px;font-weight:600;text-transform:uppercase;color:hsl(var(--muted-foreground))}h3.lbl{letter-spacing:.05em;margin:0 0 10px}.sub{color:hsl(var(--muted-foreground));font-size:14.5px;margin:0 0 20px}.input,select,textarea{width:100%;border:1px solid hsl(var(--input));border-radius:var(--radius);padding:9px 12px;font-family:inherit;font-size:14px;color:hsl(var(--foreground));background:hsl(var(--background));outline:none;transition:.12s}textarea{min-height:120px;resize:vertical;line-height:1.6}.input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px hsl(var(--ring))}label.fld{display:block;font-size:12.5px;font-weight:500;margin:0 0 6px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:100px;padding:3px 10px;font-size:11.5px;font-weight:600;border:1px solid transparent;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.badge-outline{background:transparent;border-color:hsl(var(--border));color:hsl(var(--foreground))}.badge-success{background:hsl(var(--success)/.12);color:#157f3c}.badge-warm{background:hsl(var(--warm)/.14);color:#994715}.row{display:flex;gap:10px;align-items:center}.wrap{flex-wrap:wrap}.grid2{grid-template-columns:1fr 1fr;grid-gap:12px}.grid2,.grid3{display:grid;gap:12px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:12px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}.stat{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:13px 14px;background:hsl(var(--card))}.stat .k{font-size:11px;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em;font-weight:600}.stat .v{font-size:16px;font-weight:600;margin-top:3px;letter-spacing:-.01em}.learnbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:hsl(var(--background)/.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:14px 0 12px;border-bottom:1px solid hsl(var(--border));margin-bottom:24px}.track{height:4px;width:100%;background:hsl(var(--secondary));border-radius:100px;overflow:hidden}.track>span{display:block;height:100%;background:hsl(var(--primary));transition:width .35s ease}.learnmeta{display:flex;justify-content:space-between;align-items:center;margin-top:9px}.stage{max-width:640px;margin:0 auto}.footnav{max-width:640px;margin:32px auto 0;display:flex;justify-content:space-between;align-items:center}.teacher{display:flex;gap:11px;align-items:flex-start;margin:2px 0 14px}.tface{width:30px;height:30px;border-radius:50%;background:hsl(var(--warm)/.15);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.tface,.tmsg{font-size:15px}.purpose,.tmsg{line-height:1.5}.purpose{font-size:12px;color:hsl(var(--muted-foreground));border-left:2px solid hsl(var(--border));padding-left:11px;margin:0 0 18px}.checkin{display:flex;gap:10px;background:hsl(var(--success)/.07);border:1px solid hsl(var(--success)/.22);border-radius:var(--radius);padding:12px 14px;font-size:13.5px;margin-top:20px}.player{gap:14px;background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) + 2px);padding:13px 15px}.playbtn,.player{display:flex;align-items:center}.playbtn{width:42px;height:42px;border-radius:50%;border:none;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:15px;justify-content:center;flex:0 0 auto}.rate{border:1px solid hsl(var(--input));background:hsl(var(--background));border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;color:hsl(var(--muted-foreground))}.rate.on{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.audio-progress{height:5px;background:hsl(var(--border));border-radius:999px;overflow:hidden;margin:9px 0 5px}.audio-progress>span{display:block;height:100%;background:#2078c5;border-radius:999px;transition:width .25s linear}.sbtn{width:30px;height:30px;border-radius:6px;border:1px solid hsl(var(--input));background:hsl(var(--background));display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex:0 0 auto}.sbtn:hover{background:hsl(var(--accent))}.saybtn{width:auto;min-width:62px;height:30px;padding:0 9px;gap:5px;font-size:12px;font-weight:600}.sline{padding:6px 8px;border-radius:6px;transition:.15s;cursor:pointer}.sline:hover{background:hsl(var(--accent))}.sline.on{background:#eefbd0;box-shadow:inset 3px 0 0 #afdc18}.sentence-source{font-weight:600;font-size:15px;line-height:1.55}.translation-line{margin-top:4px;font-size:15px;line-height:1.55}.translation-line,.translation-line.loading{color:hsl(var(--muted-foreground));font-weight:500}.status-strip{border:1px solid #c8e2f9;background:#f1f8fd;border-radius:8px;padding:9px 11px;color:#0f4370}.status-strip.compact{padding:8px 10px}.mini-track{height:3px;width:100%;background:#d5e7f6;border-radius:999px;overflow:hidden;margin-top:7px}.mini-track>span{display:block;height:100%;background:#2078c5;border-radius:999px;transition:width .45s ease}.meaning-block{margin-top:10px}.meaning-simple{font-size:15px;font-weight:700;line-height:1.35;color:#155b99}.meaning-simple.inline{font-size:12.5px;font-weight:700}.word-example{line-height:1.5;margin-top:7px;font-style:italic}.word-example,.word-example-translation{font-size:12.5px;color:hsl(var(--muted-foreground))}.word-example-translation{line-height:1.45;margin-top:3px;font-weight:600}.meaning-loading{margin-top:10px}.skeleton{height:10px;border-radius:999px;background:linear-gradient(90deg,hsl(var(--secondary)),#e1ebf4,hsl(var(--secondary)));background-size:220% 100%;animation:shimmer 1.25s ease-in-out infinite}.skeleton.short{width:34%;margin-bottom:7px}.opt{display:flex;align-items:center;gap:10px;border:1px solid hsl(var(--input));border-radius:var(--radius);padding:11px 13px;margin-bottom:9px;cursor:pointer;transition:.1s;font-size:14px;background:hsl(var(--card))}.opt:hover{background:hsl(var(--accent))}.opt.correct{border-color:hsl(var(--success));background:hsl(var(--success)/.1)}.opt.wrong{border-color:#dc2828;background:hsl(0 72% 51%/.08)}.opt .mk{width:20px;height:20px;border-radius:50%;border:1.5px solid hsl(var(--border));flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.wcard{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;background:hsl(var(--card))}.center{max-width:440px;margin:9vh auto 0;padding-bottom:96px}.topbar{justify-content:space-between;padding:20px 0 8px}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;font-weight:600;font-size:15px}.logo{width:26px;height:26px;border-radius:7px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.lang-switch{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:hsl(var(--muted-foreground));white-space:nowrap}.lang-switch select{width:auto;height:30px;padding:4px 28px 4px 9px;font-size:12px;border-radius:7px}.start-screen{max-width:720px;margin:52px auto 0}.start-head{text-align:center;margin-bottom:24px}.start-head h1{font-size:30px;letter-spacing:0;margin-bottom:9px}.start-head .sub{max-width:520px;margin-left:auto;margin-right:auto}.entry-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.entry-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:10px;padding:22px;display:flex;gap:16px;min-height:178px;box-shadow:0 1px 2px rgba(0,0,0,.04);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease}.entry-card:hover{transform:translateY(-2px);border-color:hsl(var(--ring));box-shadow:0 10px 26px rgba(0,0,0,.08);background:hsl(var(--background))}.entry-card:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}.entry-icon{width:42px;height:42px;border-radius:9px;background:hsl(var(--secondary));display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 auto}.entry-copy{display:flex;flex-direction:column;min-width:0}.entry-title{font-size:17px;font-weight:700;line-height:1.25;letter-spacing:0;margin-top:1px}.entry-sub{font-size:13.5px;color:hsl(var(--muted-foreground));line-height:1.5;margin-top:9px}.entry-action{font-size:13px;font-weight:700;margin-top:auto;padding-top:18px;color:hsl(var(--foreground))}.source-tips{border:1px solid hsl(var(--border));background:hsl(var(--secondary)/.48);border-radius:10px;padding:15px;margin-bottom:16px}.source-tips.compact{padding:0;margin:0 0 12px;background:hsl(var(--secondary)/.28);overflow:hidden}.ideas-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:0;background:transparent;padding:9px 11px;color:inherit}.ideas-toggle b{display:block;font-size:12.5px;line-height:1.2}.ideas-toggle small{display:block;font-size:11px;color:hsl(var(--muted-foreground));line-height:1.35;margin-top:2px}.ideas-toggle>span:last-child{font-size:11.5px;font-weight:700;color:hsl(var(--foreground));white-space:nowrap}.ideas-body{border-top:1px solid hsl(var(--border));padding:9px 10px 10px}.idea-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.idea-tabs button{display:inline-flex;align-items:center;gap:5px;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:999px;padding:5px 8px;font-size:11.5px;font-weight:600;color:hsl(var(--muted-foreground))}.idea-tabs button.on{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.idea-panel{display:grid;grid-template-columns:minmax(130px,.65fr) 1fr;grid-gap:10px;gap:10px;align-items:start}.idea-panel b{font-size:12.5px}.idea-panel p{font-size:11px;line-height:1.35;color:hsl(var(--muted-foreground));margin:2px 0 0}.source-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.source-links a,.source-links span{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:999px;padding:5px 8px;font-size:11.5px;font-weight:600;text-decoration:none;color:hsl(var(--foreground))}.source-links span{color:hsl(var(--muted-foreground))}.split-warning{margin-top:10px;border:1px solid hsl(var(--warm)/.36);background:hsl(var(--warm)/.08);border-radius:8px;padding:10px 11px;color:#864418;font-size:12.5px;line-height:1.45}.split-warning b{display:block;margin-bottom:2px}.notice{display:flex;gap:10px;align-items:flex-start;border:1px solid hsl(var(--border));background:hsl(var(--secondary)/.65);border-radius:8px;padding:12px 13px;font-size:13px;color:hsl(var(--muted-foreground));line-height:1.5}.segmented{display:inline-flex;gap:4px;background:hsl(var(--secondary));padding:3px;border-radius:9px;width:100%}.segmented button{border:none;background:transparent;border-radius:7px;padding:7px 10px;flex:1 1;font-size:12.5px;font-weight:600;color:hsl(var(--muted-foreground))}.segmented button.on{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px rgba(0,0,0,.06)}.duration-options{display:grid;grid-template-columns:1fr;grid-gap:7px;gap:7px}.duration-card{display:flex;align-items:flex-start;gap:9px;text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:8px;padding:9px 10px;transition:.12s}.duration-card:hover{border-color:hsl(var(--ring));background:hsl(var(--accent))}.duration-card.on{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary))}.duration-card b{display:block;font-size:12.5px;line-height:1.25}.duration-card small{display:block;font-size:11.2px;line-height:1.35;color:hsl(var(--muted-foreground));margin-top:2px}.duration-icon{width:24px;height:24px;border-radius:7px;background:hsl(var(--secondary));display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:13px}.topic-pills{display:flex;flex-wrap:wrap;gap:6px}.topic-pills button{border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:999px;padding:6px 9px;font-size:12px;font-weight:600;color:hsl(var(--muted-foreground))}.topic-pills button.on{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.material-results{margin-top:22px}.generated-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.generated-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:9px;min-height:190px;transition:.14s}.generated-card:hover{border-color:hsl(var(--ring));box-shadow:0 8px 20px rgba(0,0,0,.07)}.generated-card.on{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1px hsl(var(--primary))}.generated-card b{font-size:14px;line-height:1.3}.generated-card>span:last-child{font-size:12.5px;line-height:1.5;color:hsl(var(--muted-foreground))}.generated-meta{font-size:11.5px;line-height:1.45;color:hsl(var(--muted-foreground));font-weight:600}.reader-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.grammar-translation{margin:-4px 0 18px}.grammar-card{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;background:hsl(var(--secondary)/.38)}.grammar-card b{font-size:13.5px}.grammar-card p{font-size:12.5px;color:hsl(var(--muted-foreground));line-height:1.48;margin:4px 0 0}.grammar-examples{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.grammar-example-row{border-top:1px solid hsl(var(--border));padding-top:8px}.grammar-example{font-size:13px;font-weight:600;color:hsl(var(--foreground))}.grammar-example-translation{font-size:12.5px;line-height:1.45;color:hsl(var(--muted-foreground));margin-top:3px;font-weight:600}.summary-stack{display:grid;grid-gap:10px;gap:10px;margin-bottom:14px}.summary-card{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:0}.summary-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:11px 13px}.summary-card summary::-webkit-details-marker{display:none}.summary-card[open] summary{border-bottom:1px solid hsl(var(--border))}.summary-detail{font-size:12.5px;color:hsl(var(--muted-foreground));line-height:1.5;padding:10px 13px 0}.summary-card .word-example{padding:0 13px 4px}.summary-card .word-example-translation{padding:0 13px 12px}ul.clean{margin:0;padding-left:18px}ul.clean li{margin-bottom:7px}.star{color:hsl(var(--warm));font-size:15px}.star.off{color:hsl(var(--border))}.plan-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid hsl(var(--border))}.ref{font-size:11px;line-height:1.6;margin-top:14px}.ref,.ref a{color:hsl(var(--muted-foreground))}.bigcard{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;padding:36px 26px}.bigsent{font-size:22px;font-weight:600;line-height:1.45;letter-spacing:-.01em;max-width:500px}.phaselab{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.timerbar{height:6px;background:hsl(var(--secondary));border-radius:100px;overflow:hidden;width:220px}.timerbar>span{display:block;height:100%;background:hsl(var(--primary));transition:width 1s linear}.count{font-size:15px;font-weight:600}.tabs{display:inline-flex;background:hsl(var(--secondary));border-radius:9px;padding:3px;margin-bottom:18px}.tab{border:none;background:transparent;padding:7px 14px;border-radius:7px;font-size:13px;font-weight:500;color:hsl(var(--muted-foreground))}.tab.on{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 1px 2px rgba(0,0,0,.06)}.chat{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;padding:4px}.bubble{max-width:82%;padding:10px 13px;border-radius:13px;font-size:14px;line-height:1.5}.bubble.ai{background:hsl(var(--secondary));align-self:flex-start;border-bottom-left-radius:4px}.bubble.me{background:hsl(var(--primary));color:hsl(var(--primary-foreground));align-self:flex-end;border-bottom-right-radius:4px}.gbar{height:30px;background:hsl(var(--secondary));overflow:hidden;position:relative}.gbar,.gbar>span{border-radius:8px}.gbar>span{position:absolute;left:0;top:0;bottom:0;transition:width .8s ease}.gbar .before{background:#b4b4bb}.gbar .after{background:hsl(var(--success))}.celebrate{text-align:center;padding:14px 0 4px}@media(max-width:640px){.grid3,.grid4{grid-template-columns:1fr 1fr}.entry-grid,.generated-grid,.grid2,.idea-panel{grid-template-columns:1fr}.source-links{justify-content:flex-start}.start-screen{margin-top:28px}.start-head{text-align:left}.start-head h1{font-size:26px}.entry-card,.generated-card{min-height:150px}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.09)}}.pulse{animation:pulse 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.track>span.indet{width:38%;background:hsl(var(--primary));animation:indet 1.15s ease-in-out infinite}@keyframes indet{0%{margin-left:-40%}to{margin-left:100%}}svg.i{width:1em;height:1em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.focusable:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}.shell{position:relative}.main{max-width:672px;margin:0 auto;padding:64px 20px 128px;width:100%}.path-anchor{position:fixed;top:14px;left:calc(50% - 580px);z-index:45;--w-open:216px}@media(max-width:1200px){.path-anchor{left:16px;top:14px}}.chrome-row{display:flex;align-items:center;gap:8px}.chrome-btn{width:36px;height:36px;border-radius:9px;border:1px solid hsl(var(--border));background:hsl(var(--card));display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.06);color:hsl(var(--muted-foreground));font-size:15px;transition:.12s;flex:0 0 auto}.chrome-btn:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.chrome-btn svg.i{font-size:16px}.chrome-select{position:relative;display:inline-flex;align-items:center;height:36px;border:1px solid hsl(var(--border));background:hsl(var(--card));border-radius:9px;box-shadow:0 2px 8px rgba(0,0,0,.06);padding:0 6px 0 9px;color:hsl(var(--muted-foreground));transition:.12s;flex:0 0 auto}.chrome-select:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.chrome-select svg.i{font-size:15px;flex:0 0 auto;pointer-events:none}.chrome-select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:auto;border:none;background:transparent;color:hsl(var(--foreground));font-family:inherit;font-size:12.5px;font-weight:500;padding:0 2px 0 6px;height:100%;cursor:pointer;outline:none;box-shadow:none}.chrome-select select:focus{box-shadow:none}.bar-toggle{width:36px;height:36px;border-radius:9px;border:1px solid hsl(var(--border));background:hsl(var(--card));display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.06);color:hsl(var(--muted-foreground));transition:.12s;flex:0 0 auto}.bar-toggle:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.bar-toggle svg.i{font-size:17px}.shell.pinned .bar-toggle{background:hsl(var(--accent));color:hsl(var(--foreground))}.sidebar{position:absolute;top:44px;left:0;width:var(--w-open);max-height:calc(100vh - 72px);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;overflow:hidden;z-index:1;box-shadow:0 10px 30px rgba(0,0,0,.09),0 2px 8px rgba(0,0,0,.05);display:flex;flex-direction:column;transform-origin:top left;transition:opacity .2s ease,transform .26s cubic-bezier(.32,.72,0,1),visibility .26s}.shell:not(.pinned) .sidebar{opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);pointer-events:none}.path-anchor:hover .sidebar,.shell.pinned .sidebar{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.path-anchor:after{content:"";position:absolute;top:36px;left:0;width:var(--w-open);height:12px;z-index:0}.shell.pinned .path-anchor:after{display:none}.side-head{padding:14px 14px 0}.side-head-row{display:flex;align-items:center;gap:8px;height:24px}.side-head .brand{font-size:14px}.side-head .logo{width:22px;height:22px;border-radius:6px;font-size:11px}.ctx{font-size:11.5px;color:hsl(var(--muted-foreground));padding:0 14px;margin-top:8px}.side-progress{padding:0 14px;margin-top:12px}.side-progress .prog{height:4px;background:hsl(var(--secondary));border-radius:999px;overflow:hidden}.side-progress .prog>span{display:block;height:100%;background:hsl(var(--primary));border-radius:999px;transition:width .4s ease;width:0}.side-nav{overflow-y:auto;min-height:0;padding:10px 8px 8px;flex:1 1;margin-top:2px}.side-foot{padding:10px 14px;border-top:1px solid hsl(var(--border));display:flex;align-items:center;justify-content:space-between;gap:12px}.nav-group{margin-bottom:1px}.group-trigger{width:100%;display:flex;align-items:center;gap:9px;background:transparent;border:none;padding:7px 8px;border-radius:8px;text-align:left;transition:.12s;cursor:pointer}.group-trigger:hover{background:hsl(var(--accent))}.group-trigger .gicon{width:17px;font-size:15px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground))}.group-trigger .gname,.group-trigger[data-hasactive=true] .gicon{color:hsl(var(--foreground))}.group-trigger .gname{flex:1 1;min-width:0;font-size:13px;font-weight:600}.group-trigger[data-hasactive=false] .gname{color:hsl(var(--muted-foreground))}.group-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.group-content.open{grid-template-rows:1fr}.group-content>.inner{overflow:hidden}.inner-lines{border-left:1px solid hsl(var(--border));margin:2px 0 6px 16px;padding-left:9px}.navlink{width:100%;display:flex;align-items:center;gap:8px;background:transparent;border:none;text-align:left;padding:6px 9px;margin:1px 0;border-radius:7px;font-size:12.5px;color:hsl(var(--muted-foreground));transition:.12s;cursor:pointer}.navlink:hover,.navlink[aria-current=true]{background:hsl(var(--accent));color:hsl(var(--foreground))}.navlink[aria-current=true]{font-weight:600}.navlink[aria-disabled=true]{cursor:default;color:hsl(var(--muted-foreground))}.navlink[aria-disabled=true]:hover{background:transparent;color:hsl(var(--muted-foreground))}.navlink .nmk{width:12px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;font-size:10px;color:hsl(var(--muted-foreground)/.45);line-height:1}.navlink .nmk.done{color:hsl(var(--success))}.navlink[aria-current=true] .nmk{color:hsl(var(--foreground))}.icon-btn{width:30px;height:30px;border-radius:7px;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:hsl(var(--muted-foreground));transition:.12s;flex:0 0 auto;cursor:pointer}.icon-btn:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.main .learnbar{position:static;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none;padding:2px 4px 12px;margin-bottom:0}.main .footnav{max-width:none;margin:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 4px 40px}.main .stage{max-width:none;margin:0;padding:16px 4px 24px}.tier-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.tier{position:relative;text-align:left;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:11px;padding:14px;transition:.14s;display:flex;flex-direction:column;gap:8px;min-height:110px;cursor:pointer}.tier:hover{border-color:hsl(var(--ring));transform:translateY(-1px)}.tier.on{border-color:hsl(var(--primary));box-shadow:inset 0 0 0 1.5px hsl(var(--primary))}.bars{display:flex;align-items:flex-end;gap:4px;height:22px}.bars i{width:7px;border-radius:3px;background:hsl(var(--border))}.bars i:first-child{height:35%}.bars i:nth-child(2){height:58%}.bars i:nth-child(3){height:80%}.bars i:nth-child(4){height:100%}.tier[data-fill="1"] .bars i:nth-child(-n+1),.tier[data-fill="2"] .bars i:nth-child(-n+2),.tier[data-fill="3"] .bars i:nth-child(-n+3),.tier[data-fill="4"] .bars i:nth-child(-n+4){background:hsl(var(--primary))}.tlabel{font-size:14px;font-weight:700}.tdesc{font-size:11.5px;line-height:1.4}.tdesc,.tpct{color:hsl(var(--muted-foreground))}.tpct{position:absolute;top:12px;right:13px;font-size:11px;font-weight:700}.mini-metric{flex:1 1;min-width:150px;border:1px solid hsl(var(--border));border-radius:9px;padding:12px 14px;background:hsl(var(--card))}.mini-metric .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:hsl(var(--muted-foreground))}.mini-metric .v{font-size:19px;font-weight:700;margin-top:3px}.diag-card{border-radius:12px;padding:18px;border:1px solid hsl(var(--success)/.3);background:hsl(var(--success)/.07);display:flex;flex-direction:column;gap:11px}.diag-card.warn{border-color:hsl(var(--warm)/.35);background:hsl(var(--warm)/.08)}.diag-card.info{border-color:hsl(var(--info)/.35);background:hsl(var(--info)/.08)}.diag-name{font-size:16px;font-weight:700}.vchip{display:inline-flex;align-items:center;gap:7px;border:1px solid hsl(var(--border));background:hsl(var(--background));border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:.12s}.vchip.known{border-color:hsl(var(--success));background:hsl(var(--success)/.1)}.vchip .box{width:16px;height:16px;border-radius:5px;border:1.5px solid hsl(var(--border));display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent}.vchip.known .box{background:hsl(var(--success));border-color:hsl(var(--success));color:#fff}.done-wrap{max-width:560px;margin:0 auto;text-align:center;padding:12px 0 8px;animation:doneIn .5s cubic-bezier(.22,1,.36,1)}@keyframes doneIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.done-emoji{font-size:54px;line-height:1;margin:8px 0 18px;animation:donePop .55s cubic-bezier(.34,1.56,.64,1) .08s both}@keyframes donePop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.done-h1{font-size:28px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}.done-sub{color:hsl(var(--muted-foreground));font-size:15px;line-height:1.55;max-width:440px;margin:0 auto 26px}.done-card{border:1px solid hsl(var(--warm)/.28);background:hsl(var(--warm)/.07);border-radius:14px;padding:26px 24px;margin-bottom:26px;text-align:center}.done-card-emoji{font-size:26px;line-height:1;margin-bottom:12px}.done-card-title{font-size:16px;font-weight:700;margin-bottom:14px}.done-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.done-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 13px;font-size:13px;font-weight:600;background:hsl(var(--warm)/.15);color:#ad581f}.dark .done-chip{color:#ee9f63}.done-card-note{font-size:13px;color:hsl(var(--muted-foreground));line-height:1.55;max-width:400px;margin:0 auto}.done-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:44}.scrim.on{display:block}@media(max-width:1200px){.path-anchor:hover .sidebar{opacity:0;visibility:hidden;transform:scale(.96);pointer-events:none}.shell.pinned .sidebar{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}.path-anchor:after{display:none}}