:root{--bg:#f5fbff;--surface:#ffffffd1;--surface-solid:#fff;--surface-soft:#e9f6fd;--ink:#183d56;--muted:#6d899b;--accent:#58a3cf;--accent-deep:#347da9;--line:#5291b838;--danger:#b55462;--shadow:0 18px 60px #3671951a}:root[data-theme=dark]{--bg:#102532;--surface:#183646e0;--surface-solid:#173747;--surface-soft:#1c4255;--ink:#e8f6fc;--muted:#a8c4d2;--accent:#81c4e7;--accent-deep:#9bd2ee;--line:#9ecde42e;--danger:#ef9da7;--shadow:0 18px 60px #0003}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 88% 3%, #9ad5f55c, transparent 31rem), var(--bg);color:var(--ink);margin:0;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #4da3d54d}.site-header{z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1160px,100% - 48px);height:88px;margin:auto;display:grid;position:relative}.brand{align-items:center;gap:11px;width:max-content;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#86caef,#4a98c6);border-radius:15px;place-items:center;width:42px;height:42px;font-family:serif;display:grid;box-shadow:0 9px 24px #397eab33}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.12em;font-family:Songti SC,STSong,serif;font-size:17px}.brand small{color:var(--muted);letter-spacing:.26em;margin-top:2px;font-size:8px}.site-header nav{gap:40px;display:flex}.site-header nav a,.small-link{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:13px;text-decoration:none}.site-header nav a:hover,.small-link:hover{color:var(--ink)}.header-actions{justify-self:end;align-items:center;gap:14px;display:flex}.header-actions form{display:flex}.icon-button{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:13px}.hero{width:min(1160px,100% - 48px);min-height:650px;margin:auto;padding:120px 0 80px;position:relative}.hero-copy{max-width:720px}.eyebrow{color:var(--accent);letter-spacing:.18em;font-size:11px;font-weight:700}.hero h1{letter-spacing:-.04em;margin:22px 0 25px;font-family:Songti SC,STSong,serif;font-size:clamp(58px,7vw,92px);font-weight:500;line-height:1.15}.hero h1 em{color:var(--accent);font-style:normal}.hero-copy>p{max-width:540px;color:var(--muted);font-family:Songti SC,STSong,serif;font-size:17px;line-height:2}.hero-actions{align-items:center;gap:30px;margin-top:34px;display:flex}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#70bae4,#438ebd);border:0;border-radius:14px;justify-content:center;align-items:center;min-height:44px;padding:0 20px;font-size:13px;font-weight:650;text-decoration:none;display:inline-flex;box-shadow:0 12px 28px #3e89b833}.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.7}.text-link{color:var(--accent-deep);font-size:13px;text-decoration:none}.hero-note{background:var(--surface);width:200px;min-height:170px;box-shadow:var(--shadow);border:1px solid #ffffffb3;border-radius:34px 34px 55px;padding:38px 32px;position:absolute;top:240px;right:85px;transform:rotate(4deg)}.hero-note span,.hero-note strong{font-family:Songti SC,serif;display:block}.hero-note span{color:var(--muted);font-size:13px}.hero-note strong{margin-top:8px;font-size:23px;font-weight:500}.hero-note i{color:var(--accent);font-style:normal;position:absolute;bottom:20px;right:26px}.section{border-top:1px solid var(--line);width:min(1160px,100% - 48px);margin:auto;padding:100px 0}.section-heading{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.section h2,.about-card h2,.guestbook h2{margin:9px 0 0;font-family:Songti SC,serif;font-size:clamp(36px,4vw,52px);font-weight:500}.search-form{gap:8px;display:flex}.search-form input,.search-form button{border:1px solid var(--line);background:var(--surface);height:42px;color:var(--ink);border-radius:13px}.search-form input{width:230px;padding:0 14px}.search-form button{cursor:pointer;padding:0 16px}.filter-row{gap:8px;margin:35px 0 24px;display:flex;overflow-x:auto}.filter-row a{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:12px;padding:8px 16px;font-size:12px;text-decoration:none}.filter-row a.active,.filter-row a:hover{border-color:var(--line);background:var(--surface);color:var(--ink)}.article-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.article-card{border:1px solid var(--line);background:var(--surface);border-radius:27px;min-height:380px;padding:28px;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 14px 44px #4077990f}.article-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.article-meta{color:var(--muted);letter-spacing:.06em;gap:13px;font-size:10px;display:flex}.article-meta>*+*{border-left:1px solid var(--line);padding-left:13px}.card-number{color:color-mix(in srgb, var(--accent) 16%, transparent);font:italic 56px Georgia,serif;position:absolute;top:20px;right:24px}.article-card h3{min-height:64px;margin:48px 0 16px;font-family:Songti SC,serif;font-size:22px;line-height:1.45}.article-card h3 a{text-decoration:none}.article-card>p{color:var(--muted);font:13px/1.9 Songti SC,serif}.card-footer{justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:52px;left:28px;right:28px}.card-footer a{color:var(--accent-deep);font-size:12px;text-decoration:none}.card-footer span{color:var(--muted);font-size:9px}.tag-row{color:var(--accent-deep);flex-wrap:wrap;gap:8px;font-size:10px;display:flex}.article-card>.tag-row{position:absolute;bottom:24px;left:28px}.empty-state{text-align:center;color:var(--muted);grid-column:1/-1;padding:70px}.about-section{background:linear-gradient(145deg,#dff2fd,#cce9f8 60%,#e9f6fc);padding:85px 24px}:root[data-theme=dark] .about-section{background:linear-gradient(145deg,#16394b,#1d495d)}.about-card{background:var(--surface);width:min(1060px,100%);box-shadow:var(--shadow);border:1px solid #ffffff73;border-radius:34px;grid-template-columns:200px 1fr 230px;align-items:center;gap:48px;margin:auto;padding:50px;display:grid}.portrait{aspect-ratio:4/5;color:#ffffffd9;background:linear-gradient(160deg,#a8d8ef,#72b5d8);border-radius:100px 100px 30px 30px;place-items:center;font-size:62px;display:grid}.about-card h2{font-size:36px;line-height:1.4}.about-card p,.about-card blockquote{color:var(--muted);font:14px/2 Songti SC,serif}.about-card blockquote{border-left:1px solid var(--line);margin:0;padding:20px}.guestbook{grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.guestbook-copy{padding-top:25px}.guestbook-copy p{max-width:340px;color:var(--muted);font:14px/2 Songti SC,serif}.guestbook-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:27px;padding:26px}.comment-form{gap:12px;display:grid}.comment-form label{color:var(--muted);gap:8px;font-size:11px;display:grid}.comment-form textarea{border:1px solid var(--line);resize:vertical;background:var(--bg);width:100%;color:var(--ink);border-radius:15px;padding:14px;line-height:1.7}.form-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.form-row small{color:var(--muted)}.comment-list{gap:10px;margin-top:24px;display:grid}.comment-card{border:1px solid var(--line);background:color-mix(in srgb, var(--surface-solid) 70%, transparent);border-radius:16px;grid-template-columns:36px 1fr;gap:11px;padding:14px;display:grid}.avatar,.profile-avatar{background:var(--surface-soft);width:36px;height:36px;color:var(--accent-deep);border-radius:12px;place-items:center;font-size:12px;font-weight:700;display:grid}.comment-card strong{margin-right:10px;font-size:11px}.comment-card time{color:var(--muted);font-size:9px}.comment-card p{color:var(--muted);white-space:pre-wrap;margin:6px 0 0;font:12px/1.7 Songti SC,serif}footer{border-top:1px solid var(--line);width:min(1160px,100% - 48px);color:var(--muted);justify-content:space-between;margin:auto;padding:38px 0 50px;font-size:10px;display:flex}footer a{text-decoration:none}.reader{border:1px solid var(--line);background:var(--surface);width:min(760px,100% - 40px);box-shadow:var(--shadow);border-radius:32px;margin:40px auto 100px;padding:clamp(36px,7vw,78px)}.back-link{color:var(--muted);margin-bottom:45px;font-size:12px;text-decoration:none;display:inline-block}.reader>h1{margin:23px 0 18px;font:500 clamp(36px,6vw,54px)/1.3 Songti SC,serif}.reader-lead{border-left:2px solid var(--accent);color:var(--muted);padding-left:18px;font:15px/1.9 Songti SC,serif}.reader>.tag-row{margin:25px 0 40px}.markdown-body{color:var(--ink);font:16px/2.1 Songti SC,serif}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1.8em 0 .7em;font-family:Songti SC,serif;line-height:1.4}.markdown-body img{border-radius:18px;max-width:100%}.markdown-body pre{color:#dceef7;background:#102432;border-radius:15px;padding:18px;font:13px/1.7 monospace;overflow-x:auto}.markdown-body code{background:var(--surface-soft);border-radius:5px;padding:.15em .35em;font-family:monospace}.markdown-body pre code{background:0 0;padding:0}.markdown-body blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1.5em 0;padding-left:18px}.reader-divider{color:var(--accent);align-items:center;gap:12px;margin:48px 0;display:flex}.reader-divider:before,.reader-divider:after{content:"";background:var(--line);flex:1;height:1px}.comments-heading{justify-content:space-between;align-items:center;display:flex}.comments-heading h2{font:500 23px Songti SC,serif}.comments-heading span{color:var(--muted);font-size:10px}.auth-page{place-items:center;min-height:100vh;padding:60px 20px;display:grid}.auth-card{border:1px solid var(--line);background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow);border-radius:30px;padding:42px}.auth-brand{margin-bottom:42px}.auth-card h1{margin:10px 0;font:500 38px Songti SC,serif}.auth-card>p{color:var(--muted);margin:0 0 26px;font-size:13px}.auth-card>small{color:var(--muted);text-align:center;margin-top:22px;display:block}.auth-form{gap:17px;display:grid}.auth-form label,.editor-form label{color:var(--muted);gap:7px;font-size:11px;display:grid}.auth-form input,.editor-form input,.editor-form textarea,.editor-form select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);border-radius:13px;padding:12px 14px}.auth-form label small{color:var(--muted)}.form-error{color:var(--danger);margin:0;font-size:12px}.profile-card{border:1px solid var(--line);background:var(--surface);width:min(560px,100% - 40px);box-shadow:var(--shadow);text-align:center;border-radius:30px;margin:80px auto;padding:55px}.profile-avatar{border-radius:24px;width:72px;height:72px;margin:30px auto 12px;font-size:24px}.profile-card h1{margin:0;font:500 32px Songti SC,serif}.profile-card>p{color:var(--muted)}.profile-stats{border:1px solid var(--line);border-radius:18px;grid-template-columns:1fr 1fr;margin:35px 0;display:grid}.profile-stats span{padding:22px;font-size:18px}.profile-stats span+span{border-left:1px solid var(--line)}.profile-stats small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.admin-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;gap:8px;min-height:100vh;padding:28px 18px;display:flex}.admin-brand{margin:0 8px 34px}.admin-sidebar>button,.admin-sidebar>a{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;padding:12px 14px;font-size:13px;text-decoration:none}.admin-sidebar>button:hover,.admin-sidebar>button.active,.admin-sidebar>a:hover{background:var(--surface-soft);color:var(--ink)}.admin-sidebar>a{margin-top:auto}.admin-content{min-width:0;padding:44px}.admin-heading{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.admin-heading h1{margin:8px 0 0;font:500 36px Songti SC,serif}.admin-grid{grid-template-columns:270px 1fr;align-items:start;gap:20px;display:grid}.post-list{gap:9px;max-height:calc(100vh - 160px);display:grid;overflow-y:auto}.post-list article{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-items:center;padding:12px;display:flex}.post-list article.selected{border-color:var(--accent)}.post-list article>button:first-child{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;flex:1}.post-list strong,.post-list span{display:block}.post-list strong{font-size:12px}.post-list span{color:var(--muted);margin-top:5px;font-size:9px}.danger-link{color:var(--danger);cursor:pointer;background:0 0;border:0;font-size:10px}.editor-form{border:1px solid var(--line);background:var(--surface);border-radius:22px;gap:16px;padding:28px;display:grid}.editor-topline{justify-content:space-between;align-items:center;display:flex}.editor-topline h2{margin:0;font:500 24px Songti SC,serif}.editor-topline select{border:1px solid var(--line);background:var(--bg);width:auto;color:var(--ink);border-radius:11px;padding:9px 12px}.two-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.editor-form textarea{resize:vertical;line-height:1.7}.markdown-editor{min-height:460px;font-family:ui-monospace,monospace;font-size:13px}.editor-actions{justify-content:space-between;align-items:center;display:flex}.form-message{color:var(--muted);font-size:11px}.moderation-list,.settings-grid{gap:14px;display:grid}.moderation-list article,.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px}.comment-meta{align-items:center;gap:12px;font-size:10px;display:flex}.comment-meta span,.comment-meta time{color:var(--muted)}.moderation-list p{font:14px/1.8 Songti SC,serif}.moderation-list small{color:var(--muted)}.moderation-list article>div:last-child{align-items:center;gap:8px;margin-top:15px;display:flex}.moderation-list button{border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;border-radius:9px;padding:7px 12px;font-size:10px}.status{border-radius:8px;margin-left:auto;padding:5px 9px;font-size:9px}.status-pending{color:#806423;background:#fff0c9}.status-approved{color:#36714a;background:#dff5e7}.status-rejected{color:#914757;background:#f7e1e5}.settings-grid{grid-template-columns:repeat(3,1fr)}.settings-card h2{margin-top:0;font:500 22px Songti SC,serif}.settings-card p{color:var(--muted);font-size:12px;line-height:1.8}.settings-card form{gap:12px;display:grid}.settings-card input[type=file]{border:1px dashed var(--line);border-radius:12px;padding:14px}.settings-card code{background:var(--bg);border-radius:10px;padding:12px;font-size:11px;display:block;overflow-x:auto}@media (max-width:980px){.article-grid{grid-template-columns:1fr}.article-card{min-height:310px}.about-card{grid-template-columns:150px 1fr}.about-card blockquote{grid-column:1/-1}.guestbook{grid-template-columns:1fr;gap:35px}.admin-grid{grid-template-columns:1fr}.post-list{max-height:260px}.settings-grid{grid-template-columns:1fr}}@media (max-width:720px){.site-header,.hero,.section,footer{width:calc(100% - 32px)}.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{min-height:630px;padding-top:90px}.hero h1{font-size:53px}.hero-note{width:165px;min-height:130px;padding:25px;top:440px;right:14px}.section{padding:75px 0}.section-heading{flex-direction:column;align-items:stretch}.search-form input{width:100%}.about-section{padding:65px 16px}.about-card{grid-template-columns:1fr;padding:27px}.portrait{justify-self:center;width:145px}.about-card blockquote{grid-column:auto}.guestbook-panel{padding:18px}footer{flex-direction:column;gap:12px}.reader{border-left:0;border-right:0;border-radius:0;width:100%;margin:0;padding:65px 22px}.auth-card{padding:30px 22px}.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;min-height:auto;padding:12px;overflow-x:auto}.admin-brand{display:none}.admin-sidebar>button,.admin-sidebar>a{white-space:nowrap}.admin-sidebar>a{margin-top:0;margin-left:auto}.admin-content{padding:24px 15px}.admin-heading{align-items:flex-start;gap:14px}.admin-heading h1{font-size:30px}.editor-form{padding:18px}.two-columns{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
