:root{font:16px system-ui,sans-serif;color:#202123;background:#f7f7f8;color-scheme:light}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,.button{font:inherit;border:1px solid #ddd;border-radius:12px;background:white;color:inherit;padding:10px 14px;cursor:pointer;min-height:44px}button:hover,.button:hover{background:#eee}button:disabled{opacity:.5;cursor:wait}header{display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;border-bottom:1px solid #e5e5e5;background:#fff}header strong{font-size:20px}header span{flex:1;font-size:12px;color:#666}main{min-height:0;flex:1;overflow-y:auto;padding:24px max(20px,calc((100vw - 780px)/2));scrollbar-gutter:stable}#welcome{text-align:center;margin-top:15vh}h1{font-size:30px}p{color:#666}.message{margin:0 0 26px;line-height:1.6;overflow-wrap:anywhere}.message.user{background:#eaeaec;padding:14px 18px;border-radius:22px;max-width:85%;margin-left:auto}.message.ai{padding:4px 0}.message pre{white-space:pre-wrap;margin:0;font:inherit}.message img{max-width:220px;max-height:220px;border-radius:12px}.actions{display:flex;gap:6px;margin-top:8px}.actions button{font-size:12px;padding:5px 10px}.table-wrap{overflow:auto}table{border-collapse:collapse;margin-top:10px}td,th{border:1px solid #ddd;padding:8px;white-space:pre-wrap}footer{padding:8px max(14px,calc((100vw - 800px)/2)) calc(8px + env(safe-area-inset-bottom));background:#f7f7f8}#composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #ddd;border-radius:26px;padding:10px;background:white;box-shadow:0 2px 8px #00000008}.tools{display:flex;gap:4px}.tools .button{border:0;padding:6px 10px}textarea,input,select{font:inherit;color:inherit;border:1px solid #ddd;border-radius:10px;padding:10px;max-width:100%;background:#fff}#question{flex:1;min-width:0;border:0;resize:none;max-height:180px;outline:none}#send{border-radius:50%;background:#242424;color:#fff;min-width:44px}#status{font-size:12px;text-align:center;margin-top:7px;color:#666}#attachment{align-items:center;gap:8px;margin-bottom:8px}#attachment:not([hidden]){display:flex}#preview{width:64px;height:64px;object-fit:cover;border-radius:10px}#settings{padding:15px max(20px,calc((100vw - 800px)/2));background:white;border-top:1px solid #ddd;max-height:45vh;overflow:auto}label{display:flex;flex-direction:column;gap:5px}.row{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}.row label{flex:1;min-width:120px}dialog{border:1px solid #ddd;border-radius:20px;max-width:min(95vw,720px);max-height:92dvh;overflow:auto;padding:22px}dialog::backdrop{background:#0008}#login form{display:grid;gap:16px;min-width:min(280px,70vw)}#canvas-wrap{position:relative;display:flex;justify-content:center}#canvas-wrap canvas{max-width:100%;max-height:55dvh;object-fit:contain;touch-action:none}#selection{position:absolute;border:2px solid #10a37f;background:#10a37f25;pointer-events:none}#quality{accent-color:#10a37f}#photo-dialog[open]{display:flex;flex-direction:column;width:min(95vw,720px);height:min(90dvh,850px);max-height:90dvh;overflow:hidden;padding:16px}.photo-body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain}.photo-body h2{margin-top:0}.photo-actions{flex:none;justify-content:space-between;margin:0;padding-top:12px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #eee;background:white}#photo-done{background:#10a37f;color:white;font-weight:600}#photo-dialog #canvas-wrap canvas{max-height:45dvh}#quality{width:22px;height:22px}.row label:has(#quality){flex-direction:row;align-items:center}#install-help{padding:12px 18px;background:#e9f5ef;max-height:25dvh;overflow:auto}#attachment{max-height:25dvh;overflow:auto}#attachment img{max-height:90px}[hidden]{display:none!important}@media(max-width:600px){header{padding-left:10px;padding-right:10px;gap:6px;flex-wrap:wrap}header span{font-size:11px}header button{padding:6px 8px;font-size:12px}main{padding:16px}.message.user{max-width:94%}footer{padding-left:8px;padding-right:8px}#attachment{flex-wrap:wrap}#attachment button{font-size:12px;padding:6px 10px}.tools{gap:0}.tools .button{padding:7px}h1{font-size:26px}}