@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:dark;--ink:#f6f1ff;--muted:#a8a1c9;--gold:#f6ce80;--lime:#bafb46;--purple:#a65aff;--line:#72568b;--panel:#18142d;--bg:#0b0b1e;font-family:'Noto Sans KR',system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 70% 44% at 54% 26%,#4e1d7d 0%,#201341 43%,transparent 86%),linear-gradient(125deg,#0b0919,#170d34 39%,#130b2e 68%,#080919);color:var(--ink);overflow-x:hidden}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.75;z-index:-1;background-image:radial-gradient(1px 1px at 3% 12%,#fff 100%,transparent),radial-gradient(1px 1px at 28% 45%,#fff 100%,transparent),radial-gradient(2px 2px at 66% 8%,#ffeeae 100%,transparent),radial-gradient(1px 1px at 88% 32%,#fff 100%,transparent),radial-gradient(2px 2px at 48% 22%,#fff 100%,transparent),radial-gradient(1px 1px at 12% 78%,#fff 100%,transparent);background-size:280px 260px,350px 270px,480px 320px,450px 350px,590px 400px,380px 290px}.cosmos{position:fixed;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.flare{position:absolute;border-radius:50%;filter:blur(65px);opacity:.33}.flare.one{width:350px;height:350px;background:#a73ff4;left:18%;top:22%}.flare.two{width:550px;height:300px;background:#6c339b;right:5%;bottom:10%}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}a{color:inherit;text-decoration:none}.masthead{height:78px;display:flex;align-items:center;gap:25px;padding:0 clamp(20px,3vw,52px);background:linear-gradient(90deg,#11152fe8,#141029f0);border-bottom:1px solid #9f77c75e;box-shadow:0 9px 24px #03040a60}.brand{display:flex;align-items:center;gap:10px;font-size:24px;letter-spacing:-1px}.brand-symbol{display:grid;place-items:center;background:linear-gradient(140deg,#6548ff,#ae77ff);border-radius:13px;color:white;width:42px;height:39px;box-shadow:0 0 17px #714ad37d}.bar-separator{height:27px;width:1px;background:#69617e}.mast-title{display:flex;gap:9px;align-items:center;font-size:21px}.fourleaf{font-size:24px;color:#aafa4b}.head-actions{margin-left:auto;display:flex;gap:12px}.top-control{border:0;background:transparent;color:#dfd8ed;font-size:14px;padding:9px 8px}.top-control:hover{color:var(--lime)}.top-control.help{border:1px solid #9c80b8;border-radius:100%;width:33px;height:33px;padding:0}.site-layout{max-width:1800px;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr) 282px;gap:22px;padding:28px clamp(18px,2vw,36px) 20px;align-items:start}.aside{border:1px solid #685381;border-radius:22px;background:linear-gradient(155deg,#1d1835e8,#161127e8);box-shadow:0 18px 44px #03040c6b,inset 0 0 0 1px #ffffff08}.left-panel{min-height:668px;padding:22px 14px}.menu-hero{text-align:center;padding:15px 8px 24px}.menu-clover{display:block;font-size:68px;color:var(--lime);text-shadow:0 0 32px #b1fc7599}.menu-kicker{font-size:10px;letter-spacing:2px;color:#eec989}.menu-hero h2{font-size:23px;margin:6px 0 9px;line-height:1.3}.menu-hero p{font-size:12px;line-height:1.9;color:#bbb0d0;margin:0}.menu-tabs{display:grid;gap:10px;padding-bottom:23px;border-bottom:1px solid #574a6a}.menu-tab{background:transparent;border:1px solid transparent;border-radius:13px;padding:14px 14px;color:#c8bbdf;text-align:left;font-size:14px;font-weight:700}.menu-tab span{color:var(--gold);display:inline-block;width:30px;font-size:18px}.menu-tab.selected,.menu-tab:hover{border-color:#c3f44c;background:linear-gradient(120deg,#273b1e,#152119);color:#dcff9e;box-shadow:0 0 16px #a9f24726}.left-reward{text-align:center;padding:20px 7px 5px}.treasure-icon{font-size:57px;line-height:1.2;color:#ffcd68;text-shadow:0 0 22px #ffad43}.left-reward strong{font-size:13px;color:#ffdf9c}.left-reward p{font-size:11px;line-height:1.8;color:var(--muted)}.main-stage{min-width:0}.hero{text-align:center;padding:0 0 18px}.hero-crown{color:#ffdfa3;text-shadow:0 0 21px #ffa600;font-size:23px;line-height:1}.eyebrow{font-size:11px;letter-spacing:3px;color:#c2a6eb;margin:9px 0 4px}.hero h1{font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-weight:400;font-size:clamp(35px,4vw,66px);line-height:1.34;letter-spacing:1px;margin:2px 0 0;background:linear-gradient(#fff7d4 20%,#ffcf75 64%,#ef86b4);color:transparent;background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 3px 8px #370e4b)}.hero h1 em{font-style:normal;color:#dfabff;-webkit-text-fill-color:#e0adff}.ribbon{display:inline-flex;align-items:center;justify-content:center;margin-top:4px;border:1px solid #d7a0fa;padding:7px 33px;border-radius:100px;background:linear-gradient(90deg,#59247e,#8e42b9,#512475);box-shadow:inset 0 1px 0 #e7bcfb88,0 6px 24px #702f9c8c;color:#fff4ff;font-size:17px;font-weight:800}.hero-subtitle{color:#cdc0dd;font-size:12px;margin:14px 0 0}.game-region{position:relative}.mode-switch{display:flex;justify-content:center;gap:7px;margin:0 auto 13px}.mode-pill{border:1px solid #70547f;background:#161027bd;color:#c7b5da;padding:9px 20px;border-radius:28px;font-size:13px;font-weight:700;transition:all .18s}.mode-pill.active{color:#ecffd1;background:linear-gradient(#343f20,#19271f);border-color:#b0ea5d;box-shadow:0 0 14px #b8ff4b39}.mode-pill:hover{transform:translateY(-1px)}.game-state-row{display:flex;justify-content:space-between;align-items:center;padding:2px 20px 8px;color:#dfc9a6;font-size:11px;letter-spacing:1px}.status-tag{border:1px solid #bfa37b77;background:#3c2858a8;padding:5px 9px;border-radius:14px;color:#ead7f5;letter-spacing:0}.ticket{position:relative;overflow:hidden;width:100%;min-height:280px;aspect-ratio:2.05;border:6px solid #fdd379;border-radius:29px;background:radial-gradient(ellipse at 35% 48%,#d3637a3b,transparent 45%),repeating-conic-gradient(from 2deg at 20% 60%,#6a1d47 0deg 7deg,#771c50 7deg 14deg),linear-gradient(135deg,#88375d,#4c153d);box-shadow:0 0 0 3px #8e3c40,0 0 0 6px #ffe2a83b,0 22px 46px #0008,inset 0 0 37px #f6a74c8e;display:grid;grid-template-columns:40% 60%;align-items:stretch}.ticket:before{content:'';pointer-events:none;position:absolute;inset:9px;border:2px solid #ffd79b8a;border-radius:19px;z-index:2}.ticket:after{content:'✦';position:absolute;left:50%;top:-21px;transform:translateX(-50%);font-size:36px;color:#ffeab7;text-shadow:0 0 15px #ffa950;z-index:4}.ticket-cut{position:absolute;z-index:4;right:39%;width:22px;height:22px;background:#1f1038;border:4px solid #f5bd7f;border-radius:50%}.ticket-cut.top{top:-15px}.ticket-cut.bottom{bottom:-15px}.ticket-shine{pointer-events:none;position:absolute;inset:0;z-index:1;background:linear-gradient(113deg,transparent 30%,#ffffff1b 37%,transparent 43%);mix-blend-mode:screen}.ticket-copy{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:6px;padding:12px 5px}.ticket-emblem{font-size:clamp(32px,4vw,60px);color:#ffe696;text-shadow:0 0 18px #ffc46c}.ticket-mini{font-size:clamp(8px,.9vw,13px);letter-spacing:3px;color:#fff0b9;font-weight:700;margin:0}.ticket-copy h2{margin:0;color:#fff6db;font-family:'Black Han Sans',sans-serif;font-size:clamp(28px,3.4vw,51px);font-weight:400;line-height:1.3;filter:drop-shadow(0 3px 2px #4a113a)}.ticket-copy h2 b{color:#ffc76a;font-weight:400}.ticket-hint{font-size:clamp(10px,1vw,13px);color:#ffdefb}.foil-box{position:relative;z-index:3;margin:clamp(18px,2vw,32px) clamp(22px,2vw,33px) clamp(18px,2vw,32px) 10px;min-height:205px;border:3px solid #efc075;border-radius:15px;background:radial-gradient(ellipse,#37104d,#150f32);overflow:hidden;box-shadow:0 7px 28px #260924,inset 0 0 17px #c488bb}.hidden-prize{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(ellipse at center,#4a275f,#26152f 75%);padding:6px;text-align:center}.hidden-prize[data-theme="diamond"]{background:radial-gradient(ellipse,#9b65ba,#301d66 75%)}.hidden-prize[data-theme="gold"]{background:radial-gradient(ellipse,#6e4922,#301b36 75%)}.hidden-prize[data-theme="green"]{background:radial-gradient(ellipse,#3c5034,#211b34 75%)}.prize-crown{font-size:clamp(30px,3vw,49px);line-height:1}.prize-rank{font-family:'Black Han Sans',sans-serif;font-size:clamp(30px,5vw,72px);color:#ffecb2;text-shadow:0 3px 6px #21152d}.prize-tag{color:#dcb5ff;font-weight:800;font-size:clamp(13px,1.4vw,21px)}.prize-desc{font-size:clamp(10px,.9vw,13px);margin:8px 0 0;color:#decfdf}#scratch-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:none;cursor:crosshair}.scratch-overlay{position:absolute;pointer-events:none;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#464452;text-shadow:0 1px #fff;font-weight:900;z-index:3;transition:opacity .25s}.scratch-overlay span{font-size:clamp(31px,4vw,61px);line-height:1.2}.scratch-overlay small{font-size:clamp(10px,1vw,14px)}.scratch-overlay.faded{opacity:0}.scratch-progress{display:flex;align-items:center;justify-content:center;gap:13px;padding:18px 0 10px;color:#d5c5e1;font-size:11px}.scratch-progress strong{color:var(--lime)}.progress-track{height:7px;max-width:165px;flex:1;background:#4d385d;border-radius:12px;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,#a0ff59,#f2d26d);border-radius:inherit;transition:width .15s}.action-strip{display:flex;justify-content:center;gap:15px;margin:10px 0}.button{min-height:57px;border-radius:100px;padding:10px 25px;font-size:16px;font-weight:900;border:2px solid transparent;transition:transform .17s,filter .17s;box-shadow:0 10px 20px #04000f70}.button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.button-main{color:#1f2b12;background:linear-gradient(180deg,#f7ff99,#cbff45 56%,#8ad52b);border-color:#faffb1;box-shadow:0 0 22px #c0ff4275,0 8px 12px #050b0a}.button-secondary{color:white;background:linear-gradient(#6b37a6,#4c227b);border-color:#ce91ff;box-shadow:0 0 16px #823fc36b}.notice{text-align:center;color:#ada2be;font-size:11px;line-height:1.7}.result-tray{margin:22px auto 0;border:1px solid #a57dcc;border-radius:17px;background:linear-gradient(135deg,#39214cf0,#1a142c);padding:17px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 8px 27px #0006}.result-tray[hidden]{display:none}.result-overline{letter-spacing:2px;font-size:10px;color:#d7a772}.result-tray h2{margin:3px 0;font-size:22px;color:#ffe6a8}.result-tray p{margin:0;color:#cfc1d9;font-size:12px}.result-tools{display:flex;gap:8px}.subtle-button{border:1px solid #8753ab;background:#211936;color:#ddc8f1;border-radius:8px;padding:12px;font-size:12px;white-space:nowrap}.subtle-button:hover{background:#3e285c}.feature-row{display:flex;justify-content:space-between;gap:13px;flex-wrap:wrap;margin:24px 0 0;color:#9f95bb;font-size:10px}.feature-row div{display:flex;gap:5px;align-items:center}.feature-row strong{color:var(--lime)}.right-panel{border:0;background:none;box-shadow:none;display:grid;gap:17px}.sidebar-box{border:1px solid #a37ac0;border-radius:19px;padding:22px 17px;background:linear-gradient(150deg,#29203fef,#15152de8);box-shadow:0 13px 28px #08051080,inset 0 1px 0 #ffffff10}.sidebar-box h2{color:#ffdfa1;margin:0;font-size:16px}.sidebar-box h2 span{color:#ffbc41}.sidebar-label{margin:5px 0 16px;color:#c6acc8;font-size:11px}.odds-list{display:grid;gap:8px}.odds-list>div{border:1px solid #795b91;border-radius:10px;background:#2f2446;display:flex;justify-content:space-between;align-items:center;gap:3px;padding:13px 10px;font-size:12px}.odds-list>div:first-child{border-color:#a47d49;background:linear-gradient(90deg,#523c33,#36243e)}.odds-list strong{font-size:11px;color:#fff2dc;white-space:nowrap}.odd-name{font-weight:900;font-size:15px}.tiny-disclaimer{border-top:1px solid #7f678a;padding-top:15px;color:#d0bed8;font-size:11px;line-height:1.9}.record-box h2{font-size:15px;margin-bottom:12px}.records-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.records-grid>div{background:#322341;border-radius:10px;padding:12px;display:grid;gap:3px;text-align:center}.records-grid span{font-size:10px;color:#bbacd0}.records-grid b{color:#fbe0ab;font-size:18px}.record-note{color:#a89dbb;font-size:10px;margin:12px 0 0}footer{max-width:1700px;padding:20px;margin:auto;text-align:center;font-size:10px;color:#a69dbc}footer a{color:#ddc0ff;text-decoration:underline}.modal{border:1px solid #aa81cc;border-radius:23px;padding:0;color:#fff;background:#1b1731;max-width:min(440px,90vw);box-shadow:0 25px 90px #000b}.modal::backdrop{background:#070611cc}.modal-inner{padding:27px;position:relative}.close-modal{position:absolute;top:15px;right:15px;background:none;border:0;color:#d9c8ec}.modal-icon{font-size:49px;color:var(--lime)}.modal h2{font-size:26px}.modal p{line-height:1.8;font-size:14px;color:#e0d5eb}.modal p.modal-small{font-size:12px;color:#b7a7c5}.modal .button{width:100%}#confetti-layer{position:fixed;inset:0;z-index:60;pointer-events:none;overflow:hidden}.confetto{position:absolute;top:-20px;width:9px;height:14px;animation:fall linear forwards;box-shadow:0 0 6px #ffd9897c}@keyframes fall{to{transform:translate(var(--horizontal),115vh) rotate(660deg);opacity:0}}@media(max-width:1370px){.site-layout{grid-template-columns:200px minmax(0,1fr) 234px;gap:14px;padding:20px 16px}.left-panel{padding:15px 10px}.odds-list>div{padding:10px 7px}.odd-name{font-size:13px}.odds-list strong{font-size:10px}.ticket{min-height:248px}.hero h1{font-size:clamp(36px,4vw,51px)}}@media(max-width:1080px){.site-layout{grid-template-columns:1fr minmax(0,2.6fr);gap:15px}.right-panel{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,1fr)}.left-panel{min-height:0}.hero h1{font-size:46px}.odds-list{grid-template-columns:repeat(2,1fr)}.odds-list>div:last-child{grid-column:1/-1}.ticket{min-height:300px}.ticket-copy h2{font-size:42px}}@media(max-width:760px){.masthead{height:63px;gap:10px;padding:0 13px}.brand{font-size:18px}.brand-symbol{width:31px;height:30px}.mast-title{font-size:14px}.head-actions{gap:0}.top-control{padding:7px}.top-control span{display:none}.bar-separator{height:18px}.site-layout{grid-template-columns:1fr;padding:17px 12px;gap:15px}.left-panel{display:none}.hero h1{font-size:42px}.hero-subtitle{font-size:11px}.hero{padding-bottom:13px}.right-panel{display:flex;flex-direction:column}.sidebar-box{padding:17px}.odds-list{grid-template-columns:1fr}.odds-list>div:last-child{grid-column:auto}.ticket{min-height:235px;border-width:4px;border-radius:19px;aspect-ratio:1.78}.ticket-copy h2{font-size:clamp(23px,6vw,37px)}.ticket-emblem{font-size:35px}.foil-box{margin:20px 12px 20px 3px;min-height:180px;border-width:2px}.prize-rank{font-size:42px}.prize-crown{font-size:32px}.ticket-hint{font-size:9px}.scratch-progress{flex-wrap:wrap;justify-content:space-between;padding:16px 0 8px}.scratch-progress>span:last-child{width:100%;text-align:center}.action-strip{gap:8px}.button{font-size:13px;padding:10px 15px;min-height:50px}.result-tray{flex-direction:column;align-items:stretch}.result-tools{width:100%}.result-tools button{flex:1}.feature-row{justify-content:center}.mode-pill{font-size:12px}.hero-crown{font-size:18px}.ribbon{font-size:14px}.odds-list>div{padding:12px}.odd-name{font-size:16px}.odds-list strong{font-size:12px}}@media(max-width:410px){.ticket{min-height:205px;aspect-ratio:1.85}.ticket-copy{gap:4px}.ticket-copy h2{font-size:22px}.ticket-emblem{font-size:26px}.ticket-mini{font-size:7px;letter-spacing:1px}.foil-box{min-height:157px;margin:17px 10px 17px 1px}.prize-rank{font-size:34px}.prize-desc{font-size:9px}.ticket-hint{display:none}.mast-title{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* Decorative lucky coin, never an interactive overlay over scratch area. */
.ticket-coin{position:absolute;right:-6px;bottom:5px;z-index:5;pointer-events:none;width:clamp(43px,5.8vw,81px);height:clamp(43px,5.8vw,81px);border:6px double #fff5bb;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 29% 25%,#fff3b1,#e6a53c 55%,#955211);color:#fff3a5;font-size:clamp(25px,3.2vw,46px);text-shadow:0 1px 3px #92491f;box-shadow:0 3px 13px #231123ad,0 0 19px #ffe38178;transform:rotate(-14deg)}

.noltap-logo{width:42px;height:42px;object-fit:contain}.brand-accent{color:#b4ff50}@media(max-width:760px){.noltap-logo{width:36px;height:36px}}
