
:root{font-family:'Nunito Sans',Arial,sans-serif;color:#163061;background:#f3f7ff;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,.theme-tile:focus-within{outline:3px solid #ea9b16;outline-offset:3px}
.topbar{height:72px;padding:0 clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #dfe8f7}.brand{display:flex;align-items:center;gap:12px;font-family:Nunito,sans-serif;font-size:1.23rem;font-weight:600;letter-spacing:-.03em}.brand strong{font-weight:800}.brand-mark{width:34px;height:34px;border-radius:10px;background:#102c63;color:#ffc94b;display:grid;place-items:center;font-size:25px}.topbar-note{font-size:.85rem;color:#607399}
.workspace{display:grid;grid-template-columns:minmax(310px,410px) minmax(0,1fr);gap:clamp(20px,3vw,44px);max-width:1510px;margin:auto;padding:clamp(22px,3vw,42px)}.builder{align-self:start;position:sticky;top:20px;background:#fff;border:1px solid #dfe8f7;border-radius:24px;box-shadow:0 14px 40px rgba(29,58,111,.06);padding:clamp(22px,2.5vw,34px)}.eyebrow{letter-spacing:.16em;color:#177bb3;font-size:.75rem;font-weight:800;margin:0 0 10px}.builder h1{font-family:Nunito,sans-serif;font-size:clamp(2rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 15px;color:#102c63}.builder-intro>p:last-child{margin:0 0 24px;line-height:1.5;color:#576b91}.field-row{display:grid;grid-template-columns:1.6fr .7fr;gap:12px}form label,fieldset legend{font-weight:700;font-size:.9rem}input:not([type=radio]),select{display:block;width:100%;height:47px;border:1px solid #cdd9ed;border-radius:10px;padding:0 13px;color:#173260;background:#fff;margin-top:8px}.optional{font-size:.75rem;font-weight:500;color:#8291aa}fieldset{border:0;margin:22px 0;padding:0}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.theme-tile{min-height:76px;border:1px solid #d2deef;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:.78rem;position:relative;cursor:pointer}.theme-tile input{position:absolute;opacity:0;inset:0;cursor:pointer}.theme-icon{font-size:1.65rem;line-height:1;color:#1876aa}.theme-tile:has(input:checked){background:#e7f6fc;border:2px solid #2183b4;color:#0e5680}.theme-tile:has(input:checked) .theme-icon{color:#0b6eaa}.primary-button,.dark-button,.secondary-button{border:0;border-radius:11px;font-weight:800;min-height:48px;padding:11px 18px}.primary-button{width:100%;margin-top:24px;background:#ffcb54;color:#14305f;display:flex;justify-content:space-between;align-items:center}.primary-button:hover{background:#f5b92e}.builder-foot{display:flex;gap:10px;border-top:1px solid #e8edf6;margin-top:24px;padding-top:18px;align-items:flex-start}.builder-foot p{font-size:.8rem;line-height:1.55;margin:0;color:#65789a}.builder-foot strong{color:#1d6795}.foot-icon{color:#edaa20;font-size:1.5rem}
.preview{min-width:0}.preview-hero{background:#102c63;border-radius:23px;min-height:228px;color:white;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;position:relative}.preview-hero>div{padding:32px;z-index:1;align-self:center}.preview-hero .eyebrow{color:#ffc94b}.preview-hero h2{font:800 clamp(2.1rem,4vw,3.2rem)/1 Nunito,sans-serif;letter-spacing:-.04em;margin:0 0 10px}.preview-hero p:last-child{color:#d9e9f9;margin:0;line-height:1.4}.preview-hero img{width:100%;height:100%;object-fit:cover;object-position:center}.preview-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0}.preview-actions>div:first-child{display:flex;flex-direction:column;gap:3px}.preview-actions strong{font-size:.95rem}.preview-actions span{font-size:.77rem;color:#64779c}.action-buttons{display:flex;gap:8px}.secondary-button{background:#fff;color:#17315e;border:1px solid #ccd9ee}.dark-button{background:#102c63;color:#fff}.dark-button span{color:#ffcc55;font-size:1rem}.dark-button:hover{background:#1a4689}
.sheet{background:#fff;border:1px solid #dae4f3;box-shadow:0 12px 30px rgba(29,58,111,.06);border-radius:15px;margin-bottom:18px;padding:28px 32px;min-height:610px;display:flex;flex-direction:column;overflow:hidden}.sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:2px solid #173b76;padding-bottom:14px;margin-bottom:20px}.sheet-kicker{font-weight:800;letter-spacing:.13em;color:#1780b1;font-size:.72rem;text-transform:uppercase}.sheet h3{font:800 1.7rem/1.15 Nunito,sans-serif;letter-spacing:-.025em;margin:5px 0 0}.sheet-number{background:#ffcb54;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-weight:800;flex:none}.instructions{font-size:.96rem;line-height:1.45;margin:0 0 20px;color:#364b70}.sheet-body{flex:1}.sheet-footer{border-top:1px solid #d5dfeb;padding-top:10px;display:flex;justify-content:space-between;color:#7d8ba4;font-size:.77rem;margin-top:20px}.puzzle-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);width:min(100%,440px);margin:8px auto 0;border:2px solid #172f59}.puzzle-grid span{aspect-ratio:1;display:grid;place-items:center;border:1px solid #bdc9d9;font-family:Nunito,sans-serif;font-weight:700;font-size:clamp(.7rem,1.4vw,1rem);line-height:1}.word-grid span{border-color:#e6ebf2}.word-list{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:20px auto;font-size:.9rem;font-weight:800;letter-spacing:.08em;max-width:500px}.word-list span{min-width:95px;text-align:center}.maze{display:block;width:min(100%,430px);height:auto;margin:12px auto}.answer-line{border-bottom:1px solid #8c9fba;height:31px;margin:7px 0}.answer-line.short{max-width:300px}.cipher{font:800 clamp(1.1rem,2vw,1.5rem)/1.9 Nunito,sans-serif;letter-spacing:.18em;overflow-wrap:anywhere;padding:16px;background:#f4f8fd;border-radius:10px}.cipher-key{font-size:.85rem;line-height:1.6;margin:8px 0 20px;color:#566989}.cipher-key strong{color:#203761}.logic-clues{line-height:1.65;margin:0 0 16px;padding-left:23px}.logic-table{border-collapse:collapse;margin:auto;width:min(100%,450px);font-size:.88rem}.logic-table th,.logic-table td{border:1px solid #788ba8;text-align:center;height:42px}.logic-table th{background:#edf4fa}.logic-table td:first-child{background:#edf4fa;font-weight:700}.coordinate-grid span{font-size:1rem}.coordinate-grid span.marked{background:#eaf4fc;color:#163d73}.coord-wrap{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.coord-wrap .puzzle-grid{width:min(100%,340px);margin:0}.coord-list{flex:1;min-width:190px;line-height:1.7}.coord-list li{margin-bottom:8px}.pattern-list,.math-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}.pattern-list li,.math-list li{border-bottom:1px dashed #bbcadc;padding:0 0 12px;line-height:1.5}.blank{display:inline-block;min-width:80px;border-bottom:1px solid #526886;height:1.2em;vertical-align:bottom}.diff-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:610px;margin:auto}.diff-pair>div{text-align:center}.diff-grid{width:100%;}.diff-grid span{font-size:1.05rem}.sudoku{width:min(100%,360px);margin:14px auto}.sudoku span{font-size:1.4rem}.sudoku span:nth-child(4n+3){border-left:2px solid #17345d}.sudoku span:nth-child(n+9):nth-child(-n+12){border-top:2px solid #17345d}.scramble-list{display:grid;gap:13px;max-width:500px;margin:auto}.scramble-row{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;border-bottom:1px dashed #b8c8da;padding:7px 0 14px}.scramble-row b{font:800 1.25rem Nunito,sans-serif;letter-spacing:.2em}.scramble-row small{color:#657898}.answers-screen{background:white;border:1px solid #dce5f2;border-radius:15px;padding:25px 30px;margin-bottom:20px}.answers-screen h3,.answer-sheet h3{font:800 1.7rem Nunito,sans-serif;margin:0 0 15px}.answer-columns{columns:2 240px;column-gap:34px}.answer-item{break-inside:avoid;margin:0 0 15px;line-height:1.45;font-size:.9rem}.answer-item h4{margin:0 0 4px;color:#155c8e}.answer-item p{margin:0}.answer-maze{width:135px;display:block}.answer-sheet{display:none}.site-footer{text-align:center;color:#8797b0;font-size:.78rem;padding:0 20px 30px}
@media(max-width:1050px){.workspace{grid-template-columns:310px minmax(0,1fr);gap:20px}.builder{padding:21px}.theme-grid{grid-template-columns:repeat(2,1fr)}.sheet{padding:24px;min-height:560px}}@media(max-width:760px){.topbar-note{display:none}.workspace{display:block;padding:15px}.builder{position:static;margin-bottom:22px}.theme-grid{grid-template-columns:repeat(4,1fr)}.preview-hero{min-height:190px}.preview-hero>div{padding:20px}.preview-actions{align-items:stretch;flex-direction:column}.action-buttons button{flex:1}.sheet{min-height:0;padding:19px}.puzzle-grid span{font-size:.75rem}.diff-pair{gap:8px}.diff-grid span{font-size:.7rem}.sheet h3{font-size:1.45rem}}@media(max-width:420px){.theme-grid{grid-template-columns:repeat(2,1fr)}.preview-hero{grid-template-columns:1fr 30%}.preview-hero img{object-position:55%}.preview-hero h2{font-size:1.9rem}.sheet{padding:15px}.action-buttons{flex-direction:column}.diff-pair{grid-template-columns:1fr}.diff-grid{max-width:235px;margin:auto}}
@page{size:letter;margin:0}
@media print{html,body{background:white;color:#111;font-family:Arial,sans-serif;font-size:12pt;print-color-adjust:exact;-webkit-print-color-adjust:exact}.topbar,.builder,.preview-hero,.preview-actions,.answers-screen,.site-footer{display:none!important}.workspace,.preview{display:block;padding:0;margin:0;max-width:none}.sheet,.answer-sheet{display:flex;flex-direction:column;width:8.5in;height:11in;padding:.65in .7in .55in;margin:0;border:0;border-radius:0;box-shadow:none;break-after:page;page-break-after:always;overflow:hidden}.sheet-head{border-color:#111}.sheet-kicker,.sheet h3,.instructions,.sheet-footer{color:#111}.sheet h3{font-size:22pt}.sheet-body{flex:1}.sheet-footer{margin-top:auto}.puzzle-grid{width:4.8in}.puzzle-grid span{font-size:12pt}.maze{width:5.6in}.coord-wrap .puzzle-grid{width:3.7in}.diff-pair{max-width:6.5in}.diff-grid{width:3in}.diff-grid span{font-size:12pt}.sudoku{width:4.4in}.answer-sheet{break-after:auto;page-break-after:auto}.answer-sheet h3{color:#111}.answer-columns{columns:2 3.1in}.answer-item{font-size:10pt}.answer-item h4{color:#111}.sheet-number{background:#eee}.cipher{background:#f5f5f5}}
