@import url('https://fonts.googleapis.com/css2?family=Pretendard:wght@300;400;500;600;700;800&display=swap');

:root {
  color-scheme:light;
  --ink:#202b38;
  --muted:#61717d;
  --line:rgba(77,125,142,.2);
  --teal:#397f91;
  --rose:#b96d88;
  --violet:#746f9d;
  --paper:#fff;
  font-family:'Pretendard','Malgun Gothic',sans-serif;
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:76px; }
body { min-width:320px; overflow-x:hidden; color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
::selection { color:var(--ink); background:rgba(89,164,176,.2); }
a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
button,input { font:inherit; }

::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-thumb { border:2px solid var(--paper); border-radius:4px; background:linear-gradient(180deg,#579aaa,#b884a2); }
::-webkit-scrollbar-track,::-webkit-scrollbar-corner { background:var(--paper); }

.page-background { position:fixed; z-index:-1; inset:0; background:var(--paper); pointer-events:none; }

.site-header { position:sticky; z-index:50; top:0; display:flex; align-items:center; justify-content:flex-start; gap:0; padding:12px 32px; border-bottom:1px solid rgba(77,125,142,.14); background:rgba(255,255,255,.78); backdrop-filter:blur(16px) saturate(1.15); }
.logo { flex:none; padding:6px 0; color:var(--ink); font-size:12px; font-weight:800; }
.logo b { color:var(--ink); }
.site-nav { display:flex; flex:none; align-items:center; gap:20px; margin-left:30px; font-size:12px; font-weight:600; }
.site-nav a { position:relative; color:#43525d; transition:color .3s ease; }
.site-nav a:hover { color:var(--teal); }
.header-tools { display:flex; flex:none; align-items:center; gap:14px; margin-left:auto; color:#586875; font-size:11px; }
.header-tools a:hover { color:var(--teal); }
.header-tools .production-header-link { color:#397f91; font-weight:700; }
.header-tools .notice-header-link { color:#806c43; font-weight:700; }
.header-tools .qa-header-link { color:#28675f; font-weight:700; }

.hero { position:relative; min-height:300px; overflow:hidden; padding:60px 20px 0; background:#fff; text-align:center; }
.hero > :not(.hero-cloud) { position:relative; z-index:1; }
.hero-cloud { position:absolute; z-index:0; display:block; width:72px; height:29px; border-radius:20px; background:#eef8fb; animation:cloudFlow 30s linear infinite; pointer-events:none; }
.hero-cloud::before,.hero-cloud::after { position:absolute; border-radius:50%; background:#eef8fb; content:''; }
.hero-cloud::before { top:-38%; left:22%; width:43%; aspect-ratio:1; }
.hero-cloud::after { top:-18%; left:48%; width:35%; aspect-ratio:1; }
.hero-cloud-one { top:39%; right:-90px; animation-duration:32s; }
.hero-cloud-two { top:57%; right:-75px; width:60px; height:25px; animation-delay:-12s; animation-duration:38s; }
.hero-cloud-three { top:13%; right:-65px; width:49px; height:21px; animation-delay:-20s; animation-duration:30s; }
.hero-cloud-four { top:29%; right:-105px; width:88px; height:56px; background:none; animation-delay:-5s; animation-duration:34s; }
.hero-cloud-four::before,.hero-cloud-four::after { display:none; }
.hero-cloud-four path { fill:#fff; stroke:#dbe8ed; stroke-width:1.5; }
.hero > .hero-sun { position:absolute; z-index:1; top:18px; right:8%; width:58px; height:58px; animation:sunBob 6s ease-in-out infinite; pointer-events:none; }
.eyebrow { color:#668997; font-size:10px; font-weight:300; letter-spacing:2.5px; text-transform:uppercase; animation:fadeUp 1s .1s both; }
.eyebrow::before,.eyebrow::after { margin:0 10px; color:#aec8cc; content:'——'; letter-spacing:0; }
.hero h1 { margin:16px 0 30px; color:var(--ink); font-family:'Pretendard','Malgun Gothic',sans-serif; font-size:40px; font-weight:300; line-height:1.45; }
.hero h1 .line { display:block; overflow:hidden; }
.hero h1 .line span { display:inline-block; max-width:100%; animation:riseUp .9s cubic-bezier(.2,.8,.2,1) both; }
.hero h1 .line:nth-child(2) span { color:var(--violet); background:linear-gradient(100deg,#756d98,#897eaa 58%,#a99fc5); -webkit-background-clip:text; -webkit-text-fill-color:transparent; font-weight:400; animation-delay:.25s; }
.searchbar { display:flex; max-width:620px; margin:0 auto; padding:6px; border:1px solid rgba(77,125,142,.2); border-radius:40px; background:rgba(255,255,255,.86); backdrop-filter:blur(12px); animation:fadeUp 1s .5s both; transition:border-color .3s ease; }
.searchbar:focus-within { border-color:rgba(68,139,153,.55); }
.searchbar input { flex:1; min-width:0; padding:0 18px; border:0; outline:0; color:var(--ink); background:transparent; font-size:14px; }
.searchbar input::placeholder { color:#98a5ad; }
.searchbar button { flex:none; padding:12px 28px; border:0; border-radius:28px; color:white; background:linear-gradient(100deg,#397f91,#6d789f,#b96d88); background-size:160%; cursor:pointer; font-size:11px; font-weight:700; letter-spacing:1px; transition:background-position .7s ease; }
.hero .searchbar button { background-image:linear-gradient(100deg,#756d98,#8175a5,#9b8db8); }
.searchbar button:hover { background-position:100%; }
.search-directory-link { display:grid; width:44px; height:44px; flex:none; place-items:center; border:1px solid rgba(57,127,145,.2); border-radius:50%; color:#397f91; background:#f3f8f8; transition:background-color .2s,border-color .2s,transform .2s; }
.search-directory-link:hover { border-color:rgba(57,127,145,.48); background:#e8f2f2; transform:translateY(-1px); }
.search-directory-link svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.55; }

.notice-roll-window { width:min(980px,100%); margin:14px auto 0; text-align:left; }
.notice-preview-list { display:flex; align-items:flex-start; justify-content:center; gap:12px; margin:0; padding:0; list-style:none; }
.notice-preview-list li { min-width:0; max-width:calc((100% - 24px)/3); flex:0 1 auto; }
.notice-preview-list a { display:block; min-height:42px; overflow:visible; color:#3e5059; font-size:11px; line-height:1.4; text-align:center; transition:color .2s; }
.notice-preview-number { flex:none; color:inherit; font:600 10px 'Fira Code','Consolas',monospace; }
.notice-preview-title { overflow-wrap:anywhere; }
.notice-preview-author { color:inherit; font-size:10px; }
.notice-preview-list time { color:inherit; font:9px 'Fira Code','Consolas',monospace; white-space:nowrap; }
.notice-preview-list a:hover { color:var(--teal); }
.notice-preview-status { display:inline-flex; align-items:center; gap:2px; font-size:10px; font-weight:600; white-space:nowrap; }
.notice-preview-status--requested { color:#a7722d; }
.notice-preview-status--in_progress { color:#397f91; }
.notice-preview-status--completed { color:#4d805c; }
.production-latest { width:100%; padding:38px 8% 12px; border-top:1px solid #edf1ef; background:#fff; text-align:left; }
.production-latest-inner { width:100%; margin:0 auto; }
.production-latest-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-bottom:11px; border-bottom:1px solid #e7ece9; }
.production-latest-heading p,.production-section-kicker { margin-bottom:4px; color:#397f91; font:600 9px 'Fira Code','Consolas',monospace; }
.production-latest-heading h2 { color:#35463f; font-size:21px; font-weight:600; }
.production-latest-heading h2 small { margin-left:4px; color:#71817a; font-size:12px; font-weight:500; }
.production-latest-disclaimer { margin:8px 0 10px; color:#87938d; font-size:10px; line-height:1.5; }
.production-board-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; list-style:none; }
.production-latest-sample-note { margin:5px 0; color:#9aa59f; font-size:9px; text-align:right; }
.production-latest-items { list-style:none; }
.production-latest-items li { display:grid; grid-template-columns:32px minmax(0,1fr) 128px 88px; align-items:center; gap:10px; min-height:43px; padding:6px 7px; border-bottom:1px solid #edf1ef; }
.production-latest-index,.production-request-index { color:#9aa59f; font:10px 'Fira Code','Consolas',monospace; }
.production-latest-title { min-width:0; overflow:hidden; color:#46564f; font-size:12px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
.production-latest-title--example { font-size:13px; }
a.production-latest-title:hover { color:#357b72; }
.production-latest-example { margin-right:6px; color:#9aa59f; font-size:9px; font-weight:500; }
.production-latest-state { justify-self:start; }
.production-latest-items time { color:#8b9791; font:9px 'Fira Code','Consolas',monospace; text-align:right; white-space:nowrap; }
.production-latest-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin:14px 0 18px; }
.production-latest-button { display:inline-flex; min-height:38px; align-items:center; justify-content:center; gap:10px; padding:0 14px; border:1px solid #e1e8e4; border-radius:4px; color:#52645d; background:#fff; font-size:10px; font-weight:600; transition:border-color .2s,background-color .2s,color .2s; }
.production-latest-button:hover { border-color:#b8cbc1; color:#28675f; background:#fbfcfb; }
.production-latest-button:focus-visible { outline:2px solid #397f91; outline-offset:2px; }
.production-latest-button:nth-child(2) { border-color:#b8cbc1; color:#28675f; background:#f4f8f5; }
.production-status { display:inline-flex; align-items:center; gap:4px; color:#a7722d; font-size:11px; font-weight:600; white-space:nowrap; }
.production-status--in_progress { color:#397f91; }
.production-status--completed { color:#4d805c; }
.production-status-icon { display:inline-grid; width:15px; height:15px; place-items:center; font-size:15px; font-weight:700; line-height:1; }
.production-request-page { --request-accent:var(--violet); --request-accent-deep:#5c567b; --request-accent-soft:#f5f3f9; --request-line:#e4e0ec; width:min(1160px,calc(100% - 48px)); }
.production-request-page .production-board-header { border-bottom-color:var(--request-line); }
.production-request-page .production-board-header h1,.production-request-page .production-board-list-heading h2 { color:#293142; }
.production-request-page .board-primary { background:var(--request-accent); }
.production-request-page .board-primary:hover { background:var(--request-accent-deep); }
.production-request-page .board-secondary { border-color:#ded9e8; color:#5f5a75; }
.production-request-page .board-secondary:hover { border-color:#bcb4d0; background:var(--request-accent-soft); }
.production-request-page .board-primary:focus-visible,.production-request-page .board-secondary:focus-visible { outline:2px solid var(--request-accent); outline-offset:2px; }
.production-request-page .production-board-flow { overflow:hidden; border:1px solid var(--request-line); border-radius:6px; background:#fcfbfe; }
.production-request-page .production-board-flow-step + .production-board-flow-step { border-left-color:var(--request-line); }
.production-request-page .production-board-flow-step .production-status-icon { width:25px; height:25px; border-radius:50%; color:#77718e; background:#f0eef5; font-size:14px; }
.production-request-page .production-board-flow-step.is-current { border-bottom-color:var(--request-accent); color:var(--request-accent-deep); background:var(--request-accent-soft); }
.production-request-page .production-board-flow-step.is-current .production-status-icon { color:#fff; background:var(--request-accent); }
.production-request-page .production-board-flow-number { color:#8c86a3; }
.production-request-page .production-board-list-heading > span { padding:5px 8px; border:1px solid var(--request-line); border-radius:4px; color:#655f7c; background:#fcfbfe; }
.production-request-page .production-policy-note { border-left-color:#8c82ab; color:#5d596e; background:#f7f5fa; }
.production-request-page .production-policy-note > span { border-color:#d0cadc; color:#716a8e; }
.production-request-page .production-request-items { border-top-color:var(--request-accent); }
.production-request-page .production-request-item { transition:background-color .18s ease; }
.production-request-page .production-request-item:hover { background:#fbfaff; }
.production-request-page .production-request-title { color:#303448; }
.production-request-page .production-request-title:hover,.production-request-page .production-request-title:focus-visible { color:var(--request-accent-deep); }
.production-request-page .production-status { min-height:24px; padding:3px 8px; border-radius:999px; }
.production-request-page .production-status--requested { color:#6e648d; background:#f2eff8; }
.production-request-page .production-status--in_progress { color:#286e80; background:#edf5f6; }
.production-request-page .production-status--completed { color:#477657; background:#eef6ef; }
.production-request-page .production-status-form select:focus-visible { border-color:var(--request-accent); outline:2px solid rgba(116,111,157,.2); outline-offset:1px; }
.production-board-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 0 24px; border-bottom:2px solid #496c66; }
.production-board-header h1 { color:#253a34; font-size:32px; font-weight:600; }
.production-board-header > div > p:last-child { margin-top:7px; color:#71817a; font-size:12px; }
.production-board-actions { display:flex; align-items:center; gap:8px; }
.production-board-actions form { margin:0; }
.production-board-flow { margin:22px 0 28px; border-block:1px solid #dce5e0; }
.production-board-flow-step { display:flex; min-height:54px; align-items:center; justify-content:center; gap:10px; border-bottom:3px solid transparent; color:#829089; font-size:12px; font-weight:600; }
.production-board-flow-step + .production-board-flow-step { border-left:1px solid #e5ebe7; }
.production-board-flow-step.is-current { border-bottom-color:#397f91; color:#28675f; background:#f4f8f5; }
.production-board-flow-step.is-current .production-status-icon { color:#397f91; }
.production-board-flow-number { color:#9aa69f; font:10px 'Fira Code','Consolas',monospace; }
.production-board-section { margin-top:30px; }
.production-board-list-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:14px; }
.production-board-list-heading h2,.production-entry-section h2 { color:#293d37; font-size:20px; font-weight:600; }
.production-board-list-heading > span { color:#74837b; font:11px 'Fira Code','Consolas',monospace; }
.production-policy-note { display:flex; align-items:center; gap:10px; margin-bottom:18px; padding:11px 13px; border-left:3px solid #a7722d; color:#69766f; background:#f8f7f2; }
.production-policy-note > span { display:grid; width:18px; height:18px; flex:none; place-items:center; border:1px solid #c8b77c; border-radius:50%; color:#927536; font:600 11px Georgia,serif; }
.production-policy-note p { font-size:11px; line-height:1.6; }
.production-board-empty { padding:46px 12px; border-block:1px solid #e5ebe7; color:#77867f; font-size:13px; text-align:center; }
.production-request-items { border-top:2px solid #496c66; list-style:none; }
.production-request-item { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:14px; min-height:76px; padding:12px 10px; border-bottom:1px solid #e5ebe7; }
.production-request-index { font-size:11px; }
.production-request-item-main { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; }
.production-request-title { overflow:hidden; color:#263b36; font-size:14px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.production-request-title:hover { color:#357b72; }
.production-request-item-meta,.production-request-meta { display:flex; align-items:center; gap:12px; }
.production-request-item-meta time,.production-request-meta time { color:#7a8981; font:10px 'Fira Code','Consolas',monospace; white-space:nowrap; }
.production-status-form { display:flex; flex:none; align-items:center; gap:6px; }
.production-status-form select { min-width:112px; min-height:34px; padding:6px 22px 6px 8px; border:1px solid #d5dfdc; border-radius:4px; color:#354b43; background:#fff; font:inherit; font-size:11px; }
.production-status-form button { min-height:34px; padding:0 10px; font-size:11px; }
.production-admin-control-label { color:#788780; font-size:10px; white-space:nowrap; }
.production-detail { margin-top:26px; }
.production-detail-header { padding:0 0 18px; border-bottom:1px solid #dce5e0; }
.production-detail-content { min-height:200px; padding:25px 8px 32px; color:#35463f; font-size:14px; line-height:1.9; overflow-wrap:anywhere; white-space:pre-wrap; }
.production-status-form--detail { justify-content:flex-end; margin:0 0 18px; padding:14px 0; border-top:1px solid #e5ebe7; }
.production-detail-actions { display:flex; justify-content:flex-end; padding-top:16px; border-top:1px solid #e5ebe7; }
.production-entry-section { max-width:860px; margin:32px auto 0; }
.production-entry-section h2 { font-size:22px; }
.production-entry-description { margin-top:7px; color:#71817a; font-size:12px; }
.production-request-form { max-width:none; margin:22px 0 0; padding-top:20px; border-top:1px solid #dce5e0; }
.production-request-form textarea { min-height:250px; }
.production-request-note { color:#7b8982; font-size:11px; }
.production-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.production-order-form { margin-top:22px; }
.production-order-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:0 0 20px; border-block:1px solid #e5ebe7; }
.production-order-facts > div { display:grid; grid-template-columns:130px minmax(0,1fr); gap:12px; padding:12px 8px; border-bottom:1px solid #edf1ef; }
.production-order-facts dt { color:#71817a; font-size:12px; }
.production-order-facts dd { min-width:0; color:#35463f; font-size:12px; overflow-wrap:anywhere; }
.production-order-admin-form { max-width:none; margin:0; padding:20px 0 0; border-top:1px solid #dce5e0; }
.notice-board-list { list-style:none; border-top:1px solid var(--line); }
.notice-board-list li { border-bottom:1px solid var(--line); }
.notice-board-link { display:grid; grid-template-columns:90px minmax(0,1fr); align-items:center; gap:12px; min-height:48px; padding:9px 6px; }
.notice-board-link time { color:#7a898f; font:10px 'Fira Code','Consolas',monospace; }
.notice-board-link span { overflow:hidden; color:#3e5059; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.notice-board-link:hover span { color:var(--teal); }

.search-page { max-width:980px; min-height:55vh; margin:0 auto; padding:48px 24px 72px; }
.search-page h1 { margin-bottom:10px; color:var(--ink); font-size:30px; font-weight:600; }
.search-summary { margin-bottom:24px; color:var(--muted); font-size:14px; }
.search-results-form { margin:24px 0 32px; }
.search-result-section + .search-result-section { margin-top:30px; }
.search-result-section h2 { margin-bottom:10px; color:#304650; font-size:17px; font-weight:700; }
.search-result-section h2 span { margin-left:6px; color:#8b999d; font:10px 'Fira Code','Consolas',monospace; }
.search-result-list { list-style:none; border-top:1px solid var(--line); }
.search-result { padding:20px 4px; border-bottom:1px solid var(--line); }
.search-result a { color:var(--teal); font-size:17px; font-weight:700; }
.search-result a:hover { text-decoration:underline; }
.search-result p { margin-top:8px; color:var(--muted); font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.search-empty { padding:28px 4px; border-top:1px solid var(--line); color:var(--muted); line-height:1.8; }
.directory-tree { margin-top:8px; }
.directory-tree-heading { padding:4px 0 20px; }
.directory-tree-heading > span { color:#698890; font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.7px; }
.directory-tree-heading h2 { margin-top:8px; color:var(--ink); font-size:23px; font-weight:600; }
.directory-tree-heading p { margin-top:6px; color:var(--muted); font-size:13px; }
.directory-tree-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 56px; }
.directory-tree-group { display:block; min-width:0; padding:0; }
.directory-tree-group h3 { color:#253b45; font-size:15px; font-weight:700; }
.directory-tree-group .directory-parent-link { display:inline-flex; align-items:baseline; gap:8px; color:#253b45; font-size:15px; }
.directory-tree-group .directory-parent-link:hover span { color:var(--teal); }
.directory-tree-group .directory-parent-link.is-current span { color:#245e67; }
.directory-tree-group ul { margin-top:9px; list-style:none; line-height:1.9; }
.directory-tree-group li { display:inline; }
.directory-tree-group li + li::before { color:#95a6aa; content:' · '; white-space:pre; }
.directory-tree-group a { color:#397f91; font-size:13px; }
.directory-tree-group a:hover span { text-decoration:underline; }
.directory-tree-group a.is-current span { color:#245e67; font-weight:700; }
.directory-tree-group a small { margin-left:4px; color:#91a0a4; font:10px 'Fira Code','Consolas',monospace; }

.directory-page { max-width:980px; }
.directory-tabs { display:flex; gap:5px; overflow-x:auto; margin:18px 0 25px; padding:2px 0 4px; scrollbar-width:thin; }
.directory-tab { display:flex; min-height:38px; flex:none; align-items:center; gap:9px; padding:0 12px; border-radius:5px; color:#5f7278; background:transparent; font-size:12px; white-space:nowrap; transition:color .18s,background-color .18s; }
.directory-tab:hover { color:#286e72; background:#f1f7f6; }
.directory-tab.is-current { color:#245e67; background:#eaf3f1; font-weight:700; }
.directory-tab small { color:#8b999d; font:10px 'Fira Code','Consolas',monospace; }
.directory-admin-tabs { display:flex; gap:5px; overflow-x:auto; margin:16px 0 18px; padding:2px 0 4px; scrollbar-width:thin; }
.directory-admin-tab { display:flex; min-height:38px; flex:none; align-items:center; gap:8px; padding:0 12px; border:1px solid transparent; border-radius:5px; color:#5f7278; background:transparent; cursor:pointer; font-size:12px; white-space:nowrap; }
.directory-admin-tab:hover { color:#286e72; background:#f1f7f6; }
.directory-admin-tab.is-current { border-color:rgba(57,127,145,.16); color:#245e67; background:#eaf3f1; font-weight:700; }
.directory-admin-tab small { color:#8b999d; font:10px 'Fira Code','Consolas',monospace; }
.directory-admin-tabpanel[hidden] { display:none; }
.directory-admin-tabpanel .board-form { max-width:850px; margin:12px 0 24px; }
.directory-dropzone { display:flex; min-height:72px; align-items:center; gap:13px; margin:10px 0 2px; padding:13px 15px; border:1px dashed rgba(57,127,145,.35); border-radius:6px; color:#3c666d; background:#f6faf9; cursor:pointer; transition:border-color .18s,background-color .18s,transform .18s; }
.directory-dropzone:hover,.directory-dropzone.is-drop-target { border-color:#397f91; background:#eaf4f2; }
.directory-dropzone:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.directory-dropzone svg { width:24px; height:24px; flex:none; fill:none; stroke:#397f91; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.55; }
.directory-dropzone span { display:grid; gap:4px; min-width:0; }
.directory-dropzone strong { color:#34575f; font-size:12px; font-weight:650; }
.directory-dropzone small { color:#7b8d90; font-size:10px; line-height:1.5; }
.directory-public { margin-top:30px; }
.directory-section-title { margin-bottom:12px; color:var(--ink); font-size:19px; font-weight:600; }
.directory-list { list-style:none; }
.directory-list li { padding:14px 0; }
.directory-list a { color:var(--teal); font-size:16px; font-weight:700; overflow-wrap:anywhere; }
.directory-list a:hover { text-decoration:underline; }
.directory-list p { margin-top:6px; color:var(--muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.directory-list small { display:block; margin-top:6px; color:#819098; font-size:11px; overflow-wrap:anywhere; }
.directory-admin-panel { margin-top:44px; padding-top:26px; border-top:2px solid rgba(77,125,142,.2); }
.directory-admin-panel > h2 { margin-bottom:18px; font-size:22px; }
.directory-admin-entry { padding:18px 0; border-top:1px solid var(--line); }
.directory-admin-entry h3 { font-size:15px; overflow-wrap:anywhere; }
.directory-admin-entry > p { margin-top:6px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.directory-status { display:inline-block; margin-bottom:8px; color:#9a6942; font-size:11px; font-weight:700; }
.directory-status.is-published { color:#357b72; }
.directory-submit-trigger { gap:8px; }
.directory-submit-trigger svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:1.8; }
.directory-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100% - 32px); margin:auto; padding:0; overflow:auto; border:1px solid rgba(77,125,142,.24); border-radius:10px; color:var(--ink); background:#fff; box-shadow:0 24px 80px rgba(30,53,63,.22); }
.directory-dialog[open] { animation:directoryDialogIn .2s ease-out; }
.directory-dialog::backdrop { background:rgba(26,43,51,.42); backdrop-filter:blur(4px); }
.directory-dialog-content { padding:28px; }
.directory-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:20px; }
.directory-dialog-eyebrow { color:#698890; font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.5px; }
.directory-dialog-header h2 { margin-top:7px; color:var(--ink); font-size:22px; font-weight:650; }
.directory-dialog-header p:last-child { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.6; }
.directory-dialog-close { display:grid; width:36px; height:36px; flex:none; place-items:center; border:1px solid rgba(77,125,142,.17); border-radius:50%; color:#52656e; background:#f8faf9; cursor:pointer; }
.directory-dialog-close:hover { border-color:rgba(57,127,145,.4); color:#397f91; background:#eef6f5; }
.directory-dialog-close svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:1.7; }
.directory-dialog .board-alert { margin-bottom:18px; }
.directory-dialog .board-form { max-width:none; gap:14px; margin:0; }
.directory-dialog .board-form textarea { min-height:120px; }
.directory-dialog .board-form-actions { justify-content:flex-end; gap:8px; padding-top:3px; }
.directory-dialog .board-form-actions button { min-width:92px; }
@keyframes directoryDialogIn { from { opacity:0; transform:translateY(7px) scale(.99); } to { opacity:1; transform:none; } }
.directory-admin-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; }
.directory-admin-actions form { margin:0; }
.directory-admin-actions details { position:relative; }
.directory-admin-actions summary { color:#52645d; cursor:pointer; font-size:12px; }
.directory-admin-actions .board-form { margin:14px 0; }
.directory-admin-actions .board-form textarea { min-height:110px; }
.directory-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.directory-url-drop { transition:border-color .18s,background-color .18s; }
.directory-url-drop.is-drop-target { border-color:#397f91; background:#eef7f7; }
.directory-empty { padding:18px 5px; color:var(--muted); font-size:13px; }

@media (max-width:600px) {
  .search-page { padding:34px 18px 56px; }
  .search-page h1 { font-size:24px; }
  .search-results-form .searchbar button { padding:12px 18px; }
  .directory-dialog-content { padding:23px 19px; }
  .directory-dialog-header h2 { font-size:20px; }
  .directory-tree-heading h2 { font-size:20px; }
  .directory-tree-groups { grid-template-columns:1fr; gap:22px; }
  .directory-tree-group ul { margin-top:6px; }
}

.mission { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:48px; margin-top:10px; padding:44px 8% 48px; background:#fff; }
.protocol-badge { display:inline-flex; align-items:center; gap:8px; margin-bottom:20px; padding:6px 12px; border:1px solid rgba(116,111,157,.24); border-radius:20px; color:#746f9d; background:rgba(116,111,157,.06); font-size:9px; font-weight:700; letter-spacing:1.4px; }
.protocol-badge::before { width:6px; height:6px; border-radius:50%; background:#8b82ad; content:''; animation:blink 1.8s infinite; }
.mission-label { position:absolute; top:18px; right:8%; color:#7d8e98; font-size:9px; font-weight:700; letter-spacing:2px; }
.mission h2 { margin-bottom:4px; color:var(--ink); font-size:36px; font-weight:700; line-height:1.35; }
.mission h2 b { color:var(--violet); font-size:.72em; font-weight:600; }
.bar { width:54px; height:2px; margin:18px 0; background:linear-gradient(90deg,#746f9d,#8d82ae); animation:barGrow 6s ease-in-out infinite alternate; }
.sub { margin-bottom:28px; color:#586875; font-size:14px; font-weight:400; line-height:1.9; }
.tiles { display:flex; flex-wrap:wrap; gap:9px; }
.tile { position:relative; display:block; width:136px; min-height:84px; overflow:hidden; padding:14px 14px 12px; border:1px solid rgba(84,130,147,.17); border-radius:8px; color:inherit; background:rgba(255,255,255,.48); backdrop-filter:blur(8px); text-decoration:none; transition:transform .65s ease,border-color .65s; }
.tile::before { position:absolute; top:0; left:-100%; width:100%; height:2px; background:linear-gradient(90deg,transparent,#69aeb6,transparent); content:''; transition:left .6s; }
.tile:hover::before { left:100%; }
.tile:hover { border-color:rgba(69,137,153,.42); transform:translateY(-3px); }
.tile:focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
.tile h3 { color:#2e4854; font-size:12px; font-weight:700; }
.tile h3 span { position:absolute; top:7px; right:9px; color:rgba(65,105,120,.1); font-size:22px; font-weight:800; }
.tile p { margin-top:7px; color:#697b83; font-size:10px; line-height:1.65; }

.tile--virtual-reality {
  border-color: rgba(120, 110, 255, .26);
  background: linear-gradient(135deg, rgba(132, 119, 255, .12), rgba(67, 191, 199, .09), rgba(255,255,255,.7));
}
.tile--virtual-reality::after {
  position:absolute; inset:auto -18px -18px auto; width:48px; height:48px; border-radius:50%; background:radial-gradient(circle, rgba(122,112,255,.28), rgba(122,112,255,0)); content:'';
  opacity:.8;
}
.tile--virtual-reality:hover {
  border-color: rgba(110, 92, 255, .55);
  transform:translateY(-2px);
}
.tile--virtual-reality h3 { color:#2a2d54; }
.tile--virtual-reality h3 span { color: rgba(93, 84, 198, .18); }
.tile--virtual-reality p { color:#4a5070; }

.terminal { position:relative; height:420px; overflow:hidden; border:1px solid rgba(77,125,142,.24); border-radius:12px; background:#fff; transition:border-color .5s ease; }
.terminal:hover { border-color:rgba(57,127,145,.48); }
.terminal::before { position:absolute; z-index:2; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(57,127,145,.018) 3px,rgba(57,127,145,.018) 5px); content:''; pointer-events:none; animation:scanline 32s linear infinite; }
.terminal-top { display:flex; height:42px; align-items:center; gap:12px; padding:0 14px; border-bottom:1px solid rgba(77,125,142,.15); color:#526871; background:#f2f6f7; }
.terminal-lights { display:flex; gap:5px; }
.terminal-lights i { display:block; width:8px; height:8px; border-radius:50%; background:#ff6258; }
.terminal-lights i:nth-child(2) { background:#ffc04a; }
.terminal-lights i:nth-child(3) { background:#43d17d; }
.terminal-title { flex:1; text-align:center; font-family:'Fira Code','Consolas',monospace; font-size:10px; font-weight:600; }
.terminal-live { color:#47785b; font-family:'Fira Code','Consolas',monospace; font-size:8px; font-weight:700; letter-spacing:1px; }
.terminal-live::before { display:inline-block; width:6px; height:6px; margin-right:6px; border-radius:50%; background:#65a879; content:''; animation:blink 2.4s infinite; }
.terminal-screen { position:absolute; inset:42px 0 25px; overflow:hidden; padding:13px 15px 8px; background:#fff; }
.terminal-screen::after { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(57,127,145,.025) 4px); content:''; opacity:.42; pointer-events:none; }
.terminal-feed { display:flex; min-height:100%; flex-direction:column; justify-content:flex-end; overflow-wrap:anywhere; color:#66777f; font:11px/1.65 'Fira Code','Consolas',monospace; }
.terminal-line { animation:terminalIn .7s ease-out both; }
.terminal-command { color:#334b56; }
.terminal-prompt { color:#397f91; font-weight:700; }
.terminal-output { color:#75858c; }
.terminal-output .good { color:#4e815d; }
.terminal-output .accent { color:#50799c; }
.terminal-cursor { display:inline-block; width:7px; height:13px; margin-left:3px; vertical-align:-2px; background:#528c99; animation:blink 1.8s steps(2) infinite; }
.terminal-bottom { position:absolute; inset:auto 0 0; display:flex; height:25px; align-items:center; justify-content:space-between; padding:0 13px; border-top:1px solid rgba(77,125,142,.13); color:#71818a; background:#f2f6f7; font:8px 'Fira Code','Consolas',monospace; letter-spacing:.6px; }
.terminal-bottom b { color:#4c7d68; font-weight:600; }

.builder-pricing { padding:30px 8% 24px; border-top:1px solid #edf1ef; background:#f7f9f8; }
.builder-pricing-inner { width:100%; max-width:1160px; margin:0 auto; }
.builder-pricing-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:17px; }
.builder-pricing-heading p { margin-bottom:5px; color:#397f91; font:600 9px 'Fira Code','Consolas',monospace; }
.builder-pricing-heading h2 { color:#293d37; font-size:22px; font-weight:600; }
.builder-pricing-heading > span { color:#71817a; font-size:10px; font-weight:600; }
.builder-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.builder-plan-card { display:flex; min-width:0; flex-direction:column; padding:17px 17px 15px; border:1px solid #e0e7e3; border-radius:6px; background:#fff; }
.builder-plan-code { color:#71817a; font:600 8px 'Fira Code','Consolas',monospace; }
.builder-plan-card h3 { margin-top:7px; color:#293d37; font-size:17px; font-weight:600; }
.builder-plan-description { min-height:34px; margin-top:6px; color:#71817a; font-size:10px; line-height:1.6; }
.builder-plan-price { display:flex; align-items:baseline; gap:4px; margin-top:14px; padding-bottom:12px; border-bottom:1px solid #edf1ef; color:#354b43; }
.builder-plan-price strong { font-size:24px; font-weight:600; }
.builder-plan-price > span { font-size:11px; font-weight:600; }
.builder-plan-price small { margin-left:auto; color:#89958f; font-size:9px; }
.builder-plan-card ul { display:grid; gap:7px; margin:12px 0 16px; list-style:none; }
.builder-plan-card li { color:#596a62; font-size:10px; line-height:1.5; }
.builder-plan-card li::before { margin-right:7px; color:#5c9687; content:'+'; font-weight:700; }
.builder-plan-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:auto; }
.builder-plan-contact { display:flex; min-width:0; min-height:36px; align-items:center; justify-content:space-between; gap:5px; padding:0 8px; border:1px solid #dce5e0; border-radius:4px; color:#52645d; background:#fff; font-size:10px; font-weight:600; transition:border-color .2s,color .2s,background-color .2s; }
.builder-plan-contact:hover { border-color:#9ab9ae; color:#28675f; background:#f8fbf9; }
.builder-plan-contact:focus-visible { outline:2px solid #397f91; outline-offset:2px; }
.builder-pricing-note { margin-top:12px; color:#87938d; font-size:10px; line-height:1.6; }
.builder-pricing-day-rate { margin-top:8px; padding:10px 12px; border-left:3px solid #397f91; color:#28675f; background:#eef6f3; font-size:12px; font-weight:700; line-height:1.6; }
.builder-pricing-special { margin-top:7px; color:#8d5140; font-size:13px; font-weight:700; line-height:1.6; }
.builder-pricing-special strong { font-weight:800; }
.links-section { padding:38px 8% 48px; background:#fff; }
.links-heading { margin-bottom:24px; text-align:center; }
.links-heading > span { color:var(--teal); font-size:10px; font-weight:800; letter-spacing:3px; text-transform:uppercase; }
.links-heading h2 { margin-top:7px; color:var(--ink); font-size:24px; font-weight:700; }
.links-heading p { margin-top:5px; color:var(--muted); font-size:12px; }
.links-grid { display:grid; width:100%; grid-auto-columns:clamp(240px,calc((100vw - 11.5rem) / 4),300px); grid-auto-flow:column; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; padding:2px 1px 12px; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-padding-inline:1px; cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none; }
.links-grid::-webkit-scrollbar { display:none; }
.links-grid.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.links-grid.is-looping { scroll-snap-type:none; }
.link-card { display:flex; min-width:0; min-height:245px; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:8px; color:#2e4854; background:rgba(255,255,255,.72); scroll-snap-align:start; transition:border-color .35s ease,background-color .35s ease; }
.link-card:hover { border-color:rgba(69,137,153,.5); background:rgba(255,255,255,.96); }
.link-thumb { display:block; width:100%; aspect-ratio:16/11; flex:none; border:0; border-bottom:1px solid rgba(75,125,142,.12); background:#e8eff0; object-fit:cover; pointer-events:none; }
.link-meta { display:flex; min-width:0; flex:1; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; }
.link-name { display:flex; min-width:0; flex-direction:column; gap:5px; overflow-wrap:anywhere; font-size:13px; font-weight:700; line-height:1.35; }
.link-name small { color:#84939b; font-size:10px; font-weight:400; }
.link-arrow { flex:none; color:#8aa8b0; font-size:17px; transition:transform .3s ease,color .3s ease; }
.link-card:hover .link-arrow { color:var(--teal); transform:translate(2px,-2px); }
.links-controls { display:flex; width:100%; max-width:1120px; align-items:center; justify-content:flex-end; gap:12px; margin:10px auto 0; }
.links-position { display:flex; align-items:center; gap:5px; color:#85939a; font:10px 'Fira Code','Consolas',monospace; }
.links-position b { color:#385f6a; font-weight:700; }
.links-nav { display:grid; width:34px; height:34px; flex:none; place-items:center; border:1px solid var(--line); border-radius:50%; color:#45636c; background:rgba(255,255,255,.55); cursor:pointer; transition:color .2s,border-color .2s,background-color .2s; }
.links-nav:hover { border-color:rgba(69,137,153,.5); color:var(--teal); background:#fff; }
.platform-logos-heading { margin:24px 0 14px; }
.platform-logos-english { color:#87959a !important; font-size:10px !important; }
.platform-logos { display:grid; width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:0 auto; }
.platform-logo { display:grid; min-width:0; height:48px; place-items:center; border:1px solid #d9dddf; border-radius:4px; background:#fff; transition:border-color .2s,background-color .2s; }
.platform-logo:hover { border-color:#858d91; background:#f8f8f8; }
.platform-logo:focus-visible { outline:2px solid #555; outline-offset:2px; }
.platform-logo img { display:block; width:24px; height:24px; object-fit:contain; }
.platform-logo-termux { filter:grayscale(1) sepia(.65) saturate(.55) hue-rotate(145deg); }
.platform-logo-systemd { width:56px !important; height:24px !important; }
.platform-logo-openssh { width:48px !important; height:24px !important; filter:grayscale(1) sepia(.65) saturate(.55) hue-rotate(145deg); }
.platform-logo-iptime { width:56px !important; height:24px !important; filter:grayscale(1) sepia(.65) saturate(.55) hue-rotate(145deg); }

.section-progress { --progress-accent:#2d78a8; --progress-start:#78b7d8; --progress-end:#1d5277; --progress-glow:rgba(45,120,168,.3); display:flex; justify-content:center; padding:16px 8%; border-block:1px solid #d5e2ed; background:#eef5fa; }
.progress-step-2 { --progress-accent:#5575b9; --progress-start:#a0b6e2; --progress-end:#354f89; --progress-glow:rgba(85,117,185,.3); }
.progress-step-3 { --progress-accent:#2f8599; --progress-start:#85c4d0; --progress-end:#20566c; --progress-glow:rgba(47,133,153,.3); }
.progress-step-4 { --progress-accent:#515f9f; --progress-start:#9ba8d8; --progress-end:#343f72; --progress-glow:rgba(81,95,159,.3); }
.section-progress-inner { display:grid; width:min(860px,100%); gap:12px; margin:0 auto; }
.section-progress-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0; list-style:none; }
.section-progress-stages li { display:flex; align-items:center; justify-content:center; gap:6px; color:#71808d; font-size:10px; white-space:nowrap; }
.section-progress-stages li span { color:#667b8c; font:9px 'Fira Code','Consolas',monospace; }
.section-progress-stages li b { font-weight:500; }
.section-progress-stages li.is-complete,.section-progress-stages li.is-complete span,.section-progress-stages li.is-current,.section-progress-stages li.is-current span { color:var(--progress-accent); }
.section-progress-stages li.is-current b { font-weight:700; }
.section-progress-controls { display:grid; grid-template-columns:minmax(0,1fr) 64px 34px; align-items:center; gap:14px; }
.progress-total { color:#526c82; font:10px 'Fira Code','Consolas',monospace; text-align:center; }
.progress-settings { display:grid; width:32px; height:32px; place-items:center; border:1px solid #d0dfeb; border-radius:50%; color:#526c82; background:rgba(255,255,255,.72); font-size:15px; transition:color .2s,border-color .2s,background-color .2s; }
.progress-settings:hover { border-color:var(--progress-accent); color:var(--progress-accent); }
.progress-settings:hover { background:#fff; }
.section-progress-bar { display:block; width:100%; height:9px; overflow:hidden; appearance:none; border:1px solid rgba(255,255,255,.92); border-radius:8px; color:var(--progress-accent); background:linear-gradient(180deg,#c5d7e5 0%,#e7eff6 100%); box-shadow:inset 0 1px 2px rgba(39,74,103,.18),0 1px 1px rgba(255,255,255,.8); }
.section-progress-bar::-webkit-progress-bar { border-radius:8px; background:linear-gradient(180deg,#c5d7e5 0%,#e7eff6 100%); }
.section-progress-bar::-webkit-progress-value { border-radius:8px; background-color:var(--progress-accent); background-image:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.58) 51%,rgba(255,255,255,.08) 62%,transparent 100%),linear-gradient(90deg,var(--progress-start),var(--progress-accent) 58%,var(--progress-end)); background-position:-180px 0,0 0; background-size:180px 100%,100% 100%; box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 9px var(--progress-glow); animation:progressSheen 5s ease-in-out infinite; transition:width .4s ease; }
.section-progress-bar::-moz-progress-bar { border-radius:8px; background-color:var(--progress-accent); background-image:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.08) 40%,rgba(255,255,255,.58) 51%,rgba(255,255,255,.08) 62%,transparent 100%),linear-gradient(90deg,var(--progress-start),var(--progress-accent) 58%,var(--progress-end)); background-position:-180px 0,0 0; background-size:180px 100%,100% 100%; box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 9px var(--progress-glow); animation:progressSheen 5s ease-in-out infinite; }

.site-footer { padding:0 8%; border-top:1px solid rgba(77,125,142,.16); color:#74838c; background:#f6f8f7; }
.site-footer-main { display:grid; grid-template-columns:minmax(220px,1.1fr) minmax(0,1.7fr) minmax(155px,1.1fr) minmax(130px,.8fr); gap:32px; padding:42px 0 34px; }
.site-footer-brand { align-self:start; }
.site-footer-logo { display:inline-flex; flex-direction:column; gap:4px; color:#263c43; font-size:19px; font-weight:800; }
.site-footer-logo span { color:#73858a; font-size:9px; font-weight:600; }
.site-footer-brand p { margin-top:17px; color:#687a80; font-size:12px; line-height:1.9; }
.site-footer-contact { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:#397f91; font-size:11px; font-weight:700; }
.site-footer-column h2 { margin-bottom:14px; color:#334951; font-size:11px; font-weight:800; }
.site-footer-column ul { display:grid; gap:10px; list-style:none; }
.site-footer-column a { color:#6d7d82; font-size:11px; transition:color .2s; }
.site-footer-column a:hover { color:var(--teal); }
.site-footer-service-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px; }
.site-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:48px; border-top:1px solid rgba(77,125,142,.14); color:#7b898d; font-size:9px; }
.site-footer-meta { display:flex; align-items:center; gap:20px; }
.visit-counter b { margin-right:5px; color:#456d78; font:600 11px 'Fira Code','Consolas',monospace; letter-spacing:0; }

.background-audio-player { position:fixed; z-index:60; top:60px; left:32px; max-width:calc(100vw - 64px); }
.background-audio-toggle { position:relative; display:grid; width:60px; height:48px; place-items:center; border:0; color:#4a8894; background:transparent; cursor:pointer; filter:drop-shadow(0 3px 4px rgba(69,143,155,.2)); transition:filter .2s,transform .2s; }
.background-audio-toggle::before { position:absolute; inset:5px 3px 3px; background:linear-gradient(145deg,rgba(247,253,253,.99),rgba(207,231,235,.98)); content:''; -webkit-mask:radial-gradient(ellipse at 24% 62%,#000 0 21%,transparent 22%),radial-gradient(ellipse at 48% 39%,#000 0 32%,transparent 33%),radial-gradient(ellipse at 75% 58%,#000 0 25%,transparent 26%),linear-gradient(#000,#000) 19% 57%/63% 38% no-repeat; mask:radial-gradient(ellipse at 24% 62%,#000 0 21%,transparent 22%),radial-gradient(ellipse at 48% 39%,#000 0 32%,transparent 33%),radial-gradient(ellipse at 75% 58%,#000 0 25%,transparent 26%),linear-gradient(#000,#000) 19% 57%/63% 38% no-repeat; }
.background-audio-toggle:hover { color:#347b89; filter:drop-shadow(0 4px 6px rgba(69,143,155,.3)); transform:translateY(-1px); }
.background-audio-toggle:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.background-audio-toggle span { position:relative; z-index:1; margin-top:5px; font-size:13px; line-height:1; }

.index-popup { position:fixed; z-index:45; bottom:22px; left:22px; display:grid; width:min(360px,calc(100vw - 32px)); overflow:hidden; border:1px solid rgba(49,86,90,.22); border-radius:7px; background:#fff; box-shadow:0 14px 42px rgba(28,53,58,.2); animation:indexPopupEnter .45s cubic-bezier(.2,.8,.2,1) both; }
.index-popup[hidden] { display:none; }
.index-popup-heading { display:flex; min-height:40px; align-items:center; justify-content:space-between; padding:0 12px 0 14px; color:#344d50; background:#f1f5f2; font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1px; }
.index-popup-close { display:grid; width:28px; height:28px; place-items:center; border:0; color:#52666a; background:transparent; cursor:pointer; font-size:23px; line-height:1; }
.index-popup-image-link { display:block; }
.index-popup-image { display:block; width:100%; height:auto; max-height:70vh; object-fit:contain; background:#e7eeeb; }
.index-popup-empty { display:grid; min-height:194px; place-content:center; gap:12px; color:#49645b; background:linear-gradient(145deg,#e7f1e9,#f4eee2 58%,#dce9e4); text-align:center; }
.index-popup-empty span { font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:2px; }
.index-popup-empty p { font-size:18px; font-weight:600; line-height:1.55; }
.index-popup-footer { display:flex; min-height:42px; align-items:center; justify-content:space-between; gap:12px; padding:0 13px; border-top:1px solid rgba(49,86,90,.13); color:#62726e; font-size:10px; }
.index-popup-footer a { color:#367667; font-weight:700; }
.index-popup-today-dismiss { padding:8px 0; border:0; color:#62726e; background:transparent; cursor:pointer; font:inherit; white-space:nowrap; }
.index-popup-today-dismiss:hover { color:#344d50; text-decoration:underline; }
.index-popup-today-dismiss:focus-visible { outline:2px solid var(--teal); outline-offset:2px; }
.popup-admin-preview { display:block; width:100%; max-height:340px; margin-bottom:20px; border:1px solid var(--line); object-fit:contain; background:#f3f6f4; }
@keyframes indexPopupEnter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:600px) {
  .background-audio-player { left:18px; max-width:calc(100vw - 36px); }
  .index-popup { bottom:68px; left:12px; width:min(320px,calc(100vw - 24px)); }
  .index-popup-empty { min-height:168px; }
}

.service-page { --service-accent:#357b72; --service-tint:#edf5f1; --service-rule:rgba(53,123,114,.2); width:min(1240px,90%); min-height:calc(100vh - 170px); margin:0 auto; padding:28px 0 76px; }
.service-page--home-builder,.service-page--cafe-builder { --service-accent:#55775c; --service-tint:#f1f5ef; --service-rule:rgba(85,119,92,.22); }
.service-page--web-design,.service-page--page-builder { --service-accent:#357b72; --service-tint:#edf5f1; --service-rule:rgba(53,123,114,.2); }
.service-page--architect,.service-page--space-formation { --service-accent:#9b644d; --service-tint:#f8f2ee; --service-rule:rgba(155,100,77,.22); }
.service-page--publishing,.service-page--portal-builder { --service-accent:#74618b; --service-tint:#f4f1f7; --service-rule:rgba(116,97,139,.22); }
.service-page--server,.service-page--news-builder { --service-accent:#526f83; --service-tint:#f1f5f7; --service-rule:rgba(82,111,131,.22); }
.service-page--community-builder { --service-accent:#a05870; --service-tint:#faf2f4; --service-rule:rgba(160,88,112,.22); }
.service-subnav { display:flex; flex-wrap:wrap; align-items:center; gap:6px 19px; overflow:visible; padding:2px 0 7px; }
.service-subnav a { display:inline-flex; min-height:28px; flex:none; align-items:center; padding:2px 0; color:#68777d; font-size:11px; font-weight:500; white-space:nowrap; transition:color .2s; }
.service-subnav a:hover,.service-subnav a.is-active { color:var(--service-accent); }
.service-subnav a.is-active { font-weight:700; text-decoration:underline; text-decoration-color:var(--service-accent); text-decoration-thickness:1px; text-underline-offset:5px; }
.service-content { min-width:0; max-width:100%; padding-top:24px; }
.service-section-heading span,.service-note > span,.service-overview > div > span { color:var(--service-accent); font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.5px; }
.service-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:9px; color:#89969c; font-size:10px; }
.service-breadcrumb a:hover { color:var(--service-accent); }
.service-hero { max-width:960px; padding:30px 0 34px; border-bottom:1px solid var(--service-rule); }
.service-eyebrow { margin-bottom:12px; color:var(--service-accent); font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.6px; }
.service-hero h1 { max-width:820px; color:var(--ink); font-size:38px; font-weight:500; line-height:1.38; }
.service-lead { max-width:780px; margin-top:15px; color:#586875; font-size:15px; font-weight:300; line-height:1.9; }
.service-overview { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; padding:25px 0 26px; border-bottom:1px solid var(--service-rule); }
.service-overview h2,.service-list-section h2 { margin-top:6px; color:var(--ink); font-size:17px; font-weight:600; }
.service-overview p { max-width:800px; color:#586875; font-size:13px; line-height:1.9; }
.service-topic-section { padding-top:30px; }
.service-section-heading { display:flex; align-items:baseline; gap:14px; margin-bottom:15px; }
.service-section-heading h2 { margin:0; color:var(--ink); font-size:21px; font-weight:600; }
.service-topic-list { margin:0; padding:0; border-top:1px solid var(--service-rule); list-style:none; }
.service-topic-list li { margin:0; padding:0; border-bottom:1px solid var(--service-rule); }
.service-topic-item { display:grid; grid-template-columns:44px minmax(0,1fr) 58px; align-items:start; gap:12px; padding:18px 8px; color:#344c58; transition:background-color .2s; }
.service-topic-item:hover { background:linear-gradient(90deg,var(--service-tint),rgba(255,255,255,0)); }
.service-topic-number { padding-top:2px; color:var(--service-accent); font:500 11px 'Fira Code','Consolas',monospace; }
.service-topic-copy { display:grid; gap:5px; }
.service-topic-copy > span:first-child { color:var(--service-accent); font-size:10px; font-weight:700; }
.service-topic-copy strong { color:var(--ink); font-size:15px; font-weight:600; line-height:1.45; }
.service-topic-copy > span:last-child { max-width:800px; color:#6a7880; font-size:12px; line-height:1.75; }
.service-topic-action { padding-top:2px; color:var(--service-accent); font-size:10px; text-align:right; white-space:nowrap; }
.service-detail-copy { display:grid; gap:13px; max-width:840px; padding:25px 0 28px; }
.service-detail-copy p { color:#465b64; font-size:14px; line-height:2; }
.service-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; padding:0 0 28px; }
.service-list-section { min-width:0; padding:17px 0 0; border-top:1px solid var(--service-rule); }
.service-list-section .service-eyebrow { margin-bottom:0; }
.service-list-section h2 { margin:7px 0 15px; }
.service-list-section ul,.service-list-section ol { display:grid; gap:0; margin:0; padding:0; color:#586875; font-size:12px; line-height:1.7; list-style:none; counter-reset:service-item; }
.service-list-section li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:8px; padding:9px 0; border-top:1px solid rgba(77,125,142,.12); counter-increment:service-item; }
.service-list-section li::before { color:var(--service-accent); content:counter(service-item,decimal-leading-zero); font:10px 'Fira Code','Consolas',monospace; }
.service-back-link { display:inline-block; padding:8px 0; color:var(--service-accent); font-size:12px; font-weight:600; }
.service-back-link:hover { text-decoration:underline; }
.service-note { display:grid; grid-template-columns:180px minmax(0,1fr); gap:30px; margin-top:22px; padding:17px 0; border-top:1px solid var(--service-rule); }
.service-note p { color:#74838c; font-size:11px; line-height:1.8; }
.service-not-found { min-height:50vh; padding:42px; color:#586875; }
.service-not-found a { display:inline-block; margin-top:16px; color:var(--teal); }

.progress-admin-page { width:min(600px,calc(100% - 40px)); min-height:80vh; margin:0 auto; padding:48px 0 80px; }
.progress-admin-header { margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.progress-admin-header > a { color:var(--teal); font-size:11px; font-weight:600; }
.progress-admin-header p { margin-top:24px; color:#85949a; font:9px 'Fira Code','Consolas',monospace; letter-spacing:1.5px; }
.progress-admin-header h1 { margin-top:7px; color:var(--ink); font-size:28px; font-weight:500; }
.progress-admin-form { display:grid; gap:10px; }
.progress-admin-form label { display:flex; justify-content:space-between; gap:12px; margin-top:8px; color:#52656e; font-size:12px; font-weight:600; }
.progress-admin-form input:not([type="hidden"]):not([type="range"]),.progress-admin-form select { width:100%; min-height:42px; padding:9px 11px; border:1px solid var(--line); border-radius:5px; outline-color:var(--teal); color:var(--ink); background:#fff; }
.progress-admin-form input[type="range"] { width:100%; accent-color:var(--teal); }
.progress-admin-form progress { width:100%; height:4px; accent-color:var(--teal); }
.progress-admin-form button,.progress-admin-logout button { min-height:42px; padding:0 16px; border:0; border-radius:5px; color:#fff; background:var(--teal); cursor:pointer; font-size:12px; font-weight:600; }
.progress-admin-form button { margin-top:10px; }
.progress-stage-list { display:grid; gap:12px; margin-top:12px; }
.progress-stage-row { display:grid; gap:5px; padding:13px; border:1px solid var(--line); border-radius:6px; }
.progress-stage-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:3px; }
.progress-stage-title { color:var(--teal); font:600 10px 'Fira Code','Consolas',monospace; }
.progress-admin-form .progress-stage-heading button { min-height:28px; padding:0 9px; color:#8e5862; background:#fbf4f5; font-size:10px; }
.progress-admin-form .progress-stage-add { color:var(--teal); border:1px dashed rgba(57,127,145,.45); background:#f7fafb; }
.progress-admin-form .progress-stage-add:disabled { opacity:.45; cursor:not-allowed; }
.progress-stage-limit { color:#85939a; font-size:10px; }
.progress-admin-logout { margin-top:12px; }
.progress-admin-logout button { color:#62747c; background:#edf1f2; }
.progress-admin-error,.progress-admin-success { margin-bottom:16px; padding:11px 13px; border:1px solid var(--line); border-radius:5px; color:#586875; font-size:12px; }
.progress-admin-error { border-color:rgba(181,82,93,.28); color:#9c4651; background:#fff8f8; }
.progress-admin-success { color:#3f765a; background:#f5faf6; }

.board-page { width:min(1080px,calc(100% - 48px)); min-height:70vh; margin:0 auto; padding:48px 0 76px; }
.board-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 0 24px; border-bottom:1px solid var(--line); }
.board-heading-actions { display:flex; align-items:center; gap:8px; }
.board-eyebrow { margin-bottom:9px; color:var(--teal); font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.8px; }
.board-heading h1 { color:var(--ink); font-size:32px; font-weight:600; }
.board-heading p:last-child { margin-top:7px; color:var(--muted); font-size:13px; }
.board-primary,.board-secondary,.board-danger { display:inline-flex; min-height:40px; align-items:center; justify-content:center; padding:0 16px; border:1px solid transparent; border-radius:5px; cursor:pointer; font-size:12px; font-weight:600; transition:background-color .2s,border-color .2s,color .2s; }
.board-primary { color:#fff; background:#357b72; }
.board-primary:hover { background:#28675f; }
.board-secondary { border-color:#cfdbd6; color:#52675e; background:#fff; }
.board-secondary:hover { border-color:#8ba99b; background:#f4f8f5; }
.board-danger { color:#fff; background:#a34e5d; }
.board-danger:hover { background:#873d4a; }
.board-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:22px 0 14px; }
.board-search { display:flex; width:min(420px,100%); gap:7px; }
.board-search input,.board-form input,.board-form select,.board-form textarea,.board-delete-form input { width:100%; min-width:0; padding:11px 12px; border:1px solid #d5dfdc; border-radius:5px; outline-color:var(--teal); color:var(--ink); background:#fff; font:inherit; font-size:13px; }
.board-search button { min-width:76px; border:0; border-radius:5px; color:#fff; background:#496c66; cursor:pointer; font-size:12px; font-weight:600; }
.board-toolbar-side { display:flex; align-items:center; gap:14px; }
.board-count { flex:none; color:#788780; font-size:11px; }
.board-alert-controls { display:flex; align-items:center; gap:10px; }
.board-alert-toggle,.board-alert-interval { display:flex; align-items:center; gap:6px; color:#52675e; font-size:11px; white-space:nowrap; }
.board-alert-toggle { cursor:pointer; }
.board-alert-toggle input { width:15px; height:15px; margin:0; accent-color:#357b72; }
.board-alert-interval select { min-height:30px; padding:4px 22px 4px 7px; border:1px solid #d5dfdc; border-radius:4px; color:#354b43; background:#fff; font:inherit; }
.board-alert-status { color:#788780; font-size:10px; white-space:nowrap; }
.board-table-wrap { overflow-x:auto; border-top:2px solid #496c66; }
.board-table { width:100%; border-collapse:collapse; text-align:left; }
.board-table th { padding:13px 12px; color:#64766e; background:#f1f5f2; font-size:10px; font-weight:600; }
.board-table td { padding:16px 12px; border-bottom:1px solid #e5ebe7; color:#738078; font-size:12px; }
.board-table .board-number,.board-table .board-views { width:80px; text-align:center; }
.board-table .board-author { width:130px; }
.board-table .board-date { width:120px; white-space:nowrap; }
.board-title { color:#263b36; font-size:13px; font-weight:600; }
.board-title:hover { color:#357b72; }
.board-empty { padding:58px 16px; border-bottom:1px solid #e5ebe7; color:#77867f; text-align:center; font-size:13px; }
.board-pagination { display:flex; justify-content:center; gap:5px; margin-top:24px; }
.board-pagination a,.board-pagination span { display:grid; min-width:34px; height:34px; place-items:center; border:1px solid transparent; border-radius:4px; color:#62746c; font:11px 'Fira Code','Consolas',monospace; }
.board-pagination a:hover,.board-pagination .is-current { border-color:#cfdbd6; color:#28675f; background:#eef5f1; }
.board-alert { margin:18px 0; padding:12px 14px; border:1px solid #e7c8c9; border-radius:5px; color:#914652; background:#fff7f6; font-size:12px; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.board-form { display:grid; max-width:760px; gap:17px; margin:28px auto 0; }
.board-login-form { max-width:440px; }
.board-form label,.board-delete-form label { display:grid; gap:7px; color:#52645d; font-size:12px; font-weight:600; }
.board-form input,.board-form select { min-height:44px; }
.board-form textarea { min-height:280px; resize:vertical; font-size:14px; font-weight:300; line-height:1.95; }
.board-form-help { color:#7b8982; font-size:11px; font-weight:400; line-height:1.6; }
.board-form-actions { display:flex; justify-content:flex-end; gap:8px; padding-top:8px; }
.board-post { margin-top:28px; }
.board-post-header { padding:0 0 18px; border-bottom:1px solid #dce5e0; }
.board-post-header h2 { color:#253a34; font-size:24px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.board-post-meta { display:flex; flex-wrap:wrap; gap:7px 16px; margin-top:10px; color:#7a8981; font-size:11px; }
.board-post-content { min-height:220px; padding:28px 4px 36px; color:#35463f; font-size:14px; line-height:1.95; overflow-wrap:anywhere; }
.board-post-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:8px; padding:18px 0; border-top:1px solid #e2e9e5; }
.sector-board-toolbar { display:flex; justify-content:flex-end; margin:20px 0 8px; }
.sector-post-list { list-style:none; border-top:2px solid #496c66; }
.sector-post-list li { border-bottom:1px solid #e5ebe7; }
.sector-post-link { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:13px 8px; color:inherit; }
.sector-post-title { color:#263b36; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.sector-post-link:hover .sector-post-title { color:#357b72; }
.sector-post-details { display:flex; flex:none; gap:13px; color:#7a8981; font-size:10px; white-space:nowrap; }
.sector-board-page .board-empty { border:0; }
.sector-login { max-width:500px; margin:30px auto 0; }
.sector-login h2 { color:#304640; font-size:20px; }
.sector-login .board-form { margin-top:20px; }
.sector-board-form { max-width:860px; }
.sector-board-form textarea { min-height:360px; }
.sector-existing-files { display:grid; gap:9px; padding:14px 16px; border:1px solid #d5dfdc; border-radius:5px; }
.sector-existing-files legend { padding:0 6px; color:#52645d; font-size:12px; font-weight:600; }
.sector-existing-files label { display:flex; grid-template-columns:none; align-items:center; gap:8px; font-size:12px; font-weight:400; }
.sector-existing-files input[type="checkbox"] { width:16px; min-height:16px; margin:0; padding:0; accent-color:#357b72; }
.sector-post { margin-top:28px; }
.sector-post-header { padding:0 0 18px; border-bottom:1px solid #dce5e0; }
.sector-post-header h2 { color:#253a34; font-size:25px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.sector-post-images { display:grid; gap:18px; padding:24px 4px 0; }
.sector-post-images figure { display:grid; justify-items:start; gap:7px; margin:0; }
.sector-post-images img { display:block; width:min(100%,880px); max-height:760px; object-fit:contain; object-position:left center; border-radius:4px; background:#f3f6f6; }
.sector-post-images figcaption { color:#7a8981; font-size:11px; overflow-wrap:anywhere; }
.sector-post .board-post-content { white-space:pre-wrap; }
.sector-post-files { padding:18px 4px 8px; border-top:1px solid #e2e9e5; }
.sector-post-files h3 { margin-bottom:10px; color:#52645d; font-size:12px; }
.sector-post-files ul { display:grid; gap:7px; list-style:none; }
.sector-post-files a { display:flex; width:fit-content; align-items:center; gap:9px; color:#397f91; font-size:12px; overflow-wrap:anywhere; }
.sector-post-files a:hover { text-decoration:underline; }
.sector-post-files small { color:#87969a; font-size:10px; }
.notice-page .board-toolbar { margin-top:20px; }
.notice-board-list { margin-top:10px; }
.notice-board-link { grid-template-columns:90px minmax(0,1fr); min-height:50px; padding-inline:6px; }
.notice-post .board-post-content { white-space:normal; }
.board-logout { margin:0; }
.board-delete { margin-left:auto; }
.board-delete summary { padding:11px 4px; color:#9a5962; cursor:pointer; font-size:11px; }
.board-delete-form { display:flex; align-items:flex-end; gap:7px; }
.board-delete-form label { width:180px; }
.board-delete-form input { min-height:38px; padding:8px 10px; }
.board-back-link { display:inline-block; margin-top:12px; color:#39786e; font-size:12px; font-weight:600; }
.board-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.board-not-found { padding:64px 12px; color:#65766e; text-align:center; }
.faq-page { max-width:940px; }
.faq-page .board-heading { padding-bottom:22px; }
.faq-count { margin:20px 0 11px; color:#397f91; font:600 10px 'Fira Code','Consolas',monospace; }
.faq-list { display:grid; gap:8px; margin-top:12px; counter-reset:faq-number; }
.faq-entry { overflow:hidden; border:1px solid rgba(57,127,145,.17); border-left:3px solid #5b938c; border-radius:6px; background:rgba(255,255,255,.9); counter-increment:faq-number; transition:border-color .2s,background-color .2s; }
.faq-entry[open] { border-color:rgba(57,127,145,.34); background:#fff; }
.faq-entry summary { display:flex; align-items:center; gap:12px; padding:16px 17px 16px 14px; color:#293d37; cursor:pointer; font-size:14px; font-weight:600; line-height:1.6; list-style:none; }
.faq-entry summary::-webkit-details-marker { display:none; }
.faq-entry summary::before { flex:none; color:#397f91; content:'Q' counter(faq-number, decimal-leading-zero); font:600 10px/1.8 'Fira Code','Consolas',monospace; }
.faq-entry summary::after { flex:none; margin-left:auto; color:#5b938c; content:'+'; font:300 21px/1 'Pretendard','Malgun Gothic',sans-serif; }
.faq-entry[open] summary::after { content:'-'; }
.faq-entry summary:focus-visible { outline:2px solid var(--teal); outline-offset:-3px; }
.faq-answer { margin:0 17px 16px 43px; padding:13px 15px; border-left:2px solid #c9ddd9; color:#586b63; background:#f3f8f7; font-size:13px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.faq-entry-actions { display:flex; justify-content:flex-end; gap:7px; padding:0 15px 15px; }
.faq-entry-actions form { margin:0; }
.faq-entry-actions .board-secondary,.faq-entry-actions .board-danger { min-height:32px; padding:0 11px; font-size:11px; }
.faq-empty { margin-top:10px; border-top:0; }

.qna-widget { position:fixed; z-index:1000; right:24px; bottom:20px; color:#243b4a; font-family:inherit; }
.qna-launcher { display:flex; min-height:48px; align-items:center; gap:10px; padding:0 16px; border:1px solid #c8d9e4; border-radius:6px; color:#304f63; background:#fff; box-shadow:0 8px 26px rgba(30,62,84,.16); cursor:pointer; font-size:12px; font-weight:600; transition:border-color .2s,transform .2s,box-shadow .2s; }
.qna-launcher:hover { border-color:#6298b7; box-shadow:0 10px 30px rgba(30,62,84,.2); transform:translateY(-1px); }
.qna-launcher span:first-child { color:#2d78a8; font:700 11px 'Fira Code','Consolas',monospace; }
.qna-panel[hidden] { display:none; }
.qna-panel { position:absolute; right:0; bottom:60px; display:grid; width:min(380px,calc(100vw - 32px)); max-height:min(620px,calc(100dvh - 104px)); grid-template-rows:auto minmax(120px,1fr) auto; overflow:hidden; border:1px solid #d4e0e8; border-radius:8px; background:#fff; box-shadow:0 18px 52px rgba(28,54,72,.2); animation:qnaPanelIn .18s ease-out both; }
.qna-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:17px 18px 15px; border-bottom:1px solid #e5edf2; background:#fff; }
.qna-panel-header p { margin-bottom:6px; color:#4b87a8; font:700 9px 'Fira Code','Consolas',monospace; letter-spacing:1.2px; }
.qna-panel-header h2 { color:#243b4a; font-size:17px; font-weight:600; }
.qna-close { flex:none; padding:5px 0 5px 8px; border:0; color:#617581; background:transparent; cursor:pointer; font-size:11px; }
.qna-close:hover { color:#2d78a8; }
.qna-thread { display:flex; min-height:120px; flex-direction:column; gap:10px; overflow-y:auto; padding:16px 14px; background:#f7fafc; }
.qna-message { max-width:88%; margin:0; padding:10px 12px; border:1px solid #e0e9ee; border-radius:5px 12px 12px 12px; color:#344d5b; background:#fff; font-size:12px; line-height:1.7; overflow-wrap:anywhere; white-space:pre-wrap; }
.qna-message-outgoing { align-self:flex-end; border-color:#d4e5ef; border-radius:12px 5px 12px 12px; background:#eaf4f9; }
.qna-message-incoming { align-self:flex-start; }
.qna-message-link { display:inline-block; margin-top:5px; color:#2d78a8; font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.qna-message-link:hover { color:#205d82; }
.qna-form { display:grid; gap:7px; padding:13px 14px 14px; border-top:1px solid #e5edf2; background:#fff; }
.qna-form label { color:#526775; font-size:10px; font-weight:600; }
.qna-form input:not([type="hidden"]),.qna-form textarea { width:100%; min-width:0; padding:9px 10px; border:1px solid #d7e2e8; border-radius:4px; outline-color:#5a94b3; color:#263f4e; background:#fff; font:inherit; font-size:12px; }
.qna-form input:not([type="hidden"]) { min-height:37px; }
.qna-form textarea { min-height:78px; max-height:150px; resize:vertical; line-height:1.65; }
.qna-form input::placeholder,.qna-form textarea::placeholder { color:#9aaab3; }
.qna-form-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; margin-top:2px; }
.qna-form-footer p { margin:0; color:#778994; font-size:9px; line-height:1.5; }
.qna-send { min-height:36px; padding:0 13px; border:1px solid #2d78a8; border-radius:4px; color:#fff; background:#2d78a8; cursor:pointer; font-size:11px; font-weight:600; }
.qna-send:hover { border-color:#205d82; background:#205d82; }
.qna-send:disabled { opacity:.58; cursor:wait; }
.qna-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@keyframes qnaPanelIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }

@keyframes riseUp { from { transform:translateY(110%); } to { transform:translateY(0); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:none; } }
@keyframes barGrow { to { width:88px; } }
@keyframes progressSheen { 0%,20% { background-position:-180px 0,0 0; } 75%,100% { background-position:calc(100% + 180px) 0,0 0; } }
@keyframes blink { 50% { opacity:.2; } }
@keyframes terminalIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes scanline { to { background-position:0 80px; } }
@keyframes cloudFlow { 0% { transform:translate3d(0,0,0); } 50% { transform:translate3d(calc(-50vw - 40px),-12px,0); } 100% { transform:translate3d(calc(-100vw - 200px),0,0); } }
@keyframes sunBob { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }

@media (max-width:1000px) {
  .site-nav { gap:12px; font-size:11px; }
  .mission { gap:30px; }
  .mission h2 { font-size:32px; }
  .terminal { height:360px; }
}
@media (max-width:760px) {
  .site-header { padding:11px 18px; }
  .notice-roll-window { margin-top:14px; }
  .notice-preview-list { gap:8px; }
  .notice-preview-list li { max-width:calc((100% - 16px)/3); }
  .notice-preview-list a { gap:2px; font-size:10px; }
  .notice-preview-number,.notice-preview-author { font-size:9px; }
  .notice-preview-list time { font-size:8px; }
  .site-footer { padding-inline:6%; }
  .site-footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 22px; padding:34px 0 28px; }
  .site-footer-brand { grid-column:1 / -1; }
  .site-footer-service-list { column-gap:12px; }
  .site-footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; gap:8px; padding:13px 0; }
  .site-footer-meta { flex-wrap:wrap; gap:8px 16px; }
  .site-nav { display:none; }
  .header-tools { gap:8px; }
  .header-tools .production-header-link { display:inline-flex; min-height:28px; align-items:center; }
  .header-tools .notice-header-link { display:inline-flex; min-height:28px; align-items:center; }
  .faq-header-link { display:inline-flex; min-height:28px; align-items:center; color:#52675e; font-weight:600; }
  .qa-header-link { display:inline-flex; min-height:28px; align-items:center; justify-content:center; padding:0 8px; border:1px solid rgba(53,123,114,.42); border-radius:4px; color:#28675f; background:#eef5f1; font-weight:700; }
  .hero { min-height:280px; padding:46px 16px 0; }
  .hero-cloud { width:68px; height:28px; }
  .hero-cloud-one { top:10px; right:-80px; left:auto; }
  .hero-cloud-two { top:auto; right:-80px; bottom:12px; left:auto; width:68px; height:28px; }
  .hero-cloud-three { display:none; }
  .hero-cloud-four { top:39%; right:-90px; left:auto; width:76px; height:48px; }
  .hero > .hero-sun { top:8px; right:9px; width:42px; height:42px; }
  .hero h1 { font-size:24px; line-height:1.55; }
  .eyebrow { letter-spacing:2px; }
  .mission { grid-template-columns:1fr; gap:28px; padding:36px 6% 38px; }
  .mission-label { display:none; }
  .mission h2 { font-size:26px; }
  .terminal { height:340px; }
  .tiles { gap:8px; }
  .tile { width:calc(50% - 4px); }
  .links-section { padding:30px 6% 40px; }
  .production-latest { padding:34px 6% 10px; }
  .builder-pricing { padding:27px 6% 23px; }
  .builder-pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .builder-pricing-grid .builder-plan-card:last-child { grid-column:1 / -1; }
  .builder-pricing-heading { align-items:flex-start; flex-direction:column; gap:5px; }
  .section-progress { padding:11px 6%; }
  .section-progress-inner { gap:10px; }
  .section-progress-stages { gap:2px; }
  .section-progress-stages li { flex-direction:column; gap:3px; font-size:9px; }
  .section-progress-stages li span { font-size:8px; }
  .section-progress-controls { grid-template-columns:minmax(0,1fr) 42px 30px; gap:8px; }
  .progress-settings { width:29px; height:29px; }
  .service-page { width:88%; padding:22px 0 50px; }
  .service-subnav { gap:5px 14px; margin:0; padding-bottom:5px; }
  .service-subnav a { min-height:27px; font-size:10px; }
  .service-content { max-width:none; padding-top:18px; }
  .service-hero { padding:23px 0; }
  .service-hero h1 { font-size:28px; }
  .service-lead { font-size:14px; }
  .service-overview { grid-template-columns:1fr; gap:8px; padding:20px 0; }
  .service-topic-section { padding-top:23px; }
  .service-topic-item { grid-template-columns:30px minmax(0,1fr) 44px; gap:8px; padding:15px 2px; }
  .service-topic-copy strong { font-size:14px; }
  .service-detail-grid { grid-template-columns:1fr; gap:24px; }
  .service-note { grid-template-columns:1fr; gap:8px; }
  .service-detail-grid { grid-template-columns:1fr; gap:12px; }
  .service-note { grid-template-columns:1fr; gap:8px; }
  .board-page { width:calc(100% - 36px); padding:32px 0 54px; }
  .board-heading { align-items:flex-start; }
  .board-heading-actions { flex-wrap:wrap; justify-content:flex-end; }
  .board-heading h1 { font-size:27px; }
  .sector-post-link { align-items:flex-start; flex-direction:column; gap:7px; }
  .production-latest-heading h2 { font-size:20px; }
  .production-latest-heading h2 small { display:block; margin:3px 0 0; font-size:11px; }
  .production-latest-actions { justify-content:flex-start; }
  .production-latest-items li { grid-template-columns:24px minmax(0,1fr) auto; gap:3px 7px; min-height:50px; padding-inline:4px; }
  .production-latest-index { grid-column:1; grid-row:1 / span 2; }
  .production-latest-title { grid-column:2 / 4; grid-row:1; }
  .production-latest-state { grid-column:2; grid-row:2; }
  .production-latest-items time { grid-column:3; grid-row:2; }
  .production-board-header { align-items:flex-start; flex-direction:column; gap:17px; }
  .production-board-header h1 { font-size:27px; }
  .production-board-actions { flex-wrap:wrap; }
  .production-order-facts { grid-template-columns:1fr; }
  .production-order-facts > div { grid-template-columns:110px minmax(0,1fr); }
  .production-board-flow { margin:18px 0 24px; }
  .production-board-flow-step { min-height:48px; flex-direction:column; gap:3px; font-size:10px; }
  .production-board-flow-number { font-size:8px; }
  .production-request-item { grid-template-columns:28px minmax(0,1fr); gap:8px; padding-inline:4px; }
  .production-request-index { grid-column:1; grid-row:1 / span 2; }
  .production-request-item-main { grid-column:2; grid-template-columns:1fr; gap:6px; }
  .production-request-item-meta { justify-content:space-between; }
  .production-request-item .production-status-form { grid-column:2; justify-content:flex-end; padding-top:4px; }
  .production-status-form--detail { flex-wrap:wrap; }
  .production-status-form--detail .production-admin-control-label { flex-basis:100%; }
  .production-status-form--detail select { flex:1; }
  .sector-post-header h2 { font-size:21px; }
  .sector-board-form textarea { min-height:280px; }
  .board-toolbar { align-items:flex-start; flex-direction:column-reverse; }
  .board-toolbar-side { width:100%; flex-wrap:wrap; justify-content:space-between; gap:8px; }
  .board-alert-status { flex-basis:100%; text-align:right; }
  .board-search { width:100%; }
  .board-table th,.board-table td { padding:12px 8px; }
  .board-table .board-number,.board-table .board-views { width:52px; }
  .board-table .board-author { width:80px; }
  .board-table .board-date { width:86px; }
  .board-table .board-views,.board-table th:nth-child(5) { display:none; }
  .board-post-header h2 { font-size:21px; }
  .board-delete { width:100%; margin-left:0; }
  .board-delete-form label { flex:1; width:auto; }
  .links-grid { width:100%; grid-auto-columns:clamp(230px,76vw,320px); gap:10px; }
  .links-controls { width:100%; }
  .platform-logos-heading { margin:20px 0 10px; }
  .platform-logos { width:100%; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
  .platform-logo { height:44px; }
  .link-card { min-height:218px; }
  .link-name { font-size:12px; }
  .site-footer { padding-inline:6%; }
}
@media (max-width:440px) {
  .builder-pricing-grid { grid-template-columns:1fr; }
  .builder-pricing-grid .builder-plan-card:last-child { grid-column:auto; }
  .builder-plan-description { min-height:0; }
  .board-heading { gap:12px; }
  .board-heading h1 { font-size:24px; }
  .board-heading > .board-primary { min-height:36px; padding:0 11px; font-size:11px; }
  .board-table .board-author,.board-table th:nth-child(3) { display:none; }
  .board-table .board-date { width:78px; font-size:10px; }
  .board-delete-form { align-items:stretch; flex-direction:column; }
  .qna-widget { right:12px; bottom:12px; }
  .qna-launcher { min-height:44px; padding:0 13px; }
  .qna-panel { bottom:54px; width:calc(100vw - 24px); max-height:calc(100dvh - 82px); }
  .qna-panel-header { padding:14px 15px 12px; }
  .qna-thread { padding:13px 12px; }
  .qna-form { padding:11px 12px 12px; }
  .links-grid { grid-auto-columns:clamp(235px,82vw,320px); }
  .link-card { min-height:220px; }
  .header-tools { gap:7px; font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
