:root{--ink:#17211b;--paper:#f4f0e6;--accent:#9d3f2d;--line:#cfc7b7;--soft:#e7e0d2;--sheet:#fffdf7;--muted:#665f55;--max:1080px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Noto Serif KR",serif;line-height:1.65;-webkit-font-smoothing:antialiased}header,footer,main{width:min(calc(100% - 32px),var(--max));margin:auto}header{min-height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{font-weight:800;letter-spacing:.08em}a{color:inherit;text-decoration:none}nav{display:flex;gap:18px;font:700 .76rem Arial,sans-serif;letter-spacing:.08em}.hero{padding:clamp(64px,10vw,124px) 0 56px;max-width:800px}.hero h1,.page h1{font-size:clamp(2.1rem,6vw,4.8rem);line-height:1.13;margin:.25em 0;letter-spacing:-.022em;text-wrap:balance}.eyebrow{color:var(--accent);font:700 .82rem Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);padding:28px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.card b{font:800 1.35rem Arial,sans-serif}.prompt,.page{margin:56px 0 96px;max-width:760px}.admin-page{max-width:960px}.prompt label{display:block;font-size:1.5rem;margin-bottom:12px}.prompt div{display:flex;gap:8px}input,textarea,select,button{font:inherit;border:1px solid var(--line);padding:14px;background:#fff;color:var(--ink);min-height:44px}input,textarea{width:100%}textarea{min-height:180px;display:block;margin:20px 0}button{background:var(--ink);color:#fff;cursor:pointer;white-space:nowrap;touch-action:manipulation;transition:transform 120ms cubic-bezier(.16,1,.3,1)}button:active{transform:scale(.96)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid color-mix(in oklch,var(--accent) 45%,transparent);outline-offset:2px}.page>input,.page>select{margin:10px 4px 10px 0}.notice,.warning,.mini-card{border:1px solid var(--line);padding:18px}.warning{border-color:var(--accent);color:var(--accent);font-family:Arial,sans-serif;font-weight:700}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.muted{color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 0;display:flex;gap:20px;font-size:.9rem}.rag-review{margin-top:64px;padding-top:32px;border-top:1px solid var(--ink)}.rag-heading h2{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;letter-spacing:-.018em;margin:.2em 0}.rag-heading>p:last-child{color:var(--muted);margin-top:0}.rag-search{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,2fr) auto;gap:8px;margin:24px 0 20px}.rag-results{min-height:160px}.rag-summary{display:grid;grid-template-columns:1.5fr 1fr auto;gap:24px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:0}.rag-summary div{display:flex;flex-direction:column;min-width:0}.rag-summary span{font:700 .68rem Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rag-summary strong{font-size:1rem;overflow-wrap:anywhere}.numeric,.rag-rank b,.score-value{font-variant-numeric:tabular-nums}.rag-result-list{background:var(--sheet);box-shadow:0 2px 8px rgba(31,25,16,.12)}.rag-result-card{display:grid;grid-template-columns:76px 1fr;gap:0;border-bottom:1px solid var(--line)}.rag-result-card:last-child{border-bottom:0}.rag-rank{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:25px 12px;background:var(--soft);font-family:Arial,sans-serif}.rag-rank span{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rag-rank b{font-size:1.7rem;line-height:1.15}.rag-result-main{padding:22px 24px 24px;min-width:0}.rag-result-header{width:auto;min-height:0;margin:0;display:flex;align-items:flex-start;border:0;gap:20px}.rag-material{font-weight:700;font-size:1.12rem;line-height:1.3;margin:0;text-wrap:pretty}.rag-context{font:400 .8rem Arial,sans-serif;color:var(--muted);margin:5px 0 0}.rag-score{margin-left:auto;display:flex;align-items:center;gap:8px;font-family:Arial,sans-serif;white-space:nowrap}.score-value{font-weight:700}.score-grade{padding:3px 8px;font-size:.7rem;font-weight:700;background:oklch(88% .04 75)}.score-grade.very-high{background:oklch(83% .08 145);color:oklch(27% .07 145)}.score-grade.high{background:oklch(88% .07 110);color:oklch(30% .06 110)}.score-grade.medium{background:oklch(90% .055 75);color:oklch(33% .07 55)}.score-grade.low{background:oklch(91% .035 25);color:oklch(36% .08 25)}.rag-preview{max-width:68ch;margin:18px 0 0;text-wrap:pretty;white-space:pre-wrap}.chunk-detail,.debug-json{margin-top:14px}.chunk-detail summary,.debug-json summary{cursor:pointer;min-height:40px;display:flex;align-items:center;font:700 .78rem Arial,sans-serif;color:var(--accent);touch-action:manipulation}.chunk-detail p{max-width:68ch;padding:14px 0 0;margin:0;white-space:pre-wrap}.debug-json{border-top:1px solid var(--line);padding-top:10px}.debug-json pre{max-height:420px;overflow:auto;background:var(--ink);color:oklch(93% .01 130);padding:18px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;overscroll-behavior:contain}.rag-empty{padding:40px 20px;text-align:center;color:var(--muted);background:color-mix(in oklch,var(--paper) 55%,white)}.rag-empty-result{font-size:1.1rem;color:var(--ink)}.rag-error{color:var(--accent)}@media(hover:hover){.card:hover{background:var(--soft)}.rag-result-card:hover .rag-rank{background:color-mix(in oklch,var(--soft) 75%,var(--accent))}}@media(max-width:700px){header{align-items:flex-start;padding:18px 0;flex-direction:column}nav{width:100%;overflow:auto}.cards,.admin-grid{grid-template-columns:1fr}.card{min-height:130px}.prompt div{flex-direction:column}.rag-search,.rag-summary{grid-template-columns:1fr}.rag-search button{width:100%}.rag-summary{gap:10px;padding:15px}.rag-result-card{grid-template-columns:52px 1fr}.rag-rank{padding:20px 6px}.rag-rank b{font-size:1.35rem}.rag-result-main{padding:18px 15px}.rag-result-header{flex-direction:column;gap:12px}.rag-score{margin-left:0}.debug-json pre{margin-inline:-8px;font-size:11px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
