:root{--text-color: #0f1724;--muted: #596b7a;--border: rgba(0, 0, 0, .904);--accent: #2f6bff;--container-max: 100vw}*{box-sizing:border-box;margin:0;padding:0}#root{height:100%;margin:0;font-family:Inter,Segoe UI,Roboto,system-ui,-apple-system,Arial,sans-serif}.app-wrapper{min-height:100vh;display:flex;flex-direction:column;align-items:center}.app-wrapper.upload-bg{background-image:url(/fabric_background.png);background-size:cover;background-position:center;background-repeat:no-repeat}.site-header{width:100%;display:grid;align-items:center;padding:4px 20px;background:#ffffffe6;box-shadow:0 6px 24px #424243c4;grid-template-columns:20% 1fr 20%;grid-template-areas:"left center right"}.header-left{grid-area:left;display:flex;align-items:center;gap:12px}.header-center{grid-area:center;text-transform:capitalize;justify-self:center}.header-right{grid-area:right}.logo-mark{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name{font-size:16px;font-weight:700;color:var(--text-color);letter-spacing:.1px}.main-content{width:100%;max-width:var(--container-max);flex:1}@media(max-width:720px){.site-header{padding:12px 14px;flex-direction:row;align-items:center;display:flex}.brand-name{font-size:15px}}.container{height:80vh}.center{display:grid;place-content:center}.loader{border:6px solid #f3f3f3;border-top:6px solid #3498db;border-radius:50%;width:60px;height:60px;animation:spin .9s linear infinite;margin:50px auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notification{padding:10px 20px;margin:10px auto;max-width:400px;border-radius:8px;font-weight:500;font-size:16px;text-align:center;box-shadow:0 2px 6px #0000001a}.notification.success{background-color:#fff;color:#333;border:1px solid #ccc}.notification.error{background-color:#ffe0e0;color:#c00;border:1px solid #e88}.upload-page{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 140px);padding:40px 18px 60px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:#f2f6fa;position:relative;box-sizing:border-box}.upload-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 600px at 50% -10%,rgba(14,17,22,.25),transparent 60%),linear-gradient(to bottom,#0e11168c,#0e1116a6);z-index:-1}.upload-page .upload-card{width:min(1100px,96vw);border-radius:18px;padding:26px;background:#151a21e0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px #00000073;color:#f2f6fa;min-height:450px}.upload-page .upload-header{text-align:center;margin-bottom:24px}.upload-page .upload-header h2{margin:0 0 6px;line-height:1.25;text-shadow:0 1px 0 rgba(0,0,0,.3);font-size:24px}.upload-page .sub{margin-top:6px;color:#d8e0ea;font-size:15px}.upload-page .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}@media(max-width:900px){.upload-page .grid{grid-template-columns:1fr;gap:20px}}.upload-page .dropzone{border:1.5px dashed rgba(255,255,255,.25);border-radius:14px;padding:0 18px;height:250px;background:#1b2230a6;color:#d8e0ea;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s ease;width:100%;box-sizing:border-box;margin:0}.upload-page .dropzone:hover{transform:translateY(-2px);border-color:#7c3aed73;background:#1b2230c7;box-shadow:0 8px 22px #00000040}.upload-page .image-preview-wrap{position:relative;display:block;width:100%;height:250px}.upload-page .image-preview-plain{width:100%;height:100%;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.16)}.upload-page .img-clear-btn{position:absolute;top:6px;right:6px;padding:6px;font-size:13px;border:1px solid rgba(255,255,255,.18);background:#151a21e6;color:#f2f6fa;border-radius:50%;cursor:pointer;transition:box-shadow .15s ease}.upload-page .img-clear-btn:hover{box-shadow:0 2px 6px #00000047}.upload-page .btn{border:1px solid rgba(255,255,255,.14);background:#1b2230e6;color:#f2f6fa;padding:10px 14px;border-radius:10px;font-weight:600;cursor:pointer;transition:all .12s ease}.upload-page .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px #00000047;background:#1b2230f2}.upload-page .btn:disabled{opacity:.6;cursor:not-allowed}.upload-page .btn.primary{background:#7c3aed2e;color:#c7b6ff;margin-left:0}.upload-page .submit-wrapper{display:flex;justify-content:center}.upload-page .btn.submit{min-width:130px;background:#19a2e2;color:#fff;border:1px solid rgba(25,162,226,.65);border-radius:10px;font-size:16px;font-weight:700;padding:10px 34px;cursor:pointer}.upload-page .btn.submit:hover:not(:disabled){background:#1596d4}.upload-page .cancel{min-width:130px;background:#fff;padding:10px 0;color:#000;border-radius:10px;font-size:16px;font-weight:700;border:none;cursor:pointer}.upload-page .name-field{margin-top:25px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px}.upload-page .name-label{display:block;font-size:30px;font-weight:700;color:#fff;margin-bottom:4px}.upload-page input[type=text]{width:530px;padding:.6rem .8rem;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#151a21e6;color:#f2f6fa;font-size:20px;transition:border-color .15s ease,box-shadow .15s ease}.upload-page input[type=text]:focus{outline:none;border-color:#19a2e2;box-shadow:0 0 0 2px #19a2e259}.action-col{display:flex;flex-direction:column;align-items:center;gap:10px}.upload-page .hint{color:#b7c3d1;font-size:13px;text-align:center;margin-top:10px}.upload-page .alt-text{display:block;text-align:center;margin:8px 0;color:#b7c3d1}.upload-page .lock-note{font-size:12.5px;color:#b7c3d1;text-align:center}.upload-page .img-footer{margin-top:20px}.upload-page .confirm-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a0a99;z-index:9999;padding:20px}.upload-page .confirm-modal{width:100%;max-width:420px;background:#121212;color:#fff;border-radius:12px;padding:18px;box-shadow:0 10px 30px #00000080;text-align:left}.upload-page .confirm-title{font-size:18px;font-weight:600;margin-bottom:8px}.upload-page .confirm-body{font-size:14px;margin-bottom:16px;color:#ccc}.upload-page .confirm-actions{display:flex;justify-content:flex-end;gap:10px}.upload-page .btn{padding:8px 12px;border-radius:8px;min-width:90px;cursor:pointer;border:none}.upload-page .btn-cancel{background:#ffffff0f;color:#fff}.upload-page .btn-confirm{background:#e53e3e;color:#fff}.upload-page .link-btn{background-color:#00f;color:#fff}.upload-page .audio-player{margin-top:10px}.img-footer .chip{padding:8px 14px;background:red;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-size:14px;color:#fff;transition:transform .08s ease,background .12s ease,box-shadow .12s ease}.upload-page .audio-clear{display:flex;gap:2px;margin-top:15px}.container{text-align:center;padding:2rem;animation:fadeIn 1.2s ease-out;color:gray}.badge{display:inline-block;background:#38bdf81a;color:var(--accent);padding:.5rem 1rem;border-radius:99px;font-size:.875rem;font-weight:600;margin-bottom:1.5rem;border:1px solid rgba(56,189,248,.2)}h1{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:800;margin:0;letter-spacing:-.025em;background:linear-gradient(to right,#fff,var(--text-muted));color:#000}p{color:var(--text-muted);font-size:1.25rem;max-width:500px;margin:1rem auto 2rem;line-height:1.6}.loader{display:flex;gap:8px;justify-content:center}.dot{width:8px;height:8px;background:var(--accent);border-radius:50%;animation:pulse 1.5s infinite}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.contact-container{max-width:420px;margin:60px auto;padding:24px;border-radius:12px;background:#fff;box-shadow:0 4px 12px #00000014;font-family:system-ui,sans-serif;color:#222}.contact-container h2{margin-bottom:16px;font-size:24px;text-align:center;color:#222}.contact-container form{display:flex;flex-direction:column;gap:14px}.contact-container input,.contact-container textarea{width:100%;padding:12px;border:1px solid #cfd3d7;border-radius:8px;font-size:15px;outline:none;transition:border .2s ease}.contact-container input:focus,.contact-container textarea:focus{border-color:#007bff}.contact-container textarea{resize:vertical;min-height:120px}.contact-container button{background:#007bff;color:#fff;padding:12px;border:none;font-size:16px;border-radius:8px;cursor:pointer;transition:background .2s ease}.contact-container button:hover{background:#005fcc}.notice{display:flex;flex-flow:column;align-items:center;gap:.5rem}.notice span{font-weight:700}.status{margin-top:10px;text-align:center;font-size:14px;color:#444}.composer{position:sticky;bottom:0;background:#f7fbfc;width:min(1200px,100%);margin-left:auto;margin-right:auto;padding-bottom:8px;border-top:1px solid rgba(2,6,23,.08)}.composer-row{display:flex;gap:12px;align-items:flex-end}.composer{position:sticky;bottom:0;z-index:5;background:#f7fbfc;width:min(1200px,100%);margin-left:auto;margin-right:auto;border-top:1px solid rgba(2,6,23,.08)}.composer-middle{flex:1 1 auto;min-width:0}.composer-right{display:flex;align-items:center}.composer-input-wrapper{position:relative;display:flex;align-items:center;border-radius:10px;overflow:visible;z-index:1;background:transparent;margin-inline:.5rem}.attach-btn{width:36px;height:36px;border-radius:8px;border:1px solid rgba(2,6,23,.08);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.attach-btn.inside{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;border-radius:20px;border:crimson;background:#c3b9d84f;color:#475569;font-weight:600;display:flex;align-items:center;justify-content:center}.attach-btn.inside:hover{color:#1f2937}.composer-input{width:100%;padding:12px 12px 12px 48px;border-radius:12px;font-size:18px;border:1px solid rgb(0 0 0 / 86%);resize:none;font-family:inherit;box-sizing:border-box;min-height:44px;line-height:1.2;background:#fff}.attach-menu{position:absolute;bottom:calc(100% + 8px);left:6px;min-width:160px;background:#fff;border:1px solid rgba(2,6,23,.08);box-shadow:0 10px 30px #0206171f;border-radius:10px;padding:8px;z-index:3000;display:flex;flex-direction:column;gap:6px;animation:slideUp .16s cubic-bezier(.2,.9,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(6px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.attach-menu-item{display:flex;align-items:center;gap:8px;background:#f9fafb;border:none;padding:10px 14px;text-align:left;cursor:pointer;font-size:14px;border-radius:8px;color:#0f172a;transition:background .15s ease,transform .06s ease}.attach-menu-item:hover{background:#eef4ff;transform:translate(2px)}.upload-previews{margin-bottom:8px;display:flex;gap:12px;align-items:center}.upload-preview{display:inline-flex;align-items:center;gap:8px;margin-right:8px;background:#fff;padding:6px;border-radius:8px;border:1px solid #0f172a40}.upload-thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid rgba(2,6,23,.06)}.upload-remove{background:#0000001f;border:none;color:#000;cursor:pointer;font-weight:600}.record-btn{padding:8px 10px;border-radius:18px;border:1px solid #332f2f;background:#fff;cursor:pointer}.record-btn:disabled{opacity:.6;cursor:not-allowed}.send-btn{margin-left:6px;display:inline-flex;align-items:center;justify-content:center;width:48px;height:44px;padding:6px;border-radius:10px;border:none;background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;cursor:pointer;box-shadow:0 6px 18px #2563eb29;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.send-icon{width:22px;height:22px;display:block;color:#fff;pointer-events:none}.send-btn:not(:disabled):active{transform:translateY(1px) scale(.995);box-shadow:0 4px 12px #2563eb1f}.composer,.composer-row,.chat-scroll-area,.chat-card{overflow:visible}.send-btn.inside{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:44px;height:40px;border-radius:10px}.composer-input{padding-right:64px}.composer-audio-row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-direction:row-reverse;margin-right:6px}.audio-label{color:#64748b;font-weight:600;white-space:nowrap;font-size:16px}.composer-input-wrapper{position:relative}.stop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:800}.stop-overlay-inner{pointer-events:auto;z-index:900;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;max-width:calc(100% - 28px);text-align:center}.stop-text{font-size:13px;color:#374151;font-weight:600;line-height:1}.stop-overlay-btn{background:#ef4444;color:#fff;border:none;padding:8px 14px;border-radius:8px;font-weight:700;cursor:pointer;font-size:14px;box-shadow:0 8px 20px #ef444424;display:inline-flex;align-items:center;gap:8px}.send-btn.inside{z-index:100}.suggestion-chips{margin-top:10px;display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;padding-left:6px}.suggestion-hint{font-size:13px;color:#475569;margin-bottom:2px}.chips-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.suggestion-chips .chip{padding:8px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;cursor:pointer;font-size:14px;color:#0f172a;transition:transform .08s ease,background .12s ease,box-shadow .12s ease}.chip.primary{background:#dbeafe;color:#0b2547;border:1px solid #bfdbfe;box-shadow:0 8px 22px #2563eb1f}.chip.selected,.chip:disabled{background:#e6eefc;color:#0f172a;border:1px solid rgba(37,99,235,.18);box-shadow:none;cursor:default}.chip:hover{transform:translateY(-1px);filter:brightness(1.02)}.empty-state-large{max-width:920px;margin:0 auto;text-align:center}.empty-state-large h3{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.15;color:#0f172a}.empty-state-large p{margin:0 0 20px;color:#6b7280;font-size:14px}.empty-state-large .chips{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;padding:4px 8px}.empty-state-large .chip{border:1px solid #e5e7eb;padding:10px 16px;border-radius:999px;background:#fff;cursor:pointer;font-size:14px;color:#0f172a;box-shadow:0 6px 18px #0206170a;transition:transform .12s cubic-bezier(.2,.9,.2,1),box-shadow .14s ease,background .12s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.empty-state-large .chip:hover{transform:translateY(-3px);box-shadow:0 12px 28px #02061714;background:#fbfdff}.chip:active{transform:translateY(-1px) scale(.998)}.chip:focus{outline:none;box-shadow:0 0 0 4px #2563eb14}.empty-state-large .chip:nth-child(odd){background:#fff;border-color:#e5e7eb}.empty-state-large .chip:nth-child(2n){background:#aeafb23f;border-color:#e5e7eb}.msg-row{display:flex;gap:2px;margin:8px 0;align-items:flex-start;width:100%;box-sizing:border-box}.msg-row.left{justify-content:flex-start}.msg-row.right{justify-content:flex-end}.assistant-avatar{width:36px;height:36px;border-radius:10px;background:#eef2ff;display:inline-flex;align-items:center;justify-content:center;font-size:16px;margin-top:4px;flex:0 0 36px;border:1px solid #e5e7eb}.assistant-block{text-align:left;background:#fff;color:#0f172a;border:1px solid #e9eef5;border-radius:14px;padding:0 14px;line-height:1.55;box-shadow:0 4px 14px #0206170a;max-width:min(78ch,74%);word-break:break-word;overflow-wrap:anywhere;display:block}.assistant-block p,.assistant-block ul,.assistant-block ol,.assistant-block li{color:inherit}.assistant-block ul,.assistant-block ol{margin:8px 0 12px 1.1rem;padding-left:0;list-style-position:outside;line-height:1.55}.assistant-block li{margin:6px 0;font-size:15px}.assistant-block a{color:#2563eb;text-decoration:none;border-bottom:1px dashed rgba(37,99,235,.18)}.assistant-block a:hover{text-decoration:underline}.assistant-block pre{background:#0f172a;color:#f8fafc;padding:10px 12px;border-radius:10px;overflow:auto;font-size:13px;margin:10px 0;border:1px solid rgba(255,255,255,.06)}.assistant-block code{background:#0206170f;padding:2px 6px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Roboto Mono,Courier New,monospace;font-size:13px}.bubble.user{background:linear-gradient(180deg,#2563eb,#1e40af);color:#fff;padding:10px 14px;border-radius:14px 6px 14px 14px;max-width:min(70ch,70%);line-height:1.4;box-shadow:0 6px 16px #0206171f}.media-bubble{background:#fff;padding:6px;border-radius:12px;box-shadow:0 2px 6px #0000000a;border:1px solid #eef2f6}.image-bubble{padding:4px}.audio-bubble{padding:6px 8px}.chat-image{max-width:100%;height:auto;max-height:360px;border-radius:12px;display:block;object-fit:cover;border:1px solid rgba(2,6,23,.06)}.media-filename,.image-caption{margin-top:6px;font-size:13px;color:#475569}.typing{padding:8px 12px;color:#64748b;font-style:italic;background:transparent}.typing,.typing-indicator{text-align:center;display:flex;justify-content:center;align-items:center;width:100%}.assistant-block :focus,.bubble.user :focus{outline:3px solid rgba(37,99,235,.12);outline-offset:2px}.msg-row.left{justify-content:flex-start;padding-left:9px}.message-wrapper{padding-right:60px}.user-avatar{width:32px;height:32px;background:#d1f5ff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;margin-right:8px}.inline-quick-replies{margin:8px 0 14px;display:flex;justify-content:flex-start;width:100%;padding-left:8px}.quick-replies-row{display:inline-flex;gap:8px;align-items:center}.msg-row .chip{background:#f3f4f6;color:#111827;border:1px solid rgba(0,0,0,.06);padding:8px 12px;border-radius:999px;font-size:13px;line-height:1;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;box-shadow:0 1px #00000005}.chip:hover,.chip:focus{transform:translateY(-1px);box-shadow:0 4px 12px #10182814;outline:none}.chip-primary{background:#111827;color:#fff;border-color:#0000001f}.chip[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.ask-more-container{opacity:0;transform:translateY(10px);transition:opacity .25s ease-out,transform .25s ease-out}.ask-more-container.show{opacity:1;transform:translateY(0)}.ask-more-buttons{display:flex;gap:12px;margin-top:8px}.ask-more-buttons button{padding:8px 18px;border-radius:25px;font-weight:500;border:none;cursor:pointer;transition:background .2s,transform .15s ease}.ask-more-buttons button.yes-btn{background:#28a745;color:#fff}.ask-more-buttons button.no-btn{background:#dc3545;color:#fff}.ask-more-buttons button:hover{transform:scale(1.05)}.ask-more-buttons button:active{transform:scale(.95)}.assistant-block--with-copy{position:relative;display:flex;flex-direction:column}.assistant-block__controls{position:absolute;top:6px;right:8px;display:flex;gap:6px;align-items:center;z-index:2;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease}.message-wrapper:hover .assistant-block__controls,.message-wrapper:focus-within .assistant-block__controls{opacity:1;transform:translateY(0)}@media(hover:none){.assistant-block__controls{opacity:1;transform:none}}.copy-btn{border:none;background:#0000000f;color:#111;padding:6px 8px;border-radius:999px;font-size:12px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.copy-btn:active{transform:scale(.98)}.copy-btn.copied{background:#22c55e1f;color:#166534}.assistant-block .assistant-content{padding-top:28px}@media(max-width:420px){.assistant-block .assistant-content{padding-top:22px}}.assistant-block--with-copy{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start;position:relative;padding:10px 12px;box-sizing:border-box}.assistant-block__controls{display:flex;gap:6px;align-items:start;z-index:2;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}.assistant-block--with-copy:hover .assistant-block__controls,.assistant-block--with-copy:focus-within .assistant-block__controls,.message-wrapper:hover .assistant-block__controls,.message-wrapper:focus-within .assistant-block__controls{opacity:1;transform:translateY(0)}.assistant-block--with-copy .assistant-content{padding-top:0}.copy-btn{border:none;background:#0000000f;color:#111;padding:6px 8px;border-radius:999px;font-size:12px;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-width:44px}.assistant-block--with-copy{position:relative!important;display:block!important;padding:12px 14px 44px!important;box-sizing:border-box!important}.assistant-block--with-copy .assistant-block__controls{position:absolute!important;right:10px!important;bottom:10px!important;top:auto!important;display:flex!important;gap:6px!important;align-items:center!important;z-index:5!important;opacity:1!important;transform:none!important;pointer-events:auto!important;background:transparent!important;padding:0!important;white-space:nowrap!important}.assistant-block--with-copy .copy-btn{min-width:44px!important;height:36px!important;padding:6px 10px!important;font-size:13px!important;border-radius:999px!important;background:#0000000f!important}.message-wrapper:hover .assistant-block__controls,.message-wrapper:focus-within .assistant-block__controls,.assistant-block--with-copy:hover .assistant-block__controls,.assistant-block--with-copy:focus-within .assistant-block__controls{opacity:1!important;transform:none!important}@media(max-width:640px){.assistant-block--with-copy{padding-bottom:48px!important}.assistant-block--with-copy .copy-btn{min-width:40px!important;height:34px!important;font-size:12px!important}}.assistant-block--with-copy{padding-bottom:48px!important;box-sizing:border-box!important}.msg-row[data-typing=true] .assistant-block__controls{opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .22s cubic-bezier(.2,.9,.2,1),transform .22s ease}.msg-row[data-typing=false] .assistant-block__controls{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .26s cubic-bezier(.16,.8,.24,1),transform .22s cubic-bezier(.2,.9,.2,1)}.assistant-block--with-copy .copy-btn{min-width:44px;height:36px;padding:6px 10px;font-size:13px;border-radius:999px;white-space:nowrap}@media(max-width:640px){.assistant-block--with-copy{padding-bottom:44px!important}.assistant-block__controls{right:8px!important;bottom:8px!important}}.page-root{min-height:90vh;background:radial-gradient(900px 500px at 15% -10%,#eaf3ff 0%,transparent 65%),radial-gradient(900px 500px at 110% 0%,#eafff4 0%,transparent 65%),#f7fbfc;display:grid;grid-template-rows:auto 1fr;justify-items:center;box-sizing:border-box;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial}.chat-card-topbar,.chat-body{width:100%}.chat-body{display:flex;flex-direction:column;height:calc(100vh - 70px);min-height:0}.chat-scroll-area{flex:1 1 auto;min-height:0;overflow:auto!important}.chat-card-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 8px 14px;border-bottom:1px solid rgba(2,6,23,.08);margin-bottom:12px;background:transparent}.chat-card-title{display:flex;align-items:center;gap:12px}.avatar-sm{width:42px;height:42px;border-radius:12px;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;display:grid;place-items:center;font-weight:800;letter-spacing:.2px;box-shadow:0 10px 22px #2563eb38}.title-text .main{font-weight:700;font-size:15px;color:#0f172a}.status-dot{width:10px;height:10px;background:#10b981;border-radius:999px;display:inline-block;margin-left:8px;position:relative;box-shadow:0 0 0 4px #10b98114}.status-dot:after{content:"";position:absolute;inset:0;border-radius:inherit;animation:pulse 1.6s infinite;box-shadow:0 0 #10b98159}@keyframes pulse{0%{box-shadow:0 0 #10b98159}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}.chat-card-actions{display:flex;gap:10px;align-items:center}.page-root .btn{height:36px;padding:0 14px;border-radius:10px;border:1px solid transparent;font-weight:600;font-size:14px;cursor:pointer;transition:transform .08s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease,opacity .14s ease;display:inline-flex;align-items:center;gap:8px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-secondary{background:#0ea4e921;color:#00131f;border:1px solid rgba(14,165,233,.25);box-shadow:0 8px 22px #0ea5e933}.btn-secondary:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn-ghost{background:#f1f5f9;color:#0f172a;border:1px solid #e2e8f0}.btn-ghost:hover{background:#eef2f6;transform:translateY(-1px)}.chat-scroll-area{position:relative;overflow:auto;padding:20px 6px 8px;background:transparent;border:none;border-radius:0;box-shadow:none}.page-root.is-empty .chat-scroll-area:before{content:"";position:absolute;inset:0 0 auto;height:320px;background:radial-gradient(600px 280px at 50% 0%,#eef2ff 0%,transparent 70%);pointer-events:none}.content-col{max-width:780px;margin:0 auto}.quick-replies{margin:8px 48px 10px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fafafa;width:min(780px,100%)}.quick-replies-row{display:flex;gap:8px;flex-wrap:wrap}.quick-replies .chip{padding:8px 12px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;cursor:pointer;font-size:14px;color:#0f172a;transition:transform .08s ease,background .12s ease,box-shadow .12s ease}.quick-replies .chip:hover{background:#f1f5f9;transform:translateY(-1px)}.error{padding:10px 14px;color:#7f1d1d;background:#fff6f6;border:1px solid #fee2e2;border-radius:10px;width:min(780px,100%);margin:8px auto 0}@media(max-width:720px){.page-root{padding:72px 12px 28px}.chat-card-topbar{padding:6px 4px 12px}.content-col,.quick-replies,.chat-card-topbar,.chat-body{width:100%}}.chat-body{display:flex;flex-direction:column;gap:12px;min-height:unset}.chat-scroll-area{overflow:visible!important;max-height:none;padding:12px 0 0;background:transparent;border:none;border-radius:0;box-shadow:none}.chat-scroll-area::-webkit-scrollbar{display:none}.chat-scroll-area{scrollbar-width:none}.page-root.is-empty .chat-scroll-area:before{display:none!important}.page-root.is-empty .chat-scroll-area{background:radial-gradient(600px 280px at 50% 0%,#eef2ff 0%,transparent 70%)!important}.page-root{min-height:100vh}.chat-body{display:flex;flex-direction:column;height:calc(100vh - 68px);min-height:0}.chat-scroll-area{flex:1 1 auto;min-height:0;overflow:auto!important;padding:12px 0 140px}.content-col{max-width:1200px;margin:0 auto}.grid-page{max-width:1100px;margin:0 auto;padding-inline:1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.grid-page .upload-wrapper{display:flex;justify-content:center}.grid-page .upload-inner{width:calc(100% - 80px)}.grid-header{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;gap:16px;margin:25px 0 14px}.grid-left{display:flex;align-items:baseline;gap:6px}.grid-title-text{font-size:22px;font-weight:700;color:#476264}.grid-count-inline{font-size:18px;font-weight:800;color:#fff;opacity:.95}.grid-controls.inline{display:inline-flex;align-items:center;gap:10px}.grid-controls.inline span{color:#050505}.grid-controls.inline button{padding:8px 12px;border:1px solid #ddd;background:#1b2230e6;color:#fff;border-radius:8px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.grid-controls.inline button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 12px #00000047;background:#1b2230f2}.grid-controls.inline button:disabled{opacity:.5;cursor:not-allowed}.grid-page .media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.grid-page .media-card{border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#1b2230d9;box-shadow:0 6px 18px #00000047;display:flex;flex-direction:column;overflow:hidden}figure{display:flex;flex-flow:column;max-width:220px}figcaption{background-color:#222;color:#fff;font:italic smaller sans-serif;padding:3px;text-align:center}.grid-page .media-thumb{position:relative;background:#1b2230d9;max-width:unset}.grid-page .media-thumb img{width:100%;height:260px;object-fit:cover;border-radius:8px}.grid-page .media-audio{padding:10px 12px}.grid-page .media-audio audio{width:100%;border-radius:12px}.grid-page .media-meta{padding:8px 12px 12px;font-size:12px;color:#f1eeee;margin-top:auto;border-top:1px solid #f0f0f0}.grid-page .grid-loading,.grid-page .grid-error,.grid-page .empty-state{text-align:center;padding:16px;color:red}.lb-backdrop{position:fixed;inset:0;background:#0a0c10c2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;display:flex;align-items:center;justify-content:center}.lb-stage{position:relative;width:min(92vw,1200px);height:min(86vh,820px);background:#0f1116;border:1px solid rgba(255,255,255,.12);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:grab}.lb-img{max-width:none;-webkit-user-select:none;user-select:none;will-change:transform;transition:transform 80ms linear}.lb-caption{position:absolute;left:12px;bottom:12px;color:#e5e7eb;background:#00000059;padding:6px 10px;border-radius:8px;font-size:20px;pointer-events:none}.lb-controls{position:absolute;right:12px;bottom:12px;display:flex;gap:8px}.lb-controls button{min-width:42px;height:36px;padding:0 10px;border-radius:8px;border:1px solid rgb(255,255,255);background:#000000fe;color:#fff;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lb-controls .lb-close{min-width:42px;background:#ef4444e6;border-color:#ef4444f2}.lb-controls button:hover{filter:brightness(1.05)}.img-overlay{position:absolute;left:50%;transform:translate(-50%);padding:4px 10px;font-size:13px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6);pointer-events:none;-webkit-user-select:none;user-select:none}.media-name{position:relative;display:flex;justify-content:center;align-items:center;gap:6px;font-size:14px;cursor:pointer}.zoom-icon{font-size:14px;cursor:pointer;opacity:.8;transition:opacity .2s ease}.zoom-icon:hover{opacity:1}.zoom-icon{position:absolute;color:#fff;padding:6px 8px;border-radius:6px;font-size:18px;cursor:pointer;opacity:1;bottom:28px;right:0;transition:opacity .2s ease}.grid-page .media-card{align-items:stretch}.media-about{display:block;text-align:center;color:#e5e7eb;font-weight:600;margin:6px 12px 0}.audio-box{background:#fff;padding:5px 10px;border-radius:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 4px 10px #00000026}.audio-box audio{width:100%}.audio-label{font-size:14px;font-weight:600;color:#333;text-align:left}:root{--tz-bg: #0a0807;--tz-surf: rgba(14, 11, 9, .84);--tz-surf2: rgba(20, 16, 12, .94);--tz-bdr: rgba(255, 255, 255, .07);--tz-bdr2: rgba(255, 255, 255, .11);--tz-bdr-g: rgba(201, 169, 110, .3);--tz-txt: #f0ede8;--tz-muted: #6b6259;--tz-acc: #e8d5b0;--tz-acc2: #c9a96e;--tz-green: #22c55e;--tz-blue: #3b82f6;--tz-red: #ef4444;--ff: "Syne", sans-serif;--fm: "DM Mono", monospace}*,*:before,*:after{box-sizing:border-box}@keyframes tz-fadeup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes tz-fadein{0%{opacity:0}to{opacity:1}}@keyframes tz-spin{to{transform:rotate(360deg)}}@keyframes tz-pulse{0%{box-shadow:0 0 #22c55e8c}70%{box-shadow:0 0 0 7px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes tz-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes tz-cardin{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tz-root{font-family:var(--ff);color:var(--tz-txt);min-height:100vh;position:relative;overflow-x:hidden}.search-container{position:relative;z-index:1;max-width:1060px;margin:0 auto;padding:32px 24px 100px}.tz-glass{background:var(--tz-surf);border:1px solid var(--tz-bdr);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.tz-db-panel{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:13px 20px;border-radius:14px;margin-bottom:40px;position:relative;overflow:hidden}.tz-db-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--tz-bdr-g),transparent)}.tz-db-header{display:flex;align-items:center;gap:8px;flex-shrink:0}.tz-db-pulse{width:7px;height:7px;border-radius:50%;background:var(--tz-green);animation:tz-pulse 2s infinite;flex-shrink:0}.tz-db-label{font-family:var(--fm);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--tz-muted)}.tz-db-actions{display:flex;gap:10px;flex-wrap:wrap}.tz-db-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:8px;font-family:var(--ff);font-size:12px;font-weight:600;letter-spacing:.04em;cursor:pointer;border:1px solid transparent;transition:all .18s;white-space:nowrap}.tz-db-btn:disabled{opacity:.35;cursor:not-allowed}.tz-db-btn:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.14)}.tz-db-create{background:#22c55e1a;color:#4ade80;border-color:#22c55e38}.tz-db-update{background:#3b82f61a;color:#60a5fa;border-color:#3b82f638}.tz-db-icon{font-size:14px;line-height:1}.tz-spinner{width:12px;height:12px;border:2px solid rgba(255,255,255,.2);border-top-color:currentColor;border-radius:50%;animation:tz-spin .6s linear infinite;display:inline-block;flex-shrink:0}.tz-db-notif{font-family:var(--fm);font-size:11px;padding:7px 12px;border-radius:7px}.tz-db-notif.success{background:#22c55e14;color:#4ade80;border:1px solid rgba(34,197,94,.18)}.tz-db-notif.error{background:#ef444414;color:#f87171;border:1px solid rgba(239,68,68,.18)}.hero-area{text-align:center;padding:52px 0 60px;animation:tz-fadeup .7s ease both}.hero-eyebrow{font-family:var(--fm);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--tz-acc2);margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:12px}.hero-eyebrow:before,.hero-eyebrow:after{content:"";width:36px;height:1px}.hero-eyebrow:before{background:linear-gradient(90deg,transparent,var(--tz-acc2))}.hero-eyebrow:after{background:linear-gradient(90deg,var(--tz-acc2),transparent)}.hero-title{font-size:clamp(34px,5.5vw,66px);font-weight:800;line-height:1.06;letter-spacing:-.03em;color:#636cd6;margin:0 0 12px}.tz-gold{background:linear-gradient(130deg,#da4545,#588664,#e15dce 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-family:var(--fm);font-size:13px;color:var(--tz-muted);margin-bottom:44px;letter-spacing:.03em}.tz-sc{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;margin:0 auto}.tz-row{display:flex;gap:8px;width:100%}.tz-input{flex:1;padding:13px 17px;border-radius:10px;border:1px solid var(--tz-bdr2);background:var(--tz-surf);color:var(--tz-txt);font-family:var(--ff);font-size:14px;outline:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .18s,box-shadow .18s}.tz-input::placeholder{color:var(--tz-muted)}.tz-input:focus{border-color:var(--tz-bdr-g);box-shadow:0 0 0 3px #c9a96e14}.results-search-bar .tz-row{max-width:420px}.results-search-bar .tz-input{font-size:13px;padding:10px 14px}.results-search-bar .tz-btn{padding:10px 14px;font-size:13px}.tz-lim{display:flex;align-items:center;gap:10px;width:100%}.tz-lim-lbl{font-family:var(--fm);font-size:10px;color:var(--tz-muted);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.tz-lim-trk{flex:1;position:relative;height:3px;background:#ffffff0f;border-radius:4px;cursor:pointer}.tz-lim-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--tz-acc2),var(--tz-acc));border-radius:4px;pointer-events:none;transition:width .08s}.tz-lim-inp{-webkit-appearance:none;appearance:none;position:absolute;inset:-9px 0;width:100%;height:20px;background:transparent;cursor:pointer;margin:0}.tz-lim-inp::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--tz-acc);border:2px solid var(--tz-bg);box-shadow:0 0 0 2px #e8d5b040;cursor:pointer}.tz-lim-inp::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--tz-acc);border:2px solid var(--tz-bg);cursor:pointer}.tz-lim-val{font-family:var(--fm);font-size:13px;font-weight:500;color:var(--tz-acc);min-width:28px;text-align:right}.tz-div{display:flex;align-items:center;gap:12px;width:100%;color:var(--tz-muted);font-family:var(--fm);font-size:1rem;letter-spacing:.15em;text-transform:uppercase}.tz-div:before,.tz-div:after{content:"";flex:1;height:1px;background:var(--tz-bdr)}.tz-cat-picker{padding:16px 18px;border-radius:14px;position:relative;overflow:hidden;animation:tz-fadeup .5s ease both}.tz-cat-picker:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--tz-bdr-g),transparent)}.tz-cat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tz-cat-title{font-family:var(--fm);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--tz-muted)}.tz-cat-all-btn{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--tz-acc2);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}.tz-cat-all-btn:hover{color:var(--tz-acc)}.tz-cat-grid{display:flex;flex-wrap:wrap;gap:7px}.tz-cat-chip{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:8px;font-family:var(--ff);font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;border:1px solid var(--tz-bdr2);background:#ffffff08;color:var(--tz-muted);transition:all .18s}.tz-cat-chip:hover{border-color:var(--tz-bdr-g);color:var(--tz-acc);background:#c9a96e0f}.tz-cat-active{border-color:var(--tz-bdr-g)!important;background:#c9a96e1c!important;color:var(--tz-acc)!important;box-shadow:0 0 12px #c9a96e1a}.tz-cat-check{font-size:10px;font-weight:800;min-width:10px;color:var(--tz-acc2)}.tz-cat-icon{font-size:14px;line-height:1}.tz-cat-lbl{white-space:nowrap}.tz-af{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}.tz-badge{font-family:var(--fm);font-size:10px;padding:3px 9px;border-radius:20px;background:#c9a96e1a;border:1px solid rgba(201,169,110,.22);color:var(--tz-acc2);letter-spacing:.08em;text-transform:uppercase}.tz-fin{font-family:var(--fm);font-size:10px;color:var(--tz-muted);letter-spacing:.1em;text-transform:uppercase}.tz-btn{display:inline-flex;align-items:center;gap:7px;padding:13px 22px;border-radius:10px;font-family:var(--ff);font-size:13px;font-weight:700;letter-spacing:.04em;cursor:pointer;border:none;outline:none;transition:all .18s;white-space:nowrap}.tz-btn-primary{background:linear-gradient(135deg,#b8934a,#e8d5b0,#c9a96e,#b8934a);background-size:250% 250%;color:#0a0805;box-shadow:0 4px 20px #c9a96e47;animation:tz-shimmer 3.5s linear infinite}.tz-btn-primary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 28px #c9a96e6b}.tz-btn-ghost{border:1px solid var(--tz-bdr2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:1rem}.tz-btn-ghost:not(:disabled):hover{border-color:var(--tz-bdr-g);transform:translateY(-2px)}.tz-btn-outline{background:transparent;color:var(--tz-acc);border:1px solid var(--tz-bdr-g)}.tz-btn-outline:not(:disabled):hover{background:#e8d5b012;transform:translateY(-2px)}.tz-btn:disabled{opacity:.35;cursor:not-allowed;transform:none!important;animation:none!important}.tz-btn:active{transform:translateY(0)!important}.side-by-side-preview{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap;animation:tz-fadeup .5s ease both}.original-preview,.cropped-preview{flex:1;min-width:240px}.section-title{font-family:var(--fm);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--tz-muted);margin:0 0 10px}.original-img-wrap,.cropped-img-wrap{position:relative;border-radius:14px;overflow:hidden}.original-img,.cropped-img{width:100%;max-height:380px;object-fit:cover;display:block}.original-img-actions{position:absolute;top:10px;right:10px}.preview-img-actions{position:absolute;bottom:10px;right:10px}.preview-actions-below{margin-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:12px}.file-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.tz-rh{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--tz-bdr)}.tz-rm{display:flex;align-items:baseline;gap:10px}.tz-rc{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--tz-txt)}.tz-rl{font-family:var(--fm);font-size:11px;color:var(--tz-muted);letter-spacing:.12em;text-transform:uppercase}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:18px;animation:tz-fadein .4s ease both}.result-card{border-radius:14px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .22s,box-shadow .22s;position:relative;animation:tz-cardin .45s ease both}.result-card:hover{border-color:var(--tz-bdr-g)!important;transform:translateY(-5px);box-shadow:0 20px 48px #0000008c,0 0 0 1px #c9a96e26}.result-thumb{position:relative;aspect-ratio:4/5;overflow:hidden}.result-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.result-card:hover .result-thumb img{transform:scale(1.07)}.result-thumb:after{content:"";position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(6,7,9,.72) 0%,transparent 100%);pointer-events:none}.zoom-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:8px;background:#070809b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .18s,transform .18s;z-index:2}.result-card:hover .zoom-btn{opacity:1;transform:scale(1)}.result-name{padding:11px 13px 8px;font-family:var(--fm);font-size:10px;font-weight:500;color:var(--tz-muted);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-audio{padding:0 11px 11px}.result-audio audio{width:100%;height:28px;border-radius:6px}.pagination-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px}.pagination-controls button{padding:8px 18px;border-radius:8px;font-family:var(--ff);font-size:12px;font-weight:600;letter-spacing:.06em;cursor:pointer;background:var(--tz-surf);color:var(--tz-txt);border:1px solid var(--tz-bdr2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .15s}.pagination-controls button:not(:disabled):hover{border-color:var(--tz-bdr-g);background:#c9a96e12}.pagination-controls button:disabled{opacity:.3;cursor:not-allowed}.pagination-controls span{font-family:var(--fm);font-size:12px;color:var(--tz-muted);letter-spacing:.08em}.search-error{font-family:var(--fm);font-size:13px;color:#f87171;padding:12px 16px;background:#ef444412;border:1px solid rgba(239,68,68,.18);border-radius:10px;margin-bottom:16px}.empty-hint{font-family:var(--fm);font-size:13px;color:var(--tz-muted);text-align:center;padding:60px 0;letter-spacing:.06em}.lb-backdrop{position:fixed;inset:0;background:#000000eb;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:tz-fadein .2s ease}.lb-stage{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;cursor:grab;overflow:hidden}.lb-stage:active{cursor:grabbing}.lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;-webkit-user-select:none;user-select:none;box-shadow:0 40px 80px #000c;transition:none}.lb-caption{position:absolute;bottom:80px;left:50%;transform:translate(-50%);font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff73;white-space:nowrap}.lb-controls{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#0d0a08e0;border:1px solid var(--tz-bdr2);border-radius:12px;padding:8px 12px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lb-controls button{width:34px;height:34px;border-radius:8px;background:transparent;color:var(--tz-txt);border:1px solid var(--tz-bdr);cursor:pointer;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-controls button:hover{background:#ffffff0f}.lb-close{color:#f87171!important;border-color:#ef44444d!important}.lb-close:hover{background:#ef44441a!important}.crop-drawer{position:fixed;inset:0;z-index:800;background:#000000e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;animation:tz-fadein .2s ease}.crop-drawer-inner{background:var(--tz-surf2);border:1px solid var(--tz-bdr2);border-radius:20px;padding:26px;width:min(680px,95vw);max-height:90vh;overflow-y:auto;box-shadow:0 40px 80px #0009;position:relative;display:flex;flex-direction:column;gap:0}.crop-drawer-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--tz-bdr-g),transparent);border-radius:20px 20px 0 0}.drawer-title{font-family:var(--ff);font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--tz-txt);margin:0 0 18px}.crop-stage{margin-bottom:18px;display:flex;align-items:flex-start;justify-content:center;min-height:200px}.crop-image-wrap{position:relative;display:inline-block;line-height:0;-webkit-user-select:none;user-select:none;border-radius:12px;overflow:hidden;background:var(--tz-surf);max-width:100%}.crop-image{display:block;max-width:100%;max-height:52vh;width:auto;height:auto;object-fit:contain;border-radius:12px}.crop-rect{position:absolute;border:2px solid var(--tz-acc);box-shadow:0 0 0 9999px #00000085,0 0 20px #e8d5b02e;cursor:move;touch-action:none}.crop-handle{position:absolute;width:18px;height:18px;bottom:-2px;right:-2px;background:var(--tz-acc);border-radius:4px 0;cursor:se-resize}.drawer-actions{display:flex;gap:10px;justify-content:flex-end}.db__control{position:relative;top:1rem}.animated-header{display:flex;align-items:center;justify-content:center;gap:16px;animation:expand-center 1s ease-out}.animated-header.with-back{justify-content:flex-start;padding-left:40px}.animated-header h1{font-size:28px;color:#a455ab;font-weight:700;border-bottom:3px solid #ffffff;padding:5px 20px}.back-button{background:#0159a1;color:#fff;border:none;padding:10px 18px;border-radius:6px;cursor:pointer;font-size:14px}@keyframes expand-center{0%{transform:scaleX(0);opacity:0}50%{transform:scaleX(1.1);opacity:.5}to{transform:scaleX(1);opacity:1}}.homeV2{position:relative;min-height:85vh;display:flex;justify-content:center;color:var(--text-color);background:radial-gradient(1200px 600px at 50% -10%,rgba(47,107,255,.18),transparent 60%),linear-gradient(180deg,#eaf1ff,#f6f9ff 60%,#fff)}.homeV2__container{max-width:80vw;padding:36px 20px 56px}.homeV2__hero{text-align:center;margin:4px 0 22px}.homeV2__title{margin:0;font-size:clamp(28px,4.2vw,44px);font-weight:800;line-height:1.15;color:#0b1220}.homeV2__titleAccent{display:block;color:var(--accent);margin-top:6px}.homeV2__subtitle{margin:14px auto 0;max-width:820px;font-size:16px;line-height:1.6;color:#39506a}.homeV2__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}@media(max-width:900px){.homeV2__features{grid-template-columns:1fr}}.featureCard{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 18px;text-decoration:none;box-shadow:0 6px 22px #121e3c0f}.featureCard__icon{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent);background:#2f6bff1a;margin-bottom:10px}.featureCard__title{margin:6px 0;font-size:16px;font-weight:700}.featureCard__text{margin:0;font-size:14px;color:#4a5d72;line-height:1.55}.homeV2__steps{margin-top:28px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:0 6px 22px #121e3c0d}.steps__heading{margin:0 0 14px;text-align:center;font-size:18px;font-weight:800}.steps__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:900px){.steps__grid{grid-template-columns:1fr}}.stepCard{background:#f9fbff;text-decoration:none;border:1px solid var(--border);border-radius:14px;padding:16px}.stepCard__badge{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;border:1px solid rgba(47,107,255,.25);background:#2f6bff1f;color:var(--accent)}.stepCard__title{margin:10px 0 4px;font-size:15px;font-weight:700}.stepCard__text{margin:0 0 10px;font-size:13.5px;color:#4a5d72}.stepCard__link{display:inline-block;font-size:13.5px;font-weight:700;text-decoration:none;color:var(--accent)}.featureCard--link{cursor:pointer;transition:transform .22s cubic-bezier(.2,.8,.4,1),box-shadow .22s cubic-bezier(.2,.8,.4,1),background .22s cubic-bezier(.2,.8,.4,1),border-color .22s cubic-bezier(.2,.8,.4,1)}.featureCard--link:hover{transform:translateY(-6px) scale(1.03);background:#fff;border-color:#2f6bff73;box-shadow:0 16px 40px #2f6bff26}.featureCard--link:hover .featureCard__icon{background:var(--accent);color:#fff;transition:background .25s ease,color .25s ease}.stepCard--link{cursor:pointer;transition:transform .22s cubic-bezier(.2,.8,.4,1),box-shadow .22s cubic-bezier(.2,.8,.4,1),background .22s cubic-bezier(.2,.8,.4,1),border-color .22s cubic-bezier(.2,.8,.4,1)}.stepCard--link:hover{transform:translateY(-6px) scale(1.03);background:#f4f8ff;border-color:#2f6bff73;box-shadow:0 14px 36px #2f6bff1f}.stepCard--link:hover .stepCard__badge{background:var(--accent);color:#fff;border-color:#fff6;transition:background .25s ease,color .25s ease}.featureCard--link:hover .featureCard__title,.stepCard--link:hover .stepCard__title{color:var(--accent)}.homeV2__footer{margin-top:26px;text-align:center;color:#667a8f;font-size:13.5px}.description-wrapper{width:93%}.description-wrapper .nav-buttons{display:flex;gap:265px;margin-bottom:15px}.description-wrapper .nav-btn{background:#5842742d;color:#fff;border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:6px;cursor:pointer}.description-wrapper .nav-btn.disabled{background:#cccccc75;cursor:not-allowed}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.description-wrapper .description-box{animation:fadeSlideIn 1s ease-out forwards;transition:opacity .3s ease-in-out;background:#635e5e82;border:1px solid rgba(255,255,255,.71);padding:18px;border-radius:10px;font-size:18px;height:155px;color:#fff;line-height:1.6;display:flex;flex-direction:column;justify-content:space-between;position:relative}.description-wrapper .description-content{overflow-y:auto;padding-right:5px;scrollbar-width:none;-ms-overflow-style:none}.description-wrapper .loader-wrapper{text-align:center}.description-wrapper .description-box.error{background:#635e5e82;border:1px solid rgba(255,255,255,.71);animation:fadeSlideIn 1s ease-out forwards;transition:opacity .3s ease-in-out}.description-wrapper .error-text{color:#ff4d4f;font-weight:600;font-size:19px}.description-wrapper .response-counter{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:16px;color:#000;font-weight:600}.description-wrapper .copy-btn{cursor:pointer;font-size:14px;display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;transition:background .2s ease}.description-wrapper .copy-btn:hover{background-color:#ffffff40}.drawer-toggle-wrapper{position:fixed;top:50%;transform:translateY(-50%);z-index:999;transition:right .3s}.drawer-toggle-button{padding:8px 12px;background:#737a7f;color:#fff;border-radius:50%;border:none;align-items:center;cursor:pointer}.image-preview-container{width:85%;text-align:center}.preview-image{border-radius:10px}.preview-buttons-container{margin-top:16px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.validation-text{color:#fff;font-size:14px}.error-text{color:#fff;margin-top:10px;font-size:14px;font-weight:500}.analysis-btn{padding:10px 16px;border:none;border-radius:6px;min-width:100px;cursor:pointer}.analysis-btn.short{background:#fff;color:#000}.analysis-btn.long{background:#000;color:#fff}.analysis-btn.disabled{cursor:not-allowed;opacity:.6}.filename{color:#fff;font-size:15px;font-weight:500}.preview-wrap{position:relative;display:inline-block}.preview-image{width:100%;height:400px;border-radius:10px;display:block}.preview-wrap .chip-clear{position:absolute;right:0;top:1px;background:#000000b3;color:#fff;border:none;width:35px;height:35px;border-radius:50%;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.preview-wrap .chip-clear:hover{background:#000000e6;transform:scale(1.1)}.image-preview-container .confirm-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a0a99;z-index:9999;padding:20px}.image-preview-container .confirm-modal{width:100%;max-width:420px;background:#121212;color:#fff;border-radius:12px;padding:18px;box-shadow:0 10px 30px #00000080;text-align:left}.image-preview-container .confirm-title{font-size:18px;font-weight:600;margin-bottom:8px}.image-preview-container .confirm-body{font-size:14px;margin-bottom:16px;color:#ccc}.image-preview-container .confirm-actions{display:flex;justify-content:flex-end;gap:10px}.image-preview-container .btn{padding:8px 12px;border-radius:8px;min-width:90px;cursor:pointer;border:none}.image-preview-container .btn-cancel{background:#ffffff0f;color:#fff}.image-preview-container .btn-confirm{background:#e53e3e;color:#fff}.sample-gallery{text-align:center;margin-bottom:40px}.sample-gallery h2{font-size:1.8em;margin-bottom:20px;color:#333}.sample-gallery .sample-grid{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:20px}.sample-gallery .sample-card{position:relative;width:200px;height:200px;overflow:hidden;border-radius:10px;box-shadow:0 2px 6px #0000001a;transition:transform 1s ease}.sample-gallery .sample-card:hover{transform:scale(1.03)}.sample-gallery .sample-img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.sample-gallery .analyze-button{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:none;padding:8px 12px;background:#000000b3;color:#fff;border:none;border-radius:6px;cursor:pointer}.sample-gallery .sample-card:hover .analyze-button{display:block;transition:ease-out}.description-area{width:100%}.home-container .chip.chip-clear{border:1px solid rgba(255,255,255,.08);background:#151a21cc;color:#f2f6fa;padding:6px 8px;border-radius:8px;cursor:pointer}@media(max-width:900px){.grid{grid-template-columns:1fr;gap:20px}.description-area{margin-top:18px}}.home-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 140px);padding:40px 18px 60px;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:#f2f6fa;position:relative;box-sizing:border-box}.home-container:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(1200px 600px at 50% -10%,rgba(14,17,22,.25),transparent 60%),linear-gradient(to bottom,#0e11168c,#0e1116a6);z-index:-1}.home-container .upload-wrapper{width:100%;margin-top:5px;display:flex;justify-content:center}.home-container .upload-inner{width:calc(100% - 80px);margin-bottom:5px}.home-container .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;width:min(1100px,96vw);margin:16px auto 0;padding:0 18px;box-sizing:border-box}.preview-col{width:100%}.dropzone{border:1.5px dashed rgba(255,255,255,.25);border-radius:14px;padding:0 18px;height:250px;background:#1b2230a6;color:#d8e0ea;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .15s ease;width:100%;box-sizing:border-box;margin:0}.dropzone:hover{transform:translateY(-2px);border-color:#7c3aed73;background:#1b2230c7;box-shadow:0 8px 22px #00000040}.action-col{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-action-card{width:100%;background:#151a2199;border-radius:12px;padding:14px;border:1px solid rgba(255,255,255,.06);box-sizing:border-box}.upload-action-header h3{margin:0;font-size:18px;color:#fff}.upload-action-header .sub.small{margin:6px 0 0;color:#c9d3df;font-size:13px}.control-row{display:flex;gap:12px;margin-top:12px;align-items:center}.hint.alt-text{color:#b7c3d1;font-size:13px;text-align:center;margin-top:8px}@keyframes slideInFromRight{0%{transform:translate(20px);opacity:0}60%{transform:translate(-6px);opacity:.96}to{transform:translate(0);opacity:1}}.slide-in-right{animation:slideInFromRight .36s cubic-bezier(.2,.9,.2,1) both}.description-area{width:100%;display:block}.description-area .description-box{background:linear-gradient(180deg,#151a21b8,#151a21e0);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 22px #0000005c;padding:18px;border-radius:12px;width:450px;color:#e9eef7;font-size:15px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,opacity .18s ease}.description-area .description-content,.description-area .error-text{color:#e9eef7}.description-area .response-counter{color:#c9d3df;font-weight:600;font-size:14px}.description-area .copy-btn{background:#ffffff08;border:1px solid rgb(255,255,255);color:#e9eef7;padding:6px 8px;border-radius:8px}.home-container .drawer-panel{position:fixed;top:0;right:0;height:100vh;width:250px;background:#f4f4f4;padding:20px 10px;box-shadow:-2px 0 8px #0000001a;overflow-y:auto;z-index:998}@media(max-width:900px){.grid{grid-template-columns:1fr}.description-area{margin-top:18px}}.result-wrapper.grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;width:min(1100px,96vw);margin:20px auto 0;align-items:start;box-sizing:border-box}.preview-col{display:flex;flex-direction:column;align-items:center;gap:12px}.action-col{display:flex;flex-direction:column;gap:16px}.upload-action-card,.description-area{width:100%;max-width:520px;margin-left:auto}.description-area .description-area{width:100%!important;box-sizing:border-box}@media(max-width:900px){.result-wrapper.grid{grid-template-columns:1fr}.upload-action-card,.description-area{max-width:100%;margin-left:0}}.description-placeholder{background:linear-gradient(180deg,#151a21b8,#151a21e0);border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 22px #0000005c;padding:18px;border-radius:12px;color:#e9eef7;min-height:160px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.description-placeholder .placeholder-title{margin:0 0 8px;color:#fff;font-size:16px}.description-placeholder .placeholder-text{margin:0;color:#c9d3df;font-size:14px;line-height:1.4}.description-placeholder .btn[disabled]{opacity:.6;cursor:not-allowed}.result-wrapper.grid{align-items:start!important}.action-col .upload-action-card{margin-bottom:6px}.top-texts{color:#000;font-size:18px;font-weight:500;margin-bottom:12px}.home-container .response-counter-text{color:#999898}.site-footer{width:100%;background:#0c1220;color:#d2d8e3;border:1px solid rgba(255,255,255,.06);box-shadow:0 8px 28px #00000040}.footer__inner{max-width:var(--container-max);margin:0 auto;padding:26px 20px;display:grid;grid-template-columns:1.4fr 1fr;gap:32px}@media(max-width:900px){.footer__inner{grid-template-columns:1fr;gap:24px}}.footer__brand{display:grid;grid-template-columns:42px 1fr;gap:12px}.footer__logo{width:42px;height:42px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:#2f6bff1f}.footer__title{font-weight:800;font-size:16px;color:#f1f5ff;margin-bottom:6px}.footer__desc{margin:0;color:#b7c1d6;font-size:14px;line-height:1.5}.footer__github{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;text-decoration:none;color:#c7d3ea;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);transition:transform .18s ease,background .18s ease,border-color .18s ease}.footer__github:hover{transform:translateY(-2px);background:#ffffff12;border-color:#ffffff2e}.footer__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.footer__col h4{margin:0 0 10px;font-size:14px;font-weight:800;color:#e6ecff}.footer__col ul{margin:0;padding:0;list-style:none}.footer__col li+li{margin-top:8px}.footer__col a{color:#c0cade;text-decoration:none;font-size:14px}.footer__col a:hover{color:#fff}.footer__rule{max-width:var(--container-max);margin:6px auto 0;border:none;height:1px;background:#ffffff14}.footer__copyright{max-width:var(--container-max);margin:10px auto 18px;text-align:center;color:#a8b4cc;font-size:13px}.footer__copyright a{color:#a8b4cc}.header-nav ul{list-style:none;padding:0;margin:0}.header-nav a{text-decoration:none;color:#222;font-weight:500;display:block}.header-nav a.active{border-bottom:2px solid #222}.nav-toggle{display:none}@media(min-width:769px){.hamburger{display:none!important}.header-nav ul{position:static;display:flex;flex-direction:row;align-items:center;gap:1.5rem;background:none;padding:0;transform:none;opacity:1;pointer-events:auto;height:auto;box-shadow:none;top:1.5rem}}@media(max-width:768px){.mobile-nav-wrapper{position:relative;z-index:999}.hamburger{display:flex;width:30px;height:22px;flex-direction:column;justify-content:space-between;cursor:pointer;position:fixed;top:16px;right:16px;z-index:1002}.hamburger span{height:3px;width:100%;background:#222;border-radius:3px;transition:.3s ease}.header-nav ul{position:fixed;inset:0;background:#fffe;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;padding-top:100px;padding-left:24px;padding-right:24px;gap:1.2rem;transform:translateY(-100%);opacity:0;pointer-events:none;transition:.35s ease}.nav-toggle:checked~.header-nav ul{transform:translateY(0);opacity:1;pointer-events:auto}.nav-toggle:checked+.hamburger span:nth-child(1){transform:translateY(9px) rotate(45deg)}.nav-toggle:checked+.hamburger span:nth-child(2){opacity:0}.nav-toggle:checked+.hamburger span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.header-nav a{padding:14px 10px;font-size:18px;border-radius:6px}.header-nav a.active{background:#0000001a}}:root{line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.app-background{background-image:url(/fabric_background.png);background-size:cover;background-position:center;background-repeat:no-repeat}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;height:100%;box-sizing:border-box;contain:content}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
