.appLayout{background:var(--bg);min-height:100vh}.appLayout .ant-layout,.appLayout .ant-layout-content{background:0 0}.contentWrapper{width:min(100% - 32px, var(--content-max));margin:0 auto;padding-bottom:48px}.header{z-index:100;-webkit-backdrop-filter:blur(12px)saturate(1.2);position:sticky;top:0;height:var(--header-h)!important;line-height:var(--header-h)!important;background:color-mix(in srgb, var(--bg-elevated) 88%, transparent)!important;border-bottom:1px solid var(--border)!important;color:var(--ink)!important;padding:0!important}.headerInner{height:var(--header-h);width:min(100% - 32px, var(--content-max));align-items:center;gap:16px;margin:0 auto;display:flex}.logo{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:10px;line-height:1.2;display:flex}.logo span{letter-spacing:-.02em;color:var(--ink);font-size:16px;font-weight:700}.logo .version{font-family:var(--font-mono);color:var(--ink-muted);background:var(--bg-muted);border:1px solid var(--border);border-radius:999px;margin-left:2px;padding:2px 8px;font-size:11px;font-weight:500}.headerSearch{flex:1;min-width:0;max-width:720px}.landing{min-height:calc(100vh - var(--header-h));flex-direction:column;justify-content:center;align-items:center;padding:48px 16px 80px;display:flex;position:relative;overflow:hidden}.landing:before{content:"";background:radial-gradient(ellipse at 50% 0%, var(--accent-soft) 0%, transparent 70%);pointer-events:none;height:55%;position:absolute;inset:-20% 20% auto}.landingInner{text-align:center;width:min(100%,640px);position:relative}.landingEyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.landingTitle{letter-spacing:-.03em;color:var(--ink);margin:0 0 12px;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:700;line-height:1.2}.landingLead{color:var(--ink-secondary);margin:0 0 28px;font-size:1.05rem;line-height:1.6}.landingSearch{text-align:left;margin-bottom:20px}.exampleChips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.exampleChip{font-family:var(--font-mono);color:var(--ink-secondary);background:var(--bg-elevated);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;transition:border-color .15s,color .15s,background .15s}.exampleChip:hover{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-soft)}.landingHint{color:var(--ink-muted);margin-top:18px;font-size:13px}.reportStack{flex-direction:column;gap:20px;padding-top:24px;display:flex}.findingsGrid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=900px){.findingsGrid{grid-template-columns:1fr 1fr}.findingsGrid .span2{grid-column:1/-1}}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panelHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:14px 18px;display:flex}.panelTitle{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:14px;font-weight:600}.panelBody{padding:16px 18px}.panelBody.flush{padding:0}.panel.ant-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel.ant-card .ant-card-head{border-bottom:1px solid var(--border);min-height:48px;color:var(--ink);padding:0 18px;font-size:14px;font-weight:600}.panel.ant-card .ant-card-body{padding:16px 18px}.summaryPanel{padding:0}.summaryHero{background:linear-gradient(135deg, var(--accent-soft) 0%, transparent 42%), var(--bg-elevated);border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;align-items:center;gap:20px 28px;padding:22px 22px 18px;display:grid}@media (width<=640px){.summaryHero{text-align:center;grid-template-columns:1fr;justify-items:center}}.scoreGauge{flex-shrink:0;width:112px;height:112px;position:relative}.scoreGauge svg{width:100%;height:100%;transform:rotate(-90deg)}.scoreGauge .track{fill:none;stroke:var(--bg-muted);stroke-width:8px}.scoreGauge .value{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .6s}.scoreGauge.score-warn .value{stroke:var(--warn)}.scoreGauge.score-bad .value{stroke:var(--danger)}.scoreGaugeCenter{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scoreGaugeNum{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--ink);font-size:28px;font-weight:600;line-height:1}.scoreGaugeLabel{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-top:4px;font-size:10px;font-weight:600}.metricStrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}@media (width<=640px){.metricStrip{grid-template-columns:1fr}}.metricChip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;padding:12px 14px}.metricChipLabel{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:4px;font-size:11px;font-weight:600}.metricChipValue{font-family:var(--font-mono);color:var(--ink);word-break:break-word;font-size:15px;font-weight:500}.metricChipValue.warn{color:var(--warn)}.summaryMeta{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 20px;margin:0;padding:16px 22px;display:grid}.summaryMetaItem{min-width:0}.summaryMetaItem dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 2px;font-size:11px;font-weight:600}.summaryMetaItem dd{color:var(--ink);word-break:break-word;margin:0;font-size:13.5px;font-weight:500}.summaryTags{flex-wrap:wrap;gap:8px;padding:0 22px 18px;display:flex}.riskTag{font-family:var(--font-mono);letter-spacing:.01em;background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 28%, transparent);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.layerToolbar{margin-bottom:4px}.layerToolbar .ant-form-item{margin-bottom:12px}.layerCmd{background:var(--bg-muted);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 14px;font-size:13px}.layerCmd .label{color:var(--ink-muted);margin-right:6px;font-weight:600}.layerCmd .cmd{font-family:var(--font-mono);color:var(--ink-secondary);word-break:break-all;font-size:12px}.fileTreeHeaderOnly{border:1px solid var(--border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--bg-muted);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);border-bottom:none;margin:0;padding:0;font-size:11px;font-weight:600;list-style:none}.fileTreeHeaderOnly li{align-items:center;gap:8px;padding:8px 12px;display:flex}.fileTreeHeaderOnly li span:first-child{flex-shrink:0;width:88px}.fileTreeHeaderOnly li span:nth-child(2){text-align:right;flex-shrink:0;width:64px}.fileTreeHeaderOnly li span:nth-child(3){text-align:right;flex-shrink:0;width:72px;margin-right:12px}.fileTreeHeaderOnly li span:nth-child(4){flex:1}.virtualFileTreeScroller{border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);background:var(--bg-elevated);max-height:480px;position:relative;overflow:auto}.virtualFileTree{font-family:var(--font-mono);margin:0;padding:0;font-size:12.5px;list-style:none}.virtualFileTreeRow{box-sizing:border-box;white-space:nowrap;border-bottom:1px solid var(--border);color:var(--ink);align-items:center;gap:8px;padding:0 12px;list-style:none;display:flex;overflow:hidden}.virtualFileTreeRow:hover{background:var(--accent-soft)}.virtualFileTreeRow span:first-child{width:88px;color:var(--ink-muted);flex-shrink:0}.virtualFileTreeRow span:nth-child(2){text-align:right;width:64px;color:var(--ink-muted);flex-shrink:0}.virtualFileTreeRow span:nth-child(3){text-align:right;width:72px;color:var(--ink-secondary);flex-shrink:0;margin-right:12px}.virtualFileTreeRow span:nth-child(4){text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.fileTree .icon{vertical-align:middle;color:var(--ink-muted);align-items:center;padding:0 4px 0 0;display:inline-flex}.fileTree .modified{color:var(--warn)}.fileTree .removed{color:var(--danger)}.fileTree .download{vertical-align:middle;margin-left:8px;display:none}.virtualFileTreeRow:hover .download{display:inline-flex}.dataTable{margin:0;padding:0;font-size:13px;list-style:none}.dataTable>li{border-bottom:1px solid var(--border);word-break:break-word;align-items:start;gap:8px 12px;padding:10px 16px;display:grid}.dataTable>li:last-child{border-bottom:none}.dataTable>li.head{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);background:var(--bg-muted);z-index:1;font-size:11px;font-weight:600;position:sticky;top:0}.dataTable>li:not(.head):nth-child(2n){background:color-mix(in srgb, var(--bg-muted) 45%, transparent)}.dataTable .monoCell{font-family:var(--font-mono);font-size:12.5px}.dataTable.cols-wasted>li{grid-template-columns:96px 56px minmax(0,1fr);align-items:center}.dataTable.cols-sensitive>li{grid-template-columns:56px 80px 140px minmax(0,1fr);align-items:center}.dataTable.cols-dup>li{grid-template-columns:96px 56px 80px minmax(0,1fr);align-items:center}.dataTable.cols-bigmod>li{grid-template-columns:80px 100px minmax(0,1fr);align-items:center}.dataTable>li>span{min-width:0}@media (width<=720px){.dataTable.cols-sensitive>li{grid-template-columns:48px 64px minmax(0,1fr)}.dataTable.cols-sensitive>li>span:nth-child(3){grid-column:1/-1}.dataTable.cols-dup>li{grid-template-columns:80px 48px 64px minmax(0,1fr)}}.recommendationList{margin:0;padding:0;list-style:none}.recommendationItem{border-bottom:1px solid var(--border);padding:14px 16px}.recommendationItem:last-child{border-bottom:none}.recommendationHead{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recommendationBadge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600}.recommendationTitle{color:var(--ink);font-weight:600}.recommendationSaved{font-family:var(--font-mono);color:var(--ok);margin-left:auto;font-size:12px}.recommendationDetail{color:var(--ink-secondary);margin-top:8px;font-size:13.5px;line-height:1.55}.recommendationHint{color:var(--ink-secondary);background:var(--bg-muted);border-radius:var(--radius-sm);border-left:3px solid var(--accent);margin-top:8px;padding:8px 10px;font-size:13px}.recommendationPaths{margin:8px 0 0;padding-left:18px}.recommendationPaths li{font-family:var(--font-mono);color:var(--ink-muted);font-size:12px;line-height:1.65}.dockerfileBlock{background:var(--bg-muted);border-radius:var(--radius-sm);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--ink-secondary);border:1px solid var(--border);max-height:420px;margin:0;padding:14px 16px;font-size:12.5px;line-height:1.6;overflow:auto}.analyzeImages{z-index:50;width:min(320px,100vw - 32px);max-height:240px;position:fixed;bottom:16px;right:16px;overflow:auto;background:var(--bg-elevated)!important;border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg)!important}.analyzeImages .ant-list-header{color:var(--ink-muted);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;padding:10px 14px!important}.analyzeImages .ant-list-item{border-color:var(--border)!important;padding:8px 14px!important}.analyzeImages a{font-family:var(--font-mono);color:var(--ink-secondary);word-break:break-all;font-size:12px}.analyzeImages a:hover{color:var(--accent)}.appLayout .ant-input-affix-wrapper,.appLayout .ant-input,.appLayout .ant-select-selector{border-radius:var(--radius-sm)!important}.appLayout .ant-btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;box-shadow:none!important}.appLayout .ant-btn-primary:hover{background:var(--accent-deep)!important;border-color:var(--accent-deep)!important}.appLayout .ant-checkbox-wrapper{color:var(--ink-secondary)}.githubCorner{z-index:110}:root{--bg:#eef3f6;--bg-elevated:#fff;--bg-muted:#e4ebf0;--ink:#0f1c24;--ink-secondary:#3d5160;--ink-muted:#6b7f8c;--border:#0f1c241a;--border-strong:#0f1c2429;--accent:#0d9488;--accent-soft:#0d94881f;--accent-deep:#0f766e;--danger:#dc2626;--danger-soft:#dc26261a;--warn:#d97706;--warn-soft:#d977061f;--ok:#059669;--ok-soft:#0596691f;--info:#0284c7;--info-soft:#0284c71f;--shadow:0 1px 2px #0f1c240a, 0 8px 24px #0f1c240f;--shadow-lg:0 4px 12px #0f1c240f, 0 20px 48px #0f1c2414;--radius:12px;--radius-sm:8px;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--header-h:64px;--content-max:1120px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--bg:#0b1218;--bg-elevated:#141d26;--bg-muted:#1a2530;--ink:#e8eef2;--ink-secondary:#b4c2cd;--ink-muted:#7d90a0;--border:#e8eef21a;--border-strong:#e8eef229;--accent:#2dd4bf;--accent-soft:#2dd4bf1f;--accent-deep:#5eead4;--danger:#f87171;--danger-soft:#f871711f;--warn:#fbbf24;--warn-soft:#fbbf241f;--ok:#34d399;--ok-soft:#34d3991f;--info:#38bdf8;--info-soft:#38bdf81f;--shadow:0 1px 2px #00000040, 0 8px 24px #00000059;--shadow-lg:0 4px 12px #0000004d, 0 20px 48px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{min-width:320px;font-family:var(--font-sans);color:var(--ink);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:15px;line-height:1.55}a{color:var(--accent-deep);font-weight:500;text-decoration:none}a:hover{color:var(--accent)}code,.mono{font-family:var(--font-mono);font-size:.9em}::selection{background:var(--accent-soft);color:var(--ink)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
