:root{--bg:#faf8f5;--ink:#1d1b19;--muted:#6b6560;--line:#e7e1d9;--card:#fff;--accent:#3b3bd6;--accent-2:#2a6f97;--danger:#b3261e;--warn:#9a5b00;--radius:18px;--radius-sm:10px;--shadow:0 10px 30px -18px #3c281440;--space-1:6px;--space-2:12px;--space-3:20px;--space-4:32px;--measure:820px;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,-apple-system,Segoe UI,Inter,Roboto,sans-serif;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:var(--accent-2)}.top,main,.foot{max-width:var(--measure);padding:0 var(--space-3);margin:0 auto}main{min-height:60vh}.top{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;font-size:20px;font-weight:800;text-decoration:none}.brand span{color:var(--accent)}.tools-nav a,.foot-tools a{color:var(--muted);white-space:nowrap;margin-left:16px;font-size:14px;text-decoration:none}.tools-nav a[aria-current=page],.foot-tools a[aria-current=page]{color:var(--ink);font-weight:600}.foot{color:var(--muted);padding-bottom:40px;font-size:14px}.foot-tools{flex-wrap:wrap;gap:6px 0;margin:0 0 8px -16px;display:flex}.foot-tools a{padding:8px 0}.tools-nav a{padding:8px 4px}.hero{text-align:center;padding:16px 0 4px}h1{letter-spacing:-.03em;margin:0;font-size:clamp(32px,5vw,48px);line-height:1.05}.lede{color:var(--muted);max-width:600px;margin:10px auto 0;font-size:17px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:var(--space-3) 0;box-shadow:var(--shadow);padding:22px}.card.tool{margin-top:16px}.hint{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:13px}.hint2{color:var(--muted);margin:6px 0 0;font-size:13px}button,.btn{font:inherit;color:#fff;background:var(--accent);cursor:pointer;text-align:center;border:0;border-radius:999px;padding:13px 26px;font-weight:700;text-decoration:none;transition:filter .15s,transform .15s;display:inline-block}button:hover,.btn:hover{filter:brightness(1.08)}button:active,.btn:active{transform:scale(.98)}button.ghost,.ghost-btn{color:var(--ink);border:1px solid var(--line);background:0 0}button.small{padding:8px 16px}.linkbtn{color:var(--muted);background:0 0;border-radius:8px;padding:10px 6px;font-weight:500;text-decoration:underline}.linkbtn:hover{color:var(--ink);filter:none}button:disabled{opacity:.4;pointer-events:none}.actions{margin-top:var(--space-3);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.actions.center{justify-content:center}.actions audio{width:100%}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.toolbar button{padding:10px 20px}.toolbar .spacer{flex:1}input,select{font:inherit;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);background:#fff;max-width:100%;padding:8px 10px}input[type=range]{accent-color:var(--accent);padding:0}input[type=color]{width:38px;height:34px;padding:0}input[type=number]{width:76px}.row{flex-wrap:wrap;align-items:flex-end;gap:12px 18px;margin-bottom:14px;display:flex}.row label,.settings label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.row .grow{flex:200px}.row .grow input{width:100%}.status{text-align:center;color:var(--muted);min-height:1.6em;margin:10px 0 0}.status.error{color:var(--danger)}.warn{color:var(--warn);min-height:1.4em;margin:10px 0 0;font-size:14px}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;margin:10px auto 0;animation:.8s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.phones{text-align:center;color:var(--muted);margin:16px 0 0;font-size:13px}.content{margin:40px 0}.content h2{letter-spacing:-.02em;margin:48px 0 12px;font-size:28px}table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);font-weight:600}details{border-bottom:1px solid var(--line);padding:0}summary{cursor:pointer;min-height:44px;padding:14px 0;font-weight:600}details>p{margin:0 0 14px}.more{columns:2;padding-left:20px}.more a{padding:5px 0;display:inline-block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=820px){.top{flex-wrap:wrap;row-gap:0;height:auto;padding-top:12px;padding-bottom:2px}.tools-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:calc(100% + 40px);margin:0 -20px;padding:0 20px;display:flex;overflow-x:auto}.tools-nav::-webkit-scrollbar{display:none}.tools-nav a{border-radius:999px;margin:0 2px 0 0;padding:11px 13px}.tools-nav a[aria-current=page]{background:#0000000f}.content table{display:block;overflow-x:auto}.hero{padding-top:14px}}@media (width<=640px){.card{padding:16px}.toolbar button{flex:auto}.toolbar .spacer{display:none}.actions button,.actions .btn{flex:140px}}:root{--bg:#fffaf5;--accent:#c2410c;--accent-2:#9a3412}.controls-box .row{margin-bottom:12px}.custom-size{align-items:flex-end;gap:12px;display:inline-flex}.custom-size[hidden]{display:none}.row label.check{color:var(--ink);flex-direction:row;align-items:center;gap:8px;min-height:40px;font-size:14px}.row label.check input{width:18px;height:18px;accent-color:var(--accent)}#seed{width:130px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sheet{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:16px;padding:24px 20px 28px;box-shadow:inset 0 0 0 1px #00000005,0 6px 20px -14px #00000059}.sheet-title{text-align:center;letter-spacing:-.01em;margin:0;font-size:26px}.sheet-meta{color:#333;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:14px 4px 6px;font-size:15px;display:flex}.sheet-meta[hidden]{display:none}.mazes{justify-items:center;gap:18px;margin-top:10px;display:grid}.sheet[data-count="4"] .mazes{grid-template-columns:repeat(2,1fr)}.maze{text-align:center;width:100%;max-width:640px;margin:0}.sheet[data-count="4"] .maze{max-width:420px}.maze svg{width:100%;height:auto;display:block}.maze figcaption{color:var(--muted);margin-top:2px;font-size:12px}@media (width<=640px){.sheet{padding:14px 8px 18px}.sheet[data-count="4"] .mazes{grid-template-columns:1fr}.sheet-title{font-size:22px}}@media print{.top,.foot,.hero,.content,.controls-box,.toolbar,.status,.hint2{display:none!important}body,.card{background:#fff!important}main{max-width:none;min-height:0;padding:0}.card,.sheet{box-shadow:none;border:0;margin:0;padding:0}.sheet-title{font-size:24pt}.sheet-meta{margin:8mm 0 4mm;font-size:13pt}.mazes{gap:8mm}.sheet[data-count="1"] .maze{max-width:170mm}.sheet[data-count="2"] .maze{max-width:120mm}.sheet[data-count="4"] .mazes{grid-template-columns:repeat(2,1fr)}.sheet[data-count="4"] .maze{max-width:85mm}.maze{break-inside:avoid}.maze figcaption{color:#333;font-size:10pt}}
