:root{color-scheme:dark;--bg:#151b24;--panel:#1e2733;--muted:#8998ab;--blue:#59b7ff;--line:#ffffff0d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#e4ebf4;font:14px 'Segoe UI','Microsoft YaHei',sans-serif}button,input,select{font:inherit}button,a{cursor:pointer}button{border:0;background:none;color:inherit}button:hover{filter:brightness(1.18)}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input,select{background:#111923;border:1px solid #344253;color:#e4ebf4;border-radius:5px;padding:11px;outline-color:var(--blue)}button.primary{background:linear-gradient(100deg,#278dde,#54b3f4);color:white;padding:12px 25px;border-radius:4px;font-weight:600}button.secondary{background:#ffffff0c;border:1px solid #ffffff15;padding:11px 18px;border-radius:4px}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;color:#77bdf3}.titlebar{height:32px;background:#10151d;display:flex;align-items:center;justify-content:space-between;padding:0 22px;font-size:10px;letter-spacing:1.7px;color:#687789}.window-icons{letter-spacing:12px}.topbar{height:79px;display:flex;align-items:center;padding:0 35px;gap:55px;background:#171e28;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:800;letter-spacing:4px;display:flex;gap:12px;align-items:center}.brand b{display:grid;place-items:center;width:33px;height:36px;background:#68baff;color:#14202e;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-size:22px}.topnav{display:flex;align-self:stretch;gap:33px}.topnav button{font-size:17px;color:#99a8b9;position:relative}.topnav button.active{color:white}.topnav button.active:after{position:absolute;bottom:0;left:0;right:0;content:'';height:3px;background:var(--blue)}.user{margin-left:auto;display:flex;gap:15px;align-items:center}.avatar{display:grid;place-items:center;background:#2d4459;color:#a6d9ff;border-radius:5px;width:34px;height:34px}.shell{display:flex;min-height:calc(100vh - 166px)}aside{width:218px;flex-shrink:0;background:#171e28;padding:28px 17px;border-right:1px solid var(--line)}.side-label{color:#5f7186;font-size:11px;letter-spacing:1.5px;margin:20px 16px 12px}.side-button{width:100%;padding:12px 16px;text-align:left;color:#93a3b6;border-radius:5px;margin:2px 0;display:flex;gap:13px;align-items:center}.side-button.active{background:#253b51;color:#8bcdff}.side-button span:last-child{margin-left:auto;font-size:11px;color:#7e91a8}.side-bottom{margin-top:55px;padding:18px 13px;border-top:1px solid var(--line);font-size:12px;line-height:1.9;color:#8192a5}.side-bottom strong{color:#dce6ee;display:block}.content{width:calc(100% - 218px);padding:27px 36px 95px;max-width:1720px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.crumb{font-size:12px;color:#75889e}.crumb b{color:#d2dce8;font-weight:400}.search{width:280px;background:#101720;font-size:12px;padding:10px 14px}.hero{height:355px;position:relative;border-radius:7px;overflow:hidden;background:#263544}.hero img{width:100%;height:100%;object-fit:cover;object-position:center 45%;position:absolute}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,17,25,.96),rgba(10,17,25,.55) 44%,rgba(10,17,25,.02)),linear-gradient(0deg,#0a111957,transparent)}.hero-copy{position:relative;z-index:1;padding:38px 42px;max-width:520px}.badge{font-size:10px;letter-spacing:2px;color:#a8d8ff;background:#478dc22b;border:1px solid #75b8ea4d;padding:5px 8px;border-radius:3px}.hero h1{font-size:46px;margin:23px 0 5px;font-weight:650;letter-spacing:3px}.hero .english{color:#b6c3d0;font-size:12px;letter-spacing:5px}.hero p{color:#adbac8;line-height:1.9;margin:18px 0 22px;font-size:13px}.hero-actions{display:flex;gap:12px}.hero-dots{position:absolute;bottom:22px;right:28px;z-index:2;display:flex;gap:7px}.hero-dots button{width:22px;height:3px;background:#ffffff45;padding:0}.hero-dots button.active{background:#79c5ff;width:35px}.notice{display:flex;gap:14px;align-items:center;padding:14px 18px;background:#1b2531;border:1px solid var(--line);margin-top:15px;border-radius:4px;font-size:12px;color:#8f9eb0}.notice b{font-weight:400;color:#85bceb}.notice button{margin-left:auto;color:#9db0c5}.section-title{display:flex;justify-content:space-between;align-items:center;margin:29px 0 17px}.section-title h2{font-size:19px;font-weight:500;margin:0}.section-title small{font-size:11px;letter-spacing:2px;color:#53677d;margin-left:12px}.section-title button{font-size:12px;color:#8d9db0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:#1d2733;border:1px solid #ffffff07;border-radius:5px;overflow:hidden;cursor:pointer;transition:transform .18s,border-color .18s}.card:hover{transform:translateY(-4px);border-color:#599bcb}.cover{height:145px;position:relative;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.card:hover img{transform:scale(1.04)}.cover:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#111b2870)}.cover-name{position:absolute;bottom:16px;left:16px;z-index:1;font-weight:700;font-size:20px;letter-spacing:3px;text-shadow:0 2px 6px black}.favorite{position:absolute;right:10px;top:10px;background:#101923a6;border-radius:4px;z-index:2;padding:5px 8px;color:white}.favorite.on{color:#78c6ff}.card-body{padding:15px}.card h3{font-size:14px;font-weight:500;margin:0 0 8px}.tags{font-size:11px;color:#8393a6}.card-bottom{display:flex;justify-content:space-between;margin-top:18px;font-size:11px;color:#6f8197}.access{color:#7dbce8}.banner{margin-top:26px;border:1px solid #344354;border-radius:5px;background:linear-gradient(110deg,#243747,#1a2633);padding:24px;display:flex;align-items:center;justify-content:space-between}.banner h3{margin:0 0 8px;font-size:16px;font-weight:500}.banner p{margin:0;color:#90a2b6;font-size:12px}.footer{height:55px;position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;background:#101720;border-top:1px solid #2a3543;z-index:4;padding:0 29px;gap:18px;font-size:12px}.footer .status{color:#6dbb97;display:flex;gap:8px}.footer .downloadbar{margin-left:auto;width:180px}.track{height:4px;background:#344355;border-radius:5px;overflow:hidden}.track i{display:block;height:100%;background:#61bbfa;transition:width .4s}.footer small{color:#718399}.page-title{font-size:28px;font-weight:500;margin:0 0 8px}.subtitle{color:#8799ad;margin:0 0 27px;font-size:12px}.filters{display:flex;gap:10px;margin:20px 0}.filters button{padding:8px 15px;color:#95a5b7;border-radius:4px;background:#1c2632}.filters button.active{background:#2c4d68;color:#9bd6ff}.detail-info{display:grid;grid-template-columns:2fr 1fr;gap:25px;margin-top:25px}.panel{background:#1b2531;border:1px solid var(--line);padding:25px;border-radius:6px}.panel h3{margin:0 0 18px;font-weight:500}.panel p{line-height:1.9;color:#94a4b7;font-size:13px}.meta-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0;font-size:12px;color:#8fa1b5}.meta-row strong{color:#c8d7e5;font-weight:400}.library{display:grid;grid-template-columns:230px 1fr;gap:24px}.library-list{background:#18212c;padding:12px;border-radius:5px}.library-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 8px;text-align:left;border-radius:4px}.library-item.active{background:#2b4056}.library-item img{width:42px;height:48px;object-fit:cover;border-radius:3px}.library-item small{display:block;color:#8296ab;margin-top:5px;font-size:11px}.library .hero{height:310px}.library .hero-copy{padding:33px}.library .hero h1{font-size:35px}.download-row{display:flex;gap:24px;align-items:center;padding:24px;background:#1c2734;border-radius:6px;margin-bottom:14px}.download-row img{width:150px;height:92px;object-fit:cover;border-radius:4px}.download-info{flex:1}.download-info h3{margin:0 0 12px;font-weight:500}.download-info .track{margin:13px 0}.download-row small{color:#899bb0}.empty{text-align:center;padding:75px 15px;color:#8a9db0}.empty h2{color:#ccd9e7;font-weight:400}.setting{display:flex;align-items:center;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--line);gap:20px}.setting small{display:block;color:#7e91a6;margin-top:7px}.setting input[type=checkbox]{accent-color:#56b6ff;width:18px;height:18px}.setting input[type=text]{width:340px}.overlay{position:fixed;inset:0;z-index:10;background:#060b13c9;backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.dialog{width:445px;border:1px solid #405267;background:linear-gradient(135deg,#243447,#17212d);padding:34px;border-radius:10px;box-shadow:0 30px 100px #0008;position:relative}.dialog h2{font-size:25px;font-weight:500;margin:20px 0 8px}.dialog .close{position:absolute;right:16px;top:14px;font-size:22px;color:#92a2b6}.dialog p{color:#91a4b8;line-height:1.8;font-size:12px}.dialog label{display:block;margin:17px 0 7px;font-size:12px;color:#a4b4c7}.dialog input:not([type=checkbox]){width:100%}.dialog .primary{width:100%;margin-top:22px}.dialog-links{display:flex;justify-content:space-between;margin-top:20px;font-size:12px;color:#83c7f9}.dialog .check{display:flex;gap:8px;align-items:center;font-size:11px}.dialog .check input{accent-color:#5ab8ff}.error{color:#ffab9c!important;min-height:18px}#toast{position:fixed;bottom:76px;left:50%;transform:translateX(-50%);background:#2c465b;color:#e0f3ff;padding:13px 24px;border:1px solid #587f9d;border-radius:5px;z-index:20;display:none;font-size:13px}.prototype{font-size:10px;color:#7c91a8;border:1px solid #344355;padding:3px 6px;letter-spacing:0}.back{margin-bottom:20px;color:#91a9bf;padding:0}.info-strip{display:flex;align-items:center;gap:18px;margin-top:18px}.info-strip .muted{font-size:12px}@media(min-width:1500px){.hero{height:410px}.cover{height:190px}.hero-copy{padding-top:55px}}@media(max-width:1100px){.topbar{gap:28px;padding:0 23px}.topnav{gap:20px}aside{width:180px}.content{width:calc(100% - 180px);padding:24px}.grid{grid-template-columns:repeat(3,1fr)}.hero-copy{padding:30px}.hero h1{font-size:38px}.library{grid-template-columns:180px 1fr}.user .username{display:none}}@media(max-width:760px){aside{display:none}.content{width:100%;padding:18px 18px 90px}.topbar{padding:0 14px;gap:18px;height:65px}.brand{font-size:18px}.brand b{display:none}.topnav{gap:14px}.topnav button{font-size:14px}.user{gap:5px}.prototype{display:none}.grid{grid-template-columns:repeat(2,1fr)}.hero{height:350px}.hero-copy{padding:28px 23px}.hero h1{font-size:34px}.search{width:190px}.section-title small{display:none}.library{grid-template-columns:1fr}.library-list{display:flex;overflow:auto}.library-item{min-width:150px}.detail-info{grid-template-columns:1fr}.download-row{padding:15px;gap:12px;flex-wrap:wrap}.download-row img{width:90px;height:65px}.footer{padding:0 15px}.footer .downloadbar{width:80px}.footer .connection{display:none}.setting input[type=text]{width:180px}.banner{gap:15px}.hero-copy p{max-width:320px}}

/* Desktop icon sizing: larger symbols and comfortable click targets. */
.side-button{min-height:46px;gap:12px;padding:10px 12px}
.side-button .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;margin:0;font-size:24px;line-height:1;color:#9db3cb}
.side-button.active .nav-icon{color:#8bcdff}
.brand b{width:42px;height:46px;font-size:28px}
.avatar{width:44px;height:44px;font-size:24px}
.favorite{width:40px;height:40px;padding:0;font-size:27px;line-height:1;display:grid;place-items:center}
.dialog .close{width:40px;height:40px;font-size:30px;right:10px;top:8px}
.window-icons{font-size:15px;letter-spacing:16px}
@media(max-width:760px){.avatar{width:38px;height:38px;font-size:22px}}
.side-button span.nav-icon{margin:0;flex:0 0 26px;font-size:24px;color:#9db3cb}
.side-button.active span.nav-icon{color:#8bcdff}

/* Window-level settings and signed-out entry screen. */
.titlebar{padding-right:6px;height:38px}
.window-tools{height:100%;display:flex;align-items:center;gap:2px}
.title-settings{width:42px;height:34px;font-size:24px;line-height:1;color:#a9bdd2;border-radius:4px;letter-spacing:0}
.title-settings:hover{background:#2c3c4d;color:#d9eeff}
.window-control{display:grid;place-items:center;width:42px;height:34px;font-size:16px;letter-spacing:0;color:#8496aa}
.login-gate{min-height:calc(100vh - 38px);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:60px max(6vw,30px);background:radial-gradient(ellipse at 15% 30%,#254560 0,transparent 55%),linear-gradient(140deg,#152331,#111923 70%)}
.login-intro{max-width:570px}.login-intro .brand{margin-bottom:80px}.login-intro .eyebrow{display:block;margin-bottom:22px}.login-intro h1{font-size:56px;line-height:1.3;font-weight:600;margin:0 0 24px;letter-spacing:2px}.login-intro p{color:#9eb1c6;font-size:15px;line-height:2}.login-benefits{display:flex;gap:12px;margin:28px 0}.login-benefits span{padding:8px 12px;background:#ffffff08;border:1px solid #ffffff13;border-radius:4px;font-size:12px;color:#abcce8}.login-intro small{display:block;color:#61798e;font-size:11px;margin-top:50px}.auth-slot .overlay{position:static;display:block;padding:0;background:none;backdrop-filter:none}.auth-slot .dialog{width:100%;max-width:445px;margin:auto}.auth-slot .close{display:none}.auth-slot .dialog{box-shadow:0 30px 100px #0004}.auth-slot .dialog-links{gap:12px}
@media(max-width:760px){.login-gate{grid-template-columns:1fr;padding:30px 20px;gap:30px}.login-intro .brand{margin-bottom:28px}.login-intro h1{font-size:36px}.login-intro small{margin-top:20px}.login-intro .eyebrow,.login-benefits{display:none}.window-control{width:32px}}
.preline{white-space:pre-wrap;overflow-wrap:anywhere}.screenshots{display:flex;gap:12px;margin-top:18px;overflow:auto}.screenshots img{height:150px;border-radius:5px}.titlebar{-webkit-app-region:drag}.titlebar button{-webkit-app-region:no-drag}.window-close:hover{background:#c74444;color:white}.hero-copy p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cover-name{font-size:16px;max-width:85%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog button:disabled{opacity:.45;cursor:not-allowed}.notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
