:root{color-scheme:light;--color-bg:#f4f2eb;--color-surface:#fcfbf7;--color-paper:#fff;--color-text:#29362f;--color-muted:#626b63;--color-primary:#2e5142;--color-primary-hover:#203e31;--color-on-primary:#fff;--color-tint:#eaf0e9;--color-border:#d9ddd3;--color-input-border:#7e887b;--color-error:#8d2b25;--color-error-bg:#fbefeb;--color-warning-bg:#f5f0df;--color-focus:#23533e;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:Georgia, "Times New Roman", serif;--space-xs:.375rem;--space-s:.75rem;--space-m:1rem;--space-l:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-s:.375rem;--radius-m:.75rem;--shadow-paper:0 2px 6px #29362f0a, 0 12px 36px #29362f0d}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5}body{margin:0}button,input,textarea,select{font:inherit}button,summary,label:has(input[type=radio]){-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}[hidden]{display:none!important}h1,h2,h3,p,ul{margin:0}a{color:var(--color-primary)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{padding:var(--space-s) var(--space-m);background:var(--color-paper);z-index:10;position:absolute;inset-block-start:var(--space-s);inset-inline-start:var(--space-s);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-header,.app-main,.app-footer{inline-size:min(100% - 4rem,76rem);margin-inline:auto}.app-header{justify-content:space-between;align-items:center;gap:var(--space-m);padding-block:var(--space-l);border-block-end:1px solid var(--color-border);display:flex}.app-header__brand{align-items:center;gap:var(--space-s);color:var(--color-primary);letter-spacing:.13em;font-size:.75rem;font-weight:700;display:flex}.app-header__mark{flex:none}.app-header__note{font-family:var(--font-display);color:var(--color-muted);font-size:.9375rem;font-style:italic}.app-main{padding-block:var(--space-2xl)}.app-intro{margin-block-end:var(--space-xl)}.app-intro h1{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2rem,3.4vw,3rem);font-weight:400;line-height:1.15}.app-intro h1 span{color:var(--color-primary)}.app-intro p{color:var(--color-muted);margin-block-start:var(--space-s)}.app-workspace{grid-template-columns:minmax(19rem,24rem) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,4rem);display:grid}.puzzle-editor{padding:var(--space-l);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-surface)}.puzzle-editor__heading{align-items:center;gap:var(--space-s);margin-block-end:var(--space-l);display:flex}.puzzle-editor__heading h2{font-size:1.125rem;font-weight:600}.puzzle-editor__step{color:var(--color-primary);border:1px solid var(--color-border);border-radius:50%;place-items:center;block-size:1.75rem;inline-size:1.75rem;font-size:.75rem;font-weight:600;display:grid}.puzzle-form{gap:var(--space-l);display:grid}.puzzle-form__field{gap:var(--space-xs);display:grid}.puzzle-form label,.puzzle-form legend{font-size:.875rem;font-weight:600}.puzzle-form__optional{color:var(--color-muted);margin-inline-start:var(--space-xs);font-size:.8125rem;font-weight:400}.puzzle-form input:not([type=radio]),.puzzle-form textarea{border:1px solid var(--color-input-border);border-radius:var(--radius-s);background:var(--color-paper);min-block-size:2.75rem;inline-size:100%;color:var(--color-text);padding:.625rem .75rem;font-size:.9375rem}.puzzle-form textarea{resize:vertical;min-block-size:12rem;line-height:1.75}.puzzle-form input::placeholder,.puzzle-form textarea::placeholder{color:var(--color-muted);opacity:1}.puzzle-form input[aria-invalid=true],.puzzle-form textarea[aria-invalid=true]{border-color:var(--color-error)}.puzzle-form__hint{color:var(--color-muted);font-size:.8125rem;line-height:1.5}.puzzle-form__label-row{justify-content:space-between;align-items:baseline;gap:var(--space-s);display:flex}.puzzle-form__count{color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.puzzle-form__presets{border:0;min-inline-size:0;margin:0;padding:0}.puzzle-form__presets legend{margin-block-end:var(--space-s);padding:0}.puzzle-form__presets .puzzle-form__hint{margin-block-start:var(--space-s)}.puzzle-form__preset-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.puzzle-form__preset{cursor:pointer;position:relative}.puzzle-form__preset input{block-size:.875rem;inline-size:.875rem;accent-color:var(--color-primary);margin:0;position:absolute;inset-block-start:.75rem;inset-inline-end:.5rem}.puzzle-form__preset-body{border:1px solid var(--color-input-border);border-radius:var(--radius-s);background:var(--color-paper);gap:.25rem;min-block-size:4.5rem;padding:.625rem .5rem;display:grid}.puzzle-form__preset-name{padding-inline-end:1rem;font-size:.8125rem}.puzzle-form__preset-size{color:var(--color-muted);font-size:.9375rem;font-weight:400}.puzzle-form__preset input:checked+.puzzle-form__preset-body{background:var(--color-tint);border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.puzzle-form__preset input:focus-visible{outline:0}.puzzle-form__preset input:focus-visible+.puzzle-form__preset-body{outline:3px solid var(--color-focus);outline-offset:3px}.puzzle-form__layout{border-block:1px solid var(--color-border)}.puzzle-form__layout summary{cursor:pointer;min-block-size:2.75rem;color:var(--color-muted);padding-block:.625rem;font-size:.8125rem}.puzzle-form__layout .puzzle-form__field{padding-block:0 var(--space-m)}.puzzle-form__validation,.puzzle-form__error{background:var(--color-warning-bg);padding:var(--space-m);border-radius:var(--radius-s);overflow-wrap:anywhere;font-size:.8125rem}.puzzle-form__validation:has(.puzzle-form__issue--error),.puzzle-form__error{background:var(--color-error-bg);color:var(--color-error)}.puzzle-form__validation h3{margin-block-end:var(--space-xs);font-size:.875rem}.puzzle-form__validation ul{padding-inline-start:1.125rem}.puzzle-form__validation li+li{margin-block-start:.5rem}.puzzle-form__actions{flex-wrap:wrap;gap:.625rem;display:flex}.button{border:1px solid var(--color-primary);border-radius:var(--radius-s);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;min-block-size:2.875rem;padding:.625rem .875rem;font-size:.875rem;font-weight:600;display:inline-flex}.button--primary{color:var(--color-on-primary);background:var(--color-primary);flex:1}.button--primary:hover:enabled{background:var(--color-primary-hover)}.button--secondary{color:var(--color-primary);background:0 0}.button--secondary:hover:enabled{background:var(--color-tint)}.button:disabled,.button[aria-disabled=true]{border-color:var(--color-border);background:var(--color-bg);color:var(--color-muted)}.puzzle-form__privacy{color:var(--color-muted);text-align:center;margin-block-start:calc(-1 * var(--space-s));font-size:.75rem}.puzzle-preview{min-inline-size:0}.saved-puzzles{gap:var(--space-m);border-block-start:1px solid var(--color-border);margin-block-start:var(--space-l);padding-block-start:var(--space-l);display:grid}.saved-puzzles h3{font-size:1rem}.saved-puzzles label{font-size:.875rem;font-weight:600}.saved-puzzles input,.saved-puzzles select{border:1px solid var(--color-input-border);border-radius:var(--radius-s);background:var(--color-paper);min-block-size:2.75rem;inline-size:100%;color:var(--color-text);min-inline-size:0;padding:.625rem .75rem}.saved-puzzles input::placeholder{color:var(--color-muted)}.saved-puzzles input[type=file]{padding:.5rem;font-size:.8125rem}.saved-puzzles__save{gap:var(--space-s);display:grid}.saved-puzzles__actions{gap:var(--space-s);flex-wrap:wrap;display:flex}.confirmation{max-block-size:calc(100% - 2rem);inline-size:min(100% - 2rem,30rem);padding:var(--space-l);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-m);box-shadow:var(--shadow-paper);margin:auto;overflow:auto}.confirmation::backdrop{background:var(--color-text);opacity:.5}.confirmation h2{margin-block-end:var(--space-m);font-size:1.125rem}.confirmation p{overflow-wrap:anywhere}.confirmation__actions{gap:var(--space-s);flex-wrap:wrap;margin-block-start:var(--space-l);display:flex}.puzzle-preview__heading{justify-content:space-between;align-items:center;gap:var(--space-s);flex-wrap:wrap;min-block-size:1.5rem;margin-block-end:var(--space-m);display:flex}.puzzle-preview__label{align-items:center;gap:.5rem;display:flex}.puzzle-preview__label h2{font-size:.875rem;font-weight:600}.puzzle-preview__dot{background:var(--color-primary);border-radius:50%;block-size:.4375rem;inline-size:.4375rem}.puzzle-preview__summary{color:var(--color-muted);font-size:.8125rem}.puzzle-preview__tools{justify-content:flex-end;margin-block-end:var(--space-m);display:flex}.puzzle-preview__tools .button[aria-pressed=true]{background:var(--color-tint);border-color:var(--color-primary)}.puzzle-sheet{background:var(--color-paper);border:1px solid var(--color-border);min-block-size:42rem;box-shadow:var(--shadow-paper);border-radius:2px;padding:clamp(1rem,3.5vw,2.75rem)}.puzzle-sheet__title{font-family:var(--font-display);text-align:center;overflow-wrap:anywhere;margin-block-end:var(--space-l);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2}.puzzle-sheet__empty{text-align:center;min-block-size:28rem;color:var(--color-muted);justify-content:center;align-items:center;gap:var(--space-s);flex-direction:column;display:flex}.puzzle-sheet__motif{color:var(--color-input-border);margin-block-end:var(--space-s)}.puzzle-sheet__empty-heading{font-family:var(--font-display);color:var(--color-text);font-size:1.5rem}.puzzle-sheet__empty p:not(.puzzle-sheet__empty-heading){max-inline-size:18rem;font-size:.875rem}.puzzle-sheet__grid svg{block-size:auto;inline-size:100%;display:block}.puzzle-sheet__word-section{border-block-start:1px solid var(--color-border);margin-block-start:var(--space-xl);padding-block-start:var(--space-l)}.puzzle-sheet__instruction{text-align:center;overflow-wrap:anywhere;margin-block-end:var(--space-l);font-size:.9375rem}.puzzle-sheet__words{grid-template-columns:repeat(var(--word-columns,4), minmax(0, 1fr));gap:var(--space-s);display:grid}.puzzle-sheet__word-column{letter-spacing:.015em;padding:0;font-size:.8125rem;font-weight:500;list-style:none}.puzzle-sheet__word-column li{overflow-wrap:anywhere;margin-block-end:.5rem}.puzzle-sheet__footer{justify-content:space-between;gap:var(--space-s);color:var(--color-muted);letter-spacing:.07em;margin-block-start:var(--space-2xl);font-size:.625rem;display:flex}.puzzle-preview__note{text-align:center;color:var(--color-muted);margin-block-start:var(--space-m);font-size:.8125rem}.puzzle-preview__print-actions{justify-content:center;gap:var(--space-s);flex-wrap:wrap;margin-block-start:var(--space-l);display:flex}.puzzle-preview__print-actions .button--primary{flex:0 auto}.puzzle-preview__print-hint{text-align:center;color:var(--color-muted);margin-block-start:var(--space-s);font-size:.75rem}.app-footer{padding-block:var(--space-l);border-block-start:1px solid var(--color-border);text-align:center;color:var(--color-muted);font-size:.8125rem}@media (width<=60rem){.app-workspace{gap:var(--space-xl);grid-template-columns:minmax(0,1fr)}.puzzle-editor{inline-size:100%}.puzzle-preview{inline-size:min(100%,44rem);margin-inline:auto}.puzzle-form__preset-body{padding:var(--space-s)}.puzzle-form__preset input{inset-inline-end:var(--space-s)}.puzzle-sheet{min-block-size:36rem}.puzzle-sheet__empty{min-block-size:24rem}}@media (width<=30rem){.app-header,.app-main,.app-footer{inline-size:calc(100% - 2rem)}.app-header__note{display:none}.app-header{padding-block:var(--space-m)}.app-main{padding-block:var(--space-xl)}.app-intro p{font-size:.9375rem}.puzzle-editor{padding:var(--space-m)}.puzzle-form__preset input{inset-inline:50% auto;transform:translate(-50%)}.puzzle-form__preset-body{text-align:center;padding:1.875rem .5rem .625rem}.puzzle-form__preset-name{padding-inline-end:0;font-size:.75rem}.puzzle-sheet__words{gap:.5rem}.puzzle-sheet__word-column{font-size:.75rem}.puzzle-sheet{min-block-size:32rem}.puzzle-sheet__empty{min-block-size:20rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}@page{size:A4 portrait;margin:12mm}.print-output{display:none}.print-output .print-sheet{color:#000;min-block-size:0;inline-size:186mm;box-shadow:none;background:#fff;border:0;border-radius:0;margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;font-size:12pt;line-height:1.35}.print-output .print-sheet+.print-sheet{break-before:page;page-break-before:always}.print-output .puzzle-sheet__title{color:#000;margin:0 0 6mm;font-size:20pt;line-height:1.15}.print-output .print-sheet__answer-heading{text-align:center;margin:0 0 3mm;font-size:20pt;line-height:1.15}.print-output .print-sheet--answers .puzzle-sheet__title{margin-block-end:5mm;font-size:14pt}.print-output .puzzle-sheet__grid svg{block-size:auto;inline-size:auto;max-inline-size:100%;margin-inline:auto}.print-output .puzzle-sheet__grid{break-inside:avoid;page-break-inside:avoid}.print-output .puzzle-sheet__word-section{border:0;margin-block-start:6mm;padding-block-start:0}.print-output .puzzle-sheet__instruction{color:#000;margin:0 0 4mm;font-size:12pt;line-height:1.35}.print-output .puzzle-sheet__words{gap:4mm}.print-output .puzzle-sheet__word-column{letter-spacing:0;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:12pt;font-weight:400}.print-output .puzzle-sheet__word-column li{break-inside:avoid;margin-block-end:1.5mm}.print-output .puzzle-sheet__footer{color:#000;letter-spacing:0;margin-block-start:9mm;font-size:8pt}@media print{html,body{color:#000;background:#fff;margin:0;padding:0}body>:not(.print-output){display:none!important}.print-output{display:block}.print-output .print-sheet{break-inside:avoid;page-break-inside:avoid}}
