@charset "UTF-8";
:root{color-scheme:dark;--bg:#101324;--panel:#1b2036;--ink:#f1e9d9;--muted:#a8a6b5;--gold:#d8b779;--line:#ffffff18;--blue:#8cbcd5;--red:#e89a96;--serif:Georgia,"Batang","바탕",serif;--sans:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7;overflow-wrap:anywhere}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{word-break:keep-all}img,svg{max-width:100%;display:block}p{word-break:keep-all}small{font-size:12px}button{border:0}main:focus{outline:none}[hidden]{display:none!important}
.sky{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 76% 12%,#4a365c38,transparent 60%),radial-gradient(circle at 10% 55%,#2e365f28,transparent 40%);pointer-events:none}.sky:after{content:"";position:absolute;inset:0;opacity:.3;background-image:radial-gradient(1px 1px at 19px 27px,#eee 50%,transparent 60%),radial-gradient(1px 1px at 133px 164px,#d0b573 50%,transparent 60%);background-size:257px 233px}.site-header{max-width:1280px;padding:28px 48px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:22px}.brand small{display:block;letter-spacing:2px;font:8px var(--sans);color:var(--gold);margin-top:-2px}.edition{font-size:12px;color:var(--muted);letter-spacing:.8px}.edition span{color:var(--gold);padding:0 10px}.site-footer{max-width:1184px;margin:40px auto 0;padding:24px 0 32px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:#93909f;font-size:11px}.site-footer a{padding:5px 0}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--gold);color:var(--bg);padding:12px}.skip:focus{top:10px}.hero{max-width:1184px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;min-height:720px;padding:55px 0 20px}.hero-copy{padding-bottom:20px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:3px;color:var(--gold);font-weight:500}.eyebrow:before{content:"";width:30px;height:1px;background:var(--gold)}.hero h1{font-family:var(--serif);font-size:58px;line-height:1.33;font-weight:400;letter-spacing:-3px;margin:28px 0 24px}.hero h1 em{font-style:normal;color:var(--gold)}.hero .subtitle{font-family:var(--serif);font-size:19px;color:#d7c9b5;margin:18px 0 10px}.hero .description{color:var(--muted);font-size:14px;line-height:1.9}.hero-art{position:relative;max-width:520px;justify-self:end;width:100%}.hero-art img{width:100%}.art-label{position:absolute;top:58px;left:0;right:0;text-align:center;font-family:var(--serif);letter-spacing:6px;font-size:12px;color:#ddc59c}.hero-cta{margin-top:32px;max-width:390px}.button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:54px;padding:14px 22px;background:var(--gold);border:1px solid var(--gold);border-radius:4px;color:#272338;font-weight:700;font-size:14px;transition:background .2s,transform .2s}.button:hover:not(:disabled){background:#e8ca92;transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--ink);border-color:#d8b77950;font-weight:400}.button.danger{background:#6e333b;border-color:#b96570;color:white}.button.inline{width:auto;min-height:44px;font-size:12px;padding:9px 18px}.button + .button{margin-top:12px}.arrow{font-size:19px;font-weight:400;margin-left:auto}.meta-row{display:flex;gap:24px;margin-top:27px;color:#a9a5af;font-size:11px}.meta-row strong{display:block;color:#dbc7a7;font-size:12px;font-weight:400;margin-bottom:3px}.date-strip{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);max-width:390px;font-size:11px;color:var(--muted)}.date-strip b{font-family:var(--serif);color:var(--ink);font-weight:400;font-size:25px}.open-note{font-size:12px;color:#d2bf9c;margin-top:14px;line-height:1.65}.dev-tag{display:inline-block;font:10px var(--sans);letter-spacing:1px;border:1px solid #b29ac34d;color:#bba5cc;border-radius:20px;padding:4px 10px;margin-bottom:16px}.page{max-width:700px;margin:0 auto;padding:32px 24px 36px;min-height:65vh;animation:appear .4s ease}.page.wide{max-width:1050px}.back{display:inline-flex;align-items:center;gap:10px;background:none;color:var(--muted);padding:10px 0;min-height:44px;font-size:12px}.page-heading{margin:30px 0}.page-heading h1{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-1px;margin-top:10px}.page-heading p{color:var(--muted);font-size:13px;margin-top:12px}.chapter{font-size:10px;letter-spacing:3px;color:var(--gold)}.paper{background:#eddfc4;color:#463c31;padding:36px 32px;border:1px solid #d6b989;border-radius:3px;position:relative;box-shadow:0 12px 40px #0002}.paper:before{content:"";position:absolute;inset:9px;border:1px solid #aa855438;pointer-events:none}.paper .seal{width:48px;height:48px;margin:0 auto 24px;background:#873b3d;color:#e4b691;border:4px double #c38464;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:24px}.paper h2{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:20px;line-height:1.55}.prose{white-space:pre-line;line-height:2;font-size:15px}.paper .prose{font-family:var(--serif);font-size:16px}.sign{text-align:right;margin-top:26px;font-family:var(--serif);font-size:13px;color:#846d51}.note{font-size:12px;color:var(--muted);margin:18px 0;line-height:1.85}.hint-list{padding:0;list-style:none;margin:24px 0}.hint-list li{display:flex;gap:15px;margin:12px 0;color:#c3becb;font-size:13px}.hint-list span{color:var(--gold);font:14px var(--serif)}.field{display:block;margin:20px 0}.field span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.field input,.field textarea,.field select{width:100%;min-height:54px;color:var(--ink);background:#0e1222;border:1px solid #575367;border-radius:4px;padding:13px 15px;font-size:16px}.field textarea{min-height:110px;resize:vertical}.field input::placeholder{color:#6e6b80}.field input:focus{border-color:var(--gold)}.field .answer{text-align:center;font-size:27px;letter-spacing:8px}.form-panel{background:#1a1e31;padding:28px;border:1px solid var(--line);border-radius:8px}.progress-top{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px;font-size:12px;color:var(--muted)}.progress-top b{font-size:23px;font-weight:400;font-family:var(--serif);color:var(--gold)}progress{display:block;width:100%;height:3px;border:0;appearance:none;background:#323044;color:var(--gold)}progress::-webkit-progress-bar{background:#323044}progress::-webkit-progress-value{background:var(--gold)}progress::-moz-progress-bar{background:var(--gold)}.mission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}.mission-card{text-align:left;border:1px solid #77677e58;background:linear-gradient(145deg,#29273e,#1a2034);padding:25px 22px;border-radius:6px;min-height:258px;display:flex;flex-direction:column;position:relative}.mission-card:hover{border-color:var(--gold)}.mission-card .era{font-size:11px;color:var(--gold);letter-spacing:1.8px}.mission-card h2{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.5;margin:25px 0 10px;max-width:150px}.mission-card p{font-size:11px;color:var(--muted)}.mission-card .status{margin-top:auto;padding-top:24px;font-size:11px;display:flex;align-items:center;justify-content:space-between;color:#b9a3bf}.mission-card.completed{border-color:#7bb5d366}.mission-card.completed .status{color:var(--blue)}.mission-icon{position:absolute;right:18px;top:18px;opacity:.4;width:42px;height:42px}.destination{margin:24px 0;padding:22px;border-left:2px solid var(--gold);background:#d8b77908}.destination small{letter-spacing:2px;color:var(--gold);font-size:10px}.destination strong{display:block;font-size:19px;margin:7px 0}.destination p{font-size:12px;color:var(--muted)}.clue{border:1px solid #635a71;border-radius:5px;background:#191d32;padding:24px;white-space:pre-line;margin:24px 0;font-size:15px;line-height:2}.clue-image{width:100%;height:auto;border-radius:4px;margin:20px 0}.result{text-align:center;padding:65px 5px 35px}.result .result-symbol{width:110px;height:110px;margin:0 auto 32px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:45px;box-shadow:0 0 60px #7ab7de12}.result.success{color:var(--blue)}.result.failure{color:var(--red)}.result h1{font-size:30px;font-family:var(--serif);font-weight:400}.result p{margin:20px auto 36px;max-width:350px;color:var(--muted);font-size:14px;line-height:2}.result .button{max-width:400px;margin-left:auto;margin-right:auto}.collected{display:flex;gap:12px;justify-content:center;margin:32px 0}.piece{min-width:70px;border:1px solid #bfa56c66;padding:18px 15px;color:var(--gold);font-family:var(--serif);font-size:23px;background:#d8b77908}.piece small{display:block;font:9px var(--sans);letter-spacing:1px;color:var(--muted);margin-top:10px}.final-code{font:30px var(--serif);letter-spacing:5px;margin:22px 0;color:var(--gold)}.ticket{background:#ede2ca;color:#352c32;border-radius:8px;padding:28px 25px;text-align:center;position:relative}.ticket h2{font-family:var(--serif);font-weight:400;font-size:24px}.ticket .ticket-top{font-size:10px;letter-spacing:3px;color:#7b6650;margin-bottom:12px}.ticket .qr{width:180px;height:180px;margin:20px auto;padding:10px;background:white}.ticket .code{font:16px ui-monospace,monospace;letter-spacing:1px;overflow-wrap:anywhere;margin:12px 0}.ticket .nickname{font-size:18px;margin:16px 0 0}.ticket .tear{border-top:1px dashed #a79376;margin:23px -25px;padding-top:20px}.ticket .pill{background:#d4c19c;color:#5e4b32}.ticket .pill.done{background:#b7d3cd;color:#28534c}.ticket .note{color:#6e635c}.pill{display:inline-flex;align-items:center;border-radius:20px;padding:4px 12px;background:#ffffff0b;border:1px solid var(--line);font-size:11px;color:var(--gold)}.pill.done{color:var(--blue)}.ticket-location{font-size:18px;margin-top:6px}.loading{min-height:60vh;display:flex;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:14px}.spinner{width:20px;height:20px;border:1px solid #9f885344;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;width:min(90vw,520px);padding:17px 22px;border:1px solid #d38d88;background:#3a2838;color:#ffe3d6;border-radius:5px;font-size:13px;box-shadow:0 8px 30px #0004}.connection{padding:10px 20px;text-align:center;background:#62402d;color:#ffe4b5;font-size:12px}.section-actions{margin-top:26px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:12px}.spaced{margin-top:24px}.staff-shell{max-width:1184px;margin:24px auto;padding:0 24px}.staff-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.staff-header h1{font:30px var(--serif)}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:28px;flex-wrap:wrap}.tab{background:transparent;color:var(--muted);padding:12px 18px;border:1px solid transparent;border-radius:4px;min-height:44px}.tab.active{color:var(--gold);border-color:#d8b77950;background:#d8b77909}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{border:1px solid var(--line);background:#1b2036;padding:20px;border-radius:5px}.stat dt{font-size:11px;color:var(--muted)}.stat dd{font:32px var(--serif);margin:7px 0;color:var(--gold)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th,td{padding:13px 15px;border-bottom:1px solid var(--line)}th{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}td button{background:transparent;color:var(--gold);text-decoration:underline;padding:7px}.search-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:20px}.search-row .field{margin:0;flex:1;min-width:180px}.search-row .button{width:auto}.staff-panel{background:#1b2036;border:1px solid var(--line);padding:25px;border-radius:6px;margin:20px 0}.staff-panel h2{font:24px var(--serif);margin-bottom:12px}.staff-panel h3{font-size:16px;margin:22px 0 12px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;font-size:13px}.detail-grid dt{color:var(--muted);font-size:11px}.detail-grid dd{margin:4px 0}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.setting-grid .full{grid-column:1/-1}.checkbox{display:flex;align-items:center;gap:12px;padding:15px 0;min-height:44px;font-size:13px}.checkbox input{width:20px;height:20px;accent-color:var(--gold)}.status-banner{border-left:3px solid var(--gold);padding:15px 20px;background:#d8b77908;font-size:13px;margin:16px 0}.status-banner.blue{border-color:var(--blue);color:var(--blue)}.history-item{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.history-item small{color:var(--muted)}.scanner{max-width:480px;width:100%;border-radius:8px;margin:16px auto;background:black}.empty{color:var(--muted);padding:35px;text-align:center;font-size:13px}.actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.actions-row .button+.button{margin-top:0}.login{max-width:440px;margin:50px auto}.login h1{font:30px var(--serif);margin-bottom:15px}.login p{font-size:13px;color:var(--muted)}.sticky-save{position:sticky;bottom:0;padding:16px;background:#101324f5;border-top:1px solid var(--line);z-index:2}.error-block{max-width:450px;margin:80px auto;padding:25px;text-align:center}.error-block p{margin-bottom:25px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1450px){.hero{min-height:800px}.hero-art{max-width:565px}}
@media(max-width:1250px){.site-header{padding:24px 32px}.hero{padding:40px 32px 20px;gap:40px}.hero h1{font-size:48px}.site-footer{margin:40px 32px 0}.hero-art{max-width:490px}}
@media(max-width:760px){.site-header{padding:18px 21px}.brand{font-size:20px}.brand img{width:29px;height:29px}.edition{font-size:9px;letter-spacing:0;max-width:115px;text-align:right;line-height:1.6}.edition span{padding:0 3px}.hero{display:flex;flex-direction:column;padding:35px 24px 15px;gap:0;min-height:0}.hero-copy{width:100%;text-align:center;padding:0}.eyebrow{justify-content:center;font-size:9px;letter-spacing:2.5px}.eyebrow:before{width:20px}.hero h1{font-size:38px;letter-spacing:-2px;line-height:1.4;margin:22px 0 14px}.hero .subtitle{font-size:16px;margin:16px 0 8px}.hero .description{font-size:12px;line-height:1.8}.hero-art{width:100%;max-width:370px;margin-top:24px;order:2;align-self:center;max-height:380px;overflow:hidden;mask-image:linear-gradient(black 83%,transparent)}.art-label{top:38px;font-size:10px}.hero-cta{max-width:390px;margin:25px auto 0}.meta-row{justify-content:center;gap:20px;margin-top:18px;font-size:10px}.meta-row strong{font-size:11px}.date-strip{justify-content:center;margin:22px auto 0;padding-top:16px}.open-note{text-align:center;font-size:11px}.site-footer{margin:20px 22px 0;padding:22px 0;flex-direction:column;gap:6px;font-size:10px}.page{padding:20px 22px 25px}.page-heading{margin:23px 0}.page-heading h1{font-size:29px}.paper{padding:30px 26px}.paper .prose{font-size:15px;line-height:2}.mission-grid{display:flex;flex-direction:column;gap:12px;margin:25px 0}.mission-card{min-height:160px;padding:23px}.mission-card h2{font-size:22px;margin:12px 0 5px;max-width:none;padding-right:35px}.mission-card .status{position:absolute;top:20px;right:19px;margin:0;padding:0;gap:12px;font-size:10px}.mission-icon{top:auto;bottom:19px;right:20px;width:45px;height:45px;opacity:.25}.mission-card .era{font-size:10px}.form-panel{padding:22px}.result{padding-top:40px}.result h1{font-size:27px}.result .result-symbol{width:90px;height:90px;font-size:37px}.page.wide{max-width:550px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.staff-shell{padding:0 18px}.staff-header h1{font-size:24px}.staff-header{align-items:flex-start}.staff-panel{padding:20px}.setting-grid{grid-template-columns:1fr}.setting-grid .full{grid-column:auto}.detail-grid{grid-template-columns:1fr}.tabs{gap:4px}.tab{font-size:12px;padding:10px 12px}.search-row .button{min-height:50px}.stat{padding:16px}.login{margin:30px 0}.toast{bottom:max(16px,env(safe-area-inset-bottom))}.final-code{font-size:24px;letter-spacing:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.unlock{width:58px;height:58px}.shackle{animation:unlock 1.5s ease forwards;transform-origin:42px 28px}@keyframes unlock{0%,30%{transform:translateY(0)}100%{transform:translateY(-7px) rotate(18deg)}}@media(prefers-reduced-motion:reduce){.shackle{transform:translateY(-7px) rotate(18deg)}}
