:root{font-family:Microsoft YaHei,PingFang SC,Noto Sans SC,Arial,sans-serif;color:#25384d;background:#dbeefa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.85),transparent 26rem),linear-gradient(180deg,#c8e7f8,#eef7fb 38%,#e8f2ec)}body[data-site-background=paper]{background-color:#f4f8fa;background-image:linear-gradient(rgba(173,202,213,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(173,202,213,.22) 1px,transparent 1px),linear-gradient(180deg,#fafdfe,#edf5f6);background-size:26px 26px,26px 26px,auto}body[data-site-background=dots]{background-color:#edf7fb;background-image:radial-gradient(rgba(94,151,178,.24) 1px,transparent 1px),linear-gradient(180deg,#fafdff,#e6f2f7);background-size:18px 18px,auto}body[data-site-background=mint]{background:radial-gradient(circle at 82% 4%,rgba(255,255,255,.88),transparent 25rem),linear-gradient(145deg,#d8f0e7,#f0f8f5 52%,#dbeef8)}body[data-site-background=midnight]{background:radial-gradient(circle at 78% 8%,rgba(237,205,125,.2),transparent 15rem),radial-gradient(circle at 18% 25%,rgba(159,198,235,.2),transparent 18rem),linear-gradient(160deg,#1c3349,#2e4d67 56%,#142638)}body[data-site-background-custom=true]{position:relative;isolation:isolate;background-color:#e8f0e5;background-image:none}body[data-site-background-custom=true]:before,body[data-site-background-custom=true]:after{position:fixed;inset:-16px;z-index:-2;content:"";pointer-events:none}body[data-site-background-custom=true]:before{background-image:var(--site-background-image);background-position:center var(--site-background-position, top);background-repeat:no-repeat;background-size:cover;filter:blur(var(--site-background-blur, 0))}body[data-site-background-custom=true]:after{z-index:-1;background:rgba(242,249,244,var(--site-background-overlay, .48))}a{color:inherit;text-decoration:none}:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(45,120,179,.52);outline-offset:2px}.skip-link{position:fixed;z-index:60;top:8px;left:8px;padding:8px 11px;border:1px solid #2d78b3;border-radius:5px;background:#fff;color:#17466b;font-size:12px;font-weight:700;transform:translateY(-160%);transition:transform .12s ease}.skip-link:focus{transform:translateY(0)}body[data-public-protection=enabled] .page-shell{-webkit-user-select:none;user-select:none}body[data-public-protection=enabled] .page-shell input,body[data-public-protection=enabled] .page-shell textarea,body[data-public-protection=enabled] .page-shell select,body[data-public-protection=enabled] .page-shell [contenteditable=true]{-webkit-user-select:text;user-select:text}body[data-public-protection=enabled] .page-shell img{-webkit-user-drag:none}.page-shell{width:min(1180px,calc(100% - 28px));margin:24px auto;border:1px solid #8fb8d3;border-radius:10px;background:#ffffffb8;box-shadow:0 18px 48px #3d6b8938;overflow:clip}.masthead{position:relative;overflow:hidden;min-height:172px;border-bottom:1px solid #82b4d4;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent),linear-gradient(135deg,#82c5ef,#d6f1ff 56%,#fff6d9)}.masthead.has-custom-image{background-image:linear-gradient(90deg,#ffffffd1,#ffffff75 48%,#ffffff29),var(--masthead-image);background-position:center;background-size:cover}.masthead.has-custom-image:before{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#ffffff1f,#1431461f);pointer-events:none}.masthead.has-custom-image .skyline{display:none}.skyline{position:absolute;inset:0}.sun{position:absolute;right:74px;top:30px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,#fff7a9,#ffd66b 58%,#ffc44300 70%)}.cloud{position:absolute;width:170px;height:54px;border-radius:99px;background:#ffffffb8;filter:blur(.2px)}.cloud:before,.cloud:after{position:absolute;content:"";border-radius:50%;background:inherit}.cloud:before{left:28px;top:-22px;width:72px;height:72px}.cloud:after{right:26px;top:-12px;width:58px;height:58px}.cloud-a{left:52px;top:36px}.cloud-b{right:230px;top:82px;transform:scale(.72);opacity:.68}.masthead-content{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;min-height:172px;padding:32px 34px 28px}.masthead-side{display:grid;justify-items:end;gap:9px;color:#2f5873;text-align:right}.masthead-side p{margin:0;max-width:260px;font-size:14px;line-height:1.7;text-shadow:0 1px 0 rgba(255,255,255,.7)}.paper-plane{font-size:26px;transform:rotate(-12deg);filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}@media(min-width:721px){.paper-plane{transform:translate(-4px) rotate(-12deg)}}.masthead h1{margin:0;color:#17466b;font-size:clamp(28px,4vw,44px);letter-spacing:0;text-shadow:0 2px 0 rgba(255,255,255,.75)}.masthead p{margin:10px 0 0;color:#42667f;font-size:15px}.mail-tag{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid rgba(75,130,166,.35);border-radius:999px;background:#ffffff9e;color:#315873;font-size:13px;white-space:nowrap}.language-switcher{display:inline-flex;align-items:center;gap:7px;max-width:100%;color:#315873;font-size:12px;font-weight:700}.language-switcher span{white-space:nowrap}.language-switcher select{min-width:132px;max-width:190px;min-height:32px;padding:5px 9px;border:1px solid rgba(75,130,166,.35);border-radius:6px;background:#ffffffb8;color:#315873;font:inherit;font-weight:600}.masthead-language{justify-self:end}html[dir=rtl] .top-nav{direction:rtl}html[dir=rtl] .masthead-side{justify-items:start;text-align:right}html[dir=rtl] .masthead-language{justify-self:start}html[dir=rtl] .read-more svg,html[dir=rtl] .software-empty-actions svg,html[dir=rtl] .software-back-link svg{transform:scaleX(-1)}.top-nav{display:flex;flex-wrap:wrap;gap:1px;padding:0 18px;border-top:1px solid rgba(255,255,255,.82);border-bottom:1px solid #a8c7d9;background:linear-gradient(180deg,#fff,#d9edf8)}.top-nav a{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;border-left:1px solid rgba(142,183,207,.45);color:#24516f;font-size:14px;font-weight:700}.top-nav a:last-child{border-right:1px solid rgba(142,183,207,.45)}.top-nav a:hover{background:#ffffffb3;color:#0d6ca2}.top-nav a.active{background:linear-gradient(180deg,#6eb1dc,#2d78b3);color:#fff;box-shadow:inset 0 1px #ffffff6b}.layout{display:grid;grid-template-columns:228px minmax(0,1fr) 254px;gap:14px;padding:14px;background:linear-gradient(90deg,rgba(255,255,255,.55),transparent 12%,transparent 88%,rgba(255,255,255,.55)),#eff7fb}.layout.layout-single{grid-template-columns:minmax(0,1fr)}.layout.layout-left-only{grid-template-columns:228px minmax(0,1fr)}.layout.layout-right-only{grid-template-columns:minmax(0,1fr) 254px}.module,.diary-panel,.notice{border:1px solid #b6cfe0;border-radius:6px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 1px #ffffffe6,0 8px 22px #577b9114}.left-column,.right-column{display:grid;align-content:start;gap:12px}.module h2,.section-title{margin:0;border-bottom:1px solid #b6cfe0;background:linear-gradient(180deg,#e9f7ff,#cce8f6);color:#1f587b}.module h2{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 10px;font-size:14px}.module h2>span,.section-actions,.item-actions{display:inline-flex;align-items:center;gap:7px}.module-body{padding:12px}.profile{text-align:center}.avatar{display:grid;place-items:center;width:82px;height:82px;margin:0 auto 10px;overflow:hidden;border:4px solid #eaf7ff;border-radius:18px;background:linear-gradient(135deg,#8ccaf0,#fff3b8);color:#17466b;font-size:34px;font-weight:800;box-shadow:0 8px 18px #44789a2e}.avatar img,.about-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile h3,.software-list h3{margin:0;color:#214c68;font-size:15px}.profile p{margin:8px 0 10px;color:#5d7180;font-size:13px;line-height:1.7}.status{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px dashed #a7c6d8;border-radius:5px;background:#f5fbff;color:#3b627b;font-size:12px}.link-list,.plain-list,.archive-list{margin:0;padding:0;list-style:none}.link-list li,.plain-list li,.archive-list li{padding:8px 0;border-bottom:1px dotted #c8d9e3;color:#48677b;font-size:13px}.link-list li{display:flex;justify-content:space-between}.link-list li>a{display:flex;align-items:center;justify-content:space-between;width:100%;color:inherit}.link-list li>a:hover{color:#0d6ca2}.link-list span{color:#7a96a8}.link-list .category-label{color:inherit}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:10px}.calendar span{display:grid;place-items:center;min-height:24px;border:1px solid #d7e8f1;border-radius:3px;background:#f8fcff;color:#6b8393;font-size:12px}.calendar span.active{border-color:#70aed2;background:#d9effb;color:#13547a;font-weight:700}.calendar-caption{display:block;margin:-3px 0 9px;color:#7892a0;font-size:11px;text-align:right}.main-column{display:grid;align-content:start;gap:12px}.notice{display:flex;align-items:center;gap:8px;padding:10px 12px;border-style:dashed;background:#fffdf1;color:#775f22;font-size:13px}.subpage-intro,.subpage-panel{border:1px solid #b6cfe0;border-radius:6px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 1px #ffffffe6,0 8px 22px #577b9114}.subpage-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;background:linear-gradient(135deg,#ffffffe0,#e6f5fceb),#fff}.subpage-intro h2,.subpage-heading h2{margin:3px 0 0;color:#1f587b;font-size:22px}.subpage-intro p,.subpage-heading p{margin:6px 0 0;color:#688091;font-size:13px;line-height:1.7}.subpage-intro>strong{color:#2d78b3;font-size:18px;white-space:nowrap}.eyebrow{color:#6e9bb5;font-size:11px;font-weight:800;letter-spacing:.12em}.subpage-panel{overflow:hidden}.subpage-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #c1d8e5;background:linear-gradient(180deg,#f5fcff,#e3f3fb);color:#4a7a95}.subpage-heading>svg{flex:0 0 auto;margin-top:7px}.category-overview{overflow:visible}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.category-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px;border:1px solid #c9dfe9;border-radius:5px;background:#f9fdff;color:#3c6c84;transition:border-color .12s ease,background .12s ease,transform .12s ease}.category-card:hover,.category-card.active{border-color:#72afd1;background:#eaf7fd;color:#17628c;transform:translateY(-1px)}.category-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.category-card b{color:#7898a9;font-size:12px}.filter-badge{align-self:center;padding:5px 8px;border:1px solid #9fc3d8;border-radius:4px;background:#fff;color:#3f7591;font-size:12px;white-space:nowrap}.subpage-software-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px}.comment-board{display:grid;gap:8px;margin:0;padding:16px;list-style:none}.comment-form{margin:0 16px 16px;padding:14px;border:1px dashed #9fc3d8;border-radius:6px;background:#f8fcff}.comment-form-heading,.comment-form-footer,.comment-form-footer>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.comment-form-heading{align-items:flex-start;margin-bottom:12px}.comment-form-heading h3{margin:3px 0 0;color:#28556f;font-size:16px}.comment-form-heading p{margin:5px 0 0;color:#78909e;font-size:12px}.anonymous-badge{padding:5px 8px;border:1px solid #b4d2e1;border-radius:999px;background:#fff;color:#4b7891;font-size:12px;white-space:nowrap}.comment-form-grid{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:10px}.comment-field{display:grid;align-content:start;gap:5px;color:#4b7188;font-size:13px;font-weight:700}.comment-field input,.comment-field textarea{width:100%;border:1px solid #aacbdd;border-radius:5px;background:#fff;color:#25384d;font:inherit;font-size:13px}.comment-field input{height:34px;padding:0 9px}.comment-field textarea{min-height:74px;padding:8px 9px;resize:vertical}.comment-form-footer{align-items:flex-end;margin-top:10px}.comment-form-footer small{color:#8397a4;font-size:11px}.comment-form-footer>div{justify-content:flex-end}.comment-form-status{font-size:12px}.comment-form-status.success{color:#236b45}.comment-form-status.error{color:#9b2f2f}.comment-character-count{color:#8397a4;font-size:11px;white-space:nowrap}.comment-item{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #d3e3ec;border-radius:5px;background:#f8fcff;color:#4f6f80;font-size:13px;line-height:1.7}.comment-item.pinned{border-color:#e6c87b;background:#fffdf3}.comment-item svg{flex:0 0 auto;margin-top:2px;color:#5c9bc0}.comment-item>span{min-width:0;white-space:pre-wrap;word-break:break-word}.comment-date{display:block;margin-top:4px;color:#839aa7;font-size:11px}.comment-reply{display:block;margin-top:6px;padding:6px 8px;border-left:2px solid #6da886;background:#f0f8f2;color:#4b765a;font-size:12px}.comment-reply b{margin-right:4px}.comment-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.comment-item .comment-pin-badge{flex:none;margin:0 0 0 auto}.comment-pin-badge{display:inline-flex;align-items:center;padding:3px 6px;border-radius:4px;background:#fff0c4;color:#9a6d1f;font-size:10px;font-weight:700;white-space:nowrap}.subpage-note{margin:0;padding:0 16px 16px;color:#8397a4;font-size:12px}.about-profile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:20px}.about-avatar{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border:4px solid #eaf7ff;border-radius:20px;background:linear-gradient(135deg,#8ccaf0,#fff3b8);color:#17466b;font-size:38px;font-weight:800;box-shadow:0 8px 18px #44789a2e}.about-profile h3{margin:0;color:#214c68;font-size:19px}.about-profile p{margin:8px 0 11px;color:#5d7180;font-size:14px;line-height:1.8}.about-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0 20px 18px;gap:10px}.about-details div{padding:11px 12px;border:1px solid #d3e3ec;border-radius:5px;background:#f8fcff}.about-details dt{color:#7892a0;font-size:12px}.about-details dd{margin:5px 0 0;color:#315d79;font-size:13px;font-weight:700;line-height:1.6}.empty-state{display:grid;justify-items:center;gap:6px;padding:34px 18px;color:#7490a0;text-align:center}.empty-state svg{color:#6ba9c9}.empty-state strong{color:#466d82;font-size:14px}.empty-state span{font-size:12px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 13px}.section-title h2{display:flex;align-items:center;gap:8px;margin:0;color:#1f587b;font-size:18px}.section-title a{color:#477996;font-size:13px}.diary-search-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 13px;border-bottom:1px solid #d4e4ec;background:#f8fcfe;color:#668697}.diary-search-bar input{width:100%;min-height:34px;padding:6px 9px;border:1px solid #b7d0dc;border-radius:5px;background:#fff;color:#29475b;font:inherit;font-size:13px}.diary-search-bar span{font-size:12px;white-space:nowrap}.diary-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:9px 13px;border-bottom:1px solid #d4e4ec;background:#fbfdfe}.diary-filters label{display:grid;gap:4px;color:#698696;font-size:11px;font-weight:700}.diary-filters select{min-width:142px;height:30px;padding:0 7px;border:1px solid #b7d0dc;border-radius:5px;background:#fff;color:#315d76;font:inherit;font-size:12px}.diary-filters>button{min-height:30px;padding:4px 9px;color:#477996;font-size:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border-top:1px solid #d4e4ec;color:#698696;font-size:12px}.pagination button{display:inline-flex;align-items:center;gap:4px}.diary{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:16px 14px;border-bottom:1px dotted #bfd3df;content-visibility:auto;contain-intrinsic-size:180px}.diary-meta{min-width:0}.diary-meta-with-toc{position:sticky;top:12px;align-self:start;z-index:2}.diary:last-child{border-bottom:0}.diary.pinned{background:linear-gradient(90deg,rgba(255,250,221,.86),transparent 72%)}.diary-date{overflow:hidden;border:1px solid #99c4dc;border-radius:6px;background:#fff;text-align:center;box-shadow:inset 0 0 0 1px #ffffffe6}.diary-date span{display:block;padding:3px 0;background:linear-gradient(180deg,#79bde4,#3c8fc2);color:#fff;font-size:12px;font-weight:700}.diary-date b{display:block;padding:10px 5px;color:#24516f;font-size:14px;line-height:1.5}.diary-date small{display:block;padding-bottom:5px;color:#8aa0ad;font-size:11px}.diary-toc-sidebar{max-height:calc(100vh - 120px);margin-top:10px;padding:9px 8px 10px;overflow-y:auto;border:1px solid #c7dce7;border-radius:6px;background:#f7fbfd;text-align:left}.diary-toc-sidebar h4{margin:0 0 7px;color:#315d76;font-size:12px;line-height:1.4}.diary-toc-sidebar ol{margin:0;padding-left:0;list-style:none}.diary-toc-sidebar li{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:4px;margin:3px 0;color:#7390a2;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.diary-toc-sidebar li.diary-toc-sidebar-subitem{margin-left:0}.diary-toc-index{color:#7390a2;font-variant-numeric:tabular-nums;text-align:right}.diary-toc-sidebar li.diary-toc-sidebar-subitem a{padding-left:8px}.diary-toc-sidebar li.diary-toc-sidebar-attachment{list-style:none}.diary-toc-sidebar a{display:block;color:#39789a;text-decoration:none}.diary-toc-sidebar a:hover{color:#0d6ca2;text-decoration:underline}.diary-title-row{display:flex;align-items:center;gap:8px}.diary h3{margin:0;color:#173f5a;font-size:18px;line-height:1.45}.pin{padding:2px 6px;border:1px solid #edbf69;border-radius:4px;background:#fff4ca;color:#936715;font-size:12px}.publication-status{display:inline-flex;align-items:center;max-width:100%;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:800;line-height:1.35;white-space:nowrap}.publication-status.private{border:1px solid #d2c0e5;background:#f6f0fc;color:#76539d}.publication-status.scheduled{border:1px solid #a9cfdf;background:#edf8fc;color:#317595;overflow:hidden;text-overflow:ellipsis}.diary p,.diary-rich-content{margin:8px 0 12px;color:#586f7e;font-size:14px;line-height:1.85}.diary-rich-content .diary-toc{margin:14px 0 18px;padding:12px 14px;border:1px solid #bfd6e3;border-radius:6px;background:#f5fbfe}.diary-rich-content .diary-toc-title{margin:0 0 7px;color:#315d76;font-size:14px}.diary-rich-content .diary-toc ol{margin:0;padding-left:22px}.diary-rich-content .diary-toc li{margin:2px 0;padding-left:2px}.diary-rich-content .diary-toc li.diary-toc-level-2{color:#315d76;font-weight:700}.diary-rich-content .diary-toc li.diary-toc-level-3{margin-left:18px;font-size:13px}.diary-rich-content .diary-toc a{color:#39789a;text-decoration:none}.diary-rich-content .diary-toc a:hover{color:#0d6ca2;text-decoration:underline}.diary-rich-content p,.diary-rich-content h1,.diary-rich-content h2,.diary-rich-content h3,.diary-rich-content blockquote{margin:0 0 10px}.diary-rich-content img,.diary-rich-content video{display:block;max-width:100%;margin:10px 0;border-radius:5px}.diary-rich-content video{width:min(100%,640px)}.diary-rich-content blockquote{padding:8px 12px;border-left:3px solid #74abc4;background:#f2f9fc;color:#607f8d}.diary-rich-content .table-wrapper{margin:14px 0 18px;overflow-x:auto;border:1px solid #c8dce6;border-radius:6px;background:#fff}.diary-rich-content table{width:100%;min-width:560px;border-collapse:collapse;color:#586f7e;font-size:13px;line-height:1.65}.diary-rich-content th,.diary-rich-content td{padding:8px 10px;border-bottom:1px solid #dbe8ee;text-align:left;vertical-align:top}.diary-rich-content th{background:#eef7fb;color:#315d76;font-weight:700}.diary-rich-content tbody tr:nth-child(2n){background:#fbfdfe}.diary-rich-content tbody tr:last-child td{border-bottom:0}.diary-rich-content th:first-child,.diary-rich-content td:first-child{width:116px;white-space:nowrap}.pinned-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:start;margin-top:10px}.pinned-body p{margin-top:0}.pinned-thumb{position:relative;overflow:hidden;min-height:108px;border:4px solid #fff;border-radius:5px;background:linear-gradient(145deg,transparent 55%,rgba(59,111,76,.42) 56%),linear-gradient(135deg,#8fc9f0,#e9f8ff 42%,#b4db8c 43%,#e7d18a);box-shadow:0 0 0 1px #b6cfe0,0 7px 14px #52778e2e}.pinned-thumb:before{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;background:#fff3a8;content:""}.pinned-thumb span{position:absolute;left:20px;bottom:20px;width:112px;height:2px;background:#4d645880;box-shadow:0 14px #4d645861,0 28px #4d645840}.diary footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.diary-footer-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-inline-start:auto}.diary-share-button{display:inline-flex;align-items:center;gap:4px;color:#3f7e9d;font-size:12px;white-space:nowrap}.diary-share-button:hover{color:#0d6ca2}.diary-share-status{color:#7390a2;font-size:11px;white-space:nowrap}.read-more{display:inline-flex;align-items:center;gap:3px;margin-left:0;color:#3f7e9d;font-size:12px;white-space:nowrap}.read-more:hover{color:#0d6ca2}.diary-detail-panel .diary{border-bottom:0}.archive-list a{display:block;color:inherit}.archive-list a:hover,.category-label:hover{color:#0d6ca2}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{padding:3px 7px;border:1px solid #c8dce8;border-radius:4px;background:#f3faff;color:#4b7188;font-size:12px}.comment-count{display:inline-flex;align-items:center;gap:4px;color:#7390a2;font-size:12px;white-space:nowrap}.software-list{display:grid;gap:10px}.software-list article{padding:9px;border:1px solid #d3e3ec;border-radius:5px;background:#f8fcff}.software-list article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.software-list span{color:#2f7eab;font-size:12px;font-weight:700}.software-list p{margin:6px 0 0;color:#61798a;font-size:12px;line-height:1.6}.software-attachments{display:grid;gap:5px;margin-top:9px;padding-top:8px;border-top:1px dotted #c8dce6}.software-attachments-label{color:#7390a2;font-size:11px}.software-attachment-links{display:grid;gap:4px}.software-attachment-link{display:flex;align-items:center;min-width:0;gap:5px;padding:4px 6px;border:1px solid #c6dce7;border-radius:4px;background:#fff;color:#39789a;font-size:11px;text-decoration:none}.software-attachment-link:hover{border-color:#6ca9c4;background:#f2faff;color:#0d6ca2}.software-attachment-link span{min-width:0;overflow:hidden;flex:1;color:#39789a;font-size:11px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.software-attachment-link small{color:#8aa0ad;font-size:10px;white-space:nowrap}.friends li:before{content:"◎ ";color:#6daed2}.friends a{color:#48677b}.friends a:hover{color:#0d6ca2}.friends .friend-qr-item:before{content:none}.friend-qr-card{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;width:100%;gap:9px;padding:6px;border:1px solid #c8dce5;border-radius:6px;background:linear-gradient(135deg,#fbfeff,#eef8fb);color:#48677b;text-align:left}.friend-qr-card:hover:not(:disabled){border-color:#6ca8c4;background:#f3fbfe;color:#0d6ca2}.friend-qr-card img,.friend-qr-dialog-card img{display:block;object-fit:contain}.friend-qr-card img{width:58px;height:58px;border:1px solid #d5e4e9;border-radius:4px;background:#fff}.friend-qr-card span{display:grid;min-width:0;gap:3px}.friend-qr-card strong,.friend-qr-placeholder strong{overflow:hidden;color:inherit;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.friend-qr-card small,.friend-qr-placeholder small{color:#7e98a4;font-size:11px;font-weight:400}.friend-qr-placeholder{display:grid;gap:4px;padding:9px;border:1px dashed #b8d0d9;border-radius:6px;background:#f7fcfd;color:#527385}.friend-qr-dialog{position:fixed;z-index:40;inset:0;display:grid;place-items:center;padding:20px;background:#101f26a3}.friend-qr-dialog-card{position:relative;display:grid;justify-items:center;gap:10px;width:min(100%,460px);padding:22px;border:1px solid #c5d8df;border-radius:9px;background:#fff;box-shadow:0 20px 55px #0c1f284d;text-align:center}.friend-qr-dialog-card img{max-width:min(70vw,360px);max-height:70vh;width:auto;height:auto;border:1px solid #d5e4e9;background:#fff}.friend-qr-dialog-card strong{color:#315d72;font-size:15px}.friend-qr-dialog-card a{color:#2d78a2;font-size:12px}.friend-qr-dialog-card small{color:#8297a0;font-size:11px}.friend-qr-close{position:absolute;top:8px;right:8px;width:32px;min-height:32px;padding:0}.comment-list-item{display:flex;align-items:flex-start;gap:6px}.comment-list-item>span{min-width:0;white-space:pre-wrap;word-break:break-word}.comment-list-item.pinned{color:#8b681f}.comment-list-item .comment-pin-badge{flex:none;margin:0}.background-player{position:fixed;right:max(16px,calc((100vw - 1180px)/2 + 14px));bottom:16px;z-index:40;width:min(430px,calc(100vw - 32px));box-sizing:border-box;padding:12px;border:1px solid var(--theme-border, #b6cfe0);border-radius:10px;background:linear-gradient(135deg,#fffffff7,#eef8fcf5);box-shadow:0 12px 30px #2c546a33,0 2px 5px #2c546a14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.background-player-head,.background-player-controls,.background-player-options,.background-player-progress{display:flex;align-items:center}.background-player-head{gap:10px;min-width:0}.background-player-track{display:flex;flex:1 1 auto;align-items:center;gap:9px;min-width:0}.background-player-icon{display:grid;flex:none;place-items:center;width:32px;height:32px;border:1px solid var(--theme-border, #b6cfe0);border-radius:50%;background:var(--theme-wash, #cce8f6);color:var(--theme-deep, #17466b)}.background-player-track.is-playing .background-player-icon{background:var(--theme-accent, #2d78b3);color:#fff}.background-player-track>div{min-width:0}.background-player-track strong,.background-player-track span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.background-player-track strong{color:var(--theme-deep, #28556f);font-size:13px}.background-player-track span,.background-player-status,.player-message{color:#698393;font-size:11px}.background-player-track span{margin-top:3px}.background-player-status{flex:none;margin-inline-start:auto;white-space:nowrap}.background-player-progress{gap:7px;margin-top:10px;color:#698393;font-size:10px}.background-player-progress input[type=range],.player-volume input[type=range]{width:100%;min-width:0;accent-color:var(--theme-accent, #2d78b3);cursor:pointer}.background-player-progress input[type=range]{flex:1 1 auto}.background-player-controls{gap:6px;margin-top:9px}.background-player button{flex:none;min-width:31px;width:31px;height:30px;padding:0}.background-player .player-play-button{width:36px;height:36px;border-color:var(--theme-accent, #2d78b3);border-radius:50%;background:var(--theme-accent, #2d78b3);color:#fff}.background-player .player-play-button:hover:not(:disabled){border-color:var(--theme-deep, #17466b);background:var(--theme-deep, #17466b);color:#fff}.background-player .player-option-button.active{border-color:var(--theme-accent, #2d78b3);background:var(--theme-wash, #cce8f6);color:var(--theme-deep, #17466b)}.background-player-options{flex:1 1 auto;gap:6px;min-width:0;margin-inline-start:auto}.player-volume{display:flex;flex:1 1 82px;min-width:54px}.player-select{display:grid;gap:4px;color:#698393;font-size:11px}.player-select-compact{display:block;flex:0 1 118px;min-width:88px}.player-select select{width:100%;height:30px;min-width:0;padding:0 7px;border:1px solid #b9d4df;border-radius:4px;background:#fff;color:#365b70;font:inherit;font-size:12px}.player-message{margin:8px 0 0;color:#a46345}.audio-controls{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0}.stats div{padding:8px 4px;border-bottom:1px dotted #c8d9e3}.stats dt,.stats dd{margin:0;font-size:12px}.stats dt{color:#738d9e}.stats dd{margin-top:3px;color:#315d79;font-weight:700}.footer{display:flex;align-items:center;justify-content:center;gap:7px;padding:16px;border-top:1px solid #b6cfe0;background:linear-gradient(180deg,#f8fcff,#dceff8);color:#4f7186;font-size:13px}button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #9fc3d8;border-radius:5px;background:linear-gradient(180deg,#fff,#e5f4fb);color:#24516f;font:inherit;font-size:13px;font-weight:700;cursor:pointer}button:hover:not(:disabled){border-color:#6aa8ca;color:#0d6ca2}button:disabled{cursor:not-allowed;opacity:.58}.primary-action{border-color:#2d78b3;background:linear-gradient(180deg,#6eb1dc,#2d78b3);color:#fff}.danger{border-color:#d4a7a7;background:linear-gradient(180deg,snow,#ffe9e9);color:#9b2f2f}.inline-action{width:100%}.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid #b6cfe0;background:linear-gradient(180deg,#fffdf1,#edf8ff);color:#42667f;font-size:13px}.admin-tools>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.admin-tools summary{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 10px;border:1px solid #9fc3d8;border-radius:5px;background:#fff;color:#24516f;font-weight:700;cursor:pointer;list-style:none}.admin-tools summary::-webkit-details-marker{display:none}.admin-tools[open]>div{margin-top:8px}.admin-page-link{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 10px;border:1px solid #9fc3d8;border-radius:5px;background:#fff;color:#24516f;font-size:13px;font-weight:700;text-decoration:none}.admin-page-link:hover{border-color:#6aa8ca;color:#0d6ca2}.static-admin-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid #b6cfe0;background:#fffdf1;color:#806925;font-size:12px}.static-admin-entry a{color:#2d78b3;font-weight:700;white-space:nowrap}.server-ok{color:#236b45}.server-warn{color:#9a641b}.site-editor{margin:14px;padding:14px;border:1px solid #b6cfe0;border-radius:6px;background:linear-gradient(180deg,#fff,#f4fbff);box-shadow:0 8px 22px #577b9114}.site-editor h2,.editor-title h3{margin:0;color:#1f587b}.site-editor h2{margin-bottom:12px;font-size:17px}.editor-panel{margin:12px;padding:12px;border:1px dashed #9fc3d8;border-radius:6px;background:#f8fcff}.editor-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edit-field{display:grid;gap:5px;color:#4b7188;font-size:13px;font-weight:700}.edit-field input,.edit-field textarea,.edit-field select{width:100%;border:1px solid #aacbdd;border-radius:5px;background:#fff;color:#25384d;font:inherit;font-size:13px}.edit-field input,.edit-field select{height:34px;padding:0 9px}.edit-field small{color:#8199a5;font-size:11px;font-weight:400;line-height:1.5}.edit-field textarea{min-height:86px;padding:8px 9px;resize:vertical}.comment-list-editor{grid-column:1 / -1}.edit-comment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,.75fr) auto auto;gap:7px;align-items:start}.edit-comment-row textarea{min-height:58px}.edit-comment-row label{display:inline-flex;align-items:center;gap:5px;color:#4b7188;font-size:12px;white-space:nowrap}.comment-publication-controls{display:grid;gap:5px;min-width:0}.comment-publication-controls label{display:grid;align-items:center;gap:4px;color:#6d8793;font-size:11px;font-weight:700;white-space:normal}.comment-publication-controls input,.comment-publication-controls select{width:100%;height:30px;padding:0 7px;border:1px solid #aacbdd;border-radius:5px;background:#fff;color:#25384d;font:inherit;font-size:12px}.edit-link-row{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1.2fr) auto;gap:7px}.edit-link-row button{white-space:nowrap}.rich-editor-field{grid-column:1 / -1}.rich-editor-heading{margin-bottom:7px;color:#4b7188;font-size:13px}.rich-editor-heading strong,.rich-editor-heading small{display:block}.rich-editor-heading small{margin-top:4px;color:#8199a5;font-size:11px;font-weight:400}.rich-editor{overflow:hidden;border:1px solid #aacbdd;border-radius:5px;background:#fff}.rich-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:7px;border-bottom:1px solid #d1e1e9;background:#f3fafc}.rich-toolbar select{height:30px;max-width:132px;padding:0 6px;border:1px solid #aacbdd;border-radius:4px;background:#fff;color:#365b70;font:inherit;font-size:12px}.rich-tool-button{display:inline-grid;place-items:center;width:30px;min-height:30px;padding:0;border-color:transparent;background:transparent;color:#4b7188}.rich-tool-button:hover:not(:disabled){border-color:#afd0dd;background:#e4f4fa;color:#0d6ca2}.rich-toolbar-divider{width:1px;height:22px;margin:0 2px;background:#d2e2e9}.rich-editor-surface{min-height:260px;padding:14px;outline:none;color:#25384d;font-size:14px;line-height:1.85}.rich-editor-surface:focus{box-shadow:inset 0 0 0 2px #5aa4c724}.rich-editor-surface p{margin:0 0 10px}.rich-editor-surface h1,.rich-editor-surface h2,.rich-editor-surface h3{margin:12px 0 8px;color:#214b64}.rich-editor-surface blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid #74abc4;background:#f2f9fc;color:#607f8d}.rich-editor-surface img,.rich-editor-surface video{display:block;max-width:100%;margin:10px 0;border-radius:5px}.rich-editor-surface video{width:min(100%,640px)}.rich-editor-message{display:block;padding:0 9px 8px;color:#6b8998;font-size:11px}.check-field{display:inline-flex;align-items:center;gap:7px;color:#4b7188;font-size:13px;font-weight:700}.editor-stack{display:grid;gap:10px}.mini-editor{display:grid;gap:8px;padding:9px;border:1px solid #d3e3ec;border-radius:5px;background:#f8fcff}.diary-title-row{flex-wrap:wrap}.item-actions{margin-left:auto}@media(max-width:980px){.layout,.layout.layout-left-only{grid-template-columns:210px minmax(0,1fr)}.layout.layout-right-only{grid-template-columns:1fr}.masthead-side{overflow:hidden}.right-column{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.page-shell{width:calc(100% - 16px);margin:8px auto}.masthead-content{align-items:flex-start;flex-direction:column;justify-content:flex-end;padding:28px 18px 22px}.masthead-side{align-items:start;justify-items:start;text-align:left}.masthead-language{justify-self:start}.top-nav{padding:0}.top-nav a{flex:1 1 33.33%;justify-content:center;padding:11px 8px}.admin-bar{align-items:flex-start;flex-direction:column}.admin-tools>div{justify-content:flex-start}.editor-grid,.layout,.right-column,.layout.layout-left-only,.layout.layout-right-only,.diary{grid-template-columns:1fr}.diary-meta-with-toc{position:static}.diary-date{display:inline-block;width:132px}.diary-date span,.diary-date b{padding:4px 0}.edit-link-row{grid-template-columns:1fr}.edit-link-row button{justify-self:start}.edit-comment-row{grid-template-columns:1fr}.edit-comment-row textarea,.edit-comment-row label,.comment-publication-controls,.edit-comment-row button{grid-column:1}.edit-comment-row button{justify-self:start}.diary footer{align-items:flex-start;flex-direction:column}.pinned-body{grid-template-columns:1fr}.pinned-thumb{min-height:92px}.subpage-intro{align-items:flex-start;flex-direction:column}.category-grid,.subpage-software-list,.about-details,.comment-form-grid{grid-template-columns:1fr}.about-profile{align-items:flex-start}.comment-form-footer{align-items:flex-start;flex-direction:column}.comment-form-footer>div{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}.diary-filters{align-items:stretch;flex-direction:column}.diary-filters label,.diary-filters select,.diary-filters>button{width:100%}.diary-footer-actions{width:100%;justify-content:flex-start;margin-inline-start:0}}.page-shell{--theme-accent: #2d78b3;--theme-deep: #17466b;--theme-title: #17466b;--theme-border: #8fb8d3;--theme-soft: #e9f7ff;--theme-wash: #cce8f6;--theme-mast-start: #82c5ef;--theme-mast-mid: #d6f1ff;--theme-mast-end: #fff6d9;--theme-sun: #fff7a9;--theme-avatar-start: #8ccaf0;--theme-avatar-end: #fff3b8}.page-shell[data-theme=mint]{--theme-accent: #3b9b86;--theme-deep: #245e59;--theme-title: #245e59;--theme-border: #9bcfc2;--theme-soft: #effbf7;--theme-wash: #d1efe5;--theme-mast-start: #82d0bc;--theme-mast-mid: #e1f7ef;--theme-mast-end: #fff1ce;--theme-sun: #fff0a8;--theme-avatar-start: #86d3bd;--theme-avatar-end: #fff0b6}.page-shell[data-theme=rose]{--theme-accent: #b35f79;--theme-deep: #75425a;--theme-title: #75425a;--theme-border: #dcb0be;--theme-soft: #fff3f6;--theme-wash: #f6dce5;--theme-mast-start: #e9aabc;--theme-mast-mid: #fff0f5;--theme-mast-end: #fff4d1;--theme-sun: #fff0ae;--theme-avatar-start: #e9aabc;--theme-avatar-end: #ffeeba}.page-shell[data-theme=sunset]{--theme-accent: #b96b3e;--theme-deep: #75452d;--theme-title: #75452d;--theme-border: #dfb88d;--theme-soft: #fff8ee;--theme-wash: #f7dec2;--theme-mast-start: #eeaf74;--theme-mast-mid: #fff0d8;--theme-mast-end: #fff6bb;--theme-sun: #ffe495;--theme-avatar-start: #efb278;--theme-avatar-end: #fff0b3}.page-shell[data-theme=night]{--theme-accent: #436fa9;--theme-deep: #28496f;--theme-title: #f1f8ff;--theme-border: #9db7d8;--theme-soft: #eff6ff;--theme-wash: #d2e1f2;--theme-mast-start: #365a87;--theme-mast-mid: #9abbd7;--theme-mast-end: #f0d697;--theme-sun: #f6df92;--theme-avatar-start: #7398c3;--theme-avatar-end: #f4dda0}.page-shell[data-theme=forest]{--theme-accent: #2f8f4e;--theme-deep: #174f2e;--theme-title: #123f24;--theme-border: #8fbd99;--theme-soft: #edf8ef;--theme-wash: #cbe7d0;--theme-mast-start: #1c6a39;--theme-mast-mid: #5daf6d;--theme-mast-end: #e2f0c5;--theme-sun: #f3de95;--theme-avatar-start: #39884d;--theme-avatar-end: #d7e8b2}.page-shell[data-theme=jade]{--theme-accent: #198f82;--theme-deep: #225e59;--theme-title: #1c514d;--theme-border: #82c5ba;--theme-soft: #eefaf7;--theme-wash: #cdebe4;--theme-mast-start: #55b7a8;--theme-mast-mid: #cceee7;--theme-mast-end: #f0efbd;--theme-sun: #fae8a1;--theme-avatar-start: #5cbcac;--theme-avatar-end: #efe2a6}.page-shell[data-theme=bamboo]{--theme-accent: #58745f;--theme-deep: #394b40;--theme-title: #34483b;--theme-border: #a3b7aa;--theme-soft: #f2f6f3;--theme-wash: #dce7df;--theme-mast-start: #657a6d;--theme-mast-mid: #b8c8be;--theme-mast-end: #ece2b4;--theme-sun: #f3dfa0;--theme-avatar-start: #7f9b88;--theme-avatar-end: #e7d7a6}.page-shell[data-theme]{border-color:var(--theme-border)}.page-shell[data-theme] .masthead{border-bottom-color:var(--theme-border);background:linear-gradient(180deg,rgba(255,255,255,.32),transparent),linear-gradient(135deg,var(--theme-mast-start) 0%,var(--theme-mast-mid) 56%,var(--theme-mast-end) 100%)}.page-shell[data-theme] .masthead.has-custom-image{background-image:linear-gradient(90deg,#ffffff57,#ffffff24 48%,#ffffff0a),var(--masthead-image);background-position:center;background-size:cover}.page-shell[data-theme] .masthead.has-custom-image h1{color:#fff;text-shadow:0 2px 4px rgba(7,36,82,.42)}.page-shell[data-theme] .masthead.has-custom-image p,.page-shell[data-theme] .masthead.has-custom-image .masthead-side{color:#fffffff0;text-shadow:0 1px 3px rgba(7,36,82,.42)}.page-shell[data-theme] .masthead h1{color:var(--theme-title)}.page-shell[data-theme] .masthead p,.page-shell[data-theme] .masthead-side{color:var(--theme-deep)}.page-shell[data-theme] .sun{background:radial-gradient(circle,var(--theme-sun) 0%,#ffd66b 58%,rgba(255,196,67,0) 70%)}.page-shell[data-theme] .top-nav{border-bottom-color:var(--theme-border);background:linear-gradient(180deg,#ffffff 0%,var(--theme-soft) 100%)}.page-shell[data-theme] .top-nav a{border-color:color-mix(in srgb,var(--theme-border) 58%,transparent);color:var(--theme-deep)}.page-shell[data-theme] .top-nav a:hover{color:var(--theme-accent)}.page-shell[data-theme] .top-nav a.active{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 68%,white),var(--theme-accent))}.page-shell[data-theme] .module h2,.page-shell[data-theme] .section-title,.page-shell[data-theme] .subpage-heading{border-bottom-color:var(--theme-border);background:linear-gradient(180deg,var(--theme-soft) 0%,var(--theme-wash) 100%);color:var(--theme-deep)}.page-shell[data-theme] .section-title h2,.page-shell[data-theme] .subpage-heading h2,.page-shell[data-theme] .subpage-intro h2{color:var(--theme-deep)}.page-shell[data-theme] .section-title a,.page-shell[data-theme] .eyebrow,.page-shell[data-theme] .subpage-heading>svg{color:var(--theme-accent)}.page-shell[data-theme] .diary-date{border-color:color-mix(in srgb,var(--theme-accent) 62%,white)}.page-shell[data-theme] .diary-date span{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 62%,white),var(--theme-accent))}.page-shell[data-theme] .avatar,.page-shell[data-theme] .about-avatar{background:linear-gradient(135deg,var(--theme-avatar-start),var(--theme-avatar-end));color:var(--theme-deep)}.page-shell[data-theme] .admin-bar,.page-shell[data-theme] .site-editor{border-color:var(--theme-border);background:linear-gradient(180deg,#fffdf1,var(--theme-soft))}.page-shell[data-theme] .admin-page-link,.page-shell[data-theme] .primary-action{border-color:var(--theme-accent)}.page-shell[data-theme] .primary-action{background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent) 68%,white),var(--theme-accent))}.page-shell[data-theme] .footer{border-top-color:var(--theme-border);background:linear-gradient(180deg,#f8fcff,var(--theme-soft))}body[data-site-background=midnight] .page-shell{box-shadow:0 22px 60px #05101c75}@media(max-width:720px){html,body{min-width:0;overflow-x:hidden}.page-shell{width:calc(100% - 16px);max-width:none;margin:8px auto;border-radius:7px}.masthead{min-height:0}.masthead-content{min-height:154px;padding:18px 14px 14px}.masthead-content>div:first-child,.masthead-side{width:100%;min-width:0}.masthead h1{max-width:100%;font-size:clamp(24px,8vw,34px);line-height:1.25;overflow-wrap:anywhere}.masthead p,.masthead-side p{max-width:100%;line-height:1.6;overflow-wrap:anywhere}.masthead-side .paper-plane,.masthead-side>p{display:none}.admin-bar{gap:8px;padding:8px 12px}.admin-bar>span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.admin-tools,.admin-tools summary{width:100%}.admin-tools summary{justify-content:center}.admin-tools>div{display:grid;grid-template-columns:1fr}.admin-tools>div>*{width:100%;justify-content:center}.mail-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}.top-nav a{min-width:0;min-height:44px;gap:4px;padding:10px 4px;font-size:12px}.top-nav a svg{width:14px;height:14px}.layout{gap:8px;padding:8px}.module,.diary-panel,.notice,.subpage-intro,.subpage-panel,.main-column,.left-column,.right-column{min-width:0}.module-body{padding:10px}.notice{align-items:flex-start;padding:10px}.notice span{min-width:0;overflow-wrap:anywhere}.section-title{align-items:stretch;flex-direction:column;gap:8px;padding:10px}.section-title h2{font-size:17px}.section-actions{flex-wrap:wrap;justify-content:flex-start}.subpage-heading{flex-direction:column;gap:8px;padding:14px}.subpage-heading>div{width:100%;min-width:0}.subpage-heading h2{font-size:20px}.subpage-heading>svg{align-self:flex-end;margin-top:0}.filter-badge{align-self:flex-start;max-width:100%;white-space:normal;overflow-wrap:anywhere}.comment-form{margin:0 10px 10px;padding:10px}.comment-form-heading{flex-direction:column;gap:6px}.comment-form-footer{gap:8px}.comment-form-footer>div,.comment-form-footer .primary-action{width:100%}.comment-form-footer>div{align-items:stretch;flex-direction:column}.diary{gap:10px;padding:12px 10px}.diary-date{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;width:100%;text-align:left}.diary-date span,.diary-date b{padding:5px 8px}.diary-date small{display:none}.diary h3{font-size:16px;overflow-wrap:anywhere}.item-actions{width:100%;margin-left:0}.item-actions button{flex:1;min-height:38px}.diary footer{width:100%}.tags{width:100%}.comment-count{align-self:flex-start}.about-profile{grid-template-columns:1fr;gap:12px;padding:14px}.about-avatar{margin:0 auto}.about-profile>div:last-child{min-width:0}.stats{grid-template-columns:1fr}.software-list article>div:first-child{align-items:flex-start}.software-list article>div:first-child h3{min-width:0;overflow-wrap:anywhere}.software-attachment-link{min-height:36px;padding:6px 7px}.background-player{right:8px;bottom:8px;width:calc(100vw - 32px);padding:10px}.background-player-head{align-items:flex-start}.background-player-controls{flex-wrap:wrap}.background-player-options{flex:1 1 100%;margin-inline-start:0}.player-volume{flex:1 1 auto}.player-select-compact{flex-basis:132px}.footer{padding:13px 10px;font-size:11px;line-height:1.5;text-align:center}.site-editor,.editor-panel{margin:8px;padding:10px}.rich-toolbar{gap:4px;padding:6px}.rich-toolbar select{min-width:0;max-width:100%}.rich-tool-button,.rich-color-control{width:34px;min-height:34px}.rich-editor-surface{width:calc(100% - 16px);min-height:400px;margin:8px auto;padding:20px 14px;font-size:15px}}.masthead,.masthead-content{min-height:150px}.layout.layout-software{grid-template-columns:minmax(0,1fr) 250px;align-items:start;background:linear-gradient(90deg,rgba(255,255,255,.56),transparent 12%,transparent 88%,rgba(255,255,255,.56)),color-mix(in srgb,var(--theme-soft, #f2f7f2) 78%,#fff)}.software-page,.software-sidebar{min-width:0}.software-page{display:grid;gap:12px}.software-featured-card,.software-others,.software-side-module,.software-detail-panel,.software-empty-state{border:1px solid color-mix(in srgb,var(--theme-border, #b5c8b8) 78%,white);border-radius:7px;background:linear-gradient(180deg,#fffffff5,#f7faf6f0);box-shadow:0 1px #ffffffe6,0 5px 14px #3c5a4412}.software-featured-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,42%);gap:20px;min-height:250px;padding:52px 18px 18px;overflow:hidden}.software-featured-ribbon{position:absolute;left:14px;top:13px;display:inline-flex;align-items:center;gap:5px;padding:6px 12px 6px 10px;border-radius:3px 12px 12px 3px;background:#6d884c;color:#fffdf2;font-size:12px;font-weight:800;box-shadow:0 2px 8px #485b3321}.software-featured-copy{display:grid;grid-template-columns:90px minmax(0,1fr);gap:18px;align-items:start}.software-featured-copy h3,.software-detail-heading h2{margin:0;color:var(--theme-title, #34483b);font-family:Georgia,"Noto Serif SC",Songti SC,serif}.software-featured-copy h3{font-size:28px}.software-featured-copy p,.software-work-card p,.software-detail-heading p{color:#67766c;line-height:1.75}.software-featured-copy p{margin:12px 0 7px;font-size:13px}.software-icon{display:grid;place-items:center;width:46px;height:46px;flex:none;overflow:hidden;border:1px solid color-mix(in srgb,var(--theme-border, #b5c8b8) 76%,white);border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-accent, #557762) 86%,#203b2c),color-mix(in srgb,var(--theme-accent, #557762) 68%,#9fbba2));color:#fff;box-shadow:0 5px 12px #2d463524}.software-icon-large{width:86px;height:86px;border-radius:16px}.software-icon img{width:100%;height:100%;object-fit:cover}.software-icon span{font-size:13px;font-weight:900;letter-spacing:.03em}.software-icon-large span{font-size:22px}.software-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.software-meta span{padding:2px 7px;border:1px solid #d3dccd;border-radius:4px;background:#f0f4e9;color:#687657;font-size:10px;font-weight:700}.software-updated{display:inline-flex;align-items:center;gap:5px;color:#829087;font-size:11px}.software-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin-top:16px}.software-actions-compact{justify-content:flex-end;margin-top:auto;padding-top:10px}.software-download-button,.software-detail-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 13px;border-radius:5px;font-size:12px;font-weight:800;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.software-download-button{border:1px solid var(--theme-accent, #557762);background:linear-gradient(180deg,color-mix(in srgb,var(--theme-accent, #557762) 78%,white),var(--theme-accent, #557762));color:#fff;box-shadow:inset 0 1px #ffffff40}.software-detail-link{border:1px solid #c9d3c4;background:#fffdf7;color:var(--theme-deep, #35513f)}.software-download-button:hover,.software-detail-link:hover{transform:translateY(-1px);box-shadow:0 5px 12px #3c5a441a}.software-featured-preview{display:grid;place-items:center;align-content:center;gap:7px;min-height:180px;overflow:hidden;border:1px solid #d0dacb;border-radius:7px;background:linear-gradient(135deg,#ecf2e5e0,#fffffff0),repeating-linear-gradient(0deg,transparent 0 16px,rgba(97,121,89,.04) 16px 17px);color:#8a9888;font-size:11px}.software-featured-preview.has-image{background:#eef3e9}.software-featured-preview img,.software-detail-screenshot img{display:block;width:100%;height:100%;object-fit:contain}.software-others{overflow:hidden}.software-others>h2,.software-side-module>h2{display:flex;align-items:center;gap:7px;margin:0;border-bottom:1px solid color-mix(in srgb,var(--theme-border, #b5c8b8) 72%,white);color:var(--theme-deep, #35513f);font-family:Georgia,"Noto Serif SC",Songti SC,serif}.software-others>h2{padding:11px 16px;background:linear-gradient(180deg,#fafcf6f5,#f1f6edf5);font-size:16px}.software-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.software-work-card{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;min-height:168px;padding:13px;border:1px solid #d8e0d3;border-radius:6px;background:#ffffffba;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.software-work-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--theme-accent, #557762) 62%,white);box-shadow:0 7px 18px #3c5a441a}.software-work-card-copy{display:flex;min-width:0;flex-direction:column}.software-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.software-card-title h3{min-width:0;margin:0;overflow:hidden;color:var(--theme-title, #34483b);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.software-card-title>span{color:#71816f;font-size:10px;font-weight:800;white-space:nowrap}.software-work-card p{display:-webkit-box;overflow:hidden;margin:8px 0 4px;font-size:11px;-webkit-box-orient:vertical;-webkit-line-clamp:3}.software-actions-compact .software-download-button,.software-actions-compact .software-detail-link{min-height:29px;padding:5px 8px;font-size:11px}.software-sidebar{display:grid;align-content:start;gap:10px}.software-side-module{overflow:hidden}.software-side-module>h2{padding:11px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme-soft, #f2f7f2) 85%,white),color-mix(in srgb,var(--theme-wash, #dce7df) 72%,white));font-size:15px}.software-filter-list,.software-recent-list{display:grid;padding:6px 10px 10px}.software-filter-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:6px 5px;border-bottom:1px dotted #d7dfd3;color:#5c6e61;font-size:12px}.software-filter-list a:last-child{border-bottom:0}.software-filter-list a:hover,.software-filter-list a.active{color:var(--theme-accent, #557762)}.software-filter-list a.active span{font-weight:800}.software-filter-list b{color:#89968a;font-size:11px}.software-recent-list a{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 2px;border-bottom:1px dotted #d7dfd3}.software-recent-list a:last-child{border-bottom:0}.software-recent-list .software-icon{width:32px;height:32px;border-radius:6px}.software-recent-list a>span{display:grid;min-width:0;gap:2px}.software-recent-list strong{overflow:hidden;color:#4d6052;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.software-recent-list small,.software-recent-list time{color:#879388;font-size:9px}.software-recent-list time{white-space:nowrap}.software-empty-state{display:grid;place-items:center;gap:7px;min-height:220px;padding:28px 22px;color:#718078;text-align:center}.software-empty-kicker{display:inline-flex;align-items:center;gap:5px;color:var(--theme-accent, #557762);font-size:10px;font-weight:800;letter-spacing:.14em}.software-empty-state strong{color:var(--theme-deep, #35513f);font-size:18px}.software-empty-state span{max-width:420px;font-size:12px;line-height:1.7}.software-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px}.software-empty-actions a,.software-empty-back{display:inline-flex;align-items:center;gap:5px;min-height:32px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--theme-accent, #557762) 38%,white);border-radius:5px;background:color-mix(in srgb,var(--theme-soft, #f2f7f2) 70%,white);color:var(--theme-deep, #35513f);font-size:11px;font-weight:800}.software-empty-actions a:hover,.software-empty-back:hover{border-color:var(--theme-accent, #557762);color:var(--theme-accent, #557762)}.software-empty-back{margin-top:5px}.software-detail-panel{display:grid;gap:16px;padding:18px}.software-back-link{display:inline-flex;align-items:center;gap:5px;width:max-content;color:var(--theme-accent, #557762);font-size:12px;font-weight:700}.software-detail-hero{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:start;padding:8px 0 2px}.software-detail-heading h2{margin-top:3px;font-size:30px}.software-detail-eyebrow{color:#829080;font-size:10px;font-weight:800;letter-spacing:.15em}.software-detail-heading p{max-width:720px;margin:11px 0 0;font-size:13px}.software-detail-screenshot{max-height:560px;overflow:hidden;border:1px solid #d3dccf;border-radius:7px;background:#eef3ea}.software-detail-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;margin:0;border:1px solid #d6ded2;border-radius:6px;background:#d6ded2}.software-detail-info>div{min-width:0;padding:10px 12px;background:#ffffffeb}.software-detail-info dt{margin-bottom:4px;color:#879389;font-size:10px}.software-detail-info dd{overflow:hidden;margin:0;color:#536158;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.software-detail-panel>.software-attachments{margin-top:0;padding:12px;border:1px dashed #ced9ca;border-radius:6px;background:#f8fbf6e0}@media(max-width:980px){.layout.layout-software{grid-template-columns:minmax(0,1fr) 220px}.software-featured-card{grid-template-columns:minmax(0,1fr) 38%}}@media(max-width:720px){.masthead-content{min-height:124px;padding:16px 14px 12px}.top-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.top-nav::-webkit-scrollbar{display:none}.top-nav a{flex:1 0 auto;min-width:max-content;padding-inline:13px}.layout.layout-software{grid-template-columns:1fr}.software-featured-card{grid-template-columns:1fr;gap:14px;padding:50px 13px 13px}.software-featured-copy{grid-template-columns:68px minmax(0,1fr);gap:12px}.software-icon-large{width:64px;height:64px;border-radius:12px}.software-featured-copy h3{font-size:22px}.software-featured-preview{min-height:150px;max-height:260px}.software-card-grid{grid-template-columns:1fr;padding:10px}.software-work-card{min-height:0}.software-sidebar{grid-column:1}.software-actions:not(.software-actions-compact){align-items:stretch;flex-direction:column}.software-actions:not(.software-actions-compact)>*{width:100%}.software-detail-panel{padding:13px}.software-detail-hero{grid-template-columns:70px minmax(0,1fr);gap:12px}.software-detail-heading h2{font-size:23px}.software-detail-info{grid-template-columns:1fr}}.software-featured-card{grid-template-columns:minmax(0,1fr);align-items:start}.software-featured-top{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) minmax(260px,42%);gap:20px;min-width:0}.software-featured-top>*{min-width:0}.software-downloads{display:grid;grid-column:1 / -1;gap:11px;min-width:0;padding:13px;border:1px solid #dce6d8;border-radius:7px;background:linear-gradient(180deg,#fcfef9f5,#f5f9f1eb)}.software-downloads-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}.software-downloads-heading>div{min-width:0}.software-downloads-eyebrow{display:block;margin-bottom:3px;color:#83917e;font-size:9px;font-weight:800;letter-spacing:.14em}.software-downloads-heading h3{display:flex;align-items:center;gap:6px;margin:0;color:var(--theme-deep, #35513f);font-family:Georgia,"Noto Serif SC",Songti SC,serif;font-size:17px}.software-downloads-count{flex:none;padding:3px 7px;border:1px solid #d5e1d0;border-radius:999px;background:#f1f6ed;color:#72816e;font-size:10px;font-weight:800;white-space:nowrap}.software-download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.software-download-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid #dbe5d8;border-radius:6px;background:#fffc;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.software-download-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--theme-accent, #557762) 52%,white);box-shadow:0 5px 12px #3c5a4414}.software-download-platform-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:#edf4e9;color:var(--theme-accent, #557762)}.software-download-card-windows .software-download-platform-icon{background:#e9f2fb;color:#2779bb}.software-download-card-macos .software-download-platform-icon,.software-download-card-ios .software-download-platform-icon{background:#f1f1ee;color:#77786f}.software-download-card-linux .software-download-platform-icon{background:#faf3df;color:#9b7a29}.software-download-card-android .software-download-platform-icon{background:#eff7dc;color:#76a92f}.software-download-card-android-play .software-download-platform-icon{background:#eaf4fb;color:#3587b4}.software-download-copy{display:grid;min-width:0;gap:3px}.software-download-title{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}.software-download-title strong{overflow:hidden;color:var(--theme-deep, #35513f);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.software-download-title span{overflow:hidden;color:#7d8b79;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.software-download-title em{padding:2px 6px;border:1px solid #d7e1d2;border-radius:4px;background:#f1f5ed;color:#6c7d62;font-size:10px;font-style:normal;font-weight:800;white-space:nowrap}.software-download-copy>small{overflow:hidden;color:#89958a;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.software-download-action,.software-download-details{display:inline-flex;align-items:center;justify-content:center;gap:5px;text-decoration:none;white-space:nowrap}.software-download-action{min-height:30px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--theme-accent, #557762) 62%,white);border-radius:5px;background:#fbfdf8;color:var(--theme-deep, #35513f);font-size:11px;font-weight:800}.software-download-action:hover{border-color:var(--theme-accent, #557762);background:color-mix(in srgb,var(--theme-soft, #f2f7f2) 68%,white);color:var(--theme-accent, #557762)}.software-download-details{width:max-content;min-height:30px;padding:5px 10px;border:1px solid #c9d3c4;border-radius:5px;background:#fffdf7;color:var(--theme-deep, #35513f);font-size:11px;font-weight:800}.software-download-details:hover{border-color:var(--theme-accent, #557762);color:var(--theme-accent, #557762)}.software-download-empty{margin:0;padding:10px;border:1px dashed #cedbc9;border-radius:5px;color:#7c8b80;font-size:11px;line-height:1.6}.software-downloads-compact{gap:8px;margin-top:10px;padding:9px;border-color:#dbe5d8;background:#fafdf8e0}.software-downloads-compact .software-downloads-eyebrow{display:none}.software-downloads-compact .software-downloads-heading{align-items:center}.software-downloads-compact .software-downloads-heading h3{font-size:14px}.software-downloads-compact .software-download-grid{grid-template-columns:1fr;gap:6px}.software-downloads-compact .software-download-card{grid-template-columns:32px minmax(0,1fr) auto;gap:7px;padding:7px}.software-downloads-compact .software-download-platform-icon{width:32px;height:32px}.software-downloads-compact .software-download-title strong{font-size:12px}.software-downloads-compact .software-download-action{min-height:28px;padding:4px 7px;font-size:10px}.software-downloads-compact .software-download-details{min-height:27px;padding:4px 8px;font-size:10px}@media(max-width:980px){.software-featured-top{grid-template-columns:minmax(0,1fr) 38%}.software-download-grid{grid-template-columns:1fr}}@media(max-width:720px){.software-featured-top{grid-template-columns:1fr;gap:14px}.software-downloads{padding:11px}.software-downloads-heading{align-items:flex-start;flex-direction:column;gap:6px}.software-download-card{grid-template-columns:34px minmax(0,1fr);align-items:start}.software-download-platform-icon{width:34px;height:34px}.software-download-action{grid-column:2;justify-self:start}}
