:root{font-family:ui-rounded,Arial Rounded MT Bold,Trebuchet MS,system-ui,sans-serif;color:#173451;background:#83d5ed;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{margin:0;min-width:320px;width:100%;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}body{position:fixed;inset:0;height:100dvh;min-height:100dvh;background:radial-gradient(circle at 10% 10%,rgb(255 255 255 / 55%) 0 7%,transparent 7.5%),radial-gradient(circle at 88% 22%,rgb(255 255 255 / 35%) 0 5%,transparent 5.5%),linear-gradient(155deg,#8fdcf0,#c5eef4 46%,#ffe39a)}button,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit}.game-shell{--shell-gutter: 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;height:100%;max-height:100dvh;overflow:hidden;touch-action:none;padding:calc(var(--shell-gutter) + env(safe-area-inset-top,0px)) calc(var(--shell-gutter) + env(safe-area-inset-right,0px)) calc(var(--shell-gutter) + env(safe-area-inset-bottom,0px)) calc(var(--shell-gutter) + env(safe-area-inset-left,0px));gap:clamp(12px,2vw,28px)}.maze-panel,.drawing-panel{min-width:0;min-height:0}.maze-panel{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}.panel-topbar{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px}.brand{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;font-weight:900;letter-spacing:-.04em;color:#214c6c;cursor:pointer;-webkit-user-select:none;user-select:none}.brand:active{transform:translateY(1px)}.brand-nurse{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#fff7db;box-shadow:0 5px #2b63752e;font-size:28px}.brand-name{font-size:clamp(18px,2vw,28px)}.topbar-tools{display:flex;align-items:center;justify-content:flex-end;gap:clamp(7px,1vw,12px);min-width:0}.language-selector{display:flex;gap:4px;padding:4px;border-radius:999px;background:#ffffff73}.language-button{display:grid;place-items:center;width:clamp(32px,3.2vw,42px);height:clamp(30px,3vw,38px);padding:0;border:0;border-radius:999px;background:transparent;font-size:clamp(18px,2vw,25px);line-height:1;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.language-button[aria-pressed=true]{background:#fff7db;box-shadow:0 3px #2b63752e;transform:scale(1.06)}.language-button:active{transform:translateY(2px)}.level-progress{display:flex;justify-content:flex-end;align-items:center;gap:clamp(5px,.7vw,9px);padding:8px 10px;border-radius:999px;background:#ffffff73}.level-dot{width:clamp(9px,1.2vw,14px);aspect-ratio:1;border-radius:50%;background:#1f456e33;transition:transform .18s ease,background .18s ease}.level-dot.is-current{background:#f49a3d;transform:scale(1.35);box-shadow:0 0 0 4px #f49a3d2e}.level-dot.is-complete{background:#4a9f69}.maze-stage{display:grid;place-items:center;min-width:0;min-height:0}.maze-board{--maze-cols: 6;--maze-rows: 6;position:relative;display:grid;grid-template-columns:repeat(var(--maze-cols),1fr);grid-template-rows:repeat(var(--maze-rows),1fr);width:min(100%,74vh);aspect-ratio:var(--maze-cols) / var(--maze-rows);max-height:100%;overflow:hidden;border:clamp(7px,.9vw,12px) solid #f9f0c7;border-radius:clamp(24px,3vw,42px);background:#f9f0c7;box-shadow:0 16px 30px #1e4f5b33,inset 0 0 0 2px #ffffffa6}.maze-cell{position:relative;min-width:0;min-height:0}.floor-cell{background:radial-gradient(circle at 50% 50%,rgb(255 255 255 / 65%) 0 9%,transparent 10%),#f8eabc}.wall-cell{z-index:1;margin:4%;border-radius:22%;background:radial-gradient(circle at 30% 30%,#7bbb72 0 16%,transparent 17%),radial-gradient(circle at 70% 65%,#2d7652 0 20%,transparent 21%),#4b9560;box-shadow:inset 0 -5px #165b443d,0 2px #ffffff3d}.exit-cell{display:grid;place-items:center;background:radial-gradient(circle,#fff8bd 0 28%,#f6d36a 30% 48%,#f8eabc 50%)}.exit-bandage{display:grid;place-items:center;width:74%;height:74%;font-size:clamp(20px,5vw,56px);filter:drop-shadow(0 4px 2px rgb(108 75 7 / 18%));animation:exit-pulse 1.4s ease-in-out infinite}.maze-choice{position:absolute;inset:50% auto auto 50%;z-index:4;display:grid;place-items:center;width:58%;aspect-ratio:1;border:clamp(2px,.3vw,4px) solid rgb(255 255 255 / 88%);border-radius:30%;background:#1f456eeb;box-shadow:0 5px 10px #1f456e2e;color:#fff8dc;font-size:clamp(18px,4vw,48px);font-weight:950;line-height:1;opacity:0;transform:translate(-50%,-50%) scale(.72);transition:opacity .14s ease,transform .16s ease;pointer-events:none}.maze-choice.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.exit-cell .maze-choice.is-visible{background:#1f456edb}.nurse{position:absolute;z-index:5;display:grid;place-items:center;font-size:clamp(27px,6vw,70px);line-height:1;filter:drop-shadow(0 5px 3px rgb(66 50 29 / 25%));transform:scale(.78);transition:left .17s ease-in-out,top .17s ease-in-out;pointer-events:none}.nurse.is-moving{animation:nurse-walk 185ms ease-in-out infinite alternate}.nurse.bump-up{animation:bump-up .3s ease}.nurse.bump-down{animation:bump-down .3s ease}.nurse.bump-left{animation:bump-left .3s ease}.nurse.bump-right{animation:bump-right .3s ease}.nurse.is-celebrating{animation:nurse-celebrate .65s ease-in-out 1}.drawing-panel{display:grid;place-items:center;touch-action:none}.drawing-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;min-height:0;overflow:hidden;touch-action:none;padding:clamp(14px,2.2vw,28px);border:5px solid rgb(255 255 255 / 75%);border-radius:clamp(28px,4vw,52px);background:#fff9e0c7;box-shadow:0 18px 34px #2852662b,inset 0 2px #fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.drawing-header{display:flex;align-items:center;gap:clamp(8px,1.4vw,18px);min-width:0;padding:0 0 clamp(8px,1vw,14px)}.mode-selector{display:flex;flex:0 0 auto;gap:4px;padding:4px;border-radius:999px;background:#5aa7b424}.mode-button{display:grid;place-items:center;min-width:clamp(38px,4.6vw,54px);height:clamp(34px,4vw,46px);padding:0 10px;border:0;border-radius:999px;background:transparent;color:#427f91;font-size:clamp(21px,2.8vw,34px);font-weight:950;line-height:1;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.mode-button-letters,.mode-button-numbers{font-size:clamp(12px,1.5vw,17px);letter-spacing:-.04em}.mode-button[aria-pressed=true]{background:#fff7db;box-shadow:0 3px #2b63752e;color:#214c6c;transform:scale(1.04)}.mode-button:active{transform:translateY(2px)}.drawing-hint{display:flex;flex:1 1 auto;justify-content:center;gap:clamp(12px,2.5vw,28px);min-width:0;padding:0;font-size:clamp(30px,4.5vw,58px);font-weight:950;line-height:1;color:#5aa7b4;opacity:.62}.drawing-hint.is-choice-mode{justify-content:safe center;gap:clamp(7px,1.2vw,14px);overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:none;scrollbar-width:none;font-size:clamp(19px,2.7vw,34px);letter-spacing:.04em;cursor:grab}.drawing-hint.is-choice-mode:active{cursor:grabbing}.drawing-hint.is-choice-mode::-webkit-scrollbar{display:none}.drawing-hint.is-choice-mode>span{flex:0 0 auto}.canvas-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;touch-action:none;border:clamp(5px,.8vw,9px) solid #ffd36d;border-radius:clamp(22px,3vw,38px);background:repeating-linear-gradient(0deg,transparent 0 47px,rgb(67 151 171 / 7%) 48px 49px),#fffef7;box-shadow:inset 0 2px 8px #1f456e14,0 7px #e4b74e}#drawing-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:none;cursor:crosshair}#drawing-canvas.is-disabled{cursor:default}.drawing-scanner{--scan-duration: 1s;position:absolute;inset:0;z-index:3;overflow:hidden;opacity:0;pointer-events:none}.drawing-scanner.is-scanning{opacity:1}.scanner-line{position:absolute;top:-5px;left:0;right:0;height:5px;border-radius:0;background:#35d9f2;box-shadow:0 0 8px #35d9f2,0 0 18px #35d9f2cc,0 0 34px #35d9f27a;opacity:0}.scanner-line:before{content:"";position:absolute;left:0;right:0;bottom:0;height:84px;background:linear-gradient(to top,rgb(53 217 242 / 24%),transparent);transform:translateY(100%)}.drawing-scanner.is-scanning .scanner-line{animation:scanner-sweep var(--scan-duration) linear forwards}.canvas-watermark{position:absolute;inset:0;display:grid;place-items:center;z-index:1;font-size:clamp(80px,15vw,180px);color:#6ab2c0;opacity:.075;transform:rotate(-12deg);pointer-events:none}.drawing-actions{display:flex;justify-content:center;gap:clamp(14px,2vw,24px);padding-top:clamp(15px,2vw,24px)}.round-button,.restart-button{display:grid;place-items:center;border:0;color:#173451;background:#fff8dc;box-shadow:0 7px #d2b45f,0 11px 18px #2f515d1f;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.round-button{width:clamp(58px,7vw,82px);height:clamp(58px,7vw,82px);border-radius:24px;font-size:clamp(28px,3.5vw,40px)}.round-button:active,.restart-button:active{transform:translateY(5px);box-shadow:0 2px #d2b45f}.round-button:disabled{opacity:.5;cursor:default}.command-feedback{position:fixed;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);visibility:hidden;background:#1c4c601f;opacity:0;pointer-events:none;transition:opacity .1s ease,visibility .1s}.command-feedback.is-visible{visibility:visible;opacity:1}.feedback-arrow{display:grid;place-items:center;width:min(38vw,260px);aspect-ratio:1;border:8px solid #fff;border-radius:34%;background:#f6c94c;box-shadow:0 20px 45px #1a424c47;font-size:min(25vw,180px);font-weight:950;line-height:1;color:#1f456e;animation:command-pop .56s cubic-bezier(.2,.8,.2,1)}.feedback-word{margin-top:13px;padding:8px 20px;border-radius:999px;background:#fff;box-shadow:0 6px 16px #1a424c29;font-size:clamp(18px,3vw,32px);font-weight:950;letter-spacing:.09em;color:#1f456e}.feedback-word.is-empty{visibility:hidden}.final-celebration{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:calc(24px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px));background:#1f4f6794;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.final-celebration.is-hidden{display:none}.final-card{display:grid;justify-items:center;width:min(100%,420px);min-width:0;max-height:100%;overflow:hidden;padding:34px 48px 42px;border:7px solid #fff;border-radius:48px;background:#fff0a9;box-shadow:0 28px 60px #14354557;animation:final-pop .5s cubic-bezier(.16,1.2,.3,1)}.final-nurse{font-size:clamp(95px,22vw,180px);animation:final-nurse .8s ease-in-out infinite alternate}.final-stars{font-size:clamp(30px,6vw,56px);letter-spacing:.12em}.restart-button{width:92px;height:72px;margin-top:20px;border-radius:24px;font-size:44px}.confetti-layer{position:fixed;inset:0;z-index:80;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-8vh;left:var(--confetti-x);font-size:clamp(16px,2.2vw,30px);color:#f49a3d;filter:hue-rotate(var(--confetti-hue));animation:confetti-fall 1.55s var(--confetti-delay) cubic-bezier(.15,.75,.55,1) forwards}.applause-layer{position:fixed;inset:0;z-index:90;overflow:hidden;pointer-events:none}.applause-piece{position:absolute;left:var(--applause-x);bottom:-12vh;font-size:calc(clamp(28px,5vw,54px) * var(--applause-size));filter:drop-shadow(0 4px 3px rgb(39 67 75 / 20%));animation:applause-rise 2.35s var(--applause-delay) cubic-bezier(.18,.7,.28,1) forwards}.version-toast{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:50%;z-index:120;padding:9px 16px;border:3px solid rgb(255 255 255 / 85%);border-radius:999px;background:#1f456eeb;box-shadow:0 8px 20px #16384d3d;color:#fff8dc;font-size:clamp(14px,2vw,18px);font-weight:900;letter-spacing:.04em;opacity:0;transform:translate(-50%,-10px) scale(.94);transition:opacity .14s ease,transform .14s ease;pointer-events:none}.version-toast.is-visible{opacity:1;transform:translate(-50%) scale(1)}@keyframes exit-pulse{0%,to{transform:scale(.92) rotate(-4deg)}50%{transform:scale(1.08) rotate(4deg)}}@keyframes nurse-walk{0%{transform:scale(.78) rotate(-4deg)}to{transform:scale(.82) rotate(4deg)}}@keyframes bump-up{0%,to{transform:scale(.78) translateY(0)}45%{transform:scale(.76) translateY(-15%)}}@keyframes bump-down{0%,to{transform:scale(.78) translateY(0)}45%{transform:scale(.76) translateY(15%)}}@keyframes bump-left{0%,to{transform:scale(.78) translate(0)}45%{transform:scale(.76) translate(-15%)}}@keyframes bump-right{0%,to{transform:scale(.78) translate(0)}45%{transform:scale(.76) translate(15%)}}@keyframes nurse-celebrate{0%{transform:scale(.78) rotate(0)}28%{transform:scale(1.12) rotate(-12deg) translateY(-12%)}55%{transform:scale(1.05) rotate(12deg) translateY(-16%)}to{transform:scale(.78) rotate(0)}}@keyframes command-pop{0%{transform:scale(.3) rotate(-8deg);opacity:0}38%{transform:scale(1.1) rotate(4deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes scanner-sweep{0%{top:0;opacity:0}8%{opacity:1}92%{opacity:1}to{top:calc(100% - 5px);opacity:0}}@keyframes final-pop{0%{transform:scale(.55) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes final-nurse{0%{transform:rotate(-7deg) translateY(4px)}to{transform:rotate(7deg) translateY(-12px)}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(116vh) rotate(var(--confetti-turn));opacity:.78}}@keyframes applause-rise{0%{transform:translate(0) rotate(0) scale(.72);opacity:0}12%{opacity:1}to{transform:translate(var(--applause-drift),-122vh) rotate(var(--applause-turn)) scale(1.1);opacity:0}}@media(orientation:portrait),(max-width:720px){body{overflow:hidden}.game-shell{--shell-gutter: 10px;grid-template-columns:1fr;grid-template-rows:minmax(0,47fr) minmax(0,53fr);height:100%;min-height:0;gap:12px}.maze-panel{gap:5px}.panel-topbar{min-height:38px}.brand-nurse{width:36px;height:36px;font-size:23px;border-radius:11px}.brand-name{font-size:18px}.topbar-tools{gap:6px}.language-selector{gap:2px;padding:3px}.language-button{width:30px;height:28px;font-size:18px}.maze-board{width:min(88vw,43dvh);border-width:6px;border-radius:24px}.drawing-card{padding:clamp(8px,1.5dvh,12px);border-radius:28px}.drawing-header{gap:7px;padding-bottom:clamp(4px,.8dvh,8px)}.mode-selector{padding:3px}.mode-button{min-width:34px;height:clamp(30px,4dvh,36px);padding:0 7px;font-size:clamp(19px,2.8dvh,24px)}.mode-button-letters,.mode-button-numbers{font-size:clamp(11px,1.7dvh,14px)}.drawing-hint{font-size:clamp(24px,3.4dvh,30px);padding:0}.drawing-hint.is-choice-mode{gap:6px;font-size:clamp(16px,2.4dvh,21px)}.drawing-actions{padding-top:clamp(7px,1.3dvh,13px)}.round-button{width:clamp(46px,6dvh,58px);height:clamp(46px,6dvh,58px);border-radius:clamp(14px,1.8dvh,18px);font-size:clamp(23px,3dvh,28px)}}@media(max-height:650px)and (orientation:landscape){.game-shell{--shell-gutter: 8px;gap:10px}.maze-panel{gap:6px}.panel-topbar{min-height:38px}.brand-nurse{width:36px;height:36px;border-radius:11px;font-size:23px}.brand-name{font-size:18px}.maze-board{width:min(100%,76dvh)}.drawing-card{padding:10px;border-radius:28px}.drawing-header{padding-bottom:6px}.mode-button{min-width:34px;height:34px;padding:0 7px;font-size:21px}.mode-button-letters,.mode-button-numbers{font-size:12px}.drawing-hint{padding:0;font-size:clamp(26px,5dvh,38px)}.drawing-hint.is-choice-mode{gap:6px;font-size:clamp(17px,3.3dvh,22px)}.drawing-actions{gap:12px;padding-top:8px}.round-button{width:clamp(48px,9dvh,60px);height:clamp(48px,9dvh,60px);border-radius:18px;font-size:clamp(24px,4.5dvh,30px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
