@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap";:root{font-family:DM Sans,sans-serif;color:#f3e4c5;background:#18252b;font-synthesis:none;-webkit-tap-highlight-color:transparent;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #efaa61;outline-offset:5px}button:disabled{opacity:.55;cursor:default}.app{position:relative;width:100%;height:100dvh;min-height:420px;overflow:hidden}.scene,.vignette{position:absolute;inset:0}.scene{touch-action:none}.vignette{pointer-events:none;background:linear-gradient(180deg,#10202999 0,transparent 27%,transparent 60%,#101d24ee 100%);box-shadow:inset 0 0 140px #0a151b66}.header{position:absolute;top:calc(env(safe-area-inset-top) + 22px);left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:#e1c29a;text-decoration:none}.brand span{font-size:11px;letter-spacing:2px;line-height:1.5}.brand b{display:block;font-size:14px;font-weight:600;letter-spacing:2px}.sound{color:#dfcba8;background:#1c2a31bb;border:1px solid #e1c19b33;border-radius:28px;min-height:44px;padding:0 13px;font-size:22px;display:flex;align-items:center;gap:8px}.sound span{font-size:11px;letter-spacing:.4px}.status{position:absolute;left:50%;translate:-50% 0;top:calc(env(safe-area-inset-top) + 93px);width:max-content;max-width:calc(100% - 32px);display:flex;align-items:center;gap:9px;border-radius:30px;padding:11px 17px;font-size:12px;font-weight:600;box-shadow:0 4px 20px #0002;white-space:nowrap;background:#e4d2ac;color:#263b35}.status.danger{background:#e5a381;color:#572d22}.status.warning{background:#e6be78;color:#553c23}.status.safe{background:#d6d7b1}.distance{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 218px);left:50%;translate:-50% 0;text-align:center;font-size:12px;letter-spacing:.2px;text-shadow:0 2px 3px #000b;min-width:240px}.meter{height:4px;width:155px;margin:10px auto 0;background:#dac09d33;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:#edb572;border-radius:4px;transition:width .1s linear}.controls{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 36px);left:35px;right:35px;display:flex;justify-content:space-between;align-items:center;max-width:650px;margin:auto;pointer-events:none}.control-column{display:flex;flex-direction:column;align-items:center;gap:13px;pointer-events:auto}.control-column>span{font-size:9px;letter-spacing:2px;font-weight:600;color:#c5b99f}.joystick{position:relative;width:132px;height:132px;background:radial-gradient(circle,#e4d2b614,#e4d2b608);border:1px solid #c6b08d55;border-radius:50%;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:inset 0 0 0 13px #f5dfbb05;cursor:grab}.joystick:active{cursor:grabbing}.stick{position:absolute;left:38px;top:38px;width:54px;height:54px;background:#d6bc92;color:#f3e5c8;box-shadow:0 5px #8b7657,0 6px 20px #0005;border:1px solid #f0d6ae88;border-radius:50%;display:grid;place-items:center;pointer-events:none}.direction{position:absolute;color:#a29075;font-size:23px;pointer-events:none;line-height:1}.direction.top{top:2px;left:58px}.direction.bottom{bottom:3px;left:58px}.direction.left{left:7px;top:51px}.direction.right{right:7px;top:51px}.buh{width:114px;height:114px;border-radius:50%;background:#b46a3e;color:#f8e4c3;border:2px solid #d3965b;box-shadow:0 7px #6a3e2b,0 10px 28px #0004;font-family:Fraunces,Georgia,serif;font-size:34px;line-height:1;font-weight:700;rotate:-5deg;touch-action:manipulation;transition:background .2s,scale .1s;user-select:none;-webkit-user-select:none}.buh small{display:block;font-family:DM Sans,sans-serif;font-size:9px;letter-spacing:2px;margin-top:9px;font-weight:600}.buh.ready{background:#edaa65;color:#382c23;border-color:#ffe0ae;box-shadow:0 7px #9a6039,0 0 0 7px #efb56b22,0 8px 40px #eda75e44}.buh:active{scale:.93;translate:0 4px;box-shadow:0 3px #6a3e2b}.keyboard{position:absolute;bottom:12px;width:100%;text-align:center;font-size:10px;letter-spacing:.4px;color:#c0b39a88}.hint{position:absolute;top:calc(env(safe-area-inset-top) + 155px);left:50%;translate:-50% 0;max-width:calc(100% - 36px);background:#ead8b4;color:#4e372b;padding:12px 18px;border-radius:7px;font-size:13px;text-align:center;box-shadow:4px 5px #0004}.overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:80px 20px 24px;background:#101c246b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:4;overflow-y:auto}.paper{position:relative;background:#e6d3ac;color:#3d332b;box-shadow:8px 12px #070e162b,0 20px 90px #050e1870;border:1px solid #ebdcbf;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 150 150' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.09' filter='url(%23n)' d='M0 0h150v150H0z'/%3E%3C/svg%3E");width:100%;max-width:420px;padding:31px 30px;text-align:center;border-radius:4px 13px 5px 8px;rotate:-1deg}.eyebrow{font-size:8px;font-weight:700;letter-spacing:1.5px;line-height:1.8;display:block}.title-ghost{position:absolute;right:24px;top:59px;color:#9f7952;rotate:15deg}.intro h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:60px;line-height:.97;letter-spacing:-2.3px;text-align:left;margin:25px 0 22px}.intro h1 em{font-style:normal;color:#ab5e35;font-size:83px}.paper p{font-size:14px;line-height:1.7;margin:0 0 22px}.intro p{text-align:left}.rules{border-top:1px solid #9a7b514d;border-bottom:1px solid #9a7b514d;padding:16px 0;margin-bottom:23px;text-align:left;display:grid;gap:12px;font-size:11px;line-height:1.5}.rules span{display:flex;align-items:center;gap:9px}.rules b{color:#a6663c;font-size:9px;letter-spacing:1px}.rules strong{font-family:Fraunces,Georgia,serif;font-size:13px;white-space:nowrap}.primary{width:100%;min-height:49px;background:#344c43;color:#f3e2c3;border:1px solid #253d35;border-radius:4px;font-size:13px;font-weight:600;padding:12px 10px;box-shadow:0 3px #20372e;transition:background .15s}.primary:hover{background:#426052}.primary:active{translate:0 2px;box-shadow:0 1px #20372e}.footnote{display:block;font-size:10px;line-height:1.6;color:#7f6b52;margin-top:20px}.result{padding-top:40px;padding-bottom:34px}.result h2{font-family:Fraunces,Georgia,serif;font-size:44px;letter-spacing:-1px;line-height:1.1;margin:25px 0;color:#9a5235}.result p{font-size:13px}.result small{display:block;font-size:10px;color:#7f6b52;margin-top:20px}.success{position:absolute;left:0;right:0;top:26%;text-align:center;pointer-events:none;filter:drop-shadow(0 4px 0 #1b1a21);rotate:-8deg;color:#f6dca2}.success strong{display:block;font:700 clamp(60px,16vw,140px) / 1 "Fraunces",Georgia,serif}.success span{display:block;font-size:14px;margin-top:16px;rotate:8deg}.invite{padding:26px 27px 21px;max-width:405px}.tiny-ghost{color:#a57c51;display:flex;justify-content:center;margin-top:10px}.invite h2{font-family:Fraunces,Georgia,serif;font-size:37px;line-height:1.07;font-weight:500;letter-spacing:-.9px;margin:8px 0 15px}.invite h2 em{font-style:normal;color:#a35b36}.invite .party-title{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;line-height:1.2;margin-bottom:20px}.event{border-top:1px solid #9d7a514d;border-bottom:1px solid #9d7a514d;padding:17px 0 16px}.event span{display:block;letter-spacing:2px;font-size:9px;margin-bottom:5px}.event strong{font-family:Fraunces,Georgia,serif;font-size:28px;font-weight:600}.event-time{font-family:Fraunces,Georgia,serif;color:#a35b36;font-size:28px;margin-top:4px}.event-place{font-size:13px;line-height:1.5;margin-top:14px}.event-place strong{font-family:DM Sans,sans-serif;font-size:16px;font-weight:600}.invite .see-you{font-size:12px;margin:15px 0 19px;line-height:1.6}.see-you span{font-size:10px;font-style:italic;color:#897154}.secondary,.again{background:transparent;border:0;color:#63503d;min-height:44px;width:100%;font-size:11px}.secondary{text-decoration:underline;text-underline-offset:3px}.again{font-size:10px;min-height:32px;color:#8d7356}.toast{position:absolute;bottom:35px;left:50%;translate:-50% 0;background:#344c43;color:#fff1d5;padding:14px 22px;border-radius:30px;z-index:10;font-size:13px}@media(pointer:coarse){.keyboard{display:none}.controls{bottom:calc(env(safe-area-inset-bottom) + 28px)}}@media(min-width:800px){.header{left:40px;right:40px;top:30px}.status{top:35px;font-size:13px}.distance{bottom:110px}.controls{max-width:850px;bottom:45px}.intro-paper{max-width:460px;padding:36px 40px}.intro h1{font-size:70px}.intro h1 em{font-size:98px}.intro p{font-size:15px}.rules{font-size:12px}.overlay{padding-top:70px}}@media(max-height:720px)and (orientation:portrait){.overlay{padding-top:77px;padding-bottom:15px}.paper{padding:21px 25px}.intro h1{font-size:46px;margin:17px 0 16px}.intro h1 em{font-size:66px}.title-ghost{top:44px;scale:.8}.intro p{font-size:12px;margin-bottom:15px}.rules{gap:9px;padding:12px 0;margin-bottom:16px;font-size:10px}.footnote{margin-top:14px;font-size:9px}.invite h2{font-size:30px;margin:5px 0 11px}.tiny-ghost{margin-top:5px;scale:.8;height:24px}.invite .party-title{font-size:19px;margin-bottom:13px}.event{padding:11px 0}.event strong,.event-time{font-size:24px}.event-place{margin-top:9px}.event-place strong{font-size:15px}.invite .see-you{margin:11px 0 13px;font-size:11px}.secondary{min-height:36px}.again{min-height:28px}.controls{left:25px;right:25px}.joystick{width:116px;height:116px}.stick{left:30px;top:30px}.direction.top,.direction.bottom{left:50px}.direction.left,.direction.right{top:43px}.buh{width:104px;height:104px}.distance{bottom:195px}}@media(max-height:520px)and (orientation:landscape){.header{top:15px;left:20px;right:20px}.brand b{font-size:11px}.brand span{font-size:8px}.status{top:20px;font-size:10px;padding:9px 12px}.sound span{display:none}.overlay{padding:65px 20px 15px}.intro-paper{max-width:630px;display:grid;grid-template-columns:1fr 1fr;column-gap:30px;padding:20px 28px}.intro .eyebrow{grid-column:1/-1}.title-ghost{display:none}.intro h1{font-size:35px;grid-column:1;grid-row:2;margin:15px 0}.intro h1 em{font-size:48px}.intro p{grid-column:1;grid-row:3;font-size:11px;margin:0}.rules{grid-column:2;grid-row:2/4;margin:15px 0;font-size:10px;gap:8px;padding:10px 0}.intro .primary{grid-column:2;min-height:42px;font-size:11px}.footnote{grid-column:1;grid-row:4;margin:0;text-align:left;font-size:8px;align-self:center}.invite{max-width:650px;display:grid;grid-template-columns:1fr 1fr;column-gap:24px;padding:18px 26px}.invite .eyebrow{grid-column:1/-1}.tiny-ghost{display:none}.invite h2{font-size:28px;grid-column:1;margin:12px 0}.invite .party-title{font-size:20px;grid-column:1;margin-bottom:10px}.event{grid-column:2;grid-row:2/5;padding:12px 0;align-self:center}.event strong{font-size:23px}.event-time{font-size:24px}.event-place{margin-top:8px}.event-place strong{font-size:14px}.invite .see-you{grid-column:1;margin:0;font-size:10px}.invite .primary{grid-column:1;min-height:40px;margin-top:12px;font-size:11px}.secondary{grid-column:2;grid-row:5;min-height:40px;align-self:end}.again{grid-column:1/-1;min-height:25px;margin-top:5px}.controls{left:25px;right:25px;bottom:20px;max-width:none}.joystick{width:100px;height:100px}.stick{width:44px;height:44px;left:27px;top:27px}.direction.top,.direction.bottom{left:42px}.direction.left,.direction.right{top:35px}.buh{width:86px;height:86px;font-size:28px}.control-column{gap:7px}.control-column>span{font-size:7px}.distance{bottom:38px;font-size:11px}.keyboard{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.treat-counter{position:absolute;top:calc(env(safe-area-inset-top) + 148px);right:25px;padding:9px 13px;border-radius:24px;background:#23382dcc;border:1px solid #d6c09b44;font-size:19px;color:#f2d6a1;box-shadow:0 4px 12px #0002;display:flex;gap:8px;align-items:center}.treat-counter b{font-size:15px}.treat-counter span{font-size:11px;color:#d5c9af}.success{animation:boo-pop .32s steps(4) both}@keyframes boo-pop{0%{scale:.2;opacity:0}to{scale:1;opacity:1}}.paper{max-height:calc(100dvh - 104px);overflow-y:auto}@media(min-width:800px){.treat-counter{top:95px;right:40px}}@media(max-height:520px)and (orientation:landscape){.treat-counter{top:80px;right:24px;font-size:14px;padding:6px 10px}}.treat-counter b{animation:bonbon .4s steps(5)}@keyframes bonbon{0%{scale:1.8;color:#fff7d2}to{scale:1}}.buh{font-size:24px}.buh small{font-size:9px}.aim-panel{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 240px);left:50%;translate:-50% 0;width:min(300px,80vw);text-align:center;padding:15px;background:#e9d7b5;color:#3d332b;border-radius:7px;box-shadow:4px 6px #0004}.aim-panel strong{font-size:13px}.aim-panel small{display:block;font-size:10px;margin-top:10px}.aim-track{position:relative;margin-top:14px;height:22px;background:#b67c62;border-radius:12px;overflow:hidden;border:2px solid #82644a}.aim-zone{position:absolute;height:100%;background:#6c9a6d}.aim-needle{position:absolute;top:-2px;width:5px;height:24px;background:#fff3ce;box-shadow:0 0 0 1px #453a2c;translate:-50% 0}.flight-label{position:absolute;top:30%;width:100%;text-align:center;font:28px Georgia,serif;color:#ffe3a9;text-shadow:2px 3px #243233}.buh{touch-action:none}@media(max-height:520px)and (orientation:landscape){.aim-panel{bottom:30px;width:270px}}.app,.app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.app{touch-action:manipulation}.controls{touch-action:none}.brand span,.brand svg,.buh small,.control-column>span,.keyboard,.status,.distance,.hint,.treat-counter,.aim-panel,.flight-label{pointer-events:none}.overlay,.paper{touch-action:pan-y}
