:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e14;--surface:#11151d;--surface-soft:#161b26;--code:#0d1117;--text:#e6e9ef;--text-soft:#a3adbd;--muted:#6b7688;--line:#94a3b824;--line-soft:#94a3b814;--blue:#7c7ff2;--blue-soft:#7c7ff21f;--cyan:#22d3ee;--green:#3fb970;--green-soft:#3fb9701f;--orange:#e8a33d;--orange-soft:#e8a33d1f;--red:#f0555e;--red-soft:#f0555e1f;--purple:#a78bfa;--purple-soft:#a78bfa1f;--accent:linear-gradient(135deg, #7c7ff2 0%, #22d3ee 100%);--accent-soft:#7c7ff238;--focus:#7c7ff2;--shadow:inset 0 1px 0 #ffffff0a, 0 12px 32px #0006;--sans:var(--font-sans,Inter), "PingFang SC", "Noto Sans SC", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display:var(--font-display,"Space Grotesk"), var(--sans);--mono:var(--font-mono,"JetBrains Mono"), "SFMono-Regular", "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html{background:var(--bg);scrollbar-color:#94a3b847 transparent;scrollbar-width:thin}body{background:radial-gradient(circle at 12% 8%, #7c7ff21f, transparent 28rem), radial-gradient(circle at 86% 18%, #22d3ee14, transparent 30rem), var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:0;min-height:100vh;margin:0}body:before{content:"";opacity:.72;pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 18%,#7c7ff214,#0000 22rem),radial-gradient(circle at 82% 10%,#22d3ee0f,#0000 24rem);position:fixed;inset:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3b847 padding-box padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-track{background:0 0}a,button,input,select,textarea,summary,.file-line,.problem-table tr,.card,.button,.file-tab,.feedback-check,.finding-item{transition:color .16s ease-out,background .16s ease-out,border-color .16s ease-out,transform .16s ease-out,box-shadow .16s ease-out,opacity .16s ease-out}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:10;background:#0d1117c7;position:sticky;top:0}.topbar-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;max-width:1480px;height:58px;margin:0 auto;padding:0 18px;display:grid}.brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--accent);color:#fff;font-family:var(--mono);border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid;box-shadow:0 0 22px #22d3ee2e}.brand strong,h1,.stat strong,.review-panel-head strong{font-family:var(--display)}.brand strong{letter-spacing:-.02em;font-size:18px}.nav{align-items:center;gap:4px;display:flex}.nav a{color:var(--text-soft);border-radius:8px;padding:8px 11px;font-size:14px;text-decoration:none}.nav a.active,.nav a:hover{color:var(--text);background:#94a3b814}.actions{align-items:center;gap:8px;display:flex}.language-switch{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:2px;display:flex}.language-switch button{color:var(--muted);font-family:var(--mono);background:0 0;border:0;border-radius:7px;min-width:38px;min-height:30px;font-size:12px}.language-switch button.active{background:var(--accent);color:#fff}.button{border-radius:9px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent);color:#fff;border:1px solid #7c7ff2b8;box-shadow:0 10px 28px #7c7ff233}.button-primary:hover{box-shadow:0 0 0 1px #22d3ee38,0 16px 38px #22d3ee2e}.button-outline{border:1px solid var(--line);color:var(--text);background:#11151dbd}.button-outline:hover{border-color:#22d3ee73;box-shadow:0 0 0 1px #22d3ee1a}.button-ghost{color:var(--text-soft);background:0 0;border:1px solid #0000}.button:disabled{cursor:not-allowed;opacity:.55;transform:none}.page{max-width:1220px;margin:0 auto;padding:22px 18px 40px}.notice{color:var(--text-soft);background:#e8a33d1a;border:1px solid #e8a33d33;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:14px;display:flex}.notice strong{color:var(--orange)}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.hero,.card,.review-workspace-header,.review-left-pane,.review-panel-head,.review-context-group,.compact-review-form,.finding-list-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#11151ddb;border-radius:14px}.hero{margin-bottom:18px;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#7c7ff24d,#22d3ee24,#0000);height:1px;position:absolute;inset:0 0 auto}.hero-main{grid-template-columns:minmax(0,1fr) 310px;gap:26px;padding:28px;display:grid}.eyebrow,.mono,.id{color:var(--muted);font-family:var(--mono)}.eyebrow{text-transform:uppercase;margin-bottom:10px;font-size:12px}h1{letter-spacing:-.02em;margin:0;font-size:clamp(34px,4.8vw,62px);line-height:.98}.hero h1{background:linear-gradient(110deg,#fff 0%,#cfd5ff 38%,#22d3ee 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.lede{color:var(--text-soft);max-width:760px;margin:16px 0 0;font-size:16px;line-height:1.7}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.stats{background:var(--code);border:1px solid var(--line);border-radius:12px;gap:1px;display:grid;overflow:hidden}.stat{background:#161b26db;gap:4px;padding:16px;display:grid}.stat span{color:var(--muted);font-family:var(--mono);font-size:11px}.stat strong{color:var(--text);font-family:var(--mono);font-size:24px}.filters{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px 16px;display:flex}.search-input{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;flex:240px;grid-template-columns:28px 1fr;align-items:center;min-height:40px;padding:0 10px;display:grid}.search-input span{color:var(--muted);font-family:var(--mono)}.search-input input{color:var(--text);background:0 0;border:0;outline:0}.card{overflow:hidden}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;display:flex}.card-head h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:15px}.card-head a,.reference-links a,.challenge-title-link:hover,.finding-anchor{color:var(--cyan)}.problem-table{border-collapse:collapse;width:100%}.problem-table th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;background:#161b26b8;height:44px;font-size:12px;font-weight:600}.problem-table td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:14px 10px;font-size:14px;position:relative}.problem-table tr{position:relative}.problem-table tr:before{background:var(--accent);content:"";opacity:0;width:3px;position:absolute;inset:8px auto 8px 0;transform:scaleY(.4)}.problem-table tr:hover{transform:translateY(-1px)}.problem-table tr:hover:before{opacity:.85;transform:scaleY(1)}.problem-table tr:hover td{background:#94a3b80b}.problem-table th:first-child,.problem-table td:first-child{width:54px;padding-left:16px}.problem-table th:last-child,.problem-table td:last-child{padding-right:16px}.id{font-size:12px}.title-cell strong,.challenge-title-link{color:var(--text);margin-bottom:6px;font-weight:700;text-decoration:none;display:block}.title-cell span:not(.mobile-label){color:var(--muted);font-size:12px;display:block}.badge{border:1px solid var(--line);color:var(--text-soft);font-family:var(--mono);white-space:nowrap;background:#94a3b814;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:11px;line-height:1;display:inline-flex}.badge-junior,.badge-mid,.badge-senior{border-color:var(--line);background:0 0}.badge-junior:before,.badge-mid:before,.badge-senior:before{content:"";border-radius:999px;width:7px;height:7px}.badge-junior:before{background:var(--green);box-shadow:0 0 12px #3fb97080}.badge-mid:before{background:var(--orange);box-shadow:0 0 12px #e8a33d80}.badge-senior:before{background:var(--red);box-shadow:0 0 12px #f0555e80}.badge-task,.badge-review{background:var(--blue-soft);color:#cfd5ff}.badge-needs-review{background:var(--red-soft);color:var(--red)}.badge-draft,.badge-ready,.badge-neutral{color:var(--text-soft)}.pill,.source-pill{border:1px solid var(--line);color:var(--text-soft);font-family:var(--mono);background:#94a3b814;border-radius:999px;padding:5px 8px;font-size:11px;line-height:1;display:inline-flex}.source-pill{gap:6px}.source-pill strong{color:var(--cyan);font-weight:800}.mono{font-size:12px}.side{gap:18px;display:grid}.plan-card,.review-card{gap:12px;padding:16px;display:grid}.plan-card h3{font-family:var(--display);letter-spacing:-.02em;margin:0 0 6px;font-size:16px}.plan-card p,.feedback-panel p,.feedback-check p{color:var(--text-soft);margin:0;font-size:14px;line-height:1.6}.progress{gap:12px;margin-top:16px;display:grid}.progress-row{gap:7px;display:grid}.progress-row header{justify-content:space-between;align-items:center;font-size:13px;display:flex}.bar{background:var(--surface-soft);border-radius:99px;height:8px;overflow:hidden}.bar i{background:var(--accent);height:100%;display:block}.pr-line{background:var(--code);border:1px solid var(--line);font-family:var(--mono);border-radius:10px;padding:12px;font-size:12px;line-height:1.7}.plus{color:var(--green)}.minus{color:var(--red)}.rubric-list{gap:8px;padding:14px 16px 16px;display:grid}.rubric-item{border:1px solid var(--line);background:#161b26bd;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.rubric-item span{color:var(--text-soft);font-size:13px}.rubric-item strong{font-family:var(--mono);font-size:12px}.mobile-label{display:none}.challenge-page,.challenge-main,.challenge-side{gap:18px;display:grid}.challenge-header{padding:22px}.challenge-kicker{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.challenge-header h1{font-size:clamp(28px,3vw,38px)}.challenge-header p{color:var(--text-soft);max-width:860px;margin:14px 0 0;font-size:16px;line-height:1.7}.source-grid{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.source-grid a{background:var(--surface-soft);border:1px solid var(--line);color:var(--cyan);border-radius:9px;padding:8px 10px;font-size:13px;font-weight:700;text-decoration:none}.challenge-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:18px;display:grid}.section-body{color:var(--text-soft);gap:12px;padding:16px;font-size:14px;line-height:1.7;display:grid}.section-body p{margin:0}.section-body.compact{gap:10px}.behavior-table-wrap{overflow-x:auto}.behavior-table{border-collapse:collapse;width:100%}.behavior-table th,.behavior-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:12px 14px;font-size:13px}.behavior-table th{background:var(--surface-soft);color:var(--muted);font-weight:700}.behavior-table code{background:var(--code);border:1px solid var(--line);color:var(--text);font-family:var(--mono);border-radius:6px;padding:2px 4px;font-size:12px}.file-browser-body{grid-template-columns:230px minmax(0,1fr);min-height:560px;display:grid}.file-list{background:var(--surface-soft);border-right:1px solid var(--line);align-content:start;gap:8px;padding:10px;display:grid}.file-tab{color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;gap:4px;min-height:58px;padding:10px;display:grid;position:relative}.file-tab:after{background:var(--accent);content:"";opacity:0;border-radius:999px;height:2px;position:absolute;inset:auto 10px 4px;transform:scaleX(.5)}.file-tab:hover{color:var(--text-soft);background:#94a3b80f}.file-tab.active{color:var(--text)}.file-tab.active:after{opacity:1;transform:scaleX(1)}.file-tab span{font-family:var(--mono);overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:800}.file-tab small{color:var(--muted);font-size:12px}.file-viewer{background:var(--code);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.file-toolbar{border-bottom:1px solid var(--line);color:var(--text);background:#11151de0;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 14px;display:flex}.file-toolbar strong,.file-toolbar span{font-family:var(--mono);font-size:12px}.file-toolbar strong{overflow-wrap:anywhere;min-width:0}.file-toolbar span{color:var(--muted);white-space:nowrap}.file-code{color:var(--text);font-family:var(--mono);max-height:720px;margin:0;padding:0;font-size:13px;line-height:1.65;overflow:auto}.file-line{grid-template-columns:52px minmax(max-content,1fr) auto;min-height:22px;display:grid}.file-line:hover{background:#94a3b80d}.file-line.addition{box-shadow:inset 3px 0 0 var(--green);color:#dff8e8;background:#3fb9701f}.file-line.deletion{box-shadow:inset 3px 0 0 var(--red);color:#ffdfe2;background:#f0555e1a}.file-line.hunk{color:var(--muted);font-style:italic}.file-line.meta{color:var(--muted)}.line-number{border:0;border-right:1px solid var(--line-soft);color:var(--muted);font-family:var(--mono);text-align:right;-webkit-user-select:none;user-select:none;background:0 0;padding:0 10px;position:relative}.line-number:hover{color:var(--text);background:#94a3b814}.line-content{white-space:pre;padding:0 14px}.file-note{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);padding:10px 16px;font-size:13px;line-height:1.6}.review-form{gap:16px;padding:16px;display:grid}.form-block{border:1px solid var(--line);border-radius:10px;gap:10px;margin:0;padding:14px;display:grid}.form-block legend,.form-field span{color:var(--text);font-weight:800}.choice-row{color:var(--text-soft);align-items:center;gap:9px;font-size:14px;display:flex}.choice-row input{accent-color:var(--blue)}.form-field{gap:8px;display:grid}.compact-field{max-width:520px}.form-field select,.form-field textarea,.inline-finding-card textarea,.inline-finding-card select,.finding-item textarea,.finding-item select{background:var(--code);border:1px solid var(--line);color:var(--text);border-radius:10px;outline:0;width:100%;padding:10px 11px}.form-field textarea,.inline-finding-card textarea,.finding-item textarea{resize:vertical;line-height:1.6}.form-field select:focus,.form-field textarea:focus,.inline-finding-card textarea:focus,.inline-finding-card select:focus,.finding-item textarea:focus,.finding-item select:focus{box-shadow:0 0 0 3px var(--blue-soft);border-color:#7c7ff2b3}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.form-note{color:var(--green);font-size:13px}.form-note.error{color:var(--red)}.feedback-panel{background:var(--surface-soft);border-top:1px solid var(--line);gap:14px;padding:16px;display:grid}.feedback-panel>div:first-child{align-items:baseline;gap:10px;display:flex}.feedback-panel strong{font-size:22px}.feedback-checks{gap:9px;display:grid}.feedback-check{border:1px solid var(--line);border-left:3px solid var(--orange);background:#161b26b8;border-radius:10px;grid-template-columns:46px 1fr;gap:10px;padding:10px;display:grid}.feedback-check>span{background:var(--orange-soft);color:var(--orange);border-radius:999px;height:fit-content;padding:4px 7px;font-size:12px;font-weight:800}.feedback-check.passed{border-left-color:var(--green)}.feedback-check.passed>span{background:var(--green-soft);color:var(--green)}.feedback-check strong{margin-bottom:3px;font-size:14px;display:block}.reference-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.reference-disclosure{border:1px solid var(--line);background:#0d11179e;border-radius:10px;padding:10px}.reference-disclosure summary{color:var(--text);cursor:pointer;font-size:13px;font-weight:800}.reference-disclosure[open] summary{margin-bottom:10px}.reference-links a{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:13px;font-weight:700;text-decoration:none}.review-workspace-page{grid-template-rows:auto minmax(0,1fr);gap:12px;max-width:1480px;height:calc(100vh - 58px);margin:0 auto;padding:12px 14px 14px;display:grid}.review-workspace-header{justify-content:space-between;align-items:center;gap:18px;min-height:92px;padding:14px 16px;display:flex}.review-workspace-header h1{font-size:24px;line-height:1.12}.review-workspace-header p{color:var(--text-soft);max-width:860px;margin:8px 0 0;font-size:14px;line-height:1.5}.review-workspace{grid-template-columns:minmax(0,1fr) minmax(360px,28vw);gap:12px;min-height:0;display:grid}.review-left-pane,.review-right-pane{min-height:0;overflow:auto}.review-left-pane{overflow:hidden}.review-code-pane{background:var(--surface);grid-template-rows:auto minmax(0,1fr);min-height:100%;display:grid}.file-tabs{background:var(--surface-soft);border-bottom:1px solid var(--line);align-items:stretch;gap:2px;padding:6px 8px 0;display:flex;overflow-x:auto}.file-tabs .file-tab{flex:none;align-content:center;min-width:150px;min-height:44px;padding:8px 10px 12px}.review-code-pane .file-viewer,.review-code-pane .file-code{min-height:0}.review-code-pane .file-code{max-height:none}.file-line.has-finding .line-number:after{background:var(--cyan);content:"";border-radius:999px;width:6px;height:6px;position:absolute;top:50%;right:5px;transform:translateY(-50%);box-shadow:0 0 12px #22d3eebf}.file-line.has-finding{box-shadow:inset 3px 0 #22d3ee99}.file-line.selected{outline-offset:-1px;outline:1px solid #7c7ff2cc;animation:.8s ease-out line-flash}.line-finding-marker{background:var(--accent);color:#fff;font-family:var(--mono);text-align:center;border-radius:999px;place-self:center end;min-width:17px;margin-right:8px;padding:2px 5px;font-size:10px}.inline-finding-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);color:var(--text);white-space:normal;background:#161b26c7;border-left:3px solid #0000;border-image:linear-gradient(#7c7ff2,#22d3ee) 1;grid-column:1/-1;gap:8px;padding:12px 12px 12px 64px;display:grid}.inline-finding-row,.inline-finding-actions{align-items:center;gap:8px;display:flex}.inline-finding-row select{max-width:150px}.inline-existing-finding{gap:7px;display:grid}.review-panel{gap:12px;display:grid}.review-panel-head{justify-content:space-between;align-items:center;padding:16px;display:flex;position:relative}.review-panel-head:before{background:conic-gradient(from 180deg, #22d3ee calc(var(--score,0) * 1%), #94a3b81f 0);content:"";opacity:.65;border-radius:999px;width:72px;height:72px;position:absolute;inset:12px 12px auto auto}.review-panel-head>div{z-index:1;gap:4px;display:grid;position:relative}.review-panel-head strong{letter-spacing:-.02em;font-size:34px}.review-context-group,.compact-review-form,.finding-list-panel{overflow:hidden}.review-context-group summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:46px;padding:0 14px;list-style:none;display:flex}.review-context-group summary:before,.reference-disclosure summary:before{color:var(--muted);content:"›";margin-right:8px;display:inline-block;transform:rotate(0)}.review-context-group[open] summary:before,.reference-disclosure[open] summary:before{transform:rotate(90deg)}.review-context-group summary::-webkit-details-marker{display:none}.reference-disclosure summary::-webkit-details-marker{display:none}.review-context-group summary span{color:var(--text);font-weight:800}.review-context-group summary small{color:var(--muted);font-family:var(--mono);font-size:11px}.compact-review-form{padding:14px}.segmented-field{border:0;gap:8px;margin:0;padding:0;display:grid}.segmented-field legend{color:var(--text);font-weight:800}.segmented-control{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;display:grid}.segmented-control button{color:var(--text-soft);background:0 0;border:0;border-radius:999px;min-height:34px;font-size:13px}.segmented-control button.active{background:var(--accent);color:#fff;font-weight:800;box-shadow:0 10px 28px #7c7ff23d}.finding-list-panel{box-shadow:none}.finding-list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:42px;padding:0 12px;display:flex}.finding-list{gap:10px;padding:10px;display:grid}.finding-item{border:1px solid var(--line);border-left:3px solid var(--purple);background:#161b26b8;border-radius:10px;gap:8px;padding:10px;display:grid}.finding-anchor{font-family:var(--mono);background:0 0;border:0;justify-self:start;padding:0;font-size:12px;font-weight:800}.empty-findings{color:var(--muted);margin:0;padding:12px;font-size:13px;line-height:1.6}@keyframes line-flash{0%{background:#7c7ff247}to{background:0 0}}@media (max-width:1023px){.review-workspace-page{height:auto;min-height:calc(100vh - 58px)}.review-workspace-header{flex-direction:column;align-items:flex-start}.review-workspace{grid-template-columns:1fr}.review-left-pane,.review-right-pane{overflow:visible}.review-code-pane{min-height:620px}}@media (max-width:980px){.topbar-inner,.hero-main,.layout,.challenge-layout{grid-template-columns:1fr}.nav{overflow-x:auto}.actions{justify-content:space-between}}@media (max-width:720px){.topbar-inner{height:auto;padding-top:10px;padding-bottom:10px}.page,.review-workspace-page{padding:12px}.hero-main{padding:20px}h1{font-size:clamp(30px,12vw,44px)}.notice{flex-direction:column;align-items:flex-start}.file-browser-body{grid-template-columns:1fr}.file-list{border-bottom:1px solid var(--line);border-right:0;grid-auto-columns:minmax(170px,1fr);grid-auto-flow:column;overflow-x:auto}.file-code{max-height:560px}.problem-table thead{display:none}.problem-table,.problem-table tbody,.problem-table tr,.problem-table td{width:100%;display:block}.problem-table tr{border-bottom:1px solid var(--line);padding:12px 0}.problem-table td{border-bottom:0;justify-content:space-between;padding:7px 14px;display:flex}.problem-table td:first-child{width:100%}.mobile-label{color:var(--muted);margin-right:12px;font-size:12px;display:inline}.review-workspace-header h1{font-size:22px}.segmented-control{grid-template-columns:1fr}.inline-finding-card{padding-left:12px}}
