:root{color:#173f50;font-synthesis:none;text-rendering:optimizelegibility;background:#143b4c;font-family:Arial Rounded MT Bold,Hiragino Maru Gothic ProN,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-width:280px;min-height:100dvh}button,input{font:inherit}button{cursor:pointer}.app-shell{background:#143b4c;place-items:center;width:100%;height:100dvh;display:grid}.game{isolation:isolate;touch-action:none;width:min(100vw,480px);height:100dvh;max-height:960px;position:relative;overflow:hidden}.game__background,.game__ground,.game__bird,.obstacle{pointer-events:none;position:absolute}.game__background{z-index:-3;object-fit:cover;width:100%;height:100%}.game__bird{z-index:4;object-fit:contain;transform-origin:50%;will-change:transform;filter:drop-shadow(0 4px 2px #14464f33);width:64px;height:64px;top:0;left:0}.game__ground{z-index:5;object-fit:cover;object-position:top;filter:drop-shadow(0 -4px #1870742e);width:100%;height:86px;bottom:0}.game__obstacles{z-index:2;pointer-events:none;position:absolute;inset:0}.obstacle{object-fit:fill;object-position:center;filter:drop-shadow(3px 4px 1px #1050582e);width:74px}.obstacle--upper{top:0;transform:scaleY(-1)}.topbar{z-index:10;top:max(12px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:absolute;left:14px;right:14px}.pill-button,.icon-button{color:#173f50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;border:2px solid #ffffffb8;min-height:46px;box-shadow:0 5px #17525e33}.pill-button{text-align:left;border-radius:16px;max-width:calc(100% - 66px);padding:6px 14px;display:grid}.pill-button__label{letter-spacing:.14em;opacity:.62;font-size:9px}.pill-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.icon-button{border-radius:50%;width:48px;font-size:22px}.score{z-index:8;top:calc(max(12px, env(safe-area-inset-top)) + 58px);color:#fff;text-shadow:0 5px #247b8c,0 8px 18px #124b5a40;opacity:0;font-size:clamp(48px,15vw,76px);line-height:1;transition:all .15s;position:absolute;left:50%;transform:translate(-50%)scale(.8)}.score.is-visible{opacity:1;transform:translate(-50%)scale(1)}.start-card{z-index:9;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:3px solid #ffffffd1;border-radius:28px;width:min(84%,340px);padding:24px 22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);box-shadow:0 12px #14656f33,0 24px 60px #0f4b582e}.start-card h1{color:#ff9f29;letter-spacing:-.06em;text-shadow:0 4px #ffe07a;margin:2px 0 8px;font-size:clamp(42px,13vw,60px);line-height:.95}.start-card p{line-height:1.55}.eyebrow{color:#1c8999;letter-spacing:.18em;margin:0;font-size:11px;font-weight:900}.primary-button{color:#71410a;background:linear-gradient(#ffe875,#ffc83d);border:0;border-radius:18px;width:100%;min-height:54px;padding:10px 20px;font-weight:900;box-shadow:inset 0 2px #fff9,0 6px #e79824}.primary-button:active{transform:translateY(4px);box-shadow:inset 0 2px #fff9,0 2px #e79824}.best-line{color:#3c8290;letter-spacing:.1em;margin-top:17px;font-size:12px}.best-line strong{color:#173f50;margin-left:6px;font-size:18px}.tap-hint{z-index:7;color:#fff;letter-spacing:.16em;text-shadow:0 2px 5px #11495666;margin:0;font-size:11px;font-weight:900;animation:1.1s ease-in-out infinite pulse;position:absolute;bottom:105px;left:50%;transform:translate(-50%)}.is-hidden{display:none!important}.dialog{color:#173f50;background:#f8ffff;border:3px solid #ffffffc7;border-radius:28px;width:min(100% - 28px,430px);max-height:min(82dvh,720px);margin:auto;padding:0;overflow:hidden;box-shadow:0 24px 80px #0a36406b}.dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#09323f94}.name-dialog form{padding:26px 22px calc(24px + env(safe-area-inset-bottom))}.ranking-dialog{height:min(82dvh,720px)}.ranking-panel{height:100%;padding:24px 20px calc(18px + env(safe-area-inset-bottom));grid-template-rows:auto auto auto minmax(0,1fr) auto;display:grid}.dialog h2{margin:4px 0 12px}.dialog label{text-align:left;gap:7px;margin:20px 0 8px;font-size:12px;font-weight:800;display:grid}.dialog input{color:#173f50;background:#fff;border:2px solid #bfe7e9;border-radius:15px;outline:none;width:100%;min-height:52px;padding:10px 14px}.dialog input:focus{border-color:#2aabba;box-shadow:0 0 0 4px #2aabba26}.form-error{color:#c84f42;min-height:20px;margin:4px 0 10px;font-size:12px}.dialog-header{justify-content:space-between;align-items:flex-start;display:flex}.close-button{color:#397680;background:#e2f5f5;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;line-height:1}.connection{color:#567b82;align-items:center;gap:7px;margin:3px 0 12px;font-size:11px;display:flex}.connection span{background:#f0aa37;border-radius:50%;width:8px;height:8px}.connection--online span{background:#42bd7b}.connection--offline span{background:#e06556}.ranking-result{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 9px;display:grid}.ranking-result span{color:#5a7f86;background:#eaf7f6;border-radius:13px;gap:2px;padding:9px 11px;font-size:10px;display:grid}.ranking-result strong{color:#e28720;font-size:22px}.ranking-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.ranking-list{gap:7px;margin:0;padding:2px 3px 10px;list-style:none;display:grid}.ranking-list li{background:#eaf7f6;border-radius:14px;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;min-height:47px;padding:8px 12px;display:grid}.ranking-list li.is-me{background:#fff8d9;outline:2px solid #ffc94d}.rank{color:#317b86;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.rank-score{color:#e28720;font-size:18px;font-weight:900}.ranking-empty{color:#64868c;text-align:center;padding:34px 12px;line-height:1.6}.ranking-footer{background:#f8ffff;border-top:1px solid #d8eeee;padding-top:14px}@keyframes pulse{50%{opacity:.45;transform:translate(-50%)translateY(3px)}}@media (orientation:landscape) and (height<=560px){.game{width:min(100vw,620px);max-height:none}.topbar{top:8px}.start-card{width:min(55%,330px);padding:15px 20px}.start-card h1{font-size:40px}.start-card p{margin:7px 0}.tap-hint{bottom:102px}.ranking-dialog{height:calc(100dvh - 20px);max-height:none}.ranking-panel{padding-top:14px;padding-bottom:12px}}@media (width>=481px){.game{box-shadow:0 0 70px #00000059}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
