/* Rook & Rating — a mechanical tournament chess clock in a burgundy case: two cream dials, the minute hand climbing to twelve and the red flag lifting and falling, over maple-and-walnut board squares; Bodoni Moda for headings and ratings, like an old tournament bulletin. */
:root,[data-theme="chess-tools"]{
--color-primary:#6a3448;--color-accent:#e8d9b5;--color-bg:#ecebee;--color-bg-alt:#e0dee3;
--color-text:#1c1a1a;--color-text-muted:#5a5458;--color-border:#cdc8cc;
--card:#fbfafb;--wine:#6a3448;--wine-deep:#4a2131;--maple:#e8d9b5;--walnut:#8a6a4a;--ink:#1c1a1a;--dial:#f6f3ee;--flag:#c8102e;
--radius-sm:3px;--radius-md:8px;
--font-display:"Bodoni Moda",Didot,"Bodoni 72","Times New Roman",serif;
--font-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--squares:conic-gradient(var(--walnut) 25%,var(--maple) 0 50%,var(--walnut) 0 75%,var(--maple) 0) 0 0/16px 16px}
*{box-sizing:border-box}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-base);-webkit-font-smoothing:antialiased}
a{color:var(--wine)}
:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
/* nav */
.site-nav{background:var(--card);border-bottom:1px solid var(--color-border)}
.nav-container{position:relative;height:60px;max-width:1160px;margin:auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo{height:34px}
.nav-site-name{font:700 22px/1 var(--font-display);color:var(--ink)}
.nav-links,.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.nav-links a,.footer-links a{text-decoration:none;color:var(--color-text-muted);font:600 15px var(--font-base)}
.nav-links a:hover,.footer-links a:hover{color:var(--wine);text-decoration:underline;text-decoration-thickness:2px}
/* home */
.rr-home{max-width:1160px;margin:auto;padding:0 20px 90px}
.rr-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:48px;align-items:center;margin:40px 0 44px;padding-bottom:40px;border-bottom:1px solid var(--color-border)}
.rr-copy small{font:600 13px var(--font-base);letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}
.rr-copy h1{font:700 clamp(36px,5vw,64px)/1.02 var(--font-display);margin:12px 0 18px;color:var(--ink);letter-spacing:-.01em}
.rr-copy h1 em{color:var(--wine)}
.rr-copy p{font-size:17px;line-height:1.7;color:var(--color-text-muted);max-width:54ch;margin:0}
.rr-clock{position:relative;padding:34px 22px 22px;background:linear-gradient(160deg,#7b3e55,var(--wine) 45%,var(--wine-deep));border-radius:14px 14px 10px 10px;box-shadow:inset 0 2px 0 #ffffff26,0 18px 34px #4a213140}
.rr-buttons{position:absolute;top:-12px;left:0;right:0;display:flex;justify-content:space-around}
.rr-buttons b{width:62px;height:16px;border-radius:5px 5px 0 0;background:var(--maple);box-shadow:inset 0 -3px 0 #cbb88e}
.rr-buttons b:first-child{height:8px;margin-top:8px}
.rr-faces{display:flex;gap:22px;justify-content:center}
.rr-face{position:relative;width:132px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--dial) 60%,#e7e1d6);box-shadow:inset 0 0 0 5px #2b1a20,inset 0 3px 8px #00000026}
.rr-face::before{content:"";position:absolute;inset:12px;border-radius:50%;background:repeating-conic-gradient(var(--ink) 0 1.2deg,transparent 1.2deg 30deg);-webkit-mask:radial-gradient(circle,transparent 78%,#000 79%);mask:radial-gradient(circle,transparent 78%,#000 79%)}
.rr-hand{position:absolute;left:50%;bottom:50%;width:3px;height:42%;margin-left:-1.5px;background:var(--ink);border-radius:2px;transform-origin:50% 100%}
.rr-hand.is-hour{height:28%;width:4px;margin-left:-2px}
.rr-face .rr-hub{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--ink)}
.rr-left .rr-hand{transform:rotate(132deg)}
.rr-left .rr-hand.is-hour{transform:rotate(-120deg)}
.rr-right .rr-hand{transform:rotate(-40deg);animation:rr-sweep 2.4s cubic-bezier(.3,.1,.4,1) .3s forwards}
.rr-right .rr-hand.is-hour{transform:rotate(-6deg);animation:none}
@keyframes rr-sweep{to{transform:rotate(4deg)}}
.rr-flag{position:absolute;top:13%;left:50%;width:12px;height:20px;margin-left:2px;background:var(--flag);clip-path:polygon(0 0,100% 30%,0 100%);transform-origin:0 100%;transform:rotate(-58deg);animation:rr-flag 2.4s ease-in .3s forwards}
@keyframes rr-flag{0%{transform:rotate(-58deg)}70%{transform:rotate(-8deg)}86%{transform:rotate(-2deg)}100%{transform:rotate(118deg)}}
.rr-plate{margin:16px auto 0;width:max-content;padding:3px 12px;border-radius:3px;background:var(--maple);font:700 13px var(--font-display);letter-spacing:.2em;color:var(--wine-deep)}
.rr-rail{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:10px;font:700 20px var(--font-display);color:var(--color-text-muted)}
.rr-rail b{color:var(--ink)}
.rr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:14px}
.rr-card{position:relative;display:flex;flex-direction:column;padding:22px 22px 20px;background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit;overflow:hidden;transition:transform .16s,box-shadow .16s}
.rr-card::after{content:"";position:absolute;top:0;right:0;width:32px;height:32px;background:var(--squares);opacity:.9}
.rr-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #4a213122}
.rr-sym{align-self:flex-start;font:700 italic 22px var(--font-display);color:var(--wine)}
.rr-card h2{font:700 22px/1.15 var(--font-display);margin:10px 0 8px;color:var(--ink)}
.rr-card p{margin:0 0 16px;font-size:14px;line-height:1.65;color:var(--color-text-muted);flex:1}
.rr-open{font:700 14px var(--font-base);color:var(--wine)}
.rr-note{margin-top:34px;padding:16px 18px;border-left:6px solid var(--wine);border-radius:var(--radius-sm);background:var(--card);font-size:14px;line-height:1.7;color:var(--color-text-muted)}
/* detail */
.rrd-page{max-width:1080px;margin:auto;padding:24px 20px 90px}
.rrd-crumb{font-size:13px;color:var(--color-text-muted)}
.rrd-crumb a{text-decoration:none;font-weight:700}
.rrd-head{max-width:800px;padding:30px 0 24px}
.rrd-kicker{display:inline-block;font:600 12px var(--font-base);letter-spacing:.18em;color:var(--wine)}
.rrd-head h1{font:700 clamp(34px,4.8vw,56px)/1.05 var(--font-display);margin:12px 0 14px;color:var(--ink)}
.rrd-head p{font-size:18px;line-height:1.7;color:var(--color-text-muted);margin:0}
.rrd-tool{background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin:14px 0 50px;box-shadow:0 16px 34px #4a21311a}
.rrd-tool-label{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:var(--wine);color:var(--dial);font:700 19px var(--font-display)}
.rrd-tool-label i{flex:0 0 64px;height:16px;background:var(--squares);background-size:8px 8px;border-radius:2px}
.rrd-tool-body{padding:28px}
.rrd-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:56px}
.rrd-reading{font-size:17px;line-height:1.8}
.rrd-reading h2{font:700 28px/1.15 var(--font-display);margin:36px 0 12px;color:var(--ink)}
.rrd-reading p{margin:0 0 14px}
.rrd-reading ol,.rrd-reading ul{margin:0 0 16px;padding-left:22px}
.rrd-reading ol{list-style:decimal}.rrd-reading ul{list-style:disc}
.rrd-reading li{margin-bottom:7px}
.rrd-side{position:relative;align-self:start;background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;color:var(--color-text-muted);font-size:14px;line-height:1.65;overflow:hidden}
.rrd-side::after{content:"";position:absolute;top:0;right:0;width:24px;height:24px;background:var(--squares);background-size:12px 12px}
.rrd-side strong{display:block;color:var(--ink);font:700 19px var(--font-display);margin-bottom:6px}
.rrd-side a{display:inline-block;margin-top:12px;font-weight:700;text-decoration:none;color:var(--wine)}
.rrd-side a:hover{text-decoration:underline}
.rrd-index{margin-top:20px;border-top:1px solid var(--color-border);padding-top:14px}
.rrd-index ul{list-style:none;margin:10px 0 0;padding:0}
.rrd-index li{padding:6px 0;font-size:13px}
.rrd-index a{display:block;margin:0;font-weight:400;color:var(--color-text)}
.rrd-index span[aria-current]{font-weight:700;color:var(--wine)}
.rrd-faq,.rrd-related{margin-top:56px}
.rrd-faq h2,.rrd-related h2{font:700 28px var(--font-display);margin:0 0 16px;color:var(--ink)}
.rrd-faq details{border-bottom:1px solid var(--color-border);padding:15px 0}
.rrd-faq summary{cursor:pointer;font-weight:700}
.rrd-faq p{color:var(--color-text-muted);line-height:1.75}
.rrd-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rrd-related-card{display:block;background:var(--card);padding:18px 20px 20px;border:1px solid var(--color-border);border-top:6px solid var(--wine);border-radius:var(--radius-md);text-decoration:none;color:inherit;transition:transform .16s}
.rrd-related-card:hover{transform:translateY(-3px)}
.rrd-related-card h3{font:700 19px/1.2 var(--font-display);margin:0 0 8px;color:var(--ink)}
.rrd-related-card p{font-size:14px;line-height:1.6;color:var(--color-text-muted);margin:0 0 12px}
.rrd-related-card span{font:700 14px var(--font-base);color:var(--wine)}
.rrd-disclaimer{margin:44px 0 0;padding:16px 18px;border-left:6px solid var(--wine);border-radius:var(--radius-sm);background:var(--card);font-size:14px;line-height:1.7;color:var(--color-text-muted)}
.site-footer{background:var(--card);border-top:1px solid var(--color-border);padding:32px 20px;text-align:center}
.footer-copyright{margin-top:14px;font-size:12px;color:var(--color-text-muted)}
/* tool surface */
[data-theme="chess-tools"] .tool-row{gap:16px;margin-bottom:18px}
[data-theme="chess-tools"] .tool-field{font-size:13px;font-weight:700;color:var(--color-text-muted);gap:7px}
[data-theme="chess-tools"] .tool-game{margin-bottom:10px;align-items:center}
[data-theme="chess-tools"] .tool-round{flex:0 0 34px;font:700 italic 18px var(--font-display);color:var(--wine)}
[data-theme="chess-tools"] .tool-input,[data-theme="chess-tools"] .tool-textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:10px 12px;font:16px/1.4 var(--font-base);color:var(--color-text)}
[data-theme="chess-tools"] .tool-input:focus{outline:0;border-color:var(--wine);box-shadow:0 0 0 3px #6a344833}
[data-theme="chess-tools"] .tool-btn{border-radius:var(--radius-sm);font:700 14px var(--font-base)}
[data-theme="chess-tools"] .tool-btn-primary{background:var(--wine);color:#fff;border:0}
[data-theme="chess-tools"] .tool-btn-secondary{background:#fff;border:1.5px solid var(--color-border);color:var(--wine)}
[data-theme="chess-tools"] .tool-result-box{margin-top:22px;padding:22px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--color-border);border-top:5px solid var(--wine);font-size:15px;word-break:normal}
[data-theme="chess-tools"] .tool-stat-hero{margin:0 0 8px;font:700 clamp(36px,6.4vw,56px)/1.05 var(--font-display);color:var(--ink)}
[data-theme="chess-tools"] .tool-unit{display:inline-block;margin-left:12px;font:600 15px var(--font-base);color:var(--wine);vertical-align:middle}
[data-theme="chess-tools"] .tool-hint{font-size:14px;line-height:1.7;color:var(--color-text-muted);margin:8px 0 0}
[data-theme="chess-tools"] .tool-hint strong{color:var(--ink)}
[data-theme="chess-tools"] .tool-scroll{overflow-x:auto;margin-top:14px}
[data-theme="chess-tools"] .tool-table td,[data-theme="chess-tools"] .tool-table th{font-size:14px;background:#fff}
[data-theme="chess-tools"] .tool-table th{background:var(--wine);color:var(--dial)}
@media(max-width:960px){
.rr-grid,.rrd-related-grid{grid-template-columns:repeat(2,1fr)}
.rr-hero{grid-template-columns:minmax(0,1fr) 300px;gap:28px}
.rr-face{width:110px}
}
@media(max-width:768px){
.rr-hero{display:none}
.rr-home{padding:24px 16px 60px}
.rr-grid,.rrd-related-grid{grid-template-columns:1fr}
.rrd-head{padding-top:22px}
.rrd-layout{grid-template-columns:1fr;gap:28px}
.rrd-tool-body{padding:20px 16px}
.rrd-tool-label{padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){
.rr-right .rr-hand,.rr-flag{animation:none}
.rr-right .rr-hand{transform:rotate(4deg)}
.rr-flag{transform:rotate(118deg)}
.rr-card:hover,.rrd-related-card:hover{transform:none}
}
[data-theme="chess-tools"] .static-page-container a{color:var(--wine)}
[data-theme="chess-tools"] .guide-breadcrumb a,[data-theme="chess-tools"] .guide-index-link{color:var(--wine)}
