Spaces:
Running
Running
File size: 9,249 Bytes
e16348e | 1 2 | @layer reset,vendor,app;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}}@font-face{font-family:Inter;src:url(/static/dist/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/static/dist/fonts/Inter-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/static/dist/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/static/dist/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/static/dist/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@layer app{:root{--bg: #0e0d0c;--surface: #161513;--surface-2: #1d1b18;--surface-3: #252320;--border: #2c2a27;--border-2: #3d3a36;--text: #e8e4de;--text-dim: #9c9992;--text-muted: #96908a;--tray-bg: #b0a998;--tray-bg-dark: #726a5a;--tray-border: #8a8070;--gold: #c89b3c;--gold-dim: #7a5e22;--gold-glow: rgba(200, 155, 60, .14);--win: #4ade80;--loss: #f87171;--loss-glow: rgba(248, 113, 113, .14);--draw: #94a3b8;--amber: #d9a441;--blue: #60a5fa;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--board-light: #f0d9b5;--board-dark: #b58863;--board-highlight: rgba(155, 199, 0, .41);--progress-from: #3b82f6;--progress-to: #60a5fa;--pip-black-bg: #1a1816;--pip-black-border: #555;--turn-active-bg: #242220;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: 1rem;--text-xl: 1.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--header-h: calc(3rem + env(safe-area-inset-top, 0px)) ;--thead-row-h: 1.75rem;--thead-root-h: 1.9375rem;--pgn-rank-w: 2.0625rem;--pgn-rank-w-compact: 3.125rem;--control-h: 2rem;--control-h-sm: 1.75rem;--touch-target: 2.75rem;--fen-icon-btn-w: 1.9375rem;--fen-row-gap: .3125rem;--r-sm: .25rem;--r-md: .375rem;--r-lg: .5rem;--shadow: 0 8px 30px rgba(0,0,0,.55);--shadow-pop: 0 8px 24px rgba(0,0,0,.45);--shadow-panel: -6px 10px 32px rgba(0,0,0,.6);--shadow-board: 0 0 0 1px var(--border), 0 14px 38px rgba(0,0,0,.6);--scrim: rgba(0,0,0,.72);--dur: .14s;--tr: var(--dur) ease;--board-size-max: 720px;--board-size-cap: min(var(--board-size-max), clamp(18.75rem, min(23.4375vw, 41.6667vh), 31.5rem));--board-size: var(--board-size-cap);--spare-size: calc(var(--board-size) / 8)}@media (hover: none) and (pointer: coarse){:root{--control-h: 2.75rem;--control-h-sm: 2.75rem}}}@layer app{html{font-size:100%}html,body{height:100%}body{min-height:100%;overflow-y:auto;overflow-x:hidden;font-family:var(--font-ui);font-size:var(--text-lg);line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button{cursor:pointer;font:inherit;touch-action:manipulation}a{color:var(--text-dim);text-decoration:none}a:hover{color:var(--text)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button,.btn,a{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:.0625rem;height:.0625rem;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent}::-webkit-scrollbar{width:.375rem;height:.375rem}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:.1875rem}.icon{width:1rem;height:1rem;flex-shrink:0}}@layer app{.btn{height:var(--control-h);padding:0 var(--space-3);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:var(--text-xs);font-weight:500;font-family:var(--font-ui);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;transition:background var(--tr),border-color var(--tr),color var(--tr);flex-shrink:0;-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled):not(.is-autoplay-disabled){background:var(--surface-3);border-color:var(--border-2);color:var(--text)}.btn:active:not(:disabled):not(.is-autoplay-disabled){transform:scale(.97)}.btn:disabled{opacity:.38;cursor:not-allowed;pointer-events:none}.btn__icon{width:.75rem;height:.75rem;opacity:.75}.btn--apply{border-color:var(--gold-dim);color:var(--gold)}.btn--apply:hover{background:var(--gold-glow);border-color:var(--gold)}.btn--apply .btn__icon{opacity:1}.btn--grow{flex:1 0 0;justify-content:center;padding:0 .375rem}.btn--icon-only{flex:0 0 auto;padding:0 var(--space-2)}.btn.is-playing{color:var(--amber);border-color:var(--amber)}.btn--compact{height:var(--control-h-sm);padding:0 var(--space-2);font-size:var(--text-xs);flex-shrink:0}}@layer app{.site-header{display:flex;align-items:center;gap:.625rem;height:var(--header-h);padding:env(safe-area-inset-top,0px) var(--space-5) 0;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;-webkit-user-select:none;user-select:none}.site-header__logo{width:1.125rem;height:1.125rem;line-height:1;flex-shrink:0}.site-header__brand{display:flex;align-items:baseline;gap:.625rem;line-height:1}.site-header__title{font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;color:var(--text)}.site-header__sep{color:var(--text-muted);font-size:var(--text-xs)}.site-header__sub{font-size:var(--text-xs);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase}@media (min-width: 768px){.site-header__brand .site-header__sub{position:relative;top:-.5px}}.site-header__nav{margin-left:auto;flex-shrink:0;display:flex;gap:var(--space-1);align-items:center}.site-header__link{padding:var(--space-1) .625rem;border-radius:var(--r-sm);border:none;background:none;font-size:var(--text-xs);font-weight:500;color:var(--text-dim);transition:background var(--tr),color var(--tr);white-space:nowrap}.site-header__link:hover{background:var(--surface-2);color:var(--text)}.site-header__link--icon{display:inline-flex;align-items:center;justify-content:center;width:min(var(--control-h-sm),12vw);height:var(--control-h-sm);padding:0}.site-header__link--icon svg{opacity:.85}.site-header__link--icon:hover svg{opacity:1}}@layer app{body.admin-page{height:auto;min-height:100vh;overflow:auto;padding:var(--space-6)}.admin-page h1{font-size:var(--text-xl);color:var(--text);margin-bottom:var(--space-5);display:flex;align-items:center;gap:10px}.admin-page__back-link{font-size:var(--text-sm);margin-left:auto}.admin-page h2{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:var(--space-3)}.admin-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-bottom:var(--space-4)}.admin-page .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}.admin-page .stat{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:var(--text-sm)}.admin-page .stat:last-child{border-bottom:none}.admin-page .stat .label{color:var(--text-dim)}.admin-page .stat .value{color:var(--text);font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.admin-page .bar-wrap{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin:var(--space-2) 0 var(--space-3)}.admin-page .bar-fill{height:100%;background:linear-gradient(90deg,var(--progress-from),var(--progress-to));border-radius:4px;transition:width .4s}.admin-page .toolbar-row{display:flex;gap:var(--space-2);margin-bottom:20px}.admin-page .btn.danger{border-color:var(--loss);color:var(--loss)}.admin-page .btn.danger:hover{background:var(--loss-glow);border-color:var(--loss)}.admin-page .status{font-size:var(--text-xs);color:var(--text-muted);margin-top:10px;min-height:18px}.admin-page .status.ok{color:var(--win)}.admin-page .status.err{color:var(--loss)}.admin-page .refresh-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:20px;font-size:var(--text-xs);color:var(--text-muted)}.admin-page .login-card{max-width:320px;margin:15vh auto 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;text-align:center}.admin-page .login-card h1{justify-content:center;margin-bottom:var(--space-2)}.admin-page .login-card__hint{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-4)}.admin-page .login-card__back{display:block;margin-top:var(--space-4);font-size:var(--text-sm)}.admin-page .login-input{width:100%;height:34px;padding:0 10px;margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);outline:none;text-align:center;transition:border-color var(--tr),box-shadow var(--tr)}.admin-page .login-input:focus{border-color:var(--gold-dim);box-shadow:0 0 0 2px var(--gold-glow)}@media (max-width: 640px){.admin-page .grid{grid-template-columns:1fr}}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (hover: none) and (pointer: coarse){.admin-page .login-input{font-size:var(--text-lg)}}}
|