:root{color:#1f2533;background:radial-gradient(circle at top left,rgba(255,205,112,.42),transparent 24%),radial-gradient(circle at top right,rgba(90,134,255,.2),transparent 28%),linear-gradient(180deg,#fffaf1,#f2f5fb);font-family:Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}.tool-app{min-height:100vh;padding:32px 24px 48px}.tool-home-link{display:inline-flex;align-items:center;gap:12px;min-height:40px;margin:0 auto 12px;max-width:1400px;width:100%;color:#263f85;font-weight:700;text-decoration:none}.brand-logo{width:56px;height:auto;display:block}.brand-wordmark{color:#263f85;font-family:Covered By Your Grace,cursive;font-size:clamp(2.15rem,4vw,2.8rem);font-weight:400;line-height:.9}.tool-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:0 auto 24px;max-width:1400px}.tool-kicker{margin:0 0 10px;color:#bb5e16;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}.tool-hero h1,.tool-panel h2,.tool-sheet-header h2{margin:0}.tool-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:.95}.tool-hero-copy{max-width:62ch;margin:14px 0 0;color:#48506a}.tool-layout{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(360px,520px) minmax(0,1fr);gap:24px;align-items:start}.tool-editor{display:grid;gap:16px}.tool-panel{border:1px solid rgba(31,37,51,.1);border-radius:24px;background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 42px #2b3b6b17;padding:20px}.tool-panel-header,.tool-range-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.tool-panel-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:10px}.tool-field{display:grid;gap:8px;margin-top:16px}.tool-field span{color:#4f566a;font-size:.95rem}.tool-field input,.tool-field textarea,.tool-field select{width:100%;border:1px solid rgba(31,37,51,.14);border-radius:16px;padding:12px 14px;background:#fff;color:#1f2533}.tool-field textarea{resize:vertical}.tool-checkbox{display:flex;align-items:center;gap:10px;margin-top:16px;color:#4f566a}.tool-checkbox input{width:18px;height:18px;accent-color:#263f85}.tool-primary-button,.tool-secondary-button,.tool-ghost-button{border-radius:999px;padding:12px 18px;border:none}.tool-primary-button{background:linear-gradient(135deg,#263f85,#3d65d1);color:#fff}.tool-secondary-button{background:#f0f4ff;color:#263f85}.tool-ghost-button{background:#fff7ef;color:#8c4a18;border:1px solid rgba(140,74,24,.16)}.tool-preview-shell{position:sticky;top:24px;display:grid;gap:24px}.tool-sheet{background:#fff;border-radius:24px;padding:.5in;box-shadow:0 28px 60px #2b3b6b1f;border:1px solid rgba(31,37,51,.12);display:flex;flex-direction:column}.tool-sheet-header p:last-child{color:#4e5568;max-width:74ch;margin:8px 0 0}.tool-sheet-header h2{font-size:xx-large}.tool-sheet-section{margin-top:18px}.tool-sheet-footer{margin:auto 0 0;padding-top:18px;color:#5a6177;font-size:.8rem;text-align:center;text-transform:lowercase}.tool-autosave-note{margin:16px 0 0;color:#5a6177;font-size:.9rem}.tool-empty-state{padding:16px;border-radius:16px;background:#fff7ef;color:#8c4a18}.faq-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f142899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;animation:faq-fade-in .18s ease}@keyframes faq-fade-in{0%{opacity:0}to{opacity:1}}.faq-modal{background:#fff;border-radius:28px;box-shadow:0 40px 100px #0f143c38,0 0 0 1px #1f253314;width:100%;max-width:780px;max-height:90vh;display:flex;flex-direction:column;animation:faq-slide-up .22s cubic-bezier(.22,1,.36,1);overflow:hidden}@keyframes faq-slide-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.faq-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:32px 32px 24px;border-bottom:1px solid rgba(31,37,51,.08);flex-shrink:0}.faq-modal-header h2{margin:0 0 4px;font-size:1.7rem;color:#1f2533}.faq-modal-header p{margin:0;color:#5a6177;font-size:.95rem}.faq-close-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(31,37,51,.12);background:#f5f6fa;color:#4f566a;font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.faq-close-btn:hover{background:#1f2533;color:#fff}.faq-modal-body{overflow-y:auto;padding:8px 32px 32px;flex:1}.faq-entry{border-bottom:1px solid rgba(31,37,51,.07);padding:20px 0}.faq-entry:last-child{border-bottom:none}.faq-question{font-weight:700;font-size:1.02rem;color:#1f2533;margin:0 0 8px;display:flex;gap:12px;align-items:baseline}.faq-question-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#263f85,#3d65d1);color:#fff;font-size:.7rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;position:relative;top:1px}.faq-answer{margin:0;color:#48506a;line-height:1.65;font-size:.95rem;padding-left:34px}.faq-answer strong{color:#1f2533}.faq-answer code{background:#f0f4ff;color:#263f85;border-radius:5px;padding:1px 6px;font-size:.88em}@media (max-width: 600px){.faq-overlay{padding:0;align-items:flex-end}.faq-modal{max-height:92vh;border-radius:24px 24px 0 0;max-width:100%}.faq-modal-header{padding:24px 20px 18px}.faq-modal-body{padding:8px 20px 28px}}@page{size:letter portrait;margin:.5in}@media (max-width: 1100px){.tool-layout{grid-template-columns:1fr}.tool-preview-shell{position:static}}@media (max-width: 720px){.tool-app{padding:20px 16px 32px}.brand-logo{width:48px;height:auto}.brand-wordmark{font-size:2rem}.tool-hero,.tool-panel-header,.tool-range-header{flex-direction:column;align-items:stretch}.tool-panel-actions{justify-content:stretch}}@media print{body{background:#fff}.no-print{display:none!important}.tool-app,.tool-layout,.tool-preview-shell{padding:0;margin:0;display:block}.tool-sheet{box-shadow:none;border-radius:0;border:none;padding:0;min-height:10in}.tool-answer-key-sheet{break-before:page;page-break-before:always}}.word-search-bank{display:flex;flex-wrap:wrap;gap:10px 16px}.word-search-bank span{font-weight:700;letter-spacing:.04em}.word-search-grid{display:grid;width:min(100%,7.25in);border:2px solid #1f2533;position:relative;z-index:1}.word-search-grid-wrap{position:relative;width:min(100%,7.25in)}.word-search-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid #1f2533;font-weight:700;font-size:1.125rem}.word-search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.word-search-toast-region{position:fixed;left:50%;bottom:24px;z-index:2000;transform:translate(-50%);width:min(calc(100vw - 32px),560px)}.word-search-toast-message{border:1px solid rgba(122,18,18,.38);border-radius:18px;background:#801212f5;box-shadow:0 18px 36px #1f253329;padding:14px 16px;color:#fff3f2;font-weight:700}.word-search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;padding:24px;background:#1f253375}.word-search-confirm-modal{width:min(100%,420px);outline:none}.word-search-confirm-dialog{border:1px solid rgba(31,37,51,.12);border-radius:18px;background:#fff;box-shadow:0 24px 64px #1f253347;padding:22px;outline:none}.word-search-confirm-dialog-title{margin:0;font-size:1.35rem}.word-search-confirm-dialog p{margin:10px 0 0;color:#4f566a}.word-search-confirm-dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:22px}@media print{.word-search-toast-region,.word-search-modal-overlay{display:none!important}}
