:root{
  --bg-main:#F8F6F0;
  --bg-header:#1B365D;
  --text-header:#FFFFFF;
  --bubble-ai-bg:#FFFFFF;
  --bubble-ai-text:#1F2937;
  --bubble-user-bg:#1B365D;
  --bubble-user-text:#FFFFFF;
  --accent-color:#C59B27;
  --radius-size:16px;
  --font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --chat-max-width:960px;
  --blue:var(--accent-color);
  --blue-dark:var(--accent-hover);
  --text-main:#182B3B;
  --ink:var(--text-main);
  --cream:var(--bg-main);
  --paper:var(--surface-bg);
  --radius:var(--radius-size);
  --surface-bg:#FFFFFF;
  --muted:color-mix(in srgb,var(--ink) 66%,var(--bg-main));
  --line:color-mix(in srgb,var(--ink) 15%,var(--surface-bg));
  --pale:color-mix(in srgb,var(--accent-color) 7%,var(--surface-bg));
  --accent-text:#1F2937;
  --accent-hover-text:#121316;
  --accent-ink:#896A1B;
  --accent-surface-ink:#896A1B;
  --accent-pale-ink:#896A1B;
  --accent-ai-ink:#896A1B;
  --accent-readable:var(--accent-ink);
  --accent-hover:color-mix(in srgb,var(--accent-color) 86%,#000000);
  --green:color-mix(in srgb,#23744B 75%,var(--ink));
  --shadow:0 12px 36px color-mix(in srgb,var(--ink) 10%,transparent);
  color:var(--ink);
  background:var(--bg-main);
  font-family:var(--font-family);
  font-synthesis:none;
  line-height:1.6;
  color-scheme:light;
}
@font-face{font-family:Pretendard;src:url('/fonts/pretendard-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"Noto Serif KR";src:url('/fonts/noto-serif-kr.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--accent-readable);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent-color);outline-offset:3px}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius-size);background:var(--paper);color:var(--ink);min-height:44px;padding:10px 13px}input[type=checkbox]{min-height:auto;accent-color:var(--blue)}textarea{resize:vertical;width:100%}button{border:0}button:not(.chip,.text-button,.icon-button,.card-title,.example,.pagination button){border-radius:var(--radius-size)}button.primary,.primary{background:var(--blue);color:var(--surface-bg);padding:11px 20px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}button.primary:hover,.primary:hover{background:var(--blue-dark)}button.secondary,.secondary{border:1px solid var(--line);background:var(--surface-bg);padding:10px 16px;min-height:44px;text-decoration:none;color:var(--ink);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px}button.secondary:hover{background:var(--cream)}.text-button{color:var(--accent-readable);padding:6px 0;background:transparent;font-weight:650;min-height:36px}.icon-button{background:transparent;font-size:24px;line-height:1;width:44px;height:44px;color:var(--ink)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--blue);color:var(--surface-bg);padding:12px}.skip-link:focus{top:12px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;margin:auto;padding:25px 48px;display:flex;align-items:center;gap:44px}.brand{color:var(--accent-readable);text-decoration:none;display:flex;flex-direction:column;flex-shrink:0}.brand-word{font-size:23px;font-weight:900;letter-spacing:-1.2px;line-height:1.2}.brand-dot{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:3px}.brand-caption{color:var(--muted);font-size:10px;letter-spacing:.9px;margin-top:7px}nav{display:flex;gap:5px;margin-left:auto}nav a{color:var(--muted);padding:12px 17px;font-size:14px;font-weight:650;text-decoration:none;white-space:nowrap;border-radius:var(--radius-size)}nav a:hover{background:var(--cream)}nav a[aria-current=page]{color:var(--accent-readable);background:var(--pale)}.admin-link{color:var(--muted);font-size:12px;text-decoration:none;padding:8px 0;border-left:1px solid var(--line);padding-left:24px}.admin-link[aria-current=page]{color:var(--accent-readable)}main{max-width:1440px;margin:auto;min-height:calc(100vh - 190px);padding:44px 48px 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--accent-readable);margin:0 0 9px}.page-heading h1{font-size:32px;font-weight:750;letter-spacing:-1.4px;line-height:1.4;margin:0 0 9px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.data-note{font-size:11px;line-height:1.7;text-align:right;color:var(--muted);flex-shrink:0}.search-box{display:flex;align-items:center;background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);padding:6px 8px 6px 19px;gap:11px;box-shadow:var(--shadow)}.search-icon{font-size:23px;line-height:1;color:var(--accent-readable);width:24px}.search-box input{border:0;outline:0;flex:1;min-width:0;padding:13px 0;font-size:15px;background:transparent}.search-box:focus-within{outline:3px solid color-mix(in srgb, var(--accent-color) 25%, transparent)}.search-box .primary{min-height:43px;padding:9px 20px}.search-hint{color:var(--muted);font-size:11px;margin:9px 0 26px}.catalog-layout{display:grid;grid-template-columns:238px 1fr;gap:30px;align-items:start}.filters{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:21px 20px}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.filter-heading strong{font-size:14px}.filter-description{font-size:10px;color:var(--muted);margin:0 0 14px}.filter-group{border:0;border-top:1px solid var(--line);padding:17px 0 0;margin:16px 0 0;min-width:0}.filter-group legend{padding:0;font-size:12px;font-weight:750;float:left;width:100%;margin-bottom:9px}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;clear:both}.chip{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;min-height:35px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);color:var(--muted);font-size:11px;font-weight:550;white-space:normal;text-align:left;line-height:1.4}.chip:hover{border-color:var(--accent-color);background:var(--pale)}.chip[aria-pressed=true]{background:var(--blue);color:var(--surface-bg);border-color:var(--blue)}.chip small{font-size:10px;opacity:.78}.chip:disabled{background:var(--surface-bg);border-style:dashed;opacity:.45}.selected-conditions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 14px;font-size:11px;min-height:0}.selected-conditions .chip{background:var(--pale);color:var(--accent-readable);border-color:var(--line)}.selected-conditions .chip small{font-size:14px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;min-height:35px}.result-count{font-size:14px}.result-count strong{color:var(--accent-readable);font-size:18px;margin-right:3px}.result-count small{font-size:11px;color:var(--muted);margin-left:8px}.results-toolbar select{font-size:12px;padding:6px 10px;min-height:35px;background:transparent;border-color:var(--line)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.product-card{background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);padding:20px 19px 16px;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,box-shadow .15s}.product-card:hover{border-color:var(--accent-color);box-shadow:var(--shadow)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:14px}.type-label{color:var(--accent-readable);font-size:11px;font-weight:750}.badge{padding:3px 7px;background:color-mix(in srgb, var(--green) 12%, var(--surface-bg));color:var(--green);font-size:10px;border-radius:var(--radius-size);white-space:nowrap}.badge.archive{background:var(--pale);color:var(--muted)}.badge.scheduled{background:var(--pale);color:var(--muted)}.card-title{display:block;color:var(--ink);font-weight:750;font-size:16px;line-height:1.5;letter-spacing:-.4px;padding:0;text-align:left;background:transparent;margin:0 0 7px}.card-title:hover{color:var(--accent-readable)}.product-code{font-family:Consolas,monospace;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-bottom:14px;max-width:100%}.card-properties{font-size:11px;color:var(--muted);margin:0 0 11px;line-height:1.8}.card-properties span+span:before{content:' · ';color:var(--muted)}.flavors{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:17px}.flavor{font-size:10px;color:var(--muted);background:var(--pale);padding:3px 7px;border-radius:var(--radius-size)}.card-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:13px}.price{font-size:17px;font-weight:750;letter-spacing:-.3px}.price small{font-size:10px;font-weight:400;color:var(--muted);margin-left:4px}.stock-note{font-size:10px;color:var(--muted);margin-top:2px}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:11px;gap:5px}.card-actions button{font-size:11px;min-height:32px}.compare-toggle{background:transparent;color:var(--muted);border:0;padding:6px 0}.compare-toggle[aria-pressed=true]{color:var(--accent-readable);font-weight:750}.pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:27px}.pagination button{background:transparent;border:1px solid var(--line);border-radius:var(--radius-size);min-width:36px;min-height:36px;color:var(--muted);font-size:12px}.pagination button[aria-current=page]{background:var(--blue);color:var(--surface-bg);border-color:var(--blue)}.empty-state,.error-state,.loading-state{background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);text-align:center;padding:48px 24px;color:var(--muted);font-size:14px}.empty-state strong,.error-state strong{display:block;font-size:19px;color:var(--ink);margin-bottom:9px}.empty-state p,.error-state p{margin:0 0 18px}.loading-state{min-height:150px;display:grid;place-items:center}.loading-state:before{content:'';display:block;width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}.status-line{font-size:11px;color:var(--muted);min-height:18px;margin:6px 0}.site-footer{max-width:1440px;margin:auto;padding:22px 48px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);letter-spacing:.2px}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);padding:11px 20px;box-shadow:var(--shadow);background:var(--ink);color:var(--surface-bg);border-radius:var(--radius-size);font-size:13px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}.toast.visible{opacity:1}.compare-bar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:20;background:var(--blue-dark);color:var(--surface-bg);border-radius:var(--radius-size);box-shadow:var(--shadow);padding:15px 22px;display:flex;gap:20px;align-items:center;max-width:calc(100vw - 32px);width:780px}.compare-bar[hidden]{display:none}.compare-bar span{font-size:12px;flex:1;min-width:0}.compare-bar small{display:block;font-size:10px;opacity:.75;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.compare-bar .primary{background:var(--surface-bg);color:var(--accent-readable);font-size:12px;min-height:38px;padding:7px 16px}.compare-bar .icon-button{color:white;font-size:19px;width:28px;height:32px}.compare-bar~.toast{bottom:100px}dialog{border:1px solid var(--line);padding:0;border-radius:var(--radius-size);width:min(850px,calc(100% - 32px));max-height:90vh;max-height:90dvh;color:var(--ink);box-shadow:var(--shadow);background:var(--surface-bg)}dialog::backdrop{background:color-mix(in srgb, var(--bg-header) 48%, transparent);backdrop-filter:blur(2px)}.dialog-inner{padding:28px 32px 32px}.dialog-heading{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dialog-heading h2{font-size:23px;line-height:1.5;letter-spacing:-.7px;margin:7px 0}.dialog-heading .icon-button{flex-shrink:0}.dialog-actions{display:flex;gap:9px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0}.dialog-actions>*{font-size:12px}.attribute-list{display:grid;grid-template-columns:160px 1fr;gap:0;font-size:12px;margin:0 0 20px}.attribute-list dt{padding:9px 12px 9px 0;border-bottom:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere}.attribute-list dd{padding:9px 0;margin:0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.source-note{color:var(--muted);font-size:10px;overflow-wrap:anywhere}.table-scroll{overflow:auto;width:100%;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;font-size:12px;margin:15px 0;text-align:left}td,th{padding:11px 13px;border:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}th{background:var(--pale);font-weight:650;min-width:80px}.compare-table th:not(:first-child){min-width:180px}.markdown{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.markdown p{margin:0 0 13px}.markdown p:last-child{margin-bottom:0}.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-size:16px;margin:18px 0 8px;line-height:1.6}.markdown ul,.markdown ol{padding-left:22px;margin:0 0 13px}.markdown blockquote{margin:12px 0;padding:8px 17px;background:var(--pale);border-left:3px solid var(--line);color:var(--muted)}.markdown pre{overflow:auto;padding:14px;background:var(--pale);border-radius:var(--radius-size);font-size:12px}.markdown code{background:var(--pale);padding:2px 4px;border-radius:var(--radius-size);font-family:Consolas,monospace;font-size:.85em}.markdown pre code{padding:0}.markdown hr{border:0;border-top:1px solid var(--line);margin:20px 0}.faq-container{max-width:1050px;margin:auto}.topic-box{margin:19px 0 24px;padding:20px 22px;background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size)}.topic-row{display:flex;gap:16px;align-items:flex-start;margin:0 0 12px}.topic-row:last-child{margin:0}.topic-row>strong{font-size:12px;width:55px;flex-shrink:0;padding-top:7px}.topic-row .filter-chips{flex:1}.faq-list{border-top:2px solid var(--ink)}.faq-item{background:var(--surface-bg);border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;padding:20px 23px;display:flex;gap:16px;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';font-size:24px;color:var(--accent-readable);margin-left:auto;flex-shrink:0;font-weight:350}.faq-item[open] summary:after{content:'−'}.question-label{background:var(--pale);color:var(--accent-readable);border-radius:var(--radius-size);min-width:25px;height:25px;display:grid;place-items:center;font-size:12px;font-weight:800}.faq-question{font-size:14px;font-weight:650;line-height:1.6;flex:1}.faq-category{font-size:10px;color:var(--muted);max-width:160px;line-height:1.5}.faq-answer{padding:3px 62px 25px}.faq-answer .source-note{padding-top:12px;border-top:1px solid var(--line);margin-top:18px}.faq-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:11px}.faq-actions .text-button,.faq-actions a{font-size:11px;min-height:30px}.faq-actions a{padding:6px 0}.info-banner{font-size:11px;color:var(--muted);background:var(--pale);border-radius:var(--radius-size);padding:11px 16px;margin-bottom:20px}.chat-container{max-width:1060px;margin:auto}.chat-layout{display:grid;grid-template-columns:1fr 230px;gap:28px}.chat-panel{background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);display:flex;flex-direction:column;overflow:visible}.chat-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:16px 24px;font-size:12px}.chat-top strong{display:flex;align-items:center;gap:8px}.online-dot{width:6px;height:6px;background:var(--green);border-radius:50%;display:inline-block}.chat-top .text-button{font-size:11px;min-height:25px}.chat-messages{flex:1;padding:24px;height:auto;max-height:none;overflow:visible}.welcome{padding:33px 10px 30px;text-align:center}.welcome .welcome-mark{font-weight:900;color:var(--accent-readable);font-size:30px;letter-spacing:-1.7px}.welcome h2{font-size:23px;font-weight:700;line-height:1.5;letter-spacing:-.8px;margin:15px 0 10px}.welcome p{font-size:13px;color:var(--muted);margin:0 auto 22px;max-width:450px;line-height:1.9}.examples{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left;max-width:530px;margin:auto}.example{background:var(--pale);border:1px solid var(--line);color:var(--muted);border-radius:var(--radius-size);padding:13px 14px;font-size:11px;text-align:left;line-height:1.6}.example:hover{border-color:var(--accent-color);color:var(--accent-readable)}.example span{float:right;color:var(--accent-readable)}.chat-compose{padding:16px 20px 13px;border-top:1px solid var(--line);background:var(--surface-bg)}.chat-input-row{display:flex;align-items:flex-end;gap:9px}.chat-input-row textarea{border:1px solid var(--line);min-height:44px;resize:none;overflow:hidden;font-size:16px;padding:10px 12px;line-height:1.45}.chat-input-row .primary{width:53px;min-height:50px;font-size:19px;flex-shrink:0;padding:9px}.chat-compose p{font-size:10px;color:var(--muted);margin:9px 0 0;text-align:center}.chat-side{padding-top:10px}.chat-side h3{font-size:13px;margin:0 0 13px}.chat-side p{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 23px}.side-link{display:block;text-decoration:none;padding:18px 16px;background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);margin-bottom:10px;font-size:12px;font-weight:700;color:var(--ink)}.side-link small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:7px}.side-link:hover{border-color:var(--accent-color)}.side-stat{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.side-stat strong{color:var(--accent-readable);font-size:21px;display:block}.side-stat span{font-size:10px;color:var(--muted)}.message{margin-bottom:22px}.message-label{font-size:10px;color:var(--muted);margin:0 0 7px;font-weight:650;letter-spacing:.3px}.message.user{margin-left:18%;text-align:right}.message.user .message-body{display:inline-block;background:var(--blue);color:var(--surface-bg);border-radius:var(--radius-size);padding:13px 17px;font-size:13px;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.message.assistant .message-body{background:var(--pale);border-radius:var(--radius-size);padding:18px 20px}.message .markdown{font-size:13px}.answer-meta{font-size:10px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.answer-notice{border-left:2px solid var(--line);padding-left:9px;font-size:11px;color:var(--muted);margin-top:9px}.evidence-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.evidence-links a{font-size:10px;color:var(--accent-readable);border:1px solid var(--line);border-radius:var(--radius-size);padding:5px 8px;text-decoration:none;background:var(--surface-bg)}.message .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.message .product-card{padding:15px}.message .card-title{font-size:13px}.message .card-top{margin-bottom:8px}.message .product-code{margin-bottom:8px}.message .price{font-size:14px}.message .product-card .flavors{margin-bottom:10px}.context-pill{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--pale);padding:9px 12px;border-radius:var(--radius-size);font-size:11px;color:var(--accent-readable);margin-bottom:10px}.context-pill .icon-button{font-size:18px;width:25px;height:25px}.admin-container{max-width:1080px;margin:auto}.admin-auth{padding:28px;background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);max-width:600px}.admin-auth label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}.admin-auth input{width:100%;margin-bottom:14px}.admin-auth p{font-size:11px;color:var(--muted);margin-top:14px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-card{background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);padding:23px;margin-bottom:20px}.admin-card h2{font-size:17px;margin:0 0 16px}.admin-card label{display:block;font-size:12px;font-weight:650;margin:13px 0 5px}.admin-card input:not([type=checkbox]),.admin-card select{width:100%;font-size:12px}.admin-card textarea{font-family:Consolas,monospace;font-size:11px}.admin-card p{color:var(--muted);font-size:11px}.admin-card .primary,.admin-card .secondary{font-size:12px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.admin-stat{border:1px solid var(--line);background:var(--surface-bg);border-radius:var(--radius-size);padding:18px}.admin-stat strong{display:block;color:var(--accent-readable);font-size:24px}.admin-stat span{font-size:11px;color:var(--muted)}.admin-stack .admin-card{margin-bottom:20px}.form-row{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}.manifest-item{border-bottom:1px solid var(--line);padding:10px 0;font-size:11px;overflow-wrap:anywhere}.manifest-item strong{display:block;font-size:12px}.manifest-item code{font-size:10px}.stage{padding:14px;background:var(--pale);border:1px solid var(--line);border-radius:var(--radius-size);margin-top:13px;font-size:11px}.stage strong{font-size:13px}.stage .form-row{margin-top:10px}.issue-list{padding-left:17px;font-size:11px;color:var(--muted)}.noscript{padding:20px;text-align:center}.muted{color:var(--muted)}.small{font-size:11px}.break-all{overflow-wrap:anywhere}.spacer{margin-top:20px}.spinner-inline{color:var(--muted);font-size:12px;padding:15px}.filter-mobile-title{display:none}
@media(min-width:1500px){main{padding-top:52px}.product-grid{gap:19px}.product-card{padding:23px}.page-heading h1{font-size:36px}}
@media(max-width:1150px){.header-inner{padding:23px 28px;gap:22px}main{padding:35px 28px 75px}nav a{padding:10px 12px;font-size:12px}.brand-word{font-size:21px}.brand-caption{font-size:9px}.catalog-layout{grid-template-columns:215px 1fr;gap:22px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{padding:22px 28px}.page-heading h1{font-size:29px}}
@media(max-width:820px){.header-inner{flex-wrap:wrap;padding:19px 22px 0;gap:12px}.brand{flex:1}.admin-link{border:0;padding:7px 0}.brand-word{font-size:22px}nav{order:3;width:100%;margin-left:0;gap:4px;margin-top:7px}nav a{flex:1;text-align:center;padding:13px 4px;border-radius:0;font-size:12px;border-bottom:3px solid transparent}nav a[aria-current=page]{background:transparent;border-bottom-color:var(--blue)}main{padding:28px 22px 65px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:26px}.page-heading p{font-size:12px}.data-note{display:none}.catalog-layout{grid-template-columns:1fr;gap:20px}.filters{padding:17px 19px}.filter-description{margin-bottom:8px}.filter-group{padding-top:13px;margin-top:11px;display:flex;gap:15px}.filter-group legend{float:none;width:65px;flex-shrink:0;padding-top:8px;margin:0;font-size:11px}.filter-group .filter-chips{flex:1}.filter-heading strong{font-size:13px}.filter-chips{gap:5px}.chip{font-size:11px;min-height:35px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chat-layout{grid-template-columns:1fr}.chat-side{display:none}.faq-answer{padding:0 25px 23px 61px}.faq-category{display:none}.admin-grid{grid-template-columns:1fr}.site-footer{padding:20px 22px;flex-wrap:wrap;font-size:9px}}
@media(max-width:480px){.header-inner{padding:16px 16px 0}.brand-word{font-size:21px}.brand-caption{font-size:9px;margin-top:5px}nav a{font-size:11px}main{padding:25px 16px 55px}.page-heading{margin-bottom:20px}.page-heading h1{font-size:24px;letter-spacing:-.9px}.page-heading p{font-size:11px;line-height:1.8}.eyebrow{font-size:10px;margin-bottom:7px;letter-spacing:1.5px}.search-box{padding-left:13px;gap:5px}.search-box input{font-size:12px;padding:12px 0}.search-box .primary{font-size:12px;padding:7px 12px;min-height:40px}.search-hint{font-size:10px;margin-bottom:18px}.filters{padding:15px}.filter-group{gap:8px}.filter-group legend{width:58px}.chip{padding:7px 8px;font-size:10px}.product-grid{gap:10px}.product-card{padding:15px 13px 12px}.card-top{margin-bottom:11px}.card-title{font-size:14px}.product-code{font-size:9px;margin-bottom:11px}.card-properties{font-size:10px}.badge{font-size:9px;padding:3px 5px}.type-label{font-size:10px}.flavor{font-size:9px;padding:3px 5px}.price{font-size:15px}.price small{display:block;margin-left:0}.stock-note{font-size:9px}.card-actions button{font-size:10px}.result-count{font-size:12px}.result-count strong{font-size:17px}.result-count small{display:none}.results-toolbar select{font-size:11px;max-width:130px}.topic-box{padding:15px}.topic-row{gap:8px}.topic-row>strong{font-size:11px;width:35px}.faq-item summary{padding:18px 15px;gap:11px}.faq-question{font-size:12px}.faq-answer{padding:0 20px 22px 20px}.markdown{font-size:12px}.faq-actions{gap:13px}.info-banner{font-size:10px}.chat-top{padding:14px 16px;font-size:11px}.chat-messages{padding:17px}.welcome{padding:28px 0 22px}.welcome h2{font-size:20px}.welcome p{font-size:11px}.examples{grid-template-columns:1fr}.example{font-size:11px;padding:11px 13px}.chat-compose{padding:13px}.chat-compose p{font-size:9px}.message .product-grid{grid-template-columns:1fr}.message.assistant .message-body{padding:14px}.message .markdown{font-size:12px}.message.user{margin-left:12%}.message.user .message-body{font-size:12px}.dialog-inner{padding:21px}.dialog-heading h2{font-size:19px}.attribute-list{grid-template-columns:110px 1fr;font-size:11px}.dialog-actions{gap:7px}.dialog-actions>*{font-size:11px;padding:8px 10px;min-height:40px}.compare-bar{bottom:12px;padding:12px 13px;gap:9px}.compare-bar span{font-size:11px}.compare-bar .primary{font-size:11px;padding:7px 11px}.compare-bar small{display:none}.admin-card{padding:18px}.admin-stats{gap:7px}.admin-stat{padding:12px}.admin-stat strong{font-size:20px}.admin-stat span{font-size:10px}.site-footer{padding:18px 16px}.selected-conditions{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.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}.product-card h2{font-size:inherit;margin:0}.product-card pre{white-space:pre-wrap;max-width:100%}

.welcome .example-group-label{margin:18px auto 8px;font-size:11px;font-weight:650;text-align:left;max-width:530px;color:var(--muted)}
.context-summary{padding:13px 14px;margin:0 0 16px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.context-summary>strong{color:var(--accent-readable);font-size:11px}.context-summary p{margin:5px 0}.context-summary .small span{font-weight:650;color:var(--muted)}.context-summary .context-boundary{margin-top:9px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:8px}
.recommendation-reasons{border-top:1px solid var(--line);padding-top:12px;margin:0 0 14px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}
.recommendation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.recommendation-heading>strong{font-size:11px;color:var(--muted)}.recommendation-heading>span{font-size:9px;color:var(--muted);background:var(--pale);border-radius:var(--radius-size);padding:2px 6px}
.recommendation-inference{font-size:9px;color:var(--muted);margin:5px 0 9px}.reason-list,.recommendation-caution ul{padding-left:16px;margin:5px 0 8px}.reason-list li+li,.recommendation-caution li+li{margin-top:5px}.recommendation-caution{border-left:2px solid var(--line);padding-left:9px;margin-top:10px;color:var(--muted);font-size:10px}.recommendation-caution>strong{font-size:10px}.recommendation-caution ul{margin:3px 0;padding-left:14px}
.recommendation-proof{border:1px solid var(--line);border-radius:var(--radius-size);margin-top:11px;background:var(--surface-bg)}.recommendation-proof summary{font-size:10px;color:var(--accent-readable);cursor:pointer;padding:8px 9px;min-height:36px}.recommendation-evidence{padding:9px 10px;border-top:1px solid var(--line)}.recommendation-evidence p{margin:3px 0;font-size:10px}.recommendation-evidence .source-note{font-size:9px}.evidence-kind{font-size:9px;color:var(--muted)}
.assessment-list{margin-top:16px}.product-assessment{border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);padding:14px;margin-top:10px}.product-assessment>.recommendation-heading>strong{font-size:12px}.product-assessment .recommendation-reasons{margin:10px 0 0}.product-assessment>.text-button{font-size:10px;margin-top:6px;min-height:34px}.assessment-failures{font-size:11px;color:var(--muted);padding-left:16px;line-height:1.8}
.detail-context{border:1px solid var(--line);border-radius:var(--radius-size);background:var(--pale);padding:15px;margin:0 0 22px}.detail-context h3{font-size:12px;margin:0 0 5px}.detail-context p{font-size:11px;color:var(--muted);margin:0 0 12px}.detail-context-actions{display:flex;flex-wrap:wrap;gap:8px}.detail-context-actions .secondary{font-size:11px;min-height:36px;background:var(--surface-bg);padding:7px 11px}
.recommendation-settings{background:var(--pale);border:1px solid var(--line);border-radius:var(--radius-size);padding:13px 14px;font-size:11px;margin-bottom:13px}.recommendation-settings>strong{font-size:12px}.recommendation-settings p{line-height:1.9;overflow-wrap:anywhere}.recommendation-settings code{background:var(--pale);border-radius:var(--radius-size);padding:1px 3px;font-size:10px}
.unknown-assessments{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.unknown-assessments>summary{cursor:pointer;min-height:36px;font-size:10px;color:var(--muted);padding:8px 0}.unknown-assessments .product-assessment{margin-top:8px}
@media(max-width:480px){.context-summary{padding:11px;font-size:11px}.context-summary .context-boundary{font-size:9px}.recommendation-heading{gap:4px}.recommendation-heading>span{font-size:9px}.recommendation-reasons{font-size:11px}.detail-context{padding:12px}.detail-context-actions{gap:7px}.detail-context-actions .secondary{flex:1 1 calc(50% - 7px);font-size:10px;min-height:40px;padding:7px 8px}}

/* Theme colors are shared by every route; message colors remain independently editable. */
body{background:var(--bg-main);color:var(--ink)}
button,input,select,textarea{font-family:inherit}
input,textarea,select{background:var(--surface-bg);border-color:var(--line);border-radius:var(--radius-size)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent-color)}
button.primary,.primary,.chip[aria-pressed=true],.pagination button[aria-current=page]{color:var(--accent-text)}
button.secondary,.secondary{background:var(--surface-bg);border-color:var(--line);color:var(--ink);border-radius:var(--radius-size)}
button.secondary:hover,.secondary:hover{background:var(--pale);border-color:var(--accent-color)}
.search-box,.filters,.product-card,.topic-box,.faq-item,.chat-panel,.chat-compose,.side-link,.admin-auth,.admin-card,.admin-stat,.context-summary,.product-assessment,.recommendation-proof,.detail-context,dialog{background:var(--surface-bg);border-color:var(--line)}
.product-card,.admin-card,.admin-stat,.topic-box,.filters,.search-box,.side-link,.context-summary,.product-assessment,.recommendation-proof,.detail-context,.admin-auth,dialog{border-radius:var(--radius-size)}
.chip,.example,.pagination button,.stage,.info-banner,.context-pill,.question-label,.badge,.flavor,.evidence-links a{border-radius:var(--radius-size)}
.product-card:hover,.side-link:hover{border-color:var(--accent-color)}
.card-bottom,.filter-group,.faq-answer .source-note,.attribute-list dt,.attribute-list dd,.manifest-item,.recommendation-reasons,.recommendation-evidence,.context-summary .context-boundary,.unknown-assessments{border-color:var(--line)}
.chip{background:var(--surface-bg);color:var(--ink)}
.chip:hover,.example:hover{background:var(--pale)}
.example,.stage,.info-banner,.detail-context,.recommendation-settings{background:var(--pale);border-color:var(--line);color:var(--ink)}
.recommendation-heading>strong,.context-summary .small span{color:var(--ink)}
.flavor,.badge.archive,.badge.scheduled,.recommendation-heading>span,.recommendation-settings code{background:var(--pale);color:var(--muted)}
th,.markdown pre,.markdown code,.markdown blockquote{background:var(--pale);color:inherit}
.markdown blockquote{border-color:var(--accent-color)}
.search-box:focus-within{outline:3px solid color-mix(in srgb,var(--accent-color) 35%,transparent);outline-offset:2px}
.skip-link,.toast{color:var(--accent-text)}
.toast{background:var(--accent-color);border:1px solid var(--line);border-radius:var(--radius-size)}
.compare-bar{background:var(--accent-color);color:var(--accent-text);border:1px solid var(--line);border-radius:var(--radius-size)}
.compare-bar .primary{background:var(--surface-bg);color:var(--ink)}
.compare-bar .icon-button{color:var(--accent-text)}
.site-footer{color:var(--muted)}

.site-header{background:var(--bg-header);color:var(--text-header);border-color:color-mix(in srgb,var(--text-header) 16%,var(--bg-header))}
.header-inner{gap:28px}
.brand,.brand-caption,.site-header nav a,.site-header .admin-link{color:var(--text-header)}
.brand-caption{opacity:.74}
.site-header nav a{opacity:.76}
.site-header nav a:hover,.site-header nav a[aria-current=page]{background:color-mix(in srgb,var(--text-header) 12%,transparent);color:var(--text-header);opacity:1}
.header-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.site-header .admin-link{border-color:color-mix(in srgb,var(--text-header) 24%,transparent);padding-left:16px;opacity:.72}
.site-header .admin-link:hover,.site-header .admin-link[aria-current=page]{color:var(--text-header);opacity:1}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:8px 12px;background:transparent;border:1px solid color-mix(in srgb,var(--text-header) 32%,transparent);border-radius:var(--radius-size);color:var(--text-header);font-size:12px;font-weight:650;white-space:nowrap;transition:background .18s,border-color .18s}
.theme-toggle:hover{background:color-mix(in srgb,var(--text-header) 12%,transparent);border-color:color-mix(in srgb,var(--text-header) 60%,transparent)}

.chat-container{max-width:var(--chat-max-width);width:100%;container:coffee-chat / inline-size}
.chat-layout{grid-template-columns:minmax(0,1fr) minmax(190px,22%);gap:24px}
.chat-panel{min-width:0;border-radius:var(--radius-size);box-shadow:var(--shadow)}
.chat-top,.chat-compose{border-color:var(--line)}
.chat-messages{background:var(--bg-main);min-width:0}
.chat-compose p{color:var(--muted)}
.chat-input-row textarea{background:var(--surface-bg);border-color:var(--line);color:var(--ink);border-radius:var(--radius-size)}
.message.user .message-body{background:var(--bubble-user-bg);color:var(--bubble-user-text);border-radius:var(--radius-size);box-shadow:var(--shadow)}
.message.assistant .message-body{background:var(--bubble-ai-bg);color:var(--bubble-ai-text);border:1px solid color-mix(in srgb,var(--bubble-ai-text) 12%,var(--bubble-ai-bg));border-radius:var(--radius-size);box-shadow:var(--shadow)}
.message.assistant .markdown{color:var(--bubble-ai-text)}
.message.assistant .markdown a{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:8px 13px;margin:3px 2px 3px 0;background:var(--accent-color);border:1px solid var(--accent-color);border-radius:var(--radius-size);color:var(--accent-text);font-size:12px;font-weight:700;line-height:1.6;text-decoration:none;overflow-wrap:anywhere;transition:background .18s,border-color .18s}
.message.assistant .markdown a:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
@container coffee-chat (max-width:960px){.chat-layout{grid-template-columns:minmax(0,1fr)}.chat-side{display:none}}

/* The design customizer stays open while all selections update the page behind it. */
.theme-dialog{position:fixed;inset:0 0 0 auto;width:min(600px,100vw);height:100vh;height:100dvh;max-width:100vw;max-height:100vh;max-height:100dvh;margin:0;border:0;border-left:1px solid var(--line);border-radius:var(--radius-size) 0 0 var(--radius-size);background:var(--surface-bg);color:var(--ink);overflow:hidden;box-shadow:var(--shadow)}
.theme-dialog[open]{display:flex;flex-direction:column}
.theme-dialog::backdrop{background:color-mix(in srgb,var(--bg-header) 48%,transparent);backdrop-filter:blur(3px)}
.theme-panel-header{position:relative;padding:28px 30px 23px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface-bg)}
.theme-kicker{margin:0 0 9px!important;color:var(--accent-readable)!important;font-size:10px!important;line-height:1.5!important;font-weight:800;letter-spacing:1.5px}
.theme-panel-header h2{margin:0 36px 9px 0;font-size:23px;line-height:1.45;letter-spacing:-.8px;font-weight:750}
.theme-panel-header p{margin:0;color:var(--muted);font-size:12px;line-height:1.8;max-width:460px}
.theme-panel-header>.icon-button{position:absolute;top:19px;right:19px;border-radius:var(--radius-size)}
.theme-panel-header>.icon-button:hover{background:var(--pale)}
.theme-panel-body{padding:25px 30px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--line) transparent;scrollbar-width:thin}
.theme-section{margin-bottom:26px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.theme-section h3{margin:0 0 15px;font-size:13px;line-height:1.7;font-weight:750;letter-spacing:-.2px}
.theme-section>p{margin:-7px 0 15px;font-size:11px;color:var(--muted);line-height:1.8}
.theme-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-preset{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:126px;padding:14px 15px 13px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);color:var(--ink);text-align:left;transition:border-color .18s,background .18s,box-shadow .18s}
.theme-preset:hover{border-color:var(--accent-color);background:var(--pale)}
.theme-preset[aria-pressed=true]{border-color:var(--accent-color);background:var(--pale);box-shadow:inset 0 0 0 1px var(--accent-color)}
.preset-swatches{display:flex;align-items:center;gap:0;width:100%;height:26px;margin:0 0 7px;border:1px solid var(--line);border-radius:var(--radius-size);overflow:hidden}
.preset-swatches>span{display:block;height:100%;flex:1}
.theme-preset strong{max-width:calc(100% - 18px);font-size:12px;font-weight:750;line-height:1.55}
.theme-preset small{font-size:10px;color:var(--muted);line-height:1.6}
.preset-selected{position:absolute;right:13px;bottom:29px;display:none;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-color);color:var(--accent-text);font-size:11px;font-weight:800;line-height:1}
.theme-preset[aria-pressed=true] .preset-selected{display:flex}
.theme-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.theme-color-control{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:7px 10px;min-width:0;cursor:pointer}
.theme-color-control>span{grid-column:1/-1;font-size:11px;font-weight:650;line-height:1.7}
.theme-color-control input[type=color]{width:36px;height:36px;min-height:36px;padding:3px;background:var(--surface-bg);border:1px solid var(--line);border-radius:var(--radius-size);cursor:pointer}
.theme-color-control input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.theme-color-control input[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--radius-size) * .6)}
.theme-color-control input[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--radius-size) * .6)}
.theme-color-control output{font-family:Consolas,monospace;font-size:11px;letter-spacing:.3px;color:var(--muted)}
.theme-option-group{margin:0 0 19px;padding:0;border:0;min-width:0}
.theme-option-group:last-child{margin-bottom:0}
.theme-option-group legend{padding:0;margin-bottom:9px;font-size:11px;font-weight:650;line-height:1.7}
.theme-current-value{margin-left:8px;color:var(--muted);font-weight:400}
.theme-options{display:flex;gap:7px;min-width:0}
.theme-options label{position:relative;display:block;flex:1;min-width:0;cursor:pointer}
.theme-options input[type=radio]{position:absolute;top:12px;left:11px;margin:0;padding:0;width:14px;height:14px;min-height:14px;accent-color:var(--accent-color);cursor:pointer}
.theme-options label>span{display:flex;flex-direction:column;justify-content:center;min-height:59px;padding:10px 9px 10px 32px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);color:var(--ink);font-size:11px;font-weight:650;line-height:1.7;transition:border-color .18s,background .18s}
.theme-options label:hover>span{border-color:var(--accent-color)}
.theme-options input:checked+span{background:var(--pale);border-color:var(--accent-color)}
.theme-options small{display:block;font-size:10px;font-weight:400;color:var(--muted)}
.theme-options input:focus-visible{outline-offset:4px}
.theme-panel-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -30px;padding:18px 30px 22px;border-top:1px solid var(--line);background:var(--surface-bg);z-index:1}
.theme-panel-footer p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}
.theme-panel-footer .secondary{font-size:11px;min-height:38px;padding:8px 12px;flex-shrink:0}
:root[data-theme-font=serif] .message .markdown{line-height:2}
:root[data-theme-shadow=flat] .search-box,:root[data-theme-shadow=flat] .product-card:hover,:root[data-theme-shadow=flat] .toast,:root[data-theme-shadow=flat] .compare-bar,:root[data-theme-shadow=flat] dialog,:root[data-theme-shadow=flat] .chat-panel,:root[data-theme-shadow=flat] .message .message-body,:root[data-theme-shadow=flat] .theme-preset{box-shadow:none}
@media(max-width:1150px){.header-inner{gap:18px}.header-actions{gap:10px}.theme-toggle{padding:7px 10px;font-size:11px}.site-header .admin-link{padding-left:12px}}
@media(max-width:820px){.header-inner{gap:12px}.site-header .admin-link{padding-left:0}.site-header nav a{border-radius:0}.site-header nav a[aria-current=page]{background:transparent;border-bottom-color:var(--accent-color)}.site-header nav a:hover{background:color-mix(in srgb,var(--text-header) 8%,transparent)}.theme-toggle{min-height:36px}.chat-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.theme-dialog{width:100vw;border:0;border-radius:0}.theme-panel-header{padding:25px 21px 20px}.theme-panel-header h2{font-size:21px}.theme-panel-body{padding:22px 21px 0}.theme-panel-footer{margin:0 -21px;padding:16px 21px 20px}.theme-presets{gap:9px}.theme-preset{padding:12px;min-height:121px}.theme-color-grid{gap:13px 15px}.theme-options{gap:6px}.theme-options label>span{font-size:10px;padding-left:28px;padding-right:6px}.theme-options input[type=radio]{left:9px}.theme-option-group{margin-bottom:18px}}
@media(max-width:480px){.header-actions{gap:10px}.theme-toggle{padding:6px 8px;min-height:34px;font-size:10px}.site-header .admin-link{font-size:10px}.message.assistant .markdown a{font-size:11px;padding:7px 11px}.theme-panel-header h2{font-size:20px}.theme-panel-header>.icon-button{right:12px;top:13px}.theme-preset strong{font-size:11px}.theme-preset small{font-size:9px}.theme-panel-footer{gap:8px}.theme-panel-footer .secondary{font-size:10px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-preset,.theme-options label>span,.message.assistant .markdown a{transition:none}}

/* Character and tone settings share the theme's colors, curves and typography. */
.header-inner{flex-wrap:wrap;row-gap:12px}
.header-actions{margin-left:auto}
.persona-dialog{width:min(660px,100vw)}
.persona-tabs{display:flex;gap:8px;padding:15px 30px;border-bottom:1px solid var(--line);flex-shrink:0;background:var(--surface-bg)}
.persona-tabs [role=tab]{flex:1;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius-size);background:transparent;color:var(--muted);font-size:12px;font-weight:700}
.persona-tabs [aria-selected=true]{background:var(--pale);border-color:var(--accent-color);color:var(--ink)}
.persona-help{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 18px}
.persona-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:24px}
.persona-preset{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;min-width:0;min-height:164px;padding:17px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--surface-bg);color:var(--ink);transition:background .18s,border-color .18s}
.persona-preset:hover,.persona-preset[aria-pressed=true]{background:var(--pale);border-color:var(--accent-color)}
.persona-preset[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent-color)}
.persona-icon{font-size:25px;line-height:1.3}
.persona-preset strong{font-size:12px;font-weight:750;line-height:1.6;padding-right:14px;overflow-wrap:anywhere}
.persona-example{font-size:11px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}
.persona-selected{position:absolute;top:16px;right:15px;display:none;width:20px;height:20px;align-items:center;justify-content:center;border-radius:50%;font-size:12px;background:var(--accent-color);color:var(--accent-text)}
.persona-preset[aria-pressed=true] .persona-selected{display:flex}
.persona-control{padding-bottom:23px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.persona-control>label{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:13px;font-weight:700}
.persona-control output{color:var(--accent-readable);font-variant-numeric:tabular-nums;font-weight:750}
.persona-control input[type=range]{display:block;width:100%;height:30px;min-height:30px;margin:0;padding:0;border:0;border-radius:0;background:transparent;accent-color:var(--accent-color);cursor:pointer}
.persona-control select{width:100%;font-size:13px}
.persona-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:7px;color:var(--muted);font-size:10px;line-height:1.7}
.persona-scale span:last-child{text-align:right}
.persona-scale.two{grid-template-columns:1fr 1fr}
.persona-summary{margin-bottom:15px;padding:17px;border:1px solid var(--line);border-radius:var(--radius-size);background:var(--pale);font-size:12px;line-height:1.9;color:var(--ink)}
#persona-apply-custom{width:100%;margin-bottom:26px}
.persona-dialog [role=tabpanel][hidden]{display:none}
@media(max-width:1150px){.header-inner>nav{order:3;flex-basis:100%;justify-content:center;margin-left:0}.header-inner{padding-bottom:10px}.header-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:820px){.header-inner>nav{margin-top:0;padding-top:0}.header-inner{padding-bottom:0}.header-actions{gap:7px}.header-actions .admin-link{border:0;padding-left:0}.theme-toggle{font-size:11px}}
@media(max-width:600px){.brand{flex-basis:100%}.header-actions{width:100%;margin:0;justify-content:flex-start}.header-actions .theme-toggle{flex:1;font-size:11px}.header-actions .admin-link{margin-left:auto}.persona-dialog{width:100vw}.persona-tabs{padding:13px 21px}.persona-scale{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.persona-scale span:nth-child(even){text-align:right}}
@media(max-width:400px){.persona-presets{grid-template-columns:1fr}.persona-preset{min-height:130px}.persona-preset strong{font-size:13px}.persona-tabs [role=tab]{font-size:11px;padding:9px 10px}.header-actions .theme-toggle{font-size:10px;padding:8px 7px}}
@media(prefers-reduced-motion:reduce){.persona-preset{transition:none}}

/* Six typefaces, post-inspired voices and a keepsake coffee ticket. */
.theme-option-group:has([name=theme-font]) .theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.theme-auto-font{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11px;color:var(--muted);cursor:pointer}
.theme-auto-font input{min-height:auto;accent-color:var(--accent-color)}
.persona-sample{padding:22px 0 24px;margin:24px 0 0;border-top:1px solid var(--line)}
.persona-sample h3{font-size:15px;margin:0 0 9px}
.persona-sample p{color:var(--muted);font-size:12px;line-height:1.8}
.persona-sample>label{display:block;font-size:12px;font-weight:700;margin:16px 0 9px}
.persona-sample textarea{font-size:13px;line-height:1.8;min-height:140px}
.sample-count{display:flex;justify-content:flex-end;color:var(--muted);font-size:11px;margin:5px 0 12px;font-variant-numeric:tabular-nums}
.sample-modes{display:grid;gap:9px}
.sample-modes .secondary{font-size:12px;justify-content:flex-start;text-align:left}
.sample-modes [aria-pressed=true]{border-color:var(--accent-color);background:var(--pale);box-shadow:inset 0 0 0 1px var(--accent-color)}
#persona-sample-status{min-height:20px;margin:10px 0 0;font-size:11px}
.fortune-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:min(100%,530px);min-height:76px;margin:0 auto 24px;padding:16px 20px;background:var(--accent-color);color:var(--accent-text);border:1px solid var(--accent-color);border-radius:var(--radius-size);font-size:16px;font-weight:750;box-shadow:var(--shadow);transition:transform .15s,background .15s}
.fortune-action:hover{background:var(--accent-hover);transform:translateY(-1px)}
.fortune-action span{font-size:11px;font-weight:500;opacity:.85}
.prescription-action{margin-top:17px;font-size:12px!important;gap:7px}
.spinner-inline{gap:10px;align-items:center;line-height:1.8}
[data-chat-loading-text]{overflow-wrap:anywhere}
.ticket-dialog{width:min(540px,calc(100% - 24px));background:var(--surface-bg);color:var(--ink);border-radius:var(--radius-size);padding:22px}
.ticket-modal-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}
.ticket-modal-header h2{margin:0;font-size:19px;line-height:1.5}
.ticket-modal-header .icon-button{flex-shrink:0}
.ticket-preview{max-width:420px;margin:auto}
.ticket-preview canvas{display:block;width:100%;height:auto;box-shadow:var(--shadow);border-radius:8px}
.ticket-save-status{text-align:center;min-height:20px;font-size:11px;line-height:1.7;color:var(--muted);margin:17px 0}
.ticket-modal-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.ticket-modal-actions button{font-size:12px}
@media(max-width:480px){.fortune-action{font-size:14px;min-height:72px}.ticket-dialog{padding:16px}.ticket-modal-header h2{font-size:17px}.persona-sample textarea{font-size:12px}.sample-modes .secondary{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fortune-action{transition:none}}

/* Readable text accents keep the selected hue; filled controls keep the exact palette. */
.search-box,.filters,.product-card,.topic-box,.faq-item,.chat-panel,.chat-compose,.side-link,.admin-auth,.admin-card,.admin-stat,.context-summary,.product-assessment,.recommendation-proof,dialog{--accent-readable:var(--accent-surface-ink);color:var(--ink)}
.chat-messages{--accent-readable:var(--accent-ink)}
.message.assistant .message-body{--accent-readable:var(--accent-ai-ink)}
.chat-top,.example,.stage,.info-banner,.detail-context,.recommendation-settings,.context-pill,.question-label,.selected-conditions .chip{--accent-readable:var(--accent-pale-ink)}
button.primary:hover,.primary:hover,.message.assistant .markdown a:hover,.fortune-action:hover,.chip[aria-pressed=true]:hover,.pagination button[aria-current=page]:hover{background:var(--accent-hover);color:var(--accent-hover-text)}
.compare-bar .primary:hover{background:var(--surface-bg);color:var(--ink)}
/* The light and dark rings stay visible on either background, including flat mode. */
:is(button,a,input,select,textarea,summary):focus-visible,.search-box:focus-within{outline:2px solid #FFFFFF;outline-offset:2px;box-shadow:0 0 0 4px #121316!important}
.search-box input:focus-visible{outline:0;box-shadow:none!important}

/* Suggested questions sit just below each answer and keep the active theme. */
.message-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;max-width:100%;min-width:0}
.message-followups .follow-up-chip{flex:0 1 auto;min-height:44px;min-width:0;max-width:100%;padding:10px 15px;border-radius:999px;border:1px solid var(--accent-color);background:var(--pale);color:var(--accent-pale-ink);font-family:var(--font-family);font-size:13px;font-weight:600;line-height:1.6;white-space:normal;overflow-wrap:anywhere;text-align:left;transition:background .15s,color .15s}
.message-followups .follow-up-chip:hover:not(:disabled){background:var(--accent-color);color:var(--accent-text)}
.message-followups .follow-up-chip:disabled{opacity:.55;border-style:solid;background:var(--pale)}
@media(max-width:600px){.message-followups .follow-up-chip{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.message-followups .follow-up-chip{transition:none}}

/* One document scroll keeps every answer readable and the question field within reach. */
.site-header{flex-shrink:0}
.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:51px;padding:5px 24px;flex-wrap:nowrap;row-gap:0}
.site-header .brand{flex:none;flex-basis:auto;min-width:0}
.site-header .brand-word{font-size:18px;line-height:1.15;letter-spacing:-.8px}
.site-header .brand-caption{font-size:8px;line-height:1.3;letter-spacing:.3px;margin-top:2px}
.site-header nav,.header-inner>nav{display:flex;order:initial;flex-basis:auto;width:auto;margin:0;padding:0;justify-content:center;gap:4px;min-width:0}
.site-header nav a{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.3;border:0;border-radius:var(--radius-size)}
.nav-label-short{display:none}
.site-header .header-actions{display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:7px;width:auto;margin:0;min-width:0}
.site-header .theme-toggle{flex:none;min-height:32px;padding:5px 9px;font-size:11px;line-height:1.3;gap:4px}
.site-header .admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 0 5px 10px;font-size:10px;line-height:1.3;margin:0}
body[data-route=ai]{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
body[data-route=ai] main{display:flex;flex:1;min-height:0;width:100%;margin:0 auto;padding:12px 24px 10px}
body[data-route=ai] #view{display:flex;flex:1;min-width:0;width:100%}
body[data-route=ai] .chat-container{display:flex;flex:1;flex-direction:column;gap:10px;min-width:0;margin:0 auto}
body[data-route=ai] .page-heading{flex-shrink:0;align-items:center;margin:0;gap:10px}
body[data-route=ai] .page-heading>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 11px;min-width:0}
body[data-route=ai] .page-heading .eyebrow{font-size:9px;line-height:1.4;letter-spacing:1.3px;margin:0}
body[data-route=ai] .page-heading h1{font-size:17px;line-height:1.4;letter-spacing:-.6px;margin:0}
body[data-route=ai] .page-heading>div:first-child>p:not(.eyebrow){font-size:10px;line-height:1.5;margin:0}
body[data-route=ai] .page-heading .data-note{display:none}
body[data-route=ai] .chat-layout{flex:1;align-items:stretch;gap:16px;min-width:0}
body[data-route=ai] .chat-panel{min-height:0;min-width:0;overflow:visible}
body[data-route=ai] .chat-top{flex-shrink:0;padding:4px 14px;font-size:11px;min-height:37px;border-radius:var(--radius-size) var(--radius-size) 0 0}
body[data-route=ai] .chat-top strong{gap:6px;min-width:0}
body[data-route=ai] .chat-top .text-button{font-size:10px;min-height:28px;padding:4px 0}
body[data-route=ai] .chat-messages{flex:1;min-height:0;height:auto;max-height:none;overflow:visible;padding:12px 16px}
body[data-route=ai] .chat-panel.chat-empty .chat-messages{display:flex;flex-direction:column;justify-content:center}
body[data-route=ai] .welcome{width:100%;padding:6px 0;margin:auto}
body[data-route=ai] .welcome .welcome-mark{font-size:19px;line-height:1.2;letter-spacing:-.8px}
body[data-route=ai] .welcome h2{font-size:17px;line-height:1.4;letter-spacing:-.5px;margin:3px 0 5px}
body[data-route=ai] .welcome p{font-size:11px;line-height:1.5;margin:0 auto 9px}
body[data-route=ai] .welcome .example-group-label{font-size:10px;line-height:1.4;margin:8px auto 4px;max-width:640px}
body[data-route=ai] .fortune-action{width:min(100%,640px);min-height:44px;gap:1px;margin:0 auto 8px;padding:5px 12px;font-size:13px;line-height:1.4}
body[data-route=ai] .fortune-action span{font-size:10px;line-height:1.3}
body[data-route=ai] .examples{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px;gap:5px}
body[data-route=ai] .example{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:36px;padding:6px 9px;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
body[data-route=ai] .example span{float:none;flex-shrink:0}
body[data-route=ai] .chat-compose{position:sticky;bottom:0;z-index:10;flex-shrink:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));border-radius:0 0 var(--radius-size) var(--radius-size);box-shadow:0 -4px 14px color-mix(in srgb,var(--ink) 5%,transparent)}
body[data-route=ai] .chat-input-row{gap:7px}
body[data-route=ai] .chat-input-row textarea{min-height:44px;resize:none;overflow:hidden;font-size:16px;line-height:1.45;padding:10px 12px}
body[data-route=ai] .chat-input-row .primary{width:44px;min-height:44px;padding:7px;font-size:20px}
body[data-route=ai] .chat-compose p{font-size:9px;line-height:1.4;margin:4px 0 0}
body[data-route=ai] .message{margin-bottom:16px}
body[data-route=ai] .message.assistant .message-body{padding:14px 16px}
body[data-route=ai] .chat-side{padding-top:4px}
body[data-route=ai] .chat-side h3{margin-bottom:8px;font-size:12px}
body[data-route=ai] .chat-side p{font-size:10px;line-height:1.7;margin-bottom:14px}
body[data-route=ai] .side-link{padding:11px 12px;margin-bottom:8px;font-size:11px}
body[data-route=ai] .side-link small{margin-top:3px;font-size:9px}
body[data-route=ai] .side-stat{margin-top:16px;padding-top:12px}
body[data-route=ai] .site-footer{flex-shrink:0;width:100%;padding:6px 24px;gap:5px 14px;font-size:9px;line-height:1.4}
body[data-route=ai] .site-footer>span{min-width:0;overflow-wrap:anywhere}
@media(max-width:1100px){
  .header-inner{gap:12px;padding-inline:18px}
  .site-header .brand-word{font-size:16px}
  .site-header nav a{padding-inline:8px;font-size:11px}
  .nav-label-full{display:none}
  .nav-label-short{display:inline}
}
@media(max-width:760px){
  .header-inner{gap:7px;padding-inline:12px}
  .site-header .brand-word{font-size:14px;letter-spacing:-.6px}
  .site-header .brand-caption{display:none}
  .site-header nav,.header-inner>nav{gap:3px}
  .site-header nav a{min-width:32px;padding:5px 6px;font-size:11px}
  .site-header .header-actions{gap:5px}
  .site-header .theme-toggle{min-width:32px;padding:5px 6px;font-size:14px}
  .header-action-label{display:none}
  .site-header .admin-link{min-width:32px;padding:5px 0 5px 5px;font-size:9px}
  body[data-route=ai] main{padding:9px 12px 7px}
  body[data-route=ai] .chat-container{gap:7px}
  body[data-route=ai] .page-heading>div:first-child{gap:2px 8px}
  body[data-route=ai] .page-heading h1{font-size:15px;line-height:1.4}
  body[data-route=ai] .page-heading .eyebrow{font-size:8px;letter-spacing:1px}
  body[data-route=ai] .page-heading>div:first-child>p:not(.eyebrow){font-size:9px;line-height:1.4}
  body[data-route=ai] .chat-top{padding-inline:11px}
  body[data-route=ai] .chat-messages{padding:8px 11px}
  body[data-route=ai] .welcome{padding:4px 0}
  body[data-route=ai] .welcome .welcome-mark{font-size:17px}
  body[data-route=ai] .welcome h2{font-size:15px;margin:2px 0 4px}
  body[data-route=ai] .welcome p{font-size:10px;line-height:1.4;margin-bottom:7px}
  body[data-route=ai] .welcome .example-group-label{font-size:9px;margin:6px auto 4px}
  body[data-route=ai] .fortune-action{min-height:44px;margin-bottom:6px;font-size:12px;padding:5px 8px}
  body[data-route=ai] .fortune-action span{font-size:9px}
  body[data-route=ai] .examples{gap:4px}
  body[data-route=ai] .example{min-height:36px;font-size:10px;line-height:1.35;padding:5px 7px;gap:3px}
  body[data-route=ai] .chat-compose{padding:7px 9px max(7px,env(safe-area-inset-bottom))}
  body[data-route=ai] .chat-input-row textarea{font-size:16px;padding:10px}
  body[data-route=ai] .chat-compose p{font-size:8px;line-height:1.35}
  body[data-route=ai] .site-footer{padding:5px 12px;font-size:8px;gap:2px 8px}
}
@media(max-width:360px){
  .header-inner{padding-inline:8px;gap:4px}
  .site-header .brand-word{font-size:12px;letter-spacing:-.5px}
  .site-header nav a{padding-inline:4px;font-size:10px}
  .site-header .header-actions{gap:3px}
  body[data-route=ai] main{padding-inline:8px}
  body[data-route=ai] .chat-messages{padding-inline:9px}
  body[data-route=ai] .example{font-size:9px}
}
@media(max-height:600px) and (min-width:761px){
  body[data-route=ai] main{padding-block:7px}
  body[data-route=ai] .chat-container{gap:6px}
  body[data-route=ai] .chat-messages{padding-block:8px}
  body[data-route=ai] .welcome{padding-block:2px}
}

