:root{--paper:#f8f2e6;--panel:#fdf8ee;--ink:#332825;--quiet:#65574e;--accent:#7f293e;--deep:#632034;--line:#d7c9b7;--tile:#efe4d3;--rose:#f2dedf;--green:#36594b;--serif:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.57}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p,figure{margin:0}section[id]{scroll-margin-top:16px}.shell{max-width:1160px;margin-inline:auto;width:calc(100% - 64px)}.site-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font:700 19px var(--serif);white-space:nowrap}.site-head nav{display:flex;align-items:center;gap:clamp(10px,3vw,31px);font-size:13px;font-weight:650}.site-head nav a{text-decoration:none}.site-head nav a:hover,.text-link:hover{color:var(--accent)}.nav-play{border:1px solid var(--line);padding:7px 10px}.nav-play span{color:var(--accent)}
.hero{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,1fr);gap:clamp(24px,6vw,90px);align-items:center;padding:52px 0 49px}.eyebrow,.plate-head,.panel-top>span{font-size:11px;letter-spacing:.14em;font-weight:750;color:var(--accent)}.accent-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:4px}.hero h1{margin:13px 0 17px;font:500 clamp(51px,8.5vw,110px)/.88 var(--serif);letter-spacing:-.073em;color:var(--deep)}.wordmark{position:relative;display:inline-block;isolation:isolate;color:#956b67;background:linear-gradient(90deg,#9c7670,#805251 43%,var(--deep) 95%);background-clip:text;-webkit-text-fill-color:transparent}.wordmark::after{content:attr(data-title);position:absolute;inset:0;background:radial-gradient(circle at 1px 1px,var(--paper) 0 .65px,transparent 1px) 0 0/4px 5px,radial-gradient(circle at 2px 2px,var(--paper) 0 .55px,transparent .9px) 0 0/7px 4px;background-clip:text;-webkit-text-fill-color:transparent;mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}.hero-description{max-width:420px;font-size:clamp(16px,2vw,19px);color:var(--quiet)}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px 21px;margin-top:21px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:9px 14px;border:1px solid var(--line);background:var(--panel);text-decoration:none;font-size:13px;font-weight:700}.primary{color:#fff8ed;background:var(--accent);border-color:var(--accent)}.primary:hover{background:var(--deep)}.text-link{font-size:13px;font-weight:700;text-underline-offset:4px}
.hero-plate{width:100%;max-width:450px;justify-self:end;border:1px solid var(--line);background:var(--panel);padding:15px 17px 12px;box-shadow:0 13px 26px #5d362711}.plate-head,.hero-plate figcaption{display:flex;justify-content:space-between;gap:8px}.plate-head{border-top:4px double var(--accent);border-bottom:1px solid var(--line);padding:6px 0}.hero-pyramid{display:grid;gap:4px;justify-items:center;padding:13px 0}.hero-row{display:flex;gap:4px}.specimen{position:relative;display:grid;place-items:center;width:clamp(30px,5.7vw,53px);height:clamp(22px,3.6vw,37px);overflow:hidden;border:1px solid var(--line);background:var(--tile);color:var(--deep);font:700 clamp(11px,1.5vw,16px) var(--serif);letter-spacing:.04em}.specimen img{width:100%;height:100%;object-fit:cover;filter:saturate(.73)}.specimen.veil::after{content:"";position:absolute;inset:8% 30% 43% 7%;background:var(--deep);box-shadow:14px 11px 0 -2px #74374d}.specimen.path{border:2px solid var(--accent);background:var(--rose)}.specimen.path::before{content:"";position:absolute;z-index:1;right:2px;bottom:2px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.hero-plate figcaption{border-top:1px solid var(--line);padding-top:7px;color:var(--quiet);font-size:12px}.hero-plate figcaption strong{color:var(--accent);font-size:14px}
.demo,.rules,.standings{padding:30px 0 38px;border-top:4px double var(--line)}.section-intro{display:flex;align-items:end;justify-content:space-between;gap:16px 38px;margin-bottom:19px}.section-intro h2{margin-top:4px;font:500 clamp(34px,5.2vw,59px)/.99 var(--serif);letter-spacing:-.055em}.section-intro>p{max-width:370px;color:var(--quiet);font-size:14px}.mode-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:9px}.mode-bar button{padding:8px 10px;min-height:42px;border:1px solid var(--line);background:var(--panel);font-size:12px;font-weight:700}.mode-bar button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff8ed}.demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.07fr);gap:10px;align-items:start}.board-panel,.play-panel{min-width:0;background:var(--panel);border:1px solid var(--line);padding:clamp(10px,2.3vw,22px)}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:34px;padding-bottom:8px;border-bottom:1px solid var(--line)}.panel-top h3{font:700 22px var(--serif)}.panel-top>span{font-size:10px}.clock{font-size:23px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1;color:var(--accent)}.game-board{display:grid;gap:5px;margin:13px 0}.board-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(63px,90px);align-items:center;gap:5px}.board-row{display:flex;justify-content:center;gap:4px}.method{color:var(--quiet);font-size:11px;line-height:1.15}.tile{position:relative;display:grid;place-items:center;width:clamp(22px,6vw,38px);height:34px;border:1px solid var(--line);background:var(--tile);color:var(--quiet);font-size:12px;font-weight:750}.tile.active{border:2px solid var(--accent);background:var(--rose);color:var(--accent)}.tile.open{border:2px dashed var(--accent);color:var(--accent);background:var(--panel)}.tile.correct,.tile.wrong{color:white}.tile.correct{background:var(--green);border-color:var(--green)}.tile.wrong{background:var(--accent);border-color:var(--accent)}.mark{position:absolute;right:1px;bottom:0;font-size:10px;line-height:1}.icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.board-key{display:flex;flex-wrap:wrap;gap:6px 13px;border-top:1px solid var(--line);padding-top:8px;color:var(--quiet);font-size:11px}.board-key span{display:inline-flex;align-items:center;gap:4px}.key-dot{display:inline-block;width:8px;height:8px;background:var(--accent)}
#play-area{padding-top:10px;min-height:222px}.play-heading{font:700 22px/1.18 var(--serif);margin-bottom:5px}.play-copy{color:var(--quiet);font-size:13px;margin:0 0 10px}.ready{padding:12px 0}.ready .button{margin-top:7px}.play-meta{display:flex;justify-content:space-between;gap:6px;margin-bottom:5px;color:var(--quiet);font-size:11px;font-weight:700}.clue-frame{display:grid;place-items:center;background:var(--tile);border:1px solid var(--line);overflow:hidden}.clue-frame canvas{display:block;width:100%;max-width:360px;aspect-ratio:2/1;height:auto}.clue-frame.compact canvas{min-width:0}.options,.route-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.answer,.route-option{min-width:0;min-height:44px;background:var(--panel);border:1px solid var(--line);padding:6px 8px;text-align:left;font-size:13px;font-weight:650;overflow-wrap:anywhere}.answer[aria-pressed=true],.answer.example{background:var(--rose);border-color:var(--accent)}.answer:disabled{opacity:1}.route-option{padding:5px}.route-option>span{display:block;padding:4px 1px 0}.route-option:hover,.answer:hover{border-color:var(--accent)}.action-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:8px}.action-row .button{gap:5px}.feedback{min-height:1.3em;margin:6px 0 0;color:var(--quiet);font-size:12px}.result-total{margin-bottom:6px;color:var(--accent);font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}.demo-note{color:var(--quiet);margin-top:8px;font-size:12px}.assistive,.symbols{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.rule-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;border-block:1px solid var(--line)}.rule-list li{padding:13px 18px 15px 0}.rule-list li+li{padding-left:18px;border-left:1px solid var(--line)}.rule-list li>span{font-size:12px;color:var(--accent);font-weight:750}.rule-list h3{font:700 24px var(--serif);margin:4px 0}.rule-list p,.techniques p{color:var(--quiet);font-size:14px}.techniques{margin-top:12px}.techniques summary{width:fit-content;cursor:pointer;font-weight:650;color:var(--accent)}.techniques p{max-width:780px;margin-top:6px}.table-wrap{background:var(--panel);border:1px solid var(--line)}table{width:100%;border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums}th,td{padding:10px clamp(5px,2vw,18px)}thead{background:var(--tile);color:var(--quiet);font-size:12px}tbody tr+tr{border-top:1px solid var(--line)}tbody td:first-child{color:var(--accent);font-weight:750}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:17px 0 26px;color:var(--quiet);font-size:12px}.site-footer .brand{font-size:16px}
@media(max-width:780px){.shell{width:calc(100% - 34px)}.hero{padding-top:35px;gap:22px}.hero h1{font-size:clamp(47px,8.8vw,76px)}.tile{width:clamp(21px,4.4vw,32px)}.board-line{grid-template-columns:minmax(0,1fr) 63px}}
@media(max-width:610px){.site-head{min-height:62px}.site-head nav{gap:9px}.site-head nav a:not(.nav-play){display:none}.brand{font-size:16px}.hero{grid-template-columns:1fr;padding:24px 0 27px}.hero h1{font-size:clamp(53px,13vw,76px)}.hero-plate{justify-self:start}.specimen{width:clamp(32px,10vw,46px);height:25px}.section-intro{align-items:start;flex-direction:column;gap:8px}.demo-grid{grid-template-columns:1fr}.tile{width:clamp(24px,7vw,35px)}.rule-list{grid-template-columns:1fr}.rule-list li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}.site-footer{flex-wrap:wrap}th,td{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.rule-list{grid-template-columns:repeat(4,minmax(0,1fr))}
.technique-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.technique-gallery figure{min-width:0;background:var(--panel);border:1px solid var(--line)}
.technique-gallery .clue-frame{border:0;border-bottom:1px solid var(--line);background:#eadfce}
.technique-gallery figcaption{display:grid;gap:2px;padding:8px 10px}
.technique-gallery figcaption strong{font:700 18px var(--serif);color:var(--ink)}
.technique-gallery figcaption span{font-size:12px;color:var(--quiet)}
@media(max-width:780px) and (min-width:611px){.rule-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-list li:nth-child(3){border-left:0;padding-left:0}.rule-list li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:610px){.rule-list{grid-template-columns:1fr}.technique-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ready-actions{justify-content:flex-start}
.ready-actions .button{margin:0}
#entry-preview{width:min(430px,calc(100% - 32px));padding:22px;border:1px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:0 13px 32px #33282530}
#entry-preview::backdrop{background:#33282570}
#entry-preview h2{margin:5px 0;font:500 34px var(--serif);letter-spacing:-.035em}
#entry-preview p{margin-bottom:13px;color:var(--quiet)}

/* Deliberate progression from veiled pale letters to crisp dark ink. */
.wordmark{background:none;color:var(--deep);-webkit-text-fill-color:initial}
.wordmark::after{display:none}
.wordmark .mist-1{color:#c9bdb3;filter:blur(1.7px)}
.wordmark .mist-2{color:#b3a095;filter:blur(1.15px)}
.wordmark .mist-3{color:#936c69;filter:blur(.65px)}
.wordmark .mist-4{color:#673c43;filter:blur(.25px)}
.wordmark .crisp{color:#301d25}

/* A continuous diagonal veil covers the entire two-line title. */
.hero h1 .title-art{display:block;width:100%;max-width:540px;height:auto}.hero h1{letter-spacing:normal}

/* A continuous diagonal veil covers the entire two-line title. */
.hero h1 .title-art{display:block;width:100%;max-width:540px;height:auto}.hero h1{letter-spacing:normal}
