/*! 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;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@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;--spacing:.25rem;--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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}:root{--bg:#070b14;--surface:#0b1220;--surface-2:#111a2d;--line:#22304a;--text:#f3f6fb;--muted:#94a3b8;--accent:#67e8f9;--purple:#a78bfa;--green:#34d399}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 50% -10%, #38bdf821, transparent 34rem), var(--bg);color:var(--text);font-family:var(--font-geist-sans), "Noto Sans KR", system-ui, sans-serif;margin:0}button,input,select{font:inherit}a{color:inherit}.site-shell{min-height:100vh}.topbar,.hero,.explorer,footer{width:min(1500px,100% - 40px);margin-inline:auto}.topbar{border-bottom:1px solid #94a3b81f;justify-content:space-between;align-items:center;height:72px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:34px;height:34px;color:var(--accent);background:#22d3ee12;border:1px solid #35506f;border-radius:10px;place-items:center;display:grid}.data-stamp{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.data-stamp>span{background:var(--green);width:7px;height:7px;box-shadow:0 0 12px var(--green);border-radius:50%}.hero{padding:86px 0 64px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 20px;font-size:12px;font-weight:700}.hero h1{letter-spacing:-.055em;max-width:920px;margin:0;font-size:clamp(42px,6vw,82px);font-weight:650;line-height:1.04}.hero-copy{color:#b4c0d4;max-width:700px;margin:30px 0 0;font-size:clamp(16px,1.6vw,20px);line-height:1.75}.search-cta-row{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.moe-search-cta{color:#dffaff;background:#22d3ee14;border:1px solid #31516b;border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:12px 16px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex}.moe-search-cta:hover{background:#22d3ee21;border-color:#4a7898}.moe-search-cta.office-cta{color:#e3fff5;background:#34d39914;border-color:#365b51}.moe-search-cta.office-cta:hover{background:#34d39924;border-color:#4f806f}.moe-search-cta.university-cta{color:#efedff;background:#a78bfa14;border-color:#514e7c}.moe-search-cta.university-cta:hover{background:#a78bfa24;border-color:#716ca5}.stats{flex-wrap:wrap;gap:44px;margin-top:48px;display:flex}.stats div{gap:5px;display:grid}.stats strong{font-family:var(--font-geist-mono);font-size:24px;font-weight:500}.stats span{color:var(--muted);font-size:13px}.explorer{border:1px solid var(--line);background:#090f1be0;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px #00000047}.toolbar{border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,1fr) minmax(210px,280px) auto;gap:10px;padding:18px;display:grid}.search-wrap{position:relative}.search-wrap>svg{color:#71819a;pointer-events:none;z-index:1;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-wrap input,.toolbar select,.reset-button{width:100%;height:44px;color:var(--text);background:#0c1424;border:1px solid #2a3954;border-radius:11px}.search-wrap input{padding:0 14px 0 42px}.toolbar select{padding:0 38px 0 13px}.search-wrap input:focus,.toolbar select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reset-button{cursor:pointer;justify-content:center;align-items:center;gap:7px;width:auto;padding:0 15px;display:inline-flex}.search-results{z-index:20;background:#0d1728;border:1px solid #30415f;border-radius:12px;max-height:min(520px,64vh);padding:6px;position:absolute;top:51px;left:0;right:0;overflow-y:auto;box-shadow:0 18px 50px #00000061}.search-results button{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.search-results button:hover{background:#17233a}.search-results button>span{gap:3px;min-width:0;display:grid}.search-results b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:650;overflow:hidden}.search-results small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.search-results em{color:#9fb0c8;white-space:nowrap;border:1px solid #2a3b57;border-radius:999px;padding:3px 6px;font-size:10px;font-style:normal}.search-empty{color:var(--muted);padding:16px;font-size:13px}.scope-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 18px;display:flex}.scope-tabs button{color:#93a4bd;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.scope-tabs button:hover{color:var(--text);background:#101a2c}.scope-tabs button.is-active{color:#dffaff;background:#22d3ee1a;border-color:#24586c}.workspace{grid-template-columns:minmax(0,1fr) 320px;min-height:760px;display:grid}.graph-wrap{background-image:radial-gradient(circle,#5c759940 1px,#0000 1px);background-size:24px 24px;min-width:0;position:relative;overflow:hidden}.graph-wrap svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:760px;display:block}.graph-wrap svg.is-navigating{cursor:grabbing}.graph-actions{z-index:2;color:#71819a;pointer-events:none;font-size:12px;position:absolute;top:14px;left:16px}.graph-edge{stroke:#35435b;stroke-width:1.05px;opacity:.7;vector-effect:non-scaling-stroke;transition:opacity .16s}.graph-edge.is-dimmed{opacity:.08}.graph-node{cursor:grab;transition:opacity .16s}.graph-node.is-dragging{cursor:grabbing}.graph-node.is-dragging .node-mark{stroke:#fff;stroke-width:3px}.graph-node.is-pinned .node-hit{stroke:#67e8f961;stroke-width:1px;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.node-hit{fill:#0000}.node-mark{stroke:#07101e;stroke-width:2px;vector-effect:non-scaling-stroke;transition:opacity .18s,stroke .18s,stroke-width .18s}.graph-node:hover .node-mark,.graph-node.is-selected .node-mark{stroke:#fff;stroke-width:3px}.graph-node.is-dimmed{opacity:.12}.node-label{fill:#e7edf7;paint-order:stroke;stroke:#08101d;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:12px;font-weight:600}.detail-label{font-size:10.5px;font-weight:500}.graph-tooltip{z-index:8;pointer-events:none;opacity:0;background:#0c1525f5;border:1px solid #354763;border-radius:10px;width:215px;padding:10px 12px;transition:opacity .14s,transform .14s;position:absolute;transform:translateY(4px);box-shadow:0 12px 34px #00000057}.graph-tooltip[data-visible=true]{opacity:1;transform:translateY(0)}.graph-tooltip strong,.graph-tooltip span{display:block}.graph-tooltip strong{font-size:13px}.graph-tooltip span{color:var(--muted);margin-top:3px;font-size:11px}.legend{z-index:2;color:#9cacbf;background:#080f1bd1;border:1px solid #3f5371bf;border-radius:10px;flex-wrap:wrap;gap:11px;padding:8px 10px;font-size:11px;display:flex;position:absolute;bottom:14px;left:16px}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:50%;width:7px;height:7px}.detail-panel{border-left:1px solid var(--line);background:#0a1220;padding:28px 24px}.detail-kicker{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.detail-kicker span{border-radius:50%;width:9px;height:9px}.detail-panel h2{letter-spacing:-.035em;margin:16px 0 0;font-size:24px;line-height:1.25}.detail-note{color:#a8b6ca;min-height:48px;line-height:1.65}.detail-panel dl{border-top:1px solid var(--line);gap:0;margin:30px 0;display:grid}.detail-panel dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:12px 0;font-size:13px;display:flex}.detail-panel dt{color:var(--muted)}.detail-panel dd{text-align:right;margin:0}.official-link{background:var(--text);color:#07101c;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:44px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.official-link:hover{background:#dce8f7}.hub-hint{color:var(--muted);font-size:13px;line-height:1.6}.source-note{border-top:1px solid var(--line);color:#73849d;align-items:flex-start;gap:8px;margin-top:24px;padding-top:20px;font-size:11px;line-height:1.55;display:flex}.source-note svg{flex:none;margin-top:1px}footer{color:#71819a;justify-content:space-between;align-items:center;gap:30px;min-height:150px;font-size:12px;display:flex}footer p{max-width:760px;line-height:1.7}footer div{gap:18px;display:flex}footer a{color:#aab8cb;text-decoration:none}footer a:hover{color:var(--text)}@media (width<=980px){.workspace{grid-template-columns:1fr}.detail-panel{border-left:0;border-top:1px solid var(--line)}.detail-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.toolbar{grid-template-columns:1fr 220px}.reset-button{grid-column:1/-1;width:100%}}@media (width<=640px){.topbar,.hero,.explorer,footer{width:min(100% - 24px,1500px)}.topbar{height:62px}.data-stamp{font-size:10px}.hero{padding:58px 0 42px}.hero h1{font-size:43px}.stats{gap:24px}.stats div{min-width:calc(50% - 20px)}.toolbar{grid-template-columns:1fr}.toolbar select,.reset-button{grid-column:auto}.scope-tabs{flex-wrap:nowrap;overflow-x:auto}.scope-tabs button{white-space:nowrap}.graph-wrap svg{height:560px}.workspace{min-height:0}.detail-panel dl{grid-template-columns:1fr}.legend{left:12px;right:12px}footer{flex-direction:column;align-items:flex-start;padding:30px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.graph-edge,.graph-node,.node-mark,.graph-tooltip{transition:none}}.moe-search-page{color:#132238;background:#f5f7fa;min-height:100vh}.moe-search-nav{border-bottom:1px solid #dbe2ea;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);height:72px;margin-inline:auto;display:flex}.moe-search-brand,.moe-back-link{align-items:center;gap:9px;text-decoration:none;display:inline-flex}.moe-search-links{align-items:center;gap:18px;display:flex}.moe-search-brand{letter-spacing:-.02em;font-weight:750}.moe-search-brand span{color:#fff;width:38px;height:28px;font-family:var(--font-geist-mono);letter-spacing:.08em;background:#123b70;border-radius:6px;place-items:center;font-size:11px;display:grid}.moe-back-link{color:#5c6d82;font-size:13px}.moe-back-link:hover{color:#123b70}.moe-search-hero{color:#fff;text-align:center;background:linear-gradient(155deg,#0b2a50,#0e4778 62%,#08768a);padding:76px 20px 62px}.moe-search-hero>*{margin-inline:auto}.moe-search-eyebrow{color:#87e7ee;font-family:var(--font-geist-mono);letter-spacing:.16em;margin-block:0 16px;font-size:11px}.moe-search-hero h1{letter-spacing:-.055em;margin-block:0;font-size:clamp(42px,6vw,68px);line-height:1.04}.moe-search-hero>p:not(.moe-search-eyebrow){color:#cfdeeb;max-width:660px;margin-top:22px;line-height:1.7}.moe-query-box{color:#24405f;background:#fff;border:1px solid #ffffff61;border-radius:16px;align-items:center;gap:13px;width:min(820px,100%);height:66px;margin-top:34px;padding:0 20px;display:flex;box-shadow:0 20px 55px #0003}.moe-query-box input{color:#14253a;background:0 0;border:0;outline:0;flex:1;min-width:0;height:100%;font-size:18px}.moe-query-box input::placeholder{color:#8190a1}.search-loading-bar{background:#ffffff2e;border-radius:999px;width:min(820px,100%);height:4px;margin-top:12px;overflow:hidden}.search-loading-bar span{border-radius:inherit;background:#8cf3e6;width:34%;height:100%;animation:1.15s cubic-bezier(.4,0,.2,1) infinite search-loading;display:block}@keyframes search-loading{0%{transform:translate(-115%)}to{transform:translate(340%)}}.moe-search-status{color:#b7d4e2;margin-top:16px;font-size:12px}.moe-results-shell{width:min(1040px,100% - 40px);margin:0 auto;padding:38px 0 80px}.moe-filter-row{border-bottom:1px solid #dce3eb;grid-template-columns:1.6fr 1fr 1fr;gap:12px;padding-bottom:22px;display:grid}.moe-filter-row label{color:#66758a;gap:7px;font-size:11px;font-weight:650;display:grid}.moe-filter-row select{color:#1d3048;background:#fff;border:1px solid #cbd5e1;border-radius:9px;width:100%;height:43px;padding:0 34px 0 12px}.moe-filter-row select:focus,.moe-pagination button:focus-visible,.moe-result-list a:focus-visible{outline-offset:2px;outline:2px solid #08768a}.moe-results-heading{justify-content:space-between;align-items:center;gap:20px;min-height:92px;display:flex}.moe-results-heading div{align-items:baseline;gap:8px;display:flex}.moe-results-heading strong{font-family:var(--font-geist-mono);color:#0e4778;font-size:28px}.moe-results-heading span,.moe-results-heading p{color:#748398;font-size:12px}.moe-result-list{border-top:1px solid #dbe2ea;margin:0;padding:0;list-style:none}.moe-result-list li{border-bottom:1px solid #dbe2ea}.moe-result-list a{padding:22px 8px;text-decoration:none;display:block}.moe-result-list a:hover{background:#eef3f7}.moe-result-topline{color:#8190a1;justify-content:space-between;align-items:center;display:flex}.moe-result-topline span{color:#31516b;background:#e6eef6;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:700}.moe-result-topline span.is-menu{color:#076b70;background:#d9f1f0}.moe-result-list h2{-webkit-line-clamp:2;color:#14253a;letter-spacing:-.02em;-webkit-box-orient:vertical;margin:11px 0 8px;font-size:18px;line-height:1.45;display:-webkit-box;overflow:hidden}.moe-result-list p{color:#75859a;margin:0;font-size:12px;line-height:1.65}.moe-result-list p+p{margin-top:4px}.moe-no-results{text-align:center;border-block:1px solid #dbe2ea;align-content:center;place-items:center;gap:10px;min-height:250px;padding:64px 20px;display:grid}.moe-no-results strong{font-size:18px}.moe-no-results p{color:#728197;margin:0}.moe-no-results a{color:#0e4778;align-items:center;gap:6px;margin-top:8px;display:inline-flex}.moe-pagination{justify-content:center;align-items:center;gap:18px;margin-top:28px;display:flex}.moe-pagination button{color:#243a54;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-width:72px;height:38px}.moe-pagination button:disabled{opacity:.4;cursor:default}.moe-pagination span{color:#6f7f93;font-family:var(--font-geist-mono);font-size:12px}.moe-index-note{color:#77869a;border-top:1px solid #dbe2ea;align-items:flex-start;gap:9px;margin-top:48px;padding-top:22px;font-size:11px;line-height:1.65;display:flex}.moe-index-note svg{color:#08768a;flex:none;margin-top:2px}.moe-index-note p{margin:0}@media (width<=640px){.moe-search-nav{width:calc(100% - 24px);height:62px}.moe-search-hero{padding:56px 12px 46px}.moe-query-box{height:58px;padding-inline:15px}.moe-query-box input{font-size:15px}.moe-results-shell{width:calc(100% - 24px);padding-top:24px}.moe-filter-row{grid-template-columns:1fr}.moe-results-heading{min-height:80px}.moe-results-heading p{display:none}.moe-result-list a{padding-inline:2px}.moe-search-links{gap:10px}.moe-search-links a:first-child{display:none}}.office-search-page{color:#132d29;background:#f3f7f6;min-height:100vh}.office-search-nav{border-bottom:1px solid #d5e2de;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);height:72px;margin-inline:auto;display:flex}.office-search-brand,.office-search-nav nav a{align-items:center;gap:9px;text-decoration:none;display:inline-flex}.office-search-brand{letter-spacing:-.02em;font-weight:750}.office-search-brand>span{color:#fff;background:#176b5b;border-radius:7px;place-items:center;width:38px;height:30px;display:grid}.office-search-nav nav{color:#58726d;gap:18px;font-size:13px;display:flex}.office-search-nav nav a:hover{color:#176b5b}.office-search-hero{color:#fff;text-align:center;background:linear-gradient(150deg,#0b3c38,#126658 62%,#148274);padding:74px 20px 62px}.office-search-hero>*{margin-inline:auto}.office-search-eyebrow{color:#91f0d3;font-family:var(--font-geist-mono);letter-spacing:.15em;margin-block:0 16px;font-size:11px}.office-search-hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(42px,6vw,68px);line-height:1.04}.office-search-hero>p:not(.office-search-eyebrow){color:#d2e8e2;max-width:680px;margin-top:22px;line-height:1.7}.office-query-box{color:#31544e;background:#fff;border:1px solid #ffffff5c;border-radius:16px;align-items:center;gap:13px;width:min(850px,100%);min-height:66px;margin-top:34px;padding:8px 9px 8px 20px;display:flex;box-shadow:0 20px 55px #0003}.office-query-box input{color:#173c35;background:0 0;border:0;outline:0;flex:1;min-width:0;height:48px;font-size:17px}.office-query-box input::placeholder{color:#839b96}.office-query-box button{color:#fff;cursor:pointer;background:#176b5b;border:0;border-radius:10px;justify-content:center;align-items:center;height:48px;padding:0 20px;font-weight:700;display:inline-flex}.office-query-box button:hover{background:#115748}.office-query-box button:disabled{opacity:.65;cursor:wait}.is-spinning{animation:.8s linear infinite office-spin}@keyframes office-spin{to{transform:rotate(360deg)}}.office-search-status{color:#b9d9d1;min-height:18px;margin-top:15px;font-size:12px}.office-results-shell{width:min(1040px,100% - 40px);margin:0 auto;padding:36px 0 80px}.office-result-tools{border-bottom:1px solid #d5e2de;justify-content:space-between;align-items:center;gap:24px;min-height:76px;display:flex}.office-result-tools>div:first-child{align-items:baseline;gap:8px;display:flex}.office-result-tools strong{color:#176b5b;font-family:var(--font-geist-mono);font-size:28px}.office-result-tools span{color:#6d837e;font-size:12px}.office-result-controls{align-items:center;gap:14px;display:flex}.office-result-tools label{color:#637a75;align-items:center;gap:9px;font-size:11px;display:flex}.office-result-tools select{color:#24443e;background:#fff;border:1px solid #bed0cb;border-radius:8px;height:40px;padding:0 34px 0 11px}.office-response-grid{border-bottom:1px solid #d5e2de;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;padding:22px 0;display:grid}.office-response{color:#34544e;text-align:center;background:#fff;border:1px solid #ccdbd7;border-radius:8px;gap:3px;min-width:0;padding:9px 7px;text-decoration:none;display:grid}.office-response:hover{border-color:#72a497}.office-response span{font-size:12px;font-weight:700}.office-response small{text-overflow:ellipsis;white-space:nowrap;color:#718781;font-size:9px;overflow:hidden}.office-response.is-success{background:#edf9f5;border-color:#9bcabd}.office-response.is-pending{background:#f3f7f6;border-color:#b8ccc7}.office-response.is-limited{background:#fffaf0;border-color:#d8c68f}.office-response.is-unavailable{opacity:.62}.office-result-list{border-top:1px solid #d5e2de;margin:0;padding:0;list-style:none}.office-result-list li{border-bottom:1px solid #d5e2de}.office-result-list a{padding:21px 7px;text-decoration:none;display:block}.office-result-list a:hover{background:#eaf3f0}.office-result-list a>div{color:#718781;justify-content:space-between;align-items:center;display:flex}.office-result-list a>div .office-result-labels{gap:6px;min-width:0;display:flex}.office-result-list a>div .office-result-labels b{color:#176b5b;text-overflow:ellipsis;white-space:nowrap;background:#dceee8;border-radius:5px;max-width:180px;padding:4px 7px;font-size:10px;font-weight:750;overflow:hidden}.office-result-list a>div .office-result-labels b+b{color:#5b716c;background:#edf1f0}.office-result-list h2{-webkit-line-clamp:2;color:#183b34;letter-spacing:-.02em;-webkit-box-orient:vertical;margin:10px 0 7px;font-size:18px;line-height:1.45;display:-webkit-box;overflow:hidden}.office-result-list p{color:#7b8f8a;margin:0;font-size:11px}.office-search-intro,.office-empty-state{color:#176b5b;text-align:center;align-content:center;place-items:center;gap:11px;min-height:320px;display:grid}.office-search-intro strong,.office-empty-state strong{color:#23463f;font-size:18px}.office-search-intro p,.office-empty-state p{color:#71847f;max-width:520px;margin:0;line-height:1.65}.office-source-note{color:#71847f;border-top:1px solid #d5e2de;align-items:flex-start;gap:9px;margin-top:45px;padding-top:21px;font-size:11px;line-height:1.65;display:flex}.office-source-note svg{color:#176b5b;flex:none;margin-top:2px}.office-source-note p{margin:0}@media (width<=820px){.office-response-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=640px){.office-search-nav{width:calc(100% - 24px);height:62px}.office-search-nav nav{gap:10px;font-size:11px}.office-search-page:not(.university-search-page) .office-search-nav nav a:first-child{display:none}.office-search-brand{font-size:13px}.office-search-hero{padding:55px 12px 45px}.office-query-box{min-height:58px;padding:6px 6px 6px 14px}.office-query-box input{height:46px;font-size:14px}.office-query-box button{height:46px;padding-inline:13px;font-size:12px}.office-results-shell{width:calc(100% - 24px);padding-top:22px}.office-result-tools{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 0}.office-result-controls{align-items:stretch;width:100%}.office-result-tools label,.office-result-tools select{width:100%}.office-response-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.university-search-page{color:#28271f;background:#f6f5f1}.university-search-page .office-search-nav{border-color:#dedbd0}.university-search-page .office-search-brand>span{background:#3d3c83}.university-search-page .office-search-nav nav{color:#6d6b80}.university-search-page .office-search-nav nav a:hover{color:#3d3c83}.university-search-hero{background:linear-gradient(145deg,#222452,#3d3c83 58%,#7062a5)}.university-search-page .office-search-eyebrow{color:#f0d995}.university-search-page .office-search-hero>p:not(.office-search-eyebrow){color:#dfdff0;max-width:760px}.university-search-page .office-query-box{color:#49467c}.university-search-page .office-query-box input{color:#28264f}.university-search-page .office-query-box input::placeholder{color:#8a889c}.university-search-page .office-query-box button{background:#3d3c83}.university-search-page .office-query-box button:hover{background:#302f6b}.university-search-page .office-search-status{color:#d5d4e9}.university-filter-grid{border-bottom:1px solid #dedbd0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-bottom:24px;display:grid}.university-filter-grid label{color:#737184;gap:7px;min-width:0;font-size:11px;font-weight:650;display:grid}.university-filter-grid select{color:#34324f;text-overflow:ellipsis;background:#fff;border:1px solid #cfcbc0;border-radius:8px;width:100%;height:42px;padding:0 34px 0 11px;overflow:hidden}.university-result-tools{border-color:#dedbd0}.university-result-tools strong{color:#3d3c83}.university-result-tools>p{color:#7d7a86;margin:0;font-size:11px}.university-insights{border-block:1px solid #dedbd0;margin-bottom:28px;padding:22px 0 26px}.university-insights>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.university-insights>header>div{align-items:flex-start;gap:10px;display:flex}.university-insights>header svg{color:#4d4a88;flex:none;margin-top:2px}.university-insights>header h2{color:#302f43;letter-spacing:-.02em;margin:0;font-size:16px}.university-insights>header p{color:#777481;margin:5px 0 0;font-size:11px}.university-insights>header button{color:#4c497c;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #c9c5da;border-radius:7px;padding:7px 10px;font-size:11px}.university-insights>header button:hover{background:#e9e7f2}.university-insight-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);align-items:start;gap:26px;display:grid}.university-insight-side{gap:24px;display:grid}.university-distribution h3{color:#4a485c;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;font-size:12px;display:flex}.university-distribution h3 small{color:#94909b;font-size:9px;font-weight:500}.university-distribution-list{gap:7px;display:grid}.university-distribution-empty{color:#8a8691;margin:0;font-size:10px}.university-distribution.is-region .university-distribution-list{grid-template-columns:repeat(2,minmax(0,1fr))}.university-distribution-list button{color:#4a4858;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;min-width:0;padding:6px 7px}.university-distribution-list button:hover{background:#eeece6}.university-distribution-list button.is-active{color:#302e66;background:#e9e7f4;border-color:#9993c2}.university-distribution-list button>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.university-distribution-list b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.university-distribution-list em{color:#777381;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:9px;font-style:normal}.university-distribution-list button>i{background:#e5e1d8;border-radius:999px;height:5px;margin-top:5px;display:block;overflow:hidden}.university-distribution-list button>i>span{border-radius:inherit;background:#7770ad;height:100%;transition:width .22s;display:block}.university-distribution-list button.is-active>i>span{background:#3d3c83}.university-search-page .office-result-list,.university-search-page .office-result-list li{border-color:#dedbd0}.university-search-page .office-result-list a:hover{background:#efede6}.university-search-page .office-result-list a>div .office-result-labels b{color:#3d3c83;background:#e5e3f3}.university-search-page .office-result-list a>div .office-result-labels b+b{color:#666270;background:#eeece5}.university-search-page .office-result-list h2{color:#302f43}.university-search-page .office-result-list p{line-height:1.65}.university-search-page .office-search-intro,.university-search-page .office-empty-state{color:#3d3c83}.university-search-page .office-search-intro strong,.university-search-page .office-empty-state strong{color:#363449}.university-response-details,.university-directory{border-top:1px solid #dedbd0;margin-top:24px}.university-response-details summary,.university-directory summary{color:#45435d;cursor:pointer;padding:18px 4px;font-size:13px;font-weight:700}.university-response-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:18px;display:grid}.university-response-list a{color:#49465a;background:#fff;border:1px solid #d8d4c9;border-radius:8px;gap:4px;min-width:0;padding:10px;text-decoration:none;display:grid}.university-response-list a:hover{border-color:#8d88b8}.university-response-list a.is-success{background:#f2f1fa;border-color:#aaa4d2}.university-response-list a.is-unavailable{opacity:.6}.university-response-list span,.university-response-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.university-response-list span{font-size:11px;font-weight:700}.university-response-list small{color:#7f7b87;font-size:9px}.university-directory ul{border-block:1px solid #dedbd0;max-height:640px;margin:0;padding:0;list-style:none;overflow-y:auto}.university-directory li{border-bottom:1px solid #e4e1d8;grid-template-columns:minmax(0,1fr) auto 58px;align-items:center;gap:12px;min-height:58px;padding:9px 4px;display:grid}.university-directory li:last-child{border-bottom:0}.university-directory li>span:first-child{gap:4px;min-width:0;display:grid}.university-directory b,.university-directory small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.university-directory b{color:#37354b;font-size:12px}.university-directory small{color:#85818a;font-size:10px}.university-directory .is-searchable,.university-directory .is-link-only{color:#3d3c83;background:#e5e3f3;border-radius:5px;padding:4px 7px;font-size:9px;font-weight:750}.university-directory .is-link-only{color:#77736d;background:#eeece5}.university-directory li>a{color:#4f4b7e;justify-content:flex-end;align-items:center;gap:4px;font-size:11px;text-decoration:none;display:inline-flex}.university-search-page .office-source-note{border-color:#dedbd0}.university-search-page .office-source-note svg{color:#3d3c83}.university-search-page .office-source-note a{color:#4f4b7e}@media (width<=820px){.university-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.university-insight-grid{grid-template-columns:1fr}.university-insight-side,.university-response-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.university-search-page .office-search-nav nav a:first-child{display:none}.university-filter-grid{grid-template-columns:1fr}.university-insights>header{flex-direction:column}.university-insight-side,.university-distribution.is-region .university-distribution-list,.university-response-list{grid-template-columns:1fr}.university-directory li{grid-template-columns:minmax(0,1fr) auto}.university-directory li>a{display:none}}@media (prefers-reduced-motion:reduce){.is-spinning{animation:none}.search-loading-bar span{opacity:.78;width:100%;animation:none}.university-distribution-list button>i>span{transition: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}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}

/* Company footer: CSS-generated content keeps React prerender markup unchanged. */
.site-shell > footer {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px max(20px, calc((100vw - 1500px) / 2)) 28px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.22) !important;
  background: linear-gradient(135deg, #08101e 0%, #0d1b2f 100%) !important;
  color: #cbd5e1 !important;
  text-align: left !important;
}
.site-shell > footer > * { display: none !important; }
.site-shell > footer::before,
.moe-search-page::after,
.office-search-page::after {
  content: "주식회사 트윈스엔씨  |  대표이사 안경진  |  사업자등록번호 130-86-77288  |  기업부설연구소\A 서울특별시 송파구 송파대로 438(송파동) 녹십초쿨샤 빌딩 7층 702호  |  TEL +82 (02) 2051-3041  |  FAX +82 (02) 2051-5577\A\A Copyright ⓒ 2026, TWIN S&C Co.,Ltd All Right reserved";
  white-space: pre-line;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: -0.01em;
}
.moe-search-page::after,
.office-search-page::after {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin-top: 52px;
  padding: 32px max(24px, calc((100vw - 1180px) / 2)) 28px;
  border-top: 1px solid rgba(148, 163, 184, 0.22);
  background: linear-gradient(135deg, #08101e 0%, #0d1b2f 100%);
  color: #cbd5e1;
  text-align: left;
}
@media (max-width: 640px) {
  .site-shell > footer,
  .moe-search-page::after,
  .office-search-page::after {
    padding: 26px 20px 24px !important;
    font-size: 11px;
    line-height: 1.8;
  }
}

/* Refined company footer */
.company-footer-rich {
  position: relative;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 64px 0 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-top: 1px solid rgba(103, 232, 249, 0.2) !important;
  background:
    radial-gradient(circle at 12% 15%, rgba(34, 211, 238, 0.12), transparent 28rem),
    radial-gradient(circle at 88% 110%, rgba(167, 139, 250, 0.1), transparent 30rem),
    linear-gradient(135deg, #07101e 0%, #0a1628 55%, #0d1a2d 100%) !important;
  color: #dbe7f4 !important;
  text-align: left !important;
  box-shadow: inset 0 2px 0 rgba(34, 211, 238, 0.12);
}
.site-shell > footer.company-footer-rich::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 180px;
  height: 2px;
  background: linear-gradient(90deg, #22d3ee, #a78bfa, transparent);
}
.site-shell > footer.company-footer-rich::after {
  content: "TWIN S&C";
  position: absolute;
  right: max(24px, calc((100vw - 1180px) / 2));
  bottom: -21px;
  color: rgba(255, 255, 255, 0.025);
  font-size: clamp(64px, 8vw, 118px);
  font-weight: 900;
  letter-spacing: -0.07em;
  line-height: 1;
  pointer-events: none;
}
.site-shell > footer.company-footer-rich > * {
  display: block !important;
}
.company-footer-layout {
  position: relative;
  z-index: 1;
  display: grid !important;
  grid-template-columns: minmax(250px, 0.8fr) minmax(420px, 1.7fr);
  gap: 72px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 46px 0 38px;
}
.company-footer-brand {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 14px;
}
.company-footer-mark {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(103, 232, 249, 0.42);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(34, 211, 238, 0.2), rgba(167, 139, 250, 0.12));
  color: #a5f3fc;
  font-size: 18px;
  font-weight: 850;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2), inset 0 0 24px rgba(34, 211, 238, 0.08);
}
.company-footer-brand strong {
  display: block;
  color: #f8fafc;
  font-size: 17px;
  font-weight: 750;
  letter-spacing: -0.025em;
}
.company-footer-brand small {
  display: block;
  margin-top: 4px;
  color: #7f94ad;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
}
.company-footer-badge {
  grid-column: 1 / -1;
  justify-self: start;
  margin-top: 13px;
  padding: 5px 9px;
  border: 1px solid rgba(52, 211, 153, 0.22);
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.08);
  color: #9debcf;
  font-size: 10px;
  font-weight: 700;
}
.company-footer-info {
  display: grid;
  align-content: center;
  gap: 9px;
}
.company-footer-info p {
  margin: 0;
  color: #aab9cb;
  font-size: 12px;
  line-height: 1.7;
}
.company-footer-info strong {
  color: #dce7f3;
  font-weight: 650;
}
.company-footer-separator {
  display: inline-block;
  width: 1px;
  height: 10px;
  margin: 0 10px;
  background: rgba(148, 163, 184, 0.32);
  vertical-align: -1px;
}
.company-footer-contact a {
  color: #bdeff5;
  text-decoration: none;
}
.company-footer-contact a:hover {
  color: #67e8f9;
}
.company-footer-bottom {
  position: relative;
  z-index: 1;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 17px 0 22px;
  border-top: 1px solid rgba(148, 163, 184, 0.13);
}
.company-footer-bottom p,
.company-footer-bottom span {
  margin: 0;
  color: #6f8299;
  font-size: 10px;
  font-weight: 550;
  letter-spacing: 0.02em;
}
.company-footer-bottom span {
  color: #7b8da3;
  letter-spacing: 0.13em;
}

