.geera-site{--paper: #e9e4d9;--ink: #263b38;--teal: #326b60;--wash: #dfdfd5;background:var(--paper);color:var(--ink);font-family:Segoe UI,system-ui,sans-serif;min-height:100vh;padding:0 32px}.geera-site a{color:inherit;text-decoration:none}.geera-site button:not(.app button){color:inherit;background:transparent;border:0;border-radius:0;box-shadow:none;min-height:48px;padding:12px 18px;font-size:16px;font-weight:500}.geera-site :is(a,button,input):focus-visible{outline:3px solid var(--teal);outline-offset:5px}.geera-site button:active{transform:scale(.97)}.geera-site a:hover{text-decoration:underline;text-underline-offset:6px}.geera-skip{position:absolute;left:24px;top:-100px;background:var(--paper);z-index:10;padding:16px}.geera-skip:focus{top:8px}.geera-nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}.geera-brand{font-size:36px;font-weight:650;letter-spacing:-.07em}.geera-brand span{color:var(--teal)}.geera-nav nav{display:flex;align-items:center;gap:28px}.geera-nav nav button{padding-right:0}.geera-opening{padding:55px 0 40px}.geera-opening h2{font-size:clamp(36px,5vw,72px);letter-spacing:-.05em;line-height:1.05;font-weight:500;margin:0 0 42px}.geera-opening h1{font-size:clamp(52px,8.6vw,136px);font-weight:500;letter-spacing:-.07em;line-height:1;margin:0 0 42px}.geera-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start}.geera-intro>p{font-size:clamp(24px,2.4vw,36px);line-height:1.3;margin:0;letter-spacing:-.03em}.geera-intro label{display:block;font-size:16px;margin-bottom:12px}.geera-input-row{display:flex;background:var(--wash);padding:6px}.geera-input-row input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:14px 12px;font:inherit;font-size:16px;border-radius:0}.geera-input-row input::placeholder{color:#52625c}.geera-site .geera-input-row button{background:var(--ink);color:var(--paper);flex-shrink:0}.geera-intro form>p{font-size:14px;line-height:1.5;margin:12px 0 0;max-width:65ch}.geera-film{margin:0}.geera-film video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;object-fit:contain;background:var(--wash)}.geera-film figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;padding-top:8px}.geera-film figcaption button{padding-right:0;white-space:nowrap}.geera-canvas{scroll-margin-top:16px}.geera-canvas:empty{display:none}.geera-canvas:not(:empty){margin:80px -16px;padding:16px;background:var(--wash)}.geera-canvas .app{width:100%}.geera-origin{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;padding:140px 0}.geera-origin h2{font-size:clamp(36px,4.7vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.05em;margin:0}.geera-origin p{font-size:20px;line-height:1.55;margin:0 0 24px;max-width:54ch}.geera-origin p:last-child{font-size:16px;margin-bottom:0}.geera-footer{background:var(--paper);color:var(--ink);margin:0 -32px;padding:36px 32px 0;overflow:hidden}.geera-footer>div{display:flex;align-items:center;justify-content:space-between;gap:24px}.geera-footer p{font-size:16px}.geera-footer button{color:var(--ink)}.geera-signoff{display:block;text-align:center;font-size:clamp(100px,30vw,480px);line-height:1;font-weight:600;letter-spacing:-.085em;padding-bottom:32px}.geera-signoff:hover{text-decoration:none!important}.geera-wordmark{display:inline-flex;align-items:center;font-family:Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:1}.geera-letter{display:inline-block;width:.68em;height:1.12em;overflow:hidden;position:relative;mix-blend-mode:multiply}.geera-letter img{position:absolute;width:3.5em;max-width:none;height:auto;left:-1.38em;top:-.43em}.geera-scroll-film{margin:0 -32px;background:var(--paper)}.geera-scroll-film.is-scrubbing{height:480svh}.geera-stage{position:relative;height:100svh;min-height:580px;overflow:hidden;background:var(--paper)}.is-scrubbing .geera-stage{position:sticky;top:0}.geera-stage canvas,.geera-film-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.geera-film-nav{position:absolute;z-index:2;top:0;left:0;width:100%;padding:24px 32px;display:flex;justify-content:space-between;gap:24px}.geera-film-nav .geera-wordmark{font-size:36px}.geera-film-nav p{font-size:13px;margin:8px 0;max-width:23ch}.geera-film-nav nav{display:flex;gap:24px;align-items:start}.geera-film-nav nav a{padding-top:14px}.geera-site .geera-stage button{background:var(--ink);color:var(--paper);border-radius:999px}.geera-film-copy{position:absolute;bottom:48px;left:32px;right:32px;display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:end}.geera-film-copy h1{font-family:Georgia,serif;font-size:clamp(36px,4.5vw,72px);line-height:1.06;letter-spacing:-.045em;font-weight:400;margin:0}.geera-film-copy p{font-size:20px;line-height:1.5;margin:0 0 20px}.geera-film-caption{position:absolute;bottom:64px;left:24px;right:24px;text-align:center;font:400 clamp(24px,3vw,44px)/1.2 Georgia,serif}.geera-film-end{position:absolute;bottom:48px;left:24px;right:24px;text-align:center}.geera-film-end p{font-size:18px}.geera-film-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--teal);transform-origin:left}.geera-final-still{display:block;width:min(100%,720px);margin:0 auto;mix-blend-mode:multiply}@media(max-width:800px){.geera-scroll-film{margin:0 -20px}.geera-scroll-film.is-scrubbing{height:420svh}.geera-film-nav{padding:20px;gap:12px}.geera-film-nav nav{gap:12px;font-size:14px}.geera-film-nav nav button{padding:10px;font-size:14px}.geera-film-nav p{font-size:12px;max-width:17ch}.geera-film-copy{left:20px;right:20px;bottom:32px;grid-template-columns:1fr;gap:20px}.geera-film-copy h1{font-size:clamp(30px,6.6vw,48px)}.geera-film-copy p{font-size:18px}.geera-film-still{object-fit:contain;object-position:center 24%}}@media(prefers-reduced-motion:reduce){.geera-scroll-film.is-scrubbing{height:auto}.is-scrubbing .geera-stage{position:relative}}.geera-stage{display:grid;grid-template-rows:96px minmax(0,1fr) auto;min-height:660px}.geera-film-source{grid-row:2;width:100%;height:100%;min-height:0;object-fit:contain}.geera-film-nav{position:relative;grid-row:1;grid-column:1;align-items:center;padding:20px 32px}.geera-film-text{grid-row:3;padding:24px 32px 40px;min-height:190px;background:var(--paper)}.geera-film-copy,.geera-film-caption,.geera-film-end{position:static;margin:0}.geera-film-copy{grid-template-columns:1.3fr 1fr;gap:32px}.geera-film-copy h1{font-size:clamp(32px,4vw,62px)}.geera-stage [hidden]{display:none!important}.geera-film-caption,.geera-film-end{padding-top:20px}.geera-g{height:1.22em;width:.75em;overflow:visible;flex:none}.geera-wordmark{align-items:center;letter-spacing:-.025em;gap:.025em}.geera-g{transform:translateY(.16em)}.geera-film-source{width:min(100%,calc((100svh - 290px)*1.7778));height:auto;max-height:100%;aspect-ratio:16/9;align-self:center;justify-self:center;-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent),linear-gradient(to bottom,transparent,black 8%,black 90%,transparent);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent),linear-gradient(to bottom,transparent,black 8%,black 90%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.geera-signoff .geera-wordmark{font-size:inherit}.canvas-product-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px 0 24px}.canvas-product-header h2{font-size:26px;margin:0}.canvas-product-header p{max-width:45ch;font-size:14px}.app-embedded .control-card{background:var(--paper);border:0;box-shadow:none;border-radius:0}.app-embedded .showcase{padding:20px 0;background:transparent;border:0}.app-embedded .showcase summary{cursor:pointer;padding:12px 0;font-size:18px}.app-embedded .showcase-grid{display:flex;flex-direction:column;gap:8px}.app-embedded .showcase-grid button{text-align:left;background:var(--wash);color:var(--ink);border:0;border-radius:4px;box-shadow:none;min-height:48px}@media(max-width:800px){.geera-stage{grid-template-rows:80px minmax(0,1fr) auto;min-height:640px}.geera-film-nav{padding:16px 20px}.geera-film-text{padding:20px;min-height:225px}.geera-film-copy{grid-template-columns:1fr;gap:14px}.geera-film-copy h1{font-size:32px;max-width:18ch}.geera-film-copy p{font-size:16px;margin-bottom:12px}.canvas-product-header{align-items:start;flex-direction:column;gap:8px}}@media(prefers-reduced-motion:no-preference){.geera-site :is(button,a){transition:transform .18s,opacity .18s}.geera-opening h1{animation:geera-arrive .8s both}@supports (animation-timeline: view()){.geera-signoff{animation:geera-grow linear both;animation-timeline:view();animation-range:entry 0% entry 100%}.geera-film video{animation:geera-open linear both;animation-timeline:view();animation-range:entry 0% entry 90%}}}@keyframes geera-arrive{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes geera-grow{0%{transform:scale(.94)}to{transform:scale(1)}}@keyframes geera-open{0%{clip-path:inset(0 4%)}to{clip-path:inset(0)}}@media(max-width:800px){.geera-site{padding:0 20px}.geera-canvas:not(:empty){margin:40px -8px;padding:8px}.app-embedded .control-card{width:100%;padding:16px 8px;margin:0}.app-embedded .empty-canvas{padding:24px;text-align:center}.app-embedded .empty-canvas p{font-size:22px;line-height:1.3;max-width:24ch}.app-embedded .empty-canvas small,.app-embedded .speech-privacy{font-size:14px;line-height:1.5}.app-embedded .speech-status{font-size:15px;line-height:1.5}.geera-stage{min-height:560px}.geera-opening{padding-top:36px}.geera-intro{grid-template-columns:1fr;gap:28px}.geera-origin{grid-template-columns:1fr;gap:32px;padding:88px 0}.geera-origin p{font-size:18px}.geera-footer{margin:0 -20px;padding:24px 20px 0}.geera-footer>div{align-items:start;flex-direction:column;gap:8px}.geera-film figcaption{align-items:start}.geera-film figcaption span{max-width:25ch}.geera-nav nav{gap:16px}.geera-nav nav a{font-size:14px}.geera-opening h1{max-width:12ch}}:root{font-family:Segoe UI,system-ui,sans-serif;color:#28261f;background:#eee6d3;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 8% 4%,rgba(222,164,67,.22),transparent 30rem),radial-gradient(circle at 96% 20%,rgba(54,115,91,.16),transparent 34rem),#eee6d3}button,input{font:inherit}button{cursor:pointer}.app{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:22px 0 56px}.topbar{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;overflow:hidden;background:#fffaf0;border:2px solid #234a3c;border-radius:47% 53% 45% 55%;transform:rotate(-3deg);box-shadow:3px 3px #d69c3c}.brand-mark img{width:42px;height:42px;object-fit:contain}.brand div{display:grid}.brand strong{font:600 22px/1.1 Georgia,serif}.brand span{color:#6b665b;font-size:11px}.offline-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;color:#315747;background:#fbf7edb3;border:1px solid rgba(49,87,71,.2);border-radius:999px;font-size:12px;font-weight:600}.offline-pill span{width:8px;height:8px;background:#3f9974;border-radius:50%;box-shadow:0 0 0 4px #3f997421}.hero-copy{max-width:660px;margin:56px auto 25px;text-align:center}.eyebrow{margin:0 0 8px;color:#ad7021!important;font-size:11px!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.hero-copy h1{margin:0;font:600 clamp(35px,6vw,58px)/.98 Georgia,serif;letter-spacing:-.025em}.hero-copy>p:last-child{max-width:570px;margin:15px auto 0;color:#686258;font-size:15px}.canvas-shell{position:relative;overflow:hidden;aspect-ratio:1000 / 620;background:#fbf7ed;border:1px solid rgba(59,51,38,.17);border-radius:22px;box-shadow:0 24px 60px #46381d1f,0 3px #ffffffbf inset}.doodle-canvas{display:block;width:100%;height:100%}.canvas-view-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px}.canvas-view-controls button{min-height:44px;padding:8px 14px;border:1px solid #8caa9b;border-radius:10px;background:#fbf7ed;color:#315747;font-weight:600}.canvas-view-controls button[aria-pressed=true]{background:#315747;color:#fffdf5}.canvas-view-controls button:disabled{opacity:.5;cursor:not-allowed}.canvas-view-controls span{font-size:13px;color:#686258}.canvas-area-control{display:none}.canvas-viewport{width:100%;height:100%;overflow:hidden}.is-detail .canvas-viewport{overflow:auto}.is-detail .doodle-canvas{width:1200px;height:744px;max-width:none}.canvas-viewport:focus-visible{outline:3px solid #315747;outline-offset:-3px}.is-detail .canvas-status{background:#fbf7ed;pointer-events:none}.empty-canvas{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;color:#837c6d;pointer-events:none}.empty-mark{color:#d69c3c;font-size:34px}.empty-canvas p{margin:6px 0 4px;color:#4e493e;font:600 21px Georgia,serif}.empty-canvas small{font-size:12px}.canvas-status{position:absolute;right:13px;bottom:12px;display:flex;gap:12px;color:#888173;font-size:10px}.scene-object-guide{margin:16px 0 22px}.scene-object-guide h2{margin:0 0 10px;font:600 17px Georgia,serif;color:#344a43}.scene-object-guide ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;list-style:none;margin:0;padding:0}.scene-object-guide li{display:flex;align-items:center;gap:9px;min-width:0;min-height:56px;padding:5px 9px;border:1px solid #d9ddd4;border-radius:12px;background:#fbf7ed;color:#344a43;font-size:15px;font-weight:650;overflow-wrap:anywhere}.scene-object-number{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:#dfece5;color:#315747;font-size:13px;font-weight:800}.relationship-key{margin:12px 0 28px;display:grid;gap:6px;font-size:14px}.ownership-details{margin:20px 0 28px}.ownership-details>header h2{margin:0;font:600 22px Georgia,serif}.ownership-details>header p{margin:6px 0 16px;font-size:14px;color:#686258}.ownership-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px}.ownership-card{min-width:0;padding:14px;border:1px solid #d8cfbd;border-top:4px solid var(--owner-color);border-radius:14px;background:#fbf7ed}.ownership-card>header{display:flex;align-items:center;gap:10px}.ownership-card>header>div{min-width:0;flex:1}.ownership-card h3{margin:0;font-size:16px;overflow-wrap:anywhere}.ownership-card p{margin:3px 0 0;font-size:14px;color:#686258}.owner-code{color:var(--owner-color);border:1px solid currentColor;border-radius:6px;padding:4px 6px;font-size:12px}.entity-thumbnail{display:block;width:54px;height:54px;flex-shrink:0}.entity-thumbnail .doodle-stroke,.entity-thumbnail .doodle-detail,.entity-thumbnail .accent-stroke{animation:none;stroke-dasharray:none;stroke-dashoffset:0}.ownership-card ul{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid #e5dccb;display:flex;flex-wrap:wrap;gap:10px}.ownership-card li{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%;font-size:14px}.ownership-card li span{overflow-wrap:anywhere}.relationship-key>div{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px;border-left:4px solid #2f7159;background:#f1eee3;color:#28261f}.relationship-key .relationship-owns{border-color:#ad7021}.relationship-key .relationship-toward,.relationship-key .relationship-away{border-color:#275a78}.relationship-key .relationship-queuedFor{border-color:#355f78}.motion-flow{stroke-dasharray:7 5;animation:motion-flow 1s linear infinite}@keyframes motion-flow{to{stroke-dashoffset:-12}}.character-rig.motion-walk .rig-motion-layer{animation:rig-step .68s ease-in-out infinite alternate}.character-rig.motion-run .rig-motion-layer{animation:rig-step .42s ease-in-out infinite alternate}.character-rig.motion-breathe .rig-motion-layer,.character-rig.motion-talk .rig-motion-layer{animation:rig-breathe 1.2s ease-in-out infinite alternate}.character-rig.motion-celebrate .rig-motion-layer{animation:rig-celebrate .62s ease-in-out infinite alternate}.character-rig.motion-wave .rig-arm-right{animation:rig-wave .52s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:left center}.attached-object.motion-walk{animation:rig-step .68s ease-in-out infinite alternate}.attached-object.motion-run{animation:rig-step .42s ease-in-out infinite alternate}.attached-object.motion-breathe,.attached-object.motion-talk{animation:rig-breathe 1.2s ease-in-out infinite alternate}.handover-object>g:first-child{animation:handover-object .9s cubic-bezier(.2,.8,.3,1) 1;transform-origin:center}.handover-flow{stroke-dasharray:8 7;animation:motion-flow .9s linear 1}.condition-flow{animation:condition-flow 1.1s linear infinite}.condition-loop{animation-duration:.85s}@keyframes condition-flow{to{stroke-dashoffset:-48}}.narrowing-flow{animation:condition-flow 1s linear infinite}.fifo-flow{animation:condition-flow .9s linear infinite}.data-pulse{animation:data-pulse .9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes data-pulse{0%{opacity:.35;transform:scale(.7)}to{opacity:1;transform:scale(1.15)}}.doubling-flow{animation:condition-flow .95s linear infinite}.doubling-pop{animation:doubling-pop .9s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes doubling-pop{0%{transform:scale(.82)}to{transform:scale(1.08)}}.universal-motion-pulse{animation:universal-pulse 1.4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.universal-motion-float{animation:universal-float 1.8s ease-in-out infinite alternate}.universal-motion-spin{animation:universal-spin 3.8s linear infinite;transform-box:fill-box;transform-origin:center}.universal-relation-flow{animation:condition-flow 1.1s linear infinite}@keyframes universal-pulse{0%{transform:scale(.94)}to{transform:scale(1.04)}}@keyframes universal-float{0%{transform:translateY(3px)}to{transform:translateY(-4px)}}@keyframes universal-spin{to{transform:rotate(360deg)}}.glyph-ink-path{stroke-dasharray:1;stroke-dashoffset:0;animation:glyph-write .52s ease-out both;animation-delay:var(--glyph-delay)}@keyframes glyph-write{0%{stroke-dashoffset:1;opacity:.35}to{stroke-dashoffset:0;opacity:1}}.chain-energy-flow{animation:condition-flow .9s linear infinite}.energy-particle{animation:chain-energy-particle 1.15s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}.chain-creature{animation:chain-creature 1.4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes chain-energy-particle{0%{transform:translate(-16px) scale(.75);opacity:.45}to{transform:translate(18px) scale(1.1);opacity:1}}@keyframes chain-creature{0%{transform:translateY(3px) rotate(-1deg)}to{transform:translateY(-4px) rotate(1deg)}}.event-before .event-flow{stroke-dasharray:8 7}.event-flow{animation:motion-flow 1.1s linear infinite}.visual-action-flow{stroke-dasharray:9 7;animation:motion-flow 1.05s linear infinite}.visual-action-particle{animation:visual-particle 1.05s ease-in-out infinite alternate;transform-origin:center}.visual-action-particle.particle-late{animation-delay:-525ms}.rig-speed-lines{fill:none;stroke:#d08a2f;stroke-width:3;stroke-linecap:round;animation:rig-speed .68s ease-in-out infinite alternate}@keyframes rig-step{to{transform:translateY(var(--performance-travel))}}@keyframes rig-breathe{to{transform:translateY(var(--performance-breathe))}}@keyframes rig-celebrate{to{transform:translateY(var(--performance-travel))}}@keyframes rig-wave{to{transform:rotate(var(--performance-wave))}}@keyframes rig-speed{0%{opacity:.25}to{opacity:.9}}@keyframes handover-object{45%{transform:translateY(-7px) scale(1.08)}}@keyframes visual-particle{to{transform:scale(1.55);opacity:.45}}@media(prefers-reduced-motion:reduce){.glyph-crossfade-placeholder,.glyph-crossfade-final{animation:none!important}.motion-flow,.handover-flow,.event-flow,.visual-action-flow,.visual-action-particle,.trajectory-flow,.control-flow,.water-cycle-flow,.lifecycle-flow,.reflection-flow,.stack-flow,.plate-force,.plate-shift,.mountain-uplift,.routine-flow,.linked-flow,.condition-flow,.narrowing-flow,.fifo-flow,.data-pulse,.doubling-flow,.doubling-pop,.chain-energy-flow,.energy-particle,.chain-creature,.lifecycle-creature,.lifecycle-cocoon,.handover-object>g:first-child,.character-rig .rig-motion-layer,.character-rig .rig-arm,.attached-object,.rig-speed-lines,.universal-motion-pulse,.universal-motion-float,.universal-motion-spin,.universal-relation-flow,.glyph-ink-path{animation:none}}.glyph-crossfade-placeholder{animation:glyph-placeholder-out .45s ease-in both}.glyph-crossfade-final{animation:glyph-final-in .45s ease-out both}@keyframes glyph-placeholder-out{0%{opacity:1}to{opacity:0}}@keyframes glyph-final-in{0%{opacity:0}to{opacity:1}}.doodle-stroke,.doodle-detail,.accent-stroke{fill:none;stroke:#302e29;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:340;stroke-dashoffset:340;animation:draw-stroke .56s cubic-bezier(.25,.7,.3,1) forwards;animation-delay:var(--draw-delay)}.symbol-cue{fill:none;stroke:#b95f37;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.unknown-glyph-outline{fill:#ffffff61;stroke:#868d87;stroke-width:2.5;stroke-dasharray:5 6}.unknown-glyph-mark{fill:#566b66;font-weight:700;font-family:system-ui,sans-serif}.doodle-detail{stroke-width:2.5;animation-delay:calc(var(--draw-delay) + .18s)}.accent-stroke{stroke:#d08a2f;stroke-width:4.5;animation-delay:calc(var(--draw-delay) + .1s)}.entity-color-fill{fill:var(--entity-color, transparent);fill-opacity:.62}.highlighted{filter:drop-shadow(0 0 9px rgba(222,164,67,.7))}.entity-label{fill:#4c473e;font:700 22px Segoe UI,sans-serif;stroke:#fbf7ed;stroke-width:4px;paint-order:stroke;animation:label-in .3s ease forwards;animation-delay:calc(var(--draw-delay) + .35s);opacity:0}@keyframes draw-stroke{to{stroke-dashoffset:0}}@keyframes label-in{to{opacity:1}}.control-card{position:relative;z-index:2;width:min(900px,calc(100% - 36px));margin:-16px auto 0;padding:16px;background:#fffcf4f5;border:1px solid rgba(68,59,44,.13);border-radius:18px;box-shadow:0 16px 35px #3c2f1929;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.control-card label{display:block;margin:0 0 7px 4px;color:#716b60;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.input-row{display:flex;gap:9px}.input-row input{flex:1;min-width:0;padding:14px 16px;color:#29271f;background:#f5efe1;border:1px solid transparent;border-radius:12px;outline:none}.input-row input:focus{border-color:#55947a;box-shadow:0 0 0 3px #55947a24}.draw-button{padding:0 22px;color:#fffdf5;background:#2f7159;border:0;border-radius:12px;font-weight:700;box-shadow:0 4px #214d3d}.draw-button:active{transform:translateY(2px);box-shadow:0 2px #214d3d}.stop-ai-button{padding:0 15px;color:#754639;background:#f9e9df;border:1px solid #e2b6a2;border-radius:12px;font-weight:700}.mic-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:92px;padding:0 14px;color:#315747;background:#edf4ef;border:1px solid #a7c1b5;border-radius:12px;font-weight:700}.mic-button span{color:#b04b3f;font-size:11px}.mic-button.listening{color:#fffaf0;background:#9d4037;border-color:#7c2e27}.mic-button.listening span{color:#fffaf0}.mic-button:disabled{cursor:not-allowed;opacity:.48}.speech-status{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;color:#4f5f57;background:#edf2ed;border-radius:10px;font-size:12px}.live-visual-hints{display:grid;gap:5px;margin-top:10px;padding:10px 12px;border:1px dashed #a9b9ae;border-radius:12px;color:#425a50;background:#f7f9f2;font-size:12px}.live-visual-hints>span{color:#65746f}.live-visual-hint-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:3px}.live-visual-hint{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:3px 9px;border-radius:999px;background:#fffdf7;border:1px solid #d9e2d8}.live-visual-hint>span{font-size:20px;line-height:1}.latency-panel{margin-top:10px;border:1px solid rgba(47,75,68,.18);border-radius:12px;padding:9px 12px;color:#435852;background:#f7faf6bd;font-size:.78rem}.latency-panel summary{cursor:pointer;font-weight:800}.latency-panel output,.latency-panel small{display:block;margin-top:7px}.latency-panel small{line-height:1.45;color:#65746f}.speech-status>div{display:grid;gap:2px}.speech-status span{color:#65736c}.speech-listening{color:#7b332c;background:#fae7df}.speech-error,.speech-needs-clarification{color:#77501d;background:#fff1cd}.speech-status button{padding:6px 10px;color:inherit;background:transparent;border:1px solid currentColor;border-radius:999px;font-size:11px}.control-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px}.suggestions{display:flex;gap:7px;overflow-x:auto;padding:2px}.suggestions button,.undo-button{min-height:44px;flex:0 0 auto;padding:7px 10px;color:#6d665a;background:transparent;border:1px solid #ddd4c3;border-radius:999px;font-size:10px}.undo-button{min-width:64px}.suggestions button:hover{color:#2c6e57;border-color:#6da88f}.undo-button:disabled{cursor:not-allowed;opacity:.35}.clarification{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px 12px;color:#77501d;background:#fff1cd;border-radius:10px;font-size:12px}.clarification small{flex-basis:100%;color:#675f52;font-size:.76rem;line-height:1.35}.development-note{display:grid;gap:5px;margin:18px auto 26px;max-width:900px;padding:14px 18px;color:#57492f;background:#fff4d8;border:1px solid #e7c978;border-radius:16px;line-height:1.45}.development-note span{font-size:.9rem}.latency-panel input[type=password]{box-sizing:border-box;width:100%;min-height:44px;margin:8px 0;padding:9px 12px;border:1px solid #d4ccbd;border-radius:10px;background:#fffdf7}.latency-panel output,.ai-connection-status{display:block;margin:8px 0;color:#35685c;font-size:.78rem}.glyph-review{margin-top:1rem;padding:1rem;border:1px solid #adc9bf;border-radius:16px;background:#f4fbf7}.glyph-review p{margin:.35rem 0 .8rem;max-width:65ch}.glyph-review-list{display:flex;flex-wrap:wrap;gap:.65rem}.glyph-review-item{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.4rem .6rem;border-radius:12px;background:#fff}.glyph-review-item svg{width:64px;height:64px;flex:none}.glyph-review-item span{font-weight:700;margin-right:.3rem}.showcase{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #ded7c8}.showcase h2{margin:2px 0 5px;color:#334f4c;font-size:1.15rem}.showcase p:not(.eyebrow){margin:0;color:#6b655a;font-size:.82rem;line-height:1.4}.showcase details{padding:10px;background:#f9f5eb;border:1px solid #e1dacb;border-radius:12px}.showcase summary{cursor:pointer;color:#3f625d;font-weight:800}.showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.showcase-grid button{min-height:52px;padding:9px 11px;color:#514d45;text-align:left;line-height:1.35;background:#fffdf8;border:1px solid #d8d0c0;border-radius:11px}.showcase-grid button:hover{color:#245f51;border-color:#69a28f;background:#f1faf6}.showcase input[type=search]{box-sizing:border-box;width:100%;min-height:44px;margin-top:8px;padding:9px 12px;border:1px solid #d4ccbd;border-radius:10px;background:#fffdf8}.architecture-note{margin-top:10px!important;padding:10px 12px;color:#31564f!important;background:#eaf6f1;border-radius:10px}.full-library{max-height:430px;overflow-y:auto;padding-right:4px}.full-library button span,.full-library button small{display:block}.full-library button small{margin-top:5px;color:#66817b;font-size:.68rem;font-weight:800}.hold-notice{align-items:flex-start;background:#eaf8f4;border:1px solid #94d8c4;border-radius:14px;color:#123f35;display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:12px 14px}.hold-notice span{color:#35685c;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:680px){.app{width:min(100% - 18px,1180px);padding-top:12px}.hero-copy{margin-top:38px}.brand div span{display:none}.canvas-shell{height:240px;min-height:0;aspect-ratio:auto}.canvas-shell.is-area,.canvas-shell.is-detail{height:clamp(320px,68vh,460px)}.canvas-area-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;color:#315747;font-size:14px;font-weight:700}.canvas-area-control select{min-height:44px;max-width:55%;padding:8px 12px;border:1px solid #8caa9b;border-radius:10px;background:#fbf7ed;color:#315747;font:inherit}.control-card{width:calc(100% - 12px)}.input-row{display:grid;grid-template-columns:1fr 1fr}.input-row.has-stop-ai{grid-template-columns:repeat(3,minmax(0,1fr))}.input-row input{grid-column:1 / -1}.draw-button{min-height:44px;padding:0 15px}.stop-ai-button{min-height:44px;padding:0 8px}.mic-button{min-width:72px;min-height:44px;padding:0 10px}.control-footer{align-items:flex-end}.showcase-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.doodle-stroke,.doodle-detail,.accent-stroke,.entity-label{animation-duration:1ms;animation-delay:0ms}.circulation-flow,.trajectory-flow,.control-flow,.water-cycle-flow,.lifecycle-flow,.lifecycle-creature,.lifecycle-cocoon,.reflection-flow,.stack-flow,.routine-flow,.plate-force,.linked-flow,.condition-flow,.fifo-flow,.data-pulse,.doubling-flow,.doubling-pop,.chain-energy-flow,.energy-particle,.chain-creature,.universal-motion-pulse,.universal-motion-float,.universal-motion-spin,.universal-relation-flow,.glyph-ink-path{animation:none!important}}.circulation-flow{animation:draw-line .8s ease both;stroke-dasharray:16 10}.trajectory-flow{animation:draw-line 1.1s ease both,trajectory-drift 1.8s linear infinite}.control-flow{animation:draw-line .85s ease both;stroke-dasharray:14 9}.control-return{animation-delay:.35s}.water-cycle-flow{animation:draw-line 1s ease both,trajectory-drift 2.2s linear infinite}.water-cycle-return{animation-delay:.35s}.lifecycle-flow{animation:draw-line .9s ease both,trajectory-drift 2s linear infinite}.lifecycle-flow-late{animation-delay:.35s}.reflection-flow{stroke-dasharray:18 8;animation:trajectory-drift 1.35s linear infinite}.reflection-flow-out{animation-delay:-.45s}.stack-flow,.routine-flow,.plate-force,.linked-flow{animation:trajectory-drift 1.5s linear infinite}.stack-flow-pop{animation-delay:-.6s}.plate-shift-left{animation:plate-left-pulse 2.4s ease-in-out infinite;transform-origin:center}.plate-shift-right{animation:plate-right-pulse 2.4s ease-in-out infinite;transform-origin:center}.mountain-uplift{animation:mountain-breathe 2.4s ease-in-out infinite;transform-origin:center bottom}@keyframes plate-left-pulse{50%{transform:translate(7px)}}@keyframes plate-right-pulse{50%{transform:translate(-7px)}}@keyframes mountain-breathe{50%{transform:scaleY(1.025)}}.lifecycle-creature{animation:lifecycle-arrive 1.5s ease-in-out infinite alternate;transform-origin:center}.lifecycle-cocoon{animation:lifecycle-sway 2.1s ease-in-out infinite alternate;transform-origin:top center}@keyframes lifecycle-arrive{to{transform:translateY(-5px)}}@keyframes lifecycle-sway{to{transform:rotate(2deg)}}@keyframes trajectory-drift{to{stroke-dashoffset:-44}}.circulation-return{animation-delay:.2s}@keyframes propagation-travel{0%{transform:translate(0);opacity:.25}15%{opacity:1}to{transform:translate(var(--propagation-distance));opacity:0}}.propagation-pulse{transform:translate(var(--propagation-rest, 0px));animation:propagation-travel 2.8s linear infinite}@media(prefers-reduced-motion:reduce){.propagation-pulse{animation:none}}
