/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.items-center{align-items:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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, )}}:root{--color-background:#f7f5ef;--color-surface:#fff;--color-text:#293a3a;--color-muted:#425250;--color-accent:#d4e7e1;--color-sand:#e5d2b0;--color-ocean:#a9d5db;--color-focus:#255f60;--space-unit:4px;--radius-panel:24px;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ambient-one:#d8e6df85;--ambient-two:#e7d9c680;--glass-tint:#e5d2b04d;--art-tint:#c2deda}[data-theme=sage]{--color-background:#f1f5ef;--color-accent:#d1e2cc;--ambient-one:#bdd7bf99;--ambient-two:#e2dfc985;--glass-tint:#c9ddc44d;--art-tint:#c3d7ba}[data-theme=mist]{--color-background:#f0f5f7;--color-accent:#cee3ec;--ambient-one:#b7d7e999;--ambient-two:#d1e1df85;--glass-tint:#c1dae54d;--art-tint:#b9d5e2}[data-theme=lavender]{--color-background:#f5f1f8;--color-accent:#e2d7ed;--ambient-one:#d1bee399;--ambient-two:#ded5e985;--glass-tint:#d6c6e54d;--art-tint:#d3c6e3}[data-theme=blush]{--color-background:#faf2f1;--color-accent:#eed8d7;--ambient-one:#e8c5cc99;--ambient-two:#ecdbc585;--glass-tint:#e9cdce4d;--art-tint:#e5c7c8}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.app-shell{isolation:isolate;background:radial-gradient(ellipse at 80% 10%, var(--ambient-one), transparent 55%), radial-gradient(ellipse at 5% 90%, var(--ambient-two), transparent 60%), var(--color-background);height:100dvh;min-height:100svh;padding:12px 12px 12px 80px;position:relative}.side-rail{top:max(24px, env(safe-area-inset-top));bottom:max(24px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:3;flex-direction:column;align-items:center;gap:16px;width:62px;display:flex;position:absolute}.rail-caption{color:var(--color-muted);letter-spacing:3px;margin-top:16px;font-size:9px}.game-navigation{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff65;border:1px solid #ffffffd9;border-radius:18px;flex-direction:column;gap:4px;padding:4px;display:flex;box-shadow:0 4px 24px #293a3a05}.game-link{min-width:72px;min-height:72px;color:var(--color-muted);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:10px 6px;font-size:12px;transition:background-color .15s;display:flex}.game-link:hover{background:#ffffff85}.game-link.is-active{color:var(--color-text);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.game-link.is-active{background:color-mix(in srgb, var(--color-accent) 60%, white)}}.game-link.is-active{text-decoration:underline;-webkit-text-decoration-color:var(--color-focus);-webkit-text-decoration-color:var(--color-focus);-webkit-text-decoration-color:var(--color-focus);text-decoration-color:var(--color-focus);text-underline-offset:5px;font-weight:650;box-shadow:0 2px 12px #293a3a08}.brand-watermark{bottom:max(40px, env(safe-area-inset-bottom));letter-spacing:-3px;opacity:.13;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;justify-content:center;align-items:center;gap:12px;font-size:clamp(32px,5vw,80px);font-weight:650;display:flex;position:absolute;left:80px;right:12px}.brand-watermark svg{width:1em;height:1em}main{min-width:0;height:100%;position:relative}main:focus:not(:focus-visible){outline:none}.game-section{height:100%}.game-surface{isolation:isolate;background:#ffffff28;border:1px solid #ffffffce;border-radius:28px;place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 12px 40px #293a3a04}.sand-surface{background:linear-gradient(115deg, #ffffff30, var(--glass-tint) 68%, #ffffff20)}.desk-surface,.marble-surface{background:linear-gradient(135deg, var(--glass-tint), #ffffff30)}.placeholder-note{text-align:center;background:var(--color-background);border:1px solid #ffffff9c;border-radius:20px;max-width:340px;margin:24px;padding:16px 20px}@supports (color:color-mix(in lab, red, red)){.placeholder-note{background:color-mix(in srgb, var(--color-background) 90%, transparent)}}.preview-label{color:var(--color-muted);letter-spacing:2px;font-size:9px;font-weight:650}.placeholder-note h2{letter-spacing:-.5px;margin:8px 0;font-size:20px;font-weight:450}.placeholder-note p{color:var(--color-muted);font-size:12px;line-height:1.7}.surface-caption{color:var(--color-muted);letter-spacing:1px;font-size:10px;position:absolute;bottom:20px}.sound-control{flex-direction:column-reverse;align-items:center;gap:8px;width:100%;margin-top:auto;display:flex}.sound-control>span{text-align:center;color:var(--color-muted);max-width:70px;font-size:9px;line-height:1.5}.sound-button{min-width:72px;min-height:64px;color:var(--color-text);background:#ffffff80;border:1px solid #ffffffd9;border-radius:18px;flex-direction:column;justify-content:center;gap:6px;padding:8px 4px;font-size:11px;display:flex}.sound-button:hover,.sound-button[aria-pressed=true]{background:var(--color-accent)}.skip-link{z-index:10;background:#fff;border-radius:8px;padding:12px;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.loading,.not-found{text-align:center;background:#ffffff50;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:24px;height:100%;padding:24px;display:flex}.not-found h1{font-size:24px}.text-link{align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.shore-art{z-index:-1;position:absolute;inset:0;overflow:hidden}.shore-line{background:var(--art-tint);border-radius:45%;width:80%;height:190%;position:absolute;top:-70%;right:-55%;transform:rotate(-25deg);box-shadow:0 0 0 12px #e9f0e57a,0 0 0 14px #f7f6e594}.shore-line-two{background:var(--art-tint);right:-65%}@supports (color:color-mix(in lab, red, red)){.shore-line-two{background:color-mix(in srgb, var(--art-tint) 85%, #526361)}}.shore-line-two{box-shadow:none}.sand-rings{border:2px solid #a68b6233;border-radius:50%;width:320px;height:210px;position:absolute;bottom:-100px;left:-100px;transform:rotate(-30deg);box-shadow:0 0 0 12px #eadbc4,0 0 0 14px #a68b6226,0 0 0 26px #eadbc4,0 0 0 28px #a68b6222}.desk-art{z-index:-1;position:absolute;inset:0}.notebook{background:#bdcbc0;border-left:12px solid #92aaa0;border-radius:8px;width:150px;height:200px;position:absolute;top:15%;left:7%;transform:rotate(-12deg)}.cup{background:#9fbaa9;border:12px solid #cbd8c7;border-radius:50%;width:90px;height:90px;position:absolute;top:23%;right:9%;box-shadow:2px 5px 12px #293a3a12}.pencil{background:#b9a785;border-radius:5px;width:10px;height:130px;position:absolute;bottom:15%;right:17%;transform:rotate(30deg)}.marble-art{z-index:-1;position:absolute;inset:0}.marble-art i{background:radial-gradient(circle at 30% 25%,#f5f2e6,#b6c9bb 70%);border-radius:50%;width:100px;height:100px;display:block;position:absolute;bottom:15%;left:10%;box-shadow:8px 16px 24px #293a3a12}.marble-art i:nth-child(2){background:radial-gradient(circle at 30% 25%,#f8ede2,#cfb898 70%);width:72px;height:72px;top:12%;left:auto;right:10%}.marble-art i:nth-child(3){width:44px;height:44px;bottom:12%;left:auto;right:18%}@media (width<=600px){.app-shell{padding:8px 8px 8px 66px}.side-rail{left:max(6px, env(safe-area-inset-left));width:54px;top:max(12px, env(safe-area-inset-top));bottom:max(16px, env(safe-area-inset-bottom));gap:16px}.rail-caption{letter-spacing:2px;font-size:8px}.game-navigation{border-radius:20px;gap:6px;padding:4px}.game-link{border-radius:15px;min-width:54px;min-height:64px;padding:8px 4px;font-size:10px}.sound-button{min-width:58px;min-height:58px;font-size:10px}.sound-control>span{font-size:8px}.game-surface{border-radius:22px}.placeholder-note{margin:16px;padding:16px 12px}.placeholder-note h2{font-size:17px}.placeholder-note p{font-size:11px}.surface-caption{letter-spacing:.5px;font-size:8px;bottom:16px}.brand-watermark{letter-spacing:-1px;gap:6px;font-size:32px;bottom:52px;left:66px;right:8px}.notebook{width:100px;height:140px;left:4%}.cup{border-width:8px;width:64px;height:64px;top:65%;right:7%}}@media (height<=480px){.side-rail{gap:8px;top:8px;bottom:8px}.rail-caption,.sound-control>span{display:none}.game-link{gap:3px;min-height:52px;padding-block:5px}.sound-button{gap:3px;min-height:48px}.brand-watermark{font-size:32px;bottom:24px}.surface-caption{display:none}}@media (height<=300px){.app-shell{height:auto;min-height:320px}main{height:304px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.theme-picker{width:100%}.theme-trigger{min-width:60px;min-height:60px;color:var(--color-text);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin:auto;font-size:11px;display:flex}.theme-trigger:hover,.theme-trigger[aria-expanded=true]{background:#ffffff90}.theme-current{border:1px solid #52636170;border-radius:50%;width:22px;height:22px;box-shadow:inset 0 0 0 3px #ffffff70}.theme-panel{z-index:6;background:var(--color-background);border:1px solid #fff;border-radius:24px;width:280px;max-width:calc(100vw - 96px);max-height:calc(100dvh - 32px);padding:20px;position:fixed;top:50%;left:80px;overflow-y:auto;transform:translateY(-50%);box-shadow:0 12px 48px #293a3a18}.theme-panel h2{font-size:18px;font-weight:500}.theme-panel>p{color:var(--color-muted);margin:6px 0 16px;font-size:12px;line-height:1.6}.theme-options{gap:4px;display:grid}.theme-option{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px;font-size:13px;display:flex}.theme-option:hover,.theme-option[aria-pressed=true]{background:var(--color-accent)}.theme-swatch{border:1px solid #52636170;border-radius:50%;flex-shrink:0;width:26px;height:26px}.theme-check{margin-left:auto}@media (width<=600px){.theme-trigger{min-width:54px;min-height:54px;font-size:10px}.theme-panel{max-width:calc(100vw - 78px);padding:16px;left:66px}}@media (height<=480px){.side-rail{gap:4px}.game-navigation{gap:4px;padding:4px}.game-link{min-height:48px}.theme-trigger{flex-direction:row;gap:5px;min-height:44px;font-size:10px}.theme-current{width:18px;height:18px}}.menu-item{position:relative}.menu-detail{width:236px;max-width:calc(100vw - 112px);color:var(--color-text);visibility:hidden;opacity:0;z-index:5;text-align:left;padding:14px 16px 14px 24px;font-size:12px;font-weight:400;line-height:1.6;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.menu-detail:before{content:"";background:var(--color-background);z-index:-1;border:1px solid #fff;border-radius:16px;position:absolute;inset:0 0 0 10px;box-shadow:0 6px 24px #293a3a14}.menu-detail strong{margin-bottom:3px;font-size:13px;font-weight:600;display:block}.menu-item:has(:focus-visible):not([data-dismissed=true])>.menu-detail{visibility:visible;opacity:1}.theme-picker:has(.theme-panel) .menu-detail{display:none}.sound-control .menu-detail{top:auto;bottom:0;transform:none}.rail-bottom{flex-direction:column;align-items:center;gap:8px;width:100%;margin-top:auto;display:flex}.rail-bottom .sound-control{margin-top:0}.rail-bottom .menu-detail{top:auto;bottom:0;transform:none}.support-link{min-width:44px;min-height:44px;color:var(--color-text);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 3px;font-size:9px;display:flex}.support-link:hover{background:#ffffff90}@media (height<=400px){.app-shell{height:auto;min-height:400px}main{height:376px}}@media (hover:hover) and (pointer:fine){.menu-label{display:none}.rail-caption{visibility:hidden}.game-link,.sound-button,.theme-trigger{min-width:44px;min-height:44px;padding:8px}.game-link.is-active{box-shadow:inset 3px 0 0 var(--color-focus)}.menu-item:hover:not([data-dismissed=true])>.menu-detail{visibility:visible;opacity:1}}@media (width<=600px){.menu-detail{max-width:calc(100vw - 88px)}}.game-link svg{width:16px;height:16px}.sound-button svg{width:14px;height:14px}.theme-current{width:16px;height:16px}.game-link,.sound-button,.theme-trigger{border-radius:13px}@media (width<=600px){.game-link{gap:4px;min-width:44px;min-height:52px;padding:6px 3px;font-size:9px}.sound-button,.theme-trigger{gap:4px;min-width:44px;min-height:48px;padding:6px 3px;font-size:9px}.game-navigation{border-radius:16px;gap:4px;padding:3px}}@media (hover:hover) and (pointer:fine){.game-link,.sound-button,.theme-trigger{min-width:44px;min-height:44px}}.sand-canvas{touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.sand-backdrop{pointer-events:none;opacity:.94;width:100%;height:100%;position:absolute;inset:0}.sand-tools{pointer-events:none;justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute;bottom:16px;left:20px;right:20px}.sand-tools p{color:var(--color-muted);text-shadow:0 1px 4px var(--color-background);font-size:12px}.sand-reset{pointer-events:auto;background:var(--color-background);min-width:64px;min-height:44px;color:var(--color-text);border:1px solid #fffc;border-radius:16px;padding:8px 16px;font-size:12px;box-shadow:0 3px 12px #293a3a08}.sand-reset:hover{background:var(--color-accent)}@media (width<=600px){.sand-tools{gap:8px;bottom:12px;left:12px;right:12px}.sand-tools p{font-size:10px}.sand-reset{min-width:56px;padding-inline:12px}}.sand-water{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.sand-reset:disabled{opacity:.65;cursor:default}.support-dialog{background:var(--color-background);width:min(460px,100vw - 24px);max-width:none;height:min(740px,100dvh - 24px);max-height:none;color:var(--color-text);border:1px solid #ffffffd9;border-radius:22px;margin:auto;padding:16px;overflow:auto}.support-dialog[open]{flex-direction:column;display:flex}.support-dialog::backdrop{background:#293a3a55}.support-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.support-header h2{font-size:18px;font-weight:600}.support-header button{background:var(--color-accent);border-radius:13px;min-width:44px;min-height:44px;font-size:26px}.support-note{flex-shrink:0;margin:8px 0;font-size:12px;line-height:1.5}.support-frame{background:#fff;border:0;border-radius:12px;flex:1;width:100%;min-height:100px}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