/* Compiled pages keep generated footer content but share refined surface. */
.office-search-page::after {
  min-height: 176px;
  margin-top: 64px;
  padding-top: 40px;
  border-top-color: rgba(103, 232, 249, 0.2);
  background:
    radial-gradient(circle at 12% 15%, rgba(34, 211, 238, 0.12), transparent 28rem),
    radial-gradient(circle at 88% 110%, rgba(167, 139, 250, 0.1), transparent 30rem),
    linear-gradient(135deg, #07101e 0%, #0a1628 55%, #0d1a2d 100%);
  color: #b8c7d9;
  font-size: 12px;
  line-height: 2.05;
  box-shadow: inset 0 2px 0 rgba(34, 211, 238, 0.1);
}
.moe-search-page::after { display: none; content: none; }

@media (max-width: 820px) {
  .company-footer-layout {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 36px;
  }
  .company-footer-info {
    padding-top: 24px;
    border-top: 1px solid rgba(148, 163, 184, 0.13);
  }
}
@media (max-width: 640px) {
  .company-footer-rich { margin-top: 44px !important; }
  .company-footer-layout,
  .company-footer-bottom {
    width: min(100% - 36px, 1180px);
  }
  .company-footer-layout { padding: 32px 0 28px; }
  .company-footer-info p { font-size: 11px; }
  .company-footer-separator { margin-inline: 7px; }
  .company-footer-bottom {
    align-items: flex-start;
    gap: 9px;
    flex-direction: column;
    padding-bottom: 20px;
  }
  .company-footer-bottom span { display: none; }
  .office-search-page::after {
    min-height: 0;
    margin-top: 44px;
    padding: 30px 20px 26px !important;
    font-size: 11px;
    line-height: 1.85;
  }
}
.site-shell > footer.company-footer-rich > .company-footer-layout {
  display: grid !important;
}
.site-shell > footer.company-footer-rich > .company-footer-bottom {
  display: flex !important;
}
@media (max-width: 640px) {
  .site-shell > footer.company-footer-rich > .company-footer-bottom {
    display: flex !important;
  }
}
.company-footer-brand {
  grid-template-columns: 1fr;
  gap: 0;
}
.company-footer-mark { display: none !important; }
/* Compact footer sizing shared by every screen. */
.company-footer-rich {
  margin-top: 34px !important;
}
.company-footer-layout {
  gap: 52px;
  padding: 28px 0 22px;
}
.company-footer-brand strong { font-size: 16px; }
.company-footer-badge {
  margin-top: 8px;
  padding: 4px 8px;
}
.company-footer-info { gap: 5px; }
.company-footer-info p {
  font-size: 11.5px;
  line-height: 1.6;
}
.company-footer-bottom {
  padding: 11px 0 13px;
}
.office-search-page::after {
  min-height: 0;
  margin-top: 34px;
  padding: 25px max(24px, calc((100vw - 1180px) / 2)) 21px;
  font-size: 11.5px;
  line-height: 1.65;
}
@media (max-width: 820px) {
  .company-footer-layout {
    gap: 20px;
    padding: 26px 0 20px;
  }
  .company-footer-info { padding-top: 18px; }
}
@media (max-width: 640px) {
  .company-footer-rich { margin-top: 30px !important; }
  .company-footer-layout { padding: 24px 0 18px; }
  .company-footer-bottom { padding: 10px 0 13px; }
  .office-search-page::after {
    margin-top: 30px;
    padding: 22px 18px 18px !important;
    line-height: 1.65;
  }
}

/* Text-led controls; remove decorative icons without touching the relationship graph. */
svg.lucide,
.graph-controls svg,
.brand-mark,
.office-search-brand > span,
.moe-search-brand > span,
.moe-result-topline > span[aria-hidden="true"],
.official-link svg,
.source-note svg {
  display: none !important;
}
.search-wrap input { padding-left: 16px !important; }
.graph-controls button span { display: inline !important; }
.graph-controls button { width: auto !important; min-width: 0; padding: 8px 12px !important; }
.office-search-intro { padding-top: 28px; }
.office-search-nav nav a:last-child,
.moe-search-links a:last-child {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #18384e;
  border-radius: 6px;
  background: #18384e;
  color: #fff !important;
  font-size: 0;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 2px 5px rgba(15, 23, 42, .12);
}
.office-search-nav nav a:last-child::after,
.moe-search-links a:last-child::after {
  content: "메인으로 돌아가기";
  font-size: 13px;
}
.office-search-nav nav a:last-child:hover,
.moe-search-links a:last-child:hover {
  background: #264e68;
  border-color: #264e68;
}
.office-search-nav nav a:last-child:focus-visible,
.moe-search-links a:last-child:focus-visible {
  outline: 3px solid #0891b2;
  outline-offset: 3px;
}
@media (max-width: 640px) {
  .office-search-nav, .moe-search-nav {
    height: auto;
    min-height: 72px;
    padding: 14px 0;
    flex-wrap: wrap;
    gap: 12px;
  }
  .office-search-nav nav, .moe-search-links {
    flex-wrap: wrap;
    gap: 10px;
  }
  .office-search-nav nav a:last-child,
  .moe-search-links a:last-child {
    min-height: 42px;
    padding: 0 12px;
  }
  .office-search-nav nav a:last-child::after,
  .moe-search-links a:last-child::after { font-size: 12px; }
}

/* Shared reading and interaction system for all service screens. */
:root {
  --bg: #f7f9fc;
  --surface: #fff;
  --surface-2: #edf3fa;
  --line: #dce4ee;
  --text: #172e4b;
  --muted: #5f7086;
  --accent: #275fa2;
  --purple: #7b6ea3;
  --green: #4b8771;
}
body {
  background: var(--bg);
  color: var(--text);
  font-family: "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
body :is(.moe-search-page, .office-search-page, .university-search-page) { color: var(--text); background: var(--bg); }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { transition: background-color .15s, border-color .15s, box-shadow .15s; }
button:focus-visible, a:focus-visible, select:focus-visible {
  outline: 3px solid #275fa2 !important;
  outline-offset: 3px !important;
}
.topbar, .hero, .explorer { width: min(1200px, calc(100% - 64px)); }
.topbar, body :is(.office-search-nav, .moe-search-nav) {
  width: min(1200px, calc(100% - 64px));
  height: 72px;
  min-height: 72px;
  border-bottom: 1px solid var(--line);
  background: var(--bg);
}
.brand, body :is(.office-search-brand, .moe-search-brand) { color: var(--text); font-size: 17px; letter-spacing: -.025em; }
.data-stamp { color: var(--muted); font-size: 12px; }
.data-stamp > span { background: #4b8771; box-shadow: none; }
body :is(.office-search-nav nav, .moe-search-links) { color: var(--muted); align-items: center; gap: 10px; }
body :is(.office-search-nav nav a, .moe-back-link) { color: var(--muted); padding: 8px 10px; border-radius: 8px; font-size: 13px; font-weight: 600; }
body :is(.office-search-nav nav a:hover, .moe-back-link:hover) { color: var(--accent); background: #e8eef7; }
body .office-search-nav nav a:last-child, body .moe-search-links a:last-child {
  background: var(--accent); border-color: var(--accent); color: #fff !important;
  border-radius: 8px; box-shadow: none; padding: 0 16px; min-height: 44px; font-size: 0;
}
body .office-search-nav nav a:last-child:hover, body .moe-search-links a:last-child:hover { background: #1b497f; border-color: #1b497f; }
.hero { padding: 48px 0 32px; }
.eyebrow { color: var(--accent); margin-bottom: 14px; font-size: 12px; letter-spacing: .08em; }
.hero h1 { max-width: 960px; font-size: clamp(34px, 4.3vw, 54px); line-height: 1.22; letter-spacing: -.045em; font-weight: 750; }
.hero-copy { color: var(--muted); max-width: 760px; margin-top: 20px; font-size: 16px; line-height: 1.8; word-break: keep-all; }
.search-cta-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
body .hero .moe-search-cta {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  width: 100%; min-height: 86px; padding: 16px 20px; gap: 4px;
  color: var(--text); background: #fff; border: 1px solid var(--line); border-radius: 12px;
  font-size: 15px; font-weight: 700; box-shadow: 0 2px 4px #172e4b03;
}
body .hero .moe-search-cta::after { font-size: 12px; font-weight: 400; color: var(--muted); }
body .hero .moe-search-cta:not(.office-cta):not(.university-cta)::after { content: "공지 · 정책 · 채용 · 법령"; }
body .hero .office-cta::after { content: "전국 교육청의 공식 자료"; }
body .hero .university-cta::after { content: "대학 자료 · 학교별 검색"; }
body .hero .moe-search-cta:hover { border-color: var(--accent); background: #edf3fa; box-shadow: 0 3px 10px #172e4b0a; }
.stats { margin-top: 24px; gap: 0; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); padding-top: 20px; }
.stats div { min-width: 0; padding-inline: 20px; gap: 0; border-right: 1px solid var(--line); }
.stats div:first-child { padding-left: 0; }
.stats div:last-child { border-right: 0; }
.stats strong { color: var(--text); font-size: 23px; font-weight: 700; line-height: 1.4; font-family: inherit; font-variant-numeric: tabular-nums; }
.stats span { color: var(--muted); font-size: 12px; }
.explorer { background: #fff; border-radius: 14px; border-color: var(--line); box-shadow: 0 4px 24px #172e4b06; }
.toolbar { background: #fff; padding: 20px; grid-template-columns: minmax(260px, 1fr) 220px auto; gap: 12px; }
.search-wrap input, .toolbar select, .reset-button { color: var(--text); background: #fff; border: 1px solid #c9d5e3; border-radius: 8px; height: 48px; font-size: 14px; }
.search-wrap input::placeholder { color: #68798e; }
.search-wrap input:focus, .toolbar select:focus { border-color: var(--accent); outline: 3px solid #275fa21f; outline-offset: 1px; }
.reset-button { padding-inline: 20px; color: var(--accent); background: #edf3fa; font-weight: 600; cursor: pointer; }
.reset-button:hover { background: #e2ebf7; }
.scope-tabs { background: #fff; gap: 6px; padding: 12px 20px; }
.scope-tabs button { color: var(--muted); padding: 8px 14px; min-height: 42px; border-radius: 8px; font-size: 13px; }
.scope-tabs button:hover { color: var(--accent); background: #f0f4fa; }
.scope-tabs button.is-active { color: var(--accent); border-color: #c3d5ec; background: #edf3fa; font-weight: 700; }
.workspace { min-height: 640px; grid-template-columns: minmax(0, 1fr) 300px; }
.site-shell .graph-wrap { background: #f1f5fa; }
.site-shell .graph-wrap::after { background: none; }
.site-shell .graph-wrap > svg { min-height: 640px; height: 640px; }
.site-shell .graph-actions { color: #5f7086; font-size: 11px; }
.site-shell .graph-edge { stroke: #93a7c0; opacity: .45; }
.site-shell .graph-edge.is-active { stroke: var(--accent); opacity: .9; }
.site-shell .graph-node.kind-ministry { color: #17304f; }
.site-shell .graph-node.kind-hub { color: #b98734; }
.site-shell .graph-node.kind-office { color: #2563a6; }
.site-shell .graph-node.kind-support { color: #238690; }
.site-shell .graph-node.kind-system { color: #7b6ea3; }
.site-shell .graph-node.kind-institution { color: #4b8771; }
.site-shell .graph-node.kind-menu { color: #6888b1; }
.site-shell .node-mark { filter: none; stroke: #fff; }
.site-shell .graph-node:hover .node-mark, .site-shell .graph-node:focus-visible .node-mark,
.site-shell .graph-node.is-selected .node-mark { filter: none; stroke: #17304f; }
.site-shell .node-aura { opacity: .08; }
.site-shell .node-label { fill: #213c5d; stroke: #f1f5fa; font-weight: 600; }
.site-shell .detail-label { opacity: .72; }
.site-shell .legend { color: #4f6380; background: #ffffffed; border-color: var(--line); border-radius: 8px; padding: 9px 12px; bottom: 16px; max-width: calc(100% - 32px); }
.legend span:nth-child(1) i { background: #2563a6 !important; }
.legend span:nth-child(2) i { background: #238690 !important; }
.legend span:nth-child(3) i { background: #7b6ea3 !important; }
.legend span:nth-child(4) i { background: #4b8771 !important; }
.legend span:nth-child(5) i { background: #6888b1 !important; }
.site-shell .graph-controls { top: 42px; bottom: auto; right: 16px; background: #fff; border-color: var(--line); box-shadow: 0 2px 8px #172e4b08; backdrop-filter: none; border-radius: 8px; }
.site-shell .graph-controls button { color: var(--muted); min-height: 38px; font-size: 12px; border-radius: 6px; }
.site-shell .graph-controls button:hover, .site-shell .graph-controls button[aria-pressed="true"] { color: var(--accent); background: #edf3fa; border-color: #c3d5ec; }
.site-shell .graph-tooltip { color: var(--text); background: #fff; border-color: #c9d5e3; box-shadow: 0 4px 16px #172e4b12; }
.detail-panel { background: #fff; padding: 24px; }
.detail-panel h2 { color: var(--text); font-size: 24px; }
.detail-note { color: var(--muted); font-size: 14px; }
.detail-panel dl { margin: 24px 0; }
.official-link { color: #fff; background: var(--accent); min-height: 46px; border-radius: 8px; font-size: 14px; font-weight: 700; }
.official-link:hover { color: #fff; background: #1b497f; }
.source-note { color: var(--muted); border-color: var(--line); }
body :is(.moe-search-page, .office-search-page) :is(.moe-search-hero, .office-search-hero) {
  color: var(--text); background: #edf3fa; border-bottom: 1px solid #dce6f2; padding: 40px 32px 32px;
}
body :is(.moe-search-page, .office-search-page) :is(.moe-search-eyebrow, .office-search-eyebrow) {
  color: var(--accent); font-family: inherit; font-size: 11px; letter-spacing: .1em; margin-bottom: 12px;
}
body :is(.moe-search-hero, .office-search-hero) h1 { color: var(--text); font-size: clamp(30px, 3.5vw, 44px); font-weight: 750; line-height: 1.25; letter-spacing: -.04em; }
body :is(.moe-search-page, .office-search-page) :is(.moe-search-hero, .office-search-hero) > p:not(.moe-search-eyebrow):not(.office-search-eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.8; margin-top: 16px; max-width: 760px; word-break: keep-all; }
body :is(.moe-search-page, .office-search-page) :is(.moe-query-box, .office-query-box) {
  color: var(--text); width: min(900px, 100%); height: 64px; min-height: 64px; margin-top: 24px;
  border: 1px solid #c3d2e4; border-radius: 10px; background: #fff; box-shadow: 0 3px 12px #172e4b08;
}
body :is(.moe-query-box, .office-query-box):focus-within { outline: 3px solid #275fa21f; border-color: var(--accent); }
body :is(.moe-search-page, .office-search-page) :is(.moe-query-box, .office-query-box) input { color: var(--text); font-size: 16px; }
body :is(.moe-search-page, .office-search-page) :is(.moe-query-box, .office-query-box) input::placeholder { color: #68798e; }
body .office-search-page .office-query-box button { background: var(--accent); border-radius: 7px; min-width: 100px; height: 46px; font-size: 14px; }
body .office-search-page .office-query-box button:hover { background: #1b497f; }
body :is(.moe-search-page, .office-search-page) :is(.moe-search-status, .office-search-status) { color: var(--muted); font-size: 12px; margin-top: 12px; }
.search-loading-bar { background: #dce6f2; }
.search-loading-bar span { background: var(--accent); }
body :is(.moe-results-shell, .office-results-shell) { width: min(1040px, calc(100% - 64px)); padding: 28px 0 40px; }
body :is(.moe-filter-row, .university-filter-grid) { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 18px; gap: 14px; }
body :is(.moe-filter-row, .university-filter-grid) label { color: var(--muted); font-size: 12px; font-weight: 600; gap: 6px; }
body :is(.moe-filter-row, .university-filter-grid, .office-result-tools) select { color: var(--text); border: 1px solid #c9d5e3; border-radius: 7px; height: 44px; background: #fff; font-size: 13px; }
body :is(.moe-results-heading, .office-result-tools) { min-height: 80px; border-color: var(--line); }
body :is(.moe-results-heading, .office-result-tools) strong { color: var(--accent); font-family: inherit; font-size: 26px; font-variant-numeric: tabular-nums; }
body :is(.moe-results-heading, .office-result-tools) :is(span,p) { color: var(--muted); font-size: 12px; }
body :is(.moe-result-list, .office-result-list) { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
body :is(.moe-result-list, .office-result-list) li { border-color: var(--line); }
body :is(.moe-result-list, .office-result-list) li:last-child { border-bottom: 0; }
body :is(.moe-result-list, .office-result-list) a { padding: 22px 24px; }
body :is(.moe-result-list, .office-result-list) a:hover { background: #f1f5fa; }
body :is(.moe-result-list, .office-result-list) h2 { color: var(--text); font-size: 18px; font-weight: 700; line-height: 1.55; margin-block: 10px 8px; }
body :is(.moe-result-list, .office-result-list) p { color: var(--muted); font-size: 12px; }
body .moe-result-topline span, body .office-result-list a > div .office-result-labels b { color: var(--accent); background: #edf3fa; font-size: 11px; border-radius: 4px; }
body .office-result-list a > div .office-result-labels b + b { color: var(--muted); background: #f0f3f7; }
body :is(.office-search-intro, .office-empty-state, .moe-no-results) { color: var(--muted); min-height: 220px; padding: 32px 24px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
body :is(.office-search-intro, .office-empty-state, .moe-no-results) strong { color: var(--text); font-size: 18px; }
body :is(.office-search-intro, .office-empty-state, .moe-no-results) p { color: var(--muted); font-size: 14px; word-break: keep-all; }
body :is(.moe-index-note, .office-source-note) { color: var(--muted); border-color: var(--line); font-size: 12px; margin-top: 28px; padding-top: 18px; }
body .moe-pagination button { min-height: 44px; color: var(--accent); border-color: #c9d5e3; border-radius: 7px; }
body .office-response-grid { border-color: var(--line); }
body .office-response { color: var(--text); border-color: var(--line); background: #fff; border-radius: 7px; padding: 12px 8px; }
body .office-response.is-success { color: #2c6554; background: #eef7f3; border-color: #b7d6c8; }
body .office-response.is-pending { color: var(--muted); background: #f0f4f9; }
body .office-response.is-limited { color: #7c5d24; background: #fff8eb; border-color: #e6d4ad; }
body .office-response small { color: var(--muted); font-size: 10px; }
body :is(.university-insights, .university-directory, .university-response-details) { border-color: var(--line); }
body :is(.university-insights, .university-directory) :is(h2,h3,strong,summary) { color: var(--text); }
body :is(.university-insights, .university-directory) :is(p,small,em) { color: var(--muted); }
body .university-distribution-list button { color: var(--text); }
body .university-distribution-list button:hover { background: #edf3fa; }
body .university-distribution-list button.is-active { color: var(--accent); background: #edf3fa; border-color: #c3d5ec; }
body .university-distribution-list button > i { background: #e4ebf5; }
body .university-distribution-list button > i > span { background: #7197c4; }
body .university-distribution-list button.is-active > i > span { background: var(--accent); }
body .university-insights > header button { color: var(--accent); border-color: #c9d5e3; }
body .university-response-list a, body .university-directory li { color: var(--text); border-color: var(--line); }
body .university-response-list a.is-success { background: #edf3fa; border-color: #b8cde5; }
body .university-directory summary, body .university-response-details summary { color: var(--accent); min-height: 48px; font-size: 13px; }
body .company-footer-rich, body .office-search-page::after {
  background: #edf2f8 !important; color: #5f7086 !important; border-top: 1px solid var(--line) !important; box-shadow: none;
  margin-top: 36px !important;
}
body .company-footer-rich::before { display: none !important; }
body .company-footer-layout { width: min(1200px, calc(100% - 64px)); padding: 24px 0 18px; }
body .company-footer-brand { color: var(--text); }
body .company-footer-brand strong { color: var(--text); font-size: 15px; }
body .company-footer-brand small { color: var(--muted); }
body .company-footer-badge { color: #4f6380; background: #e1e9f3; border-color: #d1dce9; margin-top: 8px; }
body .company-footer-info p, body .company-footer-info strong { color: var(--muted); }
body .company-footer-contact a { color: var(--accent); }
body .company-footer-bottom { width: min(1200px, calc(100% - 64px)); padding: 10px 0 14px; border-color: var(--line); }
body .company-footer-bottom :is(p,span) { color: var(--muted); }
body .office-search-page::after { padding: 24px max(32px, calc((100vw - 1200px) / 2)) !important; line-height: 1.75; font-size: 11px; }
@media (max-width: 900px) {
  .workspace { grid-template-columns: minmax(0, 1fr) 260px; }
  .toolbar { grid-template-columns: 1fr 180px auto; }
  .search-cta-row { gap: 10px; }
  body .hero .moe-search-cta { padding: 14px; font-size: 14px; }
  body .hero .moe-search-cta::after { font-size: 11px; }
  .site-shell .legend { bottom: 14px; }
}
@media (max-width: 640px) {
  .topbar, .hero, .explorer, body :is(.office-search-nav, .moe-search-nav) { width: calc(100% - 32px); }
  .topbar { height: 64px; min-height: 64px; }
  .brand { font-size: 15px; }
  .data-stamp { font-size: 10px; }
  .hero { padding: 30px 0 24px; }
  .hero h1 { font-size: 34px; line-height: 1.24; }
  .hero-copy { font-size: 14px; margin-top: 16px; }
  .search-cta-row { grid-template-columns: 1fr; gap: 8px; margin-top: 20px; }
  body .hero .moe-search-cta { min-height: 68px; padding: 12px 16px; gap: 2px; }
  .stats { grid-template-columns: repeat(3, 1fr); row-gap: 16px; margin-top: 20px; padding-top: 16px; }
  .stats div { padding-inline: 12px; }
  .stats div:nth-child(3) { border-right: 0; }
  .stats div:nth-child(4) { padding-left: 0; }
  .stats strong { font-size: 21px; }
  .stats span { font-size: 11px; }
  .toolbar { grid-template-columns: 1fr auto; padding: 14px; gap: 10px; }
  .search-wrap { grid-column: 1 / -1; }
  .toolbar select { min-width: 0; }
  .reset-button { padding-inline: 16px; }
  .scope-tabs { padding: 10px 14px; gap: 4px; }
  .scope-tabs button { font-size: 12px; padding-inline: 11px; }
  .workspace { grid-template-columns: 1fr; }
  .detail-panel { border-left: 0; border-top: 1px solid var(--line); padding: 20px; }
  .site-shell .graph-wrap > svg { height: 520px; min-height: 520px; }
  .site-shell .graph-controls { right: 12px; top: 42px; padding: 4px; gap: 2px; }
  .site-shell .graph-controls button { padding: 8px 10px !important; font-size: 11px; }
  .site-shell .graph-actions { font-size: 10px; left: 12px; right: 12px; }
  .site-shell .legend { left: 12px; right: 12px; max-width: none; gap: 8px; font-size: 10px; padding: 8px; }
  body :is(.office-search-nav, .moe-search-nav) { height: auto; min-height: 72px; padding: 12px 0; gap: 8px; }
  body :is(.office-search-brand, .moe-search-brand) { font-size: 14px; }
  body :is(.office-search-nav nav, .moe-search-links) { gap: 3px; flex-wrap: wrap; }
  body :is(.office-search-nav nav a, .moe-back-link) { font-size: 11px; padding: 7px 5px; }
  body .office-search-nav nav a:last-child, body .moe-search-links a:last-child { min-height: 42px; padding-inline: 12px; }
  body :is(.moe-search-page, .office-search-page) :is(.moe-search-hero, .office-search-hero) { padding: 28px 16px 24px; }
  body :is(.moe-search-hero, .office-search-hero) h1 { font-size: 31px; }
  body :is(.moe-search-page, .office-search-page) :is(.moe-search-hero, .office-search-hero) > p:not(.moe-search-eyebrow):not(.office-search-eyebrow) { font-size: 14px; margin-top: 14px; }
  body :is(.moe-search-page, .office-search-page) :is(.moe-query-box, .office-query-box) { margin-top: 20px; height: 58px; min-height: 58px; }
  body :is(.moe-search-page, .office-search-page) :is(.moe-query-box, .office-query-box) input { font-size: 14px; }
  body .office-search-page .office-query-box button { min-width: 78px; font-size: 12px; height: 44px; padding-inline: 12px; }
  body :is(.moe-search-status, .office-search-status) { line-height: 1.7; }
  body :is(.moe-results-shell, .office-results-shell) { width: calc(100% - 32px); padding: 20px 0 28px; }
  body :is(.moe-filter-row, .university-filter-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px; }
  body .moe-filter-row label:first-child { grid-column: 1 / -1; }
  body :is(.moe-result-list, .office-result-list) a { padding: 18px 16px; }
  body :is(.moe-result-list, .office-result-list) h2 { font-size: 16px; }
  body .company-footer-layout, body .company-footer-bottom { width: calc(100% - 32px); }
  body .company-footer-layout { padding: 20px 0 14px; gap: 14px; }
  body .company-footer-info { padding-top: 0; border: 0; }
  body .office-search-page::after { padding: 20px 16px !important; margin-top: 20px !important; }
}
@media (prefers-reduced-motion: reduce) { button,a { transition: none; } }

@media (max-width: 640px) {
  body :is(.office-search-nav, .moe-search-nav) { flex-direction: column; align-items: stretch; }
  body :is(.office-search-nav nav, .moe-search-links) { justify-content: space-between; }
  body :is(.office-search-nav nav a, .moe-search-links a):first-child { display: inline-flex !important; }
}
/* Keep navigation available while scanning long result lists. */
.topbar, body :is(.office-search-nav, .moe-search-nav) { position: sticky; top: 0; z-index: 20; }
body .university-filter-grid { margin-bottom: 20px; }
body .company-footer-rich::after { display: none !important; }
.search-results { color: var(--text); background: #fff; border-color: #c9d5e3; top: 54px; box-shadow: 0 8px 24px #172e4b16; }
.search-results button { min-height: 56px; }
.search-results button:hover { background: #edf3fa; }
.search-results em { color: var(--muted); background: #f5f7fb; border-color: var(--line); }
.detail-panel dl { grid-template-columns: 1fr; }
@media (max-width: 900px) {
  .workspace { grid-template-columns: 1fr; }
  .detail-panel { border-left: 0; border-top: 1px solid var(--line); }
}

@font-face { font-family:"KEdu Headline"; src:url("fonts/kedu-headline-bold.woff") format("woff"); font-weight:700; font-style:normal; font-display:swap; unicode-range:U+20,U+21,U+22,U+23,U+24,U+25,U+26,U+27,U+28,U+29,U+2A,U+2B,U+2C,U+2D,U+2E,U+2F,U+30,U+31,U+32,U+33,U+34,U+35,U+36,U+37,U+38,U+39,U+3A,U+3B,U+3C,U+3D,U+3E,U+3F,U+40,U+41,U+42,U+43,U+44,U+45,U+46,U+47,U+48,U+49,U+4A,U+4B,U+4C,U+4D,U+4E,U+4F,U+50,U+51,U+52,U+53,U+54,U+55,U+56,U+57,U+58,U+59,U+5A,U+5B,U+5C,U+5D,U+5E,U+5F,U+60,U+61,U+62,U+63,U+64,U+65,U+66,U+67,U+68,U+69,U+6A,U+6B,U+6C,U+6D,U+6E,U+6F,U+70,U+71,U+72,U+73,U+74,U+75,U+76,U+77,U+78,U+79,U+7A,U+7B,U+7C,U+7D,U+7E,U+AC80,U+ACF3,U+AD50,U+AD6D,U+AE38,U+B300,U+B4E0,U+B85C,U+B8CC,U+B97C,U+BAA8,U+BC88,U+BD80,U+BD84,U+C0C9,U+C11C,U+C138,U+C57C,U+C5D0,U+C694,U+C721,U+C73C,U+C744,U+C758,U+C790,U+C804,U+CC3E,U+CCAD,U+D558,U+D559,U+D55C;}
body :is(.hero,.moe-search-hero,.office-search-hero) h1 { font-family:"KEdu Headline","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif; font-weight:700; color:#102c4d; letter-spacing:-.035em; line-height:1.28; word-break:keep-all; }
body :is(.moe-search-hero,.office-search-hero) h1 { font-size:clamp(38px,4.6vw,58px); }
@media(max-width:640px) { body :is(.moe-search-hero,.office-search-hero) h1 { font-size:36px; line-height:1.3; letter-spacing:-.04em; } }
@media(max-width:360px) { body :is(.moe-search-hero,.office-search-hero) h1 { font-size:32px; } }

/* Clear relationships with progressive labels and calm selection feedback. */
.site-shell .graph-wrap { background: #f3f6fb; }
.site-shell .graph-wrap::after {
  background: radial-gradient(circle, #9ab0cc38 .8px, transparent .9px);
  background-size: 28px 28px;
  mask-image: none;
  opacity: .5;
}
.site-shell .graph-edge { stroke: #849dbd; stroke-width: 1.15; opacity: .52; }
.site-shell .graph-edge.is-active { stroke: #2c68ad; stroke-width: 2.1; opacity: .95; }
.site-shell .graph-wrap.has-node-selection .graph-edge:not(.is-active) { opacity: .16; }
.site-shell .graph-wrap.has-node-selection .graph-node.is-unrelated { opacity: .38; }
.site-shell .graph-node.kind-office { color: #2f70bc; }
.site-shell .graph-node.kind-support { color: #168a91; }
.site-shell .graph-node.kind-system { color: #7962ab; }
.site-shell .graph-node.kind-institution { color: #378467; }
.site-shell .graph-node.kind-menu { color: #4775ad; }
.site-shell .node-mark { stroke: #fff; stroke-width: 1.8; filter: none; }
.site-shell .node-ring { fill: none; stroke: currentColor; stroke-width: 1.5; opacity: 0; vector-effect: non-scaling-stroke; transition: opacity .18s; }
.site-shell .graph-node.is-selected .node-ring, .site-shell .graph-node:focus-visible .node-ring { opacity: .8; }
.site-shell .node-aura { fill: currentColor; opacity: .045; }
.site-shell .graph-node:hover .node-aura { opacity: .13; }
.site-shell .graph-node.is-selected .node-aura { opacity: .17; }
.site-shell .node-label { fill: #233f61; stroke: #f3f6fb; stroke-width: 5px; font-size: 21px; font-weight: 700; letter-spacing: -.015em; }
.site-shell .graph-node.kind-ministry .node-label { font-size: 25px; }
.site-shell .graph-node.kind-hub .node-label { font-size: 23px; }
.site-shell .detail-label { opacity: 0; font-size: 18px; font-weight: 600; }
.site-shell .graph-wrap.is-detail-zoom .detail-label { opacity: .88; }
.site-shell .graph-node:hover .detail-label,
.site-shell .graph-node:focus-visible .detail-label,
.site-shell .graph-node.is-neighbor .detail-label,
.site-shell .graph-node.is-selected .detail-label,
.site-shell .graph-wrap.show-all-labels .detail-label { opacity: 1; }
.site-shell .graph-node.is-selected .node-label { fill: #17304f; font-weight: 750; }
.site-shell .graph-controls { border-radius: 10px; padding: 5px; box-shadow: 0 3px 12px #17304f0b; }
.site-shell .graph-controls button { min-height: 40px; padding: 8px 12px !important; }
.site-shell .graph-actions { font-size: 11px; color: #5f7086; line-height: 1.6; }
.site-shell .graph-tooltip { border-radius: 9px; padding: 12px 14px; }
.site-shell .graph-tooltip strong { font-size: 14px; }
.legend span:nth-child(1) i { background: #2f70bc !important; }
.legend span:nth-child(2) i { background: #168a91 !important; }
.legend span:nth-child(3) i { background: #7962ab !important; }
.legend span:nth-child(4) i { background: #378467 !important; }
.legend span:nth-child(5) i { background: #4775ad !important; }
@media(max-width:640px) {
  .site-shell .graph-controls { top: 70px; left: 12px; right: auto; max-width: calc(100% - 24px); gap: 2px; }
  .site-shell .graph-controls button { font-size: 11px; padding: 8px 9px !important; }
  .site-shell .graph-actions { left: 12px; right: 12px; font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) { .site-shell .node-ring { transition: none; } }

/* Main page: dark navy surfaces; retain current graph interactions. */
body:has(> .site-shell), .site-shell {
 --bg:#080e19; --surface:#0e1828; --surface-2:#152238; --line:#26364c;
 --text:#edf3fc; --muted:#a2b1c7; --accent:#8acbff; color:var(--text);
}
body:has(> .site-shell) { background:radial-gradient(ellipse at 45% 0%,#14283c 0,transparent 700px),#080e19; }
.site-shell .topbar { background:#080e19ee; }
body .site-shell .hero h1 { color:#f1f6ff; }
body .site-shell .hero .moe-search-cta { background:#111d2f; border-color:#2a3d56; color:#edf3fc; box-shadow:none; }
body .site-shell .hero .moe-search-cta:hover { background:#192b42; border-color:#7db5e4; }
.site-shell :is(.explorer,.toolbar,.scope-tabs,.detail-panel) { background:#0e1828; }
.site-shell :is(.search-wrap input,.toolbar select) { color:var(--text); background:#111f32; border-color:#31465f; color-scheme:dark; }
.site-shell .search-wrap input::placeholder { color:#9bacc2; }
.site-shell :is(.reset-button,.scope-tabs button.is-active) { color:#c0e5ff; background:#1a324b; border-color:#36597a; }
.site-shell :is(.reset-button:hover,.scope-tabs button:hover) { background:#203b56; color:#d1ebff; }
.site-shell .graph-wrap { background:#0a1322; }
.site-shell .graph-wrap::after { background-image:radial-gradient(circle,#6f89ad 1px,transparent 1px); opacity:.2; }
.site-shell .graph-edge { stroke:#738ba9; opacity:.5; }
.site-shell .graph-edge.is-active { stroke:#8bd3ff; }
.site-shell .graph-node.kind-ministry { color:#e2edff; }
.site-shell .graph-node.kind-hub { color:#e7bc64; }
.site-shell .graph-node.kind-office { color:#6abafa; }
.site-shell .graph-node.kind-support { color:#63d1d6; }
.site-shell .graph-node.kind-system { color:#b19de7; }
.site-shell .graph-node.kind-institution { color:#72cea5; }
.site-shell .graph-node.kind-menu { color:#84ade1; }
.site-shell .node-mark { fill:currentColor; stroke:#172a42; }
.site-shell .graph-node:is(:hover,:focus-visible,.is-selected) .node-mark { stroke:#e7f2ff; }
.site-shell .node-label { fill:#dce9fc; stroke:#0a1322; }
.site-shell .graph-node.is-selected .node-label { fill:#fff; }
.site-shell :is(.graph-actions,.legend) { color:#a9b9ce; }
.site-shell :is(.graph-controls,.graph-tooltip,.legend,.search-results) { background:#122035; border-color:#30465f; color:var(--text); box-shadow:0 4px 18px #0002; }
.site-shell .graph-controls button { color:#bbcadf; }
.site-shell .graph-controls button:is(:hover,[aria-pressed="true"]) { background:#203b56; color:#d1ebff; border-color:#36597a; }
.site-shell .search-results button:hover { background:#20334b; }
.site-shell .search-results em { color:#b7c8df; background:#192b42; }
.site-shell .official-link { background:#366ca2; color:#fff; }
.site-shell .official-link:hover { background:#407fb9; }
.site-shell .legend span:nth-child(1) i { background:#6abafa !important; }
.site-shell .legend span:nth-child(2) i { background:#63d1d6 !important; }
.site-shell .legend span:nth-child(3) i { background:#b19de7 !important; }
.site-shell .legend span:nth-child(4) i { background:#72cea5 !important; }
.site-shell .legend span:nth-child(5) i { background:#84ade1 !important; }
.site-shell :is(button,a,input,select):focus-visible { outline-color:#8acbff !important; }
/* Compact footer on every page, without dropping company information. */
body .company-footer-rich, body .office-search-page::after { min-height:0; margin-top:20px !important; }
body .company-footer-layout, .site-shell > footer.company-footer-rich > .company-footer-layout {
 display:grid !important; grid-template-columns:minmax(240px,.8fr) minmax(0,1.7fr); align-items:center; gap:24px; padding:14px 0 10px;
}
body .company-footer-brand { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; }
body .company-footer-brand strong { font-size:14px; }
body .company-footer-brand small { margin:0; font-size:9px; }
body .company-footer-badge { margin:0; padding:0; border:0; background:none; font-size:10px; }
body .company-footer-info { gap:2px; padding:0; border:0; }
body .company-footer-info p { font-size:11px; line-height:1.65; }
body .company-footer-bottom { padding:6px 0 9px; }
body .office-search-page::after { padding:14px max(32px,calc((100vw - 1200px)/2)) !important; line-height:1.65; }
body .site-shell .company-footer-rich { background:#0b1524 !important; color:#a2b1c7 !important; }
.site-shell .company-footer-badge { color:#a2b1c7; }
@media(max-width:820px) {
 body .company-footer-layout, .site-shell > footer.company-footer-rich > .company-footer-layout { grid-template-columns:1fr; gap:7px; }
}
@media(max-width:640px) {
 body .company-footer-rich, body .office-search-page::after { margin-top:16px !important; }
 body .company-footer-layout, .site-shell > footer.company-footer-rich > .company-footer-layout { padding:12px 0 8px; }
 body .company-footer-bottom { padding:6px 0 8px; }
 body .office-search-page::after { padding:12px 16px !important; }
}
body .company-footer-rich { padding:0 !important; }
body .company-footer-layout, .site-shell > footer.company-footer-rich > .company-footer-layout { padding:10px 0 8px; }
body .company-footer-bottom { padding:5px 0 7px; }

/* Shared structure, distinct accents for three search destinations. */
body:has(.moe-search-page) { --accent:#275fa2; }
body .moe-search-hero { background:linear-gradient(120deg,#e7f0fc,#f5f8fc); border-bottom:3px solid #437bb6; }
body:has(.office-search-page:not(.university-search-page)) { --accent:#19766c; }
body .office-search-page:not(.university-search-page) .office-search-hero { background:linear-gradient(120deg,#e5f2ee,#f5f9f7); border-bottom:3px solid #3e8b7b; }
body .office-search-page:not(.university-search-page) .office-search-hero h1 { color:#16493f; }
body:has(.university-search-page) { --accent:#735493; }
body .university-search-page .office-search-hero { background:linear-gradient(120deg,#eee8f6,#faf8fc); border-bottom:3px solid #9674af; }
body .university-search-page .office-search-hero h1 { color:#48305f; }
body .university-search-page .office-query-box { border-radius:14px; border-color:#cbb9dc; }
body .university-search-page .office-result-labels b { background:#f1ebf7; }
body .office-search-page:not(.university-search-page) .office-result-labels b { background:#e9f5ef; }
.search-health-widget { position:fixed; z-index:40; bottom:18px; right:20px; color:#23374e; font-size:13px; }
.health-toggle { background:#fff; color:#284965; border:1px solid #c1cfdf; border-radius:9px; padding:10px 15px; box-shadow:0 3px 14px #15283e18; font-weight:700; cursor:pointer; }
.health-panel { position:absolute; bottom:52px; right:0; width:min(360px,calc(100vw - 32px)); max-height:calc(100dvh - 110px); overflow:auto; padding:18px; border-radius:12px; border:1px solid #d4dfeb; background:#fff; box-shadow:0 8px 36px #11213726; }
.health-panel[hidden] { display:none !important; }
.health-panel header { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.health-panel header strong { font-size:16px; }
.health-panel button { cursor:pointer; }
.health-close { color:#576d85; padding:5px 8px; font-size:12px; }
.health-rows { display:grid; gap:8px; }
.health-row { display:grid; grid-template-columns:1fr auto; gap:5px 8px; padding:11px; border:1px solid #e0e7ef; border-radius:8px; }
.health-row > strong { font-size:13px; }
.health-state { font-size:11px; padding:1px 7px; border-radius:4px; background:#edf1f6; color:#5a6d83; }
.health-state.ok { background:#e3f3eb; color:#21694c; }
.health-state.limited { background:#fff2d8; color:#805f1d; }
.health-state.error { background:#fbe9e9; color:#a03d3d; }
.health-row p,.health-row small { grid-column:1/-1; margin:0; }
.health-row p { font-size:12px; color:#4f637a; }
.health-row small { font-size:10px; color:#607389; line-height:1.6; }
.health-note { font-size:11px; line-height:1.6; color:#607389; margin:12px 0; }
.health-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.health-actions small { font-size:10px; color:#607389; }
.health-recheck { border-radius:6px; background:#e9f0f8; color:#284965; padding:7px 10px; font-size:12px; font-weight:600; }
.health-recheck:disabled { opacity:.6; cursor:wait; }
body:has(>.site-shell) .health-toggle { background:#17283e; color:#d1e5fd; border-color:#36516f; }
@media(max-width:640px) { .search-health-widget { right:16px; bottom:12px; } .health-panel { padding:14px; } }

body .moe-search-page .moe-search-hero { background:linear-gradient(120deg,#e7f0fc,#f5f8fc); border-bottom:3px solid #437bb6; }
body .office-search-page:not(.university-search-page) .office-query-box button:hover { background:#125b53; }
body .university-search-page .office-query-box button:hover { background:#604179; }
body .university-search-page .university-distribution-list button.is-active { background:#f0eaf7; border-color:#c8b6dc; }
body .university-search-page .university-distribution-list button.is-active > i > span { background:#735493; }

/* Opaque, full-width sticky headers prevent content bleed and clipped labels. */
body .site-shell .topbar, body :is(.office-search-nav,.moe-search-nav) {
 width:100%; margin-inline:0; padding-inline:max(32px,calc((100% - 1200px)/2));
 isolation:isolate; box-shadow:0 1px 0 var(--line); background:#f7f9fc;
}
body .site-shell .topbar { background:#080e19; gap:16px; }
body :is(.office-search-nav,.moe-search-nav) { gap:20px; }
body :is(.brand,.office-search-brand,.moe-search-brand) { flex-shrink:0; white-space:nowrap; }
body .data-stamp { min-width:0; }
body :is(.office-search-nav nav,.moe-search-links) { min-width:0; }
body :is(.office-search-nav nav a,.moe-search-links a) { white-space:nowrap; }
@media(max-width:640px) {
 body .site-shell .topbar, body :is(.office-search-nav,.moe-search-nav) { padding-inline:16px; }
 body :is(.office-search-nav,.moe-search-nav) { gap:8px; }
 body :is(.office-search-nav nav,.moe-search-links) { display:flex; flex-wrap:wrap; gap:4px; }
 body :is(.office-search-nav nav a,.moe-search-links a) { padding-inline:6px; }
}
@media(max-width:420px) {
 body .site-shell .topbar { display:grid; grid-template-columns:1fr; align-content:center; gap:3px; height:72px; }
 body .data-stamp { font-size:10px; line-height:1.4; white-space:normal; }
 body .data-stamp > span { width:5px; height:5px; flex-shrink:0; }
 body :is(.office-search-nav nav,.moe-search-links) { justify-content:flex-start; }
 body :is(.office-search-nav nav a,.moe-search-links a):last-child { margin-left:auto; padding-inline:10px; }
}
