:root{--ink-950: #070d18;--ink-900: #0a1220;--ink-800: #0d1a2e;--ink-700: #121f36;--ink-600: #1a2a46;--line: #263753;--line-soft: #1b2a44;--gold-100: #f6e8b8;--gold-300: #e6c978;--gold-500: #c9a24b;--gold-700: #8a6a26;--gold-900: #4a3812;--gold-metal: linear-gradient(100deg, #8a6a26 0%, #c9a24b 22%, #f6e8b8 48%, #c9a24b 70%, #8a6a26 100%);--ruler-yellow: #e3bf45;--cream: #f3ecd9;--oxblood-500: #a63a4b;--oxblood-800: #6b1a26;--oxblood-950: #3d0f17;--text-hi: #f3ecd9;--text: #d7dbe5;--text-mid: #9aa5ba;--text-lo: #8793a9;--ok: #7fb08a;--error: #e0788a;--font-display: "Bodoni Moda", "Didot", "Bodoni 72", serif;--font-jost: "Jost", "Futura", "Century Gothic", sans-serif;--font-ko: "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", system-ui, sans-serif;--font-body: var(--font-ko);--font-label: var(--font-jost);--fs-wordmark: clamp(2.6rem, 13vw, 6rem);--fs-h1: clamp(1.75rem, 7vw, 2.75rem);--fs-h2: clamp(1.35rem, 5vw, 1.75rem);--fs-body: 1.0625rem;--fs-small: .9375rem;--fs-label: .75rem;--track-wide: .3em;--track-label: .2em;--lh-body: 1.65;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--gutter: 1.25rem;--measure: 38rem;--radius: 2px;--fold: 22px;--stitch: 1px dashed var(--gold-700);--hairline: 1px solid var(--line);--shadow-card: 0 12px 28px -12px rgb(0 0 0 / .6), 0 2px 6px rgb(0 0 0 / .35);--shadow-gold: 0 10px 30px -12px rgb(201 162 75 / .35);--tap-min: 52px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-inout: cubic-bezier(.65, 0, .35, 1);--dur-fast: .18s;--dur-mid: .42s;--dur-slow: .9s;--dur-sig: 1.6s}.pinstripe{background-color:var(--ink-900);background-image:repeating-linear-gradient(90deg,rgb(255 255 255 / .018) 0 1px,transparent 1px 3px),radial-gradient(120% 60% at 50% 0%,#1a2540 0%,transparent 70%)}.stitched{position:relative;border:1px solid var(--gold-900)}.stitched:before{content:"";position:absolute;inset:8px;border:var(--stitch);pointer-events:none}.gold-text{background:var(--gold-metal);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}.fold{clip-path:polygon(0 0,100% 0,100% calc(100% - var(--fold)),calc(100% - var(--fold)) 100%,0 100%)}::selection{background:var(--gold-500);color:var(--ink-950)}:focus-visible{outline:2px solid var(--gold-300);outline-offset:3px}input,select,textarea{caret-color:var(--gold-300);accent-color:var(--gold-500)}html{color-scheme:dark;scrollbar-color:var(--gold-700) var(--ink-900);scrollbar-width:thin}@media(prefers-reduced-motion:reduce){:root{--dur-mid: 1ms;--dur-slow: 1ms;--dur-sig: 1ms}}*,*:before,*:after{box-sizing:border-box}html{background:var(--ink-900)}body{margin:0;min-height:100dvh;font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text);word-break:keep-all;overflow-wrap:break-word;background-color:var(--ink-900);background-image:repeating-linear-gradient(90deg,rgb(255 255 255 / .018) 0 1px,transparent 1px 3px),radial-gradient(120% 60% at 50% 0%,#1a2540 0%,transparent 70%);background-attachment:fixed;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}h1,p,dl,dd,ol{margin:0;padding:0}button{font:inherit}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.screen{width:min(100%,32rem);min-height:100dvh;margin:0 auto;padding:max(var(--s-5),env(safe-area-inset-top)) var(--gutter) max(var(--s-5),env(safe-area-inset-bottom));display:flex;flex-direction:column}.in-fwd{animation:in-fwd var(--dur-mid) var(--ease-out) both}.in-back{animation:in-back var(--dur-mid) var(--ease-out) both}@keyframes in-fwd{0%{opacity:0;transform:translate(24px)}}@keyframes in-back{0%{opacity:0;transform:translate(-24px)}}.label{font-weight:500;text-transform:uppercase;font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:var(--track-label);color:var(--text-mid)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding:0 var(--s-6);font-family:var(--font-ko);font-weight:700;font-size:1.1rem;letter-spacing:.06em;color:var(--ink-950);background:var(--gold-metal);background-size:220% 100%;border:0;border-radius:var(--radius);box-shadow:var(--shadow-card);cursor:pointer;position:relative;overflow:hidden;transition:background-position var(--dur-slow) var(--ease-out),transform var(--dur-fast),opacity var(--dur-fast)}.btn.block{width:100%}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn.ghost{background:none;color:var(--gold-300);border:1px solid var(--gold-700);box-shadow:none}.btn.busy:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--oxblood-500);transform-origin:left;animation:thread-run 1.1s var(--ease-inout) infinite}@keyframes thread-run{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.intro{position:fixed;inset:0;z-index:10;background:var(--ink-950);display:grid;place-items:center;overflow:hidden;cursor:pointer;outline:none;transition:opacity .5s ease}.intro.leaving{opacity:0}.intro:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(90% 70% at 50% 45%,transparent 40%,rgb(0 0 0 / .75) 100%)}.intro .col{position:relative;width:min(100%,34rem);height:100dvh}.intro .pin{position:absolute;inset:0;opacity:0;background-color:var(--ink-900);background-image:repeating-linear-gradient(90deg,rgb(255 255 255 / .02) 0 1px,transparent 1px 3px),radial-gradient(120% 60% at 50% 0%,#1a2540 0%,transparent 70%)}.intro .seam{position:absolute;left:0;right:0;top:44%;height:1px;z-index:2;opacity:0;background:linear-gradient(90deg,transparent,var(--gold-300),transparent);transform:scaleX(0)}.intro .dock{position:absolute;left:50%;top:44%;z-index:3;width:min(76%,44dvh);aspect-ratio:1;translate:-50% -50%}.intro .dock svg{width:100%;height:100%;overflow:visible}.intro .classified{position:absolute;top:max(var(--s-5),env(safe-area-inset-top));left:var(--s-5);right:var(--s-5);display:flex;justify-content:space-between;z-index:4;opacity:0;font-family:var(--font-display);font-weight:500;font-size:.8rem;letter-spacing:.2em;color:var(--oxblood-500)}.intro .wm{position:absolute;left:0;right:0;top:39%;text-align:center;z-index:4}.intro .w{display:inline-flex;white-space:nowrap;font-family:var(--font-display);font-weight:700;letter-spacing:.14em;margin-right:-.14em;font-size:clamp(2rem,min(10.2vw,7dvh),3.4rem)}.intro .w span{display:inline-block;opacity:0;filter:blur(8px);background:var(--gold-metal);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}.intro .ko{font-family:var(--font-ko);font-weight:500;font-size:1.05rem;letter-spacing:.32em;margin-right:-.32em;color:var(--text);margin-top:var(--s-4);margin-bottom:var(--s-3);opacity:0}.intro .q{font-family:var(--font-display);font-weight:500;font-size:.78rem;letter-spacing:.3em;color:var(--gold-500);opacity:0}.intro .enter{position:absolute;left:0;right:0;bottom:max(var(--s-7),env(safe-area-inset-bottom));text-align:center;z-index:4;opacity:0;font-family:var(--font-display);font-weight:500;font-size:.85rem;letter-spacing:.3em;color:var(--gold-300)}.intro .s-ring,.intro .s-thread{stroke-dasharray:1;stroke-dashoffset:1}.intro .s-ruler{clip-path:inset(0 50% 0 50%)}.intro .s-needle,.intro .s-text,.intro .s-dash{opacity:0}.intro.play .pin{animation:fade 1.6s var(--ease-out) .2s forwards}.intro.play .seam{animation:seam 1.1s var(--ease-out) .3s forwards,seamout .8s ease 3.3s forwards}.intro.play .s-ring{animation:draw 1.5s var(--ease-inout) 1.7s forwards}.intro.play .s-dash{animation:fade .8s ease 2.5s forwards}.intro.play .s-text{animation:fade 1s ease 2.4s forwards}.intro.play .s-needle{transform-box:fill-box;transform-origin:center top;animation:needle .9s var(--ease-out) .9s forwards}.intro.play .s-thread{animation:draw 1.6s var(--ease-inout) 1.1s forwards}.intro.play .s-ruler{animation:wipe .8s var(--ease-out) 2.6s forwards}.intro.play .dock{animation:dock 1.3s var(--ease-inout) 3.5s forwards}.intro.play .w span{animation:letter .9s var(--ease-out) forwards,shine 2.4s ease-in-out forwards;animation-delay:calc(3.7s + var(--i) * 90ms),calc(4.7s + var(--i) * 90ms)}.intro.play .ko{animation:rise .9s var(--ease-out) 5s forwards}.intro.play .q{animation:fade 1s ease 5.4s forwards}.intro.play .classified{animation:fade .6s ease 5.9s forwards}.intro.play .enter{animation:fade .6s ease 6.1s forwards,blink 1.8s ease-in-out 6.7s infinite}.intro.static .pin,.intro.static .s-dash,.intro.static .s-text,.intro.static .s-needle,.intro.static .w span,.intro.static .ko,.intro.static .q,.intro.static .classified,.intro.static .enter{opacity:1;filter:none}.intro.static .s-ring,.intro.static .s-thread{stroke-dashoffset:0}.intro.static .s-ruler{clip-path:none}.intro.static .dock{top:26%;scale:.5}@keyframes fade{to{opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes seam{0%{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes seamout{to{opacity:0}}@keyframes needle{0%{opacity:0;transform:translateY(-80px)}to{opacity:1;transform:none}}@keyframes wipe{to{clip-path:inset(0 0 0 0)}}@keyframes dock{to{top:26%;scale:.5}}@keyframes letter{to{opacity:1;filter:blur(0)}}@keyframes shine{0%{background-position:0 0}to{background-position:100% 0}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.35}}.frame{margin:auto 0;padding:var(--s-6) var(--s-5);text-align:center;background:#0a12208c}.host{display:block;width:6.5rem;height:auto;margin:0 auto var(--s-5);opacity:.92}.seal-sm{width:5.5rem;margin:0 auto var(--s-4)}.seal-sm svg{width:100%;height:auto;display:block}.seal-sm.dim{opacity:.55}.wordmark{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;margin-right:-.14em;line-height:1;font-size:min(3.4rem,calc((100vw - 8rem) / 7.4));margin:var(--s-3) 0 var(--s-2)}.title-ko{font-family:var(--font-ko);font-weight:500;font-size:1.05rem;letter-spacing:.32em;margin-right:-.32em;color:var(--text);margin-top:var(--s-2)}.lead{margin-top:var(--s-3);color:var(--text-mid);font-size:var(--fs-small)}.facts{margin:var(--s-6) 0 var(--s-5);text-align:left;border-top:var(--hairline)}.facts div{display:flex;gap:var(--s-4);padding:var(--s-3) var(--s-2);border-bottom:var(--hairline)}.facts dt{flex:0 0 3.2rem;font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:var(--track-label);color:var(--gold-500);padding-top:.25rem}.facts dd{color:var(--text-hi)}.verse{font-family:var(--font-ko);font-size:var(--fs-small);color:var(--text);margin-bottom:var(--s-6)}.verse span{display:block;margin-top:var(--s-2);font-family:var(--font-label);font-size:var(--fs-label);letter-spacing:var(--track-label);color:var(--gold-500)}.small{margin-top:var(--s-4);font-size:.875rem;color:var(--text-mid)}.bar{display:flex;align-items:flex-start;gap:var(--s-3);min-height:44px}.back{width:44px;height:44px;display:grid;place-items:center;margin-left:-10px;margin-top:-9px;color:var(--gold-300);background:none;border:0;border-radius:var(--radius);cursor:pointer}.thread{flex:1;display:flex;gap:6px}.seg{flex:1;position:relative;padding:18px 0 4px;background:none;border:0;cursor:pointer;text-align:left;color:var(--text-mid)}.seg:before,.seg:after{content:"";position:absolute;left:0;right:0;top:0;height:2px}.seg:before{background:var(--line)}.seg:after{background:var(--oxblood-500);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}.seg.on:after{transform:scaleX(1)}.seg .lab{display:block;margin-top:6px;font-size:.75rem;line-height:1.2;white-space:nowrap;letter-spacing:.02em}.seg[aria-current=step]{color:var(--gold-300);font-weight:600}.seg:disabled{cursor:default;color:var(--text-lo)}.seg:focus-visible{outline-offset:2px}.q{font-family:var(--font-ko);font-weight:800;font-size:var(--fs-h1);line-height:1.3;color:var(--text-hi);margin:var(--s-7) 0 var(--s-2);text-wrap:balance}.hint{color:var(--text-mid);font-size:var(--fs-small)}.cta{margin-top:auto;padding-top:var(--s-6)}.field{margin-top:var(--s-6)}.field input{width:100%;min-height:3.6rem;padding:0 var(--s-4);font:inherit;font-size:1.4rem;color:var(--text-hi);background:var(--ink-800);border:0;border-bottom:1px dashed var(--gold-700);border-radius:var(--radius);transition:background var(--dur-fast),box-shadow var(--dur-mid)}.field input::placeholder{color:var(--text-lo)}.field input:focus{outline:none;background:var(--ink-600);border-bottom:1px solid var(--gold-300);box-shadow:var(--shadow-gold)}.field input[aria-invalid=true]{border-bottom:1px solid var(--error)}.err{min-height:1.5rem;margin-top:var(--s-2);font-size:var(--fs-small);color:var(--error)}.groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-6)}.group{position:relative;cursor:pointer}.group input,.mission input{position:absolute;opacity:0;inset:0;margin:0}.group .tile{display:block;border:var(--hairline);background:var(--ink-700);transition:border-color var(--dur-fast),box-shadow var(--dur-mid),transform var(--dur-mid) var(--ease-out)}.group .sw{display:block;aspect-ratio:3 / 2;background-size:cover;background-position:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%);border-bottom:var(--stitch)}.group b{display:block;padding:var(--s-3) var(--s-4) var(--s-4);font-family:var(--font-ko);font-size:1.2rem;color:var(--text-hi)}.group input:checked+.tile{border-color:var(--gold-300);box-shadow:var(--shadow-gold);transform:translateY(-3px)}.group input:focus-visible+.tile,.mission input:focus-visible+.card{outline:2px solid var(--gold-300);outline-offset:3px}.missions{display:grid;gap:var(--s-3);margin-top:var(--s-6)}.mission{position:relative;display:block;cursor:pointer}.mission .card{display:grid;gap:4px;padding:var(--s-4) var(--s-5);min-height:var(--tap-min);background:var(--ink-700);border:var(--hairline);border-radius:var(--radius);transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-mid),transform var(--dur-mid) var(--ease-out)}.mission .card b{font-family:var(--font-ko);font-size:1.2rem;color:var(--text-hi)}.mission .card span{font-size:var(--fs-small);color:var(--text-mid)}.mission input:checked+.card{border-color:var(--gold-300);background:var(--ink-600);box-shadow:var(--shadow-gold);transform:translateY(-2px)}.stamp-wrap{position:relative;width:8rem;height:8rem;margin:0 auto var(--s-4);display:grid;place-items:center}.stamp-wrap .seal-sm{position:absolute;inset:0;width:100%;margin:0}.stamp{position:relative;padding:var(--s-2) var(--s-4);font-family:var(--font-ko);font-weight:800;font-size:1.15rem;letter-spacing:.08em;color:var(--text-hi);background:var(--oxblood-800);border:3px double var(--oxblood-500);border-radius:var(--radius);transform:rotate(-8deg);animation:stamp .55s var(--ease-out) .2s both}@keyframes stamp{0%{opacity:0;transform:rotate(-8deg) scale(1.9)}60%{opacity:1;transform:rotate(-8deg) scale(.93)}to{opacity:1;transform:rotate(-8deg) scale(1)}}.result .q{margin-top:var(--s-2)}.closing{margin:var(--s-3) auto var(--s-5);max-width:24rem;color:var(--text)}.summary{margin-bottom:var(--s-4);text-align:left;border-top:var(--hairline)}.summary .row{display:flex;align-items:center;gap:var(--s-4);width:100%;min-height:3.25rem;padding:var(--s-2);background:none;border:0;border-bottom:var(--hairline);color:inherit;text-align:left;cursor:pointer}.summary .k{flex:0 0 3.6rem;font-size:var(--fs-small);color:var(--gold-500)}.summary .v{flex:1;color:var(--text-hi)}.summary .go{font-size:.85rem;color:var(--text-mid)}@media(prefers-reduced-motion:reduce){.in-fwd,.in-back,.stamp{animation:none;opacity:1}.btn.busy:after{animation:none;transform:none}}@media(max-height:560px){.intro .q{display:none}}.cal{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2);margin-top:var(--s-4)}.cal-title{grid-column:1 / -1;text-align:center;font-size:.78rem;color:var(--text-mid)}.cal-btn{min-height:40px;padding:0 var(--s-2);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font:inherit;font-size:.82rem;color:var(--text-mid);text-decoration:none;background:none;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast)}@media(hover:hover)and (pointer:fine){.btn:hover{background-position:100% 0}.seg:not(:disabled):hover .lab{color:var(--gold-300)}.group:hover .tile,.mission:hover .card{border-color:var(--gold-700)}.summary .row:hover{background:#ffffff08}.summary .row:hover .go{color:var(--gold-300)}.cal-btn:hover{color:var(--gold-300);border-color:var(--gold-700)}}.cal-btn:active,.btn.ghost:active{color:var(--gold-300)}h1:focus{outline:none}@media(max-height:800px){.q{margin-top:var(--s-5)}.groups,.field,.missions{margin-top:var(--s-4)}.cta{padding-top:var(--s-4)}}.cal-note{grid-column:1 / -1;margin-top:var(--s-1);font-size:.78rem;line-height:1.5;color:var(--text-mid);text-align:center}.admin-link{align-self:center;margin-top:var(--s-4);padding:var(--s-2) var(--s-4);font-size:.8rem;color:var(--text-lo);text-decoration:none}.admin-link:hover{color:var(--text-mid);text-decoration:underline}
