:root{--chat-bg:#fff;--chat-border:#d9dce6;--chat-border-focus:#698ad3;--chat-color-focus:#2e66c5;--chat-shadow:0 4px 24px rgba(30,40,70,.08);--chat-shadow-focus:0 6px 28px rgba(65,105,165,.18);--chat-placeholder:#9aa0ae;--chat-btn-bg:#f2f3f7;--chat-btn-hover:#e6e8f0;--chat-send-bg:#212121;--chat-send-color:#fff;--chip-bg:#f2f3f7;--chip-color:#4a4f5c;--card-bg:#fff;--card-border:#e3e5ee;--card-hover-border:#698ad3;--bg-color:#fff;--text-color:#000;--graph-curve-0:#2563eb;--graph-curve-1:#dc2626;--graph-curve-2:#16a34a;--graph-curve-3:#ea580c;--graph-curve-4:#9333ea;--graph-curve-5:#0891b2;--cursor-color:#4285f4;--border-color:#d4d4d4;--accent-border-color:#6687f1;--clear-icon-filter:opacity(80%);--scrollbar-track:#f5f5f5;--scrollbar-thumb:#d7d7d7;--placeholder-color:silver;--btn-border-color:lightgray;--btn-text-color:#000;--input-bg:#fff;--input-border-color:gray;--fraction-line-color:#000;--border-color-main:#000;--empty-outline-color:lightgray;--selection-bg:#B4D5FE;--selection-blur-bg:#D4D4D4;--selection-blur-text:#000;--selection-blur-border:#000;--selection-blur-nested-bg:#ABF;--selection-blur-blur-bg:#AAA;--selection-blur-blur-bg-rgba:rgba(0, 0, 0, .15);--hasCursor-shadow:gray;--hasCursor-block-shadow:lightgray;--placeholder-border:gray;--roman-color:dimgray;--op-color:dimgray;--operator-color:gray;--matrixed-bg:#fff;--sqrt-stem-border:currentColor;--graph-function-color:#2563eb;--graph-curve-0:#2563eb;--graph-curve-1:#dc2626;--graph-curve-2:#16a34a;--graph-curve-3:#ea580c;--graph-curve-4:#9333ea;--graph-curve-5:#0891b2;--graph-fill-color:rgba(37, 99, 235, 0.07);--graph-stroke-fill-color:rgba(37, 99, 235, 0.25);--graph-axis-color:#222;--graph-grid-color:#d1d5db;--graph-subgrid-color:#ebebeb;--graph-label-color:#444;--graph-fill-area-positive:rgba(76, 175, 80, 0.15);--graph-fill-area-negative:rgba(244, 67, 54, 0.15);--graph-fill-lines-positive:rgba(76, 175, 80, 0.4);--graph-fill-lines-negative:rgba(244, 67, 54, 0.4);--graph-integral-bound:#FF9800}body.tb{--chat-bg:#1e1f24;--chat-border:#3a3c44;--chat-border-focus:#617bb5;--chat-color-focus:#617bb5;--chat-shadow:0 4px 24px rgba(0,0,0,.4);--chat-shadow-focus:0 6px 28px rgba(97,123,181,.25);--chat-placeholder:#6f7482;--chat-btn-bg:#2a2c33;--chat-btn-hover:#34363f;--chat-send-bg:#617bb5;--chat-send-color:#fff;--chip-bg:#2a2c33;--chip-color:#b8bcc8;--card-bg:#1e1f24;--card-border:#34363f;--card-hover-border:#617bb5;--bg-color:#252525;--text-color:#f5f5f5;--cursor-color:#6aacfa;--border-color:#444;--accent-border-color:#6687f1;--clear-icon-filter:opacity(80%) invert(1);--scrollbar-track:#2a2a2a;--scrollbar-thumb:#555;--placeholder-color:#777;--btn-border-color:#555;--btn-text-color:#e0e0e0;--input-bg:#2a2a2a;--input-border-color:#666;--fraction-line-color:#e0e0e0;--border-color-main:#e0e0e0;--empty-outline-color:#555;--selection-bg:#264f78;--selection-blur-bg:#3a3a3a;--selection-blur-text:#e0e0e0;--selection-blur-border:#e0e0e0;--selection-blur-nested-bg:#3a5080;--selection-blur-blur-bg:#444;--selection-blur-blur-bg-rgba:rgba(255, 255, 255, .15);--hasCursor-shadow:#666;--hasCursor-block-shadow:#555;--placeholder-border:#666;--roman-color:#aaa;--op-color:#aaa;--operator-color:#999;--matrixed-bg:#1e1e1e;--sqrt-stem-border:var(--text-color);--graph-function-color:#60a5fa;--graph-curve-0:#60a5fa;--graph-curve-1:#f87171;--graph-curve-2:#4ade80;--graph-curve-3:#fb923c;--graph-curve-4:#c084fc;--graph-curve-5:#22d3ee;--graph-fill-color:rgba(96, 165, 250, 0.1);--graph-stroke-fill-color:rgba(96, 165, 250, 0.3);--graph-axis-color:#e5e7eb;--graph-grid-color:#374151;--graph-subgrid-color:#232e3c;--graph-label-color:#9ca3af;--graph-fill-area-positive:rgba(102, 204, 106, 0.18);--graph-fill-area-negative:rgba(255, 99, 89, 0.18);--graph-fill-lines-positive:rgba(102, 204, 106, 0.45);--graph-fill-lines-negative:rgba(255, 99, 89, 0.45);--graph-integral-bound:#FFB74D}.mathquill-editable.empty::after, .mathquill-textbox::after, .mathquill-rendered-math .empty::after{line-height:20px;padding:0px 1px}.mathquill-editable .cursor:only-child::after,.mathquill-editable .textarea+.cursor:last-child::after,.mathquill-editable .overline+.cursor:last-child::after,.mathquill-editable .diacritic-char+.cursor:last-child::after{line-height:20px;padding:0px 1px}.mathquill-editable .cursor.blink,.text-label .cursor.blink{visibility:hidden}.mathquill-editable .cursor,#text-label .cursor{position:relative!important;display:inline!important;width:0!important;padding:0!important;margin:0!important;border:none!important;outline:1.5px solid var(--cursor-color)!important;outline-offset:0!important;z-index:1}.mathquill-rendered-math .hasCursor .cursor{padding-top:0.85em!important;font-size:48%!important}.mathquill-editable .cursor::after{font-size:21px}#chat-input-field .mathquill-editable .cursor::after{font-size:18px}body,html{border:0;margin:0;padding:0;min-height:10px;color:var(--text-color);font-family:'Roboto', sans-serif, serif}body{padding-bottom:44px}.mathquill-editable{min-width:calc(100% - 48px);border:none}.mathquill-editable textarea{display:none}#stack-pop-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 4px}#stack-pop, #stack-redo{display:flex;align-items:center;justify-content:center}.stack-pop-button, .stack-redo-button{background-image:url("/assets/svg/undo.svg");background-repeat:no-repeat;background-size:32px;background-position:center center;min-width:32px;width:32px;height:32px;filter:var(--clear-icon-filter)!important;-webkit-filter:var(--clear-icon-filter)!important;cursor:pointer;pointer-events:none;transition:opacity 0.2s ease;-webkit-tap-highlight-color:rgba(0,0,0,0)}.stack-redo-button{transform:rotate(180deg)}#clear-input{display:flex;align-items:center;justify-content:center;padding:0 8px}.clear-input-icon{background-image:url("/assets/svg/close-filled.svg");background-repeat:no-repeat;background-size:32px;background-position:center center;min-width:32px;width:32px;height:32px;filter:var(--clear-icon-filter)!important;-webkit-filter:var(--clear-icon-filter)!important}#input-c-in{display:flex;justify-content:space-between}#input-c-i-editable{min-height:56px}.input-editable{flex-grow:1;display:flex;flex-direction:column;justify-content:center;padding:10px 0;overflow:auto;overflow-y:hidden}.input-editable::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}.input-editable::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}.input-editable::-webkit-scrollbar{height:2px}.mathquill-input.mathquill-editable.hasCursor{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mathquill-input{padding:14px}#input-c-in.text-label-mode #text-label{display:block}#input-c-in.text-label-mode .mathquill-input{width:0!important;padding:0!important;height:0!important}#input-c-in.text-label-mode .mathquill-input .cursor{visibility:hidden!important}#text-label{display:none;font-family:'Roboto', sans-serif, serif;line-height:1;font-size:14px;color:var(--placeholder-color);vertical-align:middle;padding:14px;pointer-events:none}.infinite-width-container{position:absolute;width:0;height:0;visibility:hidden;overflow:hidden}.infinite-width{width:99999px}.infinite-width > .mathquill-input{min-width:unset!important;width:auto!important}.mathquill-rendered-math .hasCursor *{white-space:nowrap!important}#calc-container{border-top:1.5px dashed var(--border-color);padding:14px 0px}#calc-c-output{display:flex;align-items:center;min-height:62px;border-left:8px solid var(--accent-border-color);padding:0 6px}#mathquill-output{min-width:100%;font-size:1.1em;overflow:auto}.hidden{visibility:hidden}#move-buttons{display:flex;flex-wrap:wrap;gap:16px;padding:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.move-button{font-size:1.1em;color:var(--btn-text-color);padding:8px 16px;border:1px solid var(--btn-border-color);border-radius:4px;cursor:pointer}#input-expression{color:var(--btn-text-color);background:var(--input-bg);border:1px solid var(--input-border-color)}.column{display:flex;flex-direction:column}.math-label{font-size:1.2em;padding:0 10px}.katex-display.fleqn .katex{padding:0 10px}.text-latex{font-size:1.05em;padding:0 10px;margin:16px 0}.output-row{display:flex;align-items:center;min-width:100%;width:max-content}.output-expr{flex-shrink:0}.insert-button{flex-shrink:0;margin-left:auto;margin-right:2px;display:flex;align-self:stretch;align-items:center;justify-content:center;opacity:0.4}.insert-button img{pointer-events:none}.chat-entity{display:inline-block;vertical-align:middle;position:relative;margin:2px 3px;padding:2px 8px;min-width:22px;min-height:28px;border:1px solid var(--chat-border);border-radius:8px;background:var(--chat-btn-bg);cursor:text;line-height:normal;-webkit-user-select:text;user-select:text}.chat-entity.focused{border-color:var(--chat-border-focus)}.chat-entity .mathquill-input,.chat-entity .mathquill-editable{min-width:0!important;width:auto!important;padding:0!important;border:none!important;box-shadow:none!important;background:transparent!important;font-size:1.15em;color:var(--text-color)}.chat-entity .mathquill-input.hasCursor,.chat-entity .mathquill-editable.hasCursor{box-shadow:none!important}.chat-entity .mathquill-editable .cursor{outline:1.5px solid var(--cursor-color)!important}.chat-entity .mathquill-editable.empty::after,.chat-entity .mathquill-rendered-math .empty::after{line-height:20px;padding:0 1px}.input-editable{display:inline-block;vertical-align:middle;position:relative;margin:0 3px;padding:1px 6px;min-width:24px;min-height:26px;border:1px solid var(--chat-border);border-radius:8px;background:var(--chat-btn-bg);cursor:text}.input-editable.focused{border-color:var(--chat-border-focus);box-shadow:var(--chat-shadow-focus)}.input-editable .mathquill-input{border:none!important;box-shadow:none!important;background:transparent!important;font-size:1em}.mathquill-input{min-width:100%;font-size:1.35em;border:none!important;box-shadow:none!important;background:transparent!important}.text-label{position:absolute;top:2px;left:2px;font-size:1.1em;color:var(--chat-placeholder);pointer-events:none}.mathquill-input:not(.empty)~.text-label .placeholder-text{display:none}.chat-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1px solid var(--chat-border);border-radius:14px;background:var(--chat-bg);transition:border-color .15s ease, background .15s ease;-webkit-tap-highlight-color:#0000}.chat-result-row.clickable{cursor:pointer}.chat-result-row.clickable:hover{border-color:var(--chat-border-focus);background:var(--chat-btn-hover)}.chat-result-expr{overflow-x:auto;scrollbar-width:none}.chat-result-row .insert-icon{flex:0 0 auto;opacity:.6}.chat-result-row.clickable:hover .insert-icon{opacity:1}.chat-results-loading{text-align:center;padding:12px;color:var(--chat-placeholder)}.chat-results{transition:opacity .3s linear}.chat-results .katex-display.fleqn{margin:0}/**/.graph-subgrid{stroke:var(--graph-subgrid-color);stroke-width:0.5;fill:none}.graph-grid{stroke:var(--graph-grid-color);stroke-width:0.8;fill:none}.graph-axis-line{stroke:var(--graph-axis-color);stroke-width:1.5;stroke-linecap:round}.graph-axis-arrow{stroke:var(--graph-axis-color);stroke-width:1.5;fill:none;stroke-linecap:round}.graph-axis-label{fill:var(--graph-axis-color);font-size:14px;font-style:italic;font-family:serif}.graph-fill-area{fill:var(--graph-fill-color);stroke:none}.graph-fill-lines{stroke:var(--graph-stroke-fill-color);stroke-width:0.8;fill:none}.graph-tick{stroke:var(--graph-axis-color);stroke-width:1;fill:none}.graph-label{fill:var(--graph-label-color);font-size:14px}.graph-label-pi{fill:var(--graph-label-color);font-size:13px}.graph-label-frac-line{stroke:var(--graph-label-color);stroke-width:1}.graph-curve{stroke:var(--graph-function-color);fill:none;stroke-linejoin:round;stroke-linecap:round}.graph-curve-0{stroke:var(--graph-curve-0)}.graph-curve-1{stroke:var(--graph-curve-1)}.graph-curve-2{stroke:var(--graph-curve-2)}.graph-curve-3{stroke:var(--graph-curve-3)}.graph-curve-4{stroke:var(--graph-curve-4)}.graph-curve-5{stroke:var(--graph-curve-5)}.graph-curve-label-0{fill:var(--graph-curve-0)}.graph-curve-label-1{fill:var(--graph-curve-1)}.graph-curve-label-2{fill:var(--graph-curve-2)}.graph-curve-label-3{fill:var(--graph-curve-3)}.graph-curve-label-4{fill:var(--graph-curve-4)}.graph-curve-label-5{fill:var(--graph-curve-5)}.graph-fill-area-positive{fill:var(--graph-fill-area-positive);stroke:none}.graph-fill-area-negative{fill:var(--graph-fill-area-negative);stroke:none}.graph-fill-lines-positive{stroke:var(--graph-fill-lines-positive);stroke-width:0.8;fill:none}.graph-fill-lines-negative{stroke:var(--graph-fill-lines-negative);stroke-width:0.8;fill:none}.graph-integral-bound{stroke:var(--graph-integral-bound);stroke-width:1.5;stroke-dasharray:6 4;fill:none}.graph-circle-radius{stroke:#e74c3c;stroke-linecap:round}.graph-circle-point{fill:#e74c3c}.graph-circle-arc{stroke:#e67e22}.graph-circle-projection{stroke:#9b59b6;stroke-linecap:round}.graph-circle-sin-segment{stroke:#2ecc71;stroke-linecap:round}.graph-circle-cos-segment{stroke:#3498db;stroke-linecap:round}.graph-annotation-label{fill:var(--graph-label-color);font-size:16px}.chat-attachment{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--chat-border);border-radius:10px;background:var(--chat-btn-bg)}.chat-attachment-thumb{width:28px;height:28px;object-fit:cover;border-radius:6px}.chat-attachment-name{font-family:'Roboto',sans-serif;font-size:.85em;color:var(--chip-color)}.chat-attachment-remove{border:none;background:none;cursor:pointer;font-size:17px;line-height:1;color:var(--chip-color);padding:0 2px}.chat-attachment-remove:hover{color:var(--chat-border-focus)}.attach-menu-item{display:flex;align-items:center;gap:10px;border:none;background:none;cursor:pointer;padding:8px 12px;border-radius:8px;font-family:'Roboto',sans-serif;font-size:.95em;color:var(--chip-color);text-align:left}.attach-menu-item:hover{background:var(--chat-btn-hover)}.attach-menu-item img{flex:0 0 auto;filter:var(--header-main-img-filter)}#attach-menu-thumb{width:20px;height:20px;object-fit:cover;border-radius:6px;border:1px solid var(--chat-border)}.attach-menu-item #attach-menu-thumb{opacity:1;filter:none}.attach-menu-title{padding:6px 12px 4px;font-family:'Roboto',sans-serif;font-size:.7em;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--chat-placeholder)}.attach-menu-sep{height:1px;margin:6px 8px;background:var(--chat-border)}.photo-menu{left:10px;bottom:54px}body.draw-open{overflow:hidden}#camera-container.draw-mode .photo-video{opacity:0!important}#camera-container.draw-mode .photo-image,#camera-container.draw-mode .photo-selected-rect{display:none!important}#camera-container.draw-mode .photo-canvas{display:none!important}#camera-container.draw-mode .drawing-container{display:block!important;position:absolute;left:0;top:0;right:0;bottom:0}.chat-sheet-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.38);opacity:0;transition:opacity .18s ease}.chat-sheet-overlay.hide{display:none}.chat-sheet-overlay.show{opacity:1}.chat-sheet{width:100%;max-width:560px;box-sizing:border-box;padding:10px 14px 22px;background:var(--chat-bg);border:1px solid var(--chat-border);border-bottom:none;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.28);max-height:80vh;overflow-y:auto;transform:translateY(100%);transition:transform .22s ease}.chat-sheet-overlay.show .chat-sheet{transform:none}.chat-sheet-handle{width:42px;height:4px;border-radius:2px;background:var(--chat-border);margin:2px auto 12px}.chat-sheet-title{font-family:'Roboto',sans-serif;font-size:1.05em;font-weight:500;color:var(--text-color);margin:0 4px 14px}.chat-sheet-action{display:block;width:100%;box-sizing:border-box;margin:0 0 10px;padding:14px 16px;font-family:'Roboto',sans-serif;font-size:1em;color:var(--chat-border-focus);background:transparent;border:1.5px solid var(--chat-border-focus);border-radius:12px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:#0000;transition:background .15s ease}.chat-sheet-action:hover{background:var(--chat-btn-hover)}.chat-sheet-action:active{transform:scale(.995)}.mode-menu{left:10px;right:auto;bottom:54px;min-width:268px;max-width:calc(100vw - 32px);padding:8px 6px}.mode-menu-item{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;min-height:56px;padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:8px;text-align:left;font-family:'Roboto',sans-serif;color:var(--chip-color);-webkit-tap-highlight-color:#0000}.mode-menu-item:hover{background:var(--chat-btn-hover)}.mode-menu-item.selected{background:var(--chat-btn-bg)}.mode-check{flex:0 0 auto;width:18px;height:18px;opacity:0;background-color:var(--chat-border-focus);-webkit-mask:url("/ai/svg/check-circle.svg") no-repeat center/contain;mask:url("/ai/svg/check-circle.svg") no-repeat center/contain;transition:opacity .15s ease}.mode-menu-item.selected .mode-check{opacity:1}.mode-text{display:flex;flex-direction:column;gap:2px;min-width:0}.mode-title{font-size:.95em;line-height:1.2;color:var(--text-color)}.mode-menu-item.selected .mode-title{font-weight:500;color:var(--chat-color-focus)}.mode-desc{font-size:.76em;line-height:1.25;color:var(--chat-placeholder)}.chat-btn-mode.mode-math img,#chat-mode-btn.mode-math img{filter:brightness(0) saturate(100%) invert(55%) sepia(54%) saturate(471%) hue-rotate(184deg) brightness(89%) contrast(85%)}