:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;font-size:clamp(14px,2.75vw,16px);line-height:1.4}html{height:100%}body{box-sizing:border-box;height:100%;min-height:100svh;margin:0;overflow:hidden}#root{flex-direction:column;height:100%;min-height:0;display:flex}:root{--layout-max:1280px;--layout-pad-x:16px;--layout-section-gap:24px;--main-to-footer-gap:clamp(4px, .9vh, 7px);--main-grid-column-gap:32px;--shadow-glass-ring:0 0 0 1px #94a3b838;--shadow-glass-soft:0 1px 2px #0000000d, 0 4px 14px #00000014, 0 10px 32px #00000012, 0 18px 52px #0000000d, 0 28px 72px #00000008;--shadow-board-inner-soft:0 2px 8px #0f172a59, 0 10px 28px #0f172a33, 0 18px 44px #0f172a1f;--shadow-footer-soft:0 2px 8px #0000000f, 0 8px 22px #00000014, 0 16px 40px #0000000f;--shadow-footer-inset:0 0 0 1px #1e40af73 inset;--app-chrome-y:300px}@media (width>=600px){:root{--app-chrome-y:320px}}@media (width>=961px){:root{--layout-pad-x:20px;--main-grid-column-gap:40px;--main-to-footer-gap:clamp(4px, .85vh, 7px);--app-chrome-y:360px}}@media (width>=1200px){:root{--layout-pad-x:22px;--main-grid-column-gap:48px;--layout-section-gap:28px;--app-chrome-y:400px}}.app-root{color:#eaf2ff;opacity:.001;filter:blur(10px);background:radial-gradient(circle at 15% 10%,#3b82f64d,#0000 55%),radial-gradient(circle at 80% 20%,#6d5bff52,#0000 60%),radial-gradient(circle at 50% 80%,#2ed1ff2e,#0000 60%),linear-gradient(#02040a 0%,#050916 55%,#020309 100%);flex-direction:column;flex:1;min-height:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;transition:opacity .52s,transform .52s cubic-bezier(.2,.9,.2,1),filter .52s;display:flex;position:relative;overflow:hidden;transform:translateY(10px)}.app-root.app-mounted{opacity:1;filter:blur();transform:translateY(0)}.bg-orbit{opacity:.45;pointer-events:none;background-image:radial-gradient(circle at 0 0,#ffffff1f,#0000 55%),radial-gradient(circle at 100% 120%,#60a5fa38,#0000 55%);position:absolute;inset:-20%}.app-shell{z-index:5;width:min(100%, var(--layout-max));max-width:var(--layout-max);padding-top:max(16px, env(safe-area-inset-top,0px));padding-right:max(var(--layout-pad-x), env(safe-area-inset-right,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));padding-left:max(var(--layout-pad-x), env(safe-area-inset-left,0px));box-sizing:border-box;gap:var(--layout-section-gap);flex-direction:column;flex:1;min-height:0;margin-left:auto;margin-right:auto;display:flex;position:relative;overflow:hidden}.top-bar{z-index:10;width:100%;max-width:none;padding:12px var(--layout-pad-x);box-sizing:border-box;-webkit-backdrop-filter:blur(18px)saturate(130%);background:#070c1ce0;border-radius:18px;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex;position:relative;overflow:hidden;box-shadow:0 26px 80px #000000b8,0 0 0 1px #ffffff0a}.top-bar:before{content:"";border-radius:inherit;z-index:0;pointer-events:none;background:linear-gradient(#ffffff1f,#ffffff05),radial-gradient(90% 140% at 0 -10%,#4f46e542,#0000 62%),radial-gradient(85% 130% at 100% -8%,#3b82f629,#0000 60%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 7% 93%,#0000 100%)}.top-bar>*{z-index:1;position:relative}.brand{flex-shrink:0;align-items:center;gap:12px;display:flex}.brand-orb{letter-spacing:1px;color:#020617;background:radial-gradient(circle at 30% 30%,#a5b4fc,#4f46e5 55%,#020617);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:900;display:flex;box-shadow:0 0 24px #818cf8cc,inset 0 0 0 1px #0f172ae6}.brand-mark{background:radial-gradient(circle at 30% 30%,#fffffff2,#ffffff0d 55%),linear-gradient(135deg,#3b82f6e6,#8b5cf6d9);border-radius:6px;width:14px;height:14px;display:inline-block;transform:rotate(15deg);box-shadow:0 0 18px #818cf8f2,inset 0 0 0 1px #ffffff1f}.brand-text{flex-direction:column;display:flex}.brand-title{letter-spacing:.02em;font-size:18px;font-weight:700}.top-controls{flex:auto;justify-content:flex-end;align-items:center;gap:16px;min-width:0;display:flex}.pill-toggle{flex-wrap:wrap;gap:8px;display:flex}.pill{cursor:pointer;letter-spacing:.03em;color:#e5e7eb;background:#0f172ab3;border:none;border-radius:999px;padding:6px 14px;font-size:12px;line-height:1.25;transition:background .17s,transform .14s,box-shadow .17s,color .15s;box-shadow:0 10px 30px #0000009e,0 0 0 1px #94a3b83d}.pill:hover:not(.pill-disabled):not(.reset-breathe){transform:translateY(-1px);box-shadow:0 16px 40px #0f172acc,0 0 0 1px #bfdbfe52}.pill.active{color:#020617;background:linear-gradient(90deg,#3b82f6,#8b5cf6);box-shadow:0 18px 55px #3b82f6b3,0 0 0 1px #eff6ffcc}.pill-disabled{opacity:.35;cursor:default;box-shadow:none}.difficulty{align-items:center;gap:10px;display:flex}.difficulty-label{opacity:.8;letter-spacing:.04em;flex-shrink:0;font-size:12px}.difficulty-glass{box-sizing:border-box;background:#0f172ab3;border-radius:999px;flex-shrink:0;min-width:186px;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000009e,0 0 0 1px #94a3b83d}.difficulty-glass-sheen{pointer-events:none;opacity:.65;background:linear-gradient(118deg,#0000 0%,#ffffff0d 45%,#8b5cf614 52%,#0000 70%);animation:9s ease-in-out infinite difficultyGlassSheen;position:absolute;inset:-35% -15%}@keyframes difficultyGlassSheen{0%,to{transform:translate(-3%)translateY(0)}50%{transform:translate(3%)translateY(1%)}}.difficulty-glass-thumb{pointer-events:none;z-index:0;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:999px;width:calc(33.3333% - 1.33333px);transition:transform .34s cubic-bezier(.2,.9,.2,1);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 18px 55px #3b82f6b3,0 0 0 1px #eff6ffcc}.difficulty-glass[data-difficulty=easy] .difficulty-glass-thumb{transform:translate(0)}.difficulty-glass[data-difficulty=normal] .difficulty-glass-thumb{transform:translate(100%)}.difficulty-glass[data-difficulty=hard] .difficulty-glass-thumb{transform:translate(200%)}.difficulty-glass-row{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:0;display:grid;position:relative}.difficulty-opt{cursor:pointer;letter-spacing:.03em;color:#e5e7eb;background:0 0;border:none;border-radius:999px;margin:0;padding:6px 10px;font-size:12px;font-weight:600;line-height:1.25;transition:color .24s,text-shadow .24s,transform .15s;position:relative}.difficulty-opt:hover{color:#f8fafcfa}.difficulty-opt:active{transform:scale(.97)}.difficulty-opt--active{color:#020617;text-shadow:none;font-weight:700}@media (prefers-reduced-motion:reduce){.difficulty-glass-thumb{transition:transform .01ms}.difficulty-glass-sheen{animation:none}}.about-info-btn{cursor:pointer;color:#c7d2fe;background:#0f172abf;border:none;border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;padding:0;transition:background .17s,box-shadow .17s,transform .18s cubic-bezier(.34,1.2,.64,1);display:grid;box-shadow:0 8px 24px #00000073,0 0 0 1px #94a3b859}.about-info-btn:hover{background:#3b82f640;box-shadow:0 10px 28px #3b82f633,0 0 0 1px #a5b4fc73}.about-info-btn:active{transform:scale(.92)}.about-info-btn--pulse{animation:.52s cubic-bezier(.34,1.35,.64,1) both aboutInfoBtnPop}@keyframes aboutInfoBtnPop{0%{transform:scale(1);box-shadow:0 8px 24px #00000073,0 0 0 1px #94a3b859}40%{transform:scale(.88);box-shadow:0 4px 16px #3b82f659,0 0 0 2px #a5b4fc8c}72%{transform:scale(1.06);box-shadow:0 14px 36px #3b82f659,0 0 0 1px #a5b4fc80}to{transform:scale(1);box-shadow:0 8px 24px #00000073,0 0 0 1px #94a3b859}}.about-info-icon{font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;font-weight:700;line-height:1}.about-modal-root{z-index:5000;box-sizing:border-box;-webkit-backdrop-filter:blur(10px);background:#02060fb8;flex-flow:row;justify-content:center;align-items:center;padding:20px 12px;animation:.38s ease-out forwards aboutBackdropIn;display:flex;position:fixed;inset:0}@keyframes aboutBackdropIn{0%{opacity:0}to{opacity:1}}.about-modal-card{box-sizing:border-box;-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:linear-gradient(165deg,#ffffff1a,#ffffff05),#0f172af0;border-radius:22px;flex:none;align-self:center;min-width:0;max-height:96vh;padding:22px 22px 20px;position:relative;overflow:auto;box-shadow:0 40px 100px #000000a6,inset 0 0 0 1px #94a3b838;width:min(1280px,94vw)!important;max-width:1280px!important}.about-modal-root--leave{animation:.34s ease-in forwards aboutBackdropOut}@keyframes aboutBackdropOut{0%{opacity:1}to{opacity:0}}.about-modal-card--enter{transform-origin:50% 40%;animation:.5s cubic-bezier(.2,.9,.2,1) forwards aboutCardIn}.about-modal-card--leave{transform-origin:50% 40%;animation:.34s cubic-bezier(.4,0,.6,1) forwards aboutCardOut}@keyframes aboutCardOut{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(6px);transform:translateY(16px)scale(.96)}}@keyframes aboutCardIn{0%{opacity:0;filter:blur(10px);transform:translateY(22px)scale(.94)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.about-modal-body{animation:.42s ease-out .1s both aboutBodyIn}@keyframes aboutBodyIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.about-modal-close{cursor:pointer;color:#94a3b8;background:#0f172a80;border:none;border-radius:12px;width:36px;height:36px;font-size:22px;line-height:1;transition:background .15s,color .15s;position:absolute;top:12px;right:12px}.about-modal-close:hover{color:#e2e8f0;background:#33415599}.about-modal-title{letter-spacing:.04em;background:linear-gradient(90deg,#93c5fd,#c4b5fd);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 36px 12px 0;font-size:20px;font-weight:800}.about-modal-subtitle{letter-spacing:.12em;text-transform:uppercase;opacity:.85;color:#a5b4fc;margin:0 0 8px;font-size:13px;font-weight:700}.about-modal-text{color:#e2e8f0eb;margin:0 0 14px;font-size:14px;line-height:1.62}.about-modal-list{color:#e2e8f0eb;margin:0 0 14px;padding:0 0 0 1.15em;font-size:14px;line-height:1.62}.about-modal-list li{margin-bottom:8px}.about-modal-list li:last-child{margin-bottom:0}.about-modal-body a{color:#93c5fd;text-underline-offset:2px;text-decoration:underline}.about-modal-body a:hover{color:#bfdbfe}.about-modal-body code{color:#e2e8f0;background:#0f172aa6;border-radius:4px;padding:.1em .35em;font-size:.92em}.about-meta{border-top:1px solid #94a3b838;margin:0;padding:12px 0 0}.about-meta-row{grid-template-columns:88px 1fr;gap:10px;margin-bottom:10px;font-size:13px;line-height:1.5;display:grid}.about-meta-row:last-child{margin-bottom:0}.about-meta-row dt{color:#94a3b8;margin:0;font-weight:600}.about-meta-row dd{color:#e2e8f0;margin:0}.about-modal-card.about-modal-card--confirm.difficulty-confirm-card{max-height:none;padding:22px 22px 20px;overflow:visible;width:min(440px,92vw)!important;max-width:440px!important}.difficulty-confirm-lead{margin-bottom:12px!important}.difficulty-confirm-switch{letter-spacing:.06em;color:#e2e8f0f2;background:#02061773;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;padding:12px 14px;font-size:15px;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #94a3b82e;margin:0 0 20px!important}.difficulty-confirm-from{color:#94a3b8;font-weight:600}.difficulty-confirm-arrow{opacity:.55;font-weight:400}.difficulty-confirm-to{background:linear-gradient(90deg,#93c5fd,#c4b5fd);color:#0000;-webkit-background-clip:text;background-clip:text}.difficulty-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.difficulty-confirm-btn-cancel{color:#e2e8f0!important;background:#334155bf!important}.difficulty-confirm-btn-ok{box-shadow:0 14px 36px #3b82f661,0 0 0 1px #eff6ff59!important}@media (prefers-reduced-motion:reduce){.about-info-btn--pulse,.about-modal-root{animation:none}.about-modal-root--leave{opacity:0;animation:none}.about-modal-card--enter{filter:none;animation:none;transform:none}.about-modal-card--leave{opacity:0;animation:none}.about-modal-body{animation:none;transform:none}.view-mode-footer-track,.history-toolbar-slot{transition:none}.history-card-cb-shell,.history-only--delete-mode .history-card,.history-card-cb{transition:none;animation:none;transform:none}.history-duel-bar,.history-duel-bar__meter--you,.history-duel-bar__meter--ai{transition:none}}.main-layout{z-index:1;box-sizing:border-box;grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:stretch;gap:18px;width:100%;min-width:0;max-width:none;margin:0;padding:0;transition:transform .52s cubic-bezier(.2,.9,.2,1),filter .52s,opacity .52s;display:grid;position:relative}.ui-out{opacity:0;filter:blur(10px);pointer-events:none;transition:opacity .42s,transform .42s,filter .42s;transform:translateY(10px)}.ui-in{opacity:1;filter:blur();pointer-events:auto;transition:opacity .52s,transform .52s cubic-bezier(.2,.9,.2,1),filter .52s;transform:translateY(0)}.main-layout.view-play,.main-layout.view-history,.main-layout.view-catalog{justify-content:flex-start;align-items:stretch;gap:var(--main-to-footer-gap);box-sizing:border-box;scrollbar-gutter:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#94a3b88c transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden auto}@supports (overflow-clip-margin:1px){.main-layout.view-play,.main-layout.view-history,.main-layout.view-catalog{overflow-clip-margin:18px;overflow-x:clip}}@supports not (overflow-clip-margin:1px){.main-layout.view-play,.main-layout.view-history,.main-layout.view-catalog{padding-left:8px;padding-right:8px}}.main-layout.view-play::-webkit-scrollbar{width:8px}.main-layout.view-history::-webkit-scrollbar{width:8px}.main-layout.view-catalog::-webkit-scrollbar{width:8px}.main-layout.view-play::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.main-layout.view-history::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.main-layout.view-catalog::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.main-layout.view-play::-webkit-scrollbar-track{background:0 0}.main-layout.view-history::-webkit-scrollbar-track{background:0 0}.main-layout.view-catalog::-webkit-scrollbar-track{background:0 0}.main-layout.view-play>.view-mode-main-shell,.main-layout.view-history>.view-mode-main-shell,.main-layout.view-catalog>.view-mode-main-shell{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.view-play{transition:opacity .42s,transform .42s,filter .42s}.view-history,.view-catalog{filter:blur();opacity:1;transition:opacity .42s,transform .52s cubic-bezier(.2,.9,.2,1),filter .52s;transform:none}.view-mode-footer-shell{box-sizing:border-box;flex-shrink:0;align-self:stretch;width:100%;max-width:100%;overflow:hidden visible}@supports (overflow-clip-margin:1px){.view-mode-footer-shell{overflow-clip-margin:14px;overflow-x:clip}}.main-layout.view-play>.view-mode-footer-shell,.main-layout.view-history>.view-mode-footer-shell,.main-layout.view-catalog>.view-mode-footer-shell{margin-top:auto}.main-layout.view-play>.view-mode-footer-shell:not(.view-mode-main-shell),.main-layout.view-history>.view-mode-footer-shell:not(.view-mode-main-shell),.main-layout.view-catalog>.view-mode-footer-shell:not(.view-mode-main-shell){z-index:6;padding-top:var(--main-to-footer-gap);padding-bottom:calc(56px + max(4px, env(safe-area-inset-bottom,0px)));-webkit-backdrop-filter:blur(14px)saturate(130%);background:linear-gradient(#060b1900 0%,#070c1cc7 32%,#070c1cad 52%,#070c1c59 74%,#02030914 90%,#02030900 100%);flex-shrink:0;margin-top:0;position:sticky;bottom:0}.main-layout.view-play>.view-mode-footer-shell:not(.view-mode-main-shell):after,.main-layout.view-history>.view-mode-footer-shell:not(.view-mode-main-shell):after,.main-layout.view-catalog>.view-mode-footer-shell:not(.view-mode-main-shell):after{content:"";pointer-events:none;z-index:0;opacity:.75;background:linear-gradient(#6366f10f 0%,#4f46e506 50%,#0000 100%);height:min(72px,32%);position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 22% 100%);mask-image:linear-gradient(#0000 0%,#000 22% 100%)}.main-layout.view-play>.view-mode-footer-shell:not(.view-mode-main-shell) .view-mode-footer-track,.main-layout.view-history>.view-mode-footer-shell:not(.view-mode-main-shell) .view-mode-footer-track,.main-layout.view-catalog>.view-mode-footer-shell:not(.view-mode-main-shell) .view-mode-footer-track{z-index:1;position:relative}.view-mode-main-shell.view-mode-footer-shell{overflow:hidden}.view-mode-track-clip{scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#94a3b880 transparent;box-sizing:border-box;-webkit-overflow-scrolling:touch;flex:auto;width:100%;max-width:100%;min-height:0;position:relative;overflow:hidden auto}.view-mode-track-clip::-webkit-scrollbar{width:8px}.view-mode-track-clip::-webkit-scrollbar-thumb{background:#94a3b88c;border-radius:999px}.view-mode-track-clip::-webkit-scrollbar-track{background:0 0}.view-mode-footer-track{will-change:transform;flex-direction:row;align-items:flex-start;width:300%;display:flex}.app-root.app-mounted .view-mode-footer-track{transition:transform .48s cubic-bezier(.2,.9,.2,1)}.view-mode-footer-track[data-slot="0"]{transform:translate(0)}.view-mode-footer-track[data-slot="1"]{transform:translate(-33.3333%)}.view-mode-footer-track[data-slot="2"]{transform:translate(-66.6667%)}.view-mode-footer-panel{box-sizing:border-box;flex:0 0 33.3333%;min-width:0}.view-mode-main-shell .view-mode-footer-panel{flex-direction:column;flex:0 0 33.3333%;min-height:min-content;display:flex}.view-mode-main-shell .view-mode-footer-panel .main-top-row{flex:none;min-height:min-content}.view-mode-footer-panel:not(.view-mode-footer-panel--active){pointer-events:none;visibility:hidden}.view-mode-footer-panel.view-mode-footer-panel--active{visibility:visible}.view-mode-main-shell .view-mode-footer-panel:not(.view-mode-footer-panel--active){align-self:flex-start;height:0;min-height:0;overflow:hidden}.main-layout .main-top-row{gap:var(--main-grid-column-gap);column-gap:var(--main-grid-column-gap);row-gap:var(--main-grid-column-gap);box-sizing:border-box;grid-template-columns:minmax(0,62fr) minmax(0,38fr);align-items:stretch;width:100%;min-width:0;max-width:100%;min-height:0;display:grid}.main-layout.view-play .main-top-row,.main-layout.view-history .main-top-row,.main-layout.view-catalog .main-top-row{min-height:min-content}.main-layout .main-top-row>.board-zone{z-index:1;isolation:isolate;align-self:stretch;width:100%;min-width:0;min-height:0;position:relative}.main-layout.view-play .main-top-row>.board-zone.board-zone--board-only-row,.main-layout.view-history .main-top-row>.board-zone.board-zone--board-only-row,.main-layout.view-catalog .main-top-row>.board-zone.board-zone--catalog-row{align-self:start;min-height:min-content}.main-layout .main-top-row>.side-panel{isolation:isolate;min-width:0;min-height:0;box-shadow:none;background:0 0;align-self:stretch}.main-layout.view-play .main-top-row>.side-panel,.main-layout.view-history .main-top-row>.side-panel{align-self:start}.intro{z-index:50;pointer-events:auto;opacity:1;filter:blur();place-items:center;transition:opacity .52s,transform .52s cubic-bezier(.2,.9,.2,1),filter .52s;display:grid;position:absolute;inset:0;transform:translateY(0)}.intro-hide{opacity:0;filter:blur(10px);pointer-events:none;transform:translateY(-10px)scale(.99)}.intro-glass{-webkit-backdrop-filter:blur(28px)saturate(150%);backdrop-filter:blur(28px)saturate(150%);background:radial-gradient(circle at 15% 0,#8b5cf638,#0000 55%),radial-gradient(circle at 100% 20%,#3b82f62e,#0000 55%),linear-gradient(#ffffff1f,#ffffff08),#060b19b8;border-radius:28px;width:min(720px,86vw);padding:28px;position:relative;overflow:hidden;box-shadow:0 45px 140px #0000009e,inset 0 0 0 1px #ffffff0d}.intro-glass:after{content:"";filter:blur(14px);pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffffff0f 35%,#8b5cf61a 50%,#0000 70%);animation:7.2s ease-in-out infinite boardSheen;position:absolute;inset:-60% -40%}.intro-kicker{letter-spacing:2.2px;opacity:.76;color:#bfd0f2;z-index:1;font-size:12px;position:relative}.intro-title{letter-spacing:.02em;background:linear-gradient(90deg,#3b82f6,#8b5cf6,#a5b4fc);color:#0000;text-shadow:0 26px 90px #6d5bff2e,0 12px 30px #00000059;z-index:1;-webkit-background-clip:text;background-clip:text;margin-top:10px;font-size:clamp(56px,8vh,92px);font-weight:900;line-height:1;position:relative}.intro-actions{z-index:1;gap:12px;margin-top:18px;display:flex;position:relative}.intro-enter{height:48px;padding:0 22px;font-weight:900}.intro-arrow{opacity:.9;margin-left:6px;display:inline-block}.board-zone{flex-direction:column;gap:12px;min-height:0;display:flex}.main-layout.view-play .board-zone.board-zone--board-only-row,.main-layout.view-history .board-zone.board-zone--board-only-row,.main-layout.view-catalog .board-zone.board-zone--catalog-row{z-index:1;height:auto;position:relative}.board-zone--catalog-demo .board{filter:saturate(1.08)brightness(1.03)}.board-zone--catalog-demo .board-container{box-shadow:var(--shadow-glass-soft), 0 0 0 1px #8b5cf652, 0 0 40px #3b82f614}.board-wrap{width:100%;max-width:min(100%, calc(100dvh - var(--app-chrome-y)), calc(100vw - 2 * var(--layout-pad-x)));aspect-ratio:1;box-sizing:border-box;border-radius:26px;flex-shrink:0;margin-inline:auto;overflow:visible}.board-container{isolation:isolate;backface-visibility:hidden;-webkit-backdrop-filter:blur(30px)saturate(170%);backdrop-filter:blur(30px)saturate(170%);box-shadow:var(--shadow-glass-soft), var(--shadow-glass-ring);background:radial-gradient(circle at 10% 0,#3b82f62e,#0000 60%),radial-gradient(circle at 100% 100%,#818cf84d,#0000 60%),#060b19e0;border-radius:26px;width:100%;min-width:0;height:100%;padding:18px;position:relative;overflow:hidden}.main-layout .main-top-row>.board-zone .board-container{background:radial-gradient(circle at 10% 0,#3b82f629,#0000 58%),radial-gradient(circle at 88% 92%,#818cf824,#0000 52%),#060b19e0}.board-container:before{content:"";border-radius:inherit;opacity:.75;pointer-events:none;background:radial-gradient(circle at 18% 0,#ffffff1a,#0000 55%);position:absolute;inset:0}.board-kick-shell{transform-origin:50%;will-change:transform, filter;border-radius:22px;position:absolute;inset:0}.board-kick-0,.board-kick-1{transition:transform .56s cubic-bezier(.22,.82,.28,1),filter .56s}.board-kick-0{transform:translateY(0)translateZ(0)}.board-kick-1{filter:brightness(1.025)saturate(1.02);transform:translateY(-1.5px)scale(1.006)translateZ(0)}.board-shadow{opacity:.7;pointer-events:none;background:radial-gradient(circle at 50% 0,#ffffff0a,#0000 70%);border-radius:24px;position:absolute;inset:22px 26px 18px}.board{box-sizing:border-box;touch-action:manipulation;-webkit-user-select:none;user-select:none;--cellPx:calc((var(--boardPx,640px) - 36px) / 14);width:100%;height:100%;box-shadow:var(--shadow-board-inner-soft), 0 0 0 1px #94a3b852;background:linear-gradient(145deg,#0b1220,#020617),radial-gradient(circle at 0 0,#f9fafb0f,#0000 60%);border-radius:22px;padding:0;position:relative;overflow:hidden}.board-sheen{filter:blur(10px);opacity:.85;pointer-events:none;background:linear-gradient(115deg,#0000 0%,#ffffff0f 35%,#8b5cf61a 45%,#3b82f61a 55%,#0000 72%);animation:7.2s ease-in-out infinite boardSheen;position:absolute;inset:-24% -12% -24% -8%;transform:translate(-8%)rotate(10deg)}.board-grid{pointer-events:none;background-image:linear-gradient(90deg,#94a3b84d 1px,#0000 1px),linear-gradient(#94a3b84d 1px,#0000 1px);background-size:var(--cellPx) var(--cellPx);opacity:.95;background-position:0 0;background-repeat:repeat;border-radius:20px;position:absolute;inset:18px;overflow:hidden;-webkit-mask-image:radial-gradient(circle,#000 0%,#000000eb 55%,#0000 76%);mask-image:radial-gradient(circle,#000 0%,#000000eb 55%,#0000 76%)}.board-focus{pointer-events:none;background:radial-gradient(circle at var(--focusX,50%) var(--focusY,50%), #ffffff12 0%, #8b5cf60f 22%, transparent 55%);mix-blend-mode:screen;opacity:.95;border-radius:20px;transition:background-position .22s,opacity .22s;position:absolute;inset:18px}.board-vignette{pointer-events:none;background:radial-gradient(circle,#0000 0%,#0000006b 65%,#0000009e 100%);border-radius:22px;position:absolute;inset:0}.pt{z-index:2;width:min(36px, calc(var(--cellPx) * 1.72), calc(var(--cellPx) * .86));height:min(36px, calc(var(--cellPx) * 1.72), calc(var(--cellPx) * .86));cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;position:absolute;transform:translate(-50%,-50%)}.pt:focus-visible{outline:none}.board-zone--history-crossfade .board-container{animation:none}.pt--history-cross{z-index:3}.history-stone-stack{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.history-stone-stack .stone{inset:calc(var(--cellPx) * .14);position:absolute}@keyframes historyStoneOut{0%{opacity:1;filter:brightness();transform:scale(.9)}to{opacity:0;filter:brightness(.72);transform:scale(.78)}}@keyframes historyStoneIn{0%{opacity:0;filter:brightness(1.12);transform:scale(.72)}to{opacity:1;filter:brightness();transform:scale(.9)}}.pt-cross{pointer-events:none;position:absolute;inset:0}.pt-cross:before,.pt-cross:after{content:"";width:calc(var(--cellPx) * .75);background:#e2e8f038;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px #8b5cf61f}.pt-cross:after{width:1px;height:calc(var(--cellPx) * .75)}.pt:hover .pt-cross:before,.pt:hover .pt-cross:after{background:#f8fafc4d}.pt-hint:after{content:"";inset:calc(var(--cellPx) * .28);background:radial-gradient(circle,#f8fafc80,#0000 70%);border-radius:50%;animation:1.3s ease-in-out infinite hintPulse;position:absolute;box-shadow:0 0 0 1px #f8fafce6}.pt-win{filter:none}.stone{inset:calc(var(--cellPx) * .14);transform-origin:50%;border-radius:50%;animation:none;position:absolute;transform:scale(.9);box-shadow:0 8px 10px #0009,0 0 0 1px #0f172ae6}.stone.history-stone-out{z-index:1;animation:.46s cubic-bezier(.28,.52,.38,1) forwards historyStoneOut}.stone.history-stone-in{z-index:2;animation:.46s cubic-bezier(.28,.52,.38,1) forwards historyStoneIn}.stone.history-deselect-stone-out{z-index:2;animation:.4s cubic-bezier(.28,.52,.38,1) forwards historyDeselectStoneOut}@keyframes historyDeselectStoneOut{0%{opacity:1;filter:brightness();transform:scale(.9)}to{opacity:0;filter:brightness(.78)saturate(.85);transform:scale(.72)}}.stone.stone-last:not(.stone-catalog){animation:.28s cubic-bezier(.2,.78,.22,1) forwards dropInLast}.stone-white.stone-last.stone-ai-drop:not(.stone-catalog){backface-visibility:hidden;animation:.42s cubic-bezier(.18,.72,.22,1) forwards dropInAiLast}.stone-white.stone-last.stone-ai-drop:not(.stone-catalog):after{animation:.55s ease-out .1s forwards aiStoneRippleSoft}@keyframes dropInAiLast{0%{opacity:0;transform:translateY(-14px)scale(.5)}55%{opacity:1}72%{transform:translateY(2px)scale(.96)}to{opacity:1;transform:translate(0,0)scale(.9)}}@keyframes aiStoneRippleSoft{0%{opacity:0}35%{opacity:.4}to{opacity:0}}.stone-black{background:radial-gradient(circle at 30% 25%,#4b5563,#020617 70%)}.stone-white{background:radial-gradient(circle at 30% 25%,#f9fafb,#d1d5db 65%)}.stone.stone-undo-vanish{pointer-events:none;animation:.4s cubic-bezier(.25,.82,.32,1) forwards stoneUndoVanish!important}.stone.stone-undo-vanish:after{opacity:0!important;animation:none!important}@keyframes stoneUndoVanish{0%{opacity:1;filter:saturate()brightness();transform:scale(.9)}55%{filter:saturate(.65)brightness(1.12)}to{opacity:0;transform:scale(.52) translateY(calc(var(--cellPx) * .35));filter:blur(2px)brightness(1.25)}}@keyframes stoneUndoVanishReduced{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.stone.stone-undo-vanish{animation:.2s forwards stoneUndoVanishReduced!important}}.stone-last:after{content:"";inset:calc(var(--cellPx) * .28);transform-origin:50%;pointer-events:none;border-radius:50%;animation:1.55s cubic-bezier(.22,.55,.28,1) forwards stoneLastGlowFade;position:absolute}.stone-afterglow:after{content:"";inset:calc(var(--cellPx) * .28);transform-origin:50%;pointer-events:none;border-radius:50%;animation:3.1s cubic-bezier(.18,.55,.22,1) forwards stoneAfterglowFade;position:absolute}.board-zone--catalog-demo .stone{opacity:1;animation:none;transform:scale(.9)}.board-zone--catalog-demo .stone.stone-catalog{z-index:2;animation:.58s cubic-bezier(.25,.82,.3,1) forwards catalogStoneDrop}@keyframes catalogStoneDrop{0%{opacity:0;filter:blur(2px)brightness(1.22);transform:translateY(-12px)scale(.42);box-shadow:0 4px 18px #0000006b,0 0 0 1px #0f172ae6}38%{opacity:1;filter:blur()brightness(1.08)}68%{filter:brightness(1.06)drop-shadow(0 0 14px #38bdf838);transform:translateY(0)scale(.94)}84%{filter:brightness(1.04)drop-shadow(0 0 16px #818cf852);transform:scale(.88)}to{opacity:1;filter:brightness()drop-shadow(0 0 6px #6366f12e);transform:scale(.9);box-shadow:0 10px 22px #00000094,0 0 0 1px #0f172aeb,0 0 14px #60a5fa38}}.board-zone--catalog-demo .stone.stone-catalog.stone-last:after{animation:1.35s cubic-bezier(.25,.5,.35,1) 80ms both catalogStoneLastRing}@keyframes catalogStoneLastRing{0%{opacity:0;transform:scale(.72);box-shadow:0 0 #38bdf847,0 0 #818cf833}28%{opacity:1}52%{opacity:.82;transform:scale(1.08);box-shadow:0 0 0 1px #a5b4fc73,0 0 18px #38bdf838,0 0 26px #6366f133}to{opacity:0;transform:scale(1.14);box-shadow:0 0 #38bdf800,0 0 #818cf800}}@keyframes catalogStoneDropReduced{0%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.board-zone--catalog-demo .stone.stone-catalog{animation:.22s ease-out forwards catalogStoneDropReduced}.board-zone--catalog-demo .stone.stone-catalog.stone-last:after{opacity:.85;animation:none}}.status-strip{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(90deg,#0f172ae6,#111827f5),radial-gradient(circle at 0,#3b82f652,#0000 60%);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex;overflow:visible;box-shadow:0 20px 60px #0f172ae6,0 0 0 1px #1e40af99}.main-layout.view-play .status-strip--under-board,.main-layout.view-history .status-strip--under-board,.main-layout.view-catalog .status-strip--catalog-under-board{z-index:0;box-sizing:border-box;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;max-width:100%;box-shadow:var(--shadow-footer-soft), inset 0 0 26px -10px #1e3a8a59, inset 0 0 0 1px #94a3b81a, 0 8px 22px #0f172a2e, 0 16px 40px #3b82f60f, 0 26px 52px #6366f10a;background:linear-gradient(90deg,#0f172ae6,#111827f5),radial-gradient(circle at 0,#3b82f652,#0000 60%);border-radius:18px;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-self:stretch;align-items:center;column-gap:16px;margin:0;padding:12px 20px;display:grid;position:relative}.main-layout.view-play .status-strip--under-board .status-main,.main-layout.view-history .status-strip--under-board .status-main,.main-layout.view-catalog .status-strip--catalog-under-board .status-main{grid-column:1;justify-self:start;min-width:0}.main-layout.view-play .status-strip--under-board .status-secondary,.main-layout.view-history .status-strip--under-board .status-secondary,.main-layout.view-catalog .status-strip--catalog-under-board .status-secondary{text-align:center;grid-column:2;justify-self:center}.main-layout.view-play .status-strip--under-board .status-strip-actions,.main-layout.view-history .status-strip--under-board .status-strip-actions,.main-layout.view-catalog .status-strip--catalog-under-board .status-strip-actions{flex-wrap:wrap;grid-column:3;justify-self:end;align-items:center;gap:10px;display:flex}.main-layout.view-play .status-strip--under-board>.pill,.main-layout.view-history .status-strip--under-board>.pill,.main-layout.view-catalog .status-strip--catalog-under-board>.pill{grid-column:3;justify-self:end}.status-main{font-size:14px;font-weight:600}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking{box-shadow:var(--shadow-footer-soft), inset 0 0 28px -8px #4f46e538, inset 0 2px 14px #ffffff0d, inset 0 0 0 1px #bac6fc1f, 0 0 0 1px #8b96ff61, 0 0 26px #6366f14d, 0 0 42px #6366f129, 0 -6px 30px #818cf824, 0 10px 28px #4f46e517, 0 20px 44px #6366f10d;background:linear-gradient(90deg,#0f172aeb,#1e1b4bf0,#0f172aeb),linear-gradient(#818cf81a 0%,#0000 38%),radial-gradient(120% 90% at 28% -20%,#6366f12e,#0000 52%);overflow:hidden visible}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;filter:blur(5px);mix-blend-mode:soft-light;opacity:.78;will-change:background-position, opacity, transform;background-image:linear-gradient(#e0f2fe24 0%,#bae6fd1a 10%,#7dd3fc0f 22%,#6366f108 38%,#0000 58%),radial-gradient(110% 95% at 50% 0,#fff3 0%,#bae6fd24 28%,#6366f114 52%,#0000 78%);background-position:0 0,-35% 0;background-repeat:no-repeat;background-size:100% 100%,165% 120%;animation:10.5s cubic-bezier(.38,.02,.22,1) infinite statusAiThinkingTopRimSweep,2.85s cubic-bezier(.42,.12,.58,.88) infinite statusAiThinkingTopRimBreath,5.5s ease-in-out infinite statusAiThinkingTopRimSway;position:absolute;inset:-6px -4px 0;transform:translateZ(0)}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking.status-strip--ai-worker-busy:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;filter:blur(4px);mix-blend-mode:soft-light;opacity:.48;will-change:opacity;background:radial-gradient(125% 100% at 50% -5%,#c7d2fe1f 0%,#818cf812 35%,#4f46e508 55%,#0000 72%);animation:3.8s cubic-bezier(.4,.1,.6,.9) infinite statusAiThinkingWorkerVeil;position:absolute;inset:-4px -4px 0;transform:translateZ(0)}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking .status-main,.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking .status-secondary,.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking .status-strip-actions{z-index:2;position:relative}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking.status-strip--ai-worker-busy{animation:2.45s cubic-bezier(.36,.1,.34,1) infinite statusStripAiThinkingPulse}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking .status-main.status-main--ai-thinking{animation:3.25s cubic-bezier(.42,.08,.58,.92) infinite statusMainAiThinkingBreath}.main-layout.view-play .status-strip--under-board .status-main.status-main--ai-thinking{letter-spacing:.04em;color:#e0e7ff;text-shadow:0 0 22px #a5b4fc9e,0 0 36px #6366f147;font-size:16px;font-weight:700}@keyframes statusStripAiThinkingPulse{0%,to{box-shadow:var(--shadow-footer-soft), inset 0 0 28px -8px #4f46e533, inset 0 2px 12px #ffffff0a, inset 0 0 0 1px #bac6fc1a, 0 0 0 1px #8b96ff75, 0 0 30px #6366f157, 0 0 48px #6366f12e, 0 -6px 32px #818cf82e, 0 10px 28px #4f46e514, 0 20px 44px #6366f10d}50%{box-shadow:var(--shadow-footer-soft), inset 0 0 32px -6px #818cf847, inset 0 2px 18px #ffffff14, inset 0 0 0 1px #e2e8ff2e, 0 0 0 1px #d2dbffbf, 0 0 48px #a5b4fc73, 0 0 78px #6366f14d, 0 -8px 40px #c7d2fe42, 0 12px 34px #818cf81c, 0 22px 50px #6366f112}}@keyframes statusAiThinkingTopRimSweep{0%,to{background-position:0 0,-52% 0}50%{background-position:0 0,148% 0}}@keyframes statusAiThinkingTopRimBreath{0%,to{opacity:.48}50%{opacity:.96}}@keyframes statusAiThinkingTopRimSway{0%,to{transform:translate(-1.2%)}50%{transform:translate(1.2%)}}@keyframes statusAiThinkingWorkerVeil{0%,to{opacity:.28}50%{opacity:.62}}@keyframes statusMainAiThinkingBreath{0%,to{opacity:.82;text-shadow:0 0 18px #a5b4fc6b,0 0 30px #6366f138}50%{opacity:1;text-shadow:0 0 32px #ecf2ffe0,0 0 54px #818cf87a}}@media (prefers-reduced-motion:reduce){.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking.status-strip--ai-worker-busy{animation:none}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking:before,.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking.status-strip--ai-worker-busy:after{filter:none;opacity:.72;background-position:0 0,45% 0!important;animation:none!important;transform:none!important}.main-layout.view-play .status-strip--under-board.status-strip--ai-thinking .status-main.status-main--ai-thinking{opacity:1;animation:none!important}}.status-secondary{opacity:.85;font-size:12px}.score{color:#e5e7eb;font-weight:700}.undo-btn{z-index:0;color:#f8fafc;background:linear-gradient(90deg,#64748b,#475569);position:relative}.undo-btn:disabled{opacity:.42;cursor:not-allowed}.reset-btn{z-index:0;color:#022c22;background:linear-gradient(90deg,#10b981,#22c55e);position:relative}.main-layout.view-play .pattern-import-dock{box-sizing:border-box;transform-origin:50% 100%;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:100%;max-width:100%;margin-top:10px;padding:0 8px 6px;animation:.4s cubic-bezier(.2,.85,.28,1) both patternImportDockEnter;display:flex}@keyframes patternImportDockEnter{0%{opacity:0;filter:blur(2px);transform:translateY(14px)scale(.98)}65%{filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes patternImportDockExit{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(3px);transform:translateY(12px)scale(.97)}}.main-layout.view-play .pattern-import-dock.pattern-import-dock--exit{pointer-events:none;animation:.44s cubic-bezier(.25,.82,.32,1) forwards patternImportDockExit}@media (prefers-reduced-motion:reduce){.main-layout.view-play .pattern-import-dock,.main-layout.view-play .pattern-import-dock.pattern-import-dock--exit{filter:none!important;animation:none!important;transform:none!important}}.main-layout.view-play .pattern-import-dock__btn{white-space:nowrap;padding:8px 14px;font-size:12px}.status-strip .pill.reset-btn.reset-breathe{will-change:transform, box-shadow, filter;transition:none;animation:2.1s ease-in-out infinite resetBreath}.side-panel{isolation:isolate;padding:0;transition:transform .52s cubic-bezier(.2,.9,.2,1),filter .52s,opacity .52s;position:relative}.side-panel-surface{box-sizing:border-box;scrollbar-gutter:auto;scrollbar-width:thin;scrollbar-color:#94a3b873 transparent;-webkit-overflow-scrolling:touch;border-radius:24px;flex-direction:column;flex:auto;width:100%;min-height:0;padding:16px 16px 18px;display:flex;overflow:hidden auto}.side-panel-surface::-webkit-scrollbar{width:6px}.side-panel-surface::-webkit-scrollbar-thumb{background:#94a3b880;border-radius:999px}.side-panel-surface::-webkit-scrollbar-track{background:0 0}.main-layout.view-catalog .main-top-row>.side-panel .side-panel-surface{overflow-y:hidden}.main-layout.view-history .main-top-row>.side-panel .side-panel-surface{flex:0 auto;height:auto;max-height:100%;overflow:hidden visible}.main-layout.view-play .main-top-row>.side-panel,.main-layout.view-history .main-top-row>.side-panel{box-sizing:border-box;z-index:0;flex-direction:column;min-height:0;display:flex;position:relative;overflow:visible}.main-layout.view-history .main-top-row>.side-panel{justify-content:flex-start}.main-layout.view-catalog .main-top-row>.side-panel{filter:blur();opacity:1;box-sizing:border-box;z-index:1;flex-direction:column;min-height:0;display:flex;position:relative;overflow:visible;transform:none}.main-layout.view-play .side-panel-surface>.play-side,.main-layout.view-play .play-side-moves{flex-direction:column;flex:1;min-height:0;margin-bottom:0;display:flex}.main-layout.view-play .moves-list{flex:auto;min-height:0;max-height:none;overflow:visible}.glass{-webkit-backdrop-filter:blur(28px)saturate(160%);backdrop-filter:blur(28px)saturate(160%);box-shadow:var(--shadow-glass-soft), var(--shadow-glass-ring);background:radial-gradient(circle at 0 0,#818cf838,#0000 60%),radial-gradient(circle at 120% 0,#2dd4bf33,#0000 55%),linear-gradient(#0f172af5,#0f172ac7)}.main-layout.view-play .main-top-row>.side-panel .side-panel-surface.glass,.main-layout.view-catalog .main-top-row>.side-panel .side-panel-surface.glass{box-shadow:var(--shadow-glass-soft), var(--shadow-glass-ring);height:100%;max-height:100%}.main-layout.view-history .main-top-row>.side-panel .side-panel-surface.glass{box-shadow:var(--shadow-glass-soft), var(--shadow-glass-ring);height:auto;max-height:none}.main-layout .main-top-row>.side-panel .side-panel-surface.glass{background:radial-gradient(circle at 92% 8%,#818cf829,#0000 58%),radial-gradient(circle at 100% 0,#2dd4bf1f,#0000 55%),linear-gradient(#0f172af5,#0f172ac7)}.panel-section{margin-bottom:18px}.panel-title{letter-spacing:.03em;text-transform:uppercase;opacity:.9;font-size:14px;font-weight:700}.panel-sub{opacity:.78;margin-top:4px;font-size:12px}.play-side-header{text-align:center;border-bottom:1px solid #94a3b82e;flex-shrink:0;margin:-2px 0 14px;padding-bottom:14px}.play-side-title{letter-spacing:.12em;color:#e8eefc;margin:0 0 10px;font-size:16px;font-weight:800}.play-side-difficulty-row{justify-content:center;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;display:flex}.play-side-difficulty-label{opacity:.72;font-weight:600}.play-side-difficulty-badge{letter-spacing:.06em;color:#bfdbfe;background:#3b82f62e;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-block;box-shadow:0 0 0 1px #60a5fa59}.play-side-difficulty-badge--easy{color:#bbf7d0;background:#22c55e29;box-shadow:0 0 0 1px #4ade8059}.play-side-difficulty-badge--normal{color:#bfdbfe;background:#3b82f62e}.play-side-difficulty-badge--hard{color:#fecaca;background:#ef444424;box-shadow:0 0 0 1px #f8717159}.play-side-desc{opacity:.78;max-width:22em;margin:0 auto;font-size:11px;line-height:1.5}.panel-title--moves{text-align:left;text-transform:none;letter-spacing:.02em;margin-bottom:6px;font-size:13px}.moves-list{margin-top:10px;overflow:visible}.empty{opacity:.7;margin-top:14px;font-size:12px}.move-row{background:#0f172ae6;border-radius:12px;margin-bottom:6px;padding:8px 8px 7px;box-shadow:0 1px #94a3b833,0 0 0 1px #1e40af66}.move-row-new{animation:.52s cubic-bezier(.2,.9,.2,1) moveIn}.move-meta{align-items:center;gap:6px;margin-bottom:3px;display:flex}.badge{border:1px solid #1f2937e6;border-radius:999px;padding:1px 7px;font-size:11px}.badge-black{background:linear-gradient(135deg,#0f172a,#020617)}.badge-white{color:#020617;background:linear-gradient(135deg,#e5e7eb,#f9fafb)}.move-coord{opacity:.85;font-size:11px}.move-detail{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.move-pattern{opacity:.9}.move-score{font-size:11px;font-weight:600}.move-score.pos{color:#4ade80}.move-score.neg{color:#f97373}.history-preview .pill{margin-top:10px}@keyframes hintPulse{0%{opacity:.1;transform:scale(.9)}50%{opacity:.9;transform:scale(1.02)}to{opacity:.1;transform:scale(.9)}}@keyframes dropInLast{0%{opacity:0;filter:blur(.65px);transform:translateY(-4px)scale(.84)}42%{opacity:1;filter:blur()}78%{transform:translateY(0)scale(.92)}to{opacity:1;filter:none;transform:translateY(0)scale(.9)}}@keyframes stoneLastGlowFade{0%{opacity:0;transform:scale(.94);box-shadow:0 0 #e2e8f000,0 0 #38bdf800}18%{opacity:1;transform:scale(1);box-shadow:0 0 0 1px #cbd5e161,0 0 12px #38bdf81f,0 0 22px #6366f124}45%{opacity:.72;transform:scale(1.015);box-shadow:0 0 0 1px #94a3b838,0 0 10px #818cf824}to{opacity:0;transform:scale(1.04);box-shadow:0 0 #e2e8f000,0 0 #38bdf800}}@keyframes stoneAfterglowFade{0%{opacity:.88;transform:scale(1.01);box-shadow:0 0 0 1px #cbd5e152,0 0 14px #38bdf824,0 0 26px #6366f11f}42%{opacity:.48;transform:scale(1.028);box-shadow:0 0 0 1px #94a3b82e,0 0 12px #6366f11a}to{opacity:0;transform:scale(1.07);box-shadow:0 0 #94a3b800,0 0 #6366f100}}@keyframes dropInReduced{0%{opacity:.88}to{opacity:1}}@keyframes stoneLastGlowFadeReduced{0%{opacity:.22}to{opacity:0}}@keyframes stoneAfterglowFadeReduced{0%{opacity:.42}to{opacity:0}}@media (prefers-reduced-motion:reduce){.stone.history-stone-out,.stone.history-stone-in,.stone.history-deselect-stone-out{animation-duration:.14s}.stone.stone-last:not(.stone-catalog){animation:.18s ease-out forwards dropInReduced}.stone-white.stone-last.stone-ai-drop:not(.stone-catalog){animation:.2s ease-out forwards dropInReduced}.stone-white.stone-last.stone-ai-drop:not(.stone-catalog):after,.stone-last:after{animation:.45s ease-out forwards stoneLastGlowFadeReduced}.stone-afterglow:after{animation:.95s ease-out forwards stoneAfterglowFadeReduced}}@keyframes boardSheen{0%{opacity:.55;transform:translate(-22%)rotate(10deg)}45%{opacity:.85}to{opacity:.55;transform:translate(26%)rotate(10deg)}}@keyframes moveIn{0%{opacity:0;filter:blur(8px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}.win-line-svg{z-index:20;pointer-events:none;animation:.52s cubic-bezier(.2,.9,.2,1) forwards winLinePop;position:absolute;inset:0}.win-line-svg--white-win{z-index:45}.win-line-svg--white-win .win-line-main{filter:drop-shadow(0 0 1px #0f172abf)drop-shadow(0 0 10px #6366f173)}.win-line-glow{animation:.9s ease-in-out infinite alternate winLineGlide}.pt.pt-win .stone-white{box-shadow:0 8px 10px #00000094,0 0 0 2px #6366f1e0,0 0 14px #8b5cf652}@keyframes winLineGlide{0%{opacity:.14;filter:blur()}to{opacity:.24;filter:blur(.4px)}}@keyframes winLinePop{0%{opacity:0;filter:blur(3px);transform:scale(.985)}60%{opacity:1;filter:blur();transform:scale(1)}to{opacity:.98;transform:scale(1)}}.result-flash{z-index:80;pointer-events:none;contain:layout paint;place-items:center;display:grid;position:absolute;inset:0}.result-text{letter-spacing:.02em;color:#fffffff5;text-shadow:0 40px 140px #000000d9,0 12px 40px #3b82f638;will-change:opacity, transform;font-size:clamp(54px,10vh,120px);font-weight:950}.result-flash.show .result-text{opacity:1;filter:blur();transition:opacity .42s,transform .52s cubic-bezier(.2,.9,.2,1),filter .42s;transform:translateY(0)scale(1)}.result-flash.hide .result-text{opacity:0;transition:opacity .52s,transform .52s cubic-bezier(.2,.9,.2,1);transform:translateY(-8px)scale(.99)}@keyframes resetBreath{0%,to{filter:brightness();outline-offset:0;outline:0 solid #0000;transform:translateY(0)scale(1);box-shadow:0 10px 28px #00000073,0 0 0 1px #a7f3d073,0 0 18px #34d39959}50%{filter:brightness(1.15)saturate(1.15);outline-offset:3px;outline:2px solid #ccfbf1e6;transform:translateY(-3px)scale(1.08);box-shadow:0 20px 52px #10b98199,0 0 0 2px #ecfdf5fa,0 0 36px #34d399bf,0 0 64px #10b98173}}.pattern-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box;background:#0f172aa6;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:100%;max-width:120px;height:52px;min-height:48px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #94a3b82e}.pattern-preview--grid{width:100%;min-height:96px;max-height:160px}.pattern-preview-svg{width:100%;height:100%;max-height:52px;display:block}.catalog-detail-shape-preview .pattern-preview--grid .pattern-preview-svg{max-height:140px}.pattern-sweep{stroke-dasharray:18 10;animation:1.25s linear infinite previewSweep}.pattern-dot{opacity:.78;transition:opacity .18s,r .18s}.pattern-dot.on{opacity:1}.pattern-dot.on.pattern-dot-black{fill:#000;stroke:#e2e8f09e;stroke-width:1.45px;filter:drop-shadow(0 1px 2px #000000d9)}.pattern-dot.on.pattern-dot-white{fill:#fff;stroke:#0f172aeb;stroke-width:1.45px;filter:drop-shadow(0 1px 3px #0006)}.pattern-dot.off{opacity:.25;fill:#e2e8f08c}@keyframes previewSweep{0%{stroke-dashoffset:0;filter:drop-shadow(0 0 #8b5cf600)}55%{filter:drop-shadow(0 0 14px #8b5cf666)}to{stroke-dashoffset:-60px;filter:drop-shadow(0 0 #8b5cf600)}}.history-header-row{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.history-header-text{flex:1;min-width:0}.history-delete-mode-btn{letter-spacing:.06em;color:#e2e8f0eb;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f172ab8;border:none;border-radius:999px;flex-shrink:0;margin-top:2px;padding:8px 14px;font-size:12px;font-weight:700;transition:transform .22s cubic-bezier(.2,.9,.2,1),box-shadow .22s,background .22s,color .22s;box-shadow:inset 0 0 0 1px #94a3b847,0 10px 28px #00000059}.history-delete-mode-btn:hover{background:#3b82f629;box-shadow:inset 0 0 0 1px #60a5fa73,0 14px 36px #3b82f61f}.history-delete-mode-btn:active{transform:scale(.96)}.history-toolbar-slot{grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.2,.9,.2,1);display:grid}.history-toolbar-slot--open{grid-template-rows:1fr}.history-toolbar-slot-inner{min-height:0;overflow:hidden}.history-toolbar-slot-inner .history-toolbar{margin-top:10px;padding-bottom:2px}.history-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.history-toolbar-all{color:#e2e8f0e0;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.history-toolbar-all input{accent-color:#60a5fa;cursor:pointer;width:16px;height:16px}.history-delete-btn:not(:disabled){color:#fee2e2f2;box-shadow:inset 0 0 0 1px #f8717159,0 8px 24px #00000040}.history-delete-btn:disabled{opacity:.45;cursor:not-allowed}.history-card-row{align-items:stretch;gap:0;margin-bottom:10px;transition:gap .32s cubic-bezier(.2,.9,.2,1);display:flex}.history-only--delete-mode .history-card-row{gap:8px}.history-card-cb-shell{opacity:0;pointer-events:none;flex-shrink:0;justify-content:center;align-items:flex-start;width:0;max-width:0;padding-top:12px;transition:width .34s cubic-bezier(.2,.9,.2,1),max-width .34s cubic-bezier(.2,.9,.2,1),opacity .26s;display:flex;overflow:hidden}.history-card-cb-shell--on{opacity:1;pointer-events:auto;width:22px;max-width:22px}.history-card-row-selected .history-card-cb{opacity:1}.history-card-cb{cursor:pointer;accent-color:#60a5fa;flex-shrink:0;width:18px;height:18px;animation:.28s cubic-bezier(.34,1.35,.64,1) both historyCbPop}@keyframes historyCbPop{0%{opacity:.5;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.history-only--delete-mode .history-card{transition:transform .34s cubic-bezier(.2,.9,.2,1),box-shadow .16s,background .16s;transform:translate(4px)}.history-card-row .history-card{flex:1;min-width:0;margin-bottom:0}.history-list-controls{flex-direction:column;flex-shrink:0;gap:10px;margin-top:12px;display:flex}.history-filter-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.history-filter-label{color:#e2e8f0e0;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:12px;display:flex}.history-filter-text{flex-shrink:0}.history-date-input{color:#e2e8f0f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;box-sizing:border-box;background:#0f172abf;border:1px solid #94a3b859;border-radius:10px;min-height:32px;padding:6px 10px;font-size:12px}.history-filter-clear{padding:6px 12px;font-size:12px}.history-pagination-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;display:flex}.history-page-size-label{color:#e2e8f0d9;align-items:center;gap:8px;font-size:12px;display:flex}.history-page-size-select{color:#e2e8f0f2;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer;background:#0f172ad9;border:1px solid #94a3b859;border-radius:10px;min-height:32px;padding:6px 10px;font-size:12px}.history-pagination-actions{flex-wrap:wrap;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:min(100%,220px);display:flex}.history-page-indicator{color:#bac6e0d1;text-align:right;max-width:min(100%,280px);font-size:11px;line-height:1.35}.history-list{max-height:min(340px,42vh);margin-top:10px;padding-right:4px;overflow:auto}.main-layout.view-history .panel-section.history-only,.main-layout.view-catalog .panel-section.catalog-only{flex-direction:column;flex:1;min-height:0;margin-bottom:0;display:flex}.main-layout.view-catalog .panel-section.catalog-only{height:100%;max-height:100%}.main-layout.view-history .panel-section.history-only{flex:0 auto;height:auto;max-height:100%;overflow:visible}.main-layout.view-history .history-list{flex:0 auto;min-height:0;max-height:min(52dvh,440px);overflow-y:auto}.history-list::-webkit-scrollbar{width:4px}.history-list::-webkit-scrollbar-thumb{background:#94a3b899;border-radius:999px}.history-card{text-align:left;cursor:pointer;color:#eaf2ffeb;background:#0f172aa6;border:none;border-radius:16px;width:100%;margin-bottom:10px;padding:10px 12px;transition:transform .16s,box-shadow .16s,background .16s;box-shadow:inset 0 0 0 1px #94a3b82e}.history-card:hover{background:#0f172ac7;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #9aa8ff47,0 20px 60px #00000059}.history-card-selected{background:#3b82f624;box-shadow:inset 0 0 0 1px #3b82f661,0 24px 80px #3b82f629}.history-card-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.history-time{opacity:.85;font-size:11px}.history-result{color:#eaf2ff;opacity:.95;font-size:11px;font-weight:700;transition:color .22s,text-shadow .22s}.history-result--win{color:#4ade80;text-shadow:0 0 18px #4ade8059}.history-result--lose{color:#f87171;text-shadow:0 0 18px #f8717159}.history-result--draw{color:#fbbf24;text-shadow:0 0 14px #fbbf2440}.history-card-sub{opacity:.78;margin-top:6px;font-size:11px}.history-bottom-stack{flex-direction:column;flex-shrink:0;gap:12px;margin-top:12px;padding-top:6px;display:flex}.history-duel-bar{border-top:1px solid #94a3b82e;flex-shrink:0;padding-top:10px;padding-bottom:2px;animation:.42s cubic-bezier(.2,.9,.2,1) both historyDuelIn}@keyframes historyDuelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.history-duel-bar__head{letter-spacing:.12em;justify-content:center;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:800;display:flex}.history-duel-bar__tag{color:#e2e8f0bf;transition:color .26s,transform .26s,text-shadow .26s}.history-duel-bar__tag--win{color:#4ade80;text-shadow:0 0 20px #4ade8073;transform:scale(1.06)}.history-duel-bar__tag--lose{color:#f87171;text-shadow:0 0 20px #f8717173;transform:scale(1.06)}.history-duel-bar__tag--dim{opacity:.45;transform:scale(.96)}.history-duel-bar__tag--agg{opacity:.88;letter-spacing:.08em;font-size:11px;font-weight:700;transform:none}.history-duel-bar__vs{opacity:.5;letter-spacing:.2em;font-size:10px;font-weight:700}.history-duel-bar__track{background:#0f172ad9;border-radius:999px;flex-direction:row;height:10px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #94a3b833}.history-duel-bar__meter{min-width:0;height:100%;transition:width .38s cubic-bezier(.2,.9,.2,1)}.history-duel-bar__meter--you{background:linear-gradient(90deg,#22c55ee0 0%,#22c55e52 100%);border-radius:999px 0 0 999px}.history-duel-bar__meter--ai{background:linear-gradient(270deg,#f87171e0 0%,#f8717152 100%);border-radius:0 999px 999px 0}.history-duel-bar__meta{text-align:center;opacity:.88;margin-top:8px;font-size:11px}.history-duel-bar__score-line{letter-spacing:.02em;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:8px 12px;display:inline-flex}.history-duel-bar__score-group{white-space:nowrap}.history-duel-bar__score-label{opacity:.72;font-weight:700}.history-duel-bar__score-vs-text{opacity:.45;letter-spacing:.12em;text-transform:lowercase;font-size:10px;font-weight:700}.history-duel-bar__score-num{letter-spacing:.04em;font-weight:800}.history-duel-bar__score-num--you{color:#86efac}.history-duel-bar__score-num--ai{color:#fca5a5}.history-bottom-stack .replay-controls{border-top:1px solid #94a3b82e;margin-top:0;padding-top:10px}.replay-row{gap:8px;display:flex}.replay-row .pill{flex:1;justify-content:center}.replay-slider{background:#0f172a80;border-radius:16px;margin-top:12px;padding:8px 10px;box-shadow:inset 0 0 0 1px #94a3b824}.replay-slider input[type=range]{width:100%}.replay-meta{opacity:.8;margin-top:6px;font-size:11px}.catalog-list.catalog-list-scroll{margin-top:0}.catalog-panel{box-sizing:border-box;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172a8c;border-radius:18px;flex-direction:column;flex:1;width:100%;max-width:100%;min-height:0;max-height:100%;padding:14px 14px 16px;transition:box-shadow .36s,filter .52s;display:flex;overflow:hidden auto;box-shadow:inset 0 0 0 1px #94a3b833}.catalog-panel--selected{box-shadow:inset 0 0 0 1px #8b5cf659,0 24px 70px #3b82f61f}.catalog-panel--detail-exiting{filter:saturate(.94);transition:box-shadow .32s cubic-bezier(.33,.72,.28,1),filter .32s}.catalog-header{border-bottom:1px solid #94a3b829;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px 14px;margin-bottom:2px;padding-bottom:12px;display:flex}.catalog-header-left{flex:168px;min-width:0}.catalog-header-left .panel-title{overflow-wrap:break-word;word-break:break-word;max-width:100%}.catalog-header-sub{overflow-wrap:break-word;word-break:break-word;max-width:100%;margin-top:6px;line-height:1.5}.catalog-header-filters{flex-wrap:wrap;flex:220px;justify-content:flex-end;align-items:center;gap:8px 10px;max-width:100%;display:flex}.catalog-header-sort{flex-wrap:wrap;flex:100%;align-items:center;gap:8px 10px;margin-top:4px;display:flex}.catalog-sort-label{letter-spacing:.14em;text-transform:uppercase;color:#94a3b8d1;flex-shrink:0;font-size:10px;font-weight:800}.catalog-sort-chips{flex-wrap:wrap;flex:1;align-items:center;gap:7px 8px;min-width:0;display:flex}.main-layout.view-catalog .catalog-sort-chip{padding:5px 10px;font-size:11px}.catalog-body{flex-direction:column;flex:1;min-height:0;margin-top:12px;display:flex;overflow:hidden}@media (width>=961px){.main-layout.view-catalog .catalog-body{min-height:0}}.catalog-footer{border-top:1px solid #94a3b824;flex-direction:column;flex-shrink:0;gap:12px;min-height:0;margin-top:16px;padding-top:14px;display:flex;overflow:visible}.catalog-footer-summary{flex-shrink:0}.catalog-footer-summary-top{justify-content:space-between;align-items:flex-start;gap:10px 14px;display:flex}.catalog-detail-head--footer{flex:1;min-width:0;margin-bottom:0}.catalog-footer-summary .catalog-detail-title{line-height:1.3}.catalog-footer .catalog-detail-dismiss{white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-top:0}.catalog-footer .catalog-detail-dismiss:disabled{opacity:.45;cursor:default;pointer-events:none}.catalog-detail-shape-preview--footer{margin:8px 0 10px}.catalog-detail-shape-preview--footer .pattern-preview{max-width:min(200px,100%)}.catalog-detail-name-why--footer{margin:0 0 4px;padding:8px 10px;font-size:11px;line-height:1.5}.catalog-list-scroll{box-sizing:border-box;flex-direction:column;flex:auto;gap:10px;max-width:100%;min-height:0;padding-bottom:4px;padding-right:8px;display:flex;overflow:hidden auto}.main-layout.view-catalog .catalog-list-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:12px;min-height:clamp(112px,26vmin,360px);display:grid}.catalog-list-scroll::-webkit-scrollbar{width:4px}.catalog-list-scroll::-webkit-scrollbar-thumb{background:#94a3b899;border-radius:999px}.catalog-detail-section-label{letter-spacing:.14em;text-transform:uppercase;color:#94a3b8e0;margin:0 0 8px;font-size:10px;font-weight:800}.catalog-detail-section-label--desc{letter-spacing:.12em;color:#bac6e2eb;margin-bottom:8px}.catalog-filter-chip{cursor:pointer;letter-spacing:.04em;color:#e2e8f0e0;background:#1e293bbf;border:none;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:650;transition:background .16s,box-shadow .16s,color .16s;box-shadow:0 0 0 1px #94a3b838}.catalog-filter-chip:hover{background:#334155d9}.catalog-filter-chip--active{color:#020617;background:linear-gradient(90deg,#3b82f6,#8b5cf6);box-shadow:0 10px 28px #3b82f659,0 0 0 1px #eff6ff59}.catalog-detail-desc-bar{-webkit-overflow-scrolling:touch;background:#0206176b;border-radius:14px;flex-grow:0;flex-shrink:0;min-height:72px;max-height:min(34vh,200px);margin-top:0;padding:11px 12px 12px;overflow:hidden auto;box-shadow:inset 0 0 0 1px #94a3b824,0 12px 40px #0003}.catalog-detail-desc--in-bar{margin:0}.catalog-detail-desc-placeholder{opacity:.62;margin:0;font-size:11px;font-style:italic;line-height:1.55}.catalog-continue-bar{border-top:1px solid #94a3b824;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px 14px;margin-top:12px;padding-top:12px;animation:.52s cubic-bezier(.2,.85,.28,1) both catalogContinueBarReveal;display:flex}.catalog-continue-bar--boost{animation:.52s cubic-bezier(.2,.85,.28,1) both catalogContinueBarReveal,.92s cubic-bezier(.22,.72,.28,1) 60ms both catalogContinueBarBoostRing}@keyframes catalogContinueBarReveal{0%{opacity:0;filter:blur(3px);transform:translateY(10px)}55%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes catalogContinueBarBoostRing{0%{box-shadow:inset 0 0 #6366f100,0 0 #3b82f600}35%{box-shadow:inset 0 0 0 1px #818cf873,0 0 28px #3b82f638,0 12px 40px #4f46e51f}to{box-shadow:inset 0 0 #6366f100,0 0 #3b82f600}}.catalog-footer-summary--continue-boost{animation:.95s cubic-bezier(.25,.82,.32,1) both catalogFooterContinueSweep}@keyframes catalogFooterContinueSweep{0%{filter:brightness()}40%{filter:brightness(1.06)}to{filter:brightness()}}.catalog-panel.catalog-panel--selected.catalog-panel--continue-boost{animation:.88s cubic-bezier(.26,.82,.34,1) both catalogPanelContinueNudge}@keyframes catalogPanelContinueNudge{0%{box-shadow:inset 0 0 0 1px #8b5cf659,0 24px 70px #3b82f61f}45%{box-shadow:inset 0 0 0 1px #a78bfa80,0 28px 88px #6366f133,0 0 44px #3b82f638}to{box-shadow:inset 0 0 0 1px #8b5cf659,0 24px 70px #3b82f61f}}.catalog-continue-pick{transform-origin:0 0;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px 10px;animation:.42s cubic-bezier(.2,.85,.28,1) both catalogContinuePickEnter;display:flex}@keyframes catalogContinuePickEnter{0%{opacity:0;filter:blur(3px);transform:translateY(12px)scale(.98)}60%{filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.catalog-continue-pick-label{color:#cbd5f5f2;letter-spacing:.02em;font-size:11px;font-weight:600}.catalog-continue-diff-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.catalog-continue-diff-opt{appearance:none;cursor:pointer;letter-spacing:.03em;color:#f8fafcf5;background:#1e293bf0;border:1px solid #94a3b852;border-radius:999px;margin:0;padding:7px 12px;font-size:11px;font-weight:600;line-height:1.25;transition:background .16s,color .16s,box-shadow .16s,border-color .16s,transform .12s;box-shadow:0 4px 18px #00000059,inset 0 0 0 1px #0f172a66}.catalog-continue-diff-opt:hover{color:#fff;background:#334155fa;border-color:#bfdbfe59}.catalog-continue-diff-opt:active{transform:scale(.98)}.catalog-continue-diff-opt--preset{color:#020617;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-color:#eff6ff73;font-weight:700;box-shadow:0 12px 36px #3b82f673,0 0 0 1px #eff6ff6b}.catalog-continue-diff-opt--preset:hover{color:#020617;filter:brightness(1.04)}.catalog-continue-cancel{color:#e2e8f0eb;background:#3341558c;border:1px solid #94a3b838;padding:6px 12px;font-size:11px}.catalog-continue-cancel:hover{background:#475569a6}.catalog-continue-btn{color:#f8fafc;background:linear-gradient(90deg,#3b82f6,#6366f1);flex-shrink:0;padding:8px 14px;font-size:12px;font-weight:700;box-shadow:0 8px 24px #3b82f652}.catalog-continue-bar--boost .catalog-continue-btn{animation:.72s cubic-bezier(.2,.82,.28,1) .12s both catalogContinueBtnPop}@keyframes catalogContinueBtnPop{0%{filter:saturate();transform:scale(1)}40%{filter:saturate(1.12);transform:scale(1.04);box-shadow:0 10px 32px #3b82f673,0 0 24px #818cf859}to{filter:saturate();transform:scale(1);box-shadow:0 8px 24px #3b82f652}}.catalog-continue-hint{color:#bac6e2eb;flex:200px;min-width:0;font-size:11px;line-height:1.45}.catalog-continue-bar--boost .catalog-continue-hint{animation:.65s cubic-bezier(.3,.82,.35,1) .2s both catalogContinueHintFade}@keyframes catalogContinueHintFade{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.catalog-continue-pick{opacity:1;filter:none;transform:none;animation:none!important}.catalog-continue-bar,.catalog-continue-bar--boost,.catalog-footer-summary--continue-boost,.catalog-panel.catalog-panel--selected.catalog-panel--continue-boost,.catalog-continue-bar--boost .catalog-continue-btn,.catalog-continue-bar--boost .catalog-continue-hint,.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-continue-boost{animation:none!important}}.main-layout.view-catalog .catalog-list-scroll .move-card{box-sizing:border-box;flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;width:100%;min-width:0;max-width:100%;min-height:auto;padding:12px 10px 10px;transition:transform .2s,background .22s cubic-bezier(.33,.72,.32,1),box-shadow .22s cubic-bezier(.33,.72,.32,1),opacity .22s,filter .2s;display:flex}.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-selected{animation:.24s cubic-bezier(.22,.82,.28,1) both catalogCardSelectIn}.main-layout.view-catalog .catalog-list-scroll .move-card[data-can-continue=true]{padding-left:22px;position:relative}.main-layout.view-catalog .catalog-list-scroll .move-card[data-can-continue=true]:before{content:"";opacity:.42;pointer-events:none;background:linear-gradient(#34d399,#22d3ee);border-radius:999px;width:3px;height:28px;margin-top:-14px;position:absolute;top:50%;left:10px}.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-continue-boost{animation:.92s cubic-bezier(.26,.82,.34,1) both catalogMoveCardContinueBurst}@keyframes catalogMoveCardContinueBurst{0%{transform:translateY(0);box-shadow:inset 0 0 0 1px #8b5cf66b,0 30px 90px #8b5cf61f}40%{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #34d3998c,0 0 0 1px #22d3ee40,0 36px 100px #2dd4bf2e}to{transform:translateY(0);box-shadow:inset 0 0 0 1px #8b5cf66b,0 30px 90px #8b5cf61f}}.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-exit-out{pointer-events:none;animation:.28s cubic-bezier(.32,.72,.22,1) forwards catalogCardExitRipple}.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-exit-out:hover{background:#0f172a9e;transform:none;box-shadow:inset 0 0 0 1px #94a3b829}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore{animation:.48s cubic-bezier(.25,.55,.25,1) both catalogScrollAreaRestore}@keyframes catalogScrollAreaRestore{0%,to{box-shadow:none}42%{box-shadow:inset 0 0 0 1px #8b5cf61a,inset 0 -12px 32px -22px #6366f112}}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card{animation:.48s cubic-bezier(.22,.65,.2,1) both catalogCardListReveal}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:first-child{animation-delay:0s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(2){animation-delay:18ms}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(3){animation-delay:36ms}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(4){animation-delay:54ms}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(5){animation-delay:72ms}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(6){animation-delay:90ms}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(7){animation-delay:.108s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(8){animation-delay:.126s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(9){animation-delay:.144s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(10){animation-delay:.162s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(11){animation-delay:.18s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(12){animation-delay:.198s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(13){animation-delay:.216s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(14){animation-delay:.234s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(15){animation-delay:.252s}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card:nth-child(16){animation-delay:.27s}@keyframes catalogCardListReveal{0%{opacity:.9;filter:brightness(.98)saturate(.97);transform:translateY(3px)}to{opacity:1;filter:brightness()saturate();transform:translateY(0)}}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card.move-card-restore-in{animation-name:catalogCardRevealFocus;animation-duration:.56s;animation-timing-function:cubic-bezier(.2,.5,.2,1);animation-delay:0s}@keyframes catalogCardRevealFocus{0%{opacity:.9;filter:brightness(.97)saturate(.97);transform:translateY(4px)scale(.998);box-shadow:inset 0 0 0 1px #94a3b824}62%{opacity:1;filter:brightness(1.02)saturate(1.01);transform:translateY(0)scale(1);box-shadow:inset 0 0 0 1px #a7b4fa42,0 8px 22px #6366f11a}to{opacity:1;filter:brightness()saturate();transform:translateY(0)scale(1);box-shadow:inset 0 0 0 1px #94a3b829}}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore::-webkit-scrollbar-track{animation:.5s cubic-bezier(.25,.55,.28,1) both catalogScrollbarTrackRestore}@keyframes catalogScrollbarTrackRestore{0%{opacity:.35;background:#1e293b8c}to{opacity:1;background:0 0}}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore::-webkit-scrollbar-thumb{transform-origin:50%;animation:.55s cubic-bezier(.22,.58,.28,1) both catalogScrollbarThumbRestore}@keyframes catalogScrollbarThumbRestore{0%{background:#c7d2fed9;transform:scaleY(.68);box-shadow:inset 0 0 0 1px #a7b4fa61,0 0 10px #8b5cf638}58%{background:#a8b6dac7;transform:scaleY(.94);box-shadow:0 0 6px #8b5cf624}to{box-shadow:none;background:#94a3b899;transform:scaleY(1)}}@keyframes catalogCardSelectIn{0%{filter:brightness(1.06);transform:scale(.97);box-shadow:inset 0 0 0 1px #8b5cf652,0 22px 64px #8b5cf61a}to{filter:brightness();transform:scale(1);box-shadow:inset 0 0 0 1px #8b5cf66b,0 30px 90px #8b5cf61f}}@keyframes catalogCardExitRipple{0%{opacity:1;background:#8b5cf624;transform:translateY(0)scale(1);box-shadow:inset 0 0 0 1px #8b5cf66b,0 30px 90px #8b5cf61f}42%{opacity:.98;background:#0f172a94;transform:translateY(3px)scale(.984);box-shadow:inset 0 0 0 1px #94a3b833,0 14px 40px #0003}to{opacity:1;background:#0f172a9e;transform:translateY(0)scale(1);box-shadow:inset 0 0 0 1px #94a3b829}}.main-layout.view-catalog .move-card-name{overflow-wrap:break-word;word-break:break-word;width:100%;max-width:100%;margin-top:0;font-size:12px;line-height:1.38}.main-layout.view-catalog .move-card-score{overflow-wrap:break-word;opacity:.88;width:100%;max-width:100%;margin-top:3px;font-size:11px}.main-layout.view-catalog .move-card:hover:not(.move-card-restore-in){transform:none}.main-layout.view-catalog .catalog-detail-inner{box-sizing:border-box;max-width:100%}.catalog-detail-shape-preview{justify-content:center;margin:10px 0 12px;display:flex}.catalog-detail-shape-preview .pattern-preview{width:100%;max-width:min(240px,100%)}.catalog-detail-name-why{color:#e2e8f0eb;background:#3b82f61a;border-left:3px solid #8b5cf6bf;border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:12px;line-height:1.55;box-shadow:inset 0 0 0 1px #94a3b81f}.catalog-detail-name-why__tag{letter-spacing:.08em;color:#e0e7ff;vertical-align:middle;background:#8b5cf659;border-radius:999px;margin-right:8px;padding:2px 8px;font-size:10px;font-weight:800;display:inline-block}.main-layout.view-catalog .catalog-detail-title,.main-layout.view-catalog .catalog-detail-meta,.main-layout.view-catalog .catalog-detail-desc{overflow-wrap:break-word;word-break:break-word;max-width:100%}.catalog-list-empty{opacity:.78;text-align:center;background:#0f172a73;border-radius:14px;padding:12px 8px;font-size:12px;line-height:1.6;box-shadow:inset 0 0 0 1px #94a3b81f}.catalog-detail-inner:not(.catalog-footer-summary--exit){animation:.32s cubic-bezier(.2,.9,.2,1) catalogDetailIn}.catalog-footer-summary.catalog-detail-inner.catalog-footer-summary--exit,.catalog-detail-desc-bar.catalog-detail-desc-bar--exit{pointer-events:none;animation:.28s cubic-bezier(.4,0,.2,1) forwards catalogDetailExit}@keyframes catalogDetailExit{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(4px);transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-selected{animation:none}.catalog-footer-summary.catalog-detail-inner.catalog-footer-summary--exit,.catalog-detail-desc-bar.catalog-detail-desc-bar--exit{animation:.18s ease-out forwards catalogDetailExitReduced}.main-layout.view-catalog .catalog-list-scroll .move-card.move-card-exit-out{animation:.18s ease-out forwards catalogCardExitRippleReduced}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card{animation:.22s ease-out both catalogCardListRevealReduced}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore .move-card.move-card-restore-in{animation:.24s ease-out both catalogCardRevealFocusReduced}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore{animation:.2s ease-out both catalogScrollAreaRestoreReduced}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore::-webkit-scrollbar-track{animation:.22s ease-out both catalogScrollbarTrackRestoreReduced}.main-layout.view-catalog .catalog-list-scroll.catalog-list-scroll--restore::-webkit-scrollbar-thumb{animation:.28s ease-out both catalogScrollbarThumbRestoreReduced}.catalog-panel--detail-exiting{filter:none}}@keyframes catalogDetailExitReduced{to{opacity:0}}@keyframes catalogCardExitRippleReduced{to{opacity:.88}}@keyframes catalogCardListRevealReduced{0%{opacity:.94}to{opacity:1}}@keyframes catalogCardRevealFocusReduced{0%{opacity:.92}to{opacity:1}}@keyframes catalogScrollAreaRestoreReduced{0%{opacity:.96}to{opacity:1}}@keyframes catalogScrollbarTrackRestoreReduced{0%{opacity:.45}to{opacity:1}}@keyframes catalogScrollbarThumbRestoreReduced{0%{background:#bac6e6c7;transform:scaleY(.82)}to{background:#94a3b899;transform:scaleY(1)}}@keyframes catalogDetailIn{0%{opacity:0;filter:blur(4px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.catalog-detail-head{margin-bottom:10px}.catalog-detail-title{letter-spacing:.03em;font-size:17px;font-weight:900}.catalog-detail-meta{opacity:.85;letter-spacing:.04em;margin-top:6px;font-size:12px}.catalog-detail-desc{opacity:.92;margin:0;font-size:13px;line-height:1.75}.catalog-detail-dismiss{align-self:flex-start;margin-top:14px}.move-card{cursor:pointer;text-align:left;color:#eaf2ffeb;background:#0f172a9e;border:none;border-radius:18px;padding:12px 12px 10px;transition:transform .16s,background .16s,box-shadow .16s;box-shadow:inset 0 0 0 1px #94a3b829}.move-card:hover{background:#0f172acc;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #9aa8ff47,0 30px 90px #0000004d}.move-card-selected{background:#8b5cf624;box-shadow:inset 0 0 0 1px #8b5cf66b,0 30px 90px #8b5cf61f}.move-card-name{letter-spacing:.02em;margin-top:10px;font-size:13px;font-weight:800}.move-card-score{opacity:.86;color:#e0e7ff;margin-top:6px;font-size:12px;font-weight:700}@media (width<=960px){:root{--layout-pad-x:12px;--app-chrome-y:268px}.app-shell{padding-left:max(var(--layout-pad-x), env(safe-area-inset-left,0px));padding-right:max(var(--layout-pad-x), env(safe-area-inset-right,0px))}.top-bar{border-radius:16px;flex-direction:column;align-items:stretch;gap:10px}.brand{align-self:flex-start}.top-controls{flex-wrap:wrap;justify-content:flex-start;gap:12px;width:100%}.pill-toggle{justify-content:flex-start;width:100%}.pill{min-height:40px;padding:8px 14px}.difficulty{flex-wrap:wrap;width:100%}.difficulty-glass{flex:auto;min-width:min(100%,200px)}.main-layout{grid-template-columns:1fr}.main-layout .main-top-row{gap:min(20px, var(--main-grid-column-gap));grid-template-columns:1fr}.side-panel{max-width:100%}.status-strip{flex-direction:column;align-items:flex-start}.main-layout.view-play .status-strip--under-board,.main-layout.view-history .status-strip--under-board,.main-layout.view-catalog .status-strip--catalog-under-board{flex-direction:column;align-items:stretch;gap:10px;display:flex}.main-layout.view-play .status-strip--under-board .status-main,.main-layout.view-history .status-strip--under-board .status-main,.main-layout.view-catalog .status-strip--catalog-under-board .status-main,.main-layout.view-play .status-strip--under-board .status-secondary,.main-layout.view-history .status-strip--under-board .status-secondary,.main-layout.view-catalog .status-strip--catalog-under-board .status-secondary{text-align:left;justify-self:auto}.main-layout.view-play .status-strip--under-board .status-strip-actions,.main-layout.view-history .status-strip--under-board .status-strip-actions,.main-layout.view-catalog .status-strip--catalog-under-board .status-strip-actions,.main-layout.view-play .status-strip--under-board>.pill,.main-layout.view-history .status-strip--under-board>.pill,.main-layout.view-catalog .status-strip--catalog-under-board>.pill{align-self:flex-start}.catalog-panel{min-height:0}.catalog-body{flex:1;min-height:0;max-height:none}.main-layout.view-catalog .catalog-list-scroll{min-height:clamp(72px,22vmin,240px)}.catalog-detail-desc-bar{max-height:min(46vh,260px)}.catalog-footer{padding-bottom:max(4px, env(safe-area-inset-bottom,0px))}.catalog-header{flex-direction:column;align-items:stretch;gap:10px 12px}.main-layout.view-catalog .catalog-panel>.catalog-header{scrollbar-width:thin;scrollbar-color:#94a3b866 transparent;flex-shrink:0;gap:6px;max-height:min(22dvh,30%,200px);margin-bottom:0;padding-bottom:6px;overflow:hidden auto}.main-layout.view-catalog .catalog-panel>.catalog-header::-webkit-scrollbar{width:4px}.main-layout.view-catalog .catalog-panel>.catalog-header::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:999px}.main-layout.view-catalog .catalog-header-left{flex:0 auto;min-height:0;max-height:min(11dvh,16%)}.main-layout.view-catalog .catalog-header-sub{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.catalog-header-filters{flex-wrap:wrap;flex:none;place-content:flex-start;align-items:flex-start;gap:4px 8px;max-width:100%;min-height:0}.catalog-header-sort{border-top:1px solid #94a3b81f;flex-wrap:wrap;flex:none;align-items:flex-start;gap:4px 8px;max-width:100%;min-height:0;margin-top:0;padding-top:4px}.main-layout.view-catalog .catalog-header-filters .catalog-sort-label,.main-layout.view-catalog .catalog-header-sort .catalog-sort-label{letter-spacing:.1em;flex:none;width:auto;margin-right:6px;font-size:9px;line-height:1.2}.main-layout.view-catalog .catalog-header-filters,.main-layout.view-catalog .catalog-header-sort{flex-flow:row;align-items:center;display:flex}.main-layout.view-catalog .catalog-header-filters .catalog-sort-chips,.main-layout.view-catalog .catalog-header-sort .catalog-sort-chips{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#94a3b873 transparent;flex-wrap:nowrap;flex:auto;justify-content:flex-start;align-items:center;gap:6px;width:0;min-width:0;max-width:100%;padding-bottom:2px;display:flex;overflow:auto hidden}.main-layout.view-catalog .catalog-header-filters .catalog-filter-chip,.main-layout.view-catalog .catalog-header-sort .catalog-filter-chip{white-space:nowrap;flex-shrink:0;min-height:30px;padding:4px 9px;font-size:11px}.main-layout.view-catalog .catalog-header-filters .catalog-sort-chips::-webkit-scrollbar{height:4px}.main-layout.view-catalog .catalog-header-sort .catalog-sort-chips::-webkit-scrollbar{height:4px}.main-layout.view-catalog .catalog-header-filters .catalog-sort-chips::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.main-layout.view-catalog .catalog-header-sort .catalog-sort-chips::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}.catalog-sort-chips{justify-content:flex-start}.catalog-filter-chip{min-height:36px;padding:6px 12px}.board-wrap{max-width:min(100%, calc(100svh - var(--app-chrome-y)), calc(100dvh - var(--app-chrome-y)), calc(100vw - 2 * var(--layout-pad-x)))}.main-layout .board-zone .board-container{padding:15px}@media (pointer:coarse){.pt{width:min(42px, calc(var(--cellPx) * 1.78), calc(var(--cellPx) * .86));height:min(42px, calc(var(--cellPx) * 1.78), calc(var(--cellPx) * .86))}}}@media (height<=520px) and (width<=960px){:root{--layout-section-gap:12px;--main-to-footer-gap:clamp(3px, 1vh, 6px);--app-chrome-y:140px}.app-shell{padding-top:max(8px, env(safe-area-inset-top,0px))}.top-bar{gap:6px}.brand-title{font-size:16px}.catalog-header{gap:8px 10px;margin-bottom:0;padding-bottom:8px}.main-layout.view-catalog .catalog-list-scroll{min-height:clamp(104px,28vmin,260px)}.catalog-detail-desc-bar{max-height:min(24vh,140px);padding:8px 10px 10px}}@media (width<=480px){.main-layout.view-catalog .catalog-list-scroll{grid-template-columns:minmax(0,1fr);gap:10px}.brand-title{font-size:16px}.panel-title{font-size:15px}}@media (width<=360px){:root{--layout-pad-x:12px}.pill{padding:8px 10px;font-size:11px}.board-container{padding:14px}}@media (width>=961px) and (width<=1199px){.catalog-header-filters{flex:260px}}
