*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}a{color:inherit}.wrap{width:min(1120px,92vw);margin:0 auto}
.hp{position:absolute;left:-9999px}label{display:block;font-weight:600;margin:.9rem 0 .3rem}
input,select,textarea{width:100%;font:inherit;padding:.75rem .9rem;border-radius:10px;border:1.5px solid #c9c9c9;background:#fff;color:#111}
textarea{min-height:120px}.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:.35rem}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.2rem .8rem}
button,.btn{display:inline-block;font:inherit;font-weight:700;cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.5rem;text-decoration:none}
details{border-bottom:1px solid rgba(127,127,127,.3);padding:1rem 0}summary{cursor:pointer;font-weight:700}
.nav{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 0;gap:1rem;flex-wrap:wrap}.nav nav a{margin-left:1.1rem;text-decoration:none;font-weight:600}
@media(max-width:640px){.nav nav a{margin:0 .9rem 0 0;font-size:.95rem}.hide-sm{display:none}}
footer{padding:2.5rem 0;font-size:.92rem}footer a{margin-right:1rem}
.simple .narrow{width:min(760px,92vw)}.simple .logo{font-weight:800;text-decoration:none;font-size:1.2rem}.prose{padding:1rem 0 3rem}.prose h1{font-size:2.2rem}
body{font-family:"Trebuchet MS",system-ui,sans-serif;background:#16163a;color:#f3f1ff}
h1,h2,h3{font-family:Georgia,serif;line-height:1.1}.logo{font-family:Georgia,serif;font-weight:700;font-size:1.3rem;text-decoration:none}.logo b{color:#ffc83d}
.hero{padding:3rem 0 4rem;text-align:center}.hero h1{font-size:clamp(2.6rem,8vw,5.5rem);margin:.5rem 0}.hero h1 em{color:#ffc83d;font-style:normal}
.hero p{font-size:1.2rem;max-width:52ch;margin:0 auto 2rem;color:#c9c6ef}
.btn{background:#ffc83d;color:#16163a;font-size:1.1rem}.btn.sec{background:#2c2c66;color:#fff}
.demo{background:#fff;color:#16163a;border-radius:24px;padding:2rem;max-width:640px;margin:2.5rem auto;box-shadow:0 20px 60px rgba(0,0,0,.4);transform:rotate(-1deg)}
.demo .q{font-family:Georgia,serif;font-size:1.7rem}.demo .a{color:#d14d72;font-weight:700}
.feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.2rem;padding:3rem 0}.feat div{background:#22224f;border-radius:18px;padding:1.5rem}
.pill{display:inline-block;background:#2c2c66;padding:.35rem .9rem;border-radius:999px;margin:.25rem;font-size:.95rem}
footer{color:#a9a6d6}
/* game */
.game{max-width:760px;margin:0 auto;padding:1rem 0 3rem}.panel{background:#22224f;border-radius:22px;padding:1.6rem}
.panel input{background:#fff}.row{display:flex;gap:.5rem}.row input{flex:1}.players li{display:flex;justify-content:space-between;background:#2c2c66;border-radius:12px;padding:.6rem 1rem;margin:.4rem 0;list-style:none}
.players{padding:0}.x{background:none;color:#ffb3c6;padding:0 .4rem}
.card{background:#fff;color:#16163a;border-radius:24px;padding:2rem;min-height:260px;display:flex;flex-direction:column;justify-content:center}
.turn{color:#ffc83d;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.start{font-family:Georgia,serif;font-size:clamp(1.5rem,4vw,2.2rem)}.end{font-family:Georgia,serif;font-size:clamp(1.5rem,4vw,2.2rem);color:#d14d72;font-weight:700}
.src{color:#666;font-size:.95rem;margin-top:.6rem}.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}
.ok{background:#3ccf8e;color:#08321f}.no{background:#ff6b8b;color:#3a0715}
.scores{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.scores span{background:#2c2c66;border-radius:999px;padding:.4rem .9rem}.scores .on{background:#ffc83d;color:#16163a}
.hidden{display:none}.cats label{font-weight:500}