/* On short phones, retain all questions while reducing decoration and spacing. */
@media(max-height:620px) and (max-width:760px){
  body[data-route=ai] main{padding:5px 8px 4px}
  body[data-route=ai] .chat-container{gap:4px}
  body[data-route=ai] .page-heading>div:first-child{gap:1px 6px}
  body[data-route=ai] .page-heading .eyebrow{font-size:8px;line-height:1.2}
  body[data-route=ai] .page-heading h1{font-size:13px;line-height:1.3}
  body[data-route=ai] .page-heading>div:first-child>p:not(.eyebrow){font-size:8px;line-height:1.2}
  body[data-route=ai] .chat-top{min-height:34px;padding-block:3px}
  body[data-route=ai] .chat-messages{padding:4px 9px}
  body[data-route=ai] .welcome{padding:0}
  body[data-route=ai] .welcome .welcome-mark{display:none}
  body[data-route=ai] .welcome h2{font-size:15px;line-height:1.25;margin:0 0 2px}
  body[data-route=ai] .welcome p{font-size:10px;line-height:1.3;margin-bottom:4px}
  body[data-route=ai] .fortune-action{margin-bottom:3px}
  body[data-route=ai] .welcome .example-group-label{font-size:9px;line-height:1.25;margin:3px auto}
  body[data-route=ai] .examples{gap:3px}
  body[data-route=ai] .example{font-size:11px;line-height:1.2;min-height:32px;padding:3px 6px}
  body[data-route=ai] .chat-compose{padding:6px 9px max(6px,env(safe-area-inset-bottom))}
  body[data-route=ai] .chat-compose p{line-height:1.25;margin-top:3px}
  body[data-route=ai] .site-footer{padding-block:4px}
}
