@charset "UTF-8";
/* ==========================================================================
 * 水墨孤舟 (Ink & Solitude) - 终极大一统核心引擎
 * ========================================================================== */

@import url("//chinese-fonts-cdn.netlify.app/packages/maple-mono-cn/dist/MapleMono-CN-Regular/result.css");
@import url("//chinese-fonts-cdn.netlify.app/packages/syst/dist/SourceHanSerifCN/result.css");
@import url("//static-lab.6os.net/noto-color-emoji/1/result.css");

/* --------------------------------------------------------------------------
 * 1. 根变量与全局配色 (四时模式)
 * -------------------------------------------------------------------------- */
:root {
    --bg-color: #FFFFFF;
    --text-color: #333333;
    --link-color: #3354AA;
    --secondary-color: #999999;
    --border-color: #EEEEEE;
    --muted-color: #F5F5F5;
    --body-font-famliy: "Source Han Serif CN VF","Noto Color Emoji","Helvetica Neue",Helvetica,Arial,sans-serif;
    --code-font-famliy: "Maple Mono CN","Noto Color Emoji","Helvetica Neue",Helvetica,Arial,sans-serif;
}
[theme-mode="dark"] {
    --bg-color: #1E1E1E;
    --text-color: #A6A6A6;
    --link-color: #6B92C7;
    --secondary-color: #999999;
    --border-color: #383838;
    --muted-color: #2D2D2D;
}
[theme-mode="read"] {
    --bg-color: #F2F1EA;
    --text-color: #474135;
    --link-color: #4F6D96;
    --secondary-color: #594833;
    --border-color: #E8E6DE;
    --muted-color: #EBE9E0;
}

