:root{--canvas:#fbfbfa;--surface:#fff;--sidebar:#f6f5f4;--ink:#31302e;--muted:#615d59;--border:#e5e3df;--accent:#285c53;--accent-hover:#1c453e;--accent-soft:#e8f0ed;--web-soft:#edf2fa;--web-ink:#325d8b;--warning:#80541c;--warning-soft:#fff4de;--danger:#a3302d;--danger-soft:#fcecea;--highlight:#ffda6670;--backdrop:rgba(30,30,28,.28);--text-xs:12px;--text-sm:14px;--text-md:16px;--text-lg:20px;--text-xl:28px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--radius:6px;--radius-lg:12px;--nav-width:220px;--content-width:960px;--motion-fast:120ms}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:var(--text-md)/1.65 -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR','Segoe UI',sans-serif;word-break:keep-all;overflow-wrap:anywhere}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}a{color:var(--accent);text-underline-offset:var(--s1)}a:hover{color:var(--accent-hover)}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);line-height:1.35;letter-spacing:-.025em}h2{font-size:var(--text-lg);line-height:1.4}h3{font-size:var(--text-md)}small,.small{font-size:var(--text-sm)}.muted{color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.6}button{transition:transform var(--motion-fast),opacity var(--motion-fast)}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}.stack{display:flex;flex-direction:column;gap:var(--s4);min-width:0}.cluster{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;min-width:0}.spread{justify-content:space-between}.grow{flex:1;min-width:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--s10);padding:var(--s2) var(--s4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);font-weight:600;line-height:1.4;text-decoration:none}.button:hover:not(:disabled){background:var(--sidebar)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.quiet{border-color:transparent;background:transparent}.button.danger{color:var(--danger)}.field{display:flex;flex-direction:column;gap:var(--s2);min-width:0}.field>label{font-size:var(--text-sm);font-weight:600}input,select,textarea{width:100%;min-width:0;min-height:var(--s10);border:1px solid var(--border);border-radius:var(--radius);padding:var(--s2) var(--s3);background:var(--surface);font-size:var(--text-md)}textarea{min-height:calc(var(--s12)*2);resize:vertical;line-height:1.65}input[type=checkbox]{width:auto;min-height:initial;accent-color:var(--accent)}input[type=file]{font-size:var(--text-sm);padding:var(--s3)}.field-help{color:var(--muted);font-size:var(--text-xs)}.notice{border-radius:var(--radius);padding:var(--s3) var(--s4);background:var(--accent-soft);font-size:var(--text-sm)}.notice.warning{background:var(--warning-soft);color:var(--warning)}.notice.error{background:var(--danger-soft);color:var(--danger)}.badge{display:inline-block;border-radius:var(--s1);padding:0 var(--s2);font-size:var(--text-xs);font-weight:600;line-height:1.8;background:var(--accent-soft);color:var(--accent)}.badge.web{background:var(--web-soft);color:var(--web-ink)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.error{background:var(--danger-soft);color:var(--danger)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--s6)}.empty{padding:var(--s12) var(--s6);border:1px dashed var(--border);border-radius:var(--radius-lg);text-align:center}.empty>p{max-width:60ch;margin-inline:auto}.empty .cluster{justify-content:center;margin-top:var(--s4)}.passage{white-space:pre-wrap;line-height:1.85;word-break:keep-all;overflow-wrap:break-word}.divider{border:0;border-top:1px solid var(--border);margin:var(--s4) 0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s4);flex-wrap:wrap}.label{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em}.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:10;padding:var(--s2);background:var(--surface);transform:translateY(-200%)}.skip-link:focus{transform:none}
.shell{display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);height:100dvh;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:var(--s8);min-height:0;padding:var(--s6) var(--s4);background:var(--sidebar);border-right:1px solid var(--border)}.brand{font-weight:700;line-height:1.5;padding:var(--s2);font-size:var(--text-lg)}.brand small{display:block;font-size:var(--text-xs);font-weight:400;color:var(--muted)}.nav{display:flex;flex-direction:column;gap:var(--s1)}.nav a{border-radius:var(--radius);color:var(--muted);font-size:var(--text-sm);font-weight:500;text-decoration:none;padding:var(--s3)}.nav a:hover{background:var(--border)}.nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:600}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--s2);font-size:var(--text-xs);color:var(--muted)}.main{min-width:0;min-height:0;overflow:auto;padding:var(--s10)}.content{max-width:var(--content-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--s8)}.page-heading{display:flex;flex-direction:column;gap:var(--s2)}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--nav-width)),1fr));gap:var(--s4)}.evidence{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s6) 0;border-bottom:1px solid var(--border)}.evidence:first-child{padding-top:0}.evidence:last-child{border-bottom:0}.evidence .passage{border-left:2px solid var(--border);padding-left:var(--s4)}.history-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--border)}.history-row:last-child{border:0}.history-row .button{text-align:left;justify-content:flex-start;font-weight:500}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--s6)}.auth-card{width:min(100%,calc(var(--nav-width)*2));padding:var(--s8)}.auth-card h1{margin-bottom:var(--s3)}.dialog{width:min(calc(100% - var(--s8)),calc(var(--nav-width)*2));padding:var(--s6);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--ink);background:var(--surface);max-height:calc(100dvh - var(--s8));overflow:auto}.dialog::backdrop{background:var(--backdrop)}.dialog-header{display:flex;justify-content:space-between;gap:var(--s4);align-items:flex-start;margin-bottom:var(--s6)}.dialog form{display:flex;flex-direction:column;gap:var(--s4)}.source-dialog{inset:0 0 0 auto;margin:0;width:min(55vw,var(--content-width));height:100dvh;max-height:100dvh;border-radius:0;padding:var(--s6);border-left:1px solid var(--border)}.source-dialog .dialog-header{position:sticky;top:calc(var(--s6)*-1);background:var(--surface);padding-block:var(--s4);z-index:2}.page-image{position:relative;background:var(--sidebar);border:1px solid var(--border)}.page-image img{width:100%;height:auto;display:block}.highlight{position:absolute;background:var(--highlight);pointer-events:none;border:1px solid var(--warning)}.page-controls input{width:calc(var(--s10)*2)}.extracted{padding:var(--s4);background:var(--canvas);border-radius:var(--radius)}.link-wrap{overflow-wrap:anywhere;word-break:break-word}.note{padding:var(--s4) 0;border-bottom:1px solid var(--border)}.note .cluster{margin-top:var(--s3)}.tab-actions{border-bottom:1px solid var(--border);padding-bottom:var(--s3)}.query{font-size:var(--text-lg);font-weight:600}.run{display:flex;flex-direction:column;gap:var(--s4)}.summary{background:var(--accent-soft);padding:var(--s6);border-radius:var(--radius-lg)}.summary h3{margin-bottom:var(--s2)}.citation{min-height:var(--s8);padding:var(--s1) var(--s2)}.showcase{max-width:var(--content-width);margin:auto;padding:var(--s8)}.showcase>section{margin-top:var(--s8)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:767px){.shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.sidebar{padding:var(--s3) var(--s4);border-right:0;border-bottom:1px solid var(--border);gap:var(--s2)}.brand{font-size:var(--text-md);padding:0;display:flex;align-items:baseline;gap:var(--s2)}.brand small{display:none}.nav{flex-direction:row;gap:var(--s2)}.nav a{flex:1;text-align:center;padding:var(--s2)}.sidebar-footer{display:none}.main{padding:var(--s6) var(--s4)}.content{gap:var(--s6)}.card{padding:var(--s4)}.source-dialog{width:100%;padding:var(--s4)}.source-dialog .dialog-header{top:calc(var(--s4)*-1)}.auth-card{padding:var(--s6)}.showcase{padding:var(--s6) var(--s4)}h1{font-size:var(--text-lg)}.page-heading p{font-size:var(--text-sm)}}
.content{width:100%}.dialog form.page-controls{flex-direction:row}.dialog-header>.button{flex-shrink:0;white-space:nowrap}.source-dialog{max-width:100%}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@supports(text-wrap:balance){.passage{text-wrap:balance}}
