/* Puzzle maker form styles, scoped to the Activities page. */
.generator {--ink:#062e77;--green:#1f622d;--gold:#d99522;--paper:#fff7dd;--panel:rgba(255,249,224,.95);--red:#9e2018}
.generator button, .generator input, .generator select, .generator textarea{font:inherit}
.generator a{color:#064b9a}
.generator h1, .generator h2, .generator h3{color:var(--ink);text-align:center}
.generator h1{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px}
.generator .intro{text-align:center;max-width:850px;margin:0 auto 24px;font-size:1.08rem}
.generator .tabs{display:flex;justify-content:center;gap:10px;margin:18px 0 28px;flex-wrap:wrap}
.generator .tabs button, .generator .primary, .generator .secondary, .generator .danger{border:2px solid #b77a17;border-radius:12px;padding:10px 20px;cursor:pointer;background:#fff1bf;color:#173664;font-weight:700;box-shadow:0 3px 0 #a26615}
.generator .tabs button.active, .generator .primary{background:#f3bd4b}
.generator .secondary{background:#fff7dc;box-shadow:none}
.generator .danger{background:#a63225;color:#fff;border-color:#7d1b13;box-shadow:none}
.generator .form-grid{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:16px;max-width:780px;margin:0 auto 20px}
.generator .field{display:flex;flex-direction:column;gap:6px}
.generator .field label, .generator .group-label{font-weight:700;color:var(--ink)}
.generator input[type=number], .generator input[type=text], .generator select, .generator textarea{border:2px solid #d4a45a;border-radius:9px;padding:9px;background:#fffdf5}
.generator .checks{display:flex;gap:28px;justify-content:center;margin:12px 0 20px;flex-wrap:wrap}
.generator .checks label{font-weight:700}
.generator .actions{text-align:center;margin-top:22px}
.generator .entry-table{max-width:900px;margin:0 auto}
.generator .entry-header, .generator .entry-row{display:grid;grid-template-columns:1.2fr 1.5fr 55px;gap:9px;align-items:center}
.generator .entry-header.cross, .generator .entry-row.cross{grid-template-columns:1.2fr 2.5fr 55px}
.generator .entry-header{font-weight:700;color:var(--ink);padding:0 7px}
.generator .entry-row{margin:8px 0;padding:8px;border:1px solid #dfc08a;border-radius:12px;background:rgba(255,255,255,.45)}
.generator .pic-picker{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.generator .pic-picker input[type=file]{max-width:100%}
.generator .pic-thumb{width:52px;height:52px;object-fit:cover;border-radius:8px;border:1px solid #b98d4d;background:#fff}
.generator .remove-row{border:0;background:#a63225;color:#fff;border-radius:50%;width:34px;height:34px;cursor:pointer}
.generator .status{min-height:1.4em;text-align:center;color:#246225;font-weight:700;margin-top:12px}
.generator .status.bad{color:#9f2018}
.generator .small-note{font-size:.92rem;color:#5a4b31;text-align:center}
.generator .mode-box{max-width:650px;margin:14px auto;padding:12px;border:1px solid #d4aa68;border-radius:14px;background:rgba(255,255,255,.45)}
.generator .book-launchers{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.generator .book-card{background:rgba(255,255,255,.68);border:2px solid #d2a04d;border-radius:18px;padding:20px}
.generator .book-card h2{margin-top:0}
.generator .book-card .field{margin:10px 0}
.generator .book-card .checks{justify-content:flex-start}
.generator .book-card button{width:100%}
.generator .db-note{max-width:800px;margin:24px auto 0;padding:14px;border-radius:12px;background:#fff6d8;border:1px solid #d9b05c}
.generator .logo-inline{height:50px;vertical-align:middle}
.generator .back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;color:var(--ink)}
.generator .back-link img{height:54px;width:54px;object-fit:contain}
@media (max-width:760px) {.generator .form-grid, .generator .book-launchers{grid-template-columns:1fr}
.generator .entry-header{display:none}
.generator .entry-row, .generator .entry-row.cross{grid-template-columns:1fr}
.generator .remove-row{justify-self:end}
.generator .checks{flex-direction:column;align-items:flex-start;gap:10px}
.generator .pic-picker{grid-template-columns:1fr auto}
.generator .tabs button{flex:1 1 30%}}
.generator .entry-header.cross-picture, .generator .entry-row.cross-picture{grid-template-columns:1.05fr 1.8fr 1.35fr 55px}
.generator .pic-picker{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"file thumb" "remove remove"}
.generator .pic-picker .picture{grid-area:file}
.generator .pic-picker .pic-thumb{grid-area:thumb}
.generator .remove-picture{grid-area:remove;justify-self:start;border:1px solid #b77a17;border-radius:8px;background:#fff7dc;color:#173664;padding:5px 9px;cursor:pointer;font-size:.86rem}
.generator .remove-picture[hidden]{display:none!important}
@media (max-width:760px) {.generator .entry-row.cross-picture{grid-template-columns:1fr}
.generator .pic-picker{grid-template-columns:minmax(0,1fr) auto}}
.generator {max-width:1000px;margin:auto;padding:1rem 0 2rem; --ink:#062e77;--green:#1f622d;--gold:#d99522;--paper:#fff7dd;--panel:rgba(255,249,224,.95);--red:#9e2018;}
.generator-heading{text-align:center; margin:0 auto 1.2rem;}
.generator-heading h2{color:#0b327b;font-size:clamp(1.5rem,3vw,2.25rem);margin:.2rem auto;}
.generator-heading p{font-size:1.12rem;line-height:1.5;}
.generator [hidden]{display:none!important;}
.generator .tabs button:focus-visible {outline:3px solid #f29924;outline-offset:2px;}
.generator input,.generator select{max-width:100%;}
