:root{--bg:#14161b;--surface:#20232b;--surface-2:#2b2f39;--text:#ece8e1;--muted:#8f939c;--accent:#f2c35b;--flag-border:#ffffff8c;--tap:64px;--gutter:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif}body{min-height:100dvh}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0}button:disabled{cursor:default}button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.screen{width:100%;max-width:430px;min-height:100dvh;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));flex-direction:column;gap:20px;margin:0 auto;animation:.25s ease-out enter;display:flex}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.center{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.bottom{min-height:var(--tap);flex-direction:column;align-items:stretch;gap:12px;display:flex}.title{text-align:center;margin:8px 0 0;font-size:1.5rem;font-weight:700}.hint{color:var(--muted);text-align:center;margin:0}.btn{min-height:var(--tap);background:var(--surface-2);border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:0 24px;font-size:1.15rem;font-weight:700;transition:transform .1s,opacity .2s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4}.btn.primary{background:var(--accent);color:#1b1606}.btn.small{min-height:var(--tap);padding:0 16px;font-size:1rem}.btn .icon{font-size:1.2em;line-height:1}.btn.big{border-radius:24px;min-height:96px;padding:0 40px;font-size:1.5rem}.flags{min-height:calc(var(--rows,1) * var(--tap) + (var(--rows,1) - 1) * 12px);max-height:calc(var(--rows,1) * 132px + (var(--rows,1) - 1) * 12px);flex:auto;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px;margin-block:auto;display:grid}.flag{min-height:var(--tap);border:3px solid var(--flag-border);border-radius:16px;transition:transform .12s,opacity .25s,box-shadow .25s;position:relative;box-shadow:inset 0 -8px #0000002e}.flag:active:not(:disabled){transform:scale(.96)}.flag.dim{opacity:.3}.flag.glow{border-color:#fff;animation:.9s ease-in-out infinite alternate glow;box-shadow:0 0 0 4px #ffffff59,0 0 22px #ffffff73}.flag.mark:after{content:"✓";color:#fff;text-align:center;background:#0000008c;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:28px;position:absolute;top:6px;right:8px}@keyframes glow{0%{transform:scale(1)}to{transform:scale(1.04)}}.start .logo{flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.start .logo span{border:3px solid var(--flag-border);border-radius:14px;width:64px;height:92px}.loading{flex-direction:column;gap:10px;display:flex}.loading .bar{background:var(--surface-2);border-radius:6px;height:12px;overflow:hidden}.loading .fill{background:var(--accent);height:100%;transition:width .2s}.slots-menu{justify-content:space-between;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.menu-slot{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.menu-slot .disc{background:var(--surface);border:3px solid var(--surface-2);width:72px;height:72px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.menu-slot.now .disc{border-color:var(--accent);color:var(--text)}.menu-slot.done .disc{background:var(--surface-2);border-color:var(--surface-2);color:var(--accent)}.play{background:var(--accent);color:#1b1606;border-radius:50%;width:152px;height:152px;padding-left:10px;font-size:64px;line-height:1;transition:transform .1s;box-shadow:0 8px 24px #00000059}.play:active{transform:scale(.96)}.done-note{flex-direction:column;align-items:center;gap:12px;margin:0;font-size:1.3rem;font-weight:700;display:flex}.big-icon{font-size:64px;line-height:1}.stars{gap:2px;font-size:1.1rem;line-height:1;display:inline-flex}.star{color:var(--surface-2)}.star.on{color:var(--accent)}.stars.big{gap:8px;font-size:64px}.dots{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.dot{border:2px solid var(--surface-2);border-radius:50%;width:14px;height:14px}.dot.done{background:var(--muted);border-color:var(--muted)}.dot.now{border-color:var(--accent);background:var(--accent)}.screen.stage{height:100dvh}.stage-body{flex-direction:column;flex:1;min-height:0;margin-inline:-12px;padding:12px;display:flex;overflow-y:auto}.rule{flex-direction:column;gap:20px;margin-block:auto;display:flex}.rule.sequence{flex:auto;justify-content:center}.slots{grid-template-columns:1fr 1fr auto;align-items:stretch;gap:12px;display:grid}.slot{min-height:var(--tap);border:3px dashed var(--surface-2);color:var(--muted);border-radius:14px;justify-content:center;align-items:center;font-size:1.6rem;transition:box-shadow .2s;display:flex}.slot.filled{border-style:solid;border-color:var(--flag-border)}.slot.lit{box-shadow:0 0 0 4px #ffffff80}.slot.reveal{border-color:#fff}.rule.odd{flex-direction:row;justify-content:space-between;gap:12px}.round{aspect-ratio:1;max-width:112px;min-height:var(--tap);background:var(--surface);border:3px solid var(--surface-2);border-radius:50%;flex:1;font-size:2rem;font-weight:700;transition:transform .2s,background-color .3s,border-color .2s,opacity .25s}.round.lit{border-color:var(--accent);background-color:var(--surface-2);transform:scale(1.08)}.round.odd-answer{color:#fff;text-shadow:0 1px 3px #000000b3;border-color:#fff;box-shadow:0 0 0 4px #ffffff59,0 0 22px #ffffff73}.round.dim{opacity:.45}.rule.cards{grid-template-columns:1fr 1fr;gap:14px;display:grid}.card{aspect-ratio:3/4;max-height:22dvh;min-height:var(--tap);background:repeating-linear-gradient(45deg, var(--surface) 0 10px, var(--surface-2) 10px 20px);border:3px solid var(--surface-2);border-radius:14px;transition:background-color .25s,transform .2s}.rule.cards.n4 .card{max-height:30dvh}.rule.cards.n6{grid-template-columns:repeat(3,1fr)}.card.up{border-color:var(--flag-border)}.card.matched{opacity:.85}.card:disabled{cursor:default}.replay{width:100%}.score{color:var(--muted);margin:0;font-size:1.2rem}.gift{font-size:112px;line-height:1;animation:.6s ease-out enter}.tier-up{background:var(--surface);border-radius:14px;margin:0;padding:14px 18px;font-size:1.15rem;font-weight:700}.reward .stars{font-size:1.4rem}.item-icon{border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex}.item-icon.lap{box-shadow:0 0 0 2px var(--accent), 0 0 8px #f2c35b73;background:#f2c35b24}.home .bottom .btn:not(.primary){background:var(--surface)}.screen.calendar{gap:14px}.cal-stats{justify-content:center;gap:28px;margin-top:4px;font-size:1.5rem;font-weight:700;display:flex}.cal-stats .stat{align-items:center;gap:8px;display:inline-flex}.cal-nav{justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-nav .month{margin:0;font-size:1.2rem;font-weight:700}.arrow{width:var(--tap);background:var(--surface);border-radius:16px;height:56px;font-size:2rem;line-height:1;transition:opacity .2s,transform .1s}.arrow:active:not(:disabled){transform:scale(.95)}.arrow:disabled{opacity:.25}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.weekday{color:var(--muted);text-align:center;padding-bottom:2px;font-size:.8rem}.cell{aspect-ratio:1;background:var(--surface);min-height:44px;color:var(--text);border:2px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;font-size:.95rem;transition:border-color .2s,background-color .2s;display:flex;position:relative}.cell.empty{background:0 0}.cell.done{background:var(--surface-2)}.cell.future{opacity:.35}.cell.today{border-color:var(--accent)}.cell.selected{background:#3a3f4b;box-shadow:inset 0 0 0 2px #ffffff59}.cell .num{line-height:1}.part-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:6px}.cal-summary{min-height:84px}.sum-date{color:var(--muted);text-align:center;margin:0 0 8px;font-weight:700}.sum-list{background:var(--surface);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:10px 6px;display:grid}.sum-list>div{flex-direction:column;align-items:center;gap:4px;display:flex}.sum-list dt{font-size:1.1rem;line-height:1}.sum-list dd{margin:0;font-size:1.1rem;font-weight:700}.sum-star{color:var(--accent)}.calendar .bottom{margin-top:auto}.credits-link{min-height:44px;color:var(--muted);align-self:center;padding:0 16px;font-size:.85rem;text-decoration:underline}.overlay{z-index:10;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));background:#08090cb8;justify-content:center;align-items:center;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-radius:20px;flex-direction:column;gap:16px;width:100%;max-width:398px;max-height:100%;padding:20px;display:flex}.credits-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text);margin:0;font-size:.9rem;line-height:1.6;overflow-y:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}.more-kinds{flex-wrap:wrap;justify-content:center;gap:16px;margin:0;padding:0;list-style:none;display:flex}.kind{background:var(--surface);border:3px solid var(--surface-2);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:112px;height:112px;transition:transform .1s,border-color .2s;display:flex}.kind:active{border-color:var(--accent);transform:scale(.96)}.kind-icon{font-size:40px;line-height:1}.kind-label{color:var(--muted);font-size:.8rem;font-weight:700}:root{--tabbar:62px}.shell .screen{padding-bottom:calc(var(--tabbar) + env(safe-area-inset-bottom) + var(--gutter) + 10px)}.tabbar{z-index:5;background:var(--surface);padding:0 max(4px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px, env(safe-area-inset-left));border-top:1px solid #ffffff14;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{max-width:430px;height:var(--tabbar);grid-template-columns:repeat(5,1fr);align-items:end;margin:0 auto;display:grid}.tab{height:var(--tabbar);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.tab-icon{filter:grayscale(.7);opacity:.75;font-size:1.35rem;line-height:1}.tab-label{white-space:nowrap;font-size:.62rem;font-weight:700}.tab.on{color:var(--accent)}.tab.on .tab-icon{filter:none;opacity:1}.tab.main .tab-icon{background:var(--accent);width:54px;height:54px;box-shadow:0 0 0 5px var(--bg);filter:none;opacity:1;border-radius:50%;place-items:center;margin-top:-22px;font-size:1.6rem;display:grid}.tab:active .tab-icon{transform:scale(.94)}.overlay{z-index:10}.quit-title{text-align:center;margin:0;font-size:1.3rem;font-weight:700}.rule-hint{text-align:center;flex-direction:column;align-items:center;gap:4px;margin:0;display:flex}.rule-name{font-size:1.1rem;font-weight:700}.rule-how{color:var(--muted);font-size:.92rem}.cell{position:relative}.cell .num.corner{color:var(--text);opacity:.85;font-size:.62rem;font-weight:700;position:absolute;top:3px;left:4px}.item-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.item-cell{aspect-ratio:1;background:var(--surface);border-radius:14px;place-items:center;display:grid}.item-cell.have{background:var(--surface-2)}.item-cell .unknown{color:var(--muted);opacity:.5;font-size:1.3rem;font-weight:700}.panel{background:var(--surface);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.panel-title{margin:0;font-size:1.05rem}.howto{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.howto li{align-items:flex-start;gap:12px;display:flex}.howto-icon{font-size:1.5rem;line-height:1.2}.howto-text{flex-direction:column;gap:2px;min-width:0;display:flex}.howto-text span{color:var(--muted);font-size:.92rem}.settings .credits-text{max-height:none}.more .kind:disabled{opacity:.35}
