@layer theme,base;@layer components{.site{font-feature-settings:"ss01", "tnum";flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow-x:clip}.site:before{content:"";pointer-events:none;z-index:0;background-color:var(--foreground);opacity:.05;position:fixed;inset:0;-webkit-mask-image:url(/assets/texture/paper-noise.svg);mask-image:url(/assets/texture/paper-noise.svg);-webkit-mask-size:240px;mask-size:240px}.site>*{z-index:1;position:relative}.serif{font-family:var(--font-headline)}.mono{font-family:var(--font-accent);font-feature-settings:"tnum", "zero";letter-spacing:.02em}.tnum{font-variant-numeric:tabular-nums lining-nums}.ko-balance{word-break:keep-all;text-wrap:balance}.rule-double{border-top:3px solid var(--rule-strong);position:relative}.rule-double:after{content:"";border-top:1px solid var(--rule-strong);margin-top:2px;position:absolute;top:3px;left:0;right:0}.hairline{border-color:var(--rule)}.ruled{background-image:repeating-linear-gradient(to bottom, transparent 0, transparent calc(2.5rem - 1px), var(--rule) calc(2.5rem - 1px), var(--rule) 2.5rem)}.ballot{background:var(--paper);color:var(--card-foreground);border:1px solid var(--rule-strong);box-shadow:0 1px 0 var(--shadow-tint), 0 18px 40px -22px var(--shadow-tint), 0 2px 6px -2px var(--shadow-tint);position:relative}.ballot-perf{background-image:radial-gradient(circle at 5px 0, var(--background) 3px, transparent 3.5px);border-bottom:1px dashed var(--rule);background-repeat:repeat-x;background-size:12px 10px;height:10px}.ballot-row{border-top:1px solid var(--rule-strong);isolation:isolate;text-align:left;cursor:pointer;grid-template-columns:3rem 1fr 4.5rem;align-items:stretch;width:100%;min-height:4.25rem;transition:background-color .16s;display:grid;position:relative}.ballot-row:last-child{border-bottom:1px solid var(--rule-strong)}.ballot-row>*+*{border-left:1px solid var(--rule-strong)}@media (hover:hover){.ballot-row[data-interactive=true]:hover{background:var(--stamp-wash)}}.ballot-row:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.ballot-row[data-results=true]{cursor:default}.stamp-box{place-items:center;display:grid;position:relative}.stamp-box:before{content:"";border:1px dashed var(--rule);border-radius:999px;width:2.6rem;height:2.6rem;transition:opacity .2s}.stamp-box[data-stamped=true]:before{opacity:0}.stamp-box .stamp{width:3.1rem;height:3.1rem;position:absolute}.stamp{color:var(--stamp);mix-blend-mode:multiply;filter:url(#ink-bleed)}.dark .stamp{mix-blend-mode:screen}.stamp-in{animation:.42s cubic-bezier(.2,.9,.25,1.15) both stamp-in}@keyframes stamp-in{0%{transform:scale(1.9) rotate(var(--stamp-tilt,-8deg));opacity:0}45%{transform:scale(.92) rotate(var(--stamp-tilt,-8deg));opacity:1}70%{transform:scale(1.04) rotate(var(--stamp-tilt,-8deg))}to{transform:scale(1) rotate(var(--stamp-tilt,-8deg));opacity:.94}}.thud{animation:.26s ease-out thud}@keyframes thud{0%{transform:translateY(0)scale(1)}35%{transform:translateY(1.5px)scale(.996)}to{transform:translateY(0)scale(1)}}.result-bar{z-index:-1;background:var(--bar-track);transform-origin:0;transition:width .9s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.result-bar[data-lead=true]{background:var(--stamp-wash)}.result-bar[data-lead=true]:after{content:"";background:var(--stamp);width:3px;position:absolute;top:0;bottom:0;right:0}.ballot-drop{animation:.7s cubic-bezier(.55,0,.7,.4) forwards ballot-drop}@keyframes ballot-drop{0%{opacity:1;transform:translateY(0)rotateX(0)scale(1)}30%{transform:translateY(-10px)rotateX(8deg)scale(.99)}to{opacity:0;transform:translateY(120px)rotateX(55deg)scale(.92)}}.rise-in{animation:.6s cubic-bezier(.2,.8,.2,1) both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.live-dot{background:var(--stamp);width:.5rem;height:.5rem;box-shadow:0 0 0 0 var(--stamp-wash);border-radius:999px;animation:1.8s ease-out infinite live}@keyframes live{0%{box-shadow:0 0 0 0 var(--stamp)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.bump{animation:.5s ease-out bump}@keyframes bump{0%{color:var(--stamp);transform:translateY(-3px)}to{transform:translateY(0)}}.btn{letter-spacing:-.01em;border:1.5px solid var(--rule-strong);border-radius:var(--radius);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;min-height:3.25rem;padding:0 1.4rem;font-size:1rem;font-weight:600;transition:transform .14s,box-shadow .14s,background-color .14s,color .14s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ink{background:var(--ink);color:var(--ink-foreground);box-shadow:4px 4px 0 var(--stamp)}.btn-ink:not(:disabled):hover{box-shadow:5px 5px 0 var(--stamp);transform:translate(-1px,-1px)}.btn-ink:not(:disabled):active{box-shadow:1px 1px 0 var(--stamp);transform:translate(3px,3px)}.btn-stamp{background:var(--stamp);border-color:var(--stamp);color:var(--primary-foreground)}.btn-stamp:not(:disabled):hover{background:color-mix(in oklch, var(--stamp) 88%, black)}.btn-ghost{color:var(--foreground);background:0 0}.btn-ghost:not(:disabled):hover{background:var(--foreground);color:var(--background)}.btn-sm{min-height:2.5rem;padding:0 .9rem;font-size:.875rem}.field-line{border:0;border-bottom:1.5px solid var(--rule-strong);width:100%;color:var(--foreground);background:0 0;outline:none;padding:.6rem 0;transition:border-color .16s}.field-line::placeholder{color:color-mix(in oklch, var(--muted-foreground) 70%, transparent)}.field-line:focus{border-bottom-color:var(--stamp)}.nav-link{padding:.4rem 0;position:relative}.nav-link:after{content:"";background:var(--stamp);transform-origin:0;height:2px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.hero-title{font-family:var(--font-headline);letter-spacing:-.035em;word-break:keep-all;font-weight:500;line-height:1.02}.hero-title em{font-style:italic;font-weight:400}.stamped-word{white-space:nowrap;display:inline-block;position:relative}.stamped-word .stamp{--stamp-tilt:12deg;width:.95em;height:.95em;animation-delay:.5s;position:absolute;top:-.42em;right:-.95em}.tilt-paper{transform:rotate(-1.4deg)}@media (max-width:767px){.tilt-paper{transform:none}}.ticker{width:max-content;animation:40s linear infinite ticker;display:flex}@keyframes ticker{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.stamp-in,.thud,.ballot-drop,.rise-in,.bump,.ticker,.live-dot{animation:none!important}.result-bar{transition:none}}.bg-ink .stamp{mix-blend-mode:normal}.btn-ink:disabled{box-shadow:none;color:var(--muted-foreground);opacity:1;background:0 0;border-style:dashed}.result-bar[data-lead=false]{background:repeating-linear-gradient(-45deg, var(--bar-track) 0 6px, color-mix(in oklch, var(--foreground) 13%, transparent) 6px 7px)}.ballot-slot{z-index:3;width:min(96%,32rem);height:7rem;animation:.26s cubic-bezier(.2,.8,.2,1) both box-in;position:absolute;bottom:-5rem;left:50%}@keyframes box-in{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.ballot-slot:before{content:"";background:var(--muted);border:1.5px solid var(--rule-strong);border-radius:var(--radius);box-shadow:0 18px 40px -20px var(--shadow-tint);position:absolute;inset:0}.ballot-slot:after{content:"";background:var(--ink);border-radius:999px;height:.55rem;position:absolute;top:1.1rem;left:12%;right:12%}.closing-stamp{--stamp-tilt:-14deg;opacity:.3;transform:rotate(-14deg)}@media (min-width:640px){.closing-stamp{opacity:.92;transform:translateY(-50%)rotate(-14deg)}}.receipt{background:var(--paper);border:1px solid var(--rule-strong);box-shadow:0 14px 28px -20px var(--shadow-tint);transform-origin:top;border-top:0;justify-content:space-between;align-items:center;gap:1rem;margin:0 1.25rem;padding:.9rem 1.1rem .9rem 1.25rem;animation:.65s cubic-bezier(.2,.8,.2,1.1) .5s both receipt-out;display:flex;position:relative}.receipt:before{content:"";background-image:radial-gradient(circle at 5px 0, var(--background) 2.5px, transparent 3px);border-top:1px dashed var(--rule-strong);background-size:10px 6px;height:6px;position:absolute;top:0;left:0;right:0}@media (min-width:640px){.receipt{margin:0 2rem}}.receipt-seal{flex-shrink:0;width:2.6rem;height:2.6rem;transform:rotate(-12deg)}@keyframes receipt-out{0%{clip-path:inset(0 0 100%);transform:translateY(-1.5rem)}to{clip-path:inset(0 0 -2rem);transform:none}}@media (prefers-reduced-motion:reduce){.receipt{animation:none}}.scene{background:var(--muted);border:1px solid var(--rule);flex-direction:column;justify-content:center;height:12.5rem;padding:1.25rem;display:flex;position:relative;overflow:hidden}.scene-paper{background:var(--paper);border:1px solid var(--rule-strong);box-shadow:0 10px 24px -16px var(--shadow-tint);padding:.75rem .9rem .6rem;transform:rotate(-1.5deg)}.scene-type{white-space:nowrap;vertical-align:bottom;max-width:0;animation:7s steps(14,end) infinite scene-type;display:inline-block;overflow:hidden}@keyframes scene-type{0%{max-width:0}18%,92%{max-width:14em}to{max-width:0}}.scene-caret{vertical-align:-.15em;background:var(--stamp);width:2px;height:1em;margin-left:1px;animation:.9s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.scene-row{border-bottom:1px solid var(--rule-strong);grid-template-columns:1.4rem 1fr 1.6rem;align-items:center;height:1.9rem;font-size:.78rem;font-weight:600;animation:7s ease-out infinite both scene-row;display:grid}@keyframes scene-row{0%,12%{opacity:0;transform:translateY(4px)}22%,92%{opacity:1;transform:none}to{opacity:0}}.scene-box{border:1px dashed var(--rule);border-radius:999px;width:1.1rem;height:1.1rem}.scene-bubble{border-radius:.9rem;max-width:85%;padding:.5rem .75rem;font-size:.82rem;animation:7s cubic-bezier(.2,.9,.3,1.2) infinite both bubble}.scene-bubble-in{background:var(--paper);border:1px solid var(--rule);transform-origin:0 100%;border-bottom-left-radius:.2rem;align-self:flex-start}.scene-bubble-out{background:var(--ink);color:var(--ink-foreground);transform-origin:100% 100%;border-bottom-right-radius:.2rem;align-self:flex-end}.scene-link{border-color:var(--rule-strong);align-items:center;gap:.6rem;display:flex}@keyframes bubble{0%{opacity:0;transform:scale(.6)}8%,90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.scene-tally{grid-template-columns:4rem 1fr 2.6rem;align-items:center;gap:.6rem;display:grid}.scene-track{background:var(--bar-track);border:1px solid var(--rule-strong);height:1.1rem;position:relative}.scene-bar{transform-origin:0;background:repeating-linear-gradient(-45deg, var(--bar-track) 0 4px, color-mix(in oklch, var(--foreground) 25%, transparent) 4px 5px);animation:7s cubic-bezier(.2,.8,.2,1) infinite both scene-bar;position:absolute;inset:0 auto 0 0}.scene-bar[data-lead=true]{background:var(--stamp)}@keyframes scene-bar{0%{transform:scaleX(0)}20%,92%{transform:scaleX(1)}to{transform:scaleX(0)}}.scene .scene-stamp{--stamp-tilt:14deg;width:2.6rem;height:2.6rem;animation:7s cubic-bezier(.2,.9,.25,1.15) infinite both scene-stamp;position:absolute;top:.7rem;right:.9rem}@keyframes scene-stamp{0%,22%{opacity:0;transform:scale(1.9)rotate(14deg)}28%{opacity:1;transform:scale(.92)rotate(14deg)}32%,92%{opacity:.94;transform:scale(1)rotate(14deg)}to{opacity:0}}@media (prefers-reduced-motion:reduce){.scene *,.scene .scene-stamp{animation:none!important}.scene-type{max-width:none}}.present{background:var(--board);color:var(--board-foreground)}.present-close{z-index:2;border:1px solid var(--board-line);border-radius:var(--radius);background:var(--board);min-height:2.25rem;color:var(--board-foreground);cursor:pointer;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.8rem;font-weight:600;display:inline-flex;position:absolute;top:.55rem;right:.75rem}.present-close:hover{background:var(--board-foreground);color:var(--board)}.board{background:var(--board);color:var(--board-foreground);isolation:isolate;flex-direction:column;display:flex;position:relative}.board-full{flex:1;min-height:100%}.board-inline{border:1px solid var(--rule-strong);box-shadow:0 30px 60px -30px var(--shadow-tint), 0 2px 6px -2px var(--shadow-tint);overflow:hidden}.board:before{content:"";z-index:-1;pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0 3px, var(--board-line) 3px 4px);opacity:.25;position:absolute;inset:0}.board .stamp{mix-blend-mode:normal}.board-dim{color:var(--board-dim)}.board-top{border-bottom:1px solid var(--board-line);white-space:nowrap;align-items:center;gap:.9rem;padding:.7rem 7.5rem .7rem 1.25rem;font-size:.85rem;display:flex}.board-inline .board-top{padding-right:1.25rem}.board-live{background:var(--stamp);color:var(--primary-foreground);font-family:var(--font-accent);letter-spacing:.08em;border-radius:2px;align-items:center;gap:.45rem;padding:.2rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.board-live .live-dot{background:var(--primary-foreground)}.board-body{flex:1;gap:2.5rem;padding:1.75rem 1.25rem 2rem;display:grid}@media (min-width:640px){.board-top{padding-left:2rem}.board-body{padding:2.5rem 2rem 2.75rem}}@media (min-width:1024px){.board-body{grid-template-columns:minmax(0,1fr) 15rem;gap:3.5rem;padding:3rem 3.5rem}.board-full .board-body{grid-template-columns:minmax(0,1fr) 19rem;padding:3.5rem 4rem}.board-top{padding-left:3.5rem}.board-full .board-top{padding-left:4rem}}.board-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem 1rem;display:grid}.board-no{border:1.5px solid var(--board-line);place-items:center;width:2.6rem;height:2.6rem;font-size:1.35rem;font-weight:600;transition:background-color .4s,color .4s,border-color .4s;display:grid}.board-row[data-lead=true] .board-no{background:var(--stamp);border-color:var(--stamp);color:var(--primary-foreground)}.board-full .board-no{width:3.2rem;height:3.2rem;font-size:1.7rem}.board-lead-text{color:var(--stamp)}.board-track{background:var(--board-line);grid-column:1/-1;height:.9rem;position:relative;overflow:hidden}.board-full .board-track{height:1.4rem}.board-bar{background:repeating-linear-gradient(-45deg, var(--board-dim) 0 2px, transparent 2px 7px);transition:width .9s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0 auto 0 0}.board-bar[data-lead=true]{background:var(--stamp)}.board-bar[data-lead=true]:after{content:"";background:linear-gradient(90deg, transparent 0, var(--board-line) 50%, transparent 100%);background-repeat:no-repeat;background-size:40% 100%;animation:2.8s ease-in-out infinite bar-sheen;position:absolute;inset:0}@keyframes bar-sheen{0%{background-position:-60% 0}to{background-position:160% 0}}.verdict-seal{--stamp-tilt:-10deg;border:2.5px solid var(--stamp);outline:1px solid var(--stamp);outline-offset:-6px;width:3.3rem;height:3.3rem;color:var(--stamp);font-family:var(--font-headline);letter-spacing:-.02em;filter:url(#ink-bleed);border-radius:999px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:.12em;font-size:.95rem;font-weight:800;display:inline-flex}.board-full .verdict-seal{width:4.2rem;height:4.2rem;font-size:1.2rem}.verdict-seal[data-verdict=유력]{border-style:dashed;outline-color:#0000}.board-tag{border:1px solid var(--board-dim);color:var(--board-dim);padding:.1rem .45rem;font-size:.7rem}.board-aside{flex-direction:column;align-items:flex-start;display:flex}@media (max-width:1023px){.board-aside{border-top:1px solid var(--board-line);grid-template-columns:7.5rem minmax(0,1fr);align-items:center;column-gap:1.25rem;padding-top:1.75rem;display:grid}.board-aside .board-qr{grid-row:span 3}.board-aside>p{margin-top:0}}.board-qr{background:var(--paper);width:100%;color:var(--ink);border:1px solid var(--board-line);padding:.35rem}.dark .board-qr{color:var(--ink-foreground);background:var(--foreground)}.board-total{border-top:1px solid var(--board-line);flex-direction:column;gap:.35rem;width:100%;margin-top:1.75rem;padding-top:1.25rem;display:flex}@media (max-width:1023px){.board-total{margin-top:.75rem;padding-top:.75rem}}.board-crawl{background:var(--board-crawl);border-top:1px solid var(--board-line);white-space:nowrap;align-items:stretch;font-size:.95rem;font-weight:600;display:flex}.board-crawl-label{background:var(--stamp);color:var(--primary-foreground);place-items:center;padding:.6rem 1rem;font-size:1rem;font-weight:800;display:grid}.board-crawl-track{width:max-content;padding:.6rem 0 .6rem 1rem;animation:36s linear infinite ticker;display:flex}.board-crawl .stamp{color:var(--stamp)}@media (prefers-reduced-motion:reduce){.board-crawl-track,.board-bar[data-lead=true]:after{animation:none!important}.board-bar{transition:none}}}@layer utilities;
