:root{--bg: #08090e;--panel: rgb(23, 26, 38);--accent: rgb(107, 219, 255);--secondary: rgba(235, 235, 245, .6);--pink: #ff375f;--yellow: #ffd60a;--green: #30d158;--orange: #ff9f0a;--gray: #8e8e93;--recipe: rgb(255, 204, 89);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:#fff;font-family:var(--font);font-size:17px;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}#app{position:relative;height:100%;max-width:560px;margin:0 auto;overflow:hidden}.loading{height:100%;display:grid;place-items:center;font:900 40px ui-rounded,var(--font);letter-spacing:6px;color:var(--accent);opacity:.5}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}.icon{width:1em;height:1em;display:inline-block;flex:none;vertical-align:-.125em}.headline{font-size:17px;font-weight:600}.subheadline{font-size:15px}.callout{font-size:16px}.footnote{font-size:13px}.caption{font-size:12px}.caption2{font-size:11px}.tiny{font-size:9px;font-weight:600;white-space:nowrap}.title3{font-size:20px}.title2{font-size:22px;font-weight:700;margin:8px 0 0;text-align:center}.large-title{font-size:34px;font-weight:700;margin:0}.bold{font-weight:700}.num{font-variant-numeric:tabular-nums}.secondary{color:var(--secondary)}.dim{opacity:.7}.pink{color:var(--pink)}.yellow{color:var(--yellow)}.accent{color:var(--accent)}.green{color:var(--green)}.orange{color:var(--orange)}.gray{color:var(--gray)}p{margin:0}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column;min-width:0}.col.end{align-items:flex-end}.grow,.flex{flex:1;min-width:0}.gap4{gap:4px}.gap6{gap:6px}.gap8{gap:8px}.gap10{gap:10px}.gap12{gap:12px}.gap14{gap:14px}.gap16{gap:16px}.big-icon{font-size:22px}.glass{background:#ffffff12;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,255,255,.08);border-radius:14px}.gem-icon{display:inline-flex;flex:none;overflow:visible;position:relative}.gem-icon img{pointer-events:none;flex:none}.gem-icon.pop{animation:pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.screen{position:absolute;top:0;right:0;bottom:0;left:0}.screen[hidden]{display:none}.game-screen{display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);background:var(--bg)}.top-bar{display:flex;align-items:center;gap:6px;padding:6px 10px}.icon-button{width:44px;height:44px;display:grid;place-items:center;font-size:18px}.stat{height:44px;padding:0 9px;display:flex;align-items:center;gap:5px}.col.tight{line-height:1.05;align-items:flex-start;white-space:nowrap}.speed-toggle{width:48px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1}.speed-toggle svg{width:17px;height:17px}.speed-toggle.active{border-color:#6bdbff99;color:var(--accent)}.speed-slot{position:absolute;top:6px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:2}.speed-bar{pointer-events:auto;display:flex;gap:4px;padding:4px;border-radius:14px;animation:slide-down .2s ease-out}.speed-chip{min-width:46px;height:38px;padding:0 8px;border-radius:10px;font-size:15px;font-weight:700;display:grid;place-items:center;background:#ffffff0f}.speed-chip svg{width:16px;height:16px}.speed-chip.active{background:var(--accent);color:#000}.speedbar-open .hint-slot{top:56px}.stat>span:first-child{font-size:13px;display:flex}.luck-button{width:52px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}.luck-button:disabled{opacity:.45}.luck-level{display:flex;align-items:center;gap:3px}.icon-button:active,.luck-button:not(:disabled):active{transform:scale(.95)}.board{position:relative;flex:1;min-height:0}.board-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.hint-slot{position:absolute;top:8px;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.hint-banner{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:9px 14px;border-radius:999px;background:#ff9f0ad9;animation:slide-down .3s cubic-bezier(.2,.9,.3,1.1)}@keyframes slide-down{0%{transform:translateY(-20px);opacity:0}to{transform:none;opacity:1}}.bottom-panel{display:flex;flex-direction:column;gap:10px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));height:calc(176px + env(safe-area-inset-bottom));flex:none;overflow-y:auto;background:var(--panel);border-radius:24px 24px 0 0;border-top:1px solid rgba(255,255,255,.06)}.bottom-panel>.block{animation:fade-in .25s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.primary-button{width:100%;flex:1;min-height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#000;font-size:17px;font-weight:600;transition:transform .12s ease-out}.primary-button.orange{background:var(--orange);color:#000}.primary-button:disabled{background:#ffffff14;color:#ffffff59}.primary-button:not(:disabled):active{transform:scale(.97)}.secondary-button{min-width:50px;min-height:50px;padding:0 6px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#ffffff17;font-size:15px;font-weight:600}.secondary-button .icon{font-size:18px}.secondary-button.wide{width:100%}.secondary-button:disabled{color:#ffffff4d}.secondary-button:not(:disabled):active{background:#ffffff29;transform:scale(.96)}.link-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:var(--accent)}.link-button.secondary{color:var(--secondary);font-size:15px}.link-button:disabled{opacity:.35}.speed-button{flex:1;min-height:50px;border-radius:14px;background:#ffffff17;font-size:17px;font-weight:600}.speed-button.active{background:var(--accent);color:#000}.next-wave{display:flex;align-items:center;gap:6px}.pending-gem{position:relative;flex:1;min-height:60px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#ffffff0d;border:1.5px solid transparent}.pending-gem.selected{background:#ffffff29;border-color:#fff}.pending-gem .combinable{position:absolute;top:4px;right:4px;font-size:11px}.action-scroll{overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.action-scroll::-webkit-scrollbar{display:none}.action-button{min-height:50px;padding:0 12px;border-radius:14px;display:inline-flex;align-items:center;gap:8px;flex:none;font-size:15px;font-weight:600;white-space:nowrap;transition:transform .12s}.action-button:active{transform:scale(.97)}.action-button.keep{background:#ffffff1a;color:#fff}.action-button.downgrade{background:#ffffff0f;color:#ffffffd9;border:1px dashed rgba(255,255,255,.3)}.action-button.merge{background:var(--accent);color:#000}.action-button.recipe{background:var(--recipe);color:#000}.label{display:flex;align-items:center;gap:6px}.progress{height:4px;border-radius:2px;background:#78788052;overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.tower-info{display:flex;align-items:center;gap:12px}.tower-info .col{gap:3px}.metrics{display:flex;gap:10px;flex-wrap:wrap}.metric{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:600}.metric .icon{color:var(--secondary)}.overlay-slot:empty,.sheet-slot:empty{display:none}.game-over{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0000008c;animation:appear .3s ease-out}@keyframes appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.game-over .card{margin:28px;padding:24px;border-radius:28px;width:min(100% - 56px,380px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.end-icon{font-size:44px;display:flex}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:#0006;display:flex;align-items:flex-end;animation:backdrop-in .25s ease-out}.sheet-backdrop.closing{animation:backdrop-out .22s ease-in forwards;pointer-events:none}.sheet-backdrop.closing .sheet{animation:sheet-out .22s ease-in forwards}@keyframes backdrop-in{0%{background:#0000}}@keyframes backdrop-out{to{background:#0000}}.sheet{width:100%;min-height:52%;max-height:92%;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:8px 20px calc(20px + env(safe-area-inset-bottom));background:var(--panel);border-radius:24px 24px 0 0;animation:sheet-in .35s cubic-bezier(.2,.9,.3,1)}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-out{to{transform:translateY(100%)}}.grabber{width:36px;height:5px;border-radius:3px;background:#ffffff4d;margin:0 auto}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding:2px;border-radius:9px;background:#7676803d}.segmented button{min-height:30px;border-radius:7px;font-size:13px;font-weight:600}.segmented button.active{background:#636366;box-shadow:0 3px 8px #0000001f}.segmented button.fsk.active{background:linear-gradient(135deg,#d6336c,#f76707)}.age-gate{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.age-dialog{width:min(420px,100%);display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;padding:24px 20px 20px;border-radius:18px;background:#1c1c20;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px #0009}.age-dialog .row{width:100%}.age-badge{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:800;color:#fff;background:#e03131;border:3px solid #fff}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.toggle-row input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;flex:none;width:51px;height:31px;border-radius:16px;background:#78788052;transition:background .2s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #00000026;transition:transform .2s}.toggle-row input:checked+.switch{background:var(--accent)}.toggle-row input:checked+.switch:after{transform:translate(20px)}.menu-screen{background:radial-gradient(circle at center,rgb(26,31,56) 0,rgb(26,31,56) 20px,var(--bg) 500px);padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.menu-content{height:100%;display:flex;flex-direction:column;align-items:center;gap:24px}.menu-content .spacer{flex:1}.showcase{display:flex;align-items:center;justify-content:center;gap:4px;--gem: 54px;--gem-big: 88px}.hero-gem{width:var(--gem);height:var(--gem);object-fit:contain;display:block;filter:drop-shadow(0 0 14px var(--glow)) drop-shadow(0 6px 10px rgba(0,0,0,.5));animation:gem-float 5s ease-in-out infinite alternate}.showcase-item.big .hero-gem{width:var(--gem-big);height:var(--gem-big);filter:drop-shadow(0 0 26px var(--glow)) drop-shadow(0 8px 14px rgba(0,0,0,.5))}.showcase-item:nth-child(2n) .hero-gem{animation-delay:-2.5s}@keyframes gem-float{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}.showcase-item{display:inline-flex;animation:rise .6s cubic-bezier(.34,1.4,.64,1) both}@keyframes rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.title-block{display:flex;flex-direction:column;align-items:center;gap:6px}.title{margin:0;font:900 54px ui-rounded,"SF Pro Rounded",var(--font);letter-spacing:6px;padding-left:6px;background:linear-gradient(#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.menu-buttons{width:100%;display:flex;flex-direction:column;gap:12px;padding:0 32px 40px}.menu-button{min-height:56px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .12s}.menu-button:active{transform:scale(.97)}.menu-button.primary{background:var(--accent);color:#000}.menu-button.ghost{background:#ffffff1a;color:#fff}.center{text-align:center}.luck-button.affordable{border-color:#ffd60a8c;box-shadow:0 0 12px #ffd60a2e}.table-scroll{overflow-x:auto;margin:0 -4px}table.odds{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}table.odds th,table.odds td{padding:6px 4px;text-align:center;white-space:nowrap}table.odds thead th{font-size:11px;font-weight:600;color:var(--secondary)}table.odds tbody tr{border-top:1px solid rgba(255,255,255,.06)}table.odds tr.current{background:#6bdbff29}table.odds tr.current th{color:var(--accent)}table.odds tr.next{background:#ffd60a1a}.sheet.tall{min-height:80%}.howto{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:#ffffff0d}.recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.recipe{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid transparent}.recipe.complete{border-color:#ffcc5999}.ingredients{display:flex;flex-wrap:wrap;gap:6px}.ingredient{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:999px;background:#ffffff0d;opacity:.55}.ingredient.have{opacity:1;background:#30d1582e;box-shadow:inset 0 0 0 1px #30d1588c}.chip{flex:none;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px}.chip.ready{background:var(--recipe);color:#000}.chip.close{background:#ff9f0a40;color:var(--orange)}.chip.done{background:#30d15833;color:var(--green)}.link-button.inline{min-height:0;display:inline-flex;vertical-align:baseline}@media (min-width: 900px) and (min-aspect-ratio: 5/4){#app{max-width:1600px}.game-screen{display:grid;grid-template-columns:min(calc((100vh - 40px)*.7),calc(100vw - 500px)) var(--side-width, 420px);grid-template-rows:auto auto minmax(0,1fr);justify-content:center;column-gap:24px;padding:20px 24px}.board{grid-column:1;grid-row:1 / span 3}.top-bar{grid-column:2;grid-row:1;padding:0 0 12px;flex-wrap:wrap}.bottom-panel{grid-column:2;grid-row:2;align-self:start;height:auto;min-height:0;max-height:64vh;overflow-y:auto;border-radius:24px;border:1px solid rgba(255,255,255,.06);padding:20px}.action-scroll{margin:0;padding:0}.action-scroll .row{flex-wrap:wrap}.sheet-backdrop{align-items:center;justify-content:center}.sheet,.sheet.tall{width:min(560px,92vw);min-height:0;max-height:88%;border-radius:24px;padding-bottom:20px;animation:dialog-in .25s cubic-bezier(.2,.9,.3,1)}.sheet.tall{width:min(860px,92vw)}.sheet-backdrop.closing .sheet{animation:dialog-out .2s ease-in forwards}.grabber{display:none}.menu-content{max-width:520px;margin:0 auto}.showcase{--gem: 72px;--gem-big: 116px;margin:24px 0}.title{font-size:76px}}@keyframes dialog-in{0%{transform:scale(.95);opacity:0}}@keyframes dialog-out{to{transform:scale(.95);opacity:0}}@media (hover: hover){.secondary-button:not(:disabled):hover,.speed-button:not(.active):hover,.pending-gem:hover{background:#ffffff24}.primary-button:not(:disabled):hover,.action-button.merge:hover,.menu-button.primary:hover{filter:brightness(1.08)}.icon-button:hover,.luck-button:hover{background:#ffffff1f}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.action-button.evolve{background:#c7a0ff;color:#000}.stages{display:flex;flex-direction:column;gap:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.06)}.stage{display:flex;align-items:center;gap:8px;opacity:.6}.stage.reached{opacity:1;color:#c7a0ff}.tutorial-slot{position:absolute;left:12px;right:12px;bottom:10px;pointer-events:none}.tutorial{pointer-events:auto;display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:16px;background:#171a26eb;border:1px solid rgba(107,219,255,.45);box-shadow:0 8px 24px #0006;animation:slide-up .3s cubic-bezier(.2,.9,.3,1.1)}.tutorial .link-button{min-height:32px}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}@media (min-width: 900px) and (min-aspect-ratio: 5/4){.tutorial-slot{left:50%;right:auto;width:min(460px,90%);transform:translate(-50%)}}.crystal{color:#8cf2ff}.chip.crystal{background:#8cf2ff2e;color:#8cf2ff}.chip.chain{background:#ffd64d2e;color:#ffd64d}.primary-button.granite{background:#7884a8;color:#fff}.fuse-button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px 6px 6px;border-radius:12px;background:linear-gradient(135deg,#ffcc59,#c7a0ff);color:#000;font-size:12px;font-weight:700}.depth-card{border-color:#ff9f0a99;gap:6px}.depth-row{display:flex;flex-direction:column;gap:1px}.wide-progress{width:240px;margin-top:8px}.practice-head{padding:24px 32px 0}.practice-list{overflow-y:auto}.practice-list .menu-button{min-height:50px}.bottom-panel .next-wave{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.bottom-panel .next-wave>span:first-child{margin-right:4px}.bottom-panel .link-button.caption{min-height:28px}.bottom-panel .pending-gem{min-height:52px}@media (hover: hover){.speed-chip:not(.active):hover{background:#ffffff24}}.bottom-panel{position:absolute;left:0;right:0;bottom:0;z-index:3;transition:transform .3s cubic-bezier(.2,.9,.3,1)}.game-screen.panel-hidden .bottom-panel{transform:translateY(105%)}.bottom-panel.tall{height:auto;min-height:calc(176px + env(safe-area-inset-bottom));max-height:62%;box-shadow:0 -8px 24px #00000059}.bottom-panel.floating{height:auto;max-height:50%;padding-top:12px;box-shadow:0 -8px 24px #00000059}.tutorial-slot{bottom:calc(var(--panel-inset, 0px) + 10px);transition:bottom .3s}.wave-line{display:none}.wave-stat{position:relative;overflow:hidden}.wave-progress{position:absolute;left:8px;right:8px;bottom:4px;height:2px;border-radius:1px;background:#ffffff1f}.wave-progress>span{display:block;height:100%;border-radius:1px;background:var(--accent);transition:width .3s}@media (min-width: 900px) and (min-aspect-ratio: 5/4){.bottom-panel{position:static;transform:none!important;height:auto;box-shadow:none}.wave-line{display:flex}.tutorial-slot{bottom:10px}}.hint-recipes{display:flex;flex-direction:column;gap:8px}.hint-recipe{display:flex;flex-direction:column;gap:4px;padding:8px;border-radius:12px;background:#ffffff0a}.ingredient.small{padding:2px 7px 2px 2px;gap:4px}.chip.far{background:#ffffff14;color:var(--secondary)}.menu-button.daily{border:1px solid rgba(255,214,10,.4)}.records .record-list{width:100%;padding:0 24px;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}.records .record-list h3{margin:12px 0 2px}.record-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#ffffff0d}.record-depth{min-width:52px;font-size:13px}.stars{color:#ffd64d;font-size:12px;letter-spacing:-1px}.side-actions{align-items:stretch}.polish-button{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;border-radius:12px;background:linear-gradient(135deg,#ffd64d,#ff9f0a);color:#000;font-size:12px;font-weight:700;white-space:nowrap}.polish-button svg{width:14px;height:14px}.polish-button .caption2{font-weight:600;opacity:.75}.polish-button:disabled{background:#ffffff1a;color:#ffffff8c}.stats-table{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;max-height:46vh;overflow-y:auto}.game-over .stats-table{max-height:30vh}.stats-head,.stats-row{display:grid;grid-template-columns:26px 1fr 64px 44px;gap:8px;align-items:center}.stats-head span:first-child{grid-column:1 / 3}.stats-head span:not(:first-child),.stats-val{text-align:right}.stats-val{display:flex;flex-direction:column;align-items:flex-end}.share-bar{height:4px;border-radius:2px;background:#ffffff1a;overflow:hidden;margin-top:3px}.share-bar span{display:block;height:100%;background:linear-gradient(90deg,#ff9f0a,#ffd64d)}.mystery-gem{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:14px;background:#73d9ff24;border:2px dashed rgba(115,217,255,.75);color:#fff;font-size:24px;font-weight:800}.mystery-gem.pop{animation:pop .35s cubic-bezier(.34,1.56,.64,1)}.side-extra{display:none}@media (min-width: 900px) and (min-aspect-ratio: 5/4){.side-extra{display:flex;flex-direction:column;gap:12px;grid-column:2;grid-row:3;min-height:0;overflow-y:auto;padding-top:12px}.side-card{display:flex;flex-direction:column;gap:10px;padding:16px 20px;border-radius:24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.side-card .stats-table{max-height:none;overflow:visible}.side-card.keys{flex-direction:row;flex-wrap:wrap;gap:6px 14px}kbd{display:inline-block;min-width:18px;padding:1px 5px;border-radius:5px;background:#ffffff1a;border-bottom:2px solid rgba(255,255,255,.15);font:600 11px/1.4 inherit;text-align:center;color:#fff}}@media (min-width: 1500px) and (min-height: 950px) and (min-aspect-ratio: 5/4){.game-screen{--side-width: 470px;column-gap:32px}.top-bar,.bottom-panel,.side-extra{zoom:1.12}}.analysis,.analysis-body{display:flex;flex-direction:column;gap:10px}.analysis-body h3{margin:8px 0 0}.analysis-body .stats-table{max-height:none;overflow:visible}.chips-row{display:flex;flex-wrap:wrap;gap:6px}.missed-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:14px;background:#ff9f0a14;border:1px solid rgba(255,159,10,.25)}.missed-card .record-row{background:#0003;padding:6px 10px}.kind-list{display:flex;flex-direction:column;gap:6px}.kind-row{display:grid;grid-template-columns:22px 92px 1fr 34px 76px;gap:8px;align-items:center}.kind-row .kind-bar{margin:0;height:6px}.kind-val{text-align:right}.map-list{gap:10px}.map-card{display:flex;align-items:center;gap:14px;padding:12px;border-radius:16px;background:#ffffff0f;text-align:left;color:#fff}.map-card .chip{align-self:flex-start;margin-top:4px}.map-card .col{gap:3px}.map-preview{flex:none;width:52px;height:76px}@media (hover: hover){.map-card:hover{background:#ffffff1c}}.map-tabs{display:flex;flex-wrap:wrap;gap:6px}.map-tabs button{padding:6px 12px;border-radius:999px;background:#ffffff14;font-size:13px;font-weight:600;color:var(--secondary)}.map-tabs button.active{background:var(--accent);color:#000}.record-row.me{background:#6bdbff24;box-shadow:inset 0 0 0 1px #6bdbff73}.record-rank{min-width:26px;color:var(--secondary)}.record-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.rank-form{display:flex;flex-direction:column;gap:6px;width:100%}.rank-form .row{width:100%}.rank-form input{flex:1;min-width:0;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;color:inherit;font:inherit;font-size:16px}.rank-form .primary-button{width:auto;flex:none;padding:0 16px}.split-bar{display:flex}.split-bar span.special{background:#8cf2ff}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:0}.orange-dot{background:#ff9f0a}.crystal-dot{background:#8cf2ff}@media (min-width: 900px) and (min-aspect-ratio: 5/4){#app{max-width:none}.game-screen{display:grid;grid-template-columns:minmax(0,1fr) var(--side-width, 400px);grid-template-rows:auto auto minmax(0,1fr);column-gap:0;padding:0;background:radial-gradient(ellipse at 40% 45%,rgb(18,22,36),var(--bg) 70%)}.top-bar{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;flex-wrap:nowrap;gap:20px;height:64px;padding:0 20px;background:#0a0c13d9;border-bottom:1px solid rgba(255,255,255,.07);zoom:1!important}.board{grid-column:1;grid-row:2 / span 2;margin:12px 8px 12px 12px}.bottom-panel,.bottom-panel.tall,.bottom-panel.floating{grid-column:2;grid-row:2;align-self:stretch;position:static;transform:none!important;height:auto;max-height:none;min-height:0;overflow:visible;border-radius:0;border:0;box-shadow:none;border-left:1px solid rgba(255,255,255,.07);background:#ffffff06;padding:20px 22px 16px;gap:12px}.side-extra{grid-column:2;grid-row:3;padding:4px 22px 20px;gap:0;border-left:1px solid rgba(255,255,255,.07);background:#ffffff06;overflow-y:auto}.side-card{padding:16px 0;border-radius:0;background:none;border:0;border-top:1px solid rgba(255,255,255,.07)}.side-card.keys{margin-top:auto}.hd-brand{display:flex;flex-direction:column;line-height:1.05;min-width:0}.hd-logo{font:900 22px/1 ui-rounded,var(--font);letter-spacing:4px;background:linear-gradient(180deg,#fff,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.hd-map{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px;margin-top:3px}.hd-stats{display:flex;align-items:center;gap:4px;padding-left:20px;border-left:1px solid rgba(255,255,255,.08)}.hd-stat{position:relative;display:flex;align-items:center;gap:9px;height:46px;padding:0 12px;border-radius:12px;text-align:left;color:inherit}.hd-icon{display:flex}.hd-icon .icon{width:18px;height:18px}.hd-value{font-size:16px;font-weight:700;white-space:nowrap}.hd-label{font-size:11px;color:var(--secondary);white-space:nowrap;margin-top:2px}.hd-progress{position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:1px;background:#ffffff1a}.hd-progress>span{display:block;height:100%;border-radius:1px;background:var(--accent);transition:width .3s}.hd-luck{border:1px solid transparent}.hd-luck.affordable{border-color:#ffd60a73;background:#ffd60a14}.hd-speed{margin-left:auto;display:flex;gap:2px;padding:3px;border-radius:12px;background:#ffffff0f}.hd-speed button{min-width:42px;height:34px;padding:0 8px;border-radius:9px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--secondary);display:grid;place-items:center}.hd-speed button .icon{width:15px;height:15px}.hd-speed button.active{background:var(--accent);color:#000}.hd-speed .hd-pause{margin-left:4px}.hd-nav{display:flex;gap:4px}.hd-nav button{display:flex;align-items:center;gap:7px;height:40px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:600;color:#ffffffd9}.hd-nav button .icon{width:17px;height:17px;opacity:.85}.bottom-panel .action-scroll{overflow:visible}.bottom-panel .action-scroll .row{flex-wrap:wrap}.bottom-panel .next-wave{white-space:normal}.bottom-panel .stats-table,.side-card .stats-table{max-height:none;overflow:visible}.hint-recipes{gap:6px}}@media (min-width: 900px) and (min-aspect-ratio: 5/4) and (hover: hover){.hd-nav button:hover,.hd-luck:hover,.hd-speed button:not(.active):hover{background:#ffffff14;color:#fff}}@media (min-width: 900px) and (max-width: 1279px) and (min-aspect-ratio: 5/4){.hd-nav button span{display:none}.hd-nav button{padding:0 10px}.hd-map{display:none}.top-bar{gap:12px}.hd-stats{padding-left:10px}.hd-stat{padding:0 8px}}@media (min-width: 1500px) and (min-height: 950px) and (min-aspect-ratio: 5/4){.game-screen{--side-width: 440px}}.hero{display:contents}.hero-facts{display:none}@media (min-width: 900px) and (min-aspect-ratio: 5/4){.menu-content.home{flex-direction:row;justify-content:center;align-items:center;gap:clamp(48px,8vw,140px);max-width:1200px;padding:0 48px}.menu-content.home .spacer{display:none}.menu-content.home .hero{display:flex;flex-direction:column;align-items:center;gap:22px}.menu-content.home .showcase{--gem: 84px;--gem-big: 136px;gap:10px;margin:0}.menu-content.home .title-block{align-items:center;text-align:center}.menu-content.home .title{font-size:clamp(64px,7vw,104px)}.menu-content.home .hero-facts{display:block;margin-top:6px}.menu-content.home .menu-buttons{width:400px;flex:none;padding:24px;gap:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:22px;box-shadow:0 30px 60px #00000059}.menu-content.home .menu-button{min-height:54px}}.desktop-only{display:none}@media (min-width: 900px) and (min-aspect-ratio: 5/4){.desktop-only{display:revert}.phone-only{display:none!important}.setting-label{font-size:12px;font-weight:600;color:var(--secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:-4px}}.next-wave-button{flex:none;padding:0 14px;white-space:nowrap}.next-wave-button .icon{width:15px;height:15px}.intro-sheet{gap:12px}.intro-art{width:100%;max-height:150px;display:block;margin:4px 0}.intro-dots{display:flex;gap:6px;justify-content:center}.intro-dots span{width:7px;height:7px;border-radius:50%;background:#fff3}.intro-dots span.active{background:#6bdbff}.coach-bubble{position:fixed;z-index:60;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:16px;color:#fff;background:#1e212e;border:1px solid rgba(242,183,5,.7);box-shadow:0 12px 32px #0000008c;animation:slide-up .3s cubic-bezier(.2,.9,.3,1.1)}.coach-bubble .footnote{margin:0}.coach-arrow{position:absolute;top:-8px;width:16px;height:16px;transform:rotate(45deg);background:#1e212e;border-left:1px solid rgba(242,183,5,.7);border-top:1px solid rgba(242,183,5,.7)}.coach-target{box-shadow:0 0 0 2px #f2b705e6,0 0 16px #f2b70599!important;animation:coach-pulse 1.2s ease-in-out infinite alternate}@keyframes coach-pulse{0%{box-shadow:0 0 0 2px #f2b705e6,0 0 4px #f2b7054d}to{box-shadow:0 0 0 3px #f2b705,0 0 18px #f2b705b3}}button.record-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:0}button.record-row:hover{background:#6bdbff1f}.record-open{color:#6bdbff;font-size:18px;margin-left:2px}.run-view{gap:12px}.run-board{width:100%;max-width:560px;align-self:center;border-radius:12px;display:block}.run-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.run-metric{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:12px;background:#ffffff0d}
