:root{color-scheme:light;--paper:#f8f4ed;--cream:#fffdf8;--ink:#27372d;--green:#344d3a;--muted:#556157;--edge:#ded9cb;--peach:#f2e2d8;--accent:#784637;font-family:system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 12% 3%,#e8ecde 0,transparent 38rem),var(--paper);line-height:1.5}
.wrap{width:min(100% - 2rem,65rem);margin-inline:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;border-bottom:1px solid var(--edge)}
.top a{font:1.27rem Georgia,serif;color:var(--ink);text-decoration:none}.top span,.eyebrow,.label,.credit{font-size:.68rem;font-weight:750;letter-spacing:.13em}.top span,.eyebrow,.label{color:var(--accent)}
.layout{display:grid;grid-template-columns:1fr minmax(0,1.04fr);gap:2rem 3.5rem;align-items:start;padding-block:3.7rem 1.8rem}.intro{padding-top:.9rem}.eyebrow{margin:0 0 .6rem}.eyebrow span{margin-right:.3rem}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.04;margin:0;letter-spacing:-.045em}h1{font-size:clamp(2.6rem,5.8vw,4.85rem)}h1 em{color:var(--green)}h2{font-size:clamp(1.8rem,4vw,2.65rem)}.lead{font-size:1.04rem;max-width:34ch;color:var(--muted);margin:1rem 0 1.3rem}
.prizes{display:grid;gap:.52rem}.prizes>div{display:flex;align-items:center;gap:.7rem;padding:.57rem .68rem;background:#ffffff80;border:1px solid var(--edge);border-radius:.7rem}.prizes strong,.label{display:block}.prizes strong{font-size:.87rem;font-weight:650}.badge{flex:0 0 2.85rem;text-align:center;border-radius:99rem;padding:.4rem .2rem;background:var(--peach);color:var(--accent);font-size:.68rem;font-weight:800}
.panel{background:var(--cream);border:1px solid var(--edge);border-radius:1.45rem;padding:clamp(1rem,3.5vw,2rem);box-shadow:0 15px 45px #2e362714;min-width:0}.panel>p:not(.eyebrow),dialog p:not(.eyebrow){color:var(--muted);font-size:.91rem}.panel>p:not(.eyebrow){margin:.6rem 0 1.15rem}
label{display:block;font-size:.86rem;font-weight:650;margin:0 0 .25rem}input:not([type=checkbox]){display:block;width:100%;margin-bottom:.85rem;font:inherit;color:inherit;background:white;border:1px solid #aaa99c;border-radius:.62rem;padding:.68rem .75rem;min-height:2.8rem}.check{display:flex;gap:.52rem;align-items:flex-start;margin:.35rem 0 1rem;font-weight:450;color:var(--muted)}.check input{flex:none;width:1.12rem;height:1.12rem;margin:.12rem 0 0;accent-color:var(--green)}a{color:var(--green);text-underline-offset:.18em}
button{font:inherit;font-weight:700;min-height:2.85rem;cursor:pointer;border:1px solid transparent;border-radius:.7rem;background:var(--green);color:white;padding:.66rem .8rem}form>button,#submit{width:100%}button span{margin-left:.3rem}button:disabled{background:#e1e5da;color:#445348;cursor:default}button:hover:not(:disabled){filter:brightness(.92)}:focus-visible{outline:3px solid #ad624b;outline-offset:3px}.message{font-size:.84rem;color:var(--muted);margin:.55rem 0 0!important}.message:empty{display:none}.message[data-error=true]{color:#8b3327}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:.8rem 0}.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;overflow-wrap:anywhere;gap:.35rem;padding:.47rem;min-height:7.1rem;background:#f3f0e7;color:var(--ink);border:1px solid #ded9cb;line-height:1.22;font-size:clamp(.7rem,2.9vw,.84rem);font-weight:650}.tile span{margin:0}.tile .marker{color:var(--accent);font-size:.69rem}.tile.filled{background:#e8ede0;border-color:#aab99e}.tile.winning{background:#dce8d6;border:2px solid #547858}.tile:disabled{color:var(--ink)}.result{background:#e6eee1;border-radius:.7rem;padding:.85rem;margin:.6rem 0 0}.result strong{display:block;font-size:1.17rem}
.details{grid-column:1/-1;border-top:1px solid var(--edge);padding-top:.72rem}.details details{margin-bottom:.65rem}.details summary{font-size:.85rem;cursor:pointer;font-weight:650}.details p{max-width:65ch;color:var(--muted);font-size:.84rem}.credit{margin-top:1.2rem;text-transform:uppercase}
dialog{max-width:min(calc(100% - 2rem),27rem);width:100%;background:var(--cream);color:var(--ink);border:1px solid var(--edge);border-radius:1rem;padding:1.25rem}dialog::backdrop{background:#1b2c21a6}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.secondary{background:#eeeee3;color:var(--green)}
@media(max-width:750px){.layout{grid-template-columns:1fr;gap:1.25rem;padding-top:1.4rem}.intro{padding:0}.top{padding-block:.85rem}.lead{margin:.65rem 0 .85rem}.prizes{gap:.35rem}.prizes>div{padding:.35rem .55rem}.panel{border-radius:1rem}body.playing .intro .lead,body.playing .intro .prizes{display:none}body.playing .intro h1{font-size:1.95rem}body.playing .intro h1 br{display:none}body.playing .intro h1 em::before{content:' '}}
@media(max-width:350px){.wrap{width:calc(100% - 1rem)}.panel{padding:.72rem}.tile{padding:.32rem}}
.admin-panel{max-width:43rem;margin:1.3rem auto}.admin-panel h1{font-size:clamp(2rem,5vw,3.7rem);margin-bottom:1rem}.admin-panel #winners>li{margin-bottom:1rem;overflow-wrap:anywhere}.admin-panel #winners p{margin:.2rem 0}
#question-fields fieldset {
  min-width: 0;
  margin: 0 0 1rem;
  padding: .85rem;
  border: 1px solid var(--edge);
  border-radius: .75rem;
}
#question-fields legend { padding-inline: .4rem; font-weight: 700; }
#question-fields textarea {
  display: block;
  width: 100%;
  resize: vertical;
  padding: .68rem .75rem;
  border: 1px solid #aaa99c;
  border-radius: .62rem;
  font: inherit;
  color: inherit;
}
