/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--color-black:#000;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--leading-relaxed:1.625}}@layer base{:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--shell-color:#eee4cb;--page-background:radial-gradient(circle at 15% 0%, #6d492338, transparent 30rem), linear-gradient(145deg, #0d0b08, #050504 70%);--button-color:#f6e8c7;--button-background:#2a2117;--button-border:#8e7651;--button-hover-background:#382b1c;--button-hover-border:#b79a6b;--focus-ring:#d8b97c;--eyebrow-color:#a88d62;--stage-border:#5d4c34;--log-background:#0c0a08e0;--log-border:#5d4c34;--log-muted:#9f8b6c;--log-divider:#be9e692e;color:var(--shell-color);font-synthesis:none;background:#080705;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--shell-color:#34291d;--page-background:radial-gradient(circle at 15% 0%, #b486463d, transparent 32rem), linear-gradient(145deg, #f7f0e3, #e7dcc9 72%);--button-color:#423120;--button-background:#f5ead5;--button-border:#8b704c;--button-hover-background:#ead9ba;--button-hover-border:#684f30;--focus-ring:#765326;--eyebrow-color:#725735;--stage-border:#806947;--log-background:#f8f2e6eb;--log-border:#a78d67;--log-muted:#75634d;--log-divider:#684f302e;color:var(--shell-color);background:#eee4d2}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--shell-color:#34291d;--page-background:radial-gradient(circle at 15% 0%, #b486463d, transparent 32rem), linear-gradient(145deg, #f7f0e3, #e7dcc9 72%);--button-color:#423120;--button-background:#f5ead5;--button-border:#8b704c;--button-hover-background:#ead9ba;--button-hover-border:#684f30;--focus-ring:#765326;--eyebrow-color:#725735;--stage-border:#806947;--log-background:#f8f2e6eb;--log-border:#a78d67;--log-muted:#75634d;--log-divider:#684f302e}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--shell-color);background:var(--page-background);margin:0}:root[data-jy2-surface=desktop]{background:#000}:root[data-jy2-surface=desktop] body{background:#000;min-width:0;height:100vh;min-height:0;overflow:hidden}:root[data-jy2-surface=desktop] .shell{width:100%;height:100%;margin:0;padding:0}:root[data-jy2-surface=desktop] .runtime-bar{display:none}:root[data-jy2-surface=desktop] .play-layout{background:#000;grid-template-columns:1fr;place-items:center;gap:0;width:100%;height:100%;display:grid}:root[data-jy2-surface=desktop] .stage-frame{aspect-ratio:5/4;width:min(100vw,125vh);max-width:100%;height:min(100vh,80vw);max-height:100%;box-shadow:none;border:0;margin:0}button{border:1px solid var(--button-border);color:var(--button-color);background:var(--button-background);cursor:pointer;border-radius:999px;padding:.55rem .95rem}button:hover{border-color:var(--button-hover-border);background:var(--button-hover-background)}button:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled,select:disabled{cursor:not-allowed;opacity:.52}.shell{width:min(100% - 2rem,1120px);margin:0 auto;padding:1.5rem 0 2rem}.runtime-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.runtime-brand{flex:none}.runtime-actions{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.runtime-actions button{white-space:nowrap;padding:0}.icon-button{flex:none;place-items:center;width:2.5rem;height:2.5rem;display:inline-grid}.control-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem;overflow:visible}.audio-icon path:first-child{fill:currentColor;stroke:none}#audio-toggle[data-audio-state=paused] .audio-icon__waves,#audio-toggle[data-audio-state=enabled] .audio-icon__mute,.theme-icon--moon,:root[data-theme=light] .theme-icon--sun{display:none}:root[data-theme=light] .theme-icon--moon{display:block}@media (prefers-color-scheme:light){:root:not([data-theme]) .theme-icon--sun{display:none}:root:not([data-theme]) .theme-icon--moon{display:block}}.runtime-bar h1{margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(1.8rem,5vw,3rem);font-weight:500}.eyebrow{color:var(--eyebrow-color);letter-spacing:.16em;margin:0 0 .25rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.play-layout{grid-template-columns:minmax(0,760px);justify-content:center;align-items:start;gap:1rem;display:grid}.stage-frame{aspect-ratio:5/4;border:1px solid var(--stage-border);background:#000;margin-top:1rem;position:relative;overflow:hidden;box-shadow:0 1.5rem 5rem #00000073}#game-canvas,#game-canvas canvas{width:100%;height:100%;display:block}#game-canvas{position:relative}.input-overlay{pointer-events:none;position:absolute;inset:0}.jy2-text-input{z-index:2;color:#3d3021;text-align:center;pointer-events:auto;background:#f4edd2e0;border:1px solid #68563d73;border-radius:2px;outline:none;min-width:1.5rem;padding:0 .18rem;font-family:Songti SC,STSong,serif;font-size:clamp(12px,2.4vw,20px);line-height:1;position:absolute}.jy2-text-input:focus{border-color:#745524;box-shadow:0 0 0 1px #74552440}#boot-overlay{color:#cbb68e;text-align:center;background:#0b0a08;place-items:center;padding:2rem;display:grid;position:absolute;inset:0}#boot-overlay[hidden]{display:none}#boot-overlay.error{color:#ffc3b5;white-space:pre-wrap}.portable-save{color:var(--log-muted);font-size:.7rem;position:relative}.portable-save summary{cursor:pointer;text-align:right}.portable-save__controls{grid-template-columns:auto minmax(3rem,1fr) auto auto;align-items:center;gap:.35rem;margin-top:.45rem;display:grid}.portable-save__controls button,.portable-save__controls select{min-height:1.85rem;padding:.25rem .4rem;font-size:.68rem}.portable-save__status{max-width:17rem;color:var(--log-muted);text-align:right;margin:.4rem 0 0;line-height:1.4}.rust-runtime-evidence{color:var(--eyebrow-color);overflow-wrap:anywhere;margin:.75rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;line-height:1.45}@media (width<=980px){.shell{width:min(100% - 2rem,760px)}.play-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=540px){.shell{width:100%;padding-top:0}.runtime-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding-block:.85rem 0;padding-inline:.85rem;display:grid}.runtime-actions{gap:.5rem;width:auto;display:flex}.runtime-actions button{min-height:auto}.stage-frame{border-inline:0}}:root[data-jy2-shell]{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--viewport-width:calc(100vw - var(--safe-left) - var(--safe-right));--viewport-height:calc(100dvh - var(--safe-top) - var(--safe-bottom));overscroll-behavior:none;height:100%;overflow:hidden}:root[data-jy2-shell] body{overscroll-behavior:none;background:#0b0a08;width:100%;min-width:0;height:100dvh;min-height:0;overflow:hidden}:root[data-jy2-shell][data-theme=light] body{background:#f1eadc}.game-shell{height:100dvh;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);position:fixed;inset:0}.game-shell .game-viewport{grid-template-columns:minmax(0,1fr);place-items:center;gap:0;width:100%;height:100%;display:grid}.game-shell .game-stage{width:min(var(--viewport-width), calc(var(--viewport-height) * 1.25));height:min(var(--viewport-height), calc(var(--viewport-width) * .8));aspect-ratio:5/4;max-width:100%;max-height:100%;box-shadow:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;border:0;margin:0}.game-stage canvas{touch-action:none}.game-stage .jy2-text-input{-webkit-user-select:text;user-select:text}.shell-menu{z-index:30;right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 12px);position:fixed;box-shadow:0 1px 8px #0000001f}.shell-panel{right:calc(var(--safe-right) + 12px);bottom:calc(var(--safe-bottom) + 12px);width:min(360px, calc(var(--viewport-width) - 24px));max-height:calc(var(--viewport-height) - 24px);overscroll-behavior:contain;touch-action:manipulation;overflow-y:auto}#shell-controls,.shell-panel{-webkit-tap-highlight-color:transparent}:root[data-jy2-surface=desktop] #shell-controls{display:none}.game-stage #boot-overlay{color:var(--shell-color);background:var(--button-background);padding:1.5rem}.game-stage #boot-overlay.error{color:#d15b48}}@layer components;@layer utilities{.fixed{position:fixed}.inset-0{inset:0}.z-40{z-index:40}.z-50{z-index:50}.m-0{margin:0}.mt-3{margin-top:calc(var(--spacing) * 3)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_1fr_1fr\]{grid-template-columns:1fr 1fr 1fr}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.rounded-none{border-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-solid{--tw-border-style:solid;border-style:solid}.border-border{border-color:var(--log-divider)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--button-background)}.bg-black\/35{background-color:#00000059}@supports (color:color-mix(in lab, red, red)){.bg-black\/35{background-color:color-mix(in oklab, var(--color-black) 35%, transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-4{padding:calc(var(--spacing) * 4)}.px-0{padding-inline:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-3{padding-right:calc(var(--spacing) * 3)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--shell-color)}.text-muted-foreground{color:var(--log-muted)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.empty\:hidden:empty{display:none}@media (hover:hover){.hover\:bg-muted:hover{background-color:var(--button-hover-background)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--focus-ring)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:var(--button-background)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[closed\]\:hidden[data-closed]{display:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
