:root{--green:#214A3C;--green-dark:#173D31;--cream:#F7F6F2;--paper:#FFFEFB;--gold:#B5A07A;--burgundy:#A52E36;--ink:#23332B;--muted:#7E867F;--line:#E9E6DE;--soft:#F0EFE9;--shadow:0 8px 34px rgba(37,55,42,.055);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#EDEEE9;color:var(--ink);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--green)}.wrap{max-width:1010px;min-height:100vh;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr);background:var(--cream);box-shadow:0 8px 70px #1112}.sidebar{background:#FAF9F5;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column;gap:35px}.brand{display:flex;align-items:center;gap:12px;color:var(--green);font-size:20px;font-weight:800;letter-spacing:-.8px}.brand .mark{width:48px;height:48px;flex-shrink:0}.brand b span{color:var(--burgundy)}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-btn{display:flex;align-items:center;gap:12px;padding:14px 13px;border:0;background:transparent;color:#68726B;text-align:left;border-radius:14px;font-weight:650}.nav-btn.active{background:#E8EEE9;color:var(--green)}.nav-btn svg{width:20px;height:20px;stroke-width:1.8}.sidebar-note{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.6}.main{min-width:0;padding:40px 44px 85px}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--gold);font-weight:800}.headline{margin:6px 0 0;font-size:28px;font-weight:770;letter-spacing:-1.2px;color:var(--green)}.page-sub{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.gear{border:1px solid var(--line);background:var(--paper);width:39px;height:39px;border-radius:13px;display:grid;place-items:center;color:var(--green)}.gear svg{width:19px}.panel{background:var(--paper);border:1px solid #EEEAE1;box-shadow:var(--shadow);border-radius:22px;padding:23px;margin-bottom:17px}.section-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.sectitle{font-size:16px;font-weight:760;letter-spacing:-.4px;margin:0}.small{font-size:12px;color:var(--muted)}.hint{color:var(--muted);font-size:13px;line-height:1.7}.tag{font-size:10px;border-radius:30px;padding:5px 10px;background:#F1EEE6;color:#8B7852;font-weight:700;white-space:nowrap}.tag.warn{background:#FAEEE5;color:#9A5F38}.tag.green{background:#E5F0E8;color:var(--green)}.tag.red{background:#FBE9EA;color:var(--burgundy)}.thin{border:none;border-top:1px solid var(--line);margin:15px 0}.place{display:flex;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid var(--line)}.place:last-child{border-bottom:0}.place i{font-style:normal;font-size:20px;color:var(--green)}.place .place-name{font-weight:680;font-size:14px}.place .place-address{font-size:11px;color:var(--muted);margin-top:4px}.place .place-right{margin-left:auto;display:flex;gap:7px;align-items:center}.btn{border:0;background:var(--green);color:#fff;padding:13px 20px;border-radius:13px;font-weight:730;letter-spacing:-.2px}.btn:disabled{cursor:not-allowed;opacity:.55}.btn:hover{filter:brightness(.96)}.btn.burgundy{background:var(--burgundy)}.btn.secondary{background:var(--soft);color:var(--green)}.btn.line{background:#fff;border:1px solid #D6D3C9;color:var(--green)}.btn.sm{font-size:12px;padding:9px 12px;border-radius:10px}.btn.full{width:100%}.btnrow{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.locked{text-align:center;padding:20px 8px 11px}.locked .iconbox{width:52px;height:52px;border:1px solid #E5DFD2;border-radius:17px;display:grid;place-items:center;color:var(--gold);background:#FAF7EF;margin:0 auto 14px;font-size:23px}.locked h3{margin:0 0 6px;font-size:18px}.locked p{margin:0 0 20px;color:var(--muted);font-size:12px}.summarybar{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:18px}.metric{background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:14px}.metric .v{font-size:23px;font-weight:820;color:var(--green);margin:5px 0 0;letter-spacing:-1.2px}.metric .l{color:var(--muted);font-size:11px}.info-strip{border-radius:14px;background:#F2F2EC;padding:12px 15px;font-size:12px;line-height:1.65;color:#626C63}.big-result{text-align:center;padding:19px;border:1px solid #E7DEC9;border-radius:18px;background:linear-gradient(135deg,#F9F5EB,#FFFDF8);margin:17px 0}.big-result .num{font-weight:820;font-size:28px;color:var(--green);letter-spacing:-1px;margin-top:7px}.big-result .label{font-size:12px;color:#8E8064}.big-result .tax{font-size:12px;color:#8D615A;margin-top:6px}.resultgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-box{background:#F5F4EF;padding:13px;border-radius:12px}.stat-box small{color:var(--muted);font-size:11px}.stat-box strong{display:block;margin-top:5px;font-size:16px}.score-row{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;font-size:13px}.score-row:last-child{border-bottom:0}.num-list{display:flex;flex-wrap:wrap;gap:5px}.ball{display:grid;place-items:center;width:28px;height:28px;border:1px solid #CDD2C8;border-radius:50%;font-size:12px;font-weight:650;background:#fff}.ball.hit{background:var(--green);border-color:var(--green);color:#fff}.ball.bonus{border-color:var(--gold);color:#8F7848;background:#FBF6E9}.game{border-bottom:1px solid var(--line);padding:13px 0}.game:last-child{border-bottom:0}.game-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:9px}.qty{font-size:11px;color:#9A804F;font-weight:750}.tabrow{display:flex;gap:6px;margin:14px 0}.pill{padding:10px 12px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:12px;font-weight:690;color:var(--muted)}.pill.sel{background:var(--green);color:#fff;border-color:var(--green)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}.field label{font-size:12px;font-weight:720;color:#555F58}.field input,.field select,.field textarea{width:100%;min-width:0;border-radius:11px;border:1px solid #DDDED6;background:#fff;padding:12px 11px;outline:0;color:var(--ink);font-size:13px}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #214A3C12}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.amounts .field{margin:0}.settings-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;gap:10px}.settings-row:last-child{border:0}.settings-row label{font-size:13px;font-weight:670}.toggle{appearance:none;width:43px;height:25px;background:#D6D7D0;border-radius:25px;position:relative;cursor:pointer;transition:.2s;flex-shrink:0}.toggle:checked{background:var(--green)}.toggle:after{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;border-radius:50%;background:white;transition:.2s}.toggle:checked:after{transform:translateX(18px)}.empty{border:1px dashed #D8D9D0;background:#FAFAF7;border-radius:14px;padding:23px 12px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.bottom{display:none}.modalbg{position:fixed;inset:0;background:#17281fc0;z-index:12;display:grid;place-items:center;padding:20px}.modal{max-height:90vh;overflow:auto;background:var(--cream);width:min(100%,500px);border-radius:22px;padding:25px;box-shadow:0 20px 80px #0003}.modal h3{margin:0 0 20px}.toast-show{opacity:1!important;transform:translateX(-50%) translateY(0)!important}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(12px);background:#1C3D30;color:white;border-radius:13px;padding:12px 18px;z-index:30;box-shadow:0 9px 25px #0002;font-size:12px;opacity:0;transition:.25s;pointer-events:none;max-width:calc(100% - 38px);text-align:center}#fx-layer{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.spark{position:absolute;top:-20px;animation:fall var(--duration,2.8s) cubic-bezier(.1,.3,.35,1) forwards;color:var(--gold);font-size:var(--size,17px);opacity:.8;text-shadow:0 0 8px #f6e6bd}@keyframes fall{0%{transform:translate3d(0,0,0) rotate(0);opacity:0}14%{opacity:1}100%{transform:translate3d(var(--dx,0px),110vh,0) rotate(var(--rot,200deg));opacity:0}}.mark svg{width:100%;height:100%}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.warning-text{color:var(--burgundy)}.scrolllist{max-height:440px;overflow-y:auto;padding-right:3px}.footnote{font-size:11px;color:#8C928C;line-height:1.65;margin-top:12px}.placeholder{color:var(--muted)}
@media(max-width:700px){body{background:var(--cream)}.wrap{display:block;min-height:100vh;box-shadow:none}.sidebar{display:none}.main{padding:26px 18px 112px}.headline{font-size:25px}.panel{padding:19px;border-radius:19px}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#FFFEFBF5;backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px 3px calc(10px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around}.bottom button{border:0;background:transparent;color:#8A9089;font-size:10px;min-width:58px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 0;font-weight:700}.bottom button.active{color:var(--burgundy)}.bottom svg{width:21px;height:21px;stroke-width:1.8}.summarybar{gap:6px}.metric{padding:12px}.metric .v{font-size:19px}.modal{padding:21px}.amounts{grid-template-columns:1fr}.resultgrid{grid-template-columns:1fr 1fr}.history-grid{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.main{padding-left:12px;padding-right:12px}.tabrow{flex-wrap:wrap}.headline{font-size:23px}.btn{padding:12px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.storage-warning{background:#FFF4E6;border:1px solid #E7C99D;color:#61411C;border-radius:15px;padding:16px;margin-bottom:18px;line-height:1.5}
.storage-warning strong{font-size:14px}.storage-warning p{margin:6px 0 12px;font-size:12px;line-height:1.7}.storage-warning button{color:#61411C}


/* v0.3.1: 당첨 축하 연출 — 무대 효과는 표시 중에도 터치 가능 */
.reveal-haptic-btn{display:flex;justify-content:center;align-items:center;position:relative;cursor:pointer;min-height:47px;overflow:hidden}
.reveal-haptic-btn:has(input:disabled){opacity:.55;cursor:not-allowed}
.reveal-haptic-btn .reveal-label{pointer-events:none;display:flex;align-items:center;gap:7px}
.haptic-native-switch{position:absolute;inset:0;display:block;margin:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;appearance:auto;-webkit-appearance:auto}
.haptic-native-switch:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.fx-select{font:inherit;font-size:13px;border:1px solid #D9D8CB;background:#FFFDF9;color:#214A3C;border-radius:11px;padding:9px 11px;max-width:155px;flex-shrink:0}
#fx-layer{isolation:isolate;z-index:55}
.fx-veil{position:absolute;inset:0;background:radial-gradient(circle at center,#fff3c962,transparent 65%);animation:fx-veil 1.6s ease-out both}
.fx-veil.grand{background:radial-gradient(circle at 50% 45%,#f8e2a68a,transparent 68%)}
.fx-halo{position:absolute;width:75vmin;height:75vmin;max-width:500px;max-height:500px;left:50%;top:44%;border:3px solid #efca77aa;border-radius:50%;box-shadow:0 0 55px 18px #e6c47064;animation:fx-halo 2.4s cubic-bezier(.15,.75,.2,1) forwards}
.fx-particle{position:absolute;display:block;font-family:Georgia,serif;font-size:var(--size,20px);line-height:1;color:#C6A35A;opacity:0;text-shadow:0 0 5px #fff7d0c8;will-change:transform,opacity}
.fx-burst{left:50%;top:45%;animation:fx-burst var(--dur,2s) cubic-bezier(.1,.52,.26,.99) forwards}
.fx-rain{top:-32px;animation:fx-rain var(--dur,2.5s) linear forwards}
.fx-message{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 25px;text-align:center;border:1px solid #e5c981cc;border-radius:23px;min-width:220px;max-width:85vw;background:#fffdf3ec;box-shadow:0 12px 55px #8d6b2f4a;animation:fx-message 2.7s ease-in-out both}
.fx-emblem{font-size:44px;color:#B5A07A;filter:drop-shadow(0 1px 4px #d7b76599)}
.fx-message-title{font-size:20px;font-weight:850;color:#214A3C;letter-spacing:-.6px}
.fx-message-desc{font-size:11px;color:#8b7558}
@keyframes fx-veil{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes fx-halo{0%{transform:translate(-50%,-50%) scale(.12);opacity:0}25%{opacity:.8}100%{transform:translate(-50%,-50%) scale(1.65);opacity:0}}
@keyframes fx-burst{0%{transform:translate3d(0,0,0) scale(.3);opacity:0}16%{opacity:1}95%{opacity:.9}100%{transform:translate3d(var(--x),var(--y),0) rotate(var(--rot)) scale(.4);opacity:0}}
@keyframes fx-rain{0%{transform:translate3d(0,0,0) scale(.5);opacity:0}10%{opacity:1}95%{opacity:.85}100%{transform:translate3d(var(--dx),110vh,0) rotate(var(--rot));opacity:0}}
@keyframes fx-message{0%{opacity:0;transform:translate(-50%,-25%) scale(.7)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}28%{transform:translate(-50%,-50%) scale(1)}76%{opacity:1}100%{opacity:0;transform:translate(-50%,-58%) scale(.95)}}
@media(prefers-reduced-motion:reduce){.fx-veil,.fx-halo,.fx-particle,.fx-message{display:none!important}}

/* v0.4.1 official result visibility */
.official-draw{background:#FAF9F5;border:1px solid #E9E5DA;border-radius:15px;padding:15px 16px;margin:16px 0 12px}
.official-draw-title{color:#214A3C;font-weight:800;font-size:15px;margin-bottom:12px}
.official-draw-balls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.official-draw-balls .num-list{display:flex;gap:7px;flex-wrap:wrap}
.official-draw-balls .ball{width:33px;height:33px;font-size:14px;background:#fff;border-color:#CAD5C8;color:#214A3C}
.official-draw-balls .ball.bonus{background:#F9F1D9;color:#7E6227;border-color:#B5A07A}
.bonus-separator{color:#98805A;font-weight:800;padding:0 2px}
.official-bonus-label{font-size:11px;color:#7E8880;line-height:1.5;margin-top:12px}
.official-status{font-size:12px;line-height:1.6;padding:9px 11px;border-radius:9px;margin:11px 0}
.official-error{background:#FFF0F0;color:#9C2C33;border:1px solid #F1CDD0}
.official-success{background:#EBF2EB;color:#285B42}
@media(max-width:450px){.official-draw{padding:13px}.official-draw-balls .ball{width:30px;height:30px;font-size:12px}.official-draw-balls .num-list,.official-draw-balls{gap:5px}}
