:root{--bg:#e6f2e4;--bg-2:#d5ead3;--surface:#fbfdf9;--surface-2:#f1f8ee;--ink:#1d3a27;--muted:#587262;--line:#c6dec6;--accent:#3e8e5e;--accent-dark:#2b6b44;--accent-soft:#d9eedc;--gold:#e6b84a;--radius:16px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0%, #f4faf1 0, transparent 45%), radial-gradient(circle at 100% 30%, var(--bg-2) 0, transparent 40%), var(--bg);min-height:100dvh;margin:0}button{font:inherit}a{color:var(--accent-dark)}h1,h2{margin:0;font-family:Georgia,Times New Roman,serif}.page{max-width:1120px;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:0 auto;display:flex}.hero{text-align:center;padding:12px 0 4px}.logo{color:var(--accent-dark);letter-spacing:.01em;font-size:clamp(2.6rem,8vw,4rem)}.logo-knight{vertical-align:-.2em;width:auto;height:1.15em;margin-right:.08em}.tagline{max-width:520px;color:var(--muted);margin:8px auto 0;font-size:1.1rem;line-height:1.5}.filters,.line-tabs{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.line-tabs{justify-content:flex-start}.chip{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:600}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}.opening-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:18px;display:grid}.play-panel{grid-area:span 2/span 2}@media (width<=980px){.opening-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.opening-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.play-panel{grid-row:auto}}@media (width<=520px){.opening-grid{grid-template-columns:minmax(0,1fr)}.play-panel{grid-column:auto}}.play-panel{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--accent);flex-direction:column;gap:12px;padding:16px;display:flex;box-shadow:0 4px #2b6b441f}.play-head h2{color:var(--accent-dark);font-size:1.35rem}.play-head p{color:var(--muted);margin:4px 0 0}.play-panel .board-frame{width:100%;max-width:460px;box-shadow:none;background:0 0;border:none;margin:0 auto;padding:0}.play-status p{text-align:center;margin:0}.play-moves{color:var(--accent-dark);overflow-wrap:anywhere;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-weight:700}.play-turn{color:var(--muted);font-size:.9rem}.play-buttons{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.play-buttons button{border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:10px;padding:10px;font-weight:700}.play-buttons button:disabled{opacity:.45;cursor:default}.play-suggest-label{letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin:0 0 6px;font-size:.8rem;font-weight:800}.play-suggest-list{flex-wrap:wrap;gap:6px;display:flex}.play-suggest-list button{border:1.5px solid var(--line);background:var(--accent-soft);color:var(--ink);cursor:pointer;text-align:left;border-radius:10px;align-items:baseline;gap:6px;padding:6px 10px;display:flex}.play-suggest-list button:hover{border-color:var(--accent)}.play-suggest-list strong{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.play-suggest-list span{color:var(--muted);font-size:.85rem}.play-none{color:#8a4a1d;text-align:center;background:#fbeee4;border-radius:10px;margin:0;padding:10px}.filter-bar{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px 24px;padding:14px 16px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.75rem;font-weight:800}.filter-options{flex-wrap:wrap;gap:6px;display:flex}.filter-options .chip{padding:6px 12px;font-size:.9rem}.filter-count{color:var(--muted);margin:0 0 0 auto;font-size:.9rem}.tag.style-trappy{color:#85610b;background:#fdf0c8}.tag.style-silly{color:#9a2b66;background:#fde2f0}.tag.trap{color:#a2302a;background:#fbe0de}.counters-line{color:var(--muted);margin:0;font-size:.85rem;font-weight:700}.related{margin:0;font-weight:600}.fights-back{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);padding:16px 20px}.fights-back h2{color:var(--accent-dark);font-size:1.1rem}.fights-back ul{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.fights-back li{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.fights-back a{font-weight:700}.fights-back-moves{color:var(--muted);flex-basis:100%;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.tag.side-white{color:#3b3b3b;border:1px solid var(--line);background:#fff}.tag.side-black{color:#f2f2f2;background:#2f3a33}.empty-tile{border-radius:var(--radius);border:1.5px dashed var(--line);background:var(--surface-2);text-align:center;flex-direction:column;grid-column:span 2;justify-content:center;gap:6px;padding:24px;display:flex}.empty-tile h2{color:var(--accent-dark);font-size:1.2rem}.empty-tile p{color:var(--muted);margin:0}@media (width<=520px){.empty-tile{grid-column:auto}}.opening-card{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);color:inherit;flex-direction:column;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;overflow:hidden;box-shadow:0 4px #2b6b441f}.opening-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px #2b6b4429}.opening-card .board-frame{padding:14px 14px 0}.opening-card-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px 16px;display:flex}.opening-card h2{font-size:1.35rem}.card-tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700}.tag.style-sharp{color:#9a4316;background:#fbe3d6}.tag.style-solid{color:#285a8c;background:#dde9f6}.tag.style-hypermodern,.tag.style-flexible{color:#5d3d8f;background:#ece3f7}.moves-text{color:var(--accent-dark);margin:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.9rem}.summary{color:var(--muted);margin:0;line-height:1.5}.card-cta{color:var(--accent-dark);margin-top:auto;padding-top:8px;font-weight:700}.coming-soon{text-align:center;border-radius:var(--radius);border:1.5px dashed var(--line);background:var(--surface-2);padding:18px}.coming-soon h2{color:var(--accent-dark);font-size:1.1rem}.coming-soon p{max-width:520px;color:var(--muted);margin:6px auto 0}.crumbs a{font-weight:600;text-decoration:none}.opening-head{flex-direction:column;gap:8px;display:flex}.opening-head h1{color:var(--accent-dark);font-size:clamp(2rem,5vw,2.8rem)}.opening-head .summary{max-width:760px;font-size:1.05rem}.study{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=820px){.study{grid-template-columns:minmax(0,1fr)}}.study-board{flex-direction:column;gap:12px;width:100%;max-width:max(320px,min(540px,100dvh - 330px));margin:0 auto;display:flex}.board-frame{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 6px #2b6b4424}.board-frame.small{box-shadow:none;background:0 0;border:none;padding:0}.controls{grid-template-columns:auto 1fr 1fr auto;gap:8px;display:grid}.controls button{border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:12px;padding:12px 14px;font-weight:700}.controls button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 0 var(--accent-dark)}.controls button:active:not(:disabled){transform:translateY(2px)}.controls button:disabled{opacity:.45;cursor:default;box-shadow:none}.board-options{justify-content:space-between;align-items:center;gap:8px;display:flex}.hint{color:var(--muted);font-size:.85rem}@media (pointer:coarse){.hint{display:none}}button.link{color:var(--accent-dark);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.study-side{flex-direction:column;gap:16px;display:flex}.explain{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--accent);border-left-width:6px;min-height:150px;padding:18px 20px}.explain p{margin:0}.explain-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:800}.explain-move{font-family:Georgia,serif;font-size:1.8rem;font-weight:700;margin-top:4px!important}.explain-text{font-size:1.1rem;line-height:1.55;margin-top:8px!important}.explain-hint{color:var(--muted);margin-top:12px!important}.move-list{border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);grid-template-columns:1fr 1fr;gap:2px 12px;max-height:260px;padding:8px;display:grid;overflow-y:auto}.move-row{grid-template-columns:2.2em 1fr 1fr;align-items:center;gap:4px;display:grid}.move-no{color:var(--muted);text-align:right;font-size:.85rem}.move{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-weight:600}.move:hover{background:var(--accent-soft)}.move.current{background:var(--accent);color:#fff}.ideas{border-radius:var(--radius);background:var(--surface-2);border:1.5px solid var(--line);padding:16px 20px}.ideas h2{color:var(--accent-dark);font-size:1.1rem}.ideas ul{color:var(--ink);margin:8px 0 0;padding-left:20px;line-height:1.55}.footer{text-align:center;padding:8px 0 4px}.footer a{font-weight:600;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.opening-card{transition:none}}
