@font-face{font-family:HCG Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/HCG-Sans-Regular.woff2)format("woff2")}@font-face{font-family:HCG Sans;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/HCG-Sans-Medium.woff2)format("woff2")}@font-face{font-family:HCG Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/HCG-Sans-Bold.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/IBMPlexMono-SemiBold.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Regular.woff2)format("woff2")}@font-face{font-family:Pretendard;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Pretendard-Bold.woff2)format("woff2")}:root{--font-sans:"HCG Sans", "Pretendard", "Noto Sans KR", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", "HCG Sans", "Pretendard", "Consolas", "SF Mono", ui-monospace, monospace;--app-max:1920px;--app-margin:clamp(20px, 3vw, 48px);--measure:72ch;--topbar-h:64px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--ease:cubic-bezier(.25, .1, .25, 1);--bg:#fff;--surface:#f7f7f7;--surface-raised:#efefef;--border:#e7e7e7;--border-visible:#e0e0e0;--text-disabled:#999;--text-secondary:#767676;--text-primary:#333;--text-display:#111;--accent:#1f7a59;--accent-subtle:#eaf3ee;--invert:#fff;--point-yellow:#f4b400;--point-yellow-soft:#f4b40029}[data-theme=dark]{--bg:#111;--surface:#1a1a1a;--surface-raised:#222;--border:#333;--border-visible:#4d4d4d;--text-disabled:#767676;--text-secondary:#a8a8a8;--text-primary:#ededed;--text-display:#fff;--accent:#5fb090;--accent-subtle:#1f7a5938;--invert:#111;--point-yellow:#f6c445;--point-yellow-soft:#f6c44533}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);word-break:keep-all;-webkit-font-smoothing:antialiased;transition:background .3s var(--ease), color .3s var(--ease);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.container{max-width:var(--app-max);padding:0 var(--app-margin);margin:0 auto}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-main{padding-bottom:var(--space-4xl);flex:1 0 auto;width:100%}.page{padding-top:var(--space-2xl);padding-bottom:var(--space-4xl)}.app-main.home{padding-bottom:var(--space-xl)}@media (min-width:960px) and (min-height:720px){.app-main.home{flex-direction:column;justify-content:center;display:flex}}.label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);font-size:13px;font-weight:500;line-height:1.2}.mono{font-family:var(--font-mono)}.caption{letter-spacing:.04em;color:var(--text-secondary);font-size:13px;line-height:1.4}.topbar{border-bottom:1px solid var(--border);background:var(--bg);flex:none}.topbar-inner{justify-content:space-between;align-items:center;gap:var(--space-md);height:64px;display:flex}.brand{color:var(--text-display);align-items:baseline;gap:10px;display:flex}.brand .brand-ko{letter-spacing:-.01em;font-size:17px;font-weight:700}.brand .brand-en{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);font-size:13px;font-weight:500}.topbar nav{align-items:center;gap:var(--space-lg);display:flex}.topbar nav a{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-disabled);min-height:44px;transition:color .2s var(--ease);align-items:center;padding:14px 0;font-size:13px;font-weight:500;display:inline-flex}.topbar nav a:hover{color:var(--text-primary)}.topbar nav a.active{color:var(--text-display);box-shadow:inset 0 -2px 0 var(--accent)}.theme-toggle{align-items:center;gap:var(--space-sm);min-height:44px;padding:0 2px;display:inline-flex}.theme-toggle .track{border:1px solid var(--border-visible);width:40px;height:22px;transition:background .2s var(--ease);border-radius:999px;position:relative}.theme-toggle .thumb{background:var(--text-secondary);width:16px;height:16px;transition:transform .2s var(--ease), background .2s var(--ease);border-radius:999px;position:absolute;top:2px;left:2px}.theme-toggle[aria-pressed=true] .track{background:var(--text-display);border-color:var(--text-display)}.theme-toggle[aria-pressed=true] .thumb{background:var(--invert);transform:translate(18px)}.theme-toggle .label{color:var(--text-disabled)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:44px;transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease), opacity .12s var(--ease), transform .12s var(--ease);border-radius:999px;padding:12px 24px;font-size:13px;font-weight:500;display:inline-flex}.btn.primary{background:var(--text-display);color:var(--invert)}.btn.primary:hover:not(:disabled){opacity:.9;outline:1px solid var(--text-display);outline-offset:0}.btn.secondary{border:1px solid var(--border-visible);color:var(--text-primary)}.btn.secondary:hover:not(:disabled){border-color:var(--text-primary);background:var(--surface-raised)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.primary:active:not(:disabled){opacity:.8}.btn.secondary:active:not(:disabled){background:var(--surface-raised);border-color:var(--text-display)}.btn:focus-visible,.btn.primary:focus-visible,.btn.secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary:disabled{background:var(--surface-raised)}@media (prefers-reduced-motion:reduce){.btn:active:not(:disabled),.fc-btn:active:not(:disabled),.pf-chip:active{transform:none}}.hero{padding:var(--space-4xl) 0 var(--space-3xl)}@media (min-width:960px){.hero{gap:var(--space-3xl);padding:var(--space-lg) 0 var(--space-xl);grid-template-columns:minmax(0,46em) minmax(0,1fr);align-items:center;display:grid}.hero .dropzone{max-width:none}}.hero-content{min-width:0}.hero-art{min-width:0;color:var(--text-primary)}@media (max-width:959px){.hero-art{margin-top:var(--space-2xl);max-width:440px;margin-left:auto;margin-right:auto}}@media (max-width:600px){.hero-art{display:none}}.hero-illus{width:100%;max-width:560px;margin-inline:auto}.hero-art-img{width:auto;max-width:min(560px,100%);height:auto;max-height:min(62vh,560px);margin-inline:auto;display:block}[data-theme=dark] .hero-art-img{filter:invert()hue-rotate(180deg)}.hero h1{letter-spacing:-.02em;color:var(--text-display);max-width:18em;font-size:clamp(32px,3.4vw,44px);font-weight:700;line-height:1.16}.hero-highlight{background:var(--point-yellow-soft);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:3px;padding:.02em .14em}.hero .sub{margin-top:var(--space-lg);color:var(--text-secondary);max-width:42em;font-size:16px}.dropzone{margin-top:var(--space-xl);max-width:var(--measure);justify-content:center;align-items:center;gap:var(--space-md);border:1px solid var(--border-visible);background-color:var(--surface);background-image:radial-gradient(circle, var(--border-visible) 1px, transparent 1px);cursor:pointer;min-height:clamp(220px,26vh,320px);transition:border-color .2s var(--ease), background-color .2s var(--ease);background-size:16px 16px;border-radius:16px;flex-direction:column;display:flex}.dropzone:hover{border-color:var(--text-secondary)}.dropzone.dragover{border-color:var(--accent);background-color:var(--accent-subtle)}.dropzone .dz-primary{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-display);background:var(--bg);pointer-events:none;padding:6px 14px;font-size:clamp(14px,1.6vw,18px);font-weight:500}.dropzone .dz-hint{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-disabled);background:var(--bg);pointer-events:none;padding:2px 10px;font-size:13px}.section{margin-top:var(--space-4xl)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.section-head .title{color:var(--text-display);letter-spacing:-.01em;font-size:20px;font-weight:700}.inline-status{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);margin-top:var(--space-md);font-size:13px}.inline-status .ok{color:var(--accent)}.inline-status .err{color:var(--text-display);font-weight:600}.home-meta{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:var(--space-md) var(--space-2xl);flex-wrap:wrap;display:flex}.home-meta-info{gap:var(--space-sm);flex-direction:column;flex:34em;min-width:0;display:flex}.home-meta-lead{color:var(--text-secondary);max-width:68em;font-size:13px;line-height:1.6}.home-meta-sources{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px;display:flex}.home-meta-sources .src{position:relative}.home-meta-sources .src:not(:last-child):after{content:"·";color:var(--text-disabled);position:absolute;right:-8px}.home-meta-stages{color:var(--text-secondary);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.home-meta-stages .stage{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.home-meta-stages .stage .en{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);font-weight:500}.home-meta-glossary{align-items:flex-start;gap:var(--space-sm);flex-direction:column;flex:0 auto;display:flex}.home-meta-glossary .g-hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-disabled);font-size:13px}.home-meta-glossary .inline-status{margin-top:0}.cloud-panel{margin-top:var(--space-2xl);border:1px solid var(--border-visible);background:var(--surface);padding:var(--space-xl);border-radius:16px}.cloud-panel .label{margin-bottom:var(--space-sm);display:block}.cloud-panel .title{letter-spacing:-.01em;color:var(--text-display);font-size:20px;font-weight:700}.cloud-panel .desc{margin-top:var(--space-sm);color:var(--text-secondary);max-width:46em;font-size:14px}.cloud-panel .actions{margin-top:var(--space-lg)}table.list{border-collapse:collapse;width:100%}table.list th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--text-secondary);border-bottom:1px solid var(--border-visible);padding:10px 16px 10px 0;font-size:13px;font-weight:500}table.list td{border-bottom:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere;padding:18px 16px 18px 0;font-size:15px}table.list td.num{font-family:var(--font-mono);color:var(--text-secondary);white-space:nowrap;font-size:13px}table.list tr.clickable{cursor:pointer;transition:background .15s var(--ease)}table.list tr.clickable:hover td{background:var(--surface)}.file-name{color:var(--text-display);font-weight:500}.status{font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;color:var(--text-secondary);font-size:13px;font-weight:500}.status.running{color:var(--accent)}.status.failed{color:var(--text-display);font-weight:600}.segbar{gap:2px;width:min(180px,100%);display:flex}.segbar i{background:var(--border);flex:1;height:8px}.segbar i.f{background:var(--text-display)}.segbar.active i.f{background:var(--accent)}.report-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-2xl);padding:var(--space-3xl) 0 var(--space-2xl);flex-wrap:wrap;display:flex}.report-hero .doc{min-width:0;max-width:100%}.report-hero .doc .label{margin-bottom:var(--space-sm)}.report-hero .doc h1{letter-spacing:-.02em;color:var(--text-display);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(24px,3vw,40px);font-weight:700;line-height:1.15;overflow:hidden}.report-hero .doc .meta{margin-top:var(--space-md);color:var(--text-secondary);max-width:46em;font-size:14px}.hero-metric{text-align:right;flex-shrink:0}.hero-metric .value{font-family:var(--font-mono);letter-spacing:-.03em;color:var(--text-display);font-size:clamp(56px,8vw,112px);font-weight:600;line-height:1}.hero-metric .unit{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);margin-top:var(--space-sm);font-size:13px;font-weight:500}.hero-progress{flex:320px;max-width:560px}.hero-progress .segbar{width:100%;margin-top:var(--space-md)}.hero-progress .segbar i{height:16px}.hero-progress .pct{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--text-display);font-size:clamp(40px,6vw,72px);font-weight:600;line-height:1}.hero-progress .pct small{color:var(--text-secondary);letter-spacing:.04em;margin-left:6px;font-size:.35em;font-weight:500}.stat-row{gap:var(--space-2xl);padding:var(--space-lg) 0 var(--space-xl);border-top:1px solid var(--border-visible);flex-wrap:wrap;display:flex}.stat .label{margin-bottom:6px;display:block}.stat .value{font-family:var(--font-mono);color:var(--text-primary);font-size:28px;font-weight:500;line-height:1}.stat .value.accent{color:var(--accent);font-weight:600}.stat .value.dim{color:var(--text-disabled)}.stat .value .denom{color:var(--text-disabled);font-size:15px;font-weight:400}.stat-row.proc-row{gap:var(--space-xl);border-top:none;padding-top:0}.verify-pages{margin:0 0 var(--space-3xl)}.verify-pages .vp-head{justify-content:space-between;align-items:baseline;gap:var(--space-md);padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid var(--border-visible);display:flex}.verify-pages .vp-head .label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);font-size:13px;font-weight:500}.verify-pages .vp-head .caption{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);font-size:13px}.verify-pages .vp-scroll{max-height:420px;overflow-y:auto}.verify-pages .vp-table td.vp-label{font-family:var(--font-mono);color:var(--text-primary)}.verify-pages .stage-strip{flex-wrap:wrap;gap:6px;display:inline-flex}.verify-pages .stage-strip .sg{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-disabled);font-size:13px}.verify-pages .stage-strip .sg.done{color:var(--text-primary);font-weight:500}.verify-pages .lock-yes{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);white-space:nowrap;font-size:13px;font-weight:500}.verify-pages .lock-no{font-family:var(--font-mono);color:var(--text-disabled)}.export-row{gap:var(--space-sm);margin:var(--space-md) 0 var(--space-3xl);flex-wrap:wrap;display:flex}.filters{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.filters .chip{border:1px solid var(--border-visible);min-height:36px;color:var(--text-secondary);transition:color .2s var(--ease), border-color .2s var(--ease);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:inline-flex}.filters .chip .n{font-family:var(--font-mono);color:var(--text-disabled);font-size:13px}.filters .chip:hover{color:var(--text-primary)}.filters .chip.on{border-color:var(--text-display);color:var(--text-display);font-weight:500}.filters .chip.on .n{color:var(--text-display)}.findings{margin-top:var(--space-xl);border-top:1px solid var(--border-visible)}.finding{gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;grid-template-columns:88px minmax(0,1fr) auto;display:grid}.finding .fbody{max-width:var(--measure)}.finding .fstat{align-self:start;padding-top:2px}.finding .edited-note{font-family:var(--font-mono);color:var(--text-disabled);margin-top:2px;font-size:13px}.finding .edited-note .orig-sugg{color:var(--text-secondary);text-decoration:line-through}.finding .rail{padding-top:2px}.finding .rail .idx{font-family:var(--font-mono);color:var(--text-disabled);margin-bottom:var(--space-sm);font-size:13px;display:block}.finding .rail .type{color:var(--text-primary);font-size:13px;font-weight:500;display:block}.finding .rail .sev{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-disabled);margin-top:2px;font-size:13px;display:block}.finding .diff{font-size:18px;line-height:1.45}.finding .diff del{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--text-disabled);text-decoration-color:var(--text-disabled)}.finding .diff .arrow{font-family:var(--font-mono);color:var(--text-disabled);margin:0 10px;font-size:14px}.finding .diff ins{color:var(--accent);font-weight:700;text-decoration:none}.finding .ctx{margin-top:var(--space-sm);color:var(--text-secondary);font-size:13px}.finding .why{color:var(--text-disabled);margin-top:2px;font-size:13px}.finding .evidence{margin-top:var(--space-md);flex-direction:column;gap:6px;display:flex}.finding .evidence .row{color:var(--text-secondary);align-items:baseline;gap:10px;font-size:13px;display:flex}.finding .evidence .src{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:13px;font-weight:500}.finding .evidence .src.llm{color:var(--text-disabled)}.empty{padding:var(--space-4xl) var(--space-lg);text-align:center}.empty .headline{color:var(--text-secondary);font-size:16px}.empty .desc{margin-top:var(--space-sm);color:var(--text-disabled);font-size:14px}.loading{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);padding:var(--space-4xl) 0;text-align:center;font-size:13px}.ldl{white-space:nowrap}.ldl i{opacity:1;font-style:normal}.ldl i:nth-of-type(2){animation:1.2s step-end infinite ld-dot-2}.ldl i:nth-of-type(3){animation:1.2s step-end infinite ld-dot-3}@keyframes ld-dot-2{0%{opacity:0}33.4%{opacity:1}to{opacity:1}}@keyframes ld-dot-3{0%{opacity:0}66.7%{opacity:1}to{opacity:1}}.blink{animation:1.2s step-end infinite blink-hold}@keyframes blink-hold{0%{opacity:1}50%{opacity:.35}to{opacity:1}}@media (prefers-reduced-motion:reduce){.ldl i,.blink{opacity:1!important;animation:none!important}}.ws-shell{max-width:var(--app-max);padding:var(--space-lg) var(--app-margin) var(--space-4xl);margin:0 auto}.ws-appshell{display:block}.ws-top{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) 0 var(--space-lg);flex-wrap:wrap;display:flex}.ws-top .doc{flex:240px;min-width:0}.ws-top .doc .label{margin-bottom:4px;display:block}.ws-top .doc h1{letter-spacing:-.01em;color:var(--text-display);white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;line-height:1.25;overflow:hidden}.ws-hero{text-align:right;flex-shrink:0}.ws-hero .value{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--text-display);font-size:clamp(28px,3vw,44px);font-weight:600;line-height:1}.ws-hero .value b{color:var(--accent);font-weight:600}.ws-hero .unit{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);margin-top:6px;font-size:13px;font-weight:500}.ws-progress{margin-bottom:var(--space-lg);gap:2px;display:flex}.ws-progress i{background:var(--border);flex:1;height:10px}.ws-progress i.l{background:var(--accent)}.ws-export{justify-content:space-between;align-items:center;gap:var(--space-md);border:1px solid var(--border);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-xl);border-radius:12px;flex-wrap:wrap;display:flex}.ws-export.done{border-color:var(--accent)}.ws-export .title{color:var(--text-primary);margin-top:4px;font-size:14px}.ws-export.done .title{color:var(--text-display);font-weight:700}.ws-export-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.ws-grid{gap:var(--space-xl);grid-template-columns:240px minmax(0,1fr) 400px;align-items:start;display:grid}.ws-nav{top:var(--space-lg);position:sticky}.ws-nav ol{max-height:calc(100vh - 220px);list-style:none;overflow-y:auto}.ws-nav .pg{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:left;width:100%;min-height:36px;transition:background .15s var(--ease);border-left:2px solid #0000;padding:8px 10px 8px 12px;display:flex}.ws-nav .pg:hover{background:var(--surface)}.ws-nav .pg.cur{border-left-color:var(--accent);background:var(--surface)}.ws-nav .pg .no{font-family:var(--font-mono);color:var(--text-secondary);font-size:13px}.ws-nav .pg.s-pending .no{color:var(--text-disabled)}.ws-nav .pg.s-review .no,.ws-nav .pg.cur .no{color:var(--text-display);font-weight:600}.ws-nav .pg .st{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap;font-size:13px}.ws-nav .pg .st.rv{color:var(--text-display);font-weight:600}.ws-nav .pg .st.ck{color:var(--text-primary)}.ws-nav .pg .st.lk{color:var(--accent);font-weight:600}.ws-canvas{min-width:0;position:relative}.ws-scanlayer{z-index:1;gap:var(--space-sm);background:var(--bg);border:1px solid var(--border-visible);padding:var(--space-md);margin-bottom:var(--space-lg);animation:scanlayer-in .18s var(--ease);border-radius:12px;flex-direction:column;display:flex;position:sticky;top:0}.ws-scanlayer.leaving{opacity:0;transition:opacity .2s var(--ease)}@keyframes scanlayer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ws-scanlayer{animation:none}.ws-scanlayer.leaving{transition:none}}.ws-scanlayer .row{align-items:center;gap:var(--space-md);min-height:24px;display:flex}.ws-scanlayer .lbl{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-display);flex:none;font-size:13px;font-weight:500}.ws-scanlayer .stgs{align-items:center;gap:var(--space-sm);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.ws-scanlayer .stg{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-disabled);white-space:nowrap;font-size:13px}.ws-scanlayer .stg.running{color:var(--text-primary)}.ws-scanlayer .stg.done{color:var(--text-display);font-weight:500}.ws-scanlayer .stg.failed{color:var(--text-display);border:1px solid var(--border-visible);border-radius:999px;padding:1px 8px}.ws-scanlayer .pct{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-display);text-align:right;flex:none;min-width:5ch;font-size:16px;font-weight:500;line-height:24px}.ws-scanlayer .segbar{flex:auto;width:auto;min-width:0}.ws-scanlayer .track{background:var(--border);flex:auto;min-width:0;height:8px}.ws-scanlayer .num{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);white-space:nowrap;flex:none;font-size:13px}.ws-scanlayer .counting{font-family:var(--font-sans);color:var(--text-secondary);flex:none;font-size:13px}.ws-banner{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);border:1px solid var(--border-visible);margin-bottom:var(--space-lg);padding:10px 14px;font-size:13px;font-weight:500}.ws-para{color:var(--text-primary);margin-bottom:var(--space-lg);overflow-wrap:anywhere;font-size:17px;line-height:1.75}mark.hl{background:var(--surface-raised);color:inherit;cursor:pointer;border-bottom:2px solid #0000;padding:1px 0}mark.hl.sel{border-bottom-color:var(--accent)}mark.hl.done{background:0 0}mark.hl del{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--text-disabled);text-decoration-color:var(--text-disabled)}mark.hl ins{color:var(--accent);margin-left:4px;font-weight:700;text-decoration:none}.ws-canvas.locked mark.hl{cursor:default}.ws-panel{top:var(--space-lg);max-height:calc(100vh - 180px);position:sticky;overflow-y:auto}.ws-panel .panel-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md);display:flex}.panel-filter{gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border);flex-direction:column;display:flex}.pf-row{flex-wrap:wrap;gap:6px;display:flex}.pf-chip{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border-visible);min-height:32px;color:var(--text-secondary);transition:background .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease), transform .12s var(--ease);border-radius:999px;align-items:center;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.pf-chip:hover{color:var(--text-primary);border-color:var(--text-secondary)}.pf-chip:active{background:var(--surface-raised);transform:translateY(1px)}.pf-chip.on{color:var(--text-display);border-color:var(--text-display);font-weight:600}.fc{border:1px solid var(--border);padding:var(--space-md);margin-bottom:var(--space-md);cursor:pointer;transition:border-color .15s var(--ease);overflow-wrap:anywhere;border-radius:12px}.fc.sel{border-color:var(--text-display)}.fc.compact{padding:6px var(--space-md)}.fc-compact{justify-content:space-between;align-items:center;gap:var(--space-sm);text-align:left;width:100%;min-height:32px;padding:0;display:flex}.fc.compact .diff{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:14px;line-height:1.4;overflow:hidden}.fc.compact .diff del,.fc.compact .diff ins{color:var(--text-secondary);font-weight:400}.fc.compact .badge{flex-shrink:0}.fc .head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.fc .head-r{align-items:center;gap:var(--space-sm);flex-shrink:0;display:inline-flex}.fc-toggle{width:20px;height:20px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;font-size:13px;line-height:1;display:inline-flex}.fc-toggle:hover{color:var(--text-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700}.badge.b-pending{color:var(--text-secondary);border-color:var(--border-visible)}.badge.b-accepted{color:var(--invert);background:var(--accent)}.badge.b-modified{color:var(--accent);border-color:var(--accent)}.badge.b-rejected{color:var(--text-secondary);border-color:var(--border);text-decoration:line-through}.fc .diff{font-size:15px;line-height:1.5}.fc .diff del{color:var(--text-secondary);text-decoration:line-through;-webkit-text-decoration-color:var(--text-disabled);text-decoration-color:var(--text-disabled)}.fc .diff .arrow{font-family:var(--font-mono);color:var(--text-disabled);margin:0 8px;font-size:13px}.fc .diff ins{color:var(--accent);font-weight:700;text-decoration:none}.fc .why{color:var(--text-secondary);margin-top:6px;font-size:13px}.fc .ev{margin-top:var(--space-sm);color:var(--text-secondary);flex-direction:column;gap:4px;font-size:13px;display:flex}.fc .ev .row{align-items:baseline;gap:8px;display:flex}.fc .ev .src{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:500}.fc .ev .src.llm,.fc .ev .src.dim{color:var(--text-disabled)}.fc .ev strong{color:var(--text-primary);font-weight:500}.fc .ev-sum{flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:6px;display:flex}.fc .ev-sum .src{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:500}.fc .ev-sum .src.llm{font-family:var(--font-sans);letter-spacing:0;color:var(--text-disabled)}.fc-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.fc-btn{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border-visible);min-height:32px;color:var(--text-secondary);transition:background .12s var(--ease), color .12s var(--ease), border-color .12s var(--ease), transform .12s var(--ease);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500}.fc-btn:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.fc-btn:active:not(:disabled){background:var(--surface-raised);transform:translateY(1px)}.fc-btn.on{border-color:var(--accent);color:var(--accent);font-weight:700}.fc-btn.on-ink{border-color:var(--text-display);color:var(--text-display);font-weight:700}.fc-btn:disabled{opacity:.4;cursor:not-allowed}.fc-edit textarea{width:100%;min-height:64px;margin-top:var(--space-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--bg);border:1px solid var(--border-visible);resize:vertical;border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.5}.ws-actionbar{z-index:2;justify-content:space-between;align-items:center;gap:var(--space-lg);min-height:68px;margin-top:var(--space-xl);padding:var(--space-md) 0;background:var(--bg);border-top:1px solid var(--border-visible);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.ws-scan{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.ws-scan .btn{min-width:136px}.ws-scan .stx{color:var(--text-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ws-scan .stx input{width:14px;height:14px;accent-color:var(--accent)}.ws-scan .stx .k{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-disabled);font-size:13px}.ws-scan .stx.done{color:var(--text-disabled)}.ws-lock{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.ws-lock .btn.primary.ready:not(:disabled){outline:1px solid var(--accent);outline-offset:-1px;animation:lock-ready-pulse .3s var(--ease) 2}.ws-lock .btn.primary.ready:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes lock-ready-pulse{0%,to{opacity:1}50%{opacity:.7}}.ws-note{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);font-size:13px}.ws-note .err{color:var(--text-display);font-weight:700}.status-ko{color:var(--text-secondary);white-space:nowrap;margin-left:8px;font-size:13px}.footer{border-top:1px solid var(--border);flex:none}.footer-inner{justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:var(--space-lg);padding-bottom:var(--space-lg);font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-disabled);flex-wrap:wrap;font-size:13px;display:flex}@media (min-width:1281px){:is(html:has(.ws-shell),body:has(.ws-shell)){overflow:hidden}.ws-appshell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.ws-shell{flex-direction:column;flex:auto;min-height:0;padding-top:0;padding-bottom:0;display:flex;overflow:hidden}.ws-header{padding-bottom:var(--space-md);border-bottom:1px solid var(--border-visible);flex:none}.ws-header .ws-top{padding-top:var(--space-md);padding-bottom:var(--space-sm)}.ws-header .ws-progress{margin-bottom:var(--space-md)}.ws-header .ws-export{margin-bottom:0}.ws-grid{flex:auto;grid-template-rows:minmax(0,1fr);gap:0;min-height:0}.ws-nav,.ws-canvas,.ws-panel{height:100%;min-height:0;position:relative;overflow-y:auto}.ws-nav{border-right:1px solid var(--border-visible);padding:var(--space-lg) var(--space-lg) var(--space-lg) 0;top:auto}.ws-nav ol{max-height:none;overflow-y:visible}.ws-canvas{padding:var(--space-lg) var(--space-xl)}.ws-panel{background:var(--surface);border-left:1px solid var(--border-visible);max-height:none;padding:var(--space-lg);top:auto}.ws-actionbar{flex:none;margin-top:0;position:static}}@media (max-width:1280px){.ws-grid{grid-template-columns:200px minmax(0,1fr)}.ws-scanlayer{position:static}.ws-panel{grid-column:1/-1;max-height:none;position:static;overflow-y:visible}}@media (max-width:1024px){.report-hero{padding-top:var(--space-2xl)}}@media (max-width:768px){.topbar-inner{height:56px}.brand .brand-en{display:none}.hero{padding:var(--space-2xl) 0 var(--space-xl)}.report-hero{align-items:flex-start;gap:var(--space-xl);flex-direction:column}.hero-metric{text-align:left}.stat-row{gap:var(--space-lg) var(--space-xl)}.stat .value{font-size:22px}table.list th.optional,table.list td.optional{display:none}.finding{gap:var(--space-md);grid-template-columns:minmax(0,1fr)}.finding .rail{align-items:baseline;gap:var(--space-md);display:flex}.finding .rail .idx,.finding .rail .type,.finding .rail .sev{margin:0}.ws-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.ws-nav{position:static}.ws-nav ol{flex-wrap:wrap;gap:4px;max-height:30vh;display:flex;overflow-y:auto}.ws-nav .pg{border-left:none;border:1px solid var(--border);border-radius:8px;width:auto;padding:6px 10px}.ws-nav .pg.cur{border-color:var(--accent)}.ws-hero{text-align:left}.ws-top .doc{flex-basis:100%}}@media (max-width:480px){.topbar nav{gap:var(--space-md)}}
