*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;color:#254a40;background:#d7e7dd}body{display:flex;justify-content:center;background:radial-gradient(ellipse at 25% 0,#f2f4e2,transparent 65%),radial-gradient(ellipse at 90% 70%,#abc9c1,#e0eadf)}main{width:min(100%,460px);height:100svh;min-height:620px;max-height:1000px;display:flex;flex-direction:column;background:#f0f5e9;overflow:hidden}header{padding:20px 24px 0;position:relative;z-index:3;background:linear-gradient(#f3f6ec,#eef4e9)}.brand{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2.1px;font-weight:850;color:#386456}.brand>span:last-child{font-size:9px;letter-spacing:.7px;font-weight:500;margin-left:2px;color:#668174}.brand-dot{width:9px;height:9px;background:#53c79c;border-radius:5px;box-shadow:inset 1px 1px 2px #ffffffc0}.heading{display:flex;align-items:center;justify-content:space-between;gap:8px}h1{font-size:27px;letter-spacing:-1.5px;font-weight:850;margin:12px 0 13px;white-space:nowrap}.actions{display:flex;gap:5px}button{font:inherit;color:inherit;border:1px solid #385e4026;background:#ffffff80;padding:9px 12px;border-radius:12px;cursor:pointer;touch-action:manipulation;transition:background .15s,transform .15s}button:active{transform:scale(.96)}button:focus-visible{outline:3px solid #c99948;outline-offset:3px}.actions button{width:34px;height:36px;padding:6px;font-size:16px}.actions button[aria-pressed=true]{background:#cce6d6}.hud{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress{display:flex;align-items:center;gap:10px}#steps{display:flex;gap:5px}#steps i{font-style:normal;font-size:10px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;border:1px solid #b7ccba;color:#829b8c;background:#ffffff55}#steps i.current{background:#315f4e;color:#fff;border-color:#315f4e}#steps i.done{background:#d1e7b8;color:#3c653e;border-color:#b5d099}#combo{font-size:9px;letter-spacing:.15px;color:#658170}.scores{display:flex;align-items:flex-end;flex-direction:column}#score{font-size:26px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums}#score small{font-size:10px;color:#79907d;font-weight:500}#best{font-size:8px;letter-spacing:1px;color:#68816c;margin-top:4px;font-variant-numeric:tabular-nums}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:12px}.types button{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 2px;font-size:11px;border-radius:10px;min-height:35px}.types button i{width:7px;height:7px;border-radius:50%;background:#51ace1;box-shadow:inset 1px 1px 1px #fff8}.types button[data-type=normal] i{background:#34bd95}.types button[data-type=soft] i{background:#e77cb1}.types button[data-type=melt] i{background:#e6b545}.types button[aria-pressed=true]{background:#315f4e;color:white;border-color:#315f4e;box-shadow:0 3px 8px #244e3c16}#typeNote{font-size:9px;line-height:1.5;min-height:25px;color:#60796c;margin-top:6px}section{position:relative;flex:1;min-height:320px;isolation:isolate;overflow:hidden}canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}#scene3d{position:absolute;inset:0;z-index:0;pointer-events:none}#game{position:relative;z-index:1}#sceneName{position:absolute;left:20px;top:15px;z-index:2;font-size:9px;letter-spacing:1.3px;color:#3f6959;background:#eff5e9a6;border:1px solid #ffffff66;border-radius:20px;padding:7px 10px;pointer-events:none}#toast{position:absolute;top:56px;left:12px;right:12px;text-align:center;font-weight:650;font-size:11px;pointer-events:none;color:#365f4b;z-index:2;text-shadow:0 1px 7px #fff}#overlay{position:absolute;inset:0;display:grid;align-items:center;padding:18px;background:#e9f1e15c;backdrop-filter:blur(5px);z-index:4}#overlay[hidden]{display:none}.card{padding:22px 18px;text-align:center;border-radius:24px;background:#fffef6ed;box-shadow:0 14px 60px #456e5821;border:1px solid #fff}.card small{letter-spacing:2px;color:#73816b;font-size:9px}.card h2{font-size:27px;line-height:1.3;margin:12px 0;color:#325b45}.card p{font-size:11px;line-height:1.9;color:#65725d}.primary{display:block;width:100%;margin-top:17px;background:#3d7058;color:#fff;border:0;font-weight:750;font-size:14px;padding:14px;box-shadow:0 4px 0 #294d3c}.card .total{font-size:40px;color:#ae853a;font-weight:850;margin:8px 0}.card .total small{font-size:13px}footer{padding:11px 24px 15px;background:linear-gradient(#eef4e7,#f1f5e9);z-index:3}.instruction{display:flex;justify-content:space-between;gap:8px;font-size:11px;min-height:23px}.instruction b{font-weight:750}#powerLabel{font-variant-numeric:tabular-nums;color:#71917b}.meter{height:7px;border-radius:9px;background:#dae5d6;overflow:hidden;box-shadow:inset 0 1px 2px #315f4e12}.meter div{width:0;height:100%;background:linear-gradient(90deg,#39be99,#b1d06a,#e8b957);border-radius:9px}.foot{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:9px;color:#637e6b}.foot button{font-size:9px;padding:6px 8px}.viewmode{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#718776;margin-top:5px}.keyboard{font-size:8px;color:#7b8f7c;margin-top:8px;text-align:center}@media(min-width:600px){main{margin:15px 0;height:calc(100svh - 30px);border-radius:26px;box-shadow:0 18px 65px #32554120;border:1px solid #f5fff4aa}}@media(max-height:700px){header{padding-top:12px}h1{margin:8px 0;font-size:24px}footer{padding-top:8px;padding-bottom:10px}.types{margin-top:8px}section{min-height:300px}.keyboard{margin-top:5px}}@media(max-width:370px){header{padding-left:17px;padding-right:17px}h1{font-size:23px}.progress{gap:6px}#combo{font-size:8px}footer{padding-left:18px;padding-right:18px}.brand>span:last-child{font-size:8px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
/* Patisserie palette: warm porcelain, toasted caramel, raspberry accents. */
html,body{color:#604637;background:#ece1d2}body{background:radial-gradient(ellipse at 20% 10%,#fff7e8,transparent 65%),radial-gradient(ellipse at 90% 70%,#d6bfac,#eee4d6)}main{background:#fbf4e9;border-color:#fff9ef}.brand{color:#856147;letter-spacing:1.6px}.brand>span:last-child{color:#a0836b;font-size:8px;letter-spacing:.3px}.brand-dot{background:#d7a66c}header{background:linear-gradient(#fff9f0,#faf1e5)}button{border-color:#8d67482d;background:#fffaf4b3}.types button[aria-pressed=true],#steps i.current{background:#93654e;border-color:#93654e}.actions button[aria-pressed=true]{background:#eed7ba}#steps i{border-color:#d8c8b6;color:#ab9481}#steps i.done{background:#f2d9ab;border-color:#dfbe8b;color:#806039}#combo,#typeNote{color:#95765d}#score small,#best{color:#a0866a}#sceneName{color:#8b674e;background:#fff7e9be;border-color:#fff9ed}#toast{color:#886149}footer{background:linear-gradient(#f8ead6,#fff6e9)}#powerLabel{color:#a77750}.meter{background:#e9dbc7}.meter div{background:linear-gradient(90deg,#d2ad74,#d68b6a,#c56877)}.foot,.viewmode,.keyboard{color:#9a7a60}.card{background:#fffaf0f5}.card h2{color:#795340}.card p{color:#947a61}.primary{background:#94654d;box-shadow:0 4px 0 #684431}#overlay{background:#f3e6d459}@media(max-width:370px){.brand{font-size:8px;gap:6px;letter-spacing:1.1px}.brand>span:last-child{font-size:7px}}

#overview{position:absolute;right:17px;top:14px;z-index:3;font-size:9px;padding:7px 10px;background:#fff9eadd;border-radius:20px}#overview:disabled{opacity:.45;cursor:default}#overview[aria-pressed=true]{background:#94654d;color:white}#flightReadout{position:absolute;top:53px;left:22px;right:22px;display:flex;align-items:baseline;gap:8px;z-index:2;color:#9b7958;pointer-events:none;font-variant-numeric:tabular-nums}#flightCaption{font-size:8px;letter-spacing:.4px}#flightDistance{font-size:17px;font-weight:800;color:#825333;white-space:nowrap}#flightFar{font-size:8px;margin-left:auto;white-space:nowrap}#flightReadout.flying #flightDistance{font-size:24px;color:#b47f3c}#toast{top:88px;font-size:10px}@media(max-width:370px){#sceneName{left:14px;font-size:8px;letter-spacing:.6px}#overview{right:14px;font-size:8px}#flightReadout{left:17px;right:17px;gap:5px}#flightCaption,#flightFar{font-size:7px}}

/* Keep the flattened jelly in view beneath the retry card. */
#overlay.splat-result{background:none;backdrop-filter:none;align-items:start;padding:16px 22px 0}
.splat-result .card{padding:13px 16px;border-radius:20px;background:#fffaf0;box-shadow:0 8px 28px #68443117}
.splat-result .card h2{font-size:25px;margin:7px 0}
.splat-result .card p{font-size:10px;line-height:1.7;margin:5px 0}
.splat-result .primary{font-size:12px;padding:11px;margin-top:10px}
section.floor-result #sceneName,section.floor-result #overview,section.floor-result #flightReadout,section.floor-result #toast{visibility:hidden}

/* Six textures stay easy to select on a narrow phone. */
.types button[data-type=ultrahard] i{background:#ac85ef}.types button[data-type=ultrasoft] i{background:#ff947c}
@media(max-height:700px){.types{gap:4px}.types button{min-height:30px;padding:5px 2px}#typeNote{font-size:8px;min-height:22px}.keyboard{display:none}}
