@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#111b18;--card:#192720;--card2:#1e3027;--gold:#e6b962;--cream:#f6f0df;--muted:#afb9aa;--red:#9d3d39;--border:rgba(236,207,155,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font:400 15px/1.7 'DM Sans','Noto Sans KR','Malgun Gothic',sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}img{max-width:100%}main,header,footer{position:relative;z-index:1}.ambient{position:fixed;border-radius:100%;pointer-events:none;opacity:.42;filter:blur(105px);z-index:0}.ambient-a{width:340px;height:300px;background:#503f25;top:5%;right:-140px}.ambient-b{width:250px;height:320px;background:#334b3a;top:75%;left:-180px}.snow{position:absolute;pointer-events:none;width:100%;height:630px;background-image:radial-gradient(circle,#eccfa39e 1px,transparent 1.5px),radial-gradient(circle,#f8dfa64d 1px,transparent 1px);background-size:79px 113px,137px 91px;background-position:17px 26px,40px 10px;opacity:.25}.site-header{max-width:1200px;padding:25px 36px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;gap:11px;align-items:center}.brand img{width:50px;height:50px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.25}.brand b{font-size:19px;font-weight:800;letter-spacing:-1px}.brand small{font-size:9px;letter-spacing:3.2px;color:var(--gold);font-weight:700;margin-top:5px}.header-nav{font-size:13px;font-weight:600;display:flex;gap:22px;align-items:center}.header-nav span{color:var(--gold);font-size:17px}.hero{max-width:1200px;margin:auto;min-height:615px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:15px;padding:45px 36px 58px}.hero-copy{position:relative;z-index:2}.eyebrow,.kicker,.hero-date,.panel-serial{letter-spacing:2.5px;font-size:11px;font-weight:800;color:var(--gold)}.eyebrow{display:inline-flex;align-items:center;gap:11px;background:rgba(229,188,107,.08);border:1px solid rgba(229,188,107,.22);border-radius:50px;padding:8px 13px}.eyebrow-dot{width:6px;height:6px;border-radius:100%;background:var(--gold);box-shadow:0 0 15px var(--gold)}.hero-date{margin:35px 0 10px;letter-spacing:3px;color:#adb3a0}.hero h1{font-size:clamp(39px,4.8vw,66px);letter-spacing:-3.5px;line-height:1.27;font-weight:900;margin:0}.hero h1 em,.section-head em{color:var(--gold);font-style:normal}.hero-desc{margin:21px 0 31px;font-size:16px;line-height:2;color:#c4ccbe}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:9px;padding:15px 25px;font-size:14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:51px;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gold);color:#19251c;box-shadow:0 10px 30px #e6b9621d}.btn-primary:hover{background:#f1c97e}.btn-ghost{background:#28372c;border:1px solid var(--border);color:var(--cream)}.btn-outline{border:1px solid #957b54;color:var(--gold);background:transparent}.hero-foot{font-size:12px;color:#8d988b;margin-top:31px}.tiny-star{color:var(--gold)}.hero-art{position:relative;align-self:center;min-width:0}.hero-art img{width:112%;max-width:none;margin-left:-4%;filter:drop-shadow(0 40px 60px #0005)}.art-stamp{position:absolute;right:5%;top:13%;width:100px;height:100px;border:1.5px dashed #f2d28c;border-radius:100%;display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(12deg);font-size:13px;line-height:1.5;font-weight:900;letter-spacing:1px;color:#f7d88e;opacity:.8}.ticker{background:#dbc18c;color:#253027;overflow:hidden;padding:10px 0;text-align:center;font-weight:900;font-size:11px;white-space:nowrap;letter-spacing:2.3px}.ticker div{display:inline-block;min-width:100%}.event-section{padding:103px 24px 108px;max-width:1040px;margin:auto}.section-head{text-align:center}.section-head h2{font-size:clamp(31px,4vw,48px);letter-spacing:-2.2px;line-height:1.35;margin:15px 0 16px;font-weight:900}.section-head p{color:var(--muted);line-height:1.9;font-size:14px}.event-panel{margin:43px auto 0;max-width:760px;background:linear-gradient(145deg,#22362a,#14231d);border:1px solid #81693a6e;border-radius:19px;padding:26px 39px 29px;box-shadow:0 33px 80px #0006;position:relative;overflow:hidden}.event-panel:after{content:'';position:absolute;pointer-events:none;inset:7px;border-radius:13px;border:1px solid rgba(222,188,115,.07)}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-serial{font-size:10px;letter-spacing:1.5px}.chip{border-radius:99px;font-size:10px;padding:5px 10px;font-weight:800;white-space:nowrap}.chip-live{background:#476346;color:#e5f8d3}.chip-demo{background:#664d2f;color:#ffe2a8}.panel-image{height:163px;display:flex;align-items:center;justify-content:center;margin:7px auto -7px}.panel-image img{height:163px;width:auto;filter:drop-shadow(0 18px 20px #0006)}.panel-copy{text-align:center}.panel-copy h3{font-size:24px;letter-spacing:-1px;margin:11px 0 0}.panel-copy p{color:#b8c4b8;margin:4px auto 22px;font-size:13px}.gift-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:26px 0 12px}.gift-box{background:rgba(252,235,189,.05);border:1px solid rgba(236,201,130,.15);border-radius:11px;padding:17px 5px 11px;color:#c9c5b5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;transition:transform .18s,background .18s,border-color .18s;min-height:114px}.gift-box:hover,.gift-box:focus-visible{transform:translateY(-6px);border-color:var(--gold);background:#e4b45e16;outline:0}.gift-box:disabled{opacity:.55;cursor:not-allowed;transform:none}.gift-box.picked{border-color:var(--gold);background:#e6b96222;transform:translateY(-7px)}.gift-shape{height:60px;width:60px;display:block;position:relative;filter:drop-shadow(0 8px 7px #0005)}.gift-base{position:absolute;bottom:2px;left:7px;right:7px;height:38px;background:linear-gradient(120deg,#b74942,#87302d);border-radius:3px}.gift-base:before{content:'';position:absolute;background:#e5bb73;width:10px;top:0;bottom:0;left:calc(50% - 5px)}.gift-lid{position:absolute;z-index:1;left:4px;right:4px;top:11px;height:13px;background:#d05e52;border-radius:3px}.gift-lid:before{content:'';position:absolute;background:#e5bb73;width:10px;top:0;bottom:0;left:calc(50% - 5px)}.gift-bow{z-index:2;position:absolute;top:0;left:calc(50% - 6px);width:12px;height:14px;background:#e8bd78;border-radius:7px 7px 3px 3px}.gift-bow:before,.gift-bow:after{content:'';position:absolute;width:16px;height:11px;border:4px solid #e8bd78;border-radius:13px 13px 0 13px;top:-2px}.gift-bow:before{right:7px;transform:rotate(22deg)}.gift-bow:after{left:7px;transform:scaleX(-1) rotate(22deg)}.gift-box:nth-child(even) .gift-base{background:linear-gradient(130deg,#5b8060,#34583f)}.gift-box:nth-child(even) .gift-lid{background:#72967a}.gift-box:nth-child(3n) .gift-base{background:linear-gradient(120deg,#9f6b33,#764521)}.gift-box:nth-child(3n) .gift-lid{background:#b98b42}.gift-label{font-size:10px;letter-spacing:1px;font-weight:800;color:#b6aa8b}.game-hint{text-align:center;color:#e8c990;font-weight:700;font-size:13px;min-height:25px}.event-note{border-top:1px solid rgba(215,190,146,.13);padding-top:17px;text-align:center;color:#b0b4a6;font-size:11px;line-height:1.7}.result-area{text-align:center;animation:rise .3s ease;position:relative;z-index:4;background:#122018;border:1px solid #b3915580;border-radius:12px;padding:25px 16px;margin:20px 0}.result-sparkle{color:var(--gold);font-size:31px}.result-sub{color:var(--gold);font-size:11px;letter-spacing:3px;font-weight:800}.result-area h4{font-size:28px;margin:8px 0;letter-spacing:-.7px}.result-area p{color:#bfccbb;margin:5px 0 20px;font-size:13px}.result-code{display:inline-block;padding:10px 16px;background:#f0e3bd;color:#29372c;font:800 15px/1.3 monospace;letter-spacing:1px;border-radius:6px;margin-bottom:12px;word-break:break-all}.qr-box{background:white;padding:10px;max-width:206px;margin:0 auto 16px;border-radius:9px}.qr-box svg{display:block;width:100%}.result-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}.how-section{max-width:1080px;padding:0 30px 115px;margin:auto}.section-head-left{text-align:left}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:40px}.step{background:#1d2e25;border:1px solid var(--border);border-radius:12px;padding:25px 24px;min-height:216px}.step-num{color:#6f836f;font-size:12px;font-weight:800;letter-spacing:2px}.step-icon{margin:14px 0 5px;font-size:31px;color:var(--gold)}.step h3{font-size:17px;margin:0 0 6px}.step p{font-size:13px;line-height:1.75;color:#acb9ae;margin:0}.closing{max-width:1080px;margin:0 auto 80px;padding:29px 38px;background:#283b2f;border:1px solid #8171465b;border-radius:13px;display:flex;align-items:center;gap:28px}.closing img{width:100px;height:100px;object-fit:contain}.closing>div{flex:1}.closing h2{font-size:26px;margin:5px 0;letter-spacing:-1px}.closing p{font-size:13px;color:#b3c2b6;margin:0}.site-footer{max-width:1200px;margin:auto;border-top:1px solid var(--border);padding:25px 36px 35px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.5px;color:#829087}.site-footer a{margin-left:16px;color:#9eab9e}.season-soon{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;padding:30px}.season-soon h1{font-size:clamp(35px,7vw,64px);line-height:1.3;letter-spacing:-2px;margin:15px 0}.season-soon p{color:#a8b2ab;margin-bottom:27px}.admin-body{min-height:100vh;padding:20px;background:var(--bg)}.admin-wrap{max-width:620px;margin:55px auto;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px}.admin-wrap h1{margin:0 0 6px;font-size:25px}.admin-wrap h2{font-size:19px;margin:25px 0 12px}.admin-wrap p{color:var(--muted)}.field{width:100%;padding:13px 15px;color:var(--cream);background:#0f1a16;border:1px solid #546253;border-radius:8px;margin-bottom:14px}.admin-wrap label{font-size:13px;font-weight:700;display:block;margin:8px 0}.admin-wrap .btn{width:100%;margin:8px 0}.admin-info{background:#0b1712;padding:19px;border-radius:11px;border:1px solid var(--border);margin-top:20px}.admin-info strong{color:var(--gold)}.admin-status{padding:8px 12px;background:#2f4933;color:#d9ffdd;border-radius:7px;display:inline-block;font-size:12px;margin:9px 0}.admin-status.used{background:#642d28;color:#ffcac4}.msg{padding:13px;margin:15px 0;border-radius:8px;background:#523a22;color:#fff4d2}.scanner{background:#0e1a13;border-radius:12px;max-width:100%;overflow:hidden;display:none;margin:15px 0}.scanner video{max-width:100%;width:100%;height:280px;object-fit:cover}.scanner.open{display:block}.coupon-card{margin:50px auto;max-width:440px;background:#24392c;border:1px solid #ac8752;border-radius:18px;padding:30px;text-align:center}.coupon-card .qr-box{margin:18px auto}.coupon-card code{font-weight:800;font-size:15px;overflow-wrap:anywhere}.coupon-card h1{font-size:27px}.coupon-card p{color:#c6cfbf}.coupon-card .muted{font-size:12px;color:#aab4a5}.coupon-card .warning{padding:13px;color:#ffe1a4;background:#483d25;border-radius:10px}.coupon-card .red{color:#ffb6b6}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:880px){.hero{grid-template-columns:1fr;padding-top:62px;min-height:0;text-align:center;gap:0}.hero-copy{order:1}.hero-art{order:0;max-width:470px;margin:-45px auto -60px}.hero-art img{width:100%;margin:0}.art-stamp{right:5%;top:20%;width:75px;height:75px;font-size:10px}.hero-actions{justify-content:center}.hero-date{margin-top:20px}.hero-foot{margin-bottom:25px}.site-header{padding:16px 22px}.event-section{padding-top:76px}.closing{margin:0 22px 70px}}
@media(max-width:650px){.brand img{width:42px;height:42px}.brand b{font-size:16px}.brand small{font-size:8px}.header-nav{font-size:11px}.hero{padding:25px 20px 59px}.hero-art{width:100%;margin:-15px auto -40px}.hero h1{font-size:clamp(36px,9vw,48px);letter-spacing:-2.5px}.hero-desc{font-size:14px}.hero-date{font-size:9px}.eyebrow{font-size:9px;letter-spacing:1.4px}.btn{font-size:13px;padding:13px 18px;gap:10px}.event-section{padding:72px 14px}.event-panel{padding:18px 14px;border-radius:15px}.gift-grid{grid-template-columns:repeat(3,1fr);gap:8px}.gift-box{min-height:98px;padding:12px 5px 9px}.gift-shape{transform:scale(.82);margin:-3px 0}.section-head h2{font-size:33px;letter-spacing:-1.4px}.steps{grid-template-columns:1fr;gap:10px}.step{min-height:0;padding:21px;display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:12px}.step-num{grid-column:1;grid-row:1;font-size:11px}.step-icon{grid-column:1;grid-row:2;margin:0}.step h3{grid-column:2;grid-row:1}.step p{grid-column:2;grid-row:2}.how-section{padding:0 23px 75px}.closing{flex-direction:column;align-items:center;text-align:center;padding:26px 20px;gap:12px}.closing img{width:75px;height:75px}.closing h2{font-size:23px}.site-footer{flex-direction:column;gap:10px;text-align:center;padding:25px 10px}.panel-image{height:140px}.panel-image img{height:145px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* V1.1: 홈페이지 상단 관리자 로그인 버튼 */
.header-tools{display:flex;align-items:center;justify-content:flex-end;gap:17px}
.admin-entry,.season-admin-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(230,185,98,.35);border-radius:999px;padding:8px 13px;color:#e1cc99;background:rgba(230,185,98,.08);font-size:12px;font-weight:800;line-height:1.3;white-space:nowrap;transition:background .2s,border-color .2s}
.admin-entry:hover,.admin-entry:focus-visible,.season-admin-entry:hover,.season-admin-entry:focus-visible{background:rgba(230,185,98,.2);border-color:var(--gold);outline-offset:3px}
.season-admin-entry{position:absolute;top:24px;right:28px}
@media(max-width:650px){.site-header{gap:10px}.header-tools{gap:10px}.admin-entry{font-size:10px;padding:7px 9px}.header-nav{font-size:11px}}
@media(max-width:420px){.header-tools>.header-nav{display:none}.season-admin-entry{top:14px;right:14px}}

/* V1.3 coupon/verification */
.admin-brand{display:flex;align-items:center;gap:13px;margin-bottom:20px}
.admin-brand h1{margin:0;font-size:24px}
.remember-line{display:flex!important;align-items:center;gap:10px;padding:8px 0 13px;cursor:pointer}
.remember-line input{width:19px;height:19px;accent-color:var(--gold)}
.admin-tip{background:#2b422f;border:1px solid #5d7857;padding:13px 14px;border-radius:10px;color:#e1eed8;margin-bottom:20px}
.admin-info h2{font-size:23px;color:#f3d79c;margin:13px 0}
.admin-info p{line-height:1.6;font-size:13px;overflow-wrap:anywhere}
.admin-info strong{color:#ffe1a7}
.coupon-state{display:inline-block;border-radius:999px;padding:8px 13px;margin:13px 0;color:#d9f3dd;background:#2b6038;font-weight:800;font-size:13px}
.coupon-state-used,.coupon-state-expired{color:#ffd3c9;background:#7a312e}
.coupon-state-waiting{background:#5b4826;color:#ffe2a7}
.msg-success{background:#244f37;color:#ddffe7}
.small-muted{font-size:12px!important;color:#a9b9a9!important;line-height:1.7}
.warning{background:#694825!important;color:#ffdb93!important;padding:12px;border-radius:9px}
.coupon-page{padding:16px 16px 50px}
.coupon-v13{margin:18px auto 0;padding:27px 24px 30px}
.coupon-v13 .grade-star{display:table;margin:15px auto 8px;color:#1c2d20;background:#e9c476;padding:5px 20px;border-radius:99px;font-weight:900}
.coupon-v13 h1{font-size:clamp(21px,6vw,30px);line-height:1.4;margin:15px 0}
.coupon-v13 .qr-box{max-width:245px;margin:15px auto 10px}
.coupon-instruction{font-size:12px!important;line-height:1.8!important}
.coupon-code-label{font-size:12px!important;letter-spacing:.7px}
.coupon-details{border-top:1px dashed #8b7959;border-bottom:1px dashed #8b7959;padding:9px 0;margin:20px 0;text-align:left}
.coupon-details div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0}
.coupon-details span{font-size:12px;color:#bfc9b8;white-space:nowrap}
.coupon-details b{font-size:12px;color:#f8e1ad;text-align:right;word-break:keep-all}
.selection-panel{padding:10px 0 16px}
.option-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.option-buttons .btn{flex:1;min-width:115px;font-size:12px;padding:10px 12px;min-height:45px}
.picked-option{color:#cfeccb!important;font-weight:700}
.save-coupon,.coupon-v13>.btn{display:flex;width:100%;margin:13px auto!important;justify-content:center}
@media(max-width:420px){.coupon-v13{padding:23px 16px}.admin-wrap{padding:20px;margin:30px auto}.coupon-details b{font-size:11px}}

/* V1.4 — optional 1~3 winner nickname registration and separate hall of luck */
.winners-cta{width:calc(100% - 36px);max-width:1000px;margin:0 auto 115px;padding:42px 32px;border:1px solid #846c3e77;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;background:linear-gradient(110deg,#2a3c2b,#19291f)}
.winners-cta>div{width:100%;max-width:700px;margin:0 auto}.winners-cta .btn{width:auto;min-width:230px;max-width:100%;margin:0 auto}
.winners-cta h2{font-size:31px;margin:6px 0}.winners-cta p{color:#c4ccbb;font-size:14px;margin:5px 0;line-height:1.9}
.winners-wrap{max-width:760px;margin:0 auto;padding:53px 22px 90px}.winners-masthead{text-align:center;margin:10px auto 40px}.winners-masthead h1{font-size:clamp(32px,6vw,51px);margin:5px 0;letter-spacing:-1.6px}.winners-masthead p{color:#bfccba;font-size:14px}.winners-crown{font-size:55px;margin:12px auto}.winners-notice{padding:16px 18px;margin:22px 0;border-radius:12px;background:#503d25;color:#ffe2aa;font-size:13px;line-height:1.8}.winners-list{border:1px solid #785f3a88;background:#1d2c24;border-radius:16px;overflow:hidden}.winner-item{display:flex;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid #edd9af1d}.winner-item:last-child{border-bottom:0}.winner-medal{font-size:32px}.winner-body{flex:1;display:flex;flex-direction:column;min-width:0;gap:1px}.winner-body strong{font-size:17px;color:#ffe2a2;overflow-wrap:anywhere}.winner-body span{font-size:12px;color:#c4cbbb;overflow-wrap:anywhere}.winner-item time{font-size:11px;color:#b1b7a6;white-space:nowrap}.winners-empty{text-align:center;padding:50px 15px;border:1px solid #705a3c88;background:#1c2c23;border-radius:16px}.winners-empty span{font-size:48px}.winners-empty h2{font-size:21px}.winners-empty p,.winners-footnote{font-size:12px;color:#aab9ad;line-height:1.8}.winners-footnote{text-align:center;padding:18px 0}.winners-back{margin:20px auto 0;display:flex;width:max-content}.nickname-panel{margin:26px -7px 15px;padding:21px 17px;border:1px solid #c9aa6b7a;background:#192a20;border-radius:14px;text-align:left}.nickname-panel h2{font-size:19px;color:#f5d699;line-height:1.5;margin:7px 0}.nickname-panel .small-muted{font-size:12px}.nickname-panel .field{margin:7px 0}.nickname-panel .btn{width:100%;margin:6px 0}.nick-label{display:block;font-weight:700;font-size:13px;margin-top:8px}.nick-agree{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;margin:8px 0 14px;color:#e4e9d5}.nick-agree input{accent-color:#e6b962;flex:0 0 auto;margin-top:3px;width:17px;height:17px}.nickname-saved{color:#d9f9d2!important;padding:12px;background:#284d33;border-radius:8px}.nickname-board-link{display:block;color:#ffe2a2;font-weight:800;margin-top:18px;font-size:13px;text-align:center}
@media(max-width:650px){.winners-cta{width:calc(100% - 28px);margin:0 auto 70px;padding:28px 20px;text-align:center}.winners-cta h2{font-size:26px}.winners-cta .btn{width:100%;min-width:0}.winner-item{padding:15px 12px;gap:10px}.winner-item time{font-size:10px}.winner-medal{font-size:25px}}

.result-nickname{margin-top:22px;background:#283b2d;padding:19px;border-radius:12px;border:1px solid #d1ad6c77;text-align:left}.result-nickname label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.result-nickname .nick-agree{display:flex;font-weight:400}.result-nickname .field{margin:0 0 12px}.result-nickname .btn{width:100%}.result-nickname p{font-size:12px;line-height:1.8;color:#d0d9c7}.result-nickname #resultNicknameMessage{color:#f4db9c;margin-top:9px}.result-nickname h4{font-size:19px;text-align:center}

/* V1.5: 관리자에게만 보이는 사용 내역 메뉴 */
.admin-used-entry,.season-used-entry{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(230,185,98,.48);border-radius:999px;padding:8px 12px;color:#ffe2a2;background:rgba(230,185,98,.13);font-size:12px;font-weight:800;white-space:nowrap}
.season-used-entry{position:absolute;top:24px;right:153px;z-index:4}
@media(max-width:650px){.admin-used-entry{font-size:10px;padding:7px 9px}.season-used-entry{top:14px;right:133px}}
