/* XP Retro · Original Luna-inspired theme, no external dependencies. */
:root{--xp-blue:#245edb;--ink:#233652;--muted:#738198;--paper:#fff;--chrome:#ece9d8;--border:#d6dfec;--taskbar-height:40px}
*{box-sizing:border-box}
html{min-height:100%;scroll-padding-bottom:60px}
body{margin:0;min-height:100vh;padding:40px 30px 105px 135px;background:#3d8bcc url('assets/bliss.svg') center center/cover fixed no-repeat;color:var(--ink);font-family:Tahoma,"Microsoft YaHei","PingFang SC",sans-serif;font-size:13px;line-height:1.65}
a{color:#214fa0;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button,a,input,textarea{touch-action:manipulation}button{line-height:1.4}input,textarea{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid #e59719;outline-offset:3px}button:disabled{cursor:default}img{max-width:100%;height:auto}svg{display:inline-block;vertical-align:middle}.xp-icon{width:24px;height:24px;flex-shrink:0}.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.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;top:6px;left:8px;z-index:1000;background:white;padding:8px 14px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.desktop-shortcuts{position:fixed;top:35px;left:19px;display:flex;flex-direction:column;gap:23px;width:86px;z-index:1}.desktop-shortcuts a,.desktop-shortcuts button{display:flex;flex-direction:column;align-items:center;gap:5px;border:1px solid transparent;padding:6px 2px;background:none;color:white;font-size:12px;text-align:center;text-shadow:1px 1px 2px #143960;line-height:1.5}.desktop-shortcuts .xp-icon{width:45px;height:45px;filter:drop-shadow(1px 2px 1px #173e6870)}.desktop-shortcuts a:hover,.desktop-shortcuts button:hover{background:#3a71b859;border:1px dotted #c6dbf5;text-decoration:none}.desktop-note{position:fixed;bottom:65px;right:30px;color:#fff;text-align:right;text-shadow:1px 1px 4px #184824;pointer-events:none;z-index:0}.desktop-note strong{display:block;font-family:Georgia,serif;font-weight:normal;font-size:23px;font-style:italic}.desktop-note span{font-size:11px;letter-spacing:2px}
.explorer{position:relative;z-index:2;max-width:1130px;min-width:0;margin:0 auto;background:var(--chrome);border:3px solid #0750d1;border-top:0;border-radius:9px 9px 0 0;box-shadow:0 10px 34px #06274755,0 0 0 1px #164493;overflow:hidden}.titlebar{height:34px;margin:0 -1px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 5px 4px 9px;color:#fff;background:linear-gradient(#4997ff 0%,#0861eb 14%,#0055e7 52%,#0756ce 90%,#003dae 100%);border-radius:7px 7px 0 0;box-shadow:inset 0 1px 0 #80b4ff}.window-title{display:flex;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:bold;text-shadow:1px 1px #06348c}.window-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-title .xp-icon{width:21px;height:21px}.window-controls{display:flex;gap:3px;flex-shrink:0}.window-control{width:25px;height:25px;display:flex;align-items:center;justify-content:center;border:1px solid white;border-radius:3px;background:linear-gradient(135deg,#83adf5,#346bdd 50%,#1451c5);box-shadow:inset 1px 1px 1px #bbd7ff80,inset -1px -1px 1px #143d9d;color:white;font-family:Arial,sans-serif;font-size:24px;font-weight:bold;line-height:1;text-shadow:1px 1px 1px #163e95}.window-control:hover{filter:brightness(1.14)}.window-control.minimize{padding-bottom:9px}.window-control.maximize span{display:block;width:13px;height:13px;border:2px solid #fff;border-top-width:4px}.window-control.maximize[aria-pressed=true] span{width:11px;height:10px;box-shadow:3px -3px 0 -1px #3470dd,3px -3px 0 1px #fff}.window-control.close{background:linear-gradient(135deg,#f4b399,#e46644 48%,#c03922);box-shadow:inset 1px 1px 1px #ffe0d599,inset -1px -1px 1px #842812;text-shadow:1px 1px #a12c1b;font-weight:normal}
.menubar{display:flex;align-items:center;flex-wrap:wrap;gap:0;min-height:30px;padding:0 8px;border-bottom:1px solid #d5d2c1;background:#f0eddf}.menubar a,.menubar button{padding:4px 10px;border:0;background:none;font-size:12px;color:#20252b;white-space:nowrap}.menubar a:hover,.menubar button:hover,.menubar [aria-current=page]{background:#d8e5fb;text-decoration:none}.menubar span{color:#797a77;font-size:11px}.menubar .menubar-mark{margin-left:auto;font-size:14px;font-weight:bold;font-style:italic;color:#74924c;letter-spacing:-1px;padding:0 6px}.toolbar{display:flex;align-items:center;gap:5px;padding:8px 12px;min-height:62px;border-top:1px solid #fff;border-bottom:1px solid #c8c5b6}.tool,.tool-home{display:flex;align-items:center;gap:6px;background:none;border:1px solid transparent;padding:4px 6px;color:#343c46;font-size:12px;white-space:nowrap;border-radius:3px}.tool .xp-icon{width:29px;height:29px}.tool-home .xp-icon{width:34px;height:34px}.tool-home{gap:7px;padding-left:0}.tool:hover,.tool-home:hover{border-color:#b7b3a6;background:#ffffff60;text-decoration:none}.tool[aria-pressed=true]{border-color:#b2b2a0;background:#d9d6c5;box-shadow:inset 1px 1px 2px #9c9985}.toolbar-divider{height:31px;width:1px;background:#c7c4b5;box-shadow:1px 0 white;margin:0 4px}.toolbar-search{margin-left:auto;display:flex;align-items:center;gap:5px;width:260px}.toolbar-search input{height:29px;width:100%;font-size:12px;padding:4px 9px}.xp-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:3px 16px;border:1px solid #003c74;border-radius:3px;background:linear-gradient(#fff,#f8f7f3 55%,#e5e1d0);color:#263a50;box-shadow:inset 0 0 0 1px white;font-size:12px;white-space:nowrap}.xp-button:hover{background:linear-gradient(#fff,#fff4d4 60%,#f1d599);text-decoration:none}.xp-button:active{background:#e2dfd0;box-shadow:inset 1px 1px 2px #aaa}.addressbar{display:flex;align-items:center;gap:10px;padding:5px 10px;font-size:12px;color:#62665f;border-top:1px solid #fff;border-bottom:1px solid #8a99b2}.address-path{display:flex;align-items:center;gap:9px;padding:2px 8px;min-width:0;flex:1;height:26px;border:1px solid #7f9db9;background:#fff;color:#2b3e58}.address-path .xp-icon{width:19px;height:19px}.address-path>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.address-path a{color:#2b3e58;white-space:nowrap}.address-go{display:flex;gap:4px;align-items:center;color:#398820;font-size:22px;line-height:1}.address-go span{color:#4b4d48;font-size:12px}
.explorer-body{display:grid;grid-template-columns:218px minmax(0,1fr);align-items:stretch;min-height:550px;background:#fff}.sidebar{padding:18px 14px;background:linear-gradient(125deg,#7ea1e6,#668bd5 80%);font-size:12px}.task-panel{margin:0 0 17px;border-radius:4px 4px 0 0;overflow:hidden;box-shadow:0 1px 2px #4c73b840}.task-panel h2{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:bold;padding:7px 11px;color:#1e4c96;background:linear-gradient(100deg,white,#d0ddf7);margin:0;line-height:1.65}.task-panel h2>span{width:17px;height:17px;background:#f7fbff;border-radius:50%;box-shadow:0 1px 2px #7193c8;font-family:Arial;text-align:center;font-size:17px;line-height:20px;color:#6d8bb6}.task-panel-body{padding:12px 11px;background:#d6e2fa;border:1px solid #fff;border-top:0}.task-panel-body>a{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12px}.task-panel-body>a:last-child{margin-bottom:0}.task-panel-body .xp-icon{width:18px;height:18px}.panel-label{display:flex;gap:7px;align-items:center;margin-bottom:8px;color:#244781}.category-list,.recent-list,.archive-list{margin:0;padding:0;list-style:none}.category-list li{padding:3px 0;overflow-wrap:anywhere}.category-list>li:before{content:"›";padding:0 9px 0 4px;color:#618bc8}.category-list li ul{margin:3px 0;padding-left:16px;list-style:none}.category-list a{margin-right:3px}.category-list .category-count{font-size:10px}.recent-list li{display:flex;align-items:flex-start;gap:6px;margin-bottom:9px;line-height:1.6}.recent-list li:last-child{margin-bottom:0}.recent-list .xp-icon{margin-top:1px;flex-shrink:0}.recent-list a{overflow-wrap:anywhere}.archive-list li{padding:3px 0}.archive-list li:before{content:"▸";font-size:9px;color:#7796c1;margin-right:8px}.detail-panel .task-panel-body{color:#4b6892;overflow-wrap:anywhere}.detail-panel .detail-icon{display:block;width:40px;height:40px;margin-bottom:8px}.detail-panel strong{display:block;color:#315489;font-size:12px}.detail-panel p{margin:5px 0 8px;line-height:1.7}.detail-label{font-size:10px;color:#6b85aa}.main-pane{padding:27px 30px 0;min-width:0;background:#fafbfd}.main-pane:focus{outline:none}.welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 24px;padding:22px 25px 21px;background:linear-gradient(110deg,#eef5ff,#f7faff);border:1px solid #d4e2f5;position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:#7ea6db}.eyebrow{font-family:Tahoma,sans-serif;font-size:9px;font-weight:bold;letter-spacing:2px;color:#6482aa}.welcome-banner h1{font-size:24px;font-weight:normal;line-height:1.4;margin:8px 0 10px;letter-spacing:1px;color:#244776}.welcome-banner p{font-size:12px;color:#7488a6;margin:0;line-height:1.9}.welcome-banner .welcome-icon{width:72px;height:72px;margin:0 2px 0 12px;filter:drop-shadow(2px 3px 1px #cdd9e7);transform:rotate(-3deg)}.cursor-mark{color:#76a66f;margin-left:6px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:0 1px 10px;border-bottom:1px solid #d5dfed}.section-heading h2,.section-heading h1{display:flex;align-items:center;gap:7px;margin:0;font-size:14px;font-weight:bold;color:#2d507e}.section-heading .xp-icon{width:22px;height:22px}.section-heading h2 span{font-size:11px;color:#8794a7;font-weight:normal}.section-note{font-size:10px;color:#8e9aab;white-space:nowrap}.archive-heading{margin-top:5px;margin-bottom:24px}.archive-heading h1{font-size:20px;flex-wrap:wrap;overflow-wrap:anywhere}
.post-list{display:flex;flex-direction:column;gap:15px}.post-card{display:flex;align-items:flex-start;gap:17px;padding:20px 21px 15px;background:#fff;border:1px solid #d7e0eb;border-radius:2px;box-shadow:0 2px 2px #26467604;transition:border-color .15s,box-shadow .15s}.post-card:hover{border-color:#94b5dd;box-shadow:0 2px 7px #1d508214}.post-file-icon{padding-top:5px}.post-file-icon .xp-icon{width:37px;height:42px}.post-card-main{min-width:0;flex:1}.post-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.4;color:#8a97aa}.file-type{letter-spacing:1px}.post-card time{font-family:Tahoma,sans-serif;letter-spacing:.5px;white-space:nowrap}.post-card h2{font-size:18px;line-height:1.5;font-weight:normal;margin:8px 0 9px;overflow-wrap:anywhere}.post-card h2 a{color:#244d80}.post-excerpt{font-size:12px;color:#7c8798;line-height:1.9;margin:0 0 14px;overflow-wrap:anywhere}.post-card-bottom{display:flex;align-items:center;gap:12px;border-top:1px dashed #e3e8ef;padding-top:11px;font-size:10px;line-height:1.6;flex-wrap:wrap}.post-category{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.post-category .xp-icon{width:15px;height:15px}.post-category a{color:#7287a4}.comment-count{color:#8a97aa}.read-link{margin-left:auto;color:#4474a9;white-space:nowrap}.read-link span{margin-left:4px;color:#64986d}.compact-view .post-card{padding-top:13px;padding-bottom:12px}.compact-view .post-excerpt,.compact-view .file-type{display:none}.compact-view .post-card h2{margin-top:4px;margin-bottom:8px;font-size:16px}.compact-view .post-card-top{justify-content:flex-end}.compact-view .post-file-icon .xp-icon{width:29px;height:35px}.compact-view .post-card-bottom{border:0;padding-top:0}.page-navigator{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:25px 0 20px;padding:0;font-size:12px}.page-navigator li a,.page-navigator li span{display:block;min-width:30px;padding:3px 9px;border:1px solid #c4d3e5;background:#fff;text-align:center;border-radius:2px}.page-navigator .current a{background:#eef4fc;border-color:#719ccc;color:#285a95;font-weight:bold}.empty-state{text-align:center;padding:55px 10px 70px;color:#788ba5}.empty-state>.xp-icon{width:55px;height:55px}.empty-state h2{font-size:19px;color:#466286;font-weight:normal;margin-top:19px}.empty-state p{font-size:12px;margin-bottom:20px}
.document-sheet{background:white;border:1px solid #d7e1ef;padding:28px 30px;margin-bottom:23px;box-shadow:0 2px 4px #19426c05}.document-label{display:flex;align-items:center;gap:6px;font-size:11px;color:#788daa;margin-bottom:15px}.document-label .xp-icon{width:19px;height:19px}.document-label>span{color:#a0abba}.document-sheet h1{font-size:28px;font-weight:normal;line-height:1.5;margin:0 0 13px;overflow-wrap:anywhere;color:#254771}.post-meta{display:flex;gap:7px 18px;flex-wrap:wrap;font-size:11px;color:#7d8ca0;padding-bottom:19px;margin-bottom:24px;border-bottom:1px solid #e5ebf2}.post-content{font-size:14px;line-height:1.95;overflow-wrap:anywhere;color:#42536b}.post-content>*:first-child{margin-top:0}.post-content a{text-decoration:underline;text-underline-offset:3px}.post-content h2{font-size:21px;color:#2b4b75;margin:30px 0 14px}.post-content h3{font-size:17px;margin-top:25px;color:#2b4b75}.post-content blockquote{margin:20px 0;padding:12px 18px;border-left:3px solid #92b0d6;background:#f1f6fd;color:#617c9d}.post-content blockquote p{margin:0}.post-content code{padding:2px 5px;background:#eef3f8;border-radius:2px;font-family:Consolas,monospace;font-size:.88em}.post-content pre{background:#f2f5fa;border:1px solid #dfe6ef;padding:17px;overflow:auto;line-height:1.7;border-radius:2px}.post-content pre code{padding:0;background:none;white-space:pre;overflow-wrap:normal}.post-content table{border-collapse:collapse;display:block;max-width:100%;overflow-x:auto;margin:20px 0;font-size:13px}.post-content th,.post-content td{border:1px solid #d6e1ee;padding:8px 12px}.post-content th{background:#eef4fd}.post-content hr{border:0;border-top:1px solid #dce5ef;margin:28px 0}.post-content iframe,.post-content video{max-width:100%}.post-content input[type=password]{max-width:100%;margin:5px 0;padding:5px}.post-content input[type=submit]{max-width:100%;cursor:pointer}.post-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px dashed #d9e2ed;padding-top:17px;margin-top:28px;font-size:11px;color:#8b97a8}.post-tags a{background:#f0f5fc;border:1px solid #dce6f3;padding:1px 8px;border-radius:2px}.post-near{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 30px;font-size:12px}.post-near div{border:1px solid #d9e3ef;background:#fff;padding:11px 14px;overflow-wrap:anywhere}.post-near span{display:block;font-size:10px;color:#869bb6;margin-bottom:5px}.post-near div:last-child{text-align:right}
.comments-section{margin:30px 0}.comments-section h3{font-size:15px;font-weight:normal;color:#3c5d86}.comment-list{list-style:none;padding:0;margin:18px 0}.comment-list .comment-list{margin:15px 0 0 15px}.comment-body{margin:0 0 12px;padding:15px;background:white;border:1px solid #dce5ee;font-size:12px;overflow-wrap:anywhere}.comment-author{display:flex;align-items:center;gap:9px}.comment-author .avatar{width:32px;height:32px;border:1px solid #d8e0eb;border-radius:3px}.comment-author cite{font-style:normal;font-weight:bold;color:#355981}.comment-meta{font-size:10px;color:#8c9aac;margin:5px 0}.comment-meta a{color:inherit}.comment-content{color:#5b6b80;line-height:1.9}.comment-reply{text-align:right;font-size:11px}.respond{padding:18px 21px;background:#f0f4fb;border:1px solid #d3deed}.respond h3{margin:0 0 15px}.respond label{display:block;margin-bottom:5px;font-size:11px;color:#526c8e}.respond label span{color:#c46d55}.respond p{margin:0 0 14px}.comment-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}input[type=search],input[type=text],input[type=email],input[type=url],input[type=password],textarea{border:1px solid #7f9db9;border-radius:0;background:#fff;color:#334861;box-shadow:inset 1px 1px 2px #203d5810}.respond input,.respond textarea{width:100%;padding:7px 8px;font-size:12px}.respond textarea{resize:vertical;line-height:1.8}.comment-submit{display:flex;justify-content:space-between;gap:12px;align-items:center}.comment-submit>span{color:#8c9bb0;font-size:11px}.cancel-comment-reply{text-align:right;font-size:11px}.comments-closed{padding:10px 0;color:#8b98a9;font-size:12px}.error-dialog{display:flex;align-items:center;gap:25px;padding:42px 30px;margin:30px 0 100px;background:#fff;border:1px solid #dbe4ed}.error-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:55px;height:55px;border-radius:50%;background:linear-gradient(#f98a76,#d24533);border:1px solid #b64539;box-shadow:inset 1px 1px 4px #ffdbd0;color:#fff;font:bold 44px Arial}.error-dialog h1{margin:8px 0 12px;font-size:24px;font-weight:normal}.error-dialog p{color:#7e8b9e;font-size:12px;line-height:1.9;margin-bottom:23px}
.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:28px 0 0;padding:15px 0;font-size:10px;color:#9aa5b5;border-top:1px solid #e5ebf2}.site-footer a{color:#8599b4}.statusbar{display:flex;justify-content:space-between;align-items:center;gap:15px;height:26px;padding:0 7px;border-top:1px solid #bcbbaa;background:#ece9d8;color:#62685f;font-size:11px}.statusbar>span{display:flex;align-items:center;gap:6px}.statusbar>span:last-child{border-left:1px solid #ceccbd;padding-left:15px;width:175px}.statusbar .xp-icon{width:16px;height:16px}.explorer.is-maximized{max-width:none;margin:-40px -30px -65px -135px;min-height:calc(100vh - var(--taskbar-height));border-radius:0}.is-maximized .explorer-body{min-height:calc(100vh - 196px)}.is-maximized .titlebar{border-radius:0}
.taskbar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;height:var(--taskbar-height);z-index:50;background:linear-gradient(#4191f4,#2464dc 13%,#225ddb 83%,#1d4ec1);box-shadow:inset 0 1px #72a8ee,0 -1px 2px #2056ad;color:white;gap:11px}.start-button{align-self:stretch;display:flex;align-items:center;gap:8px;margin:0;padding:0 24px 2px 15px;border:0;border-radius:0 13px 13px 0;background:linear-gradient(#8cbe7c 0%,#469d3d 12%,#358735 73%,#2b6b2d 100%);box-shadow:inset 0 2px 2px #c0d9a990,inset -3px 0 5px #184a2360;color:white;font-size:19px;font-weight:bold;font-style:italic;text-shadow:1px 2px 2px #254c25}.start-button:hover,.start-button[aria-expanded=true]{filter:brightness(1.1)}.start-logo{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:23px;height:23px;transform:skewY(-7deg) rotate(-7deg);filter:drop-shadow(1px 1px 1px #29532b)}.start-logo i:nth-child(1){background:#f68752}.start-logo i:nth-child(2){background:#add259}.start-logo i:nth-child(3){background:#62bce7}.start-logo i:nth-child(4){background:#ffdb59}.quick-home{display:block;flex-shrink:0}.quick-home .xp-icon{width:24px;height:24px}.taskbar-divider{height:27px;width:1px;background:#104cb6;box-shadow:1px 0 #5b90e4}.task-button{display:flex;align-items:center;gap:7px;max-width:270px;min-width:130px;width:220px;height:29px;padding:3px 10px;border:1px solid #1544a0;border-radius:3px;background:#1b50b8;box-shadow:inset 1px 1px 3px #113678;color:white;font-size:12px;text-align:left}.task-button .xp-icon{width:19px;height:19px}.task-button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.task-button.is-minimized{background:linear-gradient(#4891ee,#3c80e2);border-color:#2a65c7;box-shadow:inset 1px 1px 1px #75a8f3}.task-button:hover{filter:brightness(1.1)}.system-tray{display:flex;align-items:center;align-self:stretch;gap:10px;margin-left:auto;min-width:106px;padding:0 16px;background:linear-gradient(#26b6ee,#119fdd 16%,#169ade 83%,#1484c4);border-left:1px solid #0b64b9;box-shadow:inset 1px 0 1px #4fcbef}.system-tray .xp-icon{width:18px;height:18px}.system-tray time{font-size:12px;color:white;font-variant-numeric:tabular-nums}
.start-menu{position:fixed;left:0;bottom:var(--taskbar-height);width:405px;max-width:calc(100vw - 8px);z-index:60;border:2px solid #1f5fc4;border-bottom:0;border-radius:7px 7px 0 0;background:#fff;box-shadow:4px -2px 14px #0a234452;overflow:hidden}.start-user{display:flex;align-items:center;gap:12px;min-height:70px;padding:11px 15px;background:linear-gradient(#206acb,#398ded);color:#fff;text-shadow:1px 1px #235d9e;border-bottom:2px solid #efa94a}.start-user>.xp-icon{width:45px;height:45px;border:1px solid #fff;border-radius:4px;box-shadow:1px 2px 3px #174575}.start-user strong{font-size:17px;overflow-wrap:anywhere;min-width:0}.start-menu-body{display:grid;grid-template-columns:1.1fr 1fr;min-height:270px}.start-primary{padding:12px 8px}.start-primary a,.start-primary button{display:flex;align-items:center;gap:9px;padding:10px 7px;border:0;background:transparent;width:100%;color:#29394f;text-align:left;line-height:1.6}.start-primary .xp-icon{width:32px;height:32px}.start-primary strong{display:block;font-size:12px}.start-primary small{display:block;color:#8b929c;font-size:10px}.start-primary a:hover,.start-primary button:hover,.start-secondary a:hover{background:#316bc6;color:white;text-decoration:none}.start-primary a:hover small,.start-primary button:hover small{color:#e0ebfb}.start-secondary{background:#d3e5fa;border-left:1px solid #99bee9;padding:17px 10px;color:#2a4a7c}.start-secondary a{display:flex;align-items:center;gap:7px;padding:8px 4px;font-size:12px;overflow-wrap:anywhere}.start-secondary .xp-icon{width:20px;height:20px}.start-label{display:block;font-size:11px;margin:0 4px 9px}.start-separator{height:1px;background:#aec9eb;margin:12px 3px}.start-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:linear-gradient(#3c8de9,#2263ca);color:#e6f1ff;font-size:11px}.start-menu-footer .xp-button{border-color:#164790;font-size:10px;min-height:25px;padding:2px 9px}
.help-dialog{padding:0;color:var(--ink);width:440px;max-width:calc(100vw - 28px);border:3px solid #0750d1;border-top:0;border-radius:8px 8px 0 0;background:var(--chrome);box-shadow:0 10px 40px #13285860}.help-dialog::backdrop{background:#1636535c}.help-dialog .titlebar{margin:0;font-size:13px}.help-body{padding:24px 27px}.help-body>.xp-icon{width:60px;height:60px;display:block;margin:0 auto 12px}.help-body h2{text-align:center;font-size:20px;font-weight:normal;color:#365c86;margin:12px 0 18px}.help-body p,.help-body ul{font-size:12px;color:#5c6c7d;line-height:1.9}.help-body ul{padding-left:18px;margin:15px 0 22px}.help-body>.xp-button{display:flex;min-width:80px;margin-left:auto}kbd{background:#fff;border:1px solid #b3b8ba;border-bottom-width:2px;border-radius:2px;padding:1px 4px;font-size:10px}
@media(min-width:1600px){body{padding-top:65px}.explorer.is-maximized{margin-top:-65px}}
@media(max-width:1100px){body{padding:28px 22px 100px 110px}.desktop-shortcuts{left:12px;width:76px}.explorer-body{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:15px 11px}.main-pane{padding:22px 23px 0}.toolbar-search{width:220px}.tool,.tool-home{gap:4px}.toolbar{gap:2px}.explorer.is-maximized{margin:-28px -22px -60px -110px}}
@media(max-width:850px){body{padding:18px 14px 85px}.desktop-shortcuts,.desktop-note{display:none}.explorer-body{grid-template-columns:170px minmax(0,1fr)}.sidebar{padding:13px 9px}.main-pane{padding:20px 18px 0}.task-panel h2{padding:7px 9px}.task-panel-body{padding:10px 9px}.toolbar{padding:6px 8px;gap:3px}.toolbar .tool{padding:4px}.toolbar .tool span{display:none}.toolbar-search{width:200px}.welcome-banner{padding:20px 18px}.welcome-banner h1{font-size:21px}.welcome-banner .welcome-icon{width:56px;height:56px}.post-card{padding:17px 16px 13px;gap:12px}.post-card h2{font-size:17px}.post-file-icon .xp-icon{width:30px;height:35px}.document-sheet{padding:23px 21px}.explorer.is-maximized{margin:-18px -14px -45px}.site-footer{flex-direction:column;gap:4px}}
@media(max-width:620px){:root{--taskbar-height:42px}body{padding:9px 7px 70px;font-size:13px;background-attachment:scroll}.explorer{border-width:2px;border-top:0}.titlebar{height:33px;padding-left:7px}.window-title{font-size:12px}.menubar{padding:2px 3px}.menubar a,.menubar button{padding:4px 7px;font-size:11px}.menubar a span{display:none}.toolbar{flex-wrap:wrap;min-height:50px;padding:6px}.tool-home .xp-icon{width:26px;height:26px}.toolbar-divider{margin:0 1px;height:25px}.toolbar-search{flex:1;width:auto;min-width:120px}.toolbar-search .xp-button{padding:3px 8px}.toolbar-search input{padding:4px 6px;font-size:11px;width:100%}.toolbar .tool .xp-icon{width:23px;height:23px}.tool-home{font-size:11px;padding-right:2px;gap:3px}.addressbar{padding:4px 7px;gap:6px;font-size:11px}.address-path{gap:5px;padding-left:5px}.address-go span{display:none}.explorer-body{display:flex;flex-direction:column;min-height:450px}.main-pane{order:0;padding:16px 14px 0}.sidebar{order:1;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 12px 4px}.task-panel{margin-bottom:12px}.task-panel.detail-panel{grid-column:1/-1}.detail-panel .detail-icon{float:left;margin:0 12px 8px 0}.detail-panel .task-panel-body{min-height:68px}.detail-panel p{margin-bottom:3px}.welcome-banner{padding:18px 16px;margin-bottom:21px;gap:4px}.welcome-banner h1{font-size:20px;letter-spacing:0;margin:8px 0}.welcome-banner .welcome-icon{width:47px;height:47px;margin-left:2px}.eyebrow{font-size:8px;letter-spacing:1.2px}.welcome-banner p{font-size:11px}.section-heading h2{font-size:13px}.section-heading h2 span{font-size:10px}.section-note{font-size:9px}.post-list{gap:12px}.post-card{padding:16px 13px 12px;gap:9px}.post-file-icon .xp-icon{width:25px;height:30px}.post-card h2{font-size:17px;margin-top:7px}.post-excerpt{font-size:12px;line-height:1.85}.post-card-bottom{gap:6px 10px}.comment-count{margin-left:auto}.read-link{flex-basis:100%;text-align:right}.document-sheet{padding:20px 17px}.document-sheet h1{font-size:25px}.post-content{font-size:14px}.comment-fields{grid-template-columns:1fr;gap:0}.respond{padding:17px 14px}.comment-submit>span{font-size:10px}.post-near{gap:10px}.post-near div{padding:10px;font-size:11px}.error-dialog{padding:25px 17px;gap:16px;margin-bottom:50px}.error-symbol{width:40px;height:40px;font-size:34px}.error-dialog h1{font-size:21px}.statusbar>span:last-child{width:auto}.taskbar{gap:7px}.start-button{padding-left:10px;padding-right:19px;font-size:18px}.start-logo{width:21px;height:21px}.quick-home{display:none}.taskbar-divider{margin-left:0}.task-button{min-width:0;max-width:220px;width:auto;flex:1;font-size:11px;padding-left:7px}.system-tray{padding:0 10px;min-width:77px;gap:6px}.system-tray .xp-icon{width:15px;height:15px}.system-tray time{font-size:11px}.start-menu{width:365px}.start-menu-body{min-height:245px}.start-user{min-height:63px}.start-user strong{font-size:15px}.explorer.is-maximized{margin:-9px -7px -28px}.help-body{padding:21px}.help-body h2{font-size:18px}.compact-view .post-card h2{font-size:15px}}
@media(max-width:380px){.toolbar .tool[data-restore]{display:none}.toolbar .toolbar-divider:nth-of-type(2){display:none}.welcome-banner .welcome-icon{display:none}.welcome-banner h1{font-size:19px}.main-pane{padding-left:10px;padding-right:10px}.sidebar{gap:8px;padding-left:9px;padding-right:9px}.section-note{display:none}.menubar .menubar-mark{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white;padding:0;color:#000}.desktop-shortcuts,.desktop-note,.titlebar,.menubar,.toolbar,.addressbar,.sidebar,.taskbar,.start-menu,.statusbar,.post-near,.respond,.help-dialog{display:none!important}.explorer,.explorer.is-maximized{display:block!important;border:0;box-shadow:none;max-width:none;margin:0}.explorer-body{display:block}.main-pane{padding:0;background:white}.document-sheet,.post-card{border:0;box-shadow:none}.post-content a{color:#000}.site-footer{margin-top:15px}}

/* 1.1: functional Explorer controls and a more comfortable reading surface. */
:root {
    --reading-font: 17px;
    --frame: #0750d1;
    --window-top: #4997ff;
    --window-mid: #0861eb;
    --window-bottom: #003dae;
    --sidebar-top: #7ea1e6;
    --sidebar-bottom: #668bd5;
    --panel-background: #d6e2fa;
    --panel-heading: #d0ddf7;
    --accent: #214fa0;
    --selection: #e7f0ff;
}
body[data-skin="olive"] {
    --frame: #60713a;
    --window-top: #bfcc8b;
    --window-mid: #899b52;
    --window-bottom: #52632d;
    --sidebar-top: #b3bd8d;
    --sidebar-bottom: #939f72;
    --panel-background: #edf0de;
    --panel-heading: #d6dfb4;
    --accent: #4b622b;
    --selection: #edf2dc;
    --chrome: #eeeedd;
}
body[data-skin="silver"] {
    --frame: #687488;
    --window-top: #e2e7f0;
    --window-mid: #a6b2c8;
    --window-bottom: #66758e;
    --sidebar-top: #b8c3d5;
    --sidebar-bottom: #8f9eb7;
    --panel-background: #e6ebf3;
    --panel-heading: #d6dde9;
    --accent: #3f526e;
    --selection: #e9eef6;
    --chrome: #ececf0;
}
body[data-background="classic"] { background-image: none; background-color: #386c79; }
body[data-background="dusk"] { background-image: linear-gradient(155deg,#304775 0%,#718ab4 40%,#cdb79c 73%,#7a947e 100%); }
a { color: var(--accent); }
.explorer, .help-dialog { border-color: var(--frame); }
.titlebar { background: linear-gradient(var(--window-top),var(--window-mid) 15%,var(--window-mid) 65%,var(--window-bottom)); }
.sidebar { background: linear-gradient(125deg,var(--sidebar-top),var(--sidebar-bottom) 80%); }
.task-panel h2 { padding: 0; background: linear-gradient(100deg,white,var(--panel-heading)); }
.task-panel h2 button {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    width: 100%; padding: 9px 11px; border: 0; background: transparent;
    color: var(--accent); font-size: 12px; font-weight: bold; text-align: left;
}
.task-panel h2 button:hover { background: #ffffff55; }
.task-panel h2 button:focus-visible { outline-offset: -3px; }
.task-panel h2 button span { font: bold 17px Arial; transition: transform .15s; }
.task-panel h2 button[aria-expanded="false"] span { transform: rotate(180deg); }
.task-panel-body { background: var(--panel-background); }
.category-list li { padding: 1px 0; }
.category-list > li:before { content: none; }
.category-row { display: flex; gap: 5px; align-items: center; min-height: 29px; }
.category-row > .xp-icon { width: 17px; height: 17px; }
.category-row > a { flex: 1; min-width: 0; margin: 0; font-size: 12px; }
.category-row > a[aria-current="page"] { font-weight: bold; text-decoration: underline; text-underline-offset: 3px; }
.category-count { font-size: 10px; color: #526783; font-variant-numeric: tabular-nums; }
.category-toggle {
    width: 18px; height: 25px; flex-shrink: 0; padding: 0; border: 0;
    background: transparent; color: var(--accent); font-size: 20px;
}
.category-toggle[aria-expanded="true"] { transform: rotate(90deg); }
.category-leaf { width: 18px; flex-shrink: 0; }
.category-children .category-list { padding: 0 0 0 13px; margin: 1px 0 3px; }
.panel-label { display: none; }
.tool { min-height: 37px; }
.tool:disabled { opacity: .42; background: none; border-color: transparent; filter: grayscale(1); }
.tool:disabled:hover { cursor: default; }
.history-forward .xp-icon { transform: none; }
.history-forward { padding-left: 3px; padding-right: 3px; }
.toolbar-search { width: 220px; }
.view-control { position: relative; flex-shrink: 0; }
.view-menu {
    position: absolute; top: calc(100% + 3px); right: 0; z-index: 10;
    width: 170px; padding: 4px; border: 1px solid #788ba5; background: #fff;
    box-shadow: 3px 4px 7px #233b5740;
}
.view-menu button { display: block; width: 100%; padding: 8px 12px 8px 25px; border: 0; background: none; font-size: 12px; text-align: left; position: relative; }
.view-menu button:hover, .view-menu button:focus-visible { background: var(--selection); }
.view-menu button[aria-pressed="true"]:before { content: "✓"; position: absolute; left: 7px; color: var(--accent); }
.address-path > a { flex-shrink: 0; max-width: 30%; overflow: hidden; text-overflow: ellipsis; }
.welcome-banner p { color: #526d91; font-size: 13px; }
.post-card h2 { font-size: 20px; }
.post-card-top, .post-card time { font-size: 11px; color: #62728a; }
.post-excerpt { font-size: 14px; line-height: 1.85; color: #53647b; }
.post-card-bottom { font-size: 12px; gap: 10px; }
.post-category a, .comment-count { color: #536b8a; }
.post-file-icon { border-radius: 2px; }
.post-card:focus-within { border-color: var(--accent); background: var(--selection); }
.post-file-icon:focus-visible { outline-offset: 3px; }
.document-sheet, .post-near, .comments-section, .related-posts { max-width: var(--reading-width,1200px); margin-left: auto; margin-right: auto; }
.post-content { font-size: var(--reading-font); color: #34465d; }
.post-content h2, .post-content h3 { scroll-margin-top: 32px; }
.post-meta { color: #586e89; font-size: 12px; }
.post-tags, .post-near span { color: #576e8b; }
.details-heading { display: none; }
.details-view .details-heading, .details-view .post-card {
    display: grid; grid-template-columns: minmax(0,2fr) 92px minmax(0,1fr) 74px; column-gap: 10px;
}
.details-view .details-heading { padding: 8px 13px; background: #eef3fa; border: 1px solid #d3deed; color: #526780; font-size: 11px; }
.details-view .post-list { gap: 0; }
.details-view .post-card { position: relative; padding: 13px; border-top: 0; border-radius: 0; align-items: center; }
.details-view .post-card-main, .details-view .post-card-top, .details-view .post-card-bottom { display: contents; }
.details-view .post-file-icon { position: absolute; left: 12px; top: 13px; padding: 0; }
.details-view .post-file-icon .xp-icon { width: 20px; height: 24px; }
.details-view .post-card h2 { grid-column: 1; grid-row: 1; padding-left: 27px; font-size: 14px; margin: 0; }
.details-view .post-card time { grid-column: 2; grid-row: 1; font-size: 11px; }
.details-view .post-category { grid-column: 3; grid-row: 1; font-size: 11px; gap: 3px; }
.details-view .comment-count { grid-column: 4; grid-row: 1; font-size: 11px; }
.details-view .file-type, .details-view .post-excerpt, .details-view .read-link { display: none; }
.reader-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: -9px 0 21px; font-size: 11px; color: #59718e; }
.reader-toolbar .xp-button { padding-left: 9px; padding-right: 9px; }
.article-toc { margin: 0 0 25px; background: #f1f6fd; border: 1px solid #d4e1f2; }
.article-toc summary { padding: 11px 15px; color: var(--accent); font-size: 13px; cursor: pointer; }
.article-toc summary > span { float: right; }
.article-toc:not([open]) summary > span { transform: rotate(-90deg); }
.article-toc ol { margin: 0; padding: 0 15px 13px 33px; max-height: 240px; overflow: auto; font-size: 13px; }
.article-toc li { padding: 3px 0; }
.article-toc .toc-subheading { margin-left: 15px; font-size: 12px; }
.article-toc a { display: inline-block; padding: 2px 4px; overflow-wrap: anywhere; }
.article-toc a[aria-current="location"] { background: #d9e8fd; font-weight: bold; }
.reading-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 80; pointer-events: none; }
.reading-progress span { display: block; height: 100%; background: #70a740; width: 0; }
.code-window { border: 1px solid #c8d5e5; border-radius: 3px; margin: 22px 0; overflow: hidden; }
.code-window-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 11px; background: linear-gradient(#f7f9fc,#e7edf5); border-bottom: 1px solid #ced9e7; color: #4d6481; font-size: 11px; line-height: 1.4; }
.code-window .code-copy { min-height: 25px; padding: 2px 10px; font-size: 11px; }
.code-window pre { margin: 0; border: 0; border-radius: 0; background: #f6f8fc; font-size: 13px; padding: 17px; }
.post-content .token.comment, .post-content .token.prolog, .post-content .token.doctype { color: #63788c; }
.post-content .token.punctuation { color: #556478; }
.post-content .token.property, .post-content .token.tag, .post-content .token.constant, .post-content .token.symbol { color: #973b50; }
.post-content .token.boolean, .post-content .token.number { color: #935013; }
.post-content .token.selector, .post-content .token.string, .post-content .token.attr-name, .post-content .token.builtin { color: #34733b; }
.post-content .token.operator, .post-content .token.entity, .post-content .token.url { color: #6f5331; }
.post-content .token.atrule, .post-content .token.keyword, .post-content .token.attr-value { color: #2458a1; }
.post-content .token.function, .post-content .token.class-name { color: #704195; }
.image-preview-trigger { display: block; width: 100%; max-width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; line-height: 0; }
.image-preview-trigger img { display: block; }
.help-dialog { max-height: calc(100vh - 50px); max-height: calc(100dvh - 50px); overflow-y: auto; }
.help-dialog > .titlebar { position: sticky; top: 0; z-index: 2; }
.image-dialog { width: min(1000px,94vw); background: #e9edf3; }
.image-viewer { padding: 15px; text-align: center; }
.image-viewer img { max-height: calc(100dvh - 150px); width: auto; object-fit: contain; }
.image-viewer p { font-size: 12px; color: #4f6684; margin-bottom: 0; overflow-wrap: anywhere; }
.start-menu { display: flex; flex-direction: column; max-height: calc(100vh - var(--taskbar-height) - 10px); max-height: calc(100dvh - var(--taskbar-height) - 10px); }
.start-user, .start-menu-footer { flex-shrink: 0; }
.start-menu-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.start-primary a, .start-primary button { min-height: 53px; }
.recent-reading a { font-size: 11px; padding-top: 5px; padding-bottom: 5px; }
.recent-reading > button { padding: 4px; border: 0; background: none; font-size: 10px; color: #526d93; text-decoration: underline; }
.preferences-body { padding: 22px; }
.preferences-dialog { width: 470px; }
.preferences-preview { margin-bottom: 20px; border: 2px solid var(--frame); background: #fff; }
.preferences-preview .titlebar { height: 26px; font-size: 11px; border-radius: 0; margin: 0; }
.preferences-preview > div:last-child { display: flex; gap: 10px; align-items: center; padding: 14px; font-size: 12px; color: #4f6784; }
.preferences-preview .xp-icon { width: 43px; height: 43px; }
.preferences-body fieldset { margin: 0 0 15px; padding: 12px; border: 1px solid #bfc6c8; }
.preferences-body legend { padding: 0 5px; font-size: 12px; }
.skin-options { display: flex; gap: 8px; flex-wrap: wrap; }
.skin-options label { display: flex; align-items: center; gap: 5px; font-size: 12px; min-height: 30px; }
.skin-swatch { display: inline-block; width: 14px; height: 14px; border: 1px solid #fff; box-shadow: 0 0 0 1px #77848e; }
.skin-swatch.blue { background: #245edb; }
.skin-swatch.olive { background: #899b52; }
.skin-swatch.silver { background: #a6b2c8; }
.preferences-label { display: flex; align-items: center; justify-content: space-between; font-size: 12px; margin: 14px 0 7px; }
.preferences-body select { width: 100%; padding: 7px; background: #fff; border: 1px solid #7f9db9; color: #34465d; font: inherit; }
.preferences-body input[type="range"] { width: 100%; accent-color: var(--accent); }
.preferences-note { font-size: 11px; color: #5b6b7e; margin-top: 17px; }
.preferences-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 19px; }
.preferences-actions button:first-child { margin-right: auto; }
.desktop-toast { position: fixed; bottom: calc(var(--taskbar-height) + 15px); left: 50%; transform: translateX(-50%); z-index: 90; max-width: calc(100vw - 30px); padding: 11px 17px; border: 1px solid #8b814b; border-radius: 4px; background: #fffbd7; color: #534e37; box-shadow: 2px 3px 9px #163a4940; font-size: 12px; }
.task-button.is-closed { border-style: dashed; }
.navigation-dialog { width: 370px; padding: 0; }
.drawer-page-links { display: grid; grid-template-columns: 1fr 1fr; padding: 10px; gap: 5px; background: #edf4ff; }
.drawer-page-links a { padding: 8px; font-size: 13px; min-height: 40px; }
.navigation-dialog .sidebar { display: block; padding: 15px; }
.navigation-dialog .task-panel { margin-bottom: 12px; }
.window-dragging { user-select: none; }
@media (min-width: 851px) { [data-window-titlebar] { cursor: move; touch-action: none; } }
body[data-skin="olive"] .taskbar { background: linear-gradient(var(--window-top),var(--window-mid) 15%,var(--window-bottom)); }
body[data-skin="silver"] .taskbar { background: linear-gradient(var(--window-top),var(--window-mid) 15%,var(--window-bottom)); }
body[data-skin="olive"] .task-button, body[data-skin="silver"] .task-button { background: var(--window-bottom); border-color: var(--frame); box-shadow: inset 1px 1px 3px #0003; }
body[data-skin="olive"] .start-user, body[data-skin="silver"] .start-user,
body[data-skin="olive"] .start-menu-footer, body[data-skin="silver"] .start-menu-footer { background: linear-gradient(var(--window-mid),var(--window-bottom)); }
body[data-skin="olive"] .start-secondary, body[data-skin="silver"] .start-secondary { background: var(--panel-background); }
body[data-skin="olive"] .start-menu, body[data-skin="silver"] .start-menu { border-color: var(--frame); }
body[data-skin="olive"] .window-control:not(.close), body[data-skin="silver"] .window-control:not(.close) { background: linear-gradient(135deg,var(--window-top),var(--window-bottom)); }
body[data-skin="olive"] .system-tray, body[data-skin="silver"] .system-tray { background: var(--window-mid); border-color: var(--frame); }
@keyframes xp-popup { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.start-menu:not([hidden]), .view-menu:not([hidden]), .help-dialog[open] { animation: xp-popup .12s ease-out; }
.explorer.is-restoring { animation: xp-restore .15s ease-out; }
@keyframes xp-restore { from { opacity: .3; } to { opacity: 1; } }
@media (max-width: 1100px) { .toolbar-search { width: 190px; } .toolbar .tool { padding: 4px; } }
@media (max-width: 850px) { .toolbar .tool span { display: none; } .toolbar-search { width: 185px; } .details-view .post-card h2 { font-size: 13px; } }
@media (max-width: 620px) {
    .xp-js .menubar, .xp-js .explorer-body > .sidebar { display: none; }
    .toolbar { gap: 4px; padding: 6px 8px; }
    .toolbar .tool { min-width: 40px; min-height: 40px; padding: 5px; }
    .toolbar .tool .xp-icon, .toolbar .tool-home .xp-icon { width: 25px; height: 25px; }
    .toolbar .tool-search, .toolbar-divider { display: none; }
    .toolbar .tool-folders span { display: inline; font-size: 11px; }
    .toolbar-search { flex-basis: 100%; width: 100%; margin: 0; min-width: 0; }
    .toolbar-search input { height: 40px; padding: 8px 10px; font-size: 13px; }
    .toolbar-search .xp-button { min-height: 40px; min-width: 57px; font-size: 12px; }
    .titlebar { height: 38px; }
    .window-control { width: 29px; height: 29px; }
    .addressbar { padding-top: 5px; padding-bottom: 5px; }
    .address-path { height: 29px; font-size: 11px; }
    .main-pane { padding: 17px 13px 0; }
    .post-card h2 { font-size: 19px; line-height: 1.55; }
    .post-excerpt { font-size: 14px; }
    .post-card-bottom { font-size: 11px; }
    .post-content { font-size: var(--reading-font); }
    .post-content h2 { font-size: 22px; }
    .post-content h3 { font-size: 18px; }
    .welcome-banner h1 { font-size: 21px; }
    .welcome-banner p { font-size: 12px; }
    .section-heading h2 { font-size: 14px; }
    .xp-js .explorer-body { min-height: 400px; }
    .sidebar { display: block; }
    .navigation-dialog { width: calc(100vw - 24px); }
    .navigation-dialog .category-row { min-height: 40px; }
    .navigation-dialog .category-toggle { width: 26px; height: 40px; }
    .navigation-dialog .category-leaf { width: 26px; }
    .navigation-dialog .task-panel h2 button { min-height: 44px; font-size: 13px; }
    .navigation-dialog .category-row a { font-size: 13px; }
    .reader-toolbar .xp-button { min-height: 36px; }
    .article-toc summary { min-height: 44px; }
    .article-toc a { padding-top: 6px; padding-bottom: 6px; }
    .details-view .details-heading, .details-view .post-card { grid-template-columns: minmax(0,1fr) 82px; row-gap: 7px; }
    .details-view .details-heading span:nth-child(n+3) { display: none; }
    .details-view .post-category { grid-column: 1; grid-row: 2; padding-left: 27px; }
    .details-view .comment-count { grid-column: 2; grid-row: 2; margin: 0; }
    .details-view .post-card h2 { font-size: 14px; }
    .start-menu-footer .xp-button { min-height: 36px; }
    .start-menu { width: 375px; }
    .preferences-body { padding: 17px; }
    .preferences-actions .xp-button { min-height: 36px; padding: 4px 11px; }
    .preferences-body input[type="range"] { min-height: 35px; }
    .skin-options label { min-height: 40px; }
    .code-window .code-copy { min-height: 35px; }
    .explorer.is-maximized { margin: -9px -7px -28px; }
}
@media (max-width: 380px) {
    .toolbar .tool[data-restore] { display: flex; }
    .toolbar .tool-folders span { display: inline; }
    .preferences-actions { gap: 5px; }
    .preferences-actions .xp-button { padding-left: 9px; padding-right: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
    .view-menu, .reader-toolbar, .reading-progress, .desktop-toast, .code-window-header, .article-toc { display: none !important; }
    .explorer { transform: none !important; }
    .post-content { font-size: 12pt; }
}

/* 1.2: persistent reading navigation and the XP image viewer. */
.xp-js .reading-window { overflow: clip; }
.reading-window .explorer-body { background: linear-gradient(125deg,var(--sidebar-top),var(--sidebar-bottom) 80%); }
.xp-js .reading-sidebar { position: sticky; top: 16px; align-self: start; max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.reading-tabs { display: flex; gap: 3px; border-bottom: 1px solid #8fa9ce; margin-bottom: 12px; }
.reading-tabs button { flex: 1; min-width: 0; min-height: 38px; padding: 7px 4px; border: 1px solid #a3b7d2; border-bottom: 0; border-radius: 5px 5px 0 0; background: var(--panel-heading); color: var(--accent); font-size: 12px; }
.reading-tabs button[aria-selected="true"] { background: #f5f8ff; font-weight: bold; box-shadow: inset 0 3px #eda44b; }
.reading-tabs button:disabled { opacity: .55; cursor: default; }
.reading-navigation .article-toc { margin: 0; border-color: #b8cbe5; background: var(--panel-background); }
.reading-navigation .article-toc summary, .toc-dialog .article-toc summary { display: none; }
.reading-navigation .article-toc ol { padding: 8px; list-style: none; max-height: max(100px,calc(100vh - 230px)); max-height: max(100px,calc(100dvh - 230px)); overscroll-behavior: contain; scrollbar-width: thin; }
.reading-navigation .article-toc li { padding: 1px 0; }
.reading-navigation .article-toc a { display: block; padding: 7px 8px; line-height: 1.65; border-left: 3px solid transparent; font-size: 12px; }
.reading-navigation .article-toc .toc-subheading { margin-left: 12px; }
.reading-navigation .article-toc .toc-subheading a { font-size: 11px; }
.article-toc a[aria-current="location"] { background: var(--selection); border-left-color: var(--accent); }
.reading-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; padding: 11px 2px 0; color: #193d6a; font-size: 11px; }
.reading-summary button { padding: 3px 0; border: 0; background: none; color: var(--accent); font-size: 11px; text-decoration: underline; }
.reader-actions { display: flex; flex-wrap: wrap; gap: 6px; }
[data-open-toc] { display: none; }
.toc-dialog { width: 370px; }
.toc-dialog .article-toc { border: 0; margin: 0; }
.toc-dialog .article-toc ol { list-style: none; padding: 12px; max-height: calc(100vh - 135px); max-height: calc(100dvh - 135px); overscroll-behavior: contain; }
.toc-dialog .article-toc a { display: block; padding: 10px; min-height: 44px; border-left: 3px solid transparent; }
.image-dialog { width: min(1120px,96vw); max-width: calc(100vw - 20px); height: min(780px,calc(100vh - 48px)); height: min(780px,calc(100dvh - 48px)); max-height: calc(100dvh - 20px); overflow: hidden; background: var(--chrome); }
.image-dialog[open] { display: flex; flex-direction: column; }
.image-dialog > .titlebar { flex: 0 0 auto; position: relative; }
.image-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; padding: 8px; border-bottom: 1px solid #a6a798; background: var(--chrome); flex: 0 0 auto; }
.image-tool-group { display: flex; gap: 4px; }
.image-toolbar .xp-button { min-height: 32px; padding: 4px 9px; white-space: nowrap; }
.image-toolbar button:disabled { opacity: .45; cursor: default; }
.image-toolbar [aria-pressed="true"] { background: var(--selection); border-color: var(--accent); box-shadow: inset 1px 1px 2px #35588630; }
.image-original { margin-left: auto; }
.image-stage { position: relative; flex: 1 1 auto; min-height: 80px; overflow: hidden; background: #323841; touch-action: none; user-select: none; outline-offset: -4px; }
.image-stage img { position: absolute; left: 50%; top: 50%; max-width: none; max-height: none; object-fit: fill; transform-origin: center; pointer-events: none; touch-action: none; }
.image-stage.can-pan { cursor: grab; }
.image-stage.can-pan.is-dragging { cursor: grabbing; }
.image-loading, .image-error { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: #eaf1fb; text-align: center; font-size: 13px; width: 90%; }
.image-error .xp-button { display: inline-block; margin: 3px; }
.image-statusbar { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 12px; padding: 6px 9px; border-top: 1px solid #f9f8f0; box-shadow: inset 0 1px #abaea4; flex: 0 0 auto; color: #46566c; font-size: 11px; line-height: 1.6; }
#image-position { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
#viewer-caption { flex: 1; min-width: 80px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#image-metrics { flex: 0 0 auto; font-variant-numeric: tabular-nums; }
.image-hint { flex: 0 0 auto; text-align: center; color: #596579; font-size: 10px; padding: 2px 8px 5px; }
@media (max-width: 620px) {
    .xp-js .reading-sidebar { position: static; max-height: none; overflow: visible; }
    .navigation-dialog .reading-sidebar { display: block; }
    .navigation-dialog .reading-tabs { display: none; }
    .navigation-dialog .reading-navigation { display: none; }
    [data-open-toc] { display: inline-flex; align-items: center; justify-content: center; }
    .floating-toc { position: fixed; right: 14px; bottom: calc(var(--taskbar-height) + 15px); z-index: 70; min-height: 42px; padding: 8px 13px; border: 1px solid #6b86b0; box-shadow: 1px 3px 8px #16365340; }
    .reader-toolbar { flex-wrap: wrap; }
    .toc-dialog { width: calc(100vw - 24px); }
    .image-dialog { max-width: calc(100vw - 12px); width: calc(100vw - 12px); height: calc(100vh - 16px); height: calc(100dvh - 16px); }
    .image-toolbar { padding: 5px; gap: 5px; }
    .image-toolbar .xp-button { min-height: 38px; padding: 4px 7px; font-size: 11px; }
    .image-original { margin-left: 0; }
    .image-statusbar { gap: 2px 8px; padding: 5px 7px; }
    #viewer-caption { flex-basis: 50%; }
    .image-hint { font-size: 0; }
    .image-hint::after { content: "双指缩放 · 放大后拖动 · 适应窗口时滑动切图"; font-size: 10px; }
}
@media print { .floating-toc, .image-dialog, .toc-dialog { display: none !important; } }

/* 1.3: wider paper, calmer typography and a compact reading desktop. */
body { --reading-width: 1200px; }
body[data-reading-width="standard"] { --reading-width: 850px; }
.reading-window { max-width: 1480px; }
body[data-reading-width="standard"] .reading-window { max-width: 1130px; }
body[data-reading-width] .reading-window.is-maximized { max-width: none; }
.reading-window .main-pane { background: #f2f5fa; }
.post-content { line-height: 1.9; }
.post-content p { margin: 1.2em 0; }
.post-content h2 { font-size: 1.5em; line-height: 1.5; margin: 1.8em 0 .7em; padding-bottom: .3em; border-bottom: 1px solid #e1e8f1; }
.post-content h3 { font-size: 1.2em; line-height: 1.6; margin: 1.5em 0 .6em; }
.post-content h4 { font-size: 1.05em; color: #2b4b75; }
.post-content li { margin: .35em 0; }
.post-content ul, .post-content ol { padding-left: 1.6em; }
.post-content blockquote { border-left: 4px solid #87a7d1; padding: 15px 20px; color: #486381; }
.post-content blockquote p + p { margin-top: .8em; }
.post-content table { font-size: .9em; }
.post-content img { display: block; margin: 1.4em auto; }
.post-content .image-preview-trigger img { margin: 0; }
.post-content .image-preview-trigger { margin: 1.4em auto; }
.reading-navigation .article-toc a { font-size: 13px; overflow-wrap: anywhere; }
.reading-navigation .article-toc .toc-subheading a { font-size: 12px; }
.post-meta { margin-bottom: 12px; }
.reading-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 12px; color: #566d89; margin-bottom: 20px; }
.related-posts { margin-bottom: 22px; padding: 20px 24px; border: 1px solid #d7e1ef; background: #fff; }
.related-posts h2 { display: flex; align-items: center; gap: 8px; font-size: 16px; margin: 0 0 12px; color: #2b4b75; }
.related-posts ul { list-style: none; margin: 0; padding: 0; }
.related-posts li { display: flex; align-items: baseline; gap: 12px; padding: 10px 0; border-top: 1px solid #e9eef5; }
.related-posts a { display: flex; align-items: flex-start; gap: 8px; flex: 1; min-width: 0; font-size: 14px; overflow-wrap: anywhere; }
.related-posts .xp-icon { width: 18px; height: 22px; }
.related-posts time { font-size: 11px; color: #586e89; white-space: nowrap; }
.post-near div { position: relative; padding: 17px 20px; border-radius: 3px; font-size: 14px; line-height: 1.7; }
.post-near span { font-size: 12px; margin-bottom: 8px; }
.post-near div:has(a):hover { background: #edf4ff; border-color: #91abd1; }
.post-near a::after { content: ""; position: absolute; inset: 0; }
.post-near div:focus-within { outline: 2px solid #e59719; outline-offset: 2px; }
.search-summary { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; margin: 0 0 22px; padding: 14px 17px; background: #edf4ff; border: 1px solid #cbdcf1; }
.search-summary p { margin: 0; }
.search-again { display: flex; gap: 7px; flex: 0 1 420px; min-width: 0; }
.search-again input { flex: 1; width: 100%; padding: 8px 10px; border: 1px solid #7f9db9; background: #fff; }
.search-again button { flex-shrink: 0; }
.post-list mark { color: #254771; background: #fff0aa; padding: 0 2px; border-radius: 2px; }
.category-suggestions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin: 20px 0; }
.category-suggestions a { display: inline-flex; gap: 6px; align-items: center; }
.category-suggestions .xp-icon { width: 20px; height: 20px; }
.reading-width-options { margin-top: 15px !important; display: flex; flex-wrap: wrap; gap: 12px; }
.reading-width-options label { display: inline-flex; align-items: center; min-height: 32px; gap: 5px; font-size: 12px; }
.xp-button { box-shadow: inset 1px 1px #fff, inset -1px -1px #d4d0c8; }
.xp-button:active:not(:disabled), .xp-button[aria-pressed="true"] { background: var(--selection); border-color: var(--accent); box-shadow: inset 1px 1px 2px #375a8233; }
.focus-exit { display: none; white-space: nowrap; font-size: 11px; padding: 3px 8px; min-height: 27px; }
body.is-reading-focus { padding: 16px 16px 80px; }
.is-reading-focus .desktop-shortcuts, .is-reading-focus .desktop-note,
.is-reading-focus .reading-window > .menubar, .is-reading-focus .reading-window > .toolbar,
.is-reading-focus .reading-window > .addressbar { display: none; }
.is-reading-focus .reading-window { max-width: none !important; margin: 0 !important; transform: none !important; }
.is-reading-focus .reading-window > .titlebar { position: sticky; top: 0; z-index: 65; }
.is-reading-focus .focus-exit { display: inline-flex; align-items: center; }
.is-reading-focus .reading-sidebar { top: 54px; max-height: calc(100dvh - 115px); }
.is-reading-focus .reading-navigation .article-toc ol { max-height: max(100px,calc(100dvh - 265px)); }
.is-reading-focus .post-content h2, .is-reading-focus .post-content h3 { scroll-margin-top: 62px; }
@media (max-width: 620px) {
    .reader-actions { gap: 6px; }
    .reader-actions .xp-button { min-height: 38px; }
    .post-content h2 { font-size: 1.3em; }
    .post-content h3 { font-size: 1.12em; }
    .post-near { grid-template-columns: 1fr; gap: 10px; }
    .post-near div:last-child { text-align: left; }
    .related-posts { padding: 17px; }
    .related-posts li { flex-wrap: wrap; gap: 4px; }
    .related-posts a { flex-basis: 100%; }
    .related-posts time { padding-left: 26px; }
    .search-again { flex-basis: 100%; }
    body.is-reading-focus { padding: 7px 5px 70px; }
    .is-reading-focus .window-title { font-size: 11px; }
    .is-reading-focus .window-controls { gap: 3px; }
    .is-reading-focus .focus-exit { padding: 3px 5px; font-size: 10px; }
}
@media print {
    .related-posts, .focus-exit, .search-summary { display: none !important; }
    body.is-reading-focus { padding: 0; }
    .is-reading-focus .reading-window > .titlebar { display: none !important; }
    .document-sheet, .comments-section { max-width: none; }
}

/* 1.3.1: original perspective icons, with separate masters for small UI slots. */
.xp-icon { overflow: visible; }
.xp-icon-compact { display: none; }
.desktop-shortcuts .xp-icon { width: 48px; height: 48px; filter: none; }
:is(.window-title, .task-button, .address-path, .statusbar, .category-row, .panel-label,
    .post-category, .document-label, .start-secondary, .system-tray, .category-suggestions) .xp-icon .xp-icon-detail,
.task-panel-body > a .xp-icon .xp-icon-detail,
.recent-list .xp-icon .xp-icon-detail,
.related-posts li .xp-icon .xp-icon-detail,
.details-view .post-file-icon .xp-icon .xp-icon-detail { display: none; }
:is(.window-title, .task-button, .address-path, .statusbar, .category-row, .panel-label,
    .post-category, .document-label, .start-secondary, .system-tray, .category-suggestions) .xp-icon .xp-icon-compact,
.task-panel-body > a .xp-icon .xp-icon-compact,
.recent-list .xp-icon .xp-icon-compact,
.related-posts li .xp-icon .xp-icon-compact,
.details-view .post-file-icon .xp-icon .xp-icon-compact { display: inline; }
:is(.window-title, .task-button, .address-path, .statusbar, .category-row, .panel-label,
    .post-category, .document-label, .start-secondary, .system-tray, .category-suggestions) .xp-icon,
.task-panel-body > a .xp-icon, .recent-list .xp-icon,
.related-posts li .xp-icon, .details-view .post-file-icon .xp-icon { width: 16px; height: 16px; }
.start-button > .start-logo { display: block; width: 27px; height: 27px; transform: none; filter: drop-shadow(1px 1px 1px #29532b); }
