:root {--page-bg:#071324;--panel-bg:#101c2e;--panel-alt:#23354e;--ink:#f2f1ed;--muted:#adbed3;--rule:#455c78;--link:#8bc8ff;--link-visited:#afc7ea;--accent:#ffae68;--square-light:#b0c3db;--square-dark:#38516f}
html {background:#071324} body {background:radial-gradient(ellipse at top,#153f70 0, #0b203c 48%,#060e1c 100%);font-size:14px;min-height:100vh}
.site-shell {width:min(1120px,calc(100% - 32px));margin:24px auto;border:1px solid #41628a;background:#101c2e;box-shadow:0 0 0 4px #071020,0 18px 60px #0008}
.masthead {padding:25px 22px 16px;border-top:3px solid #f58426;border-bottom:1px solid #4774a5;background:linear-gradient(110deg,#174d82,#10243f)}
.brand h1 {color:#f2f1ed;font-size:38px;text-shadow:0 2px 0 #071324}.brand .tagline {color:#c1cfe0;font-size:12px}.brand{gap:18px}
.topnav {background:linear-gradient(#214d7a,#102e51);border:1px solid #4c759e;border-top-color:#739fcb;padding:10px 12px;box-shadow:0 2px 4px #0006;margin-top:20px;font-size:12px;display:flex;flex-wrap:wrap;gap:10px 22px}
.topnav a{margin:0;text-decoration:none;letter-spacing:.06em;color:#edf4fd}.topnav a[aria-current="page"] {color:#fff;border-bottom:2px solid #8bc8ff}
a:hover {color:#fff}a:focus-visible{outline:2px solid #ffb779;outline-offset:4px}
.content-grid{grid-template-columns:210px minmax(0,1fr);gap:14px;padding:14px}.box{background:#142237;border:1px solid #3e5470;margin-bottom:14px;box-shadow:inset 0 1px #ffffff0a,0 2px 4px #0003}
.box > h2,.box > h3{background:linear-gradient(#176fbe 0,#145993 48%,#124e83 50%,#155d9c 100%);color:#ffffff;border-bottom:1px solid #467caf;border-top:1px solid #5a96cc;padding:8px 10px;font-size:11px;letter-spacing:.12em}
.box > h2::before,.box > h3::before{content:'»';color:#ffad69;margin-right:8px}.box .body{padding:14px}.box li{margin:9px 0}.sidebar{font-size:12px}.sidebar .body{padding:12px}.sidebar li{margin:8px 0}
.article{border-top:3px solid #f58426;background:linear-gradient(120deg,#1a2c45,#122137)}.article .body{padding:20px}.article h2{font-size:30px;margin:6px 0 8px;line-height:1.15}.article h2 a{color:#f2f1ed;text-decoration:none}.article p{line-height:1.65}.meta{font-size:11px;color:#adbed3}.kicker{color:#ffae68;letter-spacing:.13em}.rule{border-color:#3e5470}.two-up{gap:14px}.footer{color:#adbed3;background:#0d1b30;border-color:#41628a;padding:15px;text-align:center;font-size:11px}
.record-row{display:flex;align-items:center;gap:14px}.record-row img{width:72px;height:72px;border:1px solid #7894b5}.record-row strong{display:block}.record-row div{min-width:0}.record-row span{font-size:13px;color:#c6d2e2}.mini-board{margin:12px 0;border:1px solid #7894b5}.mini-board .square{font-size:23px;line-height:1;color:#091423;text-shadow:0 1px #ddd;cursor:default}.mini-board .white-piece{color:#fff6e6;text-shadow:0 1px 2px #000,1px 0 #000}
@media(max-width:700px){.site-shell{width:calc(100% - 20px);margin:10px auto}.content-grid{grid-template-columns:1fr}.sidebar{display:block}.two-up{grid-template-columns:1fr}.brand h1{font-size:32px}.masthead{padding:18px 14px}.topnav{gap:12px 18px}.article h2{font-size:27px}}

/* Shared controls and page-specific content. */
input,textarea,select{color:var(--ink);background:#0a1526;border:1px solid #4c6b8e;font:inherit}
textarea{padding:8px}input::placeholder,textarea::placeholder{color:#adbed3}
.retro-button{color:#f1f6ff;background:linear-gradient(#245889,#143a61);border:1px solid #6c94bc;box-shadow:inset 0 1px #9bb8d744,inset 0 -1px #0006}
.retro-button:hover:not(:disabled){background:#286aab}.retro-button:active{box-shadow:inset 0 2px 4px #0008}
.notice{background:#21344d;border-color:#587dA3;color:var(--ink)}
#feedback.error{border-color:#e88a94;background:#42242c}
dialog{background:#142237;color:var(--ink);border-color:#6188af}dialog::backdrop{background:#000b}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ffb779;outline-offset:3px}
.board-wrap{background:#1b3552;border-color:#6387ad;box-shadow:inset 1px 1px #adc3dc,inset -1px -1px #0c2138}
.square.selected{outline-color:#ffad69}.square:focus-visible{outline-color:#ffad69}.square.last::after{border-color:#fff2a9}
.status-table td,.history-table th,.guestbook-entry{border-color:#415c7c}.history-table button{color:var(--link)}.history-table small{color:var(--muted)}
.album-cover{border-color:#6f90b5}.album .album-notes h3{color:var(--ink)}.album .album-notes h3::before,.guestbook-entry h3::before{content:none}.guestbook-entry h3{color:var(--ink)}
@media(max-width:720px){.content-grid{grid-template-columns:1fr}.two-up{grid-template-columns:1fr}.topnav a{margin:0}.sidebar{display:block}}

/* Content headings are not panel title bars. */
.box .guestbook-intro{background:none;border:0;padding:0;margin:0 0 8px;color:var(--ink);font:bold 23px Georgia,serif;text-transform:none;letter-spacing:0}

.chess-feature-row{display:flex;align-items:center;gap:14px;min-height:72px}.chess-feature-image{display:block;flex:0 0 72px}.chess-feature-image img{display:block;width:72px;height:72px}.chess-feature-row>div{min-width:0}.chess-feature-row>div>div{margin-top:8px}

/* Keep miniature pieces inside eight equal rows, independent of font metrics. */
.mini-board{grid-template-rows:repeat(8,minmax(0,1fr));overflow:hidden}.mini-board .square{min-height:0;overflow:hidden;font-size:0;text-shadow:none}.mini-board .square img{display:block;width:86%;height:86%;object-fit:contain}

/* Orange marks the active destination without filling large surfaces. */
.topnav a[aria-current="page"]{border-bottom-color:#f58426}.kicker{color:#ffae68}

/* Stylized Lower Manhattan, early 2001: skyline confined above navigation. */
.masthead{position:relative;isolation:isolate;overflow:hidden}.masthead::before{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;top:4px;height:100px;background:url("assets/nyc-skyline.svg?v=polish1") right bottom / auto 100% no-repeat;opacity:.36}.brand{position:relative;min-height:62px;align-items:baseline}.brand h1,.brand .tagline{text-shadow:0 1px 4px #071324,0 0 12px #071324}.topnav{position:relative;margin-top:0}
@media(max-width:700px){.masthead::before{height:104px;background-size:auto 95px;opacity:.25}.brand{min-height:80px;align-content:flex-start;gap:2px 18px}}

/* Compact homepage lead and narrow-screen game layout. */
.home-feature .body{padding:16px}.home-feature p{margin:12px 0;line-height:1.55}.home-feature p:last-child{margin-bottom:0}
@media(max-width:720px){.chess-preview{grid-template-columns:minmax(0,1fr)}.main,.board-wrap{min-width:0}.brand .tagline{line-height:1.5}.topnav a{padding:5px 0}.article h2{overflow-wrap:break-word}}

/* Let the skyline remain visible beside desktop navigation. */
.topnav{width:fit-content;max-width:100%;padding-right:28px}
@media(max-width:720px){.topnav{width:100%;padding-right:12px}}
