:root{color-scheme:light dark;--bg:#f3f4f6;--card:#fff;--text:#111827;--muted:#6b7280;--border:#d1d5db;--accent:#111827;--accentText:#fff;--danger:#b91c1c;--errorBg:#fef2f2;--focus:#2563eb}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}body{margin:0;min-width:320px}.shell{max-width:720px;margin:0 auto;padding:16px 16px calc(32px + env(safe-area-inset-bottom))}.login-card,.card,.app-header{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}.login-card{max-width:430px;margin:8vh auto 0}.app-icon{display:block;width:88px;height:88px;margin:0 auto 14px;border-radius:20px}.center{text-align:center}h1{font-size:1.45rem;margin:0 0 8px}h2{font-size:1.05rem;margin:0 0 14px}label{display:block;font-weight:650;margin:14px 0 7px}.muted{color:var(--muted);font-size:.9rem}.app-header{display:flex;align-items:flex-start;justify-content:space-between;position:sticky;top:0;z-index:5}.status-line{font-size:.88rem;color:var(--muted)}input,textarea,select,button{font:inherit}input[type=password],input[type=number],textarea,select{width:100%;min-height:46px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:11px 12px}textarea{resize:vertical;min-height:110px}button{min-height:44px;border-radius:10px;border:1px solid transparent;padding:10px 14px;font-weight:700;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);color:var(--accentText)}.secondary{background:transparent;color:var(--text);border-color:var(--border)}.danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.small{min-height:38px;padding:7px 11px}.full{width:100%}.generate{width:100%;min-height:54px;margin:2px 0 14px;font-size:1.05rem}.link-button{background:transparent;color:var(--text);min-height:auto;padding:4px;border:0;text-decoration:underline}.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:12px;overflow:hidden}.segment{border:0;border-radius:0;background:transparent;color:var(--text)}.segment.active{background:var(--accent);color:var(--accentText)}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.check-row{display:flex;align-items:center;gap:8px;font-weight:500}.check-row input{width:auto;min-height:auto}.image-preview{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;border:1px solid var(--border);margin:12px 0}.cost-card{text-align:center}.cost-value{font-size:1.45rem;font-weight:800;margin:8px 0}.message{min-height:1.2em;margin-top:10px;color:var(--danger);font-weight:650}.error-card{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--errorBg);color:#7f1d1d}.state-title{font-size:1.12rem;font-weight:800;margin-bottom:6px}progress{width:100%;height:12px;margin-top:12px}video{width:100%;max-height:70vh;background:#000;border-radius:12px;margin-bottom:10px}summary{font-weight:800;cursor:pointer;min-height:44px;display:flex;align-items:center}.history-list{display:grid;gap:10px;margin:12px 0}.history-item{border:1px solid var(--border);border-radius:10px;padding:12px}.history-prompt{margin:0 0 6px;white-space:pre-wrap;overflow-wrap:anywhere}.history-meta{font-size:.82rem;color:var(--muted);margin-bottom:8px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(prefers-color-scheme:dark){:root{--bg:#030712;--card:#111827;--text:#f9fafb;--muted:#9ca3af;--border:#374151;--accent:#f9fafb;--accentText:#111827;--danger:#fca5a5;--errorBg:#2b1114}}@media(max-width:380px){.shell{padding-left:12px;padding-right:12px}.button-row{grid-template-columns:1fr}.app-header{position:static}}