:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#20282d;background:#f8fafb;font-synthesis:none;--accent:#195d72;--muted:#64727a;--border:#dce3e7}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #51a1b6;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:2.125rem;font-weight:600;letter-spacing:-.04em;line-height:1.3;margin-bottom:12px}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.125rem;font-weight:600}.muted{color:var(--muted);font-size:.875rem}.eyebrow{font-size:.75rem;letter-spacing:.15em;color:var(--accent);font-weight:650;margin-bottom:12px}.brand{display:flex;align-items:center;gap:12px;font-weight:600;line-height:1.4}.brand-mark{background:var(--accent);color:white;width:38px;height:38px;display:grid;place-items:center;font-family:serif;font-size:1.4rem;border-radius:9px}.brand small{display:block;color:var(--muted);font-size:.75rem;font-weight:400;margin-top:4px}.workspace{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100vh}.sidebar{padding:36px 24px 24px;border-right:1px solid var(--border);background:#fff;display:flex;flex-direction:column}.sidebar nav{display:grid;gap:8px;margin-top:58px}.sidebar nav a{display:flex;align-items:center;gap:20px;padding:12px 16px;border-radius:6px;color:#53636e;font-size:.9375rem}.sidebar nav a:hover{background:#f3f6f8}.sidebar nav a[aria-current]{background:#e8f0f3;color:var(--accent);font-weight:600}.nav-number{font-size:.75rem;opacity:.65;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;padding-top:48px;font-size:.875rem}.logout{display:block;border:0;background:none;color:#4b5c65;padding:12px 0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 48px;font-size:.875rem;color:var(--muted)}.topbar span:last-child{font-size:.75rem;border:1px solid var(--border);border-radius:4px;padding:1px 10px}.page-content{max-width:1240px;padding:48px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:36px}.page-heading p:last-child{margin-bottom:0}.primary{border:1px solid var(--accent);background:var(--accent);color:white;border-radius:6px;padding:11px 18px;font-size:.875rem;font-weight:550;display:inline-block;line-height:1.6}.primary:hover{background:#12495b}.overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid var(--border);border-radius:8px}.overview-item{padding:26px;border-right:1px solid var(--border)}.overview-item:last-child{border:0}.overview-item>span:first-child{font-size:.9375rem;font-weight:550}.overview-item strong{display:block;font-size:2rem;font-weight:400;margin:16px 0 8px;color:#71818a}.overview-item p{color:var(--muted);font-size:.875rem}.text-link{color:var(--accent);font-size:.875rem;font-weight:550}.text-link:hover{text-decoration:underline}.recent{margin-top:44px}.recent>h2{font-size:1rem}.empty{border:1px dashed #cfd9df;border-radius:8px;text-align:center;padding:40px 24px;background:#fafcfd}.empty h2,.empty h3{margin:14px 0 8px}.empty p{color:var(--muted);font-size:.875rem}.empty-glyph{font-size:1.8rem;color:#8c9da7}.empty.large{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center}.skip{position:absolute;top:-80px;background:white;padding:12px;z-index:5}.skip:focus{top:0}.back{font-size:.875rem;color:var(--muted);display:inline-block;margin-bottom:18px}.notice{border-left:3px solid #7194a3;padding:14px 18px;background:#edf3f6;color:#4b606c;font-size:.875rem;margin-bottom:24px;max-width:720px}label{display:block;font-size:.875rem;font-weight:550;margin:22px 0 8px}input,textarea{display:block;width:100%;border:1px solid #bdcbd3;background:white;color:#20282d;border-radius:6px;padding:11px 12px;line-height:1.5}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#788790}.project-form{max-width:720px}.form-actions{display:flex;gap:24px;align-items:baseline}#form-message{font-size:.875rem;color:#944039;margin:20px 0;white-space:pre-wrap}#form-message:empty{margin:24px 0}.login-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-intro{padding:48px 64px;background:#eef3f5;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--border)}.login-intro h1{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.5;letter-spacing:-.03em}.intro-copy{color:#647680;line-height:1.9}.login-panel{display:grid;place-items:center;padding:48px}.login-box{width:100%;max-width:370px}.login-box h2{font-size:1.75rem;margin-bottom:10px}.login-box .primary{width:100%;margin-top:4px}code{font-size:.875rem;overflow-wrap:anywhere}@media(max-width:1000px){.workspace{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:30px 16px}.page-content{padding:32px 28px}.topbar{padding:0 28px}.overview-item{padding:20px}.login-intro{padding:40px}}@media(max-width:700px){.workspace{display:block}.sidebar{padding:20px 20px 0;border-right:0;border-bottom:1px solid var(--border)}.sidebar>.brand small{display:none}.sidebar nav{display:flex;gap:4px;margin-top:20px;justify-content:space-between}.sidebar nav a{padding:10px 12px;border-radius:6px 6px 0 0}.nav-number{display:none}.sidebar-bottom{margin:0;padding:0;position:absolute;right:20px;top:18px}.sidebar-bottom>.muted{display:none}.sidebar-bottom p{max-width:150px;font-size:.75rem}.topbar{height:52px;padding:0 22px}.page-content{padding:30px 22px}.page-heading{align-items:flex-start;flex-wrap:wrap;gap:20px;margin-bottom:28px}.overview{grid-template-columns:1fr}.overview-item{border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;column-gap:16px;padding:18px 22px}.overview-item strong{grid-column:2;grid-row:1/3;margin:0}.overview-item p{margin:6px 0}.overview-item .text-link{margin-top:8px}.empty{padding:30px 18px}.login-layout{grid-template-columns:1fr}.login-intro{padding:26px;border-right:0;border-bottom:1px solid var(--border);gap:28px}.login-intro h1{font-size:1.75rem;margin-bottom:0}.login-intro .intro-copy,.login-intro>.muted{display:none}.login-panel{padding:32px 26px}.form-actions{align-items:flex-start;flex-wrap:wrap;gap:16px}h1{font-size:1.875rem}}@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,color .15s}}
/* Private Skill collection */
[hidden]{display:none!important}.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}.secondary,.danger{border:1px solid var(--border);background:#fff;border-radius:6px;padding:10px 16px;font-size:.875rem}.secondary:hover{background:#edf3f6}.danger{color:#943f37;border-color:#d9b8b4}.danger:hover{background:#fff2f0}.overview-four{grid-template-columns:repeat(4,minmax(0,1fr))}.skill-search{display:flex;gap:12px;align-items:center;max-width:760px}.skill-search input{flex:1;min-width:0}.skill-search a{white-space:nowrap}.skill-count{margin:20px 0 12px}.skill-list{background:#fff;border:1px solid var(--border);border-radius:10px;overflow:hidden}.skill-row{display:flex;gap:20px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border)}.skill-row:last-child{border:0}.skill-row:hover{background:#f2f7f9}.skill-mark{flex:0 0 42px;height:42px;background:#eaf1f4;color:var(--accent);border:1px solid #d5e3e9;border-radius:10px;display:grid;place-items:center;font-size:1.125rem;font-weight:600}.skill-row-main{flex:1;min-width:0}.skill-row h2{font-size:1.125rem;margin:0 0 6px;overflow-wrap:anywhere}.skill-row p{font-size:.875rem;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.skill-row p.skill-note-summary{margin-top:8px;color:#425c69}.skill-row-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:var(--muted);font-size:.8125rem;flex-shrink:0}.file-badge{font-size:.75rem;border:1px solid var(--border);border-radius:4px;padding:0 7px;background:#f9fbfc}.skill-panel{padding:26px;background:#fff;border:1px solid var(--border);border-radius:10px;min-width:0}.skill-panel h2{margin-bottom:18px}.import-panel{max-width:820px}.import-panel label{margin-top:0}.import-panel input{padding:18px;background:#f8fafb}.import-panel input::file-selector-button{font:inherit;background:white;border:1px solid var(--border);border-radius:5px;padding:7px 12px;margin-right:14px;color:var(--accent);cursor:pointer}.import-panel #skill-file-help{margin:12px 0 24px}.import-footnote{margin:20px 0 0}.skill-message{font-size:.875rem;color:#74442a;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}.skill-message:empty{margin:12px 0}.skill-description{white-space:pre-wrap;overflow-wrap:anywhere;color:#53636e;max-width:760px}.skill-detail-heading{min-width:0}.skill-detail-heading h1{overflow-wrap:anywhere}.skill-detail-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:24px;align-items:start}.skill-aside{display:grid;gap:20px;min-width:0}.skill-source{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;max-height:70vh;overflow-y:auto;tab-size:2}.skill-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}.file-list{padding:0;list-style:none;max-height:320px;overflow:auto;margin:0}.file-list li{padding:8px 0;font-size:.875rem;overflow-wrap:anywhere;border-bottom:1px solid #edf1f4;display:flex;gap:10px;justify-content:space-between}.file-list span{min-width:0}.file-list small{font-size:.75rem;color:var(--muted);flex-shrink:0}.skill-remove{padding:0 2px}.skill-panel details{margin-top:20px}.skill-panel summary{cursor:pointer;font-size:.875rem;color:var(--accent);padding:8px 0}.skill-panel details .skill-source{margin-top:14px}.skill-panel .notice{white-space:pre-wrap}#skill-preview{max-width:820px}dialog{border:1px solid var(--border);border-radius:12px;padding:28px;max-width:min(480px,calc(100% - 32px));color:#20282d;box-shadow:0 20px 80px #162c3d33}dialog::backdrop{background:#14263066}dialog p{font-size:.9375rem}
@media(max-width:1100px){.overview-four{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-four .overview-item:nth-child(2){border-right:0}.overview-four .overview-item:nth-child(-n+2){border-bottom:1px solid var(--border)}.skill-detail-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){.sidebar nav{flex-wrap:wrap;justify-content:flex-start}.sidebar nav a{padding:10px 11px}.skill-row{gap:12px;padding:18px;flex-wrap:wrap}.skill-row-meta{flex-direction:row;align-items:center;gap:12px;padding-left:54px;width:100%}.skill-panel{padding:20px}.skill-search{flex-wrap:wrap}.skill-search input{min-width:150px}.overview-four{grid-template-columns:1fr}.overview-four .overview-item{border-right:0}.skill-detail-grid{gap:20px}.skill-mark{flex-basis:36px;height:36px}.skill-row-meta{padding-left:48px}}

.skill-import-item{border-top:1px solid var(--border);padding-top:22px;margin-top:22px}.skill-import-item h3{overflow-wrap:anywhere}.skill-import-item>.muted,.skill-origin{overflow-wrap:anywhere}.skill-import-item .file-list{margin-top:20px}
