*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{background:#10192e radial-gradient(circle at 50% 2%,#374979,#10192e 72%);font:13px Tahoma,Geneva,sans-serif;color:#111;overflow:hidden}.program{display:flex;flex-direction:column;width:min(1200px,100%);height:min(800px,100dvh);margin:auto;padding:6px;background:#d7d6d1;border:2px solid #7695c9;box-shadow:0 20px 65px #0009,0 0 0 2px #153777;overflow:hidden}.xp-title{height:35px;flex:none;display:flex;align-items:center;gap:9px;padding:0 4px 0 12px;background:linear-gradient(180deg,#4090ff,#1448b9 52%,#0f3ca6 80%,#2f72db);border-radius:5px 5px 1px 1px;color:white;text-shadow:1px 1px #153274;font-size:14px;letter-spacing:.01em}.program-icon{font-size:22px;color:#ffcf38}.version{margin-left:auto;font-size:10px;color:#dbeaff;letter-spacing:.08em}.exit{display:grid;place-items:center;text-decoration:none;background:linear-gradient(#ef8977,#d73520 50%,#9f120e);border:1px solid #fff9;border-radius:4px;width:27px;height:25px;color:white;font:bold 23px Arial;text-shadow:1px 1px #72170d}.stage{position:relative;flex:1;min-height:0;margin:3px 0;border:2px inset #fafafa;background:#5a8dc1;touch-action:none;overflow:hidden;cursor:crosshair}.desktop,.stage canvas,.crack-flash{position:absolute;inset:0;width:100%;height:100%}.desktop{background:#5790c7 url('/assets/bliss.jpg') center/cover;overflow:hidden}.desktop-icons{position:absolute;inset:3% 4% 12%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:1% 2%;pointer-events:none}.desktop-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;color:#fff;text-shadow:1px 1px 2px #09223b;line-height:1.12;font-size:clamp(10px,1.15vw,15px)}.desktop-icon img,.emoji-icon{width:clamp(28px,5.8vh,68px);height:clamp(28px,5.8vh,68px);object-fit:contain;filter:drop-shadow(1px 2px 2px #12213d77)}.emoji-icon{font-size:37px;color:#e9e6d8}.taskbar{position:absolute;bottom:0;height:9%;min-height:31px;width:100%;display:flex;align-items:center;gap:7px;background:#c0c0c0;border-top:3px ridge #fff;padding:3px 6px;font-size:clamp(10px,1vw,14px)}.start{border:2px outset #e8e8e8;padding:3px 10px;font-weight:bold}.start b{color:green}.task-title{border:2px inset #eee;padding:3px 10px}#clock{margin-left:auto;padding:3px 6px;border:2px inset #eee}.stage canvas{display:block;z-index:2}.crack-flash{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--x,50%) var(--y,50%),#ffffff80,transparent 19%)}.crack-flash.flash{animation:flash .2s ease-out}@keyframes flash{30%{opacity:1}}.toolbar{display:flex;align-items:center;gap:6px;flex:none;min-height:91px;padding:5px 7px;background:linear-gradient(#edede8,#cecec8);border:1px solid #969d9c;box-shadow:inset 0 1px #fff}.tools{flex:1;min-width:0;display:flex;gap:3px;overflow-x:auto;scrollbar-width:thin;overscroll-behavior-x:contain}.toolbar button{font:11px/1.1 Tahoma,Arial,sans-serif;cursor:pointer;border:1px solid #a6a6a6;background:linear-gradient(#fff,#e4e4e0);color:#17212a;border-radius:3px;box-shadow:inset 0 1px white}.toolbar button:focus-visible,.exit:focus-visible{outline:3px solid #ffcb32;outline-offset:1px}.tools button{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;gap:4px;width:92px;height:75px;padding:4px 3px}.tool-icon{font:bold 27px/1 Georgia,serif;color:#404341;text-shadow:1px 1px #fff}.tools [data-tool="ants"] .tool-icon{font:bold 15px/1.5 Georgia,serif;letter-spacing:-1px;color:#2b2822}.tools [data-tool="ladybugs"] .tool-icon{color:#d43e2d;text-shadow:2px 1px #20241e,-2px -1px #20241e}.tools [data-tool="paint"] .tool-icon{color:#ee5481;text-shadow:4px -4px #f8bc37,-4px 3px #428bc8}.tools [data-tool="fire"] .tool-icon{color:#eb661b}.tools button[aria-pressed="true"]{border-color:#2656ad;background:linear-gradient(#b5d2f4,#e4ecf8);box-shadow:inset 0 0 0 2px #77a8e2}.actions{display:grid;grid-template-columns:repeat(2,minmax(40px,1fr));gap:4px;flex:none}.actions button{min-height:33px;padding:5px 9px}.actions button:disabled{opacity:.45;cursor:default}.actions [aria-pressed="false"]{color:#aab0b0;text-decoration:line-through}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:650px){.program{padding:0;border:0;height:100dvh}.xp-title{height:39px;border-radius:0}.version{display:none}.stage{margin:0;border:0}.desktop-icons{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,1fr);inset:2% 5% 9%;gap:0}.desktop-icon{font-size:clamp(9px,2.5vw,12px)}.desktop-icon img,.emoji-icon{width:clamp(26px,9vw,47px);height:clamp(26px,9vw,47px)}.toolbar{flex-direction:column-reverse;align-items:stretch;gap:4px;padding:6px max(6px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));min-height:137px}.tools button{width:80px;height:78px;font-size:10px}.actions{grid-template-columns:repeat(4,1fr)}.actions button{min-height:39px;font-size:12px}.taskbar{min-height:29px}.stage{flex:1}}@media(max-height:510px) and (min-width:651px){.toolbar{min-height:70px}.tools button{height:60px}.tool-icon{font-size:21px}}@media(prefers-reduced-motion:reduce){.crack-flash.flash{animation:none}.toolbar button{scroll-behavior:auto}}

/* Keyboard aim shares the pointer tools without adding a second toolbar. */
.stage:focus-visible { outline:3px solid #ffcb32; outline-offset:-3px; }
.keyboard-aim { display:none; position:absolute; left:var(--aim-x,50%); top:var(--aim-y,50%); width:19px; height:19px; border:2px solid white; border-radius:50%; box-shadow:0 0 0 1px #111; transform:translate(-50%,-50%); z-index:4; pointer-events:none; }
.stage:focus-visible .keyboard-aim { display:block; }
@media(pointer:coarse) { .exit { width:44px; height:44px; } .xp-title { min-height:48px; padding-top:env(safe-area-inset-top); height:auto; } .actions button { min-height:44px; } }
