*{box-sizing:border-box}html{--bg:#131d2b;--ink:#edf0ed;--muted:#b9c3c9;--paper:#243343;--paper2:#1b2937;--gold:#d6ac60;--copper:#bc8765;--aqua:#87c8c5;--edge:#8aa8e8;--line:#536a80;color-scheme:dark;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui;scroll-behavior:smooth}html[data-theme=daylight]{--bg:#d8dfe0;--ink:#203349;--muted:#465c69;--paper:#f1f0e9;--paper2:#cdd8dc;--gold:#785418;--copper:#89583c;--aqua:#246b6a;--edge:#496eb1;--line:#849aa9;color-scheme:light}html[data-theme=storybook]{--bg:#25242d;--ink:#f1e7d6;--muted:#c6b9b2;--paper:#423b3a;--paper2:#342f35;--gold:#d6ab62;--copper:#c38968;--aqua:#97c6b5;--edge:#aaa4d8;--line:#827367}body{margin:0;background:radial-gradient(ellipse at 75% 15%,color-mix(in srgb,var(--edge) 13%,transparent),transparent 55%),radial-gradient(ellipse at 10% 60%,color-mix(in srgb,var(--aqua) 9%,transparent),transparent 60%);min-height:100vh}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;color:var(--ink);cursor:pointer;min-height:44px;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 85%,transparent);padding:10px 18px;border-radius:3px 14px 3px 14px;box-shadow:inset 0 1px color-mix(in srgb,var(--edge) 25%,transparent);transition:background .2s,border-color .2s}button:hover{border-color:var(--gold);background:var(--paper)}a{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--edge);outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;top:-80px;z-index:10;padding:12px;background:var(--paper)}.skip:focus{top:4px}.mast{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px clamp(20px,5vw,84px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 82%,transparent)}.brand{font:14px Georgia;letter-spacing:.3em;text-decoration:none;color:var(--muted)}.brand span{display:block;color:var(--gold);font-size:23px;letter-spacing:.14em;margin-top:4px}nav{display:flex;gap:8px}nav button{border:none;background:none;box-shadow:none;border-radius:0;padding:10px 16px}nav button[aria-current]{color:var(--gold);border-bottom:2px solid var(--gold)}.classic{text-decoration:none;text-align:right;font-size:14px;color:var(--gold)}.classic small{display:block;font:11px system-ui;color:var(--muted)}.settings{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,84px);font-size:11px;letter-spacing:.1em;color:var(--muted)}.settings [role=group]{display:flex;gap:6px}.settings button{font-size:12px;letter-spacing:.02em;padding:6px 13px}.settings button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.quiet{white-space:nowrap;color:var(--aqua)}main{max-width:1440px;margin:auto;padding:25px clamp(20px,5vw,70px) 70px}main:focus{outline:none}.intro{position:relative;padding:16px 0 35px;max-width:750px}.eyebrow,.folio{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:650}.intro h1,h1{font:clamp(40px,6.4vw,84px)/1.05 Georgia;margin:14px 0 22px;letter-spacing:-.025em}h1 em{font-weight:400;color:var(--aqua)}.intro>p:last-child{color:var(--muted);max-width:480px}h2{font:32px/1.16 Georgia;margin:12px 0}h3{font:23px/1.25 Georgia}.book{display:grid;grid-template-columns:1.05fr 1fr;position:relative;filter:drop-shadow(0 28px 25px #0003);border:1px solid var(--line);border-top-color:var(--edge);border-radius:9px 32px 9px 32px;overflow:hidden}.page{padding:30px clamp(22px,3.5vw,48px);background:linear-gradient(110deg,var(--paper),var(--paper2));min-width:0}.page-left{border-right:1px solid var(--line);box-shadow:inset -12px 0 18px #0002}.page-right{background:linear-gradient(95deg,var(--paper2),var(--paper));box-shadow:inset 12px 0 18px #0002;display:flex;flex-direction:column;gap:18px}.folio{margin:0 0 18px}.page>p:not(.folio){color:var(--muted)}.paper-scene{height:210px;position:relative;overflow:hidden;border-bottom:1px solid var(--edge);background:radial-gradient(ellipse at 60% 80%,color-mix(in srgb,var(--aqua) 15%,transparent),transparent 70%)}.mount{display:block;position:absolute;bottom:5px;width:140px;height:120px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(110deg,var(--edge) 0%,var(--line) 49%,var(--paper2) 50%)}.m1{left:15%;height:170px}.m2{left:45%;width:180px;height:120px}.m3{left:70%;width:80px;height:75px}.lantern{position:absolute;width:15px;height:23px;background:var(--gold);box-shadow:0 0 25px color-mix(in srgb,var(--gold) 50%,transparent);border:1px solid var(--gold);border-radius:3px 8px;transform:rotate(15deg)}.l1{left:26%;top:40px}.l2{left:70%;top:75px}.trail{position:absolute;bottom:15px;left:20%;width:50%;height:45px;border-bottom:2px solid var(--aqua);border-radius:50%;transform:rotate(-12deg)}.arch{position:absolute;bottom:10px;left:7%;width:40px;height:58px;border:5px solid var(--copper);border-bottom:0;border-radius:35px 35px 0 0}.primary{color:var(--bg);background:var(--gold);border:1px solid var(--gold);font-weight:650;display:flex;justify-content:space-between;gap:60px;margin-top:20px}.primary:hover{color:var(--ink)}.door{display:flex;align-items:center;gap:20px;text-align:left;width:100%;padding:24px 18px;background:linear-gradient(120deg,color-mix(in srgb,var(--edge) 10%,transparent),transparent),repeating-linear-gradient(0deg,transparent 0 4px,#ffffff03 4px 5px);border-left:3px solid var(--edge);border-radius:4px 25px 4px 25px}.door small{display:block;font-size:13px;color:var(--muted);line-height:1.5}.door b{font:23px Georgia}.door>span:last-child{margin-left:auto;color:var(--gold)}.glyph{font-size:40px;color:var(--edge)}.peach{border-left-color:var(--copper)}.peach .glyph{color:var(--copper)}.meaning{margin-top:auto;padding-top:12px}.meaning p{color:var(--muted);line-height:1.9}.meaning b{color:var(--aqua)}.meaning small,.footnote{font-size:12px;color:var(--muted)}.footnote{margin:24px 0;max-width:85ch}.view-head{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:15px 0 28px}.view-head h1{font-size:clamp(36px,5vw,65px)}.game-layout{display:grid;grid-template-columns:minmax(280px,1.35fr) minmax(250px,1fr);gap:40px;align-items:start}#board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1;max-width:640px;padding:18px;background:linear-gradient(145deg,var(--paper),var(--paper2));border:1px solid var(--edge);border-radius:6px 35px 6px 35px;gap:5px;box-shadow:10px 14px 0 color-mix(in srgb,var(--line) 30%,transparent)}.cell{border:1px solid color-mix(in srgb,var(--line) 45%,transparent);display:flex;align-items:center;justify-content:center;min-width:0;font-size:clamp(18px,3vw,35px);background:color-mix(in srgb,var(--paper) 45%,transparent)}.wall{background:repeating-linear-gradient(110deg,var(--line) 0 4px,var(--paper2) 4px 8px);box-shadow:3px -3px 0 var(--edge);border-color:var(--edge)}.light{color:var(--gold);text-shadow:0 0 16px color-mix(in srgb,var(--gold) 60%,transparent)}.gate{border:2px solid var(--copper);color:var(--copper)}.traveller{color:var(--aqua);background:color-mix(in srgb,var(--aqua) 15%,var(--paper));border:2px solid var(--aqua)}.game-notes{padding:20px 0}.game-notes p,.position{color:var(--muted)}#game-status{color:var(--gold);border-left:2px solid var(--gold);padding-left:14px;min-height:70px}.dpad{display:grid;grid-template-columns:repeat(3,56px);gap:8px;margin:24px 0}.dpad button{font-size:24px;padding:4px}.dpad [data-move=up]{grid-column:2}.dpad [data-move=left]{grid-column:1}.reading-card{background:linear-gradient(130deg,var(--paper),var(--paper2));border:1px solid var(--edge);padding:clamp(24px,5vw,65px);border-radius:4px 36px;max-width:950px}.reading-card #vignette{font:clamp(23px,3vw,33px)/1.65 Georgia;max-width:58ch}.reading-card>p:last-child{color:var(--muted)}footer{padding:25px 5vw;border-top:1px solid var(--line);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}@media(max-width:850px){.mast{flex-wrap:wrap;gap:15px}.mast nav{order:3;width:100%;justify-content:space-between}.settings{flex-wrap:wrap}.settings>span:first-child{width:100%}.book{grid-template-columns:1fr}.page-left{border-right:0;border-bottom:1px solid var(--line)}.game-layout{grid-template-columns:1fr}.view-head{align-items:start;flex-direction:column}.intro h1{font-size:62px}}@media(max-width:400px){.intro h1{font-size:48px}.settings{gap:10px}nav button{padding:10px}.door{gap:10px}.door b{font-size:20px}#board{padding:10px;gap:3px}.classic{font-size:12px}.brand span{font-size:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.knight-frame{height:min(76vh,800px);min-height:430px;border:1px solid var(--edge);border-radius:6px 30px;overflow:hidden;background:var(--paper)}.knight-frame iframe{width:100%;height:100%;border:0}a[aria-disabled=true]{opacity:.65;cursor:default}

.cymatics{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;margin-top:38px;padding:clamp(22px,4vw,45px);border:1px solid var(--edge);border-radius:5px 36px;background:linear-gradient(120deg,var(--paper2),var(--paper))}.cymatics h2{font-size:40px}.cymatics p,.cymatics small{color:var(--muted)}.plate-wrap{max-width:420px;padding:14px;border:1px solid var(--copper);background:repeating-linear-gradient(0deg,var(--paper2) 0 3px,var(--paper) 3px 4px);border-radius:4px 24px}.plate-wrap canvas{display:block;width:100%;aspect-ratio:1;border:1px solid var(--edge);border-radius:4px 18px;image-rendering:auto}.plate-wrap span{display:block;text-align:center;font-size:11px;color:var(--muted);margin-top:8px}.plate-controls label{display:block;margin:20px 0 7px;color:var(--gold)}.plate-controls output{float:right}.plate-controls input[type=range]{width:100%;min-height:44px;accent-color:var(--aqua)}.plate-controls select{width:100%;min-height:44px;background:var(--paper2);color:var(--ink);border:1px solid var(--line);padding:9px;font:inherit}.plate-controls .toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.plate-controls small{display:block}#plate-stop{border-color:var(--copper)}@media(max-width:850px){.cymatics{grid-template-columns:1fr;gap:15px}.cymatics h2{font-size:32px}}
