*{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Grandstander", "Chalkboard SE", "Comic Neue", "Trebuchet MS", sans-serif;--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--paper:#f6f8fd;--card:#fff;--field:#eef2fb;--note:#fff4b0;--note-ink:#1d2352;--rule:#d6e2f6;--margin-line:#f3a9b6;--ink:#1d2352;--ink-soft:#4b5381;--ink-faint:#5e658b;--outline:#1d2352;--shadow:#1d2352;--on-highlight:#1d2352;--shine:#fff;--bulb-ink:#1d2352;--bulb-glass:#fff6c9;--yellow:#ffe45c;--pink:#ff7ab8;--mint:#3fd9a0;--sky:#5aa8ff;--orange:#ff9f43;--success:#0b7a4b;--success-bg:#ddf8ec;--danger:#c12f4b;--danger-bg:#ffe3e8;--focus:#3d5afe;--backdrop:#1d235275;--tape:#ffe45cb8;--tape-alt:#ff7ab880;--dash:#1d235238;--headline-shadow:#ffe45c;--doodle-alpha:.95;--line:2.5px;--line-thin:2px;--r-sticker:16px 19px 14px 18px / 18px 14px 19px 16px;--r-card:24px 28px 22px 26px / 26px 22px 28px 24px;--r-field:12px 14px 11px 13px / 13px 11px 14px 12px;--shadow-sm:2px 3px 0 var(--shadow);--shadow-md:3px 4px 0 var(--shadow);--shadow-lg:5px 6px 0 var(--shadow);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=chalkboard]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1e2b25;--card:#26362f;--field:#1a2520;--note:#efd97c;--note-ink:#1e2b25;--rule:#f1f4ec0d;--margin-line:#ffa3cf42;--ink:#f1f4ec;--ink-soft:#bfcdc4;--ink-faint:#9db0a5;--outline:#f1f4ecd1;--shadow:#0000006b;--on-highlight:#1e2b25;--shine:#f1f4ec;--bulb-glass:#ffe784;--yellow:#ffe784;--pink:#ffa3cf;--mint:#8eefc6;--sky:#a5cdff;--orange:#ffc58f;--success:#8eefc6;--success-bg:#8eefc621;--danger:#ff9aae;--danger-bg:#ff9aae21;--focus:#a5cdff;--backdrop:#080e0b9e;--tape:#ffe78480;--tape-alt:#ffa3cf6b;--dash:#f1f4ec33;--headline-shadow:#ffa3cf9e;--doodle-alpha:.82}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1e2b25;--card:#26362f;--field:#1a2520;--note:#efd97c;--note-ink:#1e2b25;--rule:#f1f4ec0d;--margin-line:#ffa3cf42;--ink:#f1f4ec;--ink-soft:#bfcdc4;--ink-faint:#9db0a5;--outline:#f1f4ecd1;--shadow:#0000006b;--on-highlight:#1e2b25;--shine:#f1f4ec;--bulb-glass:#ffe784;--yellow:#ffe784;--pink:#ffa3cf;--mint:#8eefc6;--sky:#a5cdff;--orange:#ffc58f;--success:#8eefc6;--success-bg:#8eefc621;--danger:#ff9aae;--danger-bg:#ff9aae21;--focus:#a5cdff;--backdrop:#080e0b9e;--tape:#ffe78480;--tape-alt:#ffa3cf6b;--dash:#f1f4ec33;--headline-shadow:#ffa3cf9e;--doodle-alpha:.82}}html{background:var(--paper);scrollbar-color:color-mix(in srgb, var(--outline) 38%, transparent) transparent}body{min-height:100vh;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;transition:background-color .3s,color .3s;overflow-x:hidden}#root{z-index:1;width:100%;min-height:100vh;position:relative}h1,h2,h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.005em;line-height:1.15}h1{margin-bottom:20px;font-size:2.5rem;font-weight:800}h2,h3{margin-top:0;margin-bottom:14px;font-weight:800}h2{font-size:1.6rem}h3{font-size:1.15rem}::selection{background:var(--yellow);color:var(--on-highlight)}button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:where(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}summary:focus-visible{border-radius:6px}.muted-text{color:var(--ink-soft);font-size:14.5px;line-height:1.55}.doodle-bg{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.paper-lines{background:linear-gradient(90deg, transparent 71px, var(--margin-line) 71px, var(--margin-line) 73px, transparent 73px), repeating-linear-gradient(180deg, transparent 0, transparent 33px, var(--rule) 33px, var(--rule) 34px);background-position:0 0,0 16px;position:absolute;inset:0}:root[data-theme=chalkboard] .paper-lines{background:radial-gradient(60% 42% at 16% 20%,#f1f4ec0e,#0000 70%),radial-gradient(48% 36% at 84% 72%,#f1f4ec0b,#0000 70%),radial-gradient(36% 28% at 58% 8%,#f1f4ec09,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.doodle-canvas{width:100%;height:100%;position:absolute;inset:0}.doodle-fx{z-index:400;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.chat-box,.quiz-box,.login-card,.account-card,.pricing-card,.history-box,.modal-box,.legal-gate{background:var(--card);border:var(--line) solid var(--outline);border-radius:var(--r-card);box-shadow:var(--shadow-lg);color:var(--ink)}.chat-resize-wrap:before,.login-card:before,.modal-box:before,.account-card:before,.pricing-card-pro:before{content:"";z-index:4;background:var(--tape);clip-path:polygon(2% 8%,12% 0,30% 6%,52% 1%,74% 7%,90% 0,98% 6%,100% 50%,97% 94%,84% 100%,62% 93%,40% 100%,20% 94%,4% 100%,0 52%);pointer-events:none;width:118px;height:27px;position:absolute;top:-14px;left:50%;transform:translate(-50%)rotate(-3deg)}.account-card:before,.pricing-card-pro:before{background:var(--tape-alt);width:92px;left:auto;right:34px;transform:rotate(5deg)}.btn-primary,.login-btn,.modal-submit,.pricing-btn.pro,.demo-entry{min-height:46px;font-family:var(--font-display);letter-spacing:.01em;color:var(--on-highlight);background:var(--yellow);border:var(--line) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-spring), background-color .2s ease, color .2s ease;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:16px;font-weight:700;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.btn-primary:hover:not(:disabled),.login-btn:hover:not(:disabled),.modal-submit:hover:not(:disabled),.pricing-btn.pro:hover,.demo-entry:hover{box-shadow:5px 7px 0 var(--shadow);transform:translate(-1px,-2px)rotate(-1.2deg)}:root[data-motion=on] .btn-primary:hover:not(:disabled),:root[data-motion=on] .login-btn:hover:not(:disabled),:root[data-motion=on] .modal-submit:hover:not(:disabled),:root[data-motion=on] .pricing-btn.pro:hover,:root[data-motion=on] .demo-entry:hover{animation:jelly .55s var(--ease-out) both}.btn-primary:active:not(:disabled),.login-btn:active:not(:disabled),.modal-submit:active:not(:disabled),.pricing-btn.pro:active,.demo-entry:active{box-shadow:0 0 0 var(--shadow);transition-duration:70ms;animation:none;transform:translate(3px,4px)scale(1.03,.94)}.btn-primary:disabled,.login-btn:disabled,.modal-submit:disabled{cursor:not-allowed;color:var(--ink-faint);background:var(--field);border-color:color-mix(in srgb, var(--outline) 55%, transparent);box-shadow:var(--shadow-sm);transform:none}.login-btn{width:100%;margin-top:8px}.demo-entry{background:var(--mint);width:100%;margin:16px 0 8px;font-size:17px;display:flex}.btn-ghost,.modal-cancel,.signout-btn,.account-btn,.sidebar-account-btn,.oauth-btn,.study-steps button,.starter-prompts button,.pricing-btn.current{min-height:44px;font-family:var(--font-display);color:var(--ink);background:var(--card);border:var(--line-thin) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring), background-color .2s ease, color .2s ease;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:15px;font-weight:600;line-height:1.15;display:inline-flex}.btn-ghost:hover:not(:disabled),.modal-cancel:hover:not(:disabled),.signout-btn:hover,.account-btn:hover,.sidebar-account-btn:hover,.oauth-btn:hover:not(:disabled),.study-steps button:hover,.starter-prompts button:hover{box-shadow:3px 5px 0 var(--shadow);background:color-mix(in srgb, var(--yellow) 24%, var(--card));transform:translate(-1px,-2px)rotate(.8deg)}.btn-ghost:active:not(:disabled),.modal-cancel:active:not(:disabled),.signout-btn:active,.account-btn:active,.sidebar-account-btn:active,.oauth-btn:active:not(:disabled),.study-steps button:active,.starter-prompts button:active{box-shadow:0 0 0 var(--shadow);transition-duration:70ms;transform:translate(2px,3px)scale(1.02,.95)}.btn-ghost:disabled,.modal-cancel:disabled,.oauth-btn:disabled{opacity:.55;cursor:not-allowed}.signout-btn:hover{color:var(--danger)}.btn-export{min-height:44px;font-family:var(--font-display);color:var(--on-highlight);background:var(--mint);border:var(--line-thin) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring);align-items:center;padding:9px 16px;font-size:15px;font-weight:700;display:inline-flex}.btn-export:hover{box-shadow:3px 5px 0 var(--shadow);transform:translate(-1px,-2px)rotate(-1deg)}.btn-export:active{box-shadow:0 0 0 var(--shadow);transition-duration:70ms;transform:translate(2px,3px)}.inline-link,.login-toggle span,.modal-contact a{color:var(--ink);background-image:linear-gradient(var(--yellow), var(--yellow));transition:background-size .25s var(--ease-out), color .2s ease;background-position:0 90%;background-repeat:no-repeat;background-size:100% .42em;font-weight:700;text-decoration:none}.inline-link{font:inherit;cursor:pointer;background-color:#0000;border:0;padding:0 3px;font-weight:700}.inline-link:hover,.login-toggle:hover span,.modal-contact a:hover{color:var(--on-highlight);background-size:100% 88%}.chat-input,.login-input,.topic-input,.notes-box,.modal-input,.difficulty-select,.count-input,.admin-field input{font-family:var(--font-body);color:var(--ink);background-color:var(--field);border:var(--line-thin) solid var(--outline);border-radius:var(--r-field);box-shadow:inset 2px 2px 0 color-mix(in srgb, var(--outline) 12%, transparent);outline:none;padding:12px 14px;font-size:15.5px;transition:border-color .2s,box-shadow .2s,background-color .2s}.chat-input:focus,.login-input:focus,.topic-input:focus,.notes-box:focus,.modal-input:focus,.difficulty-select:focus,.count-input:focus,.admin-field input:focus{background-color:var(--card);border-color:var(--focus);box-shadow:0 0 0 4px color-mix(in srgb, var(--yellow) 62%, transparent)}.chat-input::placeholder,.login-input::placeholder,.topic-input::placeholder,.notes-box::placeholder,.modal-input::placeholder,.admin-field input::placeholder{color:var(--ink-faint);opacity:1}.chat-input:disabled,.login-input:disabled,.topic-input:disabled,.notes-box:disabled,.modal-input:disabled{opacity:.6;cursor:not-allowed}.login-input,.topic-input{width:100%}.topic-input{margin-bottom:12px}.notes-box{resize:vertical;background-color:var(--card);background-image:linear-gradient(90deg, transparent 31px, var(--margin-line) 31px, var(--margin-line) 33px, transparent 33px), repeating-linear-gradient(180deg, transparent 0, transparent 27px, var(--rule) 27px, var(--rule) 28px);background-position:0 6px;background-attachment:local;width:100%;margin-bottom:12px;padding:6px 16px 6px 46px;line-height:28px;display:block}.difficulty-select{min-height:46px;font-family:var(--font-display);cursor:pointer;font-weight:700}.count-input{width:72px;font-family:var(--font-display);text-align:center;padding:8px 10px;font-size:17px;font-weight:700}.timer-toggle input[type=checkbox],input[type=checkbox]{width:20px;height:20px;accent-color:var(--sky);cursor:pointer}.file-input{width:100%;color:var(--ink-soft);margin-bottom:12px;font-size:14px}.file-input::file-selector-button{font-family:var(--font-display);color:var(--on-highlight);background:var(--sky);border:var(--line-thin) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring);margin-right:12px;padding:8px 14px;font-size:14px;font-weight:700}.file-input::file-selector-button:hover{box-shadow:3px 5px 0 var(--shadow);transform:translate(-1px,-2px)rotate(-1deg)}.file-name{color:var(--ink-soft);margin-bottom:8px;font-size:14px}.loading{height:100vh;font-family:var(--font-display);color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:20px;font-weight:700;display:flex}.loading:before{content:"★";content:"★" / "";color:var(--yellow);-webkit-text-stroke:3px var(--outline);paint-order:stroke fill;font-size:52px;line-height:1}:root[data-motion=on] .loading:before{animation:loading-hop .7s var(--ease-out) infinite alternate}.skeleton{background:linear-gradient(90deg, var(--field) 0 38%, color-mix(in srgb, var(--yellow) 60%, var(--field)) 50%, var(--field) 62% 100%);background-position:100% 0;background-size:250% 100%;border-radius:8px;width:100%;height:14px;margin:10px 0}:root[data-motion=on] .skeleton{animation:1.4s ease-in-out infinite highlighter-sweep}.app-shell{height:100vh;display:flex;overflow:hidden}.study-experience{min-height:100vh}.study-experience .app-shell{z-index:1;position:relative}.sidebar{z-index:10;background:var(--card);border-right:var(--line) solid var(--outline);flex-direction:column;flex-shrink:0;width:232px;display:flex;position:relative}.sidebar:after{content:"";pointer-events:none;background:radial-gradient(9px 6px at 50% 50%, transparent 0 52%, var(--outline) 56% 84%, transparent 88%) center top / 22px 30px repeat-y;width:22px;position:absolute;top:22px;bottom:22px;right:-12px}.sidebar-top{border-bottom:var(--line-thin) dashed var(--dash);padding:24px 22px 18px}.app-logo{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);align-items:center;gap:10px;font-size:24px;font-weight:800;display:flex}.app-logo-dot{background:var(--yellow);border:var(--line-thin) solid var(--outline);border-radius:50%;flex-shrink:0;width:15px;height:15px}:root[data-motion=on] .app-logo-dot{animation:dot-hop 4.5s var(--ease-out) infinite}.sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:14px 12px;display:flex;overflow-y:auto}.sidebar-nav-item{isolation:isolate;width:100%;min-height:48px;font-family:var(--font-display);text-align:left;color:var(--ink-soft);cursor:pointer;transition:color .2s ease, transform .25s var(--ease-spring);background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-size:19px;font-weight:700;display:flex;position:relative}.sidebar-nav-item:before,.login-tab:before,.tab-btn:before{content:"";z-index:-1;background:var(--yellow);transform-origin:0;transition:transform .4s var(--ease-spring), background-color .2s ease;border-radius:40% 12% 42% 10%/60% 32% 56% 36%;position:absolute;inset:9px 16px 9px 8px;transform:scaleX(0)skew(-10deg)}.sidebar-nav-item:hover{color:var(--ink);transform:translate(3px)}.sidebar-nav-item:hover:before{transform:scaleX(.16)skew(-10deg)}.sidebar-nav-active,.sidebar-nav-active:hover{color:var(--on-highlight)}.sidebar-nav-active:before,.sidebar-nav-active:hover:before{transform:scaleX(1)skew(-10deg)}.sidebar-live{letter-spacing:.06em;margin-top:6px;font-size:16px}.sidebar-live-active,.sidebar-live-active:hover{color:var(--on-highlight)}.sidebar-live-active:before,.sidebar-live-active:hover:before{background:var(--mint);transform:scaleX(1)skew(-10deg)}.mobile-account{display:none}.sidebar-bottom{border-top:var(--line-thin) dashed var(--dash);flex-direction:column;gap:10px;padding:14px 14px 22px;display:flex}.sidebar-status{font-family:var(--font-display);text-align:center;color:var(--on-highlight);background:var(--sky);border:var(--line-thin) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-sm);padding:7px 12px;font-size:14px;font-weight:700;transform:rotate(-1.5deg)}.sidebar-account-btn{text-overflow:ellipsis;white-space:nowrap;justify-content:space-between;width:100%;overflow:hidden}.main-content{flex:1;min-width:0;padding:28px 40px 48px;overflow-y:auto}.study-heading{isolation:isolate;max-width:1040px;margin:0 auto;padding:8px 0 26px;position:relative}.heading-topline{align-items:center;gap:10px;min-height:32px;display:flex}.eyebrow{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink-soft);font-size:16px;font-weight:700}.awakening-spark{color:var(--pink);-webkit-text-stroke:1.5px var(--outline);paint-order:stroke fill;margin-right:4px;font-size:20px;display:inline-block}:root[data-motion=on] .awakening-spark{animation:3.2s ease-in-out infinite spark-twinkle}.study-heading h1{z-index:1;text-align:left;letter-spacing:-.015em;max-width:620px;color:var(--ink);text-shadow:3px 3px 0 var(--headline-shadow);margin:12px 0 14px;font-size:clamp(38px,4.8vw,62px);font-weight:800;line-height:1.02;position:relative}.study-heading h1 span{color:inherit}.study-heading>p{z-index:1;max-width:500px;color:var(--ink-soft);font-size:17px;line-height:1.6;position:relative}.study-steps,.starter-prompts{flex-wrap:wrap;gap:10px;display:flex}.study-steps{z-index:1;margin-top:22px;position:relative}.study-steps button:first-child{color:var(--on-highlight);background:var(--yellow)}.study-steps button:first-child:hover{background:var(--yellow)}.idea-bulb{--look-x:0;--look-y:0;place-self:center;width:100%;max-width:290px;position:relative}.idea-bulb-btn{cursor:pointer;background:0 0;border:0;border-radius:40%;width:100%;padding:0;display:block}.idea-bulb svg{width:100%;height:auto;display:block;overflow:visible}.bulb-glow-stop{stop-color:var(--yellow)}.bulb-shadow{fill:var(--ink);opacity:.14;transform-box:fill-box;transform-origin:50%}.bulb-lean{transform-box:view-box;transform-origin:120px 230px;transform:rotate(calc(var(--look-x) * 5deg));transition:transform .5s var(--ease-out)}.bulb-bob{transform-box:view-box;transform-origin:120px 228px}.bulb-glow{opacity:0;transition:opacity .35s}.bulb-rays{opacity:0;stroke:var(--outline);stroke-width:4.5px;stroke-linecap:round;transform-box:view-box;transform-origin:120px 96px;transition:opacity .3s ease, transform .45s var(--ease-spring);transform:scale(.8)}.bulb-glass{fill:var(--bulb-glass);stroke:var(--outline);stroke-width:4.5px;stroke-linejoin:round;transition:fill .3s}.bulb-shine{stroke:#fff;stroke-width:7px;stroke-linecap:round;opacity:.9}.bulb-shine-dot{fill:#fff;opacity:.9}.bulb-band{fill:var(--sky);stroke:var(--outline);stroke-width:4px;stroke-linejoin:round}.bulb-ridge{stroke:var(--outline);stroke-width:3px;stroke-linecap:round}.bulb-tip-end{fill:var(--bulb-ink);stroke:var(--outline);stroke-width:3px}.bulb-arm{transform-box:view-box;transition:transform .4s var(--ease-spring)}.bulb-arm path{stroke:var(--outline);stroke-width:4.5px;stroke-linecap:round}.bulb-arm circle{fill:var(--card);stroke:var(--outline);stroke-width:3.5px}.bulb-arm-left{transform-origin:78px 140px}.bulb-arm-right{transform-origin:162px 140px}.bulb-brows{stroke:var(--bulb-ink);stroke-width:3.5px;stroke-linecap:round;transition:transform .25s var(--ease-spring)}.bulb-eye{transform-box:fill-box;transform-origin:50%;transition:transform 90ms}.bulb-eye-white{fill:#fff;stroke:var(--bulb-ink);stroke-width:3.5px}.bulb-pupil{fill:var(--bulb-ink);transform:translate(calc(var(--look-x) * 5px), calc(var(--look-y) * 4.5px));transition:transform .14s ease-out}.bulb-pupil .bulb-glint{fill:#fff}.bulb-cheek{fill:#ff7ab8;opacity:.55}.bulb-mouth{display:none}.mouth-smile{stroke:var(--bulb-ink);stroke-width:4px;stroke-linecap:round;display:inline}.mouth-open path{fill:var(--bulb-ink);stroke:var(--bulb-ink);stroke-width:2px;stroke-linejoin:round}.mouth-open .mouth-tongue{fill:#ff7ab8;stroke:none}.mouth-o{fill:var(--bulb-ink)}.mouth-sleep{stroke:var(--bulb-ink);stroke-width:3.5px;stroke-linecap:round}.mouth-open{transform-box:fill-box;transform-origin:50% 0}.bulb-sweat{opacity:0;fill:var(--sky);stroke:var(--outline);stroke-width:2.5px;transform-box:fill-box;transform-origin:50% 0;transition:opacity .2s}.bulb-thought{opacity:0;transform-box:view-box;transform-origin:176px 36px;transition:opacity .25s ease, transform .35s var(--ease-spring);transform:scale(.4)}.bulb-thought circle,.bulb-thought ellipse{fill:var(--card);stroke:var(--outline);stroke-width:3px}.bulb-thought .thought-dots circle{fill:var(--ink);stroke:none}.bulb-zzz{opacity:0;fill:var(--ink);font-family:var(--font-display);font-size:18px;font-weight:800}.bulb-zzz text:nth-child(2){font-size:22px}.bulb-zzz text:nth-child(3){font-size:27px}.bulb-tip{z-index:3;width:max-content;max-width:min(240px,60vw);font-family:var(--font-display);color:var(--ink);background:var(--card);border:var(--line) solid var(--outline);box-shadow:var(--shadow-md);transform-origin:90% 100%;border-radius:18px 20px 6px 19px;padding:10px 14px;font-size:15px;font-weight:600;line-height:1.3;position:absolute;bottom:74%;right:58%}.bulb-tip:empty{display:none}:root[data-motion=on] .bulb-tip{animation:tip-pop .38s var(--ease-spring) both}.is-lit .bulb-glass,:root[data-theme=chalkboard] .bulb-glass{fill:var(--yellow)}.is-lit .bulb-glow{opacity:1}:root[data-theme=chalkboard] .bulb-glow{opacity:.7}.is-lit .bulb-rays,:root[data-theme=chalkboard] .bulb-rays{opacity:1;transform:scale(1)}.is-blinking .bulb-eye,.is-sleep .bulb-eye{transform:scaleY(.12)}.is-cheer .bulb-eye{transform:scaleY(.55)}.is-cheer .mouth-smile,.is-talk .mouth-smile,.is-thinking .mouth-smile,.is-oops .mouth-smile,.is-sleep .mouth-smile,.is-startle .mouth-smile{display:none}.is-cheer .mouth-open,.is-talk .mouth-open,.is-thinking .mouth-o,.is-oops .mouth-o,.is-startle .mouth-o,.is-sleep .mouth-sleep{display:inline}.is-cheer .bulb-arm-left{transform:rotate(92deg)}.is-cheer .bulb-arm-right{transform:rotate(-92deg)}.is-oops .bulb-brows{transform:translateY(-4px)}.is-oops .bulb-sweat{opacity:1}.is-thinking .bulb-thought{opacity:1;transform:scale(1)}.is-thinking .bulb-pupil{transform:translate(3.5px,-3.5px)}.is-sleep .bulb-zzz{opacity:1}.is-sleep .bulb-arm-left{transform:rotate(-8deg)}.is-sleep .bulb-arm-right{transform:rotate(8deg)}:root[data-motion=on] .bulb-bob{animation:4.2s ease-in-out infinite bulb-bob}:root[data-motion=on] .bulb-shadow{animation:4.2s ease-in-out infinite bulb-shadow}:root[data-motion=on] .is-cheer .bulb-bob{animation:bulb-jump .72s var(--ease-out) 2}:root[data-motion=on] .is-startle .bulb-bob{animation:bulb-jump .5s var(--ease-out) 1}:root[data-motion=on] .is-oops .bulb-bob{animation:.45s ease-in-out 2 bulb-shake}:root[data-motion=on] .is-sleep .bulb-bob{animation:7s ease-in-out infinite bulb-bob}:root[data-motion=on] .is-talk .mouth-open{animation:.26s ease-in-out infinite talk}:root[data-motion=on] .is-thinking .bulb-glass{animation:1.8s step-end infinite flicker}:root[data-motion=on] .is-thinking .thought-dots circle{animation:1s ease-in-out infinite thought-dot}:root[data-motion=on] .is-thinking .thought-dots circle:nth-child(2){animation-delay:.15s}:root[data-motion=on] .is-thinking .thought-dots circle:nth-child(3){animation-delay:.3s}:root[data-motion=on] .is-sleep .bulb-zzz text{animation:2.4s ease-in-out infinite zzz-float}:root[data-motion=on] .is-sleep .bulb-zzz text:nth-child(2){animation-delay:.5s}:root[data-motion=on] .is-sleep .bulb-zzz text:nth-child(3){animation-delay:1s}:root[data-motion=on] .is-oops .bulb-sweat{animation:1s ease-in sweat-drip}:root[data-motion=on] .idea-bulb-btn:hover .bulb-arm-right{animation:.9s ease-in-out infinite wave}:root[data-motion=on][data-party=on] .bulb-bob{animation:.5s ease-in-out infinite bulb-dance}.chat-toolbar,.focus-panel{width:100%;max-width:820px;margin:0 auto 12px}.chat-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.context-label{font-family:var(--font-display);color:var(--ink-soft);font-size:15px;font-weight:600}.focus-panel{background:var(--card);border:var(--line-thin) dashed var(--outline);border-radius:var(--r-card);margin-bottom:16px;padding:12px 18px}.focus-panel summary{cursor:pointer;font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:700}.focus-panel summary span,.focus-label span{font-family:var(--font-body);color:var(--ink-faint);margin-left:6px;font-size:13px;font-weight:400}.focus-panel .focus-active{font-family:var(--font-display);color:var(--on-highlight);background:var(--mint);border:var(--line-thin) solid var(--outline);border-radius:999px;padding:1px 9px;font-weight:700;display:inline-block}.focus-panel label,.focus-label{font-family:var(--font-display);color:var(--ink);margin:12px 0 8px;font-size:15px;font-weight:700;display:block}.focus-panel .topic-input{width:100%;margin-bottom:0}.focus-panel p,.focus-help{color:var(--ink-soft);margin:8px 0 4px;font-size:13.5px;line-height:1.6}.focus-help{margin-top:-6px;margin-bottom:16px}.chat-resize-wrap{max-width:100%;margin:20px auto 16px;position:relative}.chat-resize-wrap .chat-box{margin-bottom:0}.chat-resize-wrap.resizing,.chat-resize-wrap.resizing *{-webkit-user-select:none;user-select:none;cursor:nwse-resize}.chat-box{scrollbar-width:thin;min-height:360px;max-height:500px;margin-bottom:14px;padding:24px 22px 20px;position:relative;overflow-y:auto}.chat-resize-grip{z-index:3;cursor:nwse-resize;touch-action:none;opacity:.55;background:linear-gradient(135deg, transparent 0 46%, var(--outline) 46% 56%, transparent 56% 68%, var(--outline) 68% 78%, transparent 78%);width:18px;height:18px;transition:opacity .15s;position:absolute;bottom:10px;right:10px}.chat-resize-grip:hover,.chat-resize-wrap.resizing .chat-resize-grip{opacity:1}@media (width>=641px){.chat-resize-wrap .chat-box{width:100%;height:100%;min-height:0;max-height:none}}.message{color:var(--ink);border:var(--line-thin) solid var(--outline);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;border-radius:18px 20px 16px 19px/19px 16px 20px 18px;margin-bottom:16px;padding:12px 16px 13px;font-size:15.5px;line-height:1.62;position:relative}:root[data-motion=on] .message{animation:message-in .42s var(--ease-spring) both}.message.user{color:var(--note-ink);background:var(--note);border-bottom-right-radius:6px;margin-left:48px}.message.user>strong{color:color-mix(in srgb, var(--note-ink) 72%, transparent)}.upgrade-nudge .inline-link,.message.user a{color:var(--note-ink)}.message.assistant{background:var(--card);border-bottom-left-radius:6px;margin-right:48px}.message>strong{font-family:var(--font-display);letter-spacing:.02em;color:var(--ink-soft);margin-bottom:4px;font-size:13.5px;font-weight:700;display:block}.message p+p,.message p+ul,.message p+ol,.message ul+p,.message ol+p{margin-top:8px}.chat-empty{text-align:center;flex-direction:column;justify-content:safe center;align-items:center;gap:10px;height:100%;min-height:240px;padding:18px 12px;display:flex}.chat-empty>*{flex-shrink:0}.chat-empty-icon{width:60px;height:60px;color:var(--on-highlight);background:var(--yellow);border:var(--line) solid var(--outline);box-shadow:var(--shadow-md);border-radius:20px 24px 18px 22px;place-items:center;display:grid;transform:rotate(-6deg)}:root[data-motion=on] .chat-empty-icon{animation:5s ease-in-out infinite sticker-wobble}.chat-empty-headline{font-family:var(--font-display);color:var(--ink);margin:0;font-size:26px;font-weight:800}.chat-empty-sub{max-width:380px;color:var(--ink-soft);margin:0;font-size:15px}.starter-prompts{justify-content:center;max-width:720px;margin-top:8px}.starter-prompts button:first-child{rotate:-1.2deg}.starter-prompts button:nth-child(2){rotate:.9deg}.starter-prompts button:nth-child(3){rotate:-.6deg}.thinking-orbit{font-family:var(--font-display);color:var(--ink-soft);align-items:center;gap:12px;padding:14px 10px;font-size:16px;font-weight:600;display:flex}.thinking-orbit span{border:3px dashed var(--outline);background:radial-gradient(circle, var(--yellow) 0 32%, transparent 35%);border-radius:50%;flex-shrink:0;width:30px;height:30px}:root[data-motion=on] .thinking-orbit span{animation:1.2s steps(8,end) infinite scribble-spin}.input-bar{align-items:center;gap:10px;max-width:100%;display:flex}.chat-input{flex:1;min-height:52px;font-size:16px}.input-bar .btn-primary{min-width:84px;min-height:52px;font-size:17px}.demo-banner,.live-banner{width:fit-content;max-width:100%;font-family:var(--font-display);text-align:center;border:var(--line-thin) solid var(--outline);box-shadow:var(--shadow-sm);border-radius:999px;margin:0 auto 18px;padding:7px 16px;font-size:14.5px;font-weight:600}.demo-banner{color:var(--ink-soft);background:var(--card)}.live-banner{color:var(--on-highlight);background:var(--mint)}.warning-box{color:var(--ink);background:var(--danger-bg);border:var(--line-thin) solid var(--outline);border-left:7px solid var(--danger);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;border-radius:10px 14px 12px 10px;margin-top:16px;padding:12px 16px;font-size:14.5px}.study-heading~.warning-box{max-width:820px;margin:0 auto 16px}.quiz-box{overflow-wrap:anywhere;max-width:880px;min-height:300px;margin:20px auto 16px;padding:26px 26px 22px;position:relative}.quiz-box h2{margin-bottom:8px;font-size:27px}.quiz-setup-controls{border:0;min-width:0;padding:0}.quiz-setup-controls:disabled{opacity:.72}.quiz-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 16px;display:flex}.quiz-top-row p{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:700}.streak-badge{font-family:var(--font-display);color:var(--on-highlight);background:var(--orange);border:var(--line-thin) solid var(--outline);box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:15px;font-weight:800;display:inline-flex;transform:rotate(-2deg)}.streak-badge:before{content:"★";content:"★" / "";color:var(--yellow);-webkit-text-stroke:1.5px var(--outline);paint-order:stroke fill;font-size:16px}:root[data-motion=on] .streak-badge{animation:streak-pop .45s var(--ease-spring) both}.quiz-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:14px;display:flex}.timer-toggle{font-family:var(--font-display);color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.timer-text{text-align:center;font-family:var(--font-display);color:var(--ink);margin-bottom:12px;font-size:21px;font-weight:800}.timer-text.timer-hurry{color:var(--danger)}:root[data-motion=on] .timer-hurry{animation:1s ease-in-out infinite timer-tick}.awakening-note{font-family:var(--font-display);color:var(--on-highlight);background:var(--pink);border:var(--line-thin) solid var(--outline);border-radius:999px;margin-bottom:12px;padding:3px 12px;font-size:14px;font-weight:700;display:inline-block;transform:rotate(-2deg)}.sample-label{color:var(--ink-soft);background:var(--field);border:var(--line-thin) dashed var(--outline);border-radius:999px;margin-bottom:14px;padding:3px 12px;font-size:13.5px;display:inline-block}.quiz-count-row{flex-wrap:wrap;gap:14px;margin:14px 0;display:flex}.count-label{font-family:var(--font-display);color:var(--ink-soft);flex-direction:column;gap:6px;font-size:14.5px;font-weight:700;display:flex}.quiz-output{overflow-wrap:anywhere;margin-top:16px}.quiz-output>p:first-child{font-family:var(--font-display)}.choice-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.choice-button{min-height:54px;font-family:var(--font-body);text-align:left;color:var(--ink);background:var(--card);border:var(--line-thin) solid var(--outline);border-radius:var(--r-sticker);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .2s var(--ease-spring), box-shadow .2s var(--ease-spring), background-color .2s ease;align-items:center;gap:10px;padding:12px 44px 12px 16px;font-size:16px;font-weight:600;display:flex;position:relative}.choice-button:hover:not(:disabled){box-shadow:4px 5px 0 var(--shadow);background:color-mix(in srgb, var(--sky) 14%, var(--card));transform:translate(-2px,-2px)}.choice-button:active:not(:disabled){box-shadow:0 0 0 var(--shadow);transition-duration:70ms;transform:translate(2px,2px)}.choice-button:disabled{cursor:default;opacity:.6}.choice-button.correct-choice:disabled,.choice-button.incorrect-choice:disabled{opacity:1}.selected-choice{background:color-mix(in srgb, var(--sky) 40%, var(--card));box-shadow:var(--shadow-md);transform:translate(-1px,-1px)}.correct-choice,.incorrect-choice{color:var(--on-highlight)}.correct-choice{background:var(--mint);box-shadow:var(--shadow-md)}.incorrect-choice{background:var(--pink)}.correct-choice:after,.incorrect-choice:after{width:24px;height:24px;font-family:var(--font-display);color:var(--ink);background:var(--card);border:var(--line-thin) solid var(--outline);border-radius:50%;place-items:center;margin-top:-12px;font-size:15px;font-weight:800;display:grid;position:absolute;top:50%;right:12px}.correct-choice:after{content:"✓";content:"✓" / ""}.incorrect-choice:after{content:"✕";content:"✕" / ""}:root[data-motion=on] .correct-choice{animation:choice-correct .5s var(--ease-spring) both}:root[data-motion=on] .incorrect-choice{animation:.42s ease-in-out both choice-wrong}.feedback-box{background:var(--card);border:var(--line-thin) solid var(--outline);border-radius:var(--r-card);box-shadow:var(--shadow-md);overflow-wrap:anywhere;margin-top:16px;padding:16px 18px;font-size:15.5px;line-height:1.65;position:relative}.feedback-box>p:first-of-type{font-family:var(--font-display);font-size:18px;font-weight:700}.feedback-correct{background:var(--success-bg);padding-right:48px}.answer-spark{color:var(--yellow);-webkit-text-stroke:2.5px var(--outline);paint-order:stroke fill;pointer-events:none;font-size:48px;line-height:1;position:absolute;top:-26px;right:14px;transform:rotate(12deg)}:root[data-motion=on] .feedback-correct .answer-spark{animation:star-stamp .6s var(--ease-spring) both}.answer-explanation{margin-top:14px;line-height:1.7}.answer-explanation strong{font-family:var(--font-display);margin-bottom:6px;font-size:16px;display:block}.source-quote{color:var(--ink-soft);background:var(--field);border-left:6px solid var(--mint);border-radius:4px 14px 14px 4px;margin:16px 0 0;padding:12px 16px}.source-quote span{font-family:var(--font-display);letter-spacing:.06em;color:var(--ink);font-size:12.5px;font-weight:700}.source-quote p{font-size:14.5px;line-height:1.65}.save-set-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.save-set-row .topic-input{flex:1;width:auto;min-width:200px;margin-bottom:0}.saved-sets-box{background:var(--field);border:var(--line-thin) dashed var(--outline);border-radius:var(--r-card);margin-bottom:14px;padding:16px 18px}.saved-sets-box h3{color:var(--ink);margin-bottom:10px;font-size:17px}.saved-set-item,.history-item{border-top:var(--line-thin) dashed var(--dash);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14.5px;display:flex}.saved-set-item:first-of-type,.history-item:first-of-type{border-top:0}.saved-set-actions{flex-wrap:wrap;gap:8px;display:flex}.history-box{margin:18px 0 16px;padding:18px 20px}.quiz-box .history-box{box-shadow:var(--shadow-md)}.history-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.history-box h3{margin-bottom:8px;font-size:19px}.history-header h3{margin-bottom:0}.correct-pill,.incorrect-pill{font-family:var(--font-display);white-space:nowrap;color:var(--on-highlight);border:var(--line-thin) solid var(--outline);border-radius:999px;padding:3px 12px;font-size:13.5px;font-weight:700;display:inline-flex}.correct-pill{background:var(--mint)}.incorrect-pill{background:var(--pink)}.invalid-quiz-text{color:var(--danger);font-size:14px}.modal-overlay{z-index:200;background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{width:100%;max-width:460px;padding:34px 28px 26px;position:relative}:root[data-motion=on] .modal-box,:root[data-motion=on] .legal-gate{animation:modal-pop .42s var(--ease-spring) both}.modal-box h2{margin-bottom:12px;font-size:25px}.modal-desc{color:var(--ink-soft);margin-bottom:18px;font-size:14.5px;line-height:1.7}.modal-desc strong{color:var(--ink)}.modal-contact{margin-top:8px;display:block}.modal-input{width:100%;font-family:var(--font-mono);letter-spacing:.05em;margin-bottom:12px}.modal-error{color:var(--danger);margin:8px 0 12px;font-size:14px;font-weight:700}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.legal-gate{flex-direction:column;width:100%;max-width:620px;max-height:86vh;display:flex;position:relative;overflow:hidden}.legal-gate-header{padding:28px 28px 0}.legal-gate-header h2{margin-bottom:8px;font-size:25px}.legal-gate-tabs,.login-tabs,.dashboard-nav{background:var(--field);border:var(--line-thin) solid var(--outline);border-radius:14px 16px 13px 15px;gap:6px;padding:5px;display:flex}.legal-gate-tabs{margin-bottom:14px}.legal-gate-body{border-top:var(--line-thin) dashed var(--dash);flex:1;padding:0 28px 16px;overflow-y:auto}.legal-prose{color:var(--ink-soft);padding-top:16px;font-size:14.5px;line-height:1.75}.legal-prose h1{text-align:left;margin:0 0 12px;font-size:23px}.legal-prose h2{margin:22px 0 8px;font-size:18px}.legal-prose p{margin-bottom:12px}.legal-prose ul{margin:0 0 12px;padding-left:20px}.legal-prose li{margin-bottom:6px}.legal-prose strong{color:var(--ink)}.legal-gate-hint{text-align:center;font-family:var(--font-display);color:var(--note-ink);background:var(--note);border-top:var(--line-thin) dashed var(--dash);padding:9px 16px;font-size:14.5px;font-weight:700}:root[data-motion=on] .legal-gate-hint{animation:1.6s ease-in-out infinite hint-nudge}.legal-gate-actions{border-top:var(--line-thin) dashed var(--dash);justify-content:flex-end;gap:10px;padding:16px 28px 24px;display:flex}.login-tabs{margin-bottom:22px}.login-tab,.tab-btn{isolation:isolate;min-height:42px;font-family:var(--font-display);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:8px 14px;font-size:16px;font-weight:700;transition:color .2s;position:relative}.login-tab:before,.tab-btn:before{inset:5px 8px}.login-tab:hover,.tab-btn:hover{color:var(--ink)}.login-tab:hover:before,.tab-btn:hover:before{transform:scaleX(.16)skew(-10deg)}.login-tab.active,.tab-active,.tab-active:hover{color:var(--on-highlight)}.login-tab.active:before,.tab-active:before,.tab-active:hover:before{transform:scaleX(1)skew(-10deg)}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:44px 20px 84px;display:flex}.login-card{width:100%;max-width:420px;padding:40px 34px 30px;position:relative}.login-logo{align-items:center;gap:12px;margin-bottom:6px;display:flex}.login-logo-icon{width:46px;height:46px;color:var(--on-highlight);background:var(--yellow);border:var(--line) solid var(--outline);box-shadow:var(--shadow-sm);border-radius:12px 15px 11px 14px;place-items:center;display:grid;transform:rotate(-5deg)}.login-logo-text{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:30px;font-weight:800}.login-tagline{color:var(--ink-soft);margin:4px 0 10px;font-size:15.5px}.login-features{flex-wrap:wrap;gap:8px;margin:16px 0 24px;display:flex}.login-feature{font-family:var(--font-display);color:var(--on-highlight);border:var(--line-thin) solid var(--outline);border-radius:999px;padding:4px 11px;font-size:13.5px;font-weight:700}.login-feature:first-child{background:var(--yellow);rotate:-2deg}.login-feature:nth-child(2){background:var(--mint);rotate:1.5deg}.login-feature:nth-child(3){background:var(--sky);rotate:-1deg}.login-feature:nth-child(4){background:var(--pink);rotate:2deg}.oauth-buttons{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.oauth-btn{width:100%}.login-divider{font-family:var(--font-display);color:var(--ink-faint);align-items:center;gap:12px;margin-bottom:20px;font-size:14px;font-weight:700;display:flex}.login-divider-line{border-top:var(--line-thin) dashed var(--dash);flex:1;height:0}.login-field{margin-bottom:14px}.login-field label{font-family:var(--font-display);color:var(--ink);margin-bottom:6px;font-size:14.5px;font-weight:700;display:block}.login-toggle{width:100%;font:inherit;text-align:center;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;margin-top:14px;padding:6px;font-size:14.5px}.login-toggle:disabled{opacity:.5;cursor:not-allowed}.login-error,.login-message{text-align:center;margin-top:10px;font-size:14px;font-weight:700}.login-error{color:var(--danger)}.login-message{color:var(--success)}.app-header{z-index:50;background:var(--card);border-bottom:var(--line) solid var(--outline);justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.app-header-right{align-items:center;gap:10px;display:flex}.dashboard-page,.admin-page{max-width:880px;margin:0 auto;padding:36px 20px 96px}.admin-page{max-width:920px}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:30px;display:flex}.dashboard-header h2,.pricing-page h2,.admin-page h2{text-shadow:2px 2px 0 var(--headline-shadow);margin-bottom:0;font-size:32px}.admin-page h2{margin-bottom:20px}.account-card{flex-direction:column;gap:14px;padding:30px 28px;display:flex;position:relative}.account-card h3{margin-bottom:2px;font-size:21px}.account-card p{color:var(--ink-soft);font-size:15px}.account-card p strong{color:var(--ink)}.tier-badge{font-family:var(--font-display);border:var(--line-thin) solid var(--outline);border-radius:999px;padding:2px 12px;font-size:13.5px;font-weight:700;display:inline-flex}.tier-badge.pro{color:var(--on-highlight);background:var(--yellow)}.tier-badge.free{color:var(--ink);background:var(--card)}.upgrade-nudge{color:var(--note-ink);background:var(--note);border:var(--line-thin) solid var(--outline);box-shadow:var(--shadow-sm);border-radius:12px 16px 14px 12px;padding:12px 16px;font-size:14.5px;rotate:-.4deg}.pricing-page{padding:6px 0 20px}.pricing-page .eyebrow{margin-bottom:4px;display:inline-block}.pricing-page h2{margin:4px 0 8px}.pricing-page>.muted-text{margin-bottom:26px}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:22px;max-width:640px;margin-bottom:20px;display:grid}.pricing-card{transition:transform .25s var(--ease-spring), box-shadow .25s var(--ease-spring);padding:26px 24px 22px;position:relative}.pricing-card:hover{box-shadow:7px 9px 0 var(--shadow);transform:translate(-2px,-3px)rotate(-.6deg)}.pricing-card-pro{background:color-mix(in srgb, var(--yellow) 20%, var(--card))}.pricing-card h3{margin-bottom:4px;font-size:21px}.price{font-family:var(--font-display);color:var(--ink);margin:10px 0;font-size:40px;font-weight:800}.price span{color:var(--ink-soft);font-size:14px;font-weight:400}.pricing-card ul{color:var(--ink-soft);flex-direction:column;gap:8px;margin:0 0 20px;padding:0;font-size:14.5px;list-style:none;display:flex}.pricing-card ul li{padding-left:24px;position:relative}.pricing-card ul li:before{content:"✓";content:"✓" / "";font-family:var(--font-display);color:var(--success);font-weight:800;position:absolute;top:-1px;left:0}.pricing-btn{width:100%}.pricing-card .pricing-btn{text-align:center;text-decoration:none;display:flex}.pricing-btn.current{cursor:default}.pricing-btn.current:hover{box-shadow:var(--shadow-sm);background:var(--card);transform:none}.admin-unlock{max-width:440px;margin:72px auto 0}.admin-create-row{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.admin-field{flex-direction:column;gap:6px;display:flex}.admin-field label{font-family:var(--font-display);color:var(--ink);font-size:14.5px;font-weight:700}.admin-table{background:var(--card);border:var(--line) solid var(--outline);border-collapse:separate;border-spacing:0;width:100%;box-shadow:var(--shadow-md);border-radius:16px;font-size:14px;overflow:hidden}.admin-table th{text-align:left;font-family:var(--font-display);color:var(--ink);background:var(--field);border-bottom:var(--line-thin) solid var(--outline);padding:12px;font-size:14px;font-weight:700}.admin-table td{color:var(--ink);border-bottom:var(--line-thin) dashed var(--dash);padding:12px}.admin-table tr:last-child td{border-bottom:0}.admin-code{font-family:var(--font-mono);font-weight:600}.admin-status{font-family:var(--font-display);color:var(--on-highlight);border:var(--line-thin) solid var(--outline);border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-flex}.admin-status.active{background:var(--mint)}.admin-status.inactive{background:var(--pink)}.admin-new-code{color:var(--note-ink);background:var(--note);border:var(--line-thin) solid var(--outline);box-shadow:var(--shadow-sm);border-radius:12px 16px 14px 12px;margin-bottom:20px;padding:14px 16px;font-size:14.5px}.admin-new-code strong{font-family:var(--font-mono);font-size:15px}.katex,.katex *{box-sizing:content-box}.katex-display{padding-bottom:4px;overflow:auto hidden}pre,code{white-space:pre-wrap;word-break:break-word;overflow-x:auto}.message ul,.message ol,.quiz-output ul,.quiz-output ol{margin:8px 0;padding-left:22px}.message li,.quiz-output li{margin-bottom:4px}.message table,.quiz-output table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.message th,.message td,.quiz-output th,.quiz-output td{text-align:left;border:var(--line-thin) solid color-mix(in srgb, var(--outline) 45%, transparent);padding:8px 10px}.message th,.quiz-output th{color:var(--ink);background:var(--field);font-weight:700}.message code,.quiz-output code{font-family:var(--font-mono);background:var(--field);border-radius:6px;padding:1px 6px;font-size:.88em}.message pre,.quiz-output pre{background:var(--field);border:var(--line-thin) dashed color-mix(in srgb, var(--outline) 45%, transparent);border-radius:12px;margin:10px 0;padding:12px 14px}.message pre code,.quiz-output pre code{background:0 0;padding:0}.message h1,.message h2,.message h3,.quiz-output h1,.quiz-output h2,.quiz-output h3{margin:12px 0 6px;font-size:17px}.display-settings{background:var(--card);border:var(--line) solid var(--outline);box-shadow:var(--shadow-md);border-radius:22px;padding:24px}.display-settings p{margin:12px 0 22px}.theme-dock{flex-wrap:wrap;gap:10px;display:flex}.dock-btn{min-height:50px;color:var(--ink);background:var(--card);border:var(--line) solid var(--outline);box-shadow:var(--shadow-md);cursor:pointer;transition:transform .22s var(--ease-spring), box-shadow .22s var(--ease-spring), background-color .2s ease, color .2s ease;border-radius:14px 18px 13px 17px;align-items:center;gap:12px;padding:12px 18px;display:flex}.dock-btn svg{flex-shrink:0;width:24px;height:24px}.dock-btn:hover:not(:disabled){box-shadow:4px 6px 0 var(--shadow);transform:translate(-1px,-3px)rotate(-7deg)}.dock-btn:active:not(:disabled){box-shadow:0 0 0 var(--shadow);transition-duration:70ms;transform:translate(2px,3px)scale(.94)}.dock-btn[aria-pressed=true]{color:var(--on-highlight);background:var(--yellow)}.dock-btn:disabled{opacity:.5;cursor:not-allowed}html.lights-switching body:after{content:"";z-index:500;pointer-events:none;background:#0b100e;animation:.42s both lights-dim;position:fixed;inset:0}:root[data-party=on] .sidebar-nav-active:before,:root[data-party=on] .login-tab.active:before,:root[data-party=on] .tab-active:before,:root[data-party=on] .app-logo-dot,:root[data-party=on] .study-steps button:first-child{animation:1.1s linear infinite party-hue}:root[data-motion=on][data-party=on] .study-heading h1{animation:.6s ease-in-out infinite party-wobble}@keyframes jelly{0%{scale:1}28%{scale:1.07 .91}48%{scale:.95 1.06}68%{scale:1.03 .97}84%{scale:.99 1.01}to{scale:1}}@keyframes message-in{0%{opacity:0;transform:translateY(12px)scale(.96)}60%{opacity:1;transform:translateY(-2px)scale(1.01)}to{opacity:1;transform:none}}@keyframes sticker-wobble{0%,to{transform:rotate(-6deg)}50%{transform:rotate(-1deg)translateY(-3px)}}@keyframes scribble-spin{to{transform:rotate(360deg)}}@keyframes star-stamp{0%{opacity:0;transform:rotate(-40deg)scale(2.2)}55%{opacity:1;transform:rotate(18deg)scale(.85)}to{opacity:1;transform:rotate(12deg)scale(1)}}@keyframes choice-correct{0%{scale:1}35%{scale:1.04 .92}65%{scale:.98 1.03}to{scale:1}}@keyframes choice-wrong{0%,to{translate:0}20%{translate:-7px}40%{translate:6px}60%{translate:-4px}80%{translate:2px}}@keyframes streak-pop{0%{opacity:0;transform:scale(.3)rotate(-14deg)}60%{opacity:1;transform:scale(1.15)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(-2deg)}}@keyframes timer-tick{0%,to{scale:1}50%{scale:1.08}}@keyframes modal-pop{0%{opacity:0;transform:translateY(18px)scale(.94)rotate(-1.5deg)}60%{opacity:1;transform:translateY(-3px)scale(1.01)rotate(.4deg)}to{opacity:1;transform:none}}@keyframes loading-hop{0%{transform:translateY(0)scale(1.08,.92)}to{transform:translateY(-16px)scale(.96,1.04)rotate(12deg)}}@keyframes highlighter-sweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes dot-hop{0%,84%,to{transform:translateY(0)scale(1)}88%{transform:translateY(-7px)scale(.92,1.1)}93%{transform:translateY(0)scale(1.15,.85)}97%{transform:translateY(-2px)scale(1)}}@keyframes spark-twinkle{0%,to{transform:rotate(0)scale(1)}50%{transform:rotate(22deg)scale(1.2)}}@keyframes hint-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes tip-pop{0%{opacity:0;transform:scale(.4)rotate(6deg)}70%{opacity:1;transform:scale(1.06)rotate(-1deg)}to{opacity:1;transform:none}}@keyframes bulb-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bulb-shadow{0%,to{opacity:.14;transform:scaleX(1)}50%{opacity:.09;transform:scaleX(.84)}}@keyframes bulb-jump{0%{transform:translateY(0)scale(1)}20%{transform:translateY(4px)scale(1.07,.9)}50%{transform:translateY(-28px)scale(.95,1.06)}78%{transform:translateY(2px)scale(1.05,.95)}to{transform:translateY(0)scale(1)}}@keyframes bulb-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes bulb-dance{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-14px)rotate(8deg)}}@keyframes wave{0%,to{transform:rotate(-58deg)}50%{transform:rotate(-96deg)}}@keyframes talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(.35)}}@keyframes flicker{0%,to{fill:var(--bulb-glass)}22%{fill:var(--yellow)}36%{fill:var(--bulb-glass)}58%{fill:var(--yellow)}}@keyframes thought-dot{0%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}@keyframes zzz-float{0%{opacity:0;transform:translateY(6px)}40%{opacity:1}to{opacity:0;transform:translate(10px,-16px)}}@keyframes sweat-drip{0%{transform:translateY(-4px)}to{transform:translateY(6px)}}@keyframes lights-dim{0%{opacity:0}36%{opacity:.55}to{opacity:0}}@keyframes party-hue{to{filter:hue-rotate(360deg)}}@keyframes party-wobble{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)translateY(-3px)}}:root[data-motion=off] *,:root[data-motion=off] :before,:root[data-motion=off] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-motion=off] :is(.btn-primary,.login-btn,.modal-submit,.pricing-btn,.demo-entry,.btn-ghost,.modal-cancel,.signout-btn,.account-btn,.sidebar-account-btn,.oauth-btn,.study-steps button,.starter-prompts button,.btn-export,.choice-button,.dock-btn,.pricing-card,.sidebar-nav-item):is(:hover,:active){transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}:root :is(.btn-primary,.login-btn,.modal-submit,.pricing-btn,.demo-entry,.btn-ghost,.modal-cancel,.signout-btn,.account-btn,.sidebar-account-btn,.oauth-btn,.study-steps button,.starter-prompts button,.btn-export,.choice-button,.dock-btn,.pricing-card,.sidebar-nav-item):is(:hover,:active){transform:none}}@media (width>=769px){.study-heading{grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);grid-template-areas:"eyebrow artwork""title artwork""description artwork""steps artwork";align-content:center;column-gap:32px;padding:8px 0 26px;display:grid}.heading-topline{grid-area:eyebrow;min-height:28px}.study-heading h1{grid-area:title;align-self:end}.study-heading>p{grid-area:description}.study-steps{grid-area:steps;align-self:start}.idea-bulb{grid-area:artwork}}@media (width<=1150px) and (width>=769px){.study-heading{grid-template-columns:minmax(0,1fr) 210px;column-gap:18px}.study-heading h1{font-size:clamp(32px,3.6vw,44px)}}@media (width<=768px){.app-shell{flex-direction:column;height:auto;overflow:visible}.sidebar{z-index:100;width:100%;height:auto;padding:0 0 env(safe-area-inset-bottom);box-shadow:0 -12px 0 var(--card), 0 calc(-12px - var(--line)) 0 var(--outline);border-top:0;border-right:0;flex-direction:row;position:fixed;bottom:0;left:0;right:0}.sidebar:after{background-position:0;background-repeat:repeat-x;background-size:30px 22px;width:auto;height:22px;inset:-11px 16px auto}.sidebar-top,.sidebar-bottom{display:none}.sidebar-nav{flex-direction:row;gap:4px;width:100%;padding:8px 8px 6px;overflow:visible}.sidebar-nav-item{flex:1;justify-content:center;width:auto;min-width:0;padding:8px 4px;font-size:16px}.sidebar-nav-item:before{inset:8px 6px}.sidebar-nav-item:hover{transform:none}.sidebar-live{margin-top:0;font-size:14px}.mobile-account{display:flex}.main-content{padding:16px 16px calc(92px + env(safe-area-inset-bottom))}.study-heading{padding:60px 0 18px}.study-heading h1{max-width:calc(100% - 104px);font-size:36px}.study-heading>p{max-width:100%;font-size:15.5px}.idea-bulb{width:118px;position:absolute;top:54px;right:-8px}.bulb-tip{transform-origin:90% 0;border-radius:18px 6px 19px 20px;top:100%;bottom:auto;right:20%}.login-page{padding-top:76px}.paper-lines{background-image:repeating-linear-gradient(180deg, transparent 0, transparent 33px, var(--rule) 33px, var(--rule) 34px);background-position:0 16px}:root[data-theme=chalkboard] .paper-lines{background-position:0 0}}@media (width<=640px){h1{margin-bottom:16px;font-size:1.9rem}.study-heading h1{font-size:clamp(30px,8.4vw,38px)}.chat-box{border-radius:22px;min-height:280px;max-height:380px;padding:18px 14px 14px}.quiz-box{border-radius:22px;padding:20px 16px 18px}.message{font-size:15px}.message.user{margin-left:12px}.message.assistant{margin-right:12px}.choice-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr}.chat-empty{padding:24px 6px}.chat-empty-headline{font-size:23px}.chat-toolbar .btn-ghost{flex-shrink:0;width:auto}.focus-panel{padding:12px 14px}.quiz-actions,.quiz-top-row,.save-set-row,.history-header,.saved-set-item,.history-item{flex-direction:column;align-items:stretch}.quiz-actions>*,.save-set-row>*,.saved-set-actions>*{width:100%}.chat-input,.notes-box,.topic-input,.difficulty-select,.login-input,.modal-input{font-size:16px}.quiz-actions .btn-primary,.quiz-actions .btn-ghost{width:100%}input[type=file]{width:100%;max-width:100%}.modal-actions{flex-direction:column}.modal-actions button{width:100%}.legal-gate{max-height:90vh}.legal-gate-header{padding:22px 18px 0}.legal-gate-body{padding:0 18px 12px}.legal-gate-actions{padding:14px 18px 18px}.admin-create-row{flex-direction:column;align-items:stretch}.admin-table{font-size:12.5px}.admin-table th,.admin-table td{padding:8px 6px}.study-experience .chat-view{padding-bottom:calc(172px + env(safe-area-inset-bottom))}.study-experience .input-bar{z-index:90;left:12px;right:12px;bottom:calc(74px + env(safe-area-inset-bottom));background:var(--card);border:var(--line) solid var(--outline);width:auto;max-width:none;box-shadow:var(--shadow-md);border-radius:24px;padding:9px;position:fixed}.study-experience .input-bar .chat-input{width:auto;min-width:0}.study-experience .input-bar .btn-primary{flex-shrink:0;width:auto;min-width:72px}.login-card{padding:34px 22px 26px}}@media (width<=350px){.study-heading h1{max-width:calc(100% - 84px);font-size:29px}.idea-bulb{width:98px}.eyebrow{font-size:14px}}
