:root{color-scheme:light;--paper: #fdfdfb;--paper-shade: #f4f3ee;--card: #ffffff;--ink: #26241f;--ink-dim: #6f6b60;--pencil: #9a958a;--accent: #a03d20;--rule: #e3e1d8;--shadow: rgba(38, 36, 31, .5)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper: #1b1a17;--paper-shade: #232220;--card: #26241f;--ink: #e8e5dd;--ink-dim: #a29c8e;--pencil: #6d6759;--accent: #d47a56;--rule: #38352e;--shadow: rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,Iowan Old Style,Times New Roman,serif;line-height:1.7;-webkit-font-smoothing:antialiased}.grain{position:fixed;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(rgba(38,36,31,.035) 1px,transparent 1px);background-size:3px 3px}@media(prefers-color-scheme:dark){.grain{background-image:radial-gradient(rgba(232,229,221,.04) 1px,transparent 1px)}}.hero{min-height:82vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.5rem 2rem}.presents{font-size:.75rem;letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;margin:0 0 1.4rem;padding-left:.5em}.hero h1{margin:0;font-size:clamp(2rem,6.5vw,4rem);font-weight:700;font-style:italic;line-height:1.15;letter-spacing:.02em}.hero h1:after{content:"";display:block;width:9rem;height:2px;margin:1.6rem auto 0;background:var(--ink);border-radius:50% 40% 55% 45%;transform:rotate(-1deg)}.hero .tagline{margin:1.6rem auto 0;max-width:32rem;font-size:1.1rem;color:var(--ink-dim)}.scroll-hint{margin-top:4rem;padding:.55rem 1.3rem;border:1px solid var(--ink);border-radius:2px 10px 3px 9px;color:var(--ink);background:var(--card);font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;text-decoration:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;box-shadow:2px 2px 0 var(--rule);transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}.scroll-hint:hover{color:var(--accent);border-color:var(--accent);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--rule)}.section{max-width:58rem;margin:0 auto;padding:4rem 1.5rem}.section h2{font-size:1rem;letter-spacing:.3em;text-transform:uppercase;text-align:center;margin:0 0 2.5rem;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:var(--ink-dim)}.story-text{max-width:38rem;margin:0 auto;font-size:1.08rem}.story-text p{margin:0 0 1.4rem}.story-text p:first-child:first-letter{font-size:3.4em;float:left;line-height:.85;padding:.06em .12em 0 0;color:var(--accent);font-style:italic}.classes-intro{max-width:34rem;margin:-1rem auto 2.5rem;text-align:center;color:var(--ink-dim);font-size:.95rem}.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.class-card{margin:0;border:1px solid var(--rule);background:var(--card);padding:1.4rem 1.4rem 1.6rem;text-align:center;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--rule),0 8px 24px -18px var(--shadow);transform:rotate(-.4deg);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.class-card:nth-child(2n){transform:rotate(.45deg)}.class-card .sketch,.class-card h3,.class-card .sketch-note{transition:color .25s ease}.class-card:hover,.class-card:focus-within{transform:rotate(0) translateY(-6px);border-color:var(--pencil);box-shadow:0 1px 0 var(--rule),0 20px 36px -20px var(--shadow)}.class-card:hover .sketch,.class-card:focus-within .sketch{color:var(--accent);opacity:1}.class-card:hover h3,.class-card:focus-within h3{color:var(--accent)}.class-card:hover .sketch-note,.class-card:focus-within .sketch-note{color:var(--ink-dim)}.class-card .sketch{width:96px;height:96px;color:var(--ink);opacity:.85;margin:0 auto .4rem;display:block}.class-card h3{margin:0 0 .6rem;font-size:1.15rem;font-style:italic;letter-spacing:.03em}.class-card p{margin:0;font-size:.92rem;color:var(--ink-dim);line-height:1.6}.class-skills{margin-top:auto!important;padding-top:1rem;font-size:.72rem!important;letter-spacing:.05em;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.skills-label{display:block;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pencil);margin-bottom:.3rem}.skill{display:inline-block;border:1px solid var(--rule);border-radius:2px 8px 3px 7px;padding:.1rem .5rem;margin:0 .15rem;color:var(--ink);background:var(--paper-shade)}.player-count{text-align:center;margin:0 auto .4rem;font-size:.85rem;letter-spacing:.08em;color:var(--ink-dim);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.player-count span{font-variant-numeric:tabular-nums}.player-count[hidden]{margin-bottom:1.6rem}.level-strip{display:flex;gap:2px;height:18px;max-width:40rem;margin:0 auto 1.6rem}.heat{flex:1 1 0;min-width:2px;border-radius:1px}.heat-0{background:var(--paper-shade)}.heat-1{background:color-mix(in srgb,var(--accent) 20%,var(--paper-shade))}.heat-2{background:color-mix(in srgb,var(--accent) 40%,var(--paper-shade))}.heat-3{background:color-mix(in srgb,var(--accent) 60%,var(--paper-shade))}.heat-4{background:color-mix(in srgb,var(--accent) 80%,var(--paper-shade))}.heat-5{background:var(--accent)}.sketch-note{display:block;margin-top:.9rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pencil);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}@media(max-width:860px){.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.class-grid{grid-template-columns:1fr}}.demo-section{max-width:64rem}.demo-intro{max-width:36rem;margin:-1rem auto 2rem;text-align:center;color:var(--ink-dim);font-size:.95rem}.demo-frame{border:1px solid var(--rule);background:var(--card);padding:8px;box-shadow:0 1px 0 var(--rule),0 12px 32px -20px var(--shadow);transform:rotate(.2deg)}.demo-frame iframe{display:block;width:100%;aspect-ratio:16 / 10;border:0;background:var(--paper-shade)}.demo-actions{margin:1.2rem 0 0;text-align:center}.demo-actions a{color:var(--ink-dim);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border-bottom:1px dotted var(--pencil)}.demo-actions a:hover{color:var(--accent)}.engine{text-align:center;border-top:1px dashed var(--rule)}.engine-text{max-width:38rem;margin:0 auto 2rem;font-size:1.05rem}.engine-cta{display:inline-block;padding:.6rem 1.5rem;border:1px solid var(--ink);border-radius:2px 10px 3px 9px;background:var(--card);box-shadow:2px 2px 0 var(--rule);color:var(--ink);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;transition:transform .2s ease,box-shadow .2s ease,color .2s ease,border-color .2s ease}.engine-cta:hover{color:var(--accent);border-color:var(--accent);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--rule)}.engine-note{margin:1.2rem auto 0;max-width:30rem;font-size:.85rem;color:var(--ink-dim);font-style:italic}.support{max-width:42rem;margin:3rem auto 0;padding:2.5rem 2rem 2.2rem;border:2px solid var(--ink);border-radius:3px 14px 4px 12px;background:var(--card);box-shadow:4px 4px 0 var(--rule);text-align:center}.support .presents{margin-bottom:1rem}.support .presents:before,.support .presents:after{content:" ★ ";letter-spacing:0;color:var(--accent)}.support h3{margin:0 0 1.2rem;font-size:clamp(1.5rem,4.5vw,2.2rem);font-style:italic;line-height:1.2}.support-text{max-width:34rem;margin:0 auto 1.8rem;font-size:1.08rem;line-height:1.75}.support-cta{display:inline-block;padding:.7rem 1.6rem;border:2px solid var(--accent);border-radius:2px 10px 3px 9px;background:var(--accent);color:var(--paper);font-size:.85rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;cursor:not-allowed;opacity:.75}@media(max-width:560px){.support{padding:2rem 1.25rem 1.8rem}}footer{border-top:1px solid var(--rule);margin-top:3rem;padding:2rem 1.5rem;text-align:center;color:var(--ink-dim);font-size:.82rem}.footer-links a{color:var(--ink-dim);text-decoration:none;border-bottom:1px dotted var(--pencil)}.footer-links a:hover{color:var(--accent)}.lang-switch{position:fixed;top:1rem;right:1.25rem;z-index:30;font-size:.72rem;letter-spacing:.2em;color:var(--ink-dim);text-decoration:none;text-transform:uppercase;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.lang-switch:hover{color:var(--accent)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.class-card,.class-card .sketch,.class-card h3,.class-card .sketch-note{transition:none}}
