*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Manrope,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-bottom-3{bottom:-.75rem}.-left-16{left:-4rem}.-top-20{top:-5rem}.left-1{left:.25rem}.z-10{z-index:10}.mx-auto{margin-left:auto;margin-right:auto}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-14{height:3.5rem}.h-20{height:5rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.min-h-\[calc\(92vh-5rem\)\]{min-height:calc(92vh - 5rem)}.min-h-screen{min-height:100vh}.w-14{width:3.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-\[98\%\]{width:98%}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[780px\]{max-width:780px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-2{row-gap:.5rem}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-\[26px\]{border-radius:26px}.rounded-\[36px\]{border-radius:36px}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[32px\]{border-width:32px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-current{border-color:currentColor}.border-ink\/10{border-color:#14211c1a}.border-ink\/5{border-color:#14211c0d}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.bg-\[\#367cdb\]{--tw-bg-opacity: 1;background-color:rgb(54 124 219 / var(--tw-bg-opacity, 1))}.bg-coral{--tw-bg-opacity: 1;background-color:rgb(255 126 104 / var(--tw-bg-opacity, 1))}.bg-coral\/15{background-color:#ff7e6826}.bg-cream{--tw-bg-opacity: 1;background-color:rgb(247 246 239 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(20 33 28 / var(--tw-bg-opacity, 1))}.bg-lime{--tw-bg-opacity: 1;background-color:rgb(201 255 99 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-white\/55{background-color:#ffffff8c}.bg-white\/70{background-color:#ffffffb3}.bg-white\/\[0\.055\]{background-color:#ffffff0e}.stroke-1{stroke-width:1}.stroke-2{stroke-width:2}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.text-center{text-align:center}.font-display{font-family:Sora,Manrope,ui-sans-serif,system-ui,sans-serif}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[clamp\(3\.15rem\,7vw\,6\.8rem\)\]{font-size:clamp(3.15rem,7vw,6.8rem)}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-\[0\.93\]{line-height:.93}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[-\.04em\]{letter-spacing:-.04em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[-0\.045em\]{letter-spacing:-.045em}.tracking-\[-0\.05em\]{letter-spacing:-.05em}.tracking-\[-0\.065em\]{letter-spacing:-.065em}.tracking-\[\.15em\]{letter-spacing:.15em}.tracking-\[\.18em\]{letter-spacing:.18em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.22em\]{letter-spacing:.22em}.text-\[\#368b59\]{--tw-text-opacity: 1;color:rgb(54 139 89 / var(--tw-text-opacity, 1))}.text-coral{--tw-text-opacity: 1;color:rgb(255 126 104 / var(--tw-text-opacity, 1))}.text-forest{--tw-text-opacity: 1;color:rgb(25 61 47 / var(--tw-text-opacity, 1))}.text-forest\/55{color:#193d2f8c}.text-ink{--tw-text-opacity: 1;color:rgb(20 33 28 / var(--tw-text-opacity, 1))}.text-ink\/35{color:#14211c59}.text-ink\/40{color:#14211c66}.text-ink\/45{color:#14211c73}.text-ink\/50{color:#14211c80}.text-ink\/55{color:#14211c8c}.text-ink\/60{color:#14211c99}.text-lime{--tw-text-opacity: 1;color:rgb(201 255 99 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/55{color:#ffffff8c}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.shadow-soft{--tw-shadow: 0 20px 60px rgba(22, 44, 35, .1);--tw-shadow-colored: 0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{font-family:Manrope,ui-sans-serif,system-ui,sans-serif;color:#14211c;background:#f7f6ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.landing-shell{width:min(100% - 2.5rem,1420px);margin-inline:auto}.landing-header{position:sticky;z-index:40;top:0;height:80px;border-bottom:1px solid rgba(20,33,28,.06);background:#f7f6efe6;-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%)}.landing-nav{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.landing-nav-links{display:flex;align-items:center;gap:26px}.landing-nav-links a{position:relative;padding:9px 0;color:#14211c7a;font-size:11px;font-weight:800;text-decoration:none;transition:color .18s ease}.landing-nav-links a:after{content:"";position:absolute;right:0;bottom:3px;left:0;height:2px;border-radius:999px;background:#193d2f;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.landing-nav-links a:hover{color:#193d2f}.landing-nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.landing-nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.landing-nav-actions .pwa-download{width:auto;min-height:42px;border-color:#779b2f2e;background:#c9ff63;padding:0 15px;box-shadow:0 9px 24px #779b2f38;color:#14211c}.landing-nav-actions .pwa-download:hover{border-color:#779b2f47;background:#d3ff7d;box-shadow:0 12px 30px #779b2f4d;transform:translateY(-1px)}.landing-nav-actions .pwa-download span{display:inline}.brand-mark{position:relative;display:grid;place-items:center;width:38px;height:38px;overflow:hidden;border-radius:12px;background:#193d2f;box-shadow:inset 0 0 0 1px #ffffff14,0 5px 14px #193d2f29;transition:transform .2s ease,box-shadow .2s ease}.group:hover .brand-mark{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff1a,0 7px 18px #193d2f33}.brand-mark svg{width:100%;height:100%}.brand-mark-axis{fill:none;stroke:#ffffffc7;stroke-width:2;stroke-linecap:round}.brand-mark-graph{fill:none;stroke:#c9ff63;stroke-width:3;stroke-linecap:round}.brand-mark-point{fill:#ff7e68;stroke:#193d2f;stroke-width:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.8rem 1.25rem;border:0;border-radius:15px;font-size:.875rem;font-weight:750;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button:disabled{cursor:wait;opacity:.65}.button-primary{background:#c9ff63;color:#14211c;box-shadow:0 10px 28px #779b2f33}.button-primary:hover:not(:disabled){box-shadow:0 14px 34px #779b2f4d}.button-dark{background:#14211c;color:#fff;box-shadow:0 10px 26px #14211c29}.button-ghost{color:#14211c;background:#ffffff8c;border:1px solid rgba(20,33,28,.13)}.button-small{min-height:42px;padding:.6rem 1rem;border-radius:13px;font-size:.78rem}.icon-button{place-items:center;width:42px;height:42px;border:1px solid rgba(20,33,28,.1);border-radius:13px;background:#fff;color:#14211c;cursor:pointer}.icon-button svg{width:18px;height:18px}.theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:40px;border:1px solid rgba(20,33,28,.11);border-radius:13px;background:#fff;padding:0 11px;color:#193d2f;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 4px 14px #14211c0f}.theme-toggle:hover:not(:disabled){background:#f2f4ee}.theme-toggle:disabled{opacity:.45;cursor:wait}.theme-toggle svg{width:17px;height:17px}.background-picker-wrap{position:relative}.background-picker{position:absolute;z-index:30;right:0;top:calc(100% + 10px);width:230px;border:1px solid rgba(20,33,28,.12);border-radius:16px;background:#fffffffa;padding:7px;box-shadow:0 18px 48px #14211c2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.background-picker button{display:grid;grid-template-columns:31px 1fr 17px;align-items:center;gap:9px;width:100%;min-height:42px;border:0;border-radius:10px;background:transparent;padding:5px 8px;color:#193d2f;text-align:left;font-size:11px;font-weight:800;cursor:pointer}.background-picker button:hover:not(:disabled),.background-picker button.active{background:#f1f5ec}.background-picker button:disabled{cursor:not-allowed;opacity:.5}.background-picker button>svg{width:15px;height:15px}.background-picker p{padding:7px 9px 5px;color:#14211c7a;font-size:9px}.export-picker{width:265px}.export-picker button{grid-template-columns:34px 1fr}.export-picker button>span{display:flex;min-width:0;flex-direction:column}.export-picker button small{margin-top:2px;color:#14211c6e;font-size:8px;font-weight:650}.export-symbol{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:#c9ff6359;color:#193d2f;font-size:17px;font-style:normal}.lesson-picker{width:290px}.lesson-picker button>span{display:flex;min-width:0;flex-direction:column}.lesson-picker button small{margin-top:2px;color:#14211c6e;font-size:8px;font-weight:650}.theme-toggle.lesson-active{border-color:#c9ff63b3;background:#c9ff6347}.background-sample{width:29px;height:29px;border:1px solid rgba(20,33,28,.11);border-radius:7px;background-color:#fff}.sample-grid,.sample-cartesian{background-image:linear-gradient(rgba(25,61,47,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(25,61,47,.14) 1px,transparent 1px);background-size:8px 8px}.sample-dots{background-image:radial-gradient(circle,rgba(25,61,47,.4) 1px,transparent 1.5px);background-size:8px 8px}.sample-cartesian{box-shadow:inset 0 1px #193d2f99,inset 1px 0 #193d2f99}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;font-size:.71rem;line-height:1;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#14211c8c}.hero-orb{position:absolute;border-radius:999px;filter:blur(1px);pointer-events:none}.hero-orb-one{width:280px;height:280px;right:-190px;top:5%;background:#c9ff6352}.hero-orb-two{width:160px;height:160px;left:43%;bottom:5%;background:#ff7e681c}.preview-stage{isolation:isolate}.preview-stage:before{content:"";position:absolute;z-index:-1;inset:10% 4% -5% 8%;border-radius:45%;background:#193d2f1f;filter:blur(55px)}.preview-window{overflow:hidden;border:1px solid rgba(20,33,28,.12);border-radius:27px;background:#fff;box-shadow:0 40px 100px #14211c33,0 8px 25px #14211c12;transform:perspective(1200px) rotateY(-3deg) rotateX(1.5deg) rotate(.6deg);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}.preview-stage:hover .preview-window{transform:perspective(1200px) rotateY(-1deg) rotateX(.5deg) rotate(0) translateY(-4px);box-shadow:0 48px 110px #14211c38,0 8px 25px #14211c12}.preview-topbar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#fffffff0;border-bottom:1px solid rgba(20,33,28,.08)}.preview-topbar i{display:block;width:7px;height:7px;border-radius:50%;background:#14211c2e}.preview-avatar{display:grid;place-items:center;width:23px;height:23px;border:2px solid white;border-radius:50%;font-size:8px;font-weight:900;color:#14211c}.preview-board-title{display:flex;flex-direction:column;align-items:center;gap:2px;color:#14211c94;font-size:10px;font-weight:850}.preview-board-title small{color:#14211c52;font-size:7px;font-weight:700}.preview-canvas{position:relative;aspect-ratio:1.5 / 1;overflow:hidden;background-color:#fcfcf8}.math-grid{background-image:linear-gradient(rgba(25,61,47,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(25,61,47,.055) 1px,transparent 1px);background-size:26px 26px}.preview-toolbar{position:absolute;z-index:2;left:50%;top:16px;display:flex;align-items:center;gap:7px;padding:6px 8px;transform:translate(-50%);border:1px solid rgba(20,33,28,.1);border-radius:14px;background:#fffffff0;box-shadow:0 9px 28px #14211c1f}.preview-tool{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#14211c8c}.preview-tool svg{width:17px;height:17px}.preview-tool.active{color:#c9ff63;background:#193d2f}.preview-divider{width:1px;height:20px;background:#14211c1a}.preview-math{position:absolute;inset:0;width:100%;height:100%}.remote-cursor{position:absolute;width:0;height:0;border-left:9px solid #ff7e68;border-top:6px solid transparent;border-bottom:6px solid transparent;transform:rotate(42deg)}.remote-cursor span{position:absolute;left:5px;top:4px;padding:3px 7px;border-radius:7px;background:#ff7e68;color:#fff;font-size:8px;font-weight:800;transform:rotate(-42deg)}.preview-note{position:absolute;z-index:3;right:-12px;bottom:-17px;display:flex;align-items:center;gap:7px;padding:11px 15px;border:1px solid rgba(20,33,28,.08);border-radius:13px;background:#fff;box-shadow:0 12px 35px #14211c26;font-size:11px;font-weight:750;transform:rotate(-2deg)}.feature-card{min-height:280px;border:1px solid rgba(20,33,28,.1);border-radius:28px;background:#fff9;padding:30px;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px #14211c14}.feature-card-accent{background:#fff}.feature-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;color:#193d2f;background:#c9ff63}.board-app{height:100dvh;overflow:hidden;background:#f8f8f4}.board-header{position:relative;z-index:10;height:calc(64px + env(safe-area-inset-top));display:flex;align-items:center;gap:16px;padding:env(safe-area-inset-top) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left));border-bottom:1px solid rgba(20,33,28,.08);background:#ffffffeb;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.board-name{max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;color:#14211c;font-size:.84rem;font-weight:750;cursor:default}.board-name-input{width:min(320px,40vw);border:1px solid rgba(20,33,28,.15);border-radius:10px;padding:7px 10px;outline:none;text-align:center;font-size:.84rem;font-weight:750}.board-name-input:focus{border-color:#193d2f;box-shadow:0 0 0 3px #c9ff6373}.board-meta{display:flex;align-items:center;justify-content:center;gap:7px;min-height:16px;color:#14211c4d;font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.board-room-code{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:7px;background:transparent;padding:2px 4px;color:#14211c8c;font:inherit;letter-spacing:.08em;cursor:pointer}.board-room-code:hover{background:#14211c0f;color:#193d2f}.board-room-code strong{color:inherit;letter-spacing:.14em}.board-room-code svg{width:12px;height:12px;color:#43a96b}.connection-pill{display:flex;align-items:center;gap:7px;color:#14211c80;font-size:.7rem;font-weight:700}.connection-pill i{width:7px;height:7px;border-radius:50%;background:#43a96b}.connection-pill.status-connecting i,.connection-pill.status-reconnecting i{background:#f59e0b;animation:pulse 1.3s ease-in-out infinite}.connection-pill.status-error i,.connection-pill.status-offline i{background:#ef4444}.participant-avatars{display:flex;align-items:center;padding-left:7px}.participant-avatars span,.participant-avatars b{display:grid;place-items:center;width:27px;height:27px;margin-left:-7px;border:2px solid white;border-radius:50%;color:#fff;font-size:9px;font-weight:900;box-shadow:0 2px 7px #14211c1f}.participant-avatars b{background:#e8ece9;color:#193d2f}.board-surface{position:relative;height:calc(100dvh - 64px - env(safe-area-inset-top));overflow:hidden;touch-action:none;overscroll-behavior:none;background-color:#fdfdf9}.whiteboard-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.whiteboard-canvas.tool-pen,.whiteboard-canvas.tool-highlighter,.whiteboard-canvas.tool-text{cursor:crosshair}.whiteboard-canvas.tool-laser{cursor:none}.whiteboard-canvas.tool-eraser{cursor:cell}.whiteboard-canvas.tool-select{cursor:default}.whiteboard-canvas.tool-pan{cursor:grab}.whiteboard-canvas.tool-pan:active{cursor:grabbing}.clipboard-toast{position:absolute;z-index:6;left:50%;top:20px;transform:translate(-50%);padding:10px 15px;border:1px solid rgba(20,33,28,.1);border-radius:12px;background:#193d2ff0;box-shadow:0 10px 30px #14211c33;color:#fff;font-size:12px;font-weight:750;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.clipboard-toast.error{background:#b9342bf2}.clear-toast{display:flex;align-items:center;gap:12px;pointer-events:auto}.clear-toast button{border:0;border-radius:8px;background:#c9ff63;padding:5px 9px;color:#14211c;font-size:10px;font-weight:850;cursor:pointer}.board-text-editor{position:absolute;z-index:7;resize:none;overflow:hidden;border:2px solid #2463eb;border-radius:8px;background:#ffffffeb;padding:5px;outline:3px solid rgba(36,99,235,.16);font-family:Manrope,sans-serif;font-weight:600;line-height:1.25;transform-origin:top left}.theme-dark .board-text-editor{background:#303231f5}.selection-actions{position:absolute;z-index:5;left:50%;top:18px;display:flex;align-items:center;gap:3px;transform:translate(-50%);border:1px solid rgba(20,33,28,.11);border-radius:13px;background:#fffffff5;padding:4px;box-shadow:0 10px 30px #14211c24;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.selection-actions button{min-height:32px;border:0;border-radius:9px;background:transparent;padding:0 10px;color:#14211cad;font-size:10px;font-weight:800;cursor:pointer}.selection-actions button:hover{background:#14211c0f;color:#14211c}.selection-actions button.danger{color:#b9342b}.selection-actions button.danger:hover{background:#ef444417}.selection-count{display:grid;min-width:27px;height:27px;place-items:center;border-radius:8px;background:#193d2f;color:#fff;font-size:10px;font-weight:850}.selection-color,.selection-width{display:flex;align-items:center;gap:6px;border-right:1px solid rgba(20,33,28,.09);padding:0 9px 0 5px;color:#14211c94;font-size:9px;font-weight:800}.selection-color input{width:25px;height:25px;border:0;border-radius:7px;background:transparent;padding:0;cursor:pointer}.selection-width input{width:76px;accent-color:#193d2f;cursor:pointer}.live-cursor-layer{position:absolute;z-index:3;inset:0;overflow:hidden;pointer-events:none}.live-cursor{position:absolute;transform:translate(2px,2px);transition:left .04s linear,top .04s linear}.live-cursor i{position:absolute;left:-3px;top:-5px;width:0;height:0;border-left:4px solid transparent;border-right:8px solid transparent;border-bottom:18px solid currentColor;transform:rotate(-38deg);transform-origin:bottom;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.live-cursor span{position:absolute;left:10px;top:11px;white-space:nowrap;border-radius:7px;padding:3px 7px;color:#fff;font-size:9px;font-weight:800;box-shadow:0 3px 9px #14211c24}.teacher-laser{position:absolute;z-index:8;width:0;height:0;pointer-events:none}.teacher-laser i{position:absolute;left:-10px;top:-10px;width:20px;height:20px;border:3px solid rgba(255,255,255,.92);border-radius:50%;background:#ff453a;box-shadow:0 0 0 5px #ff453a33,0 0 24px 8px #ff453a59;animation:laserPulse 1s ease-in-out infinite}.lesson-lock-notice{position:absolute;z-index:7;left:50%;top:18px;display:flex;align-items:center;gap:8px;transform:translate(-50%);border:1px solid rgba(20,33,28,.12);border-radius:999px;background:#193d2ff0;padding:9px 14px;color:#fff;font-size:10px;font-weight:800;pointer-events:none;box-shadow:0 8px 28px #14211c2e}.lesson-lock-notice svg{width:15px;height:15px}.laser-tool{color:#ff453a}.board-empty-state{position:absolute;left:50%;top:46%;width:min(90%,440px);transform:translate(-50%,-50%);text-align:center}.drawing-toolbar{position:absolute;z-index:4;left:50%;bottom:max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;max-width:calc(100vw - 160px);padding:8px;transform:translate(-50%);border:1px solid rgba(20,33,28,.1);border-radius:18px;background:#fffffff0;box-shadow:0 12px 35px #14211c24;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.toolbar-tools,.color-row{display:flex;align-items:center;gap:4px}.tool-button{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:0;border-radius:11px;background:transparent;color:#14211c94;cursor:pointer}.tool-button:hover:not(:disabled){background:#14211c0f;color:#14211c}.tool-button.active{background:#193d2f;color:#c9ff63;box-shadow:0 6px 16px #193d2f2e}.tool-button:disabled{opacity:.25;cursor:default}.tool-button svg{width:19px;height:19px}.toolbar-divider{width:1px;height:26px;flex:0 0 auto;background:#14211c1a}.color-swatch{width:22px;height:22px;flex:0 0 auto;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #14211c26;cursor:pointer}.color-swatch.active{box-shadow:0 0 0 2px #c9ff63,0 0 0 4px #193d2f}.custom-color{position:relative;display:grid;place-items:center;width:24px;height:24px;flex:0 0 auto;overflow:hidden;border:1px dashed rgba(20,33,28,.25);border-radius:50%;cursor:pointer}.custom-color input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.custom-color span{font-size:14px;font-weight:800;color:#14211c80}.board-app,.board-header,.board-surface,.drawing-toolbar,.zoom-controls,.selection-actions{transition:background-color .18s ease,border-color .18s ease,color .18s ease}.theme-dark{background:#232524;color:#f2f4f3}.theme-dark .board-header{border-bottom-color:#ffffff1a;background:#242625f5}.theme-dark .board-header [class*=text-ink],.theme-dark .board-name,.theme-dark .connection-pill{color:#eff5f1ad}.theme-dark .board-name{color:#f4f8f5}.theme-dark .board-meta{color:#eff5f14d}.theme-dark .board-room-code{color:#eff5f1a6}.theme-dark .board-room-code:hover{background:#ffffff14;color:#c9ff63}.theme-dark .board-name-input{border-color:#ffffff29;background:#343635;color:#fff}.theme-dark .theme-toggle,.theme-dark .icon-button{border-color:#ffffff24;background:#353736;color:#f4f8f5}.theme-dark .background-picker{border-color:#ffffff21;background:#2f3130fa}.theme-dark .background-picker button{color:#edf3ef}.theme-dark .background-picker button:hover:not(:disabled),.theme-dark .background-picker button.active{background:#ffffff14}.theme-dark .background-picker p{color:#edf3ef80}.theme-dark .export-picker button small,.theme-dark .lesson-picker button small{color:#edf3ef73}.theme-dark .theme-toggle:hover:not(:disabled),.theme-dark .icon-button:hover{background:#414442}.theme-dark .board-header .button-dark{background:#c9ff63;color:#14211c;box-shadow:0 8px 24px #c9ff631f}.theme-dark .participant-avatars span,.theme-dark .participant-avatars b{border-color:#252726}.theme-dark .participant-avatars b{background:#3b3e3c;color:#eef1ef}.theme-dark .board-surface{background:#2b2d2c}.theme-dark .drawing-toolbar,.theme-dark .zoom-controls,.theme-dark .selection-actions{border-color:#ffffff21;background:#313332f5;box-shadow:0 12px 36px #00000047}.theme-dark .tool-button,.theme-dark .zoom-controls button,.theme-dark .selection-actions button{color:#edf3efb8}.theme-dark .tool-button:hover:not(:disabled),.theme-dark .zoom-controls button:hover,.theme-dark .selection-actions button:hover{background:#ffffff14;color:#fff}.theme-dark .tool-button.active{background:#c9ff63;color:#14211c;box-shadow:0 6px 18px #c9ff631f}.theme-dark .toolbar-divider{background:#ffffff1c}.theme-dark .color-swatch{border-color:#383a39;box-shadow:0 0 0 1px #ffffff38}.theme-dark .color-swatch.active{box-shadow:0 0 0 2px #c9ff63,0 0 0 4px #292b2a}.theme-dark .custom-color{border-color:#ffffff47}.theme-dark .custom-color span,.theme-dark .zoom-controls span,.theme-dark .selection-color,.theme-dark .selection-width{color:#edf3ef99}.theme-dark .size-dot{background:#fff}.theme-dark .selection-count{background:#c9ff63;color:#14211c}.theme-dark .selection-actions button.danger{color:#ff8c80}.size-control{display:flex;align-items:center;gap:7px;width:105px}.size-control input{width:75px;accent-color:#193d2f}.size-dot{flex:0 0 auto;border-radius:50%;background:#193d2f}.zoom-controls{position:absolute;z-index:4;right:16px;bottom:max(19px,env(safe-area-inset-bottom));display:flex;align-items:center;overflow:hidden;border:1px solid rgba(20,33,28,.1);border-radius:14px;background:#fffffff0;box-shadow:0 9px 28px #14211c1a}.zoom-controls button{display:grid;place-items:center;width:36px;height:38px;border:0;background:transparent;color:#14211c;font-size:18px;font-weight:700;cursor:pointer}.zoom-controls button:hover{background:#14211c0f}.zoom-controls button svg{width:16px;height:16px}.zoom-controls span{min-width:48px;text-align:center;font-size:10px;font-weight:800;color:#14211c80}.zoom-controls button+button{border-left:1px solid rgba(20,33,28,.07)}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:#0c19137a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-card{position:relative;width:min(100%,480px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid rgba(20,33,28,.1);border-radius:28px;background:#fff;padding:30px;box-shadow:0 30px 90px #08140e4d}.modal-close{position:absolute;right:18px;top:18px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:#14211c0d;cursor:pointer}.modal-close svg{width:17px;height:17px}.clear-board-card{width:min(100%,460px)}.clear-board-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:16px;background:#ef44441a;color:#b9342b}.clear-board-icon svg{width:25px;height:25px}.button-danger{background:#b9342b;color:#fff;box-shadow:0 9px 25px #b9342b33}.button-danger:hover{background:#a52d26}.lesson-picker button.danger{color:#b9342b}.lesson-picker button.danger:hover:not(:disabled){background:#ef444414}.shortcuts-card{width:min(100%,620px)}.shortcut-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:24px}.shortcut-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border:1px solid rgba(20,33,28,.08);border-radius:12px;background:#fafaf6;padding:8px 10px 8px 13px}.shortcut-list span{color:#14211ca3;font-size:11px;font-weight:700}.shortcut-list kbd{flex:0 0 auto;border:1px solid rgba(20,33,28,.14);border-bottom-width:2px;border-radius:7px;background:#fff;padding:4px 7px;color:#193d2f;font-family:Manrope,sans-serif;font-size:10px;font-weight:850;white-space:nowrap;box-shadow:0 1px 2px #14211c0d}.stylus-help{display:flex;align-items:center;gap:13px;margin-top:14px;border-radius:15px;background:#c9ff6338;padding:13px 15px}.stylus-help>svg{width:25px;height:25px;flex:0 0 auto;color:#193d2f}.stylus-help p{display:flex;flex-direction:column;margin:0}.stylus-help strong{color:#193d2f;font-size:12px}.stylus-help span{margin-top:2px;color:#14211c94;font-size:10px;line-height:1.45}.tool-modal-card,.shape-modal-card{position:relative;width:min(100%,980px);max-height:calc(100dvh - 40px);overflow:auto;border:1px solid rgba(20,33,28,.1);border-radius:28px;background:#fff;padding:34px;box-shadow:0 30px 90px #08140e4d}.shape-modal-card{width:min(100%,820px)}.tool-overline{color:#193d2f94;font-size:.68rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.tool-menu-view>h2,.tool-panel-heading h2,.shape-modal-card>h2{margin-top:8px;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.75rem,4vw,2.55rem);font-weight:650;line-height:1.05;letter-spacing:-.045em}.tool-menu-view>p:not(.tool-overline),.shape-modal-card>p:not(.tool-overline){max-width:620px;margin-top:10px;color:#14211c8c;font-size:.9rem;line-height:1.6}.tool-launch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:28px}.tool-launch-grid>button{display:grid;grid-template-columns:54px 1fr;gap:2px 15px;min-height:145px;border:1px solid rgba(20,33,28,.11);border-radius:21px;background:#fbfbf7;padding:23px;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.tool-launch-grid>button:hover{transform:translateY(-2px);border-color:#193d2f47;box-shadow:0 14px 35px #14211c14}.tool-launch-grid>button>span{grid-row:1 / span 2;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#c9ff63;color:#193d2f}.tool-launch-grid svg{width:27px;height:27px}.tool-launch-grid strong{align-self:end;font-family:Sora,sans-serif;font-size:1.1rem}.tool-launch-grid small{color:#14211c85;line-height:1.45}.tool-back{border:0;background:transparent;padding:0;color:#14211c8c;font-size:.75rem;font-weight:800;cursor:pointer}.tool-panel-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:23px}.angle-toggle{display:flex;overflow:hidden;border:1px solid rgba(20,33,28,.12);border-radius:11px;background:#f7f7f2;padding:3px}.angle-toggle button{border:0;border-radius:8px;background:transparent;padding:7px 10px;color:#14211c73;font-size:.65rem;font-weight:850;cursor:pointer}.angle-toggle button.active{background:#193d2f;color:#fff}.calculator-workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr);gap:18px;margin-top:24px}.calculator-main,.calculator-actions{border:1px solid rgba(20,33,28,.1);border-radius:20px;background:#fafaf6;padding:20px}.calculator-main>label,.graph-controls label{display:block;color:#14211c80;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.calculator-main>label input,.graph-controls input:not([type=color]),.graph-controls select{display:block;width:100%;margin-top:7px;border:1px solid rgba(20,33,28,.13);border-radius:12px;background:#fff;padding:12px 13px;outline:none;color:#14211c;font-size:1rem;font-weight:650;letter-spacing:normal;text-transform:none}.calculator-main input:focus,.graph-controls input:focus,.graph-controls select:focus{border-color:#193d2f;box-shadow:0 0 0 3px #c9ff6366}.calculator-output{min-height:105px;display:flex;flex-direction:column;justify-content:center;margin-top:12px;border-radius:15px;background:#193d2f;padding:14px 18px;color:#fff}.calculator-output span{font-size:.65rem;font-weight:800;letter-spacing:.12em;opacity:.55;text-transform:uppercase}.calculator-output strong{margin-top:3px;overflow-wrap:anywhere;font-family:Sora,sans-serif;font-size:clamp(1.8rem,5vw,2.8rem);line-height:1}.calculator-output p{margin-top:6px;color:#ffac9e;font-size:.72rem}.calculator-keypad-mini{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.calculator-keypad-mini button{min-height:38px;border:1px solid rgba(20,33,28,.09);border-radius:10px;background:#fff;color:#14211c;font-weight:750;cursor:pointer}.calculator-keypad-mini button:hover{background:#f0f3ec}.calculator-keypad-mini .control{color:#bd493c}.calculator-keypad-mini .science{color:#2463eb}.calculator-keypad-mini .equals{background:#c9ff63;color:#14211c}.calculator-actions{display:flex;flex-direction:column}.calculator-actions h3{font-family:Sora,sans-serif;font-size:1.05rem}.calculator-actions>p{margin:7px 0 17px;color:#14211c85;font-size:.78rem;line-height:1.55}.calculator-examples{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:20px}.calculator-examples span{width:100%;color:#14211c66;font-size:.64rem;font-weight:800;text-transform:uppercase}.calculator-examples button,.graph-examples button{border:1px solid rgba(20,33,28,.1);border-radius:999px;background:#fff;padding:6px 9px;color:#193d2f;font-size:.7rem;font-weight:700;cursor:pointer}.graph-controls{display:grid;grid-template-columns:1fr 85px 145px;align-items:end;gap:12px;margin-top:22px}.graph-controls input[type=color]{display:block;width:100%;height:44px;margin-top:7px;border:1px solid rgba(20,33,28,.13);border-radius:12px;background:#fff;padding:5px;cursor:pointer}.graph-canvas{display:block;width:100%;height:min(44vh,430px);min-height:270px;margin-top:14px;border:1px solid rgba(20,33,28,.1);border-radius:18px;background:#fff}.graph-error{margin-top:10px;border-radius:10px;background:#ef444417;padding:9px 12px;color:#b9342b;font-size:.75rem;font-weight:700}.graph-examples{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}.graph-examples>span{color:#14211c6e;font-size:.7rem;font-weight:800}.shape-palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}.shape-palette>button{overflow:hidden;border:1px solid rgba(20,33,28,.1);border-radius:17px;background:#fbfbf7;padding:11px;color:#14211c;cursor:pointer;transition:transform .16s ease,border-color .16s ease}.shape-palette>button:hover{transform:translateY(-2px);border-color:#193d2f52}.shape-palette span{display:grid;place-items:center;aspect-ratio:1.55 / 1;border-radius:11px;background:#fff}.shape-palette img{width:88%;height:88%;-o-object-fit:contain;object-fit:contain}.shape-palette strong{display:block;padding:10px 4px 4px;font-size:.76rem}.field-label{display:block;color:#14211c94;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.text-input,.room-code-input{display:block;width:100%;margin-top:7px;border:1px solid rgba(20,33,28,.14);border-radius:13px;background:#fdfdf9;padding:12px 14px;outline:none;color:#14211c;font-size:15px;font-weight:650;text-transform:none;letter-spacing:normal}.room-code-input{padding:14px;text-align:center;font-family:Sora,sans-serif;font-size:28px;font-weight:700;letter-spacing:.22em}.text-input:focus,.room-code-input:focus{border-color:#193d2f;box-shadow:0 0 0 3px #c9ff6373}.loading-mark{width:46px;height:46px;border:5px solid rgba(25,61,47,.12);border-top-color:#193d2f;border-radius:50%;animation:spin .8s linear infinite}.legal-shell{width:min(100% - 2.5rem,920px);margin-inline:auto;padding:72px 0 96px}.legal-shell>h1{max-width:760px;margin-top:18px;font-family:Sora,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.7rem,7vw,5.3rem);font-weight:650;line-height:.98;letter-spacing:-.055em}.legal-lead{max-width:720px;margin-top:24px;color:#14211c9e;font-size:1.08rem;line-height:1.75}.legal-date{margin-top:16px;color:#14211c6b;font-size:.75rem;font-weight:700}.legal-document{margin-top:48px;overflow:hidden;border:1px solid rgba(20,33,28,.1);border-radius:28px;background:#ffffffc7;box-shadow:0 18px 60px #14211c12}.legal-document section{padding:clamp(25px,5vw,42px)}.legal-document section+section{border-top:1px solid rgba(20,33,28,.09)}.legal-document h2{font-family:Sora,Manrope,ui-sans-serif,system-ui,sans-serif;font-size:1.35rem;font-weight:650;letter-spacing:-.025em}.legal-document p,.legal-document li{color:#14211cad;font-size:.94rem;line-height:1.8}.legal-document p{margin-top:13px}.legal-document ul{margin:13px 0 0 1.25rem;list-style:disc}.legal-document li+li{margin-top:7px}.legal-document strong{color:#14211c}.legal-document a{color:#193d2f;font-weight:700;text-decoration:underline;text-decoration-color:#193d2f47;text-underline-offset:3px}.legal-document code{border-radius:6px;background:#193d2f12;padding:2px 5px;color:#193d2f;font-size:.86em}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes laserPulse{50%{transform:scale(.82);box-shadow:0 0 0 8px #ff453a1f,0 0 28px 10px #ff453a6b}}@media(max-width:1120px){.landing-nav{grid-template-columns:1fr auto}.landing-nav-links,.landing-browser-status{display:none}}@media(max-width:640px){.landing-shell{width:min(100% - 1.5rem,1420px)}.landing-header{height:70px}.landing-nav{gap:10px}.landing-nav-actions .pwa-download{display:inline-flex;min-height:40px;padding-inline:13px}.landing-nav-actions .landing-new-board{display:none}.landing-nav-actions .button-small{min-height:40px;padding-inline:.85rem}.preview-window,.preview-stage:hover .preview-window{transform:none}.preview-note{right:8px}.preview-topbar{height:48px;padding-inline:11px}.preview-board-title small{display:none}.preview-board-title{font-size:8px}.preview-toolbar{top:9px;transform:translate(-50%) scale(.82);transform-origin:top center}.board-header{padding-inline:10px;gap:8px}.board-header .brand-mark{width:34px;height:34px}.board-meta>span{display:none}.board-room-code{font-size:8px}.theme-toggle{width:38px;min-height:38px;justify-content:center;padding:0}.theme-toggle span{display:none}.connection-pill{width:9px;gap:0;overflow:hidden;font-size:0}.participant-avatars span:nth-child(n+3){display:none}.drawing-toolbar{left:8px;right:8px;bottom:max(10px,env(safe-area-inset-bottom));max-width:none;transform:none;overflow-x:auto;justify-content:flex-start;border-radius:16px}.zoom-controls{right:8px;bottom:80px}.size-control{min-width:92px}.modal-card{padding:24px;border-radius:24px}.tool-modal-card,.shape-modal-card{max-height:calc(100dvh - 20px);padding:24px 17px;border-radius:23px}.tool-launch-grid,.calculator-workspace{grid-template-columns:1fr}.tool-launch-grid>button{min-height:120px}.tool-panel-heading{align-items:start;flex-direction:column}.calculator-keypad-mini{gap:5px}.calculator-keypad-mini button{min-height:42px}.graph-controls{grid-template-columns:1fr 80px}.graph-controls label:first-child{grid-column:1 / -1}.graph-canvas{height:300px;min-height:250px}.shape-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.selection-actions{top:9px;max-width:calc(100vw - 18px);overflow-x:auto}.selection-actions button{min-width:-moz-max-content;min-width:max-content}.selection-width input{width:58px}.shortcut-list{grid-template-columns:1fr}.legal-shell{width:min(100% - 1.5rem,920px);padding-block:48px 72px}.legal-document{margin-top:34px;border-radius:22px}}@media(pointer:coarse){.tool-button{width:44px;height:44px;border-radius:13px}.tool-button svg{width:21px;height:21px}.color-swatch{width:27px;height:27px}.custom-color{width:28px;height:28px}.drawing-toolbar{gap:10px;padding:9px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.drawing-toolbar>*{scroll-snap-align:center}.zoom-controls button{width:42px;height:42px}.selection-actions button{min-height:38px;padding-inline:12px}}@media(orientation:landscape)and (max-height:560px){.board-header{height:calc(56px + env(safe-area-inset-top))}.board-surface{height:calc(100dvh - 56px - env(safe-area-inset-top))}.drawing-toolbar{bottom:max(7px,env(safe-area-inset-bottom))}.zoom-controls{bottom:max(9px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(20 33 28 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:grid{display:grid}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:translate-x-5{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.lg\:gap-24{gap:6rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}}
