@charset "UTF-8";
:root{color-scheme:light;--navy:#0d2b5d;--teal:#009e8a;--ink:#203957;--muted:#70829b;--page:#f5f8fc;--card:#fff;--line:#dce6f2;--field:#fbfcff;--soft:#eef4fa;--danger:#b43743;--success:#057a67;--shadow:0 18px 65px #0d2b5d09;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4a88ed;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy);letter-spacing:-.035em}h1{font-size:34px;line-height:1.3}h2{font-size:21px;line-height:1.4}h3{font-size:16px;line-height:1.5}small{font-size:11px}img{max-width:100%}svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}
.initial{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column}.initial h1{font-size:26px;margin:16px 0 5px}.initial p{color:var(--muted);font-size:12px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:21px;font-weight:750;letter-spacing:-.055em;color:var(--navy);white-space:nowrap}.brand:hover{text-decoration:none}.brand img{width:40px;height:40px;object-fit:contain}.brand .accent{color:var(--teal)}.eyebrow{font-size:10px;font-weight:650;letter-spacing:.16em;color:var(--teal);text-transform:uppercase}.muted{color:var(--muted)}.subtle{font-size:12px;color:var(--muted);line-height:1.9}.language{padding:7px 11px;font-size:11px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:7px;white-space:nowrap}.language:hover{background:var(--soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:9px;padding:11px 17px;background:var(--navy);color:#fff;font-size:12px;font-weight:600;line-height:1.5;min-height:42px;text-decoration:none}.button:hover{background:#194579;text-decoration:none}.button.secondary{background:var(--card);border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:var(--soft)}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.quiet:hover{background:var(--soft)}.button.danger{background:transparent;color:var(--danger);border-color:#b4374333}.button.small{padding:6px 10px;min-height:32px;font-size:11px}.full{width:100%}.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spaced{justify-content:space-between}.notice{padding:12px 15px;border:1px solid #b437432f;background:#b4374309;color:var(--danger);border-radius:9px;font-size:12px;margin:0 0 20px;overflow-wrap:anywhere}.notice.success{border-color:#009e8a40;background:#009e8a09;color:var(--success)}.notice:empty{display:none}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth{min-height:100dvh;display:grid;grid-template-columns:1.08fr 1fr}.auth-story{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--card) 15%,var(--soft) 100%);padding:clamp(30px,5vw,78px);display:flex;flex-direction:column;justify-content:space-between;gap:40px}.auth-story:after{content:"";position:absolute;width:420px;height:420px;border:1px solid var(--line);right:-180px;bottom:-240px;border-radius:50%;box-shadow:0 0 0 65px #dce6f21c,0 0 0 130px #dce6f218;pointer-events:none}.auth-identity{max-width:520px;padding:40px 0}.auth-identity>img{width:114px;height:114px;object-fit:contain;margin-bottom:24px}.auth-identity h1{font-size:clamp(34px,3.5vw,52px);font-weight:750;letter-spacing:-.055em;margin-bottom:16px}.auth-subtitle{letter-spacing:.07em;font-size:16px;color:var(--muted);margin:0 0 25px}.auth-rule{height:3px;background:var(--teal);max-width:450px}.disciplines{font-size:9px;letter-spacing:.08em;line-height:2.2;color:var(--muted);margin:16px 0 32px}.auth-identity h2{font-size:25px;line-height:1.7;font-weight:550;letter-spacing:-.03em;margin-bottom:14px}.auth-identity .subtle{max-width:440px}.auth-bottom{display:flex;gap:25px;font-size:9px;letter-spacing:.09em;color:var(--muted);position:relative;z-index:1}.auth-entry{display:grid;place-items:center;background:var(--card);border-left:1px solid var(--line);padding:70px 35px;position:relative}.auth-entry>.language{position:absolute;top:25px;right:30px}.auth-form{width:min(100%,380px)}.auth-form h2{font-size:27px;margin:15px 0 10px}.auth-help{font-size:12px;color:var(--muted);margin:0 0 28px;line-height:1.9}.auth-form .submit{margin-top:10px;min-height:46px}.auth-switch{text-align:center;font-size:12px;margin:22px 0}.auth-note{border-top:1px solid var(--line);font-size:10px;line-height:1.9;color:var(--muted);margin-top:28px;padding-top:20px}.form-row{margin-bottom:19px}.form-row>label{display:block;font-size:12px;font-weight:550;margin-bottom:8px}.form-row input,.form-row select,.compact-input{display:block;width:100%;height:45px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:var(--field);color:var(--ink);outline:none}.form-row input:focus,.form-row select:focus,.compact-input:focus{border-color:#5488d8;box-shadow:0 0 0 3px #397de814}.form-row .subtle{font-size:10px;margin:7px 0 0}.password-wrap{position:relative}.password-wrap>input{padding-right:58px}.reveal{position:absolute;right:5px;top:5px;border:0;background:transparent;color:var(--muted);height:35px;padding:0 9px;font-size:10px}.code-input{display:flex;gap:8px}.code-input input{flex:1;min-width:0}.code-input .button{white-space:nowrap;font-size:11px}.field-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:8px}.field-label a{font-size:11px}.required{color:var(--danger)}.auth-form details{font-size:11px;line-height:1.8;color:var(--muted);margin:14px 0}.auth-form summary{cursor:pointer}.agreement{display:flex;gap:9px;font-size:11px;line-height:1.8;color:var(--muted);margin-bottom:18px}.agreement input{margin-top:4px;flex-shrink:0}.agreement-doc{white-space:pre-wrap;font-size:11px;padding:12px;background:var(--soft);max-height:200px;overflow:auto}.captcha-slot{min-height:0;margin-bottom:16px}.captcha-slot:not(:empty){min-height:50px}.auth-back{font-size:12px;display:inline-flex;align-items:center;gap:6px;margin-bottom:25px}
.portal-shell{min-height:100dvh}.portal-header{height:82px;border-bottom:1px solid var(--line);background:var(--card);padding:0 max(24px,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-header .header-right{display:flex;align-items:center;gap:16px}.account-chip{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#009e8a16;color:var(--teal);font-size:12px;font-weight:700}.account-email{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-tag{display:block;font-size:10px;color:var(--muted)}.portal-main{max-width:1200px;padding:42px 24px 60px;margin:0 auto}.welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:27px}.welcome-row h1{font-size:29px;margin:7px 0}.welcome-row p{margin-bottom:0}.portal-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:20px 0 27px;overflow-x:auto}.portal-tabs button{border:0;background:none;padding:0 1px 14px;font-size:12px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}.portal-tabs button[aria-selected="true"]{color:var(--navy);border-color:var(--teal);font-weight:650}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:26px;box-shadow:var(--shadow);min-width:0}.card h2{margin-bottom:10px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:23px}.card-header h2,.card-header h3{margin-bottom:4px}.runtime-card{position:relative;overflow:hidden;min-height:288px}.runtime-card .runtime-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;border:1px solid var(--line);color:var(--teal);margin-bottom:21px}.runtime-card .runtime-icon svg{width:24px;height:24px}.runtime-card p{max-width:530px}.runtime-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.status{display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:4px 9px;background:var(--soft);color:var(--muted);font-size:10px;white-space:nowrap}.status:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.status.running,.status.ready,.status.active{background:#009e8a13;color:var(--success)}.status.failed,.status.disabled,.status.error{background:#b4374311;color:var(--danger)}.status.starting,.status.queued,.status.provisioning{background:#bf8b1512;color:#987017}.balance-number{font-size:37px;letter-spacing:-.06em;font-weight:650;color:var(--navy);margin:18px 0 4px;line-height:1.3}.balance-number small{font-size:13px;letter-spacing:0;margin-left:7px;color:var(--muted);font-weight:400}.balance-meta{font-size:10px;color:var(--muted);margin-bottom:24px}.balance-footer{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:10px;font-size:11px}.feature-strip{margin-top:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-item{border-top:2px solid var(--line);padding-top:15px}.feature-item strong{display:block;font-size:12px;margin-bottom:5px;color:var(--navy)}.feature-item span{font-size:11px;line-height:1.8;color:var(--muted)}.section-gap{margin-top:23px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px}.stat-card{padding:19px 22px}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{display:block;font-size:25px;font-weight:650;letter-spacing:-.04em;margin-top:7px;color:var(--navy)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.form-grid .form-row{margin-bottom:0}.form-help{font-size:11px;color:var(--muted);margin:18px 0}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:11px;text-align:left;min-width:650px}th{font-weight:550;color:var(--muted);background:var(--soft);white-space:nowrap}th,td{padding:12px 13px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td strong{font-size:12px;font-weight:550}.user-meta{font-size:10px;color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:7px;white-space:nowrap}.resource-editor{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.resource-editor label{position:relative;font-size:10px;color:var(--muted)}.resource-editor input{width:75px;height:32px;font-size:11px}.empty-state{text-align:center;padding:38px 20px;color:var(--muted);font-size:12px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.toolbar h2{margin:0}.account-overview{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.group-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.group-pill{border:1px solid var(--line);border-radius:7px;padding:6px 10px;font-size:11px;color:var(--muted)}.model-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.model-item{border:1px solid var(--line);padding:15px 17px;border-radius:9px}.model-item strong{display:block;font-size:12px;overflow-wrap:anywhere}.model-item p{color:var(--muted);font-size:10px;margin:6px 0 0}.support-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.support-form .form-row{margin:0;flex:1;min-width:170px}.support-list{margin-top:20px;display:grid;gap:10px}.support-item{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px;background:var(--soft);border-radius:8px;font-size:11px}.privacy-note{padding:12px 15px;background:var(--soft);border-radius:9px;color:var(--muted);font-size:11px;line-height:1.9;margin:18px 0}.legacy-form{max-width:520px}.legacy-form .agreement{margin:15px 0}.portal-footer{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:40px}.portal-footer .inline{gap:16px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 36px);padding:12px 20px;background:var(--navy);color:#fff;box-shadow:0 10px 35px #0d2b5d25;border-radius:9px;font-size:12px;z-index:50}.toast.error{background:#92313e}.loading-inline{color:var(--muted);font-size:12px;display:flex;gap:10px;align-items:center;padding:26px 0}.dialog-backdrop{position:fixed;inset:0;background:#071a35a3;display:grid;place-items:center;padding:22px;z-index:60}.dialog{background:var(--card);color:var(--ink);max-width:470px;width:100%;padding:27px;border-radius:14px;box-shadow:0 25px 100px #0003}.dialog h2{font-size:20px}.dialog p{font-size:12px;color:var(--muted);line-height:1.9}.dialog .inline{justify-content:flex-end;margin-top:24px}.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}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--navy:#d9e7ff;--teal:#37cebb;--ink:#dce6f6;--muted:#9bacc4;--page:#101a2b;--card:#172438;--line:#2a3b53;--field:#142136;--soft:#1e2e46;--danger:#ff9ca9;--success:#58d7be;--shadow:0 18px 65px #00000010}.button{background:#bdd3f7;color:#102544}.button:hover{background:#d6e5ff}.button.secondary,.button.quiet,.button.danger{color:var(--ink)}.button.danger{color:var(--danger)}.toast{background:#bdd3f7;color:#102544}.toast.error{background:#92313e;color:#fff}.notice.success{color:var(--success)}.status.starting,.status.queued,.status.provisioning{color:#e8c675}}
@media(max-width:950px){.auth-story{padding:38px}.auth-entry{padding:65px 30px}.auth-identity h2{font-size:22px}.auth-identity>img{width:94px;height:94px}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr)}.card{padding:22px}.portal-header{padding:0 24px}.account-email{max-width:170px}}
@media(max-width:720px){.auth{grid-template-columns:1fr}.auth-story{padding:24px;gap:0}.auth-story>.brand{font-size:19px}.auth-story>.brand img{width:35px;height:35px}.auth-identity{padding:34px 0 5px}.auth-identity>img,.auth-identity h2,.auth-identity>.subtle,.auth-bottom{display:none}.auth-identity h1{font-size:35px;margin-bottom:12px}.auth-subtitle{font-size:12px;margin-bottom:17px}.disciplines{font-size:8px;margin:13px 0 0}.auth-entry{border:0;padding:57px 24px 34px;align-items:start}.auth-entry>.language{top:15px;right:23px}.auth-form{max-width:460px}.auth-form h2{font-size:24px;margin-top:12px}.auth-help{margin-bottom:25px}.portal-header{height:72px;padding:0 20px;gap:10px}.portal-header .brand{font-size:18px;gap:7px}.portal-header .brand img{width:32px;height:32px}.portal-header .header-right{gap:8px}.account-chip{display:none}.portal-main{padding:28px 20px 38px}.welcome-row{display:block}.welcome-row h1{font-size:25px}.welcome-row>.button{margin-top:18px}.portal-tabs{gap:22px;margin-top:26px}.dashboard-grid{grid-template-columns:1fr}.runtime-card{min-height:0}.balance-number{font-size:33px}.feature-strip{gap:13px}.feature-item strong{font-size:11px}.feature-item span{font-size:10px}.stat-grid{gap:10px}.stat-card{padding:14px}.stat-card span{font-size:10px}.stat-card strong{font-size:22px}.form-grid{grid-template-columns:1fr}.card{padding:21px}.card-header{gap:10px}.card h2{font-size:19px}.model-list{grid-template-columns:1fr}.account-overview{display:block}.account-overview>.button{margin-top:15px}.portal-footer{display:block}.portal-footer>.inline{margin-top:12px}.toolbar{align-items:flex-start}.support-form{display:block}.support-form .form-row{margin-bottom:16px}.support-form>.button{width:100%}.privacy-note{padding:12px}.dialog{padding:23px}.resource-editor{flex-wrap:nowrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
