:root{color:#172b2a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#172b2a;--muted:#697b77;--line:#cedbd5;--paper:#fbfdfb;--green:#1e7768;--acid:#d9f768;--coral:#f16f55;background:#edf4f0;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible+span{outline-offset:3px;outline:3px solid #1e7768}.page-width{width:min(1080px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-family:Songti SC,Noto Serif CJK SC,ui-serif,serif;font-size:19px;font-weight:650;text-decoration:none;display:inline-flex}.brand-mark{background:var(--acid);width:27px;height:27px;color:var(--ink);border-radius:7px 7px 7px 2px;place-items:center;font-family:system-ui,sans-serif;font-size:14px;font-weight:800;display:grid}.header-note{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.eyebrow{color:var(--green);letter-spacing:.07em;align-items:center;gap:8px;margin:0 0 15px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;display:flex}.eyebrow-dot{background:var(--coral);border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 3px #f16f5520}.button{cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:15px;min-height:48px;padding:0 18px;font-size:14px;font-weight:650;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.43;cursor:not-allowed}.button-dark{background:var(--ink);color:#fff}.button-dark:hover:not(:disabled){background:#234441}.button-quiet{color:var(--ink);background:#e8efeb}.button-mark{background:var(--acid);color:var(--ink)}.button-quiet:hover:not(:disabled){background:#dce7e1}.home-page{flex-direction:column;min-height:100vh;display:flex}.home-intro{padding:82px 0 48px}.home-intro h1,.not-found h1{letter-spacing:-.055em;margin:0;font-family:Songti SC,Noto Serif CJK SC,ui-serif,serif;font-size:clamp(54px,8vw,86px);font-weight:560;line-height:1.05}.home-intro h1 em{color:var(--green);font-style:normal}.home-description{color:#566965;margin:24px 0 0;font-size:17px}.experiment-list{max-width:570px;padding-bottom:64px}.experiment-card{background:var(--paper);border:1px solid #d9e4df;border-radius:11px;padding:25px 28px 28px;position:relative;overflow:hidden;box-shadow:0 10px 32px #213d3310}.experiment-card:before{background:var(--acid);content:"";width:7px;height:100%;position:absolute;top:0;right:0}.experiment-card-top{color:var(--green);letter-spacing:.08em;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;display:flex}.card-spark{color:var(--coral);font-size:18px}.experiment-card h2{margin:22px 0 8px;font-family:Songti SC,Noto Serif CJK SC,ui-serif,serif;font-size:27px;font-weight:600}.experiment-card p{color:var(--muted);margin:0 0 23px;font-size:14px;line-height:1.7}.experiment-card .button{min-width:138px}.home-footer,.experiment-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;margin-top:auto;padding:17px 0 22px;font-size:11px;display:flex}.home-footer span,.experiment-footer span{letter-spacing:.1em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}.not-found{min-height:100vh;padding-top:30px}.not-found .eyebrow{margin-top:110px}.not-found h1{font-size:clamp(48px,7vw,74px)}.text-link{color:var(--green);align-items:center;gap:10px;margin-top:30px;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.experiment-site:has(.privacy-page){background:#f4f8f5;min-height:100dvh}:is(.experiment-site:has(.privacy-page)>.site-header,.experiment-site:has(.privacy-page)>.experiment-footer){display:none}.privacy-page{--ink:#142826;--muted:#61716e;--line:#d9e1dd;--paper:#fff;--green:#27845f;--acid:#c8f85a;--coral:#d94841;min-height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:max(24px, env(safe-area-inset-bottom));color:var(--ink);font-family:Inter,SF Pro Text,PingFang SC,Microsoft YaHei,system-ui,sans-serif}.privacy-page.page-width{width:min(1080px,100% - 48px)}.privacy-page.page-width:not(.is-editor){width:min(720px,100% - 48px)}.privacy-appbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:56px;margin-bottom:24px;display:flex}.privacy-brand{min-height:44px;color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:650;text-decoration:none;display:inline-flex}.privacy-brand .brand-mark,.privacy-appbar-mark{background:var(--acid);width:32px;height:32px;color:var(--ink);border-radius:10px 10px 10px 3px;flex:none;place-items:center;font-size:15px;font-weight:800;display:grid}.privacy-appbar .header-note{color:var(--muted);letter-spacing:0;text-transform:none;font-family:inherit;font-size:13px}.privacy-appbar-editor{grid-template-columns:36px minmax(0,1fr) auto;gap:8px;display:grid}.privacy-appbar-editor>strong{text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;overflow:hidden}.privacy-appbar-mark{width:30px;height:30px;font-size:14px}.privacy-appbar-editor .change-image{border-radius:11px;min-height:44px;padding:0 12px;font-size:14px}.appbar-status{color:var(--muted);white-space:nowrap;font-size:13px}.privacy-heading{max-width:720px;padding:4px 0 20px}.privacy-heading h1{letter-spacing:-.035em;margin:0;font-size:clamp(34px,4.4vw,46px);font-weight:650;line-height:1.16}.privacy-hook{color:#465d57;max-width:620px;margin:12px 0 0;font-size:16px;line-height:1.55}.privacy-promise{color:#365d44;background:#edf5e9;border:1px solid #d4e4d8;border-radius:12px;align-items:center;gap:9px;min-height:40px;margin-top:16px;padding:0 13px;font-size:14px;font-weight:600;display:inline-flex}.privacy-lock{background:var(--acid);width:22px;height:22px;color:var(--ink);border-radius:50%;place-items:center;font-size:14px;font-weight:800;display:grid}.upload-card{text-align:center;background:#fff;border:1.5px dashed #b9c5c0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:min(100%,620px);min-height:248px;padding:20px;display:flex}.upload-stamp{background:var(--acid);border-radius:13px 13px 13px 4px;place-items:center;width:44px;height:44px;display:grid}.upload-stamp svg{fill:none;width:28px;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.upload-card h2{margin:0;font-size:18px;font-weight:650}.upload-card>p{color:var(--muted);margin:-4px 0 1px;font-size:14px}.privacy-page .button{border-radius:12px;min-height:48px;font-size:15px}.privacy-page .button-mark{background:var(--acid);color:var(--ink)}.privacy-page .button-mark:hover:not(:disabled){background:#b7ee42}.privacy-page .button-quiet{color:var(--ink);background:#eef3ef}.privacy-page .button-quiet:hover:not(:disabled){background:#e1eae4}.upload-button{width:min(100%,320px);font-weight:650;position:relative;min-height:52px!important}.upload-button input,.change-image input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-button:focus-within,.change-image:focus-within{outline:3px solid var(--green);outline-offset:3px}.upload-hint{color:var(--muted);font-size:13px;display:none}.runtime-note{max-width:520px;color:var(--muted);line-height:1.6;margin:14px 0 0!important;font-size:13px!important}.privacy-page .error-note{border-left:3px solid var(--coral);color:#873f31;background:#fff1ec;border-radius:0 8px 8px 0;margin:0 0 16px;padding:12px 14px;font-size:14px;line-height:1.5}.privacy-page.is-editor .privacy-appbar{margin-bottom:16px}.privacy-page .change-image{min-height:44px;padding-inline:12px;font-size:14px;font-weight:600;position:relative}.review-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);grid-template-areas:"preview results""preview actions";align-items:start;gap:16px;display:grid}.review-layout.is-scanning{grid-template-columns:minmax(0,760px);grid-template-areas:"preview";justify-content:center}.preview-card,.result-card{border:1px solid var(--line);background:var(--paper);border-radius:16px;min-width:0;overflow:hidden}.preview-card{grid-area:preview}.card-heading{justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:12px 16px;display:flex}.card-heading .eyebrow{margin:0 0 3px;font-size:12px}.card-heading h2{margin:0;font-size:18px;font-weight:650}.image-kind{color:var(--muted);background:#eef3ef;border-radius:7px;flex:none;padding:6px 9px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.image-frame{background:#eef3ef;border-block:1px solid #e2e9e4;justify-content:center;align-items:center;min-height:180px;padding:8px;line-height:0;display:flex;overflow:hidden}.image-canvas{border-radius:8px;outline:1px solid #d9e1dd;max-width:100%;display:inline-block;position:relative;overflow:hidden}.image-canvas img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:min(52dvh,520px);display:block}.annotation-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.annotation-layer.is-active{pointer-events:auto;cursor:crosshair;touch-action:none}.annotation rect{vector-effect:non-scaling-stroke;stroke-width:2px}.annotation text{paint-order:stroke;stroke:#fff;stroke-width:3px;font-family:ui-monospace,Consolas,monospace;font-size:18px;font-weight:700}.annotation-selected rect{fill:#d9484128;stroke:var(--coral)}.annotation-selected text{fill:#a84632}.annotation-muted rect{fill:#27845f10;stroke:var(--green);stroke-dasharray:5 3}.annotation-muted text{fill:var(--green)}.drawing-rect{fill:#c8f85a55;stroke:#142826;stroke-width:2px;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.scan-progress{border:1px solid var(--line);background:#fff;border-radius:12px;margin:12px 16px 16px;padding:14px}.scan-progress>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;font-size:14px;font-weight:600;display:flex}.scan-progress>div:first-child span:last-child{color:var(--green);flex:none;font-family:ui-monospace,Consolas,monospace}.progress-track{background:#e5eeea;border-radius:10px;height:5px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--green);min-width:4px;height:100%;transition:width .2s;display:block}.scan-progress small{color:var(--muted);margin-top:9px;font-size:13px;line-height:1.5;display:block}.manual-tools{align-items:center;gap:12px;padding:12px 16px;display:flex}.privacy-page .manual-tools .button{flex:none;min-height:44px;padding-inline:14px}.manual-tools span{color:var(--muted);font-size:14px;line-height:1.45}.result-caption{color:var(--muted);margin:0;padding:12px 16px;font-size:14px;line-height:1.5}.result-card{grid-area:results;padding:20px}.result-card>.eyebrow{margin:0 0 8px;font-size:12px}.result-card h2{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:650;line-height:1.4}.result-copy{color:var(--muted);margin:8px 0 14px;font-size:14px;line-height:1.55}.risk-chips{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.risk-chip{color:#455d54;background:#f5f8f5;border:1px solid #dce5df;border-radius:9px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:13px;display:inline-flex}.risk-chip b{color:var(--ink);font-size:13px}.inline-warning,.qr-note,.redaction-guidance{border-radius:10px;margin:0 0 12px;padding:11px 12px;font-size:14px;line-height:1.5}.inline-warning{color:#72561f;background:#fff3d6}.qr-note{color:#475c23;background:#edf4e1}.redaction-guidance{color:#465d57;background:#f1f6f3}.detection-list{border-top:1px solid #e1e9e5;max-height:300px;overflow:auto}.detection-row{border-bottom:1px solid #e7eeea;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;display:grid}.detection-choice{cursor:pointer;align-items:center;gap:9px;min-width:0;min-height:52px;display:flex}.detection-row input{width:20px;height:20px;accent-color:var(--green);flex:none}.detection-number{color:#687a74;font-family:ui-monospace,Consolas,monospace;font-size:12px}.detection-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.detection-source{color:var(--muted);font-size:12px}.empty-detections{color:#465d57;background:#f1f6f3;border-radius:10px;margin:0;padding:12px;font-size:14px;line-height:1.55}.scope-note{color:var(--muted);border-top:1px solid #e7eeea;margin:14px 0 0;padding-top:13px;font-size:13px;line-height:1.55}.editor-actions{grid-area:actions;gap:8px;display:flex}.privacy-page .editor-actions .button{text-align:center;flex:1 1 0;gap:8px;width:100%;min-height:52px;padding-inline:12px}.redact-button{justify-content:space-between!important}.redact-button span{background:#14282618;border-radius:20px;flex:none;padding:4px 8px;font-size:13px}@media (hover:hover) and (pointer:fine){.upload-hint{display:block}}@media (width<=900px){.review-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"preview""results";gap:12px}.review-layout.is-scanning{grid-template-areas:"preview"}.editor-actions{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;justify-content:center;position:fixed;bottom:0;left:0;right:0}.privacy-page.has-actions{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}@media (width<=600px){.privacy-page.page-width,.privacy-page.page-width:not(.is-editor){width:min(100% - 32px,520px)}.privacy-appbar{margin-bottom:22px}.privacy-brand{font-size:17px}.privacy-appbar .header-note{font-size:13px}.privacy-heading{padding:2px 0 20px}.privacy-heading h1{letter-spacing:-.025em;font-size:clamp(30px,8vw,34px)}.privacy-hook{max-width:430px;font-size:16px;line-height:1.55}.privacy-promise{margin-top:14px}.upload-card{gap:9px;min-height:232px;padding:18px 16px}.runtime-note{max-width:440px}.image-frame{min-height:180px}.image-canvas img{max-height:min(52dvh,520px)}.result-card{padding:17px 16px}.result-card h2{font-size:20px}.manual-tools{flex-direction:column;align-items:stretch;gap:8px}.privacy-page .manual-tools .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
