:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#edf6ff;background:#07111d;font-synthesis:none;text-rendering:optimizeLegibility;--page: #07111d;--panel: rgba(15, 30, 47, .72);--panel-strong: rgba(14, 29, 46, .94);--line: rgba(163, 194, 222, .14);--muted: #8da5bb;--soft: #b8cad9;--cyan: #5ee4ff;--blue: #6988ff}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--page)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 22% -10%,rgba(64,155,222,.15),transparent 33rem),radial-gradient(circle at 92% 27%,rgba(91,72,194,.13),transparent 30rem),linear-gradient(145deg,#07111d,#091522 49%,#07111b)}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.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}.ambient{position:fixed;z-index:-1;width:28rem;height:28rem;border-radius:50%;filter:blur(90px);opacity:.16;pointer-events:none}.ambient-one{top:-14rem;left:-8rem;background:#3bc9ff}.ambient-two{top:22%;right:-18rem;background:#7c5cff}.portal-shell{width:min(1480px,100%);min-height:100vh;margin:0 auto;padding:0 clamp(1rem,4vw,4rem)}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.75rem;border-radius:1rem}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(116,218,255,.34);border-radius:13px;color:#70e0ff;background:linear-gradient(145deg,#33a8da38,#485dd92b);box-shadow:inset 0 1px #ffffff14,0 12px 36px #1f87ce1f}.brand-mark svg{width:24px;height:24px}.brand-mark.large{width:58px;height:58px;margin:0 auto 1.35rem;border-radius:18px}.brand-mark.large svg{width:32px;height:32px}.brand>span:last-child{display:flex;align-items:baseline;gap:.38rem;letter-spacing:-.02em}.brand strong{font-size:1.04rem}.brand small{color:var(--muted);font-size:.85rem}.topbar-actions{display:flex;align-items:center;gap:.65rem}.account-pill{min-height:39px;display:flex;align-items:center;gap:.55rem;padding:0 .85rem;border:1px solid var(--line);border-radius:999px;color:var(--soft);background:#0d1c2cb8;font-size:.78rem;font-weight:650}.account-status,.footer-dot{width:7px;height:7px;border-radius:50%;background:#43e6ab;box-shadow:0 0 0 4px #43e6ab1a,0 0 15px #43e6ab8c}.icon-button,.refresh-button,.category-tabs button,.favorite-button,.search-box button{border:0;cursor:pointer}.icon-button{width:39px;height:39px;display:grid;place-items:center;border:1px solid var(--line);border-radius:12px;color:var(--muted);background:#0d1c2cb8;transition:color .16s ease,border-color .16s ease,transform .16s ease}.icon-button:hover{color:#f4f9ff;border-color:#77cbee4d;transform:translateY(-1px)}.icon-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero{min-height:310px;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:3rem 0 2.2rem}.eyebrow,.section-kicker{margin:0 0 .85rem;color:#62d9f6;font-size:.68rem;font-weight:800;letter-spacing:.19em}.hero h1,.login-card h1{margin:0;font-size:clamp(2.8rem,6.8vw,5.8rem);font-weight:680;line-height:.98;letter-spacing:-.065em;background:linear-gradient(100deg,#f7fbff,#d9ecf8 53%,#87c6ec);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{max-width:690px;margin:1.35rem 0 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.17rem);line-height:1.65}.clock-panel{min-width:215px;padding:1.35rem 1.55rem;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#112335bd,#0b172694);box-shadow:inset 0 1px #ffffff0a,0 22px 70px #0000001f;text-align:right;backdrop-filter:blur(16px)}.clock-panel strong{display:block;font-size:clamp(2.1rem,4vw,3rem);font-weight:630;letter-spacing:-.06em}.clock-panel span{display:block;margin-top:.25rem;color:var(--muted);font-size:.78rem;text-transform:capitalize}.toolbar{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.search-box{position:relative;flex:1;min-height:52px;display:flex;align-items:center;border:1px solid var(--line);border-radius:16px;background:#0c1b2bad;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.search-box:focus-within{border-color:#55d3f66b;background:#0d1d2ee6;box-shadow:0 0 0 4px #42bfe70f}.search-box>svg{width:20px;margin-left:1rem;color:#7895aa;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.search-box input{width:100%;min-width:0;padding:.85rem 2.8rem .85rem .8rem;border:0;outline:0;color:#eef8ff;background:transparent;font-size:.9rem}.search-box input::placeholder{color:#6e879b}.search-box button{position:absolute;right:.55rem;width:34px;height:34px;border-radius:10px;color:var(--muted);background:transparent;font-size:1.25rem}.search-box button:hover{color:#fff;background:#ffffff0d}.refresh-button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:0 1.05rem;border:1px solid var(--line);border-radius:16px;color:var(--soft);background:#0c1b2bad;font-size:.8rem;font-weight:700;transition:border-color .16s ease,background .16s ease,transform .16s ease}.refresh-button:hover:not(:disabled){border-color:#5fd0f352;background:#112335e6;transform:translateY(-1px)}.refresh-button:disabled{cursor:wait;opacity:.65}.refresh-button svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.refresh-button.spinning svg{animation:spin .9s linear infinite}.category-tabs{display:flex;gap:.45rem;padding:.1rem 0 1.9rem;overflow-x:auto;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex:0 0 auto;min-height:35px;padding:0 .85rem;border:1px solid transparent;border-radius:999px;color:#7893a8;background:transparent;font-size:.75rem;font-weight:670;transition:color .15s ease,background .15s ease,border-color .15s ease}.category-tabs button:hover{color:var(--soft);background:#ffffff09}.category-tabs button.active{color:#dff8ff;border-color:#66d5f42e;background:#379fc821}.apps-section{padding-bottom:3.5rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.section-kicker{margin-bottom:.35rem;color:#7898ae;font-size:.61rem}.section-heading h2{margin:0;color:#f0f8ff;font-size:clamp(1.35rem,2.5vw,1.8rem);font-weight:650;letter-spacing:-.035em}.section-heading>span{color:#6f899d;font-size:.75rem}.load-notice{margin:0 0 1rem;padding:.75rem .95rem;border:1px solid rgba(251,191,36,.18);border-radius:12px;color:#d6bd80;background:#7a56111a;font-size:.78rem}.app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.app-card{position:relative;min-width:0;min-height:265px;overflow:hidden;border:1px solid var(--line);border-radius:21px;background:radial-gradient(circle at 11% -4%,color-mix(in srgb,var(--app-accent) 10%,transparent),transparent 45%),linear-gradient(145deg,#112233d9,#0a1725cc);box-shadow:inset 0 1px #ffffff09,0 16px 45px #00000014;transition:transform .19s ease,border-color .19s ease,box-shadow .19s ease;isolation:isolate}.app-card:after{content:"";position:absolute;z-index:-1;inset:auto -30% -65% 30%;height:65%;background:var(--app-accent);filter:blur(70px);opacity:0;transition:opacity .2s ease}.app-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--app-accent) 38%,rgba(160,194,221,.18));box-shadow:inset 0 1px #ffffff0d,0 24px 70px #0000002b}.app-card:hover:after{opacity:.07}.app-link{min-height:265px;display:flex;flex-direction:column;padding:1.2rem 1.25rem 1.15rem}.app-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.app-icon{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--app-accent) 28%,transparent);border-radius:15px;color:var(--app-accent);background:color-mix(in srgb,var(--app-accent) 9%,rgba(8,19,31,.82));box-shadow:inset 0 1px #ffffff0d,0 10px 28px color-mix(in srgb,var(--app-accent) 7%,transparent)}.app-icon svg{width:25px;height:25px}.availability{display:inline-flex;align-items:center;gap:.42rem;padding:.38rem .56rem;border:1px solid rgba(143,172,197,.12);border-radius:999px;color:#7790a5;background:#06111c61;font-size:.61rem;font-weight:750;white-space:nowrap}.availability-dot{width:6px;height:6px;border-radius:50%;background:#6f8799}.availability.online{color:#83d8b9;border-color:#45dca51f}.availability.online .availability-dot{background:#43dda5;box-shadow:0 0 10px #43dda58c}.availability.offline{color:#c99098;border-color:#f471821f}.availability.offline .availability-dot{background:#eb7180}.availability.checking .availability-dot{animation:pulse 1.2s ease-in-out infinite}.app-card-content{margin-top:1.35rem}.app-category{color:color-mix(in srgb,var(--app-accent) 77%,#ccecff);font-size:.61rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.app-card h3{margin:.4rem 0 0;color:#edf7ff;font-size:1.18rem;font-weight:650;letter-spacing:-.025em}.app-card p{display:-webkit-box;margin:.5rem 0 0;overflow:hidden;color:#8299ac;font-size:.77rem;line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical}.network-note{display:inline-block;margin-top:.55rem;color:#6f8ca2;font-size:.64rem}.open-label{display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;color:#9cb5c8;font-size:.71rem;font-weight:720;transition:color .16s ease,gap .16s ease}.app-card:hover .open-label{gap:.5rem;color:#eefaff}.favorite-button{position:absolute;right:.9rem;bottom:.78rem;z-index:2;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#607b90;background:transparent;transition:color .15s ease,background .15s ease,transform .15s ease}.favorite-button:hover{color:#ffcf66;background:#ffffff0b;transform:scale(1.05)}.favorite-button.active{color:#ffca54}.favorite-button svg{width:18px;fill:transparent;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.favorite-button.active svg{fill:currentColor;stroke:currentColor;filter:drop-shadow(0 0 6px rgba(255,202,84,.25))}.empty-state{display:grid;place-items:center;padding:4rem 1rem;border:1px dashed rgba(149,182,207,.14);border-radius:20px;color:var(--muted);text-align:center}.empty-state>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#6dcde8;background:#3d9ec11a}.empty-state svg{width:24px}.empty-state h3{margin:1rem 0 .2rem;color:#dceaf4}.empty-state p{margin:0;font-size:.8rem}.portal-footer{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);color:#5f788b;font-size:.69rem}.portal-footer span:first-child{display:inline-flex;align-items:center;gap:.5rem}.footer-dot{width:6px;height:6px}.login-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:1.4rem}.login-shell:before{content:"";position:fixed;inset:0;z-index:-2;opacity:.22;background-image:linear-gradient(rgba(110,162,192,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(110,162,192,.075) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,black,transparent 75%)}.login-card{width:min(470px,100%);padding:clamp(1.6rem,5vw,2.7rem);border:1px solid rgba(151,192,220,.16);border-radius:28px;background:linear-gradient(145deg,#112234ed,#091624f0);box-shadow:inset 0 1px #ffffff0b,0 35px 110px #00000057;text-align:center;backdrop-filter:blur(24px)}.login-card .eyebrow{margin-bottom:.75rem}.login-card h1{font-size:clamp(2.25rem,8vw,3.25rem);line-height:1.03}.login-copy{margin:1.1rem auto 0;color:#91a8bb;font-size:.9rem;line-height:1.65}.security-note{display:flex;align-items:center;gap:.85rem;margin:1.6rem 0 1rem;padding:.85rem .95rem;border:1px solid rgba(111,203,229,.12);border-radius:15px;background:#27749312;text-align:left}.security-icon{width:37px;height:37px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#5edebf;background:#32d2a617}.security-icon svg{width:20px}.security-note strong,.security-note small{display:block}.security-note strong{color:#dcebf4;font-size:.78rem}.security-note small{margin-top:.16rem;color:#758ea2;font-size:.67rem;line-height:1.45}.primary-button{width:100%;min-height:53px;display:inline-flex;align-items:center;justify-content:center;gap:.65rem;border:1px solid rgba(128,224,255,.34);border-radius:15px;color:#04111a;background:linear-gradient(100deg,#67e3ff,#7ac7ff 58%,#9aafff);box-shadow:0 14px 38px #4ab6ea2e,inset 0 1px #ffffff61;cursor:pointer;font-size:.85rem;font-weight:800;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.primary-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 50px #4ab6ea3d,inset 0 1px #fff6}.primary-button:disabled{cursor:wait;opacity:.66}.button-icon{width:21px;height:21px;display:grid;place-items:center}.button-icon svg{width:19px}.login-message{margin:.9rem 0 0;padding:.7rem;border-radius:10px;color:#f0b5bd;background:#b33d4e1a;font-size:.73rem;line-height:1.45}.login-footnote{margin:1rem auto 0;max-width:340px;color:#5f798c;font-size:.64rem;line-height:1.55}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}@media(max-width:1000px){.app-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.portal-shell{padding:0 1rem}.topbar{min-height:68px}.account-pill span:last-child,.brand small{display:none}.account-pill{min-width:39px;justify-content:center;padding:0}.hero{min-height:0;display:block;padding:3.1rem 0 2rem}.hero h1{font-size:clamp(2.75rem,14vw,4.4rem)}.clock-panel{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem 1.15rem;text-align:left}.clock-panel strong{font-size:1.8rem}.toolbar{align-items:stretch}.refresh-button{width:52px;padding:0}.refresh-button svg{width:20px}.refresh-button{font-size:0}.app-grid{grid-template-columns:1fr}.app-card,.app-link{min-height:245px}}@media(max-width:420px){.clock-panel span{max-width:135px;text-align:right}.availability{font-size:0;padding:.5rem}.availability-dot{width:7px;height:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
