@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=DM+Serif+Display&display=swap";@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Inter:wght@400;500;600;700&family=Caveat:wght@500;600;700&family=EB+Garamond:ital,wght@0,400;0,500;1,400&display=swap";.exp{padding-bottom:4px}.exp-title{font-family:var(--font-display);color:var(--ink);margin:0 0 18px;font-size:34px;font-weight:600;line-height:1.05}.exp-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.exp-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);min-height:104px;box-shadow:var(--shadow-card);cursor:pointer;flex-direction:column;align-items:flex-start;gap:2px;padding:15px 14px;transition:transform .12s ease-out;display:flex;position:relative;overflow:hidden}.exp-card:active{transform:scale(.985)}.exp-card--tall{min-height:168px}.exp-eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700}.exp-value{font-family:var(--font-display);color:var(--ink);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:25px;font-weight:600;line-height:1.15;display:-webkit-box;overflow:hidden}.exp-sub{color:var(--ink-muted);margin-top:1px;font-size:12.5px;line-height:1.35}.exp-art{color:var(--primary);opacity:.22;pointer-events:none;position:absolute;bottom:8px;right:10px}@media (width>=721px){.exp-grid{max-width:560px}}#or-root{--paper:#f5f2ee;--ink:#1c1917;--ink-soft:#6f6759;--line:#1c191717;--blue:#2563eb;--orange:#e87b35;--taupe:#96856b;--green:#2f9e6f;--c-student:#e9f0fe;--c-parent:#f2ece1;--c-tutor:#fceee1;--font:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--settle:cubic-bezier(.34,1.28,.5,1)}#or-root,#or-root *{box-sizing:border-box}#or-root{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;width:100%;height:100vh;position:relative;overflow:hidden}.or-splash{z-index:30;cursor:pointer;transition:opacity .65s var(--ease);background:radial-gradient(115% 85% at 82% 10%, #2563eb33, transparent 55%), radial-gradient(100% 80% at 14% 88%, #e87b3538, transparent 55%), radial-gradient(70% 62% at 50% 48%, #fffffff0, transparent 72%), var(--paper);place-items:center;display:grid;position:absolute;inset:0}.or-splash:before{content:"";pointer-events:none;background:radial-gradient(40% 40% at 30% 30%,#2563eb1a,#0000 60%),radial-gradient(45% 45% at 72% 68%,#e87b351f,#0000 60%);animation:16s ease-in-out infinite alternate or-drift;position:absolute;inset:-20%}@keyframes or-drift{0%{transform:translate(-2%,-1%)scale(1.02)}to{transform:translate(3%,2%)scale(1.08)}}.or-splash.is-gone{opacity:0;pointer-events:none}.or-lockup{z-index:1;align-items:center;gap:clamp(16px,2.4vw,34px);padding:0 24px;display:flex}.or-mark{filter:drop-shadow(0 6px 20px #2563eb2e);width:clamp(74px,8vw,120px);height:auto;animation:or-mark-in 1s var(--ease) both;flex:none}@keyframes or-mark-in{0%{opacity:0;transform:scale(.82)translateY(8px)}to{opacity:1;transform:none}}.or-star{fill:var(--ink)}.or-belt{fill:var(--blue)}.or-line{stroke:var(--ink);stroke-width:1.4px;opacity:.28}.or-belt-line{stroke:var(--blue);stroke-width:1.8px;opacity:.5}.or-word-wrap{perspective:900px;min-width:clamp(220px,30vw,460px)}.or-word{letter-spacing:-.04em;color:var(--ink);transform-origin:50% 100%;transition:transform .34s var(--ease), opacity .34s var(--ease);animation:or-word-in 1s var(--ease) both;will-change:transform,opacity;font-size:clamp(52px,9vw,132px);font-weight:700;line-height:.9}@keyframes or-word-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.or-word.flipping{opacity:0;transform:rotateX(90deg)translateY(-6px)}.or-word[data-role=student]{color:var(--blue)}.or-word[data-role=parent]{color:var(--taupe)}.or-word[data-role=tutor]{color:var(--orange)}.or-skip{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);opacity:0;pointer-events:none;font-size:12px;animation:.6s 2.6s forwards or-skip-in;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}@keyframes or-skip-in{to{opacity:.65}}.or-cols{z-index:10;opacity:0;visibility:hidden;transition:opacity .4s var(--ease);display:flex;position:absolute;inset:0}.or-cols.is-live{opacity:1;visibility:visible}.or-col{border:0;border-right:1px solid var(--line);min-width:0;font-family:var(--font);text-align:left;cursor:pointer;color:var(--ink);transition:flex-grow .62s var(--ease), background-color .2s ease-out;flex-direction:column;flex:1 1 0;justify-content:flex-end;gap:12px;padding:clamp(26px,4.5vh,56px) clamp(26px,3vw,54px);display:flex;position:relative;overflow:hidden}.or-col[data-p=student]{--accent:var(--blue);background:radial-gradient(62% 30% at 22% 5%, #2563eb21, transparent 72%), linear-gradient(180deg,#eef3fe,var(--c-student))}.or-col[data-p=parent]{--accent:var(--taupe);background:radial-gradient(62% 30% at 22% 5%, #96856b29, transparent 72%), linear-gradient(180deg,#f6f0e6,var(--c-parent))}.or-col[data-p=tutor]{--accent:var(--orange);background:radial-gradient(62% 30% at 22% 5%, #e87b3526, transparent 72%), linear-gradient(180deg,#fdf2e8,var(--c-tutor));border-right:0}.or-col:hover,.or-col:focus-visible{background-color:#ffffff38;outline:none}.or-col:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.or-col:hover .or-enter,.or-col:focus-visible .or-enter{color:var(--accent);gap:14px}.or-flow{z-index:1;pointer-events:none;opacity:0;filter:blur(3px);will-change:opacity;transition:opacity .9s .15s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 3%,#000 17% 66%,#0000 90%);mask-image:linear-gradient(#0000 3%,#000 17% 66%,#0000 90%)}.or-cols.is-live .or-flow{opacity:1}.or-phrase{z-index:4;opacity:0;transition:opacity .85s var(--ease) .25s, transform .85s var(--settle) .25s;position:absolute;top:clamp(78px,15vh,150px);left:clamp(26px,3vw,54px);right:clamp(26px,3vw,54px);transform:translateY(18px)}.or-cols.is-live .or-phrase{opacity:1;transform:none}.or-belt-mini{gap:8px;margin-bottom:20px;display:flex}.or-belt-mini i{background:var(--accent);opacity:.85;border-radius:50%;width:7px;height:7px}.or-belt-mini i:nth-child(2){width:9px;height:9px;margin-top:-1px}.or-quote{letter-spacing:-.02em;color:var(--ink);text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(26px,2.7vw,42px);font-weight:400;line-height:1.16}.or-sign{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-top:18px;font-size:12px;font-weight:600;display:inline-block}.or-textblock{z-index:5;flex-direction:column;gap:12px;display:flex;position:relative}.or-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.82;font-size:12px;font-weight:700}.or-title{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(30px,3vw,46px);font-weight:700;line-height:1.02}.or-pitch{color:var(--ink-soft);max-width:30ch;margin:0;font-size:clamp(15px,1.05vw,17px);line-height:1.5}.or-enter{color:var(--ink);align-items:center;gap:8px;margin-top:6px;font-size:14px;font-weight:600;transition:gap .15s ease-out,color .15s ease-out;display:inline-flex}.or-enter svg{width:16px;height:16px}.or-cols.is-selected .or-col:not(.chosen){opacity:0;pointer-events:none;border-right:0;flex-grow:0;padding:0}.or-cols.is-selected .or-col.chosen{flex-grow:3}.or-cols.is-selected .or-col.chosen .or-phrase{top:clamp(88px,16vh,180px)}.or-cols.is-selected .or-col.chosen .or-phrase .or-quote{max-width:18ch;font-size:clamp(34px,3.6vw,58px)}.or-cols.is-selected .or-col.chosen .or-title{font-size:clamp(40px,4.6vw,80px)}.or-cols.is-selected .or-col.chosen .or-pitch{max-width:42ch;font-size:clamp(17px,1.3vw,21px)}.or-cols.is-selected .or-col.chosen .or-enter{display:none}.or-login{border-left:1px solid var(--line);min-width:0;transition:flex-grow .62s var(--ease), padding .62s var(--ease);background:#fffdfa;flex-direction:column;flex:0 0 0;justify-content:center;padding:0;display:flex;overflow:hidden}.or-cols.is-selected .or-login{flex-grow:1;padding:clamp(32px,5vw,60px) clamp(28px,3vw,46px)}.or-login-inner{opacity:0;text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:340px;margin:0 auto;transition:opacity .4s .25s;display:flex}.or-cols.is-selected .or-login-inner{opacity:1}.or-login-brand{align-items:center;gap:9px;margin-bottom:2px;display:flex}.or-login-brand svg{width:22px;height:auto}.or-login-brand span{letter-spacing:-.02em;font-size:17px;font-weight:700}.or-welcome{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(25px,2.2vw,31px);font-weight:700;line-height:1.12}.or-welcome b{color:var(--login-accent,var(--blue));text-transform:capitalize}.or-sub{color:var(--ink-soft);max-width:30ch;margin:0;font-size:15px;line-height:1.5}.or-gbtn{background:var(--blue);color:#fff;width:100%;font-family:var(--font);cursor:pointer;border:0;border-radius:12px;margin-top:2px;padding:15px 18px;font-size:15.5px;font-weight:700;transition:transform .15s ease-out,box-shadow .15s ease-out,filter .15s ease-out}.or-gbtn:hover{filter:brightness(1.03);transform:translateY(-1px);box-shadow:0 8px 22px #2563eb47}.or-gbtn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.or-dev{border-top:1px dashed #1c191729;flex-direction:column;align-items:center;gap:11px;width:100%;margin-top:6px;padding-top:20px;display:flex}.or-dev-label{color:var(--ink-soft);font-size:12.5px}.or-dev-row{gap:8px;width:100%;display:flex}.or-dev-input{border:1px solid var(--line);min-width:0;font-family:var(--font);color:var(--ink);background:#fff;border-radius:9px;flex:1;padding:10px 12px;font-size:13.5px}.or-dev-input:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.or-dev-btn{font-family:var(--font);color:var(--ink);cursor:pointer;background:#fff;border:1px solid #1c191733;border-radius:9px;flex:none;padding:10px 14px;font-size:13.5px;font-weight:600;transition:background .15s ease-out,border-color .15s ease-out}.or-dev-btn:hover{background:#f3f0eb;border-color:#1c191752}.or-dev-btn:disabled{opacity:.55;cursor:default}.or-back{cursor:pointer;font-family:var(--font);color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;transition:color .15s ease-out;display:inline-flex}.or-back:hover{color:var(--ink)}.or-back svg{width:14px;height:14px}.or-err{color:#c0392b;min-height:1em;margin:2px 0 0;font-size:13px}@media (width<=820px){.or-phrase{display:none}.or-cols{flex-direction:column}.or-col{border-right:0;border-bottom:1px solid var(--line);justify-content:center}.or-cols.is-selected .or-col.chosen{flex-grow:4}.or-cols.is-selected .or-login{border-left:0;border-top:1px solid var(--line);flex-grow:3}}@media (prefers-reduced-motion:reduce){.or-splash:before,.or-mark,.or-word{animation:none}.or-word{transition:none}.or-col{transition:flex-grow .3s,background-color .15s}}.ag-root{--paper:#eef6f1;--ink:#14201b;--ink-soft:#4c5c53;--line:#14201b1a;--emerald:#12805c;--emerald-deep:#06251c;--font:"Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.22, .61, .36, 1);--settle:cubic-bezier(.34, 1.28, .5, 1);font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;display:flex;position:fixed;inset:0;overflow:hidden}.ag-root,.ag-root *{box-sizing:border-box}.ag-hero{background:radial-gradient(62% 30% at 22% 5%,#12805c29,#0000 72%),linear-gradient(#eaf5ef 0%,#dcefe4 100%);flex-direction:column;flex:1 1 0;justify-content:flex-end;min-width:0;padding:clamp(26px,4.5vh,56px) clamp(26px,3vw,54px);display:flex;position:relative;overflow:hidden}.ag-flow{z-index:1;pointer-events:none;filter:blur(3px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 3%,#000 17% 66%,#0000 90%);mask-image:linear-gradient(#0000 3%,#000 17% 66%,#0000 90%)}.ag-phrase{z-index:4;position:absolute;top:clamp(88px,16vh,180px);left:clamp(26px,3vw,54px);right:40%}.ag-belt{gap:8px;margin-bottom:20px;display:flex}.ag-belt i{background:var(--emerald);opacity:.85;border-radius:50%;width:7px;height:7px}.ag-belt i:nth-child(2){width:9px;height:9px;margin-top:-1px}.ag-quote{letter-spacing:-.02em;color:var(--ink);text-wrap:balance;max-width:18ch;margin:0;font-size:clamp(34px,3.6vw,58px);font-weight:400;line-height:1.16}.ag-sign{letter-spacing:.18em;text-transform:uppercase;color:var(--emerald);margin-top:18px;font-size:12px;font-weight:600;display:inline-block}.ag-textblock{z-index:5;flex-direction:column;gap:12px;display:flex;position:relative}.ag-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink);opacity:.82;font-size:12px;font-weight:700}.ag-title{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(40px,4.6vw,80px);font-weight:700;line-height:1.02}.ag-pitch{max-width:42ch;color:var(--ink-soft);margin:0;font-size:clamp(17px,1.3vw,21px);line-height:1.5}.ag-panel{border-left:1px solid var(--line);background:#fffdfa;flex-direction:column;flex:0 0 clamp(340px,34vw,460px);justify-content:center;min-width:0;padding:clamp(32px,5vw,60px) clamp(28px,3vw,46px);display:flex}.ag-panel-inner{text-align:center;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:340px;margin:0 auto;display:flex}.ag-brand span{letter-spacing:-.02em;font-size:17px;font-weight:700}.ag-welcome{letter-spacing:-.03em;margin:0;font-size:clamp(25px,2.2vw,31px);font-weight:700;line-height:1.12}.ag-welcome b{color:var(--emerald)}.ag-sub{max-width:32ch;color:var(--ink-soft);margin:0;font-size:15px;line-height:1.5}.ag-gbtn{background:var(--emerald);color:#fff;width:100%;font-family:var(--font);cursor:pointer;border:0;border-radius:12px;margin-top:2px;padding:15px 18px;font-size:15.5px;font-weight:700;transition:transform .15s ease-out,box-shadow .15s ease-out,filter .15s ease-out}.ag-gbtn:hover{filter:brightness(1.04);transform:translateY(-1px);box-shadow:0 8px 22px #12805c4d}.ag-gbtn:focus-visible{outline:2px solid var(--emerald);outline-offset:3px}.ag-note{letter-spacing:.02em;color:var(--ink-soft);margin:2px 0 0;font-size:12.5px}.ag-dev{border-top:1px dashed var(--line);margin-top:16px;padding-top:14px}.ag-dev-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 8px;font-size:11.5px}.ag-dev-row{gap:8px;display:flex}.ag-dev-input{border:1px solid var(--line);min-width:0;font:inherit;color:var(--ink);background:#fff;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.ag-dev-input:focus{border-color:var(--emerald);outline:none}.ag-dev-btn{font:inherit;color:#fff;background:var(--emerald);cursor:pointer;border:0;border-radius:10px;flex:none;padding:10px 16px;font-size:14px;font-weight:600}.ag-dev-btn:hover{filter:brightness(1.05)}.ag-dev-btn:disabled{opacity:.5;cursor:default}.ag-dev-err{color:#9b1c1c;margin:8px 0 0;font-size:12.5px}@media (width<=820px){.ag-phrase{display:none}.ag-root{flex-direction:column}.ag-hero{flex:auto;justify-content:center}.ag-panel{border-left:0;border-top:1px solid var(--line);flex:none}}.bsu{text-align:center;background:var(--surface);border-radius:var(--r-card);max-width:520px;box-shadow:var(--shadow-card);margin:32px auto;padding:24px 28px}.bsu-head{font-family:var(--font-display);color:var(--ink);margin:0 0 8px;font-size:20px}.bsu-body{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.55}@media (width<=640px){.bsu{margin:24px auto;padding:20px 18px}}.dash{flex-direction:column;gap:22px;max-width:1040px;display:flex;position:relative}.dash-head{flex-direction:column;gap:2px;display:flex}.dash-hello{color:var(--ink-muted);margin:0;font-size:14px;font-weight:600}.dash-title{font-family:var(--font-display);color:var(--ink);font-size:38px;font-weight:700;line-height:1.05}.dash-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dash-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);align-items:center;gap:16px;padding:20px 22px;display:flex}.dash-burst{width:52px;height:52px;color:var(--ink);clip-path:polygon(50% 0%,60% 12%,75% 6%,78% 23%,94% 25%,86% 40%,100% 50%,86% 60%,94% 75%,78% 77%,75% 94%,60% 88%,50% 100%,40% 88%,25% 94%,22% 77%,6% 75%,14% 60%,0% 50%,14% 40%,6% 25%,22% 23%,25% 6%,40% 12%);flex:none;place-items:center;display:grid}.dash-burst--lilac{background:var(--lilac)}.dash-burst--yellow{background:var(--yellow)}.dash-burst--pink{background:#f6c0cb}.dash-stat-body{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-stat-num{font-family:var(--font-display);color:var(--ink);font-size:30px;font-weight:700;line-height:1}.dash-stat-label{color:var(--ink-muted);font-size:13px;font-weight:500}.dash-list{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;gap:12px;padding:18px;display:flex}.dash-muted{color:var(--ink-muted);margin:6px 4px;font-size:14px}.dash-error{color:#c0362c;margin:6px 4px;font-size:14px}.dash-lesson{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color .12s,box-shadow .12s;overflow:hidden}.dash-lesson:hover{border-color:var(--primary);box-shadow:var(--shadow-card)}.dash-lesson--open{border-color:var(--primary)}.dash-lesson-row{align-items:center;gap:12px;padding:6px 14px 6px 6px;display:flex}.dash-lesson-main{text-align:left;border-radius:var(--r-md);background:0 0;border:0;flex:auto;align-items:center;gap:12px;min-width:0;padding:12px 10px;transition:background .12s;display:flex}.dash-lesson-main:hover{background:var(--surface-sunk)}.dash-chevron{background:var(--surface-sunk);width:30px;height:30px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;transition:transform .15s,background .12s,color .12s;display:grid}.dash-lesson-main:hover .dash-chevron{background:var(--primary-soft);color:var(--primary)}.dash-chevron--open{transform:rotate(180deg)}.dash-lesson-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dash-lesson-name{font-family:var(--font-display);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;overflow:hidden}.dash-lesson-meta{color:var(--ink-muted);font-size:12px;font-weight:500}.dash-lesson-cue{color:var(--primary);font-weight:600}.dash-continue{background:var(--yellow);color:var(--ink);border-radius:var(--r-pill);border:0;flex:none;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .12s,transform .12s;display:inline-flex}.dash-continue:hover:not(:disabled){background:var(--yellow-hover);transform:translate(1px)}.dash-continue:disabled{opacity:.45;cursor:not-allowed}.dash-sublist{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:4px 16px 16px 40px;display:flex}.dash-section{flex-direction:column;gap:2px;display:flex}.dash-section-name{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:8px 0 4px;font-size:12px;font-weight:700}.dash-slide{border-radius:var(--r-md);text-align:left;color:var(--ink-soft);background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:500;transition:background .12s,color .12s;display:flex}.dash-slide:hover{background:var(--primary-soft);color:var(--ink)}.dash-slide-dot{background:var(--ink-muted);border-radius:50%;flex:none;width:7px;height:7px}.dash-pace-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);width:100%;box-shadow:var(--shadow-card);cursor:pointer;align-items:center;gap:14px;margin:0 0 22px;padding:16px 18px;transition:transform .12s,box-shadow .12s;display:flex}.dash-pace-card:hover{box-shadow:var(--shadow-rail);transform:translateY(-1px)}.dash-pace-icon{background:var(--sage-soft);width:42px;height:42px;color:var(--ink);border-radius:12px;flex:none;place-items:center;display:grid}.dash-pace-text{flex-direction:column;flex:auto;gap:2px;display:flex}.dash-pace-title{font-family:var(--font-display);color:var(--ink);font-weight:600}.dash-pace-sub{color:var(--ink-muted);font-size:.85rem}.dash-pace-arrow{color:var(--ink-muted);flex:none}@media (width<=720px){.dash-stats{grid-template-columns:1fr}.dash-lesson-row{flex-wrap:wrap}}.dash-tour{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;align-items:flex-start;gap:14px;padding:22px 26px;display:flex}.dash-tour-say{align-items:center;gap:14px;min-width:0;display:flex}.dash-tour-pet{object-fit:contain;filter:drop-shadow(0 3px 6px #1416282e);flex:none;width:auto;max-width:96px;height:72px}.dash-tour-line{color:var(--ink);margin:0;font-size:17px;font-weight:700;line-height:1.35}.dash-tour-caret{background:var(--ink);vertical-align:-.14em;width:2px;height:1em;margin-left:2px;animation:1s steps(2,start) infinite dash-tour-blink;display:inline-block}@keyframes dash-tour-blink{to{visibility:hidden}}.dash-tour-cta{background:var(--yellow);color:var(--ink);border-radius:var(--r-pill);border:0;align-items:center;gap:7px;padding:11px 18px;font-size:14px;font-weight:600;transition:background .12s,transform .12s;display:inline-flex}.dash-tour-cta:hover{background:var(--yellow-hover);transform:translate(1px)}.dash-tour-tiles{grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:10px;width:100%;margin:0;padding:0;list-style:none;display:grid}.dash-tour-tile-wrap{opacity:0;transition:opacity .26s,transform .26s;transform:translateY(10px)}.dash-tour-tiles.is-in .dash-tour-tile-wrap{opacity:1;transition-delay:calc(var(--i) * 70ms);transform:none}@media (prefers-reduced-motion:reduce){.dash-tour-tile-wrap{opacity:1;transition:none;transform:none}}.dash-tour-tile{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;align-items:flex-start;gap:3px;width:100%;height:100%;padding:12px 14px;transition:border-color .12s,transform .12s;display:flex}button.dash-tour-tile:hover{border-color:var(--primary);transform:translateY(-1px)}.dash-tour-tile-label{color:var(--ink);align-items:center;gap:7px;font-size:14px;font-weight:700;display:inline-flex}.dash-tour-tile-line{color:var(--ink-muted);font-size:12px;line-height:1.4}.dash-lesson--starthere{border-color:var(--primary)}.dash-starthere{border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary);letter-spacing:.04em;vertical-align:middle;margin-left:10px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}@media (width<=720px){.dash-tour{padding:18px 16px}.dash-tour-tiles{grid-template-columns:1fr}.dash-tour-pet{max-width:76px;height:58px}.dash-tour-line{font-size:15px}}.jrnl{flex-direction:column;gap:22px;display:flex}.jrnl-say{align-items:flex-end;gap:14px;display:flex}.jrnl-front{object-fit:contain;object-position:bottom center;mix-blend-mode:multiply;-webkit-mask-composite:source-in;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;width:auto;max-width:190px;height:150px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%),linear-gradient(#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%),linear-gradient(#0000 0,#000 8% 92%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.jrnl-bubble{background:var(--surface);border-radius:var(--r-card);min-width:0;box-shadow:var(--shadow-card);flex:1;padding:18px 20px}.jrnl-head{color:var(--ink);margin:0 0 6px;font-size:21px;font-weight:700}.jrnl-sub{color:var(--ink-muted);white-space:pre-line;min-height:4.2em;margin:0;font-size:14px;line-height:1.5}.jrnl-caret{vertical-align:text-bottom;background:var(--ink-muted);width:2px;height:1em;margin-left:2px;animation:1s steps(2,start) infinite jrnl-caret-blink;display:inline-block}@keyframes jrnl-caret-blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.jrnl-caret{animation:none}}.jrnl-stage{border-radius:var(--r-card);place-items:center;display:grid;overflow:hidden}.jrnl-stage>*{grid-area:1/1}.jrnl-preview{background:var(--primary-soft);filter:blur(7px);pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;gap:18px;width:100%;padding:26px 22px;display:flex}.jrnl-thread{flex-direction:column;gap:10px;display:flex}.jrnl-msg{border-radius:var(--r-md);background:var(--surface);opacity:.9;height:34px}.jrnl-msg--them{border-bottom-left-radius:4px;align-self:flex-start}.jrnl-msg--me{background:var(--primary);opacity:.55;border-bottom-right-radius:4px;align-self:flex-end}.jrnl-audio{background:var(--surface);border-radius:var(--r-md);opacity:.9;align-items:center;gap:12px;padding:12px 14px;display:flex}.jrnl-audio-orb{background:var(--primary);opacity:.6;border-radius:50%;flex:none;width:34px;height:34px}.jrnl-wave{flex:1;align-items:center;gap:4px;min-width:0;height:34px;display:flex}.jrnl-wave-bar{border-radius:var(--r-pill);background:var(--primary);opacity:.45;flex:1;min-width:0}.jrnl-soon{text-align:center;background:var(--surface);border-radius:var(--r-card);max-width:420px;box-shadow:var(--shadow-card);margin:0 18px;padding:20px 24px;position:relative}.jrnl-soon-head{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:700}.jrnl-soon-body{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.5}@media (width<=640px){.jrnl-say{flex-direction:column;align-items:center;gap:10px}.jrnl-front{max-width:60vw;height:112px}.jrnl-bubble{width:100%}.jrnl-head{font-size:18px}.jrnl-preview{justify-content:space-between;min-height:400px;padding:18px 14px}.jrnl-soon{margin:0 12px;padding:16px 18px}}.crew{flex-direction:column;gap:22px;display:flex}.crew-head{font-family:var(--font-display);min-height:1.2em;color:var(--ink);margin:0 0 6px;font-size:28px;font-weight:700}.crew-caret{vertical-align:text-bottom;background:var(--primary);width:2px;height:.95em;margin-left:2px;animation:.9s step-end infinite crew-blink;display:inline-block}@keyframes crew-blink{50%{opacity:0}}.crew-sub{color:var(--ink-muted);opacity:0;margin:0;font-size:14px;line-height:1.5;transition:opacity .42s}.crew-sub.is-in{opacity:1}.crew-cols{grid-template-columns:1fr 1fr;align-items:start;gap:16px;transition:grid-template-columns .32s cubic-bezier(.4,0,.2,1);display:grid}.crew-col:only-child{grid-column:1/-1;max-width:460px;margin:0 auto}.crew-cols--hero{grid-template-columns:1.85fr 1fr}.crew-cols--pet{grid-template-columns:1fr 1.85fr}.crew-col{flex-direction:column;gap:14px;min-width:0;display:flex}.crew-pick{box-shadow:none;cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;width:100%;min-height:486px;padding:8px 8px 4px;display:flex}.crew-pick:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.crew-art{object-fit:contain;object-position:bottom center;-webkit-mask-composite:source-in;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:340px;transform-style:preserve-3d;animation:.42s cubic-bezier(.2,.8,.2,1) backwards crew-rise,7s ease-in-out .42s infinite crew-revolve;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12% 88%,#0000 100%),linear-gradient(#0000 0,#000 6% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12% 88%,#0000 100%),linear-gradient(#0000 0,#000 6% 90%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes crew-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes crew-revolve{0%{transform:perspective(900px)rotateY(-16deg)}50%{transform:perspective(900px)rotateY(16deg)}to{transform:perspective(900px)rotateY(-16deg)}}.crew-col--hero-art .crew-art{height:420px;animation-delay:0s,0s}.crew-col--pet-art .crew-art{animation-delay:0s,1.6s}.crew-pick:hover .crew-art{filter:brightness(1.04)contrast(1.03)}.crew-name{color:var(--ink);font-size:16px;font-weight:700}.crew-role{color:var(--ink-muted);font-size:13px}.crew-caps{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.crew-cap{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:14px 16px;animation:.42s cubic-bezier(.2,.8,.2,1) backwards crew-rise}.crew-cap-title{color:var(--ink);margin:0 0 4px;font-size:14px;font-weight:700}.crew-cap-line{color:var(--ink-muted);margin:0;font-size:13px;line-height:1.5}.crew-col--small .crew-cap{padding:12px 13px}.crew-col--small .crew-art{height:240px}.crew-col--small .crew-pick{min-height:300px}.crew-soon{text-align:center;background:var(--surface);border-radius:var(--r-card);max-width:520px;box-shadow:var(--shadow-card);margin:0 auto;padding:20px 24px}.crew-soon-head{color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:700}.crew-soon-body{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.5}@media (prefers-reduced-motion:reduce){.crew-art,.crew-cap,.crew-caret{animation:none}.crew-caret{display:none}.crew-sub{opacity:1;transition:none}.crew-cols{transition:none}}@media (width<=640px){.crew-cols,.crew-cols--hero,.crew-cols--pet{grid-template-columns:1fr}.crew-col:only-child{max-width:none}.crew-art,.crew-col--small .crew-art,.crew-col--pet-art .crew-art{height:200px}.crew-col--hero-art .crew-art{height:250px}.crew-pick{min-height:310px}.crew-head{font-size:23px}.crew-soon{padding:16px 18px}}.revision-shell-host{--primary:#6366f1;--primary-hover:#4f46e5;--primary-soft:#e0e7ff;--primary-softer:#eef2ff;--primary-text:#4338ca;--accent:#f59e0b;--accent-hover:#d97706;--accent-soft:#fef3c7;--accent-text:#92400e;--page-bg:#f5f2ed;--surface:#fff;--surface-raised:#fff;--border:#d6d3d1;--border-light:#e7e5e4;--border-glass:#ffffffb3;--text-primary:#1c1917;--text-secondary:#44403c;--text-muted:#78716c;--hook:#0891b2;--hook-soft:#0891b21f;--hook-text:#155e75;--surprise:#7c3aed;--surprise-soft:#7c3aed12;--surprise-text:#5b21b6;--success:#22c55e;--success-soft:#dcfce7;--success-text:#15803d;--error:#ef4444;--error-soft:#fee2e2;--error-text:#dc2626;--warning:#f59e0b;--warning-soft:#fef3c7;--warning-text:#92400e;--font-main:"Outfit", "Inter", -apple-system, system-ui, sans-serif;--font-display:"DM Serif Display", Georgia, serif;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--radius-pill:100px;--shadow-card:0 2px 8px -2px #0000000f;--shadow-hover:0 8px 24px -8px #0000001a;--shadow-glow:0 8px 32px -8px #6366f159;--shadow-glow-success:0 8px 24px -8px #22c55e4d;--shadow-glow-error:0 8px 24px -8px #ef44444d;--shadow-glow-accent:0 8px 24px -8px #f59e0b4d;--transition:.2s ease-out;--transition-bounce:.2s cubic-bezier(.34, 1.4, .64, 1);--hover-lift:translateY(-2px)}.revision-shell-host *,.revision-shell-host :before,.revision-shell-host :after{box-sizing:border-box;margin:0;padding:0}.revision-shell-host{font-family:var(--font-main);color:var(--text-primary);background:var(--page-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100%;font-size:14px;line-height:1.55}.revision-shell-host h1,.revision-shell-host h2,.revision-shell-host h3{font-family:var(--font-main);font-weight:700;line-height:1.2}.revision-shell-host a{color:var(--primary);text-decoration:none}.revision-shell-host .card{-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition);background:#fff9;padding:20px}.revision-shell-host .card:hover{transform:var(--hover-lift);box-shadow:var(--shadow-hover)}.revision-shell-host .btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:#fff;border-radius:var(--radius-pill);font-family:var(--font-main);cursor:pointer;box-shadow:var(--shadow-glow);transition:all var(--transition-bounce);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;display:inline-flex}.revision-shell-host .btn-primary:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 12px 40px -8px #6366f180}.revision-shell-host .btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.revision-shell-host .btn-secondary{color:var(--primary-hover);border:2px solid var(--primary-soft);border-radius:var(--radius-pill);font-family:var(--font-main);cursor:pointer;transition:all var(--transition-bounce);background:#fff;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:15px;font-weight:600;display:inline-flex}.revision-shell-host .btn-secondary:hover{border-color:var(--primary);background:var(--primary-softer);transform:translateY(-1px)}.revision-shell-host .text-input,.revision-shell-host .text-area{border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);font-family:var(--font-main);color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:11px 14px;font-size:14px}.revision-shell-host .text-input:focus,.revision-shell-host .text-area:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.revision-shell-host .text-input::placeholder,.revision-shell-host .text-area::placeholder{color:var(--text-muted)}.revision-shell-host .chip{border-radius:var(--radius-pill);border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:#fff;padding:8px 16px;font-size:13px;font-weight:600}.revision-shell-host .chip:hover{color:var(--primary-hover);border-color:#a5b4fc}.revision-shell-host .chip.active{border-color:var(--primary);color:#fff;background:var(--primary);box-shadow:var(--shadow-glow)}.revision-shell-host .badge{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.02em;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.revision-shell-host .badge-primary{background:var(--primary-soft);color:var(--primary-text)}.revision-shell-host .badge-success{background:var(--success-soft);color:var(--success-text)}.revision-shell-host .badge-error{background:var(--error-soft);color:var(--error-text)}.revision-shell-host .badge-warning{background:var(--warning-soft);color:var(--warning-text)}.revision-shell-host .badge-muted{background:var(--border-light);color:var(--text-secondary)}.revision-shell-host .feedback{border-radius:var(--radius-lg);padding:18px 20px;animation:.35s ease-out slideUp}.revision-shell-host .feedback.correct{border:1.5px solid var(--success);background:linear-gradient(135deg,#dcfce7,#bbf7d0)}.revision-shell-host .feedback.incorrect{border:1.5px solid var(--error);background:linear-gradient(135deg,#fee2e2,#fecaca)}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.revision-shell-host .option{border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);background:#fff;padding:16px 18px}.revision-shell-host .option:hover{background:var(--primary-softer);border-color:#a5b4fc;transform:translate(4px)}.revision-shell-host .option.selected{border-color:var(--primary);background:var(--primary-softer);box-shadow:var(--shadow-glow)}.revision-shell-host .option.correct{border-color:var(--success);background:var(--success-soft);box-shadow:var(--shadow-glow-success)}.revision-shell-host .option.incorrect{border-color:var(--error);background:var(--error-soft);box-shadow:var(--shadow-glow-error)}.revision-shell-host .progress-track{background:var(--border-light);border-radius:var(--radius-pill);height:6px;overflow:hidden}.revision-shell-host .progress-fill{background:linear-gradient(90deg, #818cf8, var(--primary));border-radius:var(--radius-pill);height:100%;transition:width .6s ease-out}.revision-shell-host .page{max-width:480px;margin:0 auto;padding:24px 16px}@media (width>=640px){.revision-shell-host .page{max-width:800px;padding:28px 20px}}@media (width>=1024px){.revision-shell-host .page{max-width:1080px;padding:32px 24px}}.revision-shell-host .revision-page{--page-bg:#f8f7f4;--surface:#ffffffa6;--surface-raised:#fff;--border:#d6d3d1;--border-light:#e7e5e4;--border-glass:#fffc;--text-primary:#1c1917;--text-secondary:#44403c;--text-muted:#78716c;--primary:#6366f1;--primary-hover:#4f46e5;--primary-soft:#e0e7ff;--primary-softer:#eef2ff;--primary-text:#4338ca;--accent:#f59e0b;--accent-soft:#fef3c7;--accent-text:#92400e;--hook:#0891b2;--hook-soft:#0891b21f;--hook-text:#155e75;--surprise:#7c3aed;--surprise-soft:#7c3aed12;--surprise-text:#5b21b6;--success:#22c55e;--success-soft:#dcfce7;--success-text:#15803d;--error:#ef4444;--error-soft:#fee2e2;--error-text:#dc2626;--shadow-card:0 2px 8px -2px #0000000f;--shadow-hover:0 8px 24px -8px #0000001a;--shadow-glow:0 8px 32px -8px #6366f159}.revision-shell-host .revision-page[data-rev-theme=dark]{--page-bg:#0e0e0e;--surface:#1a1a1a;--surface-raised:#262626;--border:#333;--border-light:#3a3a3a;--border-glass:#ffffff14;--text-primary:#e4e4e4;--text-secondary:#a8a8a8;--text-muted:#707070;--primary:#818cf8;--primary-hover:#6366f1;--primary-soft:#818cf838;--primary-softer:#818cf81a;--primary-text:#a5b4fc;--accent:#fbbf24;--accent-soft:#fbbf241f;--accent-text:#fcd34d;--hook:#22d3ee;--hook-soft:#22d3ee29;--hook-text:#67e8f9;--surprise:#a78bfa;--surprise-soft:#a78bfa1f;--surprise-text:#c4b5fd;--success:#4ade80;--success-soft:#4ade801a;--success-text:#6ee7a0;--error:#f87171;--error-soft:#f871711a;--error-text:#fca5a5;--shadow-card:0 2px 8px #00000080;--shadow-hover:0 4px 14px #0009;--shadow-glow:0 8px 32px -8px #818cf84d}.revision-shell-host[data-rev-theme=dark]{--page-bg:#0e0e0e;--surface:#1a1a1a;--surface-raised:#262626;--border:#333;--border-light:#3a3a3a;--border-glass:#ffffff14;--text-primary:#e4e4e4;--text-secondary:#a8a8a8;--text-muted:#707070;--primary:#818cf8;--primary-hover:#6366f1;--primary-soft:#818cf838;--primary-softer:#818cf81a;--primary-text:#a5b4fc;--accent:#fbbf24;--accent-hover:#d97706;--accent-soft:#fbbf241f;--accent-text:#fcd34d;--hook:#22d3ee;--hook-soft:#22d3ee29;--hook-text:#67e8f9;--surprise:#a78bfa;--surprise-soft:#a78bfa1f;--surprise-text:#c4b5fd;--success:#4ade80;--success-soft:#4ade801a;--success-text:#6ee7a0;--error:#f87171;--error-soft:#f871711a;--error-text:#fca5a5;--warning:#fbbf24;--warning-soft:#fbbf241f;--warning-text:#fcd34d;--shadow-card:0 2px 8px #00000080;--shadow-hover:0 4px 14px #0009;--shadow-glow:0 8px 32px -8px #818cf84d}.revision-shell-host .revision-page{background:var(--page-bg);min-height:100vh;display:flex}.revision-shell-host .revision-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.revision-shell-host .rev-sidebar{background:var(--page-bg);border-right:1px solid var(--border-light);z-index:100;flex-direction:column;flex-shrink:0;transition:width .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-collapsed{cursor:pointer;align-items:center;width:56px;padding:16px 0}.revision-shell-host .rev-sidebar-collapsed:hover{background:var(--surface)}.revision-shell-host .rev-sidebar-collapsed-inner{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.revision-shell-host .rev-sidebar-pill{border-radius:var(--radius-md);width:32px;height:32px;font-size:12px;font-weight:700;font-family:var(--font-main);color:var(--text-muted);background:var(--border-light);justify-content:center;align-items:center;transition:all .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-pill.active{background:var(--primary);color:#fff}.revision-shell-host .rev-sidebar-expand-hint{color:var(--text-muted);opacity:.5;margin-top:12px}.revision-shell-host .rev-sidebar-expanded{z-index:210;background:var(--surface);width:min(240px,80vw);height:100vh;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:4px 0 16px #00000014}.revision-shell-host .rev-sidebar-scrim{z-index:205;background:#0003;position:fixed;inset:0}.revision-shell-host .rev-sidebar-header{border-bottom:1px solid var(--border-light);flex-shrink:0;padding:16px 16px 12px}.revision-shell-host .rev-sidebar-header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.revision-shell-host .rev-sidebar-home{color:var(--primary);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:flex}.revision-shell-host .rev-sidebar-collapse-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--text-muted);background:0 0;justify-content:center;align-items:center;transition:border-color .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-collapse-btn:hover{border-color:var(--primary);color:var(--primary)}.revision-shell-host .rev-sidebar-back-chapters{background:var(--primary-softer);border:1px solid var(--primary-soft);border-radius:var(--radius-md);width:100%;color:var(--primary);font-family:var(--font-main);cursor:pointer;align-items:center;gap:6px;margin-bottom:10px;padding:8px 10px;font-size:12px;font-weight:600;transition:all .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-back-chapters:hover{background:var(--primary-soft);border-color:var(--primary)}.revision-shell-host .rev-sidebar-module-info{flex-direction:column;gap:2px;display:flex}.revision-shell-host .rev-sidebar-chapter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:700}.revision-shell-host .rev-sidebar-module-title{color:var(--text-primary);margin:0;font-size:14px;font-weight:700;line-height:1.3}.revision-shell-host .rev-sidebar-chapters-title{font-family:var(--font-display);color:var(--text-primary);margin:0;font-size:18px;font-weight:400}.revision-shell-host .rev-sidebar-chapter-list{flex-direction:column;flex:1;gap:6px;padding:8px 12px 24px;display:flex;overflow-y:auto}.revision-shell-host .rev-sidebar-chapter-card{background:var(--page-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;width:100%;font-family:var(--font-main);text-align:left;align-items:center;gap:10px;padding:12px;transition:all .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-chapter-card:hover{background:var(--primary-softer);border-color:var(--primary-soft);transform:translate(2px)}.revision-shell-host .rev-sidebar-chapter-card.active{background:var(--primary-softer);border-color:var(--primary)}.revision-shell-host .rev-sidebar-chapter-card.locked{opacity:.6}.revision-shell-host .rev-sidebar-chapter-card.locked:hover{opacity:.8;background:var(--page-bg);border-color:var(--border);transform:none}.revision-shell-host .rev-sidebar-chapter-card .rev-sidebar-chapter-num{border-radius:var(--radius-sm);background:var(--border-light);width:28px;height:28px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.revision-shell-host .rev-sidebar-chapter-card.active .rev-sidebar-chapter-num{background:var(--primary-soft);color:var(--primary-text)}.revision-shell-host .rev-sidebar-chapter-card.locked .rev-sidebar-chapter-num{background:var(--border-light);color:var(--text-muted)}.revision-shell-host .rev-sidebar-chapter-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.revision-shell-host .rev-sidebar-chapter-name{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.revision-shell-host .rev-sidebar-chapter-card.active .rev-sidebar-chapter-name{color:var(--primary)}.revision-shell-host .rev-sidebar-chapter-meta{color:var(--text-muted);font-size:11px;font-weight:500}.revision-shell-host .rev-sidebar-chapter-meta.locked{font-style:italic}.revision-shell-host .rev-sidebar-chapter-arrow{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease-out}.revision-shell-host .rev-sidebar-chapter-card:hover .rev-sidebar-chapter-arrow{color:var(--primary);transform:translate(2px)}.revision-shell-host .rev-sidebar-tree{flex:1;padding:8px 0 24px}.revision-shell-host .rev-sidebar-section{margin-bottom:2px}.revision-shell-host .rev-sidebar-section-btn{cursor:pointer;width:100%;font-family:var(--font-main);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;transition:background .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-section-btn:hover{background:var(--border-light)}.revision-shell-host .rev-sidebar-section-num{border-radius:var(--radius-sm);background:var(--border-light);width:20px;height:20px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.revision-shell-host .rev-sidebar-section-btn.expanded .rev-sidebar-section-num{background:var(--primary-soft);color:var(--primary-text)}.revision-shell-host .rev-sidebar-section-title{color:var(--text-secondary);flex:1;min-width:0;font-size:12px;font-weight:700;line-height:1.3}.revision-shell-host .rev-sidebar-section-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s ease-out}.revision-shell-host .rev-sidebar-section-btn.expanded .rev-sidebar-section-chevron{transform:rotate(180deg)}.revision-shell-host .rev-sidebar-topics{padding:2px 0 4px}.revision-shell-host .rev-sidebar-topic{cursor:pointer;width:100%;font-family:var(--font-main);text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:8px;padding:7px 16px 7px 44px;transition:all .15s ease-out;display:flex}.revision-shell-host .rev-sidebar-topic:hover{background:var(--border-light)}.revision-shell-host .rev-sidebar-topic.active{border-left-color:var(--primary);background:var(--primary-softer)}.revision-shell-host .rev-sidebar-topic.flat{padding-left:16px}.revision-shell-host .rev-sidebar-topic-dot{background:var(--border);border-radius:50%;flex-shrink:0;width:5px;height:5px}.revision-shell-host .rev-sidebar-topic-dot.active{background:var(--primary)}.revision-shell-host .rev-sidebar-topic-title{color:var(--text-secondary);flex:1;min-width:0;font-size:12px;font-weight:500;line-height:1.4}.revision-shell-host .rev-sidebar-topic.active .rev-sidebar-topic-title{color:var(--primary);font-weight:600}.revision-shell-host .revision-top-bar{background:var(--surface-raised);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:6px 20px;display:flex;position:relative}.revision-shell-host .revision-hamburger{border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;color:var(--text-primary);font-size:14px;font-family:var(--font-main);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:none}.revision-shell-host .revision-top-bar-info{flex-shrink:1;min-width:0}.revision-shell-host .revision-top-bar-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.revision-shell-host .revision-top-bar-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.revision-shell-host .revision-slide-nav{align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.revision-shell-host .revision-nav-btn{border-radius:var(--radius-sm);font-size:12px;font-weight:600;font-family:var(--font-main);cursor:pointer;white-space:nowrap;border:none;padding:5px 14px;transition:all .15s ease-out}.revision-shell-host .revision-nav-prev{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border)}.revision-shell-host .revision-nav-prev:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.revision-shell-host .revision-nav-prev:disabled{opacity:.35;cursor:default}.revision-shell-host .revision-nav-next{background:var(--primary);color:#fff}.revision-shell-host .revision-nav-next:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 8px #2563eb40}.revision-shell-host .revision-nav-next:disabled{opacity:.5;cursor:default}.revision-shell-host .revision-nav-dots{align-items:center;gap:5px;display:flex}.revision-shell-host .revision-nav-dot{background:var(--border);border-radius:50%;width:7px;height:7px}.revision-shell-host .revision-nav-dot.active{background:var(--primary);border-radius:4px;width:20px}.revision-shell-host .revision-slide{flex:1;grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vmin,22px) clamp(14px,2vmin,28px);width:90%;min-height:100%;margin:0 auto;padding:20px 0;transition:opacity .15s ease-out,transform .15s ease-out;display:grid}.revision-shell-host .revision-slide:has(.revision-questions-wrap){grid-template-rows:auto auto auto}.revision-shell-host .revision-slide .slide-left,.revision-shell-host .revision-slide .slide-right,.revision-shell-host .revision-slide .revision-questions-wrap{min-height:0}.revision-shell-host .revision-slide.slide-visible{opacity:1;transform:translateY(0)}.revision-shell-host .revision-slide.slide-hidden{opacity:0;transform:translateY(6px)}.revision-shell-host .revision-slide:has(.slide-title){padding-top:6px}.revision-shell-host .revision-slide .slide-title{text-align:center;grid-area:1/1/auto/-1;padding:0 0 6px}.revision-shell-host .revision-slide:has(.slide-title) .slide-left{grid-row:2/4}.revision-shell-host .revision-slide:has(.slide-title) .slide-right{grid-row:2}.revision-shell-host .revision-slide:has(.slide-title) .revision-questions-wrap{grid-row:3}.revision-shell-host .revision-slide .slide-left{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;grid-area:1/1/3;gap:clamp(12px,1.6vmin,20px);padding:clamp(20px,2.6vmin,32px);display:flex}.revision-shell-host .revision-slide .slide-right{background:var(--surface);border:1px solid var(--border);border-radius:14px;grid-area:1/2;padding:clamp(20px,2.6vmin,32px)}.revision-shell-host .revision-slide .slide-right canvas,.revision-shell-host .revision-slide .slide-right img,.revision-shell-host .revision-slide .slide-right svg,.revision-shell-host .revision-slide .slide-right video{object-fit:contain;display:block;width:100%!important;height:auto!important;max-height:clamp(200px,34vh,360px)!important}.revision-shell-host .revision-questions-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-area:2/2;padding:18px 22px 22px}.revision-shell-host .revision-interest-wrap{grid-column:1/-1;justify-content:center;align-items:flex-start;padding-top:40px;display:flex}@media (width<=768px){.revision-shell-host .rev-sidebar-collapsed{display:none}.revision-shell-host .revision-hamburger{display:flex}.revision-shell-host .revision-top-bar{padding:6px 12px}:is(.revision-shell-host .revision-slide,.revision-shell-host .revision-slide:has(.revision-questions-wrap)){grid-template-rows:none;grid-template-columns:1fr;gap:16px;width:100%;height:auto;padding:12px;overflow:visible}.revision-shell-host .revision-slide .slide-left,.revision-shell-host .revision-slide .slide-right,.revision-shell-host .revision-slide .revision-questions-wrap{overflow:visible}.revision-shell-host .revision-slide .slide-title{grid-area:auto/1}:is(.revision-shell-host .revision-slide:has(.slide-title) .slide-left,.revision-shell-host .revision-slide:has(.slide-title) .slide-right,.revision-shell-host .revision-slide:has(.slide-title) .revision-questions-wrap){grid-row:auto}.revision-shell-host .revision-slide .slide-left,.revision-shell-host .revision-slide .slide-right{border:1px solid var(--border);border-radius:12px;grid-row:auto;padding:16px}.revision-shell-host .revision-questions-wrap{border-radius:12px;grid-column:1;padding:16px}.revision-shell-host .revision-slide-nav{gap:8px}.revision-shell-host .revision-nav-btn{padding:6px 12px;font-size:12px}.revision-shell-host .revision-nav-dots{display:none}}.revision-shell-host .revision-question-card{background:var(--surface-raised);border:1px solid var(--border);border-top:2px solid var(--primary-soft);border-radius:var(--radius-xl);padding:20px}.revision-shell-host .revision-question-card+.revision-question-card{margin-top:16px}.revision-shell-host .revision-question-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.revision-shell-host .revision-question-label{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:11px;font-weight:700}.revision-shell-host .revision-question-count{color:var(--text-muted);font-size:11px;font-weight:600}.revision-shell-host .revision-question-text{color:var(--text-primary);margin-bottom:12px;font-size:14px;font-weight:500;line-height:1.55}.revision-shell-host .revision-question-options{flex-direction:column;gap:7px;margin-bottom:10px;display:flex}.revision-shell-host .revision-question-option{background:var(--surface-raised);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-family:var(--font-main);color:var(--text-primary);text-align:left;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;line-height:1.45;transition:all .15s ease-out;display:flex}.revision-shell-host .revision-question-option:hover:not(.correct):not(.incorrect):not(:disabled),.revision-shell-host .revision-question-option.selected{border-color:var(--primary);background:var(--primary-softer)}.revision-shell-host .revision-question-option.correct{border-color:var(--success);background:var(--success-soft);cursor:default}.revision-shell-host .revision-question-option.incorrect{border-color:var(--error);background:var(--error-soft);cursor:default}.revision-shell-host .revision-question-option-letter{background:var(--border-light);width:22px;height:22px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:inline-flex}.revision-shell-host .revision-question-option.correct .revision-question-option-letter{background:var(--success);color:#fff}.revision-shell-host .revision-question-option.incorrect .revision-question-option-letter{background:var(--error);color:#fff}.revision-shell-host .revision-question-check-btn{border-radius:var(--radius-md);background:var(--primary);color:#fff;width:100%;font-size:13px;font-weight:700;font-family:var(--font-main);cursor:pointer;border:none;margin-top:4px;padding:9px 16px;transition:background .15s ease-out;display:block}.revision-shell-host .revision-question-check-btn:disabled{opacity:.6;cursor:default}.revision-shell-host .revision-question-explanation{background:var(--primary-softer);border:1px solid var(--primary-soft);border-radius:var(--radius-md);color:var(--primary-text);margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.6}.revision-shell-host .revision-question-explanation-title{margin-bottom:4px;font-weight:700}.revision-shell-host .revision-question-completed-badge{text-transform:uppercase;letter-spacing:.03em;color:var(--success-text);background:var(--success-soft);border:1px solid var(--success);border-radius:var(--radius-pill);padding:2px 8px;font-size:10px;font-weight:700;line-height:14px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@keyframes ctaEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes strikeThrough{0%{width:0}to{width:100%}}@keyframes cursorBlink{50%{opacity:0}}@keyframes dieShake{0%{transform:rotate(-7deg)scale(1.04)}to{transform:rotate(7deg)scale(.97)}}@keyframes dieLand{0%{transform:scale(1.18)}60%{transform:scale(.93)}to{transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.revision-shell-host .home-card-enter{animation:.4s ease-out both fadeInUp}.revision-shell-host .collapse-section{grid-template-rows:0fr;transition:grid-template-rows .35s ease-out;display:grid}.revision-shell-host .collapse-section.is-open{grid-template-rows:1fr}.revision-shell-host .collapse-section>.collapse-content{min-height:0;overflow:hidden}.revision-shell-host .collapse-section .collapse-fade{opacity:0;transition:opacity .3s ease-out}.revision-shell-host .collapse-section.is-open .collapse-fade{opacity:1;transition:opacity .28s ease-out 70ms}.revision-shell-host .chapter-morph{border-radius:var(--radius-xl);will-change:height;transition:height .42s cubic-bezier(.4,0,.2,1),border-color .3s ease-out,background-color .3s ease-out,box-shadow .3s ease-out;position:relative}.revision-shell-host .chapter-morph.morph-has-border{border:1.5px solid var(--primary);background:var(--primary-softer);box-shadow:var(--shadow-card);overflow:hidden}.revision-shell-host .chapter-morph.morph-no-border{box-shadow:none;background:0 0;border:1.5px solid #0000}.revision-shell-host .chapter-morph-layer{width:100%;transition:opacity .38s ease-out}.revision-shell-host .chapter-morph-layer.morph-visible{opacity:1}.revision-shell-host .chapter-morph-layer.morph-hidden{opacity:0}.revision-shell-host .chapter-morph-layer.morph-abs{position:absolute;top:0;left:0;right:0}.revision-shell-host .chapter-morph-layer.morph-measure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;right:0}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.revision-shell-host .scale-in{animation:.2s ease-out both scaleIn}@keyframes questionEnter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:translateY(-14px)}65%{transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes gradeSettle{0%{transform:scale(1.3)}50%{transform:scale(.95)}to{transform:scale(1)}}@keyframes thoughtPop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes notif-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.revision-shell-host .question-enter{animation:.35s cubic-bezier(.4,0,.2,1) both questionEnter}.revision-shell-host .page-title{color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:700}.revision-shell-host .page-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:15px}.revision-shell-host .revision-page.voice-active~a[aria-label="Chat on WhatsApp"]{left:20px!important;right:auto!important}.revision-shell-host:has(.revision-page.voice-active) a[aria-label="Chat on WhatsApp"]{left:20px!important;right:auto!important}.revision-shell-host .revision-page.voice-active .rev-sidebar{display:none}.revision-shell-host .revision-page.voice-active .revision-slide{padding-left:16px;padding-right:16px}.revision-shell-host .revision-page.voice-active .revision-nav-btn{pointer-events:none;opacity:.3}.revision-shell-host .revision-page.voice-active .revision-main{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.revision-shell-host .revision-page.voice-active .voice-layout-row{flex:1;min-height:0;display:flex;overflow:hidden}.revision-shell-host .revision-page.voice-active .voice-layout-row .revision-slide{flex:1;min-width:0;overflow-y:auto}.revision-shell-host .voice-panel{border-left:2px solid var(--primary);background:var(--surface);flex-direction:column;flex-shrink:0;width:380px;height:100%;display:flex}.revision-shell-host .voice-panel-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.revision-shell-host .voice-panel-muted{color:var(--text-muted);margin:0;font-size:14px}.revision-shell-host .voice-panel-error{color:var(--error-text);margin:0;font-size:14px}.revision-shell-host .voice-panel-dismiss-btn{background:var(--surface-raised);border:1.5px solid var(--border);font-size:13px;font-weight:700;font-family:var(--font-main,Inter, sans-serif);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 20px;transition:border-color .15s ease-out}.revision-shell-host .voice-panel-dismiss-btn:hover{border-color:var(--primary)}.revision-shell-host .voice-wb-section{flex-direction:column;flex-shrink:0;gap:8px;height:50%;padding:12px;display:flex}.revision-shell-host .voice-wb-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:0 4px;display:flex}.revision-shell-host .voice-wb-label{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-size:11px;font-weight:700}.revision-shell-host .voice-wb-nav{align-items:center;gap:6px;display:flex}.revision-shell-host .voice-wb-nav-btn{border:1px solid var(--border);background:var(--surface-raised);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:16px;font-weight:700;line-height:1;transition:border-color .15s ease-out;display:flex}.revision-shell-host .voice-wb-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.revision-shell-host .voice-wb-nav-btn:disabled{opacity:.3;cursor:default}.revision-shell-host .voice-wb-nav-count{color:var(--text-muted);text-align:center;min-width:36px;font-size:11px;font-weight:600}.revision-shell-host .voice-wb-body{background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;flex:1;position:relative;overflow:hidden}.revision-shell-host .voice-wb-body.voice-wb-empty{flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.revision-shell-host .voice-wb-empty-icon{color:var(--text-muted);opacity:.4}.revision-shell-host .voice-wb-empty-text{color:var(--text-muted);margin:0;font-size:13px;font-style:italic}.revision-shell-host .voice-wb-card{flex-direction:column;justify-content:center;gap:8px;height:100%;padding:20px;animation:.2s ease-out wbCardIn;display:flex;overflow-y:auto}@keyframes wbCardIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.revision-shell-host .voice-wb-card.slide-prev{animation:.2s ease-out wbCardInPrev}@keyframes wbCardInPrev{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.revision-shell-host .voice-wb-card-title{color:var(--text-primary);text-align:center;margin:0;font-size:15px;font-weight:700}.revision-shell-host .voice-wb-card-latex{text-align:center;padding:8px 0;overflow-x:auto}.revision-shell-host .voice-wb-card-latex .katex{color:var(--primary-text);font-size:1.3em}.revision-shell-host .voice-wb-card-steps{counter-reset:wb-step;flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.revision-shell-host .voice-wb-card-steps li{color:var(--text-primary);counter-increment:wb-step;padding-left:24px;font-size:13px;line-height:1.5;position:relative}.revision-shell-host .voice-wb-card-steps li:before{content:counter(wb-step) ".";color:var(--primary);font-size:13px;font-weight:700;position:absolute;left:0}.revision-shell-host .voice-wb-card-text{color:var(--text-primary);margin:0;font-size:13px;line-height:1.5}.revision-shell-host .voice-transcript-section{flex-direction:column;flex:1;gap:8px;min-height:0;padding:0 12px 12px;display:flex}.revision-shell-host .voice-transcript-header{background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.revision-shell-host .voice-transcript-state{align-items:center;gap:6px;display:flex}.revision-shell-host .voice-transcript-body{background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:10px;flex-direction:column;flex:1;gap:8px;padding:14px;display:flex;overflow-y:auto}.revision-shell-host .voice-transcript-empty{color:var(--text-muted);align-self:center;margin:0;padding-top:20px;font-size:13px;font-style:italic}.revision-shell-host .voice-bubble{border-radius:12px;max-width:88%;padding:10px 14px;font-size:13px;line-height:1.5;animation:.15s ease-out bubbleIn}.revision-shell-host .voice-bubble.bot{background:var(--surface);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.revision-shell-host .voice-bubble.user{background:var(--primary);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.revision-shell-host .voice-wb-marker{color:var(--primary);background:var(--primary-softer);border:1px solid var(--primary-soft);border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.revision-shell-host .voice-wb-marker svg{flex-shrink:0}.revision-shell-host .voice-state-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.revision-shell-host .voice-state-dot.listening{background:var(--success);animation:2s ease-in-out infinite statePulse}.revision-shell-host .voice-state-dot.speaking{background:var(--primary);animation:1s ease-in-out infinite statePulse}.revision-shell-host .voice-state-dot.thinking{background:var(--warning);animation:.6s ease-in-out infinite statePulse}.revision-shell-host .voice-state-dot.disconnected{background:var(--text-muted)}@keyframes statePulse{0%,to{opacity:1}50%{opacity:.35}}.revision-shell-host .voice-state-label{color:var(--text-primary);font-size:13px;font-weight:600}.revision-shell-host .voice-controls{background:var(--surface-raised);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:8px;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.revision-shell-host .voice-controls-state{align-items:center;gap:6px;min-width:100px;display:flex}.revision-shell-host .voice-controls-buttons{align-items:center;gap:12px;display:flex}.revision-shell-host .voice-mic-btn{border:1.5px solid var(--border);background:var(--surface-raised);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s ease-out,background .15s ease-out;display:flex}.revision-shell-host .voice-mic-btn:hover{border-color:var(--primary)}.revision-shell-host .voice-mic-btn.muted{border-color:var(--error);background:var(--error-soft);color:var(--error-text)}.revision-shell-host .voice-end-btn{background:var(--error);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-main,Inter, sans-serif);cursor:pointer;border:none;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;transition:background .15s ease-out;display:flex}.revision-shell-host .voice-end-btn:hover{opacity:.9}.revision-shell-host .voice-coldstart{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;padding:48px 24px;display:flex}.revision-shell-host .voice-coldstart-anim{width:80px;height:64px;position:relative}.revision-shell-host .voice-coldstart-board{background:var(--surface-raised);border:2px solid var(--border);border-radius:6px;width:80px;height:56px;position:relative;overflow:hidden}.revision-shell-host .voice-coldstart-chalk{background:var(--primary);transform-origin:0;border-radius:1px;height:2px;animation:2.4s ease-in-out infinite chalkDraw;position:absolute}.revision-shell-host .voice-coldstart-chalk.chalk-1{width:50px;animation-delay:0s;top:14px;left:10px}.revision-shell-host .voice-coldstart-chalk.chalk-2{width:38px;animation-delay:.4s;top:26px;left:10px}.revision-shell-host .voice-coldstart-chalk.chalk-3{width:55px;animation-delay:.8s;top:38px;left:10px}@keyframes chalkDraw{0%{opacity:0;transform:scaleX(0)}10%{opacity:.6}40%{opacity:.6;transform:scaleX(1)}70%{opacity:0;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}.revision-shell-host .voice-coldstart-dust{background:var(--primary);opacity:0;border-radius:50%;width:4px;height:4px;animation:2.4s ease-out infinite dustFloat;position:absolute}.revision-shell-host .voice-coldstart-dust.dust-1{animation-delay:.2s;bottom:12px;right:8px}.revision-shell-host .voice-coldstart-dust.dust-2{animation-delay:.8s;bottom:16px;right:20px}.revision-shell-host .voice-coldstart-dust.dust-3{animation-delay:1.4s;bottom:10px;right:32px}@keyframes dustFloat{0%{opacity:0;transform:translateY(0)}20%{opacity:.5}to{opacity:0;transform:translateY(-18px)}}.revision-shell-host .voice-coldstart-line{color:var(--text-secondary);margin:0;font-size:15px;animation:2.2s ease-in-out infinite fadeRotate}@keyframes fadeRotate{0%,to{opacity:.6}50%{opacity:1}}.revision-shell-host .voice-coldstart-error{color:var(--error-text);margin:0;font-size:15px}.revision-shell-host .voice-coldstart-dismiss{background:var(--surface-raised);border:1.5px solid var(--border);font-size:13px;font-weight:700;font-family:var(--font-main,Inter, sans-serif);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 20px}.revision-shell-host .voice-mode-picker{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:32px 24px;display:flex}.revision-shell-host .voice-mode-picker-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.revision-shell-host .voice-mode-picker-cards{flex-direction:column;gap:10px;width:100%;max-width:320px;display:flex}.revision-shell-host .voice-mode-card{background:var(--surface-raised);border:1.5px solid var(--border);cursor:pointer;text-align:left;font-family:var(--font-main,Inter, sans-serif);border-radius:12px;flex-direction:column;gap:4px;padding:14px 18px;transition:border-color .15s ease-out;display:flex}.revision-shell-host .voice-mode-card:hover{border-color:var(--primary)}.revision-shell-host .voice-mode-card-label{color:var(--text-primary);font-size:15px;font-weight:700}.revision-shell-host .voice-mode-card-desc{color:var(--text-secondary);font-size:13px;line-height:1.4}.revision-shell-host .voice-mode-cancel{color:var(--text-muted);font-size:13px;font-weight:600;font-family:var(--font-main,Inter, sans-serif);cursor:pointer;background:0 0;border:none;padding:4px 8px}.revision-shell-host .voice-mode-cancel:hover{color:var(--text-secondary)}.revision-shell-host .voice-mode-card.disabled{opacity:.5;cursor:not-allowed}.revision-shell-host .voice-mode-card.disabled:hover{box-shadow:none;transform:none}.revision-shell-host .voice-mode-card-note{color:var(--text-muted);margin-top:4px;font-size:.7rem;display:block}.revision-shell-host .voice-postcall{flex-direction:column;height:100%;padding:20px 16px 16px;display:flex}.revision-shell-host .voice-postcall-scroll{flex:1;min-height:0;overflow-y:auto}.revision-shell-host .voice-postcall-score-section{justify-content:center;align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.revision-shell-host .voice-postcall-score{font-size:3rem;font-weight:700;line-height:1}.revision-shell-host .voice-postcall-score.low{color:var(--error)}.revision-shell-host .voice-postcall-score.mid{color:var(--warning)}.revision-shell-host .voice-postcall-score.high{color:var(--success)}.revision-shell-host .voice-postcall-score-label{color:var(--text-muted);font-size:1.2rem;font-weight:500}.revision-shell-host .voice-postcall-explanation{text-align:center;color:var(--text-secondary);margin:0 0 16px;font-size:.85rem}.revision-shell-host .voice-postcall-list{border-radius:var(--radius-md);margin-bottom:12px;padding:10px 12px}.revision-shell-host .voice-postcall-list.understood{background:var(--success-soft)}.revision-shell-host .voice-postcall-list.gaps{background:var(--warning-soft)}.revision-shell-host .voice-postcall-list h4{margin:0 0 6px;font-size:.8rem;font-weight:600}.revision-shell-host .voice-postcall-list.understood h4{color:var(--success-text)}.revision-shell-host .voice-postcall-list.gaps h4{color:var(--warning-text)}.revision-shell-host .voice-postcall-list ul{margin:0;padding-left:18px}.revision-shell-host .voice-postcall-list li{color:var(--text-primary);font-size:.82rem;line-height:1.5}.revision-shell-host .voice-postcall-summary{color:var(--text-secondary);margin:8px 0 0;font-size:.82rem;line-height:1.5}.revision-shell-host .voice-postcall-done{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;margin-top:12px;padding:10px 0;font-size:.85rem;font-weight:600;transition:background .15s ease-out}.revision-shell-host .voice-postcall-done:hover{background:var(--primary-hover)}.revision-shell-host .voice-polling-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.8s linear infinite voice-spin}@keyframes voice-spin{to{transform:rotate(360deg)}}@media (width<=768px){.revision-shell-host .voice-panel{border-left:none;border-top:2px solid var(--primary);width:100%;height:55vh}.revision-shell-host .revision-page.voice-active .voice-layout-row{flex-direction:column}.revision-shell-host .revision-page.voice-active .voice-layout-row .revision-slide{flex:1;max-height:45vh}}.revision-shell-host .voice-topbar-group{align-items:center;gap:8px;display:flex}.revision-shell-host .voice-topbar-btn{background:var(--primary);cursor:pointer;color:#fff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;transition:background .15s ease-out;display:flex}.revision-shell-host .voice-history-link{border:1px solid var(--border);font-size:12px;font-weight:600;font-family:var(--font-main);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;padding:3px 10px;transition:border-color .15s ease-out,color .15s ease-out}.revision-shell-host .voice-history-link:hover{border-color:var(--primary);color:var(--primary)}.revision-shell-host .voice-history-dropdown{z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;width:320px;max-height:360px;display:flex;position:absolute;top:52px;right:16px;overflow:hidden;box-shadow:0 4px 16px #0000001a}.revision-shell-host .voice-history-dropdown-header{border-bottom:1px solid var(--border);color:var(--text-primary);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.revision-shell-host .voice-history-dropdown-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:18px;line-height:1}.revision-shell-host .voice-history-dropdown-list{flex:1;overflow-y:auto}.revision-shell-host .voice-history-item{border:none;border-bottom:1px solid var(--border-light,var(--border));cursor:pointer;width:100%;font-family:var(--font-main);color:var(--text-primary);text-align:left;background:0 0;align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:background .15s ease-out;display:flex}.revision-shell-host .voice-history-item:last-child{border-bottom:none}.revision-shell-host .voice-history-item:hover{background:var(--primary-soft,#2563eb0f)}.revision-shell-host .voice-history-mode-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.revision-shell-host .voice-history-mode-badge.overview{background:var(--primary-soft,#e0ecff);color:var(--primary)}.revision-shell-host .voice-history-mode-badge.test{color:#92400e;background:#fef3c7}.revision-shell-host .voice-history-mode-badge.doubt{color:#166534;background:#f0fdf4}.revision-shell-host .voice-history-item-date{color:var(--text-secondary);flex:1;font-size:12px}.revision-shell-host .voice-history-item-duration{color:var(--text-muted);flex-shrink:0;font-size:12px}.revision-shell-host .voice-history-item-score{flex-shrink:0;font-size:12px;font-weight:700}.revision-shell-host .voice-history-item-score.high{color:var(--success,#16a34a)}.revision-shell-host .voice-history-item-score.mid{color:var(--warning,#d97706)}.revision-shell-host .voice-history-item-score.low{color:var(--error,#dc2626)}.revision-shell-host .voice-review{flex-direction:column;height:100%;display:flex;overflow:hidden}.revision-shell-host .voice-review-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 14px}.revision-shell-host .voice-review-back{font-family:var(--font-main);color:var(--primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.revision-shell-host .voice-review-back:hover{text-decoration:underline}.revision-shell-host .voice-review-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.revision-shell-host .voice-review-mode-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.revision-shell-host .voice-review-mode-badge.overview{background:var(--primary-soft,#e0ecff);color:var(--primary)}.revision-shell-host .voice-review-mode-badge.test{color:#92400e;background:#fef3c7}.revision-shell-host .voice-review-mode-badge.doubt{color:#166534;background:#f0fdf4}.revision-shell-host .voice-review-date,.revision-shell-host .voice-review-duration{color:var(--text-muted)}.revision-shell-host .voice-review-scroll{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.revision-shell-host .voice-review-score-card{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.revision-shell-host .voice-review-score{font-size:36px;font-weight:800;line-height:1}.revision-shell-host .voice-review-score.high{color:var(--success,#16a34a)}.revision-shell-host .voice-review-score.mid{color:var(--warning,#d97706)}.revision-shell-host .voice-review-score.low{color:var(--error,#dc2626)}.revision-shell-host .voice-review-score-label{color:var(--text-muted);font-size:18px;font-weight:600}.revision-shell-host .voice-review-score-explanation{width:100%;color:var(--text-secondary);margin:4px 0 0;font-size:13px;line-height:1.5}.revision-shell-host .voice-review-analysis{flex-direction:column;gap:10px;display:flex}.revision-shell-host .voice-review-summary{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.revision-shell-host .voice-review-list h4{text-transform:uppercase;letter-spacing:.3px;margin:0 0 4px;font-size:12px;font-weight:700}.revision-shell-host .voice-review-list ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}.revision-shell-host .voice-review-list.understood{color:var(--success-text,#166534)}.revision-shell-host .voice-review-list.understood h4{color:var(--success,#16a34a)}.revision-shell-host .voice-review-list.gaps{color:var(--error-text,#991b1b)}.revision-shell-host .voice-review-list.gaps h4{color:var(--error,#dc2626)}.revision-shell-host .voice-review-list.covered{color:var(--text-primary)}.revision-shell-host .voice-review-list.covered h4{color:var(--primary)}.revision-shell-host .voice-review-list.questions{color:var(--text-primary)}.revision-shell-host .voice-review-list.questions h4{color:var(--text-secondary)}.revision-shell-host .voice-review-audio{flex-direction:column;gap:6px;display:flex}.revision-shell-host .voice-review-audio h4{text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin:0;font-size:12px;font-weight:700}.revision-shell-host .voice-review-audio audio{border-radius:6px;width:100%;height:36px}.revision-shell-host .voice-review-transcript{flex-direction:column;gap:6px;display:flex}.revision-shell-host .voice-review-transcript h4{text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin:0;font-size:12px;font-weight:700}.revision-shell-host .voice-review-transcript-body{flex-direction:column;gap:6px;display:flex}.revision-shell-host .voice-review-wb-card{background:var(--surface-raised,#fff);border:1px solid var(--border);border-radius:8px;margin:2px 0;padding:10px 12px}.revision-shell-host .voice-review-empty{color:var(--text-muted);text-align:center;padding:24px 0;font-size:13px}@media (width<=768px){.revision-shell-host .voice-history-dropdown{width:auto;left:8px;right:8px}}.nadi-iframe{--nadi-bg:#fff;--nadi-fg:#1a1a1a;--nadi-muted:#6b7280;--nadi-border:#e5e7eb;--nadi-accent:#2563eb;--nadi-accent-fg:#fff;--nadi-surface:#f9fafb;--nadi-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--nadi-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--nadi-text-sm:.875rem;--nadi-text-base:1rem;--nadi-text-lg:1.125rem;--nadi-text-xl:1.5rem;--nadi-space-1:.25rem;--nadi-space-2:.5rem;--nadi-space-3:.75rem;--nadi-space-4:1rem;--nadi-space-6:1.5rem;--nadi-space-8:2rem;--nadi-radius:8px;--nadi-radius-lg:12px;--nadi-shadow-sm:0 1px 2px #0000000d;--nadi-shadow:0 4px 12px #00000014;--nadi-z-chrome:10;--nadi-z-overlay:20;font-family:var(--nadi-font);color:var(--nadi-fg);background:var(--nadi-bg)}@media (prefers-color-scheme:dark){.nadi-iframe{--nadi-bg:#0f172a;--nadi-fg:#f1f5f9;--nadi-muted:#94a3b8;--nadi-border:#1e293b;--nadi-surface:#1e293b}}.nadi-iframe{border-radius:var(--nadi-radius-lg);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.nadi-iframe[data-fullscreen=true]{z-index:var(--nadi-z-overlay);border-radius:0;position:fixed;inset:0}.nadi-iframe__chrome{justify-content:space-between;align-items:center;gap:var(--nadi-space-3);padding:var(--nadi-space-2) var(--nadi-space-3);background:var(--nadi-surface);border-bottom:1px solid var(--nadi-border);z-index:var(--nadi-z-chrome);flex:none;display:flex}.nadi-iframe__title{font-size:var(--nadi-text-sm);color:var(--nadi-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.nadi-iframe__controls{align-items:center;gap:var(--nadi-space-1);display:flex}.nadi-iframe__btn{appearance:none;border-radius:var(--nadi-radius);color:var(--nadi-fg);cursor:pointer;padding:var(--nadi-space-1) var(--nadi-space-2);font:inherit;font-size:var(--nadi-text-sm);background:0 0;border:1px solid #0000;line-height:1}.nadi-iframe__btn:hover{background:var(--nadi-border)}.nadi-iframe__btn:focus-visible{outline:2px solid var(--nadi-accent);outline-offset:1px}.nadi-iframe__btn[aria-pressed=true]{background:var(--nadi-accent);color:var(--nadi-accent-fg)}.nadi-iframe__viewport{flex:auto;min-height:0;position:relative;overflow:auto}.nadi-iframe__zoom{transform-origin:0 0;width:100%;height:100%;transition:transform .15s ease-out}.nadi-iframe__error{padding:var(--nadi-space-6);color:var(--nadi-fg);background:var(--nadi-surface);border:1px solid var(--nadi-border);border-radius:var(--nadi-radius);margin:var(--nadi-space-4);font-family:var(--nadi-font-mono);font-size:var(--nadi-text-sm);white-space:pre-wrap}.nadi-iframe .nadi-stage{min-height:100%;padding:var(--nadi-space-8);gap:var(--nadi-space-4);font-size:var(--nadi-text-base);flex-direction:column;line-height:1.6;display:flex}.nadi-iframe .nadi-stage__blocks{gap:var(--nadi-space-4);flex-direction:column;display:flex}.nadi-iframe .nadi-block{margin:0}.nadi-iframe .nadi-heading{font-weight:700;line-height:1.25}.nadi-iframe .nadi-heading--1{font-size:var(--nadi-text-xl)}.nadi-iframe .nadi-heading--2{font-size:var(--nadi-text-lg)}.nadi-iframe .nadi-heading--3{font-size:var(--nadi-text-base);color:var(--nadi-muted);text-transform:uppercase;letter-spacing:.04em}.nadi-iframe .nadi-prose{color:var(--nadi-fg)}.nadi-iframe .nadi-math-block{margin:var(--nadi-space-2) 0;text-align:center}.nadi-iframe .nadi-math-display{font-size:var(--nadi-text-lg);overflow-x:auto}.nadi-iframe .nadi-math-caption{margin-top:var(--nadi-space-1);font-size:var(--nadi-text-sm);color:var(--nadi-muted)}.nadi-iframe .nadi-math-inline math{font-size:1.05em}.nadi-iframe .nadi-image{align-items:center;gap:var(--nadi-space-2);flex-direction:column;display:flex}.nadi-iframe .nadi-image__img{border-radius:var(--nadi-radius);max-width:100%;height:auto}.nadi-iframe .nadi-image__caption{font-size:var(--nadi-text-sm);color:var(--nadi-muted)}.nadi-iframe .nadi-callout{border:1px solid var(--nadi-border);border-radius:var(--nadi-radius);padding:var(--nadi-space-3) var(--nadi-space-4);background:var(--nadi-surface);border-left-width:4px}.nadi-iframe .nadi-callout__title{margin-bottom:var(--nadi-space-1);font-weight:600}.nadi-iframe .nadi-callout--note{border-left-color:var(--nadi-accent)}.nadi-iframe .nadi-callout--tip{border-left-color:#16a34a}.nadi-iframe .nadi-callout--warning{border-left-color:#d97706}.nadi-iframe .nadi-callout--key{border-left-color:#9333ea}.nadi-iframe .nadi-list{padding-left:var(--nadi-space-6);gap:var(--nadi-space-1);flex-direction:column;display:flex}.nadi-iframe .nadi-list--bullet{list-style:outside}.nadi-iframe .nadi-list--number{list-style:decimal}.nadi-iframe .nadi-step-reveal{border:1px solid var(--nadi-border);border-radius:var(--nadi-radius);padding:var(--nadi-space-4);background:var(--nadi-surface);gap:var(--nadi-space-2);flex-direction:column;display:flex}.nadi-iframe .nadi-step-reveal__steps{padding-left:var(--nadi-space-6);gap:var(--nadi-space-2);flex-direction:column;margin:0;display:flex}.nadi-iframe .nadi-step-reveal__label{font-weight:600}.nadi-iframe .nadi-step-reveal__done{font-size:var(--nadi-text-sm);color:var(--nadi-muted)}.nadi-iframe .nadi-stage__footer{padding-top:var(--nadi-space-4);align-items:center;gap:var(--nadi-space-3);margin-top:auto;display:flex}.nadi-iframe .nadi-stage__hint{font-size:var(--nadi-text-sm);color:var(--nadi-muted)}.nadi-iframe .nadi-btn{appearance:none;font:inherit;cursor:pointer;padding:var(--nadi-space-2) var(--nadi-space-4);border:1px solid var(--nadi-border);border-radius:var(--nadi-radius);background:var(--nadi-bg);color:var(--nadi-fg)}.nadi-iframe .nadi-btn:hover{background:var(--nadi-surface)}.nadi-iframe .nadi-btn--primary{background:var(--nadi-accent);color:var(--nadi-accent-fg);border-color:var(--nadi-accent)}.nadi-iframe .nadi-btn--primary:hover{filter:brightness(1.05);background:var(--nadi-accent)}.nadi-iframe .nadi-btn:disabled{opacity:.5;cursor:not-allowed}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.17.0"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.qc-root{--qc-correct:#2f9e44;--qc-correct-bg:#ebfbee;--qc-incorrect:#e03131;--qc-incorrect-bg:#fff5f5}.qc-loading{color:var(--ink-muted);font-size:13px}.qc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:24px}.qc-progress{gap:4px;margin-bottom:18px;display:flex}.qc-seg{border-radius:var(--r-pill);background:var(--border);flex:1;height:5px;transition:background .2s}.qc-seg--current{background:var(--primary)}.qc-seg--correct{background:var(--qc-correct)}.qc-seg--incorrect{background:var(--qc-incorrect)}.qc-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.qc-label{font-family:var(--font-display);color:var(--primary);font-size:14px;font-weight:600}.qc-count{color:var(--ink-muted);font-size:12px}.qc-question{color:var(--ink);margin:0 0 18px;font-size:17px;font-weight:600;line-height:1.45}.qc-options{flex-direction:column;gap:10px;display:flex}.qc-option{text-align:left;border:1.5px solid var(--border);border-radius:var(--r-md);background:var(--page-bg);width:100%;color:var(--ink-soft);cursor:pointer;align-items:center;gap:12px;padding:13px 16px;font-size:15px;transition:all .15s;display:flex}.qc-option:hover:not(:disabled){border-color:var(--primary-soft);color:var(--ink)}.qc-option:disabled{cursor:default}.qc-option-letter{border-radius:var(--r-pill);background:var(--surface);border:1.5px solid var(--border);width:26px;height:26px;color:var(--ink-soft);flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.qc-option.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--ink)}.qc-option.is-selected .qc-option-letter{border-color:var(--primary);color:var(--primary)}.qc-option.is-correct{border-color:var(--qc-correct);background:var(--qc-correct-bg);color:var(--ink)}.qc-option.is-correct .qc-option-letter{border-color:var(--qc-correct);background:var(--qc-correct);color:#fff}.qc-option.is-incorrect{border-color:var(--qc-incorrect);background:var(--qc-incorrect-bg);color:var(--ink)}.qc-option.is-incorrect .qc-option-letter{border-color:var(--qc-incorrect);background:var(--qc-incorrect);color:#fff}.qc-check-btn{color:#fff;background:var(--primary);border:1.5px solid var(--primary);border-radius:var(--r-md);cursor:pointer;margin-top:18px;padding:11px 22px;font-size:14px;font-weight:600;transition:background .15s}.qc-check-btn:hover:not(:disabled){background:var(--primary-hover)}.qc-check-btn:disabled{opacity:.6;cursor:default}.qc-feedback{border-radius:var(--r-md);border:1px solid var(--border);margin-top:18px;padding:16px}.qc-feedback--correct{background:var(--qc-correct-bg);border-color:var(--qc-correct)}.qc-feedback--incorrect{background:var(--qc-incorrect-bg);border-color:var(--qc-incorrect)}.qc-feedback-title{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:700}.qc-feedback-text{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.qc-feedback-foot{justify-content:flex-end;margin-top:14px;display:flex}.qc-next-btn{color:#fff;background:var(--primary);border:1.5px solid var(--primary);border-radius:var(--r-md);cursor:pointer;padding:9px 20px;font-size:13px;font-weight:600}.qc-next-btn:hover{background:var(--primary-hover)}.qc-done{color:var(--qc-correct);margin:0;font-size:13px;font-weight:600}.voice-fab{z-index:60;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:10px;display:flex;position:fixed;bottom:12px;left:88px}.voice-avatar{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;line-height:0;display:block;position:relative}.voice-avatar-img{z-index:1;object-fit:contain;object-position:bottom center;transform-origin:bottom;filter:drop-shadow(0 6px 10px #15162b29);width:auto;max-width:150px;height:116px;transition:filter .15s ease-out;animation:2.8s ease-in-out infinite voice-bob;position:relative}.voice-avatar:hover .voice-avatar-img{filter:drop-shadow(0 9px 14px #15162b3d)}.voice-avatar-shadow{z-index:0;pointer-events:none;background:radial-gradient(#15162b2e,#15162b00 70%);width:96px;height:14px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.voice-avatar-dot{z-index:2;background:var(--ink-muted);opacity:0;border:2px solid #fff;border-radius:50%;width:12px;height:12px;transition:opacity .15s ease-out,background .15s ease-out;position:absolute;top:4px;right:10px}.voice-avatar-dot.is-live{opacity:1;background:#34c759;animation:1.6s ease-in-out infinite voice-dot-pulse}.voice-avatar-dot.is-live.is-speaking{background:var(--primary)}.voice-fab[data-phase=connecting] .voice-avatar-img{animation:1.1s ease-in-out infinite voice-bob}.voice-fab[data-phase=live][data-speaking="0"] .voice-avatar-img{animation:2.2s ease-in-out infinite voice-listen}.voice-fab[data-speaking="1"] .voice-avatar-img{animation:.52s ease-in-out infinite voice-talk}@keyframes voice-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes voice-listen{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-4px)scale(1.015)}}@keyframes voice-talk{0%{transform:translateY(0)scaleX(1)scaleY(1)}35%{transform:translateY(-7px)scaleX(.97)scaleY(1.06)}70%{transform:translateY(1px)scaleX(1.05)scaleY(.95)}to{transform:translateY(0)scaleX(1)scaleY(1)}}@keyframes voice-dot-pulse{0%,to{box-shadow:0 0 #34c75973}50%{box-shadow:0 0 0 5px #34c75900}}.voice-hub{display:none}.voice-hub.is-open{flex-direction:column;align-items:flex-start;gap:8px;animation:.16s ease-out voice-pop;display:flex}.voice-hub-caption{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--ink-soft);background:#ffffffe6;border-radius:999px;align-self:flex-start;padding:3px 11px;font-size:12px;font-weight:600;box-shadow:0 4px 12px #15162b1a}.voice-hub-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.voice-btn{cursor:pointer;border:1px solid #0000;border-radius:999px;flex:none;padding:8px 15px;font-size:13px;font-weight:600;transition:transform .15s ease-out,background .15s ease-out,border-color .15s ease-out;box-shadow:0 4px 14px #15162b24}.voice-btn:hover:not(:disabled){transform:translateY(-1px)}.voice-btn:disabled{opacity:.55;cursor:default}.voice-btn--start{background:var(--primary);color:#fff}.voice-btn--start:hover:not(:disabled){background:var(--primary-hover)}.voice-btn--end{color:var(--ink-soft);border-color:var(--border);background:#fff}.voice-btn--end:hover:not(:disabled){border-color:var(--ink-muted)}.voice-btn--ghost{color:var(--ink-soft);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb}.voice-btn--ghost:hover:not(:disabled){color:var(--ink);background:#fff}.voice-signal{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffdb;border-radius:999px;align-items:center;gap:4px;height:34px;padding:0 14px;animation:.16s ease-out voice-pop;display:flex;box-shadow:0 6px 16px #15162b1f}.voice-signal span{background:var(--ink-muted);opacity:.5;border-radius:2px;width:4px;height:6px}.voice-signal.is-live span{opacity:1;background:#34c759;animation:1.2s ease-in-out infinite voice-bar}.voice-signal.is-speaking span{background:var(--primary);animation-duration:.78s}.voice-signal span:nth-child(2){animation-delay:.11s}.voice-signal span:nth-child(3){animation-delay:.22s}.voice-signal span:nth-child(4){animation-delay:.33s}.voice-signal span:nth-child(5){animation-delay:.44s}@keyframes voice-bar{0%,to{height:6px}50%{height:22px}}.voice-error{background:var(--error-soft,#fdecec);color:var(--error-text,#b3261e);border-radius:8px;margin:10px 0 0;padding:8px 12px;font-size:12.5px}.voice-drawer{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;width:340px;max-height:min(56vh,440px);animation:.16s ease-out voice-pop;display:none;overflow:hidden;box-shadow:0 12px 34px #15162b29}.voice-drawer.is-open{display:flex}.voice-drawer-head{border-bottom:1px solid var(--border);background:#fafafb;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.voice-drawer-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.voice-drawer-close{width:26px;height:26px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;place-items:center;transition:background .15s ease-out,color .15s ease-out;display:grid}.voice-drawer-close:hover{color:var(--ink-soft);background:#eceef3}.voice-transcript{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px;display:flex;overflow-y:auto}.voice-transcript-hint{color:var(--ink-muted);margin:6px 0;font-size:13px;font-style:italic}.voice-turn{border-radius:12px;max-width:86%;padding:8px 12px;font-size:13.5px;line-height:1.5}.voice-turn-role{letter-spacing:.03em;text-transform:uppercase;opacity:.7;margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.voice-turn-text{margin:0}.voice-turn--student{background:var(--primary-soft);color:var(--ink);border-bottom-right-radius:4px;align-self:flex-end}.voice-turn--tutor{color:var(--ink);background:#f4f4f8;border-bottom-left-radius:4px;align-self:flex-start}.voice-turn.is-partial{opacity:.72}@keyframes voice-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.voice-avatar-img,.voice-fab[data-phase] .voice-avatar-img,.voice-avatar-dot.is-live,.voice-signal span,.voice-hub,.voice-drawer{animation:none!important}}.rev-landing{max-width:880px;margin:0 auto;padding:24px 8px 48px}.rev-landing-hero{text-align:center;min-height:180px;padding:48px 0 28px}.rev-landing.is-theatre .rev-landing-hero{animation:1.6s cubic-bezier(.22,1,.36,1) both rev-landing-zoom}@keyframes rev-landing-zoom{0%{transform:scale(1.45)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rev-landing.is-theatre .rev-landing-hero{animation:none}}.rev-landing-headline{font-family:var(--font-display);color:var(--ink);min-height:1.3em;margin:0;font-size:32px;font-weight:600;line-height:1.3}.rev-landing-caret{vertical-align:-.12em;background:var(--primary);border-radius:2px;width:3px;height:1em;margin-left:3px;animation:.9s step-end infinite rev-landing-blink;display:inline-block}@keyframes rev-landing-blink{50%{opacity:0}}.rev-landing-sub{color:var(--ink-soft);margin:12px 0 0;font-size:15px;transition:opacity .4s}.rev-landing-chips{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;transition:opacity .4s;display:flex}.rev-landing-chip{border-radius:var(--r-pill);background:var(--primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-card);border:none;padding:11px 20px;font-size:15px;font-weight:600;transition:background .15s,transform .15s}.rev-landing-chip:hover{background:var(--primary-hover);transform:translateY(-1px)}.rev-landing-chip.is-plan{background:var(--yellow);color:var(--ink)}.rev-landing-chip.is-plan:hover{background:var(--yellow-hover)}.is-waiting{opacity:0;pointer-events:none}.rev-landing-browse{margin-top:36px;transition:opacity .5s .15s}.rev-landing-search{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);width:100%;max-width:440px;font-family:var(--font-body);color:var(--ink);outline:none;margin:0 auto 22px;padding:12px 18px;font-size:15px;transition:border-color .15s,box-shadow .15s;display:block}.rev-landing-search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.rev-landing-search::placeholder{color:var(--ink-muted)}.rev-landing-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.rev-landing-card{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.rev-landing-card:hover{border-color:var(--primary-soft);box-shadow:var(--shadow-card);transform:translateY(-2px)}.rev-landing-card-name{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:600}.rev-landing-card-meta{color:var(--ink-muted);font-size:13px}.rev-landing-card-cta{color:var(--primary);margin-top:8px;font-size:13px;font-weight:600}.rev-landing-card-cta.is-resume{color:var(--ink-soft)}.revision-head{margin-bottom:22px}.revision-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 6px;font-size:13px;font-weight:600}.revision-head h1{color:var(--ink);font-size:34px;font-weight:700}.subtopic-nav{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.subtopic-chip{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:var(--r-pill);padding:9px 16px;font-size:14px;font-weight:500;transition:all .15s}.subtopic-chip:hover{border-color:var(--primary-soft);color:var(--ink)}.subtopic-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.revision-stage{position:relative}.version-badge{z-index:2;background:var(--yellow);color:var(--ink);font-family:var(--font-display);border-radius:var(--r-pill);padding:3px 10px;font-size:12px;font-weight:600;position:absolute;top:-12px;right:4px}.revision-muted{color:var(--ink-muted);font-size:15px}.revision-error{color:#b42318;font-size:14px}.rev-layout{grid-template-columns:288px minmax(0,1fr);align-items:start;gap:24px;display:grid}.rev-layout.is-collapsed{grid-template-columns:52px minmax(0,1fr)}.rev-nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);align-self:start;max-height:calc(100vh - 40px);position:sticky;top:16px;overflow:auto}.is-collapsed .rev-nav{padding:8px}.rev-nav-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:16px 16px 12px;display:flex}.rev-nav-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:16px;font-weight:600;line-height:1.3}.rev-nav-collapse,.rev-nav-expand{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--page-bg);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.rev-nav-collapse:hover,.rev-nav-expand:hover{border-color:var(--primary-soft);color:var(--primary)}.rev-nav-expand{width:100%;height:36px}.rev-nav-tree{padding:8px}.rev-nav-section+.rev-nav-section{margin-top:2px}.rev-nav-section-btn{text-align:left;border-radius:var(--r-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:9px 10px;transition:background .15s;display:flex}.rev-nav-section-btn:hover{background:var(--page-bg)}.rev-nav-section-num{border-radius:var(--r-pill);background:var(--sage-soft);width:22px;height:22px;color:var(--ink);flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.rev-nav-section-title{color:var(--ink-soft);flex:1;font-size:14px;font-weight:600;line-height:1.35}.rev-nav-section-btn.is-open .rev-nav-section-title{color:var(--ink)}.rev-nav-chevron{color:var(--ink-muted);flex-shrink:0;place-items:center;display:grid}.rev-nav-slides{padding:2px 0 6px 16px}.rev-nav-slide{text-align:left;border-radius:var(--r-md);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:7px 10px;transition:background .15s;display:flex}.rev-nav-slide:hover{background:var(--page-bg)}.rev-nav-slide.is-active{background:var(--primary-soft)}.rev-nav-dot{border-radius:var(--r-pill);background:var(--border);flex-shrink:0;width:7px;height:7px}.rev-nav-dot.is-active{background:var(--primary)}.rev-nav-slide-title{color:var(--ink-muted);font-size:13px;line-height:1.4}.rev-nav-slide.is-active .rev-nav-slide-title{color:var(--ink);font-weight:600}.rev-main{min-width:0}.rev-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.rev-topbar-overview{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0 0 8px;padding:0;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.rev-topbar-overview:hover{color:var(--primary)}.rev-topbar-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 4px;font-size:12px;font-weight:600}.rev-topbar-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:28px;font-weight:700;line-height:1.2}.rev-topbar-nav{align-items:center;gap:12px;display:flex}.rev-topbar-count{color:var(--ink-muted);text-align:center;min-width:56px;font-size:13px;font-weight:600}.rev-nav-btn{color:var(--ink-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.rev-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.rev-nav-btn:disabled{opacity:.45;cursor:default}.prac-wrap{width:100%;max-width:760px;margin:0 auto}.prac-head{margin-bottom:22px}.prac-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin:0 0 6px;font-size:13px;font-weight:600}.prac-title{color:var(--ink);margin:0 0 8px;font-size:30px}.prac-sub{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.5}.prac-muted{color:var(--ink-muted);font-size:15px}.prac-note{background:var(--primary-soft);color:var(--primary-hover);border-radius:var(--r-md);margin:0 0 14px;padding:12px 14px;font-size:14px}.prac-done-note{color:var(--muted,#667085);margin:4px 0 14px;font-size:13px}.prac-error{color:#b42318;margin:12px 0 0;font-size:14px}.prac-picklist{margin-top:8px}.prac-browse-title{color:var(--ink-soft);margin:0 0 12px;font-size:16px;font-weight:600}.prac-pick-ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.prac-pick{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;flex-direction:column;gap:3px;width:100%;padding:14px 16px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.prac-pick:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-card);transform:translateY(-1px)}.prac-pick:disabled{opacity:.6;cursor:default}.prac-soon{background:var(--primary-soft);border-radius:var(--r-card);align-items:center;gap:8px;margin-top:18px;padding:18px 20px 18px 8px;display:flex}.prac-soon-pet{object-fit:contain;object-position:bottom center;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;align-self:flex-end;width:auto;max-width:150px;height:116px}.prac-soon-banner{background:var(--surface);border-radius:var(--r-md);min-width:0;box-shadow:var(--shadow-card);flex:1;padding:16px 18px}.prac-soon-head{color:var(--ink);margin:0 0 4px;font-size:17px;font-weight:700}.prac-soon-body{color:var(--ink-muted);margin:0;font-size:14px}.prac-soon-tutor{color:var(--primary-hover,var(--primary));margin:8px 0 0;font-size:13px;font-weight:600}.prac-soon-count{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted);opacity:.8;margin:10px 0 0;font-size:12px}@media (width<=640px){.prac-soon{flex-direction:column;align-items:stretch;padding:8px 14px 18px}.prac-soon-pet{align-self:center;max-width:40vw;height:88px;margin:0}.prac-soon-banner{margin-left:0;padding:14px 16px}}.prac-assigned-caught{color:var(--ink-muted);margin:6px 0 0;font-size:14px}.prac-pick-name{color:var(--ink);font-size:15px;font-weight:600}.prac-pick-topic{color:var(--ink-muted);font-size:13px}.prac-stage{margin-top:4px}.prac-progress{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.prac-link{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:14px;font-weight:500}.prac-link:hover{color:var(--primary)}.prac-count{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.prac-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:24px}.prac-qhead{margin-bottom:12px}.prac-axis{letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-pill);background:var(--surface-sunk);color:var(--ink-soft);padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.prac-axis--conceptual{background:var(--lilac);color:#4b3b7a}.prac-axis--procedural{background:var(--sage-soft);color:#3c5a2e}.prac-axis--both{background:var(--periwinkle);color:#34386b}.prac-stem{color:var(--ink);margin:0 0 18px;font-size:18px;font-weight:500;line-height:1.5}.prac-figure{border:1px solid var(--border);border-radius:var(--r-md);background:#fff;width:auto;max-width:100%;height:auto;max-height:360px;margin:0 auto 18px;display:block}.prac-answer{border:1px solid var(--border);border-radius:var(--r-md);width:100%;font-family:var(--font-body);color:var(--ink);resize:vertical;background:var(--surface-sunk);padding:12px 14px;font-size:15px;line-height:1.5}.prac-answer:focus{border-color:var(--primary);background:var(--surface);outline:none}.prac-confidence{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 4px;display:flex}.prac-conf-label{color:var(--ink-soft);font-size:14px;font-weight:500}.prac-conf-chips{flex-wrap:wrap;gap:8px;display:flex}.prac-conf-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;padding:8px 16px;font-size:14px;font-weight:600;transition:all .15s}.prac-conf-chip:hover{border-color:var(--primary)}.prac-conf-chip.is-on{background:var(--primary);border-color:var(--primary);color:#fff}.prac-conf-chip.is-dim{opacity:.5}.prac-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.prac-btn{border-radius:var(--r-pill);font-family:var(--font-body);cursor:pointer;border:1px solid #0000;padding:10px 20px;font-size:15px;font-weight:600;transition:background .15s,transform .15s,opacity .15s}.prac-btn:disabled{opacity:.5;cursor:default}.prac-btn-primary{background:var(--primary);color:#fff}.prac-btn-primary:hover:not(:disabled){background:var(--primary-hover)}.prac-btn-ghost{border-color:var(--border);color:var(--ink-soft);background:0 0}.prac-btn-ghost:hover:not(:disabled){border-color:var(--ink-muted)}.prac-reveal{margin-top:8px}.prac-reveal-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 6px;font-size:12px;font-weight:600}.prac-yours{background:var(--surface-sunk);border-radius:var(--r-md);margin-bottom:14px;padding:14px 16px}.prac-yours-text{color:var(--ink-soft);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.5}.prac-thumb-row{flex-wrap:wrap;gap:10px;display:flex}.prac-thumb{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:zoom-in;padding:0;line-height:0;overflow:hidden}.prac-thumb img{object-fit:cover;width:140px;height:140px;display:block}.prac-lightbox{z-index:50;cursor:zoom-out;background:#000000d1;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.prac-lightbox img{object-fit:contain;border-radius:var(--r-sm);max-width:96vw;max-height:92vh}.prac-lightbox-close{border-radius:var(--r-pill);color:#fff;cursor:pointer;background:#ffffff26;border:none;width:40px;height:40px;font-size:18px;position:fixed;top:16px;right:20px}.prac-upload-done{flex-direction:column;align-items:flex-start;gap:10px;margin:8px 0;display:flex}.prac-model-toggle{border-radius:var(--r-pill);border:1px solid var(--border);color:var(--ink-soft);font-family:var(--font-body);cursor:pointer;background:0 0;padding:8px 16px;font-size:14px;font-weight:600;transition:border-color .15s}.prac-model-toggle:hover{border-color:var(--ink-muted)}.prac-model{background:var(--sage-soft);border-radius:var(--r-md);padding:16px 18px}.prac-model-text{color:var(--ink);white-space:pre-wrap;margin:0;font-size:15px;line-height:1.55}.prac-explain{color:var(--ink-soft);margin:12px 0 0;font-size:14px;font-style:italic;line-height:1.5}.prac-feedback{background:var(--primary-soft);border-radius:var(--r-md);margin-bottom:14px;padding:16px 18px}.prac-fb-loading{color:var(--ink-soft);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.prac-fb-spinner{border:2px solid var(--ink-muted);border-top-color:#0000;border-radius:50%;width:13px;height:13px;animation:.7s linear infinite prac-fb-spin;display:inline-block}@keyframes prac-fb-spin{to{transform:rotate(360deg)}}.prac-fb-verdict{border-radius:var(--r-pill);margin-bottom:10px;padding:3px 11px;font-size:12.5px;font-weight:600;display:inline-block}.prac-fb-verdict--strong{color:#2f6b2a;background:#dcface}.prac-fb-verdict--partial{color:#8a6d10;background:#fbeeb6}.prac-fb-verdict--off_track{color:#9a3838;background:#f7dcdc}.prac-fb-text{color:var(--ink);margin:0;font-size:15px;line-height:1.55}.prac-fb-block{margin-top:12px}.prac-fb-block-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 4px;font-size:11.5px;font-weight:600}.prac-fb-list{color:var(--ink-soft);margin:0;padding-left:18px;font-size:14px;line-height:1.5}.prac-fb-list li{margin:2px 0}.prac-fb-list--good li::marker{color:#4c9a44}.prac-fb-list--work li::marker{color:var(--primary)}.prac-done{text-align:center}.prac-done-title{color:var(--ink);margin:0 0 10px;font-size:24px}.prac-done .prac-actions{justify-content:center;margin-top:18px}.prac-assigned{background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--r-card);margin-bottom:28px;padding:18px 20px}.prac-assigned-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--primary-hover);margin:0 0 4px;font-size:12px;font-weight:700}.prac-assigned-title{color:var(--ink);align-items:center;gap:10px;margin:0 0 14px;font-size:20px;display:flex}.prac-assigned-count{color:#fff;background:var(--primary);border-radius:var(--r-pill);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:13px;font-weight:700;display:inline-flex}.prac-assigned-list{flex-direction:column;gap:12px;display:flex}.prac-assigned-card{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--r-md);background:var(--surface);padding:14px 16px}.prac-assigned-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.prac-assigned-mode{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r-pill);color:var(--primary-hover);background:var(--primary-soft);padding:2px 8px;font-size:12px;font-weight:600}.prac-assigned-mode--blocked{color:var(--ink-soft);background:var(--sage-soft)}.prac-assigned-scope{color:var(--ink);font-size:14px;font-weight:600}.prac-assigned-progress{color:var(--ink-muted);margin-left:auto;font-size:13px}.prac-assigned-sts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.prac-assigned-st{border:1px solid var(--border);border-radius:var(--r-md);background:var(--page-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:transform .15s ease-out,border-color .15s ease-out;display:flex}.prac-assigned-st:hover:not(:disabled){border-color:var(--primary);transform:translateY(-1px)}.prac-assigned-st:disabled{opacity:.6;cursor:default}.prac-assigned-st.is-done{opacity:.7}.prac-assigned-st-name{color:var(--ink);flex-direction:column;gap:2px;font-size:15px;font-weight:600;display:flex}.prac-assigned-st-crumb{color:var(--ink-muted);font-size:12px;font-weight:500}.prac-assigned-st-status{color:var(--primary);white-space:nowrap;font-size:13px;font-weight:600}.prac-assigned-st.is-done .prac-assigned-st-status{color:var(--sage)}.prac-mode{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-pill);gap:6px;margin-bottom:14px;padding:4px;display:flex}.prac-mode-tab{font:inherit;color:var(--ink-muted);border-radius:var(--r-pill);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 12px;font-size:14px;font-weight:600;transition:background .15s ease-out,color .15s ease-out}.prac-mode-tab.is-on{color:var(--primary);background:var(--surface);box-shadow:var(--shadow-card)}.prac-qr{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-card);align-items:center;gap:20px;margin:4px 0;padding:18px;display:flex}.prac-qr-code{border-radius:var(--r-md);border:1px solid var(--border);background:#fff;flex:none;padding:10px;line-height:0}.prac-qr-side{min-width:0}.prac-qr-title{color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:600}.prac-qr-status{color:var(--ink-muted);margin:12px 0 0;font-size:14px;font-weight:600}.prac-qr-status.is-live{color:var(--sage)}.prac-direct{margin:10px 0 2px}.prac-direct-or{color:var(--ink-muted);align-items:center;gap:12px;margin:0 0 12px;font-size:13px;display:flex}.prac-direct-or:before,.prac-direct-or:after{content:"";background:var(--border);flex:1;height:1px}.prac-direct-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.prac-direct-pick input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.prac-direct-face{color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;padding:11px 16px;font-size:14px;font-weight:600;display:inline-block}.prac-direct-pick:hover .prac-direct-face{border-color:var(--ink-muted)}.prac-direct-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.prac-direct-item{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:10px;padding:7px 10px;display:flex}.prac-direct-n{width:20px;height:20px;color:var(--ink-muted);background:var(--surface);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.prac-direct-name{min-width:0;color:var(--ink-muted);overflow-wrap:anywhere;flex:1;font-size:13px}.prac-direct-x{width:24px;height:24px;color:var(--ink-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;font-size:16px;line-height:1;display:grid}.prac-direct-x:hover:not(:disabled){color:var(--ink);border-color:var(--ink-muted)}.prac-direct-x:disabled{opacity:.4;cursor:default}.prac-direct-count{margin-top:8px}@media (width<=560px){.prac-qr{flex-direction:column;align-items:flex-start}}.ins{flex-direction:column;gap:22px;max-width:920px;display:flex}.ins-head{flex-direction:column;gap:2px;display:flex}.ins-hello{color:var(--ink-muted);margin:0;font-size:14px;font-weight:600}.ins-title{font-family:var(--font-display);color:var(--ink);font-size:38px;font-weight:700;line-height:1.05}.ins-metrics{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.ins-metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;gap:3px;padding:16px 20px;display:flex}.ins-metric-num{font-family:var(--font-display);color:var(--ink);font-size:26px;font-weight:700;line-height:1}.ins-metric-label{color:var(--ink-muted);font-size:13px;font-weight:500}.ins-list{flex-direction:column;gap:12px;display:flex}.ins-section-title{font-family:var(--font-display);color:var(--ink);margin:4px 0;font-size:18px;font-weight:700}.ins-muted{color:var(--ink-muted);margin:4px 0;font-size:14px;line-height:1.55}.ins-error{color:#c0362c;margin:4px 0;font-size:14px}.ins-empty{background:var(--surface-sunk);border:1px dashed var(--border);border-radius:var(--r-card);padding:26px 24px}.ins-empty-title{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:17px;font-weight:700}.ins-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.ins-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ins-card-titles{min-width:0}.ins-card-crumb{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 2px;font-size:12px;font-weight:600}.ins-card-name{font-family:var(--font-display);color:var(--ink);margin:0;font-size:18px;font-weight:600}.ins-chips{flex-wrap:wrap;gap:10px;display:flex}.ins-chip{border-radius:var(--r-pill);border:1px solid #0000;align-items:baseline;gap:8px;padding:7px 14px;display:inline-flex}.ins-chip-axis{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);font-size:11px;font-weight:700}.ins-chip-level{color:var(--ink);font-size:14px;font-weight:700}.ins-chip--getting-started{background:var(--surface-sunk);border-color:var(--border)}.ins-chip--unassessed{border-color:var(--border);color:var(--muted,#6b6f80);background:0 0;border-style:dashed}.ins-chip--practising{background:color-mix(in srgb, var(--yellow) 38%, white);border-color:color-mix(in srgb, var(--yellow) 60%, white)}.ins-chip--strong{background:color-mix(in srgb, var(--periwinkle) 45%, white);border-color:color-mix(in srgb, var(--periwinkle) 70%, white)}.ins-chip--mastered{background:var(--sage-soft);border-color:var(--sage)}.ins-card-desc{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.6}.ins-trend{border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:5px 12px;font-size:12px;font-weight:700}.ins-trend--up{background:var(--sage-soft);color:#356b1f}.ins-trend--down{color:#c0362c;background:#fbe3e0}.ins-trend--flat{background:var(--surface-sunk);color:var(--ink-muted)}.ins-trend--new{background:var(--lilac);color:#5a40a8}.ins-revisit{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--primary);background:0 0;align-self:flex-start;padding:9px 16px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s}.ins-revisit:hover{background:var(--primary-soft);border-color:var(--primary-soft)}@media (width<=720px){.ins-metrics{grid-template-columns:1fr}}.pace{max-width:780px;margin:0 auto;padding:8px 4px 48px}.pace-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.pace-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.7rem;font-weight:600}.pace-subject-picker{font-family:var(--font-body);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:8px 12px;font-size:.9rem}.pace-muted{color:var(--ink-muted)}.pace-error{color:#b42318;border-radius:var(--r-md);background:#fef3f2;border:1px solid #fecdca;padding:10px 14px}.pace-hint{color:#b54708;margin-top:8px;font-size:.85rem}.pace-setup{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:24px}.pace-setup-intro{margin-bottom:20px}.pace-setup-h{font-family:var(--font-display);color:var(--ink);margin:0 0 6px;font-size:1.2rem;font-weight:600}.pace-setup-dates{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.pace-field{flex-direction:column;gap:6px;display:flex}.pace-field-label{color:var(--ink-soft);font-size:.82rem;font-weight:600}.pace-req{color:var(--primary);font-style:normal;font-weight:500}.pace-field input[type=date],.pace-date-editor input[type=date]{font-family:var(--font-body);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);padding:9px 12px;font-size:.9rem}.pace-setup-order .pace-field-label{margin-bottom:10px;display:block}.pace-order-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pace-order-row{background:var(--surface-sunk);border-radius:var(--r-md);align-items:center;gap:12px;padding:10px 12px;display:flex}.pace-order-num{background:var(--lilac);width:24px;height:24px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:600;display:grid}.pace-order-name{color:var(--ink);flex:auto;font-size:.92rem}.pace-order-weeks{color:var(--ink-muted);flex:none;font-size:.82rem}.pace-reorder{flex:none;gap:4px;display:inline-flex}.pace-reorder button{border:1px solid var(--border);background:var(--surface);width:26px;height:26px;color:var(--ink-soft);cursor:pointer;border-radius:8px;line-height:1;transition:background .12s}.pace-reorder button:hover:not(:disabled){background:var(--primary-soft)}.pace-reorder button:disabled{opacity:.35;cursor:default}.pace-primary{font-family:var(--font-body);border-radius:var(--r-pill);background:var(--primary);color:#fff;cursor:pointer;border:none;margin-top:24px;padding:12px 22px;font-size:.95rem;font-weight:600;transition:background .12s}.pace-primary:hover:not(:disabled){background:var(--primary-hover)}.pace-primary:disabled{opacity:.45;cursor:default}.pace-timeline--busy{opacity:.6;pointer-events:none}.pace-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:16px 18px;display:flex}.pace-summary-main{align-items:center;gap:10px;display:flex}.pace-summary-label{font-family:var(--font-display);color:var(--ink);font-weight:600}.pace-summary-dates{align-items:center;gap:10px;font-size:.88rem;display:flex}.pace-window{color:var(--ink-soft)}.pace-linkbtn{color:var(--primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:.85rem;font-weight:600}.pace-linkbtn:hover:not(:disabled){background:var(--primary-soft)}.pace-linkbtn--muted{color:var(--ink-muted)}.pace-linkbtn:disabled{opacity:.4;cursor:default}.pace-date-editor{align-items:center;gap:8px;display:inline-flex}.pace-banner{border-radius:var(--r-md);margin-bottom:16px;padding:12px 16px;font-size:.88rem}.pace-banner--over{color:#92400e;background:#fff8eb;border:1px solid #fed7aa}.pace-banner--under{background:var(--surface-sunk);border:1px solid var(--border);color:var(--ink-muted)}.pace-chapters{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pace-chapter{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);align-items:center;gap:14px;padding:14px 16px;display:flex}.pace-chapter-num{background:var(--surface-sunk);width:26px;height:26px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:600;display:grid}.pace-chapter-body{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.pace-chapter-name{color:var(--ink);font-size:.95rem;font-weight:500}.pace-chapter-meta{color:var(--ink-muted);font-size:.82rem}.pace-chapter-meta b{color:var(--ink-soft);font-weight:600}.pace-estimate{align-items:center;gap:6px;display:inline-flex}.pace-estimate-chip{border:1px dashed var(--border);color:var(--ink-muted);cursor:pointer;background:0 0;border-radius:999px;padding:1px 7px;font-size:.82rem;font-weight:500}.pace-estimate-chip:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pace-estimate-chip--overridden{border-style:solid;border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.pace-estimate-chip:disabled{opacity:.5;cursor:default}.pace-estimate-anchor{color:var(--ink-faint,var(--ink-muted));font-size:.76rem;font-style:italic}.pace-estimate-reset{padding:1px 5px;font-size:.76rem}.pace-estimate-input{border:1px solid var(--primary);border-radius:6px;width:56px;padding:2px 6px;font-family:inherit;font-size:.82rem}.pace-estimate-unit{color:var(--ink-muted);font-size:.82rem}.pace-chapter-signals{flex:none;align-items:center;gap:12px;display:flex}.pace-complete{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.82rem;display:inline-flex}.pace-complete input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}.pace-chapter--on_time{border-left-color:#12b76a}.pace-chapter--delay_risk{border-left-color:var(--yellow)}.pace-chapter--amber{border-left-color:#f79009}.pace-chapter--red{border-left-color:#f04438}.pace-chapter--completed{border-left-color:var(--primary);opacity:.72}.pace-pill{border-radius:var(--r-pill);white-space:nowrap;padding:3px 10px;font-size:.76rem;font-weight:600;display:inline-block}.pace-pill--on_time{color:#027a48;background:#e7f8ef}.pace-pill--delay_risk{color:#a16207;background:#fef7e0}.pace-pill--amber{color:#b54708;background:#fff1e3}.pace-pill--red{color:#b42318;background:#fee4e2}.pace-pill--completed{background:var(--primary-soft);color:var(--primary-hover)}.pace-prep{border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:1px solid;padding:2px 9px;font-size:.76rem;font-weight:600;display:inline-block}.pace-prep--strong{color:#027a48}.pace-prep--on_track{color:#1d4ed8}.pace-prep--needs_work{color:#b54708}.pace-prep--not_started{color:#98928a;border-style:dashed}@media (width<=640px){.pace-chapter{flex-wrap:wrap}.pace-setup-dates{flex-direction:column}}.prof-page{flex-direction:column;gap:20px;max-width:620px;padding-bottom:40px;display:flex}.prof-head{align-items:center;gap:16px;display:flex}.prof-avatar{background:var(--lilac);width:64px;height:64px;color:var(--ink);font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:26px;font-weight:600;display:grid}.prof-id{min-width:0}.prof-name{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.6rem;font-weight:600}.prof-email{color:var(--ink-muted);overflow-wrap:anywhere;margin:2px 0 0;font-size:.92rem}.prof-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:20px 22px}.prof-card-title{font-family:var(--font-display);color:var(--ink);margin:0 0 14px;font-size:1rem;font-weight:600}.prof-rows{margin:0}.prof-row{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.prof-row:first-child{border-top:none;padding-top:0}.prof-row dt{color:var(--ink-muted);font-size:.88rem}.prof-row dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.94rem;font-weight:500}.prof-note{color:var(--ink-soft);margin:0 0 14px;font-size:.9rem;line-height:1.5}.prof-signout{border-radius:var(--r-pill);color:#b42318;font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #f04438;padding:9px 18px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.prof-signout:hover{color:#fff;background:#f04438}@media (width<=560px){.prof-row{flex-direction:column;gap:2px}.prof-row dd{text-align:left}}.tut-root{background:var(--page,#eef0f3);min-height:100vh;font-family:var(--font-body,Inter, system-ui, sans-serif);color:var(--ink,#15162b);padding:28px clamp(20px,5vw,56px) 64px}.tut-root.tut-embedded{background:0 0;min-height:0;padding:0}.tut-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.tut-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:12px;font-weight:600}.tut-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:2px 0 0;font-size:30px}.tut-signout{border:1px solid var(--line,#d9dbe4);color:var(--ink,#15162b);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:9px 16px;font-weight:600}.tut-signout:hover{background:#f6f7fa}.tut-section{margin-top:26px}.tut-section-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:0 0 14px;font-size:19px}.tut-hint{font-family:var(--font-body,Inter, sans-serif);color:var(--muted,#6b6f80);font-size:12.5px;font-weight:500}.tut-muted{color:var(--muted,#6b6f80);font-size:14.5px}.tut-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:10px 14px;font-size:14px}.tut-student-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;display:grid}.tut-student-card{text-align:left;border:1px solid var(--line,#d9dbe4);cursor:pointer;font:inherit;background:#fff;border-radius:14px;align-items:center;gap:13px;padding:16px 18px;transition:transform .12s,box-shadow .12s;display:flex}.tut-student-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #15162b12}.tut-avatar{background:var(--sage,#cfe3d0);color:#15162b;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:17px;font-weight:700;display:grid}.tut-student-meta{flex-direction:column;min-width:0;display:flex}.tut-student-name{font-size:15.5px;font-weight:650}.tut-student-email{color:var(--muted,#6b6f80);text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.tut-back{color:var(--muted,#6b6f80);font:inherit;cursor:pointer;background:0 0;border:none;padding:4px 0;font-weight:600}.tut-back:hover{color:var(--ink,#15162b)}.tut-student-heading{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:6px 0 4px;font-size:25px}.tut-pending-list{flex-direction:column;gap:10px;display:flex}.tut-pending{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:12px;overflow:hidden}.tut-pending-head{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.tut-pending-head:hover{background:#f6f7fa}.tut-pending-name{flex-direction:column;display:flex}.tut-crumb{color:var(--muted,#6b6f80);font-size:12px;font-weight:500}.tut-pending-st{font-size:15px;font-weight:650}.tut-badge{background:var(--lilac,#e3def7);color:#4b3da8;border-radius:999px;flex:none;padding:4px 11px;font-size:12.5px;font-weight:700}.tut-badges{flex:none;align-items:center;gap:8px;display:flex}.tut-pending--open{background:#fffaf4;border-color:#f79009;border-left-style:solid;border-left-width:3px}.tut-pending--open .tut-pending-head:hover{background:#fff4e8}.tut-badge--open{color:#b54708;background:#fff1e3}.tut-obs-list{border-top:1px solid var(--line,#d9dbe4);background:#fafbfc;flex-direction:column;gap:0;display:flex}.tut-obs{border-bottom:1px solid #eceef3;padding:13px 18px}.tut-obs:last-child{border-bottom:none}.tut-unassessed{border-top:1px dashed var(--line,#d9dbe4);background:#f6f7f9;padding:10px 18px 12px}.tut-unassessed-head{letter-spacing:.03em;text-transform:uppercase;color:var(--muted,#6b6f80);margin:0 0 8px;font-size:11.5px;font-weight:700}.tut-unassessed-row{color:var(--muted,#6b6f80);flex-wrap:wrap;align-items:baseline;gap:8px;padding:5px 0;font-size:14px;display:flex}.tut-tag{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.tut-tag-skip{color:#b42318;background:#fde8e8}.tut-tag-unread{color:#9a5b00;background:#fdefd6}.tut-unassessed-stem{color:var(--ink,#15162b)}.tut-unassessed-ans{font-style:italic}.tut-obs-top{align-items:center;gap:9px;margin-bottom:5px;display:flex}.tut-axis{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;padding:2px 8px;font-size:11.5px;font-weight:700}.tut-axis--conceptual{color:#1b47b8;background:#dbe7ff}.tut-axis--procedural{color:#1d7a4d;background:#d8efe0}.tut-axis--both{color:#6b34a8;background:#ece0f7}.tut-level{color:var(--ink,#15162b);font-size:13px;font-weight:700}.tut-calib{color:#9a5b00;background:#fdf0d8;border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:600}.tut-marks{color:#1b47b8;white-space:nowrap;background:#e7eeff;border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:700}.tut-obs-date{color:var(--muted,#6b6f80);margin-left:auto;font-size:12px}.tut-obs-reasoning{margin:0;font-size:14px;line-height:1.5}.tut-obs-loading{padding:12px 18px}.tut-recall{margin-top:8px}.tut-recall-toggle{cursor:pointer;color:var(--muted,#6b6f80);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.tut-recall-toggle:hover{color:var(--ink,#1a1c25)}.tut-recall-body{background:#f7f8fa;border:1px solid #eceef3;border-radius:8px;flex-direction:column;gap:10px;margin-top:8px;padding:10px 12px;display:flex}.tut-recall-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6f80);margin:0 0 3px;font-size:11px;font-weight:700}.tut-recall-conf{text-transform:none;letter-spacing:0;font-weight:500}.tut-recall-conf-label{color:var(--ink,#1a1c25);font-weight:700}.tut-eval{border-left:3px solid #cdd8f5;padding-left:10px}.tut-eval-marks{text-transform:none;letter-spacing:0;font-weight:500}.tut-eval-verdict{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:700}.tut-eval-verdict--strong{color:#14683f;background:#dcf3e6}.tut-eval-verdict--partial{color:#8a5a00;background:#fdf0d4}.tut-eval-verdict--off_track{color:#9c2626;background:#fbe3e3}.tut-eval-prose{white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.55}.tut-eval-list{margin-top:7px}.tut-eval-list-head{color:var(--muted,#6b6f80);margin:0 0 2px;font-size:11px;font-weight:700}.tut-eval-list ul{margin:0;padding-left:17px}.tut-eval-list li{font-size:13px;line-height:1.5}.tut-eval-list--gap .tut-eval-list-head{color:#9c2626}.tut-obs-why{margin-top:7px}.tut-obs-why-toggle{cursor:pointer;color:var(--muted,#6b6f80);background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600}.tut-obs-why-toggle:hover{color:var(--ink,#1a1c25)}.tut-obs-why-text{white-space:pre-wrap;background:#fbfaf5;border:1px solid #efece0;border-radius:7px;margin:6px 0 0;padding:8px 10px;font-size:13px;line-height:1.5}.tut-rubric{margin-top:6px}.tut-rubric-toggle{cursor:pointer;color:var(--muted,#6b6f80);background:0 0;border:none;padding:0;font-size:12px;font-weight:500}.tut-rubric-toggle:hover{color:var(--ink,#1a1c25)}.tut-rubric-body{background:#f7f8fa;border:1px solid #eceef3;border-radius:8px;margin-top:7px;padding:10px 12px}.tut-rubric-warn{color:#7a4e00;background:#fdf0d4;border:1px solid #f0d9a4;border-radius:6px;margin:0 0 9px;padding:7px 9px;font-size:12.5px;line-height:1.5}.tut-rubric-rungs{margin:0;padding:0;list-style:none}.tut-rubric-rung{align-items:baseline;gap:8px;padding:3px 0;font-size:12.5px;line-height:1.5;display:flex}.tut-rubric-num{color:#3b4256;background:#e7eaf2;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.tut-rubric-title{color:var(--ink,#1a1c25)}.tut-rubric-aside{color:var(--muted,#6b6f80)}.tut-rubric-gates{border-top:1px solid #e6e9f0;margin:9px 0 0;padding:9px 0 0 17px}.tut-rubric-gates li{color:#3b4256;padding:2px 0;font-size:12.5px;line-height:1.5}.tut-recall-stem,.tut-recall-answer{white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.5}.tut-recall-fig{border:1px solid var(--border,#dfe1e8);border-radius:var(--r-md,10px);background:#fff;width:auto;max-width:100%;height:auto;max-height:300px;margin:0 0 8px;display:block}.tut-recall-muted{color:var(--muted,#6b6f80);font-style:italic}.tut-recall-photos{flex-wrap:wrap;gap:8px;display:flex}.tut-recall-thumb{cursor:pointer;background:#fff;border:1px solid #dfe2ea;border-radius:8px;width:88px;height:88px;padding:0;overflow:hidden}.tut-recall-thumb img{object-fit:cover;width:100%;height:100%;display:block}.tut-recall-lightbox{z-index:1000;cursor:zoom-out;background:#000c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tut-recall-lightbox img{object-fit:contain;border-radius:8px;max-width:92vw;max-height:92vh;transition:transform .18s}.tut-recall-lightbox img.is-quarter{max-width:92vh;max-height:92vw}.tut-recall-lightbox-tools{cursor:default;background:#141628b8;border-radius:999px;align-items:center;gap:8px;padding:7px 9px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.tut-recall-lightbox-tools button{color:#14161f;cursor:pointer;background:#ffffffeb;border:none;border-radius:999px;place-items:center;min-width:36px;height:36px;padding:0 10px;font-size:17px;line-height:1;display:grid}.tut-recall-lightbox-tools button:hover{background:#fff}.tut-recall-lightbox-tools .tut-recall-reset{font-size:12.5px;font-weight:600}.tut-recall-lightbox-close{cursor:pointer;background:#ffffffe6;border:none;border-radius:999px;width:40px;height:40px;font-size:18px;position:absolute;top:16px;right:20px}.tut-obs--corrected{border-left:3px solid var(--accent,#e8a33d);background:#fbfaf6}.tut-level--machine{color:var(--muted,#6b6f80);font-weight:600;text-decoration:line-through}.tut-level--tutor{color:#1d7a4d}.tut-obs-editbtn{color:#33364a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dfe2ea;border-radius:7px;padding:3px 9px;font-size:11.5px;font-weight:600}.tut-obs-editbtn:hover{border-color:var(--primary,#2f63ff);color:var(--primary,#2f63ff)}.tut-obs-overridereason{color:#5d4a1f;margin:6px 0 0;font-size:13px;font-style:italic;line-height:1.5}.tut-obs-edit{background:#fafbfd;border:1px solid #e6e8ef;border-radius:9px;flex-direction:column;gap:9px;margin-top:10px;padding:12px;display:flex}.tut-obs-editrow{flex-direction:column;gap:4px;display:flex}.tut-obs-editactions{flex-wrap:wrap;gap:8px;display:flex}.tut-btn{background:var(--primary,#2f63ff);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;padding:8px 15px;font-size:13px;font-weight:600;transition:filter .15s ease-out}.tut-btn:hover:not(:disabled){filter:brightness(1.06)}.tut-btn:disabled{opacity:.55;cursor:default}.tut-btn--ghost{color:#33364a;background:0 0;border:1px solid #dfe2ea}.tut-btn--ghost:hover:not(:disabled){border-color:var(--primary,#2f63ff);color:var(--primary,#2f63ff)}.tut-mastery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.tut-mastery-card{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:14px;padding:16px 18px}.tut-mastery-st{margin:2px 0 12px;font-size:16px;font-weight:650}.tut-levels{gap:10px;margin-bottom:12px;display:flex}.tut-axislevel{background:#f6f7fa;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:10px 8px;display:flex}.tut-axislabel{text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#6b6f80);font-size:11px;font-weight:600}.tut-axisnum{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);font-size:26px;font-weight:600;line-height:1}.tut-desc{color:#33364a;margin:0;font-size:13.5px;line-height:1.55}.tut-pending-body{padding:0 14px 14px}.tut-sitting-item{border-bottom:1px solid var(--line,#e4e6ee);padding:16px 0}.tut-sitting-item:last-of-type{border-bottom:none}.tut-sitting-st{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);color:#1e2033;margin:0 0 10px;font-size:15px;font-weight:600}.tut-sitting-actions{border-top:2px solid var(--line,#e4e6ee);flex-wrap:wrap;margin-top:16px;padding-top:16px}.tut-s2-cta{align-items:center;gap:10px;margin-top:12px;display:flex}.tut-assess-btn{background:var(--primary,#2f63ff);color:#fff;cursor:pointer;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;transition:filter .15s ease-out,transform .15s ease-out}.tut-assess-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.tut-assess-btn:disabled{opacity:.6;cursor:default}.tut-s2-drafting{margin-top:12px}.tut-s2-done{color:#1f7a4d;background:#e8f6ee;border-radius:9px;margin:12px 0 0;padding:10px 14px;font-size:13.5px;font-weight:600}.tut-s2{border:1px solid var(--line,#e4e6ee);background:#fbfbfd;border-radius:12px;flex-direction:column;gap:14px;margin-top:14px;padding:16px;display:flex}.tut-s2-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tut-s2-field{flex-direction:column;gap:6px;display:flex}.tut-s2-label{color:#33364a;font-size:12px;font-weight:600}.tut-s2-was{color:var(--muted,#6b6f80);font-weight:500}.tut-s2-proposed{color:var(--primary,#2f63ff);font-weight:500}.tut-s2-select,.tut-s2-textarea{border:1px solid var(--line,#d9dbe6);font:inherit;color:#1c1e2a;background:#fff;border-radius:8px;padding:8px 10px;font-size:13.5px}.tut-s2-textarea{resize:vertical;line-height:1.5}.tut-s2-readonly{background:#f6f7fa;border-radius:9px;flex-direction:column;gap:8px;padding:12px;display:flex}.tut-s2-why{border-left:3px solid var(--primary,#2f63ff)}.tut-s2-ro-row{gap:10px;font-size:12.5px;display:flex}.tut-s2-ro-key{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6f80);flex:0 0 96px;padding-top:2px;font-size:10.5px;font-weight:700}.tut-s2-ro-val{color:#33364a;flex:1;line-height:1.5}.tut-s2-flag{color:#9a5b00;background:#fff3e0;border-radius:6px;margin:0 5px 5px 0;padding:2px 7px;font-size:11.5px;display:inline-block}.tut-s2-ro-note{color:var(--muted,#6b6f80);font-size:11.5px}.tut-s2-log{font-size:12.5px}.tut-s2-log summary{cursor:pointer;color:var(--muted,#6b6f80);font-weight:600}.tut-s2-actions{align-items:center;gap:10px;display:flex}.tut-s2-redraft{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0 4px;display:flex}.tut-s2-redraft-btn{border:1px solid var(--line,#d9dbe6);color:#33364a;cursor:pointer;white-space:nowrap;background:#fff;border-radius:7px;padding:5px 11px;font-size:12.5px;font-weight:600}.tut-s2-redraft-btn:hover:not(:disabled){border-color:var(--primary,#2f63ff);color:var(--primary,#2f63ff)}.tut-s2-redraft-btn:disabled{opacity:.55;cursor:default}.tut-s2-redraft-hint{color:var(--muted,#6b6f80);font-size:12px}.tut-s2-cancel{border:1px solid var(--line,#d9dbe6);color:#33364a;cursor:pointer;background:#fff;border-radius:9px;padding:9px 14px;font-size:13px}.tut-s2-cancel:disabled{opacity:.6;cursor:default}.tut-sch-groups{flex-direction:column;gap:16px;display:flex}.tut-sch-group{border:1px solid var(--line,#d9dbe6);background:#fff;border-radius:12px;padding:14px 16px}.tut-sch-subject{color:#2a2d3d;margin-bottom:10px;font-size:14px;font-weight:700}.tut-sch-suggest{background:#eef4ff;border:1px solid #d4e2ff;border-radius:9px;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin-bottom:8px;padding:8px 11px;display:flex}.tut-sch-suggest-blocked{background:#f4f5f8;border-color:#e2e4ee}.tut-sch-suggest-label{text-transform:uppercase;letter-spacing:.04em;color:#3a63c0;font-size:10.5px;font-weight:700}.tut-sch-suggest-blocked .tut-sch-suggest-label{color:#6b6f80}.tut-sch-suggest-list{color:#33364a;font-size:12.5px;font-weight:600}.tut-sch-items{flex-direction:column;gap:6px;margin-top:4px;display:flex}.tut-sch-item{border:1px solid var(--line,#d9dbe6);border-radius:9px;align-items:center;gap:12px;padding:8px 11px;display:flex}.tut-sch-overdue{background:#fff6f4;border-color:#f0b4ad}.tut-sch-due-badge{text-align:center;color:#5a5e70;background:#eef0f3;border-radius:7px;flex:none;min-width:78px;padding:4px 8px;font-size:11px;font-weight:700}.tut-sch-due-badge-loud{color:#fff;background:#e5484d}.tut-sch-item-name{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tut-sch-st{color:#2a2d3d;font-size:13.5px;font-weight:600}.tut-sch-levels{color:#4a4e63;font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:700}.tut-sch-serve{text-transform:uppercase;letter-spacing:.03em;border-radius:7px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:700}.tut-sch-serve-mix{color:#1f7a44;background:#e7f3ec}.tut-sch-serve-block{color:#6b6f80;background:#f4f5f8}.tut-asg-compose{flex-direction:column;gap:8px;display:flex}.tut-asg-chips{flex-wrap:wrap;gap:6px;display:flex}.tut-asg-chip{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--page-bg);color:var(--ink-soft);cursor:pointer;padding:5px 10px;font-size:13px;font-weight:500;transition:border-color .15s ease-out,background .15s ease-out}.tut-asg-chip.is-on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-hover)}.tut-asg-chip:disabled{opacity:.6;cursor:default}.tut-asg-chip.is-assigned{opacity:1;border-style:dashed;border-color:var(--sage);background:var(--sage-soft);color:var(--ink-soft);align-items:center;gap:6px;display:inline-flex}.tut-asg-chip-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--sage);background:var(--surface);border-radius:var(--r-pill);padding:1px 6px;font-size:10px;font-weight:700}.tut-asg-btn{border-radius:var(--r-md);background:var(--primary);color:#fff;cursor:pointer;border:none;align-self:flex-start;padding:7px 14px;font-size:13px;font-weight:600;transition:background .15s ease-out}.tut-asg-btn:hover:not(:disabled){background:var(--primary-hover)}.tut-asg-btn:disabled{opacity:.5;cursor:default}.tut-asg-previews{flex-direction:column;gap:4px;margin-top:10px;display:flex}.tut-asg-preview-toggle{text-align:left;cursor:pointer;color:var(--ink,#1a1c25);background:0 0;border:none;padding:4px 0;font-size:12.5px;font-weight:600}.tut-asg-preview-hint{color:var(--muted,#6b6f80);font-weight:500}.tut-asg-preview-body{flex-direction:column;gap:8px;padding:6px 0 8px 14px;display:flex}.tut-asg-q{flex-direction:column;gap:5px;display:flex}.tut-asg-q-stem{white-space:pre-wrap;margin:0;font-size:13px;line-height:1.45}.tut-asg-q-num{color:var(--muted,#6b6f80);margin-right:2px;font-weight:700}.tut-asg-why{background:#f3f0fb;border:1px solid #e6e0f7;border-radius:8px;align-self:flex-start;max-width:100%;padding:5px 10px}.tut-asg-why-toggle{cursor:pointer;color:#5b46b8;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:600}.tut-asg-why-text{color:#453a63;white-space:pre-wrap;margin:6px 0 0;font-size:12.5px;line-height:1.5}.tut-asg-blocked{flex-direction:column;gap:10px;display:flex}.tut-asg-select{border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--ink);align-self:flex-start;padding:7px 10px;font-family:inherit;font-size:14px}.tut-asg-list{flex-direction:column;gap:10px;display:flex}.tut-asg-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);padding:12px 14px}.tut-asg-card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.tut-asg-mode{text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-pill);background:var(--primary-soft);color:var(--primary-hover);padding:2px 8px;font-size:11px;font-weight:700}.tut-asg-mode--blocked{background:var(--sage-soft);color:var(--ink-soft)}.tut-asg-scope{color:var(--ink);font-size:14px;font-weight:600}.tut-asg-progress{color:var(--ink-muted);margin-left:auto;font-size:13px}.tut-asg-progress.is-done{color:var(--sage);font-weight:600}.tut-asg-progress.is-cancelled{color:var(--ink-soft);font-style:italic;font-weight:600}.tut-asg-card-sts{flex-wrap:wrap;gap:6px;display:flex}.tut-asg-sttag{border-radius:var(--r-pill);background:var(--page-bg);border:1px solid var(--border);color:var(--ink-soft);padding:3px 8px;font-size:12px}.tut-asg-sttag--completed{border-color:var(--sage);color:var(--sage)}.tut-asg-sttag--active{border-color:var(--primary);color:var(--primary-hover)}.tut-rpt-list{flex-direction:column;gap:12px;display:flex}.tut-rpt-assemble{font-family:var(--font-body,Inter, sans-serif);border-radius:var(--r-pill,999px);border:1px solid var(--primary,#2f63ff);background:var(--primary,#2f63ff);color:#fff;cursor:pointer;align-self:flex-start;padding:8px 14px;font-size:14px;font-weight:600}.tut-rpt-assemble:hover{filter:brightness(1.05)}.tut-rpt-assemble:disabled{opacity:.55;cursor:default}.tut-rpt-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tut-rpt-row{border:1px solid var(--line,#d9dbe4);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.tut-rpt-row:hover{border-color:var(--primary,#2f63ff)}.tut-rpt-rowdate{color:var(--ink,#15162b);flex:1;font-size:14px}.tut-rpt-rowgo{color:var(--muted,#6b6f80)}.tut-rpt-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--r-pill,999px);border:1px solid var(--line,#d9dbe4);color:var(--muted,#6b6f80);background:var(--page,#eef0f3);padding:3px 9px;font-size:11.5px;font-weight:700}.tut-rpt-badge--published{border-color:var(--sage,#cfe3d0);color:#2f7a47;background:#eaf6ec}.tut-rpt-badge--draft{color:#9a6b1a;background:#fbf3e0;border-color:#e6c98a}.tut-rpt-review{flex-direction:column;gap:14px;display:flex}.tut-rpt-reviewhead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tut-rpt-frozen{color:var(--muted,#6b6f80);font-size:13px}.tut-rpt-metrics{flex-wrap:wrap;gap:10px;display:flex}.tut-rpt-stat{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:12px;min-width:92px;padding:10px 16px}.tut-rpt-statval{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);font-size:22px}.tut-rpt-statlabel{color:var(--muted,#6b6f80);font-size:12.5px}.tut-rpt-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.tut-rpt-card{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:12px;padding:14px}.tut-rpt-signoff{border-top:1px solid var(--line,#d9dbe4);flex-direction:column;gap:10px;padding-top:14px;display:flex}.tut-rpt-notelabel{color:var(--muted,#6b6f80);flex-direction:column;gap:6px;font-size:13.5px;display:flex}.tut-rpt-note{font-family:var(--font-body,Inter, sans-serif);color:var(--ink,#15162b);border:1px solid var(--line,#d9dbe4);resize:vertical;border-radius:10px;padding:10px 12px;font-size:14px}.tut-rpt-publish{font-family:var(--font-body,Inter, sans-serif);border-radius:var(--r-pill,999px);color:#fff;cursor:pointer;background:#2f7a47;border:1px solid #2f7a47;align-self:flex-start;padding:10px 18px;font-size:14.5px;font-weight:700}.tut-rpt-publish:hover{filter:brightness(1.05)}.tut-rpt-publish:disabled{opacity:.55;cursor:default}.tut-rpt-published{border-top:1px solid var(--line,#d9dbe4);padding-top:12px}.tut-tabs{z-index:5;background:var(--page,#eef0f3);flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:8px 0 14px;display:flex;position:sticky;top:0}.tut-tab{font-family:var(--font-body,Inter, sans-serif);color:var(--muted,#6b6f80);border-radius:var(--r-pill,999px);border:1px solid var(--line,#d9dbe4);cursor:pointer;background:#fff;align-items:center;gap:7px;padding:8px 16px;font-size:14.5px;font-weight:600;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.tut-tab:hover{color:var(--ink,#15162b);border-color:#c3c6d4}.tut-tab.is-active{color:#fff;background:var(--primary,#2f63ff);border-color:var(--primary,#2f63ff)}.tut-tab-badge{background:var(--lilac,#e3def7);color:#4b3ea8;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:11.5px;font-weight:700;display:inline-flex}.tut-tab.is-active .tut-tab-badge{color:#fff;background:#ffffff47}.tut-boardswitch-row{justify-content:center;padding:2px 0 18px;display:flex}.tut-boardswitch{background:var(--surface-sunk,#e7e9f0);border:1px solid var(--line,#d9dbe4);border-radius:var(--r-pill,999px);gap:2px;padding:4px;display:inline-flex}.tut-boardswitch-opt{border-radius:var(--r-pill,999px);font-family:var(--font-body,Inter, sans-serif);color:var(--muted,#6b6f80);cursor:pointer;background:0 0;border:none;padding:8px 22px;font-size:14px;font-weight:600;transition:color .12s,background .12s,box-shadow .12s}.tut-boardswitch-opt:hover{color:var(--ink,#15162b)}.tut-boardswitch-opt.is-on{color:var(--primary,#2f63ff);background:var(--surface,#fff);box-shadow:0 1px 3px #141e3c1f}.tut-header-actions{align-items:center;gap:12px;display:flex}.tut-mode-switch{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:999px;gap:2px;padding:3px;display:inline-flex}.tut-mode-pill{cursor:pointer;color:var(--muted,#6b6f80);font-size:14px;font-weight:600;font-family:var(--font-body,Inter, sans-serif);background:0 0;border:none;border-radius:999px;padding:6px 16px}.tut-mode-pill--on{background:var(--primary,#2f63ff);color:#fff}.tut-auth{max-width:920px}.tut-auth-saved{background:var(--sage,#cfe3d0);color:#1f4d33;border-radius:10px;margin:8px 0;padding:8px 14px;font-size:14px;font-weight:600}.tut-auth-controls{flex-wrap:wrap;gap:14px;margin:16px 0 10px;display:flex}.tut-auth-field{flex-direction:column;flex:1;gap:5px;min-width:220px;display:flex}.tut-auth-field--narrow{flex:0 0 130px;min-width:110px}.tut-auth-field--wide{min-width:100%;margin-bottom:6px}.tut-auth-field>span{color:var(--muted,#6b6f80);font-size:12.5px;font-weight:600}.tut-auth-num,.tut-auth-intent{border:1px solid var(--line,#d9dbe4);font-size:14.5px;font-family:var(--font-body,Inter, sans-serif);color:var(--ink,#15162b);background:#fff;border-radius:10px;padding:9px 12px}.tut-auth-intent{resize:vertical}.tut-auth-actions{align-items:center;gap:14px;margin:6px 0 4px;display:flex}.tut-auth-draft{font-size:15px}.tut-auth-cards{flex-direction:column;flex:1;gap:11px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.tut-auth-card{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:12px;flex-direction:column;gap:9px;padding:11px 14px;display:flex}.tut-auth-cardhead{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.tut-auth-num-badge{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);background:var(--lilac,#e3def7);color:#4b3ea8;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:600}.tut-auth-axis{flex:0 0 150px}.tut-auth-rubric{color:var(--muted,#6b6f80);letter-spacing:.2px;margin-left:auto;font-size:12.5px;font-weight:600}.tut-auth-cardfield{flex-direction:column;gap:3px;display:flex}.tut-auth-cardfield>span{color:var(--muted,#6b6f80);font-size:12.5px;font-weight:600}.tut-auth-ta{border:1px solid var(--line,#d9dbe4);font-size:14.5px;line-height:1.45;font-family:var(--font-body,Inter, sans-serif);color:var(--ink,#15162b);resize:vertical;background:#fff;border-radius:9px;padding:7px 10px}.tut-auth-preview{border:1px dashed var(--line,#d9dbe4);background:var(--page,#f7f8fa);border-radius:8px;align-items:baseline;gap:8px;padding:7px 10px;display:flex}.tut-auth-preview-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6f80);flex:none;font-size:10.5px;font-weight:700}.tut-auth-preview-body{color:var(--ink,#15162b);font-size:14.5px;line-height:1.6;overflow-x:auto}.tut-auth-pedagogy{border:1px dashed var(--line,#d9dbe4);border-left:3px solid var(--primary,#4956e3);background:var(--page,#f7f8fa);border-radius:8px;gap:4px;padding:8px 12px;display:grid}.tut-auth-pedagogy-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--primary,#4956e3);font-size:10.5px;font-weight:700}.tut-auth-pedagogy-intent{color:var(--ink,#15162b);margin:0;font-size:13.5px;line-height:1.55}.tut-auth-pedagogy-rubric{color:var(--muted,#6b6f80);margin:0;font-size:12px;line-height:1.5}.tut-auth-intent-read,.tut-auth-honest{color:var(--muted,#6b6f80);border-top:1px dashed var(--line,#e4e6ee);padding-top:9px;font-size:13px;line-height:1.5}.tut-auth-intent-label{color:var(--ink,#15162b);text-transform:uppercase;letter-spacing:.4px;margin-right:4px;font-size:11px;font-weight:700}.tut-auth-savebar{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.tut-auth-figstrip{border-radius:var(--r-pill,999px);border:1px solid #0000;flex:none;align-self:flex-start;align-items:center;gap:9px;width:fit-content;margin-bottom:4px;padding:7px 8px 7px 13px;font-size:12.5px;font-weight:600;display:flex}.tut-auth-figstrip.is-todo{background:var(--warning-soft,#fef3c7);border-color:var(--warning,#f59e0b);color:var(--warning-text,#92400e)}.tut-auth-figstrip.is-busy{background:var(--primary-soft,#e0e7ff);border-color:var(--primary,#6366f1);color:var(--primary-text,#4338ca)}.tut-auth-figstrip.is-fail{background:var(--error-soft,#fee2e2);border-color:var(--error,#ef4444);color:var(--error-text,#dc2626)}.tut-auth-figstrip.is-ready{background:var(--success-soft,#dcfce7);border-color:var(--success,#22c55e);color:var(--success-text,#15803d)}.tut-auth-figdot{background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.tut-auth-figtext{white-space:nowrap}.tut-auth-figchips{opacity:.78;white-space:nowrap;align-items:center;gap:7px;font-weight:500;display:flex}.tut-auth-figchip+.tut-auth-figchip:before{content:"·";opacity:.6;margin-right:7px}.tut-auth-drawall{background:var(--surface,#fff);color:inherit;border-radius:var(--r-pill,999px);cursor:pointer;white-space:nowrap;border:1px solid;flex:none;margin-left:auto;padding:5px 13px;font-size:12px;font-weight:700}.tut-auth-drawall:hover:not(:disabled){background:var(--page-bg,#f5f2ed)}.tut-auth-drawall:disabled{opacity:.55;cursor:not-allowed}.tut-auth-assign{color:var(--text-muted,#667);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:.85rem;display:inline-flex}.tut-auth-assign input{cursor:pointer;margin:0}.tut-auth-split{color:var(--text-muted,#667);align-items:center;gap:14px;margin-right:auto;font-size:.85rem;display:inline-flex}.tut-auth-split-opt{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.tut-auth-split-opt input{cursor:pointer;margin:0}.tut-chat-start{flex-direction:column;align-items:flex-start;gap:14px;max-width:560px;display:flex}.tut-chat-vendorpick{align-items:center;gap:12px;display:flex}.tut-chat-vendorlabel{color:var(--ink-soft);font-size:13px}.tut-chat-vendortoggle{background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px;display:inline-flex}.tut-chat-vendoropt{border-radius:var(--r-pill);font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:7px 18px;font-size:14px;font-weight:600}.tut-chat-vendoropt.is-on{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #141e3c1a}.tut-chat-vendoropt:disabled{cursor:default;opacity:.6}.tut-chat-chapterpick{align-items:center;gap:12px;display:flex}.tut-chat-chapterpick .tut-asg-select{min-width:280px}.tut-chat-startbtn{align-self:flex-start}.tut-chat{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.tut-chat-split{flex:1;gap:14px;min-height:0;display:flex}.tut-chat-main{flex-direction:column;flex:1;gap:14px;min-width:0;min-height:0;display:flex}.tut-chat-canvas{background-color:var(--surface);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);border:1px solid var(--border);border-radius:var(--r-card);background-size:22px 22px;flex-direction:column;flex:1;gap:12px;min-height:0;padding:22px 18px;display:flex;position:relative;overflow-y:auto}.tut-chat-vendorchip{letter-spacing:.04em;text-transform:uppercase;color:var(--primary);background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 11px;font-size:11px;font-weight:700}.tut-chat-hint{text-align:center;max-width:420px;color:var(--ink-muted);margin:auto;font-size:14px}.tut-chat-row{display:flex}.tut-chat-row--tutor{justify-content:flex-end}.tut-chat-row--ai{justify-content:flex-start}.tut-chat-bubble{white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:76%;padding:11px 15px;font-size:15px;line-height:1.5}.tut-chat-bubble--ai{color:var(--ink,#1f2545);white-space:normal;background:0 0;border-radius:0;max-width:100%;padding:2px 0}.tut-chat-bubble--tutor{background:var(--lilac);color:#2c2640;border-bottom-right-radius:5px}.tut-chat-typing{color:#4a4a6a;font-style:italic}.tut-chat-inputbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:10px 12px;display:flex;box-shadow:0 2px 10px #141e3c0d}.tut-chat-input{resize:none;width:100%;font:inherit;color:var(--ink);background:0 0;border:none;outline:none;padding:6px 4px;font-size:15px;line-height:1.5}.tut-chat-controls{align-items:center;gap:10px;display:flex}.tut-chat-spacer{flex:1}.tut-chat-opts{flex:none;position:relative}.tut-chat-opts-trigger{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);font:inherit;color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.tut-chat-opts-trigger:hover:not(:disabled),.tut-chat-opts-trigger.is-open{border-color:var(--primary);color:var(--primary)}.tut-chat-opts-trigger:disabled{cursor:default;opacity:.6}.tut-chat-opts-caret{font-size:11px;line-height:1}.tut-chat-opts-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);min-width:300px;padding:6px;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 10px 30px #141e3c29}.tut-chat-opts-item{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 30px 9px 10px;display:block;position:relative}.tut-chat-opts-item:hover:not(:disabled){background:var(--surface-sunk)}.tut-chat-opts-item:disabled{cursor:default;opacity:.5}.tut-chat-opts-label{color:var(--ink);font-size:14px;font-weight:600;display:block}.tut-chat-opts-sub{color:var(--ink-soft);margin-top:2px;font-size:12px;line-height:1.35;display:block}.tut-chat-opts-check{color:var(--primary);font-size:13px;font-weight:700;position:absolute;top:10px;right:10px}.tut-chat-opts-divider{background:var(--border);height:1px;margin:6px 4px}.tut-chat-send{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:16px;display:grid}.tut-chat-send:hover:not(:disabled){background:var(--primary-hover)}.tut-chat-send:disabled{background:var(--border);cursor:default}.tut-chat-topbar{flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.tut-chat-scope{align-items:center;gap:10px;min-width:0;display:flex}.tut-chat-scopechap{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.tut-chat-newbtn{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font:inherit;color:var(--ink-soft);cursor:pointer;flex:none;padding:6px 14px;font-size:13px;font-weight:600}.tut-chat-newbtn:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.tut-chat-newbtn:disabled{opacity:.5;cursor:default}.tut-chat-fsbtn{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font:inherit;color:var(--ink-soft);cursor:pointer;flex:none;padding:6px 14px;font-size:13px;font-weight:600}.tut-chat-fsbtn:hover{color:var(--primary);border-color:var(--primary)}.tut-chat-fsbtn[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}.tut-chat-authmeta{font-size:13px}.tut-chat-consent{border:1px solid var(--primary);background:var(--surface);border-radius:var(--r-card);flex-direction:column;align-self:stretch;gap:8px;padding:14px 16px;display:flex;box-shadow:0 2px 12px #2563eb1a}.tut-chat-consent-head{letter-spacing:.05em;text-transform:uppercase;color:var(--primary);font-size:11px;font-weight:700}.tut-chat-consent-age{letter-spacing:.02em;text-transform:none;color:var(--muted);margin-left:8px;font-weight:600}.tut-chat-consent-target{color:var(--ink);font-size:16px;font-weight:700}.tut-chat-consent-why{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.5}.tut-chat-consent-actions{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.tut-chat-consent-count{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.tut-chat-consent-count input{border:1px solid var(--border);border-radius:var(--r-md);width:72px;font:inherit;box-sizing:border-box;padding:7px 10px;font-size:14px}.tut-chat-consent-dismiss{font:inherit;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;padding:8px 4px;font-size:13px;font-weight:600}.tut-chat-consent-dismiss:hover:not(:disabled){color:var(--ink)}.tut-chat-plan{box-sizing:border-box;background:var(--primary-soft,#e2e9ff);min-width:0;max-width:100%;color:var(--ink);border:1px solid #2f63ff2e;border-radius:16px;flex-direction:column;align-self:stretch;gap:9px;padding:13px 16px;font-size:15px;line-height:1.5;display:flex}.tut-chat-plan-head{letter-spacing:.05em;text-transform:uppercase;color:var(--primary);overflow-wrap:anywhere;font-size:11px;font-weight:700}.tut-chat-plan-read{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:14.5px;line-height:1.55}.tut-chat-plan-items{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.tut-chat-plan-item{border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:3px;min-width:0;padding:9px 12px;font-size:13.5px;line-height:1.5;display:flex}.tut-chat-plan-item-head{flex-wrap:wrap;align-items:baseline;gap:7px;min-width:0;display:flex}.tut-chat-plan-n{background:var(--primary);color:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10.5px;font-weight:800;display:inline-flex}.tut-chat-plan-axis{text-align:center;letter-spacing:.04em;background:var(--surface);border:1px solid var(--border);min-width:26px;color:var(--ink-soft);border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-weight:800}.tut-chat-plan-axis--conceptual{border-color:var(--primary);color:var(--primary)}.tut-chat-plan-axis--procedural{border-color:var(--accent,var(--ink-soft));color:var(--accent,var(--ink-soft))}.tut-chat-plan-kind{color:var(--ink);overflow-wrap:anywhere;min-width:0;font-weight:700}.tut-chat-plan-intent{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;line-height:1.5}.tut-chat-plan-dial{color:var(--ink-muted);overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.tut-chat-plan-asks{background:var(--surface);border-radius:var(--r-md);color:var(--ink-soft);overflow-wrap:anywhere;border:1px dashed #2f63ff59;padding:8px 12px;font-size:13px;line-height:1.5}.tut-chat-plan-asks-head{color:var(--ink);margin-bottom:4px;font-weight:700}.tut-chat-plan-asks ul{margin:0;padding-left:18px}.tut-chat-plan-amend{flex-direction:column;gap:8px;display:flex}.tut-chat-plan-amendbox{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-md);width:100%;font:inherit;resize:vertical;padding:9px 11px;font-size:14px;line-height:1.45}.tut-chat-plan-amendbox:focus{border-color:var(--primary);outline:none}.tut-chat-planfirst{color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.tut-chat-planfirst input{cursor:pointer;margin:0}.tut-chat-planfirst:has(input:disabled){opacity:.5;cursor:default}.tut-chat-settoggle{flex:none}.tut-chat-settoggle .tut-chat-vendoropt{padding:4px 10px;font-size:12px}.tut-chat-set-picks{flex-direction:column;gap:6px;margin:2px 0 4px;display:flex}.tut-chat-set-pick{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunk);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.tut-chat-set-pick-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tut-chat-set-pick-name{color:var(--ink);font-size:13px;font-weight:600}.tut-chat-set-pick-count{color:var(--muted,#6b6f80);flex-shrink:0;font-size:11.5px;font-weight:600}.tut-chat-set-pick-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.tut-chat-set-pick-item{align-items:baseline;gap:8px;font-size:12.5px;line-height:1.4;display:flex}.tut-chat-set-pick-item .tut-axis{flex-shrink:0}.tut-chat-item-intent{color:var(--ink);flex:1}.tut-chat-item-diff{color:var(--muted,#6b6f80);flex-shrink:0;font-size:11px;font-style:italic}.tut-chat-set-pick-noplan{color:var(--muted,#6b6f80);margin:0;font-size:12.5px;font-style:italic}.tut-chat-set-failures{border:1px solid var(--yellow);border-radius:var(--r-md);background:color-mix(in srgb, var(--yellow) 18%, transparent);color:var(--ink);margin:0 0 4px;padding:8px 12px;font-size:13px;line-height:1.45}.tut-auth-group{flex-direction:column;gap:12px;display:flex}.tut-auth-group+.tut-auth-group{border-top:1px dashed var(--border);margin-top:8px;padding-top:16px}.tut-auth-group-head{color:var(--primary);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.tut-auth-group-count{border-radius:var(--r-pill);background:color-mix(in srgb, var(--primary) 12%, transparent);justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.tut-auth-groupcards{flex-direction:column;gap:12px;display:flex}.tut-auth-cardrow{align-items:flex-start;gap:8px;display:flex}.tut-auth-cardrow-body{flex:1;min-width:0}.tut-auth-grip{width:20px;height:24px;color:var(--ink-muted);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;margin-top:2px;padding:0;font-size:17px;line-height:1;display:inline-flex}.tut-auth-grip:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 10%, transparent);color:var(--primary)}.tut-auth-grip:active:not(:disabled){cursor:grabbing}.tut-auth-grip:disabled{opacity:.3;cursor:default}.tut-auth-group-head .tut-auth-grip{margin-top:0}.tut-auth-fold{display:contents}.tut-auth-fold.is-collapsed{display:none}.tut-auth-foldbtn{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:8px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.tut-auth-foldbtn:hover{background:color-mix(in srgb, var(--primary) 8%, transparent)}.tut-auth-foldbtn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.tut-auth-foldbtn--card{flex:none}.tut-auth-foldname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tut-auth-caret{width:12px;color:var(--ink-muted);flex:none;font-size:15px;line-height:1;transition:transform .12s}.tut-auth-caret.is-open{transform:rotate(90deg)}.tut-auth-foldbtn:hover .tut-auth-caret{color:var(--primary)}.tut-auth-group.is-folded{gap:0}.tut-auth-group.is-folded+.tut-auth-group.is-folded{margin-top:0;padding-top:10px}.tut-auth-card.is-folded{background:color-mix(in srgb, var(--primary) 3%, #fff);gap:6px;padding:8px 12px}.tut-auth-foldpeek{-webkit-line-clamp:2;line-clamp:2;max-height:2.9em;color:var(--ink);cursor:default;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.tut-auth-foldpeek-empty{color:var(--ink-muted);font-style:italic}.tut-auth-verify{border-radius:var(--r-pill,999px);border:1px solid var(--border,#e4e6ec);color:var(--ink-soft,#4a4c66);cursor:pointer;white-space:nowrap;background:#fff;flex:none;margin-left:auto;padding:4px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.tut-auth-verify:hover:not(:disabled){border-color:var(--success,#22c55e);color:var(--success-text,#15803d)}.tut-auth-verify.is-on{background:var(--success-soft,#dcfce7);border-color:var(--success,#22c55e);color:var(--success-text,#15803d)}.tut-auth-verify.is-blocked{cursor:default;font-weight:600}.tut-auth-verify.is-todo{background:var(--warning-soft,#fef3c7);border-color:var(--warning,#f59e0b);color:var(--warning-text,#92400e)}.tut-auth-verify.is-busy{background:var(--primary-soft,#e2e9ff);border-color:var(--primary,#2f63ff);color:var(--primary-text,#4338ca)}.tut-auth-verify.is-fail{background:var(--error-soft,#fee2e2);border-color:var(--error,#ef4444);color:var(--error-text,#dc2626)}.tut-auth-verify:disabled:not(.is-blocked){opacity:.5;cursor:default}.tut-auth-verify+.tut-auth-discard{margin-left:0}.tut-auth-card.is-verified{border-color:var(--success,#22c55e);background:color-mix(in srgb, var(--success,#22c55e) 6%, #fff)}.tut-auth-card.is-verified.is-folded{background:var(--success-soft,#dcfce7)}.tut-auth-earlier{border-top:1px dashed var(--border,#d8dae0);margin-top:14px;padding-top:12px}.tut-auth-earlier-toggle{text-align:left;width:100%;font:inherit;color:var(--text-muted,#667);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600;display:block}.tut-auth-earlier-toggle:hover{color:var(--primary)}.tut-auth-earlier-note{color:var(--text-muted,#667);margin:2px 0 10px;font-size:12px}.tut-chat-suggest{border:1px solid var(--primary);background:var(--surface);color:var(--primary);border-radius:var(--r-pill);font:inherit;white-space:nowrap;cursor:pointer;flex:none;padding:8px 14px;font-size:13px;font-weight:600}.tut-chat-suggest:hover:not(:disabled){background:var(--primary);color:#fff}.tut-chat-suggest:disabled{opacity:.45;cursor:default}.tut-auth-minichat{border-top:1px dashed var(--border);gap:8px;margin-top:4px;padding-top:10px;display:flex}.tut-auth-minichat-input{border:1px solid var(--border);border-radius:var(--r-md);min-width:0;font:inherit;background:var(--surface-sunk);flex:1;padding:8px 11px;font-size:13px}.tut-auth-minichat-btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);font:inherit;color:var(--ink-soft);cursor:pointer;flex:none;padding:8px 14px;font-size:13px;font-weight:600}.tut-auth-minichat-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.tut-auth-minichat-btn:disabled{opacity:.5;cursor:default}.tut-chat-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);flex-direction:column;flex:0 0 44%;gap:12px;min-width:0;min-height:0;padding:16px;display:flex}.tut-chat-preview.is-hidden{display:none}.tut-chat-preview-head{flex:none;align-items:flex-start;gap:10px;display:flex}.tut-chat-preview-title{color:var(--ink-soft);flex:1;font-size:13px;font-weight:600;line-height:1.45}.tut-chat-preview-min{border:1px solid var(--border);background:var(--surface-sunk);color:var(--ink-soft);border-radius:var(--r-pill);cursor:pointer;flex:none;padding:4px 12px;font-size:12.5px;font-weight:600}.tut-chat-preview-min:hover{background:var(--border)}.tut-auth-savebar{flex:none}.tut-chat-preview-chip{border:1px solid var(--primary);background:var(--surface);color:var(--primary);border-radius:var(--r-pill);cursor:pointer;padding:4px 13px;font-size:12.5px;font-weight:700}.tut-chat-preview-chip:hover{background:var(--surface-sunk)}.tut-chat-inputbar{box-shadow:0 6px 22px #141e3c1f}@media (width<=880px){.tut-chat-split.is-split{flex-direction:column}.tut-chat-preview{flex:none;max-height:46vh}}.tut-authwrap{flex-direction:column;gap:12px;height:calc(100dvh - 280px);min-height:460px;display:flex}.tut-authwrap.is-fullscreen{z-index:1200;background:var(--page,#eef0f3);height:100dvh;min-height:0;margin:0;padding:14px 20px 18px;position:fixed;inset:0;overflow:hidden}.tut-auth-modes{background:#e8eaef;border-radius:10px;align-self:flex-start;gap:4px;padding:3px;display:inline-flex}.tut-auth-mode{cursor:pointer;color:var(--ink-soft,#45485c);background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:6px 14px;font-size:13.5px;font-weight:600;display:inline-flex}.tut-auth-mode:hover{color:var(--ink,#15162b)}.tut-auth-mode.is-on{color:var(--ink,#15162b);background:#fff;box-shadow:0 1px 3px #141e3c1a}.tut-auth-mode-count{text-align:center;min-width:20px;color:var(--ink-soft,#45485c);background:#dfe3ea;border-radius:999px;padding:0 7px;font-size:12px;font-weight:700}.tut-auth-mode.is-on .tut-auth-mode-count{color:var(--primary,#2f63ff);background:#eef2ff}.tut-saved-lede{color:var(--muted,#6b6f80);margin:0 0 12px;font-size:13px}.tut-authored{flex-direction:column;flex:1;min-height:0;display:flex}.tut-authored .tut-saved-lede{flex:none}.tut-authored-split{flex:1;align-items:stretch;gap:16px;min-height:0;display:flex}.tut-authored-nav{flex-direction:column;flex:0 0 240px;gap:4px;display:flex;overflow-y:auto}.tut-authored-navitem{text-align:left;color:var(--ink-soft,#45485c);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex}.tut-authored-navitem:hover{background:var(--surface-sunk,#f0f1f6)}.tut-authored-navitem.is-on{background:var(--surface,#fff);border-color:var(--primary);color:var(--primary);font-weight:700}.tut-authored-navname{flex:1;min-width:0}.tut-authored-navcount{color:var(--muted,#6b6f80);background:var(--surface-sunk,#f0f1f6);border-radius:var(--r-pill,999px);flex:none;padding:1px 8px;font-size:11.5px;font-weight:700}.tut-authored-navitem.is-on .tut-authored-navcount{color:var(--primary);background:var(--lilac,#e3def7)}.tut-authored-detail{flex:1;min-width:0;min-height:0;padding-right:4px;overflow-y:auto}.tut-authored-chaptitle{color:var(--ink,#23252f);margin:2px 0 12px;font-size:15px;font-weight:700}.tut-authored-topic{border:1px solid var(--border);background:var(--surface,#fff);border-radius:12px;margin-bottom:10px;overflow:hidden}.tut-authored-topichead{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:12px 14px;list-style:none;display:flex}.tut-authored-topichead::-webkit-details-marker{display:none}.tut-authored-topichead:before{content:"▸";color:var(--muted,#6b6f80);font-size:12px;transition:transform .15s ease-out}.tut-authored-topic[open]>.tut-authored-topichead:before{transform:rotate(90deg)}.tut-authored-topicname{min-width:0;color:var(--ink,#23252f);flex:1;font-size:13.5px;font-weight:600}.tut-authored-topiccount{color:var(--muted,#6b6f80);flex:none;font-size:12px}.tut-authored-topicbody{border-top:1px solid var(--border);padding:4px 14px 14px}.tut-authored-sub{margin-top:12px}.tut-authored-subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6f80);margin:0 0 8px;font-size:12px;font-weight:600}@media (width<=880px){.tut-authored-split{flex-direction:column}.tut-authored-nav{flex:none;width:100%;overflow-y:visible}.tut-authored-detail{overflow-y:visible}}.tut-saved-body{padding:2px}.tut-saved-empty{padding:6px 8px}.tut-saved-group{margin-bottom:14px}.tut-saved-grouphead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#6b6f80);margin:6px 0 8px;font-size:12px;font-weight:600}.tut-saved-q{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:8px;padding:12px 14px}.tut-saved-qhead{gap:8px;margin-bottom:6px;display:flex}.tut-saved-axis{text-transform:capitalize;color:var(--primary,#2f63ff);background:#eef2ff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.tut-saved-fig{color:var(--ink-soft,#45485c);background:#f2ecff;border-radius:999px;padding:1px 8px;font-size:11px}.tut-saved-badge{border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.tut-saved-badge--pass{color:#146c43;background:#d1f0dd}.tut-saved-badge--fail{color:#b02a37;background:#f9d7db}.tut-saved-badge--error{color:#9a6700;background:#fdefc7}.tut-saved-badge--pending{color:#45485c;background:#ececf2}.tut-saved-thumb{border:1px solid var(--border,#e3e3ee);background:#fff;border-radius:8px;width:auto;max-width:220px;height:auto;max-height:220px;margin:0 0 8px;display:block}.tut-saved-stem{color:var(--ink,#15162b);margin:0 0 8px;font-size:14px;line-height:1.5}.tut-saved-ref{font-size:13.5px}.tut-saved-ref summary{cursor:pointer;color:var(--ink-soft,#45485c);font-weight:500}.tut-saved-ref p{color:var(--ink-soft,#45485c);margin:8px 0 0;line-height:1.5}.tut-saved-expl{border-top:1px dashed var(--border);padding-top:8px;font-style:italic}.tut-chat-md>:first-child{margin-top:0}.tut-chat-md>:last-child{margin-bottom:0}.tut-chat-md p{margin:0 0 8px;line-height:1.55}.tut-chat-md strong{font-weight:700}.tut-chat-md em{font-style:italic}.tut-chat-md ul,.tut-chat-md ol{margin:4px 0 10px;padding-left:20px}.tut-chat-md li{margin:2px 0;line-height:1.5}.tut-chat-md h1,.tut-chat-md h2,.tut-chat-md h3{margin:10px 0 6px;font-size:14.5px;font-weight:700}.tut-chat-md code{background:#141e3c0f;border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.tut-chat-md a{color:var(--primary,#2f63ff);text-decoration:underline}.tut-chat-md table{border-collapse:collapse;width:max-content;max-width:100%;margin:8px 0 10px;font-size:13.5px;line-height:1.45;display:block;overflow-x:auto}.tut-chat-md th,.tut-chat-md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.tut-chat-md thead th{color:var(--ink,#15162b);white-space:nowrap;background:#f6f7fa;font-weight:700}.tut-chat-actions{align-items:center;gap:8px;display:flex}.tut-chat-start-hist{justify-content:flex-end;margin-bottom:4px;display:flex}.tut-hist{position:relative}.tut-hist-btn{border:1px solid var(--border);color:var(--ink-soft,#45485c);font:inherit;cursor:pointer;background:#fff;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.tut-hist-btn:hover{color:var(--ink,#15162b);background:#f6f7fa}.tut-hist-icon{font-size:12px}.tut-hist-scrim{z-index:20;position:fixed;inset:0}.tut-hist-menu{z-index:21;border:1px solid var(--border);background:#fff;border-radius:12px;width:320px;max-height:380px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 30px #141e3c24}.tut-hist-empty{color:var(--muted,#6b6f80);margin:0;padding:14px;font-size:13.5px}.tut-hist-row{text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;border:none;border-radius:9px;padding:10px 11px;display:block}.tut-hist-row:hover{background:#f6f7fa}.tut-hist-row.is-active{cursor:default;background:#eef2ff}.tut-hist-row-top{align-items:center;gap:8px;margin-bottom:3px;display:flex}.tut-hist-vendor{text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#2f63ff);background:#eef2ff;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.tut-hist-chap{color:var(--ink,#15162b);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tut-hist-current{text-transform:uppercase;color:#1d7a4d;background:#d8efe0;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10.5px;font-weight:700}.tut-hist-row-meta{color:var(--muted,#6b6f80);margin-bottom:3px;font-size:12px}.tut-hist-preview{color:var(--ink-soft,#45485c);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.tut-auth-fig{border-top:1px dashed var(--line,#e4e6ee);flex-direction:column;gap:9px;padding-top:11px;display:flex}.tut-auth-fig-add{border:1px dashed var(--line,#cfd2df);color:var(--muted,#6b6f80);cursor:pointer;background:0 0;border-radius:9px;align-self:flex-start;padding:6px 12px;font-size:13px;font-weight:600}.tut-auth-fig-add:hover:not(:disabled){color:var(--ink,#15162b);border-color:var(--muted,#9a9db0)}.tut-auth-fig-add:disabled{opacity:.5;cursor:default}.tut-auth-fig-head{text-transform:uppercase;letter-spacing:.4px;color:var(--muted,#6b6f80);align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.tut-auth-fig-gen{text-transform:none;letter-spacing:0;color:var(--muted,#6b6f80);font-size:12.5px;font-weight:500}.tut-auth-fig-spec{flex-direction:column;gap:8px;display:flex}.tut-auth-fig-cols{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tut-auth-fig-field{flex-direction:column;gap:4px;display:flex}.tut-auth-fig-field>span{color:var(--muted,#6b6f80);font-size:12px;font-weight:600}.tut-auth-fig-preview{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:10px;padding:8px}.tut-auth-fig-preview img{width:auto;max-width:100%;height:auto;max-height:360px;margin:0 auto;display:block}.tut-auth-fig-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tut-auth-fig-btn{background:var(--lilac,#e3def7);color:#4b3ea8;cursor:pointer;border:none;border-radius:9px;padding:7px 14px;font-size:13px;font-weight:600}.tut-auth-fig-btn:hover:not(:disabled){filter:brightness(.96)}.tut-auth-fig-btn:disabled{opacity:.5;cursor:default}.tut-auth-fig-link{color:var(--muted,#6b6f80);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.tut-auth-fig-link:hover:not(:disabled){color:var(--ink,#15162b)}.tut-auth-fig-link:disabled{opacity:.5;cursor:default}.tut-auth-fig-override{color:#1e7d43}.tut-auth-fig-override:hover:not(:disabled){color:#14522c}.tut-auth-fig-regen{flex-direction:column;gap:8px;display:flex}.tut-auth-fig-err{margin:0}.tut-auth-fig-elapsed{font-variant-numeric:tabular-nums;color:var(--ink-soft,#45485c);margin-left:6px}.tut-auth-fig-preview--stale{opacity:.45;transition:opacity .16s}.tut-figfail{margin:0 0 8px}.tut-figfail-line{color:#b02a37;margin:0;font-size:13px;line-height:1.5}.tut-figfail--note .tut-figfail-line{color:var(--ink-soft,#45485c)}.tut-figfail-details{margin-top:4px;font-size:12px}.tut-figfail-details summary{cursor:pointer;color:var(--muted,#6b6f80);font-weight:500}.tut-figfail-details pre{white-space:pre-wrap;word-break:break-word;max-height:180px;color:var(--ink-soft,#45485c);border:1px solid var(--border,#e3e3ee);background:#f6f6fa;border-radius:8px;margin:6px 0 0;padding:8px;font-size:11.5px;line-height:1.45;overflow:auto}.tut-auth-discard{color:#b02a37;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0;font-size:12.5px;font-weight:600}.tut-auth-discard:hover:not(:disabled){text-decoration:underline}.tut-auth-discard:disabled{opacity:.5;cursor:default}.tut-author-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.tut-author-head-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.tut-btn-primary{background:var(--primary,#2f63ff);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:9px;padding:9px 16px;font-size:13px;font-weight:600;transition:filter .15s ease-out,transform .15s ease-out}.tut-btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.tut-pt-legend{color:var(--muted,#6b6f80);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:10px;font-size:12.5px;display:flex}.tut-pt-legend span{align-items:center;gap:6px;display:inline-flex}.tut-pt-swatch{border-radius:3px;width:11px;height:11px;display:inline-block}.tut-pt-c-bg{background:var(--primary,#2f63ff)}.tut-pt-p-bg{background:var(--accent,#e87b35)}.tut-pt-legend-note{font-style:italic}.tut-pt-node{border:1px solid var(--line,#e4e6ee);background:var(--surface,#fff);border-radius:10px}.tut-pt-chlist{flex-direction:column;gap:8px;display:flex}.tut-pt-chrow{text-align:left;border:1px solid var(--line,#e4e6ee);background:var(--surface,#fff);cursor:pointer;width:100%;font:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;transition:border-color .15s ease-out,transform .15s ease-out,box-shadow .15s ease-out;display:flex}.tut-pt-chrow:hover{border-color:var(--primary,#2f63ff);transform:translateY(-1px);box-shadow:0 2px 8px #14162b0f}.tut-pt-chrow .tut-pt-name{font-size:14.5px;font-weight:700}.tut-pt-chev{color:var(--muted,#9a9db0);flex-shrink:0;font-size:18px}.tut-pt-detailrollup{margin-top:10px}.tut-pt-topic-block{margin-bottom:10px;overflow:hidden}.tut-pt-toprow{background:var(--surface-sunk,#f7f8fb);border-bottom:1px solid var(--line,#eef0f3)}.tut-pt-toprow .tut-pt-name{color:var(--ink-soft,#45485c);font-size:13.5px;font-weight:600}.tut-pt-row{justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;display:flex}.tut-pt-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tut-pt-axes{flex-shrink:0;gap:14px;display:inline-flex}.tut-pt-badge{align-items:center;gap:7px;display:inline-flex}.tut-pt-chip{color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.tut-pt-c{background:var(--primary,#2f63ff)}.tut-pt-p{background:var(--accent,#e87b35)}.tut-pt-zero{background:var(--surface-sunk,#f0f1f6);color:var(--muted,#9a9db0);border:1px solid var(--line,#d9dbe4)}.tut-lvl-0{color:#6b7280;border:1px solid var(--line,#d9dbe4);background:#e9ebf0}.tut-lvl-1{color:#fff;background:#e5657a}.tut-lvl-2{color:#fff;background:#eaa04a}.tut-lvl-3{color:#3d3100;background:#e6c34a}.tut-lvl-4{color:#17351b;background:#86c06a}.tut-lvl-5{color:#fff;background:#3fa564}.tut-pt-legend-scale{align-items:center;gap:5px;display:inline-flex}.tut-pt-legend-cap{font-weight:700}.tut-pt-legend-lvl{padding:1px 7px;font-size:11px}.tut-pt-spread{background:var(--surface-sunk,#f0f1f6);border-radius:999px;gap:1px;width:64px;height:8px;display:inline-flex;overflow:hidden}.tut-pt-seg{min-width:2px;height:100%}.tut-pt-seg-0{background:#c7ccd6}.tut-pt-seg-1{background:#e5657a}.tut-pt-seg-2{background:#eaa04a}.tut-pt-seg-3{background:#e6c34a}.tut-pt-seg-4{background:#86c06a}.tut-pt-seg-5{background:#3fa564}.tut-pt-leaves{flex-direction:column;gap:8px;padding:4px 14px 12px 28px;display:flex}.tut-pt-leaf{border:1px solid var(--line,#eef0f3);background:var(--surface,#fff);border-radius:8px;padding:9px 12px}.tut-pt-untaught{background:var(--surface-sunk,#f7f8fb);border-style:dashed}.tut-pt-leaf-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.tut-pt-leaf-levels{flex-shrink:0;gap:6px;display:inline-flex}.tut-pt-tag{color:var(--muted,#9a9db0);text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;font-weight:600}.tut-pt-desc{color:var(--ink-soft,#45485c);margin:6px 0 0;font-size:12.5px;line-height:1.45}.tut-launch-overlay{z-index:60;background:#15162b6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tut-launch-modal{background:var(--surface,#fff);border:1px solid var(--line,#d9dbe4);border-radius:14px;width:min(480px,100%);max-height:84vh;padding:20px 22px 18px;overflow-y:auto;box-shadow:0 16px 48px #15162b38}.tut-launch-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.tut-launch-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);color:var(--ink,#15162b);margin:0;font-size:18px}.tut-launch-x{color:var(--muted,#6b6f80);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.tut-launch-x:hover{color:var(--ink,#15162b)}.tut-launch-field{margin-bottom:16px}.tut-launch-field .tut-chat-vendorlabel{margin-bottom:7px;display:block}.tut-launch-field .tut-chat-vendortoggle{flex-wrap:wrap}.tut-launch-dd{position:relative}.tut-launch-dd-trigger{border:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);width:100%;color:var(--ink,#15162b);font:inherit;cursor:pointer;text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:border-color .15s ease-out;display:flex}.tut-launch-dd-trigger:hover,.tut-launch-dd-trigger.is-open{border-color:var(--primary,#2f63ff)}.tut-launch-dd-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tut-launch-dd-value.is-placeholder{color:var(--muted,#6b6f80)}.tut-launch-dd-caret{color:var(--muted,#6b6f80);flex-shrink:0;font-size:12px}.tut-launch-dd-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tut-launch-dd-chip{border-radius:var(--r-pill,999px);background:color-mix(in srgb, var(--primary,#2f63ff) 10%, var(--surface,#fff));border:1px solid color-mix(in srgb, var(--primary,#2f63ff) 30%, var(--surface,#fff));color:var(--primary,#2f63ff);align-items:center;gap:4px;padding:4px 6px 4px 10px;font-size:13px;font-weight:600;display:inline-flex}.tut-launch-dd-chip-x{width:16px;height:16px;color:var(--primary,#2f63ff);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.tut-launch-dd-chip-x:hover{background:color-mix(in srgb, var(--primary,#2f63ff) 20%, var(--surface,#fff))}.tut-launch-dd-panel{border:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);border-radius:10px;margin-top:6px;padding:8px;box-shadow:0 8px 24px #15162b1f}.tut-launch-dd-search{border:1px solid var(--line,#d9dbe4);width:100%;font:inherit;color:var(--ink,#15162b);background:var(--surface-sunk,#f5f6fa);border-radius:8px;margin-bottom:8px;padding:8px 10px;font-size:13.5px}.tut-launch-dd-search:focus{border-color:var(--primary,#2f63ff);outline:none}.tut-launch-dd-empty{text-align:center;color:var(--muted,#6b6f80);padding:12px;font-size:13px}.tut-launch-chlist{flex-direction:column;gap:6px;max-height:220px;display:flex;overflow-y:auto}.tut-launch-chopt{text-align:left;border:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);color:var(--ink,#15162b);cursor:pointer;border-radius:9px;align-items:center;gap:9px;padding:9px 12px;font-size:13.5px;transition:border-color .15s ease-out,background .15s ease-out;display:flex}.tut-launch-chopt:hover{border-color:var(--primary,#2f63ff)}.tut-launch-chopt.is-on{border-color:var(--primary,#2f63ff);background:color-mix(in srgb, var(--primary,#2f63ff) 8%, var(--surface,#fff))}.tut-launch-chmark{width:16px;color:var(--primary,#2f63ff);flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.tut-launch-field-col{display:block}.tut-launch-subhint{color:var(--ink-muted,#6b6f80);margin-bottom:8px;font-size:12.5px;line-height:1.4}.tut-launch-sublist{max-height:260px}.tut-launch-subtag{background:color-mix(in srgb, var(--primary,#2f63ff) 12%, transparent);color:var(--primary,#2f63ff);letter-spacing:.01em;border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.tut-launch-subtag.is-warn{color:#b45309;background:#d9770624}.tut-launch-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;display:flex}.tut-launch-overlay.is-fs{padding:24px}.tut-launch-fs{grid-template-rows:auto 1fr auto;width:min(1240px,100%);height:min(92vh,100%);max-height:none;padding:0;display:grid;overflow:hidden}.tut-fs-head{border-bottom:1px solid var(--line,#d9dbe4);padding:16px 20px 12px}.tut-fs-headline{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tut-fs-settings{flex-wrap:wrap;gap:10px 26px;display:flex}.tut-fs-settings .tut-launch-field{margin-bottom:0}.tut-fs-body{grid-template-columns:minmax(240px,320px) 1fr;min-height:0;display:grid}.tut-fs-left{border-right:1px solid var(--line,#d9dbe4);background:var(--surface-sunk,#f5f6fa);flex-direction:column;gap:8px;min-height:0;padding:14px;display:flex}.tut-fs-left .tut-launch-dd-search{box-sizing:border-box;margin-bottom:0}.tut-fs-chlist{flex-direction:column;gap:6px;min-height:0;display:flex;overflow-y:auto}.tut-fs-chrow{background:var(--surface,#fff)}.tut-fs-chname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tut-fs-chcount{color:var(--muted,#6b6f80);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12.5px}.tut-fs-chrow .tut-launch-subtag{margin-left:0}.tut-fs-right{min-height:0;padding:14px 16px;overflow-y:auto}.tut-fs-empty{text-align:center;color:var(--muted,#6b6f80);padding:40px 12px;font-size:13.5px}.tut-fs-group{margin-bottom:18px}.tut-fs-grouphead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.tut-fs-groupname{color:var(--ink,#15162b);font-size:14px;font-weight:600}.tut-fs-bulk{border:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);color:var(--ink-soft,#45485c);font:inherit;cursor:pointer;border-radius:7px;padding:3px 9px;font-size:12px}.tut-fs-bulk:hover{border-color:var(--primary,#2f63ff);color:var(--primary,#2f63ff)}.tut-fs-grouphead .tut-fs-bulk:first-of-type{margin-left:auto}.tut-fs-thr{border:1px solid var(--line,#d9dbe4);background:var(--surface-sunk,#f5f6fa);border-radius:9px;margin:0 0 10px;padding:8px 10px}.tut-fs-thr-sum{cursor:pointer;color:var(--ink-soft,#45485c);font-size:12.5px;font-weight:600}.tut-fs-thr-item{color:var(--ink-soft,#45485c);margin-top:8px;font-size:12.5px;line-height:1.5}.tut-fs-thr-item p{margin:3px 0 0}.tut-fs-topic{margin-bottom:10px}.tut-fs-topicname{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#9a9db0);margin:0 0 5px 2px;font-size:11.5px;font-weight:600}.tut-fs-subrow{width:100%;margin-bottom:6px}.tut-fs-subname{flex:1}.tut-fs-subrow .tut-launch-subtag{margin-left:0}.tut-fs-subrow .tut-pt-tag{flex-shrink:0}.tut-fs-foot{border-top:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);align-items:center;gap:12px;padding:12px 20px;display:flex}.tut-fs-count{white-space:nowrap;color:var(--muted,#6b6f80);font-variant-numeric:tabular-nums;margin-right:auto;font-size:13px}.tut-fs-foot .btn-solid{flex:none;width:auto}@media (width<=900px){.tut-fs-body{grid-template-rows:minmax(160px,34%) 1fr;grid-template-columns:1fr}.tut-fs-left{border-right:none;border-bottom:1px solid var(--line,#d9dbe4)}}.tut-pace{flex-direction:column;gap:14px;display:flex}.tut-pace-subject{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font:inherit;color:var(--ink);align-self:flex-start;padding:7px 12px}.tut-pace-empty-sub{color:var(--ink-muted);margin:10px 0 6px;font-size:.82rem;font-weight:600}.tut-pace-timeline{flex-direction:column;gap:12px;display:flex}.tut-pace-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.tut-pace-summary-label{color:var(--ink-muted);font-size:.82rem;font-weight:700}.tut-pace-window{color:var(--ink-muted);font-size:.82rem}.tut-pace-banner{border-radius:var(--r-md);margin:0;padding:10px 14px;font-size:.86rem}.tut-pace-banner--over{color:#92400e;background:#fff8eb;border:1px solid #fed7aa}.tut-pace-banner--under{background:var(--surface-sunk);border:1px solid var(--border);color:var(--ink-muted)}.tut-pace-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tut-pace-row{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--r-md);align-items:center;gap:12px;padding:10px 14px;display:flex}.tut-pace-row--on_time{border-left-color:#12b76a}.tut-pace-row--delay_risk{border-left-color:var(--yellow)}.tut-pace-row--amber{border-left-color:#f79009}.tut-pace-row--red{border-left-color:#f04438}.tut-pace-row--completed{border-left-color:var(--primary);opacity:.72}.tut-pace-num{background:var(--surface-sunk);width:24px;height:24px;color:var(--ink-muted);border-radius:999px;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.tut-pace-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tut-pace-name{color:var(--ink);font-weight:600}.tut-pace-meta{color:var(--ink-muted);font-size:.8rem}.tut-pace-weeks{color:var(--ink-muted);margin-left:auto;font-size:.8rem}.tut-pace-signals{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tut-pace-pill{border-radius:var(--r-pill);white-space:nowrap;padding:2px 9px;font-size:.76rem;font-weight:600;display:inline-block}.tut-pace-pill--on_time{color:#027a48;background:#e7f8ef}.tut-pace-pill--delay_risk{color:#a16207;background:#fef7e0}.tut-pace-pill--amber{color:#b54708;background:#fff1e3}.tut-pace-pill--red{color:#b42318;background:#fee4e2}.tut-pace-pill--completed{background:var(--primary-soft);color:var(--primary-hover)}.tut-pace-prep{border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:1px solid;padding:2px 9px;font-size:.76rem;font-weight:600;display:inline-block}.tut-pace-prep--strong{color:#027a48}.tut-pace-prep--on_track{color:#1d4ed8}.tut-pace-prep--needs_work{color:#b54708}.tut-pace-prep--not_started{color:#98928a;border-style:dashed}.tut-pace-done{color:var(--primary-hover);font-size:.76rem;font-weight:700}.tut-ccf{background:#fdfaf3;border:1px solid #f0e0c4;border-radius:10px;flex-direction:column;gap:8px;margin-top:26px;margin-bottom:14px;padding:12px 14px;display:flex}.tut-ccf-head{color:#6d541c;flex-direction:column;gap:2px;font-size:13px;font-weight:700;display:flex}.tut-ccf-sub{color:var(--muted,#6b6f80);font-size:11.5px;font-weight:500}.tut-ccf-row{border-top:1px solid #f3e9d6;flex-wrap:wrap;align-items:center;gap:10px;padding-top:8px;display:flex}.tut-ccf-note{color:#33364a;flex:260px;font-size:13.5px}.tut-ccf-from{color:var(--muted,#6b6f80);font-size:11.5px}.tut-sitchat{border:1px solid var(--border,#e3e5ee);border-radius:var(--r-card,12px);background:var(--surface,#fff);flex-direction:column;margin-top:14px;display:flex}.tut-sitchat-head{color:#33364a;border-bottom:1px solid var(--border,#e3e5ee);flex-direction:column;gap:2px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.tut-sitchat-canvas{flex-direction:column;gap:10px;min-height:72px;max-height:320px;padding:12px 14px;display:flex;overflow-y:auto}.tut-sitchat-hint{text-align:center;max-width:420px;color:var(--muted,#6b6f80);margin:auto;font-size:13px}.tut-sitchat-inputbar{border-top:1px solid var(--border,#e3e5ee);align-items:flex-end;gap:10px;padding:10px 14px;display:flex}.tut-sitchat-input{resize:vertical;font:inherit;border:1px solid var(--border,#e3e5ee);border-radius:8px;flex:1;padding:8px 10px;font-size:14px;line-height:1.45}.tut-insights{flex-direction:column;gap:12px;display:flex}.tut-insight-card{border:1px solid var(--border,#e3e5ee);border-radius:var(--r-card,12px);background:var(--surface,#fff);padding:12px 14px}.tut-insight-head{color:#33364a;align-items:baseline;gap:8px;margin-bottom:6px;font-size:13.5px;font-weight:700;display:flex}.tut-insight-kind{letter-spacing:.03em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:11px;font-weight:600}.tut-insight-text{color:#33364a;white-space:pre-wrap;margin:0;font-size:13.5px;line-height:1.55}.tut-hz-row{align-items:flex-start;gap:10px;padding:8px 0 0;display:flex}.tut-hz-row+.tut-hz-row{border-top:1px solid #f0f1f6;margin-top:8px}.tut-hz-level{text-align:center;min-width:38px;color:var(--primary,#2f63ff);background:var(--surface-sunk,#f4f6fd);border:1px solid var(--border,#e3e5ee);border-radius:var(--r-pill,999px);flex:none;padding:3px 8px;font-size:12px;font-weight:700}.tut-hz-level.is-unread{color:var(--muted,#6b6f80)}.tut-hz-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.tut-hz-slug{color:#33364a;text-transform:capitalize;font-size:12.5px;font-weight:600}.tut-hz-prose{color:var(--muted,#6b6f80);font-size:12.5px;line-height:1.5}.tut-syn{border-left:3px solid var(--primary,#2f63ff);background:var(--surface,#fff);border-radius:0 var(--r-card,12px) var(--r-card,12px) 0;flex-direction:column;gap:10px;margin:10px 0;padding:12px 14px;display:flex}.tut-syn-head{color:#33364a;font-size:13px;font-weight:700}.tut-syn-sub{color:var(--muted,#6b6f80);margin-bottom:4px;font-size:12px;font-weight:600}.tut-syn-reasoning{color:#33364a;margin:0;font-size:13px;line-height:1.55}.tut-syn-block{padding-top:2px}.tut-syn-list{color:#33364a;margin:0;padding-left:18px;font-size:13px;line-height:1.6}.tut-syn-note{color:var(--muted,#6b6f80);margin:0;font-size:12.5px}.tut-asg-card.is-openable{cursor:pointer;transition:border-color .12s,box-shadow .12s}.tut-asg-card.is-openable:hover{border-color:var(--ink-muted,#6b6f80);box-shadow:0 1px 6px #14162814}.tut-asg-card.is-openable:focus-visible{outline-offset:2px;outline:2px solid #3b5bdb}.tut-work{z-index:900;background:var(--page,#eef0f3);flex-direction:column;display:flex;position:fixed;inset:0}.tut-work-bar{background:var(--surface,#fff);border-bottom:1px solid var(--border,#dfe1e8);flex:none;align-items:center;gap:12px;padding:14px 20px;display:flex}.tut-work-bar-id{flex-wrap:wrap;flex:1;align-items:baseline;gap:10px;min-width:0;display:flex}.tut-work-title{color:var(--ink,#14161f);margin:0;font-size:16px;font-weight:700}.tut-work-sub{color:var(--muted,#6b6f80);font-size:13px}.tut-work-close{width:34px;height:34px;color:var(--ink,#14161f);border:1px solid var(--border,#dfe1e8);cursor:pointer;background:0 0;border-radius:999px;flex:none;place-items:center;font-size:15px;display:grid}.tut-work-close:hover{border-color:var(--ink-muted,#6b6f80)}.tut-work-body{flex:1;min-height:0;padding:18px 20px 40px;overflow-y:auto}.tut-work-st{margin-bottom:26px}.tut-work-st-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.tut-work-st-name{color:var(--ink,#14161f);margin:0;font-size:15px;font-weight:700}.tut-work-st-status{letter-spacing:.04em;text-transform:uppercase;color:#6b6f80;background:#eceef3;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.tut-work-st-status.is-active{color:#3b5bdb;background:#e7edff}.tut-work-st-status.is-completed{color:#2f7a45;background:#e6f4ea}.tut-work-st-count{color:var(--muted,#6b6f80);font-size:12.5px}.tut-work-empty{margin:0}.tut-work-preview-line{color:#7a5a12;border-radius:var(--r-md,10px);background:#fdf6e3;border:1px solid #ecd9a6;margin:0 0 10px;padding:8px 11px;font-size:12.5px;line-height:1.5}.tut-work-preview-line strong{font-weight:700}.tut-work-qs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tut-work-q{background:var(--surface,#fff);border:1px solid var(--border,#dfe1e8);border-radius:var(--r-md,10px);padding:12px 14px}.tut-work-q.is-not_reached{opacity:.55}.tut-work-qs--preview .tut-work-q.is-not_reached{opacity:1}.tut-work-q-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tut-work-q-n{color:#6b6f80;background:#eceef3;border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.tut-work-q-state{letter-spacing:.03em;text-transform:uppercase;color:#6b6f80;font-size:11px;font-weight:700}.tut-work-q-state.is-answered{color:#2f7a45}.tut-work-q-state.is-skipped{color:#b06a1b}.tut-work-q-axis{color:#6b6f80;border:1px solid var(--border,#dfe1e8);border-radius:999px;padding:1px 7px;font-size:11.5px}.tut-work-q-marks{color:var(--ink,#14161f);font-size:12px;font-weight:700}.tut-work-q-level{color:#3b5bdb;background:#eef1f6;border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:700}.tut-work-q-level.is-tutor{color:#2f7a45;background:#e6f4ea}.tut-work-q-stem{color:var(--ink,#14161f);margin:0;font-size:14px;line-height:1.55}.tut-work-a{border-top:1px dashed var(--border,#dfe1e8);margin-top:10px;padding-top:10px}.tut-work-a-text{color:#33364a;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.55}.tut-work-a-meta{color:var(--muted,#6b6f80);margin:6px 0 0;font-size:12px}.tut-work-unassessed{font-style:italic}.tut-work-q-fig{border:1px solid var(--border,#dfe1e8);border-radius:var(--r-md,10px);background:#fff;width:auto;max-width:100%;height:auto;max-height:240px;margin:0 0 10px;display:block}.tut-work-q>.tut-eval{margin-top:10px}.tut-work-q>.tut-obs-why{margin-top:6px}@media (width<=720px){.tut-work-bar{padding:12px 14px}.tut-work-body{padding:14px 14px 32px}}.tut-pref-lede{font-family:var(--font-body,Inter, sans-serif);color:var(--muted,#6b6f80);max-width:62ch;margin:-6px 0 12px;font-size:13px;line-height:1.5}.tut-prefs{flex-direction:column;gap:10px;display:flex}.tut-drill{border:1px solid var(--border,#e3e5ee);border-radius:var(--r-card,12px);background:var(--surface-sunk,#f4f6fd);flex-direction:column;gap:4px;padding:6px;display:flex}.tut-drill-row{box-sizing:border-box;text-align:left;width:100%;font-family:var(--font-body,Inter, sans-serif);cursor:pointer;color:var(--ink,#15162b);background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;display:flex}.tut-drill-row:hover{background:var(--surface,#fff)}.tut-drill-row--subject{font-size:13.5px;font-weight:700}.tut-drill-row--chapter{padding-left:26px;font-size:13px;font-weight:500}.tut-drill-caret{color:var(--muted,#6b6f80);flex:none;font-size:10px}.tut-drill-name{flex:auto;min-width:0}.tut-drill-grade{color:var(--muted,#6b6f80);letter-spacing:.02em;font-size:11px;font-weight:600}.tut-drill-count{color:var(--muted,#6b6f80);flex:none;font-size:11.5px}.tut-drill-noted{color:var(--primary,#2f63ff);font-weight:700}.tut-drill-dot{color:#0000;text-align:right;flex:none;min-width:44px;font-size:11px}.tut-drill-dot--on{color:var(--primary,#2f63ff);font-weight:700}.tut-drill-chapters{flex-direction:column;gap:2px;display:flex}.tut-drill-note{padding:4px 6px 10px 26px}.tut-prefs--sitting{margin:14px 0 16px}.tut-pref-card{border:1px dashed var(--border,#e3e5ee);border-radius:var(--r-card,12px);background:var(--surface-sunk,#f4f6fd);padding:12px 14px}.tut-pref-card--subject{border-style:solid;border-left:3px solid var(--primary,#2f63ff);margin-left:-20px}.tut-pref-head{align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.tut-pref-title{color:#33364a;font-size:13.5px;font-weight:700}.tut-pref-optional{letter-spacing:.03em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:11px;font-weight:600}.tut-pref-text{box-sizing:border-box;width:100%;font-family:var(--font-body,Inter, sans-serif);color:var(--ink,#15162b);border:1px solid var(--line,#d9dbe4);background:var(--surface,#fff);resize:vertical;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.55}.tut-pref-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.tut-pref-note{color:var(--muted,#6b6f80);font-size:11.5px}.tut-pref-save{font-family:var(--font-body,Inter, sans-serif);border-radius:var(--r-pill,999px);border:1px solid var(--primary,#2f63ff);background:var(--primary,#2f63ff);color:#fff;cursor:pointer;flex:none;padding:7px 16px;font-size:13.5px;font-weight:700}.tut-pref-save:hover{filter:brightness(1.05)}.tut-pref-save:disabled{opacity:.45;cursor:default}.tut-pref-stamp{color:var(--muted,#6b6f80);margin:8px 0 0;font-size:11.5px}@media (width<=720px){.tut-pref-foot{flex-direction:column;align-items:flex-start}.tut-pref-save{text-align:center;align-self:stretch}}.tut-grain-confirm{z-index:70;background:#15162b6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.tut-grain-confirm-box{background:var(--surface,#fff);border:1px solid var(--line,#d9dbe4);border-radius:14px;width:100%;max-width:420px;padding:20px 22px;box-shadow:0 16px 48px #15162b38}.tut-grain-confirm-title{font-family:var(--font-display,Inter, sans-serif);margin-bottom:8px;font-size:16px;font-weight:700}.tut-grain-confirm-body{color:var(--muted,#6b6f80);margin:0 0 16px;font-size:13.5px;line-height:1.5}.tut-grain-confirm-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.tut-pgroups{flex-direction:column;gap:22px;display:flex}.tut-pgroup{flex-direction:column;gap:10px;display:flex}.tut-pgroup-head{border-bottom:2px solid var(--line,#e4e6ee);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-bottom:8px;display:flex}.tut-pgroup-name{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);color:#1e2033;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:17px;font-weight:600;display:flex}.tut-pgroup-count{font-family:var(--font-body,inherit);color:var(--muted,#6b6f80);font-size:12.5px;font-weight:500}.tut-pgroup-open{font-family:var(--font-body,inherit);color:#b54708;background:#fff1e3;border-radius:999px;padding:2px 9px;font-size:12.5px;font-weight:650}.tut-pgroup-nosubject{color:var(--muted,#6b6f80);text-align:right;max-width:340px;font-size:12px;line-height:1.45}.tut-run-btn{border:1px solid var(--primary,#2f63ff);color:var(--primary,#2f63ff);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;padding:8px 15px;font-size:13px;font-weight:650;transition:background .15s ease-out,color .15s ease-out}.tut-run-btn:hover:not(:disabled){background:var(--primary,#2f63ff);color:#fff}.tut-run-btn:disabled{opacity:.5;cursor:default}.tut-run{border:1px solid var(--line,#d9dbe4);border-left:4px solid var(--primary,#2f63ff);background:#fbfbfd;border-radius:12px;flex-direction:column;gap:10px;margin-bottom:22px;padding:16px 18px;display:flex}.tut-run--completed{border-left-color:#1f7a4d}.tut-run--failed{border-left-color:#b3261e}.tut-run-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tut-run-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);color:#1e2033;font-size:16px;font-weight:600}.tut-run-status{letter-spacing:.05em;text-transform:uppercase;background:var(--lilac,#e3def7);color:#4b3da8;border-radius:999px;flex:none;padding:4px 10px;font-size:11px;font-weight:700}.tut-run-status.is-completed{color:#1f7a4d;background:#e8f6ee}.tut-run-status.is-failed{color:#b3261e;background:#fdecea}.tut-run-line{color:#33364a;align-items:center;gap:9px;margin:0;font-size:13.5px;display:flex}.tut-run-spin{border:2px solid var(--lilac,#e3def7);border-top-color:var(--primary,#2f63ff);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite tut-run-spin}@keyframes tut-run-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tut-run-spin{animation:none}}.tut-run-counts{flex-wrap:wrap;gap:8px 16px;display:flex}.tut-run-count{color:var(--muted,#6b6f80);font-size:12.5px}.tut-run-count b{color:#1e2033;margin-right:3px;font-size:15px;font-weight:700}.tut-run-count.is-skip b{color:#9a5b00}.tut-run-count.is-clock{margin-left:auto}.tut-run-note,.tut-run-slow{color:var(--muted,#6b6f80);margin:0;font-size:12px;line-height:1.5}.tut-run-slow{background:#f6f7fa;border-radius:8px;padding:9px 12px}.tut-run-failed,.tut-run-warn{border-radius:9px;margin:0;padding:10px 13px;font-size:13px;line-height:1.5}.tut-run-failed{color:#b3261e;background:#fdecea}.tut-run-warn{color:#7a4a00;background:#fff3e0}.tut-run-block{flex-direction:column;gap:9px;display:flex}.tut-run-sub{letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:11px;font-weight:700}.tut-run-skips{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.tut-run-skips li{border:1px solid var(--line,#e4e6ee);background:#fff;border-radius:9px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.tut-run-skip-label{color:#1e2033;font-size:13.5px;font-weight:650}.tut-run-skip-why{color:#9a5b00;font-size:12.5px;line-height:1.45}.tut-run-skip-state{color:var(--muted,#6b6f80);font-size:12px}.tut-run-moves{flex-direction:column;gap:0;display:flex}.tut-run-move{border-bottom:1px solid #eceef3;grid-template-columns:minmax(0,1fr) 104px 104px;grid-template-areas:"name conc proc""where conc proc";align-items:center;gap:2px 14px;padding:9px 0;display:grid}.tut-run-move:last-child{border-bottom:none}.tut-run-move-name{color:#1e2033;grid-area:name;font-size:13.5px;font-weight:650}.tut-run-move-where{color:var(--muted,#6b6f80);grid-area:where;font-size:11.5px}.tut-run-moves-head{border-bottom:1px solid var(--line,#e4e6ee);letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#6b6f80);grid-template-columns:minmax(0,1fr) 104px 104px;gap:0 14px;padding-bottom:6px;font-size:10.5px;font-weight:700;display:grid}.tut-run-moves-head>span:not(:first-child){text-align:center}.tut-run-axis{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.tut-run-axis--conceptual{grid-area:conc}.tut-run-axis--procedural{grid-area:proc}.tut-run-axis-level{color:#3a3d52;background:#f0f1f6;border-radius:8px;min-width:40px;padding:3px 9px;font-size:14px;font-weight:750;line-height:1.25;display:inline-block}.tut-run-axis-level.is-up{color:#14603a;background:#d6f0e1}.tut-run-axis-level.is-down{color:#8f1d17;background:#fcdcd8}.tut-run-axis-level.is-new{background:var(--lilac,#e3def7);color:#3d3190}.tut-run-axis-level.is-unread{color:var(--muted,#6b6f80);background:#f0f1f6;font-weight:600}.tut-run-axis-note{color:var(--muted,#6b6f80);white-space:nowrap;font-size:10.5px;font-weight:500;line-height:1.25}.tut-run-insights{border-top:1px solid var(--line,#e4e6ee);padding-top:10px;font-size:13px}.tut-run-insights>summary{cursor:pointer;color:#33364a;font-weight:650;list-style-position:outside}.tut-run-insights>summary:hover{color:var(--primary,#2f63ff)}.tut-run-insight{margin-top:12px}.tut-run-was{color:var(--muted,#6b6f80);background:#f6f7fa;border-radius:8px;margin:0 0 6px;padding:8px 11px;font-size:12.5px;line-height:1.5}.tut-run-was--none{font-style:italic}.tut-run-was-key{letter-spacing:.05em;text-transform:uppercase;color:#9096a8;margin-right:7px;font-size:10.5px;font-weight:700;display:inline-block}.tut-run-hz{flex-direction:column;gap:8px;margin-top:14px;display:flex}.par-root{background:var(--page,#eef0f3);min-height:100vh;font-family:var(--font-body,Inter, system-ui, sans-serif);color:var(--ink,#15162b);padding:116px clamp(20px,5vw,56px) 64px}.par-header{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;margin-bottom:0;padding:28px clamp(20px,5vw,56px) 0;display:flex;position:fixed;top:0;left:0;right:0}.par-header .par-signout{pointer-events:auto}.par-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:12px;font-weight:600}.par-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:2px 0 0;font-size:30px}.par-signout{z-index:10;border:1px solid var(--line,#d9dbe4);color:var(--ink,#15162b);font:inherit;cursor:pointer;background:#fff;border-radius:10px;padding:9px 16px;font-weight:600;position:relative}.par-signout:hover{background:#f6f7fa}.par-section{margin-top:26px}.par-section-title{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:0 0 14px;font-size:19px}.par-muted{color:var(--muted,#6b6f80);font-size:14.5px}.par-error{color:#b42318;background:#fef3f2;border:1px solid #fecdca;border-radius:10px;padding:10px 14px;font-size:14px}.par-back{color:var(--muted,#6b6f80);font:inherit;cursor:pointer;background:0 0;border:none;margin-bottom:6px;padding:0;font-weight:600}.par-back:hover{color:var(--ink,#15162b)}.par-child-heading{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);margin:4px 0 8px;font-size:25px}.par-child-grid{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;display:grid}.par-child-card{text-align:left;border:1px solid var(--line,#d9dbe4);cursor:pointer;font:inherit;background:#fff;border-radius:14px;align-items:center;gap:13px;padding:16px 18px;transition:transform .12s,box-shadow .12s;display:flex}.par-child-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #15162b12}.par-avatar{background:var(--sage,#cfe3d4);color:#1f3b29;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:grid}.par-child-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.par-child-name{font-weight:600}.par-child-email{color:var(--muted,#6b6f80);font-size:12.5px}.par-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:16px;display:grid}.par-stat{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:14px;padding:16px 18px}.par-stat-value{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);font-size:28px;line-height:1.1}.par-stat-label{color:var(--muted,#6b6f80);margin-top:4px;font-size:12.5px}.par-mastery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.par-mastery-card{border:1px solid var(--line,#d9dbe4);background:#fff;border-radius:14px;padding:16px 18px}.par-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.par-crumb{color:var(--muted,#6b6f80);font-size:12px;font-weight:600}.par-mastery-st{margin:4px 0 12px;font-size:16px;font-weight:700}.par-trend{white-space:nowrap;border-radius:999px;flex:none;padding:3px 9px;font-size:11.5px;font-weight:700}.par-trend--up{color:#1f7a3d;background:#e7f6ec}.par-trend--down{color:#b42318;background:#fef3f2}.par-trend--flat{color:#6b6f80;background:#eef0f3}.par-trend--new{color:#5b3ec0;background:#efeaff}.par-levels{gap:22px;margin-bottom:12px;display:flex}.par-axislevel{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.par-axislabel{color:var(--muted,#6b6f80);margin-right:4px;font-size:12.5px;font-weight:600}.par-axisnum{font-family:var(--font-display,Fredoka, var(--font-body), sans-serif);font-size:22px;line-height:1}.par-axisscale{color:var(--muted,#6b6f80);font-size:12px}.par-axiswas{color:var(--muted,#6b6f80);font-size:11.5px;font-style:italic}.par-axislevel--unassessed{opacity:.75}.par-axisnum--none{color:var(--muted,#6b6f80)}.par-desc{color:#34374a;margin:0;font-size:14px;line-height:1.5}.par-rpt-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.par-rpt-row{border:1px solid var(--line,#d9dbe4);cursor:pointer;text-align:left;background:#fff;border-radius:12px;align-items:center;gap:12px;width:100%;padding:13px 16px;display:flex}.par-rpt-row:hover{border-color:var(--primary,#2f63ff)}.par-rpt-rowlabel{color:var(--ink,#15162b);font-weight:600}.par-rpt-rowdate{color:var(--muted,#6b6f80);flex:1;font-size:14px}.par-rpt-rowgo{color:var(--muted,#6b6f80)}.par-rpt-open{flex-direction:column;gap:12px;display:flex}.par-rpt-note{color:var(--ink,#15162b);background:var(--lilac,#e3def7);border-radius:12px;margin:0;padding:12px 16px;font-size:15px}.par-rpt-by{color:var(--muted,#6b6f80);font-size:13px}.par-tabs{z-index:5;background:var(--page,#eef0f3);flex-wrap:wrap;gap:6px;margin-bottom:6px;padding:8px 0 14px;display:flex;position:sticky;top:0}.par-tab{font-family:var(--font-body,Inter, sans-serif);color:var(--muted,#6b6f80);border-radius:var(--r-pill,999px);border:1px solid var(--line,#d9dbe4);cursor:pointer;background:#fff;align-items:center;gap:7px;padding:8px 16px;font-size:14.5px;font-weight:600;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.par-tab:hover{color:var(--ink,#15162b);border-color:#c3c6d4}.par-tab.is-active{color:#fff;background:var(--primary,#2f63ff);border-color:var(--primary,#2f63ff)}.par-root{--olorin-rail:clamp(300px, 30vw, 500px);--signpost-rail:clamp(220px, 22vw, 360px)}.pdash-column{flex-direction:column;gap:28px;max-width:900px;margin:0 auto;padding-bottom:96px;display:flex}.pdash-scroll{flex-direction:column;gap:20px;display:flex}@media (width>=1024px){.pdash-column{margin-left:calc(var(--olorin-rail) + 16px);width:min(860px, calc(100vw - var(--olorin-rail) - var(--signpost-rail) - 48px));max-width:none;margin-right:auto}}.pdash-splash{z-index:200;background:var(--page,#eef0f3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.pdash-splash-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:clamp(12px,1.4vw,15px);font-weight:600}.pdash-splash-name{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);letter-spacing:-.01em;will-change:transform, filter, opacity;margin:0;font-size:clamp(44px,9vw,104px);line-height:1.02}.pdash-hero{padding:8px 4px 4px}.pdash-hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--olorin-voice,#5b6cc4);font-size:12px;font-weight:700}.pdash-hero-title{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);letter-spacing:-.01em;margin:6px 0 18px;font-size:clamp(34px,6vw,60px);line-height:1.03}.pdash-hero-narration{color:#2c2e44;max-width:62ch;min-height:3.2em;margin:0;font-size:clamp(17px,2vw,21px);line-height:1.62}.pdash-hero-sign{font-family:var(--font-display,Fredoka, sans-serif);color:var(--olorin-voice,#5b6cc4);opacity:0;margin-top:12px;font-size:16px;transition:opacity .5s,transform .5s;transform:translateY(4px)}.pdash-hero-sign.is-in{opacity:1;transform:none}.pdash-grid-wrap{position:relative}.pdash-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.pdash-tile{border:1px solid var(--border,#e4e6ec);border-radius:var(--r-card,20px);background:var(--surface,#fff);min-height:148px;box-shadow:var(--shadow-card,0 8px 24px #14162b0f);cursor:pointer;text-align:left;font:inherit;color:inherit;flex-direction:column;align-items:flex-start;gap:4px;padding:clamp(18px,3vw,26px);display:flex;position:relative;overflow:hidden}.pdash-tile--span2{grid-column:span 2}.pdash-tile--ghost{visibility:hidden}.pdash-tile-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:12px;font-weight:700}.pdash-tile-value{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);letter-spacing:-.01em;font-size:clamp(32px,5vw,48px);line-height:1.04}.pdash-tile-value--lg{font-size:clamp(40px,6vw,60px)}.pdash-tile-caption{color:#4a4d63;font-size:14px}.pdash-tile-expand{border:1px solid var(--border,#e4e6ec);width:30px;height:30px;color:var(--primary,#2f63ff);background:#f1f4ff;border-radius:999px;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .15s,transform .15s;display:flex;position:absolute;top:14px;right:14px}.pdash-tile:hover{border-color:var(--primary,#2f63ff)}.pdash-tile:hover .pdash-tile-expand{background:var(--primary,#2f63ff);color:#fff;transform:scale(1.06)}.pdash-tile-hint{color:var(--primary,#2f63ff);background:#eef1ff;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin-top:auto;padding:5px 13px;font-size:12.5px;font-weight:700;display:inline-flex}.pdash-modal-layer{z-index:150;justify-content:center;align-items:center;padding:clamp(16px,4vw,40px);display:flex;position:fixed;inset:0}.pdash-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14162b6b;position:absolute;inset:0}.pdash-tile-open{border-radius:var(--r-card,20px);background:var(--surface,#fff);flex-direction:column;gap:18px;width:min(760px,100%);max-height:min(86vh,900px);padding:clamp(20px,4vw,32px);display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 80px #14162b47}.pdash-tile-open-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.pdash-tile-open-heading{flex-direction:column;gap:4px;display:flex}.pdash-tile-close{border:1px solid var(--line,#d9dbe4);width:34px;height:34px;color:var(--ink,#15162b);cursor:pointer;background:#fff;border-radius:999px;flex:none;font-size:15px;line-height:1}.pdash-tile-close:hover{background:#f6f7fa}.pdash-tile-detail{flex-direction:column;gap:16px;display:flex}.pdash-tile-detail .pdash-band{box-shadow:none;background:0 0;border:none;padding:0}@media (width<=720px){.pdash-grid{grid-template-columns:1fr}.pdash-tile--span2{grid-column:span 1}}.pdash-stories{flex-direction:column;gap:16px;display:flex}.pdash-chart-card{padding:clamp(18px,3vw,26px)}.pdash-chart-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.pdash-chart-head .pdash-band-title{margin:0}.pdash-keypoint{color:#2f9757;background:#e7f4ec;border:1px solid #cfe8d8;border-radius:999px;flex:none;padding:4px 12px;font-size:13px;font-weight:700}.pdash-chart{width:100%}.pdash-chart-legend{color:#4a4d63;align-items:center;gap:16px;margin-top:8px;font-size:13px;display:flex}.pdash-legend-swatch{border-radius:3px;width:12px;height:12px}.pdash-legend-note{color:var(--muted,#6b6f80);margin-left:auto;font-size:12px}.pdash-charttip{border:1px solid var(--border,#e4e6ec);color:var(--ink,#15162b);background:#fff;border-radius:12px;padding:10px 12px;font-size:13px;box-shadow:0 12px 30px #14162b24}.pdash-charttip-title{margin-bottom:6px;font-weight:700}.pdash-charttip-row{align-items:center;gap:7px;line-height:1.7;display:flex}.pdash-charttip-dot{border-radius:3px;width:10px;height:10px}.pdash-charttip-total{border-top:1px solid var(--border,#e4e6ec);color:var(--muted,#6b6f80);margin-top:5px;padding-top:5px;font-size:12px}.pdash-heatmap{position:relative}.pdash-heatmap-scroll{padding-bottom:4px}.pdash-heatmap-tip{z-index:20;pointer-events:none;white-space:nowrap;background:var(--sk-ink,#1c1917);color:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:1px;padding:6px 11px;font-size:12.5px;line-height:1.35;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px));box-shadow:0 8px 20px #00000038}.pdash-heatmap-tip-day{font-weight:700}.pdash-heatmap-tip-sub{opacity:.85}.pdash-heatmap-months{height:18px;color:var(--muted,#6b6f80);gap:clamp(3px,.45vw,8px);margin-bottom:4px;font-size:12px;display:grid}.pdash-heatmap-month{white-space:nowrap;grid-row:1}.pdash-heatmap-grid{gap:clamp(3px,.45vw,8px);width:100%;display:grid}.pdash-heatmap-week{grid-template-rows:repeat(7,1fr);gap:clamp(3px,.45vw,8px);display:grid}.pdash-heatmap-cell{aspect-ratio:1;background:#e9ebf0;border-radius:clamp(3px,.35vw,6px);width:100%}.pdash-heatmap-cell.is-empty{background:0 0}.pdash-heatmap-legend .pdash-heatmap-cell{aspect-ratio:auto;width:13px;height:13px}.pdash-heatmap-foot{color:#4a4d63;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;font-size:12px;display:flex}.pdash-heatmap-summary{font-weight:600}.pdash-heatmap-legend{color:var(--muted,#6b6f80);align-items:center;gap:4px;display:inline-flex}.pdash-band{background:var(--surface,#fff);border:1px solid var(--border,#e4e6ec);border-radius:var(--r-card,20px);box-shadow:var(--shadow-card,0 8px 24px #14162b0f);padding:clamp(20px,4vw,34px);scroll-margin-top:20px}.pdash-band-title{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);margin:0 0 6px;font-size:clamp(20px,3vw,25px)}.pdash-band-lead{color:var(--ink-soft,#4a4c66);margin:0 0 18px;font-size:15px}.pdash-cover{background:linear-gradient(155deg, #f2f6ec 0%, var(--surface,#fff) 62%);border-color:var(--sage,#cfe1bf);text-align:left;padding-top:clamp(28px,5vw,46px);padding-bottom:clamp(28px,5vw,46px)}.pdash-cover-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#4d7a4f;font-size:12px;font-weight:700}.pdash-cover-title{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);margin:8px 0 18px;font-size:clamp(30px,6vw,46px);line-height:1.08}.pdash-cover-headline{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.pdash-cover-num{font-family:var(--font-display,Fredoka, sans-serif);color:#1f7a3d;font-size:clamp(22px,4vw,30px);font-weight:700}.pdash-cover-was{color:var(--ink-muted,#8b8da3);font-size:15px;font-style:italic}.pdash-story{flex-direction:column;gap:10px;display:flex}.pdash-story-line{color:var(--ink,#15162b);margin:0;font-size:16.5px;line-height:1.55}.pdash-legend{color:var(--ink-soft,#4a4c66);flex-wrap:wrap;gap:18px;margin-bottom:18px;font-size:13px;display:flex}.pdash-legend-item{align-items:center;gap:7px;display:inline-flex}.pdash-subject{margin-top:20px}.pdash-subject:first-of-type{margin-top:0}.pdash-subject-name{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);margin:0 0 12px;font-size:17px}.pdash-chapter{margin-bottom:14px}.pdash-chapter-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.pdash-chapter-name{color:var(--ink,#15162b);font-size:14px;font-weight:600}.pdash-chapter-count{color:var(--ink-muted,#8b8da3);white-space:nowrap;font-size:12.5px}.pdash-cells{flex-wrap:wrap;gap:6px;display:flex}.pdash-cell{border:1px solid #14162b0f;border-radius:6px;flex:none;width:20px;height:20px}.pdash-cell.is-green{background:#63b17a;border-color:#4d9964}.pdash-cell.is-yellow{background:#f2d16b;border-color:#e2bd4c}.pdash-cell.is-red{background:#e08769;border-color:#cf7052}.pdash-cell.is-gray{background:#e4e6ec;border-color:#d3d6df}.pdash-mapview{background:#14162b0d;border:1px solid #14162b14;border-radius:10px;gap:2px;margin-bottom:16px;padding:3px;display:inline-flex}.pdash-mapview-tab{appearance:none;cursor:pointer;font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink-soft,#4a4c66);background:0 0;border:none;border-radius:8px;padding:5px 14px;font-size:13px;transition:background .15s,color .15s}.pdash-mapview-tab.is-active{background:var(--sk-ink,#1c1917);color:#f7f1e3}.pdash-chapmap{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.pdash-chapbox{border:1px solid #14162b0f;border-radius:12px;flex-direction:column;justify-content:space-between;gap:8px;min-height:84px;padding:12px;display:flex}.pdash-chapbox-name{color:#15162b;font-size:13.5px;font-weight:600;line-height:1.25}.pdash-chapbox-tag{font-family:var(--font-display,Fredoka, sans-serif);color:#15162bb8;background:#ffffff80;border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:11.5px}.pdash-chapbox.is-green{background:#cfe8d6;border-color:#a9d4b6}.pdash-chapbox.is-yellow{background:#f7ecc2;border-color:#ecdb95}.pdash-chapbox.is-red{background:#f2d3c6;border-color:#e3b19d}.pdash-chapbox.is-gray{background:#eceef3;border-color:#dcdfe7}.pdash-chapbox.is-gray .pdash-chapbox-name{color:#6b6d84}.pdash-detail{margin-top:6px}.pdash-detail-summary{cursor:pointer;color:var(--primary,#2f63ff);padding:4px 0;font-size:13.5px;font-weight:600;list-style:none}.pdash-detail-summary::-webkit-details-marker{display:none}.pdash-detail-summary:before{content:"▸ "}.pdash-detail[open] .pdash-detail-summary:before{content:"▾ "}.pdash-detail-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px;display:grid}.pdash-detail-card{background:var(--surface-sunk,#f5f6f8);border:1px solid var(--border,#e4e6ec);border-radius:var(--r-md,14px);padding:14px 16px}.pdash-detail-crumb{color:var(--ink-muted,#8b8da3);font-size:11.5px;font-weight:600}.pdash-detail-st{color:var(--ink,#15162b);margin:3px 0 10px;font-size:15px;font-weight:700}.pdash-detail-buckets{flex-wrap:wrap;gap:16px;margin-bottom:10px;display:flex}.pdash-bucket{flex-direction:column;gap:2px;display:flex}.pdash-bucket-label{color:var(--ink-muted,#8b8da3);font-size:11.5px;font-weight:600}.pdash-bucket-val{color:#1f7a3d;font-size:14px;font-weight:700}.pdash-bucket-val.is-none{color:var(--ink-muted,#8b8da3);font-style:italic;font-weight:500}.pdash-detail-desc{color:var(--ink-soft,#4a4c66);margin:0;font-size:13.5px;line-height:1.5}.pdash-meters-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.pdash-meter-card{background:var(--surface-sunk,#f5f6f8);border:1px solid var(--border,#e4e6ec);border-radius:var(--r-md,14px);padding:16px 18px}.pdash-meter{margin-top:14px}.pdash-meter:first-of-type{margin-top:12px}.pdash-meter-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.pdash-meter-label{color:var(--ink,#15162b);font-size:14px;font-weight:600}.pdash-meter-count{color:var(--ink-muted,#8b8da3);font-size:12.5px}.pdash-meter-track{background:#e4e6ec;border-radius:999px;height:9px;overflow:hidden}.pdash-meter-fill{background:#63b17a;border-radius:999px;height:100%;transition:width .4s}.pdash-calib{flex-wrap:wrap;gap:14px;display:flex}.pdash-calib-stat{border-radius:var(--r-md,14px);border:1px solid var(--border,#e4e6ec);flex:180px;padding:16px 18px}.pdash-calib-stat--over{background:#fff6ed;border-color:#f6d9b8}.pdash-calib-stat--under{background:#eef6f0;border-color:#c9e3d1}.pdash-calib-num{font-family:var(--font-display,Fredoka, sans-serif);color:var(--ink,#15162b);font-size:30px;line-height:1}.pdash-calib-label{color:var(--ink-soft,#4a4c66);margin-top:5px;font-size:13px}.pdash-calib-where{color:var(--ink-soft,#4a4c66);margin:14px 0 0;font-size:14px}.pdash-pace{flex-direction:column;gap:22px;display:flex}.pdash-pace-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.pdash-pace-summary{white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:700}.pdash-pace-summary.is-good{color:#1f7a3d;background:#e7f4ec;border:1px solid #cfe8d8}.pdash-pace-summary.is-warn{color:#8a5a12;background:#fbf0d8;border:1px solid #f0dcae}.pdash-pace-filters{flex-wrap:wrap;gap:6px;display:inline-flex}.pdash-pace-filter{color:var(--sk-ink-soft,#4a4642);cursor:pointer;background:0 0;border:1.5px solid #1c191747;border-radius:999px;padding:5px 14px;font-family:inherit;font-size:13px;font-weight:600}.pdash-pace-filter:hover{background:#1c19170d}.pdash-pace-filter.is-active{color:#fff;background:var(--sk-ink,#1c1917);border-color:var(--sk-ink,#1c1917)}.pdash-pace-subhead{align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.pdash-pace-subhead .pdash-subject-name{margin:0}.pdash-pace-rows{flex-direction:column;display:flex}.pdash-pace-row{border-bottom:1px dashed #1c191729;grid-template-columns:minmax(0,1fr) 120px 96px 172px 88px;align-items:center;gap:8px 14px;padding:11px 2px;display:grid}.pdash-pace-row:last-child{border-bottom:none}.pdash-pace-ch{min-width:0;color:var(--sk-ink,#1c1917);font-size:15.5px;font-weight:700}.pdash-pace-intended,.pdash-pace-actual{color:var(--sk-ink-soft,#4a4642);white-space:nowrap;font-size:13.5px}.pdash-pace-status{min-width:0;display:flex}.pdash-pace-prep{color:var(--sk-ink-soft,#4a4642);white-space:nowrap;font-size:12.5px;font-style:italic}@media (width<=760px){.pdash-pace-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}.pdash-pace-ch{grid-column:1/-1}}.pdash-pace-pill{white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700}.pdash-pace-pill.is-good{color:#1f7a3d;background:#e7f4ec;border:1px solid #cfe8d8}.pdash-pace-pill.is-warn{color:#8a5a12;background:#fbf0d8;border:1px solid #f0dcae}.pdash-pace-pill.is-bad{color:#a3341f;background:#fbe4de;border:1px solid #f0c4b8}.pdash-weak-list{flex-direction:column;gap:14px;display:flex}.pdash-weak-card{border:1px solid var(--border,#e4e6ec);border-radius:var(--r-md,14px);padding:16px 18px}.pdash-weak-note{color:var(--ink,#15162b);margin-bottom:12px;font-size:15px;line-height:1.5}.pdash-weak-where{text-transform:uppercase;letter-spacing:.05em;color:#b46a18;background:#fbecd7;border-radius:6px;margin-right:8px;padding:2px 7px;font-size:11.5px;font-weight:700;display:inline-block}.pdash-plan{background:var(--surface-sunk,#f5f6f8);border-radius:var(--r-md,14px);padding:12px 15px}.pdash-plan.is-authored{background:#eef1ff}.pdash-plan-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted,#8b8da3);margin-bottom:4px;font-size:11.5px;font-weight:700}.pdash-plan.is-authored .pdash-plan-label{color:var(--primary,#2f63ff)}.pdash-plan-text{color:var(--ink,#15162b);margin:0;font-size:14.5px;line-height:1.5}.pdash-plan-by{color:var(--ink-muted,#8b8da3);margin-top:8px;font-size:12.5px;font-style:italic}.pdash-hz-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.pdash-hz-card{border:1px solid var(--border,#e4e6ec);border-radius:var(--r-md,14px);background:var(--surface,#fff);padding:15px 17px}.pdash-hz-top{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.pdash-hz-label{color:var(--ink,#15162b);font-size:15px;font-weight:700}.pdash-hz-level{color:#1f7a3d;white-space:nowrap;font-size:12.5px;font-weight:700}.pdash-hz-level.is-none{color:var(--ink-muted,#8b8da3);font-style:italic;font-weight:500}.pdash-hz-gloss{color:var(--ink-soft,#4a4c66);margin:0 0 10px;font-size:13.5px;line-height:1.5}.pdash-hz-subjects{color:var(--ink-muted,#8b8da3);font-size:11.5px;font-weight:600}.pdash-olorin{width:var(--olorin-rail,460px);z-index:40;pointer-events:none;position:fixed;bottom:0;left:0}.pdash-olorin-art{object-fit:contain;object-position:bottom left;mix-blend-mode:multiply;-webkit-mask-composite:source-in;-webkit-user-select:none;user-select:none;width:auto;max-width:calc(100% - 8px);height:clamp(320px,72vh,700px);position:absolute;bottom:0;left:clamp(2px,1vw,18px);-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6% 90%,#0000 100%),linear-gradient(#0000 0,#000 4% 96%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 6% 90%,#0000 100%),linear-gradient(#0000 0,#000 4% 96%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.pdash-olorin-note{max-width:min(268px, calc(var(--olorin-rail,460px) - 56px));background:var(--periwinkle,#c9cdf7);color:var(--ink,#15162b);box-shadow:var(--shadow-rail,0 6px 24px #14162b1f);border-radius:16px 16px 16px 4px;padding:13px 16px;position:absolute;top:clamp(100px,13vh,156px);left:clamp(16px,2.5vw,44px)}.pdash-olorin-line{min-height:1.5em;margin:0;font-size:14px;line-height:1.5}.pdash-olorin-caret{vertical-align:-.12em;background:var(--ink,#15162b);width:2px;height:1em;margin-left:1px;animation:.9s step-end infinite pdash-caret;display:inline-block}@keyframes pdash-caret{50%{opacity:0}}.pdash-olorin-sign{color:var(--ink-soft,#4a4c66);text-align:right;opacity:0;margin-top:6px;font-size:12px;font-weight:600;transition:opacity .3s}.pdash-olorin-sign.is-in{opacity:1}.pdash-signpost{width:var(--signpost-rail,320px);z-index:5;pointer-events:none;position:fixed;top:0;right:0}.pdash-signpost-art{object-fit:contain;object-position:top right;-webkit-user-select:none;user-select:none;width:auto;max-width:calc(100% - 8px);height:clamp(260px,58vh,620px);position:absolute;top:0;right:clamp(2px,1vw,18px)}@media (width<=1023px){.pdash-signpost{display:none}}@media (width<=900px){.pdash-olorin{width:min(300px,60vw)}.pdash-olorin-art{height:clamp(200px,40vh,340px)}.pdash-olorin-note{max-width:min(220px,56vw);top:clamp(90px,12vh,130px);left:clamp(12px,4vw,40px)}}.pdash-deck{--sk-ink:#1c1917;--sk-ink-soft:#4a4642;--sk-paper:#fff;z-index:1;scroll-snap-type:y mandatory;scroll-behavior:smooth;background-color:var(--page-bg,#eef0f3);background-image:linear-gradient(var(--grid-line,#788cc81a) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line,#788cc81a) 1px, transparent 1px);color:var(--sk-ink);background-size:26px 26px;position:fixed;inset:0;overflow-y:auto}.pdash-slide{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;padding:96px clamp(14px,3vw,40px) 40px;display:flex}.pdash-sketch{width:min(1320px,96vw);min-height:min(66vh,620px);color:var(--sk-ink);flex-direction:column;justify-content:center;padding:clamp(34px,5vw,76px);display:flex;position:relative}.pdash-sketch--cover,.pdash-sketch--narration{text-align:center;align-items:center}.pdash-sketch--wide{min-height:min(72vh,680px)}.pdash-sketch-svg{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.pdash-sketch-inner{z-index:1;width:100%;position:relative}.pdash-flora{z-index:1;pointer-events:none;opacity:.9;width:clamp(74px,9vw,122px);height:clamp(74px,9vw,122px);position:absolute}.pdash-flora--tl{top:-6px;left:-6px}.pdash-flora--tr{top:-6px;right:-6px;transform:scaleX(-1)}.pdash-flora--bl{bottom:-6px;left:-6px;transform:scaleY(-1)}.pdash-flora--br{bottom:-6px;right:-6px;transform:scale(-1)}.pdash-sketch .pdash-band{box-shadow:none;background:0 0;border:none;padding:0}.pdash-sketch .pdash-band-title{color:var(--sk-ink);font-family:Caveat,cursive;font-size:clamp(28px,4vw,40px)}.pdash-sketch .pdash-band-lead,.pdash-sketch .par-muted,.pdash-sketch .pdash-story-line{color:var(--sk-ink-soft)}.pdash-plank-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.pdash-plank-title{color:var(--sk-ink);margin:0;font-family:Caveat,cursive;font-size:clamp(30px,4.4vw,46px);font-weight:700;line-height:1}.pdash-nameplate-eyebrow{font-family:var(--font-body,Inter, sans-serif);letter-spacing:.24em;text-transform:uppercase;color:var(--sk-ink-soft);font-size:13px;font-weight:600}.pdash-nameplate-name{color:var(--sk-ink);margin:6px 0 8px;font-family:Caveat,cursive;font-size:clamp(64px,13vw,148px);font-weight:700;line-height:.98}.pdash-nameplate-addr{color:var(--sk-ink-soft);font-family:EB Garamond,Georgia,serif;font-size:clamp(17px,2.4vw,26px);font-style:italic}.pdash-cover-sub{color:var(--sk-ink-soft);margin:34px 0 0;font-family:Caveat,cursive;font-size:clamp(16px,2vw,22px)}.pdash-narration-eyebrow{font-family:var(--font-body,Inter, sans-serif);letter-spacing:.2em;text-transform:uppercase;color:var(--sk-ink-soft);margin-bottom:18px;font-size:13px;font-weight:600}.pdash-narration-text{color:var(--sk-ink);max-width:48ch;min-height:4.6em;margin:0 auto;font-family:EB Garamond,Georgia,serif;font-size:clamp(22px,3vw,34px);line-height:1.5}.pdash-narration-metrics{width:100%;max-width:720px;margin:28px auto 0}.pdash-sketch--narration .pdash-hero-sign{color:var(--sk-ink-soft);margin-top:18px;font-family:Caveat,cursive;font-size:clamp(20px,2.4vw,28px)}.pdash-sketch .pdash-olorin-caret{background:var(--sk-ink)}.pdash-who-pill{z-index:60;border:1.5px solid var(--sk-ink,#1c1917);color:var(--sk-ink,#1c1917);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 18px;font-family:Caveat,cursive;font-size:19px;font-weight:700;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 6px 20px #0000001f}.pdash-who-pill:hover{background:#f6f6f4}.pdash-who-layer{z-index:150;justify-content:center;align-items:center;padding:clamp(16px,4vw,40px);display:flex;position:fixed;inset:0}.pdash-who-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14162b6b;position:absolute;inset:0}.pdash-who-card{z-index:1;border:1.5px solid var(--sk-ink,#1c1917);background:#fff;border-radius:20px;gap:clamp(16px,3vw,30px);width:min(720px,100%);max-height:min(86vh,760px);padding:clamp(20px,3vw,30px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #14162b47}.pdash-who-art{object-fit:contain;object-position:bottom center;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;flex:none;align-self:stretch;width:clamp(150px,26vw,232px)}.pdash-who-body{flex-direction:column;flex:1;min-width:0;display:flex}.pdash-who-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#6b6f80);font-size:12px;font-weight:700}.pdash-who-name{color:var(--sk-ink,#1c1917);margin:4px 0 14px;font-family:Caveat,cursive;font-size:clamp(40px,6vw,60px);line-height:1}.pdash-who-role{color:#2c2e44;margin:0 0 18px;font-size:16px;line-height:1.6}.pdash-who-soon{color:#3a3c52;border:1px dashed var(--sk-ink-soft,#4a4642);background:#f4f1ea;border-radius:14px;margin-top:auto;padding:12px 14px;font-size:14px;line-height:1.55}.pdash-who-soon-tag{letter-spacing:.06em;text-transform:uppercase;color:#7a5b12;background:#f3e2b8;border-radius:6px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.pdash-who-close{z-index:2;border:1px solid var(--line,#d9dbe4);cursor:pointer;background:#fff;border-radius:999px;width:32px;height:32px;font-size:15px;line-height:1;position:absolute;top:12px;right:12px}.pdash-who-close:hover{background:#f6f7fa}@media (width<=560px){.pdash-who-card{flex-direction:column}.pdash-who-art{align-self:center;width:100%;height:190px}}.pdash-ref-pill{z-index:60;border:1.5px solid var(--sk-ink,#1c1917);color:var(--sk-ink,#1c1917);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-family:Caveat,cursive;font-size:19px;font-weight:700;display:inline-flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000001f}.pdash-ref-pill:hover{background:#f6f6f4}.pdash-ref-pill-count{background:var(--pm-green,#2f8f5b);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-family:inherit;font-size:14px;line-height:1;display:inline-flex}@media (width<=700px){.pdash-who-pill{bottom:70px}}.pdash-add-pill{z-index:60;border:1.5px solid var(--sk-ink,#1c1917);width:44px;height:44px;color:var(--sk-ink,#1c1917);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Caveat,cursive;font-size:30px;font-weight:700;line-height:1;display:inline-flex;position:fixed;bottom:20px;left:20px;box-shadow:0 6px 20px #0000001f}.pdash-add-pill:hover{background:#f6f6f4}.pdash-add-pill-glyph{margin-top:-2px;display:block}.pdash-add-body{flex-direction:column;gap:14px;padding:4px 2px;display:flex}.pdash-add-head{color:var(--sk-ink,#1c1917);margin:0;font-size:22px;font-weight:700}.pdash-add-sub{color:#5b5750;margin:0;font-size:14px;line-height:1.5}.pdash-add-form{gap:8px;display:flex}.pdash-add-input{min-width:0;font:inherit;color:var(--sk-ink,#1c1917);background:#fff;border:1.5px solid #d6d1c7;border-radius:10px;flex:1;padding:10px 12px;font-size:15px}.pdash-add-input:focus{border-color:var(--sk-ink,#1c1917);outline:none}.pdash-add-btn{border:1.5px solid var(--sk-ink,#1c1917);background:var(--sk-ink,#1c1917);color:#fff;font:inherit;cursor:pointer;border-radius:10px;padding:10px 18px;font-size:15px;font-weight:600}.pdash-add-btn:disabled{opacity:.55;cursor:default}.pdash-add-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pdash-add-row{color:#443f39;background:#f6f4ef;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.pdash-add-who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pdash-add-status{border-radius:999px;flex:none;padding:2px 9px;font-size:12px;font-weight:600}.pdash-add-status.is-pending{color:#7a5a10;background:#f6e3b8}.pdash-add-status.is-rejected{color:#8a3a22;background:#f3d7cf}.pdash-add-status.is-linked{color:#1f6340;background:#cfe8d8}.pdash-add-err{color:#a2452b;margin:0;font-size:14px}.pdash-add-refresh{border:1.5px solid var(--pm-green,#2f8f5b);color:var(--pm-green,#2f8f5b);font:inherit;cursor:pointer;background:#fff;border-radius:10px;align-self:flex-start;padding:8px 14px;font-size:14px;font-weight:600}.pdash-ref-card{flex-direction:column;width:min(460px,100%)}.pdash-ref-body{overflow-y:auto}.pdash-ref-head{color:var(--sk-ink,#1c1917);margin:4px 0 8px;font-family:Caveat,cursive;font-size:34px;line-height:1.05}.pdash-ref-sub{color:var(--pm-ink,#1f2430);margin:0 0 16px;font-size:14px;line-height:1.55}.pdash-ref-codebox{align-items:stretch;gap:8px;margin-bottom:10px;display:flex}.pdash-ref-code{border:1.5px dashed var(--sk-ink,#1c1917);letter-spacing:.18em;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;background:#fbfbf9;border-radius:12px;flex:1;justify-content:center;align-items:center;padding:12px;font-size:24px;font-weight:700;display:flex}.pdash-ref-copy,.pdash-ref-share{appearance:none;cursor:pointer;border:1.5px solid var(--sk-ink,#1c1917);color:var(--sk-ink,#1c1917);font:inherit;background:#fff;border-radius:12px;font-size:14px;font-weight:600}.pdash-ref-copy{flex:none;padding:0 16px}.pdash-ref-copy:hover{background:#f6f6f4}.pdash-ref-share-row{gap:8px;margin-top:10px;display:flex}.pdash-ref-share{background:var(--sk-ink,#1c1917);color:#fff;flex:1;width:100%;padding:12px}.pdash-ref-share:hover{background:#33302c}.pdash-ref-share--wa{color:#08301a;background:#25d366;border-color:#1da851}.pdash-ref-share--wa:hover{background:#1fbe5b}.pdash-ref-share--ghost{color:var(--sk-ink,#1c1917);background:0 0;margin-top:8px;font-weight:600}.pdash-ref-share--ghost:hover{background:#f6f6f4}.pdash-ref-stats{gap:10px;margin-top:18px;display:flex}.pdash-ref-stat{border:1px solid var(--line,#d9dbe4);background:#fbfbfd;border-radius:12px;flex:1;padding:10px 12px}.pdash-ref-stat-n{color:var(--pm-ink,#1f2430);font-size:22px;font-weight:700;line-height:1.1;display:block}.pdash-ref-stat-l{color:#6b7280;margin-top:2px;font-size:12px;display:block}.pdash-ref-list{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pdash-ref-item{background:#f7f7f9;border-radius:9px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;font-size:13px;display:flex}.pdash-ref-item-who{word-break:break-all;font-weight:600}.pdash-ref-item-state{color:#6b7280;flex:none}.pdash-ref-item-state.is-on{color:var(--pm-green,#2f8f5b);font-weight:600}.pdash-ref-inbound{background:var(--pm-green-bg,#e7f2ec);color:#1f4d36;border-radius:10px;margin:14px 0 0;padding:10px 12px;font-size:13px;line-height:1.5}:root{--pm-green:#2f8f5b;--pm-green-bg:#e7f2ec;--pm-yellow:#c79214;--pm-yellow-bg:#f7efd8;--pm-red:#cf5f3c;--pm-red-bg:#f6e5dd;--pm-gray:#9aa0ac;--pm-gray-bg:#f0f1f4;--pm-ink:#1f2430;--pm-ink-soft:#5b6170}.pdash-pm-pill{z-index:40;appearance:none;cursor:pointer;color:var(--pm-ink);font-family:var(--font-body,Inter, sans-serif);background:#fff;border:1px solid #d7dae1;border-radius:10px;align-items:center;gap:9px;padding:9px 16px 9px 13px;font-size:14px;font-weight:600;line-height:1;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #14162b1a}.pdash-pm-pill:hover{border-color:#b9bec9;transform:translate(-50%)translateY(-1px);box-shadow:0 8px 20px #14162b29}.pdash-pm-pill-grid{grid-template-columns:1fr 1fr;gap:2px;width:15px;height:15px;display:grid}.pdash-pm-pill-grid i{border-radius:2px}.pdash-pm-pill-grid i:first-child{background:var(--pm-green)}.pdash-pm-pill-grid i:nth-child(2){background:var(--pm-yellow)}.pdash-pm-pill-grid i:nth-child(3){background:var(--pm-gray)}.pdash-pm-pill-grid i:nth-child(4){background:var(--pm-red)}.pdash-pm-layer{z-index:60;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.pdash-pm-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14182280;position:absolute;inset:0}.pdash-pm-sheet{z-index:1;background:#fff;border:1px solid #e5e7ec;border-radius:16px;width:min(1160px,96vw);max-height:92vh;padding:32px 36px 40px;position:relative;overflow-y:auto;box-shadow:0 30px 70px #0f121e59}.pdash-pm-close{z-index:2;appearance:none;cursor:pointer;width:34px;height:34px;color:var(--pm-ink-soft);background:#f7f8fa;border:1px solid #e0e2e8;border-radius:999px;font-size:14px;line-height:1;transition:background .15s,color .15s;position:absolute;top:18px;right:20px}.pdash-pm-close:hover{background:var(--pm-ink);color:#fff}.pdash-pm-head{margin-bottom:18px}.pdash-pm-title{font-family:var(--font-display,Fredoka, sans-serif);color:var(--pm-ink);margin:0;font-size:25px;line-height:1.15}.pdash-pm-sub{font-family:var(--font-body,Inter, sans-serif);color:var(--pm-ink-soft);margin:6px 0 0;font-size:14px}.pdash-pm-legend{font-family:var(--font-body,Inter, sans-serif);color:var(--pm-ink-soft);border-bottom:1px solid #eef0f3;flex-wrap:wrap;gap:20px;margin-bottom:8px;padding-bottom:20px;font-size:13px;display:flex}.pdash-pm-key{align-items:center;gap:8px;display:inline-flex}.pdash-pm-dot{border-radius:4px;width:14px;height:14px}.pdash-pm-dot.is-green{background:var(--pm-green)}.pdash-pm-dot.is-yellow{background:var(--pm-yellow)}.pdash-pm-dot.is-red{background:var(--pm-red)}.pdash-pm-dot.is-gray{background:var(--pm-gray)}.pdash-pm-body{flex-direction:column;gap:30px;padding-top:22px;display:flex}.pdash-pm-subject-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.pdash-pm-subject-name{font-family:var(--font-display,Fredoka, sans-serif);color:var(--pm-ink);margin:0;font-size:19px}.pdash-pm-subject-sum{font-family:var(--font-body,Inter, sans-serif);color:var(--pm-ink-soft);white-space:nowrap;font-size:13px;font-weight:600}.pdash-pm-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.pdash-pm-tile{font-family:var(--font-body,Inter, sans-serif);background:#fff;border:1px solid #e6e8ed;border-left-width:4px;border-radius:11px;padding:14px 15px 15px}.pdash-pm-tile.is-green{border-left-color:var(--pm-green);background:var(--pm-green-bg)}.pdash-pm-tile.is-yellow{border-left-color:var(--pm-yellow);background:var(--pm-yellow-bg)}.pdash-pm-tile.is-red{border-left-color:var(--pm-red);background:var(--pm-red-bg)}.pdash-pm-tile.is-gray{border-left-color:var(--pm-gray);background:var(--pm-gray-bg)}.pdash-pm-tile-name{color:var(--pm-ink);font-size:14.5px;font-weight:700;line-height:1.25}.pdash-pm-tile-meta{justify-content:space-between;align-items:baseline;gap:8px;margin:7px 0 10px;display:flex}.pdash-pm-tile-state{text-transform:capitalize;font-size:12.5px;font-weight:600}.pdash-pm-tile.is-green .pdash-pm-tile-state{color:var(--pm-green)}.pdash-pm-tile.is-yellow .pdash-pm-tile-state{color:#a9790a}.pdash-pm-tile.is-red .pdash-pm-tile-state{color:var(--pm-red)}.pdash-pm-tile.is-gray .pdash-pm-tile-state{color:var(--pm-gray)}.pdash-pm-tile-count{color:var(--pm-ink-soft);white-space:nowrap;font-size:12px}.pdash-pm-tile-bar{background:#14182214;border-radius:999px;height:6px;overflow:hidden}.pdash-pm-tile-fill{border-radius:999px;height:100%;transition:width .4s;display:block}.pdash-pm-tile.is-green .pdash-pm-tile-fill{background:var(--pm-green)}.pdash-pm-tile.is-yellow .pdash-pm-tile-fill{background:var(--pm-yellow)}.pdash-pm-tile.is-red .pdash-pm-tile-fill{background:var(--pm-red)}.pdash-pm-tile.is-gray .pdash-pm-tile-fill{background:var(--pm-gray)}@media (width<=560px){.pdash-pm-sheet{padding:26px 18px 30px}.pdash-pm-title{font-size:21px}}.pdash-kids{z-index:41;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);scrollbar-width:none;background:#ffffffd1;border-radius:12px;align-items:center;gap:6px;max-width:min(46vw,520px);padding:4px;display:flex;position:fixed;top:16px;left:16px;overflow-x:auto;box-shadow:0 4px 14px #14162b1a}.pdash-kids::-webkit-scrollbar{display:none}.pdash-kid{appearance:none;cursor:pointer;color:var(--pm-ink-soft,#5b6170);font-family:var(--font-body,Inter, sans-serif);background:0 0;border:1px solid #0000;border-radius:9px;flex:none;align-items:center;gap:7px;padding:5px 11px 5px 5px;font-size:13.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.pdash-kid:hover{color:var(--pm-ink,#1f2430);background:#f1f2f6}.pdash-kid.is-current{color:var(--pm-ink,#1f2430);cursor:default;background:#fff;border-color:#c9ced9}.pdash-kid-avatar{color:#3f4657;background:#e6e9f0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid}.pdash-kid.is-current .pdash-kid-avatar{color:#2149b8;background:#dfe6ff}.pdash-kid-name{white-space:nowrap}.pdash-kid-all{padding:5px 11px;font-weight:600}@media (width<=900px){.pdash-kids{max-width:calc(100vw - 32px)}.pdash-kid-name{display:none}.pdash-kid{padding:5px}.pdash-kid-all{padding:5px 9px}}.pdash-trend-chips{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin:-4px 0 10px;display:flex}.pdash-trend-chip{appearance:none;cursor:pointer;color:var(--pm-ink-soft,#5b6170);font-family:var(--font-body,Inter, sans-serif);background:#fff;border:1px solid #d7dae1;border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,border-color .15s}.pdash-trend-chip:hover{color:var(--pm-ink,#1f2430);border-color:#b9bec9}.pdash-trend-chip.is-on{background:var(--sk-ink,#1c1917);border-color:var(--sk-ink,#1c1917);color:#fff}@media (width<=620px){.pdash-trend-chips{justify-content:flex-start}}.shire-root{flex-direction:column;min-height:100dvh;display:flex}.shire-top{justify-content:space-between;align-items:center;gap:12px;padding:18px 24px;display:flex}.shire-who{color:var(--ink-soft);font-size:14px;font-weight:600}.shire-signout{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--ink-muted);cursor:pointer;background:0 0;padding:7px 16px;font-size:13.5px}.shire-signout:hover{color:var(--ink-soft);background:var(--surface-sunk)}.shire-stage{flex:1;place-items:center;padding:16px 20px 64px;display:grid}.shire-board{flex-direction:column;align-items:center;width:min(560px,100%);display:flex}.shire-signs{flex-direction:column;align-items:center;width:100%;padding-bottom:76px;display:flex;position:relative}.shire-mast{z-index:0;background:repeating-linear-gradient(#5a3a1821 0 2px,#5a3a1800 2px 9px),linear-gradient(90deg,#8d6538 0%,#b98a55 34%,#a3743f 68%,#7d5730 100%);border-radius:3px;width:26px;margin-left:-13px;position:absolute;top:6px;bottom:0;left:50%;box-shadow:0 8px 18px #50320f38}.shire-plank{z-index:1;text-align:center;color:#3a2410;background:linear-gradient(#fff3,#00000012),repeating-linear-gradient(90deg,#7850220d 0 3px,#78502200 3px 14px),linear-gradient(90deg,#d8a86a,#c9955a 40%,#d3a163 70%,#c08a4e);border:2px solid #9a6f3f;border-radius:5px;margin:0;position:relative;box-shadow:0 8px 18px #50320f33}.shire-plank:before,.shire-plank:after{content:"";background:#6b4a24bf;border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;left:50%;box-shadow:inset 0 1px #fff6}.shire-plank:before{top:5px}.shire-plank:after{bottom:5px}.shire-plank--eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#5c3c1c;margin-bottom:20px;padding:11px 26px;font-size:12px;font-weight:700;transform:rotate(-2.4deg)}.shire-plank--head{color:#33200d;margin-bottom:22px;padding:12px 34px;font-family:Caveat,Bradley Hand,cursive;font-size:clamp(30px,7vw,44px);font-weight:600;line-height:1.1;transform:rotate(1.6deg)}.shire-plank--number{letter-spacing:.01em;color:#2b1908;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);border-radius:5px 0 0 5px;padding:15px 52px 15px 34px;font-size:clamp(23px,6.6vw,36px);font-weight:800;line-height:1.2;text-decoration:none;display:block;transform:rotate(-1.4deg)}.shire-plank--number:hover{filter:brightness(1.05)}.shire-plank--number:focus-visible{outline-offset:3px;outline:3px solid #2b1908}.shire-note{z-index:1;text-align:center;max-width:42ch;margin-top:30px;position:relative}.shire-body{color:var(--ink-soft,#4b3018);margin:0 0 10px;font-size:15px;line-height:1.6}.shire-foot{color:var(--ink-muted,#6b5844);margin:0;font-size:14px;line-height:1.55}.shire-switch{border-top:1px dashed var(--border,#d9cbb6);color:var(--ink-muted,#6b5844);margin:18px 0 0;padding-top:14px;font-size:13px;line-height:1.6}.shire-switch-lead{color:var(--ink-muted,#6b5844)}.shire-switch-btn{font:inherit;color:var(--primary,#1f6f4a);cursor:pointer;background:0 0;border:none;margin-right:12px;padding:0;font-weight:600;text-decoration:underline}.shire-switch-btn:last-child{margin-right:0}.shire-switch-btn:hover{color:var(--primary-hover,#17573a)}.shire-link{text-align:left;margin:18px 0 4px}.shire-link-form{flex-wrap:wrap;gap:8px;display:flex}.shire-link-input{border:1px solid var(--border,#d9cbb6);min-width:0;font:inherit;color:var(--ink,#2b1908);background:#ffffffb3;border-radius:9px;flex:100%;padding:10px 12px;font-size:14px}.shire-link-input::placeholder{color:var(--ink-muted,#6b5844);opacity:.8}.shire-link-input:focus{border-color:var(--primary,#1f6f4a);background:#fff;outline:none}.shire-link-btn{font:inherit;color:#fff;background:var(--primary,#1f6f4a);cursor:pointer;border:none;border-radius:9px;flex:none;padding:10px 16px;font-size:14px;font-weight:600}.shire-link-btn:hover{background:var(--primary-hover,#17573a)}.shire-link-btn:disabled{opacity:.5;cursor:default}.shire-link-input--code{text-transform:uppercase;letter-spacing:.08em;font-variant-numeric:tabular-nums;flex:1 1 0;min-width:130px}.shire-link-input--code::placeholder{text-transform:none;letter-spacing:normal}.shire-link-hint{color:var(--ink-muted,#6b5844);margin:8px 0 0;font-size:12.5px;line-height:1.45}.shire-link-code-note{color:#b06a4a;margin:8px 0 0;font-size:13px;font-weight:600}.shire-link-code-note.is-ok{color:var(--primary,#1f6f4a)}.shire-link-error{color:#9b1c1c;margin:10px 0 0;font-size:13px}.shire-link-list{flex-direction:column;gap:7px;margin:12px 0 0;padding:0;list-style:none;display:flex}.shire-link-item{color:var(--ink-soft,#4b3018);align-items:baseline;gap:8px;font-size:13px;display:flex}.shire-link-item--off{color:var(--ink-muted,#6b5844)}.shire-link-dot{border-radius:50%;flex:none;width:8px;height:8px;transform:translateY(1px)}.shire-link-dot--wait{background:#c79214}.shire-link-dot--off{background:#b06a4a}.shire-link-id{word-break:break-all;font-weight:600}.shire-link-state{color:var(--ink-muted,#6b5844)}.shire-link--done{text-align:center}.shire-link-done-head{color:var(--primary,#1f6f4a);margin:0;font-size:16px;font-weight:700}.shire-link-done-sub{color:var(--ink-soft,#4b3018);margin:4px 0 12px;font-size:14px}@media (width<=480px){.shire-link-form{flex-wrap:wrap}.shire-link-btn{width:100%}.shire-signs{padding-bottom:58px}.shire-mast{width:20px;margin-left:-10px}.shire-plank--head{padding:10px 20px}.shire-plank--number{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);padding:13px 40px 13px 22px}.shire-note{margin-top:24px}}@media (prefers-reduced-motion:reduce){.shire-plank{transform:none}}.adm-root{background:var(--paper,#f5f2ee);min-height:100vh;color:var(--ink,#1c1a17);padding:28px clamp(16px,4vw,48px)}.adm-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.adm-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft,#6b6459);font-size:12px}.adm-title{margin:2px 0 0;font-size:24px;font-weight:650}.adm-signout{border:1px solid var(--line,#ddd6 cc);cursor:pointer;background:#fff;border-radius:8px;padding:8px 14px;font-size:13px}.adm-header-right{align-items:center;gap:12px;display:flex}.adm-board-switch{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft,#6b6459);align-items:center;gap:8px;font-size:12px;display:flex}.adm-board-select{width:auto;min-width:130px;margin:0}.adm-newsubject{gap:8px;margin-bottom:12px;display:flex}.adm-newsubject .adm-input{flex:1;min-width:0}.adm-newsubject .adm-select{width:auto;min-width:110px;margin:0}.adm-subject-list{margin:0;padding:0;list-style:none}.adm-subject-row{border:1px solid var(--line,#e6e0d6);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;display:flex}.adm-subject-name{font-weight:550}.adm-subject-count{color:var(--ink-soft,#6b6459);font-size:12px}.adm-error{color:#9b1c1c;white-space:pre-wrap;background:#fdecec;border:1px solid #f3b4b4;border-radius:8px;margin-bottom:16px;padding:10px 14px}.adm-ok{color:#1c6b3a;background:#eaf7ee;border:1px solid #a6d9b8;border-radius:8px;margin-bottom:16px;padding:10px 14px}.adm-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}@media (width<=880px){.adm-grid{grid-template-columns:1fr}}.adm-panel{border:1px solid var(--line,#e6e0d7);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:18px;display:flex}.adm-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft,#6b6459);font-size:12px;font-weight:600}.adm-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.adm-upload{border:1px solid var(--line,#ddd6cc);color:var(--blue,#2563eb);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.adm-upload:hover{background:#f2f6ff}.adm-filename{color:var(--ink-soft,#8a8175);font-family:ui-monospace,monospace;font-size:12px}.adm-select{border:1px solid var(--line,#ddd6cc);background:#fff;border-radius:8px;padding:9px 10px;font-size:14px}.adm-textarea{border:1px solid var(--line,#ddd6cc);resize:vertical;border-radius:8px;min-height:300px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.adm-btn{background:var(--blue,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:10px 18px;font-size:14px;font-weight:600}.adm-btn:disabled{opacity:.45;cursor:not-allowed}.adm-btn-commit{background:#1c6b3a;margin-top:12px}.adm-muted{color:var(--ink-soft,#8a8175);font-size:14px}.adm-invalid{color:#7a5a12;background:#fff7e6;border:1px solid #f0d089;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:13px}.adm-invalid ul{margin:6px 0 0 18px}.adm-preview{border:1px solid var(--line,#eee7dd);border-radius:8px;max-height:460px;padding:12px;overflow-y:auto}.adm-topic{margin-bottom:14px}.adm-topic-name{border-bottom:1px solid var(--line,#eee7dd);margin-bottom:8px;padding-bottom:4px;font-size:15px;font-weight:650}.adm-sub{margin:0 0 10px 8px}.adm-sub-name{margin-bottom:4px;font-size:13.5px;font-weight:600}.adm-los{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.adm-los li{align-items:baseline;gap:8px;font-size:13px;display:flex}.adm-axis{color:#fff;border-radius:5px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex}.adm-axis-conceptual{background:#2563eb}.adm-axis-procedural{background:#e87b35}.adm-code{color:var(--ink-soft,#8a8175);flex:none;font-family:ui-monospace,monospace;font-size:11.5px}.adm-lo-desc{color:var(--ink,#33302b)}.adm-thresholds{color:var(--ink-soft,#6b6459);margin-top:8px;font-size:12.5px}.adm-progress{margin-top:10px}.adm-progress-track{background:var(--line,#e6e0d7);border-radius:999px;height:6px;position:relative;overflow:hidden}.adm-progress-bar{background:var(--blue,#2563eb);border-radius:999px;width:35%;height:100%;animation:1.2s ease-in-out infinite adm-progress-slide;position:absolute;top:0;left:0}@keyframes adm-progress-slide{0%{left:-35%}to{left:100%}}.adm-progress-hint{color:var(--ink-soft,#8a8175);margin:6px 0 0;font-size:12.5px}.adm-tabs{border-bottom:1px solid var(--line,#e6e0d7);flex-wrap:wrap;gap:6px;margin:-8px 0 20px;display:flex}.adm-tab{color:var(--ink-soft,#6b6459);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px 10px;font-size:13.5px;font-weight:550}.adm-tab:hover{color:var(--ink,#33302b)}.adm-tab-on{color:var(--ink,#1c1a17);border-bottom-color:#2563eb}.adm-hint{color:var(--ink-soft,#6b6459);margin:-4px 0 2px;font-size:12.5px;line-height:1.45}.adm-row{align-items:center;gap:8px;display:flex}.adm-row .adm-select{flex:none;width:auto}.adm-row .adm-input{flex:1;min-width:0}.adm-input{border:1px solid var(--line,#e6e0d7);color:var(--ink,#1c1a17);background:#fff;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}.adm-input:focus{border-color:#2563eb;outline:none}.adm-table{border-collapse:collapse;width:100%;font-size:13px}.adm-table th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft,#8a8175);border-bottom:1px solid var(--line,#e6e0d7);padding:0 0 6px;font-size:11px;font-weight:600}.adm-table td{border-bottom:1px solid var(--line-soft,#f0ebe3);vertical-align:top;padding:10px 0}.adm-table td:last-child{white-space:nowrap;width:1%;padding-left:12px}.adm-person-name{font-weight:600}.adm-person-email{color:var(--ink-soft,#8a8175);word-break:break-all;font-size:12px}.adm-you{letter-spacing:.05em;text-transform:uppercase;color:#2563eb;background:#eaf0ff;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:10.5px;font-weight:600}.adm-blocked{color:#9b6b1c;margin-top:3px;font-size:11.5px}.adm-found{border:1px solid var(--line,#e6e0d7);background:#fbfaf8;border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.adm-found-email{color:var(--ink-soft,#8a8175);word-break:break-all;margin-left:8px;font-size:12px}.adm-found-state{color:var(--ink-soft,#6b6459);font-size:12.5px}.adm-links{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adm-links li{border-bottom:1px solid var(--line-soft,#f0ebe3);align-items:center;gap:8px;padding:7px 0;font-size:13px;display:flex}.adm-kind{letter-spacing:.05em;text-transform:uppercase;color:#fff;border-radius:4px;flex:none;padding:2px 6px;font-size:10.5px;font-weight:700}.adm-kind-tutor{background:#2563eb}.adm-kind-parent{background:#e87b35}.adm-link-people{word-break:break-word;flex:1;min-width:0}.adm-unlink{border:1px solid var(--line,#e6e0d7);cursor:pointer;color:#9b1c1c;background:#fff;border-radius:7px;flex:none;padding:4px 10px;font-size:12px}.adm-unlink:hover{background:#fdecec;border-color:#f3b4b4}.adm-unlink:disabled{opacity:.5;cursor:default}.adm-groups{flex-direction:column;gap:12px;display:flex}.adm-group{border:1px solid var(--line,#e6e0d7);background:#fff;border-radius:9px;padding:10px 12px}.adm-group-head{align-items:center;gap:8px;display:flex}.adm-group-name{word-break:break-word;flex:1;min-width:0;font-size:13.5px;font-weight:600}.adm-group-count{color:var(--ink-soft,#6b6459);background:var(--wash,#f6f2ea);border-radius:20px;flex:none;padding:2px 10px;font-size:12px;font-weight:600}.adm-group-email{color:var(--ink-soft,#6b6459);word-break:break-all;margin:2px 0 0;font-size:12px}.adm-group .adm-links{margin-top:6px}.adm-group-empty{margin:6px 0 0}.adm-tab-badge{text-align:center;color:#fff;vertical-align:1px;background:#e87b35;border-radius:9px;min-width:17px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:700;line-height:17px;display:inline-block}.adm-req-list{flex-direction:column;gap:12px;margin-top:10px;display:flex}.adm-req{border:1px solid var(--line,#e6e0d7);background:#fbfaf8;border-radius:10px;padding:14px}.adm-req-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.adm-req-name{font-weight:600}.adm-req-email{color:var(--ink-soft,#8a8175);word-break:break-all;font-size:12px}.adm-req-identifier{color:var(--ink-soft,#6b6459);margin:6px 0 10px;font-size:12.5px}.adm-req-identifier b{color:var(--ink,#33302b);word-break:break-all}.adm-req-empty{margin:0 0 10px}.adm-req-candidates{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.adm-req-cand{border:1px solid var(--line,#e6e0d7);cursor:pointer;background:#fff;border-radius:8px;align-items:flex-start;gap:9px;padding:9px 10px;display:flex}.adm-req-cand:hover{border-color:#c9c0b2}.adm-req-cand input{flex:none;margin-top:3px}.adm-req-cand-off{opacity:.6;cursor:default}.adm-req-cand-off:hover{border-color:var(--line,#e6e0d7)}.adm-req-cand-body{flex-direction:column;gap:1px;min-width:0;display:flex}.adm-req-cand-name{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:13px;font-weight:600;display:flex}.adm-req-cand-class{color:var(--ink-soft,#8a8175);font-size:11px;font-weight:500}.adm-req-cand-email{color:var(--ink-soft,#8a8175);word-break:break-all;font-size:12px}.adm-req-cand-flag{color:#9b6b1c;margin-top:2px;font-size:11.5px}.adm-req-note{color:var(--ink-soft,#8a8175);margin:0 0 10px;font-size:12px}.adm-req-actions{align-items:center;gap:8px;display:flex}.adm-req-actions .adm-btn{flex:none}.adm-btn-sm{border-radius:7px;align-self:center;padding:5px 11px;font-size:12.5px}.adm-btn-ghost{color:var(--ink-soft,#8a8175);border:1px solid var(--border,#d9cbb6);background:0 0}.adm-btn-ghost:hover:not(:disabled){color:var(--ink,#2b1908);background:#fbf7f0}.adm-ref-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.adm-ref-row{border:1px solid var(--border,#d9cbb6);background:#fffdfa;border-radius:12px;padding:12px 14px}.adm-ref-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.adm-ref-pair{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.adm-ref-name{font-size:14px;font-weight:600}.adm-ref-kind{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft,#8a8175);background:#efe9dd;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:600}.adm-ref-arrow{color:var(--ink-soft,#8a8175)}.adm-ref-status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:3px 9px;font-size:11.5px;font-weight:700}.adm-ref-status--pending{color:#9b6b1c;background:#f7efd8}.adm-ref-status--qualified{color:#1c6b3a;background:#e7f2ec}.adm-ref-status--void{color:#6b7280;background:#f0f1f4}.adm-ref-meta{color:var(--ink-soft,#8a8175);word-break:break-all;flex-wrap:wrap;align-items:center;gap:7px;margin-top:6px;font-size:12px;display:flex}.adm-ref-code{letter-spacing:.1em;color:var(--ink,#2b1908);background:#f3ede2;border-radius:5px;padding:2px 7px;font-weight:700}.adm-ref-rewards{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.adm-ref-reward{background:#f7f4ee;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.adm-ref-reward-l{flex:1;min-width:160px}.adm-ref-chip{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;padding:2px 7px;font-size:11px;font-weight:600}.adm-ref-chip--pending{color:#9b6b1c;background:#f7efd8}.adm-ref-chip--redeemed{color:#1c6b3a;background:#e7f2ec}.adm-ref-chip--void{color:#6b7280;background:#eceef2}.adm-ref-when{flex:none;font-size:12px}.adm-ref-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.adm-ref-actions .adm-btn{flex:none;align-self:center}@media (width<=560px){.adm-row{flex-wrap:wrap}.adm-table td:last-child{white-space:normal}.adm-ref-reward-l{min-width:100%}}.adm-copy-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:22px;display:grid}.adm-copy-rail{flex-direction:column;gap:4px;max-height:calc(100vh - 140px);padding-right:4px;display:flex;position:sticky;top:12px;overflow-y:auto}.adm-copy-rail-title{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft,#8a8175);margin:0 0 6px;font-size:13px;font-weight:700}.adm-copy-rail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft,#8a8175);margin:12px 0 2px;font-size:11px;font-weight:600}.adm-copy-rail-empty{font-size:13px}.adm-copy-scope{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.adm-copy-scope:hover{background:#f6f4f0}.adm-copy-scope.is-active{border-color:var(--blue,#2563eb);background:#eef3ff}.adm-copy-scope-name{color:var(--ink,#2b2620);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.adm-copy-scope-sub{color:var(--ink-soft,#8a8175);font-size:12px}.adm-copy-count{color:#2149b8;text-align:center;background:#e5edff;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px;font-weight:700}.adm-copy-badge--board{color:#5d5648;background:#f1efea}.adm-copy-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.adm-copy-title{margin:0 0 4px;font-size:19px;font-weight:700}.adm-copy-sub{max-width:62ch;color:var(--ink-soft,#8a8175);margin:0;font-size:14px;line-height:1.5}.adm-copy-filter{min-width:200px}.adm-copy-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.adm-copy-row{border:1px solid var(--line,#e6e0d7);background:#fdfdfc;border-left:3px solid #0000;border-radius:10px;grid-template-columns:1fr auto;grid-template-areas:"key key""input input""meta actions";gap:6px 12px;padding:12px 14px;display:grid}.adm-copy-row.is-overridden{border-left-color:var(--blue,#2563eb);background:#fff}.adm-copy-key{grid-area:key;align-items:center;gap:8px;display:flex}.adm-copy-key code{color:var(--ink-soft,#8a8175);font-size:12px}.adm-copy-badge{color:#2149b8;background:#e5edff;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.adm-copy-input{border:1px solid var(--line,#e6e0d7);width:100%;font:inherit;resize:vertical;border-radius:8px;grid-area:input;padding:8px 10px;font-size:14px;line-height:1.5}.adm-copy-input:focus{border-color:var(--blue,#2563eb);outline:none}.adm-copy-meta{min-width:0;color:var(--ink-soft,#8a8175);flex-direction:column;grid-area:meta;gap:2px;font-size:12px;display:flex}.adm-copy-tokens code{color:#5d5648;background:#f1efea;border-radius:4px;margin-right:5px;padding:1px 5px}.adm-copy-tokens--none{font-style:italic}.adm-copy-default{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adm-copy-actions{grid-area:actions;align-items:flex-end;gap:8px;display:flex}.adm-copy-save{align-self:auto;padding:7px 14px;font-size:14px}.adm-copy-revert{color:var(--ink-soft,#8a8175);border:1px solid var(--line,#e6e0d7);background:#fff;align-self:auto;padding:7px 14px;font-size:14px}@media (width<=900px){.adm-copy-layout{grid-template-columns:minmax(0,1fr)}.adm-copy-rail{flex-direction:row;max-height:none;padding-bottom:6px;position:static;overflow-x:auto}.adm-copy-rail-title,.adm-copy-rail-label{display:none}.adm-copy-scope{flex:none;width:auto;min-width:160px}}@media (width<=720px){.adm-copy-row{grid-template-columns:1fr;grid-template-areas:"key""input""meta""actions"}.adm-copy-default{white-space:normal}}.adm-budget-list{flex-direction:column;gap:8px;margin-top:16px;display:flex}.adm-budget-row{border:1px solid var(--line,#e6e0d7);background:#fdfdfc;border-left:3px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) 132px 92px auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.adm-budget-row.is-overridden{border-left-color:var(--blue,#2563eb);background:#fff}.adm-budget-name{flex-direction:column;gap:2px;min-width:0;display:flex}.adm-budget-subject{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft,#8a8175);font-size:11px;font-weight:600}.adm-budget-chapter{color:var(--ink,#2b2620);font-size:14.5px;font-weight:600}.adm-budget-carved{color:var(--ink-soft,#8a8175);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;display:flex}.adm-budget-tag{color:#5d5648;background:#f1efea;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.adm-budget-input{text-align:right;width:100%}.adm-budget-actions{gap:8px;display:flex}@media (width<=760px){.adm-budget-row{grid-template-columns:minmax(0,1fr) auto}.adm-budget-carved{grid-column:1}.adm-budget-input{grid-column:2;width:90px}.adm-budget-actions{grid-column:1/-1}}.adm-ep-picker-label{margin-top:18px}.adm-ep-count{margin-top:14px}.adm-ep-topic{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft,#8a8175);margin:16px 0 6px;font-size:11px;font-weight:700}.adm-ep-row{border:1px solid var(--line,#e6e0d7);background:#fdfdfc;border-left:3px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.adm-ep-row.is-attached{border-left-color:var(--blue,#2563eb);background:#fff}.adm-ep-name{color:var(--ink,#2b2620);min-width:0;font-size:14.5px;font-weight:600}.adm-ep-state{flex-direction:column;gap:2px;min-width:0;display:flex}.adm-ep-state .adm-filename{overflow-wrap:anywhere}.adm-ep-meta{color:var(--ink-soft,#8a8175);font-size:11.5px}.adm-ep-none{color:var(--ink-soft,#8a8175);font-size:12.5px;font-style:italic}.adm-ep-actions{align-items:center;gap:8px;display:flex}.adm-upload.is-busy{opacity:.6;cursor:default}.adm-ep-remove{border:1px solid var(--line,#ddd6cc);color:#a3352b;cursor:pointer;background:#fff;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.adm-ep-remove:hover{background:#fdf4f3}.adm-ep-remove:disabled{opacity:.5;cursor:default}@media (width<=760px){.adm-ep-row{grid-template-columns:minmax(0,1fr)}.adm-ep-actions{justify-content:flex-start}}.adm-ep-drop-row{margin-top:18px}.adm-ep-hint{color:var(--ink-soft,#8a8175);margin:0 0 6px;font-size:12px;line-height:1.5}.adm-ep-pick{width:100%;margin:4px 0 6px;padding:5px 8px;font-size:12px;display:block}.adm-blocked{color:var(--ink-soft,#8a8175);margin:8px 0 0;font-size:12.5px;line-height:1.5}.adm-leftover{border:1px solid var(--line,#e6e0d7);color:var(--ink-soft,#6f675c);background:#fbfaf8;border-radius:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;line-height:1.6}.adm-leftover b{color:var(--ink,#2b2620);font-weight:600}.adm-leftover ul{margin:6px 0 0;padding-left:18px}.adm-leftover code{font-family:ui-monospace,monospace;font-size:12px}.adm-enr-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.adm-enr-summary{color:var(--ink-soft,#8a8175);margin-top:14px;font-size:13px}.adm-enr-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.adm-enr-subject{border:1px solid var(--line,#e6e0d7);background:#fdfdfc;border-left:3px solid #0000;border-radius:10px;padding:10px 14px}.adm-enr-subject.is-on{border-left-color:var(--blue,#2563eb);background:#fff}.adm-enr-subject-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.adm-enr-check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.adm-enr-check input{cursor:pointer}.adm-enr-subject-check{flex:1;min-width:0}.adm-enr-subject-name{color:var(--ink,#2b2620);font-size:14.5px;font-weight:600}.adm-enr-subject-meta{color:var(--ink-soft,#8a8175);white-space:nowrap;font-size:12.5px}.adm-enr-subject-actions{gap:6px;display:flex}.adm-enr-mini{border:1px solid var(--line,#e6e0d7);color:var(--ink-soft,#6b6459);cursor:pointer;background:#fff;border-radius:7px;padding:4px 10px;font-family:inherit;font-size:12px}.adm-enr-mini:hover:not(:disabled){color:var(--ink,#33302b);border-color:#cfc7ba}.adm-enr-mini:disabled{opacity:.45;cursor:default}.adm-enr-note{color:#7a5a12;background:#fff7e6;border:1px solid #f0d089;border-radius:8px;margin:8px 0 0;padding:7px 11px;font-size:12.5px;line-height:1.5}.adm-enr-chapters{border-top:1px solid var(--line,#e6e0d7);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 14px;margin-top:10px;padding-top:10px;display:grid}.adm-enr-chapters.is-off{opacity:.55}.adm-enr-chapter{color:var(--ink,#33302b);padding:2px 0;font-size:13px}.adm-enr-footer{border-top:1px solid var(--line,#e6e0d7);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:14px;display:flex}.adm-enr-footer .adm-btn{align-self:auto}.adm-enr-footer-note{color:var(--ink-soft,#8a8175);font-size:12.5px}.adm-enr-rail-filter{box-sizing:border-box;width:100%;min-width:0;margin-bottom:8px}@media (width<=760px){.adm-enr-subject-meta{white-space:normal}.adm-enr-chapters{grid-template-columns:minmax(0,1fr)}}.onb-root{--font-tale:"Caveat", "Bradley Hand", cursive;--font-story:"EB Garamond", Georgia, serif;background-color:var(--page-bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:26px 26px;justify-content:center;align-items:center;min-height:100vh;padding:24px 16px;display:flex;position:relative;overflow:hidden}.onb-scene{z-index:0;pointer-events:none;position:absolute;inset:0}.onb-scene img{object-fit:contain;filter:grayscale()contrast(1.05);opacity:0;mix-blend-mode:multiply;animation:1.1s ease-out forwards onb-scene-in;position:absolute}@keyframes onb-scene-in{to{opacity:var(--scene-opacity,.22)}}.onb-scene-single .onb-scene-img{aspect-ratio:3/4;--scene-opacity:.3;height:min(100vh,1100px);-webkit-mask-image:linear-gradient(to var(--fade-dir,left), black 40%, transparent 92%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%);mask-image:linear-gradient(to var(--fade-dir,left), black 40%, transparent 92%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%);-webkit-mask-composite:source-in;top:50%;transform:translateY(-50%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-scene-single.is-right .onb-scene-img{--fade-dir:left;right:0}.onb-scene-single.is-left .onb-scene-img{--fade-dir:right;left:0}.onb-scene.is-picker .onb-scene-img,.onb-scene.is-picker .onb-main-img{-webkit-mask-image:linear-gradient(to var(--fade-dir,left), black 58%, transparent 88%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%);mask-image:linear-gradient(to var(--fade-dir,left), black 58%, transparent 88%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%)}.onb-scene.is-picker.is-right .onb-scene-img,.onb-scene.is-picker .onb-main-img.is-right{right:-5%}.onb-scene.is-picker .onb-cslot-ml{left:-3%}.onb-scene-img.is-rotating{animation:1.4s ease-out forwards onb-scene-in}.onb-scene-corners .onb-corner{aspect-ratio:3/4;--scene-opacity:.36;width:clamp(190px,27vw,400px)}.onb-scene-corners .onb-corner-1{top:0;left:0;-webkit-mask-image:radial-gradient(circle at 0 0,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 0 0,#000 26%,#0000 58%)}.onb-scene-corners .onb-corner-2{animation-delay:.12s;top:0;right:0;-webkit-mask-image:radial-gradient(circle at 100% 0,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 100% 0,#000 26%,#0000 58%)}.onb-scene-corners .onb-corner-3{animation-delay:.24s;bottom:0;left:0;-webkit-mask-image:radial-gradient(circle at 0 100%,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 0 100%,#000 26%,#0000 58%)}.onb-scene-corners .onb-corner-4{animation-delay:.36s;bottom:0;right:0;-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 100% 100%,#000 26%,#0000 58%)}.onb-scene-pair .onb-pair-img{aspect-ratio:3/4;--scene-opacity:.38;height:min(92vh,900px);animation-duration:1.8s;bottom:0}.onb-scene-pair .is-left{-webkit-mask-composite:source-in;left:0;-webkit-mask-image:linear-gradient(90deg,#000 35%,#0000 90%),linear-gradient(#0000 0,#000 30%);mask-image:linear-gradient(90deg,#000 35%,#0000 90%),linear-gradient(#0000 0,#000 30%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-scene-pair .is-right{-webkit-mask-composite:source-in;right:0;-webkit-mask-image:linear-gradient(270deg,#000 35%,#0000 90%),linear-gradient(#0000 0,#000 30%);mask-image:linear-gradient(270deg,#000 35%,#0000 90%),linear-gradient(#0000 0,#000 30%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-card{z-index:1;flex-direction:column;width:100%;max-width:620px;min-height:min(520px,78vh);max-height:92vh;padding:28px 8px 20px;display:flex;position:relative}.onb-stagewrap{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.onb-stage{text-align:center;padding:8px 6px;animation:1.2s cubic-bezier(.22,1,.36,1) both onb-settle}@keyframes onb-settle{0%{transform:scale(1.18)}to{transform:scale(1)}}.onb-stage-prompt{font-family:var(--font-tale);color:var(--ink);white-space:pre-wrap;min-height:1.12em;font-size:clamp(42px,11vw,72px);font-weight:700;line-height:1.12}.onb-caret{vertical-align:-.12em;background:var(--primary);border-radius:2px;width:3px;height:1em;margin-left:3px;animation:.9s step-end infinite onb-blink;display:inline-block}@keyframes onb-blink{50%{opacity:0}}.onb-sub{max-width:46ch;color:var(--ink-soft,var(--ink-muted));font-family:var(--font-story);margin:16px auto 0;padding:0 4px;font-size:clamp(17px,2.4vw,21px);line-height:1.6;animation:.4s both onb-rise}.onb-react{text-align:center;font-family:var(--font-tale);color:var(--ink);white-space:pre-wrap;padding:20px 6px 8px;font-size:clamp(34px,7vw,50px);font-weight:700;line-height:1.15;animation:.35s both onb-rise}@keyframes onb-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onb-blurb{text-align:center;max-width:46ch;color:var(--ink-muted,#5a5a66);margin:14px auto 0;font-size:clamp(14px,2.4vw,16px);line-height:1.6;animation:.5s .45s both onb-rise}.onb-reactwrap{flex-direction:column;justify-content:center;display:flex}.onb-pika{transform-origin:50% 100%;justify-content:center;align-items:center;gap:12px;margin-top:14px;padding:4px;animation:.55s cubic-bezier(.34,1.56,.64,1) both onb-pika-enter;display:flex}@keyframes onb-pika-enter{0%{opacity:0;transform:translateY(28px)scale(.35)}to{opacity:1;transform:translateY(0)scale(1)}}.onb-pika-img{aspect-ratio:844/1254;flex:none;width:92px;height:auto;animation:1.6s ease-in-out infinite onb-pika-bob}@keyframes onb-pika-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7px)rotate(2deg)}}.onb-pika-say{background:var(--yellow);color:var(--ink);border-radius:16px 16px 16px 6px;padding:9px 14px;font-size:15px;font-weight:600;animation:.4s .45s both onb-rise}.onb-input{text-align:center;margin-top:12px;padding-top:14px;animation:.35s both onb-rise}.onb-error{color:#b23b3b;margin-bottom:8px;font-size:13px}.onb-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.onb-chips.is-big{align-items:stretch;gap:12px}.onb-chips.is-cards{align-items:stretch;gap:10px}.onb-chips.is-cards .onb-choice{background:color-mix(in srgb, var(--surface) 62%, transparent);border-color:color-mix(in srgb, var(--ink) 22%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);flex:0 140px;gap:6px;max-width:143px;padding:14px 8px 12px}.onb-chips.is-cards .onb-choice:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 86%, transparent)}.onb-chips.is-cards .onb-choice.is-companion{background:color-mix(in srgb, var(--primary) 9%, var(--surface) 62%)}.onb-choice-img{object-fit:contain;filter:drop-shadow(0 3px 5px #14162829);width:100%;height:104px;transition:transform .15s;display:block}.onb-choice:hover:not(:disabled) .onb-choice-img{transform:scale(1.06)rotate(-1.5deg)}.onb-choice.is-companion{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 7%, transparent);box-shadow:0 0 0 1px var(--primary) inset}.onb-choice-wink{color:var(--primary);text-align:center;font-size:11px;font-weight:600;line-height:1.3;animation:.4s .2s both onb-rise}.onb-other-row{text-align:center;margin-top:12px}.onb-other{border:1px dashed var(--border);border-radius:var(--r-pill);color:var(--ink-muted);background:0 0;padding:9px 18px;font-size:15px;font-weight:600;transition:border-color .15s,color .15s}.onb-other:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.onb-other:disabled{opacity:.55;cursor:default}.onb-duo{flex-direction:column;align-items:center;gap:14px;display:flex}.onb-duo-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:560px;display:flex}.onb-duo-label{font-family:var(--font-story);color:var(--ink-soft,var(--ink));font-size:clamp(19px,2.4vw,23px);font-weight:500}.onb-duo-opts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.onb-duo-empty{color:var(--ink-muted);font-size:15px}.onb-duo-cta{margin-top:6px}.onb-duo-row.is-sticker{flex-direction:column;gap:10px}.onb-duo-row.is-sticker .onb-duo-opts{flex-wrap:nowrap;justify-content:center;width:100%}.onb-duo-opts .onb-duo-sticker{background:color-mix(in srgb, var(--surface) 62%, transparent);border-color:color-mix(in srgb, var(--ink) 22%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);flex:0 104px;gap:6px;max-width:108px;padding:10px 6px 8px}.onb-duo-opts .onb-duo-sticker .onb-choice-img{height:124px}.onb-duo-opts .onb-duo-sticker:hover:not(:disabled){background:color-mix(in srgb, var(--surface) 86%, transparent)}.onb-duo-opts .onb-duo-sticker.is-picked{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 9%, var(--surface) 70%);box-shadow:0 0 0 2px var(--primary-soft)}.onb-board{color:#f4f1e4;min-width:58px;font-family:var(--font-display);background:#2f4739;border:3px solid #a9773f;border-radius:5px;padding:10px 14px;font-size:22px;font-weight:700;line-height:1;transition:transform .14s,box-shadow .14s,border-color .14s;box-shadow:inset 0 0 12px #00000059}.onb-board:hover:not(:disabled){transform:translateY(-2px)}.onb-board.is-picked{border-color:var(--primary);box-shadow:inset 0 0 12px #00000059, 0 0 0 3px var(--primary-soft)}.onb-board:disabled{opacity:.55;cursor:default}.onb-chip.is-picked{background:var(--primary);color:#fff}.onb-chips.is-lore{gap:18px}.onb-chips.is-lore .onb-chip{background:var(--surface);border:2px solid var(--ink);min-width:132px;color:var(--ink);font-family:var(--font-tale);border-radius:30px 26px 32px 24px/26px 32px 24px 30px;padding:6px 30px 10px;font-size:30px;font-weight:700;transition:transform .14s,background .14s,color .14s;box-shadow:0 3px 6px #14162814}.onb-chips.is-lore .onb-chip:nth-child(2){transform:rotate(1.4deg)}.onb-chips.is-lore .onb-chip:first-child{transform:rotate(-1.4deg)}.onb-chips.is-lore .onb-chip:hover:not(:disabled){background:var(--ink);color:var(--page-bg);transform:translateY(-2px)rotate(0)}.onb-choice{border:2px solid var(--border);border-radius:var(--r-card);background:var(--surface);cursor:pointer;text-align:center;flex-direction:column;flex:240px;align-items:center;gap:5px;max-width:300px;padding:20px 18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.onb-choice:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-card);transform:translateY(-2px)}.onb-choice:disabled{opacity:.55;cursor:default}.onb-choice-label{font-family:var(--font-display);color:var(--ink);font-size:18px;font-weight:600;line-height:1.3}.onb-choice-hint{color:var(--ink-muted);font-size:13px;line-height:1.4}.onb-chip{background:var(--primary-soft);color:var(--primary);border-radius:var(--r-pill);border:1px solid #0000;padding:13px 26px;font-size:18px;font-weight:600;transition:background .14s,transform .14s}.onb-chip:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-1px)}.onb-chip:disabled{opacity:.55;cursor:default}.onb-form{align-items:center;gap:8px;display:flex}.onb-field{min-width:0;font-family:var(--font-body);color:var(--ink);background:var(--surface-sunk);border:1px solid var(--border);border-radius:var(--r-pill);outline:none;flex:1;padding:11px 16px;font-size:15px}.onb-field:focus{border-color:var(--primary);background:var(--surface)}.onb-btn{background:var(--primary);color:#fff;border-radius:var(--r-pill);border:none;padding:11px 22px;font-size:15px;font-weight:600;transition:background .14s}.onb-btn:hover:not(:disabled){background:var(--primary-hover)}.onb-btn:disabled{opacity:.5;cursor:default}.onb-field-hint{color:var(--ink-muted);max-width:34ch;margin:8px 2px 0;font-size:13.5px;line-height:1.45}.onb-card-loader{text-align:center;justify-content:center;align-items:center;gap:14px;min-height:min(420px,70vh);max-height:none}.onb-loader-img{aspect-ratio:844/1254;width:140px;height:auto;animation:1.4s ease-in-out infinite onb-pika-bob}.onb-delivery{justify-content:center;align-items:flex-end;gap:6px;display:flex}.onb-delivery-pet{object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 4px 8px #14162833);width:auto;max-width:210px;height:150px;animation:.6s cubic-bezier(.34,1.56,.64,1) .2s both onb-pika-enter}.onb-delivery-say{max-width:34ch;animation:.4s .5s both onb-rise}.onb-loader-title{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:600}.onb-loader-line{color:var(--ink-muted);min-height:20px;font-size:14px}.onb-loader-bar{background:var(--surface-sunk);border-radius:var(--r-pill);width:190px;height:6px;overflow:hidden}.onb-loader-bar span{border-radius:var(--r-pill);background:var(--primary);width:40%;height:100%;animation:1.2s ease-in-out infinite onb-slide;display:block}@keyframes onb-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.onb-scene.is-sticker .onb-scene-img{aspect-ratio:auto;mix-blend-mode:normal;filter:grayscale()contrast(1.05);--scene-opacity:.5;width:auto;max-width:34vw;height:min(52vh,460px);-webkit-mask-image:linear-gradient(to var(--fade-dir,left), black 45%, transparent 96%);mask-image:linear-gradient(to var(--fade-dir,left), black 45%, transparent 96%)}@media (prefers-reduced-motion:reduce){.onb-pika-img,.onb-loader-img,.onb-loader-bar span,.onb-caret,.onb-stage,.onb-sub,.onb-react,.onb-input,.onb-pika,.onb-pika-say,.onb-delivery-pet,.onb-delivery-say{animation:none}}@media (width<=520px){.onb-root{padding:0}.onb-card{max-width:none;height:100dvh;min-height:0;max-height:none;padding:20px 16px 16px}.onb-chips.is-big{flex-direction:column}.onb-chips.is-big .onb-choice{max-width:none;padding:16px}.onb-chips.is-cards .onb-choice{flex:0 calc(33.333% - 7px);max-width:none;padding:10px 6px 8px}.onb-choice-img{height:78px}.onb-chips.is-cards .onb-choice-img{height:68px}.onb-delivery-pet{max-width:150px;height:104px}.onb-loader-img{width:104px}.onb-duo-row{flex-direction:column;gap:8px}.onb-duo-label{text-align:center;font-size:17px}.onb-form{flex-wrap:wrap}.onb-field{flex:100%;order:-1}}.onb-scene-collage .onb-main-img{aspect-ratio:3/4;--scene-opacity:.3;height:min(100vh,1100px);-webkit-mask-image:linear-gradient(to var(--fade-dir,left), black 40%, transparent 92%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%);mask-image:linear-gradient(to var(--fade-dir,left), black 40%, transparent 92%), linear-gradient(to bottom, transparent 0, black 14%, black 86%, transparent 100%);-webkit-mask-composite:source-in;top:50%;transform:translateY(-50%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-scene-collage .onb-main-img.is-right{--fade-dir:left;right:0}.onb-scene-collage .onb-main-img.is-left{--fade-dir:right;left:0}.onb-cslot{aspect-ratio:3/4;--scene-opacity:.36;width:clamp(190px,27vw,400px)}.onb-cslot-tl{top:0;left:0;-webkit-mask-image:radial-gradient(circle at 0 0,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 0 0,#000 26%,#0000 58%)}.onb-cslot-tr{top:0;right:0;-webkit-mask-image:radial-gradient(circle at 100% 0,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 100% 0,#000 26%,#0000 58%)}.onb-cslot-bl{bottom:0;left:0;-webkit-mask-image:radial-gradient(circle at 0 100%,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 0 100%,#000 26%,#0000 58%)}.onb-cslot-br{bottom:0;right:0;-webkit-mask-image:radial-gradient(circle at 100% 100%,#000 26%,#0000 58%);mask-image:radial-gradient(circle at 100% 100%,#000 26%,#0000 58%)}.onb-cslot-ml,.onb-cslot-mr{--scene-opacity:.32;-webkit-mask-composite:source-in;width:auto;height:min(62vh,560px);top:50%;transform:translateY(-50%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-cslot-ml{left:0;-webkit-mask-image:linear-gradient(90deg,#000 30%,#0000 94%),linear-gradient(#0000 0,#000 20% 80%,#0000 100%);mask-image:linear-gradient(90deg,#000 30%,#0000 94%),linear-gradient(#0000 0,#000 20% 80%,#0000 100%)}.onb-cslot-mr{right:0;-webkit-mask-image:linear-gradient(270deg,#000 30%,#0000 94%),linear-gradient(#0000 0,#000 20% 80%,#0000 100%);mask-image:linear-gradient(270deg,#000 30%,#0000 94%),linear-gradient(#0000 0,#000 20% 80%,#0000 100%)}.onb-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:8px 6px;animation:1.2s cubic-bezier(.22,1,.36,1) backwards onb-settle;display:flex}.onb-page-title{font-family:var(--font-tale);color:var(--ink);max-width:22ch;font-size:clamp(34px,7vw,54px);font-weight:700;line-height:1.12;animation:.35s both onb-rise}.onb-page-text{max-width:48ch;font-family:var(--font-story);color:var(--ink-soft,var(--ink));white-space:pre-wrap;margin-top:16px;font-size:clamp(18px,2.9vw,24px);line-height:1.6}.onb-page-cta{margin-top:20px;animation:.35s both onb-rise}.onb-page-sticker{margin-top:16px}.onb-page-sticker img{object-fit:contain;filter:drop-shadow(0 4px 8px #14162833);transform-origin:50% 100%;width:auto;max-width:180px;height:120px;animation:.55s cubic-bezier(.34,1.56,.64,1) both onb-pika-enter}.onb-bubble-row{margin-top:18px}.onb-bubble{background:var(--surface);border:2px solid var(--ink);max-width:40ch;font-family:var(--font-display);color:var(--ink);border-radius:16px;padding:10px 18px;font-size:clamp(14px,2.4vw,17px);font-weight:600;line-height:1.4;animation:.45s cubic-bezier(.34,1.56,.64,1) .15s both onb-pika-enter;display:inline-block;position:relative;transform:rotate(-1.2deg);box-shadow:0 3px 6px #14162814}.onb-bubble:after{content:"";background:var(--surface);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);width:13px;height:13px;position:absolute;bottom:-8px;left:26px;transform:rotate(45deg)}.onb-bubble-by{letter-spacing:.04em;color:var(--ink-muted);margin-top:4px;font-size:12px;font-weight:600;display:block}.onb-trio{justify-content:center;align-items:flex-end;gap:clamp(14px,4vw,40px);margin-top:20px;display:flex}.onb-trio-fig{flex-direction:column;align-items:center;gap:6px;margin:0;animation:.5s backwards onb-rise;display:flex}.onb-trio-fig:nth-child(2){animation-delay:.15s}.onb-trio-fig:nth-child(3){animation-delay:.3s}.onb-trio-art{aspect-ratio:3/4;object-fit:contain;filter:grayscale()contrast(1.05);mix-blend-mode:multiply;--scene-opacity:.68;opacity:0;-webkit-mask-composite:source-in;height:clamp(190px,36vh,330px);animation:.9s ease-out .6s forwards onb-scene-in;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%),linear-gradient(#0000 0,#000 14% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%),linear-gradient(#0000 0,#000 14% 88%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-trio-sticker{object-fit:contain;filter:drop-shadow(0 4px 8px #14162833);width:auto;max-width:220px;height:clamp(120px,23vh,210px)}.onb-trio-fig figcaption{font-family:var(--font-tale);color:var(--ink-soft,var(--ink));font-size:clamp(20px,2.6vw,26px);font-weight:700}.onb-epi{flex-direction:column;align-items:center;gap:16px;animation:.5s backwards onb-rise;display:flex}.onb-epi-art{aspect-ratio:3/4;object-fit:contain;filter:grayscale()contrast(1.05);mix-blend-mode:multiply;--scene-opacity:.55;opacity:0;-webkit-mask-composite:source-in;height:min(56vh,520px);animation:.9s ease-out .55s forwards onb-scene-in;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%),linear-gradient(#0000 0,#000 14% 88%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%),linear-gradient(#0000 0,#000 14% 88%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-epi-say{font-family:var(--font-tale);color:var(--ink);white-space:pre-wrap;max-width:44ch;min-height:3em;font-size:clamp(26px,4.4vw,40px);font-weight:700;line-height:1.2}.onb-throne{--throne-h:62%;flex:none;width:min(94vw,900px);height:min(60vh,560px);position:relative}.onb-throne img,.onb-throne svg{opacity:0;animation:.9s ease-out forwards onb-scene-in;position:absolute}.onb-throne-olorin{height:calc(var(--throne-h) * 1.32);filter:grayscale()contrast(1.05);mix-blend-mode:multiply;--scene-opacity:.42;-webkit-mask-composite:source-in;margin-inline:auto;animation-delay:.75s;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 24% 76%,#0000 100%),linear-gradient(#000 0 20%,#0000 52%);mask-image:linear-gradient(90deg,#0000 0,#000 24% 76%,#0000 100%),linear-gradient(#000 0 20%,#0000 52%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-throne-seat{height:var(--throne-h);filter:grayscale()contrast(1.05);mix-blend-mode:multiply;--scene-opacity:.48;-webkit-mask-composite:source-in;margin-inline:auto;animation-delay:.55s;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 14% 86%,#0000 100%),linear-gradient(#0000 0,#000 12% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 14% 86%,#0000 100%),linear-gradient(#0000 0,#000 12% 90%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-throne-student{left:0;right:0;bottom:calc(var(--throne-h) * .323);width:26%;height:calc(var(--throne-h) * .28);fill:#565d70;mix-blend-mode:multiply;--scene-opacity:.6;margin-inline:auto;animation-delay:.95s;-webkit-mask-image:linear-gradient(#000 55%,#0000 96%);mask-image:linear-gradient(#000 55%,#0000 96%)}.onb-throne-hero{height:calc(var(--throne-h) * 1.25);filter:grayscale()contrast(1.05);mix-blend-mode:multiply;--scene-opacity:.68;-webkit-mask-composite:source-in;animation-delay:1.1s;bottom:0;left:0;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 22% 78%,#0000 100%),linear-gradient(#0000 0,#000 18% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 22% 78%,#0000 100%),linear-gradient(#0000 0,#000 18% 82%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.onb-throne-pet{height:calc(var(--throne-h) * .5);object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 4px 8px #14162833);opacity:0;max-width:32%;animation:.6s cubic-bezier(.34,1.56,.64,1) 1.3s both onb-pika-enter;bottom:0;right:5%}.onb-throne-say-row{margin-top:14px;margin-bottom:10px}.onb-throne-say{animation-delay:1.75s}.onb-loader-bar.is-epi{width:260px}.onb-loader-bar.is-epi span{width:0;animation-name:onb-fill;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards;transform:none}@keyframes onb-fill{0%{width:0}to{width:100%}}@media (prefers-reduced-motion:reduce){.onb-page,.onb-page-title,.onb-page-cta,.onb-page-sticker img,.onb-bubble,.onb-trio-fig,.onb-epi,.onb-throne-pet{animation:none}.onb-throne-pet{opacity:1}}@media (width<=520px){.onb-cslot{width:clamp(90px,26vw,140px)}.onb-cslot-ml,.onb-cslot-mr{display:none}.onb-page-text{font-size:15px}.onb-trio{gap:10px}.onb-trio-art{height:140px}.onb-trio-sticker{height:96px}.onb-epi-art,.onb-throne{height:30vh}.onb-throne-pet{right:0}.onb-throne-olorin{display:none}.onb-throne-say{max-width:30ch;transform:none}.onb-loader-bar.is-epi{width:200px}}:root{--page-bg:#eef0f3;--surface:#fff;--surface-sunk:#f5f6f8;--sage:#cfe1bf;--sage-soft:#dcebcf;--primary:#2f63ff;--primary-hover:#1f4fe0;--primary-soft:#e2e9ff;--yellow:#f5d94f;--yellow-hover:#eccb2e;--periwinkle:#c9cdf7;--lilac:#dcd2f0;--ink:#15162b;--ink-soft:#4a4c66;--ink-muted:#8b8da3;--border:#e4e6ec;--grid-line:#788cc81a;--r-card:20px;--r-md:14px;--r-pill:999px;--shadow-card:0 1px 2px #14162b0a, 0 8px 24px #14162b0f;--shadow-rail:0 6px 24px #14162b14;--font-display:"Fredoka", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--page-bg);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em;margin:0}button{font-family:var(--font-body);cursor:pointer}.graph-paper{background-color:var(--page-bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:26px 26px}.app-shell{background:var(--page-bg);gap:14px;height:100%;padding:14px;display:flex}.mob-top,.mob-tabs{display:none}.nav-rail{z-index:2;background:var(--surface);width:68px;box-shadow:var(--shadow-rail);border-radius:28px;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:16px 0;display:flex;position:relative}.nav-logo{border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:6px;padding:0;display:grid}.nav-group{flex-direction:column;align-items:center;gap:10px;display:flex}.nav-spacer{flex:1}.nav-item{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:14px;place-items:center;transition:background .15s,color .15s;display:grid;position:relative}.nav-item:hover{background:var(--surface-sunk);color:var(--ink-soft)}.nav-item--active,.nav-item--active:hover{background:var(--primary);color:#fff}.nav-dot{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);background:#f04438;border-radius:50%;position:absolute;top:7px;right:7px}.nav-item--active .nav-dot{box-shadow:0 0 0 2px var(--primary)}.nav-soon{letter-spacing:.03em;text-transform:uppercase;color:#fff;box-shadow:0 0 0 2px var(--surface);pointer-events:none;background:#f59e0b;border-radius:999px;padding:0 4px;font-size:8.5px;font-weight:700;line-height:13px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.nav-item--active .nav-soon{box-shadow:0 0 0 2px var(--primary)}.nav-tip-soon{letter-spacing:.04em;text-transform:uppercase;color:#fbbf24;margin-top:3px;font-size:.66rem;font-style:normal;font-weight:600;display:block}.nav-tip{background:var(--ink,#15162b);color:#fff;white-space:nowrap;box-shadow:var(--shadow-card);opacity:0;pointer-events:none;z-index:50;border-radius:8px;align-items:center;padding:5px 10px;font-size:.8rem;font-weight:500;transition:opacity .12s,transform .12s;display:inline-flex;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-4px)}.nav-tip:before{content:"";border:5px solid #0000;border-right-color:var(--ink,#15162b);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.nav-item:hover .nav-tip,.nav-item:focus-visible .nav-tip,.nav-avatar:hover .nav-tip,.nav-avatar:focus-visible .nav-tip{opacity:1;transform:translateY(-50%)translate(0)}.nav-tip--art{white-space:normal;border-radius:12px;flex-direction:column;align-items:center;gap:4px;min-width:132px;padding:8px 8px 7px;line-height:1.25}.nav-tip-art{object-fit:contain;object-position:bottom center;-webkit-mask-composite:source-in;border-radius:8px;width:auto;max-width:120px;height:92px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 10% 90%,#0000 100%),linear-gradient(#0000 0,#000 5% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 10% 90%,#0000 100%),linear-gradient(#0000 0,#000 5% 92%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.nav-tip-who{color:#fff;font-size:.78rem;font-style:normal;font-weight:600}.nav-tip--art:before{top:50%}.nav-tip-new{letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#f04438;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.66rem;font-style:normal;font-weight:600}.nav-avatar{cursor:pointer;background:var(--lilac);width:40px;height:40px;color:var(--ink);font-family:var(--font-display);border:none;border-radius:50%;place-items:center;margin-top:4px;font-size:16px;font-weight:600;display:grid;position:relative}.nav-avatar:hover{filter:brightness(.97)}.nav-avatar--active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--primary)}.canvas{min-width:0;box-shadow:var(--shadow-card);border-radius:24px;flex:1;position:relative;overflow:auto}.canvas-accent{background:var(--sage-soft);opacity:.55;pointer-events:none;z-index:0;border-radius:40px;width:320px;height:320px;position:absolute}.canvas-accent--tl{top:-120px;left:-120px}.canvas-accent--br{background:var(--sage);opacity:.4;bottom:-140px;right:-120px}.shell-sentinel{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;filter:grayscale()contrast(1.04);opacity:.22;mix-blend-mode:multiply;-webkit-mask-composite:source-in;width:240px;display:none;position:absolute;top:24px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 26% 74%,#0000 100%),linear-gradient(#0000 0,#000 18% 66%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 26% 74%,#0000 100%),linear-gradient(#0000 0,#000 18% 66%,#0000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.shell-sentinel--left{left:8px}.shell-sentinel--right{right:8px;transform:scaleX(-1)}@media (width>=1280px){.shell-sentinel{display:block}}@media (width>=1600px){.shell-sentinel{opacity:.26;width:300px}}.canvas-inner{z-index:1;max-width:920px;margin:0 auto;padding:40px 32px 56px;position:relative}.canvas-inner--wide{max-width:none}@media (width<=720px){.app-shell{flex-direction:column;gap:10px;padding:10px}.nav-rail{display:none}.mob-top{flex-shrink:0;justify-content:space-between;align-items:center;padding:2px 6px 0;display:flex}.mob-top-logo{place-items:center;width:36px;height:36px;display:grid}.mob-avatar{width:38px;height:38px;font-family:var(--font-display);color:var(--ink);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;border-radius:50%;place-items:center;font-size:15px;font-weight:600;display:grid}.mob-avatar.is-active{color:#fff;background:var(--primary);border-color:var(--primary)}.canvas{border-radius:20px}.canvas-inner{padding:26px 18px 34px}.mob-tabs{padding:8px 6px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);box-shadow:var(--shadow-rail);border-radius:22px;flex-shrink:0;justify-content:space-around;align-items:stretch;gap:4px;display:flex}.mob-tab{min-width:0;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:3px;padding:7px 2px;display:flex}.mob-tab.is-active{color:var(--primary);background:var(--primary-soft)}.mob-tab-label{letter-spacing:.01em;font-size:11px;font-weight:600;line-height:1.1}}.gate{place-items:center;min-height:100%;padding:24px;display:grid}.gate-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--shadow-card);text-align:center;width:100%;max-width:380px;padding:40px 36px}.gate-card h2{margin-bottom:8px;font-size:26px;font-weight:700}.gate-sub{color:var(--ink-soft);margin:0 0 24px;font-size:15px}.gate-error{color:#b42318;font-size:14px}.btn-solid{background:var(--primary);color:#fff;border-radius:var(--r-md);border:none;width:100%;padding:12px 18px;font-size:15px;font-weight:600;transition:background .15s}.btn-solid:hover{background:var(--primary-hover)}.btn-ghost{border:1px solid var(--border);background:var(--surface);color:var(--ink-soft);border-radius:var(--r-md);padding:10px 16px;font-size:14px;font-weight:500}.btn-ghost:hover{background:var(--surface-sunk)}.gate-link{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.gate-link:hover{color:var(--primary-hover)}.dev-login{border-top:1px dashed var(--border);margin-top:24px;padding-top:18px}.dev-login>p{color:var(--ink-muted);margin:0 0 10px;font-size:12px}.dev-login-row{gap:8px;display:flex}.dev-login-row input{border:1px solid var(--border);border-radius:var(--r-md);min-width:0;font-size:14px;font-family:var(--font-body);flex:1;padding:9px 12px}.dev-login-row input:focus{border-color:var(--primary);outline:none}.up-root{color:#1a1a1a;box-sizing:border-box;background:#f5f2ee;justify-content:center;align-items:flex-start;min-height:100dvh;padding:20px 16px 40px;font-family:Outfit,system-ui,-apple-system,sans-serif;display:flex}.up-card{background:#fff;border:1px solid #e6e0d8;border-radius:12px;width:100%;max-width:480px;padding:20px;box-shadow:0 1px 3px #0000000d}.up-brand{letter-spacing:.01em;color:#2563eb;margin-bottom:18px;font-size:15px;font-weight:700}.up-eyebrow{text-transform:uppercase;letter-spacing:.06em;color:#8a8378;margin:0 0 8px;font-size:12px}.up-stem{color:#1a1a1a;margin:0 0 20px;font-size:17px;line-height:1.45}.up-pick{display:block}.up-pick input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.up-pick-face{box-sizing:border-box;color:#2563eb;cursor:pointer;background:#f0f5ff;border:1.5px dashed #b9cdf5;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:16px;font-weight:600;display:flex}.up-pick input:disabled+.up-pick-face{opacity:.5;cursor:default}.up-thumbs{flex-wrap:wrap;gap:8px;margin:14px 0 4px;display:flex}.up-thumb{object-fit:cover;border:1px solid #e6e0d8;border-radius:8px;width:88px;height:88px}.up-thumb-fallback{background:#f5f2ee;justify-content:center;align-items:center;font-size:30px;display:flex}.up-thumb-wrap{width:88px;height:88px;position:relative}.up-thumb-wrap .up-thumb{width:100%;height:100%}.up-thumb-n{text-align:center;color:#fff;background:#1c1917b8;border-radius:9px;min-width:18px;padding:0 5px;font-size:12px;font-weight:700;line-height:18px;position:absolute;bottom:4px;left:4px}.up-thumb-x{color:#44403c;cursor:pointer;background:#fff;border:1px solid #e6e0d8;border-radius:50%;width:24px;height:24px;padding:0;font-size:16px;line-height:22px;position:absolute;top:-7px;right:-7px;box-shadow:0 1px 3px #00000029}.up-thumb-x:disabled{opacity:.45;cursor:default}.up-count{margin-top:2px}.up-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:10px;width:100%;margin-top:18px;padding:15px;font-size:16px;font-weight:600;transition:background .15s ease-out}.up-btn:hover{background:#1d4fd8}.up-btn:disabled{cursor:default;background:#b9cdf5}.up-muted{color:#8a8378;margin:6px 0 0;font-size:14px;line-height:1.5}.up-err{color:#c0392b;margin:12px 0 0;font-size:14px}.up-state{text-align:center;padding:24px 8px}.up-emoji{margin-bottom:14px;font-size:44px;line-height:1}.up-emoji.up-ok{color:#1f9d55}.up-state-msg{margin:0 0 6px;font-size:18px;font-weight:600}.upd-banner{z-index:9999;background:var(--ink,#15162b);color:#fff;border-radius:var(--r-pill,999px);max-width:calc(100vw - 32px);box-shadow:var(--shadow-rail,0 6px 24px #14162b47);font-family:var(--font-body,system-ui, sans-serif);align-items:center;gap:14px;padding:10px 12px 10px 18px;font-size:13.5px;line-height:1.35;animation:.24s ease-out upd-banner-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes upd-banner-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.upd-banner{animation:none}}.upd-banner-text{min-width:0}.upd-banner-btn{border-radius:var(--r-pill,999px);background:var(--yellow,#f5d94f);color:var(--ink,#15162b);cursor:pointer;border:none;flex:none;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:700}.upd-banner-btn:hover{background:var(--yellow-hover,#eccb2e)}@media (width<=520px){.upd-banner{border-radius:var(--r-md,14px);padding:12px 14px;left:16px;right:16px;transform:none}@keyframes upd-banner-in{0%{opacity:0}to{opacity:1}}}