body { background-color: var(--bg-color); color: var(--text-color); font-family: var(--body-font-famliy); }
a { color: var(--link-color); text-decoration: none; transition: color 0.3s; }
a:active { color: var(--text-color); }
::selection { background: rgba(186, 48, 48, 0.15); color: #ba3030; }
::-moz-selection { background: rgba(186, 48, 48, 0.15); color: #ba3030; }

/* --------------------------------------------------------------------------
 * 2. 门楣与导航 (Header & Nav)
 * -------------------------------------------------------------------------- */
#header { padding: 50px 0 10px; position: relative; }
.ink-site-branding { display: flex; flex-direction: column; justify-content: center; }
#logo { font-family: 'Noto Serif SC', 'Songti SC', 'STSong', serif; font-size: 32px; font-weight: 900; color: #222; text-decoration: none; letter-spacing: 4px; line-height: 1.2; border: none !important; }
#logo:hover { color: #ba3030; }
.description { font-size: 13px; color: #888; letter-spacing: 2px; margin-top: 8px; font-style: italic; }

.site-helper { display: flex; justify-content: flex-end; align-items: center; gap: 15px; height: 100%; padding-bottom: 5px; }
#search { position: relative; display: flex; align-items: center; margin: 0 !important; }
#search input.text { border: none !important; border-bottom: 1px dashed #ccc !important; background: transparent !important; padding: 5px 0 !important; outline: none !important; width: 120px !important; font-size: 13px; color: #333; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: none !important; }
#search input.text:focus { width: 180px !important; border-bottom-style: solid !important; border-bottom-color: #555 !important; }
#search input.text::placeholder { color: #aaa; font-style: italic; }
#search button.submit { background: transparent !important; border: none !important; color: #888; font-size: 13px; cursor: pointer; padding: 0 0 0 8px !important; transition: color 0.3s; }
#search button.submit:hover { color: #ba3030; }

.ink-rss-btn { background: transparent !important; border: none !important; color: #888; cursor: pointer; padding: 5px 2px !important; margin: 0 !important; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; outline: none !important; height: 26px; }
.ink-rss-btn:hover { color: #ba3030; transform: scale(1.1); }
.ink-rss-icon { width: 16px; height: 16px; stroke-width: 2.2; }

#themeMode { appearance: none; -webkit-appearance: none; background: transparent !important; border: none !important; border-bottom: 1px solid transparent !important; color: #888; font-size: 12px; cursor: pointer; outline: none !important; padding: 5px 0 !important; margin: 0 !important; transition: color 0.3s; box-shadow: none !important; }
#themeMode:hover { color: #333; border-bottom-color: #ccc !important; }

#nav-menu { margin-top: 30px; padding-bottom: 12px; border-bottom: 1px solid transparent; border-image: linear-gradient(to right, transparent, rgba(0,0,0,0.08) 15%, rgba(0,0,0,0.08) 85%, transparent) 1; display: flex; flex-wrap: wrap; gap: 22px !important; }
#nav-menu a { position: relative; color: #555 !important; text-decoration: none !important; font-size: 15px; letter-spacing: 1px; transition: color 0.3s ease; padding: 0 0 4px 0 !important; margin: 0 !important; border: none !important; background: transparent !important; }
#nav-menu a:hover, #nav-menu a.current { color: #222 !important; font-weight: 600; }
#nav-menu a::after { content: ''; position: absolute; width: 4px; height: 4px; background: #ba3030; border-radius: 50%; bottom: -6px; left: 50%; transform: translateX(-50%) scale(0); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
#nav-menu a:hover::after, #nav-menu a.current::after { transform: translateX(-50%) scale(1); }

/* --------------------------------------------------------------------------
 * 3. 侧边栏 (Sidebar - 孤舟近况、股市、画树)
 * -------------------------------------------------------------------------- */
#sidebar { padding-top: 15px; word-wrap: break-word; }
.ink-widget { margin-bottom: 45px; width: 100%; }
.ink-widget-title { font-family: 'Noto Serif SC', 'Songti SC', 'STSong', serif; font-size: 16px; color: #444; font-weight: 600; padding-bottom: 10px; margin-bottom: 15px; border-bottom: 1px dashed rgba(0,0,0,0.1); letter-spacing: 2px; }

/* 孤舟近况 */
.ink-now-playing-sidebar { display: flex; align-items: flex-start; gap: 12px; padding: 15px; background: rgba(0,0,0,0.015); border: 1px dashed rgba(0,0,0,0.08); border-radius: 4px; transition: all 0.3s ease; }
.ink-now-playing-sidebar:hover { background: rgba(0,0,0,0.03); border-color: rgba(186, 48, 48, 0.3); }
.ink-now-dot { width: 6px; height: 6px; background: #ba3030; border-radius: 50%; margin-right: 8px; box-shadow: 0 0 0 rgba(186, 48, 48, 0.4); animation: inkPulse 2s infinite; }
@keyframes inkPulse { 0% { box-shadow: 0 0 0 0 rgba(186, 48, 48, 0.4); } 70% { box-shadow: 0 0 0 6px rgba(186, 48, 48, 0); } 100% { box-shadow: 0 0 0 0 rgba(186, 48, 48, 0); } }
.ink-now-cover { width: 40px; height: 56px; object-fit: cover; border-radius: 2px; filter: grayscale(80%); transition: filter 0.3s ease; }
.ink-now-playing-sidebar:hover .ink-now-cover { filter: grayscale(0%); }
.ink-now-info { display: flex; flex-direction: column; justify-content: center; }
.ink-now-title { font-family: 'Noto Serif SC', serif; font-size: 14px; font-weight: bold; color: #333; margin-bottom: 5px; line-height: 1.3; }
.ink-now-desc { font-size: 12px; color: #999; font-style: italic; }

/* 行情面板 */
.ink-market-board { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: rgba(0,0,0,0.015); padding: 15px; border: 1px dashed rgba(0,0,0,0.08); border-radius: 4px; }
.ink-stock-item { display: flex; flex-direction: column; background: #fff; padding: 10px; border: 1px solid rgba(0,0,0,0.05); border-radius: 2px; box-shadow: 0 2px 5px rgba(0,0,0,0.02); transition: transform 0.3s; }
.ink-stock-item:hover { transform: translateY(-3px); box-shadow: 0 5px 12px rgba(0,0,0,0.06); }
.ink-stock-name { font-size: 12px; color: #666; font-family: 'Noto Serif SC', serif; margin-bottom: 4px; font-weight: 600; }
.ink-stock-price { font-size: 15px; font-weight: bold; font-family: monospace; letter-spacing: -0.5px;}
.ink-stock-percent { font-size: 12px; font-family: monospace; font-weight: bold; margin-top: 2px; }
.ink-stock-up { color: #ba3030; } .ink-stock-down { color: #2ea169; } .ink-stock-flat { color: #888; }

/* 笔墨生花树 */
.shuimo-tree-card { position: relative; width: 100%; }
.tree-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 5px; padding-bottom: 10px; border-bottom: 1px dashed rgba(0,0,0,0.1); }
.tree-title { font-family: 'Noto Serif SC', serif; font-weight: 600; color: #444; font-size: 16px; letter-spacing: 2px; }
.tree-count { font-size: 12px; color: #999; font-style: italic; }
.tree-canvas-wrapper { position: relative; width: 100%; height: 180px; overflow: hidden; }
.ink-branch { position: absolute; bottom: 0; left: 0; width: 100%; height: 105%; filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.08)); }
.draw-path { stroke-dasharray: 200; stroke-dashoffset: 200; animation: growTree 1.5s cubic-bezier(0.2, 0.6, 0.3, 1) forwards; }
.branch1 { animation-delay: 0.3s; } .branch2 { animation-delay: 0.5s; } .branch3 { animation-delay: 0.7s; } .branch4 { animation-delay: 0.9s; }
@keyframes growTree { to { stroke-dashoffset: 0; } }
.ink-blossom { position: absolute; width: 7px; height: 7px; background: radial-gradient(circle at 30% 30%, #e8645e, #ba3030); border-radius: 40% 60% 60% 40% / 50% 50% 40% 60%; box-shadow: 0 0 6px rgba(186, 48, 48, 0.3); transform-origin: center; opacity: 0; cursor: pointer; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); animation: bloom 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards; }
.ink-blossom:hover { transform: scale(2.5) rotate(45deg) !important; box-shadow: 0 0 12px rgba(186, 48, 48, 0.6); z-index: 10; }
@keyframes bloom { 0% { transform: scale(0) rotate(-45deg); opacity: 0; } 100% { transform: scale(var(--final-scale)) rotate(var(--final-rotate)); opacity: var(--final-opacity); } }

/* 侧边栏列表 */
.ink-recent-posts { list-style: none; padding: 0; margin: 0; }
.ink-recent-posts li { position: relative; padding-left: 15px; margin-bottom: 12px; line-height: 1.5; }
.ink-recent-dot { position: absolute; left: 0; top: 8px; width: 4px; height: 4px; background: #ccc; border-radius: 50%; transition: background 0.3s; }
.ink-recent-posts li:hover .ink-recent-dot { background: #ba3030; }
.ink-recent-posts a { color: #666; font-size: 13px; text-decoration: none; transition: color 0.3s; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ink-recent-posts a:hover { color: #ba3030; }
.ink-tags-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.ink-tags-cloud a { display: inline-block; font-size: 12px !important; color: #777; background: rgba(0,0,0,0.03); padding: 4px 10px; border-radius: 2px; text-decoration: none; transition: all 0.3s ease; }
.ink-tags-cloud a:hover { background: #ba3030; color: #fff; }
.ink-friend-links { display: flex; flex-wrap: wrap; gap: 15px; }
.ink-friend-links a { font-size: 13px; color: #666; text-decoration: none; border-bottom: 1px dashed #ccc; padding-bottom: 2px; transition: all 0.3s ease; }
.ink-friend-links a:hover { color: #ba3030; border-bottom-color: #ba3030; border-bottom-style: solid; }

/* --------------------------------------------------------------------------
 * 4. 水墨陈列墙 (NeoDB) & 时间轴
 * -------------------------------------------------------------------------- */
.ink-wall-container { margin-top: 30px; border-top: 1px dashed rgba(0,0,0,0.1); padding-top: 30px; }
.ink-grid-wall { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 25px 20px; }
.ink-wall-card { text-decoration: none; display: block; transition: transform 0.3s; }
.ink-wall-card:hover { transform: translateY(-5px); }
.ink-wall-cover-wrap { position: relative; width: 100%; aspect-ratio: 3 / 4; border-radius: 4px; overflow: hidden; box-shadow: 0 4px 10px rgba(0,0,0,0.06); border: 1px solid rgba(0,0,0,0.05); }
.ink-wall-cover { width: 100%; height: 100%; object-fit: cover; filter: grayscale(70%) sepia(20%); transition: all 0.4s ease; }
.ink-wall-card:hover .ink-wall-cover { filter: grayscale(0%) sepia(0%); transform: scale(1.05); }
.ink-wall-rating { position: absolute; bottom: 0; left: 0; width: 100%; background: linear-gradient(to top, rgba(0,0,0,0.8), transparent); color: #fff; font-size: 11px; padding: 15px 8px 5px; font-family: monospace; opacity: 0; transition: opacity 0.3s; }
.ink-wall-card:hover .ink-wall-rating { opacity: 1; }
.ink-wall-title { margin-top: 10px; font-family: 'Noto Serif SC', serif; font-size: 13px; color: #444; text-align: center; line-height: 1.4; font-weight: bold; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ink-wall-card:hover .ink-wall-title { color: #ba3030; }
.ink-wall-notice, .ink-empty-state { text-align: center; color: #888; padding: 40px; border: 1px dashed rgba(0,0,0,0.1); border-radius: 4px; }

/* 时间轴 */
.ink-timeline-container { position: relative; padding-left: 20px; margin-bottom: 40px; }
.ink-timeline-container::before { content: ''; position: absolute; top: 10px; bottom: 0; left: 0; width: 1px; background: dashed 1px #ddd; border-left: 1px dashed #ccc; }
.ink-year-section { margin-bottom: 30px; position: relative; }
.ink-year-header { cursor: pointer; display: flex; align-items: center; margin-bottom: 15px; transition: opacity 0.3s ease; }
.ink-year-header:hover { opacity: 0.8; }
.ink-year-node { position: absolute; left: -24px; width: 9px; height: 9px; background: #ba3030; border-radius: 50%; box-shadow: 0 0 0 4px rgba(186, 48, 48, 0.1); transition: transform 0.3s ease; }
.ink-year-header.collapsed .ink-year-node { background: #999; box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05); }
.ink-year-text { font-family: 'Noto Serif SC', 'Songti SC', 'STSong', serif; font-size: 24px; font-weight: bold; color: #333; margin-right: 15px; }
.ink-post-count { font-size: 12px; color: #aaa; letter-spacing: 1px; }
.ink-year-content { padding-left: 15px; transition: all 0.3s ease; }
.ink-year-content.hidden { display: none; }
.ink-month-section { margin-bottom: 25px; }
.ink-month-header { cursor: pointer; font-size: 16px; color: #555; font-weight: 600; margin-bottom: 15px; position: relative; display: inline-block; }
.ink-month-header::after { content: '—'; position: absolute; right: -25px; color: #ccc; font-weight: normal; transition: transform 0.3s; }
.ink-month-header.collapsed::after { content: '+'; }
.ink-month-count { font-size: 12px; color: #999; font-weight: normal; margin-left: 5px; }
.ink-month-content { transition: all 0.3s ease; }
.ink-month-content.hidden { display: none; }
.ink-timeline-list { list-style: none; padding: 0; margin: 0; border-left: 2px solid #f5f5f5; padding-left: 15px; }
.ink-timeline-item { margin-bottom: 12px; display: flex; align-items: baseline; }
.ink-timeline-date { font-size: 12px; color: #999; min-width: 45px; margin-right: 10px; font-family: monospace; }
.ink-timeline-tag { font-family: 'Noto Serif SC', serif; font-size: 12px; margin-right: 8px; flex-shrink: 0; }
.post-tag { color: #ba3030; font-weight: bold; }
.neodb-tag { color: #888; font-style: italic; }
.ink-timeline-link { font-size: 14px; color: #555; text-decoration: none; transition: color 0.3s, transform 0.3s; display: inline-block; line-height: 1.5; }
.ink-timeline-link:hover { color: #ba3030; transform: translateX(3px); }

/* --------------------------------------------------------------------------
 * 5. 文章与评论基础 (保留原初结构)
 * -------------------------------------------------------------------------- */
.post { position: relative; padding: 1.5em 0 2em; border-bottom: 1px solid var(--border-color); }
.post-title { margin: .83em 0; font-size: 1.4em; line-height: 1.5; word-wrap: break-word; }
.post-meta { padding: 0; color: var(--secondary-color); font-size: .92857em; }
.post-meta li { display: inline-block; margin: 2px 5px 2px 0; }
.post-content { line-height: 1.8; word-wrap: break-word; }
.post-content h1, .post-content h2, .post-content h3 { padding-top: 1em; padding-bottom: 0.6em; }
.post-content p { padding-bottom: 0.6em; }
.post-content img { box-sizing: border-box; border: 1px dashed var(--border-color); padding: 4px; max-width: 100%; }
.post-content blockquote { margin-bottom: 1em; margin-top: -0.2em; }
#comments { margin-top: 2em; }
.comment-list li { padding: 14px; margin-top: 10px; border: 1px solid var(--border-color); }
.page-navigator { list-style: none; margin: 25px 0; padding: 0; text-align: center; }
.page-navigator li { display: inline-block; margin: 0 4px; }
.page-navigator a { display: inline-block; padding: 0 10px; height: 30px; line-height: 30px; }
.page-navigator .current a { color: var(--text-color); background-color: var(--border-color); }
#footer { margin-top: 3em; padding: 2em 0; line-height: 1.5; text-align: center; color: var(--secondary-color); border-top: 1px solid var(--border-color); }

/* 代码高亮 */
pre,code{font-family:var(--code-font-famliy);font-size:.92857em;}code{padding:2px 6px;color:#C7254E;background-color:#F9F2F4}pre{overflow:auto;max-height:400px;background-color:#FAFAFA}pre code{padding:3px;background-color:transparent;color:var(--text-color)}.hljs{color:#383A42;background-color:#FAFAFA}

/* --------------------------------------------------------------------------
 * 6. 暗色模式适配大一统 (Dark Mode)
 * -------------------------------------------------------------------------- */
body[theme-mode="dark"] #logo { color: #ddd; }
body[theme-mode="dark"] #logo:hover { color: #ba3030; }
body[theme-mode="dark"] #search input.text { color: #ccc; border-bottom-color: #555 !important; }
body[theme-mode="dark"] #search input.text:focus { border-bottom-color: #aaa !important; }
body[theme-mode="dark"] #themeMode { color: #888; }
body[theme-mode="dark"] #themeMode:hover { color: #ccc; border-bottom-color: #555 !important; }
body[theme-mode="dark"] #themeMode option { background: #222; color: #ddd; }
body[theme-mode="dark"] #nav-menu { border-image: linear-gradient(to right, transparent, rgba(255,255,255,0.08) 15%, rgba(255,255,255,0.08) 85%, transparent) 1; }
body[theme-mode="dark"] #nav-menu a { color: #aaa !important; }
body[theme-mode="dark"] #nav-menu a:hover, body[theme-mode="dark"] #nav-menu a.current { color: #eee !important; }
body[theme-mode="dark"] .ink-rss-btn { color: #888; }
body[theme-mode="dark"] .ink-rss-btn:hover { color: #ccc; }

body[theme-mode="dark"] .ink-widget-title { color: #ccc; border-bottom-color: rgba(255,255,255,0.1); }
body[theme-mode="dark"] .ink-now-playing-sidebar { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.05); }
body[theme-mode="dark"] .ink-now-playing-sidebar:hover { border-color: #883333; }
body[theme-mode="dark"] .ink-now-title { color: #ccc; }
body[theme-mode="dark"] .ink-market-board { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.05); }
body[theme-mode="dark"] .ink-stock-item { background: rgba(0,0,0,0.2); border-color: rgba(255,255,255,0.05); }
body[theme-mode="dark"] .ink-stock-name { color: #999; }
body[theme-mode="dark"] .ink-stock-up { color: #d85c5c; }
body[theme-mode="dark"] .ink-stock-down { color: #43c080; }
body[theme-mode="dark"] .tree-title { color: #ccc; }
body[theme-mode="dark"] .tree-header { border-bottom-color: rgba(255,255,255,0.1); }
body[theme-mode="dark"] .draw-path { stroke: #666; }
body[theme-mode="dark"] .ink-recent-dot { background: #444; }
body[theme-mode="dark"] .ink-recent-posts a { color: #999; }
body[theme-mode="dark"] .ink-recent-posts a:hover { color: #ba3030; }
body[theme-mode="dark"] .ink-tags-cloud a { background: rgba(255,255,255,0.05); color: #999; }
body[theme-mode="dark"] .ink-tags-cloud a:hover { background: #ba3030; color: #fff; }
body[theme-mode="dark"] .ink-friend-links a { color: #888; border-bottom-color: #444; }
body[theme-mode="dark"] .ink-friend-links a:hover { color: #ba3030; border-bottom-color: #ba3030; }

body[theme-mode="dark"] .ink-wall-title { color: #ccc; }
body[theme-mode="dark"] .ink-wall-card:hover .ink-wall-title { color: #ba3030; }
body[theme-mode="dark"] .ink-wall-container { border-top-color: rgba(255,255,255,0.05); }
body[theme-mode="dark"] .ink-wall-cover-wrap { border-color: rgba(255,255,255,0.05); box-shadow: 0 4px 10px rgba(0,0,0,0.2); }

body[theme-mode="dark"] .ink-article-title { color: #ddd; }
body[theme-mode="dark"] .ink-timeline-container::before { border-left-color: #333; }
body[theme-mode="dark"] .ink-year-text { color: #ccc; }
body[theme-mode="dark"] .ink-year-header.collapsed .ink-year-node { background: #555; box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.05); }
body[theme-mode="dark"] .ink-month-header { color: #aaa; }
body[theme-mode="dark"] .ink-timeline-list { border-left-color: #333; }
body[theme-mode="dark"] .ink-timeline-date { color: #777; }
body[theme-mode="dark"] .neodb-tag { color: #666; }
body[theme-mode="dark"] .ink-timeline-link { color: #999; }
body[theme-mode="dark"] .ink-timeline-link:hover { color: #ba3030; }

body[theme-mode="dark"] pre, body[theme-mode="dark"] .hljs { background-color: #282C34; color: #ABB2BF; }

/* --------------------------------------------------------------------------
 * 7. 移动端极致适配 (Mobile Queries)
 * -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    #header { padding: 25px 0 10px; }
    .ink-site-branding { align-items: center; text-align: center; }
    .site-helper { justify-content: center; margin-top: 20px; width: 100%; flex-wrap: wrap; gap: 15px;}
    #search input.text { width: 120px !important; }
    #search input.text:focus { width: 140px !important; }

    #nav-menu { flex-wrap: nowrap !important; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 5px !important; justify-content: flex-start; gap: 25px !important; margin-top: 20px; border-image: none !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; }
    #nav-menu::-webkit-scrollbar { display: none; } 
    #nav-menu { -ms-overflow-style: none; scrollbar-width: none; }
    #nav-menu a { flex-shrink: 0; font-size: 15px; } 

    .ink-post-item { padding: 25px 0; }
    .ink-post-title a { font-size: 20px; }
    .ink-article-title { font-size: 24px; line-height: 1.4; margin-bottom: 15px; }
    .ink-article-content { font-size: 15px; line-height: 1.8; text-align: left; } 
    .ink-article-content blockquote { padding: 10px 15px; margin: 1.5em 0; }
    .ink-article-content img { margin: 1.5em auto; }
    .ink-post-meta, .ink-article-meta { gap: 6px; justify-content: flex-start; line-height: 1.8; }
    .ink-separator { margin: 0 4px; }

    #sidebar { margin-top: 40px; padding-top: 40px; border-top: 1px dashed rgba(0,0,0,0.1); padding-left: 0; }
    .ink-input-grid { grid-template-columns: 1fr; gap: 15px; }
    
    body[theme-mode="dark"] #nav-menu { border-bottom-color: rgba(255,255,255,0.05) !important; }
}
