@charset "UTF-8";:root{--bg: #0b0907;--bg2: rgba(28, 22, 16, .55);--bg3: rgba(48, 38, 26, .6);--p: #c9a45c;--pd: rgba(201, 164, 92, .12);--pg: 0 0 24px rgba(201, 164, 92, .22);--gold: #e6c27a;--goldd: rgba(230, 194, 122, .12);--border: rgba(201, 164, 92, .16);--borderh: rgba(201, 164, 92, .45);--text: #efe6d6;--textd: #b3a690;--textm: #7a6e5c;--radius: 3px;--font: "Jost", sans-serif;--serif: "Cormorant Garamond", serif;--gold-grad: linear-gradient(135deg, #f3dda2 0%, #c9a45c 48%, #8f6c2e 100%);--bg4: rgba(60, 48, 34, .6);--surface: rgba(26, 20, 14, .78);--surface2: rgba(48, 38, 26, .72);--em: #8f6c2e;--em2: #b08a42;--em3: var(--p);--em-glow: var(--pd);--gold2: #f3dda2;--gold-d: #7a5c20;--text2: var(--textd);--text3: var(--textm);--border2: var(--borderh);--red: #c0392b;--red2: rgba(192, 57, 43, .12);--font-display: var(--serif);--font-body: var(--font);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--sq: 58px;--textc: #a39680;--tabbar-h: 56px;--ease-spring: cubic-bezier(.22, 1, .36, 1);--surface-sheet: linear-gradient(180deg, #1c1611 0%, #120e0a 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;-webkit-tap-highlight-color:transparent;font-family:var(--font);background-color:var(--bg);color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}body{background-size:cover;background-attachment:fixed;overflow-x:hidden}@media (pointer: coarse){html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{touch-action:pan-x pan-y}input,select,textarea{font-size:16px!important}}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 60% at 60% 35%,rgba(255,190,110,.07),transparent 70%),radial-gradient(ellipse 120% 90% at 50% 50%,transparent 40%,rgba(0,0,0,.75) 100%)}app-root{position:relative;z-index:1}a{color:var(--p);text-decoration:none}a:hover{color:var(--gold)}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--pd);border-radius:2px}:focus-visible{outline:1px solid var(--p);outline-offset:2px}@keyframes float-up{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.06}90%{opacity:.02}to{transform:translateY(-115vh) rotate(280deg);opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-right{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slide-left{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes glow-pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.fade-up{animation:fadeUp .35s ease both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.glass{background:linear-gradient(160deg,#201912b8,#0e0b08b8);box-shadow:inset 0 1px #e6c27a14;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{background:linear-gradient(160deg,#201912b8,#0e0b08b8);box-shadow:inset 0 1px #e6c27a14;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel__title{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid var(--border)}.btn-p,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 30px;background:var(--gold-grad);color:#140f08;border:none;border-radius:2px;font:500 14px var(--font);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .3s;box-shadow:var(--pg);text-decoration:none;white-space:nowrap}.btn-p:hover:not(:disabled),.btn-primary:hover:not(:disabled){transform:translateY(-2px) scale(1.03);box-shadow:var(--pg),0 20px 40px #0006;color:#140f08}.btn-p:disabled,.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-g,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;background:transparent;color:var(--text);border:1px solid var(--borderh);border-radius:2px;font:400 14px var(--font);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .3s;text-decoration:none;white-space:nowrap}.btn-g:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--pd);border-color:var(--p);color:var(--p)}.btn-g:disabled,.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{padding:8px 16px;font-size:12px}.btn-danger{background:var(--red2);border:1px solid rgba(192,57,43,.35);color:#e74c3c;border-radius:var(--radius-sm);padding:7px 14px;font-size:.78rem;transition:all .2s}.btn-danger:hover{background:#c0392b38}.tag{display:inline-flex;align-items:center;padding:3px 10px;background:transparent;border:1px solid var(--borderh);border-radius:1px;color:var(--p);font:500 10px var(--font);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.tag--em{border-color:var(--borderh);color:var(--p)}.tag--gold,.tag-gold{background:var(--goldd);border-color:var(--gold);color:var(--gold)}.toggle{width:42px;height:22px;flex-shrink:0;background:var(--bg3);border:1px solid var(--borderh);border-radius:11px;cursor:pointer;position:relative;transition:all .3s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--textm);transition:all .3s}.toggle.on{background:var(--pd);border-color:var(--p)}.toggle.on:after{transform:translate(20px);background:var(--p)}.f-input{width:100%;padding:13px 15px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;color:var(--text);font:400 14px var(--font);outline:none;transition:all .25s}.f-input:focus{border-color:var(--p);box-shadow:0 0 0 3px #c9a45c1a}.f-input::placeholder{color:var(--textm)}.board-wrap{--sq-light: #f0d9b5;--sq-dark: #b58863;--frame-bg: linear-gradient(135deg, #7a5c20, #c9a84c, #7a5c20);--frame-shadow: 0 16px 56px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(255, 220, 100, .3);--grid-border: #4a3008;--coord: #8a7a5a;--sel: rgba(100, 200, 120, .55);--hint: rgba(70, 180, 100, .5);--hint-glow: none;--capture: rgba(200, 50, 50, .5);--check: rgba(220, 50, 50, .5);--pw-fill: #fff8e7;--pw-stroke: #2b1b0a;--pb-fill: #1c1612;--pb-stroke: #e9d8b4;--piece-font: calc(var(--sq) * .62);position:relative;display:inline-grid;grid-template-columns:16px auto;grid-template-rows:auto auto;align-items:start}.board-wrap.board--luxe{--sq-light: #d8c9b2;--sq-dark: #2a2118;--frame-bg: linear-gradient(135deg, #2a1d12, #46301c, #2a1d12);--frame-shadow: 0 16px 56px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(230, 194, 122, .3), 0 0 0 1px rgba(214, 169, 78, .5);--grid-border: rgba(214, 169, 78, .6);--coord: var(--p);--sel: rgba(255, 216, 144, .55);--hint: rgba(214, 169, 78, .8);--hint-glow: 0 0 10px rgba(214, 169, 78, .5);--capture: rgba(214, 169, 78, .75);--check: rgba(220, 70, 50, .55);--pw-fill: #f3cf88;--pw-stroke: #3a2610;--pb-fill: #0c0b0a;--pb-stroke: #d6a94e}.board-wrap.board--slate-blue{--sq-light: #c9d4df;--sq-dark: #5b738b;--frame-bg: linear-gradient(135deg, #1d2733, #2e3d4f, #1d2733);--frame-shadow: 0 16px 56px rgba(0, 0, 0, .75), inset 0 1px 0 rgba(143, 176, 208, .3);--grid-border: #0f1720;--coord: #8fb0d0;--sel: rgba(255, 214, 102, .55);--hint: rgba(255, 214, 102, .75);--hint-glow: 0 0 8px rgba(255, 214, 102, .4);--capture: rgba(255, 214, 102, .8);--check: rgba(220, 70, 50, .55);--pw-fill: #f7fafc;--pw-stroke: #1b2531;--pb-fill: #0f151d;--pb-stroke: #d5e2ef}.board-outer{grid-column:2;grid-row:1}.coord-ranks{grid-column:1;grid-row:1;display:flex;flex-direction:column;padding:12px 4px 12px 0}.coord-ranks span{height:var(--sq);display:flex;align-items:center;justify-content:flex-end;font:italic 500 .8rem var(--serif);color:var(--coord);line-height:1}.coord-files{grid-column:2;grid-row:2;display:flex;padding:4px 12px 0}.coord-files span{width:var(--sq);text-align:center;font:italic 500 .8rem var(--serif);color:var(--coord)}.board-frame{background:var(--frame-bg);padding:12px;border-radius:4px;box-shadow:var(--frame-shadow)}.board-grid{display:grid;grid-template-columns:repeat(8,var(--sq));grid-template-rows:repeat(8,var(--sq));border:2px solid var(--grid-border)}.sq{width:var(--sq);height:var(--sq);display:flex;align-items:center;justify-content:center;font-size:var(--piece-font);cursor:pointer;position:relative;transition:filter .12s;-webkit-user-select:none;user-select:none}.sq.light{background:var(--sq-light)}.sq.dark{background:var(--sq-dark)}.sq:hover{filter:brightness(1.12)}.sq.selected{background:var(--sel)!important}.sq.hint:after{content:"";position:absolute;width:calc(var(--sq) * .3);height:calc(var(--sq) * .3);border-radius:50%;background:var(--hint);box-shadow:var(--hint-glow);pointer-events:none;z-index:2}.sq.capture:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 4px var(--capture);pointer-events:none;z-index:2}.sq.in-check{background:var(--check)!important}.sq.drop-target{box-shadow:inset 0 0 0 3px var(--hint)}.sq .piece{position:relative;z-index:3;pointer-events:none;font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,Arial Unicode MS,sans-serif;line-height:1;font-size:1.12em;paint-order:stroke fill}.sq .piece--white{color:var(--pw-fill);-webkit-text-stroke:1.5px var(--pw-stroke);filter:drop-shadow(0 2px 2px rgba(0,0,0,.45))}.sq .piece--black{color:var(--pb-fill);-webkit-text-stroke:1.2px var(--pb-stroke);filter:drop-shadow(0 2px 2px rgba(0,0,0,.55))}.sq .piece--carried{opacity:.25}.board-wrap .piece--ghost{position:absolute;z-index:20;pointer-events:none;transform:translate(-50%,-50%);font-family:Segoe UI Symbol,"Noto Sans Symbols 2",DejaVu Sans,Arial Unicode MS,sans-serif;line-height:1;font-size:calc(var(--piece-font) * 1.32);paint-order:stroke fill;filter:drop-shadow(0 10px 8px rgba(0,0,0,.5))}.board-wrap .piece--ghost.piece--white{color:var(--pw-fill);-webkit-text-stroke:1.5px var(--pw-stroke)}.board-wrap .piece--ghost.piece--black{color:var(--pb-fill);-webkit-text-stroke:1.2px var(--pb-stroke)}.board-wrap .piece--ghost.piece--settling{transition:left .16s ease-out,top .16s ease-out}.board-grid{touch-action:none}.sq-coord{display:none}@media (max-width: 768px),(max-height: 500px) and (max-width: 1000px) and (orientation: landscape){.board-wrap{grid-template-columns:auto}.coord-ranks,.coord-files{display:none}.board-frame{padding:0;background:none;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px #d6a94e61,0 28px 60px #0000008c}.board-grid{border:0}.sq:hover{filter:none}.board-wrap{--piece-font: calc(var(--sq) * .76)}.sq-coord{display:block;position:absolute;z-index:1;pointer-events:none;font:600 calc(var(--sq) * .22)/1 var(--font);font-style:normal}.sq-coord--rank{top:2px;left:3px}.sq-coord--file{right:3px;bottom:2px}.sq.light .sq-coord{color:var(--sq-dark)}.sq.dark .sq-coord{color:var(--sq-light)}}@media (max-width: 1024px){:root{--sq: 52px}}@media (max-width: 768px){:root{--sq: 46px}}@media (max-width: 480px){:root{--sq: clamp(34px, calc((100vw - 80px)/8) , 44px)}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sheet-backdrop{position:fixed;inset:0;z-index:95;background:#06050494;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade-in .25s ease both}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:96;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:10px 20px calc(16px + env(safe-area-inset-bottom));background:var(--surface-sheet);border-top:1px solid rgba(201,164,92,.35);border-radius:26px 26px 0 0;box-shadow:0 -20px 60px #0009;animation:sheet-up .38s var(--ease-spring) both}.sheet__grab{display:block;width:38px;height:4px;margin:0 auto 4px;border-radius:2px;background:#efe6d638}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:12px;touch-action:none}.sheet__title{font:500 26px/1.1 var(--serif);color:var(--text)}.sheet__title em{font-style:italic;color:var(--gold)}.sheet__sub{font-size:12px;color:var(--textc)}.sheet__close{width:44px;height:44px;margin-right:-10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:none;border:0;border-radius:12px;color:var(--textd);cursor:pointer}.sheet__close:hover{color:var(--text)}.sheet__close svg{width:20px;height:20px}.sheet__label{margin:14px 0 8px;font:500 11px var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--textc)}.chip{min-height:44px;padding:4px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#ffffff08;border:1px solid var(--border);border-radius:12px;font:500 14px var(--font);color:var(--textd);cursor:pointer;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .09s}.chip:hover{border-color:var(--borderh);color:var(--text)}.chip:active{transform:scale(.97)}.chip--on,.chip--on:hover{background:#e6c27a24;border-color:var(--p);color:var(--gold2);box-shadow:0 0 18px #c9a45c2e}.chip small{font-size:11px;letter-spacing:.06em;opacity:.8}.seg{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;padding:3px;background:#ffffff0a;border:1px solid var(--border);border-radius:13px}.seg__btn{height:36px;border:0;border-radius:10px;background:transparent;font:500 14px var(--font);color:var(--textd);cursor:pointer;transition:color .2s,background .2s}.seg__btn:hover{color:var(--text)}.seg__btn--on,.seg__btn--on:hover{background:var(--gold-grad);color:#140f08}.switch{position:relative;flex-shrink:0;width:48px;height:28px;padding:0;background:#ffffff0f;border:1px solid rgba(201,164,92,.22);border-radius:14px;cursor:pointer;transition:background .25s,border-color .25s}.switch:after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--textd);box-shadow:0 2px 6px #0006;transition:transform .3s var(--ease-spring),background .25s}.switch--on{background:var(--gold-grad);border-color:transparent}.switch--on:after{transform:translate(20px);background:#140f08}.cta-block{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;border:0;border-radius:14px;background:var(--gold-grad);color:#140f08;font:500 13px var(--font);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 30px #c9a45c40,inset 0 1px #ffffff59;cursor:pointer;transition:transform .09s,opacity .2s}.cta-block:active:not(:disabled){transform:scale(.98)}.cta-block:disabled{opacity:.5;cursor:not-allowed}.cta-block svg{width:18px;height:18px}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.tile{position:relative;min-height:72px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:400 13px var(--font);color:#e4dac8;text-align:center;cursor:pointer;background:#ffffff09;border:1px solid rgba(201,164,92,.14);border-radius:16px;transition:border-color .2s,transform .09s}.tile:hover{border-color:var(--borderh)}.tile:active{transform:scale(.97)}.tile[aria-pressed=true]{border-color:var(--p)}.tile .ico{width:24px;height:24px;color:var(--gold)}.tile__ico--text{height:24px;font:600 28px/24px var(--serif);color:var(--gold)}.tile__badge{position:absolute;top:10px;right:14px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:flex;align-items:center;justify-content:center;font:600 11px var(--font);color:#140f08;background:var(--gold)}.hold{position:relative;overflow:hidden;width:100%;height:48px;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:10px;font:500 13px var(--font);letter-spacing:.14em;text-transform:uppercase;color:#ec8a75;background:#c0392b14;border:1px solid rgba(214,84,63,.5);border-radius:14px;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.hold__fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#c0392b4d;transition:width .2s ease-out}.hold--active .hold__fill{width:100%;transition:width 1s linear}.hold .ico,.hold__label{position:relative}.hold .ico{width:18px;height:18px}.sheet--tall{display:flex;flex-direction:column;min-height:55dvh}.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}@media (max-width: 768px){.btn-p,.btn-primary,.btn-g{border-radius:12px}.btn-p,.btn-primary{padding-top:11px;padding-bottom:11px;font-size:13px}input,select,textarea,.f-input{font-size:16px}}
