*{box-sizing:border-box}html,body{color:#28415a;background:#8fd0ff;height:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;overflow:hidden}#scene{touch-action:none;position:fixed;inset:0}#scene canvas{display:block}#ui{pointer-events:none;position:fixed;inset:0}#ui button{pointer-events:auto}[hidden]{display:none!important}button{font:inherit;cursor:pointer;touch-action:manipulation}.entry{text-align:center;pointer-events:auto;background:linear-gradient(#5fb0f5,#cfe9ff 70%,#8fd36a);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.entry h1{letter-spacing:6px;color:#fff;text-shadow:0 2px 12px #1e508c59;margin:0;font-size:34px}.entry p{color:#28415a;margin:0;line-height:1.6}.entry small{color:#45607a;font-size:13px}.entry-shots{pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;max-width:min(100%,1100px);margin-top:10px;display:flex}.entry-shots img{aspect-ratio:16/9;object-fit:cover;border-radius:10px;width:clamp(150px,18vw,204px);box-shadow:0 4px 14px #1e466e38}@media (height<=620px){.entry-shots{display:none}}.entry-credit{color:#2f5a35;pointer-events:none;font-size:12px;position:absolute;bottom:14px;left:0;right:0}.entry-button{color:#2b6cb0;background:#fff;border:0;border-radius:999px;margin-top:10px;padding:13px 36px;font-weight:700;box-shadow:0 6px 18px #1e508c40}.topbar{top:max(12px, env(safe-area-inset-top));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.status{color:#28415a;white-space:nowrap;background:#ffffffc7;border-radius:999px;padding:6px 14px;font-size:13px}.status:empty{display:none}.connection{color:#4a2f10;background:#ffc878e6;border-radius:999px;padding:4px 10px;font-size:11px}.menu{left:50%;bottom:max(18px, env(safe-area-inset-bottom));flex-wrap:wrap;justify-content:center;gap:8px;width:min(94vw,720px);display:flex;position:absolute;transform:translate(-50%)}.menu-button{color:#28415a;background:#ffffffe6;border:1px solid #28415a26;border-radius:12px;min-height:44px;padding:8px 18px;font-size:14px}.menu-button:hover{background:#fff}.toast{color:#28415a;opacity:0;white-space:nowrap;background:#ffffffeb;border-radius:999px;padding:9px 16px;font-size:14px;transition:opacity .25s;position:absolute;top:18%;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.toast.low{top:auto;bottom:6%}.mute{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));color:#28415a;background:#ffffffd9;border:1px solid #28415a26;border-radius:10px;min-height:38px;padding:6px 12px;font-size:13px;position:absolute}.hint{color:#fff;white-space:nowrap;background:#141e1473;border-radius:12px;padding:4px 10px;font-size:12px;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}@media (width<=560px){.status{max-width:calc(100vw - 120px);font-size:12px}.hint{display:none}}.mailbox-overlay{pointer-events:auto;touch-action:manipulation;background:#1e3c5a47;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.mailbox-card{text-align:center;background:#fffaf0;border-radius:26px;flex-direction:column;align-items:center;gap:10px;width:min(92vw,340px);padding:22px 22px 16px;display:flex;box-shadow:0 16px 42px #1e3c5a47}.mailbox-message{color:#a2573a;min-height:22px;margin:0;font-size:15px;font-weight:600}.mailbox-prize{color:#28415a;overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:700;line-height:1.35}.mailbox-prize:empty,.mailbox-notice:empty{display:none}.mailbox-notice{color:#4c6275;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.55}.mailbox-form{gap:8px;width:100%;display:flex}.mailbox-input{color:#28415a;min-width:0;height:48px;font:inherit;letter-spacing:4px;text-align:center;background:#fff;border:2px solid #ecdcbc;border-radius:14px;outline:none;flex:1;padding:0 10px;font-size:20px;font-weight:700}.mailbox-input:focus{border-color:#e6ae57}.mailbox-submit{color:#fff;background:#e6a64a;border:0;border-radius:14px;height:48px;padding:0 18px;font-weight:700}.mailbox-submit:disabled{opacity:.6}.mailbox-close{color:#6d8293;background:0 0;border:0;border-radius:999px;min-height:38px;padding:4px 16px;font-size:14px}.chest{--w:148px;width:var(--w);perspective:420px;height:118px;margin:6px 0 2px;position:relative}.chest>div{position:absolute;left:0;right:0}.chest-body{background:linear-gradient(#d99a5b,#bd7a41);border-radius:12px 12px 24px 24px;height:70px;bottom:0;box-shadow:inset 0 -6px #5a32142e,inset 0 0 0 4px #ffe9be59}.chest-back{z-index:1;background:#6f4423;border-radius:8px 8px 0 0;height:15px;margin:0 5px;bottom:60px}.chest-body{z-index:2}.chest-glow{z-index:3}.chest-lid{transform-origin:50% 78%;z-index:2;background:linear-gradient(#e8ae6f,#d08e50);border-radius:34px 34px 10px 10px;height:46px;transition:transform .75s cubic-bezier(.3,1.45,.55,1);bottom:62px;transform:rotateX(0);box-shadow:inset 0 0 0 4px #ffe9be61}.chest-latch{z-index:3;background:#f6d365;border-radius:9px;width:24px;height:28px;margin-left:-12px;transition:opacity .2s;bottom:48px;box-shadow:0 2px #78501459;left:50%!important;right:auto!important}.chest-glow{opacity:0;background:radial-gradient(closest-side,#ffe482f2,#ffe48200);border-radius:50%;height:70px;transition:opacity .6s .2s,transform .6s .2s;bottom:62px;transform:scale(.5);left:12%!important;right:12%!important}.chest[data-state=shake]{animation:.5s ease-in-out chest-shake}.chest[data-state=open] .chest-lid{z-index:0;transform:rotateX(58deg)}.chest[data-state=open] .chest-latch{opacity:0}.chest[data-state=open] .chest-glow{opacity:1;transform:scale(1.25)}@keyframes chest-shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-7px)rotate(-4deg)}40%{transform:translate(6px)rotate(3.5deg)}60%{transform:translate(-4px)rotate(-2.5deg)}80%{transform:translate(3px)rotate(1.5deg)}}@media (prefers-reduced-motion:reduce){.chest-lid,.chest-glow{transition-duration:10ms;transition-delay:0s}.chest[data-state=shake]{animation-duration:.15s}}
