@font-face{font-family:'Open Sans';src:url('assets/open-sans.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:'Open Sans';src:url('assets/open-sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}@font-face{font-family:'Playfair Display';src:url('assets/playfair-display.ttf') format('truetype');font-weight:400 700;font-display:swap}
:root{--ink:#191919;--body:#333333;--gold:#CA9B52;--darkgold:#785420;--cream:#FAF8F4;--line:#dfd6c9;--muted:#625f59;--green:#28533e;--red:#8b3931}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--body);font:16px/1.7 'Open Sans',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}button,a,input,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--darkgold);outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.16}h1{font-size:clamp(3rem,6.5vw,5.9rem);letter-spacing:-.045em;margin-bottom:25px}h1 em{color:var(--darkgold);font-weight:400}h2{font-size:clamp(1.7rem,3vw,2.6rem);margin-bottom:18px}h3{font-size:1.05rem;line-height:1.5}.shell{max-width:1240px;margin:auto;padding:0 40px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:26px 0}.brand{font-family:'Playfair Display',Georgia,serif;font-size:25px;text-decoration:none;white-space:nowrap}.brand small{display:block;font:10px/1.8 'Open Sans',sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:22px;font-size:12px}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--darkgold);font-weight:700;margin-bottom:18px}.lead{font-size:18px;max-width:640px}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center;padding:70px 0 60px}.hero-copy>p{max-width:600px}.primary,.secondary,.choice{min-height:48px;border:1px solid var(--ink);border-radius:4px;padding:12px 22px;text-decoration:none;font-size:14px;font-weight:700;display:inline-block}.primary{color:white;background:var(--ink)}.primary:hover{background:#40382b}.secondary{background:white;color:var(--ink)}.secondary:hover{background:#f4efe5}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.facts{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--muted);margin-top:22px}.hero-art{background:#eee6d9;border:1px solid #d8c7ae;border-radius:8px;padding:34px;min-height:310px;position:relative;overflow:hidden}.hero-art .caption{font-size:10px;letter-spacing:.13em;color:var(--darkgold);text-transform:uppercase}.art-board{background:white;border:1px solid var(--line);box-shadow:12px 16px 0 #ca9b5224;margin:20px 0 12px;padding:24px;transform:rotate(-2deg);border-radius:5px}.art-board .art-title{font-family:'Playfair Display',Georgia,serif;font-size:25px;margin:0 0 12px}.art-line{height:8px;background:#e7e0d4;margin:12px 0;border-radius:5px}.art-line.short{width:65%}.art-chip{font-size:11px;display:inline-block;background:#191919;color:white;border-radius:3px;padding:5px 12px}.art-symbol{font:50px/1.3 Georgia,serif;color:var(--darkgold)}.art-footer{font-size:11px;margin:25px 0 0}.catalogue{padding:20px 0 55px}.section-top{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:12px}.section-top p{font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:white;border:1px solid var(--line);border-radius:6px;padding:24px;display:flex;flex-direction:column;position:relative}.card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.number{font:12px monospace;color:var(--darkgold)}.mini-symbol{font:28px Georgia,serif;color:var(--darkgold)}.card h3{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.2;max-width:250px;margin-bottom:14px}.card p{font-size:14px}.card .small{font-size:11px;color:var(--muted);margin-top:auto;padding-top:12px}.card a{font-size:13px;font-weight:700;width:fit-content}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding:28px 0}.strip h3{margin-bottom:6px}.strip p{font-size:12px;margin:0}.about{border-top:1px solid var(--line);font-size:13px;padding:24px 0}.about summary{cursor:pointer;font-weight:700;width:fit-content}.about p{max-width:860px;margin:16px 0}.about ul{padding-left:20px}.about li{margin-bottom:8px}.game-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0 12px}.game-top p{margin:0}.text-button{background:transparent;border:0;text-decoration:underline;font-size:12px;padding:12px}.progress-track{display:flex;gap:6px;margin:0 0 30px}.progress-dot{height:5px;flex:1;background:#ddd5c7;border-radius:4px}.progress-dot.done{background:var(--gold)}.progress-dot.current{background:var(--ink)}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin-bottom:45px}.panel{background:white;border:1px solid var(--line);border-radius:6px;padding:28px;min-width:0}.panel.dark{background:var(--ink);color:#f7f3eb;border-color:var(--ink)}.dark h2,.dark h3{color:white}.panel h2{font-size:26px}.panel p{font-size:14px}.panel .eyebrow{font-size:10px}.dark .eyebrow{color:#e2bf86}.brief{font-size:14px;line-height:1.8}.instruction{font-size:13px;color:var(--muted)}.choices{display:grid;gap:10px;margin:16px 0}.choice{width:100%;text-align:left;display:flex;gap:14px;background:white;border-color:var(--line);color:var(--body);font-weight:400;font-size:13px;line-height:1.6;align-items:center;padding:14px}.choice:hover:not(:disabled){background:var(--cream);border-color:var(--darkgold)}.choice[aria-pressed=true]{border:2px solid var(--darkgold);background:#f7f0e4;padding:13px}.choice .letter{font:11px monospace;color:var(--darkgold);border:1px solid #d6c7ad;padding:3px 7px;flex-shrink:0}.feedback{border-left:3px solid var(--gold);padding:4px 0 4px 18px;margin:22px 0}.feedback h3{font-family:'Playfair Display',Georgia,serif;font-size:22px}.feedback p{font-size:14px;margin-bottom:14px}.takeaway{background:#efe9df;padding:13px;font-size:13px}.hint{font-size:13px;margin:18px 0}.hint summary{cursor:pointer;text-decoration:underline}.hint p{margin-top:12px}.preview{border:1px solid var(--line);border-radius:5px;background:var(--cream);padding:22px;margin-top:16px}.preview h3{font-family:'Playfair Display',Georgia,serif;font-size:23px;margin-bottom:18px}.preview label{font-size:13px;display:block;margin:10px 0 6px}.preview input{display:block;width:100%;padding:10px;border:1px solid #868078;border-radius:3px;background:white}.preview-button{display:block;background:#191919;color:white;border:0;border-radius:3px;padding:10px 16px;margin-top:16px;font-size:13px;width:fit-content}.simulation-note{font-size:11px!important;color:var(--muted);margin:12px 0 0}.preview .mock-label{font-size:12px;font-weight:700;margin-top:18px}.preview .order-list{font-size:13px;line-height:2.1;margin:10px 0}.preview .error-demo{border:1px solid var(--red);padding:10px;color:var(--red);font-size:12px;margin-top:12px}.visitor{border-top:1px solid var(--line);padding-top:15px;margin-top:20px;font-size:13px!important}.code-block{font:13px/1.8 monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#202622;color:#f5f5ef;border:1px solid #51594e;border-radius:4px;padding:20px;margin:18px 0}.source-code{font:12px/1.7 monospace;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px;background:#f0eade;border:1px solid var(--line)}.terminal{background:#242922;border-radius:4px;padding:15px;font:12px/1.8 monospace;color:#eee}.terminal p{font:12px/1.7 monospace;margin:6px 0}.pass{color:#bae0bb}.fail{color:#ffbcad}.preview-status{font-size:12px;font-weight:700;color:var(--darkgold);margin-top:16px}.field{display:block;margin:18px 0}.field span{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.field select{width:100%;font-size:13px;border:1px solid #8d877e;border-radius:3px;padding:12px;color:var(--body);background:white;min-height:48px}.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 28px}.meter{background:white;border:1px solid var(--line);border-radius:4px;padding:13px}.meter label{font-size:11px;display:block;color:var(--muted)}.meter strong{font:23px Georgia,serif;color:var(--ink)}.meter progress{display:block;width:100%;height:5px;accent-color:var(--darkgold);margin-top:9px}.permissions{border:1px solid var(--line);padding:20px;margin:24px 0;max-width:600px;background:white;border-radius:4px}.permissions legend{font-weight:700;font-size:14px}.permissions label{display:flex;align-items:start;gap:10px;font-size:13px;margin:12px 0;cursor:pointer}.permissions input{width:18px;height:18px;margin-top:4px;accent-color:var(--darkgold);flex-shrink:0}.notebook{padding:18px;background:#f0eade;border:1px solid var(--line);font-size:13px;margin-top:18px}.notebook summary{cursor:pointer;font-weight:700}.notebook ul{padding-left:18px}.bubble{background:#eee6d8;border:1px solid #dccbad;padding:18px;border-radius:6px;font:17px/1.7 'Playfair Display',Georgia,serif;margin:18px 0}.speaker{font-size:11px;letter-spacing:.05em;font-weight:700;color:var(--darkgold)}.table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:4px;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--cream);font-weight:700}tr:last-child td{border:0}.results{max-width:850px;padding:60px 0 45px;margin:auto}.results h1{font-size:clamp(2.8rem,5.2vw,4.5rem)}.result-stat{font:26px 'Playfair Display',Georgia,serif;color:var(--darkgold)}.review{padding:18px 0;border-top:1px solid var(--line);font-size:13px}.review summary{font-weight:700;cursor:pointer}.review p{margin:14px 0}.result-status{background:#eee6d8;border:1px solid #dccbad;border-radius:5px;padding:20px}.result-status h2{font-size:24px}.mock-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.mock-button{border:1px solid var(--ink);border-radius:3px;padding:10px;text-align:center;font-size:12px;background:white}.mock-button:first-child{background:var(--ink);color:white}.mock-button.subtle{color:#625f59;font-size:11px;background:transparent;border:0}.big-price{font:32px 'Playfair Display',Georgia,serif;margin:18px 0 10px}.decorative-check{border:1px solid #999;padding:0 5px;font-size:11px;margin-right:8px}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);padding:23px 0 30px;font-size:11px;color:var(--muted)}[hidden]{display:none!important}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.status-error{color:var(--red);font-size:13px;font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.plain-list{font-size:13px;padding-left:20px}.plain-list li{margin:8px 0}.choice.correct{border-color:var(--green);background:#eef5ef}.pill{font:11px monospace;background:#eee6d8;color:var(--darkgold);padding:5px 10px;border-radius:3px;display:inline-block;margin-bottom:18px}
@media(max-width:960px){.hero{gap:30px}.cards{grid-template-columns:repeat(2,1fr)}.hero-art{padding:24px}.game-grid{gap:22px}.panel{padding:22px}}@media(max-width:700px){.shell{padding:0 22px}header{padding:20px 0}.brand{font-size:22px}.brand small{font-size:8px}nav{gap:12px;font-size:11px}nav .external{display:none}.hero{grid-template-columns:1fr;padding:42px 0;gap:30px}.hero-art{min-height:240px;max-width:500px;width:100%}.art-board{margin:15px 0}.cards{grid-template-columns:1fr}.card h3{max-width:none}.strip{grid-template-columns:1fr;gap:20px}.section-top{display:block}.game-grid{grid-template-columns:1fr}.panel{padding:20px}.meters{gap:7px}.meter{padding:10px}.meter label{font-size:10px}.meter strong{font-size:20px}.results{padding-top:35px}.mock-pair{grid-template-columns:1fr}h1{font-size:clamp(2.8rem,12vw,4.3rem)}.lead{font-size:17px}}
@media(prefers-reduced-motion:no-preference){.card:hover{transform:translateY(-3px)}.card{transition:transform .15s}.choice{transition:background .15s}.art-board{animation:arrive .5s ease-out}@keyframes arrive{from{opacity:0;transform:rotate(-2deg) translateY(10px)}to{opacity:1;transform:rotate(-2deg)}}}

.field textarea{width:100%;resize:vertical;background:white;color:var(--body);padding:14px;border:1px solid #8d877e;border-radius:4px;font:13px/1.8 monospace}.field textarea:focus-visible{outline:3px solid var(--darkgold);outline-offset:4px}
