.home-hero[data-v-e5d92212]{padding:1rem 0 0;margin-bottom:.5rem}.hero-eyebrow[data-v-e5d92212]{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.9rem}.hero-title[data-v-e5d92212]{font-family:var(--font-serif);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:700;line-height:1.15;letter-spacing:-.01em;margin-bottom:.8rem}.hero-text[data-v-e5d92212]{color:var(--text-secondary);max-width:42rem}.hero-rule[data-v-e5d92212]{margin-top:1.6rem;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);height:5px}.home-layout[data-v-e5d92212]{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:3rem;align-items:start}.lead-story[data-v-e5d92212]{padding:2rem 0 1.8rem;border-bottom:1px solid var(--border-strong);cursor:pointer}.lead-eyebrow[data-v-e5d92212]{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.7rem}.lead-title[data-v-e5d92212]{display:inline;font-family:var(--font-serif);font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;line-height:1.3;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease}.lead-story:hover .lead-title[data-v-e5d92212]{background-size:100% 1px}.lead-summary[data-v-e5d92212]{margin-top:.7rem;color:var(--text-secondary);font-size:1rem;line-height:1.85;max-width:40rem}.entry-meta[data-v-e5d92212]{display:flex;align-items:center;gap:.9rem;margin-top:.9rem;flex-wrap:wrap}.entry-meta time[data-v-e5d92212]{color:var(--text-muted);font-size:.8rem;letter-spacing:.04em}.tag[data-v-e5d92212]{font-size:.8rem;color:var(--text-secondary);cursor:pointer;letter-spacing:.03em;transition:color .2s ease}.tag[data-v-e5d92212]:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.card-header[data-v-e5d92212]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.card-copy[data-v-e5d92212]{flex:1;min-width:0}.card-actions[data-v-e5d92212]{display:flex;gap:.5rem;flex-shrink:0}.lead-story .card-actions[data-v-e5d92212]{margin-top:1rem}.action-btn[data-v-e5d92212]{padding:.42rem .85rem;font-size:.8rem;letter-spacing:.04em;cursor:pointer;border:1px solid;background:transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.action-btn.edit[data-v-e5d92212]{border-color:var(--border-strong);color:var(--text-secondary)}.action-btn.edit[data-v-e5d92212]:hover{background:var(--ink);border-color:var(--ink);color:var(--accent-contrast)}.action-btn.delete[data-v-e5d92212]{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.action-btn.delete[data-v-e5d92212]:hover{background:var(--danger);border-color:var(--danger);color:#fff}.home-aside[data-v-e5d92212]{padding-top:2rem;border-left:1px solid var(--border);padding-left:1.6rem;position:sticky;top:160px}.aside-title[data-v-e5d92212]{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;padding-bottom:.55rem;margin-bottom:.9rem;border-bottom:2px solid var(--ink);letter-spacing:.06em}.aside-tag-list[data-v-e5d92212]{list-style:none;display:flex;flex-direction:column}.aside-tag[data-v-e5d92212]{display:block;width:100%;text-align:left;padding:.5rem 0;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:color .2s ease,padding-left .2s ease}.aside-tag[data-v-e5d92212]:hover{color:var(--text);padding-left:.3rem}.aside-tag.active[data-v-e5d92212]{color:var(--text);font-weight:700}@media (max-width: 900px){.home-layout[data-v-e5d92212]{grid-template-columns:1fr;gap:0}.home-aside[data-v-e5d92212]{position:static;border-left:none;padding-left:0;padding-top:1.6rem}.aside-tag-list[data-v-e5d92212]{flex-direction:row;flex-wrap:wrap;gap:0 1.2rem}.aside-tag[data-v-e5d92212]{width:auto;border-bottom:none}}@media (max-width: 640px){.card-header[data-v-e5d92212]{flex-direction:column}.card-actions[data-v-e5d92212]{width:100%}.action-btn[data-v-e5d92212]{flex:1}}.detail-nav[data-v-e3ec974e]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.detail-actions[data-v-e3ec974e]{display:flex;gap:.55rem}.action-btn[data-v-e3ec974e]{padding:.45rem .95rem;font-size:.82rem;letter-spacing:.04em;cursor:pointer;border:1px solid;background:transparent;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.action-btn.edit[data-v-e3ec974e]{border-color:var(--border-strong);color:var(--text-secondary)}.action-btn.edit[data-v-e3ec974e]:hover{background:var(--ink);border-color:var(--ink);color:var(--accent-contrast)}.action-btn.delete[data-v-e3ec974e]{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.action-btn.delete[data-v-e3ec974e]:hover{background:var(--danger);border-color:var(--danger);color:#fff}.detail-eyebrow[data-v-e3ec974e]{color:var(--text-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.9rem}.meta-row[data-v-e3ec974e]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tags[data-v-e3ec974e]{display:flex;flex-wrap:wrap;gap:.75rem;margin-left:.4rem}.tag[data-v-e3ec974e]{font-size:.82rem;color:var(--text-secondary);text-decoration:none;letter-spacing:.03em;transition:color .2s ease}.tag[data-v-e3ec974e]:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}@media (max-width: 640px){.detail-actions[data-v-e3ec974e]{width:100%}.action-btn[data-v-e3ec974e]{flex:1}}.login-page[data-v-627387f0]{display:flex;justify-content:center;padding-top:2.5rem}.login-card[data-v-627387f0]{width:100%;max-width:420px;padding:2.2rem;background:var(--surface);border:1px solid var(--border-strong)}.login-eyebrow[data-v-627387f0]{color:var(--text-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.8rem}.login-card h1[data-v-627387f0]{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;margin-bottom:.6rem;letter-spacing:-.01em}.login-text[data-v-627387f0]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.92rem}.field[data-v-627387f0]{margin-bottom:1rem}.field label[data-v-627387f0]{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.45rem;letter-spacing:.03em}.field input[data-v-627387f0]{width:100%;padding:.78rem .9rem;border:1px solid var(--border);font-size:.95rem;outline:none;transition:border-color .2s ease,background-color .2s ease;background:transparent;color:var(--text)}.field input[data-v-627387f0]:focus{border-color:var(--ink);background:var(--surface-strong)}.error[data-v-627387f0]{color:var(--danger);font-size:.88rem;margin-bottom:.85rem}button[type=submit][data-v-627387f0]{width:100%;padding:.85rem 1rem;background:var(--ink);color:var(--accent-contrast);border:1px solid var(--ink);font-size:.95rem;letter-spacing:.06em;cursor:pointer;transition:background-color .2s ease,color .2s ease,opacity .2s ease;margin-top:.3rem}button[type=submit][data-v-627387f0]:hover:not(:disabled){background:transparent;color:var(--ink)}button[type=submit][data-v-627387f0]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.login-page[data-v-627387f0]{padding-top:.5rem}.login-card[data-v-627387f0]{padding:1.4rem}}.editor-page[data-v-1de5d7b2]{max-width:820px;margin:0 auto;transition:max-width .25s ease}.editor-page.wide-layout[data-v-1de5d7b2]{max-width:1140px}.editor-hero[data-v-1de5d7b2]{padding:1.6rem 1.8rem;background:var(--surface-muted);border:none;border-top:3px solid var(--ink);border-bottom:1px solid var(--border-strong);margin-bottom:1.6rem}.editor-eyebrow[data-v-1de5d7b2]{color:var(--text-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem}.editor-text[data-v-1de5d7b2]{color:var(--text-secondary);font-size:.92rem}.upload-zone[data-v-1de5d7b2]{border:2px dashed var(--border-strong);padding:2rem;margin-bottom:1.6rem;text-align:center;transition:border-color .2s,background-color .2s;cursor:default}.upload-zone.drag-over[data-v-1de5d7b2]{border-color:var(--ink);background:var(--surface-muted)}.upload-zone-inner[data-v-1de5d7b2]{display:flex;flex-direction:column;align-items:center;gap:.6rem}.upload-icon[data-v-1de5d7b2]{font-size:2.2rem;line-height:1}.upload-title[data-v-1de5d7b2]{font-size:1rem;font-weight:600;color:var(--text)}.upload-hint[data-v-1de5d7b2]{font-size:.82rem;color:var(--text-muted)}.upload-btn[data-v-1de5d7b2]{display:inline-block;margin-top:.5rem;padding:.55rem 1.2rem;font-size:.85rem;border:1px solid var(--ink);background:var(--ink);color:var(--accent-contrast);cursor:pointer;letter-spacing:.04em;transition:background-color .2s,color .2s}.upload-btn[data-v-1de5d7b2]:hover{background:transparent;color:var(--ink)}.zip-status[data-v-1de5d7b2]{margin-top:.5rem;font-size:.85rem}.zip-status.info[data-v-1de5d7b2]{color:var(--text-secondary)}.zip-status.success[data-v-1de5d7b2]{color:#16a34a}.zip-status.error[data-v-1de5d7b2]{color:var(--danger)}.editor-form[data-v-1de5d7b2]{background:transparent;border:none;padding:.5rem 0}.field-grid[data-v-1de5d7b2]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field-span-2[data-v-1de5d7b2]{grid-column:span 2}.field[data-v-1de5d7b2]{margin-bottom:1.15rem}.field label[data-v-1de5d7b2]{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.45rem;letter-spacing:.03em}.required[data-v-1de5d7b2]{color:var(--danger)}.field input[type=text][data-v-1de5d7b2],.field textarea[data-v-1de5d7b2],.upload-field input[type=file][data-v-1de5d7b2]{width:100%;padding:.78rem .9rem;border:1px solid var(--border);font-size:.95rem;outline:none;transition:border-color .2s ease,background-color .2s ease;background:transparent;color:var(--text)}.field input[type=text][data-v-1de5d7b2]:focus,.field textarea[data-v-1de5d7b2]:focus{border-color:var(--ink);background:var(--surface-strong)}.field textarea[data-v-1de5d7b2]{resize:vertical;line-height:1.7;min-height:400px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9rem}.upload-field input[type=file][data-v-1de5d7b2]{padding:.7rem .85rem}.content-header[data-v-1de5d7b2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;flex-wrap:wrap;gap:.6rem}.content-header-left[data-v-1de5d7b2]{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.content-header-left label[data-v-1de5d7b2]{margin-bottom:0}.content-actions[data-v-1de5d7b2]{display:flex;gap:.5rem}.img-upload-btn[data-v-1de5d7b2]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;font-size:.8rem;border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.img-upload-btn[data-v-1de5d7b2]:hover{border-color:var(--ink);color:var(--text)}.img-status[data-v-1de5d7b2]{font-size:.82rem;color:var(--text-muted);margin-top:.3rem}.error[data-v-1de5d7b2]{color:var(--danger);font-size:.88rem;margin-bottom:1rem}.actions[data-v-1de5d7b2]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.btn-cancel[data-v-1de5d7b2],.btn-submit[data-v-1de5d7b2]{min-width:112px;padding:.8rem 1.3rem;font-size:.92rem;letter-spacing:.05em;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.btn-cancel[data-v-1de5d7b2]{border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary)}.btn-cancel[data-v-1de5d7b2]:hover{border-color:var(--ink);color:var(--text)}.btn-submit[data-v-1de5d7b2]{background:var(--ink);color:var(--accent-contrast);border:1px solid var(--ink)}.btn-submit[data-v-1de5d7b2]:hover:not(:disabled){background:transparent;color:var(--ink)}.btn-submit[data-v-1de5d7b2]:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.editor-hero[data-v-1de5d7b2]{padding:1.2rem}.field-grid[data-v-1de5d7b2]{grid-template-columns:1fr}.field-span-2[data-v-1de5d7b2]{grid-column:span 1}.actions[data-v-1de5d7b2]{flex-direction:column-reverse}.btn-cancel[data-v-1de5d7b2],.btn-submit[data-v-1de5d7b2]{width:100%}.content-header[data-v-1de5d7b2]{flex-direction:column;align-items:flex-start}}.dashboard-page[data-v-7ad7c877]{max-width:1000px}.dashboard-hero[data-v-7ad7c877]{padding:1.6rem 1.8rem;background:var(--surface-muted);border:none;border-top:3px solid var(--ink);border-bottom:1px solid var(--border-strong);margin-bottom:1.6rem}.dashboard-eyebrow[data-v-7ad7c877]{color:var(--text-muted);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.7rem}.dashboard-text[data-v-7ad7c877]{color:var(--text-secondary);font-size:.92rem}.stats-grid[data-v-7ad7c877]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.8rem}.stat-card[data-v-7ad7c877]{padding:1.25rem;background:transparent;border:1px solid var(--border);border-top:2px solid var(--ink)}.stat-label[data-v-7ad7c877]{color:var(--text-secondary);font-size:.82rem;letter-spacing:.06em;margin-bottom:.5rem}.stat-value[data-v-7ad7c877]{font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;font-variant-numeric:tabular-nums}.dashboard-section[data-v-7ad7c877]{margin-bottom:1.8rem}.section-head[data-v-7ad7c877]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.85rem;flex-wrap:wrap}.section-head h2[data-v-7ad7c877]{font-family:var(--font-serif);font-size:1.2rem;font-weight:700;margin-bottom:.25rem}.section-hint[data-v-7ad7c877]{color:var(--text-secondary);font-size:.84rem}.table-wrap[data-v-7ad7c877]{overflow-x:auto}.dashboard-table[data-v-7ad7c877]{width:100%;border-collapse:collapse;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.compact-table[data-v-7ad7c877]{min-width:420px}.logs-table[data-v-7ad7c877]{min-width:860px}.dashboard-table th[data-v-7ad7c877],.dashboard-table td[data-v-7ad7c877]{padding:.85rem 1rem;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem;vertical-align:middle}.dashboard-table th[data-v-7ad7c877]{background:transparent;color:var(--text-secondary);font-weight:700;font-size:.8rem;letter-spacing:.06em;border-bottom:1px solid var(--border-strong);white-space:nowrap}.dashboard-table tbody tr[data-v-7ad7c877]{transition:background-color .15s ease}.dashboard-table tbody tr[data-v-7ad7c877]:hover{background:var(--row-hover)}.dashboard-table tr:last-child td[data-v-7ad7c877]{border-bottom:none}.num-cell[data-v-7ad7c877]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ip-cell[data-v-7ad7c877]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;white-space:nowrap}.title-cell[data-v-7ad7c877]{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-cell[data-v-7ad7c877]{color:var(--text-secondary);white-space:nowrap;cursor:help}.time-cell[data-v-7ad7c877]{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap}.location-badge[data-v-7ad7c877]{display:inline-block;padding:.14rem .55rem;border:1px solid var(--border-strong);font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.muted[data-v-7ad7c877]{color:var(--text-secondary);text-align:center}.pager[data-v-7ad7c877]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.pager button[data-v-7ad7c877]{min-height:44px;padding:.55rem 1.2rem;border:1px solid var(--border-strong);background:transparent;color:var(--text);font-size:.88rem;letter-spacing:.04em;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.pager button[data-v-7ad7c877]:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--accent-contrast)}.pager button[data-v-7ad7c877]:disabled{opacity:.4;cursor:not-allowed}.pager-info[data-v-7ad7c877]{color:var(--text-secondary);font-size:.86rem;font-variant-numeric:tabular-nums;white-space:nowrap}.pager-top[data-v-7ad7c877]{display:none}.pager-bottom[data-v-7ad7c877]{margin-top:.95rem}@media (prefers-reduced-motion: reduce){.dashboard-table tbody tr[data-v-7ad7c877],.pager button[data-v-7ad7c877]{transition:none}}@media (max-width: 800px){.stats-grid[data-v-7ad7c877]{grid-template-columns:1fr}.logs-head[data-v-7ad7c877]{align-items:stretch}.pager-top[data-v-7ad7c877]{display:flex}.pager-bottom[data-v-7ad7c877]{display:none}}@media (max-width: 640px){.dashboard-hero[data-v-7ad7c877]{padding:1.2rem}.stat-card[data-v-7ad7c877]{padding:1rem}.pager[data-v-7ad7c877]{flex-direction:column;align-items:stretch}.pager button[data-v-7ad7c877]{width:100%}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg: #f4f1ea;--bg-soft: #efe9dd;--surface: #f8f5ee;--surface-strong: #fbf9f4;--surface-muted: #ece7db;--border: #ddd5c3;--border-strong: #c7bda6;--text: #1c1b17;--ink: #1c1b17;--text-secondary: #6f6a5e;--text-muted: #9a9284;--accent: #1c1b17;--accent-strong: #000000;--accent-contrast: #f4f1ea;--accent-soft: #ece7db;--danger: #a33b2e;--danger-soft: rgba(163, 59, 46, .08);--success: #3f6a52;--shadow: none;--shadow-soft: none;--focus-ring: 0 0 0 2px rgba(28, 27, 23, .28);--mark-bg: #f0e2b6;--code-bg: #ece7db;--code-border: #ddd5c3;--code-block-bg: #211e18;--code-block-text: #ece5d3;--table-head: transparent;--row-hover: #efe9dd;--radius-sm: 0;--radius: 0;--radius-lg: 0;--container: 1120px;--font-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg: #171510;--bg-soft: #1c1915;--surface: #1e1b16;--surface-strong: #24211a;--surface-muted: #28241c;--border: #3a352a;--border-strong: #4d4636;--text: #e9e4d6;--ink: #e9e4d6;--text-secondary: #a39c8b;--text-muted: #7d7668;--accent: #e9e4d6;--accent-strong: #ffffff;--accent-contrast: #1c1b17;--accent-soft: #2a261e;--danger: #d07868;--danger-soft: rgba(208, 120, 104, .12);--success: #7fa88d;--shadow: none;--shadow-soft: none;--focus-ring: 0 0 0 2px rgba(233, 228, 214, .32);--mark-bg: rgba(233, 228, 214, .28);--code-bg: #282419;--code-border: #3a352a;--code-block-bg: #100e0b;--code-block-text: #e5ddc9;--table-head: transparent;--row-hover: #201d17}html{background:var(--bg)}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.75;-webkit-font-smoothing:antialiased;transition:background-color .25s ease,color .25s ease}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}#app{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border-strong)}.header-inner{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.masthead-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.42rem 0;border-bottom:1px solid var(--border);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary)}.header-main{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1rem 0 .9rem}.brand-row{display:flex;flex-direction:column;gap:.15rem;min-width:0}.logo{font-family:var(--font-serif);font-size:1.65rem;font-weight:700;color:var(--text);text-decoration:none;letter-spacing:.01em;line-height:1.2;white-space:nowrap}.logo-subtitle{color:var(--text-secondary);font-size:.8rem;letter-spacing:.06em}.header-side{display:flex;align-items:center;gap:1.4rem;flex-shrink:0}.theme-switcher{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.theme-btn{border:none;background:transparent;color:var(--text-muted);padding:.35rem .45rem;cursor:pointer;font-size:.78rem;letter-spacing:.04em;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.theme-btn:hover{color:var(--text)}.theme-btn.active{color:var(--text);border-bottom-color:var(--ink);box-shadow:none}.header-search{padding-bottom:.9rem}.search-box{position:relative;width:100%;max-width:460px}.search-input{width:100%;padding:.68rem .9rem;border:1px solid var(--border);background:transparent;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s ease,background-color .2s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--ink);background:var(--surface)}.search-panel{position:absolute;top:calc(100% + 1px);left:0;width:100%;background:var(--surface-strong);border:1px solid var(--border-strong);overflow:hidden;z-index:300}.search-item{display:block;padding:.9rem 1rem;text-decoration:none;color:inherit;border-bottom:1px solid var(--border);transition:background-color .2s ease}.search-item:last-child{border-bottom:none}.search-item:hover{background:var(--row-hover)}.search-title{font-family:var(--font-serif);font-size:.98rem;font-weight:700;margin-bottom:.25rem}.search-excerpt{font-size:.84rem;color:var(--text-secondary);line-height:1.6}.search-empty{padding:1rem 1.2rem;text-align:center;color:var(--text-secondary);font-size:.86rem}mark{background:var(--mark-bg);color:inherit;padding:0 .15em;border-radius:2px}.nav-button-group{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.2rem 1.15rem}.nav-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.4rem 0;border:none;background:transparent;color:var(--text-secondary);text-decoration:none;font-size:.9rem;letter-spacing:.04em;cursor:pointer}.nav-btn:after{content:"";position:absolute;left:0;bottom:8px;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-btn:hover{color:var(--text)}.nav-btn:hover:after,.route-btn.router-link-active:after{transform:scaleX(1)}.route-btn.router-link-active{color:var(--text)}.primary-btn{background:var(--ink)!important;color:var(--accent-contrast)!important;border:1px solid var(--ink)!important;padding:.55rem 1.1rem;min-height:44px;transition:background-color .2s ease,color .2s ease}.primary-btn:after{display:none}.primary-btn:hover{background:transparent!important;color:var(--ink)!important}.secondary-btn,.subtle-btn{color:var(--text-secondary)}.main{flex:1;width:100%;max-width:var(--container);margin:0 auto;padding:2.4rem 1.25rem 3rem}.page-title{font-family:var(--font-serif);font-size:clamp(2rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.01em;line-height:1.2;margin-bottom:.6rem;color:var(--text)}.panel{background:var(--surface);border:1px solid var(--border);box-shadow:none}.table-wrap{background:transparent;border:none;box-shadow:none}.post-card{border-bottom:1px solid var(--border);padding:1.5rem 0;cursor:pointer}.post-card h2{display:inline;font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.4;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s ease}.post-card:hover h2{background-size:100% 1px}.post-card .summary{margin-top:.5rem;color:var(--text-secondary);font-size:.95rem;line-height:1.75}.post-card time,.meta-text{color:var(--text-muted);font-size:.8rem;letter-spacing:.04em}.post-detail .post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-strong)}.post-detail h1{font-family:var(--font-serif);font-size:clamp(2rem,3.6vw,2.9rem);font-weight:700;margin-bottom:.75rem;line-height:1.25;letter-spacing:-.01em}.post-detail .meta{color:var(--text-secondary);font-size:.9rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;letter-spacing:.03em;transition:color .2s ease}.back-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}.markdown-body{font-family:var(--font-serif);font-size:1.02rem;line-height:1.95;color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--font-serif);margin:1.7em 0 .7em;font-weight:700;line-height:1.35;letter-spacing:-.01em}.markdown-body h1{font-size:1.8rem}.markdown-body h2{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:.35em}.markdown-body h3{font-size:1.16rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote{margin-bottom:1.1em}.markdown-body strong{font-weight:700}.markdown-body code{background:var(--code-bg);border:1px solid var(--code-border);padding:.1em .4em;border-radius:0;font-size:.86em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-body pre{background:var(--code-block-bg);color:var(--code-block-text);padding:1.15em 1.25em;border-radius:0;overflow-x:auto;line-height:1.65}.markdown-body pre code{background:none;border:none;color:inherit;padding:0;font-size:.92em}.markdown-body blockquote{border-left:2px solid var(--ink);padding:.9em 1.2em;color:var(--text-secondary);background:var(--surface-muted);border-radius:0}.markdown-body ul,.markdown-body ol{padding-left:1.45em}.markdown-body li{margin-bottom:.35em}.markdown-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.markdown-body img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border:1px solid var(--border)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:2em 0}.loading,.empty{text-align:center;padding:4rem 1.5rem;color:var(--text-secondary);font-size:.95rem}.code-block-wrapper{margin-bottom:1.25em;border:1px solid var(--border);background:var(--code-block-bg)}.code-block-wrapper .code-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .85rem;background:#00000047;border-bottom:1px solid rgba(255,255,255,.08);color:var(--code-block-text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.code-block-wrapper .code-lang{font-size:.72rem;font-weight:700;letter-spacing:.08em;opacity:.8}.code-block-wrapper .code-copy-btn{background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--code-block-text);font-size:.72rem;padding:.15rem .6rem;cursor:pointer;border-radius:0;transition:all .15s ease}.code-block-wrapper .code-copy-btn:hover{background:var(--code-block-text);color:var(--code-block-bg)}.code-block-wrapper .code-copy-btn.copied{border-color:#8fa876;color:#8fa876}.code-block-wrapper pre{margin-bottom:0;padding:.9em 1.15em;border:none}.hljs{color:var(--code-block-text)}.hljs-comment,.hljs-quote{color:#7d7668;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#d2956c;font-weight:600}.hljs-string,.hljs-title,.hljs-section,.hljs-attribute,.hljs-literal,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-addition{color:#8fa876}.hljs-number{color:#c99b82}.hljs-title.function_,.hljs-function .hljs-title{color:#cfb476}.hljs-variable,.hljs-params{color:#e5ddc9}.hljs-type,.hljs-class .hljs-title{color:#8cb4aa}.hljs-tag,.hljs-name{color:#d2956c}.hljs-attr{color:#cfb476}.hljs-built_in,.hljs-symbol,.hljs-bullet{color:#8cb4aa}.hljs-deletion{color:#d07868}.post-layout-wrapper{display:flex;align-items:flex-start;gap:2.5rem;position:relative;max-width:1040px;margin:0 auto}.post-layout-wrapper .detail-main{flex:1;min-width:0;max-width:760px}.post-toc-sidebar{width:230px;position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow-y:auto;padding-left:1.25rem;border-left:1px solid var(--border);display:none}@media (min-width: 1024px){.post-toc-sidebar{display:block}}.toc-heading{font-family:var(--font-serif);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.85rem;color:var(--text-secondary)}.toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.toc-item{font-size:.82rem;line-height:1.45;color:var(--text-secondary);transition:color .15s ease;position:relative}.toc-item a{text-decoration:none;display:block;cursor:pointer}.toc-item a:hover{color:var(--text)}.toc-item.level-3{padding-left:.85rem;font-size:.78rem}.toc-item.active{color:var(--ink);font-weight:600}.toc-item.active:before{content:"";position:absolute;left:-1.25rem;top:.15em;bottom:.15em;width:2px;background:var(--ink)}.post-toc-mobile{display:block;margin:1.2rem 0 1.6rem;border:1px solid var(--border);background:var(--surface)}@media (min-width: 1024px){.post-toc-mobile{display:none}}.toc-mobile-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;background:transparent;border:none;font-family:var(--font-serif);font-size:.88rem;font-weight:700;color:var(--text);cursor:pointer;text-align:left}.toc-mobile-list{padding:.5rem 1rem 1rem;border-top:1px solid var(--border);list-style:none;margin:0;display:flex;flex-direction:column;gap:.5rem}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#171510eb;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out}.lightbox-close-btn{position:absolute;top:1.5rem;right:2rem;background:transparent;border:1px solid rgba(233,228,214,.4);color:#e9e4d6;font-family:var(--font-sans);font-size:.82rem;padding:.35rem .85rem;cursor:pointer;border-radius:0;transition:all .15s ease}.lightbox-close-btn:hover{background:#e9e4d6;color:#171510}.lightbox-image{max-width:90vw;max-height:82vh;object-fit:contain;border:1px solid rgba(233,228,214,.18);cursor:default}.lightbox-caption{margin-top:1rem;color:#e9e4d6b3;font-size:.84rem;text-align:center;max-width:80vw}.draft-alert-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.85rem 1.15rem;margin-bottom:1.5rem;background:var(--surface-strong);border:1px solid var(--border-strong);font-size:.88rem;color:var(--text)}.draft-actions{display:flex;gap:.5rem}.draft-btn{padding:.25rem .75rem;font-size:.82rem;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;border-radius:0;transition:all .15s ease}.draft-btn.primary{background:var(--ink);color:var(--bg)}.draft-btn.primary:hover{background:var(--accent-strong)}.draft-btn:hover{background:var(--surface-muted)}.editor-view-switch{display:inline-flex;border:1px solid var(--border);background:var(--surface);border-radius:0}.editor-view-btn{padding:.3rem .75rem;font-size:.82rem;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;border-radius:0}.editor-view-btn:not(:last-child){border-right:1px solid var(--border)}.editor-view-btn.active{background:var(--ink);color:var(--bg)}.editor-split-container{display:grid;grid-template-columns:1fr;gap:1.25rem;min-height:480px}@media (min-width: 900px){.editor-split-container.mode-split{grid-template-columns:1fr 1fr}}.editor-preview-pane{border:1px solid var(--border);background:var(--surface);padding:1.25rem 1.5rem;overflow-y:auto;max-height:600px}.preview-eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem;border-bottom:1px solid var(--border);padding-bottom:.35rem}.editor-autosave-status{font-size:.78rem;color:var(--text-muted);letter-spacing:.03em}.footer{text-align:center;padding:1.4rem 1.25rem 1.8rem;margin-top:1rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.78rem;letter-spacing:.08em}.footer p{margin:.25rem 0}.footer-record{font-size:.74rem}.footer-link{color:var(--text-muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.footer-link:hover{color:var(--text);border-bottom-color:var(--border)}@media (max-width: 900px){.header-main{flex-direction:column;align-items:flex-start;gap:.9rem}.header-side{width:100%;justify-content:space-between}.search-box{max-width:none}.nav-button-group{justify-content:flex-start}}@media (max-width: 640px){.masthead-top span:last-child{display:none}.header-main{padding:.85rem 0 .75rem}.logo{font-size:1.4rem}.header-side{flex-direction:column;align-items:flex-start;gap:.4rem}.nav-button-group{row-gap:0}.main{padding:1.6rem .9rem 2.5rem}.post-card h2{font-size:1.25rem}.post-detail h1{font-size:1.8rem}.markdown-body{font-size:.97rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.01ms!important}}
