@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}@media (width>=1200px){html{scrollbar-gutter:stable}}.desktop-site{--line:#d5e1eb;--surface-blue:#edf4fc;--primary:#397ac0;--primary-strong:#245d9a;--muted-strong:#546b7e;--desktop-ink:#233e53;min-height:100svh;color:var(--desktop-ink);background-color:#0000;background-image:radial-gradient(at 5% 90%,#b6d6eb 0,#0000 55%),radial-gradient(at 82% 8%,#e0efea 0,#0000 58%),linear-gradient(145deg,#e5edf9,#dcebf4 55%,#d8e5f7);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.desktop-site [hidden]{display:none!important}.desktop-site .site-shell{max-width:1440px;padding:28px 40px 104px}.desktop-site .site-header{z-index:50;backdrop-filter:blur(18px);background:#f0f6f9ed;border:0;border-bottom:1px solid #bacddc99;border-radius:0;gap:20px;min-height:50px;margin:0;padding:0 24px;position:sticky;top:0;box-shadow:0 2px 10px #26405706}.desktop-site .wordmark{letter-spacing:-.035em;color:#203d53;flex-shrink:0;gap:8px;font-size:16px}.desktop-site .brand-logo{width:24px;height:24px}.desktop-current-app{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:360px;font-size:12px;font-weight:600;overflow:hidden}.desktop-site .header-actions{flex-shrink:0;gap:13px;margin-left:auto}.desktop-clock{color:#465e72;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.desktop-site .account-link{aspect-ratio:1;flex:0 0 36px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.desktop-site .account-link>svg{width:18px;height:18px}.desktop-site .account-status svg{width:9px;height:9px}.desktop-site .skip-link:focus{z-index:100}.desktop-site main.desktop-main{width:100%;min-height:0;padding:0}.desktop-site main.desktop-window{background:#fdfefe;border:1px solid #bdcddd;border-radius:13px;max-width:940px;position:relative;box-shadow:0 18px 50px #23496a17,0 3px 8px #23496a08}.desktop-site main.desktop-window.main-wide{max-width:1280px}.window-titlebar{user-select:none;touch-action:manipulation;background:linear-gradient(#f5f8fb,#eaf0f5);border-bottom:1px solid #d7e1ea;border-radius:12px 12px 0 0;grid-template-columns:110px minmax(0,1fr) 110px;align-items:center;gap:14px;min-height:44px;padding:0 15px;display:grid}.window-controls{align-items:center;gap:5px;display:flex}.window-control{color:#23384b;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:28px;padding:0;display:inline-flex;position:relative}.window-control:before{content:"";background:#ddd;border:1px solid #0000000a;border-radius:50%;width:13px;height:13px;position:absolute}.window-close:before{background:#ed8c84}.window-minimize:before{background:#e7c475}.window-maximize:before{background:#88bea1}.window-control svg{z-index:1;opacity:0;position:relative}.window-controls:hover svg,.window-control:focus-visible svg{opacity:1}.window-title{text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#465e72;min-width:0;font-size:12px;font-weight:500;display:block;overflow:hidden}.window-title svg{vertical-align:-3px;color:#718ba0;margin-right:7px}.window-content{padding:24px 30px 32px}.desktop-site .page-heading{padding-top:8px;padding-bottom:26px}.desktop-site .page-heading h1{font-size:clamp(24px,3vw,30px)}.desktop-site .list-controls{font-size:12px}.desktop-site .browse-grid{gap:32px}.desktop-site .post-preview{box-shadow:none;border-radius:8px}.desktop-site .article-grid{gap:36px}.desktop-site .toc{max-height:calc(100vh - 164px);top:78px}.desktop-minimized{place-items:center;min-height:calc(100svh - 210px);display:grid}.desktop-minimized>button{max-width:340px;font:inherit;color:var(--desktop-ink);cursor:pointer;background:#f4f9fc80;border:0;border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:28px;display:flex}.desktop-minimized strong{font-size:16px;line-height:1.6}.desktop-minimized button>span:last-child{color:#576e81;font-size:12px}.app-icon{--app-top:#6595e9;--app-bottom:#3d6dc6;background:linear-gradient(145deg, var(--app-top), var(--app-bottom));color:#fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex;position:relative;box-shadow:inset 0 1px 1px #ffffff75,inset 0 -1px 1px #0000000a,0 5px 10px #27466420}.app-icon[data-tone=amber]{--app-top:#e3b861;--app-bottom:#c5923c}.app-icon[data-tone=green]{--app-top:#68b99e;--app-bottom:#418e79}.app-icon[data-tone=rose]{--app-top:#d394b5;--app-bottom:#b26894}.app-icon[data-tone=purple]{--app-top:#a09bda;--app-bottom:#7b71b8}.app-icon[data-tone=slate]{--app-top:#7d9bae;--app-bottom:#52758d}.app-icon[data-tone=cyan]{--app-top:#75b8cf;--app-bottom:#4998b6}.app-shortcut{color:#4c6580;width:15px;height:15px;font:12px/1 var(--sans);background:#fafcfe;border:1px solid #d1dce9;border-radius:4px;place-items:center;display:grid;position:absolute;bottom:-1px;left:-3px;box-shadow:0 1px 3px #28456714}.desktop-app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px;display:grid}.desktop-app-item{min-width:0}.desktop-app{text-align:center;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;min-height:108px;padding:12px 4px 8px;transition:background .14s,border-color .14s;display:flex}.desktop-app:hover{background:#f7fbff65;border-color:#ffffffa0;text-decoration:none}.desktop-app:focus-visible{outline-offset:2px;background:#f7fbff65;outline:2px solid #5689be}.desktop-app-label{color:#233e53;overflow-wrap:anywhere;text-shadow:0 1px 1px #ffffff60;font-size:12px;font-weight:500;line-height:1.45}.desktop-app-directory{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 20px}.desktop-app-directory .desktop-app{min-height:105px}.desktop-app-directory .desktop-app:hover{background:#edf4fa;border-color:#dce7f0}.desktop-app-details{text-align:center;color:var(--muted-strong);padding:0 9px;font-size:12px;line-height:1.65}.desktop-app-details>div{justify-content:center;gap:14px;margin-top:5px;display:flex}.desktop-app-details a{min-height:32px;color:var(--primary-strong);align-items:center;font-size:11px;display:inline-flex}.desktop-app-details .project-downloads{gap:8px;margin-top:4px}.desktop-app-details .project-downloads a{text-underline-offset:3px;min-height:24px;padding:0 4px;text-decoration:underline}.folder-icon{border-radius:5px 10px 10px;height:43px;margin-top:12px;box-shadow:inset 0 1px 1px #ffffff80,0 5px 9px #27466417}.folder-icon:before{content:"";background:var(--app-top);border-radius:5px 5px 0 0;width:26px;height:8px;position:absolute;top:-7px;left:0}.folder-icon svg{opacity:.9;width:25px;height:25px}.desktop-home{grid-template-columns:minmax(0,1fr) 326px;align-items:start;gap:48px;display:grid}.desktop-home .desktop-app-grid{grid-template-columns:repeat(auto-fill,minmax(105px,1fr))}.desktop-workspace{min-width:0;padding:6px 0 0}.desktop-workspace-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;padding:0 10px;display:flex}.desktop-workspace-heading h1{color:#536f86;font-size:12px;font-weight:400;line-height:1.7}.desktop-view-link{color:#536f86;white-space:nowrap;align-items:center;gap:5px;padding:5px 0;font-size:11px;display:inline-flex}.desktop-folder-section{border-bottom:1px solid #829fb330;margin-bottom:20px;padding-bottom:10px}.desktop-section-heading{justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 12px;display:flex}.desktop-section-heading h2{color:#4f6e86;letter-spacing:.03em;font-size:11px;font-weight:500}.desktop-widgets{gap:20px;display:grid}.desktop-widget{background:#f9fcff;border:1px solid #c6d8e6;border-radius:14px;overflow:hidden;box-shadow:0 6px 22px #2149700b}.desktop-widget-titlebar{background:#eef5fa;border-bottom:1px solid #dce6ef;align-items:center;gap:8px;min-height:42px;padding:0 17px;display:flex}.desktop-widget-titlebar>svg{color:#557b9a}.desktop-widget-titlebar h2{margin:0;font-size:12px;font-weight:600;line-height:1.5}.desktop-widget-count,.widget-decoration{color:#748fa4;margin-left:auto;font-size:11px}.desktop-widget-count{text-align:center;font-variant-numeric:tabular-nums;background:#dfeaf3;border-radius:6px;min-width:22px;padding:1px 6px}.desktop-widget-content{padding:3px 17px 8px}.desktop-widget-list{margin:0;padding:0;list-style:none}.desktop-widget-list li+li{border-top:1px solid #e1eaf1}.desktop-widget-list a{align-items:flex-start;gap:9px;min-width:0;padding:13px 0;display:flex}.desktop-widget-list a>span:not(.desktop-review-dot){flex:1;min-width:0}.desktop-widget-list strong{-webkit-line-clamp:2;word-break:keep-all;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.6;display:-webkit-box;overflow:hidden}.desktop-widget-list small{color:#6c8397;margin-top:5px;font-size:10px;line-height:1.6;display:block}.desktop-widget-list a:hover strong{color:#2668a5}.desktop-widget-list a>svg{color:#a2b3c0;flex-shrink:0;margin-top:4px}.desktop-review-dot{background:#d1ab60;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px}.desktop-review-dot.is-failed{background:#cf807a}.desktop-widget-more{color:#386f9f;align-items:center;gap:6px;min-height:34px;font-size:11px;display:flex}.desktop-widget-empty{color:#637d91;padding:20px 0 14px;font-size:12px;line-height:1.8}div.desktop-widget-empty{align-items:center;gap:10px;display:flex}.desktop-dock-area{z-index:81;pointer-events:none;max-width:calc(100% - 24px);position:fixed;bottom:0;left:50%;transform:translate(-50%)}.desktop-dock{margin-bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;backdrop-filter:blur(20px);background:#f4f9f8db;border:1px solid #fffb;border-radius:18px;gap:6px;max-width:100%;padding:8px 10px 10px;display:flex;position:relative;box-shadow:0 8px 28px #2a476926,inset 0 0 0 1px #c6d7e355}.dock-app{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:47px;display:flex;position:relative}.dock-launchers{gap:inherit;min-width:42px;display:flex}.desktop-dock:has(.desktop-window-tray:not([hidden])) .dock-launchers{scrollbar-width:thin;margin-block:-5px;padding-block:5px;overflow-x:auto}.dock-app .app-icon{border-radius:11px;width:40px;height:40px;transition:transform .14s;box-shadow:inset 0 1px 1px #ffffff7a,0 3px 7px #29496818}.dock-app:hover .app-icon,.dock-app:focus-visible .app-icon{transform:translateY(-4px)}.dock-app[aria-current=page]:after{content:"";background:#476883;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-5px}.desktop-window-tray{padding-left:10px;margin-left:4px;scrollbar-width:thin;border-left:1px solid #b6cbdc;flex:0 auto;gap:6px;min-width:58px;max-width:min(420px,45vw);margin-block:-5px;padding-block:5px;display:flex;overflow-x:auto}.dock-running{cursor:pointer;background:0 0;border:0;padding:0}.dock-app.dock-page{gap:5px;width:auto;max-width:156px;padding-inline:4px 8px}.dock-window-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100px;font:11px var(--sans);color:var(--desktop-ink);overflow:hidden}.dock-running:after{content:"";background:#476883;border:1px solid #476883;border-radius:50%;width:4px;height:4px;position:absolute;bottom:-5px}.dock-running[data-window-state=active]{background:#c5dcec80;box-shadow:inset 0 0 0 1px #a8c5dc}.dock-running[data-window-state=active]:after{border-radius:3px;width:12px}.dock-running[data-window-state=minimized]:after{background:0 0;border-radius:3px;width:10px}.dock-running[data-window-state=minimized] .app-icon{opacity:.65}.dock-running:focus-visible{outline-offset:-2px;outline:2px solid #397ac0}.desktop-window-surface{pointer-events:none;position:fixed;inset:0;overflow:clip}.desktop-site .site-footer{border:0;margin:0;padding:0;font-size:11px;display:block}.desktop-info{z-index:55;position:fixed;bottom:22px;left:22px}.desktop-info>summary{color:#58758d;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;list-style:none;display:inline-flex}.desktop-info>summary:hover,.desktop-info[open]>summary{color:#294e6b;background:#f4f9fdbf}.desktop-info>summary::-webkit-details-marker{display:none}.desktop-info-content{background:#f8fcff;border:1px solid #c7d9e7;border-radius:12px;width:240px;padding:18px;position:absolute;bottom:calc(100% + 8px);box-shadow:0 8px 30px #28456222}.desktop-info-content>div{flex-wrap:wrap;gap:12px;display:flex}.desktop-info-content>div:first-child{border-bottom:1px solid var(--line);flex-direction:column;margin-bottom:15px;padding-bottom:15px}.desktop-site .desktop-info-content .footer-links{grid-template-columns:1fr 1fr;gap:10px;display:grid}.desktop-info-content .footer-links a{min-height:28px}.desktop-site .editor-shell{padding-top:0}.desktop-site .editor-heading h1{font-size:28px}.desktop-site .draft-form>.editor-actions{bottom:calc(86px + env(safe-area-inset-bottom))}@media (width<1150px){.desktop-site .site-shell{padding:24px 26px 104px}.desktop-home{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.desktop-workspace-heading{flex-wrap:wrap;gap:10px}.desktop-view-link{margin-top:-3px}.desktop-site .article-grid{grid-template-columns:minmax(0,1fr) 200px;gap:24px}}@media (width<700px){.desktop-site .site-header{gap:13px;padding:0 18px}.desktop-current-app{max-width:260px;margin-right:auto}.desktop-site .article-grid{grid-template-columns:minmax(0,1fr)}.desktop-site .toc{display:none}.desktop-site .mobile-toc{display:block}.desktop-home{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.desktop-app-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-folder-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.desktop-app-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-info{bottom:28px;left:10px}}@media (width<720px){.desktop-site .site-shell{padding:22px 18px 118px}.desktop-home{grid-template-columns:minmax(0,1fr);gap:28px}.desktop-workspace-heading{margin-bottom:10px;padding:0 6px}.desktop-app-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 4px}.desktop-folder-section{margin-bottom:12px;padding-bottom:6px}.desktop-app{gap:10px;min-height:98px}.app-icon{border-radius:14px;width:48px;height:48px}.folder-icon{border-radius:4px 8px 8px;height:37px;margin-top:11px}.desktop-app-label{font-size:11px}.desktop-app .app-icon>svg{width:25px;height:25px}.desktop-widgets{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}.desktop-app-directory{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 12px}.desktop-site main.desktop-window{border-radius:10px}.window-titlebar{border-radius:9px 9px 0 0;grid-template-columns:86px minmax(0,1fr) 24px;gap:8px;padding:0 10px}.window-title{text-align:left;font-size:11px}.window-content{padding:18px 18px 28px}.window-control svg{opacity:.65}.desktop-info{text-align:left;width:36px;margin-top:25px;position:relative;bottom:auto;left:0}.desktop-info-content{text-align:left;bottom:calc(100% + 8px);left:0}.desktop-site .site-footer .footer-name{font-size:16px}}@media (width<600px){.desktop-clock{display:none}}@media (width<480px){.desktop-home .desktop-app-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.desktop-site .site-header{gap:12px;padding:0 12px}.desktop-current-app{max-width:120px;font-size:11px}.desktop-site .header-actions{gap:9px}.desktop-site .site-shell{padding-left:12px;padding-right:12px}.desktop-widgets{grid-template-columns:minmax(0,1fr)}.desktop-app-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.window-content{padding:16px 14px 25px}.desktop-dock{border-radius:16px;gap:3px;padding:6px 7px 9px}.dock-app{width:42px;height:43px}.dock-app .app-icon{border-radius:10px;width:36px;height:36px}.desktop-site .browse-grid{gap:20px}}@media (prefers-reduced-motion:reduce){.desktop-app,.dock-app .app-icon{transition:none}}@media print{.desktop-site{background:#fff}.desktop-site .site-header,.desktop-site .desktop-dock,.desktop-window-surface,.desktop-site .site-footer,.window-titlebar{display:none}.desktop-site .site-shell,.window-content{padding:0}.desktop-site main.desktop-window{max-width:none;box-shadow:none;border:0;display:block!important}}.desktop-site.desktop-embedded .site-header,.desktop-site.desktop-embedded .desktop-dock,.desktop-site.desktop-embedded .site-footer,.desktop-site.desktop-embedded [data-desktop-utilities],.desktop-site.desktop-embedded .window-titlebar{display:none}.desktop-site.desktop-embedded .site-shell{padding:0}.desktop-site.desktop-embedded main.desktop-window{width:100%;max-width:none;box-shadow:none;border:0;border-radius:0;margin:0}.desktop-site.desktop-embedded .window-content{padding:20px}.desktop-site.desktop-embedded .window-content:has(>.desktop-lesson){padding:0}.desktop-site.desktop-embedded{background:#fff;min-height:0}@media (width<=640px){.desktop-site.desktop-embedded .window-content{padding:12px}}.widget-icon-button{color:#55758e;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:26px;height:26px;margin-left:auto;padding:0;display:inline-flex}.widget-icon-button:hover{background:#bdd5e544}.widget-icon-button:disabled{opacity:.5;cursor:wait}.widget-action-button{color:#365d7b;cursor:pointer;background:#ffffffb3;border:1px solid #b3cddd;border-radius:8px;padding:7px 12px;font-size:11px;font-weight:500}.widget-action-button:hover{background:#fff}.widget-action-button:disabled{opacity:.65;cursor:wait}.weather-widget{background:linear-gradient(145deg,#eef8ff,#e4f0f6)}.weather-content{padding:16px 18px 12px}.weather-placeholder{text-align:center;padding:2px 0 8px}.weather-placeholder-icon{color:#dea64a;display:inline-flex}.weather-placeholder p{color:#567188;margin:8px 0 12px;font-size:11px;line-height:1.7}.weather-current{justify-content:space-between;align-items:center;display:flex}.weather-temperature{letter-spacing:-.055em;font-size:45px;font-weight:500;line-height:1.1}.weather-description{margin:6px 0 0;font-size:12px}.weather-symbol{padding:0 8px;display:flex}:is([data-weather-icon],[data-utility-weather-icon]){color:#64748b}:is([data-weather-icon=sun],[data-utility-weather-icon=sun]){color:#aa8037}:is([data-weather-icon=moon],[data-utility-weather-icon=moon]){color:#6b80a6}:is([data-weather-icon=rain],[data-utility-weather-icon=rain]){color:#2563eb}:is([data-weather-icon=snow],[data-utility-weather-icon=snow]){color:#0284c7}:is([data-weather-icon=storm],[data-utility-weather-icon=storm]){color:#7c3aed}.weather-range{color:#58738b;margin:11px 0 13px;font-size:11px}.weather-details{color:#58738b;flex-wrap:wrap;gap:6px 16px;font-size:10px;display:flex}.weather-details strong{color:#2b4c65;margin-left:3px;font-weight:500}.weather-footer{color:#67869c;justify-content:space-between;gap:10px;margin-top:15px;font-size:9px;display:flex}.weather-footer a:hover{text-decoration:underline}.weather-widget[data-period=night]{background:linear-gradient(140deg,#e4ebf7,#dce9f4)}.music-content{padding:16px 18px}.music-now{align-items:center;gap:12px;display:flex}.music-cover{color:#7b6c99;background:linear-gradient(145deg,#d4def5,#e8daf0);border-radius:10px;flex:0 0 54px;place-items:center;height:54px;display:grid;position:relative;overflow:hidden}.music-cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.music-track-info{flex-direction:column;gap:5px;min-width:0;display:flex}.music-track-info strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.5;display:-webkit-box;overflow:hidden}.music-track-info>span{color:#72869c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.music-controls{align-items:center;gap:6px;margin-top:15px;display:flex}.music-control{color:#3f5c79;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;padding:0;display:grid}.music-control:hover{background:#e8eff6}.music-control:disabled{opacity:.4;cursor:default}.music-play{color:#42628a;background:#e5edf8;flex-basis:40px;width:40px;height:40px}.music-play:hover{background:#d6e3f6}.music-play>span{display:flex}.music-is-playing .music-play{background:#d8e6f8}.music-album-label{min-width:0;max-width:132px;margin-left:auto}.music-album-label select{width:100%;min-width:0;font:inherit;color:#5b7189;text-overflow:ellipsis;background:#f0f4f8;border:1px solid #dae4ed;border-radius:7px;padding:6px 3px 6px 7px;font-size:10px}.music-timeline{align-items:center;gap:9px;margin-top:12px;display:flex}.music-timeline>span{color:#758b9e;font-variant-numeric:tabular-nums;font-size:9px}.music-timeline input{accent-color:#6b94c8;cursor:pointer;width:100%;min-width:0;height:12px;margin:0}.music-timeline input:disabled{opacity:.45;cursor:default}.music-status{color:#7b6173;margin:12px 0 0;font-size:11px;line-height:1.6}.music-content>.widget-action-button{margin-top:10px}.music-content audio{display:none}.desktop-site .desktop-reading-layout .browse-grid,.desktop-site .desktop-reading-layout .article-grid{grid-template-columns:minmax(0,1fr)}.window-primary,.desktop-reading-sidebar{min-width:0}.desktop-reading-sidebar .browse-sidebar,.desktop-reading-sidebar .toc{background:0 0;border:0;border-radius:0;padding:0}@media (width>=1000px){.window-content-with-sidebar{grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:32px;display:grid}.desktop-reading-sidebar{scrollbar-width:thin;scrollbar-color:#a9bfce transparent;border-left:1px solid var(--line);max-height:calc(100svh - 174px);padding:8px 0 8px 24px;position:sticky;top:74px;overflow-y:auto}.desktop-site .desktop-reading-sidebar .toc{max-height:none;margin-top:0;display:block;position:static;overflow:visible}.desktop-reading-sidebar .sidebar-section+.sidebar-section{margin-top:24px}}@media (width<1000px){.desktop-reading-sidebar{display:contents}.desktop-site .desktop-reading-sidebar .toc{display:none}.desktop-site .mobile-toc{display:block}.desktop-reading-sidebar .browse-sidebar{margin-top:24px}}@media print{.music-widget,.desktop-reading-sidebar{display:none}.desktop-site .desktop-reading-layout,.window-content-with-sidebar{display:block}}.desktop-site.desktop-embedded .music-widget{display:none}.desktop-site.desktop-embedded .desktop-reading-layout{display:block}@media (width>=1000px){.desktop-site.desktop-embedded .desktop-reading-sidebar{max-height:calc(100svh - 32px);top:16px}}.weather-widget button:focus-visible,.music-widget button:focus-visible,.music-widget select:focus-visible,.music-widget input:focus-visible,.widget-icon-button:focus-visible{outline-offset:3px;outline:2px solid #4c87c0}.desktop-utility-status{align-items:center;gap:12px;min-width:0;display:flex}.utility-status-button{color:#4b657a;min-height:34px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 6px;font-size:11px;display:inline-flex}.utility-status-button:hover,.utility-status-button[aria-expanded=true]{color:#294d68;background:#bfcedb33}.utility-status-button:disabled{opacity:.45;cursor:default}.utility-status-button:focus-visible,.dock-utility:focus-visible{outline-offset:2px;outline:2px solid #4c87c0}.utility-weather-status{white-space:nowrap;font-variant-numeric:tabular-nums}.utility-weather-icon,.utility-weather-icon>span,.utility-music-note,.utility-quick-play>span{display:flex}.utility-music-status{align-items:center;gap:1px;min-width:0;display:flex}.utility-music-track{text-overflow:ellipsis;white-space:nowrap;max-width:150px;display:block;overflow:hidden}.utility-quick-play{flex-shrink:0;width:28px;padding:0}.utility-music-meter{color:#547da1;justify-content:center;align-items:center;gap:2px;width:15px;height:16px;display:none}.utility-music-meter i{background:currentColor;border-radius:2px;width:2px;height:10px;animation:.9s ease-in-out infinite alternate utility-music-beat}.utility-music-meter i:nth-child(2){height:14px;animation-delay:-400ms}.utility-music-meter i:nth-child(3){height:7px;animation-delay:-700ms}.utility-music-status.is-playing .utility-music-note{display:none}.utility-music-status.is-playing .utility-music-meter{display:flex}@keyframes utility-music-beat{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.desktop-site .desktop-clock{align-items:center;gap:6px;display:flex}.desktop-utility-windows{display:contents}.desktop-utility-window{width:min(360px,100vw - 24px);max-height:calc(100dvh - 150px - env(safe-area-inset-bottom));pointer-events:auto;border:1px solid #b5c9da;border-radius:13px;outline:none;flex-direction:column;min-width:0;display:flex;position:absolute;top:66px;left:12px;box-shadow:0 22px 68px #203e5d2b,0 4px 14px #203e5d13}.desktop-utility-window:focus-within{border-color:#9dbbd0}.desktop-utility-window.weather-widget{width:min(320px,100vw - 24px)}.utility-titlebar{cursor:grab;touch-action:none;flex-shrink:0;grid-template-columns:78px minmax(0,1fr) 26px;gap:10px;min-height:42px;padding:0 12px}.utility-titlebar .window-controls{gap:0}.utility-titlebar .window-title{text-align:left;margin:0;font-size:11px}.utility-titlebar .window-title svg{margin-right:5px}.utility-titlebar-actions{justify-content:flex-end;align-items:center;display:flex}.desktop-utility-window.is-dragging .utility-titlebar{cursor:grabbing}.desktop-utility-window>.music-content,.desktop-utility-window>.weather-content{overscroll-behavior:contain;min-height:0;overflow-y:auto}.desktop-utility-window .music-controls{flex-wrap:wrap}.desktop-utility-window.is-maximized .utility-titlebar{cursor:default}.desktop-utility-window.is-maximized>.music-content,.desktop-utility-window.is-maximized>.weather-content{width:min(100%,560px);margin:auto;padding:28px}.is-maximized .music-now{text-align:center;flex-direction:column;gap:18px}.is-maximized .music-cover{border-radius:18px;flex-basis:150px;width:150px;height:150px}.is-maximized .music-track-info strong{font-size:18px}.is-maximized .music-track-info>span{font-size:12px}.is-maximized .music-controls{justify-content:center;margin-top:26px}.is-maximized .music-album-label{width:170px;max-width:170px;margin-left:12px}.is-maximized .music-timeline{margin-top:24px}.is-maximized .weather-temperature{font-size:70px}.is-maximized .weather-details{font-size:12px}@media (width<1050px){.desktop-clock-date{display:none}.utility-music-track{max-width:110px}}@media (width<760px){.utility-music-track{display:none}.desktop-utility-status{gap:6px}.desktop-site .header-actions{gap:9px}}@media (width<480px){.desktop-current-app{display:none}.desktop-site .header-actions{gap:8px}.desktop-utility-status{gap:4px}.utility-status-button{min-height:36px}.utility-quick-play{width:25px}}@media (height<600px){.desktop-utility-window.is-maximized>.music-content,.desktop-utility-window.is-maximized>.weather-content{padding:16px 24px}.is-maximized .music-now{text-align:left;flex-direction:row;gap:12px}.is-maximized .music-cover{border-radius:10px;flex-basis:54px;width:54px;height:54px}.is-maximized .music-track-info strong{font-size:12px}.is-maximized .music-controls,.is-maximized .music-timeline{margin-top:12px}}@media (prefers-reduced-motion:reduce){.utility-music-meter i{animation:none}}.desktop-site.desktop-embedded .desktop-utility-windows,.desktop-site.desktop-embedded .desktop-utility-status,.desktop-site.desktop-embedded .dock-utility{display:none}@media print{.desktop-utility-windows{display:none}}.utility-status-button.utility-invest-status{color:#294d68;white-space:nowrap;font-variant-numeric:tabular-nums;gap:4px;min-height:28px;padding:0 6px}.utility-invest-status [data-invest-summary]{font-weight:700}.utility-invest-status[data-delayed=true]:after{content:"·";color:#a37329;font-weight:700}[data-direction=up]{color:#c53b42}[data-direction=down]{color:#2563af}.desktop-utility-window.invest-widget{width:min(360px,100vw - 24px)}.invest-content{overscroll-behavior:contain;color:#4b657a;min-height:0;padding:12px 14px;font-size:12px;overflow-y:auto}.invest-content p{margin:0}.invest-total{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.invest-total>strong{letter-spacing:-1px;color:#203e5d;font-variant-numeric:tabular-nums;font-size:29px;line-height:1.25}.invest-total>small{margin-left:auto;font-size:11px}.invest-content .invest-change{font-variant-numeric:tabular-nums;margin-top:4px;font-weight:600}.invest-content .invest-asof{color:#708496;margin-top:4px;font-size:10px}.invest-content .invest-status{color:#966523;margin-bottom:8px}.invest-allocation{border-top:1px solid #dce5ed;border-bottom:1px solid #dce5ed;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:8px;margin-top:12px;padding:10px 0;display:grid}.invest-pies{gap:8px;display:flex}.invest-pies figure{text-align:center;margin:0;font-size:10px}.invest-pie{border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.invest-pies figcaption{margin-top:3px}.invest-allocation table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:0;font-size:11px}.invest-allocation th,.invest-allocation td{text-align:right;background:0 0;border:0;padding:3px 2px}.invest-allocation th:first-child{text-align:left;font-weight:500}.invest-allocation th i{border-radius:2px;width:6px;height:6px;margin-right:4px;display:inline-block}.invest-allocation .invest-asof{grid-column:1/-1}.invest-markets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 6px;margin-top:12px;display:grid}.invest-markets>div{flex-direction:column;min-width:0;display:flex}.invest-markets span{font-size:10px}.invest-markets strong{color:#294d68;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:12px}.invest-markets small{overflow-wrap:anywhere;font-size:10px}.invest-basis{margin-top:12px;font-size:11px}.invest-basis summary{cursor:pointer}.invest-basis p{margin-top:5px;line-height:1.5}.invest-open{align-items:center;gap:4px;min-height:26px;margin-top:8px;font-size:11px;display:inline-flex}.invest-widget.is-maximized .invest-content{width:min(100%,440px);margin:auto}@media (width<760px){.has-invest-widget .wordmark{gap:0;font-size:0}.has-invest-widget .wordmark img{width:28px;height:28px}.has-invest-widget .desktop-current-app{display:none}}@media (width<480px){.has-invest-widget .site-header{gap:4px;padding-inline:10px}.has-invest-widget .header-actions{gap:4px}.has-invest-widget .desktop-utility-status{gap:2px}.has-invest-widget [data-utility-weather-status]{display:none}.utility-status-button.utility-invest-status{min-height:28px;padding-inline:3px;font-size:11px}.utility-invest-status>svg{display:none}}@media print{.utility-invest-status{display:none!important}}.reading-section-tabs{z-index:2;border-bottom:1px solid var(--line);background:#fdfefe;gap:4px;padding:0 0 8px;display:flex;position:sticky;top:0}.reading-section-tabs a{white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;height:28px;padding:3px 7px;font-size:12px;display:inline-flex}.reading-section-tabs a[aria-current]{color:#185ba6;background:#e5f0ff;border-color:#bed4ed;font-weight:600}.article-folder-list-link{color:#185ba6;align-items:center;gap:5px;min-height:32px;font-size:12px;display:flex}.article-folder-list-link small{color:var(--muted);margin-left:auto}.article-folder-tree,.article-folder-posts{margin:0;padding:0;list-style:none}.article-folder-tree .article-folder-tree{padding-left:10px}.article-folder-tree summary{cursor:pointer;border-radius:4px;align-items:center;gap:5px;min-height:30px;padding:0 4px;font-size:12px;line-height:1.5;display:flex}.article-folder-tree summary:before{content:"›";flex:0 0 8px;width:8px}.article-folder-tree details[open]>summary:before{transform:rotate(90deg)}.article-folder-tree summary::-webkit-details-marker{display:none}.article-folder-tree summary svg{flex-shrink:0}.article-folder-tree summary span{overflow-wrap:anywhere;min-width:0}.article-folder-tree summary small{color:var(--muted);margin-left:auto;font-size:11px}.article-folder-posts a{overflow-wrap:anywhere;border-radius:4px;padding:5px 6px 5px 17px;font-size:12px;line-height:1.6;display:block}.article-folder-open{border-radius:4px;flex:1;align-items:center;gap:5px;min-width:0;min-height:30px;padding:4px 0;display:flex}.article-folder-open[aria-current]{color:#185ba6;font-weight:600}.article-folder-tree summary:hover,.article-folder-tree a:hover{background:#eef5fc}.article-folder-posts a[aria-current]{color:#185ba6;background:#e5f0ff;font-weight:600}.reading-lesson-order{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:5px}.has-reading-navigator{--reading-top:50px}.desktop-site.has-reading-navigator .site-shell{max-width:1560px;padding-inline:24px}.desktop-site.has-reading-navigator main.desktop-window.main-wide{max-width:1480px}.reading-workspace{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:24px;padding:20px 24px 32px;display:grid}.reading-workspace>.window-primary{grid-area:2/2}.reading-folder-sidebar{top:calc(var(--reading-top) + 16px);max-height:calc(100svh - var(--reading-top) - 118px);border-right:1px solid var(--line);scrollbar-width:thin;grid-area:1/1/span 2;min-width:0;padding-right:12px;position:sticky;overflow-y:auto}.reading-mobile-tools{top:var(--reading-top);z-index:40;border-bottom:1px solid var(--line);background:#fdfefef5;grid-area:1/2;align-items:center;gap:6px;margin-bottom:-18px;padding:6px 0;display:flex;position:sticky}.reading-mobile-tools button{border:1px solid var(--line);color:#185ba6;height:28px;font:12px var(--sans);cursor:pointer;background:#fff;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:3px 7px;display:inline-flex}.reading-mobile-tools button[aria-expanded=true]{background:#e5f0ff;border-color:#9abde5}.reading-position{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:11px;overflow:hidden}.reading-workspace [data-reading-toggle=folders],.reading-workspace:not(:has(.toc)) .reading-mobile-tools{display:none}.reading-workspace:not(:has(.toc))>.window-primary{grid-row:1}.desktop-site .reading-workspace .reading-toc-sidebar{display:none}.desktop-site .reading-workspace .toc{border:0;max-height:none;margin:0;padding:0;display:block;position:static;overflow:visible}.reading-workspace .toc ol{margin-top:12px}.reading-workspace .toc li{margin-bottom:8px;font-size:12px}.reading-workspace .toc a[aria-current]{color:#185ba6;font-weight:600}.reading-workspace .prose :is(h2,h3){scroll-margin-top:calc(var(--reading-top) + 64px)}@media (width>=1240px){.reading-workspace:has(.toc){grid-template-columns:210px minmax(0,1fr) 180px;gap:22px}.reading-workspace>.window-primary,.reading-folder-sidebar{grid-row:1}.reading-workspace .reading-mobile-tools{display:none}.desktop-site .reading-workspace .reading-toc-sidebar{top:calc(var(--reading-top) + 16px);max-height:calc(100svh - var(--reading-top) - 118px);grid-area:1/3;padding:0 0 0 14px;display:block}}@media (width<1240px){.desktop-site .reading-workspace[data-open=toc] .reading-toc-sidebar{z-index:39;top:var(--reading-panel-top,calc(var(--reading-top) + 42px));width:min(360px,100vw - 48px);max-height:calc(100svh - var(--reading-panel-top,92px) - 104px);border:1px solid var(--line);background:#fdfefe;border-radius:6px;padding:14px;display:block;position:fixed;right:24px;overflow-y:auto;box-shadow:0 8px 28px #23496a26}}@media (width<900px){.desktop-site.has-reading-navigator .site-shell{padding:10px 8px 108px}.desktop-site.has-reading-navigator .window-content.reading-workspace{padding:0 12px 24px;display:block}.reading-workspace .reading-mobile-tools,.reading-workspace:not(:has(.toc)) .reading-mobile-tools{margin:0 -2px 14px;display:flex}.reading-workspace [data-reading-toggle=folders]{display:inline-flex}.reading-folder-sidebar{display:none}.reading-workspace[data-open=folders] .reading-folder-sidebar{z-index:39;top:var(--reading-panel-top,calc(var(--reading-top) + 42px));max-height:calc(100svh - var(--reading-panel-top,92px) - 104px);border:1px solid var(--line);background:#fdfefe;border-radius:6px;padding:12px;display:block;position:fixed;left:12px;right:12px;box-shadow:0 8px 28px #23496a26}.desktop-site .reading-workspace[data-open=toc] .reading-toc-sidebar{width:auto;left:12px;right:12px}.reading-workspace .article-grid{padding-top:0}.reading-workspace .article-header{margin-bottom:20px;padding-bottom:16px}.reading-workspace .article-header h1{margin:12px 0;font-size:25px;line-height:1.4}.reading-workspace .article-header .entry-meta{margin-top:16px}.reading-workspace .article-description{margin:10px 0;font-size:13px;line-height:1.7}.reading-workspace .entry-tags{gap:5px;margin-top:12px}.reading-workspace .entry-tags a{min-height:24px;padding:3px 6px;font-size:11px}.reading-workspace .prose{font-size:16px;line-height:1.8}.reading-workspace .lesson-navigation{margin:14px 0;padding:12px}.reading-workspace .lesson-navigation ol{display:none}}.desktop-site.desktop-embedded.has-reading-navigator{--reading-top:0px}.desktop-site.desktop-embedded .reading-workspace :is(.reading-folder-sidebar,.reading-toc-sidebar){max-height:calc(100svh - 72px)}@media (width<1240px){.desktop-site.desktop-embedded .reading-workspace[data-open] :is(.reading-folder-sidebar,.reading-toc-sidebar){max-height:calc(100svh - var(--reading-panel-top,42px) - 16px)}}@media print{.reading-workspace{display:block}.reading-folder-sidebar,.reading-toc-sidebar,.reading-mobile-tools{display:none!important}}.reading-private-label{color:var(--muted);font-size:10px;font-weight:400}@media (width<900px){.reading-workspace .breadcrumb{margin-bottom:0;padding:4px 7px;font-size:11px}.reading-workspace .article-header:after{margin-top:16px}}.reading-workspace:not(:has(.toc)) [data-reading-toggle=toc]{display:none}.desktop-window-slot{flex:1;min-width:0;height:40px}.window-save-state{color:var(--muted-strong);font:11px/1.4 var(--sans);white-space:nowrap;text-align:right;flex:none}.window-save-state[data-state=dirty]{color:#9a5a18}.window-save-state[data-state=busy]{color:var(--primary-strong)}.desktop-site.desktop-has-integrated-window .desktop-current-app{display:none}.desktop-site.desktop-has-integrated-window .site-header{gap:12px}.desktop-fullscreen-button{color:#365d80;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:0 0 26px;place-items:center;width:26px;height:26px;padding:0;display:grid}.desktop-fullscreen-button>span{display:flex}.desktop-fullscreen-button:hover,.desktop-fullscreen-button[aria-pressed=true]{background:#deebf6}.desktop-fullscreen-status{color:#365d80;background:#fff;border:1px solid #c5d6e5;border-radius:6px;max-width:calc(100vw - 24px);padding:8px 12px;font-size:12px;position:absolute;top:100%;right:12px;box-shadow:0 6px 20px #183a5c26}html.desktop-has-maximized-window{scrollbar-gutter:auto;overflow:hidden}html.desktop-has-maximized-window>.desktop-site{height:100dvh;min-height:0;overflow:clip}.desktop-site .desktop-window-maximized,.desktop-site main.desktop-window-maximized{min-width:0;min-height:0;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0;position:fixed;bottom:0;right:0;top:var(--desktop-header-height,50px)!important;width:100%!important;height:calc(100dvh - var(--desktop-header-height,50px))!important;max-width:none!important;left:0!important}.desktop-site main.desktop-window-maximized{overscroll-behavior:contain;--reading-top:0px;overflow:auto}.desktop-site main.desktop-window-maximized>.window-content{min-height:100%}.desktop-window-maximized:not(.desktop-window-integrated)>:is(.window-titlebar,.service-window-titlebar){display:none}.desktop-site .desktop-window-integrated>:is(.window-titlebar,.service-window-titlebar){top:0;left:var(--desktop-window-bar-left);width:var(--desktop-window-bar-width);height:var(--desktop-header-height,50px);z-index:50;cursor:default;touch-action:manipulation;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;min-height:0;margin:0;padding:0;display:flex;position:fixed}.desktop-window-integrated>:is(.window-titlebar,.service-window-titlebar)>:is(.window-title,h2){text-align:left;flex:1;min-width:0;margin:0;font-size:12px}.desktop-window-integrated .window-controls{flex-shrink:0;gap:0}.desktop-window-integrated .window-control svg{opacity:.75}.desktop-window-integrated .utility-titlebar-actions{flex-shrink:0}.desktop-dock-autohide .site-footer{visibility:hidden}.desktop-dock-reveal{width:140px;height:calc(18px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:8px 8px 0 0;place-items:center;display:grid;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.desktop-dock-reveal>span{background:#58758d99;border-radius:3px;width:64px;height:4px;box-shadow:0 0 0 1px #ffffffb3}.desktop-dock-reveal:hover>span,.desktop-dock-reveal:focus-visible>span{background:#397ac0}.desktop-dock-autohide .desktop-dock{transform:translateY(calc(100% + 20px + env(safe-area-inset-bottom)));opacity:0;pointer-events:none;transition:transform .16s,opacity .16s}.desktop-dock-autohide .desktop-dock-area.is-revealed .desktop-dock{opacity:1;pointer-events:auto;transform:translateY(0)}@media (width<1050px){.desktop-has-integrated-window .utility-music-track{display:none}}@media (width<760px){.desktop-site.desktop-has-integrated-window .wordmark{gap:0;font-size:0}.desktop-site.desktop-has-integrated-window .desktop-clock{display:none}.desktop-has-integrated-window .desktop-utility-status{gap:2px}.desktop-has-integrated-window [data-utility-weather-status]{display:none}.desktop-has-integrated-window .utility-status-button{gap:0;min-height:26px;padding-inline:4px}.desktop-site.desktop-has-integrated-window .site-header{gap:8px;padding-inline:8px}.desktop-site.desktop-has-integrated-window .header-actions{gap:4px}.desktop-site .desktop-window-integrated>:is(.window-titlebar,.service-window-titlebar){gap:6px}.desktop-window-integrated .window-title svg{display:none}}@media (prefers-reduced-motion:reduce){.desktop-dock-autohide .desktop-dock{transition:none}}.desktop-site.desktop-embedded .desktop-dock-area{display:none}@media print{.desktop-dock-area{display:none}html.desktop-has-maximized-window{overflow:visible}html.desktop-has-maximized-window>.desktop-site{height:auto;overflow:visible}.desktop-site main.desktop-window-maximized{position:static;overflow:visible;height:auto!important}.desktop-site .desktop-window-integrated>.window-titlebar{display:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.service-open-dialog{width:min(460px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--desktop-ink);background:#f9fcff;border:1px solid #c5d6e5;border-radius:18px;padding:24px;box-shadow:0 24px 100px #17334d40}.service-open-dialog::backdrop{backdrop-filter:blur(4px);background:#17334d66}.service-open-heading{align-items:center;gap:10px;display:flex}.service-open-heading h2{margin:0;font-size:18px}.service-open-heading>button{color:inherit;background:0 0;border:0;margin-left:auto;padding:6px}.service-open-dialog p{margin:16px 0 0;font-size:14px}.service-open-dialog .service-open-address{color:#5e7285;overflow-wrap:anywhere;margin-top:4px;font-size:12px}.service-open-options{gap:10px;margin-top:22px;display:grid}.service-open-options :is(button,a){width:100%;color:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #ccdce9;border-radius:12px;align-items:center;gap:12px;padding:16px;text-decoration:none;display:flex}.service-open-options :is(button,a):hover{background:#edf5fd;border-color:#8bb1d5}.service-open-options :is(button,a)>svg{flex-shrink:0}.service-open-options :is(button,a)>span{flex:1}.service-open-options strong{font-size:14px;display:block}.service-open-options small{color:#5e7285;margin-top:5px;font-size:12px;line-height:1.5;display:block}.service-open-dialog .service-open-note{color:#657b8c;font-size:12px;line-height:1.6}[data-service-launcher],.service-window-layer{display:contents}.service-window{min-width:340px;max-width:calc(100% - 16px);min-height:240px;max-height:calc(100dvh - 150px - env(safe-area-inset-bottom));pointer-events:auto;background:#fff;border:1px solid #aebfd0;border-radius:13px;flex-direction:column;display:flex;position:absolute;overflow:hidden;box-shadow:0 24px 80px #183a5c40,0 4px 16px #183a5c20}.service-window:focus{outline:none}.desktop-site .service-window[hidden]{visibility:hidden;pointer-events:none;display:flex!important}.service-window:focus-visible{outline-offset:2px;outline:2px solid #397ac0}.service-window-titlebar{cursor:grab;user-select:none;touch-action:none;background:linear-gradient(#f7fafd,#e9f0f7);border-bottom:1px solid #d1deea;flex-shrink:0;align-items:center;gap:12px;min-height:46px;padding:0 12px;display:flex}.service-window-titlebar h2{text-overflow:ellipsis;white-space:nowrap;text-align:center;flex:1;min-width:0;margin:0;font-size:13px;overflow:hidden}.service-window-menu{cursor:default;touch-action:manipulation;flex-shrink:0;position:relative}.service-window-menu>summary{color:#365d80;cursor:pointer;border-radius:5px;place-items:center;width:26px;height:26px;padding:0;list-style:none;display:grid}.service-window-menu>summary::-webkit-details-marker{display:none}.service-window-actions{z-index:2;background:#fff;border:1px solid #c5d6e5;border-radius:7px;width:208px;padding:4px;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 6px 20px #183a5c26}.service-window-actions :is(button,a){color:#365d80;width:100%;min-height:28px;font:12px/20px var(--sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;text-decoration:none;display:flex}.service-window-menu>summary:hover,.service-window-menu[open]>summary,.service-window-actions :is(button,a):hover{background:#deebf6}.service-window-menu :focus-visible{outline-offset:1px;outline:2px solid #397ac0}.service-window-actions p{color:#526c80;font:11px/1.5 var(--sans);margin:4px 6px}.service-window-actions p:empty{display:none}.service-window-actions input{width:100%;font:12px/20px var(--sans);user-select:text;border:1px solid #c5d6e5;border-radius:4px;padding:4px 6px}.service-frame-container{background:#fff;flex:1;min-height:0}.service-frame-container iframe{border:0;width:100%;height:100%;display:block}.service-window-addressbar{background:#f1f6fa;border-bottom:1px solid #dce6ee;flex-shrink:0;align-items:center;gap:6px;padding:5px 10px;display:flex}.service-window-addressbar input{color:#526c80;width:0;min-width:0;height:28px;font:12px var(--sans);text-overflow:ellipsis;background:#fff;border:1px solid #d1deea;border-radius:6px;flex:1;padding:4px 9px}.service-window-addressbar button{color:#365d80;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;width:26px;height:26px;padding:0;display:grid}.service-window-addressbar button:hover{background:#deebf6}.service-window-addressbar [data-service-back] svg{transform:rotate(180deg)}.service-window-addressbar button:disabled{opacity:.4;cursor:default}.service-window-addressbar input:disabled{color:#7a8792;-webkit-text-fill-color:#7a8792;opacity:1;cursor:not-allowed;background:#e9edf1;border-color:#d8dfe5}.service-window-addressbar :focus-visible{outline-offset:1px;outline:2px solid #397ac0}.service-window-resize{color:#365d80;cursor:nwse-resize;touch-action:none;background:#f1f6fae6;border:0;border-radius:5px 0 0;width:18px;height:18px;padding:0;font-size:11px;position:absolute;bottom:0;right:0}.service-window.is-moving iframe{pointer-events:none}.service-window.is-moving .service-window-titlebar{cursor:grabbing}.service-window.is-maximized [data-service-resize]{visibility:hidden}.dock-service .app-icon svg{width:22px;height:22px}@media (width<=640px){.service-open-dialog{padding:20px}.service-open-options :is(button,a){padding:14px 12px}.service-window:not(.is-maximized){border-radius:10px;min-width:0;max-width:none;min-height:0;max-height:none;width:calc(100% - 8px)!important;height:calc(100dvh - 150px - env(safe-area-inset-bottom))!important;top:54px!important;left:4px!important}.service-window-titlebar{cursor:default;gap:6px;padding:0 8px}.service-window-titlebar .window-controls{gap:1px}.service-window-titlebar h2{text-align:left}.service-window-addressbar{padding-inline:8px}.service-window-resize{display:none}}@media (height<=460px) and (width>640px){.service-window{min-height:180px}}
