:root{--cream:#fdf6e7;--paper:#fffdf8;--ink:#33293f;--soft:#7a6f86;--accent:#f26b4f;--accent-soft:#fde1d9;--line:#ecdcc6;--radius:1.1rem}*{box-sizing:border-box;margin:0}body{background:var(--cream);color:var(--ink);font:1.1rem/1.45 Nunito,sans-serif}h1,h2{font-family:"Baloo 2",sans-serif;font-weight:800;line-height:1.1}.app{grid-template-columns:minmax(18rem,24rem) 1fr;align-items:start;gap:2rem;max-width:76rem;margin:0 auto;padding:1.5rem;display:grid}.maker{flex-direction:column;gap:1.1rem;display:flex;position:sticky;top:1.5rem}.maker h1{color:var(--accent);font-size:2rem}.field{border:0;flex-direction:column;gap:.35rem;padding:0;display:flex}.field>span,legend{margin-bottom:.35rem;padding:0;font-weight:800}.field small{color:var(--soft);font-weight:400}input:not([type]),textarea{font:inherit;color:inherit;background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);padding:.7rem .9rem}textarea{resize:vertical;min-height:12rem}input:focus-visible,textarea:focus-visible,button:focus-visible,.choices input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.choices{grid-template-columns:repeat(3,1fr);gap:.5rem;display:grid}.choices label{cursor:pointer}.choices input{opacity:0;pointer-events:none;position:absolute}.choices span{text-align:center;background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;min-height:4rem;padding:.5rem .3rem;font-weight:800;transition:background .15s,border-color .15s;display:flex}.choices small{font-size:.8rem;line-height:1.2}.choices input:checked+span{background:var(--accent-soft);border-color:var(--accent)}.notes{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.notes li{border-radius:var(--radius);background:#fff4d1;padding:.7rem .9rem;font-size:1rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}button{font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--line);cursor:pointer;border-radius:999px;min-height:3.2rem;padding:.5rem 1.3rem;font-weight:800;transition:transform .1s,background .15s}button:active{transform:scale(.97)}button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.check{cursor:pointer;align-items:center;gap:.5rem;min-height:3.2rem;font-size:1rem;display:flex}.check input{width:1.4rem;height:1.4rem;accent-color:var(--accent)}.sheet{background:var(--paper);border-radius:1.5rem;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 .4rem 1.5rem #33293f14}.sheet-title{text-align:center;font-size:2.2rem}.sheet-title small{color:var(--soft);font-size:1.2rem}.solution-sheet{display:none}.board{aspect-ratio:1;border:3px solid var(--ink);border-radius:1rem;width:min(100%,38rem);position:relative;container-type:inline-size}.marks,.letters{position:absolute;inset:3%}.marks{width:94%;height:94%}.marks line{stroke-width:.72px;stroke-linecap:round;opacity:.85}.marks.toggle{visibility:hidden}.show-solution .marks.toggle{visibility:visible}.letters{grid-template-columns:repeat(var(--n), 1fr);grid-auto-rows:1fr;display:grid}.letters span{font-family:Nunito,sans-serif;font-weight:800;font-size:calc(94cqi / var(--n) * .58);place-items:center;display:grid}.wordlist{columns:2;column-gap:3rem;width:min(100%,30rem);padding:0;list-style:none}.wordlist li{text-transform:uppercase;letter-spacing:.05em;break-inside:avoid;padding:.15rem 0 .15rem 1.6rem;font-size:1.3rem;font-weight:700;position:relative}.wordlist li:before{content:"";border:2px solid var(--soft);border-radius:.3rem;width:.9rem;height:.9rem;position:absolute;top:.55rem;left:0}@media (width<=52rem){.app{grid-template-columns:1fr;padding:1rem}.maker{position:static}.sheet{padding:1.2rem}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.app{max-width:none;padding:0;display:block}.maker,.toolbar{display:none}.sheet{box-shadow:none;border-radius:0;gap:8mm;padding:0}.sheet+.sheet{break-before:page}.board{width:155mm}.marks.toggle{visibility:hidden!important}.print-solution .solution-sheet{display:flex}.marks line{-webkit-print-color-adjust:exact;print-color-adjust:exact}.wordlist{width:150mm}.wordlist li{padding-block:0;font-size:13pt}}
