:root{--bg:#f5f1e8;--panel:#ffffffd1;--panel-strong:#fffffff2;--line:#19140a1f;--text:#1f1a14;--muted:#6d655a;--accent:#045d56;--accent-strong:#003c36;--danger:#a02929;--warn:#a06d14;--shadow:0 18px 60px #2c24161f}*{box-sizing:border-box}html,body{min-height:100%;color:var(--text);background:radial-gradient(circle at 0 0,#045d5629,#0000 30%),radial-gradient(circle at 100% 0,#c98f1f33,#0000 26%),linear-gradient(#f8f5ee 0%,#f3ede0 100%);margin:0;padding:0;font-family:IBM Plex Sans,Noto Sans SC,sans-serif}body{padding:24px}button,input,textarea,select{font:inherit}button{cursor:pointer}.shell{gap:20px;max-width:1440px;margin:0 auto;display:grid}.hero{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fffc,#fffaf2eb);border-radius:28px;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px;display:flex}.hero h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(2rem,5vw,3.6rem)}.hero p{max-width:720px;color:var(--muted);margin:0;line-height:1.6}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:20px}.panel h2,.panel h3{margin:0}.panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.panel-head.compact{margin-bottom:10px}.panel-subtitle{color:var(--muted);margin-top:6px;font-size:.95rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);background:#ffffffb8;border-radius:20px;padding:16px}.stat strong{margin-top:6px;font-size:2rem;display:block}.muted{color:var(--muted)}.badge{color:var(--accent-strong);background:#045d561f;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.88rem;display:inline-flex}.badge.admin{color:#6f4910;background:#a06d1424}.badge.plain{color:var(--muted);background:#1f1a1412}.toolbar{flex-wrap:wrap;gap:10px;display:flex}.btn{background:var(--accent);color:#fff;white-space:nowrap;border:none;border-radius:14px;padding:12px 16px;transition:transform .14s,opacity .14s}.btn:hover{transform:translateY(-1px)}.btn.secondary{color:var(--accent-strong);background:#045d561f}.btn.danger{background:var(--danger)}.btn.danger.subtle{color:var(--danger);background:#a029291a}.btn.warning{color:#6f4910;background:#a06d1424}.btn.ghost{color:var(--text);border:1px solid var(--line);background:0 0}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field{gap:8px;display:grid}.field.full{grid-column:1/-1}.field label{color:var(--muted);font-size:.92rem}.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--panel-strong);width:100%;color:var(--text);border-radius:14px;padding:12px 14px}.field textarea{resize:vertical;min-height:120px;font-family:IBM Plex Mono,monospace}.checkbox-row{flex-wrap:wrap;gap:10px;display:flex}.checkbox-pill{border:1px solid var(--line);background:#ffffffa3;border-radius:999px;align-items:center;gap:8px;padding:10px 12px;display:inline-flex}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);vertical-align:top;text-align:left;padding:12px 10px}.table th{color:var(--muted);font-weight:600}.inline-input{border:1px solid var(--line);background:#ffffffdb;border-radius:12px;width:100%;padding:10px 12px}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}.user-panel{overflow:hidden}.user-list{gap:12px;display:grid}.user-card{background:linear-gradient(#ffffffdb,#fffcf7bd);border:1px solid #19140a1a;border-radius:18px;grid-template-columns:minmax(160px,.9fr) minmax(180px,1.05fr) minmax(250px,1.4fr) minmax(100px,.55fr) minmax(190px,1fr) minmax(260px,1.25fr);align-items:center;gap:14px;padding:14px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;box-shadow:0 10px 28px #2c24160d}.user-card:hover{border-color:#045d5633;transform:translateY(-1px);box-shadow:0 16px 34px #2c241614}.user-card.locked{background:linear-gradient(135deg,#1f1a1409 0 25%,#0000 25% 50%,#1f1a1409 50% 75%,#0000 75%) 0 0/18px 18px,#ffffff94}.user-identity{align-items:center;gap:12px;min-width:0;display:flex}.user-initial{background:var(--accent-strong);color:#fff;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.user-card.locked .user-initial{background:#1f1a14ad}.user-name-block{gap:7px;min-width:0;display:grid}.user-name-block strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.user-meta{flex-wrap:wrap;gap:6px;display:flex}.user-field-block{gap:8px;min-width:0;display:grid}.user-field-label{color:var(--muted);font-size:.76rem;font-weight:700}.user-avatar-block .avatar-uploader{min-width:0}.user-toggle{width:fit-content;min-height:42px;color:var(--accent-strong);background:#045d5617;border:1px solid #045d562e;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.user-toggle.disabled{border-color:var(--line);color:var(--muted);background:#1f1a140f}.user-actions{gap:8px;display:grid}.user-actions-row{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.user-actions .btn{border-radius:12px;padding:10px 13px}.avatar-uploader{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:190px;display:grid}.avatar-preview{border:1px solid var(--line);width:48px;height:48px;color:var(--muted);text-align:center;background:#ffffffbd;border-radius:14px;place-items:center;font-size:.72rem;display:grid;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.avatar-upload-body{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.avatar-upload-button{white-space:nowrap;border-radius:12px;padding:8px 12px;position:relative;overflow:hidden}.avatar-upload-button input{opacity:0;pointer-events:none;position:absolute;inset:0}.avatar-upload-button.disabled{opacity:.6;cursor:not-allowed;transform:none}.avatar-upload-status{min-width:64px;color:var(--muted);white-space:nowrap;font-size:.82rem}.notice{border:1px solid var(--line);background:#ffffffd6;border-radius:16px;padding:14px 16px}.notice.error{background:#a0292914;border-color:#a029293d}.notice.success{background:#045d5614;border-color:#045d563d}.login-shell{place-items:center;min-height:calc(100vh - 48px);display:grid}.login-card{width:min(520px,100%)}.announcements-panel{overflow:hidden}.announcement-list{gap:12px;display:grid}.announcement-card{cursor:pointer;background:#ffffffc7;border:1px solid #19140a1a;border-radius:18px;grid-template-columns:10px minmax(0,1fr) auto;align-items:stretch;gap:16px;padding:0;transition:transform .16s,box-shadow .16s,opacity .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #2c24160f}.announcement-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px #2c241617}.announcement-card.disabled{opacity:.64}.announcement-card-strip{min-height:100%}.announcement-card-main{gap:12px;min-width:0;padding:16px 0;display:grid}.announcement-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.announcement-card h3{margin:0;font-size:1.08rem}.announcement-card p{color:var(--muted);word-break:break-word;margin:6px 0 0;line-height:1.55}.announcement-badges,.announcement-card-meta,.announcement-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.announcement-card-meta{color:var(--muted);font-size:.84rem}.announcement-card-actions{place-content:center flex-end;min-width:210px;padding:16px}.announcement-card-actions .btn{border-radius:12px;padding:9px 12px}.announcement-level.info{color:var(--accent-strong);background:#045d561f}.announcement-level.warning{color:#7c3e09;background:#b4530924}.announcement-level.critical{color:#8b1a1a;background:#b91c1c1f}.announcement-modal{width:min(980px,100vw - 32px)}.announcement-form{align-items:start}.announcement-switches{flex-wrap:wrap;align-items:end;display:flex}.announcement-content-input{min-height:220px}.announcement-preset-grid{grid-template-columns:repeat(7,minmax(92px,1fr));gap:10px;display:grid}.announcement-preset{border:1px solid var(--line);min-height:44px;color:var(--text);background:#ffffffc2;border-radius:14px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.announcement-preset.active{color:var(--accent-strong);background:#045d561a;border-color:#045d5661;font-weight:700}.announcement-preset-swatch{border-radius:50%;width:16px;height:16px;box-shadow:inset 0 0 0 1px #ffffff94}.announcement-color-row{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;display:grid}.announcement-color-row input[type=color]{height:48px;padding:5px}.announcement-preview-frame{background:linear-gradient(135deg,#ffffffb8,#fffaf2b8);border:1px dashed #19140a2e;border-radius:18px;padding:12px}.announcement-preview{color:#fff;border-radius:16px;gap:12px;padding:18px;display:grid;box-shadow:0 16px 42px #1f1a1429}.announcement-preview .markdown-body,.announcement-preview .md-link,.announcement-preview .md-inline-code{color:inherit}.announcement-preview .md-blockquote{background:#ffffff1f;border-left-color:#ffffffb3}.announcement-preview .md-code-block,.announcement-preview .md-table{background:#ffffff29}.announcement-preview-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.announcement-preview-head .badge{color:#fff;background:#ffffff38}@media (max-width:900px){.announcement-card{grid-template-columns:8px minmax(0,1fr)}.announcement-card-actions{grid-column:2;justify-content:flex-start;min-width:0;padding:0 16px 16px 0}.announcement-card-head{display:grid}.announcement-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.model-grid{grid-template-columns:1fr;gap:12px;display:grid}.model-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default;-webkit-user-select:none;user-select:none;background:#ffffffc7;border-radius:20px;gap:14px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;display:grid;position:relative;box-shadow:0 2px 12px #1f1a140f,0 8px 32px #1f1a140a}.model-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #1f1a141a,0 12px 40px #1f1a140f}.model-card.enabled{border:2px solid var(--accent)}.model-card.disabled{border:1.5px solid var(--line);opacity:.72}.model-card.expiry-soon{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#a029291a}.model-card.expiry-planned{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#a06d1417}.model-card.dragging{opacity:.45;box-shadow:none;transform:scale(.96)}.model-card.drag-over{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 0 0 3px #045d562e}.model-card-drag-handle{cursor:grab;width:28px;height:28px;color:var(--muted);opacity:.5;border-radius:8px;place-items:center;transition:opacity .14s;display:grid;position:absolute;top:12px;right:14px}.model-card-drag-handle:active{cursor:grabbing}.model-card:hover .model-card-drag-handle{opacity:.9}.model-card-drag-handle:hover{opacity:1;background:#045d5614}.model-card-header{justify-content:space-between;align-items:flex-start;gap:10px;padding-right:36px;display:flex}.model-card-header h4{letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:700;line-height:1.3}.model-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.model-card-actions .btn{border-radius:10px;padding:6px 12px;font-size:.82rem}.model-card-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.model-card-toggle input{display:none}.toggle-track{background:#00000026;border-radius:13px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.toggle-track.active{background:var(--accent)}.toggle-thumb{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0003}.toggle-track.active .toggle-thumb{transform:translate(18px)}.model-card-id{color:var(--muted);word-break:break-all;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.model-capabilities{flex-wrap:wrap;gap:6px;display:flex}.cap-icon{background:#045d5614;border:1px solid #045d561f;border-radius:10px;justify-content:center;align-items:center;gap:4px;width:32px;height:32px;display:inline-flex;position:relative}.cap-icon svg{width:16px;height:16px;color:var(--accent-strong)}.cap-icon:after{content:attr(data-tooltip);white-space:nowrap;background:var(--text);color:#fff;pointer-events:none;opacity:0;z-index:10;border-radius:8px;padding:4px 10px;font-size:.76rem;transition:opacity .14s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.cap-icon:hover:after{opacity:1}.cap-icon.cap-chat,.cap-icon.cap-image-type,.cap-icon.cap-embedding{background:#3b82f61a;border-color:#3b82f633}.cap-icon.cap-chat svg,.cap-icon.cap-image-type svg,.cap-icon.cap-embedding svg{color:#2563eb}.cap-icon.cap-input{background:#22c55e1a;border-color:#22c55e33}.cap-icon.cap-input svg{color:#16a34a}.cap-icon.cap-output{background:#a855f71a;border-color:#a855f733}.cap-icon.cap-output svg{color:#9333ea}.cap-icon.cap-tool{background:#f973161a;border-color:#f9731633}.cap-icon.cap-tool svg{color:#ea580c}.cap-icon.cap-reasoning{background:#6366f11a;border-color:#6366f133}.cap-icon.cap-reasoning svg{color:#4f46e5}.cap-icon.cap-proxy{background:#22c55e14;border-color:#22c55e26}.cap-icon.cap-proxy svg{color:#16a34a}.cap-icon.cap-direct{background:#9ca3af1a;border-color:#9ca3af33}.cap-icon.cap-direct svg{color:#6b7280}.cap-icon.cap-override{background:#eab3081a;border-color:#eab30833}.cap-icon.cap-override svg{color:#ca8a04}.cap-icon.cap-search{background:#0ea5e91a;border-color:#0ea5e933}.cap-icon.cap-search svg{color:#0ea5e9}.cap-icon.cap-url{background:#14b8a61a;border-color:#14b8a633}.cap-icon.cap-url svg{color:#0d9488}.logs-shell{max-width:1640px}.logs-layout{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:20px;display:grid}.session-panel,.transcript-panel{min-height:70vh}.session-list{gap:12px;display:grid}.session-item{text-align:left;border:1px solid var(--line);background:#ffffffb8;border-radius:18px;gap:10px;width:100%;padding:16px;display:grid}.session-item.active{background:#045d5614;border-color:#045d5647}.session-item-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.session-meta-grid{color:var(--muted);gap:6px;font-size:.9rem;display:grid}.transcript-head{align-items:flex-start}.snapshot-timeline{gap:10px;margin-bottom:18px;padding-bottom:6px;display:flex;overflow-x:auto}.snapshot-button{border:1px solid var(--line);text-align:left;background:#ffffffc7;border-radius:18px;gap:6px;min-width:180px;padding:14px;display:grid}.snapshot-button.active{background:#045d561a;border-color:#045d5647}.transcript{gap:16px;display:grid}.log-message{gap:8px;display:grid}.log-message.user{justify-items:end}.log-message.assistant,.log-message.system,.log-message.tool{justify-items:start}.log-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.86rem;display:flex}.log-bubble{border:1px solid var(--line);background:#ffffffd1;border-radius:22px;gap:12px;width:min(900px,100%);padding:16px 18px;display:grid;box-shadow:0 12px 34px #1f1a1414}.log-message.user .log-bubble{background:linear-gradient(135deg,#045d561f,#045d562e)}.log-message.system .log-bubble{background:#c98f1f14}.part-stack{gap:12px;display:grid}.part-text{white-space:pre-wrap;margin:0;line-height:1.7}.reasoning-block,.tool-block,.translation-block{border:1px solid var(--line);background:#ffffffad;border-radius:16px;padding:14px}.reasoning-block pre,.tool-block pre{white-space:pre-wrap;word-break:break-word;margin:8px 0 0;font-family:IBM Plex Mono,monospace;font-size:.9rem}.tool-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tool-output{gap:10px;margin-top:10px;display:grid}.variant-tabs{flex-wrap:wrap;gap:8px;display:flex}.variant-button{border:1px solid var(--line);background:#ffffffbd;border-radius:999px;padding:8px 12px}.variant-button.active{color:var(--accent-strong);background:#045d561f;border-color:#045d563d}.attachment-pill{background:#045d5614;border:1px solid #045d561f;border-radius:14px;gap:4px;padding:10px 12px;display:grid}.mono{word-break:break-all;font-family:IBM Plex Mono,monospace;font-size:.86rem}.empty-state{border:1px dashed var(--line);min-height:220px;color:var(--muted);text-align:center;background:#ffffff70;border-radius:20px;place-items:center;padding:20px;display:grid}.empty-state.small{min-height:96px}.quota-list{gap:10px;display:grid}.quota-row{border:1px solid var(--line);background:#ffffff9e;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;align-items:start;gap:10px;padding:12px;display:grid}.quota-row>.btn{grid-area:1/2/span 2;align-self:center}.quota-row-main{flex:1;grid-column:1;grid-template-columns:auto minmax(120px,1.2fr) minmax(96px,.8fr) minmax(80px,.5fr) minmax(96px,.6fr) minmax(104px,.7fr) minmax(180px,1fr);align-items:center;gap:8px;display:grid}.quota-progress{grid-column:1;gap:6px;min-width:0;display:grid}.quota-progress.disabled{opacity:.68}.quota-progress-head,.quota-progress-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;font-size:.84rem;display:flex}.quota-progress-head strong{color:var(--text)}.quota-progress-track{background:#19140a14;border-radius:999px;height:9px;overflow:hidden}.quota-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#045d56d1,#057e68eb);min-width:2px;height:100%;transition:width .18s;display:block}.quota-progress-track span.warn{background:linear-gradient(90deg,#a06d14d1,#c78f1feb)}.quota-progress-track span.danger{background:linear-gradient(90deg,#a02929d6,#c83e32f2)}.extra-quota-progress{background:linear-gradient(135deg,#045d5614,#ffffffc2);border:1px solid #045d562e;border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:end;gap:14px;padding:14px;display:grid}.extra-quota-progress.danger{background:linear-gradient(135deg,#a0292917,#ffffffc2);border-color:#a0292933}.extra-quota-progress.warn{background:linear-gradient(135deg,#a06d1414,#ffffffc2);border-color:#a06d1433}.extra-quota-main{gap:7px;min-width:0;display:grid}.extra-quota-progress-head,.extra-quota-progress-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;display:flex}.extra-quota-progress-head{color:var(--muted);font-size:.84rem}.extra-quota-progress-head strong{color:var(--text);font-size:1.08rem}.extra-quota-progress-meta{color:var(--muted);font-size:.82rem}.extra-quota-progress-track{background:#19140a14;border-radius:999px;height:10px;overflow:hidden}.extra-quota-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#045d56d1,#057e68f2);min-width:0;height:100%;transition:width .18s;display:block}.extra-quota-progress.danger .extra-quota-progress-track span{background:linear-gradient(90deg,#a02929d6,#c83e32f2)}.extra-quota-progress.warn .extra-quota-progress-track span{background:linear-gradient(90deg,#a06d14d1,#c78f1feb)}.extra-quota-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.extra-quota-input-field input{min-height:42px}.extra-quota-progress+.panel-head.compact{margin-top:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:#045d5614;border:1px solid #045d561f;border-radius:999px;padding:6px 10px;font-size:.84rem}.chip.warn{color:var(--warn);background:#a06d141f;border-color:#a06d143d}.chip.danger{color:var(--danger);background:#a029291f;border-color:#a029293d}.user-selector-bar{background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;flex-wrap:wrap;align-items:flex-end;gap:20px;padding:16px 20px;display:flex}.user-info-pill{background:#045d560f;border:1px solid #045d561f;border-radius:16px;align-items:center;gap:12px;padding:10px 16px;display:flex}.user-info-pill div{gap:2px;display:grid}.user-avatar-placeholder{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.1rem;font-weight:700;display:grid}.chat-sidebar{max-height:calc(100vh - 280px);position:sticky;top:20px;overflow-y:auto}.conversation-list{gap:6px;display:grid}.conversation-item{text-align:left;border:1px solid var(--line);background:#ffffffad;border-radius:14px;gap:6px;width:100%;padding:14px 16px;display:grid}.conversation-item:hover{background:#045d560f}.conversation-item.active{background:#045d561a;border-color:#045d5647}.conv-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.4;overflow:hidden}.conv-meta{color:var(--muted);gap:6px;font-size:.84rem;display:flex}.chat-area{flex-direction:column;min-height:70vh;display:flex}.chat-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;padding-bottom:16px;display:flex}.chat-header h2{margin:0}.chat-header p{margin:4px 0 0}.chat-transcript{gap:20px;padding:16px 0;display:grid}.chat-message{gap:8px;display:grid}.chat-message.user{justify-items:end}.chat-message.assistant,.chat-message.system,.chat-message.tool{justify-items:start}.chat-message-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.role-badge{border:1px solid var(--line);background:#fff9;border-radius:999px;padding:4px 12px;font-size:.84rem;font-weight:600}.role-badge.user{color:var(--accent-strong);background:linear-gradient(135deg,#045d5626,#045d5614)}.role-badge.assistant{color:var(--warn);background:linear-gradient(135deg,#c98f1f1f,#c98f1f0f)}.role-badge.system{color:var(--danger);background:#a0292914}.role-badge.tool{color:var(--muted);background:#6d655a1a}.message-time{margin-left:auto;font-size:.82rem}.chat-bubble{border:1px solid var(--line);background:#ffffffd6;border-radius:20px;gap:12px;width:min(860px,100%);padding:16px 20px;line-height:1.7;display:grid;box-shadow:0 8px 24px #1f1a140f}.chat-message.user .chat-bubble{background:linear-gradient(135deg,#045d5624,#045d5638);border-color:#045d562e}.chat-message.system .chat-bubble{background:#a029290f;border-color:#a0292924}.chat-message.tool .chat-bubble{background:#ffffffa3;border-style:dashed}.reasoning-label{color:var(--muted);margin-bottom:8px;font-size:.88rem}.attachment-block{background:#045d560f;border:1px solid #045d561f;border-radius:14px;gap:4px;padding:12px 14px;display:grid}.attachment-label{font-size:.9rem;font-weight:600}.attachment-url{word-break:break-all;color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.image-block{gap:8px;display:grid}.image-block img{object-fit:contain;background:#0000000a}.tool-detail{margin-top:8px}.tool-detail summary{cursor:pointer;color:var(--muted);font-size:.9rem}.tool-detail pre{white-space:pre-wrap;word-break:break-word;background:#fff9;border-radius:10px;margin-top:6px;padding:10px;font-size:.84rem}.collapse-toggle{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.collapse-toggle:hover{opacity:.8}.collapse-arrow{color:var(--muted);flex-shrink:0;font-size:.7rem;transition:transform .15s}.markdown-body{line-height:1.75}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 .75em}.markdown-body p:last-child{margin-bottom:0}.md-h1{margin:.8em 0 .4em;font-size:1.6em;font-weight:700}.md-h2{margin:.7em 0 .35em;font-size:1.35em;font-weight:700}.md-h3{margin:.6em 0 .3em;font-size:1.15em;font-weight:600}.md-h4{margin:.5em 0 .25em;font-size:1.05em;font-weight:600}.markdown-body .md-h1:first-child,.markdown-body .md-h2:first-child,.markdown-body .md-h3:first-child,.markdown-body .md-h4:first-child{margin-top:0}.md-inline-code{background:#045d5614;border-radius:4px;padding:2px 6px;font-family:IBM Plex Mono,monospace;font-size:.88em}.md-code-block{border:1px solid var(--line);border-radius:12px;margin:.75em 0;overflow:hidden}.md-code-lang{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);background:#045d560f;padding:4px 14px;font-size:.72rem}.md-code-pre{margin:0;padding:14px;font-family:IBM Plex Mono,monospace;font-size:.86rem;line-height:1.6;overflow-x:auto}.md-table-wrapper{margin:.75em 0;overflow-x:auto}.md-table{border-collapse:collapse;width:100%;font-size:.92rem}.md-table th,.md-table td{border:1px solid var(--line);text-align:left;padding:8px 14px}.md-table th{background:#045d560f;font-weight:600}.md-blockquote{border-left:3px solid var(--accent);color:var(--muted);background:#045d560a;border-radius:0 8px 8px 0;margin:.75em 0;padding:8px 16px}.md-ul,.md-ol{margin:.5em 0;padding-left:1.5em}.md-ul li,.md-ol li{margin-bottom:.25em}.md-hr{border:none;border-top:1px solid var(--line);margin:1em 0}.md-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.md-link:hover{color:var(--accent-strong)}.md-image{border-radius:8px;max-width:100%;margin:.75em 0;display:block}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.katex-display{margin:.75em 0;overflow:auto hidden}.katex{font-size:1.05em}.form-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1f1a1473;place-items:center;padding:24px;animation:.18s fadeIn;display:grid;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-modal-panel{background:var(--panel-strong);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);border:1px solid var(--line);border-radius:28px;grid-template-rows:auto 1fr auto;gap:20px;width:min(780px,100%);max-height:88vh;padding:28px;animation:.22s slideUp;display:grid;box-shadow:0 36px 90px #1f1a1438}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.form-modal-panel.small{width:min(520px,100%)}.form-modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.form-modal-head h2{margin:0;font-size:1.4rem}.form-modal-body{padding-right:4px;overflow-y:auto}.form-modal-body::-webkit-scrollbar{width:4px}.form-modal-body::-webkit-scrollbar-thumb{background:#045d5633;border-radius:4px}.destructive-summary{background:#a0292914;border:1px solid #a029293d;border-radius:16px;gap:6px;margin-bottom:16px;padding:14px;display:grid}.destructive-summary strong{color:var(--danger)}.destructive-summary span{color:var(--muted)}.form-modal-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:8px;display:flex}@media (max-width:1080px){.grid-2,.logs-layout,.stats,.form-grid,.model-grid{grid-template-columns:1fr}.user-card{grid-template-columns:repeat(2,minmax(0,1fr))}.user-identity,.user-actions{grid-column:1/-1}.quota-row,.quota-row-main{grid-template-columns:1fr}.quota-row>.btn{grid-area:auto/1;width:100%}}@media (max-width:768px){body{padding:14px}.hero{flex-direction:column;align-items:flex-start;padding:22px}.user-card{grid-template-columns:1fr;padding:12px}.user-field-block,.user-identity,.user-actions{grid-column:auto}.user-actions-row .btn{flex:130px}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1f1a1480;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--panel-strong);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:28px;grid-template-rows:auto auto 1fr;gap:16px;width:min(900px,100%);max-height:85vh;padding:24px;display:grid;box-shadow:0 32px 80px #1f1a1433}.model-browser-list{gap:8px;max-height:100%;display:grid;overflow-y:auto}.model-browser-item{border:1px solid var(--line);cursor:pointer;background:#ffffffb8;border-radius:16px;padding:14px 16px;transition:background .14s}.model-browser-item:hover{background:#045d560f}.model-browser-item.selected{background:#045d5614;border-color:#045d5647}.model-browser-item-main{gap:4px;display:grid}.model-browser-item-main strong{font-size:1.05rem}.model-browser-item-main .muted{font-size:.86rem}.model-browser-endpoints{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.endpoint-list{flex-wrap:wrap;gap:6px;display:flex}.endpoint-chip{background:#045d560f;border:1px solid #045d561a;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;display:inline-flex}.endpoint-chip .tag{background:var(--accent);color:#fff;border-radius:8px;padding:1px 6px;font-size:.74rem}.endpoint-chip .muted{font-size:.74rem}.billing-shell{max-width:1640px}.billing-hero p{max-width:none}.billing-filter-bar{border:1px solid var(--line);box-shadow:var(--shadow);background:#ffffffad;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.billing-segmented{border:1px solid var(--line);background:#ffffffbd;border-radius:16px;gap:4px;padding:4px;display:inline-flex}.billing-segmented button,.billing-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:12px;padding:9px 12px}.billing-segmented button.active,.billing-tabs button.active{background:var(--accent);color:#fff}.billing-tabs button:disabled{opacity:.45;cursor:not-allowed}.billing-range-inputs{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.billing-range-inputs label{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.billing-range-inputs input{border:1px solid var(--line);color:var(--text);background:#ffffffe6;border-radius:12px;padding:9px 10px}.billing-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.billing-kpi{gap:6px;min-height:128px;display:grid}.billing-kpi small{color:var(--muted)}.billing-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:20px;display:grid}.billing-users-panel{grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 40px);display:grid;position:sticky;top:20px;overflow:hidden}.billing-user-list{gap:8px;padding-right:4px;display:grid;overflow-y:auto}.billing-user-row{text-align:left;border:1px solid var(--line);width:100%;min-height:86px;color:var(--text);background:#ffffffb8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;padding:12px;display:grid}.billing-user-row:hover{background:#045d560f;border-color:#045d563d}.billing-user-row.active{background:#045d561f;border-color:#045d5652}.billing-user-row div{gap:4px;min-width:0;display:grid}.billing-user-row strong,.billing-user-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.billing-user-row span,.billing-user-row small{color:var(--muted);font-size:.84rem}.billing-user-row small{grid-column:1/-1}.billing-main{gap:20px;min-width:0;display:grid}.billing-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.billing-model-row{border:1px solid var(--line);background:#ffffffa8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px;display:grid}.billing-model-row>div{gap:4px;min-width:0;display:grid}.billing-model-row strong,.billing-model-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.billing-model-row span{color:var(--muted);font-size:.84rem}.billing-tab-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.billing-tabs{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;gap:4px;padding:4px;display:inline-flex}.billing-events-wrap{gap:14px;display:grid}.billing-table-scroll{border:1px solid var(--line);background:#ffffff9e;border-radius:18px;overflow-x:auto}.billing-events-table{min-width:1180px}.billing-events-table th,.billing-events-table td{white-space:nowrap}.billing-events-table td{font-size:.92rem}.table-sub{margin-top:4px;font-size:.8rem;display:block}.billing-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.billing-config{gap:16px;display:grid}.billing-config-summary{border:1px solid var(--line);background:#ffffff9e;border-radius:18px;grid-template-columns:minmax(180px,1fr) minmax(180px,240px) auto;align-items:end;gap:12px;padding:14px;display:grid}.billing-config-summary>div:first-child{gap:5px;display:grid}.billing-config-summary small{color:var(--muted)}.billing-multiplier-field input{min-height:42px}.billing-quota-row{background:#ffffffad}.provider-order-editor{gap:10px;display:grid}.provider-order-input-row{align-items:center;gap:8px;display:flex}.provider-order-input-row input{border:1px solid var(--line);background:var(--panel-strong);color:var(--text);border-radius:14px;flex:1;padding:12px 14px}.provider-order-list{flex-wrap:wrap;gap:8px;display:flex}.provider-order-chip{background:#045d5614;border:1px solid #045d5633;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.9rem;display:inline-flex}.provider-order-index{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.74rem;font-weight:600;display:inline-flex}.provider-order-name{font-weight:500}.provider-order-btn{min-width:28px;line-height:1;border-radius:8px!important;padding:2px 6px!important;font-size:.82rem!important}.provider-order-remove:hover{color:var(--danger)!important;background:#a029291f!important}@media (max-width:1180px){.billing-layout,.billing-kpi-grid,.billing-model-grid,.billing-config-summary{grid-template-columns:1fr}.billing-users-panel{max-height:none;position:static}.billing-user-list{max-height:360px}}@media (max-width:768px){.billing-filter-bar,.billing-tab-head,.billing-pagination{flex-direction:column;align-items:stretch}.billing-segmented,.billing-tabs,.billing-range-inputs,.billing-range-inputs label{width:100%}.billing-segmented button,.billing-tabs button{flex:1}.billing-range-inputs input{flex:1;min-width:0}.billing-user-row,.billing-model-row,.extra-quota-progress,.extra-quota-inputs{grid-template-columns:1fr}}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.0p1vbqd84i2~o.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.0b~8ki5y928w2.woff)format("woff"),url(../media/KaTeX_AMS-Regular.173t6ktr7uf-w.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.01-pzluls4zgb.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.0x2v1lwn~880f.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.16zv5fax0h0ka.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.0rysu1t-ncjq8.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.10927swgekwun.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.02i3z7wig438t.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.0w23i72~hprpq.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.0e-16u10iuyyf.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.0et27v~3~4uhe.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.0rekyoa-52fj_.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.0b.riegzdfue2.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.0vjwa15znhk~4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.16pfc63_du6mx.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.09lmynrorhcbw.woff)format("woff"),url(../media/KaTeX_Main-Bold.09i7~607shf-h.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.0d54rk08rx11s.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.0cp37g7x1q8h6.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.15j6k~hix2t_0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.06o5nq0_91v60.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.0382gqciexmbu.woff)format("woff"),url(../media/KaTeX_Main-Italic.0su4i6mm18-wo.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.0kaf-ag2_wkm-.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.0diheg01zyoph.woff)format("woff"),url(../media/KaTeX_Main-Regular.08zh8z.7shijf.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.0ja97dn.cpc87.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.0ck1myuerwyqw.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.0ajzxypnbx1h1.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.0zrha2c4sl2je.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.09xkhecjcn5r9.woff)format("woff"),url(../media/KaTeX_Math-Italic.0x23a-bmp-5tg.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.05a9.pc1j_zx9.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.0jcl-ayi1uun0.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.0re8y.dm7.mt5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.0a0234dc3s62j.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.0judofdln9731.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.10z1iap9pfus8.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.0v6gcj32-czft.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.0h9yjlugq4q_e.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.0zm18kga42ebc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.0c4.h-mer83d_.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.0ze6v4r_-99oy.woff)format("woff"),url(../media/KaTeX_Script-Regular.0q14y6zkzlpob.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.013x6a4ierotp.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.0kidw0oi.m68o.woff)format("woff"),url(../media/KaTeX_Size1-Regular.0m6y-i6wfokni.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.0d5inmyp-tyv3.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.0blpmluwilgbg.woff)format("woff"),url(../media/KaTeX_Size2-Regular.0wnhnvj-.k9d5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.0iukctyhw5j56.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.01h0xm_sfctj3.woff)format("woff"),url(../media/KaTeX_Size3-Regular.0jl8mqyf4gzpn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.0w3.rb_c4stzk.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.12tvaesf3.zl3.woff)format("woff"),url(../media/KaTeX_Size4-Regular.0wr_9l81-mu06.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.0c4zdxz~8frhm.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.0cgrzn5l3kao5.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.128~qc3858otl.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
