@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0f;--surface:#15151c;--surface-sunken:#0d0d12;--text:#f4f4f8;--text-muted:#adadbe;--text-placeholder:#8b8b9e;--link:#a5b4fc;--link-hover:#c7d2fe;--danger:#fca5a5;--success:#6ee7b7;--warning:#fbbf24;--action-bg:#4f46e5;--action-bg-hover:#4338ca;--action-text:#fff;--border:#2a2a36;--border-control:#70708c;--focus-ring:#a5b4fc;--glow-1:#6366f11f;--glow-2:#a855f71f;--shadow:0 25px 50px -12px #00000080;--surface-raised:#ffffff0f;--surface-raised-hover:#ffffff1a;--chart-blue:#4f8ef7}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7fb;--surface:#fff;--surface-sunken:#f1f2f7;--text:#1a1a24;--text-muted:#55556b;--text-placeholder:#6b6b85;--link:#4338ca;--link-hover:#312e81;--danger:#b91c1c;--success:#047857;--warning:#92400e;--action-bg:#4f46e5;--action-bg-hover:#4338ca;--action-text:#fff;--border:#e2e3ed;--border-control:#8a8aa0;--focus-ring:#4338ca;--glow-1:#6366f114;--glow-2:#a855f714;--shadow:0 20px 40px -16px #1a1a242e;--surface-raised:#1a1a240d;--surface-raised-hover:#1a1a2417;--chart-blue:#2563eb}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);background-image:radial-gradient(circle at 15% 50%, var(--glow-1), transparent 25%), radial-gradient(circle at 85% 30%, var(--glow-2), transparent 25%);flex-direction:column;min-height:100dvh;margin:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex}#root{flex-direction:column;flex:1;width:100%;min-height:100dvh;display:flex}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:4px}a{color:var(--link);text-underline-offset:2px}a:hover{color:var(--link-hover)}.auth-container{width:100%;max-width:420px;margin:auto;padding:1rem}.auth-container-wide{max-width:560px;margin:auto}.auth-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);opacity:0;border-radius:24px;padding:2.5rem;animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp;transform:translateY(20px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{color:var(--text);margin-bottom:.5rem;font-size:clamp(1.6rem,6vw,2rem);font-weight:700}.auth-header p{color:var(--text-muted);font-size:.95rem}.form-group{margin-bottom:1.25rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-control{background:var(--surface-sunken);border:1px solid var(--border-control);width:100%;color:var(--text);border-radius:12px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-control:focus-visible{border-color:var(--focus-ring);outline-offset:0}.form-control::placeholder{color:var(--text-placeholder)}.form-hint{color:var(--text-muted);margin-top:.35rem;font-size:.8rem;display:block}.form-feedback{grid-template-rows:0fr;transition:grid-template-rows .25s;display:grid}.form-feedback[data-visible=true]{grid-template-rows:1fr}.form-feedback>*{min-height:0;overflow:hidden}.form-feedback[data-visible=true]>*{padding-bottom:.75rem}.feedback-message{align-items:flex-start;gap:.4rem;font-size:.875rem;animation:.3s fadeIn;display:flex}.feedback-message svg{flex-shrink:0;margin-top:.1rem}.feedback-error{color:var(--danger)}.feedback-success{color:var(--success)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn{cursor:pointer;border:1px solid #0000;border-radius:12px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;font-weight:600;transition:background-color .2s,transform .2s}.btn-primary{background:var(--action-bg);color:var(--action-text)}.btn-primary:hover:not(:disabled){background:var(--action-bg-hover);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-logout{background:var(--surface-raised);color:var(--text);border-color:var(--border);width:auto;padding:.75rem 1.5rem}.btn-logout:hover{background:var(--surface-raised-hover)}.toggle-mode{text-align:center;color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:1.5rem;font-size:.9rem;display:flex}.toggle-mode a{font-weight:500;text-decoration:underline}.forgot-password-link-container{justify-content:flex-end;margin-top:-.5rem;margin-bottom:1.25rem;display:flex}.forgot-password-link{color:var(--link);font-size:.875rem;text-decoration:underline;transition:opacity .2s}.forgot-password-link:hover{opacity:.8}.reset-demo-notice{background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-muted);text-align:center;border-radius:12px;margin-top:1rem;padding:1rem;font-size:.9rem}.reset-demo-notice p{margin-bottom:.75rem}.btn-reset-direct{text-align:center;text-decoration:none;display:inline-block}.dashboard{text-align:center;padding:2.5rem}.dashboard h2{margin-bottom:1rem;font-size:clamp(1.5rem,5vw,2.25rem)}.dashboard p{color:var(--text-muted);margin-bottom:2rem;font-size:1.05rem}.loading-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.1rem;width:100%;min-height:60vh;padding:3rem 2rem;display:flex}.loading-spinner{background:conic-gradient(from 0deg, transparent 0%, var(--link) 85%, var(--link) 100%);border-radius:50%;width:2.75rem;height:2.75rem;animation:.85s cubic-bezier(.5,.15,.5,.85) infinite spin;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 3px))}.loading-label{color:var(--text-muted);letter-spacing:.02em;font-size:.9rem;animation:1.8s ease-in-out infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@media (width<=480px){.auth-card{border-radius:18px;padding:1.75rem 1.25rem}.form-row{grid-template-columns:1fr}.dashboard{padding:2rem 1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.auth-card{opacity:1;transform:none}.loading-spinner{display:none}.loading-label{opacity:1}.scenario-item:hover,.stat-card:hover{transform:none}}.dashboard-page{flex-direction:column;flex:1;width:100%;display:flex}.dashboard-hero-section{text-align:center;padding:2.25rem 1.5rem 1.25rem}.dashboard-hero-container{flex-direction:column;align-items:center;gap:.75rem;max-width:960px;margin:0 auto;display:flex}.dashboard-hero-container .hero-title{letter-spacing:-.025em;font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;line-height:1.2}.dashboard-hero-container .hero-description{max-width:640px;color:var(--text-muted);margin:0;font-size:.98rem;line-height:1.55}.dashboard-content-section{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:0 1.5rem 3rem}.dashboard-grid{grid-template-columns:340px minmax(0,1fr) 360px;align-items:stretch;gap:1.5rem;display:grid}@media (width<=1200px){.dashboard-grid{grid-template-columns:1fr 1fr}.dashboard-panel.progression-panel{grid-column:1/-1}}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr;gap:1.25rem}.dashboard-panel.progression-panel{grid-column:auto}}.dashboard-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:1rem;min-height:600px;padding:1.5rem;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.panel-title{color:var(--text);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;padding-bottom:.85rem;font-size:1.15rem;font-weight:700;display:flex}.panel-title-main{align-items:center;gap:.6rem;display:flex}.panel-title-main h2{color:var(--text);margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.panel-title-icon{color:var(--link);flex-shrink:0}.panel-badge{background:var(--surface-raised);border:1px solid var(--border);color:var(--link);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.btn-new-challenge-banner{background:linear-gradient(135deg, var(--action-bg), #6366f1);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.7rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:flex;box-shadow:0 4px 14px #4f46e540}.btn-new-challenge-banner:hover{transform:translateY(-1px);box-shadow:0 6px 20px #4f46e559}.btn-new-challenge-banner.is-active{background:var(--surface-raised);color:var(--link);border-color:var(--link);box-shadow:none}.scenario-list{flex-direction:column;flex:1;gap:.75rem;max-height:520px;padding-right:.35rem;display:flex;overflow-y:auto}.empty-history-box{text-align:center;color:var(--text-muted);background:var(--surface-sunken);border:1px dashed var(--border);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:2.5rem 1rem;display:flex}.empty-history-icon{opacity:.35;margin-bottom:.25rem}.empty-history-title{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.empty-history-sub{max-width:220px;margin:0;font-size:.8rem;line-height:1.4}.theme-group{margin-bottom:.65rem}.theme-header{background:var(--surface-raised);cursor:pointer;width:100%;color:var(--text);text-align:left;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;padding:.75rem .9rem;font-family:inherit;font-size:.88rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s;display:flex}.theme-header:hover{background:var(--surface-raised-hover);border-color:var(--border)}.theme-header.active{color:var(--link);border-color:var(--link);background:var(--surface-raised-hover)}.theme-header-left{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;display:flex;overflow:hidden}.theme-header-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.theme-count{background:var(--surface-sunken);color:var(--text-muted);border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700}.theme-chevron{color:var(--text-muted);transition:transform .2s}.theme-chevron.open{transform:rotate(180deg)}.theme-scenarios{flex-direction:column;gap:.5rem;padding-top:.5rem;padding-left:.5rem;display:flex}.scenario-item{background:var(--surface-sunken);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:10px;outline:none;padding:.85rem 1rem;transition:transform .2s,border-color .2s,background-color .2s;position:relative}.scenario-item:hover{background:var(--surface-raised);border-color:var(--border-control);transform:translateY(-1px)}.scenario-item:focus-visible{border-color:var(--focus-ring);box-shadow:0 0 0 2px var(--focus-ring)}.scenario-item.active{background:var(--surface-raised);border-color:var(--link);box-shadow:inset 3px 0 0 var(--link)}.scenario-header{justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.5rem;display:flex}.scenario-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.scenario-score{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.8rem;font-weight:700}.scenario-score.high{color:var(--success);border-color:#6ee7b766}.scenario-score.medium{color:var(--warning);border-color:#fbbf2466}.scenario-score.low{color:var(--danger);border-color:#fca5a566}.scenario-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.meta-tag{background:var(--surface);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.72rem;font-weight:500;display:inline-flex}.scenario-date{color:var(--text-muted);margin-left:auto;font-size:.72rem}.scenario-details{flex-direction:column;flex:1;gap:1.25rem;max-height:540px;padding-right:.35rem;display:flex;overflow-y:auto}.launcher-intro-card{background:var(--surface-sunken);border:1px solid var(--border);border-radius:12px;margin-bottom:.25rem;padding:1rem 1.25rem}.launcher-intro-card p{color:var(--text-muted);margin:0;font-size:.88rem;line-height:1.5}.launcher-intro-card strong{color:var(--text)}.btn-switch-launcher{color:var(--link);background:var(--surface-raised);border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background-color .2s,border-color .2s;display:inline-flex}.btn-switch-launcher:hover{background:var(--surface-raised-hover);border-color:var(--link)}.score-hero-block{background:var(--surface-sunken);border:1px solid var(--border);border-radius:14px;align-items:center;gap:1.25rem;padding:1.25rem;display:flex}.score-badge-circle{background:var(--surface);border:3px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-weight:800;display:flex;box-shadow:0 4px 12px #00000026}.score-badge-circle.high{color:var(--success);border-color:var(--success)}.score-badge-circle.medium{color:var(--warning);border-color:var(--warning)}.score-badge-circle.low{color:var(--danger);border-color:var(--danger)}.score-number{font-size:1.5rem;line-height:1}.score-pct{opacity:.8;margin-left:2px;font-size:.85rem}.score-hero-text{flex:1}.score-badge-label{text-transform:uppercase;letter-spacing:.5px;color:var(--link);margin-bottom:.2rem;font-size:.75rem;font-weight:700}.score-hero-text h3{color:var(--text);margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.score-hero-text p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.scenario-detail-card{background:var(--surface-sunken);border:1px solid var(--border);border-radius:12px;overflow:hidden}.scenario-detail-head{background:var(--surface-raised);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:.5rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:600;display:flex}.scenario-detail-body{flex-direction:column;gap:.85rem;padding:1rem 1.1rem;display:flex}.scenario-tags-row{flex-wrap:wrap;gap:.5rem;display:flex}.tag-badge{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:500;display:inline-flex}.scenario-submitted-date{color:var(--text-muted);align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.scenario-detail-actions{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.btn-debrief-primary{background:linear-gradient(135deg, var(--action-bg), #6366f1);color:#fff;border-radius:10px;justify-content:center;align-items:center;gap:.6rem;padding:.85rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 14px #4f46e54d}.btn-debrief-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 6px 20px #4f46e566}.btn-secondary{background:var(--surface-raised);border:1px solid var(--border-control);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.btn-secondary:hover{background:var(--surface-raised-hover);border-color:var(--link);transform:translateY(-1px)}.filter-active-pill{background:var(--surface-raised);border:1px solid var(--border);color:var(--link);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:140px;padding:.2rem .55rem;font-size:.72rem;font-weight:600;overflow:hidden}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.85rem;display:grid}.stat-card{background:var(--surface-raised);border:1px solid var(--border);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1rem .75rem;transition:transform .2s,background-color .2s,border-color .2s;display:flex}.stat-card:hover{background:var(--surface-raised-hover);border-color:var(--link);transform:translateY(-2px)}.stat-card-icon{color:var(--link);opacity:.85;margin-bottom:.15rem}.stat-value{color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:700;line-height:1.1}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.chart-header{color:var(--text-muted);justify-content:space-between;align-items:center;margin-top:.5rem;font-size:.85rem;font-weight:600;display:flex}.chart-count{color:var(--text-muted);font-size:.75rem}.chart-container{background:var(--surface-sunken);border:1px solid var(--border);border-radius:12px;flex-direction:column;justify-content:center;width:100%;margin-top:.5rem;padding:.75rem .5rem .25rem;display:flex}.score-chart{margin:0;position:relative}.score-chart svg{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.score-chart svg:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:6px}.score-chart-grid{stroke:var(--border);stroke-width:1px}.score-chart-axis{fill:var(--text-muted);font-size:13px}.score-chart-line{fill:none;stroke:var(--chart-blue);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.score-chart-area{fill:var(--chart-blue);opacity:.12}.score-chart-crosshair{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:3 3}.score-chart-dot{fill:var(--chart-blue);stroke:var(--surface-sunken);stroke-width:2px}.score-chart-tooltip{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);color:var(--text-muted);white-space:nowrap;pointer-events:none;border-radius:8px;flex-direction:column;gap:.1rem;padding:.35rem .6rem;font-size:.75rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.score-chart-tooltip strong{color:var(--text);font-size:.85rem}.chart-empty-state{text-align:center;background:var(--surface-sunken);border:1px dashed var(--border);height:200px;color:var(--text-muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin-top:.5rem;padding:1.5rem;display:flex}.chart-empty-icon{opacity:.35}.chart-empty-state p{color:var(--text);margin:0;font-size:.9rem;font-weight:600}.chart-empty-state span{max-width:240px;font-size:.78rem;line-height:1.4}.auditor-rank-card{background:var(--surface-sunken);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.5rem;margin-top:auto;padding:1rem 1.1rem;display:flex}.rank-header{justify-content:space-between;align-items:center;display:flex}.rank-title{color:var(--text-muted);font-size:.8rem;font-weight:500}.rank-badge{background:var(--surface-raised);color:var(--link);border:1px solid var(--border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.rank-progress-bar{background:var(--surface-raised);border-radius:999px;width:100%;height:6px;overflow:hidden}.rank-progress-fill{background:linear-gradient(90deg, var(--link), var(--action-bg));border-radius:999px;height:100%;transition:width .4s}.rank-desc{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.35}.rank-rule{color:var(--text-muted);margin:.35rem 0 0;font-size:.7rem;font-style:italic}.btn-icon{background:var(--surface-raised);width:36px;height:36px;color:var(--text);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:background-color .2s;display:flex}.btn-icon:hover{background:var(--surface-raised-hover)}.scenario-list::-webkit-scrollbar{width:6px}.scenario-details::-webkit-scrollbar{width:6px}.scenario-list::-webkit-scrollbar-track{background:var(--surface-sunken);border-radius:10px}.scenario-details::-webkit-scrollbar-track{background:var(--surface-sunken);border-radius:10px}.scenario-list::-webkit-scrollbar-thumb{background:var(--surface-raised-hover);border-radius:10px}.scenario-details::-webkit-scrollbar-thumb{background:var(--surface-raised-hover);border-radius:10px}.in-progress{margin-bottom:1rem}.in-progress-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.8rem;font-weight:700;display:flex}.in-progress-title svg{color:var(--link)}.in-progress-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.in-progress-item{border:1px dashed var(--link);background:var(--surface-sunken);color:var(--text);border-radius:10px;flex-direction:column;gap:.4rem;padding:.75rem 1rem;text-decoration:none;transition:background-color .2s;display:flex}.in-progress-item:hover{background:var(--surface-raised)}.in-progress-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.in-progress-resume{color:var(--link);align-self:flex-end;align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;display:inline-flex}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border);width:90%;max-width:500px;box-shadow:var(--shadow);border-radius:12px;animation:.3s ease-out modalSlideUp;overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border);background:var(--surface-raised);color:var(--text);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{margin:0;font-size:1.1rem;font-weight:600}.btn-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;display:flex}.btn-close:hover{background:var(--surface-raised-hover);color:var(--text)}.modal-body{padding:1.5rem}.setting-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.setting-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.setting-info{flex-direction:column;flex:1;gap:.25rem;margin-right:1rem;display:flex}.setting-info label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.8rem;font-weight:600}.setting-info span{color:var(--text);font-size:1rem;font-weight:500}.setting-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.btn-text{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.4rem .75rem;font-size:.9rem;font-weight:500}.btn-text:hover{background:var(--surface-raised);color:var(--text)}.btn-primary-sm{background:var(--action-bg);color:var(--action-text);cursor:pointer;border:none;border-radius:6px;padding:.4rem .85rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.btn-primary-sm:hover:not(:disabled){background:var(--action-bg-hover)}.btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.setting-actions .btn-text,.setting-actions .btn-primary-sm,.setting-row>.btn-text{justify-content:center;align-items:center;gap:.4rem;height:36px;line-height:1;display:inline-flex}.btn-text-danger{color:var(--danger)}.setting-avatar{align-items:center;gap:1rem;min-width:0;display:flex}.avatar-preview{background:var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-weight:700;display:flex;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.setting-fields{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.choice-group{gap:.5rem;display:flex}.choice-btn{border:1px solid var(--border-control);height:36px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.9rem;display:inline-flex}.choice-btn[aria-pressed=true]{border:2px solid var(--link);color:var(--text);font-weight:700}@media (width<=520px){.setting-row{flex-direction:column;align-items:stretch;gap:.75rem}.setting-info{margin-right:0}.setting-actions,.choice-group{flex-wrap:wrap}}.landing-page{background-color:var(--bg);width:100%;min-height:100vh;color:var(--text);flex-direction:column;display:flex;overflow-x:hidden}.site-main{flex-direction:column;flex:1;display:flex}.site-main .dashboard-page{flex:1;width:100%}.landing-header{z-index:40;background:var(--surface);border-bottom:1px solid var(--border);box-sizing:border-box;width:100%;height:68px;min-height:68px;max-height:68px;position:sticky;top:0;box-shadow:0 4px 20px #0000000f}.landing-header-inner{box-sizing:border-box;justify-content:space-between;align-items:center;gap:2rem;max-width:1320px;height:100%;margin:0 auto;padding:0 clamp(1rem,2.5vw,2.5rem);display:flex}.landing-brand{color:var(--text);letter-spacing:-.015em;white-space:nowrap;flex-shrink:0;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.landing-brand:hover{color:var(--text)}.brand-icon-wrapper{background:linear-gradient(135deg, var(--action-bg), #8b5cf6);color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 4px 12px #4f46e540}.brand-badge{background:var(--surface-raised);color:var(--link);border:1px solid var(--border);box-sizing:border-box;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.landing-nav{white-space:nowrap;flex-shrink:0;align-items:center;gap:clamp(1.25rem,2vw,2.25rem);display:flex}.nav-link{color:var(--text-muted);white-space:nowrap;align-items:center;gap:.4rem;padding:.35rem .25rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.btn-danger{border:1px solid var(--danger);height:36px;color:var(--danger);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 12%, transparent)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.danger-zone{margin-top:.5rem}.danger-zone-form{flex-direction:column;gap:.75rem;width:100%;display:flex}.danger-zone-form .setting-actions{justify-content:flex-end}.landing-actions{white-space:nowrap;flex-shrink:0;align-items:center;gap:1rem;display:flex}.auth-nav-group{white-space:nowrap;flex-shrink:0;align-items:center;gap:.85rem;display:flex}.btn-nav-login{min-width:108px;height:40px;color:var(--text);box-sizing:border-box;white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;padding:0 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-flex}.btn-nav-login:hover{background:var(--surface-raised)}.btn-nav-register{background:var(--action-bg);min-width:128px;height:40px;color:var(--action-text);box-sizing:border-box;white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;padding:0 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.btn-nav-register:hover{background:var(--action-bg-hover);transform:translateY(-1px)}.user-nav-group{white-space:nowrap;flex-shrink:0;align-items:center;gap:.85rem;display:flex}.user-chip{cursor:pointer;background:var(--surface-raised);border:1px solid var(--border);height:40px;color:var(--text);box-sizing:border-box;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:.6rem;padding:0 .95rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:background-color .2s,border-color .2s;display:inline-flex}.user-chip:hover{background:var(--surface-raised-hover)}.user-chip-avatar{background:var(--action-bg);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.user-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.btn-icon-nav{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-muted);cursor:pointer;box-sizing:border-box;white-space:nowrap;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:color .2s,background-color .2s;display:inline-flex}.btn-icon-nav:hover{color:var(--text);background:var(--surface-raised)}.btn-nav-logout:hover{color:var(--danger)}.btn-flag svg{box-shadow:0 0 0 1px var(--border);border-radius:2px}.hero-section{text-align:center;justify-content:center;padding:4.5rem 1.5rem 3.5rem;display:flex}.hero-container{flex-direction:column;align-items:center;max-width:900px;margin:0 auto;display:flex}.hero-badge{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.5rem;margin-bottom:1.75rem;padding:.45rem 1.1rem;font-size:.85rem;font-weight:500;display:inline-flex}.hero-badge-icon{color:var(--warning)}.hero-title{letter-spacing:-.025em;color:var(--text);margin-bottom:1.25rem;font-size:clamp(2.2rem,5.5vw,3.8rem);font-weight:800;line-height:1.15}.hero-title-highlight{background:linear-gradient(135deg, var(--link), #c084fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:block}.hero-description{color:var(--text-muted);max-width:720px;margin-bottom:2.25rem;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6}.hero-cta-group{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3.5rem;display:flex}.hero-btn-primary{background:var(--action-bg);color:var(--action-text);border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 1.75rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex;box-shadow:0 10px 25px -5px #4f46e566}.hero-btn-primary:hover{background:var(--action-bg-hover);transform:translateY(-2px);box-shadow:0 14px 28px -5px #4f46e580}.hero-btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;align-items:center;gap:.6rem;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.hero-btn-secondary:hover{background:var(--surface-raised);border-color:var(--border-control)}.hero-metrics{background:var(--surface);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:18px;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem;padding:1.5rem 2rem;display:flex}.metric-item{text-align:center}.metric-value{color:var(--text);margin-bottom:.2rem;font-size:1.5rem;font-weight:800}.metric-label{color:var(--text-muted);font-size:.85rem}.metric-divider{background:var(--border);width:1px;height:36px}.demo-section,.languages-section,.workflow-section,.dashboard-preview-section{width:100%;max-width:1200px;margin:0 auto;padding:4rem 1.5rem;scroll-margin-top:84px}.section-header{text-align:center;flex-direction:column;align-items:center;max-width:720px;margin:0 auto 3rem;display:flex}.section-pill{background:var(--surface-raised);border:1px solid var(--border);color:var(--link);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.35rem .9rem;font-size:.8rem;font-weight:600;display:inline-flex}.section-title{color:var(--text);margin-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;line-height:1.25}.section-subtitle{color:var(--text-muted);font-size:1.05rem;line-height:1.6}.demo-workspace{flex-direction:column;display:flex}.demo-language-tabs{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.lang-tab-btn{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.lang-tab-btn.active{background:var(--surface-raised);border-color:var(--link);color:var(--text);box-shadow:0 4px 14px #00000026}.lang-dot{border-radius:50%;width:9px;height:9px}.pr-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.pr-header{border-bottom:1px solid var(--border);background:var(--surface-sunken);padding:1.5rem}.pr-header-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.pr-title-group{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pr-status-badge{color:var(--success);background:#6ee7b726;border:1px solid #6ee7b74d;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:600;display:inline-flex}.pr-title{color:var(--text);font-size:1.25rem;font-weight:700}.pr-mode-toggle{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:3px;padding:3px;display:flex}.mode-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.mode-btn.active{background:var(--action-bg);color:var(--action-text)}.pr-meta-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:.9rem;display:flex}.pr-author{color:var(--text-muted);align-items:center;gap:.4rem;display:flex}.author-name{color:var(--text);font-weight:600}.author-tag{color:var(--text-muted)}.pr-tags{align-items:center;gap:.5rem;display:flex}.pr-category-tag{background:var(--surface-raised);border:1px solid var(--border);color:var(--text);border-radius:6px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.8rem;font-weight:500;display:inline-flex}.pr-severity-tag{text-transform:uppercase;border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.severity-critique{color:var(--danger);background:#fca5a526;border:1px solid #fca5a54d}.severity-élevée{color:var(--warning);background:#fbbf2426;border:1px solid #fbbf244d}.pr-ticket-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;font-size:.875rem}.ticket-label{color:var(--link);align-items:center;gap:.4rem;margin-bottom:.25rem;font-weight:600;display:flex}.ticket-text{color:var(--text-muted);line-height:1.4}.diff-viewer{background:var(--surface)}.diff-file-bar{background:var(--surface-raised);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.875rem;display:flex}.diff-file-name{color:var(--text);align-items:center;gap:.5rem;font-weight:600;display:flex}.diff-file-stats{gap:.6rem;font-size:.8rem;font-weight:700;display:flex}.stat-added{color:var(--success)}.stat-deleted{color:var(--danger)}.diff-code-body{font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.85rem;line-height:1.6;overflow-x:auto}.diff-row{border-bottom:1px solid #ffffff08;align-items:stretch;min-width:100%;display:flex}.line-num{text-align:right;width:44px;color:var(--text-placeholder);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:.25rem .5rem;font-size:.75rem}.line-marker{text-align:center;-webkit-user-select:none;user-select:none;flex-shrink:0;width:24px;padding-top:.25rem;font-weight:700}.line-code{white-space:pre;flex:1;padding:.25rem .75rem;overflow-x:auto}.row-context{color:var(--text);background:0 0}.row-delete{color:var(--danger);background:#fca5a51f}.row-add{color:var(--success);background:#6ee7b71f}.is-vulnerable-row{background:#fca5a533;font-weight:600}.inline-review-box{border-top:1px solid var(--border);background:var(--surface-sunken);padding:1.25rem}.review-comment-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--warning);box-shadow:var(--shadow);border-radius:12px;padding:1.25rem}.comment-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.comment-author-info{align-items:center;gap:.75rem;display:flex}.comment-avatar{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.comment-author-name{color:var(--text);font-size:.95rem;font-weight:700}.comment-author-role{color:var(--text-muted);margin-left:.5rem;font-size:.8rem;font-weight:400}.comment-vuln-type{color:var(--warning);align-items:center;gap:.35rem;margin-top:.15rem;font-size:.8rem;font-weight:600;display:flex}.comment-score-badge{color:var(--success);white-space:nowrap;background:#6ee7b726;border:1px solid #6ee7b74d;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.comment-body{color:var(--text);margin-bottom:1rem;font-size:.9rem;line-height:1.55}.comment-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:.85rem;font-size:.85rem;display:flex}.comment-status{color:var(--success);align-items:center;gap:.4rem;font-weight:500;display:flex}.btn-switch-solution{background:var(--surface-raised);border:1px solid var(--border);color:var(--link);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-switch-solution:hover{background:var(--surface-raised-hover);color:var(--link-hover)}.languages-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-bottom:2.5rem;display:grid}.language-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:transform .2s,border-color .2s,box-shadow .2s}.language-card:hover{border-color:var(--border-control);box-shadow:var(--shadow);transform:translateY(-3px)}.lang-card-header{align-items:center;gap:.85rem;margin-bottom:1rem;display:flex}.lang-badge-icon{background:var(--surface-raised);border:1.5px solid;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.lang-name{color:var(--text);font-size:1.15rem;font-weight:700}.lang-subtitle{color:var(--text-muted);font-size:.8rem}.lang-level-pill{background:var(--surface-raised);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;border-radius:999px;margin-left:auto;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.flaw-label{color:var(--link);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.35rem;font-size:.8rem;font-weight:600}.flaw-desc{color:var(--text-muted);font-size:.9rem;line-height:1.5}.mystery-mode-banner{box-shadow:var(--shadow);background:linear-gradient(135deg,#fbbf2414,#fca5a514);border:1px solid #fbbf244d;border-radius:20px;flex-wrap:wrap;align-items:center;gap:1.75rem;padding:2rem;display:flex}.mystery-icon-box{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.mystery-content{flex:1;min-width:280px}.mystery-badge{text-transform:uppercase;letter-spacing:.05em;color:var(--warning);margin-bottom:.35rem;font-size:.75rem;font-weight:700}.mystery-title{color:var(--text);margin-bottom:.4rem;font-size:1.35rem;font-weight:700}.mystery-desc{color:var(--text-muted);font-size:.95rem;line-height:1.5}.mystery-btn{background:var(--action-bg);color:var(--action-text);white-space:nowrap;border-radius:12px;align-items:center;gap:.5rem;padding:.85rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.mystery-btn:hover{background:var(--action-bg-hover);transform:translate(2px)}.steps-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.step-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;transition:transform .2s,border-color .2s;position:relative}.step-card:hover{border-color:var(--border-control);transform:translateY(-2px)}.step-number{color:var(--link);opacity:.4;margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1}.step-title{color:var(--text);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.step-desc{color:var(--text-muted);font-size:.9rem;line-height:1.55}.progression-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:1.15fr .85fr;align-items:center;gap:2.5rem;padding:3rem;display:grid}.text-left{text-align:left;align-items:flex-start}.progression-desc{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.6}.progression-features{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.p-feature{color:var(--text);align-items:center;gap:.6rem;font-size:.95rem;display:flex}.progression-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn-dashboard-main{background:var(--action-bg);color:var(--action-text);border-radius:12px;align-items:center;gap:.6rem;padding:.85rem 1.6rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s;display:inline-flex}.btn-dashboard-main:hover{background:var(--action-bg-hover);transform:translateY(-1px)}.btn-dashboard-sub{color:var(--text-muted);font-size:.9rem;text-decoration:underline}.fake-chart-card{background:var(--surface-sunken);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:1.5rem}.fake-chart-header{align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.fake-dot{border-radius:50%;width:10px;height:10px}.fake-dot.red{background:#ef4444}.fake-dot.yellow{background:#f59e0b}.fake-dot.green{background:#22c55e}.fake-title{color:var(--text-muted);margin-left:.5rem;font-size:.8rem;font-weight:500}.fake-stat-row{text-align:center;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:2rem;display:grid}.fake-stat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.75rem .5rem}.fake-stat-num{color:var(--text);font-size:1.25rem;font-weight:700;display:block}.fake-stat-lbl{color:var(--text-muted);font-size:.75rem}.fake-bars{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:.5rem;height:140px;padding-top:1rem;display:flex}.bar-col{background:var(--surface-raised);color:var(--text-muted);border-radius:6px 6px 0 0;flex:1;justify-content:center;align-items:flex-start;padding-top:.35rem;font-size:.7rem;font-weight:600;transition:height .4s;display:flex}.bar-col.active-bar{background:linear-gradient(180deg, var(--chart-blue), var(--action-bg));color:#fff}.landing-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:auto;padding:3.5rem 1.5rem 2rem}.landing-footer-inner{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:2.5rem;max-width:1200px;margin:0 auto 2.5rem;display:grid}.footer-brand-desc{color:var(--text-muted);max-width:320px;margin-top:.75rem;font-size:.9rem;line-height:1.5}.footer-links-title{color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem;font-size:.9rem;font-weight:700}.footer-links-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.footer-links-list a,.footer-btn-link{color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-size:.9rem;text-decoration:none;transition:color .2s}.footer-links-list a:hover,.footer-btn-link:hover{color:var(--text);text-decoration:underline}.footer-note{color:var(--text-muted);font-size:.85rem;line-height:1.5}.footer-bottom{border-top:1px solid var(--border);text-align:center;max-width:1200px;color:var(--text-placeholder);margin:0 auto;padding-top:1.5rem;font-size:.85rem}@media (width<=1080px){.landing-nav-sections{display:none}}@media (width<=900px){.progression-card{grid-template-columns:1fr;padding:2rem}.landing-footer-inner{grid-template-columns:1fr 1fr}}@media (width<=640px){.landing-header{height:60px;min-height:60px;max-height:60px}.landing-header-inner{gap:.5rem;padding:0 1rem}.brand-icon-wrapper{width:34px;height:34px}.brand-name{font-size:1.05rem}.brand-badge{display:none}.btn-nav-login,.btn-nav-register{width:38px;min-width:38px;height:38px;padding:0}.btn-nav-login span,.btn-nav-register span{display:none}.landing-nav{gap:.25rem}.nav-link{padding:.5rem}.nav-link-text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.user-chip-name{display:none}.hero-section{padding:3rem 1rem 2rem}.hero-metrics{flex-direction:column;gap:1.25rem;padding:1.25rem 1rem}.metric-divider{display:none}.pr-header-top{flex-direction:column;align-items:stretch}.pr-mode-toggle{width:100%}.mode-btn{flex:1;justify-content:center}.comment-header{flex-direction:column;align-items:stretch}.comment-score-badge{align-self:flex-start}.landing-footer-inner{grid-template-columns:1fr;gap:1.5rem}}.hero-welcome-badge{background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.6rem;margin-bottom:1.75rem;padding:.5rem 1.25rem;font-size:.95rem;animation:.4s fadeIn;display:inline-flex}.welcome-emoji{font-size:1.2rem}.welcome-pseudo{color:var(--link);font-weight:700}.auth-top-nav{margin-bottom:1.25rem}.btn-back-home{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.btn-back-home:hover{color:var(--text);transform:translate(-2px)}.auth-brand-link{color:inherit;text-decoration:none}.auth-brand-link:hover{color:var(--link)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feedback-info{color:var(--link)}.row-hunk{background:var(--surface-raised);color:var(--text-muted);font-size:.75rem}.is-commented-row{box-shadow:inset 3px 0 0 var(--link)}.is-commentable-row{cursor:pointer}.is-commentable-row:hover{outline:1px solid var(--link);outline-offset:-1px}.line-comment-slot{flex-shrink:0;justify-content:center;align-items:flex-start;width:32px;padding-top:.15rem;display:flex}.line-comment-btn{width:22px;height:22px;color:var(--text-placeholder);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.is-commentable-row:hover .line-comment-btn,.line-comment-btn:focus-visible,.is-commented-row .line-comment-btn{background:var(--link);border-color:var(--link);color:var(--surface)}.review-page{flex-direction:column;gap:1.25rem;width:min(1280px,100%);margin:0 auto;padding:clamp(.75rem,3vw,2rem);display:flex}.review-pr-card .pr-title{font-size:clamp(1.1rem,2.5vw,1.4rem)}.review-help-toggle{flex-shrink:0}.review-help-toggle.active{border-color:var(--link);color:var(--link)}.review-mission{background:var(--surface-raised);border-left:4px solid var(--link);color:var(--text);border-radius:8px;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;font-weight:500;line-height:1.5;display:flex}.review-mission svg{color:var(--link);flex-shrink:0}.review-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.review-steps li{border:1px solid var(--border);color:var(--text-muted);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .65rem;font-size:.85rem;line-height:1.3;display:flex}.review-steps li.done{border-color:var(--link);color:var(--text)}.review-step-num{background:var(--surface-raised);width:22px;height:22px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:inline-flex}.review-steps li.done .review-step-num{background:var(--link);color:var(--surface)}.review-help{background:var(--surface);border:1px solid var(--link);border-radius:12px;padding:1.25rem 1.5rem}.review-help-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.review-help-head h2{color:var(--text);font-size:1.15rem}.review-help-intro{color:var(--text-muted);margin:.5rem 0 1rem;line-height:1.6}.review-help-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.review-help-item{background:var(--surface-raised);border-radius:8px;padding:.85rem 1rem}.review-help-item h3{color:var(--text);align-items:center;gap:.4rem;margin-bottom:.4rem;font-size:.95rem;display:flex}.review-help-item h3 svg{color:var(--link)}.review-help-item p{color:var(--text-muted);font-size:.875rem;line-height:1.55}.review-empty-remarks{border:1px dashed var(--border-control);color:var(--text-muted);text-align:center;border-radius:8px;padding:.85rem;font-size:.85rem;line-height:1.5}.review-approve-btn{justify-content:center;width:100%;height:40px}.review-approve-confirm{border:1px solid var(--danger);color:var(--text);border-radius:8px;padding:.85rem;font-size:.85rem;line-height:1.5}.review-approve-title{color:var(--danger);align-items:center;gap:.4rem;margin-bottom:.35rem;font-weight:700;display:flex}@media (width<=900px){.review-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}.review-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.25rem;display:grid}.review-files{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.review-file-card{overflow:hidden}.review-sidebar{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;display:flex;position:sticky;top:1rem}.review-sidebar-title{color:var(--text);font-size:1rem}.review-sidebar-hint{color:var(--text-muted);font-size:.85rem;line-height:1.5}.review-comment-list{flex-direction:column;gap:.5rem;max-height:40vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.review-comment-link{text-align:left;background:var(--surface-raised);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;gap:.2rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.review-comment-link:hover{background:var(--surface-raised-hover)}.review-comment-link code{color:var(--link);font-size:.75rem}.review-comment-link span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);overflow:hidden}.review-submit-btn,.review-link-btn,.btn-mystery,.challenge-launcher .btn-primary{justify-content:center;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.review-inline-form,.review-inline-comment{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--link);white-space:normal;border-radius:10px;margin:.5rem .75rem .75rem;padding:.85rem;font-family:inherit}.review-inline-label,.review-inline-comment-head{color:var(--link);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.review-textarea{background:var(--surface-sunken);border:1px solid var(--border-control);width:100%;min-height:5rem;color:var(--text);font:inherit;resize:vertical;border-radius:8px;padding:.6rem .75rem;font-size:.9rem}.review-textarea::placeholder{color:var(--text-placeholder)}.review-inline-comment-text{color:var(--text);white-space:pre-wrap;font-size:.9rem;line-height:1.5}.review-inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:.6rem;display:flex}.btn-secondary-sm{border:1px solid var(--border-control);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.9rem;display:inline-flex}.btn-secondary-sm:hover{background:var(--surface-raised-hover)}.result-summary{flex-direction:column;gap:1.25rem;padding:clamp(1rem,3vw,1.5rem);display:flex}.result-score{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.result-back{color:var(--text-muted);border-radius:8px;align-self:flex-start;align-items:center;gap:.4rem;padding:.35rem .6rem .35rem .35rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.result-back:hover{color:var(--text);background:var(--surface-raised)}.result-back:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.result-score-circle{width:92px;height:92px}.result-score-circle .score-number{font-size:2rem}.result-score-text{flex:1;min-width:0}.result-kicker{color:var(--text-muted);margin-bottom:.25rem;font-size:.85rem}.result-score .pr-tags{flex-wrap:wrap;margin-top:.5rem}.result-meters{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.result-meter-head{color:var(--text);justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.85rem;display:flex}.result-meter progress{appearance:none;background:var(--surface-raised);border:none;border-radius:999px;width:100%;height:.6rem;overflow:hidden}.result-meter progress::-webkit-progress-bar{background:var(--surface-raised);border-radius:999px}.result-meter progress::-webkit-progress-value{background:var(--link);border-radius:999px}.result-meter progress::-moz-progress-bar{background:var(--link);border-radius:999px}.result-judge{border-left:4px solid var(--link);background:var(--surface-sunken);border-radius:10px;padding:1rem 1.25rem}.result-judge p{color:var(--text);margin:.4rem 0 0;line-height:1.6}.result-section-title{color:var(--text);margin:1rem 0 .75rem;font-size:1.15rem}.result-issue{color:var(--text);flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:clamp(1rem,3vw,1.25rem);display:flex}.result-issue.is-found{border-left:4px solid var(--success)}.result-issue.is-missed{border-left:4px solid var(--danger)}.result-issue-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.result-status{align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;display:inline-flex}.status-found{color:var(--success)}.status-missed{color:var(--danger)}.status-neutral{color:var(--warning)}.result-location{color:var(--text-muted);overflow-wrap:anywhere;font-size:.8rem}.result-issue-title{font-size:1rem}.result-issue-why{color:var(--text-muted);line-height:1.6}.result-comparison{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.result-comparison-col{background:var(--surface-sunken);border:1px solid var(--border);border-radius:10px;overflow:hidden}.result-comparison-col p{padding:.85rem 1rem;font-size:.9rem;line-height:1.55}.result-fix{flex-direction:column;gap:.5rem;display:flex}.result-fix>p{color:var(--text-muted);line-height:1.55}.result-actions{justify-content:center;display:flex}.result-actions .btn{width:auto;padding-inline:2rem}.challenge-launcher{flex-direction:column;gap:1rem;display:flex}.launcher-fields{gap:.75rem;display:grid}.launcher-field{color:var(--text);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.launcher-field select{background:var(--surface-sunken);border:1px solid var(--border-control);color:var(--text);font:inherit;border-radius:8px;padding:.6rem .75rem;font-weight:400}.launcher-actions{flex-direction:column;gap:.6rem;display:flex}.btn-mystery{border:1px solid var(--border-control);color:var(--text);background:0 0}.btn-mystery:hover{background:var(--surface-raised-hover)}.launcher-hint,.empty-history{color:var(--text-muted);font-size:.8rem;line-height:1.5}@media (width<=900px){.review-layout{grid-template-columns:minmax(0,1fr)}.review-sidebar{position:static}}
