:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#111;font-family:Apple SD Gothic Neo,Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#0f0f10;min-height:100dvh}button,input{font:inherit}button{cursor:pointer}img,svg{max-width:100%;display:block}.stage{background:#fff;justify-content:center;min-height:100dvh;display:flex}.phone{width:min(100%,430px);min-height:100dvh;padding:calc(12px + env(safe-area-inset-top)) 20px calc(16px + env(safe-area-inset-bottom));background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.topbar{grid-template-columns:40px 1fr 40px;align-items:center;height:44px;display:grid}.topbar h1{text-align:center;letter-spacing:-.04em;margin:0;font-size:17px;font-weight:800}.icon-btn{color:#111;background:0 0;border:0;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.icon-btn.ghost{color:#bbb}.dots{letter-spacing:-2px;font-size:22px;line-height:1}.event-kicker{text-align:center;color:#b9b9b9;letter-spacing:.18em;margin:18px 0 14px;font-family:Times New Roman,Songti SC,serif;font-size:12px;font-weight:600}.ticket-card{border-radius:22px;position:relative;overflow:hidden;box-shadow:0 18px 40px #1c163029}.ticket-card.is-complete{box-shadow:0 18px 40px #e85d4c38}.art-wrap{background:#1d3b5c;flex-direction:column;display:flex;position:relative}.art-wrap:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 42%,#ffffff38 50%,#0000 58%) 0 0/220% 100%;animation:5.5s ease-in-out infinite shine;position:absolute;inset:0}@keyframes shine{0%{background-position:120% 0}40%,to{background-position:-120% 0}}.ticket-art-svg{width:100%;height:auto;display:block}.stamp-row{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 28px 20px;display:grid;position:relative}.seal{aspect-ratio:1;width:100%;max-width:72px;font:inherit;background:#fffffff0;border:1.5px dashed #c9c3dc;border-radius:50%;place-items:center;margin:0 auto;padding:0;display:grid;box-shadow:0 6px 14px #1c163029}.seal-empty{color:#8a84a3;letter-spacing:.04em;font-size:9px;font-weight:800}.seal.on{background:var(--seal);border:0;transform:rotate(-8deg);box-shadow:inset 0 0 0 5px #ffffff2e,0 6px 14px #00000038}.seal.on .seal-inner{color:#fff;text-align:center;gap:1px;display:grid}.seal.on b{letter-spacing:.02em;font-size:11px}.seal.on small{letter-spacing:.12em;opacity:.9;font-size:7px}.seal.pop{animation:.55s cubic-bezier(.2,1.4,.3,1) stamp-pop}.seal.mini{aspect-ratio:auto;width:64px;height:64px}.seal.mini b{font-size:12px}@keyframes stamp-pop{0%{filter:blur(1px);transform:scale(1.45)rotate(-24deg)}to{filter:blur();transform:scale(1)rotate(-8deg)}}.used-ribbon{text-align:center;color:#fff;letter-spacing:.12em;background:#e85d4c;width:200px;padding:8px 0;font-weight:900;position:absolute;top:36px;right:-42px;transform:rotate(32deg);box-shadow:0 8px 20px #0003}.ticket-meta{text-align:center;margin-top:28px}.when,.seat{letter-spacing:-.06em;white-space:nowrap;margin:0;font-size:20px;font-weight:900;line-height:1.35}.venue{color:#9aa0a6;margin:12px 0 0;font-size:13px}.serial{color:#b0b4b8;background:0 0;border:0;margin:10px auto 0;font-size:12px;font-weight:600;display:block}.serial span{color:#d0d3d6;margin:0 4px}.serial.center{text-align:center}.bottom-space{flex:1;min-height:20px}.dock{background:#fff;border:1.5px solid #ececec;border-radius:999px;flex-shrink:0;grid-template-columns:1fr 1fr 1fr;align-items:center;height:56px;display:grid}.dock-side{color:#111;letter-spacing:-.04em;background:0 0;border:0;height:56px;font-size:15px;font-weight:800}.overlay{z-index:20;background:#00000061;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.overlay.center{background:#0c0a1885;align-items:center;padding:20px}.sheet,.window{width:min(100%,430px);padding:10px 22px calc(24px + env(safe-area-inset-bottom));background:#fff}.sheet{border-radius:28px 28px 0 0;max-height:88dvh;animation:.28s up;overflow-y:auto}.window{border-radius:28px;padding:18px 22px 24px;animation:.32s cubic-bezier(.2,1.2,.3,1) pop;box-shadow:0 24px 60px #00000047}@keyframes pop{0%{opacity:0;transform:scale(.92)translateY(12px)}}@keyframes up{0%{opacity:.6;transform:translateY(24px)}}.sheet-handle{background:#e6e6e6;border-radius:99px;width:42px;height:4px;margin:6px auto 8px}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-head h2{letter-spacing:-.05em;margin:0;font-size:18px}.guide .lead,.auth-form .lead,.prize .lead{color:#444;word-break:keep-all;font-size:14px;line-height:1.55}.lead.muted{color:#888}.guide ol{color:#333;padding-left:18px;font-size:14px;line-height:1.6}.school-list{margin:16px 0 8px;padding:0;list-style:none}.school-list li{border-bottom:1px solid #f1f1f1;align-items:center;gap:10px;padding:10px 0;font-size:14px;font-weight:700;display:flex}.school-list i{border-radius:50%;width:10px;height:10px}.school-list em{color:#999;margin-left:auto;font-size:12px;font-style:normal;font-weight:600}.auth-form,.prize{gap:12px;padding-bottom:8px;display:grid}.auth-form label{color:#666;gap:8px;font-size:13px;font-weight:700;display:grid}.auth-form input{color:#111;border:1.5px solid #ececec;border-radius:14px;height:52px;padding:0 14px;font-size:16px}.auth-form input:focus{border-color:#111;outline:2px solid #111}.error{color:#e85d4c;margin:0;font-size:13px;font-weight:700}.primary{color:#fff;background:#111;border:0;border-radius:16px;height:54px;font-size:16px;font-weight:800}.text-btn,.ghost-btn{color:#888;background:0 0;border:0;height:48px;font-weight:700}.ghost-btn{color:#111;border:1.5px solid #ececec;border-radius:14px}.prize{text-align:center;padding-top:4px}.prize-kicker{letter-spacing:.28em;color:silver;margin:4px 0 0;font-family:Times New Roman,serif;font-size:12px}.prize h3{letter-spacing:-.06em;margin:6px 0 4px;font-size:22px}.prize-seals{justify-content:center;gap:10px;margin:8px 0 4px;display:flex}.received-box,.confirm-box{color:#333;background:#fafafa;border-radius:16px;padding:14px;font-size:14px;line-height:1.5}.received-box{color:#fff;background:#111;font-weight:800}.confirm-box .row{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.used-ribbon.ok{background:#2ec9b7}.dock-side.hot{color:#e85d4c}.primary:disabled,.ghost-btn:disabled{opacity:.4;cursor:default}.mission-list{gap:8px;margin:22px 0 0;padding:0;list-style:none;display:grid}.mission-list button{text-align:left;color:#111;background:#fff;border:1.5px solid #ececec;border-radius:16px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.mission-list button.done{background:#fafafa}.mission-list button.done .txt{color:#999;text-decoration:line-through}.mission-list .num{color:#111;border:1.5px solid;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:900;display:grid}.mission-list button.done .num{color:#fff}.mission-list .txt{letter-spacing:-.03em;word-break:keep-all;gap:2px;font-size:14px;font-weight:700;line-height:1.35;display:grid}.mission-list em{font-size:11px;font-style:normal;font-weight:800}.mission-title{letter-spacing:-.05em;word-break:keep-all;margin:4px 0 0;font-size:20px;font-weight:900;line-height:1.35}.guide h4{margin:18px 0 6px;font-size:14px}.guide .info{background:#fafafa;border-radius:16px;grid-template-columns:64px 1fr;gap:8px 10px;margin:12px 0 0;padding:14px;font-size:14px;display:grid}.guide dt{color:#888;font-weight:700}.guide dd{word-break:keep-all;margin:0;font-weight:700}.guide ol{margin:0}.guide .notes{color:#333;margin:0;padding-left:18px;font-size:14px;line-height:1.6}.faq{background:#fafafa;border-radius:16px;padding:14px;font-size:14px;line-height:1.5}.faq p{word-break:keep-all;margin:0}.faq .q{font-weight:800}.faq .q:before{content:"Q. ";color:#e85d4c}.faq .a{color:#555;margin-top:6px}@media (width>=480px){.stage{background:#111}.phone{box-shadow:0 0 40px #00000059}}
