:root{--ink:#112f32;--gold:#a17b3f;--line:#dedbd1}*{box-sizing:border-box}body{margin:0;background:#faf8f3;color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;padding:11px 18px;border-radius:3px}button:hover,.chapter:hover{background:#eae7df}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b18d4f;outline-offset:3px}header{max-width:1200px;margin:auto;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header>a{font-size:12px;letter-spacing:.17em;font-weight:700}small{display:block;font-size:11px;font-weight:400;letter-spacing:.04em;color:#788077}main{max-width:1150px;margin:auto;padding:55px 28px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(42px,6vw,72px);letter-spacing:-.04em;margin:18px 0 23px}h2{font-size:34px}h3{font-size:26px}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);font-weight:700}.intro{max-width:650px;margin-bottom:40px}.intro>p:last-child,.muted{color:#68766e}.cards,.chapters{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{background:white;border:1px solid var(--line)}.card>img{width:100%;height:270px;object-fit:cover}.cardbody{padding:27px}.logo{width:120px;height:65px;object-fit:contain;object-position:left}.action{border-top:1px solid var(--line);margin-top:20px;padding-top:15px;display:flex;justify-content:space-between;font-size:14px}.back{font-size:13px;color:#6f796f}.questhead h1{font-size:48px}.progress{font:24px Georgia,serif;letter-spacing:.17em;color:var(--gold);margin:25px 0}.track{height:3px;background:var(--line);margin:14px 0}.track i{height:100%;display:block;background:var(--gold)}.chapter{display:flex;gap:18px;align-items:center;background:white;border:1px solid var(--line);padding:20px}.chapter strong{font-size:15px;font-weight:500}.number{font:28px Georgia,serif;color:var(--gold);width:35px}.arrow{margin-left:auto}.puzzle{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;margin-top:28px;align-items:start}.scene{width:100%;display:block}.caption{font-size:11px;color:#788077}.puzzle h1{font-size:43px}.code{padding:20px;background:#efede4;white-space:pre-wrap;font:18px/1.8 monospace;letter-spacing:.12em;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;background:white;margin:20px 0}td{padding:9px 6px;text-align:center;border:1px solid var(--line)}tr:first-child{font-weight:600;background:#efede4}form{margin:24px 0}label{display:block;font-size:13px;margin-bottom:8px}input{width:100%;font:18px sans-serif;padding:14px;border:1px solid #aab5ab;border-radius:3px;color:var(--ink)}.primary{background:var(--ink);color:white;border-color:var(--ink);margin-top:12px}.primary:hover{background:#2d5153}.status{min-height:27px;color:#9b482d}.solved{padding:24px;background:#e9eee4;border-left:3px solid var(--gold);margin:24px 0}.solved strong{font:30px Georgia,serif}.hint{color:#627267;padding:12px 0}.navrow{display:flex;justify-content:space-between;margin-top:30px}.complete{background:var(--ink);color:#faf8f3;padding:35px;margin:30px 0}.complete h2{color:#e2c78e}.reset{margin-top:30px;font-size:12px}footer{border-top:1px solid var(--line);padding:35px;text-align:center;font:20px Georgia,serif}footer small{font:11px/1.8 sans-serif;margin-top:15px}dialog{background:#faf8f3;color:var(--ink);border:1px solid var(--line);max-width:600px;width:calc(100% - 30px);padding:35px}dialog::backdrop{background:#112f3299}#close{float:right;font-size:24px;padding:0 10px}@media(max-width:700px){header{padding:18px}header>a{font-size:10px}header button{font-size:12px;padding:8px}main{padding:30px 20px}.cards,.chapters,.puzzle{grid-template-columns:1fr}.card>img{height:230px}.questhead h1{font-size:39px}.puzzle{gap:22px}.puzzle .visual{order:2}.puzzle h1{font-size:37px}.scene{max-height:350px;object-fit:contain}.chapter{padding:16px}.progress{font-size:20px}td{padding:8px 4px;font-size:11px}}

.signup-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:35px 0}.signup-layout h1{font-size:58px}.signup-scene{width:100%;max-height:280px;object-fit:cover;margin-top:20px}.signup-layout form{padding:30px;background:white;border:1px solid var(--line);margin:0}.signup-layout label{margin-top:18px}.check{display:flex;gap:12px;font-size:12px;line-height:1.7;align-items:flex-start}.check input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--ink)}.check a{text-decoration:underline}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.6;cursor:wait}.owner-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center}select{font:inherit;padding:10px;background:white;border:1px solid var(--line)}.table-scroll{overflow-x:auto}.owner td{text-align:left;min-width:90px}.owner table{font-size:13px}.owner input{max-width:400px}.owner .delete{font-size:12px;padding:6px 10px}.privacy{max-width:720px}.privacy a{text-decoration:underline}@media(max-width:700px){.signup-layout{grid-template-columns:1fr;gap:25px}.signup-layout h1{font-size:43px}.signup-layout form{padding:22px}.signup-scene{display:none}}