:root{color:#3d2626;font-synthesis:none;text-rendering:optimizelegibility;--wine:#821f32;--wine-dark:#5c1423;--gold:#c89a4b;--gold-light:#ead4a2;--cream:#fbf7ef;--ink:#3d2626;background:#f7f1e7;font-family:STSong,SimSun,Microsoft YaHei,serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.app-shell{background:radial-gradient(circle at 8% 18%,#c89a4b24,#0000 22rem),radial-gradient(circle at 90% 90%,#821f321a,#0000 30rem),#f8f3ea;min-height:100vh;position:relative;overflow:hidden}.app-shell:before,.app-shell:after{content:"";z-index:0;pointer-events:none;border:1px solid #c89a4b2e;border-radius:46% 54% 62% 38%;width:240px;height:240px;position:fixed;transform:rotate(25deg)}.app-shell:before{top:20%;left:-130px}.app-shell:after{width:320px;height:320px;bottom:3%;right:-150px}.ambient{filter:blur(2px);pointer-events:none;border-radius:50%;position:fixed}.ambient-one{background:var(--gold);width:7px;height:7px;top:19%;left:18%;box-shadow:60vw 14vh #d7ad67,72vw 62vh #d7ad67,8vw 66vh #d7ad67}.ambient-two{background:#821f3273;width:4px;height:4px;top:32%;right:19%;box-shadow:-74vw 28vh #821f3259,-18vw 44vh #821f324d}.site-header{z-index:20;border-bottom:1px solid #821f3214;justify-content:space-between;align-items:center;max-width:1440px;height:86px;margin:0 auto;padding:0 5vw;display:flex;position:relative}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand-seal,.mini-seal{color:#fff8e9;background:var(--wine);border:1px solid var(--gold);box-shadow:inset 0 0 0 3px var(--wine), inset 0 0 0 4px #ead4a2b3;place-items:center;display:grid}.brand-seal{border-radius:50%;width:48px;height:48px;font-size:25px}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand-copy strong{letter-spacing:.24em;color:var(--wine-dark);font-size:16px}.brand-copy small{letter-spacing:.18em;color:#a27b5c;font:500 9px/1 Outfit,sans-serif}.page-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff7a;border:1px solid #821f321a;border-radius:999px;align-items:center;gap:10px;padding:5px;display:flex}.page-nav a{color:#815e54;border-radius:999px;padding:9px 18px;font-size:13px;text-decoration:none;transition:all .2s}.page-nav a.router-link-active{color:#fff;background:var(--wine);box-shadow:0 6px 18px #821f3233}main{z-index:2;position:relative}.eyebrow{color:#aa7c44;letter-spacing:.28em;justify-content:center;align-items:center;gap:12px;margin:0 0 20px;font:500 10px/1.2 Outfit,sans-serif;display:flex}.eyebrow span{background:#d4b57b;width:34px;height:1px}.register-shell{background:radial-gradient(circle at 50% -10%,#c89a4b33,#0000 18rem),radial-gradient(circle at 110% 75%,#821f321a,#0000 24rem),#f8f3ea;min-height:100dvh}.login-shell{min-height:100dvh}.login-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f0;border:1px solid #c89a4b66;border-radius:4px 4px 48px;width:min(420px,100%);padding:42px 38px 30px;position:relative;box-shadow:0 30px 80px #5c142324}.login-card:before,.login-card:after{content:"";border-color:var(--gold);opacity:.65;width:42px;height:42px;position:absolute}.login-card:before{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.login-card:after{border-bottom:1px solid;border-right:1px solid;border-radius:0 0 36px;bottom:12px;right:12px}.login-mark{color:#fff8e9;background:var(--wine);border:1px solid var(--gold);width:60px;height:60px;box-shadow:inset 0 0 0 4px var(--wine), inset 0 0 0 5px #ead4a2bf, 0 10px 26px #821f322e;border-radius:50%;place-items:center;margin:0 auto 18px;font-size:30px;display:grid}.login-eyebrow{color:#ad824a;letter-spacing:.26em;text-align:center;margin:0 0 8px;font:500 9px Outfit,sans-serif}.login-card h1{color:var(--wine-dark);letter-spacing:.14em;text-align:center;margin:0;font-size:28px}.login-description{color:#a18a7e;text-align:center;margin:9px 0 28px;font-size:12px}.login-card label{color:#5d4843;letter-spacing:.1em;margin:17px 0 8px;font-size:12px;font-weight:600;display:block}.login-card input{width:100%;height:52px;color:var(--ink);background:#fffdf9;border:1px solid #e4d7c6;border-radius:8px;outline:none;padding:0 15px;font-size:15px;transition:all .2s}.login-card input:focus{border-color:#b27b4d;box-shadow:0 0 0 3px #c89a4b1f}.login-card input::placeholder{color:#c5b5a8}.login-note{color:#aa998f;text-align:center;margin:18px 0 0;font-size:10px}.register-page{width:100%;max-width:480px;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(34px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:24px;margin:auto;display:flex}.register-intro{text-align:center}.mobile-wedding-mark{justify-content:center;align-items:center;gap:9px;margin-bottom:20px;display:flex}.mobile-wedding-mark span{color:#fff8e9;background:var(--wine);border:1px solid var(--gold);width:35px;height:35px;box-shadow:inset 0 0 0 3px var(--wine), inset 0 0 0 4px #ead4a2b3;border-radius:50%;place-items:center;font-size:18px;display:grid}.mobile-wedding-mark small{color:var(--wine-dark);letter-spacing:.2em;font-size:12px;font-weight:700}.register-intro h1,.lottery-heading h1{color:var(--wine-dark);letter-spacing:.08em;margin:0;font-weight:500}.register-intro h1{font-size:clamp(34px,10vw,44px);line-height:1.2}.register-intro h1 span,.lottery-heading h1 span{color:var(--wine);font-weight:700;display:block}.register-intro h1 span:after{content:"";background:linear-gradient(90deg, transparent, var(--gold), transparent);width:70px;height:2px;margin:18px auto 0;display:block}.intro-copy{color:#886d63;letter-spacing:.08em;margin:18px 0 20px;font-size:13px;line-height:1.9}.ceremony-card{border-top:1px solid #c89a4b59;border-bottom:1px solid #c89a4b59;align-items:center;gap:22px;padding:11px 24px;display:inline-flex}.ceremony-card div{flex-direction:column;gap:4px;display:flex}.ceremony-card small{color:#b39370;letter-spacing:.25em;font-size:10px}.ceremony-card strong{color:var(--wine-dark);letter-spacing:.16em;font-size:16px}.heart-mark{color:var(--wine);transform-origin:50%;font-size:16px;animation:1.45s ease-in-out infinite heartBeat;display:inline-block}@keyframes heartBeat{0%,38%,to{transform:scale(1)}12%{transform:scale(1.55)}22%{transform:scale(.92)}30%{transform:scale(1.32)}}.form-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;border:1px solid #c89a4b57;border-radius:4px 4px 42px;width:100%;padding:28px 24px 20px;position:relative;box-shadow:0 24px 60px #5c14231a}.form-card:before,.form-card:after{content:"";border-color:var(--gold);opacity:.6;width:42px;height:42px;position:absolute}.form-card:before{border-top:1px solid;border-left:1px solid;top:12px;left:12px}.form-card:after{border-bottom:1px solid;border-right:1px solid;border-radius:0 0 38px;bottom:12px;right:12px}.form-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.mini-seal{border-radius:4px;width:42px;height:42px;font-size:21px}.form-heading p{color:var(--wine-dark);letter-spacing:.14em;margin:0 0 4px;font-size:19px;font-weight:700}.form-heading small{color:#a48c7f;font-size:11px}.form-card form>label{color:#5d4843;letter-spacing:.1em;margin:17px 0 8px;font-size:12px;font-weight:600;display:block}.input-wrap{background:#fffdf9;border:1px solid #e4d7c6;border-radius:8px;align-items:center;height:54px;transition:all .2s;display:flex}.input-wrap:focus-within{border-color:#b27b4d;box-shadow:0 0 0 3px #c89a4b1f}.input-wrap>span{color:#b3916d;text-align:center;border-right:1px solid #eee3d6;width:48px;font-size:13px}.input-wrap>.user-icon{flex:0 0 48px;align-self:stretch;position:relative}.user-icon:before{content:"";border:1.5px solid #b3916d;border-radius:50%;width:8px;height:8px;position:absolute;top:13px;left:50%;transform:translate(-50%)}.user-icon:after{content:"";border:1.5px solid #b3916d;border-bottom:0;border-radius:10px 10px 0 0;width:15px;height:8px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.input-wrap input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0 15px;font-size:16px}.input-wrap input::placeholder{color:#c5b5a8}.form-error{color:#b4233c;margin:12px 0 -5px;font-size:12px}.primary-button,.secondary-button,.draw-button{border:0;transition:transform .18s,box-shadow .18s,opacity .18s}.primary-button{color:#fff9ed;letter-spacing:.12em;background:linear-gradient(135deg,#941f37,#6e1728);border-radius:8px;width:100%;min-height:54px;margin-top:23px;font-size:14px;box-shadow:0 12px 24px #821f3233}.primary-button:hover:not(:disabled),.draw-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 30px #821f3247}button:disabled{cursor:not-allowed;opacity:.5}.privacy-note{color:#b1a096;text-align:center;margin:14px 0 0;font-size:10px}.guest-counter{color:#907b70;text-align:center;background:#f6eee2b8;border-radius:0 0 42px 4px;margin:22px -24px -20px;padding:14px 20px;font-size:11px}.guest-counter strong{color:var(--wine);font-family:Outfit,sans-serif}.live-guest-count{transform-origin:50%;animation:.48s cubic-bezier(.2,.85,.25,1) both guestCountPop;display:inline-block}@keyframes guestCountPop{0%{transform:scale(1)}42%{transform:scale(1.45)}72%{transform:scale(.9)}to{transform:scale(1)}}.status-dot{background:#53a06b;border-radius:50%;width:6px;height:6px;margin-right:8px;animation:1.8s ease-in-out infinite statusBreath;display:inline-block;box-shadow:0 0 0 4px #53a06b1a}@keyframes statusBreath{0%,to{opacity:.75;transform:scale(.9);box-shadow:0 0 0 3px #53a06b14}50%{opacity:1;transform:scale(1.25);box-shadow:0 0 0 7px #53a06b2e}}.success-panel{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.success-icon{color:#fff;background:var(--wine);border-radius:50%;place-items:center;width:58px;height:58px;font:600 25px Outfit,sans-serif;display:grid;box-shadow:0 0 0 8px #821f3214}.success-kicker{color:#b18a51;letter-spacing:.2em;margin:24px 0 6px;font:500 9px Outfit,sans-serif}.success-panel h2{color:var(--wine-dark);margin:0 0 8px;font-size:28px}.success-panel>p{color:#8f756b;font-size:13px}.success-panel>p strong{color:var(--wine)}.lucky-ticket{background:#f7efe2;border:1px dashed #d8b979;width:180px;margin:18px 0;padding:12px}.lucky-ticket small{color:#987d66;font-size:10px;display:block}.lucky-ticket strong{color:var(--wine);letter-spacing:.16em;margin-top:4px;font:600 32px Outfit,sans-serif;display:block}.success-panel>.registered-device-note{color:#aa998f;margin:4px 0 0;font-size:10px}.secondary-button{color:var(--wine);background:0 0;border-bottom:1px solid #821f3259;font-size:12px}.lottery-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.lottery-shell>main{flex:1;min-height:0}.lottery-page{flex-direction:column;width:100%;max-width:1480px;height:100%;margin:auto;padding:clamp(10px,1.7vh,20px) 4vw clamp(12px,2vh,24px);display:flex;overflow:hidden}.lottery-account{z-index:30;color:#876d62;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8db;border:1px solid #c89a4b4d;border-radius:999px;align-items:center;gap:9px;padding:5px 6px 5px 12px;font-size:10px;display:flex;position:fixed;top:12px;right:20px;box-shadow:0 7px 20px #5c142314}.lottery-account button{color:var(--wine);background:#f6eadb;border:0;border-radius:999px;padding:6px 10px;font-size:9px}.lottery-page-state{min-height:0;color:var(--wine-dark);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.lottery-page-state strong{letter-spacing:.12em;font-size:18px}.lottery-page-state small{color:#a28c81;font-size:11px}.lottery-heading{text-align:center}.lottery-heading .eyebrow{margin-bottom:clamp(5px,.8vh,10px)}.lottery-heading h1{font-size:clamp(27px,2.5vw,42px);line-height:1.15}.lottery-heading h1 span{display:inline}.lottery-heading>p:last-child{color:#9b8175;letter-spacing:.16em;margin:clamp(5px,.8vh,9px) 0 0;font-size:11px}.lottery-stats{flex:none;justify-content:center;align-items:center;gap:32px;margin:clamp(8px,1.5vh,16px) auto;display:flex}.lottery-stats div{justify-content:center;align-items:baseline;gap:9px;min-width:80px;display:flex}.lottery-stats small{color:#9c8276;font-size:10px}.lottery-stats strong{color:var(--wine);font:600 23px Outfit,sans-serif}.lottery-stats i{background:#ddcbb9;width:1px;height:24px}.lottery-layout{flex:1;grid-template-columns:minmax(360px,390px) minmax(0,1fr);gap:24px;min-height:0;display:grid}.prize-panel,.draw-stage{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf9db;border:1px solid #c89a4b4d;box-shadow:0 22px 60px #5c142314}.prize-panel{scrollbar-width:thin;scrollbar-color:#d4b57b transparent;border-radius:4px 4px 34px;min-height:0;padding:clamp(14px,2vh,20px) 14px 16px;overflow-y:auto}.panel-title{border-bottom:1px solid #c89a4b3d;align-items:center;gap:11px;margin:0 2px 14px;padding:2px 4px 14px;display:flex}.panel-title>span{color:#fff;background:var(--wine);border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;display:grid}.panel-title div{flex-direction:column;display:flex}.panel-title strong{color:var(--wine-dark);letter-spacing:.12em;font-size:15px}.panel-title small{color:#ae988b;margin-top:2px;font-size:9px}.prize-item{background:#fffaf2;border:1px solid #dfc28e;border-radius:7px 7px 18px;margin-bottom:12px;overflow:hidden;box-shadow:0 8px 22px #7b4b2812}.prize-option{color:#735d55;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;width:100%;padding:12px 10px;transition:all .2s;display:grid}.prize-option:hover{background:#faf4ea}.prize-option.active{color:var(--wine-dark);background:linear-gradient(100deg,#f8ecdf,#fffaf1);border-color:#ddbb7b;box-shadow:0 8px 20px #7b4b2812}.prize-option.completed{color:var(--wine-dark);box-shadow:none;background:linear-gradient(100deg,#f8ecdf,#fffaf1);border-color:#0000;border-radius:0}.prize-option.completed:hover{background:linear-gradient(100deg,#f8ecdf,#fffaf1)}.prize-medal{color:#a4763b;background:#f2e4cc;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.prize-option.active .prize-medal,.prize-option.completed .prize-medal{color:#fff8e9;background:var(--wine)}.prize-option>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.prize-option strong{font-size:12px}.prize-option small{color:#ad978a;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.prize-option b{color:#a9855e;font:500 10px Outfit,sans-serif}.prize-winners{background:#f7edde9e;border-top:1px solid #c89a4b33;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:9px 10px 11px;display:flex}.winner-label{color:#a9824d;letter-spacing:.16em;align-items:center;gap:8px;width:100%;margin-bottom:1px;font-size:8px;display:flex}.winner-label:after{content:"";background:#c89a4b40;flex:1;height:1px}.prize-winner-name{color:var(--wine-dark);background:#fffaf2f2;border:1px solid #e7d4b6;border-radius:5px;grid-template-columns:auto minmax(48px,1fr) auto;align-items:center;gap:8px;padding:7px 8px;font-size:10px;font-weight:700;display:grid}.prize-winner-number{color:#fff8e9;background:var(--wine);letter-spacing:.04em;white-space:nowrap;border-radius:3px;padding:3px 5px;font:600 8px Outfit,Microsoft YaHei,sans-serif}.prize-winner-name>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prize-winner-name small{color:#a58e82;white-space:nowrap;font:400 8px Outfit,sans-serif}.prize-list-empty{color:#aa958a;text-align:center;background:#f8f0e48c;border:1px dashed #dfc9a8;border-radius:6px;place-items:center;min-height:170px;margin:2px 0 10px;padding:24px;font-size:11px;line-height:1.8;display:grid}.clear-history-button{color:#896d62;background:0 0;border:1px solid #e5d7c6;border-radius:6px;width:100%;margin-top:8px;padding:11px;font-size:10px}.clear-history-button:hover:not(:disabled){color:var(--wine);background:#fff9ef;border-color:#cfae78}.draw-stage{border-radius:4px 4px 52px;flex-direction:column;align-items:center;min-height:0;padding:clamp(14px,2vh,24px) 40px clamp(10px,1.5vh,18px);display:flex;position:relative;overflow:hidden}.draw-stage:before{content:"囍";color:#821f3206;pointer-events:none;font-size:280px;font-weight:700;line-height:1;position:absolute;bottom:-80px;right:-20px}.stage-prize-showcase{z-index:2;flex-direction:column;align-items:center;transition:top .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:clamp(14px,2vh,24px);left:50%;transform:translate(-50%)}.draw-stage.awaiting-draw .stage-prize-showcase{top:50%;transform:translate(-50%,-50%)scale(1.75)}.stage-ribbon{z-index:1;color:#fff8eb;background:var(--wine);text-align:center;letter-spacing:.18em;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);min-width:116px;padding:7px 22px;font-size:14px;position:relative}.stage-prize-image{z-index:1;background:#fffaf2;border:1px solid #dfc087;border-radius:7px;flex:none;width:clamp(78px,12.7vh,127px);height:clamp(110px,18vh,180px);margin-top:clamp(7px,1.2vh,13px);padding:5px;animation:.45s cubic-bezier(.2,.8,.2,1) both prizeImageIn;position:relative;overflow:hidden;box-shadow:0 10px 24px #5c142324}.stage-prize-image img{object-fit:contain;border-radius:3px;width:100%;height:100%;display:block}.stage-gift{z-index:1;color:#8b643b;letter-spacing:.12em;margin:clamp(6px,1vh,10px) 0 clamp(7px,1.2vh,12px);font-size:12px;font-weight:700;position:relative}@keyframes prizeImageIn{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:none}}.name-display{border-top:1px solid #c89a4b38;border-bottom:1px solid #c89a4b38;flex:1;place-items:center;width:100%;min-height:110px;margin-top:calc(clamp(110px,18vh,180px) + 90px);padding:clamp(10px,1.8vh,20px);transition:opacity .2s;display:grid;position:relative}.draw-stage.awaiting-draw .name-display{visibility:hidden;opacity:0;pointer-events:none;margin-top:0}.name-display:before,.name-display:after{content:"✦";color:#c49a58;background:#fffdf9;padding:0 10px;font-size:11px;position:absolute;top:-8px}.name-display:before{left:10%}.name-display:after{right:10%}.waiting-state{flex-direction:column;align-items:center;display:flex}.waiting-seal{width:84px;height:84px;color:var(--wine);background:#f8efe3;border:1px solid #d8b97e;border-radius:50%;place-items:center;margin-bottom:15px;font-size:40px;display:grid;box-shadow:inset 0 0 0 6px #fffaf2,0 12px 35px #821f3214}.waiting-state strong{color:var(--wine-dark);letter-spacing:.18em;font-size:18px}.waiting-state small{color:#ac978d;margin-top:8px;font-size:10px}.names-grid{grid-template-columns:repeat(3,minmax(0,1fr));place-content:center;gap:16px;width:100%;display:grid}.names-grid.count-1{grid-template-columns:minmax(240px,420px)}.names-grid.count-2{grid-template-columns:repeat(2,minmax(220px,360px))}.drawn-name{background:linear-gradient(135deg,#fffaf2,#f7eadb);border:1px solid #dfbe81;border-radius:4px 4px 22px;flex-direction:column;justify-content:center;align-items:center;min-height:clamp(68px,10vh,95px);padding:10px;display:flex;box-shadow:0 10px 28px #64372114}.drawn-name-heading{flex-wrap:nowrap;justify-content:center;align-items:center;gap:clamp(7px,1vw,14px);max-width:100%;display:flex}.drawn-name strong{color:var(--wine);letter-spacing:clamp(.06em,.1vw,.12em);white-space:nowrap;word-break:keep-all;flex:none;font-size:clamp(20px,2vw,34px);line-height:1.1}.drawn-lucky-number{border-right:1px solid #c89a4b73;flex-direction:column;flex:none;align-items:center;padding-right:clamp(10px,1.2vw,16px);display:flex}.drawn-lucky-number em{color:#ad8850;letter-spacing:.1em;white-space:nowrap;font:500 8px Microsoft YaHei,sans-serif}.drawn-lucky-number b{color:#9b743e;letter-spacing:.08em;margin-top:3px;font:700 clamp(16px,1.7vw,24px)/1 Outfit,sans-serif}.drawn-name small{color:#ae8c75;letter-spacing:.08em;margin-top:6px;font:400 10px Outfit,sans-serif}.name-display.rolling .drawn-name{filter:blur(.7px);animation:.18s infinite alternate namePulse}.name-display.revealed .drawn-name{animation:.55s cubic-bezier(.2,.8,.2,1) both revealName}@keyframes namePulse{to{opacity:.72;transform:scale(1.025)}}@keyframes revealName{0%{opacity:0;transform:translateY(18px)scale(.92)}to{opacity:1;transform:none}}.draw-controls{z-index:2;flex:none;align-items:center;gap:10px;margin-top:clamp(9px,1.5vh,16px);display:flex;position:relative}.draw-controls label,.draw-count-label{color:#957a6e;font-size:11px}.draw-count-value{min-width:62px;height:42px;color:var(--wine-dark);background:#fffaf2;border:1px solid #ddc7a7;border-radius:5px;place-items:center;padding:0 13px;font-size:12px;display:grid}.draw-controls select{height:42px;color:var(--wine-dark);background:#fffaf2;border:1px solid #ddc7a7;border-radius:5px;outline:none;padding:0 32px 0 13px}.draw-button{color:#fff8e8;letter-spacing:.18em;background:linear-gradient(135deg,#98213a,#661426);border-radius:5px;min-width:220px;height:48px;margin-left:8px;font-size:14px;box-shadow:0 12px 28px #821f323d}.draw-button.stop-button{background:linear-gradient(135deg,#c18e3e,#9a6523);box-shadow:0 12px 28px #9a652340}.stage-tip,.stage-message{z-index:1;color:#ad988d;flex:none;margin:clamp(6px,1vh,10px) 0 0;font-size:9px;position:relative}.stage-message{color:var(--wine)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3114198c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.history-modal{background:#fffaf2;border:1px solid #d5b36f;border-radius:4px 4px 36px;flex-direction:column;width:min(680px,100%);max-height:min(720px,88vh);padding:28px;display:flex;overflow:hidden;box-shadow:0 30px 90px #260b1159}.modal-header{border-bottom:1px solid #eadfce;justify-content:space-between;align-items:flex-start;padding-bottom:18px;display:flex}.modal-header small{color:#b0874f;letter-spacing:.24em;font:500 9px Outfit,sans-serif}.modal-header h2{color:var(--wine-dark);letter-spacing:.12em;margin:4px 0 0;font-size:24px}.modal-header button{color:#8b6b61;background:#f4eadd;border:0;border-radius:50%;width:34px;height:34px;font:300 24px/1 Outfit,sans-serif}.winner-list{padding:10px 2px;overflow-y:auto}.winner-row{border-bottom:1px solid #eee4d6;grid-template-columns:42px 1fr 1.4fr;align-items:center;gap:12px;padding:13px 8px;display:grid}.winner-avatar{width:38px;height:38px;color:var(--wine);background:#f4e2d5;border-radius:50%;place-items:center;font-weight:700;display:grid}.winner-row>span:not(.winner-avatar){flex-direction:column;display:flex}.winner-row strong{color:#5d403c;font-size:12px}.winner-row small{color:#a38e83;margin-top:3px;font-size:9px}.winner-row>span:last-child{text-align:right}.winner-row>span:last-child strong{color:var(--wine)}.empty-history{color:#aa958a;place-items:center;min-height:240px;font-size:13px;display:grid}.modal-footer{border-top:1px solid #eadfce;justify-content:flex-end;align-items:center;gap:10px;padding-top:18px;display:flex}.modal-footer>button:first-child{color:#98786f;background:0 0;border:0;font-size:11px}.modal-footer .primary-button{width:auto;min-width:100px;min-height:40px;margin:0}@media (width<=900px){.site-header{height:72px;padding:0 20px}.brand-copy{display:none}.brand-seal{width:42px;height:42px;font-size:22px}.page-nav a{padding:8px 12px;font-size:11px}.lottery-page{padding:25px 20px 45px}.lottery-layout{grid-template-columns:1fr}.prize-panel{border-radius:4px 4px 28px;grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.panel-title{grid-column:1/-1}.prize-item{margin:0}.prize-list-empty,.clear-history-button{grid-column:1/-1}}@media (width<=580px){.page-nav{gap:2px}.page-nav a{padding:8px 9px}.register-page{justify-content:flex-start}.ceremony-card{gap:20px;padding-inline:20px}.lottery-heading h1 span{display:block}.lottery-heading>p:last-child{line-height:1.8}.lottery-stats{gap:12px}.lottery-stats div{flex-direction:column;align-items:center;gap:2px;min-width:70px}.prize-panel{grid-template-columns:1fr}.panel-title,.clear-history-button{grid-column:auto}.draw-stage{border-radius:4px 4px 36px;padding:24px 15px 20px}.name-display{min-height:270px;padding:16px 2px}.names-grid{grid-template-columns:repeat(2,1fr);gap:8px}.names-grid.count-1{grid-template-columns:minmax(190px,1fr)}.drawn-name{min-height:84px}.draw-controls{flex-wrap:wrap;justify-content:center;width:100%}.draw-button{width:100%;margin:4px 0 0}.winner-row{grid-template-columns:36px 1fr}.winner-row>span:last-child{text-align:left;grid-column:2}.history-modal{padding:22px 17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
