:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#20231f;background:#e9e7df;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.generator-shell{min-height:100vh;padding:clamp(20px,5vw,60px)}.generator-app{width:min(1180px,100%);margin:auto}.generator-header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:25px}.generator-header h1{margin:0;font:600 clamp(34px,5vw,60px)/.95 Georgia,serif;letter-spacing:-.045em}.generator-header>p{max-width:390px;margin:0;color:#676d64;font-size:14px;line-height:1.5}.kicker{margin:0 0 8px;color:#6d7d1f;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.workspace{display:grid;grid-template-columns:minmax(280px,370px) minmax(0,1fr);gap:22px;align-items:start}.controls{display:grid;gap:17px;padding:20px;background:#faf9f4;border:1px solid #d6d3ca;border-radius:15px;box-shadow:0 12px 30px #35312a12}.controls label,fieldset legend{color:#646b61;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.controls label{display:grid;gap:7px}fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}select,.controls input,textarea{width:100%;min-height:40px;padding:8px 10px;color:#20231f;background:#fff;border:1px solid #c9c6bc;border-radius:8px}textarea{min-height:82px;resize:vertical;font-size:12px}.difficulty-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.difficulty-row button,.word-editor>button,.image-controls button{min-height:38px;padding:6px;color:#5f675a;background:#fff;border:1px solid #d2cfc5;border-radius:7px;font-size:11px;font-weight:750}.difficulty-row button.selected{color:#29370c;background:#eaf2bd;border-color:#a4b446}fieldset small,.image-controls small{color:#737a6e;font-size:10px;line-height:1.4}.word-editor,.image-controls{display:grid;gap:9px;padding-top:13px;border-top:1px solid #e2ded4}.word-editor .controls label{font-size:9px}.entries{display:grid;gap:6px}.entry{display:grid;grid-template-columns:1fr 25px;gap:6px}.entry:has(input:nth-child(3)){grid-template-columns:1fr 25px 1.45fr}.entry input{min-height:32px;padding:6px 8px;font-size:11px;text-transform:uppercase}.entry span{display:grid;place-items:center;color:#777d72;background:#f0efe9;border:1px solid #dfdcd4;border-radius:6px;font-size:10px}.primary{min-height:43px;color:#fff;background:#252825;border:1px solid #252825;border-radius:8px;font-size:12px;font-weight:800}button:disabled{cursor:wait;opacity:.55}.error{margin:0;padding:9px;color:#8b342d;background:#fae8e4;border:1px solid #e8c5be;border-radius:7px;font-size:11px;line-height:1.4}.preview-column{min-width:0}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:10px;color:#686e65;font-size:11px}.toolbar>span{margin-right:auto;font-weight:750}.toolbar button{padding:7px 9px;color:#555d50;background:#faf9f4;border:1px solid #cbc8bf;border-radius:7px;font-size:10px;font-weight:800}.solution-toggle{display:inline-flex;align-items:center;gap:4px;font-size:10px}.sheet{width:min(100%,650px);min-height:700px;margin:auto;padding:45px 40px 30px;background:#fff;box-shadow:0 16px 35px #2a282322}.sheet h2{margin:0;color:#171917;font:600 31px/.98 Georgia,serif;text-align:center}.sheet>p{margin:9px 0 32px;color:#788074;font-size:11px;text-align:center}.preview{display:grid;min-height:500px;place-items:center}.sheet>small{display:block;margin-top:28px;color:#90968d;font-size:8px;letter-spacing:.12em;text-align:center}.status{margin:10px 0 0;color:#68715b;font-size:10px;text-align:center}.maze-board{width:min(100%,470px);aspect-ratio:1;display:grid;background:#fff}.maze-board span{position:relative;min-width:0;min-height:0}.maze-board span.solution{background:#bfddff}.sudoku-board{width:min(100%,450px);aspect-ratio:1;display:grid;grid-template-columns:repeat(9,1fr);border:2px solid #151515}.sudoku-board span{display:grid;place-items:center;border-right:1px solid #aaa;border-bottom:1px solid #aaa;font:700 clamp(15px,3vw,27px)/1 Georgia,serif}.sudoku-board span:nth-child(9n){border-right:0}.sudoku-board span:nth-last-child(-n+9){border-bottom:0}.sudoku-board span.top{border-top:2px solid #151515}.sudoku-board span.left{border-left:2px solid #151515}.word-board{width:min(100%,470px);aspect-ratio:1;display:grid;border:2px solid #222}.word-board span{display:grid;place-items:center;border:1px solid #ddd;font:700 clamp(11px,2.2vw,21px)/1 Georgia,serif}.word-board span.solution{color:#1458a1;background:#dcecff}.word-list{max-width:470px;margin:15px auto 0;color:#3f4b37;font:700 11px/1.7 Georgia,serif;text-align:center}.crossword-layout{width:100%;display:grid;gap:20px;justify-items:center}.crossword-board{width:min(100%,470px);aspect-ratio:1;display:grid;border:2px solid #151515}.crossword-board span{position:relative;display:grid;place-items:center;border:1px solid #555;font:700 clamp(10px,2vw,21px)/1 Georgia,serif}.crossword-board span.block{background:#151515;border-color:#151515}.crossword-board span small{position:absolute;top:2px;left:3px;font:700 7px/1 Arial,sans-serif}.crossword-clues{width:min(100%,470px);columns:2;column-gap:20px}.crossword-clues p{margin:0 0 7px;color:#3b4238;font:11px/1.35 Georgia,serif;break-inside:avoid}.crossword-clues b{margin-right:6px;color:#6c7d23}.anagram-list{width:min(100%,520px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style-position:inside}.anagram-list li{min-width:0;padding:14px;color:#65705f;background:#f8f7f1;border:1px solid #dedbd1;border-radius:9px;font:700 11px/1.35 Georgia,serif}.anagram-list strong{display:block;margin:5px 0 7px;color:#1d211b;font:700 clamp(18px,3vw,27px)/1 Georgia,serif;letter-spacing:.13em;overflow-wrap:anywhere}.anagram-list span,.anagram-list small{display:block}.anagram-list small{margin-top:5px;color:#7b872f;font:700 9px/1.3 Inter,sans-serif;text-transform:uppercase}.image-maze-output{max-width:100%;max-height:500px;object-fit:contain}.empty-preview{max-width:260px;color:#858b81;font-size:13px;line-height:1.5;text-align:center}footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;color:#737a70;font-size:10px}footer code{padding:5px 7px;background:#f4f2eb;border:1px solid #dedbd2;border-radius:5px}@media(max-width:800px){.generator-header{display:grid}.workspace{grid-template-columns:1fr}.sheet{min-height:570px;padding:30px 20px 25px}.preview{min-height:390px}.anagram-list{grid-template-columns:1fr}footer{display:none}}
