/*
Theme Name: Morohoshi
Description: 左侧设计师资料栏 + 右侧文章列表的现代 Typecho 主题。
Version: 1.0.0
Author: OpenAI
*/
:root{--bg:#f1f1ee;--panel:#fff;--ink:#111;--muted:#777;--line:#deded9;--accent:#ff5a22;--soft:#f7f7f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",Arial,sans-serif}a{color:inherit;text-decoration:none}.site-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;min-height:100vh;padding:26px}.sidebar,.content-panel{background:var(--panel);border-radius:28px}.sidebar{position:sticky;top:26px;height:calc(100vh - 52px);padding:34px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:14px}.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover}.avatar-letter{display:grid;place-items:center;background:#2563eb;color:#fff;font-size:26px;font-weight:700}.brand small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.brand strong{display:block;font-size:21px;line-height:1.15}.main-nav{margin-top:52px;display:grid;gap:9px}.main-nav a{display:flex;gap:18px;align-items:center;padding:12px 0;font-size:18px;font-weight:700;transition:.2s}.main-nav a span{width:25px;color:var(--accent);font-size:13px}.main-nav a:hover,.main-nav a.active{transform:translateX(6px);color:var(--accent)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:13px;line-height:1.7}.social-links{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.social-links a:hover{color:var(--accent)}.search input{width:100%;border:0;border-bottom:1px solid var(--line);padding:11px 0;background:transparent;font:inherit;outline:none}.content-panel{min-width:0;padding:42px 48px 26px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:10px 0 34px;border-bottom:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.18em}.page-head h1,.post-header h1{font-size:clamp(42px,7vw,88px);line-height:.95;letter-spacing:-.055em;margin:10px 0 0}.page-head p{max-width:240px;color:var(--muted);font-style:italic}.article-card{display:grid;grid-template-columns:1fr auto;gap:24px;border-bottom:1px solid var(--line);padding:30px 4px;transition:.2s}.article-card:hover{padding-left:14px;background:linear-gradient(90deg,var(--soft),transparent)}.article-meta{display:flex;gap:18px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.article-card h2{font-size:clamp(25px,3vw,43px);letter-spacing:-.035em;margin:15px 0 10px}.article-card p{max-width:720px;color:#686868;line-height:1.8;margin:0}.article-arrow{align-self:center;display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--line);border-radius:50%;font-size:22px}.article-card:hover .article-arrow{background:var(--accent);border-color:var(--accent);color:#fff}.pagination{padding:30px 0}.page-navigator{display:flex;gap:8px}.page-navigator a,.page-navigator .current{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid var(--line);border-radius:50%}.page-navigator .current{background:var(--ink);color:#fff}.site-footer{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:20px;margin-top:34px}.post-single{max-width:920px;margin:auto}.back-link{display:inline-block;color:var(--muted);margin-bottom:60px}.post-header{padding:15px 0 45px;border-bottom:1px solid var(--line)}.post-header h1{font-size:clamp(44px,7vw,82px)}.post-submeta{color:var(--muted);margin-top:20px}.post-content{font-size:17px;line-height:1.95;padding:42px 0}.post-content h2,.post-content h3{line-height:1.25;margin-top:2em}.post-content img{max-width:100%;height:auto;border-radius:18px}.post-content blockquote{margin:2em 0;padding:1px 0 1px 24px;border-left:4px solid var(--accent);color:#555}.post-content pre{overflow:auto;padding:20px;border-radius:14px;background:#171717;color:#f5f5f5}.post-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.post-tags a{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:99px;margin:0 5px 5px 0}.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:50px 0}.post-nav div:last-child{text-align:right}.comments-area{max-width:920px;margin:55px auto 0;border-top:1px solid var(--line);padding-top:35px}.comment-form{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comment-form input,.comment-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--soft);font:inherit}.comment-form button,.button{justify-self:start;border:0;border-radius:99px;background:var(--accent);color:#fff;padding:13px 20px;font-weight:700;cursor:pointer}.comment-list{list-style:none;padding:0}.comment-list li{padding:20px 0;border-bottom:1px solid var(--line)}.comment-author .avatar{width:38px;height:38px;margin-right:10px;vertical-align:middle}.comment-meta{font-size:12px;color:var(--muted);margin:10px 0}.comment-children{margin-left:30px}.empty-state{text-align:center;padding:100px 20px}.empty-state h1,.empty-state h2{font-size:48px;margin:10px}.error-page{min-height:65vh;display:grid;place-content:center;justify-items:center}.error-page .button{margin-top:15px}@media(max-width:900px){.site-shell{grid-template-columns:1fr;padding:14px}.sidebar{position:relative;top:auto;height:auto}.main-nav{margin-top:28px;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{margin-top:28px}.content-panel{padding:30px 24px}.page-head{align-items:flex-start;flex-direction:column}.page-head p{margin:0}.site-footer{gap:10px;flex-direction:column}}@media(max-width:560px){.sidebar{padding:24px}.content-panel{padding:25px 18px}.main-nav{grid-template-columns:1fr}.article-card{grid-template-columns:1fr}.article-arrow{display:none}.form-row{grid-template-columns:1fr}.post-nav{grid-template-columns:1fr}.post-nav div:last-child{text-align:left}}

/* Enhanced features */
:root { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; --bg:#171715; --panel:#1f1f1c; --text:#eceae4; --muted:#aaa69d; --line:#3a3934; }
:root[data-theme="dark"] body { background:#171715; color:#eceae4; }
:root[data-theme="dark"] .sidebar, :root[data-theme="dark"] .content-panel { background:#1f1f1c; border-color:#3a3934; }
:root[data-theme="dark"] a, :root[data-theme="dark"] h1, :root[data-theme="dark"] h2, :root[data-theme="dark"] h3, :root[data-theme="dark"] strong { color:#eceae4; }
:root[data-theme="dark"] .article-card, :root[data-theme="dark"] .post-nav, :root[data-theme="dark"] .site-footer { border-color:#3a3934; }
:root[data-theme="dark"] input, :root[data-theme="dark"] textarea, :root[data-theme="dark"] pre, :root[data-theme="dark"] .post-toc, :root[data-theme="dark"] .post-copyright { background:#282824; color:#eceae4; border-color:#45443e; }
.theme-toggle { width:100%; margin-top:14px; padding:10px 12px; background:transparent; border:1px solid currentColor; cursor:pointer; font:inherit; }
.mobile-menu-toggle { display:none; position:fixed; z-index:1001; top:14px; left:14px; width:42px; height:42px; border:1px solid #999; background:#fff; font-size:22px; cursor:pointer; }
.back-to-top { position:fixed; right:24px; bottom:24px; width:44px; height:44px; border:1px solid currentColor; border-radius:50%; background:var(--panel,#fff); color:inherit; opacity:0; pointer-events:none; transform:translateY(10px); transition:.2s; cursor:pointer; }
.back-to-top.show { opacity:1; pointer-events:auto; transform:none; }
.post-toc { margin:0 0 32px; padding:20px 24px; border:1px solid #ddd8ce; background:#faf9f6; }
.post-toc ol { margin:12px 0 0; padding-left:20px; }
.post-toc li { margin:7px 0; }
.post-toc .toc-h3 { margin-left:18px; font-size:.92em; }
.post-toc a { text-decoration:none; }
.post-copyright { margin:40px 0 24px; padding:20px 24px; border-left:3px solid currentColor; background:#f7f5f0; }
.post-copyright p { margin:8px 0; }
.post-copyright code { display:block; overflow-wrap:anywhere; font-size:12px; opacity:.7; }
.post-content pre { position:relative; }
.code-copy { position:absolute; top:8px; right:8px; padding:5px 9px; border:1px solid rgba(127,127,127,.45); background:rgba(255,255,255,.85); cursor:pointer; font-size:12px; }
.post-content h2, .post-content h3 { scroll-margin-top:24px; }
@media (max-width: 800px) {
  .mobile-menu-toggle { display:block; }
  .sidebar { position:fixed !important; z-index:1000; inset:0 auto 0 0; width:min(85vw,320px) !important; transform:translateX(-105%); transition:transform .25s ease; overflow-y:auto; }
  .sidebar.is-open { transform:none; }
  .content-panel { width:100% !important; }
  .site-shell { display:block !important; }
  .post-toc { padding:16px 18px; }
}
