.lp{--paper: #fafaf7;--card: #ffffff;--ink: #1b1f1c;--ink-2: #454c47;--ink-3: #5f665c;--line: #d9d6ca;--green: #157a3d;--green-deep: #0f5c2e;--green-soft: rgba(21, 122, 61, .09);--bezel: #1a1d19;--bezel-text: #c9d0c4;--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Menlo, monospace;--ease: cubic-bezier(.16, 1, .3, 1);background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased}body{margin:0}.route-loading{min-height:100vh}.lp :where(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}.lp :where(a){color:inherit;text-decoration:none}.lp :where(button,input){font:inherit}.lp :focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.lp ::selection{background:var(--green);color:#fff}.lp-wrap{width:min(1120px,100% - 32px);margin-inline:auto}@media (min-width: 760px){.lp-wrap{width:min(1120px,100% - 48px)}}.lp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:8px;background:var(--green);color:#fff;border:1px solid transparent;font:500 15px/1 var(--sans);cursor:pointer;white-space:nowrap;transition:background .14s ease-out,border-color .14s ease-out}.lp-btn:hover{background:var(--green-deep)}.lp-btn-quiet{background:var(--card);color:var(--ink);border-color:var(--line)}.lp-btn-quiet:hover{background:var(--card);border-color:var(--ink-3)}.lp-btn-lg{min-height:50px;padding:0 26px;font-size:16px}.lp-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.lp-bar{position:sticky;top:0;z-index:40;background:#fafaf7f0;border-bottom:1px solid var(--line)}.lp-bar-in{display:flex;align-items:center;gap:28px;min-height:60px}.lp-mark{display:inline-flex;align-items:center;gap:9px;font:500 19px/1 var(--serif);letter-spacing:-.01em}.lp-mark img{height:20px;width:auto}.lp-nav{display:flex;gap:22px;font:500 14px/1 var(--sans);color:var(--ink-2)}.lp-nav a:hover{color:var(--green)}.lp-nav small{font-size:11px;color:var(--ink-3);vertical-align:.15em;margin-left:2px}.lp-bar-end{margin-left:auto;display:flex;align-items:center;gap:8px}.lp-bar .lp-btn{min-height:40px;padding:0 14px;font-size:14px}@media (max-width: 640px){.lp-nav,.lp-signin{display:none}.lp-bar-in{gap:12px}}.lp-hero{padding:40px 0 36px;position:relative;overflow:hidden}.lp-hero-grid{display:grid;gap:28px;align-items:center}.lp-hero h1{font:300 clamp(34px,5vw,62px)/1.05 var(--serif);font-optical-sizing:auto;letter-spacing:-.025em;max-width:15ch;text-wrap:balance}.lp-lede{margin-top:18px;font-size:17px;line-height:1.6;color:var(--ink-2);max-width:48ch}.lp-tabs{display:inline-flex;margin-top:22px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:3px;gap:2px}.lp-tabs button{border:0;background:transparent;color:var(--ink-2);border-radius:6px;padding:11px 14px;font:500 14px/1 var(--sans);cursor:pointer}.lp-tabs button[aria-selected=true]{background:var(--green);color:#fff}.lp-compat{margin-top:18px;font-size:14px;line-height:1.5;color:var(--ink-3);max-width:52ch}.lp-hero-visual{position:relative}.lp-trace{position:absolute;inset:-62% -10% auto -10%;width:120%;height:auto;opacity:.6;pointer-events:none}.lp-trace path{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:lp-draw 1.4s var(--ease) .3s forwards}@keyframes lp-draw{to{stroke-dashoffset:0}}.lp-lcd{position:relative;margin:0 auto;max-width:460px;background:var(--bezel);border-radius:8px;padding:12px;box-shadow:0 12px 32px #14140f24}.lp-lcd-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:3px}.lp-lcd figcaption{margin-top:10px;font-size:13px;line-height:1.4;color:var(--bezel-text)}.lp-lcd-sm{max-width:320px;margin:0;padding:8px;box-shadow:none}@media (max-width: 1023px){.lp-trace{display:none}}@media (min-width: 1024px){.lp-hero{padding:64px 0 56px}.lp-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px}.lp-lcd{margin:0 0 0 auto}}.lp-sec{padding-top:72px;scroll-margin-top:64px}.lp-sec h2{font:400 clamp(26px,3.2vw,36px)/1.15 var(--serif);letter-spacing:-.015em}.lp-sub{margin-top:10px;color:var(--ink-2);max-width:60ch}.lp-sec>.lp-wrap>.lp-btn{margin-top:24px}.lp-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:28px}.lp-steps li{display:grid;grid-template-columns:40px 1fr;gap:6px 14px;align-items:start}.lp-step-n{font:400 30px/1 var(--serif);color:var(--green);padding-top:2px}.lp-steps h3{font:500 20px/1.3 var(--serif)}.lp-steps p{margin-top:6px;font-size:15px;color:var(--ink-2);max-width:40ch}.lp-step-art{grid-column:1 / -1;margin-top:8px}.lp-ask{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 12px 12px 16px;font-size:15px;color:var(--ink-2);max-width:420px}.lp-ask span{flex:1}.lp-ask b{flex:none;background:var(--green);color:#fff;font:500 13px/1 var(--sans);padding:9px 12px;border-radius:6px}.lp-file{display:inline-flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px}.lp-file-name{font:500 15px/1.3 var(--mono)}.lp-file-meta{font-size:13px;color:var(--ink-3)}@media (min-width: 900px){.lp-steps{grid-template-columns:repeat(3,1fr);gap:32px}}.lp-examples{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--line)}.lp-examples a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--line)}.lp-examples a:hover h3{color:var(--green)}.lp-ex-subject{font-size:13px;color:var(--ink-3)}.lp-ex-tier{grid-column:2;grid-row:1 / span 2;align-self:start;font-size:12px;font-weight:500;color:var(--green);background:var(--green-soft);border-radius:999px;padding:3px 10px}.lp-examples h3{font:400 20px/1.3 var(--serif)}.lp-examples p{grid-column:1;font-size:14px;color:var(--ink-2);max-width:64ch}@media (max-width: 640px){.lp-examples li:nth-child(n+4){display:none}}.lp-cards{display:grid;gap:16px;margin-top:22px}.lp-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px}.lp-card h3{font:500 20px/1.3 var(--serif)}.lp-card p{margin-top:8px;font-size:15px;color:var(--ink-2)}.lp-card .lp-status{font-size:13px;color:var(--ink-3);margin-top:14px}@media (min-width: 760px){.lp-cards{grid-template-columns:1fr 1fr}}.lp-plans{display:grid;gap:16px;margin-top:22px}.lp-plan{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}.lp-plan-featured{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.lp-plan h3{font:500 18px/1.3 var(--sans)}.lp-price{margin-top:8px;font:400 44px/1 var(--serif);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.lp-price span{font:400 15px/1.3 var(--sans);color:var(--ink-3)}.lp-plan ul{list-style:none;padding:0;margin:18px 0 22px;display:flex;flex-direction:column;gap:9px}.lp-plan li{position:relative;padding-left:22px;font-size:14.5px;color:var(--ink-2)}.lp-plan li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:600}.lp-plan .lp-btn{margin-top:auto}.lp-fine{margin-top:18px;font-size:14px;color:var(--ink-3);max-width:70ch}@media (min-width: 900px){.lp-plans{grid-template-columns:repeat(3,1fr)}}.lp-faq{margin-top:18px;border-top:1px solid var(--line)}.lp-faq details{border-bottom:1px solid var(--line)}.lp-faq summary{list-style:none;cursor:pointer;padding:16px 0;font:400 18px/1.35 var(--serif);display:flex;gap:12px;align-items:baseline}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary:after{content:"+";margin-left:auto;font:400 20px/1 var(--mono);color:var(--ink-3)}.lp-faq details[open] summary:after{content:"−"}.lp-faq p{padding-bottom:18px;font-size:15px;color:var(--ink-2);max-width:66ch}.lp-foot{margin-top:80px;border-top:1px solid var(--line);padding:40px 0 28px}.lp-foot-grid{display:grid;gap:28px}.lp-foot-brand p{margin-top:12px;font-size:14px;color:var(--ink-2);max-width:32ch}.lp-foot-col{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink-2)}.lp-foot-col h4{font:500 13px/1.3 var(--sans);color:var(--ink-3);margin-bottom:2px}.lp-foot-col a:hover{color:var(--green)}.lp-disclaimer{margin-top:32px;font-size:13px;line-height:1.55;color:var(--ink-3);max-width:80ch}.lp-legal{margin-top:10px;font-size:13px;color:var(--ink-3)}@media (min-width: 760px){.lp-foot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px}}.lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:center;gap:16px;background:#fafaf7f5;border-top:1px solid var(--line);padding:12px 24px;transform:translateY(110%);transition:transform .24s var(--ease);font-size:14px;color:var(--ink-2)}.lp-sticky[data-show=true]{transform:none}@media (max-width: 640px){.lp-sticky{display:none}}.lp-tabbar{display:none}@media (max-width: 640px){.lp{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px))}.lp-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;height:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fffffff7;border-top:1px solid var(--line)}.lp-tabbar a{flex:1;display:flex;align-items:center;justify-content:center;font:500 13px/1 var(--sans);color:var(--ink-2);border-radius:8px;margin:8px 3px}.lp-tabbar a[data-active=true]{color:var(--green);background:var(--green-soft)}.lp-tabbar a.lp-tabbar-app{background:var(--green);color:#fff}}.lp-placeholder{max-width:560px;margin:56px auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px}.lp-placeholder h1{font:400 clamp(26px,4vw,34px)/1.15 var(--serif);letter-spacing:-.015em}.lp-placeholder p{margin-top:12px;color:var(--ink-2)}.lp-badge{display:inline-block;font-size:12px;font-weight:500;color:var(--ink-3);border:1px solid var(--line);border-radius:999px;padding:2px 10px;margin-bottom:14px}@media (prefers-reduced-motion: reduce){.lp-trace path{animation:none;stroke-dashoffset:0}.lp-sticky,.lp-btn{transition:none}}.lp-form{display:grid;gap:8px;margin-top:18px;max-width:380px}.lp-form label{font-size:14px;color:var(--ink-2)}.lp-form input{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:16px var(--sans)}.lp-form input:focus{outline:2px solid var(--green);outline-offset:2px;border-color:var(--green)}.lp-muted{margin-top:14px;font-size:13px;color:var(--ink-3)}.lp-muted a{text-decoration:underline}.lp-error{margin-top:12px;font-size:14px;color:#a3311f}:root{--case: #2e3138;--case-2: #383c44;--case-3: #40454e;--bezel: #16181b;--hair: #4b515b;--lcd: #a9be95;--lcd-ink: #23301c;--lcd-ce: #f5f8f2;--lcd-ce-ink: #171a14;--lcd-ce-off: #d9dcd4;--ink: #dcdee3;--ink-dim: #878c97;--ti-blue: #3c7bd4;--ti-blue-press: #2f66b6;--ti-green: #5c9c57;--edit: #f5f5f2;--edit-ink: #23262b;--edit-hair: #d9d8d1;--danger: #d1584b;--note-hl: #f5d949;--note-hl-ink: #6b5a00;--atmos-line: rgba(60, 123, 212, .16);--comet-1: rgba(140, 185, 245, .95);--comet-2: rgba(60, 123, 212, .5);--comet-3: rgba(169, 190, 149, .4);--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--r: 6px;--pane-gap: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--case);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}textarea,input{font:inherit}.shell{display:flex;flex-direction:column;height:100vh;height:100dvh;padding:var(--pane-gap);gap:var(--pane-gap)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 4px;flex-shrink:0}.wordmark{display:flex;align-items:baseline;gap:9px;font-family:var(--mono);font-weight:600;letter-spacing:.02em;font-size:15px;background:none;border:0;padding:0;text-align:left;cursor:pointer}.wordmark:hover{opacity:.82}.wordmark .dot{width:9px;height:9px;background:var(--ti-blue);border-radius:1px;transform:translateY(-1px)}.wordmark .sub{font-weight:400;font-size:12px;color:var(--ink-dim)}.topbar-right{display:flex;align-items:center;gap:10px}.account-chip{border:0;background:var(--bezel);color:var(--ink-dim);font-family:var(--mono);font-size:11px;padding:6px 10px;border-radius:var(--r);box-shadow:inset 0 1px 2px #00000080}.account-chip:hover{color:var(--ink)}.streak-chip{color:#d99a3f;cursor:default}.streak-chip:hover{color:#d99a3f}.modelswitch{display:inline-flex;background:var(--bezel);border-radius:var(--r);padding:3px;gap:3px;box-shadow:inset 0 1px 2px #00000080}.modelswitch button{border:0;background:transparent;color:var(--ink-dim);font-family:var(--mono);font-size:12px;padding:5px 11px;border-radius:2px;transition:background 90ms linear,color 90ms linear}.modelswitch button[aria-pressed=true]{background:var(--case-3);color:var(--ink);box-shadow:0 1px #ffffff0d}.bench{display:grid;grid-template-columns:300px minmax(0,1fr) 384px;gap:var(--pane-gap);flex:1;min-height:0}.module{background:var(--case-2);border-radius:var(--r);display:flex;flex-direction:column;min-height:0;box-shadow:0 1px #ffffff0a,0 -1px #0000004d}.module>header{flex-shrink:0;padding:9px 12px;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink-dim);display:flex;align-items:center;justify-content:space-between;gap:8px}.module>header .status.ok{color:var(--ti-green)}.module>header .status.err{color:var(--danger)}.module>.inset{flex:1;margin:0 8px 8px;background:var(--bezel);border-radius:10px;box-shadow:inset 0 2px 5px #0000008c;min-height:0;display:flex;flex-direction:column;overflow:hidden}.chatlog{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.chatlog:empty:after{content:"Describe the program you want. Plain language is fine — “vertex form of a parabola”, “dice roller”, “Ohm’s law solver”.";color:var(--ink-dim);font-size:13px}.msg{display:flex;flex-direction:column;max-width:88%;font-size:13px}.msg.you{align-self:flex-end;align-items:flex-end}.msg.studio{align-self:flex-start;align-items:flex-start}.msg .who{font-family:var(--mono);font-size:10.5px;color:var(--ink-dim);margin-bottom:3px;padding:0 4px}.msg .bubble{padding:9px 13px;line-height:1.45}.msg.you .bubble{background:var(--ti-blue);color:#fff;border-radius:15px 15px 3px}.msg.studio .bubble{background:var(--case-2);color:var(--ink);border-radius:15px 15px 15px 3px}.clarify-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.clarify-options button{background:var(--case-3);color:var(--ink);border:1px solid var(--hair);border-radius:999px;padding:7px 13px;font-size:12px;transition:background 90ms linear,transform 60ms ease}.clarify-options button:hover:not(:disabled){background:var(--ti-blue);color:#fff;border-color:var(--ti-blue)}.clarify-options button:active:not(:disabled){transform:translateY(1px)}.catalog-matches{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:320px}.catalog-card{display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;background:var(--case-3);color:var(--ink);border:1px solid var(--hair);border-radius:10px;padding:9px 12px;transition:background 90ms linear,transform 60ms ease}.catalog-card:hover:not(:disabled){background:var(--ti-blue-press)}.catalog-card:active:not(:disabled){transform:translateY(1px)}.catalog-card-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%;font-weight:600;font-size:12.5px}.catalog-card-stars{font-size:11px;color:var(--note-hl);letter-spacing:1px;flex-shrink:0}.catalog-card-desc{font-size:11.5px;color:var(--ink-dim);line-height:1.35}.msg .problems{margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--danger);white-space:pre-wrap}.composer{flex-shrink:0;margin:0 8px 8px;padding:10px 10px 8px;border:1px solid var(--hair);border-radius:16px;background:var(--case-2);display:flex;flex-direction:column;gap:8px}.composer textarea{width:100%;resize:none;background:transparent;border:0;color:var(--ink);padding:4px 4px 0;min-height:46px;outline:none}.composer textarea::placeholder{color:var(--ink-dim)}.composer .row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.send-btn{border-radius:999px;padding:8px 18px;font-weight:600;order:1;margin-left:auto}.upload-err{font-size:12px;color:var(--danger);padding:0 4px}.manual-panel{flex-shrink:0;border-top:1px solid var(--hair);padding:10px 8px;display:flex;flex-direction:column;gap:8px}.manual-head{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--ink-dim)}.manual-panel label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--ink-dim)}.manual-panel textarea{background:var(--bezel);border:1px solid var(--hair);border-radius:2px;color:var(--ink);padding:8px;font-family:var(--mono);font-size:12px;resize:vertical;outline:none}.manual-panel textarea:focus{border-color:var(--ti-blue)}.manual-prompt{min-height:70px}.manual-reply{min-height:90px}.landing{min-height:100vh;min-height:100dvh;background:var(--case);color:var(--ink);padding:20px 20px 28px;display:flex;flex-direction:column;gap:18px;max-width:440px;margin:0 auto}.landing-hero{display:flex;justify-content:center;padding-top:4px}.landing-hero-frame{width:100%;animation:landing-power-on .42s ease-out}@keyframes landing-power-on{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.landing-hero-canvas{width:100%;height:auto}.landing-headline{font-family:var(--sans);font-size:26px;line-height:1.22;font-weight:600;margin:0;color:var(--ink)}.landing-sub{font-size:14px;line-height:1.55;color:var(--ink-dim);margin:0;max-width:42ch}.landing-menu{background:var(--bezel);border-radius:var(--r);padding:4px;display:flex;flex-direction:column;gap:2px}.landing-menu-row{font-family:var(--mono);font-size:12.5px;color:var(--ink);padding:10px 12px;display:flex;gap:8px;align-items:baseline}.landing-menu-num{color:var(--ti-green);flex-shrink:0}.landing-plans{display:flex;gap:8px}.landing-plan{flex:1;background:var(--case-3);border:1px solid var(--hair);border-radius:var(--r);padding:10px}.landing-plan-name{font-family:var(--mono);font-size:12px;color:var(--ink-dim)}.landing-plan-price{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink);margin:2px 0 4px}.landing-plan p{margin:0;font-size:11.5px;line-height:1.4;color:var(--ink-dim)}.landing-cta{padding:14px;font-size:14px}.landing-links{display:flex;justify-content:space-between;align-items:center}.landing-footnote{margin:0;font-size:11px;line-height:1.5;color:var(--ink-dim)}.modeswitch{position:relative;display:inline-flex;background:var(--bezel);border-radius:var(--r);padding:3px;gap:3px}.modeswitch-pill{position:absolute;top:3px;bottom:3px;left:0;border-radius:2px;background:var(--case-3);transition:transform .18s cubic-bezier(.2,.8,.2,1),width .18s cubic-bezier(.2,.8,.2,1);pointer-events:none;z-index:0}@media (prefers-reduced-motion: reduce){.modeswitch-pill{transition:none}}.modeswitch button{position:relative;z-index:1;border:0;background:transparent;color:var(--ink-dim);font-family:var(--mono);font-size:11px;padding:5px 9px;border-radius:2px;transition:color 90ms linear}.modeswitch button[aria-pressed=true]{color:var(--ink)}.btn{border:0;border-radius:var(--r);padding:8px 14px;font-family:var(--mono);font-size:12px;font-weight:500;background:var(--case-3);color:var(--ink);transition:transform 60ms ease,background 90ms linear}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--ti-blue);color:#fff}.btn.primary:active{background:var(--ti-blue-press)}.btn.ghost{background:transparent;color:var(--ink-dim);padding:8px 6px}.btn:disabled{opacity:.45;cursor:default}.btn.wide{width:100%;text-align:center}.inset.prog-inset{background:var(--edit);color:var(--edit-ink)}.prog-head{display:flex;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--edit-hair);flex-shrink:0}.prog-head label{font-family:var(--mono);font-size:11px;color:#8a8a80}.prog-head input{width:9ch;background:#fff;border:1px solid var(--edit-hair);border-radius:2px;padding:3px 6px;font-family:var(--mono);font-size:13px;color:var(--edit-ink);text-transform:uppercase;outline:none}.prog-head input:focus{border-color:var(--ti-blue)}.prog-head .status{margin-left:auto;font-family:var(--mono);font-size:11px}.prog-head .status.ok{color:var(--ti-green)}.prog-head .status.err{color:var(--danger)}.editor{flex:1;display:grid;grid-template-columns:3ch 1fr;overflow:auto;min-height:0;font-family:var(--mono);font-size:13px;line-height:1.55}.editor .gutter{text-align:right;padding:10px 6px 10px 0;color:#b9b9ac;-webkit-user-select:none;user-select:none;white-space:pre}.editor textarea{border:0;outline:none;resize:none;background:transparent;color:#1b1e23;font-weight:400;caret-color:var(--ti-blue);padding:10px 12px;white-space:pre;overflow-wrap:normal;min-height:100%;-moz-tab-size:2;tab-size:2}.editor .gutter .bad{color:var(--danger)}.editor .gutter .note{background:var(--note-hl);color:var(--note-hl-ink);border-radius:2px}.notes{flex-shrink:0;border-top:1px solid var(--edit-hair);padding:9px 12px;background:#efefe9;font-size:12.5px;color:#4a4a44;max-height:34%;overflow-y:auto}.notes h4{margin:0 0 3px;font-family:var(--mono);font-size:11px;font-weight:500;color:#8a8a80}.notes ul{margin:2px 0 8px;padding-left:16px}.notes li{margin:1px 0}.notes .flag{color:#9a6a1a}.notes.note-block{background:#fbf6da}.notes .byte-note{color:#9a6a1a;font-weight:400}.strip-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:#6a6a5e;cursor:pointer}.notes.cas-callout{background:#eef2fb}.notes.cas-callout p{margin:4px 0 0}.notes.cas-callout a{color:var(--ti-blue-press)}.module[data-pane=screen]>.inset{position:relative;z-index:0;overflow-y:auto}.screen-inset,.send{position:relative;z-index:1}.screen-inset{padding:14px;gap:12px;align-items:center;justify-content:flex-start}.screen-atmos{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;color:var(--atmos-line);pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%)}.screen-atmos .ln{fill:none;stroke:currentColor;stroke-width:1.1;vector-effect:non-scaling-stroke}.screen-atmos .atmos-branch{fill:none;stroke:currentColor;stroke-width:.9;opacity:.5;vector-effect:non-scaling-stroke}.screen-atmos .atmos-branch-spark{fill:none;stroke:var(--comet-2);stroke-width:1;stroke-linecap:round;stroke-dasharray:46 1000;opacity:0;vector-effect:non-scaling-stroke}.screen-atmos .pulse{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:17 1000;opacity:0;stroke-width:calc(2.2px - var(--i) * .2px);stroke:color-mix(in srgb,var(--comet-1),var(--comet-3) calc(var(--i) * 13%))}@media (prefers-reduced-motion: reduce){.screen-atmos .atmos-branch-spark,.screen-atmos .pulse{display:none}}.lcd-frame{width:100%;background:#0d0f0d;border-radius:4px;padding:12px;box-shadow:inset 0 2px 8px #000000b3}.lcd-canvas{display:block;width:100%;height:auto;image-rendering:pixelated;border-radius:2px;background:var(--lcd)}.lcd-frame.off .lcd-canvas{background:#4b5346;opacity:.6}.lcd-frame.color .lcd-canvas{background:var(--lcd-ce)}.lcd-frame.color.off .lcd-canvas{background:var(--lcd-ce-off);opacity:.85}.runbar{display:flex;gap:8px;width:100%}.runbar .btn{flex:1;text-align:center}.btn.run{background:var(--ti-green);color:#fff}.ti84-keypad{width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:5px 4px}.ti84-cell{display:flex;flex-direction:column;min-width:0}.ti84-legend{display:flex;justify-content:space-between;gap:2px;font-family:var(--mono);font-size:7.5px;line-height:1.3;padding:0 1px 2px;white-space:nowrap;overflow:hidden}.ti84-legend-2nd{color:var(--ti-blue)}.ti84-legend-alpha{color:var(--ti-green)}.ti84-key{flex:1;border:0;border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--case-3),#fff 14%),var(--case-3) 45%,color-mix(in srgb,var(--case-3),#000 16%));color:var(--ink);font-family:var(--mono);font-size:10.5px;letter-spacing:-.01em;padding:9px 2px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:clip;transition:transform 60ms ease,background 60ms,box-shadow 60ms;box-shadow:0 2px 1px #00000073,inset 0 1px #ffffff38,inset 0 -2px 2px #0000002e}.ti84-key:active{transform:translateY(1px);box-shadow:inset 0 2px 3px #0006,inset 0 -1px #ffffff14}.ti84-key--num{background:linear-gradient(180deg,color-mix(in srgb,var(--hair),#fff 16%),var(--hair) 45%,color-mix(in srgb,var(--hair),#000 12%));color:var(--bezel)}.ti84-key--mod2nd{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-blue),#fff 18%),var(--ti-blue) 45%,color-mix(in srgb,var(--ti-blue),#000 14%));color:#fff}.ti84-key--mod2nd[data-armed=true]{background:var(--ti-blue-press);box-shadow:0 0 0 2px var(--lcd) inset}.ti84-key--modalpha{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-green),#fff 18%),var(--ti-green) 45%,color-mix(in srgb,var(--ti-green),#000 14%));color:#fff}.ti84-key--modalpha[data-armed=true]{box-shadow:0 0 0 2px var(--lcd) inset}.ti84-key--enter{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-blue-press),#fff 18%),var(--ti-blue-press) 45%,color-mix(in srgb,var(--ti-blue-press),#000 14%));color:#fff;font-weight:600}.ti89-keypad{width:100%;display:grid;grid-template-columns:repeat(6,1fr);gap:5px 4px}.ti89-cell{display:flex;flex-direction:column;min-width:0}.ti89-legend{font-family:var(--mono);font-size:7px;line-height:1.25;padding:0 1px 2px}.ti89-legend-line{display:flex;justify-content:space-between;gap:2px;white-space:nowrap;overflow:hidden}.ti89-legend-2nd{color:var(--ti-blue)}.ti89-legend-diamond{color:#c9d94a}.ti89-legend-alpha{display:block;text-align:right;color:var(--ti-green)}.ti89-key{flex:1;border:0;border-radius:6px;background:linear-gradient(180deg,color-mix(in srgb,var(--case-3),#fff 14%),var(--case-3) 45%,color-mix(in srgb,var(--case-3),#000 16%));color:var(--ink);font-family:var(--mono);font-size:10px;letter-spacing:-.01em;padding:9px 2px;min-width:0;white-space:nowrap;overflow:hidden;transition:transform 60ms ease,background 60ms,box-shadow 60ms;box-shadow:0 2px 1px #00000073,inset 0 1px #ffffff38,inset 0 -2px 2px #0000002e}.ti89-key:active{transform:translateY(1px);box-shadow:inset 0 2px 3px #0006,inset 0 -1px #ffffff14}.ti89-key--num,.ti89-key--var{background:linear-gradient(180deg,color-mix(in srgb,var(--hair),#fff 16%),var(--hair) 45%,color-mix(in srgb,var(--hair),#000 12%));color:var(--bezel)}.ti89-key--mod2nd{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-blue),#fff 18%),var(--ti-blue) 45%,color-mix(in srgb,var(--ti-blue),#000 14%));color:#fff}.ti89-key--mod2nd[data-armed=true]{background:var(--ti-blue-press);box-shadow:0 0 0 2px var(--lcd) inset}.ti89-key--moddiamond{background:linear-gradient(180deg,color-mix(in srgb,#c9d94a,#fff 18%),#c9d94a 45%,color-mix(in srgb,#c9d94a,#000 14%));color:#23301c}.ti89-key--moddiamond[data-armed=true]{box-shadow:0 0 0 2px var(--lcd) inset}.ti89-key--modalpha{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-green),#fff 18%),var(--ti-green) 45%,color-mix(in srgb,var(--ti-green),#000 14%));color:#fff}.ti89-key--modalpha[data-armed=true]{box-shadow:0 0 0 2px var(--lcd) inset}.ti89-key--enter{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-blue-press),#fff 18%),var(--ti-blue-press) 45%,color-mix(in srgb,var(--ti-blue-press),#000 14%));color:#fff;font-weight:600}.prompt-line{width:100%;display:flex;gap:8px;align-items:center}.prompt-line span{font-family:var(--mono);font-size:12px;color:var(--lcd)}.prompt-line input{flex:1;background:var(--bezel);border:1px solid var(--hair);border-radius:2px;color:var(--ink);padding:6px 8px;font-family:var(--mono);outline:none}.prompt-line input:focus{border-color:var(--ti-green)}.hint{font-size:12px;color:var(--ink-dim);align-self:flex-start}.tabbar{display:none}@media (max-width: 900px){.bench{grid-template-columns:1fr;grid-template-rows:1fr}.module{display:none}.module.active{display:flex}.tabbar{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:var(--bezel);border-radius:var(--r);padding:3px;flex-shrink:0}.tabbar button{border:0;background:transparent;color:var(--ink-dim);font-family:var(--mono);font-size:12px;padding:8px;border-radius:2px}.tabbar button[aria-pressed=true]{background:var(--case-3);color:var(--ink)}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--ti-blue);outline-offset:1px}.send{flex-shrink:0;border-top:1px solid var(--hair);padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}.send-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.send-row .btn{flex-shrink:0}.send-ok{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--ti-green);animation:send-ok-pop .42s cubic-bezier(.16,1,.3,1) both}.send-ok .send-ok-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--ti-green);color:var(--case);font-size:10px;line-height:1;flex:none;animation:send-ok-ring .7s ease-out both}@keyframes send-ok-pop{0%{opacity:0;transform:translateY(3px) scale(.94)}to{opacity:1;transform:none}}@keyframes send-ok-ring{0%{box-shadow:0 0 #5c9c5799}to{box-shadow:0 0 0 10px #5c9c5700}}@media (prefers-reduced-motion: reduce){.send-ok,.send-ok .send-ok-badge{animation:none}}.send-err{font-family:var(--mono);font-size:12px;color:var(--danger)}.send-note{margin:0;font-size:12px;line-height:1.5;color:var(--ink-dim)}.send-note strong{color:var(--ink);font-weight:500}.footnote{flex-shrink:0;padding:8px 6px 2px;font-size:11px;line-height:1.5;color:var(--ink-dim);max-width:82ch}.msg .note-line{margin-top:5px;font-size:12px;color:var(--ink-dim);line-height:1.5}.bubble.working{color:var(--ink-dim)}.bubble.working .dots:after{content:"";animation:dots 1.2s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.modeswitch button.locked{opacity:.5}.modeswitch button.locked:hover{opacity:.8}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.account-modal{width:min(92vw,420px);max-height:85vh;overflow-y:auto;background:var(--case-2);border-radius:var(--r);box-shadow:0 12px 40px #00000080}.account-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--hair);font-family:var(--mono);font-size:12px;color:var(--ink-dim)}.account-body{padding:14px;display:flex;flex-direction:column;gap:14px}.usage-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink)}.usage-left{color:var(--ink-dim);flex-shrink:0}.usage-bar{height:6px;background:var(--bezel);border-radius:3px;overflow:hidden;margin-top:6px}.usage-fill{height:100%;background:var(--ti-blue);transition:width .2s ease}.usage-out{color:var(--danger);font-size:12px;margin:6px 0 0}.topup{margin-top:8px}.plans{display:flex;flex-wrap:wrap;gap:8px}.plan-card{flex:1 1 160px;border:1px solid var(--hair);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--case-3)}.plan-card.current{border-color:var(--ti-blue)}.plan-title{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono);font-size:12px}.plan-card p{font-size:11.5px;color:var(--ink-dim);margin:0;flex:1}.ask-a-pro{border-top:1px solid var(--hair);padding-top:12px}.ask-a-pro h4{margin:0 0 6px;font-family:var(--mono);font-size:11px;font-weight:500;color:var(--ink-dim)}.ask-a-pro textarea{width:100%;min-height:60px;background:var(--bezel);border:1px solid var(--hair);border-radius:var(--r);color:var(--ink);padding:8px;font-family:var(--sans);font-size:12px;resize:vertical;margin-bottom:8px}.ask-a-pro .hint{font-size:12px;color:var(--ink-dim)}.ask-a-pro .hint.small{font-size:11px;margin-top:6px}.ti89-shell{--case: #3a3d40;--case-2: #45484c;--case-3: #505458;--bezel: #1c1d1f;--hair: #5a5e62;--lcd: #c9cdc3;--lcd-ink: #23261f;--ti-blue: #8a8f96;--ti-blue-press: #74797f;--ti-green: #7a9c6f}.ti89-bench{grid-template-columns:280px minmax(0,1fr) 380px}.ti89-filepanel{padding:12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.ti89-filepanel label{display:flex;flex-direction:column;gap:4px;font-family:var(--mono);font-size:11px;color:#8a8a80}.ti89-filepanel input{background:#fff;border:1px solid var(--edit-hair);border-radius:2px;padding:5px 7px;font-family:var(--mono);font-size:13px;color:var(--edit-ink)}.ti89-filepanel .hint{font-size:11.5px;color:#6a6a5e;line-height:1.5}.ti89-screen{width:100%;margin:0;background:var(--lcd);color:var(--lcd-ink);font-family:var(--mono);font-size:13px;line-height:1.4;padding:10px;border-radius:2px;white-space:pre;overflow:hidden}@media (max-width: 900px){.ti89-bench{grid-template-columns:1fr;grid-template-rows:auto auto}.ti89-bench .module{display:flex}}.calc{width:100%;display:flex;flex-direction:column;gap:10px;outline:none}.calc:focus-visible .lcd-frame{box-shadow:inset 0 2px 8px #000000b3,0 0 0 2px var(--ti-green)}.calc-hint{margin:0;font-size:12px;line-height:1.45;color:var(--ink-dim);min-height:2.9em}.calc-hint[data-state=error]{color:var(--ink)}.calc-detail{margin:-4px 0 0;font-family:var(--mono);font-size:11px;color:var(--ink-dim);word-break:break-word}.calc-notice{margin:-4px 0 0;font-size:11.5px;color:var(--ti-green)}.calc-memory{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:4px;border-top:1px solid var(--hair)}.calc-memory-label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);margin-right:2px}.calc-memory-none{font-size:11.5px;color:var(--ink-dim)}.calc-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 9px;border:1px solid var(--hair);border-radius:999px;font-family:var(--mono);font-size:11px;color:var(--ink)}.calc-chip button{border:0;background:transparent;color:var(--ink-dim);font-size:13px;line-height:1;padding:1px 5px;border-radius:999px;cursor:pointer}.calc-chip button:hover{color:var(--ink);background:var(--hair)}.calc-reset{margin-left:auto;border:0;background:transparent;color:var(--ink-dim);font-size:11px;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.calc-reset:hover{color:var(--ink)}.calc-tip{margin:0;font-size:10.5px;color:var(--ink-dim);opacity:.8}.ti84-key--on{background:linear-gradient(180deg,color-mix(in srgb,var(--ti-green),#fff 10%),var(--ti-green) 45%,color-mix(in srgb,var(--ti-green),#000 22%));color:#fff;font-weight:600}.prog-actions{display:inline-flex;gap:8px;align-items:center}.send-note-block{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.send-note-block p{margin:0;font-size:12px;flex:1 1 220px}.linked-block code{font-family:var(--mono);font-size:11.5px}.linked-block p{margin:6px 0 0;font-size:11.5px;color:var(--ink-dim)}.account-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
