/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.isolate{isolation:isolate}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}}:root{--ink:#17201d;--muted:#64706a;--cream:#f4f0e7;--paper:#fffef9;--line:#d8d4ca;--accent:#ff6b45;--accent-dark:#d9482a;--moss:#315c4a}*{box-sizing:border-box}html{background:#202825}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;background:radial-gradient(circle at 78% 10%,#ffffff12,#0000 28rem),#202825;margin:0}button,input{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.workbench{grid-template-columns:minmax(21rem,27rem) minmax(42rem,1fr);min-height:100vh;display:grid}.control-panel{background:var(--cream);z-index:2;border-right:1px solid #ffffff1f;min-height:100vh;padding:2rem clamp(1.5rem,3vw,3rem) 1.75rem;position:relative;box-shadow:1.25rem 0 4rem #00000029}.brand-row{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.82rem;font-weight:760;display:flex}.brand-mark{grid-template-columns:1fr 1fr;gap:.28rem;width:1.4rem;height:1.4rem;display:grid}.brand-mark i{background:var(--ink);border-radius:50%;place-self:center;width:.3rem;height:.3rem}.intro{margin:clamp(1.75rem,4vh,3rem) 0 1.5rem}.eyebrow{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.7rem;font-weight:780}.intro h1{letter-spacing:-.065em;max-width:8ch;margin:0;font-size:clamp(2.35rem,4vw,3.65rem);font-weight:650;line-height:.94}.intro>p:last-child{max-width:34rem;color:var(--muted);margin:1.15rem 0 0;font-size:.95rem;line-height:1.55}.preset-shelf{background:#ffffff61;border:1px solid #cbc6ba;border-radius:.8rem;margin:0 0 1.35rem;padding:1rem}.preset-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.preset-heading .eyebrow{margin-bottom:.25rem}.preset-heading h2{letter-spacing:-.025em;margin:0;font-size:.95rem}.preset-heading>span{min-width:1.65rem;height:1.65rem;color:var(--cream);background:var(--ink);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:.65rem;display:grid}.preset-form{grid-template-columns:minmax(0,1fr) auto;gap:.45rem;margin-top:.8rem;display:grid}.preset-form input,.rename-form input{min-width:0;height:2.35rem;color:var(--ink);background:var(--paper);border:1px solid #bcb7ab;border-radius:.45rem;padding:0 .7rem;font-size:.73rem}.preset-form button,.rename-form button,.preset-actions button,.qr-actions button{color:var(--ink);background:0 0;border:1px solid #aaa498;border-radius:.42rem;font-size:.66rem;font-weight:680}.preset-form button{color:#fff;background:var(--moss);border-color:var(--moss);padding:0 .75rem}.preset-status{min-height:1.8em;color:var(--muted);margin:.55rem 0 0;font-size:.65rem;line-height:1.4}.preset-list{border-top:1px solid var(--line);margin:.65rem 0 0;padding:0;list-style:none}.preset-list>li{border-bottom:1px solid var(--line);padding:.6rem 0}.preset-load{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.8rem;padding:0;display:flex}.preset-load strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.preset-load small{color:var(--muted);font-family:var(--font-geist-mono), monospace;flex:none;font-size:.58rem}.preset-actions{gap:.35rem;margin-top:.45rem;display:flex}.preset-actions button,.qr-actions button{min-height:1.8rem;padding:0 .55rem}.preset-actions button:first-child{color:var(--accent-dark);border-color:#d9482a59}.rename-form{grid-template-columns:minmax(0,1fr) auto auto;gap:.35rem;display:grid}.rename-form button{padding:0 .5rem}.qr-card{color:#f7f2e8;background:var(--ink);border-radius:.6rem;grid-template-columns:7.25rem minmax(0,1fr);align-items:center;gap:.8rem;margin-top:.75rem;padding:.75rem;display:grid}.qr-canvas{background:#fff;border-radius:.35rem;place-items:center;width:7.25rem;height:7.25rem;display:grid;overflow:hidden}.qr-canvas canvas{width:7.25rem!important;height:7.25rem!important}.qr-card strong{overflow-wrap:anywhere;font-size:.78rem;display:block}.qr-card p{color:#ffffffa3;margin:.35rem 0 .65rem;font-size:.63rem;line-height:1.4}.qr-actions{flex-wrap:wrap;gap:.35rem;display:flex}.qr-actions button{color:#f7f2e8;border-color:#ffffff47}.controls{border-top:1px solid var(--line)}.dot-weight-control{border:0;border-bottom:1px solid var(--line);margin:0;padding:.88rem 0 .78rem}.dot-weight-control legend{gap:.08rem;margin-bottom:.65rem;padding:0;display:grid}.dot-weight-control strong{font-size:.83rem;font-weight:680}.dot-weight-control small{color:var(--muted);font-size:.68rem}.dot-weight-options{border:1px solid #bcb7ab;border-radius:.55rem;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.dot-weight-option{min-height:2.75rem;color:var(--ink);background:#ffffff73;border:0;border-right:1px solid #cbc6ba;justify-content:center;align-items:center;gap:.45rem;font-size:.72rem;font-weight:680;display:flex}.dot-weight-option:last-child{border-right:0}.dot-weight-option[aria-pressed=true]{color:#f7f2e8;background:var(--moss)}.dot-weight-sample{width:max(var(--sample-size), .3rem);height:max(var(--sample-size), .3rem);background:currentColor;border-radius:50%;flex:none}.control{border-bottom:1px solid var(--line);padding:.88rem 0 .78rem;display:block}.control-copy{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.55rem;display:flex}.control-copy>span:first-child{gap:.08rem;display:grid}.control strong{font-size:.83rem;font-weight:680}.control small{color:var(--muted);font-size:.68rem}.control output{min-width:4.5rem;font-family:var(--font-geist-mono), monospace;text-align:center;background:#fff9;border:1px solid #cbc6ba;border-radius:.35rem;padding:.34rem .45rem;font-size:.7rem;font-weight:650}.control input[type=range]{width:100%;height:.9rem;accent-color:var(--moss);margin:0}.control input:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #ff6b4573}.packing-summary{color:#f7f2e8;background:var(--moss);border-radius:.75rem;margin-top:1.25rem;padding:1rem 1.05rem}.packing-summary>div{align-items:baseline;gap:.65rem;display:flex}.summary-number{font-family:var(--font-geist-mono), monospace;font-size:1.8rem;font-weight:740;line-height:1}.summary-label{font-size:.78rem;font-weight:620}.packing-summary p{color:#ffffffb8;font-family:var(--font-geist-mono), monospace;margin:.45rem 0 0;font-size:.66rem}.actions{grid-template-columns:1fr auto;gap:.65rem;margin-top:1rem;display:grid}.print-button,.reset-button{border-radius:.55rem;min-height:2.9rem;font-size:.76rem;font-weight:720}.print-button{color:#fff;background:var(--accent);border:1px solid var(--accent-dark);box-shadow:0 .35rem 0 var(--accent-dark);justify-content:space-between;align-items:center;padding:0 1rem;transition:transform .14s,box-shadow .14s;display:flex}.print-button:hover{box-shadow:0 .44rem 0 var(--accent-dark);transform:translateY(-1px)}.print-button:active{box-shadow:0 .12rem 0 var(--accent-dark);transform:translateY(.22rem)}.reset-button{color:var(--ink);background:0 0;border:1px solid #bcb7ab;padding:0 .9rem}.preview-panel{min-width:0;padding:2rem clamp(2rem,5vw,5rem) 3rem;overflow:hidden}.preview-heading{color:#f7f2e8;justify-content:space-between;align-items:flex-end;width:min(100%,45rem);margin:0 auto 1.2rem;display:flex}.preview-heading .eyebrow{color:#ff9a7e}.preview-heading h2{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:560}.scale-note{color:#ffffff94;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.scale-note span{background:#6bd9a6;border-radius:50%;width:.45rem;height:.45rem;box-shadow:0 0 0 .25rem #6bd9a61f}.sheet-stage{--sheet-scale:.72;width:calc(8.5in * var(--sheet-scale));height:calc(11in * var(--sheet-scale));margin:0 auto;position:relative}.letter-sheet{width:8.5in;height:11in;transform:scale(var(--sheet-scale));transform-origin:0 0;color:#111;background:var(--paper);position:absolute;inset:0 auto auto 0;overflow:hidden;box-shadow:0 2rem 5rem #0000004d,0 0 0 1px #ffffff2e}.packed-grids{width:var(--block-width);height:var(--block-height);left:var(--block-left);top:var(--block-top);grid-template-columns:repeat(var(--grids-across), var(--grid-width));grid-auto-rows:var(--grid-height);gap:var(--grid-gap);display:grid;position:absolute}.dot-grid{width:var(--grid-width);height:var(--grid-height);position:relative}.game-dot{width:var(--dot-size);height:var(--dot-size);left:var(--dot-x);top:var(--dot-y);background:#111;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.sheet-empty{inset:var(--page-margin);color:#746f66;text-align:center;border:1px dashed #aaa69c;place-items:center;font-size:.16in;display:grid;position:absolute}@media (width<=74rem){.workbench{grid-template-columns:minmax(20rem,24rem) minmax(32rem,1fr)}.sheet-stage{--sheet-scale:.58}}@media (width<=58rem){.workbench{display:block}.control-panel{min-height:auto;padding-bottom:2rem}.intro h1{max-width:12ch}.preview-panel{padding:2rem 1rem 3rem}.sheet-stage{--sheet-scale:.58}}@media (width<=38rem){.control-panel{padding:1.25rem}.intro{margin-top:2rem}.actions,.qr-card{grid-template-columns:1fr}.preview-heading{align-items:flex-start}.scale-note{text-align:right;justify-content:flex-end;max-width:7rem}.sheet-stage{--sheet-scale:.42}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@page{size:letter portrait;margin:0}@media print{html,body{background:#fff;width:8.5in;height:11in;margin:0}.workbench{min-height:0;display:block}.control-panel,.preview-heading{display:none!important}.preview-panel,.sheet-stage{width:8.5in;height:11in;margin:0;padding:0}.sheet-stage{--sheet-scale:1}.letter-sheet{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
