:root{--bg: #F5F7F6;--surface: #FFFFFF;--surface-2: #F1F4F2;--field: #EEF2F0;--border: #E1E6E3;--border-strong: #CBD3CE;--ink: #102A43;--text: #33475B;--muted: #627284;--primary: #0F6E56;--primary-hover: #0B5A46;--primary-soft: #E3F1EC;--good: #0F6E56;--good-bg: #E3F1EC;--warn: #B45309;--warn-bg: #FDF1E3;--gap: #B42318;--gap-bg: #FCE9E7;--link: #1D4ED8;--link-soft: #E8EEFC;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(16, 42, 67, .06), 0 8px 24px -16px rgba(16, 42, 67, .18);--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);overflow-x:hidden}a{color:var(--link)}code{font-family:var(--mono);font-size:.84em}.icon{flex:none}.muted{color:var(--muted)}.small{font-size:.85rem}.app{max-width:1180px;margin:0 auto;padding:0 24px 56px}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 -24px;padding:12px 24px;background:#f5f7f6eb;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.05rem;color:var(--ink)}.logo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#fff;background:var(--primary)}.tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:4px 9px;border-radius:999px}.pills{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted)}.pill.live{color:var(--good);border-color:#bfddd3;background:var(--good-bg)}.dot{width:8px;height:8px;border-radius:50%;background:var(--good);animation:pulse 1.8s infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 #0f6e5673}70%{box-shadow:0 0 0 8px #0f6e5600}to{box-shadow:0 0 #0f6e5600}}.account{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--ink)}.account img{border-radius:50%;border:1px solid var(--border)}.account .ghost{padding:6px 8px;font-size:.8rem}.githubButton{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;color:#fff;background:#1f2328}.githubButton:hover{background:#32383f}.hero{padding:44px 0 26px}.eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;color:var(--primary);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{margin:0;max-width:820px;font-family:var(--serif);font-size:clamp(2.2rem,5.4vw,3.9rem);line-height:1.06;letter-spacing:-.015em;font-weight:700;color:var(--ink)}.hero h1 .word,.hero h1 .gradient{display:inline-block}.hero h1 .word{margin-right:.22em}.gradient,.shimmer{color:var(--primary)}.lead{max-width:660px;margin:16px 0 0;font-size:1.08rem;line-height:1.6;color:var(--text)}.loop{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0;padding:0}.loop li{position:relative;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.84rem;font-weight:600;overflow:hidden;isolation:isolate}.loop li>button{all:unset;box-sizing:border-box;position:relative;display:flex;align-items:center;gap:9px;padding:8px 14px 8px 8px;border-radius:999px;cursor:pointer;color:inherit;isolation:isolate}.loop li>button:disabled{cursor:default}.loop li>button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.loop li:not(.current):not(.done){opacity:.8}.loopNo{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-2);font-size:.75rem;font-weight:700;flex:none;color:var(--muted)}.loop li.done{color:var(--ink);border-color:#bfddd3}.loop li.done .loopNo{background:var(--good);color:#fff}.loop li.current{color:var(--ink);border-color:var(--primary)}.loop li.current .loopNo{background:var(--primary);color:#fff}.loop li.done.current{background:var(--good-bg)}.loopActive{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:var(--primary-soft)}.loopHint{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:.72rem;font-weight:700;color:var(--primary);padding-left:4px}.loopHint code{color:var(--primary)}.status{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:11px 15px;margin-bottom:20px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.92rem;overflow-wrap:anywhere}.status-success{color:#0b4f3e;border-color:#bfddd3;background:var(--good-bg)}.status-error{color:#7f1d14;border-color:#f3c7c1;background:var(--gap-bg)}.status-warn{color:#7a3a06;border-color:#f2d2ae;background:var(--warn-bg)}.status-busy{color:#1e3a8a;border-color:#c9d6f7;background:var(--link-soft)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(29,78,216,.25);border-top-color:var(--link);animation:spin .8s linear infinite;flex:none}.spinner.tiny{width:11px;height:11px;border-color:#0f6e5640;border-top-color:var(--primary)}@keyframes spin{to{transform:rotate(360deg)}}.progress{position:absolute;left:0;bottom:0;height:2px;width:40%;background:var(--link);opacity:.6;animation:progress 1.2s ease-in-out infinite}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(260%)}}.setup{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:start}.setup>*,.skills>*,.results>*{min-width:0}.card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.cardHead{display:flex;align-items:center;gap:14px;margin-bottom:6px}.cardHead>.icon{margin-left:auto;color:var(--muted)}.cardHead h2{margin:0;font-family:var(--serif);font-size:1.28rem;color:var(--ink)}.cardHead p{margin:3px 0 0;color:var(--muted);font-size:.88rem}.stepNo{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;font-weight:700;color:var(--primary);background:var(--primary-soft);flex:none}label{display:block;margin-top:14px;font-size:.82rem;font-weight:600;color:var(--ink)}input,select,textarea,.inputGroup{width:100%;display:block;margin-top:6px;border:0;outline:0;border-radius:var(--radius-sm);background:var(--field);color:var(--ink);font:inherit;font-size:.95rem;transition:background .15s,box-shadow .15s}input,select,textarea{padding:11px 13px}textarea{resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:#8a97a5}input:hover,select:hover,textarea:hover,.inputGroup:hover{background:#e7ece9}input:focus,select:focus,textarea:focus,.inputGroup:focus-within,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;background:#fff;box-shadow:0 0 0 3px #0f6e5629,0 6px 18px -10px #102a4359}.inputGroup{display:flex;align-items:stretch;overflow:hidden}.inputGroup span{display:flex;align-items:center;padding:0 2px 0 13px;color:var(--muted);font-size:.9rem;white-space:nowrap}.inputGroup input,.inputGroup input:hover,.inputGroup input:focus,.inputGroup input:focus-visible{margin:0;background:transparent;box-shadow:none;padding-left:2px;min-width:0}select option,optgroup{background:#fff;color:var(--ink)}.checkRow{display:flex;align-items:center;gap:10px;font-weight:500}.checkRow input{width:auto;margin:0;accent-color:var(--primary)}.checkRow input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hintLine{margin:10px 0 0;line-height:1.5}.hintLine strong{color:var(--primary)}.warnLine{color:var(--warn)}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;padding:10px 16px;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s,transform .12s}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.primary{color:#fff;background:var(--primary)}.primary:hover:not(:disabled){background:var(--primary-hover)}.secondary{color:var(--ink);background:var(--surface);border-color:var(--border-strong)}.secondary:hover:not(:disabled){background:var(--surface-2)}.ghost{color:var(--link);background:transparent;padding-left:4px;padding-right:4px;text-decoration:none;display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:.85rem}.ghost:hover{text-decoration:underline}.big{padding:12px 20px;font-size:.97rem}.isLive{color:var(--good);border-color:#bfddd3;background:var(--good-bg)}.shine{position:relative}.buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px}.cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.found{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--good-bg);color:#0b4f3e;font-size:.88rem;overflow-wrap:anywhere}.found a{color:#0b4f3e;font-weight:700}.advanced{margin-top:18px;color:var(--muted);font-size:.88rem}.advanced summary{cursor:pointer;font-weight:600;color:var(--ink)}.boardSearch form{margin-top:4px}.linkInline{all:unset;cursor:pointer;color:var(--link);font-weight:700;text-decoration:underline}.linkInline:disabled{opacity:.5;cursor:not-allowed}.jobBox{margin-top:20px;padding:18px;border-radius:12px;background:var(--surface-2)}.jobTitle{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.jobTitle strong{display:block;font-size:1.02rem;color:var(--ink)}.jobTitle span{color:var(--muted);font-size:.88rem}.jobTitle a{display:inline-flex;align-items:center;gap:5px;font-size:.85rem;font-weight:600;white-space:nowrap}.jobBox .muted{font-size:.85rem;line-height:1.5}.skillToggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.toggle{padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;color:var(--muted);background:var(--surface);border:1px dashed var(--border-strong)}.toggle.on{color:#fff;background:var(--primary);border:1px solid var(--primary)}.toggle em{font-style:normal;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.quotes{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.quotes li{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border-radius:10px;background:var(--surface);font-size:.85rem;line-height:1.45;color:var(--text);overflow-wrap:anywhere}.quotes li .icon{color:var(--primary);margin-top:2px}.quotes strong{color:var(--ink);margin-right:4px}.jobBox>.secondary{margin-top:14px}.boardResults{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;max-height:340px;overflow:auto}.boardResults li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2)}.boardResults li>div{flex:1;min-width:0}.boardResults strong{display:block;font-size:.9rem;color:var(--ink);overflow-wrap:anywhere}.boardResults span{color:var(--muted);font-size:.8rem}.boardResults a{color:var(--muted);display:inline-flex}.boardResults .secondary{padding:7px 12px;font-size:.8rem}.results{margin-top:36px;display:grid;gap:20px;scroll-margin-top:80px}.banner{position:relative;display:flex;gap:14px;align-items:center;padding:15px 20px;border-radius:var(--radius);color:#0b4f3e;background:var(--good-bg);border:1px solid #BFDDD3}.banner strong{display:block;color:var(--ink)}.banner span{font-size:.9rem;color:var(--text)}.bannerIcon{display:grid;place-items:center;color:var(--good)}.pendingBanner{color:#1e3a8a;background:var(--link-soft);border-color:#c9d6f7}.overview{display:flex;gap:28px;align-items:center}.overviewBody{flex:1;min-width:0}.overviewBody h2{margin:0 0 16px;font-family:var(--serif);font-size:1.5rem;color:var(--ink);overflow-wrap:anywhere}.overviewBody .eyebrow{margin-bottom:8px}.ring{position:relative;width:160px;height:160px;flex:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ringTrack{fill:none;stroke:var(--surface-2);stroke-width:11}.ringValue{fill:none;stroke:var(--primary);stroke-width:11;stroke-linecap:round}.ring stop{stop-color:var(--primary)}.ringLabel{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center}.ringLabel strong{font-family:var(--serif);font-size:2.6rem;font-weight:700;line-height:1;color:var(--ink)}.ringLabel small{font-size:1.05rem;color:var(--muted)}.ringLabel>span{margin-top:4px;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.stat{padding:12px 14px;border-radius:12px;background:var(--surface-2)}.stat strong{display:block;font-size:1.6rem;font-weight:700;line-height:1.1}.stat>span{font-size:.78rem;color:var(--muted);font-weight:600}.stat.good strong{color:var(--good)}.stat.warn strong{color:var(--warn)}.stat.gap strong{color:var(--gap)}.meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px}.metaItem{display:inline-flex;align-items:center;gap:6px;font-size:.83rem;color:var(--muted);text-decoration:none;overflow-wrap:anywhere}a.metaItem:hover{color:var(--link)}.metaItem code{color:var(--ink)}.reportButton{margin-top:14px}.summary{display:flex;gap:16px;align-items:flex-start}.summaryIcon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;flex:none;color:var(--primary);background:var(--primary-soft)}.summary h3,.changeHead h3,.closeHead h3,.timeline h3{margin:0 0 4px;font-family:var(--serif);font-size:1.1rem;color:var(--ink)}.summary p{margin:0;line-height:1.65;color:var(--text);overflow-wrap:anywhere}.changeHead{display:flex;gap:14px;align-items:flex-start}.changeHead p{margin:0}.changeHead a{color:var(--link);text-decoration:none}.changeGrid{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;margin-top:16px}.changeGrid>div{min-width:0}.changeGrid .label{margin:0 0 8px;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.changeGrid .skillChips+.label{margin-top:14px}.changedFiles{list-style:none;margin:0;padding:0;display:grid;gap:6px}.changedFiles li{display:flex;gap:8px;align-items:center;font-size:.85rem;min-width:0}.changedFiles a{color:var(--link);text-decoration:none;overflow-wrap:anywhere;word-break:break-all}.fileStatus{flex:none;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.fileStatus.st-added{background:var(--good-bg);color:var(--good)}.fileStatus.st-removed{background:var(--gap-bg);color:var(--gap)}.fileStatus.st-modified,.fileStatus.st-renamed,.fileStatus.st-changed{background:var(--warn-bg);color:var(--warn)}.skillChips{display:flex;flex-wrap:wrap;gap:6px}.closeLoop{scroll-margin-top:90px}.closeHead{display:flex;gap:14px;align-items:flex-start}.closeHead p{margin:0}.closeSteps{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.closeSteps li{display:flex;gap:12px;padding:14px;border-radius:12px;background:var(--surface-2)}.closeSteps li>div{min-width:0}.closeSteps li.ok .loopNo{background:var(--good);color:#fff}.closeSteps strong{display:block;font-size:.92rem;margin-bottom:4px;color:var(--ink)}.closeSteps p{margin:0;line-height:1.5;overflow-wrap:anywhere}.closeSteps .primary{margin-top:10px;padding:8px 14px}.sample{display:block;margin-top:8px;padding:9px 11px;border-radius:10px;background:var(--surface);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:.78rem}#role-card,#repo-card,#results,#ready-jobs{scroll-margin-top:90px}.resultsHead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.resultsHead h2{margin:0;font-family:var(--serif);font-size:1.35rem;color:var(--ink)}.tabs{display:inline-flex;padding:4px;gap:4px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.tabs button{position:relative;isolation:isolate;padding:7px 13px;font-size:.82rem;color:var(--muted);background:transparent;border-radius:8px}.tabs button.active{color:var(--ink)}.tabPill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:8px;background:var(--surface-2)}.disclaimer{margin:-10px 0 0}.empty{text-align:center;padding:20px}.skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.skill{position:relative;display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.tone-good{--tone: var(--good);--tone-bg: var(--good-bg)}.tone-warn{--tone: var(--warn);--tone-bg: var(--warn-bg)}.tone-gap{--tone: var(--gap);--tone-bg: var(--gap-bg)}.skill.changed{border-color:var(--primary);box-shadow:0 0 0 3px #0f6e561f,var(--shadow)}.skill header{display:flex;gap:12px;align-items:flex-start}.skill header>div{flex:1;min-width:0}.skillIcon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--tone);background:var(--tone-bg);flex:none}.skill h3{margin:0 0 6px;font-size:1rem;color:var(--ink);letter-spacing:.01em}.chip{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:999px;color:var(--tone, var(--muted));background:var(--tone-bg, var(--surface-2));margin-right:6px}.chip-new{color:#fff;background:var(--primary)}.chip-rechecked{color:#fff;background:var(--ink)}.chip-unchanged{color:var(--muted);background:var(--surface-2)}.chip-met{color:var(--good);background:var(--good-bg)}.chip-partial{color:var(--warn);background:var(--warn-bg)}.chip-missing{color:var(--gap);background:var(--gap-bg)}.confidence{display:inline-flex;align-items:flex-end;gap:3px;flex:none}.confidence i{width:5px;border-radius:2px;background:var(--border-strong);transform-origin:bottom}.confidence i:nth-child(1){height:7px}.confidence i:nth-child(2){height:11px}.confidence i:nth-child(3){height:15px}.confidence i.on{background:var(--tone)}.confidence em{font-style:normal;font-size:.7rem;color:var(--muted);margin-left:5px;font-weight:600}.explain{margin:0;font-size:.9rem;line-height:1.6;color:var(--text);overflow-wrap:anywhere}.nextStep{display:flex;gap:10px;padding:12px;border-radius:10px;background:var(--primary-soft)}.nextStep .icon{color:var(--primary);margin-top:2px}.nextStep p{margin:0;font-size:.86rem;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}.nextStep strong{display:block;color:var(--primary);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px}.evidenceList summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--muted)}.evidenceList[open] summary{margin-bottom:8px}.evidence{margin-top:8px;border-radius:10px;background:var(--surface-2);overflow:hidden}.evidence a{display:flex;align-items:center;gap:7px;padding:8px 11px;font-size:.8rem;font-weight:600;text-decoration:none;color:var(--link);border-bottom:1px solid var(--border)}.evidence a span{overflow-wrap:anywhere;word-break:break-all}.evidence a:hover{background:var(--link-soft)}.evidence code{display:block;padding:9px 11px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;max-height:9em;overflow:auto}.changedTag{flex:none;margin-left:auto;font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--good);background:var(--good-bg);padding:2px 7px;border-radius:999px}.readyForm{display:grid;grid-template-columns:1fr 1.6fr 1fr auto;gap:12px;align-items:end;margin-top:10px}.readyForm label{margin-top:0}.readyForm .primary{height:44px}.readyList{list-style:none;margin:18px 0 10px;padding:0;display:grid;gap:10px}.readyList li{display:grid;grid-template-columns:74px 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:12px;border:1px solid var(--border);background:var(--surface)}.readyScore{display:grid;place-items:center;text-align:center;width:74px;height:64px;border-radius:12px;background:var(--surface-2)}.readyScore strong{font-family:var(--serif);font-size:1.35rem;line-height:1;color:var(--ink)}.readyScore span{font-size:.72rem;color:var(--muted);font-weight:600}.readyScore.high{background:var(--good-bg)}.readyScore.high strong{color:var(--good)}.readyScore.mid{background:var(--warn-bg)}.readyScore.mid strong{color:var(--warn)}.readyBody{min-width:0;display:grid;gap:4px}.readyBody>strong{color:var(--ink);font-size:.95rem;overflow-wrap:anywhere}.readyLine{margin:2px 0 4px;font-size:.86rem;color:var(--text)}.readyActions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.readyActions .secondary{padding:8px 14px;font-size:.84rem}.timeline ol{list-style:none;display:flex;gap:10px;margin:14px 0 0;padding:0 0 4px;overflow-x:auto}.timeline li{flex:none}.timeline button{flex-direction:column;align-items:flex-start;gap:4px;min-width:150px;padding:12px 14px;color:var(--ink);background:var(--surface-2);border:1px solid transparent}.timeline button.active{border-color:var(--primary);background:var(--primary-soft)}.tlScore{font-family:var(--serif);font-size:1.3rem;font-weight:700}.tlSha{display:flex;gap:6px;align-items:center;font-weight:500}.tlSha em{font-style:normal;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:var(--primary);padding:1px 6px;border-radius:999px}.tlDate{font-size:.74rem;color:var(--muted);font-weight:500}.skeleton{gap:12px;min-height:220px}.skeletonOverview{display:flex;gap:28px;align-items:center}.skLines{flex:1;display:grid;gap:12px}.sk{border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 25%,#E6EBE8 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skeleton 1.3s ease-in-out infinite}.sk-ring{width:150px;height:150px;border-radius:50%;flex:none}.sk-line{height:14px}.sk-block{height:70px;margin-top:auto}.w40{width:40%}.w70{width:70%}.w90{width:90%}@keyframes skeleton{to{background-position:-200% 0}}.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:56px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}.footer strong{color:var(--ink)}.glow:after,.skill:after{content:none}.glow>*,.skill>*{position:relative}@media (max-width: 900px){.setup,.changeGrid,.closeSteps{grid-template-columns:1fr}.readyForm{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.app{padding:0 16px 32px}.topbar{margin:0 -16px;padding:10px 16px}.hero{padding-top:26px}.row,.cta,.readyForm{grid-template-columns:1fr}.overview,.skeletonOverview{flex-direction:column;align-items:stretch}.ring{margin:0 auto}.skills{grid-template-columns:1fr}.card{padding:18px}.tag{display:none}.stats{gap:6px}.readyList li{grid-template-columns:64px 1fr}.readyActions{grid-column:1 / -1;flex-direction:row}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.loginScreen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.loginCard{width:min(440px,100%);background:#fff;border:1px solid var(--border);border-radius:18px;padding:36px 32px;display:grid;gap:16px;justify-items:center;text-align:center;box-shadow:0 12px 40px #102a4314}.loginCard h1{margin:0;font-family:"Source Serif 4",serif;font-size:2rem;color:var(--ink)}.loginCard .logo{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--primary, #0F6E56);color:#fff}.loginLead{margin:0;color:var(--muted, #52606D);line-height:1.55}.githubButton.big{padding:12px 22px;font-size:1rem;width:100%;justify-content:center;box-sizing:border-box}.linkButton{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:10px 16px;border-radius:var(--radius-sm);font-weight:600;font-size:.9rem;border:1px solid var(--border-strong)}.linkButton.primary{border-color:transparent}.fixRow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}.fixRow a.small{font-size:.82rem;font-weight:600;color:var(--link)}.learnPlan{margin-top:14px;border-top:1px solid var(--border);padding-top:12px}.learnPlan summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;font-weight:700;color:var(--ink);font-size:.9rem}.learnMeta{font-weight:500;color:var(--muted);font-size:.82rem}.progressTrack{height:6px;border-radius:999px;background:var(--surface-2);margin:10px 0;overflow:hidden}.progressTrack i{display:block;height:100%;background:var(--primary);transition:width .25s ease}.resourceList,.checklist,.bulletList,.questionList,.publicSkill ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.resourceList li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.9rem}.resourceList a,.questionList a,.bulletList a,.profileLink a,.publicSkill a{color:var(--link);font-weight:600}.projectIdea{margin:12px 0;font-size:.9rem;line-height:1.5}.projectIdea strong{display:block;color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.checklist label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;cursor:pointer}.checklist input{margin-top:3px;accent-color:var(--primary)}.growth{margin-top:20px}.growthHead h3{margin:0 0 4px;font-family:var(--serif);color:var(--ink)}.growthGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin-top:16px}.growthItem{min-width:0;overflow-wrap:anywhere;background:var(--surface-2);border-radius:var(--radius-sm);padding:18px;display:grid;gap:10px;align-content:start}.growthItem h4{margin:0;color:var(--ink);font-size:1rem}.growthItem p{margin:0}.questionList li{display:grid;gap:3px}.questionList p{color:var(--ink);line-height:1.45;font-size:.9rem;font-weight:500}.bulletList li{font-size:.9rem;line-height:1.45}.projectLine{font-weight:700;color:var(--ink);font-size:.9rem}.rowActions{display:flex;flex-wrap:wrap;gap:8px}.profileLink{word-break:break-all;font-size:.9rem}.publicPage{min-height:100vh;background:var(--bg)}.publicBar{display:flex;align-items:center;gap:12px;max-width:860px;margin:0 auto;padding:20px 20px 0}.publicBar .brand{font-family:var(--serif);font-weight:700;font-size:1.2rem;color:var(--ink);text-decoration:none}.publicMain{max-width:860px;margin:0 auto;padding:24px 20px 64px;display:grid;gap:20px}.publicIntro{display:flex;gap:18px;align-items:center}.publicIntro img{border-radius:50%;border:1px solid var(--border)}.publicIntro h1,.publicMain h1{margin:0 0 4px;font-family:var(--serif);font-size:2rem;color:var(--ink)}.publicIntro p{margin:0;line-height:1.5}.publicSkills{display:grid;gap:14px}.publicSkill header{display:flex;align-items:center;justify-content:space-between}.publicSkill h2{margin:0;font-size:1.15rem;color:var(--ink)}.publicSkill p{margin:8px 0 12px;line-height:1.55}.publicFoot{text-align:center}.publicFoot a{color:var(--link);font-weight:600}.divider{width:100%;display:flex;align-items:center;gap:12px;margin:2px 0;color:var(--muted);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.authTabs{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--surface-2)}.authTabs button{justify-content:center;color:var(--muted);background:transparent;padding:8px 10px}.authTabs button.on{color:var(--ink);background:#fff;box-shadow:0 1px 2px #102a431f}.loginForm{width:100%;text-align:left;display:grid;gap:2px}.loginForm .primary{margin-top:16px;justify-content:center}.formError{margin:12px 0 0;padding:9px 12px;border-radius:var(--radius-sm);background:var(--gap-bg);color:var(--gap);font-size:.85rem;line-height:1.4}.verifyBanner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;margin:10px auto 0;max-width:1100px;padding:10px 16px;border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);font-size:.88rem;font-weight:600}.formNotice{margin:12px 0 0;padding:9px 12px;border-radius:var(--radius-sm);background:var(--good-bg);color:var(--good);font-size:.85rem;line-height:1.4}.forgotLink{justify-self:center;margin-top:8px}.brandLink{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--ink);text-decoration:none}.activity,.portfolio{margin-top:20px}.activity h3,.portfolio h3{margin:0 0 4px;font-family:var(--serif);color:var(--ink)}.activityList{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}.activityList li{display:flex;gap:12px;align-items:flex-start}.activityList li>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.9rem}.activityDot{flex:none;width:10px;height:10px;margin-top:6px;border-radius:50%;background:var(--gap)}.activityDot[data-up=true]{background:var(--good)}.repoChips{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.repoChips li{margin:0;display:inline-flex;align-items:center;gap:6px}.repoChips button{padding:0 4px;border:0;background:transparent;color:var(--muted);font-size:1rem;line-height:1}.portfolioAdd{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.portfolioAdd input{flex:1 1 220px;margin:0;width:auto}.combined{margin-top:18px;display:grid;gap:14px}.combinedScore{display:flex;align-items:baseline;gap:10px}.combinedScore strong{font-family:var(--serif);font-size:2.4rem;color:var(--primary)}.combinedScore span{color:var(--muted);font-size:.85rem}.repoScores,.combinedSkills{list-style:none;margin:0;padding:0;display:grid;gap:8px}.repoScores li{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;padding:8px 12px;border-radius:var(--radius-sm);background:var(--surface-2);overflow-wrap:anywhere}.combinedSkills li{padding:12px 14px;border-radius:var(--radius-sm);background:var(--surface-2);min-width:0;overflow-wrap:anywhere}.combinedSkills li>div{display:flex;align-items:center;gap:8px}.combinedSkills p{margin:6px 0}.combinedSkills a{display:block;color:var(--link);font-weight:600;font-size:.85rem}
