@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--ink: #18212f;--muted: #748096;--soft: #f5f6f8;--line: #e4e8ee;--paper: #fffdf9;--purple: #7657b6;--purple-dark: #594091;--purple-soft: #f0ebfa;--shadow: 0 18px 50px rgba(35, 42, 57, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f1f3f6;color:var(--ink);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(118,87,182,.32);outline-offset:2px}[hidden]{display:none!important}.app-shell{max-width:1440px;margin:0 auto;padding:48px 42px 28px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}.eyebrow,.section-kicker{margin:0 0 10px;color:var(--purple);font:500 11px/1 DM Mono,monospace;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:9px;font:700 clamp(30px,4vw,47px)/1.04 "Space Grotesk",sans-serif;letter-spacing:-.045em}h2{margin-bottom:0;font:600 21px/1.1 Space Grotesk,sans-serif;letter-spacing:-.025em}h3{font:600 18px/1.2 Space Grotesk,sans-serif}.header-copy{margin:0;color:var(--muted);font-size:15px}.header-badge{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #dfe8e3;border-radius:100px;background:#f8fcfa;color:#33745c;font-size:13px;font-weight:600;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%;background:#5bb58d;box-shadow:0 0 0 4px #dff3e8}.dashboard-grid{display:grid;grid-template-columns:minmax(340px,470px) minmax(0,1fr);gap:22px;align-items:start}.result-column{display:grid;gap:22px}.panel{border:1px solid rgba(227,231,237,.9);border-radius:18px;background:#ffffffe0;box-shadow:var(--shadow)}.controls-panel,.result-panel,.history-panel{padding:27px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:28px}.remaining-pill,.draw-count{flex:none;padding:8px 10px;border-radius:8px;background:var(--soft);color:var(--muted);font:11px DM Mono,monospace;text-transform:uppercase;letter-spacing:.04em}.remaining-pill strong,.draw-count strong{color:var(--ink);font-weight:500}.control-group{min-width:0;margin:0 0 26px;padding:0 0 25px;border:0;border-bottom:1px solid var(--line)}.control-group legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:700}.optional-label{margin-left:4px;color:#a1aab9;font-size:11px;font-weight:500}.field-help{margin:0 0 14px;color:var(--muted);font-size:12px;line-height:1.45}.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#556075;cursor:pointer;font-size:12px;transition:.16s ease}.choice-chip:hover{border-color:#bec7d4;transform:translateY(-1px)}.choice-chip input{position:absolute;opacity:0;pointer-events:none}.choice-chip:has(input:checked){border-color:var(--chip-color, var(--purple));background:color-mix(in srgb,var(--chip-color, var(--purple)) 9%,white);color:var(--ink);box-shadow:0 0 0 1px var(--chip-color, var(--purple))}.choice-mark{width:9px;height:9px;border-radius:50%;background:var(--chip-color, #b6bfcc)}.color-chip--purple{--chip-color: #7657b6}.color-chip--red{--chip-color: #d65c62}.color-chip--blue{--chip-color: #4d81c2}.color-chip--green{--chip-color: #4e9b79}.color-chip--yellow{--chip-color: #e4b52c}.color-chip--orange{--chip-color: #df8544}.color-chip--pink{--chip-color: #d978a7}.segmented-control{display:flex;padding:4px;margin-bottom:15px;border-radius:10px;background:var(--soft)}.segmented-control label{flex:1;position:relative;text-align:center}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:block;padding:8px 5px;border-radius:7px;color:var(--muted);cursor:pointer;font-size:11px;transition:.16s ease}.segmented-control input:checked+span{background:#fff;color:var(--ink);box-shadow:0 2px 5px #1e232d14;font-weight:700}.alpha-control{display:flex;align-items:end;gap:12px}.select-field,.number-field{flex:1;display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:600}.select-field select,.number-field input{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;font-weight:600}.range-separator{padding-bottom:11px;color:#aab2bf;font-size:12px}.letter-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:5px}.letter-choice{min-width:0;aspect-ratio:1;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:#647087;font:12px DM Mono,monospace;transition:.16s ease}.letter-choice:hover{border-color:#b9a6dc;color:var(--purple-dark)}.letter-choice[aria-pressed=true]{border-color:var(--purple);background:var(--purple);color:#fff}.number-fields{display:flex;align-items:end;gap:12px;margin-bottom:9px}.number-dash{padding-bottom:11px;color:#aab2bf}.number-field input{font:500 16px DM Mono,monospace}.form-actions{display:flex;align-items:center;gap:10px}.button{border:0;border-radius:9px;font-size:13px;font-weight:700;transition:.16s ease}.button:disabled{cursor:wait;opacity:.62}.button-primary{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:0 18px;background:var(--purple);color:#fff;box-shadow:0 8px 17px #7657b638}.button-primary:hover:not(:disabled){background:var(--purple-dark);transform:translateY(-1px)}.button-icon{font-size:16px}.button-quiet,.button-danger-quiet{padding:10px 8px;background:transparent;color:var(--muted);font-size:12px}.button-quiet:hover{color:var(--ink)}.button-danger-quiet{color:#ad6870}.button-danger-quiet:hover{color:#8e3d47}.form-message{margin:13px 0 0;padding:10px 12px;border-radius:8px;background:#fff1f0;color:#aa4c4f;font-size:12px;line-height:1.4}.result-panel{min-height:410px}.result-heading{margin-bottom:20px}.ticket-stage{display:grid;min-height:282px;place-items:center;padding:24px;border-radius:13px;background:#f7f8fa;overflow:hidden}.ticket-empty{max-width:270px;text-align:center}.empty-spark{display:grid;width:47px;height:47px;place-items:center;margin:0 auto 18px;border-radius:15px;background:var(--purple-soft);color:var(--purple);font-size:20px}.ticket-empty h3{margin-bottom:7px}.ticket-empty p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.ticket-card{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) 94px;width:min(100%,550px);min-height:218px;background:var(--paper);box-shadow:0 17px 32px #1f263524;animation:ticket-in .35s ease-out both}@keyframes ticket-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:scale(1)}}.ticket-card.is-drawing{animation:ticket-shuffle .22s ease-in-out infinite alternate}@keyframes ticket-shuffle{0%{transform:translateY(-2px) scale(.995)}to{transform:translateY(2px) scale(1.005)}}.ticket-color-band{background:var(--ticket-color, var(--purple))}.ticket-main{padding:25px 30px 24px}.ticket-label{margin:0 0 22px;color:#9ca3ae;font:10px DM Mono,monospace;letter-spacing:.14em;text-transform:uppercase}.ticket-identity{display:flex;align-items:baseline;gap:20px}.ticket-letter{color:var(--ticket-color, var(--purple-dark));font:600 clamp(54px,7vw,83px)/.9 "Space Grotesk",sans-serif}.ticket-number{color:#3b424e;font:500 clamp(32px,5vw,56px)/1 "DM Mono",monospace;letter-spacing:.04em}.ticket-color-name{margin:24px 0 0;color:var(--ticket-color, var(--purple-dark));font:700 13px Space Grotesk,sans-serif;letter-spacing:.12em}.ticket-stub{display:flex;flex-direction:column;justify-content:flex-end;gap:7px;padding:19px 14px;border-left:1px dashed #d6d9dd;color:#a6a9b0;font:10px DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.ticket-stub strong{color:#59616d;font-size:11px;font-weight:500}.ticket-card--purple{--ticket-color: #7657b6}.ticket-card--red{--ticket-color: #d65c62}.ticket-card--blue{--ticket-color: #4d81c2}.ticket-card--green{--ticket-color: #4e9b79}.ticket-card--yellow{--ticket-color: #c19a13}.ticket-card--orange{--ticket-color: #df8544}.ticket-card--pink{--ticket-color: #d978a7}.result-caption{margin-top:16px;color:var(--muted);text-align:center;font:11px DM Mono,monospace}.history-panel{padding-bottom:18px}.history-heading{align-items:center;margin-bottom:18px}.history-list{display:grid;gap:2px}.history-empty{padding:15px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);text-align:center;font-size:12px}.history-row{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 7px;border-bottom:1px solid #eef0f3}.history-row:last-child{border-bottom:0}.history-index{color:#a5adba;font:11px DM Mono,monospace}.history-ticket{display:flex;align-items:center;gap:8px;min-width:0}.history-swatch{width:8px;height:8px;border-radius:50%;background:var(--ticket-color, var(--purple))}.history-label{overflow:hidden;color:var(--ink);font:500 13px DM Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.history-time{color:#9ca5b3;font:10px DM Mono,monospace}.app-footer{display:flex;justify-content:space-between;gap:18px;padding:19px 4px 0;color:#9aa4b3;font-size:11px}.app-footer strong{color:#677184;font-weight:600}@media (max-width: 940px){.app-shell{padding:30px 20px 22px}.dashboard-grid{grid-template-columns:1fr}.controls-panel{order:2}.result-column{order:1}}@media (max-width: 560px){.app-header{display:block}.header-badge{display:inline-flex;margin-top:18px}.controls-panel,.result-panel,.history-panel{padding:20px}.panel-heading{gap:10px}.panel-heading h2{font-size:19px}.remaining-pill,.draw-count{font-size:9px}.ticket-stage{padding:14px}.ticket-card{grid-template-columns:10px minmax(0,1fr) 72px}.ticket-main{padding:22px 18px}.ticket-identity{gap:12px}.ticket-stub{padding:12px 8px}.app-footer{display:block;line-height:1.7}}
