:root,html[data-theme=light]{--bg:#f7f7f6;--panel:#ffffff;--panel-alt:#fbfbfa;--text:#161616;--text-strong:#111111;--body-text:#262626;--muted:#737373;--muted-strong:#555553;--line:#e6e6e3;--line-strong:#d8d8d4;--soft:#f2f2ef;--surface-hover:#fcfcfb;--accent:#222a36;--accent-contrast:#ffffff;--accent-soft:#eef1f5;--blue:#2876f0;--link:#135fc5;--control-bg:#ffffff;--control-text:#333333;--shadow:0 8px 24px rgba(0,0,0,.025);--code-inline-bg:#f5f6f8;--code-inline-border:#e3e5e8;--code-inline-text:#c02b47;--code-block-bg:#171b22;--code-block-border:#202630;--code-block-text:#edf1f7;--blockquote-bg:#f6f7f8;--blockquote-text:#525861;--tag-bg:#f7f9fb;--tag-border:#dfe3e8;--tag-text:#4d5f73;--tag-hover:#eef3f8;--theme-track:#eceff3;--theme-active:#ffffff;--theme-icon:#5d6470;--theme-active-icon:#1f5fd0;color-scheme:light}html[data-theme=dark]{--bg:#101216;--panel:#181b20;--panel-alt:#15181d;--text:#eceff4;--text-strong:#ffffff;--body-text:#dde2ea;--muted:#969da8;--muted-strong:#b2b8c2;--line:#2a2f37;--line-strong:#3a414c;--soft:#20242b;--surface-hover:#1d2127;--accent:#e6eaf0;--accent-contrast:#111319;--accent-soft:#26303e;--blue:#6ca8ff;--link:#7eb3ff;--control-bg:#15181d;--control-text:#e7ebf0;--shadow:0 10px 30px rgba(0,0,0,.22);--code-inline-bg:#222731;--code-inline-border:#353d49;--code-inline-text:#ff8aa2;--code-block-bg:#0e1116;--code-block-border:#303744;--code-block-text:#edf1f7;--blockquote-bg:#20252d;--blockquote-text:#c2c8d1;--tag-bg:#202731;--tag-border:#343d49;--tag-text:#b9c9dd;--tag-hover:#283240;--theme-track:#222831;--theme-active:#343c48;--theme-icon:#9aa4b1;--theme-active-icon:#ffd166;color-scheme:dark}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--bg)}body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;color:var(--text);transition:background-color .18s ease,color .18s ease}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.page-shell{width:min(1080px,calc(100% - 32px));margin:0 auto;min-height:100vh;padding:40px 0 36px}.site-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:0 2px 18px}.brand-wrap{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-icon{width:48px;height:48px;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand{font-size:clamp(28px,3.6vw,44px);font-weight:800;letter-spacing:-1.8px;line-height:1;white-space:nowrap}.tagline{margin-top:7px;color:var(--muted);font-size:12px}.header-tools{justify-content:flex-end;gap:14px;min-width:0;padding-bottom:2px}.header-tools,.service-links{display:flex;align-items:center}.service-links{gap:13px;white-space:nowrap;font-size:12px;color:var(--muted-strong)}.admin-link:hover,.service-links a:hover{text-decoration:underline}.header-search{display:flex;align-items:center;height:34px;border:1px solid var(--line-strong);background:var(--control-bg)}.header-search button{width:34px;height:32px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--muted-strong);cursor:pointer}.header-search button:hover{background:var(--soft)}.header-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.header-search input{width:170px;height:32px;padding:0 10px 0 2px;border:0;outline:none;background:transparent;font-size:12px;color:var(--control-text)}.header-search input::placeholder{color:var(--muted)}.admin-link{white-space:nowrap;font-size:12px;color:var(--muted-strong)}.theme-toggle{display:inline-flex;align-items:center;height:34px;padding:3px;border:1px solid var(--line-strong);border-radius:17px;background:var(--theme-track);box-shadow:inset 0 1px 1px rgba(0,0,0,.04)}.theme-toggle button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--theme-icon);cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease}.theme-toggle button:hover{color:var(--text)}.theme-toggle button.active{background:var(--theme-active);color:var(--theme-active-icon);box-shadow:0 1px 5px rgba(0,0,0,.14)}.theme-toggle svg{width:20px;height:20px;fill:currentColor}.board-card,.post-card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.category-nav{display:flex;align-items:center;overflow-x:auto;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--panel-alt);scrollbar-width:none}.category-nav::-webkit-scrollbar{display:none}.category-nav a{padding:15px 17px;font-size:13px;color:var(--muted-strong);border-right:1px solid var(--line)}.category-nav a.active{font-weight:700;color:var(--text-strong);background:var(--control-bg)}.category-nav a:hover{background:var(--soft)}.board-head,.post-row{display:grid;grid-template-columns:80px 110px minmax(0,1fr) 110px;align-items:center}.board-head{min-height:42px;padding:0 18px;font-size:12px;font-weight:700;color:var(--muted);background:var(--soft);border-bottom:1px solid var(--line)}.board-head span:first-child,.board-head span:last-child,.board-head span:nth-child(2){text-align:center}.post-row{min-height:52px;padding:0 18px;border-bottom:1px solid var(--line);font-size:14px}.post-row:hover{background:var(--surface-hover)}.post-category,.post-date,.post-no{color:var(--muted);text-align:center;font-size:12px}.post-title{min-width:0;padding:14px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-title:hover{text-decoration:underline}.attachment{margin-left:7px;color:var(--muted);font-size:11px}.pagination{display:flex;justify-content:center;gap:4px;padding:24px 16px 14px}.pagination .page-item>a,.pagination>a{display:inline-grid;place-items:center;min-width:32px;height:32px;border:1px solid var(--line);background:var(--control-bg);color:var(--muted-strong)}.pagination a:hover:not(.disabled){background:var(--soft)}.pagination a.selected{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.pagination a.disabled{opacity:.35;pointer-events:none}.page-item{display:inline-flex;gap:4px}.page-gap{display:inline-grid;place-items:center;width:24px;color:var(--muted)}.pagination-spacer{height:18px}.board-summary{min-height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.board-summary strong{color:var(--muted-strong);font-weight:700}.empty-state{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:24px;color:var(--muted);border-bottom:1px solid var(--line)}.empty-state strong{color:var(--muted-strong);font-size:14px}.empty-state span{font-size:12px}.search-box{display:flex;justify-content:center;gap:6px;padding:8px 16px 26px}.search-box button,.search-box input,.search-box select{height:38px;border:1px solid var(--line-strong);background:var(--control-bg)}.search-box select{padding:0 28px 0 10px;color:var(--muted-strong)}.search-box input{width:min(420px,50vw);padding:0 12px;outline:none}.search-box input:focus{border-color:var(--muted)}.search-box button{padding:0 18px;background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);cursor:pointer}.site-footer{display:flex;justify-content:center;padding:20px 2px 0;font-size:11px;color:var(--muted);text-align:center}.copyright-owner{color:var(--muted-strong);font-weight:700}.copyright-owner:hover{text-decoration:underline}.post-card{overflow:hidden}.post-breadcrumb{display:flex;gap:8px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--panel-alt);color:var(--muted);font-size:12px}.post-breadcrumb a:hover{color:var(--control-text);text-decoration:underline}.post-header{padding:30px 34px 24px;border-bottom:1px solid var(--line)}.post-category-label{color:var(--muted-strong);font-size:12px;font-weight:700}.post-header h1{margin:9px 0 18px;font-size:clamp(24px,4vw,36px);line-height:1.35;letter-spacing:-1px}.post-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:11px}.post-content{padding:34px;min-height:280px}.markdown-body{font-size:15px;line-height:1.82;color:var(--body-text);word-break:keep-all;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text-strong);line-height:1.45;letter-spacing:-.4px}.markdown-body h1{margin:34px 0 16px;font-size:28px}.markdown-body h2{margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);font-size:23px}.markdown-body h3{margin:28px 0 12px;font-size:19px}.markdown-body h4{margin:24px 0 10px;font-size:16px}.markdown-body p{margin:0 0 18px}.markdown-body strong{font-weight:750}.markdown-body em{color:var(--muted-strong)}.markdown-body a{color:var(--link);text-decoration:underline;text-underline-offset:2px}.markdown-body code:not(.markdown-pre code){padding:2px 5px;border:1px solid var(--code-inline-border);border-radius:4px;background:var(--code-inline-bg);color:var(--code-inline-text);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9em}.markdown-pre{margin:18px 0 22px;padding:18px 20px;overflow-x:auto;border:1px solid var(--code-block-border);border-radius:5px;background:var(--code-block-bg);color:var(--code-block-text);line-height:1.65}.markdown-pre code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;white-space:pre}.markdown-body blockquote{margin:20px 0;padding:12px 18px;border-left:4px solid #9aa8bb;background:var(--blockquote-bg);color:var(--blockquote-text)}.markdown-body ol,.markdown-body ul{margin:12px 0 20px;padding-left:25px}.markdown-body li{margin:5px 0}.markdown-body hr{margin:30px 0;border:0;border-top:1px solid var(--line)}.markdown-table-wrap{width:100%;overflow-x:auto;margin:18px 0 24px}.markdown-body table{width:100%;border-collapse:collapse;min-width:520px;font-size:13px}.markdown-body td,.markdown-body th{padding:10px 12px;border:1px solid var(--line-strong);text-align:left;vertical-align:top}.markdown-body th{background:var(--soft);font-weight:700}.markdown-image{display:block;max-width:100%;height:auto;margin:18px auto;border:1px solid var(--line)}.post-tags{display:flex;flex-wrap:wrap;gap:7px;padding:0 34px 28px}.post-tags a,.post-tags span{padding:6px 9px;border:1px solid var(--tag-border);border-radius:4px;background:var(--tag-bg);color:var(--tag-text);font-size:11px}.post-tags a:hover{background:var(--tag-hover)}.attachment-panel{margin:0 34px 28px;border:1px solid var(--line)}.attachment-title{padding:10px 13px;border-bottom:1px solid var(--line);background:var(--soft);font-size:12px;font-weight:700}.attachment-pending{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 10px;gap:3px 10px;align-items:center;padding:13px;color:var(--muted-strong);font-size:12px}.attachment-file-icon{grid-row:1/3;color:var(--muted)}.attachment-pending small{color:var(--muted);font-size:10px}.adjacent-posts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.adjacent-posts>div{display:grid;grid-template-columns:82px minmax(0,1fr);grid-gap:12px;gap:12px;padding:13px 24px;font-size:12px}.adjacent-posts>div+div{border-top:1px solid var(--line)}.adjacent-label{color:var(--muted);font-weight:700}.adjacent-posts a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adjacent-posts a:hover{text-decoration:underline}.adjacent-empty{color:var(--muted)}.post-actions{display:flex;justify-content:center;padding:22px}.list-button{display:inline-grid;place-items:center;min-width:86px;height:36px;border:1px solid var(--line-strong);background:var(--control-bg);font-size:12px}.list-button:hover{background:var(--soft)}.admin-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-panel{width:min(620px,100%);background:var(--control-bg);border:1px solid var(--line);padding:36px}.eyebrow{font-size:11px}.admin-panel h1{margin:8px 0 12px;font-size:30px}.admin-panel p{margin:0;color:var(--muted-strong);line-height:1.7}.admin-status{margin:26px 0;border-top:1px solid var(--line)}.admin-status div{display:grid;grid-template-columns:100px 1fr;grid-gap:12px;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.admin-status span{color:var(--muted-strong)}.back-link{display:inline-block;margin-top:6px;font-size:13px;text-decoration:underline}html[data-theme=dark] .markdown-image{background:#ffffff}html[data-theme=dark] .header-search input::placeholder{color:#737b87}html[data-theme=dark] .pagination a.selected,html[data-theme=dark] .search-box button{color:#111319}html[data-theme=dark] .category-nav a.active{background:var(--panel)}@media (max-width:900px){.site-header{align-items:center}.header-tools{flex-wrap:wrap;gap:9px 12px}.service-links{order:1}.header-search{order:2}.theme-toggle{order:3}.admin-link{order:4}.header-search input{width:145px}}@media (max-width:720px){.page-shell{width:min(100% - 20px,1080px);padding-top:24px}.site-header{align-items:flex-start;flex-direction:column;gap:14px}.brand-icon{width:42px;height:42px}.tagline{display:none}.header-tools{width:100%;justify-content:flex-start}.header-search{margin-left:auto}.category-nav a{padding:13px 14px}.desktop-only{display:none!important}.post-row{grid-template-columns:auto 1fr auto;grid-template-areas:"category title date";gap:8px;padding:0 12px;min-height:58px}.post-category{grid-area:category;color:var(--text);background:var(--accent-soft);padding:4px 7px;border-radius:4px;white-space:nowrap}.post-title{grid-area:title;padding:18px 0;font-size:13px}.post-date{grid-area:date;font-size:10px;white-space:nowrap}.search-box{display:grid;grid-template-columns:92px 1fr auto;padding:8px 12px 20px}.search-box input{width:100%;min-width:0}.post-header{padding:24px 20px 20px}.post-content{padding:26px 20px}.post-tags{padding:0 20px 24px}.attachment-panel{margin:0 20px 24px}.markdown-body{font-size:14px;word-break:normal}}@media (max-width:520px){.brand{font-size:30px}.service-links{width:100%;font-size:11px}.header-search{margin-left:0;flex:1 1 190px}.header-search input{width:100%;min-width:0}.admin-link{margin-left:auto}.post-row{grid-template-columns:auto 1fr;grid-template-areas:"category date" "title title";padding:10px 12px;row-gap:6px}.post-category{justify-self:start}.post-date{justify-self:end}.post-title{padding:0;white-space:normal;line-height:1.45}.search-box{grid-template-columns:1fr auto}.search-box select{grid-column:1/-1}.post-breadcrumb{padding:12px 16px}.post-meta{flex-direction:column;gap:4px}.adjacent-posts>div{grid-template-columns:62px minmax(0,1fr);padding:12px 16px}.markdown-body h2{font-size:20px}}.auth-shell{display:grid;place-items:center;min-height:520px;padding:56px 0 42px}.auth-card{width:min(460px,100%);padding:34px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.eyebrow{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:1.6px}.auth-card h1{margin:8px 0;font-size:28px;letter-spacing:-.6px}.auth-description{margin:0 0 24px;color:var(--muted-strong);font-size:13px;line-height:1.7}.auth-form{display:grid;grid-gap:15px;gap:15px}.auth-form label{display:grid;grid-gap:7px;gap:7px}.auth-form label>span{color:var(--muted-strong);font-size:12px;font-weight:700}.auth-form input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--control-text);outline:none}.auth-form input:focus{border-color:var(--muted);box-shadow:0 0 0 2px var(--accent-soft)}.admin-logout,.auth-form button{min-height:40px;padding:0 18px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;font-weight:700}.auth-form button{margin-top:3px}.admin-logout:hover,.auth-form button:hover{opacity:.9}.auth-notice{margin:0 0 18px;padding:11px 13px;border:1px solid var(--line-strong);font-size:12px;line-height:1.55}.auth-notice.error{background:color-mix(in srgb,#d63638 8%,var(--panel));border-color:color-mix(in srgb,#d63638 35%,var(--line))}.auth-notice.success{background:color-mix(in srgb,#248a3d 8%,var(--panel));border-color:color-mix(in srgb,#248a3d 35%,var(--line))}.auth-security-note{display:grid;grid-gap:6px;gap:6px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;line-height:1.6}.auth-security-note strong{color:var(--muted-strong)}.admin-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.admin-heading-row p{margin-top:0}.admin-logout{min-height:36px;font-size:12px;white-space:nowrap}.admin-next-card{margin-top:22px;padding:18px 20px;border:1px solid var(--line);background:var(--panel-alt)}.admin-next-card strong{font-size:13px}.admin-next-card p{margin:7px 0 0;font-size:12px}@media (max-width:620px){.auth-shell{min-height:0;padding:28px 0 20px}.auth-card{padding:24px 20px}.admin-heading-row{flex-direction:column}.admin-logout{width:100%}}.auth-field{display:grid;grid-gap:7px;gap:7px}.auth-field>span{color:var(--muted-strong);font-size:12px;font-weight:700}.password-field-wrap{display:grid;grid-gap:6px;gap:6px}.password-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.password-input-row input{border-right:0}.password-visibility{min-width:58px;border:1px solid var(--line-strong)!important;background:var(--panel-alt)!important;color:var(--muted-strong)!important;font-size:11px!important;font-weight:700!important;padding:0 12px!important;cursor:pointer}.password-visibility:hover{color:var(--text)!important;opacity:1!important}.caps-lock-indicator{min-height:16px;color:var(--muted);font-size:10px;line-height:16px}.caps-lock-indicator.active{color:#d66a00;font-weight:800}.auth-form>button[type=submit]{min-height:40px;margin-top:3px;padding:0 18px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);cursor:pointer;font-weight:700}.auth-form>button[type=submit]:hover{opacity:.9}.otp-card{width:min(560px,100%)}.totp-setup{display:grid;grid-template-columns:180px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:center;margin:0 0 22px;padding:18px;border:1px solid var(--line);background:var(--panel-alt)}.totp-qr{display:block;width:180px;height:180px;background:#fff;padding:8px}.totp-setup-copy{display:grid;grid-gap:8px;gap:8px;min-width:0}.totp-setup-copy strong{font-size:13px}.totp-setup-copy small,.totp-setup-copy span{color:var(--muted-strong);font-size:11px;line-height:1.6}.totp-setup-copy code{display:block;max-width:100%;padding:9px 10px;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--control-bg);color:var(--text);font-size:12px;letter-spacing:.7px}.otp-input{font-size:22px!important;font-weight:800;letter-spacing:8px;text-align:center}.admin-security-card{margin-top:28px;padding:22px;border:1px solid var(--line);background:var(--panel-alt)}.admin-section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end}.admin-section-heading h2{margin:6px 0 0;font-size:19px}.admin-section-heading>span{color:var(--muted);font-size:10px}.admin-section-description{margin:12px 0 18px!important;font-size:12px!important}.security-policy-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;grid-gap:12px;gap:12px;align-items:end}.security-policy-form label{display:grid;grid-gap:6px;gap:6px}.security-policy-form label>span{color:var(--muted-strong);font-size:11px;font-weight:700}.security-policy-form input{width:100%;height:40px;padding:0 10px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--control-text)}.security-policy-form small{color:var(--muted);font-size:9px}.security-policy-form button{height:40px;padding:0 16px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:700;cursor:pointer;white-space:nowrap}@media (max-width:720px){.totp-setup{grid-template-columns:1fr;justify-items:center}.totp-setup-copy{width:100%}.security-policy-form{grid-template-columns:1fr}.security-policy-form button{width:100%}.admin-section-heading{align-items:flex-start;flex-direction:column;gap:4px}}.totp-setup{grid-template-columns:1fr}.totp-manual-fields{display:grid;grid-gap:8px;gap:8px;margin:4px 0 0}.totp-manual-fields>div{display:grid;grid-template-columns:70px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start}.totp-manual-fields dt{color:var(--muted);font-size:10px;font-weight:700}.totp-manual-fields dd{margin:0;color:var(--text);font-size:12px}.totp-manual-fields code{padding:0;border:0;background:transparent;font-size:12px;letter-spacing:.7px}.caps-lock-indicator.global{display:inline-flex;align-items:center;min-height:22px;width:-moz-fit-content;width:fit-content;padding:2px 8px;border:1px solid var(--line);background:var(--panel-alt);border-radius:999px}.caps-lock-indicator.global.active{border-color:color-mix(in srgb,#d66a00 45%,var(--line));background:color-mix(in srgb,#d66a00 8%,var(--panel))}.trusted-device-option{padding:12px 13px;border:1px solid var(--line);background:var(--panel-alt)}.trusted-device-checkline{display:flex!important;align-items:center;gap:9px;color:var(--text)!important}.trusted-device-checkline input{width:16px!important;height:16px!important;margin:0;accent-color:var(--accent)}.trusted-device-option small{color:var(--muted);font-size:10px;line-height:1.55}.password-change-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:end}.password-change-form>label{display:grid;grid-gap:6px;gap:6px;min-width:0}.password-change-form>label>span{color:var(--muted-strong);font-size:11px;font-weight:700}.password-change-form .password-input-row input{width:100%;height:40px;padding:0 10px;border:1px solid var(--line-strong);border-right:0;background:var(--control-bg);color:var(--control-text);outline:none}.password-change-form .caps-lock-indicator.global{align-self:center}.password-change-form>button,.secondary-danger,.trusted-delete{min-height:38px;padding:0 14px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-contrast);font-weight:700;cursor:pointer}.password-change-form>button{grid-column:1/-1;justify-self:start}.secondary-danger,.trusted-delete{border-color:color-mix(in srgb,#d63638 45%,var(--line));background:color-mix(in srgb,#d63638 8%,var(--panel));color:#d63638;font-size:11px}.secondary-danger:disabled{opacity:.45;cursor:not-allowed}.trusted-device-list{display:grid;grid-gap:10px;gap:10px}.trusted-device-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(320px,2fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:14px 15px;border:1px solid var(--line);background:var(--panel)}.trusted-device-main{display:grid;grid-gap:5px;gap:5px;min-width:0}.trusted-device-main strong{display:flex;gap:8px;align-items:center;font-size:12px}.trusted-device-main strong em{padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-style:normal}.trusted-device-main>span{color:var(--muted);font-size:10px;line-height:1.45;overflow-wrap:anywhere}.trusted-device-row dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px 14px;gap:7px 14px;margin:0}.trusted-device-row dl>div{display:grid;grid-template-columns:52px minmax(0,1fr);grid-gap:6px;gap:6px}.trusted-device-row dt{color:var(--muted);font-size:9px}.trusted-device-row dd{margin:0;color:var(--muted-strong);font-size:10px;overflow-wrap:anywhere}.empty-admin-list{padding:20px;border:1px dashed var(--line-strong);color:var(--muted);text-align:center;font-size:11px}@media (max-width:880px){.password-change-form{grid-template-columns:1fr}.password-change-form>button{width:100%}.trusted-device-row{grid-template-columns:1fr;align-items:stretch}.trusted-device-row dl{grid-template-columns:1fr 1fr}.trusted-delete{width:100%}}@media (max-width:520px){.trusted-device-row dl{grid-template-columns:1fr}}.admin-shell{place-items:start center;padding:24px 0}.admin-panel{width:min(1020px,100%)}.trusted-device-row{width:100%;grid-template-columns:minmax(0,1.3fr) minmax(0,2fr) auto}.trusted-device-row dl,.trusted-device-row form{min-width:0}.admin-post-heading{align-items:center}.editor-cancel,.editor-preview-link,.editor-save,.post-admin-delete,.post-create-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--text);font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}.editor-save,.post-create-button{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.editor-cancel:hover,.editor-preview-link:hover,.editor-save:hover,.post-admin-delete:hover,.post-create-button:hover{opacity:.9}.admin-post-list{border:1px solid var(--line);background:var(--panel);overflow:hidden}.admin-post-list-head,.admin-post-row{display:grid;grid-template-columns:54px 72px 86px minmax(220px,1fr) 158px 54px 190px;grid-gap:10px;gap:10px;align-items:center}.admin-post-list-head{min-height:36px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:9px;font-weight:800}.admin-post-row{min-height:52px;padding:8px 12px;font-size:11px}.admin-post-row+.admin-post-row{border-top:1px solid var(--line)}.admin-post-id,.admin-post-updated,.admin-post-views{color:var(--muted)}.admin-post-category{color:var(--muted-strong)}.admin-post-category,.admin-post-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}.admin-post-title{min-width:0}.admin-post-title:hover{text-decoration:underline}.admin-post-updated{font-size:9px;white-space:nowrap}.admin-post-views{text-align:right}.post-status-badge{min-height:24px;display:inline-flex;align-items:center;justify-content:center;justify-self:start;padding:0 8px;border:1px solid var(--line-strong);background:var(--soft);color:var(--muted-strong);font-size:9px;font-weight:800;white-space:nowrap}.post-status-badge.published{border-color:color-mix(in srgb,#248a4b 42%,var(--line));color:#248a4b;background:color-mix(in srgb,#248a4b 8%,var(--panel))}.post-status-badge.draft{border-color:color-mix(in srgb,#7a8492 45%,var(--line));color:var(--muted-strong)}.post-status-badge.scheduled{border-color:color-mix(in srgb,#b77a00 45%,var(--line));color:#b77a00;background:color-mix(in srgb,#b77a00 8%,var(--panel))}.admin-post-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.admin-post-actions>a,.post-admin-delete.compact{min-height:30px;padding:0 9px;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted-strong);font-size:9px;font-weight:700}.post-admin-delete,.post-admin-delete.compact{border-color:color-mix(in srgb,#d63638 45%,var(--line));background:color-mix(in srgb,#d63638 8%,var(--panel));color:#d63638}.admin-post-actions form{display:contents}.admin-editor-shell{width:100%;padding:24px 0}.admin-editor-panel{width:100%;padding:30px;border:1px solid var(--line);background:var(--control-bg)}.admin-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-editor-heading h1{margin:7px 0 8px;font-size:28px}.admin-editor-heading p{margin:0;color:var(--muted-strong);font-size:12px;line-height:1.7}.admin-editor-heading>a{min-height:36px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid var(--line-strong);background:var(--panel-alt);color:var(--muted-strong);font-size:11px;font-weight:700}.post-editor-form{display:grid;grid-gap:18px;gap:18px}.post-editor-fields{display:grid;grid-template-columns:150px minmax(260px,1.4fr) minmax(220px,1fr);grid-gap:12px;gap:12px}.post-editor-fields label{display:grid;grid-gap:7px;gap:7px;min-width:0}.post-editor-content-label strong,.post-editor-fields label>span{color:var(--muted-strong);font-size:11px;font-weight:800}.post-editor-fields input,.post-editor-fields select{width:100%;height:42px;padding:0 11px;border:1px solid var(--line-strong);background:var(--panel);color:var(--control-text);outline:none}.markdown-source-pane textarea:focus,.post-editor-fields input:focus,.post-editor-fields select:focus{border-color:var(--muted);box-shadow:0 0 0 2px var(--accent-soft)}.post-publish-controls{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line-strong);background:var(--panel)}.publish-heading{margin:0}.post-publish-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr);grid-gap:12px;gap:12px}.post-publish-grid label{display:grid;grid-gap:7px;gap:7px}.post-publish-grid label>span{color:var(--muted-strong);font-size:10px;font-weight:800}.post-publish-grid input,.post-publish-grid select{width:100%;height:42px;padding:0 11px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--control-text);outline:none}.post-publish-grid small{color:var(--muted);font-size:9px}.publish-schedule-disabled{opacity:.52}.post-publish-note{margin:0;color:var(--muted-strong);font-size:10px;line-height:1.6}.post-editor-content-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:-8px}.post-editor-content-label>span{color:var(--muted);font-size:10px}.markdown-editor{border:1px solid var(--line-strong);background:var(--panel)}.markdown-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:8px;border-bottom:1px solid var(--line);background:var(--soft)}.markdown-toolbar button{min-height:30px;padding:0 9px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--muted-strong);cursor:pointer;font-size:10px;font-weight:750}.markdown-toolbar button:hover{background:var(--panel-alt);color:var(--text)}.markdown-editor-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}.markdown-preview-pane,.markdown-source-pane{min-width:0;display:grid;grid-template-rows:auto 1fr auto}.markdown-source-pane{border-right:1px solid var(--line)}.editor-pane-title{min-height:34px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel-alt);color:var(--muted-strong);font-size:10px;font-weight:800;letter-spacing:.4px}.markdown-source-pane textarea{width:100%;min-height:520px;resize:vertical;padding:16px;border:0;background:var(--control-bg);color:var(--control-text);outline:none;font-family:Cascadia Code,Consolas,SFMono-Regular,monospace;font-size:13px;line-height:1.65;-moz-tab-size:2;tab-size:2}.markdown-source-pane small{padding:6px 10px;border-top:1px solid var(--line);color:var(--muted);text-align:right;font-size:9px}.markdown-preview-pane{grid-template-rows:auto 1fr}.markdown-preview-body{min-height:520px;padding:20px;overflow:auto;background:var(--panel)}.markdown-preview-body .markdown-body{font-size:13px;line-height:1.75}.markdown-preview-body .markdown-body h1{font-size:24px}.markdown-preview-body .markdown-body h2{font-size:20px}.markdown-preview-body .markdown-body h3{font-size:17px}.post-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.post-editor-actions form{margin-left:4px}.editor-save{min-width:110px}@media (max-width:900px){.admin-panel{padding:28px 24px}.trusted-device-row{grid-template-columns:1fr;align-items:stretch}.trusted-device-row dl{grid-template-columns:1fr 1fr}.trusted-delete{width:100%}.admin-post-list-head{display:none}.admin-post-row{grid-template-columns:auto auto auto 1fr auto;grid-template-areas:"id status category title views" "updated updated updated actions actions";row-gap:7px}.admin-post-id{grid-area:id}.admin-post-row>.post-status-badge{grid-area:status}.admin-post-category{grid-area:category}.admin-post-title{grid-area:title}.admin-post-updated{grid-area:updated}.admin-post-views{grid-area:views}.admin-post-actions{grid-area:actions}.post-editor-fields{grid-template-columns:1fr 1fr}.post-tags-field{grid-column:1/-1}.markdown-editor-grid,.post-publish-grid{grid-template-columns:1fr}.markdown-source-pane{border-right:0;border-bottom:1px solid var(--line)}.markdown-source-pane textarea{min-height:420px}.markdown-preview-body{min-height:300px}}@media (max-width:620px){.trusted-device-row dl{grid-template-columns:1fr}.admin-shell{padding:14px 0}.admin-panel{padding:22px 16px}.admin-security-card{padding:17px 14px}.admin-post-heading{align-items:stretch}.post-create-button{width:100%}.admin-post-row{grid-template-columns:auto auto 1fr auto;grid-template-areas:"status category title views" "id updated updated updated" "actions actions actions actions";padding:11px}.admin-post-actions{justify-content:flex-start}.admin-post-actions>a,.post-admin-delete.compact{flex:1 1}.admin-editor-shell{padding:14px 0}.admin-editor-panel{padding:22px 16px}.admin-editor-heading{flex-direction:column;gap:14px}.admin-editor-heading>a{width:100%;justify-content:center}.post-editor-fields{grid-template-columns:1fr}.post-tags-field{grid-column:auto}.post-editor-content-label{align-items:flex-start;flex-direction:column;gap:4px}.post-editor-actions{display:grid;grid-template-columns:1fr 1fr}.post-editor-actions form,.post-editor-actions form>button,.post-editor-actions>*{width:100%;margin:0}}.admin-post-title .admin-post-attachment-count{display:inline-flex;align-items:center;margin-left:8px;color:var(--muted);font-size:9px;font-weight:700;white-space:nowrap}.post-editor-attachments{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line-strong);background:var(--panel)}.attachment-editor-heading{margin:0}.existing-attachment-section{display:grid;grid-gap:7px;gap:7px}.existing-attachment-label{color:var(--muted-strong);font-size:10px;font-weight:800}.existing-attachment-list{border:1px solid var(--line);background:var(--control-bg)}.existing-attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;min-height:52px;padding:9px 11px}.existing-attachment-row+.existing-attachment-row{border-top:1px solid var(--line)}.existing-attachment-main{min-width:0;display:grid;grid-gap:3px;gap:3px}.existing-attachment-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.existing-attachment-main span{color:var(--muted);font-size:9px}.existing-attachment-actions{display:flex;align-items:center;gap:6px}.existing-attachment-actions a,.existing-attachment-actions button{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted-strong);cursor:pointer;font-size:9px;font-weight:750}.existing-attachment-actions button{border-color:color-mix(in srgb,#d63638 45%,var(--line));color:#d63638}.existing-attachment-actions button:disabled{opacity:.55;cursor:wait}.existing-attachment-empty{padding:15px;border:1px dashed var(--line-strong);color:var(--muted);text-align:center;font-size:10px}.attachment-picker{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px dashed var(--line-strong);background:var(--panel-alt)}.attachment-picker-control{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.attachment-picker-control>span{color:var(--muted-strong);font-size:10px;font-weight:800}.attachment-picker-control input{min-width:0;color:var(--control-text);font-size:10px}.attachment-picker-help{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px}.attachment-picker-help strong{color:var(--muted-strong);font-weight:700}.attachment-picker-list{display:grid;grid-gap:4px;gap:4px}.attachment-picker-list>span{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:7px 9px;border:1px solid var(--line);background:var(--control-bg);font-size:9px}.attachment-picker-list b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.attachment-picker-list small{color:var(--muted);font-size:9px}.attachment-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.attachment-title span{color:var(--muted);font-size:10px;font-weight:600}.attachment-list{display:grid}.attachment-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;min-height:46px;padding:9px 13px;color:var(--muted-strong);font-size:11px}.attachment-row+.attachment-row{border-top:1px solid var(--line)}.attachment-row:hover{background:var(--surface-hover)}.attachment-row .attachment-file-icon{grid-row:auto;color:var(--muted)}.attachment-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:650}.attachment-file-size{color:var(--muted);font-size:10px;white-space:nowrap}.attachment-download{min-width:66px;padding:5px 8px;border:1px solid var(--line);background:var(--panel-alt);text-align:center;font-size:9px;font-weight:750}@media (max-width:620px){.existing-attachment-row{grid-template-columns:1fr}.existing-attachment-actions{display:grid;grid-template-columns:1fr 1fr}.existing-attachment-actions a,.existing-attachment-actions button{width:100%}.attachment-picker-control{grid-template-columns:1fr;gap:6px}.attachment-picker-help{flex-direction:column;gap:4px}.attachment-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon name download" "icon size download";gap:3px 9px}.attachment-row .attachment-file-icon{grid-area:icon}.attachment-file-name{grid-area:name}.attachment-file-size{grid-area:size}.attachment-download{grid-area:download}}.attachment-settings-note{margin:12px 0 0!important;padding:10px 12px;border:1px solid var(--line);background:var(--panel-alt);color:var(--muted)!important;font-size:10px!important;line-height:1.6!important}.proxy-guard-inline{font-weight:700}.proxy-guard-inline.ok{color:#3f8f61}.proxy-guard-inline.missing,.proxy-guard-inline.stale,.proxy-guard-inline.warning{color:#c77a16}.proxy-guard-inline.error{color:#c84e4e}.proxy-guard-card{margin-top:14px;padding:14px;border:1px solid var(--line);background:var(--control-bg)}.proxy-guard-card.ok{border-color:color-mix(in srgb,#3f8f61 42%,var(--line))}.proxy-guard-card.missing,.proxy-guard-card.stale,.proxy-guard-card.warning{border-color:color-mix(in srgb,#c77a16 48%,var(--line))}.proxy-guard-card.error{border-color:color-mix(in srgb,#c84e4e 48%,var(--line))}.proxy-guard-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.proxy-guard-heading>div{display:grid;grid-gap:3px;gap:3px}.proxy-guard-heading strong{font-size:12px}.proxy-guard-heading span{color:var(--muted);font-size:9px}.proxy-guard-heading em{flex:0 0 auto;padding:4px 8px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-style:normal;font-weight:800}.proxy-guard-card.ok .proxy-guard-heading em{color:#3f8f61;border-color:color-mix(in srgb,#3f8f61 45%,var(--line))}.proxy-guard-card.missing .proxy-guard-heading em,.proxy-guard-card.stale .proxy-guard-heading em,.proxy-guard-card.warning .proxy-guard-heading em{color:#c77a16;border-color:color-mix(in srgb,#c77a16 45%,var(--line))}.proxy-guard-card.error .proxy-guard-heading em{color:#c84e4e;border-color:color-mix(in srgb,#c84e4e 45%,var(--line))}.proxy-guard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:12px}.proxy-guard-metrics>div{display:grid;grid-gap:4px;gap:4px;padding:9px 10px;border:1px solid var(--line);background:var(--panel-alt);min-width:0}.proxy-guard-metrics span{color:var(--muted);font-size:9px}.proxy-guard-metrics strong{overflow-wrap:anywhere;font-size:12px}.proxy-guard-card>p{margin:10px 0 0!important;color:var(--muted-strong)!important;font-size:10px!important;line-height:1.65!important}.proxy-guard-card>small{margin-top:7px;color:var(--muted)}.proxy-guard-card>code,.proxy-guard-card>small{display:block;font-size:9px;overflow-wrap:anywhere}.proxy-guard-card>code{margin-top:9px;padding:8px 9px;border:1px solid var(--line);background:var(--panel-alt);color:var(--text)}@media (max-width:820px){.proxy-guard-metrics{grid-template-columns:1fr 1fr}}@media (max-width:520px){.proxy-guard-heading{align-items:flex-start;flex-direction:column}.proxy-guard-metrics{grid-template-columns:1fr}}.admin-preview-card{margin-top:24px}.admin-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--soft)}.admin-preview-banner>div:first-child{display:flex;align-items:center;gap:10px}.admin-preview-banner strong{font-size:11px}.admin-preview-actions{display:flex;gap:7px}.admin-preview-actions a{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line-strong);background:var(--control-bg);color:var(--muted-strong);font-size:9px;font-weight:750}.admin-preview-actions a:hover{background:var(--panel-alt);color:var(--text)}@media (max-width:620px){.admin-preview-banner{align-items:stretch;flex-direction:column}.admin-preview-banner>div:first-child{justify-content:space-between}.admin-preview-actions{display:grid;grid-template-columns:1fr 1fr}}