.appshell{background:var(--surface-canvas);min-height:100vh;color:var(--ink-primary);flex-direction:column;display:flex}.appshell__topbar{height:56px;padding:0 var(--space-5);background:var(--surface-raised);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;display:flex}.appshell[data-mode=client] .appshell__topbar{background:var(--surface-canvas)}.appshell__product{padding-left:var(--space-3);border-left:1px solid var(--line-soft);margin-left:var(--space-2)}.appshell__body{flex:1;min-height:0;display:flex}.appshell__nav{width:200px;padding:var(--space-4) var(--space-3);border-right:1px solid var(--line-soft);gap:var(--space-1);background:var(--surface-raised);flex-direction:column;display:flex}.appshell__navitem{text-align:left;padding:var(--space-2) var(--space-3);color:var(--ink-secondary);font:inherit;border-radius:var(--radius-md);cursor:pointer;transition:background var(--dur-state) var(--ease-enter);background:0 0;border:none;font-size:14px;line-height:22px}.appshell__navitem:hover{background:var(--surface-sunk);color:var(--ink-primary)}.appshell__navitem.is-active{background:var(--surface-sunk);color:var(--ink-primary);font-weight:600}.appshell__main{min-width:0;padding:var(--space-6);flex:1;width:100%;max-width:1280px;margin:0 auto}.appshell__user{align-items:center;gap:var(--space-2);border:1px solid var(--line-soft);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);cursor:pointer;color:var(--ink-primary);font:inherit;background:0 0;border-radius:999px;display:flex}.appshell__avatar{background:var(--accent-data-soft);width:28px;height:28px;color:var(--accent-data);letter-spacing:.02em;border-radius:50%;place-items:center;font-size:11px;font-weight:600;display:grid}.logo{align-items:center;gap:var(--space-2);color:var(--ink-primary);display:flex}.logo__wordmark{font-family:var(--font-serif);letter-spacing:-.005em;font-size:17px;font-weight:600}.envchip{align-items:center;gap:var(--space-1);font-size:11px;line-height:16px;font-family:var(--font-mono);color:var(--ink-secondary);padding:2px var(--space-2);border:1px solid var(--line-soft);background:var(--surface-sunk);text-transform:lowercase;border-radius:999px;display:inline-flex}.envchip__dot{background:var(--state-positive);border-radius:50%;width:6px;height:6px}.envchip[data-env=prod] .envchip__dot{background:var(--state-warning)}.locswitch{border:1px solid var(--line-soft);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.locswitch__btn{cursor:pointer;padding:var(--space-1) var(--space-3);font:inherit;letter-spacing:.02em;color:var(--ink-tertiary);transition:background var(--dur-state) var(--ease-enter), color var(--dur-state) var(--ease-enter);background:0 0;border:none;font-size:12px;font-weight:600}.locswitch__btn.is-active{background:var(--surface-sunk);color:var(--ink-primary)}.locswitch__btn+.locswitch__btn{border-left:1px solid var(--line-soft)}.locswitch.is-compact .locswitch__btn{padding:2px var(--space-2);font-size:11px}.card{background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius-lg);transition:box-shadow var(--dur-state) var(--ease-enter);flex-direction:column;display:flex}.card[data-status=streaming]{box-shadow:0 0 0 1px var(--accent-data-soft) inset}.card__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.card__titlewrap{flex-direction:column;gap:2px;min-width:0;display:flex}.card__title,.card__subtitle{margin:0}.card__headerright{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.card__body{padding:var(--space-5)}.card--compact .card__body{padding:var(--space-4)}.card--data .card__body{padding:0}.card__footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-soft);background:var(--surface-sunk);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.chip{align-items:center;gap:var(--space-1);padding:3px var(--space-2);background:var(--surface-sunk);color:var(--ink-secondary);border:1px solid var(--line-soft);white-space:nowrap;border-radius:999px;font-size:12px;line-height:16px;display:inline-flex}.chip--mono{font-family:var(--font-mono);font-size:11px}.chip__dot{background:var(--accent-data);border-radius:50%;width:6px;height:6px}.chip--meta{color:var(--ink-tertiary)}.chip--warning{background:var(--state-warning-soft);color:var(--state-warning);text-transform:uppercase;letter-spacing:.06em;border-color:#0000;font-size:10px}.chip--pending{background:var(--accent-data-soft);color:var(--accent-data);border-color:#0000}.chip--pending .chip__pulse{background:var(--accent-data);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.chip--done{background:var(--state-positive-soft);color:var(--state-positive);border-color:#0000;justify-content:center;width:22px;height:22px;padding:0}.chip--amber{background:var(--accent-primary-soft);color:var(--accent-primary);letter-spacing:.02em;border-color:#0000;font-weight:600}.statchip{padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-md);border:1px solid var(--line-soft);flex-direction:column;gap:2px;min-width:120px;display:flex}.statchip--data{border-left:2px solid var(--accent-data)}.statchip--positive{border-left:2px solid var(--state-positive)}.statchip--warning{border-left:2px solid var(--state-warning)}.statchip--negative{border-left:2px solid var(--state-negative)}.statchip__label{color:var(--ink-tertiary)}.statchip__value{color:var(--ink-primary);font-weight:600}.confbar{align-items:center;gap:var(--space-2);width:100%;display:flex}.confbar__track{background:var(--surface-sunk);border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.confbar__fill{background:var(--ink-tertiary);transition:width .24s var(--ease-enter);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.confbar__fill[data-tier=mid]{background:var(--accent-data)}.confbar__fill[data-tier=high]{background:var(--accent-primary)}.confbar__tick{background:var(--surface-raised);opacity:.7;width:1px;position:absolute;top:0;bottom:0}.confbar__num{color:var(--ink-secondary);text-align:right;min-width:36px;font-size:12px}.confbar--compact{gap:var(--space-1)}.confbar--compact .confbar__track{height:4px}.confbar--compact .confbar__num{min-width:30px;font-size:11px}.cite{cursor:help;position:relative}.cite--partner code{background:var(--surface-sunk);border-radius:var(--radius-sm);border:1px solid var(--line-soft);color:var(--accent-data);padding:1px 6px;font-size:12px}.cite--client .cite__name{text-decoration:underline;-webkit-text-decoration-color:var(--line-default);text-decoration-color:var(--line-default);text-underline-offset:3px;color:var(--ink-primary);text-decoration-thickness:1px}.cite__tooltip{background:var(--ink-primary);color:var(--surface-raised);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-state) var(--ease-enter), transform var(--dur-state) var(--ease-enter);z-index:50;flex-direction:column;gap:2px;font-size:12px;line-height:18px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.cite__tooltip code{color:var(--surface-canvas);background:#ffffff14;border-radius:3px;padding:1px 4px}.cite:hover .cite__tooltip,.cite:focus-visible .cite__tooltip{opacity:1;transform:translate(-50%)translateY(-2px)}.diff{background:var(--line-soft);border:1px solid var(--line-soft);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.diff__col{background:var(--surface-raised);padding:var(--space-3) var(--space-4)}.diff__col--before{background:var(--state-negative-soft)}.diff__col--after{background:var(--state-positive-soft)}.diff__label{font-family:var(--font-mono);margin-bottom:var(--space-2);font-size:11px}.diff__col--before .diff__label{color:var(--state-negative)}.diff__col--after .diff__label{color:var(--state-positive)}.diff__pre{white-space:pre-wrap;color:var(--ink-primary);padding:var(--space-2);background:#00000008;border-radius:4px;margin:0;font-size:12px;line-height:18px}.diff__content p{margin:0}.dtable{flex-direction:column;display:flex}.dtable__toolbar{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.dtable__filter{background:var(--surface-canvas);border:1px solid var(--line-soft);border-radius:var(--radius-md);max-width:320px;padding:var(--space-2) var(--space-3);color:var(--ink-primary);font:inherit;flex:1;font-size:13px}.dtable__filter:focus{outline:3px solid var(--focus-ring);outline-offset:1px;border-color:var(--accent-primary)}.dtable__scroll{overflow-x:auto}.dtable__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.dtable__table thead th{background:var(--surface-sunk);text-align:left;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--line-default);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink-secondary);font-size:12px;font-weight:600;position:sticky;top:0}.dtable__table thead th.is-numeric{text-align:right}.dtable__table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-soft);vertical-align:middle}.dtable__table tbody td.is-numeric{text-align:right}.dtable__table tbody tr:hover{background:var(--surface-canvas)}.dtable__table tbody tr:focus{background:var(--accent-primary-soft);outline:none}.dtable__sort{color:var(--accent-primary);margin-left:4px;font-size:10px}.codeblock{background:var(--surface-sunk);border:1px solid var(--line-soft);border-radius:var(--radius-md);overflow:hidden}.codeblock__bar{padding:var(--space-1) var(--space-3);background:var(--surface-canvas);border-bottom:1px solid var(--line-soft);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;display:flex}.codeblock__copy{cursor:pointer;color:var(--ink-tertiary);font:inherit;background:0 0;border:none;font-size:11px}.codeblock__copy:hover{color:var(--ink-primary)}.codeblock__pre{padding:var(--space-3);color:var(--ink-primary);white-space:pre-wrap;word-break:break-all;margin:0;overflow-x:auto}.modal-scrim{background:var(--surface-overlay);z-index:100;padding:var(--space-5);animation:scrim-in var(--dur-open) var(--ease-enter);place-items:center;display:grid;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface-raised);color:var(--ink-primary);border-radius:var(--radius-lg);border:1px solid var(--line-soft);width:100%;max-width:600px;max-height:90vh;animation:modal-in var(--dur-open) var(--ease-enter);flex-direction:column;display:flex}.modal--lg{max-width:880px}.modal--sm{max-width:400px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;display:flex}.modal__close{cursor:pointer;color:var(--ink-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;display:grid}.modal__close:hover{color:var(--ink-primary);background:var(--surface-sunk)}.modal__body{padding:var(--space-5);flex:1;overflow-y:auto}.modal__footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--line-soft);justify-content:flex-end;gap:var(--space-2);background:var(--surface-sunk);border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font:inherit;cursor:pointer;min-height:36px;transition:background var(--dur-state) var(--ease-enter), border-color var(--dur-state) var(--ease-enter), color var(--dur-state) var(--ease-enter), transform var(--dur-state) var(--ease-enter);border:1px solid #0000;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(.5px)}.btn--ghost{border-color:var(--line-default);color:var(--ink-primary);background:0 0}.btn--ghost:hover{background:var(--surface-sunk)}.btn--amber{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.btn--amber:hover{background:#9c681a;border-color:#9c681a}[data-theme=dark] .btn--amber{color:var(--surface-canvas)}.btn--data{background:var(--accent-data);color:#fff;border-color:var(--accent-data)}.btn--data:hover{background:var(--info-link-hover)}.btn--neutral{background:var(--ink-primary);color:var(--surface-raised);border-color:var(--ink-primary)}.empty{padding:var(--space-7) var(--space-5);align-items:center;gap:var(--space-3);text-align:center;color:var(--ink-secondary);flex-direction:column;display:flex}.empty p{max-width:480px;margin:0}.toast{bottom:var(--space-5);background:var(--ink-primary);color:var(--surface-raised);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);align-items:center;gap:var(--space-3);z-index:110;min-width:240px;animation:toast-in var(--dur-open) var(--ease-enter);border-radius:999px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #1b1a1826}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.toast--positive{background:var(--state-positive)}.toast--warning{background:var(--state-warning);color:var(--ink-primary)}.toast--negative{background:var(--state-negative)}.toast__close{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;border-radius:50%;width:24px;height:24px;font-size:16px;line-height:1}.toast__close:hover{opacity:1;background:#ffffff1a}.skel{background:linear-gradient(90deg, var(--surface-sunk) 25%, var(--line-soft) 50%, var(--surface-sunk) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.6s ease-in-out infinite skel-shimmer;display:block}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}@media (max-width:767px){.appshell__topbar{padding:0 var(--space-4);gap:var(--space-2)}.appshell__product,.appshell__user .t-body{display:none}.appshell__user{gap:var(--space-1);border-radius:999px;padding:2px}.appshell__topbar>.row:last-child{gap:var(--space-2)}.locswitch.is-compact .locswitch__btn{padding:6px 10px;font-size:12px}.appshell__main{padding:var(--space-4)}}@media (max-width:1023px){.citationchip:hover .citationchip__tip{display:none}.citationchip.is-tapped .citationchip__tip{display:block}}.ranked-row[data-recommended=true]{border-left:3px solid var(--accent-positive,#1aa674);background:color-mix(in srgb, var(--accent-positive,#1aa674) 6%, transparent);padding-left:12px}.chip--positive{background:var(--state-positive-soft);color:var(--state-positive);border-color:#0000;font-weight:600}
