*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#0a1622}body{font-family:Palatino,Palatino Linotype,Book Antiqua,Georgia,serif;color:#f0e6d2;user-select:none;-webkit-user-select:none;touch-action:none}.hidden{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}#beat-ring{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 #ffbe6e00;border-radius:0}#beat-ring.pulse{animation:pulse .55s ease-out}@keyframes pulse{0%{box-shadow:inset 0 0 120px 30px #ffb45a8c}to{box-shadow:inset 0 0 40px #ffb45a00}}#hud{position:fixed;inset:0;pointer-events:none}#banner{position:absolute;top:14px;left:50%;transform:translate(-50%);width:min(480px,92vw);background:linear-gradient(180deg,#181008d1,#261a0ed1);border:1px solid rgba(214,176,110,.5);border-radius:10px;padding:10px 18px 12px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 24px #0006}#goal-title{font-size:20px;letter-spacing:1px}#goal-title b{color:#ffd9a0}#progress{margin:8px auto 4px;height:10px;border-radius:5px;background:#00000080;border:1px solid rgba(214,176,110,.35);overflow:hidden}#progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#a8742e,#ffd9a0);transition:width .6s ease}#goal-remaining{font-size:13px;color:#d8c9a8}#crew{position:absolute;top:14px;right:14px;background:#181008d1;border:1px solid rgba(214,176,110,.5);border-radius:10px;padding:10px 16px;text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#crew-count{font-size:30px;font-weight:700;color:#ffd9a0;line-height:1}#crew-label{font-size:11px;opacity:.75;margin-top:3px}#feedback{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);font-size:42px;font-weight:700;letter-spacing:2px;color:#ffd9a0;text-shadow:0 2px 12px rgba(0,0,0,.7);opacity:0;pointer-events:none}#feedback.pop{animation:pop .9s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.7)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}30%{transform:translate(-50%,-50%) scale(1)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}#bottom{position:absolute;bottom:16px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px}#mult{margin-top:8px;border-top:1px solid rgba(214,176,110,.25);padding-top:7px}#mult-value{font-size:20px;font-weight:700;color:#ffd9a0}#mult-value.hot{color:#ffb347;text-shadow:0 0 12px rgba(255,179,71,.7)}#mult-bar{margin:5px auto 3px;width:84px;height:7px;border-radius:4px;background:#00000080;border:1px solid rgba(214,176,110,.35);overflow:hidden}#mult-fill{height:100%;width:0%;background:linear-gradient(90deg,#a8742e,#ffd9a0);transition:width .5s ease}#mult-hint{font-size:10px;opacity:.75}#accuracy{display:flex;align-items:center;gap:8px;background:#181008bf;border:1px solid rgba(214,176,110,.4);border-radius:999px;padding:6px 16px}.acc-label{font-size:11px;opacity:.75;letter-spacing:1px}#acc-bar{width:110px;height:8px;border-radius:4px;background:#00000080;border:1px solid rgba(214,176,110,.35);overflow:hidden}#acc-fill{height:100%;width:0%;background:#ffd9a0;transition:width .3s ease,background-color .3s ease}#acc-value{font-size:12px;color:#ffd9a0;min-width:34px;text-align:right}#tuto{position:fixed;inset:0;z-index:8;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#0a162273,#0a16221a);transition:opacity .5s ease}#tuto.fade{opacity:0}#tuto-card{text-align:center;padding:28px 36px;background:#181008d9;border:1px solid rgba(214,176,110,.5);border-radius:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 8px 40px #00000073}#tuto-card p{font-size:17px;margin:6px 0}#tuto-card b{color:#ffd9a0}.tuto-drum{animation:drumbeat 2.4s ease-in-out infinite}.tuto-drum img{width:88px;height:88px;border-radius:50%;box-shadow:0 4px 18px #00000080}@keyframes drumbeat{0%,to{transform:scale(1)}4%{transform:scale(1.25)}8%{transform:scale(1)}12%{transform:scale(1.18)}18%{transform:scale(1)}}.tuto-swipe{height:58px;margin:8px auto 4px;width:40px;position:relative}.tuto-swipe img{position:absolute;left:50%;top:0;width:30px;height:auto;transform:translate(-50%);animation:swipe-down 1.5s ease-in-out infinite}@keyframes swipe-down{0%{top:-3px;opacity:.15}25%{opacity:1}70%{top:22px;opacity:1}to{top:26px;opacity:.15}}.tuto-small{font-size:12px!important;opacity:.65;font-style:italic;margin-top:12px!important}#conn{position:absolute;bottom:74px;left:50%;transform:translate(-50%);font-size:12px;padding:4px 14px;border-radius:999px;background:#78281ecc;border:1px solid rgba(255,150,120,.4)}#loading-screen{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#1d3a54,#0a1622 70%);transition:opacity .6s ease}#loading-screen.fade{opacity:0;pointer-events:none}#loading-screen h1{font-size:clamp(44px,10vw,76px);letter-spacing:8px;color:#ffd9a0;text-shadow:0 4px 30px rgba(255,180,90,.25)}#loading{margin-top:16px;font-style:italic;opacity:.7}#landfall{position:fixed;inset:0;z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#0a16228c}#landfall-card{text-align:center;padding:36px 48px;background:linear-gradient(180deg,#181008f2,#261a0ef2);border:2px solid rgba(214,176,110,.7);border-radius:14px}#landfall-card h2{font-size:34px;letter-spacing:4px;color:#ffd9a0;margin:10px 0}#landfall-card .horns{font-size:26px}#landfall-card p{font-size:17px;color:#d8c9a8}@media(max-width:640px){#banner{left:10px;right:104px;transform:none;width:auto;padding:8px 12px 10px}#goal-title{font-size:15px}#goal-remaining{font-size:11px}#progress{height:8px;margin:6px auto 3px}#crew{top:10px;right:10px;width:86px;padding:8px}#crew-count{font-size:22px}#crew-label{font-size:9px}#mult{margin-top:6px;padding-top:5px}#mult-value{font-size:15px}#mult-bar{width:64px;height:6px}#mult-hint{font-size:9px}#feedback{font-size:30px}#accuracy{padding:5px 12px;gap:6px}.acc-label{font-size:9px}#acc-bar{width:72px;height:7px}#acc-value{font-size:11px;min-width:30px}#bottom{bottom:max(12px,env(safe-area-inset-bottom))}#tuto-card{padding:20px 22px;margin:0 16px}#tuto-card p{font-size:15px}.tuto-drum{font-size:36px}#landfall-card{padding:24px 26px;margin:0 16px}#landfall-card h2{font-size:24px}#landfall-card p{font-size:14px}}
