:root{--portal-ink:#0b0b0b;--portal-paper:#f3f3ee;--portal-panel:#fff;--portal-muted:#74746d;--portal-line:#d7d7ce;--portal-lime:#9bf00b;--portal-danger:#a32e2e}.portal-modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.58)}.portal-confirm-dialog{width:min(100%,520px);max-height:calc(100vh - 40px);overflow:auto;background:var(--portal-panel);border:1px solid var(--portal-line);box-shadow:0 24px 80px rgba(0,0,0,.3);padding:24px}.portal-confirm-dialog h2{margin-top:0}.portal-confirm-actions,.portal-editor-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.portal-confirm-actions form{margin:0}.portal-active-version{margin-top:18px;padding:12px;border-left:4px solid var(--portal-lime);background:#f2f6e8}.portal-skill-skeleton p,.portal-skill-skeleton span,.portal-skill-skeleton strong{display:block;height:14px;margin:8px 0;background:#e4e4dc;animation:portal-pulse 1.4s ease-in-out infinite}.portal-skill-skeleton strong{width:55%;height:22px}.portal-skill-skeleton p{width:80%}@keyframes portal-pulse{50%{opacity:.45}}.portal-skill-intro{max-width:780px;color:var(--portal-muted);font-size:13px;line-height:1.65;margin:-10px 0 24px}.portal-skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:16px;gap:16px}.portal-skill-card{min-width:0}.portal-skill-card>strong{display:block;font-size:20px;margin:14px 0 7px}.portal-skill-card p{color:var(--portal-muted);line-height:1.55;overflow-wrap:anywhere}.portal-badges{display:flex;flex-wrap:wrap;gap:7px}.portal-badges span{background:#ecece6;border:1px solid var(--portal-line);padding:5px 8px;font:10px DM Mono,monospace;text-transform:uppercase}.portal-skill-actions,.portal-skill-controls{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.portal-skill-meta{grid-gap:5px;gap:5px;color:var(--portal-muted);font-size:12px}.portal-skill-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(140px,1fr)) auto;grid-gap:12px;gap:12px;align-items:end;margin:22px 0}.portal-skill-filters label{display:grid;grid-gap:6px;gap:6px;font-size:11px;font-weight:800}.portal-skill-filters input,.portal-skill-filters select{min-width:0;width:100%;padding:11px;border:1px solid var(--portal-line);background:#fff}.portal-skill-detail,.portal-skill-history{display:grid;grid-gap:16px;gap:16px}.portal-skill-history{grid-template-columns:1fr 1fr}.portal-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.portal-section-head h2{margin:8px 0}.portal-back{display:inline-block;margin-bottom:14px}.portal-delete-blocked,.portal-readonly{border-left:4px solid var(--portal-line);background:#f2f2ed;padding:14px;margin-top:16px}.portal-validation.valid{border-left:5px solid #568600}.portal-validation.invalid{border-left:5px solid var(--portal-danger)}.portal-action-form{display:grid;grid-gap:8px;gap:8px;max-width:280px}.portal-action-form small{line-height:1.45;color:var(--portal-muted)}.portal-danger-zone{border:1px solid #d9a4a4}.portal-delete-dialog{margin-top:16px;border-top:1px solid #d9a4a4;padding-top:16px}.portal-danger-button{background:var(--portal-danger)!important;color:#fff;border:0;padding:12px 18px;font-weight:800;cursor:pointer}.portal-danger-button:disabled{opacity:.45;cursor:not-allowed}.portal-field-error{color:var(--portal-danger);font-weight:700}.portal-skill-body{min-height:260px!important;font-family:DM Mono,monospace}.portal-list-note{color:var(--portal-muted);font-size:12px}.portal-card code{overflow-wrap:anywhere}@media(max-width:700px){.portal-skill-filters,.portal-skill-history{grid-template-columns:1fr}.portal-section-head{align-items:stretch;flex-direction:column}.portal-section-head .portal-button,.portal-skill-actions>*{text-align:center}.portal-skill-controls{display:grid}.portal-action-form{max-width:none}.portal-action-form button{min-height:44px;width:100%}}@media(max-width:520px){.portal-skill-grid{grid-template-columns:1fr}.portal-skill-card{overflow-wrap:anywhere}.portal-skill-actions{display:grid;grid-template-columns:1fr 1fr}.portal-skill-actions>*{min-height:44px}.portal-danger-zone,.portal-delete-dialog{min-width:0;overflow-wrap:anywhere}.portal-delete-dialog input{max-width:100%}}.portal-list{display:grid;grid-gap:14px;gap:14px}.portal-empty{border-style:dashed}.portal-button,.portal-form button{background:var(--portal-ink);color:#fff;padding:12px 18px;border:0;font-weight:700;cursor:pointer}.portal-form{margin-top:22px;max-width:680px}.portal-form label{font-size:12px}.portal-form input,.portal-form select,.portal-form textarea{width:100%;padding:12px;border:1px solid var(--portal-line);background:#fff;font:inherit}.portal-form textarea{min-height:110px;resize:vertical}.portal-alert,.portal-notice{padding:12px 16px;margin:0 0 20px;border:1px solid var(--portal-line);background:#fff}.portal-alert.error{border-color:var(--portal-danger)}.portal-notice{border-color:#568600}.portal-secondary{padding:9px 12px;border:1px solid var(--portal-line);background:#fff;cursor:pointer}*{box-sizing:border-box}body{margin:0;background:var(--portal-paper);color:var(--portal-ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--portal-lime);outline-offset:3px}.portal-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.portal-side{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:#0b0b0b;color:#fff;padding:28px;display:flex;flex-direction:column}.portal-brand{font-weight:800;letter-spacing:.08em}.portal-brand i{display:inline-block;width:14px;height:14px;background:var(--portal-lime);margin-right:10px;transform:rotate(45deg)}.portal-side small{color:#777;font:10px DM Mono,monospace;letter-spacing:.12em;margin-top:10px}.portal-nav{display:grid;grid-gap:8px;gap:8px;margin-top:58px}.portal-nav a,.portal-nav span{padding:13px 14px;font-size:13px}.portal-nav a{color:#ddd}.portal-nav a:hover{background:#222;color:var(--portal-lime)}.portal-nav span{color:#5f5f5f}.portal-user{margin-top:auto;border-top:1px solid #333;padding-top:18px;display:grid;grid-gap:4px;gap:4px}.portal-user b{font-size:12px}.portal-user span{font:10px DM Mono;color:#888}.portal-user button{margin-top:12px;width:100%;background:transparent;border:1px solid #444;color:#aaa;padding:10px;cursor:pointer}.portal-main{padding:42px;max-width:1420px;width:100%;margin:0 auto;min-width:0}.portal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--portal-line);padding-bottom:25px;margin-bottom:28px}.portal-card>span,.portal-eyebrow,.portal-hero span{font:10px DM Mono,monospace;letter-spacing:.16em;color:#71716a}.portal-head h1{font-size:40px;line-height:1;margin:10px 0 8px;letter-spacing:-.04em}.portal-head p{margin:0;color:var(--portal-muted)}.portal-status{font:10px DM Mono;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--portal-line);padding:9px 12px}.portal-status.active{background:var(--portal-lime);border-color:var(--portal-lime)}.portal-hero{background:#0b0b0b;color:white;padding:28px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:18px}.portal-hero span{color:#888}.portal-hero strong{display:block;margin-top:8px;font-size:30px;text-transform:capitalize}.portal-hero p{max-width:520px;color:#aaa;font-size:13px;line-height:1.6;margin:0}.portal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px}.portal-card{background:var(--portal-panel);border:1px solid var(--portal-line);padding:24px;min-width:0}.portal-card h2{font-size:20px;margin:18px 0 8px}.portal-card p{font-size:12px;line-height:1.55;color:var(--portal-muted);margin:0}.portal-activity{margin-top:18px}.portal-login{min-height:100vh;display:grid;place-items:center;padding:24px}.portal-login-card{width:min(440px,100%);background:#fff;border:1px solid var(--portal-line);padding:36px}.portal-login-card>.portal-eyebrow{display:block;margin-top:45px}.portal-login-card h1{font-size:38px;letter-spacing:-.04em;margin:9px 0}.portal-login-card p{color:var(--portal-muted);line-height:1.55}.portal-form{display:grid;grid-gap:16px;gap:16px;margin:26px 0}.portal-form label{display:grid;grid-gap:7px;gap:7px;font-size:11px;font-weight:700}.portal-form input{width:100%;border:1px solid var(--portal-line);background:#fff;padding:13px;font:inherit}.portal-button{background:#0b0b0b;color:#fff;border:0;padding:14px 18px;font-weight:700;cursor:pointer}.portal-button:hover{color:var(--portal-lime)}.portal-alert{padding:12px;border:1px solid var(--portal-line);font-size:13px}.portal-alert.error{border-color:#e2bcbc;color:var(--portal-danger);background:#fffafa}.portal-login-card>a{font-size:12px;color:var(--portal-muted)}@media(max-width:980px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portal-shell{display:block}.portal-side{position:static;height:auto;padding:18px}.portal-nav{display:flex;flex-wrap:wrap;overflow:visible;gap:6px;margin-top:18px}.portal-nav a,.portal-nav span{white-space:nowrap;padding:9px 10px}.portal-user{margin-top:20px}.portal-main{padding:24px 18px}.portal-head h1{font-size:32px}.portal-hero{align-items:flex-start;flex-direction:column}.portal-grid{grid-template-columns:1fr}.portal-login-card{padding:26px 22px}}.portal-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-chip{font:10px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--portal-line);padding:9px 12px;background:#fff}.portal-card>strong{display:block;font-size:22px;line-height:1.25;margin:14px 0 8px;overflow-wrap:anywhere}.portal-card-row small,.portal-card>small,.portal-skill-meta span{display:block;color:var(--portal-muted);font-size:11px;line-height:1.55}.portal-card>small+small{margin-top:3px}.portal-footnote,.portal-intro{max-width:780px;color:var(--portal-muted);font-size:13px;line-height:1.65}.portal-intro{margin:-10px 0 24px}.portal-footnote{margin:22px 0 0}.portal-profile{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#0b0b0b;color:#fff;padding:18px 22px;margin-bottom:18px}.portal-profile span{color:#aaa}.portal-telemetry-fresh{border-top:3px solid var(--portal-lime)}.portal-telemetry-stale{border-top:3px solid #db9e22}.portal-telemetry-unavailable{border-top:3px solid var(--portal-danger)}.portal-telemetry-not_reported{border-top:3px solid var(--portal-line)}.portal-telemetry-detail{display:grid;grid-gap:5px;gap:5px;margin-top:18px}.portal-section-head{border-bottom:1px solid var(--portal-line);margin:36px 0 18px;padding-bottom:14px}.portal-section-head p{font:10px DM Mono,monospace;letter-spacing:.16em;color:var(--portal-muted);margin:0}.portal-section-head h2{margin:8px 0 0}.portal-card-row{display:flex;justify-content:space-between;gap:12px}.portal-skill-card p{font-size:13px;margin:8px 0 18px}.portal-skill-meta{border-top:1px solid var(--portal-line);padding-top:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.portal-skill-meta b{color:var(--portal-ink)}@media(max-width:980px){.portal-grid-three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portal-grid-three,.portal-skill-meta{grid-template-columns:1fr}.portal-card>strong{font-size:19px}}