:root {
  --content-width:1180px; --bg:#eef2ef; --surface:#f8faf7; --surface-solid:#fff; --text:#172a2b; --muted:#536a69;
  --faint:#cbd6d0; --accent:#007568; --accent-hover:#005b50; --tint:#dceee6; --blue:#147cb3;
  --radius:2px; --shadow:none; color-scheme:light;
}
:root[data-theme="night"] {
  --bg:#101d21; --surface:#15272a; --surface-solid:#193034; --text:#e1efea; --muted:#a1b8b6;
  --faint:#304b4e; --accent:#72d9b0; --accent-hover:#a4f1cf; --tint:#203e38; --blue:#6ebdee;
  color-scheme:dark;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; color:var(--text); background:var(--bg); font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; font-size:15px; line-height:1.75; -webkit-font-smoothing:antialiased; overflow-wrap:break-word; }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.35; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237c9486' opacity='.13' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
button,input,textarea { font:inherit; }
button,a,input,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; } button:disabled { opacity:.6; cursor:wait; }
a { color:var(--accent); text-decoration:none; text-underline-offset:5px; } a:hover { color:var(--accent-hover); }
:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
[hidden] { display:none!important; }
img { max-width:100%; object-fit:cover; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-weight:650; line-height:1.4; letter-spacing:-.035em; }
h2 { font-size:27px; } h3 { font-size:21px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:16px; top:-100px; z-index:500; padding:12px 20px; background:var(--surface-solid); } .skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:100; background:color-mix(in srgb,var(--bg) 95%,transparent); border-bottom:1px solid var(--faint); backdrop-filter:blur(12px); }
.menu-container,.site-main,.site-footer { width:min(1180px,calc(100% - 80px)); margin-inline:auto; }
.menu-container { height:82px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--text); font-size:20px; font-weight:700; line-height:1.2; }
.brand-mark { border-radius:50%; border:1px solid var(--faint); width:38px; height:38px; }
.brand-en { display:block; font-size:9px; letter-spacing:.17em; margin-top:4px; color:var(--muted); font-weight:500; }
.menu-function { display:flex; align-items:center; gap:17px; }
.menu-list { display:flex; gap:27px; list-style:none; padding:0; margin:0 8px 0 0; }
.menu-item { display:block; position:relative; color:var(--muted); font-size:13px; padding:28px 0; }
.menu-item.active { color:var(--text); font-weight:650; }
.menu-item.active::after { content:""; position:absolute; height:3px; bottom:-1px; left:0; right:0; background:var(--accent); }
.nav-divider { height:18px; width:1px; background:var(--faint); }
.icon-button { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:0; border-radius:2px; background:transparent; color:var(--text); font-size:24px; }
.icon-button:hover { background:var(--tint); } .rss-link { color:var(--muted); font-size:10px; letter-spacing:.1em; } .hamburger { display:none; }
.hero { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr); gap:40px; min-height:465px; align-items:center; padding:40px 0 32px; }
.site-address { display:flex; align-items:center; gap:10px; font:11px/1.5 Consolas,monospace; letter-spacing:.16em; color:var(--muted); margin:0 0 30px; }
.site-address>span { width:8px; height:8px; background:var(--accent); box-shadow:11px 0 var(--blue); margin-right:11px; }
.hero h1 { font-size:clamp(44px,4.9vw,72px); font-weight:650; line-height:1.08; letter-spacing:-.06em; margin:0 0 20px; }
.hero-name { display:block; } .latin-name { display:block; font-family:Arial,sans-serif; font-size:1.12em; font-weight:500; color:var(--blue); margin:9px 0 23px; }
.hero-subtitle { display:block; font-size:17px; font-weight:500; letter-spacing:.15em; }
.hero-desc { color:var(--muted); font-size:14px; margin-bottom:0; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:27px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:44px; border:1px solid transparent; border-radius:2px; padding:10px 20px; font-size:13px; font-weight:600; transition:background .18s; }
.button.primary { background:var(--accent); color:var(--bg); } .button.primary:hover { background:var(--accent-hover); }
.button.secondary { background:var(--surface); color:var(--accent); border-color:var(--faint); }
.text-link { font-size:12px; font-weight:500; } .text-link:hover { text-decoration:underline; }
.hero-note { margin:24px 0 0; font-size:11px; color:var(--muted); }
.hero-feature { display:block; position:relative; color:var(--text); background:var(--surface); border:1px solid var(--faint); padding:18px; margin:0 15px 0 0; }
.hero-feature::before { content:""; position:absolute; inset:9px -9px -9px 9px; border:1px solid var(--accent); z-index:-1; }
.feature-meta { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; color:var(--muted); font-size:10px; }
.hero-feature img { display:block; width:100%; height:auto; aspect-ratio:460/215; }
.feature-caption { padding-top:20px; position:relative; }
.feature-caption>p { font-size:10px; color:var(--muted); margin:0 0 8px; }
.feature-caption h2 { font-size:23px; color:var(--text); padding-right:30px; margin:0 0 5px; }
.feature-caption>span { position:absolute; right:0; bottom:3px; font-size:24px; color:var(--accent); }
.hero-feature:hover { border-color:var(--accent); }
.home-index { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--text); margin-bottom:43px; }
.home-index a { display:flex; gap:22px; align-items:center; padding:18px 22px; color:var(--text); font-size:13px; border-right:1px solid var(--faint); }
.home-index a:first-child { padding-left:0; } .home-index a:last-child { border:0; }
.home-index a>span:first-child { font:11px Consolas,monospace; color:var(--accent); } .home-index a>span:last-child { margin-left:auto; color:var(--muted); } .home-index a:hover { background:var(--tint); }
.home-grid { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:54px; align-items:start; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:0; padding:0 0 20px; border-bottom:1px solid var(--text); }
.section-heading h2 { margin:0; font-size:24px; } .section-heading .text-link { font-size:11px; }
.post-list { counter-reset:posts; }
.post-card { position:relative; padding:26px 0 26px 44px; border-bottom:1px solid var(--faint); counter-increment:posts; }
.post-list .post-card::before { content:counter(posts,decimal-leading-zero); position:absolute; top:28px; left:0; color:var(--muted); font:11px/1.8 Consolas,monospace; }
.post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:15px; color:var(--muted); font-size:11px; margin:0 0 10px; }
time { font-variant-numeric:tabular-nums; }
.tag { display:inline-flex; align-items:center; gap:7px; font-size:10px; color:var(--accent); } .tag::before { content:""; width:4px; height:4px; background:currentColor; }
.post-card h3 { font-size:22px; margin:0 0 10px; } .post-card h3 a { color:var(--text); } .post-card h3 a:hover { color:var(--accent); }
.post-card p { color:var(--muted); font-size:13px; margin:0 0 14px; } .post-card .text-link { font-size:11px; }
.panel { background:var(--surface); border:1px solid var(--faint); border-radius:var(--radius); }
.profile-card { padding:26px 22px; position:relative; border-top:3px solid var(--accent); }
.profile-card img { width:62px; height:62px; margin:0 0 21px; border-radius:50%; }
.profile-card h2 { font-size:20px; margin:0 0 8px; } .profile-card p { font-size:12px; color:var(--muted); }
.profile-tags { display:flex; flex-wrap:wrap; gap:6px 14px; margin:22px 0; } .profile-tags span { color:var(--muted); font-size:10px; }
.profile-tags span::before { content:"/"; color:var(--accent); margin-right:6px; }
.side-note { margin-top:20px; padding:23px 22px; background:transparent; }
.side-note h3 { font-size:16px; margin:0 0 16px; } .side-note ul { list-style:none; padding:0; margin:0; font-size:12px; color:var(--muted); } .side-note li { display:flex; align-items:center; gap:10px; margin-top:11px; }
.status-dot { width:5px; height:5px; display:inline-block; background:var(--accent); }.status-dot.violet,.status-dot.blue { background:var(--blue); }
.support-card { display:flex; align-items:center; gap:15px; border-bottom:1px solid var(--faint); padding:22px 5px; color:var(--text); }.support-card>span { font-size:28px; color:var(--accent); }.support-card strong { font-size:13px; font-weight:600; }.support-card p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.projects-section { margin-top:45px; }.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding-top:24px; }
.project-card { display:block; color:var(--text); }.project-art { position:relative; aspect-ratio:460/215; overflow:hidden; background:var(--tint); }.project-art img { display:block; width:100%; height:100%; transition:transform .3s; }.project-card:hover .project-art img { transform:scale(1.025); }
.project-platform { position:absolute; bottom:0; right:0; color:white; background:#102428e6; padding:5px 10px; font-size:9px; letter-spacing:.08em; }
.project-copy { padding:17px 0; border-bottom:1px solid var(--faint); }.project-copy h3 { font-size:17px; margin:0 0 6px; }.project-copy p { font-size:11px; color:var(--muted); margin:0; }
.comment-container { padding:30px; margin:48px 0 0; }.comment-container .section-heading h2 { font-size:24px; }.muted { color:var(--muted); }.small { font-size:11px; }
.comment-form { display:grid; gap:19px; margin-top:24px; }label { display:block; font-size:12px; margin-bottom:7px; }label .muted { font-size:10px; }
input,textarea { width:100%; color:var(--text); background:var(--bg); border:1px solid var(--faint); border-radius:2px; padding:12px 14px; font-size:14px; }input::placeholder,textarea::placeholder { color:var(--muted); opacity:.85; }textarea { resize:vertical; min-height:110px; }
.form-actions { display:flex; align-items:center; justify-content:space-between; gap:15px; }.status { font-size:13px; color:var(--accent); margin:18px 0; }.status:empty { display:none; }.comment-list { margin:26px 0 15px; color:var(--muted); font-size:13px; }.comment-item { padding:20px 0; border-top:1px solid var(--faint); }.comment-nick { font-size:14px; font-weight:600; color:var(--text); }.comment-content { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text); margin:7px 0; }.comment-time { font-size:10px; color:var(--muted); }
.page-intro { padding:62px 0 24px; }.page-intro h1 { font-size:44px; margin:0 0 16px; }.page-intro>p:last-child { font-size:14px; color:var(--muted); }
.archive-tools { display:flex; gap:24px; justify-content:space-between; border-block:1px solid var(--faint); padding:20px 0; margin:18px 0; }.filter-group { display:flex; flex-wrap:wrap; gap:8px; }.filter-group button { min-height:42px; border:1px solid transparent; border-radius:2px; background:transparent; color:var(--muted); padding:8px 14px; font-size:12px; }.filter-group button[aria-pressed="true"] { color:var(--bg); background:var(--accent); }.filter-group button:hover { border-color:var(--accent); }
.search-box { width:280px; position:relative; margin:0; }.search-box input { height:42px; padding-right:40px; font-size:13px; }.search-box>span:last-child { position:absolute; right:13px; top:0; font-size:26px; color:var(--muted); }
.archive-list { display:grid; grid-template-columns:1fr; margin-top:24px; border-top:1px solid var(--text); }.archive-list .post-card { display:grid; grid-template-columns:170px 1fr auto; column-gap:30px; padding:30px 0; }.archive-list .post-meta { grid-column:1; grid-row:1/4; flex-direction:column; align-items:flex-start; gap:10px; margin:3px 0; }.archive-list h3 { grid-column:2; font-size:23px; }.archive-list p { grid-column:2; margin:0; }.archive-list .text-link { grid-column:3; grid-row:1/3; align-self:center; }
.reading-layout { max-width:810px; margin:45px auto 0; }.reading-layout>a { font-size:12px; }.article-container { padding:43px 48px; margin:24px 0; border-top:3px solid var(--accent); }.article-header { border-bottom:1px solid var(--faint); padding-bottom:24px; margin-bottom:30px; }.article-header h1 { font-size:34px; margin:17px 0 24px; }.article-author { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); margin:0; }.article-author img { border-radius:50%; }
.article-content { font-size:16px; line-height:2; overflow-wrap:anywhere; }.article-content p { margin:0 0 1.3em; }.article-content a { text-decoration:underline; }.article-content ul { padding-left:24px; }.article-content li { margin:7px 0; }.article-footer { margin-top:36px; color:var(--muted); font-size:11px; }
.post-neighbors { display:grid; grid-template-columns:1fr 1fr; gap:20px; }.post-neighbors a { border-block:1px solid var(--faint); padding:18px 0; }.post-neighbors strong { display:block; font-size:13px; color:var(--text); }.eyebrow { font-size:10px; letter-spacing:.1em; color:var(--muted); }
.about-layout { display:grid; grid-template-columns:220px 1fr; gap:50px; padding:44px; border-top:3px solid var(--accent); }.about-photo { text-align:center; }.about-photo img { border-radius:50%; }.about-photo span { display:block; font-size:10px; color:var(--muted); margin:20px 0; }
.friend-container { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }.friend-card { display:flex; align-items:flex-start; gap:16px; padding:25px 20px; min-width:0; transition:border-color .2s; }.friend-card:hover { border-color:var(--accent); }.friend-card img { width:48px; height:48px; border-radius:50%; flex-shrink:0; }.friend-card>div { min-width:0; }.friend-card h2 { font-size:16px; color:var(--text); margin:0 0 6px; }.friend-card p { font-size:11px; color:var(--muted); line-height:1.8; margin:0; }.friend-card>span { margin-left:auto; font-size:12px; }.friend-info { margin-top:32px; padding:30px; }.friend-info h2 { font-size:23px; }.friend-info p,.friend-info dl { font-size:13px; }.friend-info dl>div { display:flex; gap:20px; margin-top:8px; }.friend-info dt { min-width:30px; color:var(--muted); }.friend-info dd { margin:0; }
.support-links { padding:32px; }.support-links>h2 { font-size:24px; }.donate-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; list-style:none; padding:0; margin:24px 0; }.donate-grid li { border:1px solid var(--faint); }.donate-grid h3 { font-size:14px; margin:0; }.donate-grid a { display:block; padding:17px; }.donate-grid a:hover { background:var(--tint); }.support-links>.muted { font-size:12px; }
.site-footer { display:grid; grid-template-columns:1fr auto; gap:12px 25px; border-top:1px solid var(--text); margin-top:65px; padding:28px 0 60px; font-size:11px; color:var(--muted); }.footer-brand { color:var(--text); font-size:15px; }.site-footer p { margin:0; grid-row:2; }.site-footer>div { display:flex; align-items:center; gap:15px; grid-column:2; grid-row:1; }.site-footer a:not(.footer-brand) { color:var(--muted); }.site-footer small { text-align:right; grid-column:2; font-size:10px; }
.live2d-dock { position:fixed; bottom:0; left:0; z-index:90; width:240px; max-width:100%; }
body.has-live2d .site-main,body.has-live2d .site-footer { width:min(var(--content-width,1120px),calc(100% - var(--live2d-rail,264px) - 24px)); margin-left:max(var(--live2d-rail,264px),calc((100% - var(--content-width,1120px)) / 2)); margin-right:auto; }
.live2d-controls { position:absolute; bottom:12px; left:10px; z-index:1; min-height:38px; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.widget-button { color:var(--text); background:var(--surface-solid); border:1px solid var(--faint); border-radius:22px; padding:8px 12px; min-height:38px; font-size:11px; box-shadow:0 3px 10px #00000020; }
#live2dSkin { order:-1; flex:0 0 38px; width:38px; height:38px; min-height:38px; padding:0; border:2px solid #ffffffc9; border-radius:50%; background:linear-gradient(135deg,#4fd66f,#24a148); box-shadow:0 3px 10px #00000040; }
#live2dSkin[data-skin="blue"] { background:linear-gradient(135deg,#52b7ff,#2563eb); }
.live2d-controls p { flex-basis:100%; margin:0; font-size:11px; background:var(--surface-solid); border-radius:8px; }
.live2d-controls p:empty { display:none; }
.live2d-dock .live2d-controls { left:10px; bottom:12px; }
#live2dCanvas { display:block; position:relative; width:100%; height:var(--model-height,340px); pointer-events:none; }
#backToTop { position:fixed; bottom:18px; right:18px; z-index:110; background:var(--surface-solid); border:1px solid var(--faint); font-size:21px; }
.empty-page { text-align:center; padding:70px 0; }.empty-star { font-size:95px; color:var(--accent); }.empty-page h1 { font-size:32px; }.empty-page p { color:var(--muted); }.empty-page .button { margin:20px; }
@media (max-width:1000px) {
  .menu-list { gap:18px; }.menu-function { gap:12px; }.hero { grid-template-columns:1.3fr 1fr; gap:25px; }.home-grid { gap:30px; grid-template-columns:minmax(0,1fr) 230px; }.hero h1 { font-size:57px; }.hero-desc { font-size:12px; }.friend-container { grid-template-columns:1fr 1fr; }.archive-list .post-card { grid-template-columns:120px 1fr auto; gap:12px 24px; }
}
@media (max-width:760px) {
  .menu-container,.site-main,.site-footer { width:calc(100% - 40px); }.menu-container { height:70px; gap:12px; }.brand { font-size:18px; }.brand-mark { width:32px; height:32px; }.brand-en { font-size:8px; }.menu-function { gap:5px; }.nav-divider,.rss-link { display:none; }.hamburger { display:inline-flex; font-size:20px; }.menu-list { display:none; position:absolute; top:63px; right:20px; width:190px; margin:0; padding:10px; gap:0; flex-direction:column; border:1px solid var(--faint); background:var(--surface-solid); }.menu-list.show { display:flex; }.menu-item { padding:11px 15px; }.menu-item.active { background:var(--tint); }.menu-item.active::after { display:none; }
  .hero { grid-template-columns:1fr; gap:22px; padding:35px 0 25px; min-height:0; }.site-address { font-size:10px; margin-bottom:24px; }.hero h1 { font-size:52px; }.latin-name { margin:8px 0 20px; }.hero-subtitle { font-size:15px; }.hero-desc { font-size:13px; }.hero-note { font-size:10px; }.home-index { margin-bottom:30px; }.home-index a { gap:9px; font-size:11px; padding:15px 10px; }.home-index a>span:first-child { font-size:9px; }.home-grid { display:block; }.section-heading { padding-bottom:16px; }.section-heading h2 { font-size:23px; }.post-card { padding:23px 0 23px 32px; }.post-card h3 { font-size:20px; }.post-card p { font-size:12px; }.post-list .post-card::before { top:26px; font-size:10px; }.post-meta { font-size:10px; gap:12px; }.projects-section { margin-top:32px; }.project-grid { gap:16px; }.project-copy h3 { font-size:15px; }.project-copy p { font-size:10px; }.project-platform { font-size:8px; }.sidebar { margin-top:34px; }.profile-card { display:grid; grid-template-columns:60px 1fr; gap:8px 20px; padding:23px; }.profile-card img { grid-row:1/3; margin:0; }.profile-card h2 { font-size:19px; margin:0; }.profile-card p { margin:0; }.profile-tags { margin:8px 0; grid-column:1/-1; }.profile-card .text-link { grid-column:1/-1; }.side-note { display:none; }.support-card { padding:20px 5px; }
  .comment-container { padding:23px 20px; margin-top:34px; }.comment-container .section-heading h2 { font-size:23px; }.form-actions { flex-direction:column; align-items:flex-start; }.form-actions .button { align-self:flex-end; }input,textarea,.search-box input { font-size:16px; }
  .page-intro { padding:38px 0 15px; }.page-intro h1 { font-size:34px; }.page-intro>p:last-child { font-size:13px; }.archive-tools { flex-direction:column; gap:15px; padding:16px 0; }.filter-group { gap:4px; }.filter-group button { font-size:11px; padding:8px 11px; }.search-box { width:100%; }.archive-list .post-card { display:block; padding:24px 0; }.archive-list .post-meta { flex-direction:row; margin:0 0 12px; }.archive-list h3 { font-size:21px; }.archive-list p { margin:0 0 13px; }.archive-list .text-link { display:inline-block; }
  .reading-layout { margin-top:28px; }.article-container { padding:26px 22px; }.article-header h1 { font-size:27px; }.article-content { font-size:15px; }.post-neighbors { gap:16px; }.post-neighbors strong { font-size:12px; }.about-layout { display:block; padding:30px 24px; }.about-photo { margin-bottom:26px; }.about-photo img { width:145px; height:145px; }.friend-container { grid-template-columns:1fr; gap:12px; }.friend-info { padding:24px; }.support-links { padding:24px; }.donate-grid { grid-template-columns:1fr 1fr; gap:10px; }.donate-grid a { padding:14px; font-size:12px; }
  .site-footer { display:flex; flex-direction:column; gap:13px; margin-top:45px; padding:25px 0 70px; }.site-footer small { text-align:left; }.site-footer p { font-size:10px; }.site-footer>div { gap:10px; }#backToTop { right:12px; bottom:12px; }
  html:not(.js) .menu-container { height:auto; min-height:70px; flex-wrap:wrap; padding:15px 0; }html:not(.js) .menu-function { width:100%; }html:not(.js) .menu-list { display:flex; position:static; width:100%; flex-direction:row; flex-wrap:wrap; padding:0; border:0; }html:not(.js) .hamburger,html:not(.js) #nightToggle,html:not(.js) .live2d-controls { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

@media (max-width:760px) {
  .hero-feature { margin:5px 9px 10px 0; padding:14px; }
  .feature-caption h2 { font-size:20px; }
  .project-grid { grid-template-columns:1fr; }
  .home-index a { flex-wrap:wrap; gap:6px; font-size:10px; padding:13px 8px; }
  .home-index a>span:last-child { display:none; }
}
@media (max-width:599px) {
  body.has-live2d .site-main,body.has-live2d .site-footer { width:calc(100% - var(--live2d-rail,110px) - 16px); }
  .live2d-dock .live2d-controls { left:5px; bottom:8px; gap:5px; }
  .live2d-dock .widget-button { min-height:30px; padding:5px 8px; font-size:10px; }
  .live2d-dock #live2dSkin { width:30px; height:30px; min-height:30px; flex-basis:30px; padding:0; }
  .hero h1 { font-size:clamp(34px,10vw,48px); }
  .profile-card { display:block; padding:20px; }.profile-card img { margin-bottom:12px; }.profile-card h2 { margin-bottom:8px; }
  .home-index { grid-template-columns:1fr; }.home-index a { padding:10px 0; border-right:0; border-bottom:1px solid var(--faint); gap:15px; }.home-index a>span:last-child { display:inline; }
  .donate-grid { grid-template-columns:1fr; }.post-neighbors { grid-template-columns:1fr; }.friend-card { flex-wrap:wrap; }.site-footer>div { flex-wrap:wrap; }
  .hero-actions { gap:18px; }.hero-actions .button { padding-inline:14px; gap:14px; }
}
@media (orientation:portrait) {
  .live2d-dock { display:none; }
  body.has-live2d .site-main,body.has-live2d .site-footer { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
}

.filter-group a { display:inline-block; padding:7px 12px; color:var(--muted); border:1px solid transparent; font-size:12px; }
.filter-group a[aria-current="true"] { color:var(--accent); background:var(--tint); border-color:var(--faint); }
#archiveSearch { margin:0; }
.search-box button { background:transparent; border:0; padding:5px 10px; color:var(--accent); cursor:pointer; }
.archive-pagination { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--faint); padding:22px 0; font-size:12px; color:var(--muted); }
.article-content img { max-width:100%; height:auto; }
.article-content pre { overflow:auto; padding:18px; background:var(--tint); }
.article-content table { width:100%; border-collapse:collapse; }
.article-content td,.article-content th { padding:9px; border:1px solid var(--faint); }
