
/* Shared SmartSkill palette, typography and glass surfaces. */
.lottery-shell {max-width:1200px;margin:0 auto;line-height:1.85;color:var(--text-primary,#1f2937)}
.lottery-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:2rem;background:linear-gradient(135deg,rgba(255,237,213,.35),rgba(255,255,255,.8) 48%,rgba(219,234,254,.55));border:1px solid var(--border-glass,#fff);border-radius:2.5rem;padding:2.75rem 3rem;margin-bottom:2rem;box-shadow:0 20px 40px rgba(37,99,235,.05)}
.lottery-hero:before{content:'';position:absolute;width:300px;height:300px;left:0;top:-100px;background:#c4b5fd50;filter:blur(70px);border-radius:50%;pointer-events:none}
.lottery-hero-text{position:relative;z-index:1}.lottery-hero .lottery-hero-title{font-size:clamp(1.6rem,3vw,2.25rem);font-weight:900;line-height:1.6;margin:1rem 0}.lottery-hero .lottery-hero-title>span{display:block;font-size:.85em;background:linear-gradient(100deg,#006fc9,#7c3aed,#ec4899);background-clip:text;-webkit-background-clip:text;color:transparent}.lottery-hero p{font-size:.9rem;color:var(--text-secondary);line-height:2;max-width:38rem}
.lottery-hero-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.25rem;font-size:.75rem;color:#64748b}.lottery-hero-meta>span{display:flex;align-items:center;gap:.5rem}.lottery-pill{padding:.4rem .85rem;background:#fff;border:1px solid #e2e8f0;border-radius:50px;color:#006fc9;font-weight:700}
.lottery-art{position:relative;min-height:300px;display:flex;align-items:center;justify-content:center;isolation:isolate}.lottery-art-ring{position:absolute;width:290px;height:290px;border:1px solid #818cf840;border-radius:50%;transform:rotate(-18deg)}.lottery-art-ring.inner{width:250px;height:250px;border-style:dashed;border-color:#a5b4fc60}.lottery-passport{position:relative;z-index:1;width:218px;min-height:258px;display:flex;flex-direction:column;align-items:center;border-radius:1.5rem;background:linear-gradient(150deg,#fff,#f5f3ff);border:1px solid #fff;box-shadow:0 22px 55px -15px #4f46e544;transform:rotate(-7deg);padding:1.25rem;color:#1e293b}.lottery-passport-top{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:9px;letter-spacing:2px;font-weight:800;color:#64748b}.lottery-passport-top i{font-size:18px;color:#8b5cf6}.lottery-passport-emblem{margin:1.4rem 0 1rem;width:82px;height:82px;border-radius:24px;background:linear-gradient(135deg,#3b82f6,#7c3aed);box-shadow:0 10px 24px #6366f140;display:grid;place-items:center;color:#fff;font-size:39px}.lottery-passport>strong{font-size:13px;font-weight:900}.lottery-passport-caption{font-size:8px;letter-spacing:1px;margin-top:.5rem;color:#94a3b8}.lottery-passport-lines{display:flex;gap:4px;margin-top:1rem;width:100%}.lottery-passport-lines span{height:5px;border-radius:5px;background:#e2e8f0;flex:1}.lottery-passport-lines span:nth-child(2){background:#c4b5fd}
.lottery-art-note{position:absolute;bottom:0;left:3%;z-index:2;display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;background:#ffffffed;border:1px solid #fff;border-radius:1rem;box-shadow:0 12px 30px #1e293b12;color:#1e293b;transform:rotate(3deg)}.lottery-art-note>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#dcfce7;color:#16a34a}.lottery-art-note strong{display:block;font-size:11px}.lottery-art-note small{display:block;font-size:9px;color:#64748b}.lottery-art-spark{position:absolute;width:44px;height:44px;border-radius:14px;background:#fff;box-shadow:0 8px 24px #6366f118;display:grid;place-items:center;font-size:18px;z-index:2}.lottery-art-spark.one{top:4%;left:12%;color:#f59e0b;transform:rotate(10deg)}.lottery-art-spark.two{right:4%;bottom:20%;color:#3b82f6;transform:rotate(-12deg)}
.lottery-promo{margin:1.5rem 0 0}.lottery-promo .lottery-art-ring{border-color:#ffffff25;width:320px;height:320px}.lottery-promo .lottery-art-ring.inner{width:270px;height:270px}.lottery-promo .lottery-art{min-height:330px}.lottery-promo .lottery-art-note{bottom:0}.lottery-promo .fx-banner-badge{gap:.65rem}.lottery-promo .fx-banner-badge span:last-child{padding-right:.65rem;border-right:1px solid #ffffff40;font-size:.65rem}
.lottery-card{background:rgba(255,255,255,.85);border:1px solid #fff;border-radius:1.5rem;padding:1.75rem;margin-bottom:1.5rem;box-shadow:0 4px 24px #1e293b04}.lottery-card h2{font-size:1.15rem;font-weight:800}.lottery-card h3{font-size:1rem;font-weight:800;margin:1.25rem 0 .75rem}.lottery-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid #f1f5f9}.lottery-card-heading>a{font-size:.8rem;color:#006fc9}.lottery-card-heading p,.lottery-help{font-size:.78rem;color:#64748b;line-height:1.9;margin-top:.5rem}.lottery-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.lottery-field{min-width:0}.lottery-field.wide{grid-column:1/-1}.lottery-field>label{display:block;font-size:.8125rem;font-weight:700;color:#334155;margin-bottom:.6rem}.lottery-field input:not([type=checkbox]),.lottery-field select,.lottery-field textarea{width:100%;padding:.8rem 1rem;border:1.5px solid #e2e8f0;border-radius:12px;background:#fff;font:inherit;font-size:.875rem;color:#1e293b;transition:border-color .2s,box-shadow .2s;min-height:46px}.lottery-field input:focus,.lottery-field textarea:focus,.lottery-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.lottery-field textarea{min-height:120px;resize:vertical}.lottery-field input[type=file]{padding:1.1rem;background:#f8faff;border-style:dashed;cursor:pointer;font-size:.75rem;color:#64748b}.lottery-field input[type=file]::file-selector-button{border:0;padding:.6rem .85rem;border-radius:8px;margin-left:.75rem;color:#2563eb;background:#e0ecff;font:inherit;font-weight:700;cursor:pointer}.lottery-field>small{display:block;margin:.5rem 0;font-size:.7rem;color:#64748b}.lottery-shell input[type=checkbox]{accent-color:#3b82f6;width:17px;height:17px;vertical-align:middle;flex-shrink:0}
.lottery-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid #f1f5f9}.lottery-actions>strong{font-size:.875rem}.lottery-progress{display:flex;gap:.5rem;background:#ffffffa6;border:1px solid #fff;padding:.65rem;border-radius:1.25rem;margin:0 0 1.5rem;overflow:auto}.lottery-progress a{flex:1;display:flex;align-items:center;gap:.6rem;white-space:nowrap;padding:.75rem;color:#94a3b8;font-size:.75rem;border-radius:.85rem}.lottery-progress a[href]{color:#64748b}.lottery-progress b{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;font-size:.75rem}.lottery-progress a.current{background:#eff6ff;color:#006fc9;font-weight:800}.lottery-progress .current b{background:linear-gradient(135deg,#006fc9,#3b82f6);box-shadow:0 4px 10px #3b82f630;color:white}.lottery-empty{text-align:center;padding:3rem 1rem;color:#64748b}.lottery-empty>i{display:inline-grid;place-items:center;width:76px;height:76px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:6px solid #f8fafc;border-radius:24px;color:#3b82f6;font-size:28px;margin-bottom:.5rem}.lottery-empty p{font-size:.85rem}.lottery-person{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin:.75rem 0;padding:1rem 1.25rem}.lottery-person label{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.lottery-person small{font-size:.7rem;background:#eff6ff;color:#2563eb;padding:.2rem .65rem;border-radius:20px}.lottery-person>a{font-size:.8rem;color:#006fc9}.lottery-consent{display:block;padding:1rem 1.25rem;background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;margin:1.5rem 0;color:#475569;font-size:.8rem;line-height:2}.lottery-consent input{margin-left:.5rem}.lottery-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#eaf0f6;border:1px solid #eaf0f6;border-radius:12px;overflow:hidden}.lottery-review>div{padding:1rem;background:#fff;overflow-wrap:anywhere}.lottery-review dt{font-size:.72rem;color:#94a3b8}.lottery-review dd{margin:.35rem 0 0;font-size:.85rem;color:#334155;white-space:pre-wrap}.lottery-review a{color:#2563eb;display:inline-flex;align-items:center;gap:.4rem;background:#eff6ff;padding:.25rem .6rem;border-radius:7px;font-size:.75rem}.lottery-review a:before{content:'↓';font-weight:800}.lottery-member{background:#f8fafc;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem;margin:1rem 0}.lottery-member h3{margin-top:0}.lottery-member>.btn{margin-top:1rem}.lottery-guide{font-size:.85rem}.lottery-guide summary{cursor:pointer;font-weight:800;color:#334155;line-height:1.9}.lottery-guide p{margin:1rem 0;color:#64748b}.lottery-guide a{color:#006fc9}.lottery-shell button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.lottery-hero{padding:2rem;gap:1rem;grid-template-columns:1.3fr 1fr}.lottery-hero .lottery-art{transform:scale(.85);margin:-1rem}.lottery-progress a{padding:.6rem}.lottery-promo .lottery-art{min-height:300px}}
@media(max-width:640px){.lottery-hero{grid-template-columns:1fr;border-radius:1.5rem;padding:1.5rem}.lottery-hero .lottery-art{min-height:270px;margin:0 auto;width:290px;transform:scale(.85)}.lottery-hero .lottery-hero-title{font-size:1.6rem}.lottery-card{padding:1.25rem;border-radius:1.25rem}.lottery-fields,.lottery-review{grid-template-columns:1fr}.lottery-card-heading{align-items:flex-start;flex-direction:column}.lottery-progress a{flex-direction:column;gap:.35rem;font-size:.68rem;min-width:80px;text-align:center}.lottery-actions .btn{width:100%}.lottery-person{padding:1rem;font-size:.8rem;align-items:flex-start}.lottery-person label{gap:.4rem}.lottery-person>a{white-space:nowrap;font-size:.7rem}.lottery-promo .lottery-art{width:280px;max-width:100%;margin:auto;transform:scale(.9)}.lottery-promo .fx-banner-content{gap:1.5rem}}
@media(prefers-reduced-motion:reduce){.lottery-shell *,.lottery-promo *{animation:none!important;transition:none!important}}

.lottery-progress{scrollbar-width:none}.lottery-progress::-webkit-scrollbar{display:none}.is-wizard .lottery-hero{padding:1.75rem 2.5rem}.is-wizard .lottery-hero .lottery-art{min-height:245px;transform:scale(.8);margin:-1.5rem 0}
@media(max-width:640px){.is-wizard .lottery-hero{padding:1.25rem}.is-wizard .lottery-hero .lottery-art{display:none}.is-wizard .lottery-hero .lottery-hero-title{font-size:1.35rem;margin:.75rem 0}.is-wizard .lottery-hero .lottery-hero-title>span{font-size:.85rem}.is-wizard .lottery-hero-text>p{display:none}.is-wizard .lottery-hero-meta{margin-top:.75rem;gap:.65rem}.is-wizard .lottery-hero .hero-badge{font-size:.65rem;padding:.35rem .75rem}}

/* Lottery has its own burgundy, copper and gold campaign palette. */
/* Action links must remain designed controls, including visited states. */
.lottery-shell a,.lottery-admin a{text-decoration:none}
.lottery-shell .lottery-link,.lottery-admin .lottery-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .9rem;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#006fc9;font-size:.75rem;font-weight:700;line-height:1.65;text-decoration:none;white-space:normal;transition:background .2s,border-color .2s,box-shadow .2s;min-height:38px}
.lottery-shell .lottery-link:hover,.lottery-admin .lottery-link:hover{background:#dbeafe;border-color:#93c5fd;color:#00539c;box-shadow:0 3px 10px #3b82f60d}.lottery-shell a:focus-visible,.lottery-admin a:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.lottery-shell .lottery-link-edit{background:linear-gradient(135deg,#006fc9,#2684dd);border-color:transparent;color:#fff;box-shadow:0 4px 12px #006fc91a;padding:.65rem 1rem;white-space:nowrap;flex-shrink:0}
.lottery-shell .lottery-link-edit:hover{background:linear-gradient(135deg,#005fae,#1875cb);border-color:transparent;color:white;box-shadow:0 5px 14px #006fc929}.lottery-link-edit>i:last-child{font-size:.6rem;margin-right:.35rem}
.lottery-shell .lottery-link-muted{background:#f8fafc;border-color:#e2e8f0;color:#64748b}.lottery-shell .lottery-link-muted:hover{background:#eff6ff;border-color:#bfdbfe;color:#006fc9}.lottery-guide>.lottery-link{margin:.5rem 0 .25rem .5rem}
.lottery-review .lottery-link-file{padding:.45rem .7rem;min-height:34px;font-size:.7rem}.lottery-review .lottery-link-file:before{display:none}
@media(max-width:640px){.lottery-person{flex-wrap:wrap;gap:.8rem}.lottery-person>label{flex:1 1 100%}.lottery-person>.lottery-link-edit{font-size:.72rem;margin-right:auto;padding:.6rem .85rem}.lottery-card-heading>.lottery-link{font-size:.72rem}}

/* Applicant workspace and checkout summary */
.lottery-roster{padding:1.75rem}.lottery-roster-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid #eef2f6}.lottery-roster-title{display:flex;align-items:center;gap:.9rem}.lottery-roster-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#eff6ff,#f5f3ff);color:#4f46e5;font-size:19px;flex-shrink:0}.lottery-roster-title h2{display:flex;align-items:center;gap:.65rem;font-size:1.1rem}.lottery-roster-title h2>span{font-size:.65rem;font-weight:600;background:#f1f5f9;color:#64748b;border-radius:50px;padding:.2rem .6rem;white-space:nowrap}.lottery-roster-title p{font-size:.75rem;line-height:1.9;color:#94a3b8;margin:.4rem 0 0}.lottery-roster .lottery-add-person{font-size:.78rem;padding:.7rem 1rem;white-space:nowrap;gap:.5rem;border-radius:12px}.lottery-roster-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.5rem;align-items:start}.lottery-roster-main{min-width:0}.lottery-roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.68rem;color:#94a3b8;padding:0 .2rem .8rem}.lottery-roster-toolbar>span:first-child{display:flex;align-items:center;gap:.4rem}.lottery-roster-toolbar>span:last-child{white-space:nowrap;color:#64748b}.lottery-applicant-list{display:grid;gap:1rem}.lottery-applicant{padding:1.1rem 1.25rem;border:1.5px solid #e2e8f0;border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}.lottery-applicant.is-selected{border-color:#a5b4fc;background:linear-gradient(135deg,#fff,#f8faff);box-shadow:0 0 0 3px #6366f10d}.lottery-applicant-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lottery-applicant-identity{display:flex;align-items:center;gap:.75rem;min-width:0}.lottery-applicant-identity>div{min-width:0}.lottery-person-avatar{width:42px;height:42px;flex-shrink:0;border:1px solid #edf0f5;border-radius:13px;display:grid;place-items:center;background:#f8fafc;color:#94a3b8;font-size:17px}.is-selected .lottery-person-avatar{background:#eef2ff;color:#4f46e5;border-color:#e0e7ff}.lottery-roster .lottery-applicant h3{font-size:.88rem;font-weight:800;line-height:1.7;margin:0;color:#334155;overflow-wrap:anywhere;text-align:start}.lottery-person-caption{display:flex;gap:.5rem;align-items:center;font-size:.62rem;color:#94a3b8;margin-top:.2rem}.lottery-person-caption>span{color:#cbd5e1}.lottery-person-select{display:flex;align-items:center;gap:.4rem;font-size:.65rem;color:#4f46e5;cursor:pointer;white-space:nowrap}.lottery-roster input[type=checkbox]{accent-color:#4f46e5;width:17px;height:17px}.lottery-person-state{display:inline-flex;align-items:center;gap:.35rem;border-radius:50px;padding:.3rem .55rem;background:#fffbeb;color:#b88738;font-size:.6rem;white-space:nowrap}.lottery-person-state i{font-size:9px}.lottery-person-progress{margin:1rem 0 1.1rem}.lottery-person-progress>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem;font-size:.65rem;color:#94a3b8}.lottery-person-progress small{font-size:.6rem}.is-ready .lottery-person-progress>div{color:#64748b}.lottery-person-progress-track{display:block;height:4px;border-radius:20px;background:#f1f5f9;overflow:hidden}.lottery-person-progress-track>span{display:block;height:100%;border-radius:20px;background:#cbd5e1}.is-ready .lottery-person-progress-track>span{background:linear-gradient(90deg,#60a5fa,#8b5cf6)}.lottery-person-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.8rem;border-top:1px solid #f1f5f9}.lottery-person-price{font-size:.8rem;font-weight:800;color:#475569;white-space:nowrap}.lottery-person-price small{font-size:.6rem;color:#94a3b8;font-weight:400}.lottery-person-buttons{display:flex;gap:.5rem;align-items:center}.lottery-shell .lottery-person-edit,.lottery-person-remove{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid #e2e8f0;border-radius:9px;padding:.5rem .7rem;font-family:inherit;font-size:.68rem;font-weight:700;line-height:1.7;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.lottery-shell .lottery-person-edit{background:#f8fafc;color:#475569;text-decoration:none}.lottery-shell .lottery-person-edit:hover{background:#eff6ff;color:#006fc9;border-color:#bfdbfe}.lottery-person-remove{color:#dc2626;background:#fff;border-color:#fee2e2}.lottery-person-remove:hover{color:#b91c1c;background:#fff1f2;border-color:#fca5a5}.lottery-person-remove:focus-visible{outline:3px solid #fecaca;outline-offset:3px}.lottery-roster-summary{position:sticky;top:1.5rem;background:linear-gradient(150deg,#f8faff,#f5f3ff);border:1px solid #e0e7ff;border-radius:16px;padding:1.25rem}.lottery-summary-title{display:flex;align-items:center;gap:.6rem;margin-bottom:1.35rem}.lottery-summary-title>i{color:#6366f1;font-size:15px}.lottery-roster .lottery-summary-title h3{margin:0;font-size:.9rem;font-weight:800;color:#475569}.lottery-summary-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:.9rem 0;font-size:.68rem;color:#94a3b8}.lottery-summary-row strong{font-size:.7rem;color:#64748b;font-weight:700;white-space:nowrap}.lottery-summary-row small{font-size:.55rem;font-weight:400}.lottery-summary-total{border-top:1px dashed #c7d2fe;margin-top:1.1rem;padding-top:1.1rem}.lottery-summary-total>span{font-size:.7rem;color:#64748b}.lottery-summary-total>strong{display:flex;align-items:baseline;gap:.4rem;font-size:1.55rem;color:#4338ca;font-weight:900;margin:.4rem 0 1rem}.lottery-summary-total small{font-size:.65rem;font-weight:500;color:#64748b}.lottery-roster .lottery-pay-button{display:flex;width:100%;justify-content:center;align-items:center;gap:.7rem;background:linear-gradient(120deg,#2563eb,#6366f1);color:#fff;border:0;border-radius:11px;padding:.8rem .75rem;font-size:.8rem;box-shadow:0 5px 14px #3b82f61a}.lottery-roster .lottery-pay-button:hover:not(:disabled){background:linear-gradient(120deg,#1d4ed8,#4f46e5);box-shadow:0 6px 16px #3b82f625}.lottery-roster .lottery-pay-button:disabled{background:#e2e8f0;color:#94a3b8;box-shadow:none;opacity:1;cursor:not-allowed}.lottery-summary-help{display:flex;align-items:flex-start;gap:.4rem;font-size:.62rem;line-height:1.9;color:#64748b;margin:.8rem 0 1rem}.lottery-summary-help i{margin-top:4px;flex-shrink:0}.lottery-summary-note{display:flex;gap:.5rem;border-top:1px solid #e0e7ff;padding-top:.85rem;font-size:.61rem;line-height:1.9;color:#94a3b8}.lottery-summary-note i{margin-top:4px;color:#818cf8;flex-shrink:0}
@media(max-width:1000px){.lottery-roster-layout{grid-template-columns:minmax(0,1fr) 250px;gap:1rem}.lottery-applicant-top{align-items:flex-start;flex-wrap:wrap;gap:.65rem}.lottery-person-select{margin-right:auto}.lottery-person-footer{flex-wrap:wrap}.lottery-person-buttons{margin-right:auto}}
@media(max-width:760px){.lottery-roster-layout{grid-template-columns:1fr}.lottery-roster-summary{position:static}.lottery-roster-header{align-items:flex-start;flex-direction:column}.lottery-roster-header>form{align-self:flex-end}.lottery-roster-title{align-items:flex-start}.lottery-roster-title h2{font-size:1rem}.lottery-roster-title p{font-size:.7rem}.lottery-roster-toolbar{font-size:.62rem;flex-wrap:wrap}.lottery-roster-summary .lottery-summary-row{font-size:.75rem}.lottery-summary-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.lottery-summary-total>strong{margin:0;font-size:1.4rem}.lottery-roster .lottery-pay-button{padding:.9rem}.lottery-summary-note{font-size:.68rem}.lottery-summary-help{font-size:.68rem}.lottery-applicant{padding:1rem}.lottery-person-state{margin-right:auto}}
@media(max-width:400px){.lottery-roster{padding:1rem}.lottery-person-price{font-size:.75rem}.lottery-person-edit,.lottery-person-remove{padding:.5rem .6rem}.lottery-person-select{font-size:.6rem}.lottery-roster-icon{width:38px;height:38px;font-size:16px}}

/* Compact upcoming-registration notice, separate from the marketing hero. */
.lottery-soon-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.4rem 1.5rem;margin-bottom:1.5rem;border:1px solid #e9edf2;border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 3px 15px #1e293b03}
.lottery-soon-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#eff6ff,#f5f3ff);border:1px solid #e0e7ff;color:#6366f1;font-size:18px}
.lottery-soon-content{min-width:0}.lottery-soon-label{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#6366f1;line-height:1.6;margin-bottom:.3rem}.lottery-soon-label:before{content:'';width:4px;height:4px;background:#818cf8;border-radius:50%}
.lottery-shell .lottery-soon-content h2{font-size:15px;font-weight:800;line-height:1.8;margin:0 0 .3rem;color:#334155}.lottery-soon-content p{font-size:12px;font-weight:400;color:#64748b;line-height:2;margin:0;max-width:640px}
.lottery-shell .lottery-soon-action{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .85rem;min-height:40px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;text-decoration:none;font-size:12px;font-weight:700;line-height:1.7;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}.lottery-soon-action>i:first-child{font-size:13px;color:#6366f1}.lottery-soon-action>i:last-child{font-size:8px;margin-right:.3rem}.lottery-shell .lottery-soon-action:hover{background:#f5f3ff;border-color:#c7d2fe;color:#4f46e5}.lottery-soon-action:focus-visible{outline:3px solid #c7d2fe;outline-offset:3px}
@media(max-width:800px){.lottery-soon-card{grid-template-columns:40px minmax(0,1fr);align-items:start;padding:1.25rem;gap:.8rem}.lottery-soon-icon{width:40px;height:40px;font-size:16px;border-radius:12px}.lottery-shell .lottery-soon-action{grid-column:2;justify-self:start;margin-top:.1rem}}
@media(max-width:480px){.lottery-soon-card{padding:1.1rem 1rem;border-radius:15px;column-gap:.7rem;row-gap:.85rem;grid-template-columns:34px minmax(0,1fr)}.lottery-soon-icon{width:34px;height:34px;font-size:14px;border-radius:10px}.lottery-shell .lottery-soon-content h2{font-size:14px}.lottery-soon-content p{font-size:12px;line-height:2}.lottery-shell .lottery-soon-action{font-size:12px;padding:.5rem .75rem;min-height:38px}.lottery-soon-label{font-size:9px}}

.lottery-hero-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-top:1.3rem}.lottery-hero-actions .btn{font-size:.78rem;padding:.7rem 1.05rem;gap:.55rem;border-radius:12px;text-decoration:none}.lottery-home-banner{margin-top:1.5rem}.lottery-home-banner .lottery-art{min-height:300px}
.lottery-guide summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.lottery-guide summary::-webkit-details-marker{display:none}.lottery-guide summary:after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border:1px solid #e2e8f0;border-radius:9px;color:#94a3b8;font-size:17px;font-weight:400;transition:transform .32s cubic-bezier(.22,1,.36,1),color .2s,background .2s}.lottery-guide[open] summary:after{transform:rotate(45deg);color:#4f46e5;background:#eef2ff;border-color:#c7d2fe}.lottery-guide[data-smooth-open="false"] summary:after{transform:rotate(0);color:#94a3b8;background:transparent;border-color:#e2e8f0}
@media(max-width:640px){.lottery-hero-actions .btn{font-size:.75rem;padding:.7rem .85rem}.lottery-home-banner .lottery-art{min-height:270px}.lottery-guide summary{font-size:.78rem}.lottery-guide summary:after{width:25px;height:25px}}

.lottery-guide[data-smooth-open="true"]>:not(summary){animation:lottery-guide-reveal .35s cubic-bezier(.22,1,.36,1) both}@keyframes lottery-guide-reveal{from{opacity:.25;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Mobile progress shows one readable current stage and an optional full route. */
.lottery-mobile-progress{display:none}
@media(max-width:700px){
.lottery-progress-desktop{display:none}.lottery-mobile-progress{display:block;background:#ffffffea;border:1px solid #fff;box-shadow:0 5px 24px #1e293b04;border-radius:18px;padding:1.15rem;margin-bottom:1.25rem}.lottery-mobile-step-head{display:flex;align-items:center;gap:.85rem}.lottery-mobile-step-number{width:44px;height:48px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:linear-gradient(135deg,#006fc9,#3b82f6);color:#fff;box-shadow:0 5px 12px #3b82f620;font-size:19px;font-weight:900}.lottery-mobile-step-counter{display:block;font-size:10px;color:#94a3b8;margin-bottom:3px}.lottery-mobile-step-head h2{font-size:14px;font-weight:800;line-height:1.9;color:#334155;margin:0;overflow-wrap:anywhere}.lottery-mobile-segments{display:flex;gap:5px;margin:1rem 0 .65rem}.lottery-mobile-segments>span{flex:1;height:4px;border-radius:10px;background:#edf1f7}.lottery-mobile-segments>.is-done{background:#a6c9ec}.lottery-mobile-segments>.is-current{background:linear-gradient(90deg,#60a5fa,#006fc9)}.lottery-mobile-next{display:flex;align-items:flex-start;gap:.45rem;font-size:10px;line-height:1.8;color:#94a3b8;margin:0 0 .8rem}.lottery-mobile-next>i{font-size:9px;margin-top:4px;color:#94b6d8}.lottery-mobile-step-list{border-top:1px solid #f1f5f9;padding-top:.8rem}.lottery-mobile-step-list>summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;list-style:none;color:#64748b;font-size:11px;font-weight:700;cursor:pointer}.lottery-mobile-step-list>summary::-webkit-details-marker{display:none}.lottery-mobile-step-list>summary>i{font-size:9px;color:#94a3b8;transition:transform .3s cubic-bezier(.22,1,.36,1)}.lottery-mobile-step-list[open]>summary>i{transform:rotate(180deg)}.lottery-mobile-step-list[data-smooth-open="false"]>summary>i{transform:rotate(0)}.lottery-mobile-step-list ol{list-style:none;padding:0;margin:.8rem 0 0;display:grid;gap:5px}.lottery-mobile-step-list li>a,.lottery-mobile-step-locked{display:flex;align-items:center;gap:.6rem;min-height:43px;padding:.55rem .65rem;border-radius:9px;font-size:11px;color:#64748b;text-decoration:none}.lottery-mobile-step-list li>a:hover{background:#f8fafc}.lottery-mobile-step-list li.is-current>a{background:#eff6ff;color:#006fc9;font-weight:800}.lottery-mobile-step-list b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f1f5f9;color:#94a3b8;font-size:10px;flex-shrink:0}.lottery-mobile-step-list li.is-current b{color:#006fc9;background:#dbeafe}.lottery-mobile-step-list li>a>i,.lottery-mobile-step-locked>i{margin-right:auto;font-size:8px;color:#a4b0bf}.lottery-mobile-step-locked{color:#adb7c4}.lottery-mobile-step-locked b{background:#f8fafc;color:#cbd5e1}
}
/* Family members retain their DOM controls and selected files during add/remove motion. */
.lottery-member-slot{margin:1rem 0}.lottery-member-slot>.lottery-member{margin:0;background:#fbfcfe;border:1px solid #e2e8f0;border-radius:14px;padding:1.15rem}.lottery-member-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e8edf3;padding-bottom:.9rem;margin-bottom:1.1rem}.lottery-member-identity{display:flex;align-items:center;gap:.65rem;min-width:0}.lottery-member-identity>i{display:grid;place-items:center;width:34px;height:36px;flex-shrink:0;border-radius:10px;background:#eff6ff;color:#6e9fd2;font-size:14px}.lottery-member-identity h3{font-size:.85rem!important;margin:0!important;color:#475569;font-weight:800}.lottery-member-identity p{font-size:10px;color:#94a3b8;line-height:1.8;margin:.2rem 0 0}.lottery-member-remove{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;flex-shrink:0;background:#fff;border:1px solid #fee2e2;color:#dc2626;border-radius:9px;padding:.45rem .65rem;font:inherit;font-size:10px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}.lottery-member-remove:hover{background:#fff1f2;color:#b91c1c}.lottery-member-remove:focus-visible{outline:3px solid #fecaca;outline-offset:3px}.lottery-add-family{display:inline-flex;align-items:center;gap:.5rem;font-size:12px!important;padding:.7rem 1rem!important;border-radius:11px!important}.lottery-add-family>i{color:#849bb9;font-size:12px}
@media(max-width:640px){.lottery-member-slot>.lottery-member{padding:1rem}.lottery-member-header{gap:.6rem;align-items:flex-start}.lottery-member-identity{gap:.5rem}.lottery-member-identity p{font-size:9px;max-width:150px}.lottery-member-identity h3{font-size:12px!important}.lottery-member-remove{padding:.4rem .5rem;font-size:9px}.lottery-add-family{width:100%;justify-content:center}}

.lottery-passport-choice{margin:0 0 24px;padding:18px 20px;border:1px solid #dfe7f2;border-radius:16px;background:#f8faff;min-width:0}.lottery-passport-choice legend{font-size:14px;font-weight:700;padding:0 8px;color:#243247}.lottery-passport-choice p{font-size:12px;color:#718096;margin:0 0 14px;line-height:1.9}.lottery-passport-choice>div{display:flex;gap:12px;flex-wrap:wrap}.lottery-passport-choice label{display:flex;align-items:center;gap:9px;font-size:13px;border:1px solid #e1e7f0;border-radius:12px;background:#fff;padding:12px 16px;cursor:pointer;transition:background .2s,border-color .2s}.lottery-passport-choice label:has(input:checked){border-color:#8bbcff;background:#edf5ff;color:#076dcb}.lottery-passport-choice input{accent-color:#1677ed;width:16px;height:16px}.lottery-field[hidden]{display:none!important}.lottery-field [data-required-mark]{color:#d94861}@media(max-width:600px){.lottery-passport-choice{padding:14px}.lottery-passport-choice>div{display:grid;grid-template-columns:1fr;gap:8px}}

.lottery-confirm-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:20px}.lottery-confirm-actions>.lottery-help{margin:0;line-height:2;font-size:13px}.lottery-confirm-actions>.btn{margin:0}@media(max-width:600px){.lottery-confirm-actions{gap:16px}.lottery-confirm-actions>.btn{width:100%;justify-content:center;white-space:normal;line-height:1.8}}

.lottery-edit-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border:1px solid #dbeafe;border-radius:12px;background:#f5f9ff;color:#6383aa;font-size:12px;line-height:2;margin-bottom:20px}.lottery-edit-notice>i{margin-top:5px;flex-shrink:0}.lottery-my-orders .lottery-card-heading h2{font-size:16px}.lottery-my-orders .lottery-card-heading p{font-size:11px;color:#94a3b8;line-height:1.9;margin:5px 0 0}.lottery-my-order-list{display:grid;gap:12px}.lottery-my-order-list>article{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid #e6ecf5;border-radius:14px;background:#fff;min-width:0}.lottery-my-order-list>article>div:first-of-type{flex:1;min-width:0}.lottery-my-order-list h3{font-size:13px!important;margin:0!important;color:#475569;overflow-wrap:anywhere}.lottery-my-order-list p{font-size:10px;color:#94a3b8;margin:4px 0;overflow-wrap:anywhere}.lottery-my-order-list small{font-size:10px;color:#7a98bc}.lottery-my-order-actions{display:flex;gap:8px;flex-wrap:wrap}.lottery-shell .lottery-my-order-actions .lottery-link{font-size:11px;padding:8px 11px;min-height:37px}.lottery-status-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.lottery-status-head h1{font-size:20px;font-weight:800;line-height:1.9;margin:0;color:#334155}.lottery-status-head p{font-size:12px;color:#94a3b8;margin:5px 0}.lottery-card strong[dir=ltr]{overflow-wrap:anywhere}
@media(max-width:640px){.lottery-my-order-list>article{flex-wrap:wrap;padding:14px}.lottery-my-order-actions{width:100%;padding-top:10px;border-top:1px solid #f1f5f9}.lottery-my-order-actions>a{flex:1}.lottery-my-orders .lottery-card-heading{align-items:flex-start;flex-wrap:wrap}.lottery-status-head{align-items:flex-start;flex-direction:column}.lottery-status-head h1{font-size:17px}.lottery-edit-notice{font-size:11px;padding:12px}}

.lottery-draft-limit{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#7486a1;line-height:2;margin:-5px 0 22px}.lottery-draft-limit>i{margin-top:6px;color:#8ca4d0;flex-shrink:0}.lottery-roster .lottery-add-person:disabled{background:#eef2f7;color:#96a3b5;box-shadow:none;border-color:#e5eaf2;cursor:not-allowed;transform:none}
#lotteryRemoveModal .modal-title{font-size:18px}#lotteryRemoveModal .modal-message{font-size:13px;line-height:2.1}#lotteryRemoveModal .modal-message strong{overflow-wrap:anywhere}#lotteryRemoveModal .modal-actions .btn{font-size:13px}@media(prefers-reduced-motion:reduce){#lotteryRemoveModal,#lotteryRemoveModal .modal-card{transition:none}}
