:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.profile-container{padding:20px;border:1px solid #ccc;border-radius:8px;margin:10px 0}.profile-container .profile-field{margin-bottom:15px}.profile-container .error-message{color:red}.profile-container .claims-list{max-height:200px;overflow-y:auto}.button-group{display:flex;align-items:center}.patch-purpose{margin-bottom:18px;font-size:16px;line-height:1.35;color:#2f3840}.patch-purpose strong{font-weight:700;margin-right:8px;font-size:16px}.patch-purpose em{font-style:italic;color:#2b3a40;font-size:16px}@media (prefers-color-scheme: dark){.profile-container{border:1px solid #222;background-color:#121212;color:#e6e6e6}.profile-container .profile-field{color:#e6e6e6}}.code-review-practice{padding:20px}.practice-start{text-align:center;padding:20px}.practice-header{margin-bottom:20px;text-align:center}.practice-header .header-controls{display:flex;justify-content:space-between;align-items:center;margin-top:14px;flex-wrap:wrap;gap:12px}.practice-header .test-info{margin-top:10px}.practice-header .test-info .test-id{background-color:#f0f0f0;padding:4px 8px;border-radius:4px;font-family:monospace;font-size:12px;color:#666}.common-selection{display:flex;align-items:center;gap:12px;margin:12px 0}.common-selection label{font-weight:700}.common-dropdown{padding:8px 12px;border:1px solid #ccc;border-radius:6px;background-color:#fff;cursor:pointer;font-size:15px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.common-dropdown:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.common-dropdown:hover{border-color:#888}.loading-message{text-align:center;padding:20px}.error-message{color:red;padding:10px;border:1px solid red;border-radius:4px;margin-bottom:20px}.signin-required{color:red;margin-top:10px}.code-section{margin-bottom:20px}.code-viewer-container{border:1px solid #ccc;border-radius:4px;overflow:hidden;text-align:left;padding:12px}.code-viewer-container .cm-editor{text-align:left}.code-viewer-container .cm-content{text-align:left;white-space:pre}.code-viewer-container .cm-line{text-align:left}.patch-controls{display:flex;gap:8px;align-items:center;margin:8px 0 12px}.patch-controls label{font-weight:700;margin-right:6px}.patch-controls button{padding:6px 10px;border-radius:4px;border:1px solid #ced4da;background:#fff;cursor:pointer;font-size:13px}.patch-controls button.active{background:#007bff;color:#fff;border-color:#0069d9}.merge-single-editor{border:1px solid #e9ecef;border-radius:4px;overflow:hidden}.unified-diff{font-family:monospace;white-space:pre-wrap;background:#f8f9fa;padding:8px;border-radius:4px}.unified-line.removed{background:#dc354514;color:#a71d2a}.unified-line.added{background:#28a74514;color:#165b2e}.unified-line.equal{background:transparent;color:inherit}.review-section{margin-bottom:20px}.review-textarea{width:100%;min-height:150px;padding:10px;border:1px solid #ccc;border-radius:4px;font-family:monospace;font-size:14px;resize:vertical}.character-count{display:flex;justify-content:space-between;align-items:center;margin-top:5px;font-size:12px}.character-count .count{color:#666}.character-count .count.warning{color:#ff8c00;font-weight:700}.character-count .count.limit{color:#dc3545;font-weight:700}.character-count .warning-text{color:#ff8c00;font-weight:700;font-size:11px}.character-count .limit-text{color:#dc3545;font-weight:700;font-size:11px}.submit-section{text-align:center}.submit-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.submit-button{padding:12px 24px;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;min-width:180px;transition:all .2s ease}.submit-button.enabled{cursor:pointer}.submit-button.disabled{background-color:#6c757d;cursor:not-allowed}.submit-button.approve-button.enabled{background-color:#28a745}.submit-button.approve-button.enabled:hover{background-color:#218838;transform:translateY(-1px)}.submit-button.reject-button.enabled{background-color:#dc3545}.submit-button.reject-button.enabled:hover{background-color:#c82333;transform:translateY(-1px)}.loading-indicator{margin-top:10px;color:#007bff;font-style:italic}.submission-result{margin-top:20px;padding:15px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;text-align:left;overflow-wrap:anywhere;word-break:break-word}.submission-result h4{margin-top:0;color:#495057}.submission-result p{margin-bottom:0;color:#28a745;font-weight:700}.submission-result .summary-block{background:#fff;padding:10px 12px;border:1px solid #ccc;border-radius:4px;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-family:system-ui,sans-serif;font-size:14px;line-height:1.4;margin:8px 0 14px;text-align:left}.submission-result ul{padding-left:20px;margin:6px 0 14px;text-align:left;list-style:disc}.submission-result li{margin-bottom:6px;text-align:left;line-height:1.35}.explain-row{margin-top:10px}.explain-button{padding:6px 10px;font-size:13px;border-radius:4px;border:1px solid #007bff;background:#fff;color:#007bff;cursor:pointer}.explain-button:hover{background:#f0f8ff}.explanation-block{margin-top:18px;margin-bottom:18px;margin-left:0;padding:0 0 0 16px;position:relative;color:#333;font-size:13px;background:transparent}.explanation-block:before{content:"";position:absolute;left:4px;top:0;width:3px;height:100%;background:#e9ecef;border-radius:2px}.explanation-text{white-space:pre-wrap;margin-bottom:8px;font-size:14px;color:#2f3840;margin-left:0;line-height:1.5}.explanation-examples{background:#fff;border:1px solid #e6e6e6;background:transparent;border:none;padding:0;border-radius:0;margin-top:6px}.explanation-examples pre{margin:6px 0 0;white-space:pre-wrap;font-family:monospace;font-size:13px}.explain-button.disabled,.explain-button[disabled]{background:#f3f4f6;color:#8b949e;border-color:#d1d5db;cursor:not-allowed}.explain-error{margin-top:6px;color:#b02a37;font-size:12px}.explanation-block{transition:max-height .45s ease,opacity .45s ease,transform .45s ease,padding .28s ease;max-height:0;opacity:0;transform:scaleY(.98) translateY(-6px);overflow:hidden}.explanation-block.open{max-height:1000px;opacity:1;transform:scaleY(1) translateY(0);padding:0 0 0 16px}.explanation-block.closed{max-height:0;opacity:0;transform:scaleY(.98) translateY(-6px);padding:0}.recommended-code-section{margin-top:12px}.recommended-code-section .toggle-recommended-code{padding:6px 10px;font-size:13px;border-radius:4px;border:1px solid #6c757d;background:#fff;color:#343a40;cursor:pointer}.recommended-code-section .toggle-recommended-code:hover{background:#f8f9fa}.recommended-code-section .recommended-code-block{margin-top:8px;border:1px solid #e9ecef;border-radius:4px;overflow:hidden;padding:12px}.recommended-code-section .recommended-code-block .cm-editor{text-align:left}.recommended-code-section .recommended-code-block .cm-content{text-align:left;white-space:pre}.recommended-code-section .recommended-code-block .cm-line{text-align:left}.recommended-code-section .recommended-code-block{transition:max-height .5s ease,opacity .5s ease,transform .5s ease;max-height:0;opacity:0;transform:scaleY(.98) translateY(-6px);will-change:max-height,opacity,transform}.recommended-code-section .recommended-code-block.open{max-height:1200px;opacity:1;transform:scaleY(1) translateY(0)}.recommended-code-section .recommended-code-block.closed{max-height:0;opacity:0;transform:scaleY(.98) translateY(-6px)}.patch-display .unified-diff{margin-bottom:12px;border:1px dashed #dfe6ee;padding:8px;background:#fbfbfd;font-family:monospace;font-size:13px;white-space:pre-wrap}.patch-display .side-by-side{display:flex;gap:12px}.patch-display .side-by-side .pane{flex:1 1 50%;border:1px solid #e9ecef;border-radius:4px;overflow:hidden;padding:8px;background:#fff}.patch-display .side-by-side .pane h5{margin:0 0 8px;font-size:13px}@media (prefers-color-scheme: dark){.code-review-practice .explain-button{background:#61dafb0f;color:#61dafb;border-color:#61dafb47}.code-review-practice .explain-button:hover{background:#61dafb1f}.code-review-practice .explain-button.disabled,.code-review-practice .explain-button[disabled]{background:#111318;color:#6b7280;border-color:#20252a}.code-review-practice .explanation-block{color:#e6e6e6;background:transparent}.code-review-practice .explanation-block:before{background:#ffffff0a}.code-review-practice .explanation-text{color:#e6e6e6}.code-review-practice .explanation-examples{background:#071018;border:1px solid rgba(255,255,255,.04);padding:8px;border-radius:6px;margin-top:8px}.code-review-practice .explanation-examples pre{color:#cbd5e1;background:transparent}.code-review-practice .explain-error{color:#ff8a95}.code-review-practice .recommended-code-section .toggle-recommended-code{background:transparent;color:#e6e6e6;border-color:#ffffff0f}.code-review-practice .recommended-code-section .toggle-recommended-code:hover{background:#ffffff05}.code-review-practice .recommended-code-section .recommended-code-block{border-color:#ffffff0a}.code-review-practice .submission-result{background-color:transparent;border-color:#ffffff0a}.code-review-practice .submission-result h4{color:#e6e6e6}.code-review-practice .submission-result p{color:#8ce99a}.code-review-practice .submission-result .summary-block{background:#071018;border:1px solid rgba(255,255,255,.03);color:#d1e7ff}}.merge-view{display:block;gap:12px}.merge-editors{display:flex;gap:12px}.merge-editors.stacked{display:flex;flex-direction:column;gap:12px}.merge-editors.stacked .editor-pane{max-height:60vh;height:auto}.merge-editors.stacked .editor-pane .cm-scroller{max-height:100%}.editor-pane{flex:1}.pane-title{font-weight:700;margin-bottom:6px}.merge-unified{grid-column:1 / span 3;margin-top:12px}.unified-diff{border:1px solid #e9ecef;padding:8px;background:#fbfbfb;font-family:monospace;font-size:13px;max-height:280px;overflow:auto}.unified-line{padding:2px 6px;white-space:pre-wrap}.unified-line.added{background:#e6ffed;color:#066c38}.unified-line.removed{background:#fff1f0;color:#8b1c1c}.unified-line.equal{color:#222}.spinner{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid rgba(0,0,0,.15);border-top-color:#00000073;animation:spin .8s linear infinite;margin-left:6px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.submission-result .issues-section,.submission-result .missed-section,.submission-result .matched-section{text-align:left}.submission-result em{font-style:italic;display:inline}.score-row{display:inline-flex;align-items:center;gap:.5rem}.bonus-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(180deg,#fffbe6,#fff1b8);color:#664d03;border:1px solid #ffd966;padding:.1rem .4rem;border-radius:999px;font-weight:700;font-size:.85rem;line-height:1}.bonus-symbol{color:#ffb400;font-size:1.05rem;line-height:1;display:inline-block;transform:none}.bonus-value{font-size:.85rem;color:#6b4f00;display:inline-block}.score{display:inline-flex;align-items:center;line-height:1;margin:0}.negative-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(180deg,#fff1f0,#ffd6d3);color:#6b0b00;border:1px solid #ff8a80;padding:.12rem .45rem;border-radius:999px;font-weight:700;font-size:.85rem}.negative-symbol{color:#d32f2f;font-size:1rem;line-height:1;display:inline-block}.negative-text{font-size:.85rem;color:#6b0b00;display:inline-block}.judgment-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(180deg,#f6ffed,#d9f7be);color:#135200;border:1px solid #73d13d;padding:.1rem .4rem;border-radius:999px;font-weight:700;font-size:.85rem;line-height:1}.judgment-symbol{color:#389e0d;font-size:1.05rem;line-height:1;display:inline-block}.judgment-text{font-size:.85rem;color:#135200;display:inline-block}@media (prefers-color-scheme: dark){.common-dropdown{background-color:#2b2b2b;color:#e6e6e6;border:1px solid #444}.common-dropdown:focus{box-shadow:0 0 0 3px #646cff1f;border-color:#5b7bff}.code-viewer-container{border:1px solid #333;background-color:#1e1e1e}.code-viewer-container .cm-editor,.code-viewer-container .cm-scroller,.code-viewer-container .cm-content{background:transparent;color:#e6e6e6}.code-viewer-container .cm-gutters{background:#161616;color:#8b8b8b;border-right:1px solid #2b2b2b}.code-viewer-container .cm-line{color:inherit}.submission-result{background-color:#121212;border:1px solid #222;color:#e6e6e6}.submission-result .summary-block{background:#171717;border:1px solid #2a2a2a;color:#e6e6e6}.review-textarea{background-color:#181818;color:#e6e6e6;border:1px solid #333}.character-count .count{color:#cfcfcf}.loading-indicator{color:#9fb0ff}.submit-button.disabled{background-color:#2a2a2a;color:#8f8f8f;border:1px solid #333;opacity:.9;cursor:not-allowed}.submit-button.disabled:hover{background-color:#2a2a2a;color:#8f8f8f}.recommended-code-section .recommended-code-block{border:1px solid #333;background-color:#1e1e1e}.recommended-code-section .recommended-code-block .cm-editor,.recommended-code-section .recommended-code-block .cm-scroller,.recommended-code-section .recommended-code-block .cm-content{background:transparent;color:#e6e6e6}.recommended-code-section .recommended-code-block .cm-gutters{background:#161616;color:#8b8b8b;border-right:1px solid #2b2b2b}.recommended-code-section .recommended-code-block .cm-line{color:inherit}}.recommended-code-section.below-code{margin-top:8px;display:block;text-align:left}.recommended-code-section.below-code .toggle-recommended-code{margin-left:0}.merge-editors.stacked .pane-title{margin-bottom:4px}#root{max-width:1200px;margin:0 auto;padding:2rem;text-align:center;line-height:1.6}.app-header{position:fixed;top:0;right:0;padding:1rem 2rem;z-index:100}.app-header .auth-controls{display:flex;align-items:center;gap:1rem}.app-header .auth-controls .welcome-text{font-size:.9rem;color:#333}@media (prefers-color-scheme: dark){#root{background-color:#0f0f0f;color:#e6e6e6}.app-header .auth-controls .welcome-text{color:#e6e6e6}}.hero{margin-bottom:3rem}.hero h1{font-size:3rem;margin-bottom:.5rem;background:linear-gradient(135deg,#646cff,#61dafb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{font-size:1.2rem;color:#888;margin-bottom:0}.content{max-width:800px;margin:0 auto}.description{text-align:left}.description>p{font-size:1.1rem;margin-bottom:2rem;text-align:center}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0}.feature{background:#ffffff0d;padding:1.5rem;border-radius:12px;border:1px solid rgba(255,255,255,.1);transition:transform .2s ease,box-shadow .2s ease}.feature:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.feature h3{margin-top:0;margin-bottom:.5rem;font-size:1.2rem}.feature p{margin-bottom:0;color:#bbb}.cta{text-align:center;margin:3rem 0}.start-button{background:linear-gradient(135deg,#646cff,#61dafb);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;border-radius:8px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;font-weight:600}.start-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #646cff66}.disclaimer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.disclaimer p{color:#888;font-size:.9rem;margin:0}.auth-welcome{margin-bottom:20px}.auth-warning{margin-bottom:20px;padding:15px;text-align:center}.auth-warning p{margin:0 0 15px;font-size:1rem;color:#666}.auth-warning .sign-in-link{background:none;border:none;color:#646cff;text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;margin:0}.auth-warning .sign-in-link:hover{color:#61dafb;text-decoration:none}@media (max-width: 768px){.hero h1{font-size:2rem}.features{grid-template-columns:1fr}#root{padding:1rem}}
