:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f1f4f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#f1f4f9;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}::selection{color:#fff;background:#2457d6}:root{--ink:#172033;--muted:#667085;--line:#dfe5ef;--surface:#fff;--canvas:#f1f4f9;--accent:#2457d6;--accent-strong:#1947bd;--accent-soft:#eaf0ff}*{box-sizing:border-box}button,textarea,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100svh;color:var(--ink);background:var(--canvas);grid-template-columns:minmax(320px,430px) minmax(0,1fr);display:grid}.control-panel{background:var(--surface);border-right:1px solid var(--line);height:100svh;padding:clamp(28px,4vw,56px);position:sticky;top:0;overflow-y:auto}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:.9rem;font-weight:750;display:inline-flex}.brand-mark{color:#fff;background:var(--accent);letter-spacing:-.08em;border-radius:10px;place-items:center;width:34px;height:34px;font-size:.78rem;display:grid;box-shadow:0 7px 18px #2457d633}.intro{margin:clamp(52px,9vh,90px) 0 34px}.eyebrow{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:750}.intro h1{letter-spacing:-.055em;max-width:340px;margin:0;font-size:clamp(2.2rem,4vw,3.15rem);line-height:.98}.intro>p:last-child{max-width:350px;color:var(--muted);margin:18px 0 0;line-height:1.55}.field-heading,.field-meta,.preview-toolbar,.preview-actions{justify-content:space-between;align-items:center;display:flex}.field-heading{margin-bottom:10px}.field-heading label,fieldset legend{color:var(--ink);font-size:.9rem;font-weight:700}.field-heading span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}textarea{resize:vertical;width:100%;min-height:174px;color:var(--ink);background:#fbfcfe;border:1px solid #cfd7e6;border-radius:12px;outline:none;padding:15px 16px;line-height:1.5;transition:border-color .16s,box-shadow .16s,background .16s}textarea::placeholder{color:#a4adbd}textarea:hover{border-color:#aeb9cc}textarea:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px #2457d61c}.field-meta{color:var(--muted);gap:12px;margin-top:8px;font-size:.72rem}.field-meta p{margin:0}.field-meta span{flex:none}.error{color:#c02d3b;min-height:19px;margin:6px 0 12px;font-size:.78rem;font-weight:600}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset legend{margin-bottom:10px}.density-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.density-options label{cursor:pointer;min-width:0;position:relative}.density-options input{opacity:0;width:1px;height:1px;position:absolute}.density-options label>span{text-align:center;border:1px solid var(--line);background:#fbfcfe;border-radius:11px;flex-direction:column;justify-content:center;gap:3px;min-height:70px;padding:10px;transition:border-color .16s,background .16s,box-shadow .16s;display:flex}.density-options label:hover>span{border-color:#b9c5d8}.density-options input:checked+span{color:var(--accent);background:var(--accent-soft);border-color:#2457d673;box-shadow:inset 0 0 0 1px #2457d61a}.density-options input:focus-visible+span{outline-offset:2px;outline:3px solid #2457d647}.density-options strong{text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.density-options small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.generate-button,.print-button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;font-weight:720;transition:background .16s,transform .16s,box-shadow .16s;display:inline-flex}.generate-button{color:#fff;background:var(--accent);border-radius:12px;width:100%;margin-top:22px;padding:14px 18px;box-shadow:0 10px 22px #2457d633}.generate-button:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 12px 25px #2457d642}.generate-button:active,.print-button:active:not(:disabled){transform:translateY(0)}.generate-button:focus-visible,.print-button:focus-visible{outline-offset:3px;outline:3px solid #2457d64d}.generate-button svg,.print-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.preview-panel{min-width:0;padding:clamp(24px,4vw,56px)}.preview-toolbar{gap:20px;width:min(100%,794px);margin:0 auto 22px}.preview-toolbar .eyebrow{margin-bottom:2px}.preview-toolbar h2{letter-spacing:-.025em;margin:0;font-size:1.25rem}.preview-actions{gap:12px}.stale-label{color:#9a6500;font-size:.72rem;font-weight:650}.print-button{color:var(--ink);background:#fff;border:1px solid #d3dae7;border-radius:10px;flex:none;padding:10px 14px;box-shadow:0 2px 5px #141f340a}.print-button:hover:not(:disabled){background:#f9fbff;border-color:#aebbd0}.print-button:disabled{color:#9ba5b5;cursor:not-allowed;box-shadow:none;background:#f4f6f9}.sheet-stage{justify-content:center;display:flex}.worksheet{aspect-ratio:210/297;color:#152036;background:#fff;grid-template-rows:auto minmax(0,1fr);width:min(100%,210mm);padding:7.2%;display:grid;overflow:hidden;box-shadow:0 2px 5px #141f340f,0 24px 70px #141f3421;container-type:inline-size}.worksheet-header{border-bottom:1px solid #dce2ec;justify-content:space-between;align-items:end;gap:8%;padding-bottom:5.5%;display:flex}.worksheet-kicker{color:#2457d6;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.5%;font-size:1.35cqw;font-weight:750}.worksheet-header h2{color:#101b31;letter-spacing:-.05em;margin:0;font-size:4.25cqw;line-height:1}.worksheet-header>div:first-child>p:last-child{color:#667085;margin:2.6% 0 0;font-size:1.7cqw}.name-line{flex:none;width:28%;padding-bottom:.5%}.name-line span{color:#667085;margin-bottom:7%;font-size:1.35cqw;font-weight:650;display:block}.name-line i{border-bottom:1px solid #94a0b4;display:block}.names-canvas{min-height:0;margin-top:4.5%;position:relative;overflow:hidden;container-type:inline-size}.circled-name{box-sizing:border-box;color:#1d2940;letter-spacing:.005em;text-align:center;text-overflow:ellipsis;white-space:nowrap;transform-origin:50%;background:#fff;border:max(1px,.14cqw) solid #263b63;border-radius:50%;justify-content:center;align-items:center;font-weight:620;line-height:1;display:flex;position:absolute;overflow:hidden}.sheet-empty{color:#8a95a8;place-content:center;justify-items:center;gap:2cqw;display:grid}.sheet-empty span{color:#2457d6;letter-spacing:-.08em;background:#edf2ff;border:1px solid #d8e2ff;border-radius:2.3cqw;place-items:center;width:9cqw;height:9cqw;font-size:3cqw;font-weight:780;display:grid}.sheet-empty p{margin:0;font-size:1.8cqw;font-weight:600}@media (width<=920px){.app-shell{display:block}.control-panel{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static;overflow:visible}.intro{margin-top:52px}}@media (width<=560px){.control-panel,.preview-panel{padding:24px 18px}.intro{margin:44px 0 28px}.intro h1{font-size:2.3rem}.field-meta{flex-direction:column;align-items:flex-start;gap:3px}.density-options label>span{min-height:64px;padding:8px 5px}.preview-toolbar{align-items:flex-end}.preview-actions{flex-direction:column;align-items:flex-end;gap:5px}.print-button{font-size:.78rem}}@media print{@page{size:A4 portrait;margin:0}html,body,#root,.app-shell,.preview-panel,.sheet-stage{background:#fff;width:210mm;height:297mm;margin:0;padding:0}.app-shell{min-height:0;display:block}.control-panel,.preview-toolbar{display:none!important}.preview-panel{display:block}.worksheet{aspect-ratio:auto;width:210mm;height:297mm;box-shadow:none;break-after:avoid;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
