body:has(.portal-page){margin:0}.portal-page{background:var(--c-bg);min-height:100dvh;color:var(--c-text);font-family:var(--font-app);flex-direction:column;display:flex}.portal-page *,.portal-page :before,.portal-page :after{box-sizing:border-box}.portal-header{background:var(--c-header);color:var(--c-surface)}.portal-header-inner{min-height:calc(var(--header-h) + 8px);justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:0 auto;padding:0 32px;display:flex}.portal-brand{color:inherit;flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.portal-brand:hover{color:inherit}.portal-logo{flex-shrink:0;width:auto;height:48px;display:block}.portal-brand-divider{background:var(--c-header-divider);width:1px;height:23px;margin:0 17px 0 10px}.portal-system-name{font-size:var(--fs-title);letter-spacing:.04em;white-space:nowrap;font-weight:600}.portal-header-actions{align-items:center;gap:16px;min-width:0;display:flex}.portal-admin-link{color:var(--c-surface);opacity:.8;font-size:var(--fs-aux);white-space:nowrap;align-items:center;gap:7px;padding:10px 2px;text-decoration:none;transition:opacity .16s;display:inline-flex}.portal-admin-link:hover{color:var(--c-surface);opacity:1}.portal-main{outline:none;flex:1;width:min(1120px,100% - 64px);margin:0 auto;padding:66px 0 76px}.portal-intro{margin-bottom:45px}.portal-eyebrow{color:var(--c-text-2);font-size:var(--fs-aux);letter-spacing:.12em;align-items:center;gap:9px;margin:0 0 14px;display:flex}.portal-eyebrow:before{content:"";background:var(--c-gold);width:16px;height:2px}.portal-intro h1{font-size:calc(var(--fs-title) + 14px);letter-spacing:.01em;overflow-wrap:anywhere;margin:0 0 12px;font-weight:600;line-height:1.5}.portal-intro-description{color:var(--c-text-2);font-size:var(--fs-body);margin:0;line-height:1.8}.portal-section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px;display:flex}.portal-section-heading h2{font-size:var(--fs-module);margin:0;font-weight:600}.portal-section-heading>span{font-size:var(--fs-hint);color:var(--c-text-2)}.portal-module{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-card);box-shadow:var(--shadow-card);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);margin-bottom:20px;display:grid;overflow:hidden}.portal-module-main{align-items:flex-start;gap:24px;padding:43px 36px 42px;display:flex}.portal-module-icon{width:64px;height:64px;color:var(--c-primary);background:var(--c-primary-light);border-radius:var(--r-card);font-size:calc(var(--fs-title) + 12px);flex-shrink:0;place-items:center;display:grid}.portal-module-category{color:var(--c-text-2);font-size:var(--fs-hint);letter-spacing:.08em;margin:1px 0 9px;display:block}.portal-module-copy{min-width:0}.portal-module-copy h3{font-size:calc(var(--fs-title) + 6px);margin:0 0 13px;font-weight:600;line-height:1.5}.portal-module-copy>p{max-width:330px;color:var(--c-text-2);font-size:var(--fs-body);margin:0;line-height:1.9}.portal-enter-link{background:var(--c-primary);border:1px solid var(--c-primary);border-radius:var(--r-btn);min-height:42px;color:var(--c-surface);font-size:var(--fs-body);white-space:nowrap;justify-content:center;align-items:center;gap:20px;margin-top:29px;padding:10px 20px;font-weight:500;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.portal-enter-link:hover{color:var(--c-surface);background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.portal-enter-link:disabled{background:var(--c-bg);border-color:var(--c-border-input);color:var(--c-text-2);cursor:not-allowed;font-family:inherit}.portal-module-capabilities{border-left:1px solid var(--c-border);background:var(--c-primary-faint);flex-direction:column;justify-content:center;gap:24px;margin:28px 0;padding:5px 34px;display:flex}.portal-capability{align-items:flex-start;gap:13px;display:flex}.portal-capability-icon{color:var(--c-primary);font-size:var(--fs-title);margin-top:1px;line-height:1.5}.portal-capability h4{font-size:var(--fs-body);margin:0 0 3px;font-weight:500;line-height:1.7}.portal-capability p{color:var(--c-text-2);font-size:var(--fs-aux);margin:0;line-height:1.7}.portal-footer{color:var(--c-text-2);font-size:var(--fs-hint);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:20px 24px 26px;display:flex}.portal-footer>span+span{border-left:1px solid var(--c-border-input);padding-left:12px}.portal-brand:focus-visible,.portal-admin-link:focus-visible,.portal-enter-link:focus-visible{outline:2px solid var(--c-primary);outline-offset:5px}.portal-skip-link{z-index:1100;background:var(--c-surface);color:var(--c-primary);border-radius:var(--r-btn);font-size:var(--fs-body);padding:10px 16px;position:fixed;top:8px;left:16px;transform:translateY(-160%)}.portal-skip-link:focus{transform:translateY(0)}@media (width<=900px){.portal-module-main{gap:20px;padding:34px 28px}.portal-module-capabilities{padding:5px 25px}.portal-module-icon{width:52px;height:52px}}@media (width<=700px){.portal-header-inner{gap:12px;padding:0 20px}.portal-header-actions{gap:10px}.portal-admin-link>span:last-child{display:none}.portal-admin-link{padding:12px 5px}.portal-system-name{font-size:var(--fs-module)}.portal-brand-divider{margin-left:5px;margin-right:12px}.portal-logo{height:40px}.portal-main{width:calc(100% - 40px);padding:42px 0 48px}.portal-intro{margin-bottom:32px}.portal-intro h1{font-size:calc(var(--fs-title) + 8px)}.portal-section-heading>span{display:none}.portal-module{grid-template-columns:minmax(0,1fr)}.portal-module-main{gap:20px;padding:30px 26px}.portal-module-capabilities{border-left:0;border-top:1px solid var(--c-border);background:var(--c-surface);gap:20px;margin:0 26px 26px;padding:24px 0 0}}@media (width<=420px){.portal-header-inner{flex-wrap:wrap;gap:5px;padding:0 12px}.portal-brand{min-height:56px}.portal-header-actions{gap:5px;margin-left:auto}.portal-logo{height:34px}.portal-brand-divider{height:20px;margin-right:8px}.portal-system-name{font-size:var(--fs-body);letter-spacing:0}.portal-main{width:calc(100% - 32px)}.portal-module-main{gap:15px;padding:26px 20px}.portal-module-icon{width:44px;height:44px;font-size:calc(var(--fs-title) + 6px)}.portal-module-copy h3{font-size:calc(var(--fs-title) + 3px)}.portal-module-capabilities{margin-left:20px;margin-right:20px}}@media (prefers-reduced-motion:reduce){.portal-page a{transition:none}}:root{--font-app:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;--c-primary-dark:#0b3a6e;--c-primary:#1677ff;--c-primary-hover:#0958d9;--c-primary-light:#eaf3ff;--c-primary-faint:#f5f9ff;--c-gold:#b8955a;--c-bg:#f5f7fa;--c-surface:#fff;--c-border:#e5eaf0;--c-border-input:#d9e0e8;--c-text:#172033;--c-text-2:#718096;--c-text-3:#a0a8b5;--c-header:#1f2937;--c-header-divider:#ffffff40;--fs-title:18px;--fs-module:15px;--fs-body:14px;--fs-aux:13px;--fs-hint:12px;--r-card:10px;--r-btn:6px;--r-input:6px;--r-tag:6px;--shadow-card:0 1px 3px #0f172a0d;--shadow-hover:0 4px 12px #0f172a14;--header-h:56px;--sidebar-w:280px;--content-pad:24px}body{font-family:var(--font-app)}
