/* Selected horizontal app desktop. Standard controls use actual library assets. */
.launcher-page{--desktop-ink:#234a39;--desktop-muted:#5f7d69;background:#edf1e8 url('/assets/forest-desktop-background.png') center/cover fixed no-repeat;color:var(--desktop-ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
.launcher-page #main{min-height:100svh}.desktop-launcher{position:relative;min-height:560px;height:100svh;margin:auto}.desktop-language{position:absolute;top:22px;right:32px;display:flex;gap:5px;z-index:5;font-size:14px;color:var(--desktop-muted)}.desktop-language a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;border-radius:12px}.desktop-language a.active{color:var(--desktop-ink);font-weight:600}.desktop-language a:hover{background:#ffffff66}.launcher-page :focus-visible{outline:2px solid var(--desktop-ink);outline-offset:6px}
.desktop-identity{position:absolute;top:21.2%;left:24px;right:24px;text-align:center}.desktop-name{display:flex;justify-content:center;align-items:center;gap:22px}.desktop-name h1{font-size:clamp(28px,2.5vw,42px);font-weight:600;line-height:1.18;letter-spacing:.008em}.desktop-mark{width:clamp(62px,4.8vw,80px);height:clamp(62px,4.8vw,80px);object-fit:contain;mix-blend-mode:multiply}.desktop-tagline{color:var(--desktop-muted);font-size:clamp(16px,1.35vw,23px);line-height:1.5;letter-spacing:.065em;margin-top:0}
.desktop-role{display:inline-block;white-space:nowrap}
.desktop-apps{--tile:clamp(92px,6.82vw,114px);position:absolute;top:40.25%;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(6,var(--tile));gap:clamp(26px,2.95vw,50px)}.desktop-app{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0;outline-offset:8px;border-radius:24px}.desktop-tile{width:var(--tile);height:var(--tile);border-radius:20%;display:flex;align-items:center;justify-content:center;background:#dce7d9aa;box-shadow:0 2px 18px #234a3903,inset 0 1px 0 #ffffff20;transition:transform .2s,background .2s,box-shadow .2s}.launcher-symbol{width:48%;height:48%;object-fit:contain;filter:invert(22%) sepia(20%) saturate(885%) hue-rotate(97deg) brightness(95%) contrast(91%)}.desktop-app-label{font-size:clamp(16px,1.2vw,20px);line-height:1.5;font-weight:500;white-space:nowrap}.desktop-app:hover .desktop-tile,.desktop-app:focus-visible .desktop-tile{transform:translateY(-6px);background:#d2e0ceee;box-shadow:0 12px 22px #234a3910}.desktop-app:active .desktop-tile{transform:translateY(-2px) scale(.97)}
.desktop-dock{position:absolute;bottom:8.45%;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;width:clamp(450px,35.3vw,590px);min-height:116px;padding:14px 38px 10px;border:1px solid #ffffffb3;border-radius:70px;background:#f7faf36b;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 14px 26px #2c4e3810}.dock-app{border:0;padding:0;min-height:76px;background:transparent;color:inherit;display:flex;align-items:center;flex-direction:column;gap:5px;border-radius:18px;text-align:center}.dock-tile{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#dbe4d56b;transition:transform .2s,background .2s}.dock-tile .launcher-symbol{width:54%;height:54%}.dock-label{font-size:14px;line-height:1.5;white-space:nowrap}.dock-app:hover .dock-tile,.dock-app:focus-visible .dock-tile{transform:translateY(-4px);background:#cfdeca}.dock-app:active .dock-tile{transform:scale(.95)}
.contact-dialog{width:min(420px,calc(100% - 40px));border:1px solid #d7e1d2;padding:38px 30px 30px;border-radius:24px;background:#fafbf6;color:var(--desktop-ink);box-shadow:0 24px 80px #213c3230}.contact-dialog::backdrop{background:#223d3440;backdrop-filter:blur(8px)}.contact-dialog h2{font-size:26px;font-weight:600;margin:0 0 18px}.contact-dialog p{font-size:16px;line-height:1.8;color:var(--desktop-muted)}.contact-dialog .contact-handle{font-size:24px;color:var(--desktop-ink)}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;padding:5px 8px;min-height:44px;color:var(--desktop-muted);font-size:13px}.dialog-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:13px;border:0;background:var(--desktop-ink);color:white;margin-top:24px;font-size:15px}.launcher-page .toast{background:var(--desktop-ink);border-radius:14px;color:#fff}
@media(max-width:1000px){.desktop-apps{--tile:90px;gap:28px}.desktop-name h1{font-size:34px}.desktop-tagline{font-size:18px;letter-spacing:.02em}.desktop-dock{width:470px;min-height:108px}.dock-tile{width:56px;height:56px}}
@media(max-width:760px){.desktop-launcher{min-height:560px}.desktop-identity{top:16%;left:18px;right:18px}.desktop-name{gap:13px}.desktop-name h1{font-size:clamp(23px,4.6vw,32px)}.desktop-mark{width:58px;height:58px}.desktop-tagline{max-width:540px;margin:9px auto 0;font-size:clamp(14px,2.9vw,18px);letter-spacing:0;line-height:1.75}.desktop-apps{top:34%;--tile:86px;grid-template-columns:repeat(3,var(--tile));gap:25px 46px}.desktop-app-label{font-size:15px}.desktop-dock{bottom:6.3%;width:min(400px,calc(100% - 38px));min-height:102px;padding:11px 18px 9px}.dock-tile{width:53px;height:53px}.dock-label{font-size:12px}.desktop-language{right:17px;top:13px}}
@media(max-width:390px){.desktop-apps{--tile:76px;gap:24px 28px;top:33%}.desktop-app{gap:8px}.desktop-name h1{font-size:23px}.desktop-name{gap:8px}.desktop-mark{width:49px;height:49px}.desktop-tagline{max-width:290px;font-size:14px}.desktop-identity{top:16%}.desktop-dock{padding-inline:12px;bottom:5.8%}.dock-tile{width:48px;height:48px}.dock-label{font-size:11px}}
@media(max-height:680px) and (min-width:761px){.desktop-identity{top:13%}.desktop-apps{top:37%}.desktop-dock{bottom:5%}}
@media(max-height:680px) and (max-width:760px){.desktop-identity{top:9%}.desktop-apps{top:30%}.desktop-dock{bottom:5.8%}}
@media(prefers-reduced-motion:reduce){.desktop-tile,.dock-tile{transition:none}.desktop-app:hover .desktop-tile,.dock-app:hover .dock-tile{transform:none}}
