@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&family=Space+Mono&display=swap');
:root{--ink:#e8ece2;--muted:#a6b0a3;--bg:#141d18;--panel:#1c2820;--line:#39483a;--lime:#dcf79c;--paper:#eae7db;--dark:#1e2b23;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}.wrap{max-width:1240px;margin:auto;padding:0 48px}.skip{position:fixed;top:-70px;left:20px;z-index:9;background:var(--lime);color:var(--dark);padding:14px}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 0;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:2px;line-height:1.3}.mark{display:grid;place-items:center;font-family:'Instrument Serif',serif;font-size:42px;background:var(--lime);color:var(--dark);width:48px;height:48px;border-radius:50%;letter-spacing:0}nav{display:flex;align-items:center;gap:26px;font-size:13px}nav a{text-decoration:none}nav a:hover{color:var(--lime)}.button{border:1px solid var(--line);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 22px;background:transparent;color:inherit;text-decoration:none;font-size:13px;font-weight:600;min-height:48px}.button:hover{border-color:var(--lime)}.button.primary{background:var(--lime);color:var(--dark);border-color:var(--lime)}.button.small{padding:10px 15px;min-height:42px}.eyebrow,.micro{font-family:'Space Mono',monospace;font-size:10px;line-height:1.7;letter-spacing:1.4px;text-transform:uppercase}.eyebrow{color:var(--lime)}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;letter-spacing:-2px}h1{font-size:clamp(54px,6.7vw,88px);line-height:1.02;margin:27px 0}h1 em,h2 em{color:var(--lime);font-weight:400}h2{font-size:52px;line-height:1.1}h3{font-size:20px;font-weight:500;letter-spacing:-.4px}p{font-size:15px;line-height:1.75}.hero{padding:56px 0 0}.hero-label{display:flex;justify-content:space-between}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:65px;padding:17px 0 60px}.hero-copy>p{max-width:445px;color:var(--muted);font-size:17px}.actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.hero .actions{margin:30px 0 21px}.entry-note{font-size:11px;color:var(--muted)}.ticket{background:var(--paper);color:var(--dark);transform:rotate(2deg);padding:25px;position:relative;border-radius:3px}.ticket-head{display:flex;justify-content:space-between;border-bottom:1px solid #a9b19f;padding-bottom:16px}.trace-art{height:232px;position:relative;margin:15px 0;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(#263f2710 1px,transparent 1px),linear-gradient(90deg,#263f2710 1px,transparent 1px);background-size:28px 28px}.trace-art svg{width:100%;height:100%}.ticket h3{font-family:'Instrument Serif',serif;font-size:32px;margin:0 0 9px}.ticket p{font-size:12px;line-height:1.6;margin:0}.ticket .micro{font-size:9px}.ticket-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #a9b19f;padding-top:19px}.ticket-arrow{font-size:34px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;color:var(--muted)}.strip b{color:var(--lime);margin-right:9px}.section{padding:80px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head h2{margin:10px 0 0}.section-head p{max-width:300px;color:var(--muted);margin:0}.game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.game-card{border:1px solid var(--line);padding:27px;background:var(--panel);display:flex;flex-direction:column;align-items:start}.game-symbol{font-family:'Instrument Serif',serif;font-size:50px;color:var(--lime);margin:25px 0}.game-card h3{font-size:22px}.game-card p{font-size:13px;color:var(--muted);flex:1}.game-card .micro{font-size:9px}.game-card button{margin-top:15px;width:100%;justify-content:space-between}.subline{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:12px;color:var(--muted);margin-top:23px}.sample-section{background:var(--paper);color:var(--dark)}.sample-section .eyebrow{color:#496341}.sample-section .section-head p{color:#56624f}.sample-section :focus-visible{outline-color:#4a672c}.sample-grid{display:grid;grid-template-columns:240px 1fr;gap:55px}.sample-aside p{font-size:13px;color:#52604d}.sample-aside ol{padding-left:18px;font-size:13px;line-height:2}.sample-aside h3{font-family:'Instrument Serif',serif;font-size:29px}.sample-workspace{border:1px solid #b4bcaa;border-radius:4px;background:#f4f2e8;padding:28px;color-scheme:light;min-width:0}.sample-toolbar{display:flex;gap:12px;align-items:end;border-bottom:1px solid #ced2c4;padding-bottom:22px}.field{display:flex;flex-direction:column;gap:8px;flex:1;font-size:12px;font-weight:600;min-width:0}select,input{border:1px solid #a1ad98;border-radius:3px;padding:13px 12px;background:transparent;color:inherit;min-height:47px;width:100%}.sample-workspace .button{border-color:#92a17f;color:var(--dark)}.sample-workspace .button.primary{background:var(--dark);color:var(--paper);border-color:var(--dark)}.sample-status{font-size:12px;color:#53634b;margin:20px 0}.puzzle-content{margin:24px 0;line-height:1.7;font-size:14px;overflow-wrap:anywhere}.puzzle-content h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-bottom:7px}.puzzle-content pre{white-space:pre-wrap;word-break:break-word;padding:15px;background:#e5e8db;font-size:12px}.puzzle-content ul{padding-left:20px}.answer-row{display:flex;gap:12px;align-items:end}.answer-row .field{flex:1}.feedback{border-top:1px solid #bbc3b0;margin-top:23px;padding-top:22px;font-size:14px}.feedback h3{font-family:'Instrument Serif',serif;font-size:30px}.feedback p{font-size:13px}.feedback pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.result-label{font-size:11px;text-transform:uppercase;letter-spacing:1px}.error{color:#a13125!important}.empty-state{padding:30px 0}.empty-state h3{font-family:'Instrument Serif',serif;font-size:34px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.process .number{font-family:'Instrument Serif',serif;font-size:36px;color:var(--lime);display:block;margin-bottom:20px}.process p{font-size:13px;color:var(--muted)}.score-panel{border-top:1px solid var(--line);margin-top:46px;padding-top:28px;display:grid;grid-template-columns:1fr 1.6fr;gap:36px}.score-panel p{font-size:13px;color:var(--muted)}.score-panel h3{font-family:'Instrument Serif',serif;font-size:31px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-weight:400}.secondary{background:#233025;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.secondary-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:60px}.secondary h2{margin:16px 0 23px}.secondary p{color:var(--muted)}.room-links a{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid #46543f;text-decoration:none}.room-links span{font-family:'Instrument Serif',serif;font-size:28px}.room-links small{font-size:11px;color:var(--muted);display:block;margin-top:5px}.footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:33px 0;color:var(--muted);font-size:11px}.footer-links{display:flex;gap:20px}.page-hero{padding:65px 0 40px;max-width:800px}.page-hero h1{font-size:70px}.page-hero p{max-width:660px;color:var(--muted)}.doc-grid{display:grid;grid-template-columns:240px 1fr;gap:60px;padding-bottom:65px}.doc-nav{display:flex;flex-direction:column;gap:17px;align-self:start;position:sticky;top:25px;font-size:13px}.doc-content{min-width:0}.doc-content section{padding:15px 0 35px;border-bottom:1px solid var(--line);margin-bottom:30px}.doc-content h2{font-size:38px;letter-spacing:-1px}.doc-content p,.doc-content li{color:var(--muted);font-size:14px;line-height:1.8}.doc-content pre{background:#0e1711;border:1px solid var(--line);padding:21px;overflow-x:auto;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.doc-content code{font-family:'Space Mono',monospace;font-size:.85em}.note{border-left:2px solid var(--lime);padding:14px 20px;background:var(--panel);font-size:13px;line-height:1.8}.copy-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.copy-status{font-size:12px;color:var(--lime)}.game-detail{padding:30px;border:1px solid var(--line);margin-bottom:20px}.game-detail h2{font-size:38px;margin:15px 0}.game-detail p{color:var(--muted);font-size:14px}.game-detail .tiers{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:25px 0}.tiers strong{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--lime)}.tiers p{font-size:13px;margin-top:8px}details{padding:15px 0}summary{cursor:pointer;font-size:14px}.check-state{display:inline-flex;gap:8px;align-items:center}.check-state:before{content:'';width:6px;height:6px;border-radius:100%;background:currentColor}[hidden]{display:none!important}
@media(max-width:900px){.wrap{padding:0 28px}.hero-grid{gap:35px}.hero h1{font-size:65px}.ticket{padding:20px}.trace-art{height:200px}.sample-grid{grid-template-columns:180px 1fr;gap:30px}.doc-grid{grid-template-columns:170px 1fr;gap:30px}.section-head h2{font-size:45px}nav{gap:17px}.game-card{padding:20px}}
@media(max-width:650px){.wrap{padding:0 22px}header{flex-wrap:wrap;gap:20px;padding:21px 0}header nav{order:3;width:100%;justify-content:space-between;font-size:12px}header .button{font-size:11px;padding:9px 12px}.hero{padding-top:33px}.hero-label .muted{display:none}.hero-grid{grid-template-columns:1fr;gap:37px;padding-bottom:42px}.hero h1{font-size:62px}.hero-copy>p{font-size:15px}.ticket{transform:rotate(1deg);max-width:420px}.trace-art{height:190px}.strip{grid-template-columns:1fr;font-size:9px;padding:17px 0;gap:12px}.section{padding:52px 0}.section-head{display:block}.section-head h2{font-size:44px;margin-bottom:20px}.section-head p{font-size:13px}.game-grid{grid-template-columns:1fr}.game-symbol{margin:15px 0}.game-card p{max-width:95%}.game-card button{width:auto}.subline{align-items:start;flex-direction:column}.sample-grid{grid-template-columns:1fr;gap:20px}.sample-aside ol{display:none}.sample-aside h3{margin-bottom:8px}.sample-workspace{padding:19px}.sample-toolbar{align-items:stretch;flex-direction:column}.answer-row{align-items:stretch;flex-direction:column}.process,.score-panel,.secondary-grid{grid-template-columns:1fr;gap:26px}.process .number{margin-bottom:10px}.process h3{margin-bottom:10px}.footer{flex-wrap:wrap}.footer-links{flex-wrap:wrap}.page-hero{padding:40px 0 25px}.page-hero h1{font-size:54px}.doc-grid{grid-template-columns:1fr;gap:20px}.doc-nav{position:static;flex-direction:row;flex-wrap:wrap;font-size:12px;padding-bottom:25px;border-bottom:1px solid var(--line)}.game-detail{padding:23px}.game-detail .tiers{grid-template-columns:1fr;gap:5px}.secondary h2{font-size:45px}.eyebrow{font-size:9px}h1,h2{letter-spacing:-1.5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

.preview-notice{text-align:center;padding:7px 15px;font-family:monospace;font-size:10px;letter-spacing:1.5px;background:#283722;color:#dcf79c}
/* The table: illustrated cards and a readable, stateful puzzle workspace. */
.game-art { width:100%; margin:25px 0 22px; background:radial-gradient(ellipse at center,#d4ec9a0b,transparent 70%); }
.game-art svg { width:100%; height:120px; fill:none; stroke:var(--lime); stroke-width:1.2; }
.game-art text { fill:var(--lime); stroke:none; font:20px 'Instrument Serif',serif; }
.game-card { transition:background .2s,border-color .2s; }
.game-card:hover { background:#243127; border-color:#84936d; }
.ticket { box-shadow:12px 18px 0 #080e092b; }
.sample-progress { display:flex; list-style:none; padding:0 0 22px; margin:0 0 24px; border-bottom:1px solid #ced2c4; gap:20px; font:10px 'Space Mono',monospace; text-transform:uppercase; letter-spacing:1px; color:#6a7562; }
.sample-progress li { flex:1; }
.sample-progress [aria-current] { color:#223523; font-weight:bold; }
.sample-progress [aria-current]::after { content:''; display:block; width:28px; height:3px; background:#355830; margin-top:8px; }
.sample-progress .complete { color:#37592d; }
.puzzle-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:18px 0 0; border-top:1px solid #ced2c4; font:10px 'Space Mono',monospace; text-transform:uppercase; letter-spacing:1px; }
#sample-clock { font-variant-numeric:tabular-nums; }
.puzzle-instructions { font-size:13px; color:#4e5e47; }
.command-route { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0!important; counter-reset:command; }
.command-route li { counter-increment:command; display:flex; flex-direction:column; min-width:62px; align-items:center; padding:8px 13px 12px; border:1px solid #bac5ab; border-radius:3px; background:#e8eddc; font:19px 'Space Mono',monospace; }
.command-route li::before { content:counter(command,decimal-leading-zero); font-size:9px; color:#657359; margin-bottom:7px; }
.value-grid { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 18px; }
.value-grid>div { flex:1; min-width:75px; padding:12px 15px; border:1px solid #c7cebd; background:#e9ecdf; }
.value-grid dt { font:10px 'Space Mono',monospace; color:#526448; text-transform:uppercase; }
.value-grid dd { margin:6px 0 0; overflow-wrap:anywhere; font-family:'Space Mono',monospace; font-size:13px; }
.program-list { list-style:none; padding:12px 18px!important; background:#e5e9db; border-left:2px solid #6a8054; font:13px/2 'Space Mono',monospace; }
.puzzle-list li { padding:4px 0; }
.feedback .value-grid { margin-bottom:8px; }
.feedback-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
@media(max-width:650px) { .game-art { margin:10px 0; } .game-art svg { height:100px; } .sample-progress { gap:8px; font-size:9px; letter-spacing:0; } .command-route li { min-width:52px; padding:8px 10px; } .feedback-actions .button { width:100%; } }
.wrap.section { padding-left:48px; padding-right:48px; }
.attribute-list { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0!important; }
.attribute-list li { padding:5px 12px; background:#e5e9db; border:1px solid #c7cebd; border-radius:3px; }
@media(max-width:900px) { .wrap.section { padding-left:28px; padding-right:28px; } }
@media(max-width:650px) { .wrap.section { padding-left:22px; padding-right:22px; } }
/* Shared room surfaces */
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.room-nav { display:flex; flex-wrap:wrap; gap:28px; padding:24px 0; border-block:1px solid var(--line); }
.room-nav a { font:11px 'Space Mono',monospace; text-decoration:none; color:var(--lime); }
.room-section { padding:65px 0; border-bottom:1px solid var(--line); }
.room-section .section-head a { font-size:12px; white-space:nowrap; }
.oracle-card { background:var(--paper); color:var(--dark); padding:45px; border-radius:3px; position:relative; }
.oracle-card h3 { font:clamp(30px,4vw,48px)/1.2 'Instrument Serif',serif; max-width:800px; margin:25px 0; }
.oracle-card .button { border-color:#829173; }
.room-note { font-size:12px; color:var(--muted); margin:24px 0; overflow-wrap:anywhere; }
.visitor-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:24px 0; }
.visitor-card { padding:27px; background:var(--panel); border:1px solid var(--line); min-width:0; overflow-wrap:anywhere; }
.visitor-card h3 { font:28px 'Instrument Serif',serif; }
.visitor-text { white-space:pre-wrap; }
.archive-question { color:var(--muted); font-size:12px; border-bottom:1px solid var(--line); padding-bottom:16px; }
.room-empty { grid-column:1/-1; padding:30px; margin:0; border:1px dashed #576650; color:var(--muted); }
.board-room { padding-bottom:65px; }
.board-controls { display:flex; align-items:end; gap:20px; background:var(--panel); padding:25px; border:1px solid var(--line); }
.board-controls select { background:var(--bg); }
.board-room td:nth-child(2) { overflow-wrap:anywhere; max-width:250px; }
.garden-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:65px; padding:20px 0 70px; }
.garden-aside { align-self:start; position:sticky; top:30px; padding-top:25px; color:var(--muted); }
.garden-aside a { font-size:12px; }
.garden-seal { font-size:75px; color:var(--lime); display:block; margin-bottom:25px; }
.garden-reading { background:var(--paper); color:var(--dark); padding:45px; border-radius:3px; }
.garden-reading .piece { padding:0 0 32px; margin-bottom:32px; border-bottom:1px solid #bdc3b1; }
.garden-reading .kind { font:10px/1.7 'Space Mono',monospace; text-transform:uppercase; letter-spacing:1px; color:#506449; }
.garden-reading h3 { font:34px 'Instrument Serif',serif; margin:15px 0 20px; }
.garden-reading p { font:19px/1.7 'Instrument Serif',Georgia,serif; }
.garden-reading .dim { color:#52624a; font-style:italic; }
.garden-reading button,.garden-reading .button { border:1px solid #8e9b80; color:var(--dark); background:transparent; }
.garden-reading :focus-visible { outline:3px solid #436435; outline-offset:4px; }
#maze-node { font:21px/1.6 'Instrument Serif',serif; padding:20px 0; }
#maze-choices { display:flex; flex-direction:column; gap:10px; margin:12px 0 20px; }
#maze-choices button { text-align:left; justify-content:flex-start; }
#maze-reset { padding:10px 15px; font-size:12px; cursor:pointer; }
@media(max-width:900px) { header { flex-wrap:wrap; } header nav { order:3; width:100%; justify-content:space-between; } .garden-layout { grid-template-columns:140px minmax(0,1fr); gap:30px; } .garden-reading { padding:30px; } }
@media(max-width:650px) { header nav { gap:10px; font-size:11px; flex-wrap:wrap; } .room-section { padding:42px 0; } .room-nav { gap:20px; } .oracle-card { padding:25px; } .visitor-grid { grid-template-columns:1fr; } .board-controls { flex-direction:column; align-items:stretch; padding:20px; } .garden-layout { grid-template-columns:1fr; gap:20px; } .garden-aside { position:static; display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding:0; } .garden-aside p { margin:0; font-size:12px; } .garden-seal { margin:0; font-size:60px; } .garden-reading { padding:25px; } }
nav a[aria-current="page"] { color:var(--lime); text-decoration:underline; text-underline-offset:7px; }
.garden-reading h2 { font:34px 'Instrument Serif',serif; letter-spacing:0; margin:15px 0 20px; }
