:root{--purple:#6b21a8;--purple-dark:#4c1d95;--purple-pale:#ede9fe;--lavender:#c4b5fd;--gold:#d4af37;--gold-soft:#f5e6a8;--ink:#24172e;--muted:#756b7e;--line:rgba(107,33,168,.16);--error:#b42348;--display:Didot,"Bodoni 72","Times New Roman","Songti SC",serif;--body:Inter,"PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--body);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.brand{text-align:center;margin-bottom:30px}.brand img{width:132px;height:68px;object-fit:contain}.brand-title{font:italic 24px var(--display);letter-spacing:.02em}.eyebrow,.step{color:var(--purple);font-size:10px;font-weight:750;letter-spacing:.22em}.control-body{min-height:100vh;background:radial-gradient(circle at 75% 15%,rgba(196,181,253,.24),transparent 34%),linear-gradient(145deg,#fbfaff,#f6f1ff 55%,#efe6ff)}.control-wrap{width:min(100%,1050px);margin:auto;padding:34px 24px 60px}.panel{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.83);box-shadow:0 22px 60px rgba(76,29,149,.09);backdrop-filter:blur(12px)}.corner{position:absolute;width:48px;height:48px}.corner.tl{top:-1px;left:-1px;border-top:3px solid var(--purple);border-left:3px solid var(--purple)}.corner.br{right:-1px;bottom:-1px;border-right:3px solid var(--purple);border-bottom:3px solid var(--purple)}.login-panel{width:min(100%,460px);margin:auto;padding:45px;text-align:center}.login-panel h1,.console-head h1{margin:11px 0 3px;font:italic 35px var(--display);font-weight:500}.login-panel p{margin:0 0 24px;color:var(--muted);font:italic 16px var(--display)}input[type=password],input[type=number]{width:100%;height:58px;border:1px solid var(--line);outline:0;background:#fff;color:var(--ink);text-align:center;transition:.2s}.login-panel input{font:25px monospace;letter-spacing:.3em}.login-panel input:focus,.range-row input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(107,33,168,.08)}button{border:0}.primary{background:linear-gradient(135deg,var(--purple),var(--purple-dark));color:#fff;box-shadow:0 12px 26px rgba(76,29,149,.22)}.primary:hover{filter:brightness(1.08)}.full{width:100%;height:56px}.error{min-height:28px;margin:5px 0;color:var(--error);font-size:12px}.console-panel{padding:35px}.console-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:25px;border-bottom:1px solid var(--line)}.head-actions{display:flex;align-items:center;gap:16px}.connection{display:flex;align-items:center;gap:8px;color:var(--purple);font-size:11px;letter-spacing:.08em}.connection i,.screen-connection i{width:7px;height:7px;border-radius:50%;background:#26a269;box-shadow:0 0 0 5px rgba(38,162,105,.12)}.connection.offline{color:var(--error)}.connection.offline i{background:var(--error)}.link{background:transparent;color:var(--muted);font-size:12px}.summary{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0;border:1px solid var(--line)}.summary>div{min-height:104px;padding:22px}.summary>div+div{border-left:1px solid var(--line)}.summary span{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em}.summary strong{display:block;margin-top:14px;color:var(--purple);font:italic 29px var(--display);font-weight:500}.control-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:22px}.settings,.history-panel{padding:27px;border:1px solid var(--line);background:rgba(250,248,255,.8)}.settings>label:not(.toggle){display:block;margin:0 0 11px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em}.range-row{display:grid;grid-template-columns:72px 24px 1fr;align-items:center;margin-bottom:8px}.range-row>span{display:grid;height:58px;place-items:center;border:1px solid var(--line);background:#fff;color:var(--purple);font:italic 28px var(--display)}.range-row>i{text-align:center;color:var(--muted)}.range-row input{font:italic 28px var(--display)}.settings small{display:block;margin-bottom:25px;color:var(--muted);font-size:11px;line-height:1.5}.count-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px}.count-options button{height:49px;border:1px solid var(--line);background:#fff;color:var(--purple);transition:.2s}.count-options button.selected{border-color:var(--purple);background:var(--purple-pale);box-shadow:inset 0 -3px var(--purple);font-weight:750}.toggle{display:flex;align-items:center;gap:10px;margin:0 0 23px;color:var(--muted);font-size:12px;cursor:pointer}.toggle input{position:absolute;opacity:0}.toggle span{position:relative;width:38px;height:21px;border-radius:20px;background:#d9d3df;transition:.2s}.toggle span:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:var(--purple)}.toggle input:checked+span:after{transform:translateX(17px)}.toggle b{font-weight:500}.draw-button{width:100%;height:62px;font-weight:700;letter-spacing:.08em}.draw-button b{margin-left:9px;color:var(--gold-soft)}button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.52}.history-head{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line)}.history-head h2{margin:6px 0 0;font:italic 24px var(--display);font-weight:500}.outline{padding:10px 13px;border:1px solid var(--purple);background:#fff;color:var(--purple);font-size:11px}.history{height:255px;overflow:auto;padding-right:4px}.empty{margin:68px 0;text-align:center;color:var(--muted);font:italic 17px var(--display)}.empty small{font-size:11px}.history-item{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.history-index{color:var(--gold);font:italic 13px var(--display)}.history-numbers{display:flex;flex-wrap:wrap;gap:7px}.history-numbers b{display:grid;min-width:36px;height:36px;padding:0 8px;place-items:center;border:1px solid rgba(212,175,55,.4);background:#fffaf0;color:var(--purple);font:italic 19px var(--display)}.history-time{color:var(--muted);font-size:10px}.footer-actions{display:flex;align-items:center;gap:16px;margin-top:23px;padding-top:22px;border-top:1px solid var(--line)}.danger{padding:12px 16px;border:1px solid var(--error);background:#fff;color:var(--error)}.footer-actions p{margin:0;color:var(--muted);font-size:11px}.toast,.reconnect{position:fixed;right:22px;bottom:22px;z-index:100;padding:13px 17px;background:var(--purple-dark);box-shadow:0 14px 30px rgba(0,0,0,.22);color:#fff;font-size:12px}

.screen-body{min-width:900px;height:100vh;overflow:hidden;background:#12051b;color:#fff}.screen-wrap{position:relative;height:100vh;overflow:hidden;background:radial-gradient(circle at 50% 46%,rgba(107,33,168,.43),transparent 42%),linear-gradient(145deg,#0c0313,#21092c 58%,#12051b)}.screen-wrap:before{content:"";position:absolute;inset:0;opacity:.28;background-image:radial-gradient(circle,rgba(245,230,168,.7) 0 1px,transparent 1.5px);background-size:73px 73px;mask-image:linear-gradient(to bottom,black,transparent 78%)}.mist{position:absolute;width:52vw;height:52vw;border-radius:50%;filter:blur(80px);opacity:.23;animation:mistFloat 10s ease-in-out infinite alternate}.mist-a{top:-27vw;left:-6vw;background:#a78bfa}.mist-b{right:-18vw;bottom:-30vw;background:#6b21a8;animation-delay:-4s}@keyframes mistFloat{to{transform:translate(6vw,4vw) scale(1.12)}}.ethereal{position:absolute;inset:0;overflow:hidden;opacity:.32}.ethereal i{position:absolute;left:-10%;width:120%;height:1px;background:linear-gradient(90deg,transparent,#c4b5fd,transparent);filter:blur(.5px);transform:rotate(-7deg);animation:lineDrift 9s ease-in-out infinite alternate}.ethereal i:nth-child(1){top:23%}.ethereal i:nth-child(2){top:38%;animation-delay:-2s}.ethereal i:nth-child(3){top:52%;animation-delay:-5s}.ethereal i:nth-child(4){top:67%;animation-delay:-1s}.ethereal i:nth-child(5){top:81%;animation-delay:-7s}@keyframes lineDrift{to{transform:translateX(6%) rotate(-3deg);opacity:.35}}.screen-head{position:relative;z-index:4;display:grid;grid-template-columns:170px 1fr 170px;align-items:center;padding:20px 38px;border-bottom:1px solid rgba(245,230,168,.14);background:rgba(11,3,18,.3);text-align:center;backdrop-filter:blur(8px)}.screen-head img{width:140px;height:61px;object-fit:contain;filter:brightness(1.8)}.screen-head .brand-title{color:#fff;font-size:24px}.screen-head .eyebrow{margin-top:5px;color:var(--gold-soft)}.screen-connection{display:flex;align-items:center;justify-self:end;gap:8px;color:var(--gold-soft);font-size:10px;font-weight:700;letter-spacing:.18em}.stage{position:relative;z-index:3;display:flex;height:calc(100vh - 143px);align-items:center;flex-direction:column;justify-content:center;padding:25px 55px 55px;text-align:center}.stage-kicker{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.36em}.stage h1{margin:15px 0 0;font:italic 58px var(--display);font-weight:500}.stage>p{margin:4px 0 28px;color:var(--gold-soft);font:italic 18px var(--display);letter-spacing:.18em}.idle-star{margin:17px 0 28px;color:var(--gold);font-size:62px;animation:starPulse 2.4s ease-in-out infinite}@keyframes starPulse{50%{filter:drop-shadow(0 0 22px rgba(212,175,55,.8));transform:scale(1.12) rotate(15deg)}}.idle-view small{color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.26em}.number-grid{display:grid;width:min(100%,1120px);align-items:center;justify-content:center;gap:26px}.number-grid.count-1{grid-template-columns:minmax(330px,560px)}.number-grid.count-2{grid-template-columns:repeat(2,minmax(300px,480px))}.number-grid.count-5{grid-template-columns:repeat(6,1fr)}.number-grid.count-5 .number-card{grid-column:span 2}.number-grid.count-5 .number-card:nth-child(4){grid-column:2/span 2}.number-card{position:relative;display:grid;min-height:220px;place-items:center;border:1px solid rgba(212,175,55,.42);background:linear-gradient(145deg,rgba(50,17,67,.75),rgba(13,4,21,.82));box-shadow:0 25px 70px rgba(0,0,0,.32),inset 0 0 55px rgba(167,139,250,.08);color:var(--gold);font:italic clamp(82px,10vw,152px)/1 var(--display);font-variant-numeric:tabular-nums;text-shadow:0 0 32px rgba(212,175,55,.22)}.number-card:before,.number-card:after{content:"";position:absolute;width:38px;height:38px}.number-card:before{top:-1px;left:-1px;border-top:3px solid var(--gold);border-left:3px solid var(--gold)}.number-card:after{right:-1px;bottom:-1px;border-right:3px solid var(--gold);border-bottom:3px solid var(--gold)}.drawing-view .number-card{color:#dbcdf5;filter:blur(.35px);animation:cardBreath .7s ease-in-out infinite alternate}@keyframes cardBreath{to{border-color:rgba(196,181,253,.7);box-shadow:0 25px 80px rgba(107,33,168,.48),inset 0 0 65px rgba(167,139,250,.16)}}.result-view .number-card{animation:numberReveal .9s cubic-bezier(.2,.8,.2,1) both}.result-view .number-card:nth-child(2){animation-delay:.16s}.result-view .number-card:nth-child(3){animation-delay:.32s}.result-view .number-card:nth-child(4){animation-delay:.48s}.result-view .number-card:nth-child(5){animation-delay:.64s}@keyframes numberReveal{from{opacity:0;filter:blur(15px);transform:translateY(22px) scale(.86)}to{opacity:1;filter:none;transform:none}}.screen-wrap footer{position:absolute;right:38px;bottom:20px;left:38px;z-index:4;display:flex;justify-content:space-between;color:rgba(245,230,168,.46);font-size:8px;letter-spacing:.25em}.reconnect{background:var(--error)}

@media(max-width:760px){.control-wrap{padding:22px 14px 45px}.console-panel{padding:24px 18px}.console-head{gap:15px}.console-head h1{font-size:27px}.connection{display:none}.summary{grid-template-columns:1fr}.summary>div{min-height:84px;padding:17px}.summary>div+div{border-top:1px solid var(--line);border-left:0}.summary strong{margin-top:8px}.control-grid{grid-template-columns:1fr}.history{height:auto;max-height:300px}.footer-actions{align-items:flex-start;flex-direction:column}.login-panel{padding:36px 25px}}
@media(max-height:760px){.screen-head{padding:10px 32px}.screen-head img{height:48px}.stage{height:calc(100vh - 108px);padding-top:12px}.stage h1{font-size:43px}.stage>p{margin-bottom:18px}.number-card{min-height:168px}.number-grid{gap:17px}.screen-wrap footer{bottom:10px}}
