:root{color-scheme:light;--white: #ffffff;--cool-50: #f7f8fa;--cool-100: #f2f4f6;--cool-200: #e5e8eb;--cool-300: #d1d6db;--paper-50: #fffdfa;--paper-100: #f5f3ee;--blue-600: #1b64da;--blue-700: #154fb0;--mac-red: #ff5f57;--mac-yellow: #febc2e;--mac-green: #28c840;--bg: #ffffff;--bg-alt: #f7f8fa;--surface: #ffffff;--surface-sunken: #f2f4f6;--hairline: #e5e8eb;--hairline-strong: #d1d6db;--paper: #fffdfa;--paper-chrome: #f5f3ee;--ink: #191f28;--text: #333d4b;--muted: #5f6a78;--accent: #1b64da;--accent-hover: #154fb0;--accent-wash: #eaf1fd;--resolved: #0f7a5c;--resolved-wash: #e3f3ec;--error: #b42318;--error-line: #e5484d;--error-wash: #fdecec;--warning: #8a5a00;--warning-line: #b8800a;--warning-wash: #fff4d6;--suggestion: #1b64da;--suggestion-line: #1b64da;--suggestion-wash: #eaf1fd;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--shadow-xs: 0 1px 2px rgba(25,31,40,.05), 0 2px 8px rgba(25,31,40,.04);--shadow-sm: 0 2px 8px rgba(25,31,40,.05), 0 6px 18px rgba(25,31,40,.05);--shadow-md: 0 6px 22px rgba(25,31,40,.09), 0 2px 6px rgba(25,31,40,.04);--shadow-lg: 0 15px 40px -2px rgba(25,31,40,.11), 0 5px 20px -2px rgba(25,31,40,.05);--sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Pretendard Variable", Pretendard, monospace;--fs-display: clamp(38px,4.4vw,58px);--fs-h2: clamp(26px,2.6vw,34px);--fs-h3: 20px;--fs-body-lg: 18px;--fs-body: 16px;--fs-sm: 14px;--fs-xs: 12px;--fs-sheet: 15px;--fs-meta: 13px;--lh-body: 1.7;--lh-tight: 1.25;--lh-ui: 1.5;--ease-out: cubic-bezier(.25,1,.5,1);--ease-enter: cubic-bezier(.16,1,.3,1);--ease-micro: cubic-bezier(.2,.8,.2,1);--dur-micro: .14s;--dur-ui: .2s;--dur-enter: .24s;--dur-draw: .6s;--dur-scan: 1.6s;--scale-hover: 1.015;--scale-active: .985;--gutter: 16px;--container: min(calc(100% - 2 * var(--gutter)),1264px);--nav-h: 72px;--section-pad: 96px;--button-primary-bg: var(--ink);--card-bg: var(--surface);--sheet-bg: var(--paper);--sheet-chrome-bg: var(--paper-chrome);--hero-card-width: 320px;--hero-card-gap: 8px;--hero-card-overlap: 16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:var(--fs-body);line-height:var(--lh-body);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button,a,input,select{transition:background-color var(--dur-ui) var(--ease-micro),color var(--dur-ui) var(--ease-micro),border-color var(--dur-ui) var(--ease-micro)}.btn{transition:background-color var(--dur-ui) var(--ease-micro),color var(--dur-ui) var(--ease-micro),border-color var(--dur-ui) var(--ease-micro),transform var(--dur-micro) var(--ease-micro)}.btn:active:not(:disabled){transform:scale(var(--scale-active))}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent-wash);color:var(--ink)}input{caret-color:var(--accent)}input::placeholder{color:var(--muted)}a{color:inherit;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);text-wrap:balance}p,dd,dt,li{text-wrap:pretty}svg{flex:0 0 auto}.mono,code{font-family:var(--mono);font-variant-numeric:tabular-nums}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-container{width:var(--container);margin-inline:auto}.main-content{flex:1;width:100%}.main-content:focus{outline:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-sm)}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-sm);font-size:var(--fs-body);font-weight:500;text-decoration:none}.btn-primary{background:var(--button-primary-bg);color:#fff}.btn-primary:hover{background:var(--text)}.btn-secondary{background:var(--surface);border-color:var(--hairline-strong)}.btn-secondary:hover{background:var(--bg-alt)}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:8px;border:0;padding:6px 0;background:transparent;color:var(--accent);font-size:var(--fs-sm);font-weight:500;text-decoration:none}.text-link:hover{color:var(--accent-hover);text-decoration:underline}.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--hairline)}.header-inner{min-height:var(--nav-h);display:flex;align-items:center;gap:24px;padding-inline:clamp(16px,3.2vw,56px)}.wordmark{display:inline-flex;align-items:center;gap:2px;border:0;padding:8px 0;background:transparent;color:var(--ink);font-size:22px;font-weight:600;letter-spacing:-.02em}.wordmark img{width:28px;height:28px;border-radius:7px}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--muted);font-size:var(--fs-sm);font-weight:500;text-decoration:none}.nav-link:hover{color:var(--ink)}.header-nav{margin-left:auto;display:flex;align-items:center;gap:20px}.preset-trigger{display:inline-grid;grid-template-columns:auto auto 16px;align-items:center;gap:10px;min-height:44px;padding:0 14px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm)}.preset-trigger:hover{background:var(--bg-alt)}.preset-label{color:var(--muted);font-size:var(--fs-xs)}.preset-trigger strong{font-size:var(--fs-sm);font-weight:500}.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 55% at 78% 40%,var(--accent-wash) 0%,transparent 70%);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:center;min-height:min(68svh,800px);padding:72px clamp(16px,3.2vw,56px) 88px}.hero-copy{grid-column:1 / 5;min-width:0;z-index:1}.hero-eyebrow{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--fs-sm)}.hero-copy h1{margin-top:18px;font-size:var(--fs-display);font-weight:500;line-height:1.14;letter-spacing:-.02em;word-break:keep-all;text-wrap:balance}.hero-description{max-width:34ch;margin-top:22px;color:var(--muted);font-size:var(--fs-body-lg);line-height:1.7;word-break:keep-all;text-wrap:pretty}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hero-real-link{margin-top:8px}.beta-note{margin-top:14px;color:var(--muted);font-size:var(--fs-sm)}.hero-scene{grid-column:5 / -1;min-width:0;margin-inline-end:-48px;z-index:1}.hero-stage{position:relative;min-height:614px;padding:0 calc(var(--hero-card-width) + var(--hero-card-gap) - 40px + var(--hero-card-overlap)) 0 0}.hero-sheet{position:relative;display:flex;flex-direction:column;width:min(100%,500px);height:600px;overflow:hidden;background:var(--sheet-bg);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.hero-sheet-chrome{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;background:var(--sheet-chrome-bg);border-bottom:1px solid var(--hairline)}.chrome-lights{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow-xs)}.chrome-lights i{width:12px;height:12px;border-radius:50%}.chrome-lights i:nth-child(1){background:var(--mac-red)}.chrome-lights i:nth-child(2){background:var(--mac-yellow)}.chrome-lights i:nth-child(3){background:var(--mac-green)}.chrome-title{justify-self:start;display:inline-flex;align-items:center;gap:8px;max-width:100%;height:32px;padding:0 10px 0 8px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow-xs);color:var(--ink);font-family:var(--sans);font-size:var(--fs-sm);font-weight:500}.chrome-file-mark{flex:0 0 auto;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--accent);color:var(--white);font-size:var(--fs-xs);font-weight:700;line-height:1}.chrome-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome-title svg{flex:0 0 auto;color:var(--muted)}.count-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.count-chip{color:var(--muted)}.count-chip:hover,.count-chip.is-active{color:var(--ink)}.count-number{display:inline-block;min-width:2ch;text-align:right}.sev-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.sev-dot.severity-error,.count-chip.severity-error{color:var(--error)}.sev-dot.severity-warning,.count-chip.severity-warning{color:var(--warning)}.sev-dot.severity-suggestion,.count-chip.severity-suggestion{color:var(--suggestion)}.count-error .sev-dot{background:var(--error)}.count-warning .sev-dot{background:var(--warning)}.count-suggestion .sev-dot{background:var(--suggestion)}.hero-counts{display:inline-flex;align-items:center;height:32px;background:var(--surface);border:0;border-radius:10px;box-shadow:var(--shadow-xs);font-family:var(--sans);font-size:var(--fs-meta)}.hero-counts>*{padding:0 10px;line-height:32px}.hero-counts .count-chip{min-height:0;background:transparent;border:0;border-radius:0;color:var(--text);font-size:var(--fs-meta)}.hero-counts .count-chip+.count-chip{border-left:1px solid var(--hairline)}.hero-counts .count-number{display:inline-block;min-width:1ch;text-align:right}.hero-manuscript-viewport{flex:1 1 auto;min-height:0;overflow:hidden;padding:28px 40px 0;mask-image:linear-gradient(#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),transparent)}.hero-manuscript{color:var(--text);font-size:var(--fs-sheet);line-height:1.7;transform:translateY(var(--sheet-offset,0));transition:transform var(--dur-draw) var(--ease-out)}.hero-paragraph{margin:0 0 12px}.hero-paragraph.is-title{margin-bottom:8px;color:var(--ink);font-size:20px;font-weight:700;line-height:1.35;text-align:center;text-wrap:balance}.hero-paragraph.is-byline{margin-bottom:28px;color:var(--muted);font-size:13px;line-height:1.5;text-align:center}.hero-paragraph.is-heading{margin:24px 0 12px;color:var(--ink);font-size:17px;font-weight:700;line-height:1.45}.hero-paragraph.is-caption,.hero-paragraph.is-reference{color:var(--muted);font-size:13.5px;line-height:1.55}.hero-sheet-status{flex:0 0 auto;display:flex;justify-content:space-between;gap:12px;padding:8px 14px;padding-right:calc(14px + var(--hero-card-overlap));background:var(--sheet-chrome-bg);border-top:1px solid var(--hairline);color:var(--text);font:400 var(--fs-xs)/1.5 var(--mono)}.hero-sheet-status span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flag-error,.flag-warning{text-underline-offset:3px;text-decoration-thickness:1.5px}.flag-error{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:var(--error-line)}.flag-warning{text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:var(--warning-line)}.flag-suggestion{text-decoration:none;padding:0 1px;background:color-mix(in srgb,var(--suggestion) 8%,transparent);border-bottom:1px solid color-mix(in srgb,var(--suggestion) 35%,transparent);border-radius:2px}.flag-error.is-active{background:var(--error-wash);border-radius:2px}.flag-warning.is-active{background:var(--warning-wash);border-radius:2px}.flag-suggestion.is-active{background:var(--suggestion-wash)}.hero-sheet.is-loading-flags .flag-error,.hero-sheet.is-loading-flags .flag-warning{text-decoration-color:transparent}.hero-sheet.is-loading-flags .flag-suggestion{background:transparent;border-bottom-color:transparent}.hero-scanline{position:absolute;z-index:2;left:0;top:0;width:100%;height:1px;background:color-mix(in srgb,var(--ink) 30%,transparent);animation:scan-sheet var(--dur-scan) var(--ease-out) .9s both;pointer-events:none}@keyframes scan-sheet{0%{transform:translateY(64px)}to{transform:translateY(560px)}}.hero-card-positioner{position:absolute;left:0;top:0;z-index:3;display:grid;width:min(var(--hero-card-width),calc(100% - 24px));visibility:hidden;transform:translate(var(--card-x,0px),var(--card-y,0px))}.hero-card-positioner.is-visible{visibility:visible}.hero-card-slot{grid-area:1 / 1;visibility:hidden;opacity:0}.hero-card-slot.is-active{visibility:inherit;opacity:1}.hero-scene-foot{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;margin-top:6px}.hero-caption{max-width:460px;color:var(--muted);font-size:var(--fs-xs);line-height:1.65}.hero-cycle-controls{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;min-height:44px}.suggestion-card{width:min(var(--hero-card-width),100%);padding:16px 18px;background:var(--card-bg);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-md);overflow-wrap:anywhere}.suggestion-card.is-detail{width:100%;padding:24px}.suggestion-eyebrow{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--fs-meta)}.suggestion-card h2{margin-top:8px;font-size:var(--fs-body);font-weight:600;line-height:1.5}.rule-id{display:block;margin-top:4px;color:var(--muted);font:400 var(--fs-xs)/1.5 var(--mono)}.suggestion-message{margin-top:10px;font-size:var(--fs-sm);line-height:1.65}.evidence-line{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;font-size:var(--fs-sm)}.evidence-line span{color:var(--muted);font-size:var(--fs-meta)}.evidence-line del{color:var(--muted)}.evidence-line ins{padding:1px 5px;background:var(--resolved-wash);border-radius:var(--r-sm);color:var(--resolved);text-decoration:none}.suggestion-explanation{margin-top:14px}.suggestion-explanation summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);cursor:pointer;font-size:var(--fs-xs);list-style:none}.suggestion-explanation summary::-webkit-details-marker{display:none}.suggestion-explanation summary svg{transition:transform var(--dur-micro) var(--ease-out)}.suggestion-explanation[open] summary svg{transform:rotate(180deg)}.suggestion-explanation p{font-size:var(--fs-sm);line-height:1.7}.source-rule{margin-top:9px;color:var(--muted);font-size:var(--fs-xs)!important}.suggestion-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.suggestion-actions .btn{min-height:44px;padding-inline:12px;font-size:var(--fs-meta)}.card-footnote{margin-top:12px;color:var(--muted);font-size:var(--fs-xs)}.copy-status{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--resolved);font-size:var(--fs-xs)}.manual-cycle{margin-top:4px}.source-quote{margin:16px 0 0;max-height:240px;overflow-y:auto;padding:14px;background:var(--paper);border-radius:var(--r-sm);font-size:var(--fs-sm);line-height:1.85}.source-quote.is-clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-height:none}.context-toggle{margin-top:4px;min-height:36px;font-size:var(--fs-meta)}.upload-band{border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.upload-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding:56px clamp(16px,3.2vw,56px)}.upload-copy h2{font-size:var(--fs-h2);font-weight:500;line-height:var(--lh-tight)}.privacy-note{display:flex;align-items:flex-start;gap:8px;margin-top:24px;color:var(--muted);font-size:var(--fs-sm);line-height:1.65}.privacy-note svg{margin-top:4px}.dropzone-target{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.dropzone-target:hover{border-color:var(--hairline-strong)}.dropzone-target.is-error{border-color:var(--error-line)}.dropzone-target.is-dragging{background:var(--accent-wash);border-color:var(--accent)}.upload-button{margin-top:20px}.file-hint{margin-top:12px;color:var(--muted);font-size:var(--fs-sm)}.inline-error{max-width:42ch;margin-top:10px;color:var(--error);font-size:var(--fs-sm);word-break:keep-all;text-wrap:pretty}.scope-section{display:grid;grid-template-columns:4fr 8fr;gap:48px;padding:var(--section-pad) clamp(16px,3.2vw,56px)}.scope-heading img{display:block;margin-bottom:14px;height:36px;width:auto}.scope-heading h2{font-size:var(--fs-h2);font-weight:500;line-height:1.25}.scope-list{margin:0}.scope-list>div{display:grid;grid-template-columns:160px 1fr 200px;gap:20px;align-items:center;padding:24px 0;border-top:1px solid var(--hairline)}.scope-list dt{color:var(--ink);font-size:var(--fs-body);font-weight:600}.scope-list dd{margin:0;color:var(--text);font-size:var(--fs-body);line-height:1.6}.scope-example{justify-self:end;padding:7px 9px;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-sm);font:400 var(--fs-sm)/1.6 var(--mono);white-space:nowrap}.analysis-state{position:relative;padding:56px clamp(16px,3.2vw,56px) 72px;overflow:hidden}.analysis-copy{max-width:560px;margin-bottom:34px}.analysis-illustration{display:block;width:112px;height:auto;margin-bottom:16px}.analysis-copy h1{font-size:24px;font-weight:500}.analysis-copy p{margin-top:10px;color:var(--muted)}.analysis-private{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm)}.analysis-skeleton{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(320px,380px);gap:24px;min-height:470px}.analysis-skeleton>div{background:var(--bg-alt);border:1px solid var(--hairline);border-radius:var(--r-md)}.analysis-scanline{position:absolute;left:0;right:0;top:160px;height:1px;background:color-mix(in srgb,var(--ink) 30%,transparent);animation:analyze-scan 1.2s var(--ease-out) both}@keyframes analyze-scan{to{transform:translateY(460px)}}.error-state{max-width:560px;margin:96px auto;padding:32px;background:var(--surface);border:1px solid var(--hairline);border-left:3px solid var(--error-line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.error-state svg{color:var(--error)}.error-state h1{margin-top:12px;font-size:22px;font-weight:500}.error-state p{margin-top:10px;color:var(--muted)}.error-state .btn{margin-top:24px}.result-card-dialog{box-sizing:border-box;width:min(1280px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:20px;overflow:auto;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-md);color:var(--text)}.result-card-dialog::backdrop{background:color-mix(in srgb,var(--ink) 32%,transparent)}.result-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.result-card-header h2{font-size:var(--fs-h3);font-weight:500}.result-card-preview{display:block;width:100%;height:auto;border:1px solid var(--hairline)}.result-card-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.result-card-controls label{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:var(--fs-sm);cursor:pointer}.result-card-controls input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.result-card-controls>div{display:flex;flex-wrap:wrap;gap:8px}.result-card-error{margin-top:8px;color:var(--error);font-size:var(--fs-sm)}.severity-filters{display:grid;gap:6px;margin-top:12px}.severity-filters button{width:100%;min-height:44px;justify-content:space-between;border-color:transparent;background:transparent}.severity-filters button:hover{background:var(--surface)}.severity-filters button.is-active{background:var(--surface);border-color:var(--hairline-strong);box-shadow:var(--shadow-xs)}.category-label{display:block;margin:20px 0 7px;color:var(--muted);font-size:var(--fs-xs)}select{width:100%;min-height:44px;padding:0 12px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);font-size:var(--fs-sm)}.morph-toggle{margin-top:20px;padding-top:16px;border-top:1px solid var(--hairline)}.morph-toggle label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-sm);font-weight:600;color:var(--ink);cursor:pointer}.morph-toggle input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.morph-toggle p{margin-top:4px;color:var(--muted);font-size:var(--fs-xs);line-height:1.6}.morph-toggle p.is-error{color:var(--error)}.search-field{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);color:var(--muted)}.search-field input{width:100%;min-width:0;border:0;background:transparent;outline:0;font-size:var(--fs-sm)}.issue-row-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:var(--fs-meta)}.issue-row-meta .sev-dot{margin-top:8px}.issue-message{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:var(--fs-sm);-webkit-line-clamp:1;-webkit-box-orient:vertical}.empty-state{padding:46px 20px;text-align:center;color:var(--resolved)}.empty-state.is-filter-empty{color:var(--muted)}.empty-state h3{margin-top:12px;font-size:var(--fs-h3);font-weight:500}.empty-state p{margin-top:8px;color:var(--muted);font-size:var(--fs-sm)}.empty-state .text-link{margin-top:10px}.preset-drawer{margin:0 0 0 auto;width:min(100%,480px);max-width:100%;height:100dvh;max-height:100dvh;padding:28px 32px 0;overflow-y:auto;background:var(--surface);border:0;color:var(--text);box-shadow:var(--shadow-lg)}.preset-drawer::backdrop{background:#191f2852}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.drawer-header h2{display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-h3);font-weight:600}.drawer-header h2 img{border-radius:50%}.icon-button{min-width:44px;min-height:44px;display:grid;place-items:center;border:0;border-radius:var(--r-sm);background:transparent}.icon-button:hover{background:var(--bg-alt)}.preset-list{margin-top:20px;border-top:1px solid var(--hairline)}.preset-list button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;background:transparent;border:0;border-bottom:1px solid var(--hairline);border-left:3px solid transparent;border-radius:0;text-align:left;font-size:var(--fs-sm)}.preset-list button:hover{background:var(--bg-alt)}.preset-list button.is-active{background:var(--accent-wash);border-left-color:var(--accent)}.preset-detail{margin-top:28px}.preset-detail h3{font-size:var(--fs-body-lg);font-weight:600}.preset-detail>p{margin-top:8px;color:var(--muted);font-size:var(--fs-sm)}.preset-rules{margin-top:20px}.preset-rules>div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--hairline);font-size:var(--fs-sm)}.preset-rules dt{color:var(--muted)}.preset-rules dd{margin:0}.preset-rules small{display:block;margin-top:2px;color:var(--muted);font-size:var(--fs-xs)}.preset-caveat{padding:14px;background:var(--bg-alt);border-radius:var(--r-sm)}.preset-detail .text-link{margin-top:10px;margin-bottom:8px}.preset-links{display:flex;flex-wrap:wrap;gap:0 20px}.drawer-actions{position:sticky;bottom:0;margin-top:24px;padding:16px 0 28px;background:var(--surface)}.apply-preset{position:static;width:100%;margin-top:0}.site-footer{border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:32px clamp(16px,3.2vw,56px)}.footer-wordmark{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:var(--fs-sm);font-weight:500}.footer-wordmark img{width:18px;height:18px;border-radius:6px}.footer-private{display:flex;align-items:center;gap:6px}.footer-links{display:flex;align-items:center;gap:16px;margin-left:auto}.footer-pricing-link{min-width:44px;justify-content:center}.pricing-page{padding:var(--section-pad) clamp(16px,3.2vw,56px)}.pricing-page>h1{font-size:var(--fs-h2);font-weight:500;line-height:var(--lh-tight)}.pricing-beta-copy{margin-top:8px;color:var(--muted)}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin-top:28px}.pricing-card{min-width:0;padding:24px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md)}.pricing-card.is-advanced{border-color:var(--accent)}.pricing-plan-name{color:var(--muted);font-size:var(--fs-sm);font-weight:500;line-height:var(--lh-ui)}.pricing-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:10px;color:var(--ink)}.pricing-amount{font-size:var(--fs-price);font-weight:600;line-height:var(--lh-tight);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.pricing-unit{color:var(--muted);font-size:var(--fs-sm)}.pricing-target{margin-top:8px;color:var(--muted);font-size:var(--fs-sm)}.badge-beta{padding:2px 8px;background:var(--accent-wash);border-radius:var(--r-sm);color:var(--accent);font-size:var(--fs-xs);font-weight:500}.pricing-lead-in{margin-top:20px;color:var(--muted);font-size:var(--fs-sm)}.pricing-features{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none;color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-ui)}.pricing-features li{display:flex;align-items:flex-start;gap:10px}.pricing-features svg{margin-top:2px;color:var(--muted)}.pricing-card .btn{width:100%;margin-top:20px}.pricing-soon{max-width:760px;margin-top:16px;padding:14px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm)}.pricing-faq{max-width:760px;margin-top:48px}.pricing-faq>h2{margin-bottom:8px;font-size:var(--fs-h3);font-weight:500}.pricing-faq details{border-top:1px solid var(--hairline)}.pricing-faq details:last-of-type{border-bottom:1px solid var(--hairline)}.pricing-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:4px 0;color:var(--ink);font-size:var(--fs-body);font-weight:500;cursor:pointer;list-style:none}.pricing-faq summary::-webkit-details-marker{display:none}.pricing-faq summary svg{color:var(--muted);transition:transform var(--dur-micro) var(--ease-out)}.pricing-faq details[open] summary svg{transform:rotate(180deg)}.pricing-faq details p{max-width:64ch;padding-bottom:18px;color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-body)}.pricing-faq details .text-link{margin:-6px 0 10px}.pricing-privacy{max-width:760px;margin-top:24px;color:var(--muted);font-size:var(--fs-xs)}.seo-page{padding:var(--section-pad) clamp(16px,3.2vw,56px)}.seo-content{max-width:720px;margin-inline:0}.seo-eyebrow{margin-bottom:8px;color:var(--muted);font-size:var(--fs-sm)}.seo-content>h1{font-size:var(--fs-h2);font-weight:500;line-height:var(--lh-tight)}.seo-lead{margin-top:12px;color:var(--muted);line-height:var(--lh-body)}.seo-metadata{margin:28px 0 0;border-top:1px solid var(--hairline)}.seo-metadata>div{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--hairline)}.seo-metadata dt{color:var(--muted)}.seo-metadata dd{margin:0;color:var(--text)}.seo-anchor-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.seo-anchor-nav a{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);color:var(--ink);font-size:var(--fs-sm);font-weight:500;text-decoration:none}.seo-anchor-nav a:hover{background:var(--bg-alt)}.seo-count{color:var(--muted);font-size:var(--fs-sm);font-weight:400;font-variant-numeric:tabular-nums}.seo-rules{margin-top:32px;scroll-margin-top:calc(var(--nav-h) + 16px)}.seo-rules+.seo-rules{margin-top:40px}.seo-related{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-top:40px;padding-top:12px;border-top:1px solid var(--hairline)}.seo-related>span{color:var(--muted);font-size:var(--fs-sm)}.seo-rules>h2,.seo-cta>h2{font-size:var(--fs-h3);font-weight:500}.seo-rule-list{margin:16px 0 0;padding:0;list-style:none}.seo-rule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);grid-template-areas:"title example" "summary example";gap:6px 24px;align-items:start;padding:14px 0;border-top:1px solid var(--hairline)}.seo-rule h2,.seo-rule h3{grid-area:title;font-size:var(--fs-body);font-weight:500}.seo-rule p{grid-area:summary;color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.seo-rule-example{grid-area:example;justify-self:start;max-width:100%;white-space:normal;overflow-wrap:anywhere}.seo-cta{display:grid;justify-items:start;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--hairline)}.seo-cta p{color:var(--muted)}.seo-cta .btn{margin-top:4px}@media(prefers-reduced-motion:no-preference){.hero-sheet{animation:sheet-enter .5s var(--ease-enter) both}.hero-card-positioner.is-visible{animation:card-enter var(--dur-ui) var(--ease-enter) both}.hero-card-slot{transform:translateY(8px);transition:opacity var(--dur-ui) var(--ease-enter),transform var(--dur-ui) var(--ease-enter)}.hero-card-slot.is-active{transform:none}.count-number.is-ready{animation:count-enter .4s var(--ease-enter) both}.preset-drawer[open]{animation:drawer-enter var(--dur-enter) var(--ease-enter) both}.pay-sheet[open],.result-card-dialog[open]{animation:dialog-enter var(--dur-ui) var(--ease-enter) both}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)}}@keyframes sheet-enter{0%{opacity:0;transform:translateY(12px)}}@keyframes card-enter{0%{opacity:0;transform:translate(var(--card-x,0px),calc(var(--card-y,0px) + 8px))}}@keyframes count-enter{0%{opacity:0;transform:translateY(4px)}}@keyframes drawer-enter{0%{opacity:.7;transform:translate(24px)}}}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled){transform:scale(var(--scale-hover))}.text-link:hover svg,.btn:hover svg.arrow{transform:translate(3px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.hero-scanline,.analysis-scanline{display:none}}@media(min-width:768px){:root{--gutter: 32px}}@media(min-width:1150px){:root{--gutter: 56px}}@media(min-width:1400px){.hero-sheet{width:min(100%,540px)}}@media(max-width:1399px){.hero-sheet-chrome{gap:8px}.chrome-lights{padding:0 10px}.chrome-title{gap:6px;padding:0 8px 0 6px}.hero-counts>*{padding:0 8px}}@media(max-width:1279px){.chrome-title{display:none}}@media(max-width:1150px){:root{--section-pad: 64px}.hero-scene{margin-inline-end:-24px}.scope-list>div{grid-template-columns:150px 1fr}.scope-example{grid-column:2;justify-self:start}.analysis-skeleton{grid-template-columns:170px minmax(0,1fr) 300px;gap:18px}}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0;padding-top:44px}.hero-copy,.hero-scene{grid-column:1;margin:0}.hero-stage{max-width:760px;margin-inline:auto;padding-right:calc(var(--hero-card-width) + var(--hero-card-gap))}.hero-sheet-status{padding-right:14px}.hero-copy{max-width:640px}.upload-grid,.scope-section{grid-template-columns:1fr}.analysis-skeleton{grid-template-columns:160px 1fr}.analysis-skeleton>div:last-child{grid-column:1 / -1;height:210px}}@media(max-width:767px){:root{--nav-h: 60px;--section-pad: 56px}.header-inner{gap:10px}.nav-link:not(.session-login){display:none}.preset-label{display:none}.preset-trigger{gap:7px;padding-inline:10px}.hero-grid{padding-block:24px 52px}.hero-stage{min-height:0;padding:0}.hero-sheet{width:100%;height:360px}.hero-sheet-chrome{grid-template-columns:auto minmax(0,1fr);padding:8px 10px}.hero-counts{justify-self:end}.hero-manuscript-viewport{padding:20px 20px 0;mask-image:none;-webkit-mask-image:none}.hero-manuscript{font-size:13px}.hero-paragraph.is-title{font-size:16px}.hero-paragraph.is-heading{font-size:14px}.hero-paragraph.is-caption,.hero-paragraph.is-reference{font-size:12px}.hero-sheet-status{display:none}.hero-card-positioner{position:relative;width:calc(100% - 24px);margin:calc(var(--hero-mobile-band) - 360px) 12px 8px;transform:none}.suggestion-card{width:100%}.hero-scene-foot{flex-direction:column;align-items:flex-start;gap:0;margin-top:2px}.hero-copy h1{font-size:34px;overflow-wrap:anywhere}.hero-description{font-size:var(--fs-body)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.upload-grid{padding-block:52px;gap:30px}.analysis-illustration{display:none}.scope-section{gap:30px}.scope-list>div{grid-template-columns:1fr;gap:8px}.scope-example{grid-column:1}.analysis-state{padding-inline:16px}.analysis-skeleton{grid-template-columns:1fr;min-height:520px}.analysis-skeleton>div:last-child{grid-column:1}.error-state{margin:56px 16px}.preset-drawer{padding:24px 24px 0}.drawer-actions{padding-bottom:24px}.footer-inner{flex-wrap:wrap}.footer-inner>p{order:3;width:100%}.pricing-grid{grid-template-columns:minmax(0,1fr)}}:root{--container-wide: min(calc(100% - 2 * var(--gutter)),1600px)}.app-shell.is-workspace .app-container{--container: var(--container-wide)}.docs-home{padding:48px clamp(16px,3.2vw,56px) 96px}.docs-heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.docs-heading-row h1{font-size:var(--fs-h2);font-weight:500;line-height:var(--lh-tight)}.docs-actions{display:flex;align-items:center;gap:16px}.docs-clear-button{white-space:nowrap;color:var(--muted)}.docs-clear-button:hover,.docs-clear-button:focus-visible,.docs-clear-button.is-confirming{color:var(--error)}.docs-status{color:var(--muted);font-size:var(--fs-sm)}.docs-status:not(:empty){margin-top:10px}.docs-privacy{display:flex;align-items:center;gap:7px;margin-top:14px;color:var(--muted);font-size:var(--fs-sm)}.docs-storage-warning{margin-top:10px;color:var(--error);font-size:var(--fs-sm)}.docs-content{margin-top:28px;padding:1px;border-radius:var(--r-md)}.docs-content.is-dragging{outline:1px solid var(--accent);background:var(--accent-wash)}.docs-loading{padding:32px 0;color:var(--muted);font-size:var(--fs-sm)}.docs-empty-state{text-align:center}.docs-empty-dropzone{width:min(100%,560px);min-height:220px;margin-inline:auto}.docs-sample-link{margin-top:8px}.docs-group+.docs-group{margin-top:28px}.docs-group h2{margin-bottom:16px;color:var(--muted);font-size:var(--fs-xs);font-weight:600}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.doc-card{position:relative;min-width:0;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md)}.doc-card:hover{border-color:var(--hairline-strong);box-shadow:var(--shadow-xs)}.doc-card:focus-within{outline:2px solid var(--accent);outline-offset:3px}.doc-card-link{min-height:132px;display:grid;align-content:start;gap:10px;padding:16px 54px 16px 16px;color:inherit;text-decoration:none}.doc-card-heading{min-width:0;display:flex;align-items:center;gap:8px;color:var(--muted)}.doc-card-heading svg{flex:0 0 auto}.doc-card-name{overflow:hidden;color:var(--ink);font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.badge-sample{flex:0 0 auto;padding:1px 6px;background:var(--bg-alt);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-xs)}.doc-card-meta{overflow:hidden;color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.doc-card-counts{display:flex;flex-wrap:wrap;gap:5px}.doc-card-counts .count-chip{min-height:28px;padding-inline:7px;font-size:var(--fs-xs)}.doc-card-error{color:var(--error);font-size:var(--fs-sm)}.doc-card-menu-button{position:absolute;top:8px;right:8px;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;border-radius:var(--r-sm);color:var(--muted)}.doc-card-menu-button:hover{background:var(--bg-alt)}.doc-card-menu{position:absolute;z-index:2;top:50px;right:8px;min-width:132px;padding:4px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--shadow-sm)}.doc-card-menu button{width:100%;min-height:44px;padding:0 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--error);text-align:left}.doc-card-menu button:hover{background:var(--error-wash)}.review-bar{position:sticky;top:var(--nav-h);z-index:5;width:var(--container-wide);height:56px;display:flex;align-items:center;gap:16px;margin-inline:auto;padding-inline:clamp(16px,3.2vw,56px);background:var(--bg);border-bottom:1px solid var(--hairline)}.review-back{flex:0 0 auto;white-space:nowrap}.review-filename{min-width:0;max-width:40ch;overflow:hidden;color:var(--ink);font-family:var(--mono);font-size:var(--fs-sm);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.counts-pill{flex:0 0 auto;display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm)}.counts-pill .count-chip{min-height:32px;padding-inline:8px;border:0;border-radius:0;font-size:var(--fs-meta)}.counts-pill .count-chip+.count-chip{border-left:1px solid var(--hairline)}.review-bar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.review-bar-actions .btn{min-height:44px;padding-inline:10px;font-size:var(--fs-sm);white-space:nowrap}.review-more{position:relative;display:none}.review-more-menu{position:absolute;z-index:6;top:48px;right:0;min-width:148px;padding:4px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-sm);box-shadow:var(--shadow-sm)}.review-more-menu button{width:100%;min-height:44px;padding:0 12px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);text-align:left;font-size:var(--fs-sm);white-space:nowrap}.review-more-menu button:hover{background:var(--bg-alt)}.review-meta-strip{width:var(--container-wide);display:flex;align-items:center;justify-content:space-between;gap:16px;margin-inline:auto;padding:8px clamp(16px,3.2vw,56px) 0;color:var(--muted);font-size:var(--fs-xs)}.review-meta-strip>span:last-child{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.review-layout{width:100%;max-width:1600px;display:grid;grid-template-columns:minmax(0,1fr) 384px;gap:24px;align-items:start;margin-inline:auto;padding:24px clamp(16px,3.2vw,56px) 72px}.doc-sheet{min-width:0;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.doc-body{max-width:720px;margin-inline:auto;padding:40px 40px 72px}.doc-paragraph{position:relative;isolation:isolate;margin:0 0 14px;color:var(--text);font-size:var(--fs-sheet);line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;content-visibility:auto;contain-intrinsic-size:0 48px;scroll-margin-top:calc(var(--nav-h) + 56px + 24px);scroll-margin-bottom:72px}.doc-paragraph.is-heading{margin-top:24px;margin-bottom:12px;color:var(--ink);font-weight:700;line-height:1.45}.doc-paragraph.is-heading.is-level-1{font-size:var(--fs-h3)}.doc-paragraph.is-heading.is-level-2{font-size:var(--fs-body-lg)}.doc-paragraph.is-heading.is-level-3{font-size:var(--fs-body)}.doc-paragraph.is-caption{color:var(--muted);font-size:var(--fs-meta);text-align:center}.doc-paragraph.is-reference{color:var(--muted);font-size:var(--fs-sm)}.doc-paragraph.is-title{margin-bottom:18px;color:var(--ink);font-size:var(--fs-h3);font-weight:700;text-align:center}.doc-paragraph.is-current,.doc-paragraph.is-related{margin-left:-16px;padding-left:13px}.doc-paragraph.is-current{box-shadow:inset 3px 0 var(--accent)}.doc-paragraph.is-related{box-shadow:inset 3px 0 var(--hairline-strong)}.doc-paragraph.is-pulse:after{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;content:"";background:var(--accent-wash);animation:doc-pulse .4s var(--ease-out) both;pointer-events:none}@keyframes doc-pulse{0%{opacity:1}to{opacity:0}}.doc-paragraph .is-dimmed{opacity:1;text-decoration-color:var(--hairline-strong)}.doc-paragraph .flag-suggestion.is-dimmed{background:transparent;border-bottom-color:var(--hairline-strong)}.doc-paragraph .flag-error.is-active{background:var(--error-wash)}.doc-paragraph .flag-warning.is-active{background:var(--warning-wash)}.doc-paragraph .flag-suggestion.is-active{background:var(--suggestion-wash)}.doc-paragraph [data-diagnostic-id]:focus-visible{border-radius:2px;outline:2px solid var(--accent);outline-offset:2px}.doc-table{width:100%;margin:20px 0;border-collapse:collapse;font-size:var(--fs-sm)}.doc-table td{min-width:48px;padding:6px;border:1px solid var(--hairline);vertical-align:top}.doc-table .doc-paragraph{font-size:var(--fs-sm);content-visibility:visible;contain-intrinsic-size:none}.doc-figure{min-height:96px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:16px 0;border:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm)}.doc-preview-empty{min-height:220px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.review-sidebar{position:sticky;top:calc(var(--nav-h) + 56px + 16px);max-height:calc(100dvh - var(--nav-h) - 56px - 32px);display:flex;flex-direction:column;min-width:0;padding:0 0 0 20px;border-left:1px solid var(--hairline)}.review-sheet-handle{display:none}.review-sidebar-head{flex:0 0 auto}.severity-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.severity-filters button{min-width:0;min-height:44px;justify-content:center;gap:4px;padding-inline:4px;font-size:var(--fs-meta)}.review-search-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;margin-top:12px}.review-list-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 4px;color:var(--muted);font-size:var(--fs-meta)}.rule-group-filters{display:flex;flex-wrap:wrap;gap:4px 2px}.rule-group-chip{flex:0 0 auto;min-height:44px;padding:0 6px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-meta);white-space:nowrap}.rule-group-chip:hover{color:var(--ink)}.rule-group-chip.is-active{background:var(--surface);border-color:var(--hairline-strong);color:var(--ink)}.review-list-region{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.review-list{overflow:hidden;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);outline:0}.review-list:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.review-card+.review-card{border-top:1px solid var(--hairline)}.review-card{border-left:3px solid var(--suggestion-line)}.review-card.is-selected{background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--accent)}.review-card-trigger[aria-expanded=true] .issue-message{display:none}.review-card.severity-error{border-left-color:var(--error-line)}.review-card.severity-warning{border-left-color:var(--warning-line)}.review-card.severity-suggestion{border-left-color:var(--suggestion-line)}.review-card-trigger{width:100%;min-height:72px;display:block;padding:12px;border:0;border-radius:0;background:transparent;text-align:left}.review-card-trigger:hover{background:var(--surface-sunken)}.review-card-trigger .issue-row-meta{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:var(--fs-meta)}.review-card-trigger .issue-row-meta .sev-dot{margin-top:8px}.review-card-trigger strong{display:block;margin-top:4px;color:var(--ink);font-size:var(--fs-body);font-weight:500;line-height:1.5}.review-card-trigger .issue-message{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--muted);font-size:var(--fs-sm);-webkit-line-clamp:1;-webkit-box-orient:vertical}.review-card-detail{padding:0 12px 12px}.review-card-detail .suggestion-card.is-detail{width:100%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.review-card-detail .suggestion-lead{display:grid;gap:4px}.review-card-detail .suggestion-lead .suggestion-message{margin-top:0}.review-card-detail .rule-id{margin:0;justify-self:end;float:none}.review-card-detail .suggestion-card h2{font-size:var(--fs-body)}.related-locations{margin-top:14px}.related-locations h3{margin-bottom:4px;color:var(--muted);font-size:var(--fs-xs);font-weight:600}.related-location{width:100%;min-height:44px;display:flex;align-items:center;gap:8px;padding:4px 0;border:0;background:transparent;color:var(--accent);text-align:left;font-size:var(--fs-sm)}.related-location:hover{text-decoration:underline}.related-location-empty{min-height:36px;display:flex;align-items:center;color:var(--muted);font-size:var(--fs-sm)}.ignored-diagnostics{padding:4px 8px}.ignored-diagnostics ul{margin:0;padding:0;list-style:none}.ignored-diagnostics li{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:var(--fs-xs)}.review-empty{color:var(--resolved)}.review-empty.is-filter-empty{color:var(--muted)}@media(max-width:1279px)and (min-width:1024px){.review-layout{grid-template-columns:minmax(0,1fr) 360px}}@media(max-width:1023px){.review-meta-strip{align-items:flex-start;flex-direction:column;gap:4px}.review-layout{display:block;padding-top:24px}.review-sidebar{border-left:0}.doc-body{padding:20px}.review-sidebar{position:fixed;z-index:8;top:auto;right:0;bottom:0;left:0;height:70dvh;max-height:70dvh;padding:0 16px 16px;overflow:hidden;background:var(--bg-alt);border:1px solid var(--hairline-strong);border-bottom:0;border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-lg);transform:translateY(calc(100% - 56px));transition:transform .24s var(--ease-enter)}.review-sidebar.is-expanded{transform:translateY(0)}.review-sheet-handle{flex:0 0 56px;width:calc(100% + 32px);min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-inline:-16px;padding:4px 16px 8px;border:0;border-bottom:1px solid var(--hairline);background:var(--bg-alt);color:var(--text);font-size:var(--fs-xs)}.review-sheet-grip{width:36px;height:4px;border-radius:4px;background:var(--hairline-strong)}.review-sidebar-head{padding-top:10px}.review-sidebar .review-list-region{padding-top:0}.review-list-region{max-height:none}.doc-paragraph{scroll-margin-bottom:72px}}@media(max-width:767px){.nav-link:not(.docs-nav-link):not(.session-login){display:none}.docs-nav-link,.session-login{display:inline-flex;min-width:44px;min-height:44px;font-size:var(--fs-xs)}.header-nav{gap:8px}.preset-trigger{grid-template-columns:auto 16px;max-width:132px;gap:6px;padding-inline:8px}.preset-trigger strong{overflow:hidden;font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.docs-home{padding-top:32px}.docs-heading-row{align-items:flex-start;flex-direction:column;gap:12px}.docs-actions{width:100%;justify-content:space-between}.docs-actions .btn{flex:1}.docs-grid{grid-template-columns:minmax(0,1fr)}.doc-body{padding:20px}.doc-table{display:block;overflow-x:auto}.review-bar{width:100%;gap:8px;padding-inline:16px}.review-back{min-height:44px;font-size:var(--fs-xs)}.review-filename{max-width:none}.counts-pill .count-chip{min-height:36px;padding-inline:4px;font-size:var(--fs-xs)}.review-bar-actions .review-action{display:none}.review-more{display:block}.review-meta-strip{width:100%;padding-inline:16px}}.session-notice{width:var(--container);min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px auto 0;padding:0 4px 0 12px;color:var(--text);background:var(--bg-alt);border:1px solid var(--hairline);border-radius:var(--r-sm);font-size:var(--fs-sm)}.session-notice p{min-width:0;padding-block:6px}.notice-link{color:var(--accent);text-decoration:underline}.notice-close{flex:0 0 auto;padding-inline:10px}.session-user{max-width:20ch;overflow:hidden;color:var(--muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.session-logout{flex:0 0 auto;padding:0;border:0;background:transparent;color:var(--accent);font-size:var(--fs-sm)}.auth-sidebar{min-height:220px;justify-content:center}.login-gate{display:grid;gap:12px;padding:24px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md)}.login-gate h2{font-size:var(--fs-h3);font-weight:600}.login-gate p{color:var(--muted);font-size:var(--fs-sm)}.auth-loading{color:var(--muted);font-size:var(--fs-sm);text-align:center}@media(max-width:1023px){.auth-sidebar{justify-content:flex-start}}@media(max-width:767px){.session-user{display:none}.session-logout{min-width:44px;justify-content:center;font-size:var(--fs-xs)}.auth-sidebar{padding:16px}}.review-consent{display:grid;gap:2px}.review-consent label{min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:var(--fs-sm);font-weight:600;cursor:pointer}.review-consent input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.review-consent>span{color:var(--muted);font-size:var(--fs-xs);line-height:1.6}.feedback-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.feedback-actions .text-link{padding:0 8px;border:0;background:transparent;color:var(--accent);font-size:var(--fs-sm)}.feedback-form{display:grid;gap:8px;margin-top:8px}.feedback-observed{display:flex;align-items:center;gap:8px;min-height:44px;color:var(--text);font-size:var(--fs-sm)}.feedback-observed input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.feedback-observed small{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.feedback-note{display:grid;gap:4px;color:var(--muted);font-size:var(--fs-sm)}.feedback-note textarea{width:100%;min-height:72px;padding:8px;resize:vertical;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);color:inherit;font:inherit;font-size:var(--fs-sm)}.feedback-form .btn{min-height:44px;justify-content:center}.feedback-error{color:var(--error);font-size:var(--fs-sm)}.feedback-status{margin-top:8px;color:var(--resolved);font-size:var(--fs-sm)}.issue-unlock{display:inline-flex;min-height:44px;align-items:center;margin-top:4px;color:var(--accent);font-size:var(--fs-sm)}.morph-locked-hint{min-height:44px;padding:0;border:0;background:transparent;color:var(--accent);text-align:left;font-size:var(--fs-sm)}.pay-sheet{position:fixed;inset:0 0 0 auto;width:min(480px,100vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;overflow-y:auto;background:var(--surface);border:0;border-left:1px solid var(--hairline);color:var(--text)}.pay-sheet::backdrop{background:color-mix(in srgb,var(--ink) 48%,transparent)}.pay-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.pay-sheet-header h2{font-size:var(--fs-h3);font-weight:600}.pay-sheet-header .text-link{min-width:44px;justify-content:center;border:0;background:transparent;color:var(--accent)}.pay-sheet-price{margin-top:20px;color:var(--ink);font-size:var(--fs-h2);font-weight:600}.pay-sheet-features{margin:16px 0;padding-left:20px;color:var(--text);font-size:var(--fs-sm)}.pay-sheet-features li+li{margin-top:6px}.pay-sheet-document{overflow-wrap:anywhere;padding:12px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm)}.pay-provider-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.pay-provider-tabs [role=tab]{min-height:44px;padding:0 8px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);font-size:var(--fs-sm)}.pay-provider-tabs [aria-selected=true]{border-color:var(--accent);color:var(--accent)}.toss-methods{min-height:220px;margin-top:12px}.toss-agreement{min-height:80px}.pay-sheet .pay-submit{width:100%;min-height:48px;justify-content:center;margin-top:12px}.pay-login-required{display:grid;gap:8px;margin-top:20px}.pay-login-required p{margin-bottom:4px;color:var(--muted);font-size:var(--fs-sm)}.pay-login-required .btn{min-height:44px;justify-content:center}.pay-sheet-error{margin-top:12px;color:var(--error);font-size:var(--fs-sm)}@media(max-width:767px){.pay-sheet{padding:16px}}:root{--brand-kakao: #fee500;--brand-kakao-ink: rgba(0,0,0,.85);--brand-kakao-hover: #f5dc00}.app-shell.is-workspace .docs-nav-link{display:none}.provider-btn{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;min-height:48px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-body);font-weight:500;text-decoration:none}.provider-logo{display:grid;place-items:center}.provider-label{text-align:center;white-space:nowrap}.provider-btn-google{background:var(--surface);border-color:var(--hairline-strong)}.provider-btn-google:hover{background:var(--bg-alt)}.provider-btn-kakao{background:var(--brand-kakao);color:var(--brand-kakao-ink)}.provider-btn-kakao:hover{background:var(--brand-kakao-hover)}.provider-btn:active{transform:scale(var(--scale-active))}.login-gate .provider-btn,.pay-login-required .provider-btn{width:100%}.auth-page{min-height:100dvh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--bg)}.auth-column{display:flex;flex-direction:column;min-width:0;padding:32px clamp(24px,6vw,96px) 28px}.auth-wordmark{align-self:flex-start;min-height:44px;text-decoration:none}.auth-form{width:100%;max-width:400px;margin-block:auto;padding-block:48px}.auth-form h1{font-size:var(--fs-h2);font-weight:500;line-height:1.25}.auth-lead{margin-top:8px;color:var(--muted);font-size:var(--fs-body);line-height:1.65}.auth-alert{display:flex;align-items:flex-start;gap:8px;margin-top:20px;padding:10px 12px;background:var(--error-wash);border-radius:var(--r-sm);color:var(--error);font-size:var(--fs-sm);line-height:1.5}.auth-alert svg{margin-top:2px}.auth-providers{display:grid;gap:10px;margin-top:28px}.auth-alt{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:24px;color:var(--muted);font-size:var(--fs-sm)}.auth-foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;color:var(--muted);font-size:var(--fs-xs)}.auth-foot .text-link{min-height:32px;font-size:var(--fs-xs)}.auth-showcase{display:grid;place-items:center;min-width:0;padding:64px clamp(24px,5vw,80px);overflow:hidden;background:var(--bg-alt);border-left:1px solid var(--hairline)}.showcase{width:min(100%,560px)}.showcase-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--ink);font-size:var(--fs-xs)}.showcase-bar .count-chip{color:var(--text)}.showcase-stage{position:relative}.showcase-sheet{background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}.showcase-body{height:540px;overflow:hidden;padding:28px 32px 0;color:var(--text);font-size:var(--fs-sheet);line-height:1.7;mask-image:linear-gradient(#000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(#000 calc(100% - 32px),transparent)}.showcase-card{position:absolute;right:-24px;bottom:36px;width:320px}.showcase-card .suggestion-card{width:100%;box-shadow:var(--shadow-lg)}.showcase-caption{margin-top:14px;color:var(--muted);font-size:var(--fs-xs);line-height:1.65}@media(prefers-reduced-motion:no-preference){.showcase-card{animation:card-enter var(--dur-enter) var(--ease-enter) both}}@media(hover:hover)and (pointer:fine){.provider-btn:hover{transform:scale(var(--scale-hover))}}@media(max-width:1023px){.auth-page{grid-template-columns:1fr}.auth-showcase{display:none}}@media(max-width:767px){.auth-column{padding:24px 16px 20px}.auth-form{padding-block:32px}}.doc-figure.is-image{min-height:0;margin:20px auto;border:0}.doc-image-frame{position:relative;max-width:100%;margin-inline:auto;overflow:hidden;border-radius:var(--r-sm)}.doc-image{display:block;width:100%;height:auto}.doc-drawing-block{position:relative}.doc-math{display:inline;padding:1px 6px;background:var(--surface-sunken);border-radius:var(--r-sm);font-family:var(--mono);font-size:.95em;white-space:pre-wrap}.doc-paragraph.is-equation{display:flex;align-items:baseline;justify-content:space-between;gap:16px;white-space:normal}.doc-paragraph.is-equation .doc-math{display:inline-block;max-width:100%}.doc-eq-number{flex:0 0 auto;color:var(--muted);font-variant-numeric:tabular-nums}.legal-effective{margin-top:8px;color:var(--muted);font-size:var(--fs-sm)}.legal-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--hairline)}.legal-section h2{font-size:var(--fs-h3);font-weight:500}.legal-section p{margin-top:10px;color:var(--text);line-height:var(--lh-body)}.legal-section ul{margin:10px 0 0;padding-left:20px;color:var(--text);line-height:var(--lh-body)}.legal-section li+li{margin-top:6px}@media(max-width:767px){.footer-links{flex-wrap:wrap;gap:8px 14px;margin-left:0}}.review-filename{flex:1 1 auto;min-width:10ch}button.counts-pill{min-height:44px;padding:0;cursor:pointer}button.counts-pill:hover{border-color:var(--hairline-strong)}button.counts-pill .count-chip{align-self:stretch;min-height:0}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:3px}.search-field input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-settings{position:relative}.review-settings-button{width:44px;height:44px;background:var(--surface);border:1px solid var(--hairline-strong);color:var(--muted)}.review-settings-button:hover,.review-settings-button[aria-expanded=true]{background:var(--surface-sunken);color:var(--ink)}.review-settings-button.is-on{color:var(--accent)}.review-settings-popover{position:absolute;z-index:6;top:50px;right:0;width:min(320px,calc(100vw - 32px));padding:12px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.review-settings-popover .morph-toggle{margin-top:12px;padding-top:12px}.review-settings-popover .morph-toggle:first-child{margin-top:0;padding-top:0;border-top:0}.review-sort{display:flex;gap:2px}.review-sort-toggle{min-height:44px;padding:0 8px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-meta);white-space:nowrap}.review-sort-toggle:hover{color:var(--ink)}.review-sort-toggle.is-active{background:var(--surface);border-color:var(--hairline-strong);color:var(--ink)}.review-sheet-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.review-sheet-peek,.review-sheet-scrim{display:none}.feedback-note textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.review-card-detail .suggestion-actions .text-link,.ignored-diagnostics .text-link{min-width:44px;justify-content:center}@media(max-width:1023px){.review-sheet-handle{touch-action:none}.review-sidebar[data-dragging]{transition:none}.review-sheet-peek{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px}.review-peek-rail{flex:0 0 3px;width:3px;height:16px;border-radius:2px;background:var(--suggestion-line)}.review-peek-rail.severity-error{background:var(--error-line)}.review-peek-rail.severity-warning{background:var(--warning-line)}.review-peek-title{min-width:0;overflow:hidden;color:var(--ink);font-size:var(--fs-meta);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.review-peek-rail~.review-peek-title{flex:1 1 auto;text-align:left}.review-peek-count{flex:0 0 auto;color:var(--muted);font-size:var(--fs-xs)}.review-sheet-scrim{position:fixed;z-index:7;top:0;right:0;bottom:0;left:0;display:block;background:color-mix(in srgb,var(--ink) 32%,transparent);opacity:0;pointer-events:none;transition:opacity .2s var(--ease-out)}.review-sheet-scrim.is-open{opacity:1;pointer-events:auto}}@media(max-width:479px){.counts-pill .count-label{display:none}}.hero{--fs-display: clamp(34px,3.4vw,48px)}.hero-stage{--hero-mobile-band: 180px}.pricing-page{--fs-price: 28px}@media(max-width:767px){.seo-rule{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "summary" "example"}}.analysis-shell{position:relative}.analysis-cancel{position:absolute;z-index:1;top:56px;right:clamp(16px,3.2vw,56px)}.landing-drop{position:relative}.hero.is-dragging{background:var(--accent-wash);outline:1px solid var(--accent);outline-offset:-1px}.page-drop-hint{position:absolute;z-index:4;top:50%;left:66%;transform:translate(-50%,-50%);padding:12px 18px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--r-md);box-shadow:var(--shadow-md);color:var(--accent);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;pointer-events:none}.landing-file-error{padding:16px clamp(16px,3.2vw,56px) 0}.landing-file-error .inline-error{max-width:none;margin-top:0}.recent-check{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px clamp(16px,3.2vw,56px);border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--fs-sm)}.recent-check-summary{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-check-name{color:var(--ink);font-weight:500}.recent-check .text-link{flex:0 0 auto}@media(max-width:900px){.page-drop-hint{left:50%}}@media(max-width:767px){.analysis-cancel{top:8px;right:16px}.recent-check{flex-wrap:wrap;gap:0 16px;padding-block:8px}.recent-check-summary{white-space:normal}}
