.privacy-lab-page { --privacy-blue: #9ac7ff; --privacy-red: #ff9b8f; }
.privacy-intro { max-width: 930px; }
.truth-card, .upload-card, .analysis-panel, .cleaner-card, .clean-result, .preview-card, .sensitive-card, .metadata-card {
  border: 1px solid var(--line); border-radius: var(--radius); background: rgba(16,23,19,.88); box-shadow: var(--shadow);
}
.truth-card { display:grid; grid-template-columns:72px minmax(0,1fr); gap:24px; padding:clamp(24px,4vw,42px); margin-bottom:18px; border-color:rgba(198,223,136,.28); background:linear-gradient(145deg,rgba(198,223,136,.075),rgba(16,23,19,.9)); }
.truth-icon { width:64px; height:64px; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:20px; color:var(--accent); }
.truth-icon svg { width:38px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linejoin:round; }
.truth-card h2 { margin:6px 0 12px; font-size:clamp(1.7rem,4vw,3rem); line-height:1.05; letter-spacing:-.04em; }
.truth-card p:not(.tool-format) { max-width:900px; color:var(--muted); }
.truth-points { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.truth-points span { padding:.42rem .68rem; border:1px solid var(--line); border-radius:999px; color:var(--accent); background:rgba(198,223,136,.04); font-size:.75rem; font-weight:750; }
.privacy-workspace { display:grid; grid-template-columns:minmax(0,1.48fr) minmax(290px,.52fr); gap:18px; align-items:start; }
.privacy-main, .privacy-sidebar { display:grid; gap:18px; }
.upload-card, .analysis-panel, .cleaner-card, .clean-result { padding:clamp(20px,4vw,38px); }
.privacy-upload .drop-zone { min-height:300px; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.panel-heading h2, .metadata-header h2, .sensitive-card h2 { margin:0 0 6px; font-size:clamp(1.5rem,3vw,2.35rem); letter-spacing:-.035em; }
.panel-heading p:not(.tool-format), #file-subtitle { margin:0; color:var(--muted); }
.panel-actions { display:flex; flex-wrap:wrap; gap:8px; }
.risk-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.risk-tile { min-height:126px; padding:18px; border:1px solid var(--line); border-radius:17px; background:rgba(255,255,255,.022); }
.risk-tile strong { display:block; margin-bottom:7px; font-size:1.25rem; overflow-wrap:anywhere; }
.risk-tile span { color:var(--muted); font-size:.78rem; }
.risk-tile.risk-high strong { color:var(--danger); }
.risk-tile.risk-medium strong { color:var(--warning); }
.risk-tile.risk-low strong, .risk-tile.risk-clean strong { color:var(--success); }
.sensitive-card, .metadata-card { margin-top:18px; box-shadow:none; overflow:hidden; }
.sensitive-card { padding:24px; border-color:rgba(255,155,143,.23); background:linear-gradient(145deg,rgba(255,155,143,.05),rgba(16,23,19,.92)); }
.sensitive-card > header, .metadata-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.sensitive-card > header > span { padding:.42rem .64rem; border-radius:999px; background:rgba(255,155,143,.1); color:var(--danger); font-size:.72rem; font-weight:800; }
.finding-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:18px; }
.finding { padding:16px; border:1px solid var(--line); border-radius:15px; background:rgba(0,0,0,.12); }
.finding b { display:block; margin-bottom:5px; }
.finding code { display:block; color:var(--text); font-size:.78rem; overflow-wrap:anywhere; white-space:normal; }
.finding p { margin:7px 0 0; color:var(--muted); font-size:.78rem; }
.metadata-header { padding:22px 24px; border-bottom:1px solid var(--line); }
.metadata-search input { width:min(260px,100%); min-height:42px; padding:0 13px; border:1px solid var(--line); border-radius:11px; background:rgba(0,0,0,.2); color:var(--text); }
.metadata-groups { display:grid; }
.metadata-group { border-bottom:1px solid var(--line); }
.metadata-group:last-child { border-bottom:0; }
.metadata-group summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; cursor:pointer; font-weight:750; }
.metadata-group summary span { color:var(--muted); font-size:.74rem; font-weight:650; }
.metadata-rows { border-top:1px solid var(--line); }
.metadata-row { display:grid; grid-template-columns:minmax(160px,.36fr) minmax(0,.64fr); gap:18px; padding:13px 24px; border-bottom:1px solid rgba(220,231,224,.08); }
.metadata-row:last-child { border-bottom:0; }
.metadata-row dt { color:var(--muted); font-size:.8rem; overflow-wrap:anywhere; }
.metadata-row dd { margin:0; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.8rem; overflow-wrap:anywhere; }
.metadata-empty { padding:24px; color:var(--muted); }
.clean-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.field-group { display:grid; gap:7px; color:var(--muted); font-size:.82rem; font-weight:700; }
.field-group select, .field-group input[type="range"] { width:100%; }
.field-group select { min-height:46px; padding:0 12px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--panel-2); }
.color-control { display:flex; align-items:center; min-height:46px; gap:11px; padding:6px 10px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
.color-control input { width:38px; height:30px; padding:0; border:0; background:none; }
.clean-promise { margin:20px 0; padding:17px 18px; border:1px solid rgba(198,223,136,.2); border-radius:15px; background:rgba(198,223,136,.04); }
.clean-promise p { margin:5px 0 0; color:var(--muted); }
.action-row { display:flex; gap:10px; }
.progress-panel { margin-top:16px; padding:15px; border:1px solid var(--line); border-radius:14px; }
.progress-panel > div:first-child { display:flex; justify-content:space-between; gap:15px; }
.progress-track { height:7px; margin-top:10px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
.progress-track span { display:block; height:100%; width:0; background:var(--accent); transition:width .2s ease; }
.result-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:18px; }
.clean-preview { min-height:260px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:repeating-conic-gradient(rgba(255,255,255,.045) 0 25%,rgba(0,0,0,.05) 0 50%) 50%/24px 24px; }
.clean-preview img { width:100%; max-height:480px; object-fit:contain; }
.verification-list { display:grid; gap:8px; }
.verification-item { display:grid; grid-template-columns:12px minmax(0,1fr); gap:12px; padding:13px 14px; border:1px solid var(--line); border-radius:13px; }
.verification-dot { width:9px; height:9px; margin-top:6px; border-radius:50%; background:var(--success); }
.verification-item.warning .verification-dot { background:var(--warning); }
.verification-item b { display:block; }
.verification-item span { color:var(--muted); font-size:.78rem; }
.result-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; }
.result-stats div { padding:14px; border:1px solid var(--line); border-radius:13px; }
.result-stats strong, .result-stats span { display:block; }
.result-stats span { margin-top:3px; color:var(--muted); font-size:.73rem; }
.remaining-warning { margin-top:18px; padding:17px 18px; border:1px solid rgba(239,211,141,.2); border-radius:15px; background:rgba(239,211,141,.04); }
.remaining-warning p { margin:5px 0 0; color:var(--muted); }
.preview-card { padding:24px; position:sticky; top:18px; }
.preview-heading { display:flex; justify-content:space-between; gap:12px; }
.preview-heading h2 { margin:0; }
.preview-heading > span { color:var(--accent); font-size:.72rem; font-weight:750; }
.photo-stage { min-height:300px; display:grid; place-items:center; margin-top:18px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:rgba(0,0,0,.2); }
.photo-stage img { width:100%; max-height:560px; object-fit:contain; }
.preview-placeholder { display:grid; place-items:center; text-align:center; color:var(--muted); }
.preview-placeholder svg { width:54px; fill:none; stroke:var(--soft); stroke-width:1.4; }
.preview-details { margin-top:15px; }
.preview-details p { margin:0; color:var(--muted); }
.preview-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.preview-detail-grid div { padding:12px; border:1px solid var(--line); border-radius:12px; }
.preview-detail-grid strong, .preview-detail-grid span { display:block; overflow-wrap:anywhere; }
.preview-detail-grid span { margin-top:3px; color:var(--muted); font-size:.71rem; }
.download-button { align-self:flex-start; }
@media (max-width:950px) { .privacy-workspace { grid-template-columns:1fr; } .privacy-sidebar { grid-row:1; } .preview-card { position:static; } .risk-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .truth-card { grid-template-columns:1fr; } .panel-heading, .metadata-header, .sensitive-card > header { flex-direction:column; } .panel-actions, .panel-actions button, .download-button { width:100%; } .finding-grid, .clean-settings, .result-layout { grid-template-columns:1fr; } .metadata-search, .metadata-search input { width:100%; } .metadata-row { grid-template-columns:1fr; gap:4px; } }
@media (max-width:430px) { .risk-summary, .result-stats, .preview-detail-grid { grid-template-columns:1fr; } }
