@layer reset,base,layout,components;@layer reset{html,body,#app{block-size:100%}body{margin:0}*,*:before,*:after{box-sizing:border-box}button{font:inherit}}@layer base{:root{color-scheme:dark;--bg: #111713;--panel: #1d2724;--panel-strong: #293932;--text: #f5f6ee;--muted: #b6c0b2;--line: #415348;--blue: #5ea7ff;--red: #ff6965;--green: #6adf8f;--yellow: #f5c84b;--wood: #9b7445;--warm: #ffb75f;--shadow: rgb(0 0 0 / .28)}body{background:linear-gradient(135deg,#101512,#1b2420 42%,#2a3025);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.35;overflow:hidden}button{border:1px solid var(--line);border-radius:8px;background:var(--panel-strong);color:var(--text);min-block-size:2.5rem;min-inline-size:2.5rem;padding:.5rem .75rem;cursor:pointer;transition:transform .14s ease,background-color .14s ease,border-color .14s ease,box-shadow .14s ease}button:hover:not(:disabled){background:#344c40;box-shadow:inset 0 0 0 1px #ffffff14,0 .25rem .75rem #0000002e}button:active:not(:disabled),button.is-pressed:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}}@layer layout{.game-shell{display:grid;grid-template-columns:minmax(0,1fr);position:relative;inline-size:min(100%,96rem);block-size:100dvh;margin-inline:auto;padding:.75rem;box-sizing:border-box}.board-zone{position:relative;min-block-size:0;overflow:hidden;border:1px solid rgb(255 255 255 / .08);border-radius:8px;box-shadow:0 1.1rem 3rem var(--shadow);background:#151a1d;isolation:isolate}.board-zone.is-three3d{border-color:#ffdd9d14;background:radial-gradient(circle at 76% 18%,rgb(255 176 78 / .13),transparent 18rem),linear-gradient(180deg,#05080924,#02040542),var(--rainlit-room-plate) center / cover no-repeat,#101516;box-shadow:inset 0 0 5rem #0000002e,0 1.1rem 3rem var(--shadow)}.board-zone.is-dom2d{background:radial-gradient(circle at 72% 16%,rgb(255 182 86 / .14),transparent 13rem),linear-gradient(180deg,#05080957,#050809a3),var(--rainlit-room-plate) center / cover no-repeat,#151a1d}.board-zone:before,.board-zone:after{position:absolute;inset:0;content:"";pointer-events:none;z-index:2}.board-zone:before{background:linear-gradient(115deg,transparent 0 34%,rgb(255 231 177 / .05) 48%,transparent 62%),linear-gradient(180deg,rgb(255 255 255 / .026),transparent 38%,rgb(0 0 0 / .2));mix-blend-mode:screen;opacity:.48;animation:board-breathe 5.8s ease-in-out infinite}.board-zone:after{opacity:0;transition:opacity .24s ease}.rainlit-background-video{position:absolute;inset:0;z-index:0;display:block;inline-size:100%;block-size:100%;object-fit:cover;opacity:1;pointer-events:none}.board-zone.is-flash-topple:after{background:radial-gradient(circle at 50% 54%,rgb(255 221 157 / .16),transparent 38%),#f5c84b0f;animation:board-flash .52s ease-out}.board-zone.is-flash-clear:after,.board-zone.is-flash-win:after{background:radial-gradient(circle at 64% 28%,rgb(255 236 184 / .18),transparent 34%),#f5c84b14;animation:board-flash .68s ease-out}.board-zone.is-flash-loss:after{background:radial-gradient(circle at 50% 50%,rgb(255 105 101 / .12),transparent 36%),#4a181614;animation:board-flash .44s ease-out}.board-scene{position:absolute;inset:0;z-index:1}.mobile-board{display:none}.board-scene canvas{display:block;inline-size:100%;block-size:100%;cursor:grab;touch-action:none}.board-zone.is-three3d .board-scene canvas{opacity:.88;filter:brightness(.74) saturate(.82) contrast(.94)}.board-zone.is-gesture-pressing .board-scene canvas,.board-zone.is-gesture-aiming .board-scene canvas,.board-zone.is-gesture-blocked .board-scene canvas{cursor:grabbing}.control-panel{position:absolute;inset:1.35rem;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"pips . actions" ". . ." "levels levels levels";gap:.5rem;min-block-size:0;overflow:visible;pointer-events:none}.control-panel :is(button,.placement-pips,.audio-panel){pointer-events:auto}}@layer components{.visually-hidden{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.top-strip{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);pointer-events:none}.top-strip :is(.instruction,.status-line){position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;box-shadow:none}.instruction,.status-line,.toast{margin:0;border:1px solid rgb(255 255 255 / .1);border-radius:8px;background:#0e1412bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 .55rem 1.5rem var(--shadow)}.instruction{max-inline-size:58rem;padding:.5rem .75rem;color:var(--text);font-size:.9375rem;font-weight:650}.status-line{justify-self:start;max-inline-size:min(100%,44rem);padding:.5rem .75rem;color:var(--muted);font-size:.875rem}.toast{position:absolute;inset-inline-start:50%;inset-block-end:clamp(4.75rem,9dvh,7rem);transform:translate(-50%,.5rem);max-inline-size:min(24rem,calc(100% - 2rem));padding:.5rem .75rem;opacity:0;color:var(--text);font-size:.8125rem;font-weight:650;text-align:center;transition:opacity .16s ease,transform .16s ease;pointer-events:none}.toast.is-visible{opacity:1;transform:translate(-50%);animation:toast-pop .22s ease-out}.start-screen{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:linear-gradient(180deg,#090e0d7a,#0c110fb3);-webkit-backdrop-filter:blur(4px) saturate(.9);backdrop-filter:blur(4px) saturate(.9)}.start-screen[hidden]{display:none}.start-card{display:grid;justify-items:center;gap:.75rem;inline-size:min(26rem,100%);border:1px solid rgb(255 255 255 / .14);border-radius:8px;background:linear-gradient(180deg,#23312bf0,#141c19f0);box-shadow:0 1.2rem 3rem #0000005c;padding:1.5rem;text-align:center}.start-stones{display:flex;align-items:end;justify-content:center;gap:.25rem;block-size:2rem}.start-stone{display:block;inline-size:1.5rem;block-size:.5rem;border:1px solid rgb(255 255 255 / .28);border-radius:999px;box-shadow:inset 0 .18rem .35rem #fff3,0 .35rem .75rem #00000038}.start-stone-blue{background:linear-gradient(180deg,#86c9ff,#2f6fcb)}.start-stone-high{transform:translateY(-.5rem);box-shadow:inset 0 .18rem .35rem #fff3,0 .5rem #1d558f,0 .75rem #16436f,0 1rem .75rem #0000003d}.start-stone-red{background:linear-gradient(180deg,#ff9d88,#d5413f)}.start-kicker,.start-description,.start-status{margin:0}.start-kicker{color:var(--warm);font-size:.6875rem;font-weight:600;text-transform:uppercase}.start-card h1{margin:0;color:#fff8dc;font-size:1.875rem;font-weight:600;line-height:1.1}.start-description{max-inline-size:18rem;color:var(--text);font-size:.8125rem}.start-status{min-block-size:1rem;color:var(--muted);font-size:.6875rem}.start-status[hidden]{display:none}.start-button{min-inline-size:min(16rem,100%);border-color:color-mix(in oklab,var(--yellow),white 18%);background:#425134;color:#fff7cf;font-weight:600;box-shadow:0 .85rem 2rem var(--shadow)}.start-button:hover:not(:disabled){background:#516640}.progress-panel{grid-area:levels;justify-self:center;align-self:end;inline-size:min(36rem,100%);container-type:inline-size}.progress-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.125rem .5rem;align-items:baseline;margin-block-end:.625rem}.progress-summary strong{color:#fff8dc;font-size:1rem;font-weight:750;overflow-wrap:anywhere}.progress-kicker,#level-progress-text{color:var(--muted);font-size:.6875rem;font-weight:650}.progress-kicker{color:var(--warm);text-transform:uppercase}#level-progress-text{grid-column:1 / -1}.action-row{display:flex;gap:.35rem}.level-tabs{position:relative}.level-navigator{--track-color: var(--warm);--book-progress: 0%;position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;min-inline-size:0;border:1px solid rgb(247 205 115 / .18);border-radius:8px;background:linear-gradient(180deg,color-mix(in oklab,var(--track-color),transparent 88%),transparent 58%),linear-gradient(180deg,#141c19b8,#080c0ba3);box-shadow:inset 0 .08rem .18rem #ffefb51a,0 .55rem 1.3rem #0003;padding:.42rem;color:#fff7cf;-webkit-backdrop-filter:blur(10px) saturate(1.04);backdrop-filter:blur(10px) saturate(1.04);overflow:hidden;pointer-events:auto}.level-navigator:after{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none}.level-navigator:after{border:1px solid color-mix(in oklab,var(--track-color),transparent 52%);border-radius:inherit;box-shadow:inset 0 0 1.3rem color-mix(in oklab,var(--track-color),transparent 88%),0 0 1rem color-mix(in oklab,var(--track-color),transparent 90%);opacity:.76}.level-navigator>*{position:relative;z-index:1}.level-navigator.is-library-pulse{animation:library-nav-pulse .36s ease-out}.level-tab[data-track=Reach]{--track-color: #7ec8ff}.level-tab[data-track=Turns]{--track-color: #f7c96d}.level-tab[data-track=Relays]{--track-color: #7ee3a0}.level-tab[data-track=Blocks]{--track-color: #ff9d7b}.level-tab[data-track=Order]{--track-color: #d7a4ff}.level-tab[data-track=Knots]{--track-color: #9de1df}.book-step,.book-index-button,.book-index__close{align-content:center;justify-content:center;border-color:#ffffff1a;background:#11181585;color:#fff7cf;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.book-step:hover:not(:disabled),.book-index-button:hover:not(:disabled),.book-index__close:hover:not(:disabled){transform:translateY(-1px) scale(1.035)}.book-step{display:grid;inline-size:2.25rem;block-size:2.25rem;min-inline-size:2.25rem;min-block-size:2.25rem;border-radius:999px;padding:0;font-size:1.18rem;font-weight:850;line-height:1}.book-index-button{min-inline-size:4.25rem;min-block-size:2.25rem;border-color:color-mix(in oklab,var(--track-color),transparent 42%);background:linear-gradient(180deg,color-mix(in oklab,var(--track-color),transparent 78%),#0f16139e);padding:.35rem .6rem;font-size:.78rem;font-weight:800}.book-index-button[aria-expanded=true]{box-shadow:inset 0 .08rem .2rem #fffbda29,0 0 0 1px color-mix(in oklab,var(--track-color),transparent 52%),0 .42rem 1.1rem color-mix(in oklab,var(--track-color),transparent 84%)}.level-current{display:grid;gap:.26rem;min-inline-size:0}.level-current__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.28rem;min-inline-size:0}.level-current__number,.level-current__track,.level-current__state{border:1px solid rgb(255 255 255 / .1);border-radius:999px;background:#070b0a42;padding:.12rem .38rem;color:var(--muted);font-size:.64rem;font-weight:800;line-height:1;white-space:nowrap}.level-current__number{color:#fff7cf;font-variant-numeric:tabular-nums}.level-current__track{color:color-mix(in oklab,var(--track-color),white 18%)}.level-current__state{color:#2d2209;background:color-mix(in oklab,var(--yellow),white 8%)}.level-current__state[hidden]{display:none}.level-current__name{min-inline-size:0;color:#fff7cf;font-size:.98rem;font-weight:800;line-height:1.12;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-spine{position:relative;display:grid;grid-template-columns:repeat(var(--level-count),minmax(0,1fr));align-items:center;block-size:.88rem;margin-block-start:-.02rem;border:1px solid rgb(255 224 145 / .12);border-radius:999px;padding-inline:.14rem;background:linear-gradient(180deg,rgb(255 238 176 / .08),transparent 45%),linear-gradient(90deg,#0a0e0ceb,#1d160cdb,#080c0bf0);box-shadow:inset 0 .09rem .18rem #0000008f,inset 0 -.05rem .12rem #ffeda814;overflow:visible}.book-spine__fill{position:absolute;inset-block-start:50%;inset-inline-start:0;z-index:0;inline-size:var(--book-progress);block-size:.24rem;border-radius:inherit;background:linear-gradient(90deg,#8a652ad1,#f5c84be6);box-shadow:0 0 .55rem #f5c84b38;pointer-events:none;transform:translateY(-50%);transition:inline-size .18s ease}.book-spine__notch{--notch-alpha: .34;--notch-scale: 1;--notch-lift: 0rem;position:relative;z-index:2;display:grid;place-items:center;align-self:stretch;min-inline-size:0;min-block-size:0;inline-size:100%;block-size:100%;border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;opacity:1;scale:var(--notch-scale);translate:0 var(--notch-lift);transform:none;transition:scale .12s ease,translate .12s ease}.book-spine__notch:before{content:"";display:block;inline-size:.08rem;block-size:.42rem;border-radius:999px;background:rgb(255 247 207 / var(--notch-alpha));box-shadow:0 0 .2rem #0000004d;transition:inline-size .12s ease,block-size .12s ease,background-color .12s ease,box-shadow .12s ease}.book-spine__notch:hover:not(:disabled),.book-spine__notch:active:not(:disabled),.book-spine__notch.is-pressed:not(:disabled){background:transparent;box-shadow:none;transform:none}.book-spine__notch:hover:not(:disabled):before,.book-spine__notch:focus-visible:before{inline-size:.28rem;block-size:.72rem;background:#fff4bc;box-shadow:0 0 0 1px #ffffff3d,0 0 .48rem #f5c84b5c}.book-spine__notch:focus-visible{outline:none}.book-spine__notch:focus-visible:before{outline:2px solid var(--yellow);outline-offset:2px}.book-spine__notch.is-complete:before{background:color-mix(in oklab,var(--green),white 12%)}.book-spine__notch.is-next:not(.is-active,.is-complete):before{background:color-mix(in oklab,var(--yellow),white 10%);box-shadow:0 0 .38rem #f5c84b47}.book-spine__notch.is-active:before{inline-size:.48rem;block-size:.48rem;border:1px solid rgb(255 255 255 / .72);background:color-mix(in oklab,var(--yellow),white 20%);box-shadow:0 0 .4rem #f5c84b7a,0 0 .85rem #f5c84b52}.book-spine__marker{position:absolute;inset-block-start:50%;inset-inline-start:var(--book-progress);z-index:3;inline-size:.58rem;block-size:.58rem;border:1px solid rgb(255 255 255 / .58);border-radius:999px;background:radial-gradient(circle at 38% 30%,rgb(255 255 255 / .72),transparent 28%),color-mix(in oklab,var(--yellow),white 14%);box-shadow:0 0 .5rem #f5c84b6b,0 0 .9rem #f5c84b3d;pointer-events:none;translate:-50% -50%;transition:inset-inline-start .18s ease}.book-index{position:fixed;inset:0;z-index:15;display:grid;align-items:end;justify-items:center;padding:1rem;pointer-events:auto}.book-index[hidden]{display:none}.book-index__scrim{position:absolute;inset:0;background:#0408078c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.book-index.is-library-opened .book-index__scrim{animation:library-scrim-in .18s ease-out}.book-index__sheet{position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.65rem;inline-size:min(35rem,calc(100dvw - 2rem));max-block-size:min(34rem,calc(100dvh - 4rem));border:1px solid rgb(247 205 115 / .22);border-radius:8px;background:radial-gradient(circle at 72% 0%,rgb(255 205 116 / .11),transparent 34%),linear-gradient(180deg,#17211df5,#090e0dfa);box-shadow:inset 0 .08rem .2rem #ffefb51f,0 1.1rem 2.4rem #0000006b;padding:.72rem;overflow:hidden}.book-index.is-library-opened .book-index__sheet{animation:library-sheet-in .24s cubic-bezier(.2,.9,.2,1)}.book-index__sheet:before{position:absolute;inset-block:.9rem;inset-inline-start:.72rem;inline-size:.18rem;border-radius:999px;background:linear-gradient(180deg,transparent,rgb(255 247 207 / .28),transparent),color-mix(in oklab,var(--warm),transparent 82%);box-shadow:0 0 1.2rem #f5c84b24;content:"";pointer-events:none}.book-index__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.book-index__heading{display:grid;gap:.16rem;min-inline-size:0;padding-inline-start:.48rem}.book-index__header h2{margin:0;color:#fff7cf;font-size:.95rem;font-weight:850}.book-index__summary{margin:0;color:var(--muted);font-size:.68rem;font-weight:760;line-height:1.15}.book-index__close{inline-size:2rem;block-size:2rem;min-inline-size:2rem;min-block-size:2rem;border-radius:999px;padding:0;font-size:1rem;line-height:1}.book-index__list{display:grid;gap:.38rem;min-block-size:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:.08rem .16rem .14rem .28rem;scrollbar-width:thin;scrollbar-gutter:stable}.level-tab{--track-color: var(--warm);position:relative;isolation:isolate;display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:.55rem;inline-size:100%;min-block-size:3.1rem;border-color:color-mix(in oklab,var(--track-color),transparent 56%);border-radius:8px;background:linear-gradient(90deg,color-mix(in oklab,var(--track-color),transparent 82%),transparent 46%),linear-gradient(180deg,#1f261eb3,#0c110fc2);padding:.45rem .55rem;text-align:start;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.level-tab:before,.level-tab:after{position:absolute;content:"";pointer-events:none}.level-tab:before{inset-block:.5rem;inset-inline-start:.38rem;inline-size:.18rem;border-radius:999px;background:color-mix(in oklab,var(--track-color),transparent 38%);box-shadow:0 0 .75rem color-mix(in oklab,var(--track-color),transparent 72%);opacity:.64}.level-tab:after{inset-block:0;inset-inline:-45% auto;inline-size:42%;background:linear-gradient(105deg,transparent,rgb(255 247 207 / .14),transparent);opacity:0;transform:skew(-12deg)}.level-tab:hover:not(:disabled),.level-tab:focus-visible{transform:translate(.12rem);border-color:color-mix(in oklab,var(--track-color),white 10%);box-shadow:inset 0 .08rem .22rem #fff7cf14,0 .44rem 1rem #00000038}.level-tab:hover:not(:disabled):after,.level-tab:focus-visible:after{opacity:1;animation:library-row-sheen .52s ease-out}.level-tab__index{display:grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border:1px solid color-mix(in oklab,var(--track-color),transparent 46%);border-radius:999px;background:#070b0a61;color:#fff7cf;font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:850;box-shadow:inset 0 .08rem .18rem #ffffff1f,0 .1rem .22rem #00000047}.level-tab__body{display:grid;gap:.16rem;min-inline-size:0}.level-tab__name{color:#fff7cf;font-size:.88rem;font-weight:800;line-height:1.18;overflow-wrap:anywhere}.level-tab__track{color:color-mix(in oklab,var(--track-color),white 18%);font-size:.7rem;font-weight:760;line-height:1.15}.level-tab__states{display:flex;flex-wrap:wrap;justify-content:end;gap:.25rem}.level-tab__state{display:none;border:1px solid rgb(255 255 255 / .1);border-radius:999px;background:#0b110fb8;color:var(--muted);padding:.16rem .38rem;font-size:.62rem;font-weight:850;line-height:1;white-space:nowrap}.level-tab.is-active{border-color:var(--yellow);background:linear-gradient(90deg,color-mix(in oklab,var(--track-color),transparent 70%),transparent 56%),linear-gradient(180deg,#42432adb,#18231bd6);box-shadow:inset 0 .1rem .26rem #fffbda1f,0 0 0 1px #f5c84b33,0 .54rem 1.3rem color-mix(in oklab,var(--track-color),transparent 82%)}.level-tab.is-active:before{background:var(--yellow);opacity:1;box-shadow:0 0 .55rem #f5c84b8f,0 0 1.2rem color-mix(in oklab,var(--track-color),transparent 72%)}.level-tab.is-active .level-tab__index{background:radial-gradient(circle at 36% 30%,rgb(255 255 255 / .32),transparent 28%),color-mix(in oklab,var(--track-color),#1a1308 24%)}.level-tab.is-active .level-tab__state--current,.level-tab.is-complete .level-tab__state--complete,.level-tab.is-next:not(.is-active,.is-complete) .level-tab__state--next{display:inline-flex}.level-tab.is-complete .level-tab__state--complete{color:#eaffd9;background:#1f502e9e}.level-tab.is-next:not(.is-active,.is-complete) .level-tab__state--next,.level-tab.is-active .level-tab__state--current{color:#2d2209;background:color-mix(in oklab,var(--yellow),white 8%)}.action-row{grid-area:actions;justify-self:end;align-self:start;position:relative}.action-row button{display:grid;place-items:center;inline-size:2.5rem;block-size:2.5rem;min-inline-size:2.5rem;min-block-size:2.5rem;border-radius:999px;background:#11181580;padding:0;color:#fff7cf;font-size:1.25rem;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#next-button.is-post-win-next,#next-button.is-post-win-book{inline-size:auto;min-inline-size:4.75rem;padding-inline:.88rem;border-color:color-mix(in oklab,var(--yellow),white 14%);background:linear-gradient(180deg,#575e31db,#243123d6);box-shadow:inset 0 .08rem .2rem #fffbda2e,0 .42rem 1rem #00000042,0 0 0 1px #f5c84b24;font-size:.82rem;line-height:1}#next-button.is-post-win-book{min-inline-size:4.5rem;border-color:#ffffff24;background:linear-gradient(180deg,#212d29e0,#111815d6)}#undo-button.is-placement-undo-ready{border-color:color-mix(in oklab,var(--blue),white 10%);background:radial-gradient(circle at 38% 24%,rgb(255 255 255 / .12),transparent 30%),linear-gradient(180deg,#274651d1,#111f24c7);box-shadow:inset 0 .08rem .2rem #ffffff1f,0 .36rem .9rem #00000038,0 0 0 1px #5ea7ff29}#undo-button[hidden]{display:none}#audio-button[aria-expanded=true]{border-color:#f5c84b8a;background:#444125b8;box-shadow:inset 0 .08rem .22rem #fffbda29,0 .36rem .9rem #0000003d}.audio-panel{position:absolute;inset-block-start:calc(100% + .45rem);inset-inline-end:0;display:grid;gap:.62rem;inline-size:min(17rem,calc(100dvw - 2rem));border:1px solid rgb(247 205 115 / .18);border-radius:8px;background:radial-gradient(circle at 74% 8%,rgb(255 205 116 / .12),transparent 38%),linear-gradient(180deg,#121b18e0,#090e0de6);box-shadow:inset 0 .08rem .2rem #ffefb51f,0 .8rem 1.8rem #00000057;padding:.72rem;color:var(--text);-webkit-backdrop-filter:blur(12px) saturate(1.04);backdrop-filter:blur(12px) saturate(1.04)}.audio-panel[hidden]{display:none}.audio-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.audio-panel__head strong{color:#fff7cf;font-size:.78rem;letter-spacing:0}.audio-panel__head button{inline-size:1.75rem;block-size:1.75rem;min-inline-size:1.75rem;min-block-size:1.75rem;border-color:#ffffff14;background:#ffffff0d;font-size:1rem;line-height:1}.audio-control{display:grid;grid-template-columns:3.2rem minmax(6rem,1fr) 2.25rem;align-items:center;gap:.55rem;color:var(--muted);font-size:.74rem;font-weight:700}.audio-control input{inline-size:100%;accent-color:var(--yellow);cursor:pointer}.audio-control input:focus-visible{outline:2px solid var(--yellow);outline-offset:4px}.audio-control output{justify-self:end;color:#fff7cf;font-variant-numeric:tabular-nums}.placement-panel{grid-area:pips;justify-self:start;align-self:start}.placement-pips{display:flex;flex-wrap:wrap;gap:.32rem;max-inline-size:6.25rem;padding:.42rem;border:1px solid rgb(247 205 115 / .18);border-radius:999px;background:linear-gradient(180deg,#151d1994,#080c0b7a);box-shadow:inset 0 .08rem .18rem #ffefb51a,0 .45rem 1.1rem #0000002e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.placement-pip{inline-size:.74rem;block-size:.74rem;border:1px solid rgb(217 239 255 / .72);border-radius:999px;background:radial-gradient(circle at 38% 30%,rgb(244 251 255 / .82) 0 16%,transparent 17%),radial-gradient(circle at 52% 56%,#75c5ff 0 44%,#286dc6 72%);box-shadow:inset 0 .08rem .14rem #ffffff52,inset 0 -.12rem .16rem #08265347,0 .12rem #154a84a3;transition:opacity .16s ease,transform .18s ease,filter .16s ease}.placement-pip.is-spent{opacity:.38;filter:saturate(.3) brightness(.78);transform:translateY(.08rem) scale(.92)}.placement-pip.is-live{animation:metric-pop .34s ease-out}}@keyframes board-breathe{0%,to{opacity:.44}50%{opacity:.72}}@keyframes board-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes metric-pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes toast-pop{0%{transform:translate(-50%,.34rem) scale(.97)}to{transform:translate(-50%) scale(1)}}@keyframes library-nav-pulse{0%{transform:translateY(0) scale(1)}42%{transform:translateY(-.06rem) scale(1.012);box-shadow:inset 0 .08rem .18rem #ffefb529,0 .66rem 1.6rem color-mix(in oklab,var(--track-color),transparent 78%)}to{transform:translateY(0) scale(1)}}@keyframes library-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes library-sheet-in{0%{opacity:0;transform:translateY(.85rem) scale(.982)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes library-row-sheen{0%{transform:translate(0) skew(-12deg)}to{transform:translate(330%) skew(-12deg)}}@media(max-width:820px){body{overflow:hidden}.game-shell{block-size:100dvh;min-block-size:100dvh;padding:.5rem}.control-panel{inset:.95rem}.progress-panel{inline-size:min(34rem,100%)}.level-navigator{grid-template-columns:auto minmax(0,1fr) auto auto;gap:.36rem;padding:.36rem}.level-current__name{font-size:.9rem}}@media(max-width:720px),(max-height:520px)and (max-width:960px){body{overflow:hidden;overscroll-behavior:contain}.game-shell{block-size:100dvh;min-block-size:100dvh;padding:.5rem}.board-zone{display:grid;align-items:center;justify-items:center;overflow:hidden}.board-scene{display:none}.mobile-board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative;gap:0;inline-size:min(100%,calc(100dvw - 1.25rem),30rem);aspect-ratio:1;justify-self:center;margin-block:3.8rem 5.7rem;border:1px solid rgb(255 232 174 / .18);border-radius:10px;background:linear-gradient(90deg,transparent calc(12.5% - 1px),rgb(93 50 33 / .66) calc(12.5% - 1px) calc(12.5% + 1px),transparent calc(12.5% + 1px)),linear-gradient(90deg,transparent calc(25% - 1px),rgb(93 50 33 / .58) calc(25% - 1px) calc(25% + 1px),transparent calc(25% + 1px)),linear-gradient(90deg,transparent calc(37.5% - 1px),rgb(93 50 33 / .62) calc(37.5% - 1px) calc(37.5% + 1px),transparent calc(37.5% + 1px)),linear-gradient(90deg,transparent calc(50% - 1px),rgb(93 50 33 / .58) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(90deg,transparent calc(62.5% - 1px),rgb(93 50 33 / .62) calc(62.5% - 1px) calc(62.5% + 1px),transparent calc(62.5% + 1px)),linear-gradient(90deg,transparent calc(75% - 1px),rgb(93 50 33 / .58) calc(75% - 1px) calc(75% + 1px),transparent calc(75% + 1px)),linear-gradient(90deg,transparent calc(87.5% - 1px),rgb(93 50 33 / .66) calc(87.5% - 1px) calc(87.5% + 1px),transparent calc(87.5% + 1px)),linear-gradient(0deg,transparent calc(12.5% - 1px),rgb(93 50 33 / .66) calc(12.5% - 1px) calc(12.5% + 1px),transparent calc(12.5% + 1px)),linear-gradient(0deg,transparent calc(25% - 1px),rgb(93 50 33 / .58) calc(25% - 1px) calc(25% + 1px),transparent calc(25% + 1px)),linear-gradient(0deg,transparent calc(37.5% - 1px),rgb(93 50 33 / .62) calc(37.5% - 1px) calc(37.5% + 1px),transparent calc(37.5% + 1px)),linear-gradient(0deg,transparent calc(50% - 1px),rgb(93 50 33 / .58) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(0deg,transparent calc(62.5% - 1px),rgb(93 50 33 / .62) calc(62.5% - 1px) calc(62.5% + 1px),transparent calc(62.5% + 1px)),linear-gradient(0deg,transparent calc(75% - 1px),rgb(93 50 33 / .58) calc(75% - 1px) calc(75% + 1px),transparent calc(75% + 1px)),linear-gradient(0deg,transparent calc(87.5% - 1px),rgb(93 50 33 / .66) calc(87.5% - 1px) calc(87.5% + 1px),transparent calc(87.5% + 1px)),radial-gradient(circle at 22% 18%,rgb(255 214 142 / .12),transparent 24%),linear-gradient(135deg,#884f2ed1,#683d26eb 42%,#422a1ff7),repeating-linear-gradient(96deg,#ffd68e0b 0 .28rem,#301d151f .28rem .62rem);background-blend-mode:normal,normal,normal,normal,normal,normal,normal,normal,normal,normal,normal,normal,normal,normal,screen,normal,soft-light;box-shadow:inset 0 0 0 .55rem #2f2720f0,inset 0 0 0 .72rem #dc744352,inset 0 0 1.45rem #ffd18714,inset 0 -.45rem .9rem #00000080,0 .95rem 1.8rem #00000061;padding:clamp(.9rem,3.2vw,1.22rem);touch-action:none;-webkit-user-select:none;user-select:none}.mobile-board:before,.mobile-board:after{position:absolute;inset:0;border-radius:inherit;content:"";pointer-events:none}.mobile-board:before{border:1px solid rgb(255 246 198 / .16);background:linear-gradient(115deg,transparent 0 34%,rgb(255 235 190 / .1) 46%,transparent 58%),radial-gradient(circle at 70% 22%,rgb(255 188 82 / .09),transparent 30%),radial-gradient(circle at 20% 88%,rgb(0 0 0 / .3),transparent 32%);box-shadow:inset 0 0 0 .12rem #0000006b,inset 0 .18rem .34rem #ffffff1f,inset 0 -.42rem .72rem #00000052;mix-blend-mode:screen;opacity:.34}.mobile-board:after{inset:.5rem;border:1px solid rgb(0 0 0 / .42);box-shadow:inset 0 0 0 1px #fff2be1f}.mobile-cell{position:relative;display:grid;place-items:center;z-index:1;min-inline-size:0;min-block-size:0;aspect-ratio:1;border:0;border-radius:4px;background:transparent;box-shadow:none;padding:0;transform:none}.mobile-cell:hover:not(:disabled),.mobile-cell:active:not(:disabled),.mobile-cell.is-pressed:not(:disabled){transform:none}.mobile-cell:disabled{cursor:default;opacity:1}.mobile-cell.has-red,.mobile-cell.has-blue,.mobile-cell.has-red.has-blue{background:transparent}.mobile-cell.is-selected{outline:.12rem solid rgb(255 229 139 / .88);outline-offset:-.35rem;box-shadow:inset 0 0 0 .2rem #492d143d,inset 0 0 .8rem #ffdb8638}.mobile-cell.is-legal{box-shadow:inset 0 0 0 .12rem #c4ebc952}.mobile-cell.is-legal:after{position:absolute;inset:38%;z-index:0;border-radius:999px;background:#bee1c561;box-shadow:0 0 .45rem #bee1c53d;content:""}.mobile-cell.is-active-path{background:radial-gradient(circle at 50% 50%,rgb(255 223 134 / .26),transparent 54%);box-shadow:inset 0 0 0 .12rem #ffe18b73}.mobile-cell.is-active-path:after{inset:32%;background:#ffe18b9e;box-shadow:0 0 .55rem #ffd67357}.mobile-cell.is-terminal:after{display:none}.mobile-cell.is-invalid{outline:.16rem solid rgb(255 105 101 / .76);outline-offset:-.28rem}.mobile-cell.is-blocked-aim{outline:.16rem solid color-mix(in oklab,var(--red),white 15%);outline-offset:-.28rem;animation:no-shake .26s ease}.mobile-cell__stack,.mobile-cell__target,.mobile-cell__arrow{position:absolute;pointer-events:none;z-index:1}.mobile-cell__target{position:absolute;inline-size:72%;block-size:72%;border:.16rem solid rgb(255 202 118 / .94);border-radius:999px;background:radial-gradient(circle at 42% 32%,rgb(255 219 188 / .5) 0 13%,transparent 14%),radial-gradient(circle at 52% 54%,#ff6f5bfa 0 54%,#cd2f2afa 75%);box-shadow:inset 0 .18rem .34rem #ffffff40,inset 0 -.22rem .34rem #62100c57,0 .18rem #702318bf,0 .32rem .55rem #00000047}.mobile-cell__stack{position:absolute;display:grid;place-items:center;inline-size:70%;block-size:70%;border:.14rem solid rgb(205 232 238 / .94);border-radius:999px;background:radial-gradient(circle at 50% 50%,rgb(235 238 214 / .92) 0 13%,transparent 14%),radial-gradient(circle at 42% 30%,rgb(184 224 255 / .46) 0 19%,transparent 20%),radial-gradient(circle at 53% 56%,#5baae5fa 0 55%,#2a6cb1fa 76%);color:#f7f3d7;font-size:clamp(.62rem,2.5vw,.78rem);font-weight:800;line-height:1;text-shadow:0 1px 1px rgb(0 0 0 / .45);box-shadow:inset 0 .16rem .28rem #ffffff57,inset 0 -.2rem .34rem #092e535c,0 .16rem #124b7fbd,0 .34rem .55rem #0000004d}.mobile-cell__stack:before,.mobile-cell__target:before{position:absolute;inset:14%;border:1px solid rgb(36 54 63 / .2);border-radius:inherit;content:"";pointer-events:none}.mobile-cell__target:before{border-color:#ffe29a5c}.mobile-cell__arrow{display:grid;place-items:center;inline-size:70%;block-size:70%;border-radius:999px;background:radial-gradient(circle at 42% 30%,rgb(255 244 180 / .48),transparent 30%),#f5c84beb;color:#251b08;font-size:1rem;font-weight:900;line-height:1;box-shadow:0 .2rem .45rem #00000038}.toast{inset-block-end:4.75rem;max-inline-size:min(19rem,calc(100% - 1.5rem));padding:.55rem .75rem;font-size:.8125rem}.control-panel{inset:.75rem}.progress-panel{inline-size:min(100%,calc(100dvw - 1.5rem))}.level-navigator{grid-template-columns:auto minmax(0,1fr) auto auto;gap:.3rem;padding:.34rem}.book-step{inline-size:2rem;block-size:2rem;min-inline-size:2rem;min-block-size:2rem}.action-row button{inline-size:2.5rem;block-size:2.5rem;min-inline-size:2.5rem;min-block-size:2.5rem}#next-button.is-post-win-next,#next-button.is-post-win-book{inline-size:auto;min-inline-size:4.75rem;block-size:2.4rem;min-block-size:2.4rem;padding-inline:.75rem}.book-index-button{min-inline-size:3.75rem;min-block-size:2rem;padding-inline:.45rem;font-size:.72rem}.level-current__meta{gap:.22rem}.level-current__number,.level-current__track,.level-current__state{padding-inline:.3rem;font-size:.58rem}.level-current__name{font-size:.84rem}.book-index{padding:.5rem}.book-index__sheet{inline-size:min(100%,calc(100dvw - 1rem));max-block-size:min(74dvh,36rem)}.book-index__heading{padding-inline-start:.38rem}.book-index__summary{font-size:.64rem}.level-tab{grid-template-columns:2.7rem minmax(0,1fr);min-block-size:3.15rem}.level-tab__states{grid-column:2;justify-content:start}}@media(max-width:370px){.mobile-board{inline-size:min(100%,calc(100dvw - .875rem));padding:.25rem;margin-block-end:5.2rem}.game-shell{padding:.375rem}}@media(max-height:520px)and (max-width:960px){body{overflow:hidden}.game-shell{block-size:100dvh;min-block-size:100dvh;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);gap:.5rem;align-items:stretch;overflow:hidden}.board-zone{min-block-size:0;display:grid;grid-template-rows:minmax(0,1fr);align-items:center;justify-items:center;overflow:hidden}.mobile-board{inline-size:min(100%,calc(100dvh - 1rem));margin-block:0}.control-panel{position:relative;inset:auto;display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;inline-size:clamp(7.25rem,18vw,9.25rem);min-block-size:0;overflow:visible}.level-navigator{grid-template-columns:repeat(3,minmax(0,1fr));gap:.28rem;padding:.34rem}.level-current{grid-column:1 / -1;order:-1}.level-current__meta{justify-content:center}.level-current__name{text-align:center;white-space:normal}.book-index-button{grid-column:1 / -1;inline-size:100%;min-inline-size:0}.book-index{align-items:center;padding:.5rem}.book-index__sheet{inline-size:min(30rem,calc(100dvw - 1rem));max-block-size:calc(100dvh - 1rem)}.progress-panel,.placement-panel,.action-row{align-self:center}.progress-panel{inline-size:100%}.placement-pips{flex-direction:column;max-inline-size:none}.action-row{flex-direction:column}.audio-panel{inset-block-start:auto;inset-block-end:0;inset-inline-end:calc(100% + .45rem);inline-size:min(16rem,calc(100dvw - 7.75rem))}}@media(pointer:coarse){button{min-block-size:2.8rem;min-inline-size:2.8rem}.book-step,.book-index-button,.action-row button{min-block-size:2.4rem;min-inline-size:2.4rem}#next-button.is-post-win-next,#next-button.is-post-win-book{min-inline-size:4.75rem}.book-spine{block-size:1rem}.book-spine__notch{min-block-size:0;min-inline-size:0}}@media(prefers-reduced-motion:reduce){button,.toast,.board-zone:before,.board-zone:after,.rainlit-background-video,.placement-pip.is-live,.level-navigator,.book-index.is-library-opened .book-index__scrim,.book-index.is-library-opened .book-index__sheet,.book-spine__fill,.book-spine__marker,.book-spine__notch,.book-spine__notch:before,.level-tab,.level-tab:after{animation:none;transition-duration:1ms}.book-step:hover:not(:disabled),.book-index-button:hover:not(:disabled),.book-index__close:hover:not(:disabled),.book-spine__notch,.level-tab:hover:not(:disabled),.level-tab:focus-visible{scale:1;translate:0;transform:none}}
