.studio-page{background:#f7f9f7}
.studio-header{position:relative}.studio-shop-link{min-width:138px}
.studio-intro{width:min(1240px,calc(100% - 48px));margin:0 auto;padding:52px 0 34px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}
.studio-intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.7rem,5vw,5.4rem);font-weight:500;letter-spacing:0;line-height:.96;margin:0;max-width:800px}
.studio-intro>p{color:var(--muted);font-size:1rem;margin:0 0 5px;max-width:520px}
.studio-shell{width:min(1240px,calc(100% - 48px));margin:0 auto 82px;display:grid;grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);border:1px solid var(--line);background:white;min-height:760px}
.studio-controls{padding:30px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:24px;min-width:0}
.control-heading{display:flex;gap:14px;align-items:start;padding-bottom:20px;border-bottom:2px solid var(--ink)}
.control-heading>span{font-family:Georgia,"Times New Roman",serif;color:var(--coral);font-size:1.8rem}.control-heading h2{font-size:1.25rem;margin:2px 0 2px}.control-heading p{font-size:.78rem;color:var(--muted);margin:0}
.studio-controls fieldset{border:0;padding:0;margin:0;min-width:0}.studio-controls legend,.studio-controls>label>span,.field-row>label>span,.optional-fields label>span{font-size:.74rem;text-transform:uppercase;font-weight:800;color:#4b5751;margin-bottom:8px;display:block}
.choice-grid{display:grid;gap:8px}.occasion-grid{grid-template-columns:1fr 1fr}.choice-grid input,.segmented input,.module-list input{position:absolute;opacity:0;pointer-events:none}
.choice-grid label>span{height:48px;padding:0 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:white;cursor:pointer;font-size:.78rem;font-weight:750}.choice-grid svg{width:17px;color:var(--green)}
.choice-grid input:checked+span{background:#e8f1ed;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.field-row{display:grid;gap:10px}.field-row.three{grid-template-columns:.7fr 1fr 1fr}.field-row.two{grid-template-columns:1fr 1fr}.field-row select,.field-row input,.optional-fields textarea{width:100%;border:1px solid var(--line);border-radius:3px;background:white;color:var(--ink);outline:0}.field-row select,.field-row input{height:43px;padding:0 10px}.optional-fields textarea{padding:10px;resize:vertical;min-height:78px}.field-row select:focus,.field-row input:focus,.optional-fields textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,85,.09)}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.segmented span{min-height:43px;padding:6px;display:grid;place-items:center;text-align:center;border-right:1px solid var(--line);cursor:pointer;font-size:.72rem;font-weight:750}.segmented label:last-child span{border-right:0}.segmented input:checked+span{background:var(--ink);color:white}.segmented input:disabled+span{opacity:.38;cursor:not-allowed}.field-hint{font-size:.7rem;color:var(--muted);margin:6px 0 0}
.toggle-field{margin-top:23px;min-height:43px;padding:8px 10px;border:1px solid var(--line);display:flex;align-items:start;gap:9px}.toggle-field input{width:17px!important;height:17px!important;min-height:0;margin:3px 0 0;accent-color:var(--green)}.toggle-field strong,.toggle-field small{display:block}.toggle-field strong{font-size:.76rem}.toggle-field small{font-size:.67rem;color:var(--muted)}
.optional-fields{display:grid;gap:13px;padding:16px;background:#f4f6f4}.optional-fields label>span small{text-transform:none;color:var(--muted);font-weight:500}.optional-fields label>small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}
.module-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.module-list label>span{min-height:78px;padding:11px;border:1px solid var(--line);display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:8px;cursor:pointer}.module-list svg{grid-row:1/3;width:20px;color:var(--coral)}.module-list strong,.module-list small{display:block}.module-list strong{font-size:.78rem}.module-list small{font-size:.68rem;color:var(--muted)}.module-list input:checked+span{background:#fff6e8;border-color:#c88b29;box-shadow:inset 0 0 0 1px #c88b29}
.form-error{min-height:1.2em;margin:-8px 0;color:#b14335;font-size:.78rem}.generate-button{width:100%;min-height:50px}.privacy-note{display:flex;gap:8px;align-items:start;margin:-12px 0 0;color:var(--muted);font-size:.7rem}.privacy-note svg{width:16px;flex:0 0 auto;color:var(--green)}
.studio-output{background:#eef2ef;padding:30px;min-width:0}.empty-output{min-height:700px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:560px;margin:auto}.output-mark{width:58px;height:58px;display:grid;place-items:center;background:var(--coral);color:white;margin-bottom:24px}.output-mark svg{width:28px}.empty-output h2,.result-header h2,.supply-heading h2,.digital-plans h2{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:0}.empty-output h2{font-size:3rem;line-height:1;margin:0 0 15px}.empty-output>p:not(.eyebrow){color:var(--muted);max-width:480px}.empty-output ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:22px 0 0;padding:0}.empty-output li{padding:6px 9px;border:1px solid #c7d0ca;background:white;font-size:.72rem;font-weight:750}
.result-header{padding-bottom:22px;border-bottom:2px solid var(--ink)}.result-topline{display:flex;justify-content:space-between;gap:18px;align-items:start}.result-header h2{font-size:2.65rem;line-height:1;margin:0 0 10px}.result-meta{display:flex;gap:7px;flex-wrap:wrap}.result-meta span{padding:5px 7px;background:white;border:1px solid var(--line);font-size:.68rem;font-weight:750}.seed-label{font-family:ui-monospace,Consolas,monospace;color:var(--muted);font-size:.66rem}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.result-actions .button{min-height:40px;padding:0 13px;font-size:.78rem}.button.print-button{background:var(--ink);color:white}.button.reset-button{background:white;border-color:var(--line)}
.result-section{padding:24px 0;border-bottom:1px solid #ccd5cf}.result-section:last-child{border-bottom:0}.result-section>header{display:flex;gap:14px;align-items:start;margin-bottom:15px}.section-number{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;color:var(--coral)}.result-section h3{font-size:1.05rem;margin:2px 0 2px}.result-section header p{font-size:.72rem;color:var(--muted);margin:0}.timeline-list,.prep-list,.round-list{list-style:none;margin:0;padding:0}.timeline-list li{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:8px 0;border-top:1px solid #d6ddd8;font-size:.78rem}.timeline-list strong{color:var(--green)}.prep-list{columns:2;column-gap:24px}.prep-list li{break-inside:avoid;padding:6px 0 6px 20px;position:relative;font-size:.77rem}.prep-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:9px;border:1px solid var(--green)}
.game-module{background:white;border:1px solid var(--line);margin-top:12px}.game-module summary{list-style:none;padding:15px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}.game-module summary::-webkit-details-marker{display:none}.game-module summary strong{font-size:.88rem}.game-module summary span{font-size:.68rem;color:var(--muted)}.game-module[open] summary{border-bottom:1px solid var(--line)}.module-preview{padding:16px}.module-preview>p{font-size:.76rem;color:var(--muted);margin:0 0 12px}.prompt-list{margin:0;padding-left:20px;font-size:.76rem}.prompt-list li+li{margin-top:7px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mission-card{padding:10px;background:#f7f1e8;border-left:3px solid var(--gold);font-size:.72rem}.bingo-mini{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--ink)}.bingo-mini span{aspect-ratio:1/1;display:grid;place-items:center;text-align:center;padding:3px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.48rem;line-height:1.15;overflow-wrap:anywhere}.bingo-mini span:nth-child(5n){border-right:0}.bingo-mini span:nth-last-child(-n+5){border-bottom:0}.bingo-mini .free{background:#e7f1ec;color:var(--green);font-weight:800}.answer-note{padding:10px;background:#edf5f1;font-size:.72rem;color:#385247;margin-top:12px}
.supply-section{padding:74px max(24px,calc((100vw - 1240px)/2));background:white;border-top:1px solid var(--line)}.supply-heading{display:grid;grid-template-columns:1fr .8fr;gap:60px;align-items:end;margin-bottom:28px}.supply-heading h2{font-size:2.8rem;line-height:1;margin:0}.supply-heading>p{color:var(--muted);font-size:.85rem;margin:0}.supply-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.supply-card{display:grid;grid-template-columns:118px 1fr;border:1px solid var(--line);background:#fbfcfa;min-width:0}.supply-card img{width:118px;height:100%;min-height:142px;object-fit:cover}.supply-card div{padding:14px;min-width:0}.supply-card small,.supply-card strong,.supply-card span{display:block}.supply-card small{color:var(--muted);font-size:.63rem}.supply-card strong{font-size:.84rem;line-height:1.25;margin:5px 0}.supply-card span{font-size:.76rem;margin-bottom:9px}.supply-card a{font-size:.73rem;color:var(--green);font-weight:800}
.studio-faq{padding:72px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;background:#f4f6f3;border-top:1px solid var(--line)}.studio-faq h2{font-family:Georgia,"Times New Roman",serif;font-size:2.8rem;line-height:1;letter-spacing:0;margin:0}.studio-faq dl{margin:0}.studio-faq dl>div{padding:18px 0;border-top:1px solid #c8d1cb}.studio-faq dl>div:last-child{border-bottom:1px solid #c8d1cb}.studio-faq dt{font-weight:800;font-size:.88rem}.studio-faq dd{margin:7px 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}
.digital-plans{padding:72px max(24px,calc((100vw - 1240px)/2));display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;background:#17211d;color:white}.digital-plans h2{font-size:2.8rem;line-height:1;margin:0 0 18px}.plans-copy>p{color:#b7c3bd}.digital-status{padding:10px 12px;border-left:3px solid #dca64b;background:#202c27;font-size:.72rem}.plan-table{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #52605a;border-left:1px solid #52605a}.plan-table>div{padding:24px;border-right:1px solid #52605a;border-bottom:1px solid #52605a}.plan-table span,.plan-table strong{display:block}.plan-table span{font-size:.72rem;text-transform:uppercase;color:#9eb1a8}.plan-table strong{font-family:Georgia,"Times New Roman",serif;font-size:2.5rem;margin:8px 0}.plan-table p{font-size:.78rem;color:#bdc9c3;min-height:3.7em}.plan-table button{width:100%;height:38px;border:1px solid #5e6964;background:#303a35;color:#96a19b;cursor:not-allowed}.studio-footer{margin-top:0}
.print-pack{display:none}
@media(max-width:1000px){.studio-intro{grid-template-columns:1fr;gap:22px}.studio-shell{grid-template-columns:1fr}.studio-controls{border-right:0;border-bottom:1px solid var(--line)}.empty-output{min-height:480px}.supply-grid{grid-template-columns:1fr 1fr}.studio-faq,.digital-plans{grid-template-columns:1fr}}
@media(max-width:680px){.studio-header{grid-template-columns:1fr auto;padding:0 14px}.studio-shop-link{min-width:44px;width:44px;padding:0;font-size:0}.studio-shop-link svg{width:19px}.studio-intro,.studio-shell{width:calc(100% - 24px)}.studio-intro{padding:34px 0 24px}.studio-intro h1{font-size:2.65rem}.studio-shell{margin-bottom:54px}.studio-controls,.studio-output{padding:18px}.occasion-grid,.field-row.three,.field-row.two,.module-list{grid-template-columns:1fr}.segmented{grid-template-columns:1fr}.segmented span{border-right:0;border-bottom:1px solid var(--line)}.segmented label:last-child span{border-bottom:0}.toggle-field{margin-top:0}.empty-output{min-height:400px}.empty-output h2,.result-header h2{font-size:2.15rem}.result-topline{display:block}.prep-list{columns:1}.mission-grid{grid-template-columns:1fr}.supply-section{padding:52px 14px}.supply-heading{grid-template-columns:1fr;gap:18px}.supply-heading h2,.studio-faq h2,.digital-plans h2{font-size:2.2rem}.supply-grid{grid-template-columns:1fr}.studio-faq,.digital-plans{padding:52px 14px;gap:34px}.plan-table{grid-template-columns:1fr}.bingo-mini span{font-size:.42rem}}
@media print{
  @page{size:A4;margin:12mm}
  body{background:white!important;color:#111!important;font-family:Arial,sans-serif!important}
  .site-header,main,.site-footer{display:none!important}.print-pack{display:block!important}
  .print-cover{min-height:255mm;display:flex;flex-direction:column;justify-content:center;border:2px solid #111;padding:18mm}.print-cover h1{font-family:Georgia,serif;font-size:34pt;margin:0 0 8mm}.print-cover p{font-size:12pt}.print-cover .print-meta{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin-top:12mm}.print-cover .print-meta span{border-top:1px solid #111;padding-top:3mm}
  .print-page{break-before:page;page-break-before:always}.print-page h2{font-family:Georgia,serif;font-size:24pt;margin:0 0 7mm;border-bottom:2px solid #111;padding-bottom:3mm}.print-page h3{font-size:14pt}.print-page p,.print-page li{font-size:10pt;line-height:1.45}.print-two-col{columns:2;column-gap:12mm}.print-card{border:1px solid #222;padding:6mm;margin:0 0 5mm;break-inside:avoid}.print-bingo{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #111}.print-bingo span{min-height:34mm;padding:2mm;display:grid;place-items:center;text-align:center;border-right:1px solid #777;border-bottom:1px solid #777;font-size:8pt;line-height:1.2}.print-bingo span:nth-child(5n){border-right:0}.print-bingo span:nth-last-child(-n+5){border-bottom:0}.print-bingo .free{background:#eee;font-weight:bold}.print-footer{margin-top:7mm;border-top:1px solid #999;padding-top:2mm;font-size:7pt;color:#555}
}
