html,body,#root{width:100%;min-height:100%}body{margin:0}@font-face{font-family:Fraunces;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2) format("woff2")}:root{--bg: #f6f1e8;--ink: #18130f;--muted: #6c5f55;--accent: #d86a1b;--accent-soft: #f5d5b9;--card: rgba(255, 255, 255, .78);--border: rgba(36, 28, 22, .14);--shadow: 0 18px 45px rgba(26, 20, 16, .15);--surface: rgba(255, 255, 255, .6);--field: #ffffff;--bg-radial-1: #fff2e3;--bg-radial-2: #eef4e6;--bg-line: rgba(24, 19, 15, .04);--error: #dc3545;--radius: 18px;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}[data-theme=dark]{--bg: #0f1110;--ink: #f0f5f1;--muted: #a5b1aa;--accent: #39d98a;--accent-soft: rgba(57, 217, 138, .18);--card: rgba(19, 23, 21, .78);--border: rgba(255, 255, 255, .12);--shadow: 0 20px 50px rgba(0, 0, 0, .45);--surface: rgba(20, 24, 22, .75);--field: #121614;--bg-radial-1: rgba(27, 46, 36, .9);--bg-radial-2: rgba(16, 32, 25, .8);--bg-line: rgba(255, 255, 255, .05);--error: #ff6b6b}body{margin:0;min-height:100vh;background:var(--bg)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(900px 600px at 15% 0%,var(--bg-radial-1) 0%,transparent 60%),radial-gradient(700px 480px at 85% 10%,var(--bg-radial-2) 0%,transparent 55%),repeating-linear-gradient(135deg,var(--bg-line) 0,var(--bg-line) 1px,transparent 1px,transparent 14px)}*{box-sizing:border-box}a{color:inherit}h1,h2{font-family:Fraunces,Times New Roman,serif}h1{font-size:clamp(2.4rem,5vw,4rem);margin:0 0 14px}p{margin:0}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 6vw 0}.brand{text-decoration:none;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.brand-sub{display:inline-block;font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--accent);margin-left:10px}.nav-links{display:flex;gap:18px;font-size:.95rem;align-items:center}.nav a{text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.4em;font-size:.75rem;color:var(--muted);margin:0 0 12px}.lead{font-size:1.05rem;line-height:1.6;color:var(--muted);max-width:520px}.home{padding:64px 6vw 120px}.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;max-width:1100px;margin:0 auto}.home-copy{display:grid;gap:14px}.home-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:var(--muted)}.home-meta span{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.home-grid{display:grid;gap:16px}.site-card{display:grid;gap:10px;padding:18px 20px;text-decoration:none;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden;animation:rise .5s ease forwards;transform:translateY(12px);opacity:0;animation-delay:var(--delay, 0ms)}.site-card:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,var(--accent-soft));opacity:0;transition:opacity .2s ease}.site-card:hover:after{opacity:1}.site-card h2{margin:0;font-size:1.35rem}.site-card p{color:var(--muted);line-height:1.5}.site-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.site-card-cta{font-size:.85rem;color:var(--accent);font-weight:600}.games{padding:64px 6vw 120px;max-width:1100px;margin:0 auto}.games-hero{display:grid;gap:14px;margin-bottom:32px}.game-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.game-card{display:grid;gap:18px;padding:22px;text-decoration:none;background:var(--card);border-radius:calc(var(--radius) + 4px);border:1px solid var(--border);box-shadow:var(--shadow);animation:rise .52s ease forwards;transform:translateY(12px);opacity:0;animation-delay:var(--delay, 0ms);position:relative;overflow:hidden}.game-card:after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent,var(--accent-soft));opacity:0;transition:opacity .22s ease}.game-card:hover:after{opacity:1}.game-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.game-summary{color:var(--muted);margin-top:8px;line-height:1.5}.game-status{padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.game-features{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--muted)}.game-features li{padding-left:18px;position:relative}.game-features li:before{content:"•";position:absolute;left:0;color:var(--accent)}.game-cta{font-weight:600;color:var(--accent);letter-spacing:.04em}.game-detail{display:grid;gap:24px}.game-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.game-panel h2{margin:0 0 12px}.button-link{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}@keyframes rise{to{transform:translateY(0);opacity:1}}.page{width:100%;margin:0 auto;padding:32px 6vw 120px;max-width:1000px}.list{display:grid;gap:16px}.card{padding:18px 20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card h2{margin:0 0 10px;font-size:1.2rem}.muted{color:var(--muted);margin-left:6px}.error{color:var(--accent)}ul{padding-left:18px;margin:0}input,textarea,select{width:100%;margin-top:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--field);color:var(--ink)}label{display:block;margin-bottom:12px;color:var(--muted)}.checkbox-field{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--muted);font-size:.9rem}.checkbox-field input{width:auto;margin:0}button{background:var(--accent);color:var(--bg);border:none;padding:10px 16px;border-radius:10px;cursor:pointer;font-weight:600}button+button{background:transparent;border:1px solid var(--border);color:var(--muted)}.theme-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);padding:8px 12px;border-radius:999px}.theme-toggle:hover{color:var(--ink);border-color:var(--accent)}.actions{display:flex;gap:10px;margin-top:10px}.admin-form{margin-top:24px}.admin-page{display:grid;gap:28px}.admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}.admin-meta{display:grid;gap:12px;min-width:220px}.admin-meta-card{display:grid;gap:6px;padding:12px 16px;border-radius:14px;border:1px solid var(--border);background:var(--surface);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:var(--muted)}.admin-meta-card strong{font-size:1.4rem;letter-spacing:.02em;color:var(--ink)}.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px}.admin-col{display:grid;gap:20px}.admin-panel h2{margin:0;font-size:1.25rem}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-badge{padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--accent-soft);color:var(--accent);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.admin-count{font-size:.85rem;color:var(--muted)}.admin-status pre{margin:0;white-space:pre-wrap;color:var(--muted)}.admin-list{align-self:start}.admin-posts{display:grid;gap:16px}.admin-post{padding:16px 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface);display:grid;gap:10px}.admin-post h3{margin:0 0 4px;font-size:1.1rem}.admin-post-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.chess{max-width:1200px}.chess-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:24px;align-items:start}.chess-layout--single{grid-template-columns:1fr;justify-items:center}.chess-board{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);padding:16px;display:flex;justify-content:center;position:relative;flex-direction:column;align-items:center;width:100%}.chess-board svg{shape-rendering:geometricPrecision}.chess-board-actions{display:flex;gap:12px;margin-top:12px;width:100%;justify-content:center;flex-wrap:wrap}.chess-panel{display:grid;gap:18px;align-content:start}.chess-status h2{margin:0 0 6px;font-size:1.2rem}.chess-timers{display:grid;gap:12px}.timer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font-weight:600}.timer span{color:var(--muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.chess-controls{display:grid;gap:12px}.inline-field{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.move-list h3{margin:0 0 10px;font-size:1rem}.move-rows{display:grid;gap:6px;font-size:.9rem}.move-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:8px;padding:6px 8px;border-radius:10px;background:var(--surface)}.move-index{color:var(--muted);font-weight:600}.chess-banner{position:absolute;inset:16px;display:grid;place-items:center;z-index:2;pointer-events:none}.chess-banner-inner{padding:14px 18px;border-radius:12px;background:#d86a1beb;color:#fff;display:flex;flex-direction:column;gap:6px;align-items:center;font-weight:600;letter-spacing:.02em;text-align:center;width:min(320px,80%)}.chess-banner-hint{background:none}.chess-banner-hint .chess-banner-inner{background:#18130fe0}.hint{margin-top:6px;color:var(--accent);font-weight:600;font-size:.9rem}.promotion-overlay{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:5}.promotion-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;box-shadow:var(--shadow);width:min(360px,90vw);display:grid;gap:12px}.promotion-actions{display:grid;gap:10px}.promotion-actions button.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}.chess-builder .lead{max-width:620px}.builder-tabs{display:flex;gap:12px;margin:18px 0 24px;flex-wrap:wrap}.builder-tabs button{background:transparent;border:1px solid var(--border);color:var(--muted);padding:8px 14px;border-radius:999px;cursor:pointer;font-weight:600}.builder-tabs button.active{background:var(--accent);color:var(--bg);border-color:transparent}.builder-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:20px}.builder-grid--single{grid-template-columns:1fr;max-width:1040px;margin:0 auto}.builder-panel{display:grid;gap:12px}.builder-panel-wide{gap:16px}.builder-list{display:grid;gap:8px}.builder-list button{text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--ink)}.builder-list button.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.builder-preview{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.svg-preview{border-radius:12px;border:1px dashed var(--border);background:var(--surface);padding:12px;min-height:120px;display:grid;place-items:center}.builder-inline{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.builder-inline--compact{display:flex;align-items:flex-end;gap:12px;flex-wrap:nowrap}.builder-inline--compact .inline-field{display:flex;align-items:center;gap:8px}.builder-inline--compact .inline-field input{margin-left:6px}.builder-section{display:grid;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.builder-toolbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.scale-input{max-width:70px}.zoom-display{min-width:50px;text-align:center;font-weight:500;font-size:.9em}.builder-canvas{border-radius:10px;border:1px solid var(--border);background:var(--surface);padding:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000a}.builder-templates{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;margin:8px 0}.template-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.template-btn{display:flex;flex-direction:column;align-items:center;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;transition:all .15s ease;min-width:70px}.template-btn:hover{border-color:var(--primary);background:var(--surface)}.template-preview{width:45px;height:45px;display:flex;align-items:center;justify-content:center}.template-preview svg{width:100%;height:100%}.template-name{font-size:.75em;margin-top:4px;text-transform:capitalize}button.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.piece-designer{display:flex;flex-direction:column;gap:12px}.designer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;box-shadow:0 1px 3px #0000000a}.designer-header-left,.designer-header-right{display:flex;align-items:center;gap:8px}.piece-select{min-width:150px;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.95em}.name-field{display:flex;align-items:center;gap:8px}.name-field span{font-weight:500;color:var(--muted)}.name-field input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);min-width:150px}.btn-icon{min-width:36px;height:32px;padding:0 10px;display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700;border-radius:6px}.btn-danger{color:var(--error, #e74c3c)}.btn-danger:hover{background:var(--error, #e74c3c);color:#fff;border-color:var(--error, #e74c3c)}.designer-main{display:grid;grid-template-columns:1fr 220px;gap:12px;align-items:start}.designer-left{display:flex;flex-direction:column;gap:10px}.import-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000a}.import-panel h4{margin:0 0 10px;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.import-panel .btn-row{margin-bottom:8px}.import-panel .btn-row:last-of-type{margin-bottom:0}.canvas-controls{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px #0000000a}.control-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.control-group .separator{width:1px;height:24px;background:var(--border);margin:0 4px}.designer-sidebar{display:flex;flex-direction:column;gap:10px}.sidebar-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;box-shadow:0 1px 3px #0000000a}.sidebar-section h4{margin:0 0 10px;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:6px}.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.tool-grid button{padding:8px;font-size:1.1em;min-height:36px}.style-row{display:flex;flex-wrap:wrap;gap:10px}.style-row label{display:flex;flex-direction:column;gap:4px;font-size:.85em}.style-row label span{color:var(--muted)}.style-row input[type=color]{width:36px;height:28px;padding:2px;border-radius:4px;border:1px solid var(--border);cursor:pointer}.small-input{width:50px;padding:4px 6px;text-align:center}.btn-row{display:flex;flex-wrap:wrap;gap:6px}.btn-row button{padding:6px 10px;font-size:.85em;flex:1;min-width:fit-content}.btn-full{width:100%}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.scale-row{display:flex;align-items:center;gap:6px;margin-top:8px}.scale-row span{color:var(--muted);font-size:.9em}.layer-row{margin-top:8px;border-top:1px solid var(--border);padding-top:8px}.layer-row button{font-size:1em}.view-options{display:flex;gap:16px;margin-bottom:8px}.checkbox-inline{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.9em}.checkbox-inline input[type=checkbox]{width:16px;height:16px;cursor:pointer}.zoom-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.zoom-row button{min-width:32px;height:28px;padding:0 8px;font-size:.85em}.align-row{display:flex;align-items:center;gap:6px}.align-row span{font-size:.85em;color:var(--muted)}.align-row button{width:32px;height:28px;padding:0;font-size:1em}.designer-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.designer-section .section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:transparent;border:none;width:100%;cursor:default}.designer-section .section-header h4{margin:0;font-size:.9em;font-weight:600;color:var(--text)}.designer-section .section-content{padding:12px 14px;border-top:1px solid var(--border)}.designer-section.collapsible .section-header{cursor:pointer;transition:background .15s ease}.designer-section.collapsible .section-header:hover{background:var(--bg)}.collapse-icon{color:var(--muted);font-size:.8em}.template-panel{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.export-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.export-row button{flex:1;min-width:100px}.preview-row{display:flex;gap:16px;justify-content:center}.preview-box{display:flex;flex-direction:column;align-items:center;gap:6px}.preview-label{font-size:.8em;color:var(--muted);text-transform:uppercase}.svg-preview{width:80px;height:80px;border:1px solid var(--border);border-radius:6px;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:8px}.svg-preview svg{max-width:100%;max-height:100%}.preview-controls{display:flex;align-items:center;gap:10px;margin-bottom:12px}.preview-hint{font-size:.85em;color:var(--muted);margin:0}.size-toggle{display:flex;gap:4px}.size-toggle button{width:28px;height:28px;padding:0;font-size:.8em;font-weight:600;border-radius:4px}.board-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;justify-items:center}.board-preview-item{display:flex;flex-direction:column;align-items:center;gap:6px}.board-square{border-radius:4px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #00000026;transition:width .2s ease,height .2s ease}.board-square{width:70px;height:70px}.piece-on-square{width:80%;height:80%;display:flex;align-items:center;justify-content:center}.board-preview-grid.size-small .board-square{width:50px;height:50px}.board-preview-grid.size-large .board-square{width:90px;height:90px}.board-preview-grid.size-large{grid-template-columns:repeat(2,1fr);gap:16px}.board-square.light{background:#f0d9b5}.board-square.dark{background:#b58863}.piece-on-square svg{width:100%;height:100%}.board-preview-label{font-size:.7em;color:var(--muted);text-align:center}.designer-output{display:grid;grid-template-columns:1fr 1fr;gap:12px}.output-export{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000a}.output-export h4,.output-preview h4{margin:0 0 12px;font-size:.9em;font-weight:600;color:var(--text)}.output-preview{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;box-shadow:0 1px 3px #0000000a}.preview-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-header h4{margin:0}.designer-advanced{display:grid;grid-template-columns:1fr 1fr;gap:12px}.advanced-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000a}.advanced-section .section-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 14px;background:transparent;border:none;cursor:pointer;font-size:.9em;font-weight:500;color:var(--text);text-align:left;transition:background .15s ease}.advanced-section .section-toggle:hover{background:var(--bg)}.advanced-section .section-content{padding:14px;border-top:1px solid var(--border)}.advanced-section .collapse-icon{font-size:.75em;color:var(--muted)}.svg-code-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.svg-code-row label{display:flex;flex-direction:column;gap:6px}.svg-code-row label span{font-size:.85em;color:var(--muted)}.svg-code-row textarea{font-family:Monaco,Menlo,monospace;font-size:.8em;resize:vertical;min-height:80px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.settings-grid label{display:flex;flex-direction:column;gap:4px}.settings-grid label span{font-size:.85em;color:var(--muted)}.settings-grid input{padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg)}.traits-row{display:flex;flex-wrap:wrap;gap:12px 20px}.shortcuts-hint{font-size:.8em;color:var(--muted);text-align:center;padding:8px;background:var(--surface);border-radius:6px;margin:0}.shortcuts-hint strong{color:var(--text)}.muted{color:var(--muted)}@media(max-width:900px){.designer-main{grid-template-columns:1fr}.designer-sidebar{flex-direction:row;flex-wrap:wrap}.sidebar-section{flex:1;min-width:180px}.designer-output,.designer-advanced{grid-template-columns:1fr}.designer-header{flex-direction:column;align-items:stretch}.designer-header-left,.designer-header-right{justify-content:center}}@media(max-width:1100px){.home-hero{grid-template-columns:1fr}.game-detail-head{flex-direction:column}.admin-grid,.builder-grid{grid-template-columns:1fr}}@media(max-width:600px){.nav{flex-direction:column;align-items:flex-start}.nav-links{flex-wrap:wrap}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:1rem;color:var(--muted)}.loader-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.game-frame-page{display:flex;flex-direction:column;gap:16px}.game-frame-container{width:100%;max-width:900px;margin:0 auto;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.game-frame{display:block;width:100%;height:auto;border:none;background:#000}.game-frame-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.game-frame-controls .button-link.secondary{background:transparent;border:1px solid var(--border);color:var(--muted)}.game-frame-controls .button-link.secondary:hover{color:var(--ink);border-color:var(--accent)}.save-game-input{display:flex;flex-direction:column;gap:8px}.saved-games-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:240px;overflow-y:auto}.saved-game-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.saved-game-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.saved-game-info strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-game-info .muted{font-size:.75rem}.saved-game-actions{display:flex;gap:6px;flex-shrink:0}.saved-game-actions button{padding:4px 10px;font-size:.8rem}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.error-boundary-content{text-align:center;max-width:480px;padding:32px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.error-boundary-content h1{margin:0 0 16px;font-size:1.8rem;color:var(--error)}.error-boundary-message{color:var(--muted);line-height:1.6;margin-bottom:20px}.error-boundary-details{text-align:left;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-size:.85rem;color:var(--error);overflow-x:auto;margin-bottom:20px}.error-boundary-actions{display:flex;gap:12px;justify-content:center}
