/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{color-scheme:dark;--bg-base:#0b1021;--bg-deep:#050814;--bg-glow:#497eff38;--text-main:#eff5ff;--text-soft:#e2ecffb8;--line-soft:#ffffff1a;--line-strong:#ffffff3d;--line-bright:#94beff85;--panel-bg:#ffffff0d;--panel-shadow:0 30px 80px #03081685;--title-size:clamp(1.5rem, 3.4vw, 3.35rem);--kicker-size:clamp(.72rem, 1vw, .95rem);--basis-size:clamp(.72rem, .95vw, .92rem);--section-size:clamp(1rem, 1.65vw, 1.4rem);--subject-size:clamp(.88rem, 1.35vw, 1.15rem);--choice-size:clamp(.74rem, 1.05vw, .92rem);--grade-size:clamp(.72rem, .95vw, .88rem);--provider-size:clamp(.76rem, .98vw, .94rem);--status-size:clamp(.5rem, .74vw, .68rem);--score-size:clamp(.82rem, 1.38vw, 1.22rem);--shell-padding:clamp(.9rem, 2vw, 1.8rem);--panel-padding:clamp(1rem, 2.3vw, 2rem);--panel-radius:clamp(1.25rem, 2.4vw, 2.1rem);--cell-padding-x:clamp(.3rem, .7vw, .65rem);--cell-padding-y:clamp(.48rem, .9vh, .82rem)}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;min-width:0;height:100%;min-height:0;margin:0;overflow:hidden}body{color:var(--text-main);background:radial-gradient(circle at 18% 18%,#ffffff2e 0,#ffffff2e 1px,#0000 1.6px) 0 0/16rem 16rem,radial-gradient(circle at 74% 24%,#ffffff29 0,#ffffff29 1px,#0000 1.7px) 0 0/19rem 19rem,radial-gradient(circle at 36% 78%,#ffffff21 0,#ffffff21 1px,#0000 1.5px) 0 0/21rem 21rem,radial-gradient(circle at 86% 68%,#ffffff24 0,#ffffff24 1.2px,#0000 1.8px) 0 0/24rem 24rem,radial-gradient(circle at 52% 46%,#ffffff14 0,#ffffff14 1px,#0000 1.4px) 0 0/14rem 14rem,radial-gradient(circle at top,#3b82f63d,#0000 34%),linear-gradient(160deg,#050814,#0b1021 48%,#11193a);font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}th,td{font-weight:500}.page-shell{width:100vw;height:100dvh;padding:var(--shell-padding);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.starfield:before{content:"";opacity:.7;pointer-events:none;background:radial-gradient(circle at 12% 30%,#ffffff38 0,#ffffff38 1px,#0000 2px),radial-gradient(circle at 68% 14%,#ffffff29 0,#ffffff29 1.2px,#0000 2.1px),radial-gradient(circle at 84% 54%,#ffffff29 0,#ffffff29 1px,#0000 2px),radial-gradient(circle at 28% 82%,#ffffff1f 0,#ffffff1f 1px,#0000 2px);position:absolute;top:0;right:0;bottom:0;left:0}.glass-panel{z-index:1;isolation:isolate;border:1px solid var(--line-soft);border-radius:var(--panel-radius);background:var(--panel-bg);width:min(100%,1500px);height:100%;padding:var(--panel-padding);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--panel-shadow);flex-direction:column;gap:clamp(.8rem,1.6vw,1.4rem);display:flex;position:relative;overflow:hidden}.glass-panel:before{content:"";background:linear-gradient(180deg,#ffffff14,transparent 18%),radial-gradient(circle at top right,var(--bg-glow),transparent 24%);pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.header-block{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.28rem,.8vw,.55rem);padding-top:clamp(.15rem,.5vh,.4rem);display:flex;position:relative}.hero-kicker{font-size:var(--kicker-size);letter-spacing:.28em;text-transform:uppercase;color:#94beffe0;margin:0;font-weight:600}.hero-title{font-size:var(--title-size);letter-spacing:-.04em;margin:0;font-weight:700;line-height:1.16}.basis-time{font-size:var(--basis-size);letter-spacing:-.02em;color:var(--text-soft);margin:0;font-weight:500}.basis-row{justify-content:center;align-items:center;gap:clamp(.35rem,.7vw,.55rem);display:inline-flex}.snapshot-note{letter-spacing:-.02em;color:#94beffdb;margin:0;font-size:clamp(.72rem,.95vw,.9rem);font-weight:500}.snapshot-note.is-warning{color:#fde047eb}.snapshot-note.audio-note{background:#78350f3d;border:1px solid #fde0472e;border-radius:999px;max-width:min(92%,42rem);padding:.46rem .82rem;line-height:1.35}.announcement-audio{display:none}.refresh-button{color:#e2ecffd9;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;width:clamp(1.8rem,2.2vw,2.2rem);height:clamp(1.8rem,2.2vw,2.2rem);padding:0;transition:background-color .16s,border-color .16s,transform .16s;display:inline-flex}.refresh-button:hover:not(:disabled){background:#60a5fa1f;border-color:#60a5fa8c}.refresh-button:disabled{cursor:wait;opacity:.72}.refresh-icon{width:clamp(.95rem,1.15vw,1.15rem);height:clamp(.95rem,1.15vw,1.15rem)}.refresh-icon.spinning{animation:.9s linear infinite rotate-refresh}.board-section{z-index:1;flex-direction:column;flex:1;gap:clamp(.75rem,1.4vw,1.2rem);min-height:0;display:flex;position:relative}.section-title-wrap{justify-content:center;align-items:center;gap:clamp(.7rem,1vw,1rem);display:flex}.title-bar{background:linear-gradient(#60a5faf2,#3b82f673);border-radius:999px;width:clamp(.22rem,.35vw,.32rem);height:clamp(1.1rem,2.3vw,1.7rem);box-shadow:0 0 18px #60a5fa73}.section-title{font-size:var(--section-size);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.table-stage{background:#050a1857;border:1px solid #ffffff14;border-radius:clamp(1rem,2vw,1.7rem);flex:1;min-height:0;padding:clamp(.55rem,1vw,.9rem);overflow:hidden}.table-scale-shell{justify-content:center;align-items:flex-start;width:100%;height:100%;display:flex;overflow:hidden}.table-frame{transform-origin:top;flex:none;width:100%;height:100%;transition:transform .18s}.cutoff-table{border-collapse:separate;border-spacing:0;table-layout:fixed;background:#090e1d9e;border:1px solid #ffffff14;border-radius:clamp(.95rem,1.5vw,1.45rem);width:100%;height:100%;overflow:hidden}.cell-base{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:var(--cell-padding-y) var(--cell-padding-x);text-align:center;vertical-align:middle}.head-top{font-size:var(--subject-size);letter-spacing:-.02em;font-weight:700}.provider-head{font-size:var(--subject-size);background:#ffffff12}.head-choice{font-size:var(--choice-size);color:var(--text-soft);font-weight:600}.grade-head{font-size:var(--grade-size);color:#e4eeffd1;background:#ffffff0d;font-weight:700}.korean-head{background:#ef444426}.math-head{background:#3b82f626}.provider-row{transition:background-color .18s,transform .22s}.provider-row:hover .provider-cell,.provider-row:hover .score-cell{background:#ffffff16}.provider-cell{font-size:var(--provider-size);letter-spacing:-.02em;text-align:center;background:#ffffff08;padding:0;font-weight:700;position:relative;overflow:hidden}.provider-cell-content{flex-direction:column;justify-content:center;align-items:center;gap:clamp(.16rem,.3vw,.28rem);width:100%;height:100%;display:flex}.provider-name{white-space:nowrap;word-break:keep-all;line-height:1.2;display:block}.provider-status{color:var(--text-soft);white-space:nowrap;justify-content:center;align-items:center;gap:clamp(.16rem,.35vw,.28rem);display:inline-flex}.status-dot{border-radius:999px;flex:none;width:clamp(.34rem,.5vw,.48rem);height:clamp(.34rem,.5vw,.48rem);box-shadow:0 0 10px}.status-dot.is-published{color:#22c55e;background:#22c55e}.status-dot.is-hidden{color:#ef4444;background:#ef4444}.status-dot.is-disconnected{color:#94a3b8;background:#94a3b8}.status-text{font-size:var(--status-size);letter-spacing:-.02em;font-weight:500;line-height:1.1}.score-cell{font-size:var(--score-size);letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:#ffffff06;font-weight:600;position:relative;overflow:hidden}.provider-row.is-newly-published{animation:.7s provider-row-highlight}.provider-row.is-newly-published .provider-cell,.provider-row.is-newly-published .score-cell{background-color:#0d948824;box-shadow:inset 0 0 0 1px #6ee7b733,0 0 24px #2dd4bf1a}.provider-row.is-newly-published .provider-cell:after,.provider-row.is-newly-published .score-cell:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 12%,#a7f3d047 46%,#7dd3fc38 58%,#0000 82%);animation:1.35s provider-sweep;position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-115%)}.state-row .state-cell{color:var(--text-soft);background:#ffffff06;border-right:none;font-size:clamp(.86rem,1.15vw,1rem);font-weight:500}.main-divider{border-right:2px solid var(--line-bright)}.cutoff-table thead tr:first-child th:first-child{border-top-left-radius:clamp(.95rem,1.5vw,1.3rem)}.cutoff-table thead tr:first-child th:last-child{border-top-right-radius:clamp(.95rem,1.5vw,1.3rem)}.cutoff-table tbody tr:last-child th,.cutoff-table tbody tr:last-child td{border-bottom:none}.cutoff-table tr>:last-child{border-right:none}.publish-overlay{z-index:6;pointer-events:none;justify-content:center;align-items:center;padding:clamp(1rem,2.5vw,2rem);display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.publish-overlay-dim{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle,#22c55e38,#0000 32%),#020617a8;position:absolute;top:0;right:0;bottom:0;left:0}.publish-card{z-index:1;background:linear-gradient(145deg,#090e1df5,#070c18e6),#060b15eb;border:1px solid #86efac42;border-radius:clamp(1.2rem,2vw,1.8rem);flex-direction:column;gap:clamp(.9rem,1.6vw,1.35rem);width:min(100%,920px);max-height:min(100%,760px);padding:clamp(1rem,2.2vw,1.7rem);animation:1.8s ease-in-out infinite publish-card-breathe;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #02061794,0 0 44px #4ade8033}.publish-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff14,#0000 24%),radial-gradient(circle at 100% 0,#2dd4bf38,#0000 34%);position:absolute;top:0;right:0;bottom:0;left:0}.publish-card>*{z-index:1;position:relative}.publish-card-kicker{letter-spacing:.22em;text-transform:uppercase;color:#a7f3d0eb;margin:0;font-size:clamp(.72rem,.92vw,.88rem);font-weight:700}.publish-card-heading{justify-content:space-between;align-items:flex-start;gap:.9rem;display:flex}.publish-card-title{letter-spacing:-.04em;margin:0;font-size:clamp(1.4rem,2.6vw,2.4rem);font-weight:700;line-height:1.08}.publish-card-copy{color:#e2ecffc7;margin:.38rem 0 0;font-size:clamp(.84rem,1.05vw,1rem)}.publish-card-type{color:#d1fae5f5;white-space:nowrap;background:#34d3991f;border:1px solid #a7f3d038;border-radius:999px;flex:none;align-self:flex-start;padding:.38rem .7rem;font-size:clamp(.7rem,.9vw,.84rem);font-weight:600}.publish-card-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,1.4vw,1rem);display:grid}.overlay-subject{background:#ffffff08;border:1px solid #ffffff14;border-radius:clamp(.95rem,1.4vw,1.2rem);padding:clamp(.75rem,1.3vw,.95rem)}.overlay-subject.is-korean{box-shadow:inset 0 0 0 1px #f8717114}.overlay-subject.is-math{box-shadow:inset 0 0 0 1px #60a5fa14}.overlay-subject-header{align-items:center;gap:.45rem;margin-bottom:.72rem;display:flex}.overlay-subject-badge{border-radius:999px;width:.6rem;height:.6rem;box-shadow:0 0 16px}.overlay-subject.is-korean .overlay-subject-badge{color:#f87171;background:#f87171}.overlay-subject.is-math .overlay-subject-badge{color:#60a5fa;background:#60a5fa}.overlay-subject-title{letter-spacing:-.03em;margin:0;font-size:clamp(.94rem,1.24vw,1.08rem);font-weight:700}.overlay-score-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.overlay-score-table th,.overlay-score-table td{text-align:center;border-bottom:1px solid #ffffff14;border-right:1px solid #ffffff14;padding:.55rem .48rem}.overlay-score-table thead th{color:#e4eeffd6;background:#ffffff0d;font-size:clamp(.72rem,.9vw,.82rem);font-weight:700}.overlay-score-table tbody th{color:#eff5ffe6;background:#ffffff09;font-size:clamp(.76rem,.98vw,.88rem);font-weight:600}.overlay-score-table tbody td{font-variant-numeric:tabular-nums;background:#ffffff05;font-size:clamp(.8rem,1vw,.9rem);font-weight:600}.overlay-score-table tr>:last-child{border-right:none}.overlay-score-table tbody tr:last-child>*{border-bottom:none}.publish-overlay-enter-active,.publish-overlay-leave-active{transition:opacity .22s}.publish-overlay-enter-active .publish-card,.publish-overlay-leave-active .publish-card{transition:transform .22s,opacity .22s}.publish-overlay-enter-from,.publish-overlay-leave-to{opacity:0}.publish-overlay-enter-from .publish-card,.publish-overlay-leave-to .publish-card{opacity:0;transform:translateY(20px)scale(.97)}@keyframes rotate-refresh{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes provider-row-highlight{0%{transform:scale(.992)}55%{transform:scale(1.004)}to{transform:scale(1)}}@keyframes provider-sweep{0%{transform:translate(-115%)}to{transform:translate(115%)}}@keyframes publish-card-breathe{0%,to{box-shadow:0 24px 80px #02061794,0 0 44px #4ade8029}50%{box-shadow:0 28px 88px #0206179e,0 0 56px #2dd4bf3d}}@media (max-width:900px){.publish-card{width:min(100%,700px)}.publish-card-sections{grid-template-columns:1fr}}@media (max-width:720px),(max-height:640px){:root{--shell-padding:clamp(.55rem, 1vw, .8rem);--panel-padding:clamp(.7rem, 1.4vw, 1rem);--panel-radius:clamp(.9rem, 1.6vw, 1.15rem);--title-size:clamp(1.1rem, 4vw, 1.7rem);--basis-size:clamp(.6rem, .9vw, .72rem);--section-size:clamp(.88rem, 2vw, 1rem);--subject-size:clamp(.76rem, 1.6vw, .9rem);--choice-size:clamp(.64rem, 1.2vw, .75rem);--grade-size:clamp(.6rem, 1vw, .72rem);--provider-size:clamp(.62rem, 1vw, .74rem);--status-size:clamp(.4rem, .72vw, .5rem);--score-size:clamp(.7rem, 1.3vw, .9rem);--cell-padding-x:clamp(.2rem, .45vw, .3rem);--cell-padding-y:clamp(.32rem, .55vh, .44rem)}.hero-kicker{letter-spacing:.22em}.table-stage{padding:.35rem}.publish-overlay{padding:.75rem}.publish-card{gap:.8rem;padding:1rem}.snapshot-note.audio-note{border-radius:1rem;padding-inline:.7rem}.publish-card-heading{flex-direction:column}.publish-card-type{align-self:flex-start}.overlay-subject{padding:.65rem}.overlay-score-table th,.overlay-score-table td{padding:.42rem .32rem}}@media (prefers-reduced-motion:reduce){.publish-card,.provider-row.is-newly-published{animation:none}.provider-row.is-newly-published .provider-cell:after,.provider-row.is-newly-published .score-cell:after{opacity:0;animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
