:root{color-scheme:dark;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;--font-ui:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--bg:var(--tone-100b10, #100b10);--panel:var(--tone-161016, #161016);--ink:var(--tone-f5eaf0, #f5eaf0);--muted:var(--tone-b29ba8, #b29ba8);--quiet:var(--tone-8c7382, #8c7382);--line:var(--tone-35212d, #35212d);--accent:var(--tone-dd6786, #dd6786);--accent-light:var(--tone-f3aac0, #f3aac0);--sidebar-width:264px}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}
body{display:flex;height:100dvh;overflow:hidden;font-size: 14px;line-height:1.5}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{color:inherit;cursor:pointer;border:0}
button:disabled{cursor:not-allowed;opacity:.42}
a{color:var(--accent-light)}
a,button,input,textarea{outline-offset:4px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent-light)}
input,textarea{color:var(--ink);caret-color:var(--accent-light)}
::selection{background:var(--tone-84314d, #84314d);color:white}
[hidden]{display:none!important}
.startup-loading{position:fixed;left:50%;top:max(16px,env(safe-area-inset-top));transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--ink);font-size:13px;pointer-events:none}
.startup-spinner{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent-light);border-radius:50%;animation:startup-spin .8s linear infinite}
@keyframes startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.startup-spinner{animation:none}}
.page-hidden .startup-spinner{animation-play-state:paused}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.icon.small{width:14px;height:14px}
.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:transparent;color:var(--muted);flex-shrink:0;transition:background .18s,color .18s}
.icon-button:hover:not(:disabled){background:var(--tone-38212d, #38212d);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:280px;top:-80px;z-index:50;padding:10px 16px;background:var(--tone-39202c, #39202c);border-radius:8px}
.skip-link:focus{top:14px}
.mobile-only{display:none}

.sidebar{width:var(--sidebar-width);display:flex;flex-direction:column;flex-shrink:0;background:var(--tone-1c111a, #1c111a);border-right:1px solid var(--line);padding:30px 18px 16px;z-index:20}
.sidebar-brand{display:flex;flex-wrap:wrap;align-items:center;padding:0 12px 28px;position:relative}
.wordmark{font: 600 48px/.85 var(--font-ui);letter-spacing:-1px;text-decoration:none;color:var(--tone-f5ccd9, #f5ccd9)}
.wordmark span{color:var(--tone-c65072, #c65072)}
.brand-caption{display:block;width:100%;color:var(--quiet);font-size: 12px;letter-spacing:.055em;margin-top:13px}
.new-chat{height:43px;min-height:43px;border:1px solid var(--tone-674052, #674052);border-radius:11px;display:flex;align-items:center;gap:9px;padding:0 11px;background:var(--tone-3a1e2d, #3a1e2d);font-size: 14px;transition:border-color .2s,background .2s}
.new-chat:hover{border-color:var(--tone-a9627e, #a9627e);background:var(--tone-442334, #442334)}
.new-chat .icon{width:18px}
.new-chat kbd{margin-left:auto;color:var(--tone-99778a, #99778a);font-size: 12px;white-space:nowrap}
.history-search{display:flex;align-items:center;gap:8px;margin:17px 3px 22px;color:var(--tone-927587, #927587)}
.history-search .icon{width:16px;height:16px}
.history-search input{min-width:0;width:100%;border:0;background:transparent;font-size: 14px;outline-offset:5px}
.history-search input::placeholder{color:var(--tone-a28a97, #a28a97)}
.history-search input::-webkit-search-cancel-button{cursor:pointer}
.history-heading{display:flex;justify-content:space-between;padding:0 10px 12px;font-size: 12px;color:var(--tone-ad8f9f, #ad8f9f)}
.history-heading>span:last-child{font-size: 12px;color:var(--tone-816572, #816572)}
.history-list{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--tone-482735, #482735) transparent}
.history-item{position:relative;display:flex;align-items:center;margin-bottom:4px;border-radius:9px;transition:background .16s}
.history-item:hover{background:var(--tone-261721, #261721)}
.history-item.active{background:var(--tone-3b202e, #3b202e)}
.history-item.active::before{content:"";width:3px;height:15px;border-radius:3px;background:var(--tone-d36b89, #d36b89);position:absolute;left:0}
.history-select{display:flex;align-items:center;gap:9px;background:none;text-align:left;padding:11px 10px;width:100%;min-width:0;color:var(--tone-c4aebc, #c4aebc);font-size: 14px}
.history-select .icon{width:15px;height:15px;color:var(--tone-967083, #967083)}
.history-select span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.history-item.active .history-select{color:var(--tone-f6dce7, #f6dce7)}
.history-delete{width:28px;height:28px;margin-right:5px;display:none}
.history-delete .icon{width:14px;height:14px}
.history-item:hover .history-delete,.history-item:focus-within .history-delete{display:flex}
.history-empty{text-align:center;padding:24px 5px;color:var(--tone-917485, #917485);font-size: 12px}
.history-empty .icon{width:26px;height:26px;opacity:.5}
.history-empty p{margin:12px 0 3px;color:var(--tone-ab8b9e, #ab8b9e)}
.history-empty span{font-size: 12px;color:var(--tone-957b89, #957b89)}
.sidebar-bottom{margin-top:auto;padding-top:24px}
.account{border-top:1px solid var(--line);padding:18px 7px 9px}
.account-row{display:flex;gap:9px;align-items:center}
.account-avatar{display:flex;align-items:center;justify-content:center;width:33px;height:33px;flex-shrink:0;background:var(--tone-49303c, #49303c);color:var(--tone-edc4d4, #edc4d4);border:1px solid var(--tone-694254, #694254);border-radius:50%;font-weight:600;font-size: 14px}
.account-name{display:flex;flex-direction:column;min-width:0;flex:1}
.account-name strong{font-weight:500;font-size: 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-name>span{font-size: 12px;color:var(--tone-ab8f9d, #ab8f9d)}
.usage-line{display:flex;justify-content:space-between;gap:5px;font-size: 12px;color:var(--tone-ac8d9d, #ac8d9d);margin:17px 0 6px}
.usage-line>span:last-child{color:var(--tone-a8758d, #a8758d)}
progress{width:100%;height:3px;display:block;appearance:none;border:0;border-radius:8px;overflow:hidden;background:var(--tone-36202b, #36202b)}
progress::-webkit-progress-bar{background:var(--tone-36202b, #36202b)}
progress::-webkit-progress-value{background:var(--tone-923956, #923956);border-radius:8px}
progress::-moz-progress-bar{background:var(--tone-bf647f, #bf647f);border-radius:8px}
.local-note{margin:12px 0 0;color:var(--tone-987b8a, #987b8a);text-align:center;font-size: 12px}

.main{min-width:0;flex:1;display:flex;flex-direction:column;position:relative;background:var(--tone-36101f24, #36101f24)}
.topbar{min-height:76px;flex-shrink:0;padding:0 34px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--tone-35212d80, #35212d80)}
.topbar-heading{display:flex;flex-direction:column;min-width:0;gap:1px}
.topbar-heading strong{font-weight:500;color:var(--tone-ebd4df, #ebd4df);font-size: 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}
.topbar-heading>span{font-size: 12px;color:var(--tone-967a8a, #967a8a)}
.topbar-right{margin-left:auto;display:flex;align-items:center;gap:21px;flex-shrink:0}
.connection{display:flex;align-items:center;gap:6px;font-size: 12px;color:var(--tone-b099a7, #b099a7);white-space:nowrap}
.status-dot{width:5px;height:5px;border-radius:50%;background:var(--tone-9b788a, #9b788a);box-shadow: none}
.connection[data-state="ready"] .status-dot{background:var(--tone-c5859b, #c5859b);box-shadow: none}
.connection[data-state="busy"] .status-dot{animation:soft-pulse 1.6s ease-in-out infinite;background:var(--tone-f196b1, #f196b1)}
.connection[data-state="error"] .status-dot{background:var(--tone-e98982, #e98982)}
.model-picker{position:relative;z-index:22}
.model-picker summary{list-style:none;display:flex;align-items:center;gap:8px;font-size: 12px;color:var(--tone-d9b9c9, #d9b9c9);padding:9px 10px;border:1px solid var(--tone-47303c, #47303c);border-radius:9px;cursor:pointer;background:var(--tone-22131d70, #22131d70)}
.model-picker summary::-webkit-details-marker{display:none}
.model-picker summary>.icon:first-child{width:15px;height:15px;color:var(--tone-d17696, #d17696)}
.model-picker summary .small{color:var(--tone-997c8a, #997c8a);margin-left:3px}
.model-popover{position:absolute;right:0;top:47px;width:248px;border:1px solid var(--tone-573342, #573342);border-radius:12px;background:var(--tone-21151e, #21151e);padding:18px;box-shadow: none;animation:arrive .15s ease-out}
.model-popover strong{font-size: 14px;color:var(--tone-f0cbdc, #f0cbdc)}
.model-popover p{font-size: 14px;color:var(--muted);line-height:1.65}
.model-popover>span{font-size: 12px;color:var(--tone-b27691, #b27691)}
.model-popover .model-privacy{border-top:1px solid var(--tone-553044, #553044);padding-top:12px;margin-bottom:0;font-size: 12px;color:var(--tone-ba92a7, #ba92a7)}
.scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--tone-482735, #482735) transparent;scroll-behavior:smooth}
.content-column{width:min(100%,886px);margin:0 auto;padding:30px 28px 16px}
.welcome{animation:arrive .55s ease-out}
.hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--tone-6b35474d, #6b35474d);border-radius:20px 20px 64px 20px;padding:33px 33px 26px;min-height:285px;background:var(--tone-210f1bed, #210f1bed);box-shadow: none}
.hero-glow { display: none; }
.eyebrow{color:var(--tone-cf93aa, #cf93aa);font-size: 12px;letter-spacing:.17em}
.hero h1{font: 600 96px/.95 var(--font-ui);letter-spacing:-8px;margin:16px 0 13px;color:var(--tone-ffe9f0, #ffe9f0);text-shadow: none}
.hero h1 span{color:var(--tone-da87a3, #da87a3)}
.hero p{font-size: 14px;line-height:1.8;color:var(--tone-e1bbce, #e1bbce);margin:0;max-width:55%;text-shadow: none}
.hero-signature{display:flex;align-items:center;gap:8px;color:var(--tone-bf839d, #bf839d);font-size: 12px;letter-spacing:.045em;margin-top:21px}
.hero-signature>span{width:16px;height:1px;background:var(--tone-c96f92, #c96f92)}
.welcome-intro{margin:27px 0 18px}
.welcome-intro h2{margin:0 0 6px;font-size: 23px;font-weight:450;letter-spacing:-.6px;color:var(--tone-f0dfe8, #f0dfe8)}
.welcome-intro p{margin:0;font-size: 14px;color:var(--tone-ab8f9f, #ab8f9f)}
.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.suggestion{text-align:left;background:var(--tone-21141d80, #21141d80);border:1px solid var(--tone-3d263340, #3d263340);border-radius:12px;display:flex;align-items:center;gap:12px;padding:17px 15px;transition:transform .2s,border-color .2s,background .2s}
.suggestion:hover:not(:disabled){transform:none;border-color:var(--tone-765064, #765064);background:var(--tone-2b1823, #2b1823)}
.suggestion>.icon{color:var(--tone-b77895, #b77895);width:19px;height:19px}
.suggestion>span:nth-child(2){display:flex;flex-direction:column;gap:3px}
.suggestion strong{font-size: 12px;font-weight:500;color:var(--tone-dfc5d3, #dfc5d3)}
.suggestion small{font-size: 12px;color:var(--tone-ab8c9d, #ab8c9d)}
.suggestion-arrow{font-size: 14px;color:var(--tone-956a82, #956a82);margin-left:auto}
.access-panel{display:flex;gap:15px;align-items:flex-start;margin:25px 0 8px;padding:22px;border:1px solid var(--tone-673c514f, #673c514f);border-radius:15px;background:var(--tone-291724, #291724)}
.access-symbol,.dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--tone-7541595c, #7541595c);background:var(--tone-3d2030, #3d2030);border-radius:11px;color:var(--tone-e291b0, #e291b0);flex-shrink:0}
.access-panel h2{margin:0 0 6px;font-size: 16px;font-weight:500}
.access-panel p{margin:0;color:var(--tone-c2a4b5, #c2a4b5);font-size: 14px;line-height:1.7}
.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:10px 15px;border-radius:9px;font-size: 14px;font-weight:500;text-decoration:none;transition:background .15s}
.primary-button{background:var(--tone-b8476b, #b8476b);color:var(--tone-fff1f6, #fff1f6);border:1px solid var(--tone-e188a640, #e188a640)}
.primary-button:hover:not(:disabled){background:var(--tone-cb537b, #cb537b)}
.primary-button .icon{width:16px;height:16px}
.secondary-button{background:var(--tone-32202b, #32202b);border:1px solid var(--tone-573644, #573644);color:var(--tone-dabbcd, #dabbcd)}
.secondary-button:hover{background:var(--tone-452a39, #452a39)}
.access-panel .primary-button{margin-top:15px}
.text-button{display:inline-flex;align-items:center;gap:6px;background:none;padding:5px 0;color:var(--tone-edabc6, #edabc6);font-size: 14px}
.text-button .icon{width:14px;height:14px}
.text-button:hover{text-decoration:underline}
.access-panel .text-button{display:block;margin-top:12px}

.messages:empty{display:none}
.messages{padding-top:2px}
.message{margin:0 0 28px;animation:arrive .22s ease-out;min-width:0}
.message-header{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.message-header strong{font-weight:550;font-size: 14px;color:var(--tone-e4c3d4, #e4c3d4)}
.message-time{font-size: 12px;color:var(--tone-a18595, #a18595);margin-left:2px}
.assistant-avatar,.user-avatar{width:29px;height:29px;border:1px solid var(--tone-674053, #674053);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--tone-472333, #472333);color:var(--tone-e39ab8, #e39ab8);flex-shrink:0}
.assistant-avatar .icon{width:17px;height:17px}
.user-avatar{border-radius:50%;background:var(--tone-2c212a, #2c212a);border-color:var(--tone-51404b, #51404b);color:var(--tone-c5aab9, #c5aab9);font-size: 12px;font-weight:600}
.message-body{margin-left:39px;font-size: 14px;line-height:1.85;color:var(--tone-e3ceda, #e3ceda);overflow-wrap:anywhere}
.message.user .message-body{background:var(--tone-2a1925, #2a1925);border:1px solid var(--tone-462c3b80, #462c3b80);border-radius:4px 15px 15px 15px;padding:14px 18px;color:var(--tone-eddae5, #eddae5);white-space:pre-wrap}
.message.assistant .message-body{padding:0 0 0 17px;border-left:1px solid var(--tone-b951735c, #b951735c)}
.message-context{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 0 39px}
.context-tag{max-width:100%;border:1px solid var(--tone-57344670, #57344670);border-radius:7px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size: 12px;color:var(--tone-c8a0b5, #c8a0b5);background:var(--tone-281620, #281620);text-decoration:none;overflow:hidden}
.context-tag .icon{width:12px;height:12px}
.context-tag>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.message-tools{margin:9px 0 0 47px;display:flex;align-items:center;gap:12px}
.message-tools .text-button{color:var(--tone-ad879c, #ad879c);font-size: 12px;gap:5px}
.message-tools .text-button:hover{color:var(--tone-ecc1d5, #ecc1d5)}
.message-tokens{font-size: 12px;color:var(--tone-a08393, #a08393)}
.message-body p{margin:0 0 13px}
.message-body>*:last-child{margin-bottom:0}
.message-body h1,.message-body h2,.message-body h3,.message-body h4,.message-body h5,.message-body h6{font-weight:600;line-height:1.45;letter-spacing:-.25px;margin:24px 0 9px;color:var(--tone-f3dfe9, #f3dfe9)}
.message-body h1{font-size: 23px}
.message-body h2{font-size: 20px}
.message-body h3{font-size: 17px}
.message-body h4,.message-body h5,.message-body h6{font-size: 15px}
.message-body h1:first-child,.message-body h2:first-child,.message-body h3:first-child{margin-top:0}
.message-body strong{font-weight:650;color:var(--tone-f8e6ef, #f8e6ef)}
.message-body a{color:var(--tone-eea5c4, #eea5c4);text-decoration-color:var(--tone-ac54787d, #ac54787d);text-underline-offset:3px}
.message-body a:hover{color:var(--tone-ffd3e4, #ffd3e4)}
.message-body ul,.message-body ol{padding-left:23px;margin:9px 0 16px}
.message-body li{margin:4px 0;padding-left:3px}
.message-body li::marker{color:var(--tone-ba7898, #ba7898)}
.message-body blockquote{border-left:3px solid var(--tone-aa587c, #aa587c);margin:15px 0;padding:7px 15px;color:var(--tone-c8a6b9, #c8a6b9);background:var(--tone-2f19254d, #2f19254d);border-radius:0 6px 6px 0}
.message-body hr{border:0;border-top:1px solid var(--tone-513141, #513141);margin:22px 0}
.message-body code{font:12px/1.7 Consolas,"SFMono-Regular",monospace;border:1px solid var(--tone-67344860, #67344860);background:var(--tone-3e243340, #3e243340);color:var(--tone-f1b9d0, #f1b9d0);border-radius:5px;padding:2px 5px;overflow-wrap:anywhere}
.code-block{margin:16px 0;border:1px solid var(--tone-4e2e40, #4e2e40);border-radius:11px;overflow:hidden;background:var(--tone-0e0a0f, #0e0a0f)}
.code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--tone-241620, #241620);border-bottom:1px solid var(--tone-422536, #422536);font-size: 12px;color:var(--tone-b68ba2, #b68ba2)}
.code-toolbar .text-button{font-size: 12px;color:var(--tone-c7a5b7, #c7a5b7)}
.code-block pre{margin:0;padding:16px;overflow:auto;line-height:1.7;tab-size:4;white-space:pre;scrollbar-width:thin;scrollbar-color:var(--tone-583043, #583043) transparent}
.code-block pre code{background:none;border:0;padding:0;font-size: 14px;color:var(--tone-e7cadb, #e7cadb);white-space:pre;overflow-wrap:normal}
.table-wrap{overflow-x:auto;margin:15px 0;border:1px solid var(--tone-513143, #513143);border-radius:10px;scrollbar-width:thin}
.message-body table{border-collapse:collapse;width:100%;font-size: 14px;text-align:left}
.message-body th,.message-body td{padding:10px 13px;border-bottom:1px solid var(--tone-51314380, #51314380);border-right:1px solid var(--tone-51314355, #51314355);min-width:90px;vertical-align:top}
.message-body th{background:var(--tone-321d2a, #321d2a);color:var(--tone-ebc4d8, #ebc4d8);font-weight:600}
.message-body tr:last-child td{border-bottom:0}
.message-body td:last-child,.message-body th:last-child{border-right:0}
.sources{margin:17px 0 0 39px;padding-top:12px;border-top:1px solid var(--tone-4227366b, #4227366b)}
.sources-label{display:flex;align-items:center;gap:6px;font-size: 12px;color:var(--tone-b2879e, #b2879e);margin-bottom:9px}
.sources-label .icon{width:13px;height:13px}
.source-list{display:flex;flex-wrap:wrap;gap:7px}
.source{display:flex;align-items:center;gap:8px;min-width:0;max-width:250px;color:var(--tone-cfa7bc, #cfa7bc);background:var(--tone-291621, #291621);border:1px solid var(--tone-56304580, #56304580);border-radius:8px;padding:8px 10px;text-decoration:none;font-size: 12px;transition:border-color .15s}
.source:hover{border-color:var(--tone-a86587, #a86587)}
.source-index{display:flex;width:17px;height:17px;border-radius:5px;align-items:center;justify-content:center;background:var(--tone-482638, #482638);color:var(--tone-e1a3c0, #e1a3c0);font-size: 12px;flex-shrink:0}
.source>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thinking{display:flex;align-items:flex-start;gap:10px;margin:0 0 28px;animation:arrive .2s ease-out}
.thinking strong{font-size: 14px;color:var(--tone-e8c6d7, #e8c6d7);font-weight:500}
.thinking-line{display:flex;align-items:center;gap:10px;margin-top:5px;color:var(--tone-b989a2, #b989a2);font-size: 14px}
.thinking-dots{display:flex;gap:4px}
.thinking-dots i{display:block;width:4px;height:4px;border-radius:50%;background:var(--tone-d081a4, #d081a4);animation:thinking-dot 1.2s ease-in-out infinite}
.thinking-dots i:nth-child(2){animation-delay:.16s}
.thinking-dots i:nth-child(3){animation-delay:.32s}
.chat-error{border:1px solid var(--tone-86455170, #86455170);border-radius:12px;padding:15px 18px;background:var(--tone-3d192335, #3d192335);margin:0 0 24px 39px}
.chat-error p{color:var(--tone-efb5c2, #efb5c2);font-size: 14px;margin:0 0 8px;white-space:pre-wrap}
.chat-error>div{display:flex;gap:18px}

.composer-dock{flex-shrink:0;position:relative;padding:8px 28px 17px;background:var(--tone-100b10d9, #100b10d9);z-index:3}
.composer-column{max-width:830px;margin:0 auto}
.compose{position:relative;background:var(--tone-271821, #271821);border:1px solid var(--tone-79506485, #79506485);border-radius:18px;padding:13px 13px 11px;box-shadow: none;transition:border-color .2s,box-shadow .2s}
.compose:focus-within{border-color:var(--tone-b36c8d, #b36c8d);box-shadow: none}
.compose[data-disabled="true"]{border-color:var(--tone-4b3240, #4b3240)}
.compose textarea{display:block;width:100%;border:0;background:none;resize:none;padding:3px 7px 15px;font-size: 14px;line-height:1.65;min-height:52px;max-height:220px;overflow-y:auto;outline:none;scrollbar-width:thin;scrollbar-color:var(--tone-7c4a63, #7c4a63) transparent}
.compose textarea::placeholder{color:var(--tone-b799a9, #b799a9)}
.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px}
.composer-tools{display:flex;align-items:center;gap:3px}
.composer-tools>.icon-button{width:31px;height:31px;border-radius:8px;color:var(--tone-b48b9f, #b48b9f)}
.composer-tools>.icon-button .icon{width:17px;height:17px}
.toolbar-divider{width:1px;height:15px;background:var(--tone-553344, #553344);margin:0 7px}
.search-toggle{display:inline-flex;align-items:center;gap:6px;font-size: 12px;background:transparent;color:var(--tone-bf94ac, #bf94ac);padding:6px 9px;border-radius:8px;border:1px solid transparent;transition:background .2s,border-color .2s}
.search-toggle .icon{width:15px;height:15px}
.search-toggle:hover:not(:disabled){background:var(--tone-432638, #432638)}
.search-toggle[aria-pressed="true"]{background:var(--tone-55283e80, #55283e80);border-color:var(--tone-a14f75b3, #a14f75b3);color:var(--tone-f1aecf, #f1aecf)}
.composer-end{display:flex;align-items:center;gap:9px}
.char-count{font-size: 12px;color:var(--tone-d99bb6, #d99bb6);white-space:nowrap}
.send-button{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--tone-d77493, #d77493);border:1px solid var(--tone-ec96b140, #ec96b140);border-radius:10px;box-shadow: none;transition:transform .18s,filter .18s}
.send-button:hover:not(:disabled){transform:translateY(-1px);filter: none}
.send-button:disabled{opacity:.32}
.send-button .icon{width:20px;height:20px;stroke-width:2}
.composer-footer{display:flex;justify-content:space-between;gap:15px;padding:10px 3px 0;font-size: 12px;line-height:1.4;color:var(--tone-a08796, #a08796)}
.notice{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--tone-774055, #774055);border-radius:11px;background:var(--tone-33202c, #33202c);margin-bottom:9px;font-size: 12px;color:var(--tone-edb8ce, #edb8ce);animation:arrive .15s ease-out}
.notice .icon-button{width:22px;height:22px}
.notice .icon{width:14px;height:14px}
.draft-context{display:flex;gap:7px;flex-wrap:wrap;padding:0 5px 11px}
.draft-chip{display:flex;align-items:center;gap:7px;background:var(--tone-3f223280, #3f223280);border:1px solid var(--tone-7f48625c, #7f48625c);border-radius:9px;padding:6px 6px 6px 9px;max-width:min(290px,100%)}
.draft-chip>.icon{width:16px;height:16px;color:var(--tone-cc88a8, #cc88a8)}
.draft-chip-label{display:flex;flex-direction:column;min-width:0}
.draft-chip strong{color:var(--tone-e5bdcf, #e5bdcf);font-size: 12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.draft-chip small{font-size: 12px;color:var(--tone-b18b9e, #b18b9e)}
.draft-chip .icon-button{width:22px;height:22px}
.draft-chip .icon-button .icon{width:12px;height:12px}
.draft-chip.uploading{animation:soft-pulse 1.8s ease-in-out infinite}
.draft-chip img{width:28px;height:28px;object-fit:cover;border-radius:4px}
.drop-hint{position:absolute;inset:-1px;z-index:5;display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:column;border:2px dashed var(--tone-d58baa, #d58baa);background:var(--tone-321725f5, #321725f5);border-radius:18px;pointer-events:none}
.drop-hint>.icon{width:24px;height:24px;color:var(--tone-efabca, #efabca);margin-bottom:3px}
.drop-hint strong{font-size: 14px;font-weight:500}
.drop-hint>span{color:var(--tone-c79caf, #c79caf);font-size: 12px}
.scroll-bottom{position:absolute;left:50%;top:-36px;transform:translateX(-50%);background:var(--tone-38222e, #38222e);border:1px solid var(--tone-74465c, #74465c);box-shadow: none;width:30px;height:30px;border-radius:50%;color:var(--tone-edbad1, #edbad1)}
.scroll-bottom .icon{transform:rotate(180deg);width:15px;height:15px}

.dialog{width:min(460px,calc(100vw - 32px));border:1px solid var(--tone-795067, #795067);border-radius:20px;background:var(--tone-2c1a26, #2c1a26);color:var(--ink);padding:27px;box-shadow: none;animation:arrive .2s ease-out}
.dialog::backdrop{background:var(--tone-080508b8, #080508b8);backdrop-filter: none}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.dialog h2{font-size: 20px;line-height:1.35;font-weight:500;letter-spacing:-.4px;margin:0 0 12px}
.dialog p{color:var(--tone-c4a4b6, #c4a4b6);font-size: 14px;line-height:1.75;margin:0 0 22px}
.dialog label{display:block;font-size: 12px;color:var(--tone-d6b3c6, #d6b3c6);margin-bottom:8px}
.dialog input{width:100%;background:var(--tone-180e17, #180e17);border:1px solid var(--tone-785065, #785065);border-radius:9px;padding:12px;font-size: 14px}
.dialog input::placeholder{color:var(--tone-9a7287, #9a7287)}
.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:23px}
.dialog .field-error{font-size: 12px;color:var(--tone-f7a5bd, #f7a5bd);margin:9px 0 0}

@keyframes arrive{from{opacity:0;transform:translateY(6px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes soft-pulse{50%{opacity:.45}
}
@keyframes thinking-dot{0%,70%,100%{opacity:.35;transform:translateY(0)}
35%{opacity:1;transform:translateY(-3px)}
}

@media(min-width:1550px){:root{--sidebar-width:284px}
.topbar{padding:0 42px}
.content-column{padding-top:45px}
.hero{min-height:315px;padding-top:39px}
.hero h1{font-size: 106px}
.welcome-intro{margin-top:32px}
.suggestion{padding:19px 17px}
}

@media(max-height:800px) and (min-width:761px){.content-column{padding-top:23px}
.hero{min-height:235px;padding:24px 29px 21px}
.hero h1{font-size: 79px;margin:12px 0 10px}
.hero-signature{margin-top:15px}
.welcome-intro{margin:20px 0 14px}
.suggestion{padding:13px}
.composer-dock{padding-bottom:12px}
}

@media(max-width:1100px){:root{--sidebar-width:268px}
.sidebar{padding-left:13px;padding-right:13px}
.topbar{padding:0 25px}
.connection{display:none}
.topbar-right{gap:10px}
.content-column{padding:26px 24px 16px}
.hero{padding-left:27px}
.hero p{max-width:62%}
.suggestion{padding:14px 12px;gap:9px}
.suggestion-arrow{display:none}
.suggestion small{font-size: 12px}
.composer-dock{padding-left:24px;padding-right:24px}
.new-chat kbd{display:none}
.composer-footer{font-size: 12px;gap:9px}
}

@media(max-width:760px){:root{--sidebar-width:272px}
.mobile-only{display:inline-flex}
.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .25s ease;z-index:40;padding:27px 19px 20px;box-shadow: none}
.sidebar-open .sidebar{transform:translateX(0)}
.sidebar-shade{position:fixed;inset:0;background:var(--tone-050305b8, #050305b8);backdrop-filter: none;z-index:35}
.sidebar-brand{padding-bottom:28px}
.sidebar-brand .mobile-only{position:absolute;right:0;top:-4px}
.topbar{min-height:65px;padding:0 17px;gap:11px}
.topbar-heading strong{font-size: 14px;max-width:230px}
.topbar-heading>span{font-size: 12px}
.topbar-right{gap:5px}
.model-picker summary{font-size: 12px;padding:8px;gap:5px}
.model-picker summary .icon:first-child{display:none}
.model-picker summary .small{margin-left:0}
.content-column{padding:23px 19px 15px;max-width:690px}
.hero{min-height:263px;padding:28px;background-position:center,right 28%;background-size:auto,auto 162%}
.hero h1{font-size: 89px}
.hero p{font-size: 14px;max-width:58%}
.hero-signature{font-size: 12px}
.welcome-intro{margin:25px 0 16px}
.welcome-intro h2{font-size: 22px}
.welcome-intro p{font-size: 12px}
.suggestions{gap:9px}
.suggestion{padding:16px 12px}
.suggestion small{font-size: 12px}
.suggestion strong{font-size: 12px}
.composer-dock{padding:7px 18px max(12px,env(safe-area-inset-bottom))}
.composer-footer{justify-content:center;font-size: 12px}
.composer-footer>span:first-child{display:none}
.compose{border-radius:16px}
.compose textarea{font-size: 16px;min-height:58px;padding-bottom:14px}
.composer-tools{gap:3px}
.search-toggle{font-size: 12px}
.history-delete{display:flex}
.message-body{font-size: 14px;margin-left:35px}
.message.assistant .message-body{padding-left:13px}
.message.user .message-body{padding:12px 14px}
.message-context,.sources{margin-left:35px}
.message-tools{margin-left:38px}
.chat-error{margin-left:0}
.skip-link{left:14px}
.dialog{padding:23px}
}

@media(max-width:430px){.topbar{padding:0 11px;gap:7px}
.topbar-heading strong{max-width:145px;font-size: 12px}
.model-picker summary{font-size: 12px;padding:7px}
.content-column{padding:18px 14px 13px}
.hero{min-height:250px;padding:26px 22px;background:var(--tone-210f1bef, #210f1bef);border-radius:17px 17px 47px 17px}
.eyebrow{font-size: 12px;letter-spacing:.15em}
.hero h1{font-size: 83px;letter-spacing:-6px}
.hero p{max-width:70%;font-size: 12px}
.hero-signature{font-size: 12px}
.welcome-intro h2{font-size: 21px}
.suggestion{padding:13px 11px;gap:8px;align-items:flex-start;flex-direction:column}
.suggestion>.icon{width:17px;height:17px;margin-bottom:3px}
.suggestion strong{font-size: 12px}
.suggestion small{font-size: 12px}
.composer-dock{padding-left:12px;padding-right:12px}
.compose{padding:11px 10px 9px}
.toolbar-divider{margin:0 4px}
.search-toggle{font-size: 12px;padding:6px}
.char-count{font-size: 12px}
.access-panel{padding:17px;gap:11px}
.access-symbol{width:31px;height:31px}
.access-panel h2{font-size: 14px}
.message-body{margin-left:0}
.message.assistant .message-body{padding-left:12px}
.message-context,.sources,.message-tools{margin-left:0}
.message{margin-bottom:24px}
.message-header{gap:8px}
.dialog-actions{flex-wrap:wrap}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

.web-tools-actions{display:grid;gap:8px;margin-bottom:10px}

.model-picker summary #selected-model-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.model-popover #selected-provider-detail{display:block;overflow-wrap:anywhere}

.model-popover label{font-size: 12px;color:var(--muted);display:block;margin-bottom:8px}

.model-popover select{width:100%;border:1px solid var(--tone-986a887d, #986a887d);background:var(--tone-211526, #211526);color:var(--ink);border-radius:8px;padding:10px;font:inherit;color-scheme:dark}

@media(max-width:430px){.model-picker summary #selected-model-name{max-width:125px}
.sidebar-bottom{padding-bottom:12px}
.web-tools-actions{gap:6px;margin-bottom:8px}
}

.personalize-button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 10px;margin:0 0 17px;border:1px solid var(--tone-a5688d55, #a5688d55);border-radius:12px;background:var(--tone-57304966, #57304966);text-align:left;transition:background .2s,border-color .2s,transform .2s}

.personalize-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--tone-a85e951f, #a85e951f);border:1px solid var(--tone-c184b145, #c184b145);border-radius:10px;color:var(--tone-e8add2, #e8add2);flex-shrink:0}

.personalize-icon .icon{width:17px;height:17px}

.personalize-button>span:nth-child(2){display:flex;flex-direction:column;min-width:0;gap:2px}

.personalize-button strong{font-size: 14px;font-weight:500;color:var(--tone-f5d7e8, #f5d7e8)}

.personalize-button small{font-size: 12px;color:var(--tone-c19bb2, #c19bb2)}

.personalize-love{margin-left:auto;color:var(--tone-e8a7d1, #e8a7d1);font:500 13px/1 Consolas,monospace;letter-spacing:-1px;animation:heart-beat 8s ease-in-out infinite}

.personality-dialog{width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--tone-865474, #865474) transparent}

.personality-header{display:flex;align-items:center;gap:15px;margin-bottom:16px}

.personality-portrait{display:block;width:54px;height:54px;flex-shrink:0;border:1px solid var(--tone-d596bc8c, #d596bc8c);border-radius:17px;box-shadow: none}

.personality-eyebrow{font-size: 12px;letter-spacing:.04em;color:var(--tone-d6a5c0, #d6a5c0)}

.personality-eyebrow b{font:500 12px/1 Consolas,monospace;letter-spacing:-1px;color:var(--tone-f1b2d7, #f1b2d7);margin-left:3px}

.personality-header h2{font-size: 25px;letter-spacing:-.6px;margin:4px 0 0;color:var(--tone-fce6f4, #fce6f4)}

.personality-header h2:focus,.personality-reset-confirm>strong:focus{outline:none}

.personality-header .icon-button{margin-left:auto;align-self:flex-start}

.personality-dialog .personality-intro{font-size: 14px;margin:0 0 20px;color:var(--tone-ccb0c2, #ccb0c2)}

.personality-fields{border:0;padding:0;margin:0;min-width:0}

.personality-dialog .personality-switch{position:relative;display:flex;align-items:center;gap:14px;padding:14px 15px;margin:0;border:1px solid var(--tone-aa76a35c, #aa76a35c);border-radius:12px;background:var(--tone-62345154, #62345154);cursor:pointer}

.personality-switch>span:first-child{display:flex;flex-direction:column;gap:4px;flex:1}

.personality-switch strong{font-weight:500;font-size: 14px;color:var(--tone-f2d7e7, #f2d7e7)}

.personality-switch small{font-size: 12px;line-height:1.5;color:var(--tone-c9a5bc, #c9a5bc)}

.personality-switch input{position:absolute;right:15px;width:38px;height:24px;padding:0;opacity:0;cursor:pointer}

.switch-track{position:relative;width:38px;height:23px;border-radius:20px;background:var(--tone-392b3c, #392b3c);border:1px solid var(--tone-99758c, #99758c);flex-shrink:0;transition:background .2s,border-color .2s}

.switch-track::after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:var(--tone-c9b4c5, #c9b4c5);transition:transform .2s,background .2s}

.personality-switch input:checked+.switch-track{background:var(--tone-b66191, #b66191);border-color:var(--tone-dba5cc, #dba5cc)}

.personality-switch input:checked+.switch-track::after{transform:translateX(15px);background:var(--tone-fff1fa, #fff1fa)}

.personality-switch input:focus-visible+.switch-track{outline:2px solid var(--accent-light);outline-offset:4px}

.personality-fields:disabled{opacity:.55}

.personality-fields:disabled input,.personality-fields:disabled select,.personality-fields:disabled textarea,.personality-fields:disabled label{cursor:not-allowed}

.personality-section{margin-top:24px}

.personality-section+.personality-section{padding-top:22px;border-top:1px solid var(--tone-a46b9235, #a46b9235)}

.personality-section h3{font-size: 14px;font-weight:500;color:var(--tone-f1cfe3, #f1cfe3);margin:0 0 5px}

.personality-dialog .personality-section>p{font-size: 12px;line-height:1.6;color:var(--tone-bf9eb3, #bf9eb3);margin:0 0 16px}

.personality-field+.personality-field{margin-top:16px}

.personality-label{display:flex;align-items:baseline;gap:12px;margin-bottom:7px}

.personality-label label{margin:0;flex:1}

.field-count{font-size: 12px;color:var(--tone-b58fa6, #b58fa6);white-space:nowrap;font-variant-numeric:tabular-nums}

.field-count.at-limit{color:var(--tone-f4b3d2, #f4b3d2)}

.personality-dialog input[type="text"],.personality-dialog textarea,.personality-dialog select{display:block;width:100%;min-width:0;border:1px solid var(--tone-986a887d, #986a887d);border-radius:9px;padding:11px 12px;background:var(--tone-1d1320, #1d1320);color:var(--ink);font:inherit;font-size: 14px;line-height:1.6;transition:border-color .2s,box-shadow .2s}

.personality-dialog textarea{min-height:91px;resize:vertical;max-height:240px}

.personality-dialog textarea::placeholder{color:var(--tone-a38499, #a38499)}

.personality-dialog textarea:focus,.personality-dialog select:focus{border-color:var(--tone-da9ec5, #da9ec5);box-shadow: none}

.personality-dialog select:focus-visible{outline:2px solid var(--accent-light);outline-offset:4px}

.personality-dialog select{appearance:auto;color-scheme:dark;padding-right:8px;cursor:pointer}

.personality-selects{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}

.personality-selects .personality-field{margin-top:0}

.personality-dialog .personality-privacy{font-size: 12px;line-height:1.75;margin:20px 0 0;color:var(--tone-bf9fb3, #bf9fb3);padding:13px 14px;background:var(--tone-140c192e, #140c192e);border:1px solid var(--tone-99628633, #99628633);border-radius:10px}

.personality-callout{font-size: 14px;line-height:1.7;color:var(--tone-f0c9df, #f0c9df);padding:12px 14px;margin-bottom:16px;border:1px solid var(--tone-d68aac5b, #d68aac5b);border-radius:10px;background:var(--tone-66314538, #66314538)}

.personality-callout a{display:block;width:fit-content;margin-top:6px;font-size: 12px;color:var(--tone-ffc3e2, #ffc3e2)}

.personality-dialog .personality-status{font-size: 12px;line-height:1.65;color:var(--tone-deb8d2, #deb8d2);margin:13px 0 0}

.personality-dialog .personality-status:empty{display:none}

.personality-feedback .text-button{margin-top:7px}

.personality-actions{align-items:center;flex-wrap:wrap;margin-top:21px;padding-top:17px;border-top:1px solid var(--tone-9d638b3d, #9d638b3d)}

.personality-actions>.text-button{margin-right:auto;font-size: 12px;padding:8px 4px}

.personality-reset-confirm{margin-top:18px;padding:16px;border:1px solid var(--tone-c8789e77, #c8789e77);border-radius:12px;background:var(--tone-71384929, #71384929);animation:message-arrive .2s ease-out}

.personality-reset-confirm>strong{font-size: 14px;font-weight:500;color:var(--tone-f5cfe2, #f5cfe2);display:block}

.personality-dialog .personality-reset-confirm>p{font-size: 12px;margin:7px 0 0;color:var(--tone-dbb3c8, #dbb3c8)}

.personality-reset-confirm .dialog-actions{margin-top:14px}

@media(hover:hover) and (pointer:fine){.personalize-button:hover{transform:none;border-color:var(--tone-ca8db885, #ca8db885);background:var(--tone-67365088, #67365088)}
.personalize-button:hover .personalize-icon{color:var(--tone-ffd9ef, #ffd9ef)}
}

@media(max-width:760px){.personality-dialog{max-height:calc(100dvh - 24px);padding:23px}
.personality-dialog input[type="text"],.personality-dialog textarea,.personality-dialog select{font-size: 16px}
.personality-dialog textarea{min-height:106px}
.personality-header h2{font-size: 23px}
.personality-portrait{width:48px;height:48px;border-radius:15px}
}

@media(max-width:430px){.personality-dialog{width:calc(100vw - 20px);padding:20px 17px;border-radius:17px}
.personality-header{gap:11px}
.personality-header h2{font-size: 21px}
.personality-eyebrow{font-size: 12px}
.personality-selects{grid-template-columns:1fr;gap:14px}
.personality-label{gap:9px}
.personality-label label{font-size: 12px}
.personality-actions{gap:8px}
.personality-actions>.primary-button{gap:7px;padding:10px 12px}
.personality-actions>.primary-button .icon{display:none}
.personality-actions>.secondary-button{padding:10px 12px}
.personality-switch small{font-size: 12px}
.personality-section{margin-top:21px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

  .floating-love{opacity:.12}

  .hero::before { display: none; }

}

:root {
  --bg: var(--tone-121015, #121015);
  --panel: var(--tone-19161d, #19161d);
  --ink: var(--tone-f5eff4, #f5eff4);
  --muted: var(--tone-b9aab7, #b9aab7);
  --quiet: var(--tone-a092a0, #a092a0);
  --line: var(--tone-302834, #302834);
  --accent: var(--tone-d790b2, #d790b2);
  --accent-light: var(--tone-efb9d2, #efb9d2);
  --sidebar-width: 280px;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-ui: cubic-bezier(.2, .7, .2, 1);
  --motion-enter: 600ms;
  --motion-control: 220ms;
}
body { isolation: isolate; }
button, input, textarea, select { font: inherit; }
select:focus-visible { outline: 2px solid var(--accent-light); outline-offset: 4px; }
.main, .topbar, .composer-dock { background: var(--bg); }
.sidebar { position: relative; background: var(--bg); border: 0; padding: 28px 20px 20px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--line) transparent; }
.sidebar-brand, .new-chat, .history-search, .history-heading, .history-empty { flex-shrink: 0; }
.sidebar-brand { padding: 0 12px 30px; }
.brand-lockup { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-icon { display: block; position: relative; width: 44px; height: 44px; flex-shrink: 0; overflow: hidden; border: 0; border-radius: 50%; }
.brand-lockup .wordmark { font: 600 32px/1 var(--font-ui); letter-spacing: -1.5px; color: var(--ink); }
.wordmark span { color: var(--accent); }
.brand-caption { color: var(--quiet); font-size: 12px; letter-spacing: .02em; margin-top: 12px; padding-left: 56px; }
.vyx-avatar, .vd-portrait { position: relative; overflow: hidden; padding: 0; }
.brand-icon::before, .vyx-avatar::before, .vd-portrait::before { content: 'V'; position: absolute; inset: 0; display: grid; place-items: center; color: var(--accent-light); font: 700 18px/1 var(--font-ui); }
.brand-icon img, .vyx-avatar img, .vd-portrait img { position: relative; z-index: 1; }
.brand-icon img, .vyx-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(3.4); transform-origin: 54% 12%; }
.brand-icon img[hidden], .vyx-avatar img[hidden], .vd-portrait img[hidden] { display: none; }
.new-chat { height: auto; min-height: 46px; border: 0; padding: 11px 13px; border-radius: 14px; background: color-mix(in srgb, var(--accent) 13%, var(--bg)); color: var(--accent-light); gap: 10px; font-size: 14px; font-weight: 500; }
.new-chat:hover { background: color-mix(in srgb, var(--accent) 20%, var(--bg)); }
.new-chat kbd { display: inline; font: 11px var(--font-ui); color: var(--quiet); padding: 2px 3px; border: 0; }
.history-search { margin: 15px 0 25px; padding: 9px 12px; min-height: 44px; border: 0; border-radius: 12px; background: transparent; transition: background var(--motion-control) var(--ease-ui); }
.history-search:focus-within { background: var(--panel); }
.history-search input { font-size: 14px; }
.history-heading, .tools-heading { color: var(--quiet); font-size: 12px; font-weight: 500; }
.history-heading { padding: 0 12px 10px; }
.history-list { flex: 0 0 auto; min-height: 0; overflow-y: visible; }
.history-list:empty { min-height: 0; flex: 0; }
.history-empty { text-align: left; padding: 15px 12px 25px; border: 0; margin: 0; }
.history-empty>.icon { display: none; }
.history-empty p { margin: 0 0 5px; color: var(--muted); font-size: 13px; }
.history-empty span { color: var(--quiet); font-size: 12px; }
.history-item { border-radius: 12px; }
.history-item.active { background: color-mix(in srgb, var(--accent) 10%, var(--bg)); }
.history-item.active::before { background: var(--accent); width: 2px; }
.history-select { min-height: 44px; font-size: 14px; }
.sidebar-bottom { flex-shrink: 0; padding-top: 28px; }
.tools-heading { padding: 0 12px 12px; }
.web-tools-actions { gap: 3px; margin-bottom: 3px; }
#web-tools-actions .roblox-launch, .personalize-button { min-height: 56px; padding: 10px 12px; border: 0; border-radius: 12px; background: transparent; box-shadow: none; gap: 12px; transform: none; }
#web-tools-actions .roblox-launch:hover, .personalize-button:hover { background: var(--panel); transform: none; }
#web-tools-actions #roblox-open>.icon, #web-tools-actions #vd-open>.vd-icon, .personalize-icon { width: 21px; height: 21px; padding: 0; box-sizing: content-box; border: 0; border-radius: 0; background: transparent; color: var(--accent); flex-shrink: 0; }
.personalize-icon .icon { width: 21px; height: 21px; }
#web-tools-actions .roblox-launch-copy strong, .personalize-button strong { font-size: 14px; color: var(--ink); font-weight: 500; }
#web-tools-actions .roblox-launch-copy small, .personalize-button small { font-size: 12px; color: var(--quiet); }
.roblox-love, .personalize-love, .hero-heart, .message-love, .personality-eyebrow b { display: none; }
.personalize-button { margin: 0 0 12px; }
.local-note { font-size: 11px; text-align: left; padding: 12px; border: 0; color: var(--quiet); }
.account { padding: 18px 12px 6px; border-color: color-mix(in srgb, var(--line) 65%, transparent); }
.account-name strong { font-size: 14px; }
.account-name>span, .usage-line { font-size: 12px; color: var(--muted); }
.topbar { min-height: 76px; gap: 12px; padding: 0 38px; border: 0; }
.topbar-avatar { display: none; }
.topbar-heading { flex: 1; }
.topbar-heading strong { max-width: 360px; font-size: 15px; font-weight: 500; color: var(--ink); }
.topbar-heading>span { font-size: 12px; color: var(--quiet); }
.topbar-right { gap: 12px; min-width: 0; }
.connection { font-size: 12px; }
.connection[data-state=ready] .status-dot { background: var(--tone-a6c6b5, #a6c6b5); box-shadow: none; }
.model-picker summary { padding: 9px 12px; min-height: 40px; font-size: 13px; border-radius: 12px; background: transparent; border-color: transparent; }
.model-picker summary:hover, .model-picker[open] summary { background: var(--panel); border-color: transparent; }
.model-picker summary #selected-model-name { max-width: 180px; }
.model-popover { width: min(300px, calc(100vw - 28px)); background: var(--panel); border-color: var(--line); border-radius: 18px; padding: 20px; }
.model-popover .model-privacy { font-size: 12px; color: var(--muted); }
.scroll-area { min-height: 0; scrollbar-gutter: stable; }
.content-column { width: min(100%, 1080px); padding: 18px 40px 26px; }
.welcome { animation: none; }
.hero { position: relative; display: flex; align-items: center; isolation: isolate; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; min-height: 350px; padding: 30px 0 36px; }
.hero::before, .hero::after, .hero-glow { display: none; }
.hero-copy { position: relative; width: 57%; z-index: 2; animation: vyx-reveal var(--motion-enter) var(--ease-out) both; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; line-height: 1.5; letter-spacing: .02em; }
.eyebrow-halo { width: 22px; height: 9px; border: 1.5px solid var(--accent); border-radius: 50%; transform: rotate(-18deg); flex-shrink: 0; }
.hero h1 { font: 550 clamp(38px, 3.7vw, 52px)/1.13 var(--font-ui); letter-spacing: -2px; margin: 24px 0 20px; color: var(--ink); text-shadow: none; }
.hero h1 em { font-style: normal; font-weight: inherit; color: var(--accent-light); }
.hero p { max-width: 420px; font-size: 16px; line-height: 1.75; color: var(--muted); margin: 0; text-shadow: none; }
.hero-visual { position: absolute; z-index: 0; inset: -12px -40px -16px 32%; overflow: hidden; pointer-events: none; mask-image: linear-gradient(90deg, transparent, #000 25%, #000 85%, transparent); }
.hero-portrait { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 34% center; opacity: .92; mask-image: linear-gradient(180deg, transparent, #000 20%, #000 68%, transparent); animation: vyx-art-reveal 1000ms var(--ease-out) both, vyx-art-drift 20s ease-in-out 1000ms infinite alternate; }
.hero-mark { position: absolute; right: 22px; bottom: 22px; font-size: 11px; color: var(--quiet); letter-spacing: .03em; }
.welcome-intro { display: flex; align-items: center; gap: 16px; margin: 22px 0 6px; }
.welcome-intro h2 { font-size: 18px; font-weight: 500; letter-spacing: -.3px; margin: 0 0 5px; color: var(--ink); }
.welcome-intro p { font-size: 13px; color: var(--quiet); margin: 0; }
.suggestions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; row-gap: 0; margin-top: 12px; }
.suggestion { min-width: 0; min-height: 82px; padding: 16px 12px; margin: 0 -12px; gap: 14px; border: 0; border-radius: 14px; background: transparent; box-shadow: none; animation: vyx-reveal var(--motion-enter) var(--ease-out) both; }
.suggestion:nth-child(1) { animation-delay: 90ms; }
.suggestion:nth-child(2) { animation-delay: 150ms; }
.suggestion:nth-child(3) { animation-delay: 210ms; }
.suggestion:nth-child(4) { animation-delay: 270ms; }
.suggestion>.icon { width: 21px; height: 21px; padding: 0; box-sizing: content-box; border-radius: 0; background: transparent; color: var(--accent); }
.suggestion:nth-child(n)>.icon { background: transparent; color: var(--accent); }
.suggestion:nth-child(even)>.icon { color: var(--appearance-secondary, var(--accent-light)); }
.suggestion strong { font-size: 15px; font-weight: 500; color: var(--ink); }
.suggestion small { font-size: 13px; line-height: 1.55; color: var(--muted); }
.suggestion-arrow { display: block; margin-left: auto; color: var(--quiet); font-size: 18px; opacity: .45; transition: transform var(--motion-control) var(--ease-out), opacity var(--motion-control); }
.suggestion:hover:not(:disabled) { background: color-mix(in srgb, var(--accent) 7%, var(--bg)); transform: none; }
.suggestion:hover:not(:disabled) .suggestion-arrow { transform: translate(3px, -3px); opacity: 1; }
.suggestion:disabled { opacity: .7; }
.access-panel { display: flex; align-items: center; margin: 0 0 4px; padding: 10px 0 22px; border: 0; border-radius: 0; background: transparent; gap: 14px; }
.access-symbol { display: none; }
.access-panel>div:last-child { flex: 1; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; align-items: center; }
.access-panel h2 { grid-column: 1; font-size: 14px; font-weight: 500; margin-bottom: 4px; }
.access-panel p { grid-column: 1; font-size: 13px; line-height: 1.6; max-width: 520px; color: var(--quiet); }
.access-panel .primary-button, .access-panel .text-button { grid-column: 2; grid-row: 1/3; margin-top: 0; }
.primary-button, .secondary-button { min-height: 44px; padding: 11px 17px; border-radius: 13px; font-size: 14px; font-weight: 500; }
.primary-button { box-shadow: none; }
.secondary-button { border-color: transparent; background: color-mix(in srgb, var(--accent) 9%, var(--panel)); }
.composer-dock { padding: 14px 40px 18px; }
.composer-column { max-width: 1000px; }
.compose { border: 1px solid transparent; border-radius: 22px; padding: 16px; background: color-mix(in srgb, var(--accent) 6%, var(--panel)); box-shadow: none; transition: background var(--motion-control), border-color var(--motion-control); }
.compose:focus-within { border-color: color-mix(in srgb, var(--accent) 46%, transparent); background: color-mix(in srgb, var(--accent) 8%, var(--panel)); box-shadow: none; }
.compose[data-disabled=true] { border-color: transparent; }
.compose textarea { min-height: 56px; font-size: 16px; padding: 3px 6px 16px; }
.compose textarea::placeholder { color: var(--muted); }
.composer-power { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin: 0 6px 12px; font-size: 12px; color: var(--muted); }
.composer-power label { font-weight: 600; color: var(--ink); }
.composer-power select { min-height: 36px; max-width: 100%; padding: 5px 28px 5px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); color: var(--ink); font: inherit; cursor: pointer; }
.composer-power select:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.composer-power select:disabled { cursor: default; opacity: .55; }
.composer-power #power-hint { flex: 1 1 220px; line-height: 1.5; }
.composer-tools>.icon-button { width: 42px; height: 42px; color: var(--muted); }
.search-toggle { min-height: 40px; padding: 6px 10px; border-radius: 11px; font-size: 12px; color: var(--muted); }
.search-toggle[aria-pressed=true] { background: color-mix(in srgb, var(--accent) 17%, var(--panel)); border-color: transparent; color: var(--accent-light); }
.toolbar-divider { background: var(--line); }
.send-button { width: 42px; height: 42px; border-radius: 50%; color: var(--bg); box-shadow: none; transition: transform var(--motion-control) var(--ease-out), background var(--motion-control); }
.send-button:hover:not(:disabled) { transform: translateY(-2px); filter: none; }
.send-button:disabled { opacity: .4; }
.composer-footer { font-size: 11px; color: var(--quiet); padding: 11px 6px 0; gap: 16px; }
.composer-love { display: none; }
.message { margin-bottom: 30px; }
.message-header strong { font-size: 14px; font-weight: 500; }
.message-time, .message-tokens, .message-tools .text-button { font-size: 12px; }
.message-body { font-size: 16px; line-height: 1.8; color: var(--ink); }
.message.user .message-body { border: 0; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); border-radius: 4px 20px 20px; }
.message.assistant .message-body { border: 0; padding-left: 0; }
.assistant-avatar { border: 0; border-radius: 50%; }
.thinking strong { font-size: 14px; }
.thinking-line, .char-count { font-size: 12px; }
.dialog { border: 1px solid color-mix(in srgb, var(--line) 60%, transparent); border-radius: 24px; padding: 28px; background: var(--panel); box-shadow: none; animation: vyx-dialog-in 300ms var(--ease-out) both; }
.dialog::backdrop { background: #08060bc2; backdrop-filter: none; animation: vyx-backdrop-in 250ms ease both; }
.dialog h2 { font-size: 24px; font-weight: 550; letter-spacing: -.5px; }
.dialog p, .dialog label { font-size: 14px; }
.dialog input, .dialog textarea, .dialog select { font-size: 16px; border-radius: 12px; }
.dialog input[type=text], .dialog input[type=url], .dialog select { min-height: 44px; }
.personality-portrait { border: 0; border-radius: 50%; box-shadow: none; }
.personality-dialog .personality-switch { border: 0; border-radius: 16px; background: color-mix(in srgb, var(--accent) 7%, var(--panel)); }
.personality-section+.personality-section { border: 0; padding-top: 8px; }
.personality-dialog .personality-privacy { border: 0; padding: 12px 0; background: transparent; }
.personality-dialog input[type=text], .personality-dialog textarea, .personality-dialog select { border-color: color-mix(in srgb, var(--line) 85%, transparent); background: var(--bg); }
.personality-dialog textarea:focus, .personality-dialog select:focus { border-color: var(--accent); box-shadow: none; }
.icon-button { border-radius: 12px; }
:is(.icon-button,.new-chat,.primary-button,.secondary-button,.suggestion,.personalize-button,.history-item,.search-toggle) { transition: background var(--motion-control) var(--ease-ui), color var(--motion-control), transform var(--motion-control) var(--ease-out); }
:is(.primary-button,.secondary-button,.icon-button,.new-chat,.send-button):active:not(:disabled) { transform: scale(.96); }
body.page-hidden *, body.page-hidden *::before, body.page-hidden *::after { animation-play-state: paused !important; }
html[data-motion=lively] { --motion-enter: 760ms; --motion-control: 280ms; }
html[data-motion=lively] .hero-portrait { animation: vyx-art-reveal 1000ms var(--ease-out) both, vyx-art-drift 14s ease-in-out 1000ms infinite alternate; }
@keyframes vyx-reveal { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes vyx-art-reveal { from { opacity: 0; transform: translateX(12px) scale(1.015); } to { opacity: .92; transform: translateX(0) scale(1); } }
@keyframes vyx-art-drift { from { transform: translateY(0) scale(1); } to { transform: translateY(-5px) scale(1.025); } }
@keyframes vyx-dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes vyx-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@media (max-width:1100px) {
  :root { --sidebar-width: 254px; }
  .sidebar { padding-left: 14px; padding-right: 14px; }
  .new-chat kbd { display: none; }
  .topbar { padding: 0 26px; }
  .content-column { padding: 14px 28px 24px; }
  .hero { min-height: 330px; }
  .hero h1 { font-size: 42px; }
  .hero p { font-size: 15px; }
  .hero-visual { right: -28px; left: 30%; }
  .composer-dock { padding-left: 28px; padding-right: 28px; }
  .topbar-right { gap: 8px; }
}
@media (max-width:760px) {
  :root { --sidebar-width: min(300px, 88vw); }
  .sidebar { position: fixed; padding: 25px 18px max(18px, env(safe-area-inset-bottom)); background: var(--panel); border-radius: 0 24px 24px 0; box-shadow: none; transition: transform 350ms var(--ease-out); }
  .sidebar-brand .mobile-only { top: 0; }
  .sidebar-shade { backdrop-filter: none; background: #08060b99; animation: vyx-backdrop-in 250ms ease both; }
  .topbar { min-height: 68px; padding: 0 18px; gap: 8px; }
  .topbar-heading strong { max-width: 100%; font-size: 14px; }
  .topbar-heading>span { font-size: 11px; }
  .topbar-right { flex-shrink: 1; gap: 6px; }
  .model-picker summary { font-size: 12px; padding: 8px; gap: 5px; }
  .model-picker summary #selected-model-name { max-width: 125px; }
  .content-column { padding: 12px 24px 22px; }
  .hero { min-height: 310px; padding: 28px 0; }
  .hero-copy { width: 60%; }
  .hero h1 { font-size: clamp(34px, 6vw, 44px); letter-spacing: -1.5px; margin: 20px 0 16px; }
  .hero p { font-size: 15px; }
  .hero-visual { inset: 0 -24px 0 30%; opacity: .72; }
  .hero-portrait { object-position: 32% center; }
  .hero-mark { display: none; }
  .eyebrow { font-size: 11px; gap: 7px; }
  .welcome-intro { margin: 20px 0 8px; }
  .welcome-intro h2 { font-size: 18px; }
  .suggestions { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 16px; }
  .suggestion { flex-direction: row; align-items: center; padding: 14px 10px; margin: 0 -10px; min-height: 80px; gap: 10px; }
  .suggestion>.icon { width: 19px; height: 19px; padding: 0; margin: 0; }
  .suggestion strong { font-size: 14px; }
  .suggestion small { font-size: 12px; }
  .suggestion-arrow { display: none; }
  .access-panel { padding: 4px 0 14px; }
  .access-panel>div:last-child { column-gap: 14px; }
  .access-panel p { font-size: 12px; }
  .composer-dock { padding: 10px 20px max(14px, env(safe-area-inset-bottom)); }
  .compose { padding: 13px; border-radius: 20px; }
  .compose textarea { min-height: 54px; font-size: 16px; }
  .composer-toolbar { align-items: flex-end; }
  .composer-tools { flex-wrap: wrap; min-width: 0; gap: 0; }
  .icon-button, .history-delete { min-width: 44px; min-height: 44px; }
  .composer-tools>.icon-button, .send-button { width: 44px; height: 44px; }
  .search-toggle { min-height: 44px; }
  .dialog { padding: 24px; }
}
@media (max-width:430px) {
  .topbar { padding: 0 12px; gap: 4px; }
  .topbar #workspace-top-open { display: none; }
  .model-picker summary #selected-model-name { max-width: 76px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .content-column { padding: 10px 22px 24px; }
  .hero { display: block; min-height: 410px; padding-top: 185px; padding-bottom: 10px; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: 38px; letter-spacing: -1.6px; margin: 15px 0 14px; }
  .hero p { max-width: 300px; font-size: 14px; line-height: 1.7; }
  .hero-visual { inset: -15px -22px auto; height: 260px; opacity: 1; mask-image: linear-gradient(90deg, transparent, #000 15%, #000 90%, transparent); }
  .hero-portrait { object-position: 18% 36%; mask-image: linear-gradient(180deg, transparent, #000 18%, #000 48%, transparent 95%); }
  .eyebrow { font-size: 11px; }
  .eyebrow-halo { width: 18px; height: 7px; }
  .welcome-intro { margin-top: 26px; }
  .welcome-intro p { font-size: 13px; }
  .suggestions { grid-template-columns: 1fr; }
  .suggestion { min-height: 72px; padding: 14px 10px; gap: 14px; }
  .suggestion strong { font-size: 14px; }
  .suggestion small { font-size: 13px; }
  .suggestion-arrow { display: block; }
  .access-panel { margin-bottom: 0; padding-bottom: 8px; }
  .access-panel>div:last-child { display: block; }
  .access-panel h2 { display: none; }
  .access-panel p { font-size: 12px; line-height: 1.5; }
  .access-panel .primary-button, .access-panel .text-button { margin-top: 10px; }
  .access-panel .primary-button { min-height: 42px; padding: 9px 14px; font-size: 13px; }
  .composer-dock { padding-left: 14px; padding-right: 14px; }
  .compose { padding: 12px 10px; }
  .composer-footer { font-size: 11px; text-align: center; }
  .search-toggle { font-size: 12px; padding: 6px; }
  .toolbar-divider { margin: 0 3px; }
  .char-count { position: absolute; right: 15px; top: -23px; font-size: 11px; }
}
@media (max-height:800px) and (min-width:761px) {
  .sidebar { padding-top: 20px; }
  .sidebar-brand { padding-bottom: 22px; }
  .sidebar-bottom { padding-top: 16px; }
  .content-column { padding-top: 6px; }
  .hero { min-height: 280px; padding-top: 22px; padding-bottom: 24px; }
  .hero h1 { font-size: 42px; margin: 18px 0; }
  .hero p { font-size: 14px; }
  .suggestion { min-height: 72px; }
  .welcome-intro { margin-top: 16px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
html[data-motion=off] *, html[data-motion=off] *::before, html[data-motion=off] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.html-preview { display: block; width: 100%; height: 420px; max-height: 70vh; border: 0; background: #fff; color-scheme: light; }
.code-block pre[hidden] { display: none; }
.code-toolbar { gap: 12px; flex-wrap: wrap; }
.code-toolbar>span:first-child { margin-right: auto; }

@supports (transition-behavior: allow-discrete) {
  html body dialog[aria-labelledby] {
    opacity: 0;
    transform: translateY(12px) scale(.988);
    transition: opacity 220ms ease, transform 300ms var(--ease-out), display 300ms allow-discrete, overlay 300ms allow-discrete;
    animation: none;
  }
  html body dialog[aria-labelledby][open] { opacity: 1; transform: none; animation: none; }
  html body dialog[aria-labelledby]::backdrop {
    background: transparent;
    transition: background 260ms ease, display 300ms allow-discrete, overlay 300ms allow-discrete;
    animation: none;
  }
  html body dialog[aria-labelledby][open]::backdrop { background: #08060bc2; }
  @starting-style {
    html body dialog[aria-labelledby][open] { opacity: 0; transform: translateY(12px) scale(.988); }
    html body dialog[aria-labelledby][open]::backdrop { background: transparent; }
  }
}

.account-avatar,.user-avatar{overflow:hidden}
.account-avatar img,.user-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}

:root { --sidebar-width: 248px; }
.sidebar { padding: 20px 16px 14px; }
.sidebar-brand { padding: 4px 8px 24px; }
.brand-lockup { gap: 14px; border-radius: 12px; }
.brand-lockup:focus-visible { outline: 2px solid var(--accent-light); outline-offset: 6px; }
.brand-icon { width: 52px; height: 52px; border: 1px solid var(--line); background: var(--panel); }
.brand-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.brand-lockup .wordmark { font-size: 30px; font-weight: 650; letter-spacing: -1.2px; }
.brand-caption { width: auto; padding: 0; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; letter-spacing: .01em; }
.new-chat { min-height: 40px; padding: 8px 11px; }
.history-search { margin: 10px 0 16px; min-height: 38px; padding: 7px 10px; }
.history-select { min-height: 38px; padding: 8px 10px; }
.sidebar-bottom { padding-top: 18px; }
#web-tools-actions .roblox-launch, .personalize-button { min-height: 46px; padding: 7px 10px; }
#web-tools-actions .roblox-launch > :is(.icon, .vd-icon) { width: 21px; height: 21px; padding: 0; box-sizing: content-box; flex-shrink: 0; border: 0; border-radius: 0; background: transparent; color: var(--accent); }
.account { padding-top: 12px; }
.topbar { min-height: 62px; padding: 0 28px; }
.content-column { padding: 12px 30px 20px; }
.hero { min-height: 280px; padding: 22px 0 26px; }
.hero h1 { font-size: clamp(32px, 3vw, 44px); margin: 18px 0 14px; letter-spacing: -1.4px; }
.hero p { font-size: 14px; line-height: 1.7; }
.welcome-intro { margin-top: 16px; }
.welcome-intro h2 { font-size: 16px; }
.suggestion { min-height: 66px; padding: 11px 12px; gap: 11px; }
.suggestion strong { font-size: 14px; }
.composer-dock { padding: 10px 30px 12px; }
.compose { padding: 12px; border-radius: 18px; }
.compose textarea { min-height: 44px; font-size: 14px; padding-bottom: 10px; }
.composer-footer { padding-top: 8px; }
.message-body { font-size: 14px; line-height: 1.75; }
.dialog { padding: 22px; border-radius: 20px; }
.dialog h2 { font-size: 21px; }
@media (max-width:760px) {
  .sidebar { padding: 20px 16px max(16px, env(safe-area-inset-bottom)); }
  .topbar { min-height: 58px; padding: 0 12px; }
  .content-column { padding: 10px 20px 18px; }
  .hero { min-height: 260px; padding: 20px 0; }
  .hero h1 { font-size: clamp(30px, 6vw, 38px); }
  .suggestion { min-height: 64px; }
  .composer-dock { padding: 8px 16px max(12px, env(safe-area-inset-bottom)); }
  .compose textarea { font-size: 16px; }
}

.compose{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.compose:focus-within{background:var(--panel);border-color:var(--accent)}
.compose textarea{min-height:52px;padding:3px 4px 14px;font-size:14px;line-height:1.6}
.composer-toolbar{gap:8px;align-items:center;flex-wrap:wrap}
.composer-tools{gap:4px;flex-wrap:wrap;min-width:0}
.composer-tools>.icon-button{width:34px;height:34px;border-radius:8px}
.composer-tools>.search-toggle{min-height:34px;padding:6px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:12px}
.composer-tools>.search-toggle:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,var(--panel));color:var(--ink)}
.composer-tools>.search-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 24%,var(--line));color:var(--ink)}
.composer-tools .toolbar-divider{height:16px;margin:0 4px}
.composer-end{margin-left:auto;gap:10px;flex-shrink:0}
.composer-power{margin:0;gap:6px;flex-wrap:nowrap;padding:0 8px;border:1px solid var(--line);border-radius:8px;min-height:34px}
.composer-power label{font-size:11px;font-weight:500;color:var(--muted)}
.composer-power select{min-height:32px;width:auto;padding:4px 2px;border:0;background:transparent;font-size:12px;color:var(--ink)}
.composer-power #power-hint{flex:none}
.send-button{width:34px;height:34px;border-radius:10px}
.send-button .icon{width:18px;height:18px}
.composer-footer{padding:7px 4px 0;font-size:11px;line-height:1.5}
@media(max-width:600px){
 .compose{padding:10px;border-radius:14px}
 .composer-toolbar{gap:8px}
 .composer-tools{gap:2px}
 .composer-tools>.icon-button,.composer-tools>.search-toggle{min-height:40px}
 .composer-tools>.icon-button{width:36px}
 .composer-tools>.search-toggle{padding:6px}
 .composer-power{min-height:40px}
 .composer-power select{min-height:38px}
 .send-button{width:40px;height:40px}
 .composer-end{gap:8px}
 .compose textarea{font-size:16px}
}

.composer-power{position:relative}
.composer-power select[hidden]{display:none}
.power-picker{display:flex;align-items:center;gap:12px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;min-height:32px;padding:4px 2px;cursor:pointer}
.power-picker::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin:0 3px 3px 0}
.power-picker[aria-expanded=true]::after{transform:rotate(225deg);margin-top:5px}
.power-picker:disabled{opacity:.5;cursor:default}
.power-menu{position:absolute;bottom:calc(100% + 8px);right:0;z-index:20;width:164px;max-width:calc(100vw - 40px);padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
.power-menu[hidden]{display:none}
.power-menu>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.power-menu>button[aria-checked=true]{background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--ink)}
.power-menu>button[aria-checked=true]::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}
.power-menu>button:hover,.power-menu>button:focus-visible{background:color-mix(in srgb,var(--ink) 9%,var(--panel));outline:2px solid var(--accent);outline-offset:-2px}
.power-picker:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
@media(max-width:600px){.power-picker{min-height:38px}.power-menu>button{min-height:44px}}

.sidebar-brand { flex-wrap: nowrap; gap: 8px; }
#sidebar-close { flex-shrink: 0; margin-left: auto; }
@media (min-width: 761px) {
  #sidebar-open { display: none; }
  .sidebar-collapsed .sidebar { display: none; }
  .sidebar-collapsed #sidebar-open { display: inline-flex; }
}
@media (max-width: 760px) {
  #sidebar-close { position: absolute; right: 0; top: 0; }
}

.history-heading{align-items:center;gap:4px;padding:0 4px 8px}
#history-toggle{display:flex;align-items:center;gap:6px;flex:1;min-width:0;min-height:36px;padding:0 4px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
#history-toggle .icon{width:14px;height:14px;flex-shrink:0}
#history-count{margin-left:auto}
#history-clear{width:32px;height:36px;flex-shrink:0}
#history-clear .icon{width:15px;height:15px}
.history-collapsed #history-toggle .icon{transform:rotate(-90deg)}
.history-collapsed #history-list,.history-collapsed #history-empty{display:none!important}

#web-tools-actions{display:grid;gap:5px;max-height:none;overflow:visible;margin-bottom:12px;overscroll-behavior:auto}
.tool-section{min-width:0;border-bottom:1px solid var(--line);padding-bottom:5px}
.tool-section:not(:has(.tool-section-items>button:not([hidden]))){display:none}
.tool-section>summary{display:flex;align-items:center;justify-content:space-between;min-height:36px;padding:4px 10px;color:var(--quiet);font-size:12px;font-weight:600;cursor:pointer;list-style:none;border-radius:8px}
.tool-section>summary::-webkit-details-marker{display:none}
.tool-section>summary:hover{background:var(--panel);color:var(--ink)}
.tool-section>summary>.icon{width:14px;height:14px;transform:rotate(-90deg)}
.tool-section[open]>summary>.icon{transform:none}
.tool-section-items{display:grid;gap:2px;padding-bottom:4px}
#web-tools-actions .tool-section-items>button{width:100%;min-height:48px;text-align:left;border:0;border-radius:10px;background:transparent;padding:8px 10px;box-shadow:none}
#web-tools-actions .tool-section-items>button:hover{background:var(--panel)}
#web-tools-actions .roblox-launch-copy{min-width:0}
#web-tools-actions .roblox-launch-copy strong{font-size:13px;line-height:1.4}
#web-tools-actions .roblox-launch-copy small{font-size:11px;line-height:1.4}
#web-tools-actions .roblox-love{display:none}
#web-tools-actions .workspace-launch>.icon{width:21px;height:21px;padding:0;border-radius:0;background:transparent}
.tool-section>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.settings-menu{margin:8px 0 14px;border-top:1px solid var(--line);padding-top:8px}
.settings-menu>summary,.usage-menu>summary{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border-radius:8px;color:var(--ink);font-size:13px;cursor:pointer;list-style:none}
.settings-menu>summary::-webkit-details-marker,.usage-menu>summary::-webkit-details-marker{display:none}
.settings-menu>summary:hover,.usage-menu>summary:hover{background:var(--panel)}
.settings-menu>summary>.icon{width:18px;height:18px;color:var(--muted)}
.settings-chevron{margin-left:auto;transform:rotate(-90deg)}
.settings-menu[open] .settings-chevron{transform:none}
.settings-items{display:grid;gap:2px;padding:4px 0 4px 18px}
.settings-items #personalize,.settings-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin:0;padding:8px 10px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--ink)}
.settings-items .personalize-icon{display:none}
.settings-item>span{display:grid;gap:2px}
.settings-items strong{font-size:13px;font-weight:500}
.settings-items small{font-size:11px;color:var(--quiet)}
.settings-item>.icon{width:14px;height:14px;transform:rotate(-90deg);color:var(--quiet)}
.settings-item:hover{background:var(--panel)}
.usage-menu{position:relative}
.usage-menu>summary{gap:6px;min-height:36px;border:1px solid var(--line);padding:6px 10px;font-size:12px}
.usage-menu>summary>.icon{width:13px;height:13px}
.usage-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:min(280px,calc(100vw - 24px));padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 12px 32px #0004}
.usage-panel>strong{font-size:13px;font-weight:600;color:var(--ink)}
.usage-panel .usage-line{margin-top:14px;flex-wrap:wrap;gap:8px}
.usage-panel .billing-launch{border-top:1px solid var(--line);border-radius:0;margin-top:16px;padding:14px 0 0;background:transparent}
.settings-menu>summary:focus-visible,.settings-item:focus-visible,.usage-menu>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:600px){.usage-menu>summary{min-height:40px}.usage-panel{position:fixed;top:64px;right:12px}.settings-items #personalize,.settings-item{min-height:48px}}

.roblox-launch{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left;min-height:48px;border:0;border-radius:12px;background:transparent;transition:background 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}
.roblox-launch:hover:not(:disabled){transform:none;border-color:var(--tone-c68db978, #c68db978);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
.roblox-launch>.icon{color:var(--tone-d5a2de, #d5a2de);width:19px;height:19px}.roblox-launch-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.roblox-launch-copy strong{font-size:13px;font-weight:500;color:var(--tone-edd2e2, #edd2e2)}.roblox-launch-copy small{font-size:12px;color:var(--tone-b998ad, #b998ad)}.roblox-love{margin-left:auto;font:14px Consolas,monospace;letter-spacing:-1px;color:var(--tone-d8a0c0, #d8a0c0);display:none}
.roblox-dialog{width:min(980px,calc(100vw - 40px));max-width:980px;max-height:calc(100dvh - 48px);padding:27px;background:var(--panel);border:1px solid var(--tone-be87aa61, #be87aa61);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--tone-815274, #815274) transparent;border-radius:18px;border-color:color-mix(in srgb,var(--accent) 18%,transparent);}
.roblox-heading{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;margin-bottom:21px}.roblox-identity{display:flex;align-items:center;gap:15px;min-width:0}.roblox-avatar{display:block;flex-shrink:0;width:51px;height:51px;overflow:hidden;box-shadow:none;border:0;border-radius:16px;}.roblox-avatar img{width:100%;height:100%;object-fit:cover;transform:scale(3.4);transform-origin:54% 12%}.roblox-dialog h2{font-weight:600;letter-spacing:-.6px;font-size:23px;margin:0 0 5px;color:var(--tone-f7e0ef, #f7e0ef)}.roblox-heading p{margin:0;color:var(--tone-c0a3b7, #c0a3b7);font-size:14px;line-height:1.6}.roblox-close{font-size:25px;line-height:1;flex-shrink:0;min-width:40px;min-height:40px}.roblox-access{border:1px solid var(--tone-b180ad4d, #b180ad4d);border-radius:11px;background:var(--tone-5a344d40, #5a344d40);padding:12px 14px;font-size:14px;color:var(--tone-e4bfd5, #e4bfd5);line-height:1.7}
.roblox-tabs{display:flex;width:fit-content;gap:4px;margin:0 0 17px;border:0;border-radius:14px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));padding:5px;}.roblox-tab{font-size:14px;color:var(--tone-b798ac, #b798ac);background:transparent;padding:10px 18px;min-height:42px;border-radius:10px;transition:background 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1);}.roblox-tab[aria-selected=true]{background:color-mix(in srgb,var(--accent) 17%,var(--panel));box-shadow:none;color:var(--tone-ffe0f1, #ffe0f1)}.roblox-tab:hover:not(:disabled){color:var(--tone-ffdbef, #ffdbef)}
.roblox-input-panel{margin-bottom:15px;display:flex;align-items:flex-start;flex-direction:column;border-color:var(--line);border:0;border-radius:0;background:transparent;padding:3px 0 8px;gap:16px;}.roblox-dialog .roblox-file-label{display:flex;flex-direction:column;align-items:center;width:100%;gap:7px;text-align:center;color:var(--tone-dfb9d0, #dfb9d0);cursor:pointer;border:1px dashed var(--tone-ae769b65, #ae769b65);padding:23px 14px;border-color:color-mix(in srgb,var(--accent) 27%,transparent);border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--panel));transition:background 180ms cubic-bezier(.2,.7,.2,1),border-color 180ms cubic-bezier(.2,.7,.2,1);}.roblox-dialog .roblox-file-label>.icon{width:29px;height:29px;color:var(--tone-d9a1d4, #d9a1d4);margin-bottom:4px}.roblox-dialog .roblox-file-label strong{font-weight:500;font-size:15px}.roblox-dialog .roblox-file-label span{font-size:13px;color:var(--tone-b393a9, #b393a9)}.roblox-file{width:100%;max-width:100%;font-size:14px;color:var(--tone-cbb0c2, #cbb0c2)}.roblox-file::file-selector-button{font:inherit;color:var(--tone-ecd2e3, #ecd2e3);border:1px solid var(--tone-b17a9d5c, #b17a9d5c);background:var(--tone-593448, #593448);border-radius:8px;padding:8px 11px;margin-right:12px;cursor:pointer}.roblox-asset-fields{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:13px;width:100%}.roblox-field{min-width:0;display:flex;flex-direction:column;gap:7px}.roblox-field label{font-size:14px;color:var(--tone-dab8cd, #dab8cd)}.roblox-field input{width:100%;min-width:0;background:var(--bg);border:1px solid var(--tone-8d5b7b70, #8d5b7b70);border-radius:9px;padding:11px 13px;color:var(--tone-f4dcea, #f4dcea);min-height:44px}.roblox-field input:focus{border-color:var(--tone-d397bd, #d397bd)}.roblox-field input::placeholder{color:var(--tone-8d7085, #8d7085)}.roblox-hint{font-size:13px!important;margin:0!important;color:var(--tone-b697ab, #b697ab)!important;line-height:1.6}.roblox-error{margin:13px 0}.roblox-progress{display:flex;align-items:center;gap:12px;background:var(--tone-643c6633, #643c6633);margin:14px 0;color:var(--tone-e2bdd9, #e2bdd9);font-size:14px;border:0;border-radius:14px;padding:15px 16px;}.roblox-spinner{width:19px;height:19px;border:2px solid var(--tone-bb8aba44, #bb8aba44);border-top-color:var(--tone-f0bbe5, #f0bbe5);border-radius:50%;animation:roblox-spin 1s linear infinite;flex-shrink:0}.roblox-footer{font-size:12px!important;line-height:1.7;color:var(--tone-a4869b, #a4869b)!important;margin:18px 0 0!important}
.roblox-result{border-top:1px solid var(--tone-ad6e963e, #ad6e963e);padding-top:22px;animation:roblox-arrive .3s ease-out}.roblox-result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.roblox-result h3{font-size:19px;line-height:1.4;letter-spacing:-.3px;font-weight:500;overflow-wrap:anywhere;margin:0;color:var(--tone-f9ddeb, #f9ddeb)}.roblox-risk{padding:6px 10px;flex-shrink:0;border-radius:7px;background:var(--tone-4643435c, #4643435c);border:1px solid var(--tone-a3ae9f45, #a3ae9f45);color:var(--tone-ccd1c3, #ccd1c3);font-size:13px;text-transform:capitalize;white-space:nowrap}.roblox-risk[data-level=suspicious]{background:var(--tone-7968393d, #7968393d);border-color:var(--tone-c7a85b53, #c7a85b53);color:var(--tone-e2c882, #e2c882)}.roblox-risk[data-level=high],.roblox-risk[data-level=critical]{background:var(--tone-9c40503b, #9c40503b);border-color:var(--tone-dc839366, #dc839366);color:var(--tone-f5a4b1, #f5a4b1)}.roblox-risk[data-level=unknown]{color:var(--tone-b5a9c0, #b5a9c0);border-color:var(--tone-9a7faa3e, #9a7faa3e);background:var(--tone-68457438, #68457438)}.roblox-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;gap:0;padding:8px 0;border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--panel));}.roblox-stats>div{display:flex;flex-direction:column;gap:3px;border:0;border-radius:0;background:transparent;padding:10px 15px;}.roblox-stats strong{font-size:16px;color:var(--tone-ecd0e2, #ecd0e2);font-weight:500;overflow-wrap:anywhere}.roblox-stats span{font-size:12px;color:var(--tone-af8ea6, #af8ea6)}.roblox-scan-note{font-size:13px!important;line-height:1.7!important;color:var(--tone-bfa1b6, #bfa1b6)!important;margin:12px 0!important}.roblox-truncated{border-left:2px solid var(--tone-cbab63, #cbab63);padding:7px 12px;background:var(--tone-78663926, #78663926);color:var(--tone-d4c092, #d4c092)!important;font-size:13px!important;line-height:1.6!important}.roblox-labels{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.roblox-labels>span{padding:5px 9px;background:var(--tone-68314742, #68314742);font-size:12px;color:var(--tone-ecc1d5, #ecc1d5);overflow-wrap:anywhere;border:0;border-radius:8px;}
.roblox-detail{margin:11px 0;overflow:hidden;border:0;border-radius:14px;background:color-mix(in srgb,var(--bg) 45%,var(--panel));}.roblox-detail>summary{padding:12px 14px;cursor:pointer;color:var(--tone-dcbbd2, #dcbbd2);font-size:14px;font-weight:500;overflow-wrap:anywhere}.roblox-detail[open]>summary{background:var(--tone-5a345128, #5a345128);border-bottom:0;}.roblox-tree,.roblox-source{font:14px/1.7 Consolas,"Cascadia Code",monospace;margin:0;padding:17px;color:var(--tone-cdb6d5, #cdb6d5);overflow:auto;max-height:330px;tab-size:4;scrollbar-width:thin;scrollbar-color:var(--tone-64455d, #64455d) transparent;background:var(--tone-100b1452, #100b1452);white-space:pre;overflow-wrap:normal}.roblox-scripts{padding:0 7px;}.roblox-script{border-color:var(--tone-704a663c, #704a663c)}.roblox-script>summary{font-family:Consolas,monospace;font-size:13px;font-weight:400}.roblox-source{max-height:280px;color:var(--tone-d5bdd2, #d5bdd2)}.roblox-findings{max-height:280px;overflow-y:auto;padding:0 14px;scrollbar-width:thin}.roblox-finding{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--tone-77526d35, #77526d35)}.roblox-finding:last-child{border:0}.roblox-finding strong{font-size:13px;color:var(--tone-e7bbd0, #e7bbd0);font-weight:500}.roblox-finding span{font-size:12px;color:var(--tone-aa8fa4, #aa8fa4);overflow-wrap:anywhere}.roblox-finding code{font:14px/1.6 Consolas,monospace;color:var(--tone-cbb8ce, #cbb8ce);white-space:pre-wrap;overflow-wrap:anywhere}.roblox-result-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}.roblox-downloads{display:flex;gap:7px;flex-wrap:wrap}.roblox-downloads a{display:inline-flex;text-decoration:none;font-size:12px;padding:8px 10px;border:1px solid var(--tone-ad739545, #ad739545);color:var(--tone-dbb8ce, #dbb8ce);white-space:nowrap;min-height:40px;align-items:center;border-color:transparent;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));transition:background 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}.roblox-result-actions>.primary-button{font-size:14px;white-space:nowrap}.roblox-expiry{font-size:12px!important;line-height:1.6!important;color:var(--tone-a58a9f, #a58a9f)!important;margin:13px 0 0!important}
@keyframes roblox-spin{to{transform:rotate(360deg)}}@keyframes roblox-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){.roblox-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:18px 15px;border-radius:12px}.roblox-identity{gap:10px}.roblox-avatar{width:39px;height:39px;border-radius:12px}.roblox-dialog h2{font-size:19px}.roblox-heading p{font-size:13px;max-width:220px}.roblox-heading{gap:6px}.roblox-close{width:26px}.roblox-input-panel{padding:14px;gap:13px}.roblox-dialog .roblox-file-label{padding:19px 10px}.roblox-dialog .roblox-file-label strong{font-size:14px}.roblox-asset-fields{grid-template-columns:minmax(0,1fr) 80px;gap:9px}.roblox-field input{padding:10px;font-size:14px}.roblox-field label{font-size:13px}.roblox-result-heading{flex-direction:column;gap:9px}.roblox-result h3{font-size:18px}.roblox-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.roblox-stats>div{padding:10px 12px}.roblox-stats strong{font-size:15px}.roblox-tabs{width:100%}.roblox-tab{flex:1;padding:9px 10px;font-size:13px}.roblox-result-actions{align-items:stretch;flex-direction:column}.roblox-result-actions>.primary-button{justify-content:center}.roblox-tree,.roblox-source{padding:12px;font-size:12px}.roblox-detail>summary{padding:11px;font-size:13px}.roblox-downloads{gap:6px}.roblox-downloads a{padding:7px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.roblox-spinner,.roblox-result{animation:none}.roblox-launch,.roblox-tab{transition:none}}
html.page-inactive .roblox-spinner{animation-play-state:paused}

@media(max-width:640px){.roblox-dialog .roblox-field input{font-size:16px}.roblox-asset-fields{grid-template-columns:minmax(0,1fr) 88px}}
.roblox-dialog[open]{animation:roblox-arrive .28s cubic-bezier(.16,1,.3,1)}
.roblox-detail>summary{transition:background 180ms ease}
@media(hover:hover){.roblox-detail>summary:hover,.roblox-dialog .roblox-file-label:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.roblox-downloads a:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 14%,var(--panel))}}
@media(max-width:640px){.roblox-dialog{border-radius:18px}.roblox-input-panel{padding:3px 0 8px}.roblox-stats{gap:0}}
@media(prefers-reduced-motion:reduce){.roblox-dialog,.roblox-dialog *{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.roblox-dialog,.roblox-dialog *,.roblox-launch){animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.roblox-downloads a{transform:none!important}}
html[data-motion=off] .roblox-downloads a{transform:none!important}
.roblox-dialog{width:min(1240px,calc(100vw - 40px));max-width:1240px}
.roblox-field textarea{width:100%;min-width:0;resize:vertical;max-height:260px;background:var(--bg);border:1px solid var(--tone-8d5b7b70, #8d5b7b70);border-radius:9px;padding:11px 13px;color:var(--tone-f4dcea, #f4dcea);font:inherit;line-height:1.6}
.roblox-field textarea:focus{border-color:var(--tone-d397bd, #d397bd)}
.roblox-field textarea::placeholder{color:var(--tone-8d7085, #8d7085)}
.roblox-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.roblox-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
.roblox-result-card{min-width:0;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel);overflow:hidden}
.roblox-result-card:only-child{grid-column:1/-1}
.roblox-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.roblox-card-label{font-size:13px;font-weight:500;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;min-width:0}
.roblox-remove{flex-shrink:0;font-size:12px;min-height:36px;padding:6px 10px}
.roblox-card-status{font-size:14px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere;margin:8px 0}
.roblox-result-card[data-status=failed]{border-color:var(--tone-dc839366, #dc839366)}
.roblox-result-card[data-status=failed] .roblox-card-status{color:var(--tone-f5a4b1, #f5a4b1)}
.roblox-result-card .roblox-result-heading{flex-wrap:wrap;gap:10px}
.roblox-result-card .roblox-stats>div{padding:10px}
.roblox-card-body{min-width:0}
.roblox-progress,.roblox-hint,.roblox-expiry{overflow-wrap:anywhere}
@media(max-width:900px){.roblox-results-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.roblox-dialog{width:calc(100vw - 20px)}.roblox-result-card{padding:14px}.roblox-field textarea{font-size:16px;padding:10px}.roblox-asset-fields{grid-template-columns:minmax(0,1fr)}.roblox-version{max-width:140px}.roblox-collection-heading{flex-wrap:wrap}.roblox-result-card .roblox-remove{min-height:44px}}

.vd-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid var(--tone-d291bd65, #d291bd65);color:var(--ink);background:var(--panel);box-shadow:none;scrollbar-width:thin;scrollbar-color:var(--tone-8e607e, #8e607e) transparent;overscroll-behavior:contain;font-family:inherit;border-radius:18px;padding:30px;border-color:color-mix(in srgb,var(--accent) 18%,transparent);}
.vd-dialog[open]{animation:vd-open .28s cubic-bezier(.16,1,.3,1);}.vd-dialog::backdrop{background:var(--tone-08050bb8, #08050bb8);backdrop-filter:none;animation:vd-fade .25s ease}
.vd-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}#vd-open>.vd-icon{width:25px;height:25px;padding:6px;box-sizing:content-box;color:var(--tone-edb4d8, #edb4d8);border-color:var(--line);border:0;background:color-mix(in srgb,var(--accent) 9%,transparent);border-radius:12px;}
.vd-heading{display:flex;align-items:center;gap:14px}.vd-heading-copy{flex:1;min-width:0}.vd-heading h2{font-size:26px;font-weight:600;line-height:1.2;letter-spacing:-.4px;margin:6px 0 0;text-wrap:balance}.vd-eyebrow{font-size:12px;letter-spacing:.06em;color:var(--tone-d5a6c6, #d5a6c6)}.vd-portrait{width:54px;height:54px;flex-shrink:0;overflow:hidden;box-shadow:none;border:0;border-radius:16px;}.vd-portrait img{width:100%;height:100%;object-fit:cover;transform:scale(3.4);transform-origin:54% 12%}.vd-close{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;color:var(--tone-ceacc3, #ceacc3);border:0;border-radius:12px;background:transparent;transition:background 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}.vd-close:hover{transform:none;background:var(--tone-bb739622, #bb739622);color:var(--tone-ffdbef, #ffdbef)}
.vd-dialog p{font-size:14px;line-height:1.7;color:var(--tone-d2b7cb, #d2b7cb)}.vd-dialog .vd-intro{margin:15px 0 20px;color:var(--tone-c4a5bc, #c4a5bc)}.vd-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:none;border-color:var(--line);border:0;border-radius:16px;padding:24px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));}.vd-hero::before{content:'';position:absolute;right:-25px;top:-85px;width:210px;height:210px;border:1px solid var(--tone-eed6ff24, #eed6ff24);border-radius:50%;box-shadow:none;z-index:-1;animation:vd-halo 12s ease-in-out infinite;display:none}.vd-hero strong{display:block;font-size:30px;font-weight:600;letter-spacing:-.6px;margin:7px 0;background:none;background-clip:text;-webkit-background-clip:text;color:var(--ink)}.vd-hero p{font-size:13px!important;margin:0}
.vd-waveform{display:none;align-items:center;gap:4px;height:65px;flex-shrink:0;padding:0 7px}.vd-waveform i{display:block;width:4px;height:14px;border-radius:9px;background:var(--panel);opacity:.7;animation:vd-wave 2.4s ease-in-out infinite}.vd-waveform i:nth-child(3n){height:40px;animation-delay:-.8s}.vd-waveform i:nth-child(3n+1){height:24px;animation-delay:-1.4s}.vd-waveform i:nth-child(4n){height:56px;animation-delay:-.3s}.vd-waveform i:nth-child(5n){height:33px;animation-delay:-1.8s}
.vd-platforms{display:flex;flex-wrap:wrap;margin:13px 0 22px;gap:8px 16px;padding:0 3px;}.vd-platforms span{font-size:12px;border-radius:12px;color:var(--tone-c6a6bc, #c6a6bc);border:0;padding:3px 0;background:transparent;}.vd-dialog .vd-status:empty{display:none}.vd-dialog .vd-status{color:var(--tone-efd0e5, #efd0e5);padding:12px 14px;border:1px solid var(--tone-ba80a84a, #ba80a84a);margin:0 0 20px;border-width:0 0 0 2px;border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--accent) 6%,var(--panel));}
.vd-dialog fieldset{border:0;padding:0;min-width:0}.vd-dialog label{display:block;margin:0 0 8px;font-size:13px;color:var(--tone-d5b6cc, #d5b6cc)}.vd-step{display:block;margin-top:24px;font-size:13px;color:var(--tone-d5b6cc, #d5b6cc)}.vd-url-box{position:relative}.vd-url-box>.vd-icon{position:absolute;top:16px;left:14px;color:var(--tone-b48bab, #b48bab);width:18px;height:18px;pointer-events:none}.vd-dialog input,.vd-dialog select{box-sizing:border-box;width:100%;min-width:0;padding:12px 13px;border:1px solid var(--tone-986a886b, #986a886b);border-radius:11px;background:var(--bg);color:var(--tone-f7dfef, #f7dfef);font:inherit;font-size:14px;line-height:1.6;color-scheme:dark;transition:border-color .2s,background .2s;min-height:46px}.vd-dialog #vd-url{padding-left:42px}.vd-dialog input::placeholder{color:var(--tone-967c91, #967c91)}.vd-dialog input:focus,.vd-dialog select:focus{border-color:var(--tone-d997c0, #d997c0);background:var(--bg);box-shadow:none;outline:2px solid var(--accent-light);outline-offset:2px}.vd-options{display:flex;gap:12px;margin-top:13px}.vd-options>div{min-width:0;flex:1}.vd-options>div[hidden]{display:none}.vd-dialog .vd-format-note{font-size:13px;color:var(--tone-ba9bb2, #ba9bb2);margin:10px 0 16px;min-height:19px}.vd-details{border-top:1px solid var(--tone-ae749436, #ae749436);padding-top:13px}.vd-details summary{font-size:13px;color:var(--tone-ba97b0, #ba97b0);cursor:pointer;width:fit-content}.vd-details[open] p{animation:vd-fade .2s ease}
.vd-form-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:21px}.vd-dialog .vd-hint{font-size:12px;color:var(--tone-b99ab0, #b99ab0);line-height:1.7}.vd-dialog .vd-submit{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 21px;background:var(--accent);box-shadow:none;color:var(--bg);font-size:14px;white-space:nowrap;font-weight:600;min-height:44px;border:0;border-radius:14px;transition:background 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}.vd-submit:hover:not(:disabled){box-shadow:none;background:var(--accent-light);transform:translateY(-1px);}.vd-submit:active:not(:disabled){transform:scale(.98);}.vd-submit.is-loading>.vd-icon{animation:vd-loading 1s ease-in-out infinite}.vd-dialog fieldset:disabled{opacity:.58}
.vd-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:24px;margin-top:25px;border-top:1px solid var(--tone-ae749436, #ae749436)}.vd-results-heading h3{font-weight:500;font-size:15px;margin:0;color:var(--tone-f0d5e6, #f0d5e6)}.vd-results{display:grid;gap:12px;margin-top:15px}.vd-empty{text-align:center;border-radius:12px;border:0;background:transparent;padding:26px 16px 18px;}.vd-empty>.vd-icon{width:26px;height:26px;margin-bottom:10px;color:var(--tone-c998c4, #c998c4)}.vd-empty strong{display:block;font-size:14px;font-weight:500;color:var(--tone-d9b7ce, #d9b7ce)}.vd-empty p{font-size:13px;margin:7px 0 0;color:var(--tone-ac8ca3, #ac8ca3)}.vd-result{padding:16px;overflow-wrap:anywhere;animation:vd-arrive .28s ease-out;transition:border-color .2s;border:0;border-left:2px solid var(--line);border-radius:0 14px 14px 0;background:color-mix(in srgb,var(--accent) 4%,var(--panel));}.vd-result-header{display:flex;align-items:center;gap:10px}.vd-file-icon{display:grid;place-items:center;width:35px;height:39px;flex-shrink:0;color:var(--tone-d8a2c5, #d8a2c5);border:0;background:transparent;border-radius:12px;}.vd-result-title{flex:1;min-width:0}.vd-result strong{font-size:14px;font-weight:500}.vd-badge{font-size:12px;flex-shrink:0;color:var(--tone-cbb0de, #cbb0de);background:var(--tone-7957a21c, #7957a21c);border:0;border-radius:8px;padding:5px 9px;}.vd-result[data-status=complete]{border-color:var(--tone-8eae993f, #8eae993f)}.vd-result[data-status=complete] .vd-badge{color:var(--tone-b8d9c4, #b8d9c4);border-color:var(--tone-7cb9963c, #7cb9963c);background:var(--tone-608d7124, #608d7124)}.vd-result[data-status=failed] .vd-badge{color:var(--tone-f0b1bf, #f0b1bf);border-color:var(--tone-cc76893e, #cc76893e);background:var(--tone-a3556922, #a3556922)}
.vd-result[data-status=downloading] .vd-file-icon{animation:vd-loading 2s ease-in-out infinite}.vd-result progress{appearance:none;display:block;width:100%;height:6px;border:none;border-radius:10px;overflow:hidden;background:var(--tone-c28db214, #c28db214);accent-color:var(--tone-ce85b2, #ce85b2)}.vd-result progress::-webkit-progress-bar{background:var(--tone-c28db214, #c28db214)}.vd-result progress::-webkit-progress-value{border-radius:10px;background:var(--accent);transition:width .7s ease}.vd-result progress::-moz-progress-bar{border-radius:10px;background:var(--accent)}.vd-result button,.vd-result a{display:inline-flex;align-items:center;gap:7px;margin:6px 8px 0 0;font-size:13px}.vd-result .secondary-button{max-width:100%;white-space:normal;text-align:left;border-radius:9px}.vd-result .vd-save{color:var(--tone-f2cbe4, #f2cbe4);background:color-mix(in srgb,var(--accent) 12%,var(--panel));text-decoration:none;padding:9px 12px;min-height:40px;border-color:transparent;border-radius:12px;}.vd-save .vd-icon{width:15px;height:15px}.vd-result .vd-match{display:flex;width:100%;padding:12px;margin-bottom:4px;line-height:1.5}.vd-dialog .vd-privacy{padding-top:16px;border-top:1px solid var(--tone-ae749422, #ae749422);margin:20px 0 0;color:var(--tone-a98a9f, #a98a9f)}
@keyframes vd-open{from{opacity:0;transform:translateY(16px) scale(.975)}to{opacity:1;transform:none}}@keyframes vd-fade{from{opacity:0}to{opacity:1}}@keyframes vd-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes vd-wave{0%,100%{transform:scaleY(.6);opacity:.4}50%{transform:scaleY(1);opacity:.85}}@keyframes vd-halo{50%{transform:translate(-8px,8px) scale(1.05)}}@keyframes vd-loading{50%{opacity:.45;transform:translateY(2px)}}
@media(max-width:600px){.vd-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:22px 18px;border-radius:18px}.vd-heading{gap:11px}.vd-heading h2{font-size:22px}.vd-portrait{width:44px;height:44px;border-radius:12px}.vd-eyebrow{font-size:12px}.vd-hero{padding:20px 17px;gap:9px}.vd-hero strong{font-size:26px}.vd-waveform{gap:3px;padding:0}.vd-waveform i{width:3px}.vd-waveform i:nth-child(n+10){display:none}.vd-options{flex-wrap:wrap}.vd-options>div{flex-basis:42%}.vd-dialog input,.vd-dialog select{font-size:16px}.vd-form-actions{align-items:stretch;flex-direction:column}.vd-form-actions>.vd-hint{order:2;text-align:center}.vd-badge{font-size:12px}.vd-result{padding:13px}.vd-dialog .vd-submit{padding:13px 18px}.vd-results-heading>.vd-hint{font-size:12px}}
@media(max-width:360px){.vd-heading h2{font-size:19px}.vd-portrait{width:38px;height:38px}.vd-hero strong{font-size:23px}.vd-waveform{display:none}.vd-result-header{flex-wrap:wrap}.vd-badge{margin-left:45px}.vd-options>div{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.vd-dialog,.vd-dialog::backdrop,.vd-dialog *,.vd-dialog *::before{animation:none!important;transition:none!important}}
html[data-motion=off] .vd-dialog::backdrop,html[data-motion=off] :is(.vd-dialog,.vd-dialog *){animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.vd-submit{transform:none!important}}
html[data-motion=off] .vd-submit{transform:none!important}

.vd-tabs{display:flex;gap:4px;padding:4px;margin:0 0 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.vd-tabs button{flex:1;border:0;border-radius:10px;padding:12px 16px;background:transparent;color:var(--muted);font:inherit;font-size:14px;cursor:pointer}
.vd-tabs button[aria-selected=true]{background:color-mix(in srgb,var(--accent) 13%,var(--panel));color:var(--ink)}
.vd-dialog [hidden]{display:none!important}
.vp-panel{min-width:0}.vp-input-row{display:flex;align-items:stretch;gap:10px}.vp-input-row input{min-width:0;flex:1}
.vd-dialog .vp-load{min-width:118px;white-space:nowrap;border:0;border-radius:12px;background:var(--accent);color:var(--bg);padding:10px 16px;font:inherit;font-size:14px}
.vd-dialog .vp-supported{margin:11px 0 20px}.vp-stage{overflow:hidden;background:#08090c;border:1px solid var(--line);border-radius:18px;color:#f3f0f6}
.vp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 19px}.vp-header strong{font-size:14px;font-weight:500;letter-spacing:.015em}.vp-badge{color:#bab7c2;font-size:11px;padding:5px 9px;border:1px solid #ffffff17;border-radius:7px}
.vp-screen{position:relative;display:grid;place-items:center;min-height:220px;aspect-ratio:16/9;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--accent) 12%,#08090c),#08090c 75%)}
.vp-screen video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;background:#000}.vp-empty{display:flex;align-items:center;flex-direction:column;text-align:center;padding:28px 20px;gap:15px}
.vp-empty strong{font-size:19px;font-weight:500;letter-spacing:-.3px}.vd-dialog .vp-empty p{color:#aba7b5;font-size:13px;margin:0;line-height:1.5}
.vp-mark{display:grid;place-items:center;width:62px;height:62px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;margin-bottom:8px;background:color-mix(in srgb,var(--accent) 8%,transparent)}
.vp-mark::after{content:'';display:block;border-left:15px solid var(--accent);border-top:9px solid transparent;border-bottom:9px solid transparent;transform:translateX(2px)}
.vd-dialog .vp-title{overflow-wrap:anywhere;font-size:13px;line-height:1.5;color:#c9c5d0;padding:14px 19px;margin:0;border-top:1px solid #ffffff0c}
.vp-controls{border-top:1px solid #ffffff0c;padding:12px 16px 16px}.vp-timeline{display:flex;align-items:center;gap:12px}.vp-time{font-size:11px;font-variant-numeric:tabular-nums;color:#bcb7c6;white-space:nowrap}
.vd-dialog input:is(.vp-seek,.vp-volume){appearance:auto;min-height:24px;height:24px;padding:0;border:0;box-shadow:none;background:transparent;accent-color:var(--accent);cursor:pointer;border-radius:0}
.vd-dialog .vp-seek{flex:1;min-width:0}.vd-dialog .vp-volume{width:65px}.vp-transport{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:10px}.vp-sound,.vp-extras{display:flex;align-items:center;gap:5px}.vp-extras{margin-left:auto}
.vp-button{border:0;border-radius:8px;color:#ddd7e6;background:#ffffff09;min-height:36px;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.vp-button:hover{background:#ffffff16}.vp-button[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent-light)}.vp-button:disabled{opacity:.5;cursor:default}
.vd-dialog .vp-speed{width:66px;min-height:36px;padding:7px;border:0;border-radius:8px;font-size:12px;background:#18171d;color:#ddd7e6}.vd-dialog :is(.vp-button,.vd-tabs button,.vp-load):focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}
.vd-dialog .vp-status{font-size:13px;color:var(--ink);margin:14px 0 0}.vp-status:empty{display:none}.vd-dialog .vp-note{margin:13px 0 0}.vp-progress{display:block;width:100%;height:5px;border:0;accent-color:var(--accent);margin-top:18px}
.vp-spotify{width:100%;padding:16px;box-sizing:border-box}.vp-spotify iframe{display:block;width:100%;height:352px;border:0;border-radius:12px}.vp-screen:has(.vp-spotify:not([hidden])){aspect-ratio:auto;min-height:0}.vp-source{display:inline-block;font-size:13px;color:var(--accent-light);margin-top:12px}
.vp-stage:fullscreen{display:flex;flex-direction:column;justify-content:center;width:100%;height:100%;border:0;border-radius:0;background:#08090c}.vp-stage:fullscreen .vp-screen{flex:1;min-height:0;aspect-ratio:auto}.vp-stage:fullscreen .vp-controls{padding-bottom:max(20px,env(safe-area-inset-bottom))}
@media(max-width:600px){.vp-input-row{flex-direction:column}.vd-dialog .vp-load{min-height:44px}.vp-screen{min-height:210px}.vp-header{padding:14px}.vp-empty strong{font-size:17px}.vp-extras{width:100%;margin:7px 0 0;justify-content:flex-end}.vp-sound{margin-left:auto}.vp-controls{padding:10px 12px 12px}.vp-spotify{padding:6px}.vp-spotify iframe{height:352px}}
@media(max-width:360px){.vd-tabs button{padding:11px}.vp-header{padding:12px}.vp-empty{padding:20px 12px}.vp-empty strong{font-size:16px}.vp-button{padding:7px 9px}.vd-dialog .vp-volume{width:45px}.vp-time{font-size:10px}}

:root { --appearance-primary: #d4d4d4; --appearance-secondary: #a3a3a3; --appearance-fill: var(--appearance-primary); --appearance-ease: cubic-bezier(.2,.7,.2,1); }
html[data-appearance=true-black] { --bg: #000000; --panel: #0a0a0a; --ink: #ededed; --muted: #b3b3b3; --quiet: #898989; --line: #292929; --accent: #d4d4d4; --accent-light: #ededed; }
html[data-appearance=true-black] :is(.main,.topbar,.composer-dock,.sidebar) { background: #000000; }
html[data-appearance=true-black] .hero-glow { display: none; }
html[data-appearance=true-black] .palette-swatch { outline: 1px solid var(--line); outline-offset: -1px; }
.appearance-open { border-color: transparent; background: transparent; color: var(--muted); transition: color 180ms ease, background-color 180ms ease; }
.appearance-open:hover { color: var(--accent-light); background: color-mix(in srgb, var(--appearance-primary) 9%, transparent); }
.appearance-open .icon { width: 19px; height: 19px; }
.appearance-dialog { width: min(680px, calc(100vw - 32px)); max-width: 680px; max-height: calc(100dvh - 32px); padding: 32px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--accent) transparent; background: var(--panel); border: 0; border-radius: 24px; box-shadow: 0 18px 52px #0005; }
.appearance-dialog::backdrop { background: #08060bc7; backdrop-filter: none; }
.appearance-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.appearance-eyebrow { color: var(--accent-light); font-size: 13px; font-weight: 500; letter-spacing: .01em; }
.appearance-heading h2 { font-family: inherit; font-size: 28px; line-height: 1.25; font-weight: 600; letter-spacing: -.7px; margin: 8px 0 0; color: var(--ink); }
.appearance-heading h2:focus { outline: none; }
.appearance-dialog .appearance-description { max-width: 52ch; color: var(--muted); font-size: 14px; line-height: 1.65; margin: 12px 0 24px; }
.appearance-preview { overflow: hidden; padding: 24px; border: 0; border-radius: 18px; background: color-mix(in srgb, var(--appearance-secondary) 7%, var(--bg)); transition: background-color 240ms ease; }
.preview-top { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 13px; }
.preview-avatar { display: inline-flex; width: 34px; height: 34px; flex: 0 0 34px; overflow: hidden; border-radius: 50%; background: var(--bg); }
.preview-avatar img { display: block; width: 100%; height: 100%; object-fit: cover; transform: scale(3); transform-origin: 62% 24%; }
.preview-mark { font-family: inherit; font-size: 21px; line-height: 1.1; font-weight: 650; color: var(--appearance-primary); letter-spacing: -.7px; }
.preview-live { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 4px 0 4px 8px; font-size: 12px; color: var(--muted); }
.preview-live::before { content: ''; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--appearance-primary); }
.appearance-preview h3 { font-family: inherit; font-size: 25px; line-height: 1.3; font-weight: 600; color: var(--ink); margin: 22px 0; letter-spacing: -.6px; }
.appearance-preview h3 em { color: var(--appearance-primary); font-style: normal; }
.preview-messages { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.5; }
.preview-messages>span { max-width: 90%; padding: 11px 15px; border-radius: 15px 15px 15px 4px; background: color-mix(in srgb, var(--appearance-secondary) 10%, var(--panel)); color: var(--ink); border: 0; transition: color 180ms ease, background-color 240ms ease; }
.preview-messages>span:last-child { align-self: flex-end; background: var(--appearance-fill); color: #16111b; border-radius: 15px 15px 4px 15px; }
.appearance-dialog[open] .preview-messages>span { animation: appearance-message-in 380ms var(--appearance-ease) both; }
.appearance-dialog[open] .preview-messages>span:last-child { animation-delay: 100ms; }
@keyframes appearance-message-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.appearance-dialog fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.appearance-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 28px 0 12px; }
.appearance-section-heading h3 { font-size: 15px; font-weight: 600; margin: 0; color: var(--ink); }
.appearance-section-heading>span { font-size: 12px; color: var(--muted); }
.appearance-presets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.appearance-preset { display: flex; flex-direction: column; gap: 10px; padding: 12px; background: transparent; border: 0; border-radius: 12px; text-align: left; font-size: 13px; color: var(--muted); cursor: pointer; transition: color 180ms ease, background-color 180ms ease, transform 220ms var(--appearance-ease); }
.appearance-preset:hover { background: color-mix(in srgb, var(--appearance-primary) 7%, transparent); color: var(--ink); }
.appearance-preset:active { transform: scale(.98); }
.appearance-preset[aria-pressed=true] { background: color-mix(in srgb, var(--appearance-primary) 9%, transparent); color: var(--ink); outline: 1px solid color-mix(in srgb, var(--appearance-primary) 60%, transparent); outline-offset: -1px; }
.appearance-preset:disabled { cursor: default; }
.palette-swatch { display: flex; overflow: hidden; width: 100%; height: 30px; border-radius: 7px; transition: transform 240ms var(--appearance-ease); }
.palette-swatch::before, .palette-swatch::after { content: ''; flex: 1; background: var(--swatch-primary); }
.palette-swatch::after { background: var(--swatch-secondary); }
.palette-name { display: flex; justify-content: space-between; width: 100%; }
.appearance-preset[aria-pressed=true] .palette-name::after { content: ''; width: 6px; height: 11px; margin: 0 3px; border-right: 2px solid var(--appearance-primary); border-bottom: 2px solid var(--appearance-primary); transform: rotate(45deg); }
.appearance-colors { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.appearance-dialog .appearance-color label { font-size: 13px; color: var(--muted); margin: 0 0 8px; }
.appearance-color>div { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 7px 10px; border: 1px solid transparent; border-radius: 16px; background: var(--bg); transition: border-color 180ms ease, background-color 180ms ease; }
.appearance-color>div:focus-within { border-color: var(--accent); background: color-mix(in srgb, var(--appearance-primary) 4%, var(--bg)); }
.appearance-dialog input[type=color] { width: 33px; height: 33px; min-width: 33px; padding: 0; border: 0; border-radius: 7px; background: none; cursor: pointer; }
.appearance-dialog input[type=color]::-webkit-color-swatch-wrapper { padding: 0; }
.appearance-dialog input[type=color]::-webkit-color-swatch { border: 1px solid #ffffff30; border-radius: 7px; }
.appearance-dialog input[type=text] { width: 100%; min-width: 0; border: 0; padding: 4px; background: transparent; color: var(--ink); font: inherit; font-size: 14px; box-shadow: none; }
.appearance-dialog .appearance-hint { font-size: 12px; line-height: 1.6; color: var(--muted); margin: 10px 0 0; }
.appearance-options { margin-top: 16px; border: 0; padding: 0; }
.appearance-dialog .appearance-toggle, .appearance-motion { display: flex; gap: 18px; align-items: center; justify-content: space-between; padding: 20px 0; margin: 0; }
.appearance-toggle>span, .appearance-motion label { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.appearance-options strong { color: var(--ink); font-size: 14px; font-weight: 500; }
.appearance-options small { color: var(--muted); font-size: 12px; line-height: 1.5; }
.appearance-dialog input[type=checkbox] { appearance: none; position: relative; width: 44px; height: 28px; min-width: 44px; border: 1px solid var(--quiet); border-radius: 20px; background: var(--bg); padding: 0; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease; }
.appearance-dialog input[type=checkbox]::after { content: ''; position: absolute; top: 4px; left: 4px; width: 18px; height: 18px; border-radius: 50%; background: var(--muted); transition: transform 240ms var(--appearance-ease), background-color 180ms ease; }
.appearance-dialog input[type=checkbox]:checked { background: var(--appearance-fill); border-color: var(--appearance-primary); }
.appearance-dialog input[type=checkbox]:checked::after { background: #16111b; transform: translateX(16px); }
.appearance-motion { border-top: 1px solid color-mix(in srgb, var(--line) 60%, transparent); }
.appearance-dialog select { min-height: 44px; max-width: 140px; font: inherit; font-size: 14px; border: 1px solid transparent; border-radius: 16px; padding: 9px 12px; color: var(--ink); background: var(--bg); cursor: pointer; }
.appearance-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 20px; border-top: 0; }
.appearance-footer>div { display: flex; gap: 10px; }
.appearance-footer button { min-height: 44px; font-size: 14px; border-radius: 12px; }
.appearance-dialog :is(button,a,input,select):focus-visible { outline: 2px solid var(--accent-light); outline-offset: 3px; }
html[data-motion=lively] .appearance-dialog[open] .preview-messages>span { animation-duration: 520ms; }
@media (hover:hover) {
  html[data-motion=lively] .appearance-preset:hover .palette-swatch { transform: translateY(-2px); }
}

html[data-appearance] :is(.primary-button,.send-button,.vd-dialog .vd-submit) { background: var(--appearance-fill); color: #16111b; border-color: var(--appearance-primary); }
html[data-appearance] .hero h1 em { color: var(--appearance-primary); font-style: normal; }
html[data-appearance] .vd-hero strong { background: none; color: var(--appearance-primary); }
html[data-motion=off] *, html[data-motion=off] *::before, html[data-motion=off] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-appearance] :is(.field-error,.chat-error p) { color: #f5acbc; }
html[data-appearance] .roblox-risk:is([data-level=high],[data-level=critical]), html[data-appearance] .vd-result[data-status=failed] .vd-badge { color: #f5acbc; border-color: #bb6375; background: #54232e; }
@media (max-width:760px) {
  .appearance-open { min-width: 44px; min-height: 44px; width: 44px; }
  .appearance-dialog { padding: 24px; }
  .appearance-dialog input[type=text], .appearance-dialog select { font-size: 16px; }
}
@media (max-width:430px) {
  .appearance-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 24px 18px; border-radius: 20px; }
  .appearance-heading h2 { font-size: 24px; }
  .appearance-preview { padding: 16px; }
  .appearance-preview h3 { font-size: 22px; }
  .preview-top { font-size: 12px; gap: 6px; }
  .preview-live { font-size: 11px; padding: 4px 6px; }
  .appearance-section-heading { flex-wrap: wrap; gap: 5px; }
  .appearance-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .appearance-colors { gap: 9px; }
  .appearance-color>div { gap: 4px; padding: 6px; }
  .appearance-dialog input[type=color] { min-width: 28px; width: 28px; height: 30px; }
  .appearance-options { padding: 0; }
  .appearance-motion { gap: 10px; }
  .appearance-footer { align-items: stretch; flex-direction: column-reverse; }
  .appearance-footer>div { display: grid; grid-template-columns: 1fr 1.4fr; }
  .appearance-footer>.text-button { align-self: center; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.billing-launch { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; margin-top: 14px; padding: 12px 14px;    color: var(--ink); text-align: left;  min-height: 48px;border:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,var(--panel));transition:background 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}
.billing-launch:hover:not(:disabled) { border-color: var(--appearance-primary, var(--accent)); transform: none; background: color-mix(in srgb, var(--accent) 8%, var(--panel)); }
.billing-launch strong { font-size:14px; font-weight: 600; }
.billing-launch span { color: var(--muted); font-size:12px; }
.billing-dialog { width: min(660px, calc(100vw - 32px)); max-width: 660px; max-height: calc(100dvh - 32px); padding: 28px; border: 1px solid var(--tone-64455b, #64455b);  background: var(--panel); color: var(--ink); box-shadow:none; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--accent) transparent; border-radius:18px;border-color:color-mix(in srgb,var(--accent) 18%,transparent);}
.billing-dialog[open] {animation:billing-arrive .28s cubic-bezier(.16,1,.3,1);}
.billing-dialog::backdrop { background: #09060cc9; backdrop-filter:none; }
.billing-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.billing-eyebrow { color: var(--accent-light); font-size:13px; letter-spacing: .025em; }
.billing-heading h2 { font: 600 28px/1.25 "Segoe UI", system-ui, sans-serif; letter-spacing: -.5px; margin: 10px 0 0; }
.billing-heading h2:focus { outline: none; }
.billing-close { flex-shrink: 0; padding: 8px 10px;    color: var(--muted); font-size:13px; min-height: 40px;border:0;border-radius:12px;background:transparent;transition:background 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1);}
.billing-dialog .billing-description { color: var(--muted); font-size:14px; line-height: 1.7; margin: 17px 0 20px; }
.billing-offer { position: relative; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 15px; overflow: hidden;   padding: 23px;  border-color: var(--line);border:0;border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));}
.billing-offer::before { content: ''; position: absolute; inset: 0; z-index: -1; background:var(--panel); opacity: .12; display: none; }
.billing-offer::after { content: ''; position: absolute; right: -75px; top: -130px; width: 280px; height: 280px; border: 1px solid var(--accent); border-radius: 50%; box-shadow:none; opacity: .15; z-index: -1; display: none; }
.billing-offer-label { display: block; font-size:13px; color: var(--muted); }
.billing-total { display: block; margin: 5px 0; font-size: clamp(30px, 6vw, 42px); font-weight: 500; line-height: 1.25; letter-spacing: -1.5px; font-variant-numeric: tabular-nums; color: var(--ink); }
.billing-price { flex-shrink: 0; text-align: right; padding-left: 19px;border-left:0;}
.billing-price strong { display: block; font-size:34px; line-height: 1.3; font-weight: 500; color: var(--appearance-primary, var(--accent-light)); }
.billing-price span { font-size:13px; color: var(--muted); }
.billing-dialog .billing-plan-note { margin: 11px 0 23px; font-size:12px; line-height: 1.65; color: var(--muted); }
.billing-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 22px 0 12px; }
.billing-section-heading h3 { margin: 0; font-size:14px; font-weight: 600; }
.billing-section-heading>span { color: var(--muted); font-size:12px; }
.billing-coins { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));gap:6px;padding:5px;border-radius:16px;background:color-mix(in srgb,var(--bg) 50%,var(--panel));}
.billing-coin { min-width: 0; display: flex; flex-direction: column; gap: 5px; padding: 13px 11px;   text-align: left;  border:1px solid transparent;border-radius:12px;background:transparent;transition:background 180ms cubic-bezier(.2,.7,.2,1),border-color 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}
.billing-coin strong { color: var(--ink); font-size:14px; font-weight: 600; }
.billing-coin span { color: var(--muted); font-size:13px; }
.billing-coin small { color: var(--muted); font-size:12px; overflow-wrap: anywhere; }
.billing-coin:hover:not(:disabled) { border-color: var(--accent); transform: none; }
.billing-coin[aria-pressed=true] { border-color: var(--appearance-primary, var(--accent));  box-shadow:none;  outline-offset: -2px;outline:none;background:color-mix(in srgb,var(--accent) 12%,var(--panel));}
.billing-dialog .billing-network-note { color: var(--accent-light); font-size:13px; line-height: 1.65; margin: 14px 0 9px; }
.billing-dialog .billing-fee-note { color: var(--muted); font-size:13px; line-height: 1.65; margin: 0 0 18px; }
.billing-primary { width: 100%; padding: 12px 16px; min-height: 44px;  color: var(--bg); background: var(--accent); font-size:14px; font-weight: 600; border-radius:14px;transition:background 180ms cubic-bezier(.2,.7,.2,1),transform 180ms cubic-bezier(.2,.7,.2,1);}
.billing-primary:hover:not(:disabled) { filter: none;  background: var(--accent-light);transform:translateY(-1px);}
.billing-secondary { padding: 10px 13px; border: 1px solid var(--line);   color: var(--ink); font-size:13px; min-height: 40px;border-color:transparent;border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));transition:background 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1);}
.billing-secondary:hover:not(:disabled), .billing-close:hover { border-color: var(--accent); color: var(--ink); }
.billing-dialog .billing-network-warning { border: 1px solid var(--tone-8d71455c, #8d71455c); padding: 11px 13px; border-radius:10px; background: var(--tone-5d42221c, #5d42221c); color: var(--tone-e8ccab, #e8ccab); font-size:13px; line-height: 1.7; margin: 0 0 16px; }
.billing-copy-field { margin: 14px 0; }
.billing-dialog label { display: block; margin-bottom: 7px; font-size:13px; color: var(--muted); }
.billing-copy-row { display: flex; align-items: stretch; gap: 8px; }
.billing-dialog input { min-width: 0; width: 100%; border: 1px solid var(--line); padding: 11px 12px; border-radius:9px; color: var(--ink); background: var(--bg); font: 14px/1.6 "Segoe UI", system-ui, sans-serif; min-height: 44px; }
.billing-dialog input:focus { border-color: var(--accent); }
.billing-copy { flex-shrink: 0; min-width: 54px; padding: 10px; border: 1px solid var(--line);  background: var(--tone-342433, #342433); color: var(--accent-light); font-size:13px; min-height: 44px;border-color:transparent;border-radius:12px;transition:background 180ms cubic-bezier(.2,.7,.2,1);}
.billing-copy:hover:not(:disabled) { border-color: var(--accent); }
.billing-instructions { padding-left: 18px; margin: 19px 0; color: var(--muted); font-size:13px; line-height: 1.75; }
.billing-instructions li+li { margin-top: 7px; }
.billing-transaction { padding-top: 18px; border-top: 1px solid var(--line); }
.billing-dialog .billing-tx-hint { margin: 8px 0 14px; font-size:12px; line-height: 1.6; color: var(--muted); }
.billing-status { position: relative; border: 1px solid var(--line);  padding: 17px; margin-top: 19px; border-width:0 0 0 2px;border-radius:0 14px 14px 0;background:color-mix(in srgb,var(--accent) 4%,var(--panel));}
.billing-status h3 { margin: 0 0 6px; font-size:14px; font-weight: 600; color: var(--ink); }
.billing-status p { margin: 0; font-size:13px; color: var(--muted); line-height: 1.7; overflow-wrap: anywhere; }
.billing-status .billing-confirmations { margin-top: 10px; color: var(--accent-light); font-variant-numeric: tabular-nums; }
.billing-status[data-state=paid] { border-color: #6186767d; background: #183a291c; }
.billing-status[data-state=paid] h3 { color: #bddac9; }
.billing-status[data-state=expired], .billing-status[data-state=review_required] { border-color: #99774575; }
.billing-explorer { display: inline-block; margin-top: 10px; font-size:13px; }
.billing-dialog .billing-error { padding: 12px 14px; border: 1px solid #ad646866; border-radius:10px; color: #efc0c1; background: #78293718; font-size:13px; line-height: 1.7; overflow-wrap: anywhere; }
.billing-dialog .billing-feedback, .billing-dialog .billing-loading { color: var(--accent-light); font-size:13px; margin: 12px 0; }
.billing-feedback:empty { display: none; }
.billing-dialog>.billing-secondary { margin-top: 12px; }
.billing-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.billing-footer>span { max-width: 330px; color: var(--muted); font-size:12px; line-height: 1.7; }
.billing-footer>button { flex-shrink: 0; }
@keyframes billing-arrive { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media(max-width: 520px) {
  .billing-dialog { padding: 20px; width: calc(100vw - 20px); max-height: calc(100dvh - 20px); border-radius:12px; }
  .billing-heading { gap: 12px; }
  .billing-heading h2 { font-size:29px; }
  .billing-close { padding: 7px 8px; }
  .billing-offer { padding: 17px; gap: 12px; }
  .billing-offer-label { font-size:12px; }
  .billing-price { padding-left: 13px; }
  .billing-price strong { font-size:29px; }
  .billing-coins { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .billing-coin { padding: 11px 13px; }
  .billing-section-heading { flex-wrap: wrap; gap: 5px; }
  .billing-copy-row { gap: 6px; }
  .billing-dialog input { font-size:16px; padding: 10px; }
  .billing-footer { align-items: flex-start; gap: 14px; }
}
@media(prefers-reduced-motion: reduce) { .billing-dialog[open], .billing-launch, .billing-coin, .billing-primary { animation: none; transition: none; transform: none !important; } }
html[data-motion=off] .billing-dialog[open] { animation: none; }
.billing-primary:active:not(:disabled){transform:scale(.985)}
.billing-close:hover{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}
@media(max-width:520px){.billing-dialog{border-radius:18px}.billing-heading h2{font-size:26px}}
@media(max-width:360px){.billing-offer{align-items:flex-start;flex-direction:column;gap:8px}.billing-price{padding-left:0;text-align:left}.billing-price strong{display:inline;margin-right:8px}.billing-footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.billing-dialog,.billing-dialog *{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.billing-dialog,.billing-dialog *,.billing-launch){animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.billing-primary{transform:none!important}}
html[data-motion=off] .billing-primary{transform:none!important}

.workspace-top-button{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;color:var(--ink);font-size:13px;white-space:nowrap;min-height:40px;border:0;border-radius:12px;background:transparent}
.workspace-top-button .icon{width:16px;height:16px}
.workspace-top-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
#web-tools-actions .workspace-launch>.icon{width:18px;height:18px;box-sizing:content-box;padding:8px;color:var(--accent-light);background:color-mix(in srgb,var(--accent) 9%,transparent);border:0;border-radius:12px}
.workspace-composer-button{white-space:nowrap}

.workspace-panel{
  position:relative;display:flex;flex-direction:column;flex:0 0 clamp(720px,60vw,1120px);
  min-width:0;height:calc(100dvh - 24px);margin:12px 12px 12px 0;
  overflow:hidden;isolation:isolate;border:1px solid var(--line);border-radius:18px;
  background:var(--panel);box-shadow:none;animation:workspace-arrive .24s ease-out;
}
.workspace-panel[hidden],.workspace-panel [hidden],.workspace-context[hidden]{display:none!important}
.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;flex-shrink:0;border-bottom:1px solid var(--line)}
.workspace-heading h2{margin:2px 0 0;color:var(--ink);font-size:21px;font-weight:600;letter-spacing:-.4px}
.workspace-heading h2:focus{outline:none}
.workspace-eyebrow{font-size:12px;color:var(--muted)}
.workspace-heading-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.workspace-heading-actions>.icon-button{width:40px;height:40px;min-width:40px;min-height:40px}
.workspace-layout-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:13px;white-space:nowrap}
.workspace-layout-button>.icon{width:16px;height:16px}
.workspace-layout-button[aria-expanded=true]{background:color-mix(in srgb,var(--accent) 9%,var(--panel));color:var(--accent-light)}
.workspace-body{display:grid;grid-template-columns:220px minmax(0,1fr);flex:1;min-height:0;min-width:0;overflow:hidden}
.workspace-body.files-hidden{grid-template-columns:minmax(0,1fr)}
.workspace-browser{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:auto;border-right:1px solid var(--line);background:color-mix(in srgb,var(--bg) 35%,var(--panel));scrollbar-width:thin;overscroll-behavior:contain}
.workspace-document{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.workspace-library{display:flex;flex-direction:column;flex:1;min-height:190px;padding:16px 12px 10px}
.workspace-library-heading{display:flex;align-items:center;gap:6px;margin-bottom:12px}
.workspace-library-heading h3{flex:1;margin:0;font-size:14px;font-weight:600}
.workspace-library-heading>.icon-button{width:32px;height:36px;min-width:32px;min-height:36px;flex-shrink:0}
.workspace-library-heading>.icon-button .icon{width:15px;height:15px}
.workspace-new{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-height:36px;border:0;border-radius:8px;padding:7px 8px;color:var(--accent-light);background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-size:12px}
.workspace-new>.icon{width:13px;height:13px}
.workspace-library-tools{display:flex;margin-bottom:12px;flex-shrink:0}
.workspace-search{display:flex;align-items:center;gap:8px;min-width:0;flex:1;padding:9px 10px;min-height:40px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.workspace-search>.icon{width:14px;height:14px;flex-shrink:0;color:var(--quiet)}
.workspace-search input{width:100%;min-width:0;border:0;background:transparent;padding:0;font-size:14px;color:var(--ink);outline:none}
.workspace-search:focus-within{outline:2px solid var(--accent-light);outline-offset:2px}
.workspace-file-list{flex:1;min-height:48px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.workspace-file-row{display:flex;align-items:center;gap:9px;padding:0 8px;margin-bottom:3px;border:1px solid transparent;border-radius:8px}
.workspace-file-row.is-active{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}
.workspace-file-row>input{appearance:auto;width:16px;height:16px;flex-shrink:0;margin:0;accent-color:var(--accent);cursor:pointer}
.workspace-file{display:flex;align-items:center;min-width:0;flex:1;gap:7px;padding:10px 0;font-size:14px;background:transparent;border:0;text-align:left;min-height:44px}
.workspace-file>.icon{width:15px;height:15px;flex-shrink:0;color:var(--accent-light)}
.workspace-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.workspace-file small{display:none;color:var(--quiet);font-size:12px;white-space:nowrap}
.workspace-folder{padding:14px 9px 7px;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}
.workspace-usage{font-size:12px;color:var(--quiet);margin:12px 4px 0;line-height:1.7;flex-shrink:0}
.workspace-list-empty{font-size:14px;line-height:1.7;color:var(--muted);padding:10px;margin:0}
.workspace-preferences{flex-shrink:0;border-top:1px solid var(--line);padding:14px 12px;font-size:13px;color:var(--muted)}
.workspace-preferences>summary{cursor:pointer;min-height:24px}
.workspace-ai-switch{display:flex;align-items:center;gap:10px;margin:14px 0 12px;cursor:pointer}
.workspace-ai-switch>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.workspace-ai-switch strong{font-size:13px;font-weight:500;color:var(--ink)}
.workspace-ai-switch small{font-size:12px;color:var(--muted);line-height:1.6}
.workspace-ai-switch input{appearance:auto;width:28px;height:18px;accent-color:var(--accent);cursor:pointer;margin:0;flex-shrink:0}
.workspace-preferences .workspace-execution{margin:12px 0 0;font-size:12px;align-items:flex-start;line-height:1.7}
.workspace-access{margin:24px;font-size:15px;color:var(--muted);line-height:1.8}
.workspace-feedback{margin:12px 16px;padding:11px 13px;border:1px solid var(--accent);border-radius:9px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));flex-shrink:0}
.workspace-feedback p{margin:0;line-height:1.6;font-size:13px;color:var(--accent-light);overflow-wrap:anywhere}
.workspace-feedback .text-button{margin-top:5px;font-size:13px}
.workspace-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;min-height:0;flex:1;overflow:auto}
.workspace-empty-art{display:grid;place-items:center;margin:0 0 22px;width:60px;height:64px;border-radius:16px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));flex-shrink:0}
.workspace-empty-art>.icon{width:26px;height:26px;color:var(--accent-light)}
.workspace-empty h3{font-size:24px;font-weight:600;letter-spacing:-.4px;margin:0 0 12px}
.workspace-empty p{font-size:15px;color:var(--muted);line-height:1.8;max-width:360px;margin:0 0 22px}
.workspace-empty>small{font-size:12px;color:var(--quiet);margin-top:18px}
.workspace-example{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:9px;padding:11px 14px;font-size:13px;color:var(--accent-light);background:transparent}
.workspace-example>.icon{width:13px;height:13px;transform:rotate(45deg)}
.workspace-editor{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden}
.workspace-file-heading{position:relative;display:grid;grid-template-columns:minmax(0,1fr);padding:14px 20px 12px;flex-shrink:0}
.workspace-field-label{font-size:12px;color:var(--muted)}
#workspace-path{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:var(--ink);font-size:14px}
#workspace-path:focus{border-color:var(--accent)}
.workspace-path-hint{display:none}
.workspace-editor-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:0 20px 12px;flex-shrink:0}
.workspace-view-tabs{display:flex;gap:2px;flex-wrap:wrap;max-width:100%;border-radius:9px;padding:3px;background:var(--bg)}
.workspace-view-tab{border:0;background:transparent;color:var(--muted);font-size:13px;padding:6px 11px;min-height:36px;border-radius:6px}
.workspace-view-tab[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 15%,var(--panel));color:var(--accent-light)}
.workspace-editor-state{font-size:12px;color:var(--quiet);margin-left:auto;font-variant-numeric:tabular-nums}
.workspace-use-context{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap;font-size:12px;color:var(--muted);cursor:pointer}
.workspace-use-context input{appearance:auto;width:16px;height:16px;accent-color:var(--accent);margin:0}
#workspace-source,.workspace-preview{flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;color:var(--ink);border-radius:0;margin:0;width:100%;box-shadow:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 65%,var(--panel))}
#workspace-source{padding:24px;font:15px/1.8 Consolas,'Cascadia Code',monospace;resize:none;tab-size:2;white-space:pre;outline-offset:-3px}
#workspace-source::placeholder{color:var(--quiet);white-space:normal}
.workspace-preview.message-body{padding:26px 30px;font-size:16px;line-height:1.85;overflow-wrap:anywhere;margin:0}
.workspace-preview.message-body h1{font-size:28px}
.workspace-preview.message-body h2{font-size:23px}
.workspace-preview.message-body h3{font-size:19px}
.workspace-preview>:first-child{margin-top:0}
.workspace-preview pre{max-width:100%;overflow:auto}
.workspace-preview .workspace-preview-empty{font-size:15px;color:var(--quiet)}
.workspace-preview.workspace-preview-html{display:flex;flex-direction:column;padding:0;overflow:hidden}
.workspace-preview-html .html-preview{flex:1 1 0;min-height:0;height:0;max-height:none}
.workspace-preview-html .workspace-html-note{flex-shrink:0;margin:0;padding:7px 14px;font-size:12px;line-height:1.5;color:var(--muted);background:var(--panel)}
.workspace-editor-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 18px;flex-shrink:0}
.workspace-editor-actions{display:flex;align-items:center;gap:4px;margin-right:auto}
.workspace-editor-actions>.icon-button{width:38px;height:40px;min-width:38px;min-height:40px}
.workspace-editor-actions .icon{width:15px;height:15px}
.workspace-editor-footer>button{font-size:13px;padding:9px 12px;min-height:40px;border-radius:8px}
.workspace-editor-footer>#workspace-save{order:2}
.workspace-download{text-decoration:none}
.workspace-confirm{padding:12px 17px;border-top:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));flex-shrink:0}
.workspace-confirm p{font-size:13px;color:var(--ink);margin:0 0 9px;line-height:1.6}
.workspace-confirm button{font-size:12px;padding:8px 10px;margin-right:5px}
.workspace-danger{border:1px solid var(--accent);border-radius:7px;background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--accent-light)}
.workspace-unsaved{margin:0;border-bottom:1px solid var(--line)}
.workspace-unsaved>div{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px}
.workspace-unsaved>div>button:first-child{margin-right:auto}
.workspace-panel>.workspace-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:11px 18px;font-size:12px;color:var(--quiet);flex-shrink:0;border-top:1px solid var(--line)}
.workspace-footer>span{margin-right:auto}
.workspace-footer a{font-size:12px;gap:6px;white-space:nowrap}
.workspace-footer .icon{width:13px;height:13px}
.workspace-footer>button{font-size:12px;padding:7px 10px;min-height:32px;border-radius:7px}

.workspace-context{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 5px 10px}
.workspace-context-chip{display:flex;align-items:center;gap:6px;border:0;background:color-mix(in srgb,var(--accent) 8%,var(--panel));color:var(--accent-light);max-width:240px;font-size:12px;border-radius:10px;padding:6px 9px}
.workspace-context-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-context-chip>.icon{width:12px;height:12px;flex-shrink:0}
.workspace-context-chip>.icon:last-child{width:10px;height:10px;margin-left:3px}
.workspace-context.is-paused .workspace-context-chip{opacity:.6}
.workspace-context-paused{font-size:12px;color:var(--quiet)}
.workspace-artifacts{display:flex;flex-direction:column;gap:8px;margin:16px 0 0 56px;max-width:490px}
.workspace-artifact{display:flex;align-items:center;gap:11px;width:100%;text-align:left;color:var(--ink);border:0;border-radius:14px;padding:14px 16px;background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.workspace-artifact>span:empty{display:none}
.workspace-artifact>.icon{width:21px;height:21px;flex-shrink:0;color:var(--accent-light)}
.workspace-artifact>.icon:last-child{width:15px;height:15px;margin-left:auto;color:var(--quiet)}
.workspace-artifact-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.workspace-artifact-copy strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.workspace-artifact-copy small{font-size:12px;color:var(--muted)}
.workspace-reply-warning{margin:12px 0 0 56px;padding:9px 12px;border-left:2px solid var(--accent);font-size:13px;line-height:1.7;color:var(--accent-light)}
.workspace-panel :is(button,input,textarea,a,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}
.workspace-panel button:disabled{opacity:.4;cursor:not-allowed}
@media(hover:hover){
  .workspace-file-row:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}
  .workspace-artifact:hover,.workspace-example:hover,.workspace-top-button:hover,.workspace-layout-button:hover,.workspace-new:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,var(--panel))}
}
@keyframes workspace-arrive{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}

@media(min-width:1181px){
  .workspace-open>.sidebar{display:none}
  .workspace-open .main .topbar{padding:0 18px;gap:8px;flex-wrap:wrap}
  .workspace-open .main .topbar-right{gap:5px}
  .workspace-open .main .connection,.workspace-open .main .topbar-avatar{display:none}
  .workspace-open .topbar-heading strong{max-width:130px}
  .workspace-open .model-picker summary #selected-model-name{max-width:110px}
  .workspace-open .content-column{padding-left:24px;padding-right:24px}
  .workspace-open .composer-dock{padding-left:22px;padding-right:22px}
  .workspace-open .hero{min-height:210px;padding:22px 0}
  .workspace-open .hero h1{font-size:36px;letter-spacing:-1.2px}
  .workspace-open .hero p{font-size:14px}
  .workspace-open .welcome-intro h2{font-size:18px}
  .workspace-open .welcome-detail,.workspace-open .hero-art-label,.workspace-open .hero-signature,.workspace-open .composer-love,.workspace-open .suggestion-arrow{display:none}
  .workspace-open .suggestions{grid-template-columns:1fr}
  .workspace-open .suggestion{padding:12px;gap:9px}
  .workspace-open .suggestion small{font-size:12px}
  .workspace-open .composer-tools{flex-wrap:wrap}
  .workspace-open .composer-footer>span:first-child{display:none}
}
@media(max-width:1180px){
  .workspace-panel{position:fixed;z-index:45;right:0;top:0;bottom:0;width:min(1000px,100vw);height:100dvh;margin:0;border-radius:16px 0 0 16px}
  .workspace-open::after{content:'';position:fixed;inset:0;background:#0006;z-index:44}
  .workspace-top-button{padding:7px;font-size:12px}
  .workspace-composer-button{padding:6px 7px}
}
.workspace-panel.workspace-expanded{position:fixed;inset:12px;z-index:60;width:auto;height:calc(100dvh - 24px);margin:0;overflow:hidden;box-shadow:0 0 0 100vmax #0009;animation:none}
.workspace-expanded .workspace-body:not(.files-hidden){grid-template-columns:260px minmax(0,1fr)}
.workspace-expanded .workspace-file small{display:block}
.workspace-expanded #workspace-source{padding:28px 32px;font-size:16px}
.workspace-expanded .workspace-preview:not(.workspace-preview-html){padding:32px clamp(28px,5vw,80px)}
.preview-expanded>.workspace-heading{padding:8px 14px}
.preview-expanded>.workspace-heading .workspace-eyebrow{display:none}
.preview-expanded>.workspace-heading h2{font-size:18px}
.preview-expanded>.workspace-footer,.preview-expanded .workspace-file-heading,.preview-expanded .workspace-editor-footer,.preview-expanded .workspace-use-context,.preview-expanded .workspace-editor-state{display:none}
.preview-expanded .workspace-editor-tools{padding:6px 14px}

@media(max-width:760px){
  .workspace-panel,.workspace-panel.workspace-expanded{inset:0;width:100%;height:100dvh;margin:0;border:0;border-radius:0}
  .workspace-heading{padding:12px 14px;gap:8px}
  .workspace-heading h2{font-size:18px}
  .workspace-eyebrow{display:none}
  #workspace-expand{display:none}
  .workspace-layout-button{min-height:40px;padding:8px 10px}
  .workspace-body,.workspace-expanded .workspace-body:not(.files-hidden){grid-template-columns:minmax(0,1fr)}
  .workspace-browser{border-right:0}
  .workspace-library{padding:16px}
  .workspace-library-heading h3{font-size:16px}
  .workspace-new{min-height:40px;font-size:14px;padding:8px 12px}
  .workspace-library-heading>.icon-button{min-height:40px;min-width:40px}
  .workspace-file small{display:block}
  .workspace-file{min-height:48px;font-size:15px}
  .workspace-preferences{padding:16px}
  .workspace-search input,#workspace-path{font-size:16px}
  .workspace-file-heading{padding:12px 16px 10px;gap:5px}
  .workspace-path-hint{display:none}
  .workspace-editor-tools{padding:0 16px 10px;gap:6px 10px}
  .workspace-view-tab{font-size:12px;padding:6px 9px}
  .workspace-editor-state{flex-basis:100%;font-size:12px}
  #workspace-source,.workspace-expanded #workspace-source{padding:20px;font-size:15px}
  .workspace-preview.message-body,.workspace-expanded .workspace-preview:not(.workspace-preview-html){padding:22px;font-size:16px}
  .workspace-preview.workspace-preview-html{padding:0}
  .workspace-editor-footer{padding:10px 12px}
  .workspace-panel>.workspace-footer{padding:10px 14px max(10px,env(safe-area-inset-bottom));gap:8px 12px}
  .workspace-footer>span{flex-basis:100%}
  .workspace-footer>a{margin-right:auto}
  .workspace-empty{padding:24px}
  .workspace-top-button>span,.workspace-composer-button>span{display:none}
  .workspace-top-button>.icon,.workspace-composer-button>.icon{width:16px;height:16px}
  .workspace-artifacts,.workspace-reply-warning{margin-left:35px}
}
@media(max-width:430px){
  .workspace-artifacts,.workspace-reply-warning{margin-left:0}
  .workspace-editor-tools{padding-left:12px;padding-right:12px}
  .workspace-editor-footer{gap:6px}
  .workspace-editor-actions{gap:0}
  .workspace-editor-actions>.icon-button{width:32px;min-width:32px}
  .workspace-editor-footer>button{padding:9px 10px;font-size:12px}
  .workspace-use-context{margin-left:0}
}
@media(max-height:600px){
  .workspace-heading{padding-top:10px;padding-bottom:10px}
  .workspace-file-heading{padding-top:10px;padding-bottom:8px}
  .workspace-path-hint{display:none}
  .workspace-panel:not(.preview-expanded) .workspace-document{overflow-y:auto;overscroll-behavior:contain}
  .workspace-panel:not(.preview-expanded) .workspace-editor{flex:1 0 380px;min-height:380px}
  .workspace-empty{min-height:280px}
}
@media(max-height:720px){
  .workspace-panel.has-html-preview:not(.preview-expanded) .workspace-document{overflow-y:auto;overscroll-behavior:contain}
  .workspace-panel.has-html-preview:not(.preview-expanded) .workspace-editor{flex:1 0 540px;min-height:540px}
}
@media(max-width:760px) and (max-height:720px){
  .workspace-panel.has-html-preview:not(.preview-expanded) .workspace-editor{flex-basis:580px;min-height:580px}
}
@media(prefers-reduced-motion:reduce){.workspace-panel,.workspace-panel *,.workspace-artifact,.workspace-top-button{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.workspace-panel,.workspace-panel *,.workspace-artifact,.workspace-top-button,.workspace-context-chip){animation:none!important;transition:none!important}

.workspace-site{width:min(1480px,calc(100vw - 40px));height:min(940px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 100px #0007;overflow:hidden}
.workspace-site[open]{display:flex;flex-direction:column}
.workspace-site[data-expanded="true"]{inset:0;margin:0;width:100vw;height:100dvh;border:0;border-radius:0}
.workspace-site[data-expanded="true"]>.workspace-site-heading,.workspace-site[data-expanded="true"]>.workspace-site-setup,.workspace-site[data-expanded="true"]>.workspace-site-caption,.workspace-site[data-expanded="true"]>.workspace-site-capabilities,.workspace-site[data-expanded="true"]>.workspace-site-status,.workspace-site[data-expanded="true"] .workspace-site-inspector{display:none}
.workspace-site[data-expanded="true"] .workspace-site-layout{display:flex;overflow:hidden;border:0}
.workspace-site[data-expanded="true"] .workspace-site-preview{flex:1;height:auto;min-height:0}
.workspace-site::backdrop{background:#0009;backdrop-filter:blur(5px)}
.workspace-site-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line);flex-shrink:0}
.workspace-site-heading h2{margin:0;font-size:21px;font-weight:600;letter-spacing:-.4px}
.workspace-site-caption{font-size:12px;line-height:1.7;color:var(--muted);margin:5px 0 0}
.workspace-site>p.workspace-site-caption{padding:0 24px;margin:0 0 5px}
.workspace-site-setup{display:flex;align-items:flex-end;gap:10px;padding:14px 24px 10px;flex-shrink:0}
.workspace-site-field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:12px}
.workspace-site-setup>.workspace-site-field{flex:1}
.workspace-site input,.workspace-site select,.workspace-site textarea{min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:13px;line-height:1.5}
.workspace-site select{min-height:40px}
.workspace-site button{min-height:40px;white-space:nowrap;font-size:13px}
.workspace-site textarea,.workspace-site pre,.workspace-site-address input,.workspace-site-request-row input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.workspace-site textarea{resize:vertical;min-height:76px;max-height:260px;width:100%;box-sizing:border-box}
.workspace-site-capabilities{margin:0 24px;font-size:12px;line-height:1.7;color:var(--muted);flex-shrink:0}
.workspace-site-capabilities summary,.workspace-site-inspector summary{cursor:pointer}
.workspace-site-capabilities p{margin:6px 0;max-width:960px}
.workspace-site-status{margin:8px 24px 12px;font-size:12px;color:var(--accent-light);line-height:1.6;overflow-wrap:anywhere;flex-shrink:0}
.workspace-site-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;flex:1;min-height:0;border-top:1px solid var(--line)}
.workspace-site-preview{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg)}
.workspace-site-address{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);flex-shrink:0}
.workspace-site-address input{flex:1;background:var(--panel)}
.workspace-site-stage{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}
.workspace-site-stage iframe{display:block;width:100%;height:100%;min-height:200px;flex:1;border:0;background:#fff}
.workspace-site-placeholder{margin:auto;padding:30px;text-align:center;font-size:14px;color:var(--quiet)}
.workspace-site-inspector{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;border-left:1px solid var(--line);padding:16px;scrollbar-width:thin}
.workspace-site-request{display:flex;flex-direction:column;gap:12px}
.workspace-site-request h3{font-size:14px;font-weight:600;margin:0 0 2px}
.workspace-site-request-row{display:flex;gap:7px}
.workspace-site-request-row select{width:92px;flex-shrink:0}
.workspace-site-request-row input{flex:1;width:100%}
.workspace-site-inspector details{font-size:12px;color:var(--muted)}
.workspace-site-headers textarea{margin-top:8px}
.workspace-site-response-meta{font-size:12px;color:var(--accent-light);line-height:1.7;overflow-wrap:anywhere;margin:20px 0 8px}
.workspace-site-inspector pre{font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);max-height:260px;overflow:auto;scrollbar-width:thin}
.workspace-site-output{min-height:72px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);margin:0 0 12px}
.workspace-site-logs{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}
.workspace-site-logs pre:empty::before{content:'Site and backend logs appear here.';color:var(--quiet)}
@media(max-width:1000px){.workspace-site-layout{grid-template-columns:minmax(0,1fr) 290px}.workspace-site-heading,.workspace-site-setup{padding-left:16px;padding-right:16px}.workspace-site-capabilities{margin-left:16px;margin-right:16px}.workspace-site>p.workspace-site-caption{padding:0 16px}.workspace-site-status{margin-left:16px;margin-right:16px}}
@media(max-width:760px){.workspace-site{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:12px}.workspace-site-heading{padding:12px 14px}.workspace-site-heading h2{font-size:18px}.workspace-site-setup{flex-wrap:wrap;gap:7px;padding:10px 14px}.workspace-site-setup>.workspace-site-field{flex-basis:calc(100% - 105px)}.workspace-site-setup>.text-button{padding:7px}.workspace-site-setup>.primary-button{flex:1}.workspace-site-layout{grid-template-columns:minmax(0,1fr);overflow:auto;display:block}.workspace-site-preview{height:420px;min-height:280px}.workspace-site-inspector{border-left:0;border-top:1px solid var(--line);overflow:visible}.workspace-site-capabilities{display:none}.workspace-site>p.workspace-site-caption{font-size:11px}.workspace-site-status{margin-top:6px;margin-bottom:8px}.workspace-site-address{padding:8px}}

#web-tools-actions .luau-launch>.icon{width:21px;height:21px;color:var(--accent);flex-shrink:0}
.luau-dialog{width:min(1240px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--ink);box-shadow:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;font:14px/1.6 var(--font-ui,"Segoe UI",system-ui,sans-serif)}
.luau-dialog::backdrop{background:#0009;backdrop-filter:none}.luau-dialog [hidden]{display:none!important}
.luau-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 28px 12px}.luau-heading h2{margin:2px 0 4px;font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.6px}.luau-heading p{margin:0;color:var(--muted)}.luau-heading h2:focus{outline:none}.luau-eyebrow{font-size:12px;color:var(--accent-light)}
.luau-access,.luau-error{margin:0 28px 16px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.luau-error{padding:10px 13px;border:1px solid var(--accent);border-radius:9px;color:var(--accent-light)}
.luau-layout{display:grid;grid-template-columns:290px minmax(0,1fr);border-top:1px solid var(--line)}.luau-environment{padding:22px;border-right:1px solid var(--line);min-width:0}.luau-main{padding:22px 24px;min-width:0}
.luau-dialog label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);min-width:0}.luau-dialog input,.luau-dialog select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:9px 10px;font:14px/1.5 var(--font-ui,"Segoe UI",system-ui,sans-serif)}.luau-dialog input::placeholder,.luau-dialog textarea::placeholder{color:var(--quiet)}
.luau-dialog .luau-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:8px 0 16px;overflow-wrap:anywhere}.luau-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 9px}.luau-section-heading h3{margin:0;font-size:13px;font-weight:600}.luau-section-heading>.luau-hint{margin:0}.luau-dialog .text-button{font-size:12px;min-height:36px;flex-shrink:0}.luau-model-name{margin:0;font-weight:500;font-size:14px;overflow-wrap:anywhere}
.luau-dialog #luau-upload{width:100%;min-height:40px;font-size:13px}.luau-import{display:flex;flex-direction:column;gap:9px}.luau-import button{align-self:flex-end;font-size:12px;min-height:36px}
.luau-explorer{max-height:300px;min-height:64px;overflow:auto;scrollbar-width:thin}.luau-branch>summary{display:flex;align-items:center;list-style:none;cursor:pointer}.luau-branch>summary::-webkit-details-marker{display:none}.luau-branch>summary:before{content:'›';color:var(--quiet);width:16px;flex-shrink:0;text-align:center}.luau-branch[open]>summary:before{transform:rotate(90deg)}.luau-object{display:flex;gap:8px;align-items:center;min-height:34px;text-align:left;color:var(--ink);background:transparent;border-radius:6px;padding:5px 6px;min-width:0;width:100%;font-size:12px}.luau-object:hover{background:var(--bg)}.luau-object>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.luau-object>small{font-size:10px;color:var(--muted);margin-left:auto;flex-shrink:0}.luau-children{margin-left:10px;padding-left:5px;border-left:1px solid var(--line)}
.luau-properties{font:11px/1.7 Consolas,"Cascadia Code",monospace;background:var(--bg);padding:10px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
.luau-support>summary{color:var(--accent-light);font-size:12px;cursor:pointer}.luau-support{margin:-5px 0 15px}
.luau-editor-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:14px}#luau-source{display:block;width:100%;height:320px;min-height:190px;max-height:600px;resize:vertical;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);padding:16px;font:14px/1.8 Consolas,"Cascadia Code",monospace;tab-size:4;white-space:pre;overflow:auto}
.luau-run-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:13px}.luau-run-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.luau-run-details{display:flex;align-items:flex-end;gap:14px;min-width:0}.luau-run-details label{max-width:140px}.luau-run-details input{max-width:90px}.luau-code-count{font-size:11px;color:var(--quiet);padding-bottom:10px;white-space:nowrap}.luau-dialog #luau-execute{min-width:118px;min-height:42px;justify-content:center;font-size:14px}.luau-results{border-top:1px solid var(--line);margin-top:18px}.luau-run-status{color:var(--muted);font-size:12px;white-space:nowrap}.luau-run-status[data-state=failed]{color:var(--accent-light)}
.luau-output,.luau-run-error,.luau-calls pre{margin:0;padding:15px;border:1px solid var(--line);border-radius:9px;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;max-height:280px;min-height:86px;background:var(--bg);color:var(--ink);font:12px/1.8 Consolas,"Cascadia Code",monospace}.luau-run-error{color:var(--accent-light);margin-top:9px;min-height:0}.luau-calls{margin-top:12px}.luau-calls summary{cursor:pointer;color:var(--muted);font-size:12px;padding:6px 0}.luau-calls pre{max-height:220px;margin-top:5px}.luau-footer{border-top:1px solid var(--line);padding:14px 26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.luau-dialog :is(button,input,select,textarea,summary,[tabindex="0"]):focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}.luau-dialog :is(button,input,select,textarea):disabled{opacity:.5;cursor:not-allowed}
.luau-assistant{border-top:1px solid var(--line);margin-top:24px;padding-top:3px}.luau-assistant>.luau-section-heading h3{font-size:16px;letter-spacing:-.2px}.luau-ai-quick{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.luau-ai-quick button{font-size:12px;min-height:36px;padding:7px 12px}.luau-ai-conversation{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}.luau-ai-message{border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0;background:var(--bg)}.luau-ai-message[data-role=user]{margin-left:28px;background:transparent}.luau-ai-message>strong{display:block;font-size:12px;font-weight:500;color:var(--accent-light);margin-bottom:6px}.luau-ai-message>p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.luau-ai-status{font-size:12px;color:var(--muted);overflow-wrap:anywhere;margin:12px 0}.luau-dialog #luau-ai-prompt{width:100%;min-height:90px;max-height:250px;resize:vertical;padding:12px 13px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:9px;font:14px/1.7 var(--font-ui,"Segoe UI",system-ui,sans-serif)}.luau-ai-form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.luau-dialog .luau-ai-include{flex-direction:row;align-items:center;gap:8px;cursor:pointer;font-size:12px}.luau-dialog #luau-ai-result{width:16px;height:16px;flex-shrink:0;margin:0;padding:0;accent-color:var(--accent)}.luau-ai-form-footer .primary-button{margin-left:auto;min-height:40px;font-size:13px}.luau-ai-proposal{padding:0 16px 16px;margin-top:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.luau-ai-code{margin:0;white-space:pre;overflow:auto;max-height:320px;min-width:0;font:12px/1.8 Consolas,"Cascadia Code",monospace}.luau-ai-proposal-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.luau-ai-proposal-actions button{font-size:12px;min-height:40px}.luau-ai-proposal .luau-hint{margin-top:14px}
@media(max-width:900px){.luau-layout{grid-template-columns:245px minmax(0,1fr)}.luau-environment{padding:17px}.luau-main{padding:17px}.luau-code-count{display:none}.luau-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.luau-heading{padding:20px 20px 12px}.luau-access,.luau-error{margin-left:20px;margin-right:20px}}
@media(max-width:680px){.luau-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.luau-layout{display:flex;flex-direction:column}.luau-environment{border-right:0;border-bottom:1px solid var(--line);padding:18px}.luau-main{padding:18px}.luau-explorer{max-height:180px}.luau-heading{padding:19px 18px 12px}.luau-heading h2{font-size:23px}.luau-heading p{font-size:13px}.luau-access,.luau-error{margin-left:18px;margin-right:18px}.luau-editor-tools{gap:9px}.luau-dialog input,.luau-dialog select{font-size:16px}.luau-run-details label{font-size:11px}.luau-dialog #luau-execute{min-width:104px}.luau-footer{padding:14px 18px max(18px,env(safe-area-inset-bottom));font-size:11px}.luau-run-status{font-size:11px}#luau-source{height:300px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.luau-dialog,.luau-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}html[data-motion=off] .luau-dialog,html[data-motion=off] .luau-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:680px){.luau-dialog #luau-ai-prompt{font-size:16px}.luau-ai-proposal{padding:0 12px 12px}.luau-ai-message{padding:10px 12px}.luau-ai-message[data-role=user]{margin-left:14px}.luau-ai-proposal-actions{justify-content:flex-start}.luau-run-actions{gap:9px}}

.vyx-activity{margin:14px 0;font-size:14px;color:var(--ink);overflow-wrap:anywhere;border:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--panel));padding:14px 17px;}.vyx-activity>summary{cursor:pointer;font-weight:600;color:var(--accent-light)}.vyx-activity ol{padding-left:20px;line-height:1.7}.steps-caption{color:var(--muted);font-size:13px;line-height:1.6}.live-activity{margin:12px auto;max-width:820px;width:100%;padding:0 12px}.live-activity[hidden]{display:none}.step-events{list-style:none;padding:0!important}.step-event{border-left:2px solid var(--line);position:relative;padding:11px 0 11px 17px;animation:step-arrive .24s ease-out;}.step-event>small{display:block;color:var(--muted);font-size:12px}.step-event[data-status=running]{border-color:var(--accent)}.step-event[data-status=running]>span{animation:none;}.step-event[data-status=failed]{border-color:#d87676}.step-event[data-status=completed]{border-color:#70a99b}.step-output{margin-top:7px;min-width:0;max-width:100%;padding:9px 12px;border:0;border-radius:10px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));}.step-output summary{cursor:pointer;font:14px/1.6 Consolas,monospace;overflow-wrap:anywhere}.step-output pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font:14px/1.65 Consolas,monospace;color:var(--ink)}.step-error{color:#e6a09e!important;white-space:pre-wrap;overflow-wrap:anywhere}.workspace-execution{display:flex;align-items:center;gap:8px;margin:0 20px 12px;color:var(--muted);font-size:13px;flex-shrink:0}.workspace-execution input{accent-color:var(--accent)}.workspace-terminal{width:min(720px,calc(100vw - 28px));max-height:85dvh;overflow:auto;padding:22px;border:1px solid var(--line);background:var(--panel);color:var(--ink);box-shadow:none;border-color:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:18px;}.workspace-terminal::backdrop{background:#0008;backdrop-filter:none}.workspace-terminal header{display:flex;justify-content:space-between;align-items:center;gap:12px}.workspace-terminal h2{font-size:20px;margin:0}.workspace-terminal form{display:grid;grid-template-columns:1fr auto;gap:8px;margin:20px 0}.workspace-terminal label{grid-column:1/-1;font-size:13px;color:var(--muted)}.workspace-terminal input{min-width:0;width:100%;border:1px solid var(--line);border-radius:8px;padding:11px;background:var(--bg);color:var(--ink);font:14px Consolas,monospace}.workspace-terminal input:focus{outline:2px solid var(--accent);outline-offset:2px}.workspace-terminal button{flex-shrink:0}.workspace-editor-footer{flex-wrap:wrap;gap:7px}.workspace-footer{flex-wrap:wrap;gap:8px}@keyframes step-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.step-event[data-status=running]>span{animation:none}}@media(max-width:600px){.workspace-terminal{padding:17px}.workspace-terminal input{font-size:16px}.live-activity{padding:0}.workspace-execution{margin-left:18px}.vyx-activity{padding:11px}}
.workspace-terminal[open]{animation:step-arrive .28s cubic-bezier(.16,1,.3,1)}
.step-event::before{content:'';position:absolute;left:-4px;top:19px;width:6px;height:6px;border-radius:50%;background:var(--line)}
.step-event[data-status=running]::before{background:var(--accent)}
.step-event[data-status=completed]::before{background:#70a99b}
.step-event[data-status=failed]::before{background:#d87676}
@keyframes step-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:360px){.workspace-terminal form{grid-template-columns:minmax(0,1fr)}.workspace-terminal form button{width:100%}}
@media(prefers-reduced-motion:reduce){.workspace-terminal,.workspace-terminal *,.step-event{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.workspace-terminal,.workspace-terminal *,.step-event){animation:none!important;transition:none!important}

.vyx-activity{margin:8px 0;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:13px}
.vyx-activity>summary{font-size:13px;line-height:1.5;font-weight:500;color:var(--muted);overflow-wrap:anywhere}
.vyx-activity>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}
.vyx-activity[open]>summary{color:var(--ink);margin-bottom:8px}
.vyx-activity ol{margin:6px 0;padding-left:18px;line-height:1.5}
.vyx-activity .steps-caption{margin:8px 0 4px;font-size:12px}
.step-event{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:5px 0 5px 12px;line-height:1.5;animation:none}
.step-event::before{top:12px;width:4px;height:4px;left:-3px}
.step-event>small{font-size:11px;line-height:1.8;text-transform:capitalize}
.step-output{grid-column:1/-1;margin-top:4px;padding:6px 8px;border-radius:6px}
.step-output summary,.step-output pre{font-size:12px;line-height:1.5}
.step-output pre{max-height:180px;margin:8px 0 2px}
.live-activity{display:flex;align-items:flex-start;flex-wrap:wrap;gap:4px 10px;margin:6px auto}
.live-activity>div{flex:1 1 220px;min-width:0}
.live-activity .vyx-activity{margin:0}
.live-activity>.steps-caption{flex:1;margin:7px 0;font-size:12px}
.live-activity:has(.vyx-activity)>.steps-caption:not(.step-error){display:none}
.live-activity>button{font-size:12px;min-height:32px;padding:5px 8px;margin:0}
@media(max-width:400px){.step-event{gap:2px 6px}.step-event>small{font-size:10px}.live-activity{gap:4px 6px}.live-activity>div{flex-basis:190px}}

.workspace-tests-setting{display:flex;align-items:flex-start;gap:10px;margin:14px 0 4px;color:var(--ink);font-size:13px;line-height:1.5}
.workspace-tests-setting input{margin-top:4px;accent-color:var(--accent)}
.workspace-tests-setting strong,.workspace-tests-setting small{display:block}
.workspace-tests-setting small{margin-top:2px;color:var(--muted);font-size:12px}
.workspace-tests{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:24px;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px;scrollbar-width:thin;overscroll-behavior:contain}
.workspace-tests::backdrop{background:rgb(0 0 0 / .65);backdrop-filter:blur(6px)}
.workspace-tests-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}
.workspace-tests-heading h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.5px}
.tests-caption{color:var(--muted);font-size:12px;line-height:1.65;overflow-wrap:anywhere}
.workspace-tests> .tests-caption{font-size:13px}
.tests-target{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:18px;font-size:12px}
.tests-target label{color:var(--muted)}
.tests-target select{max-width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}
.tests-target small{flex-basis:100%;color:var(--muted);font-size:11px}
.tests-selection{margin:20px 0 14px;font-size:12px}
.tests-selection>strong{font-weight:500;color:var(--muted)}
.tests-file-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;max-height:100px;overflow:auto}
.tests-file-chips span{padding:4px 8px;border:1px solid var(--line);border-radius:6px;font-family:monospace;font-size:11px;overflow-wrap:anywhere;max-width:100%}
.tests-actions{display:flex;align-items:center;gap:12px}
.tests-actions>button{min-height:40px}
.tests-report{margin:12px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden;font-size:13px}
.tests-report-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:15px 16px;cursor:pointer;list-style:none}
.tests-report-summary::-webkit-details-marker{display:none}
.tests-report-heading{display:grid;gap:4px;min-width:0}
.tests-report-heading small{color:var(--muted);font-size:9px;letter-spacing:1.5px;font-weight:600}
.tests-report-heading strong{font-weight:600;font-size:15px;line-height:1.4;overflow-wrap:anywhere}
.tests-report-summary:after{content:'+';grid-column:3;grid-row:1;color:var(--muted);font-size:20px}
.tests-report-details[open]>.tests-report-summary:after{content:'-'}
.tests-duration{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
.tests-report[data-status=passed] .tests-report-heading strong{color:#83c6ae}
.tests-report[data-status=failed] .tests-report-heading strong,.tests-report[data-status=timeout] .tests-report-heading strong{color:#e99595}
.tests-report[data-freshness=stale] .tests-report-heading strong{color:var(--muted)}
.tests-counts{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);padding:12px 0 0;gap:12px}
.tests-count{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:11px}
.tests-count strong{color:var(--ink);font-size:17px;font-variant-numeric:tabular-nums;font-weight:500}
.tests-report-body{padding:0 16px 14px;border-top:1px solid var(--line)}
.tests-case-group{margin-top:16px}
.tests-case-group h3{margin:0 0 8px;color:var(--muted);font-size:11px;font-weight:600}
.tests-case{border-top:1px solid var(--line);padding:8px 0}
.tests-case>summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;line-height:1.5;font-size:12px}
.tests-case>summary>span{min-width:0;overflow-wrap:anywhere}
.tests-case>summary>small{flex-shrink:0;color:var(--muted);font-size:10px}
.tests-case[data-status=passed]>summary>small{color:#83c6ae}
.tests-case[data-status=failed]>summary>small,.tests-case[data-status=error]>summary>small{color:#e99595}
.tests-case pre{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:11px/1.7 monospace}
.tests-case .tests-caption{font-size:11px}
.tests-not-run,.tests-stale{margin:12px 0;padding:10px 12px;border-left:2px solid #c4a570;background:rgb(196 165 112 / .06);color:var(--muted);font-size:12px;line-height:1.6}
.tests-stale{display:block;grid-column:1/-1;margin:0}
.tests-report>.text-button{margin:0 8px 8px;min-height:36px;font-size:12px}
.tests-limitations{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.7}
.tests-limitations ul{margin:6px 0 0;padding-left:18px}
.tests-snapshot,.tests-scope{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.65}
.tests-snapshot summary,.tests-scope summary{cursor:pointer}
.tests-snapshot p{margin:4px 0;overflow-wrap:anywhere;font-family:monospace}
.tests-scope{padding-top:14px;border-top:1px solid var(--line);font-size:12px}
.tests-report summary:focus-visible,.workspace-tests button:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px;border-radius:4px}
.tests-report [hidden]{display:none!important}
#workspace-tests-status[data-error=true]{color:#e99595}
@media(max-width:760px){.workspace-tests{padding:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.workspace-heading-actions{flex-wrap:wrap;justify-content:flex-end}.tests-counts{gap:6px}.tests-count{display:grid;gap:3px}.tests-report-summary{gap:8px;padding:13px}.tests-report-heading strong{font-size:14px}.tests-report-body{padding:0 13px 12px}}

.discord-compose-button{max-width:170px;flex-shrink:1;min-width:0}
.discord-compose-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.discord-compose-button[data-enabled="true"]{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-light)}
.discord-context{position:absolute;bottom:calc(100% + 12px);left:0;z-index:12;width:min(370px,calc(100vw - 48px));max-height:min(520px,calc(100dvh - 180px));overflow-y:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--panel);box-shadow:none;border-color:color-mix(in srgb,var(--accent) 20%,transparent);border-radius:18px;padding:20px;animation:discord-arrive .22s cubic-bezier(.16,1,.3,1);}
.discord-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}
.discord-heading h2{margin:0;font-size:18px;font-weight:600;letter-spacing:-.2px}
.discord-heading .text-button{font-size:13px}
.discord-switch{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;cursor:pointer;border-radius:12px;padding:12px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));}
.discord-switch input{appearance:auto;width:17px;height:17px;margin:0;accent-color:var(--accent)}
.discord-privacy{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0 17px}
.discord-scope{display:grid;gap:7px}
.discord-scope label{font-size:13px;color:var(--muted)}
.discord-scope select{display:block;min-width:0;width:100%;font:inherit;font-size:14px;padding:10px;border:1px solid var(--line);color:var(--ink);text-overflow:ellipsis;min-height:44px;border-radius:12px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));transition:border-color 180ms cubic-bezier(.2,.7,.2,1),background 180ms cubic-bezier(.2,.7,.2,1);}
.discord-scope select+label{margin-top:7px}
.discord-scope select:disabled{opacity:.5;cursor:not-allowed}
.discord-status,.discord-error{margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.discord-error{color:var(--accent-light)}
.discord-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px;}
.discord-actions .text-button{font-size:13px}
.discord-context :is(button,input,select):focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}
.discord-context[hidden]{display:none!important}
@media(max-width:760px){.discord-compose-button{max-width:115px}.discord-scope select{font-size:16px}}
@media(max-width:540px){.discord-compose-button>span{display:none}.discord-compose-button{padding:7px}.discord-context{max-height:calc(100dvh - 210px)}}
@keyframes discord-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-height:600px){.discord-context{max-height:calc(100dvh - 130px)}}
@media(prefers-reduced-motion:reduce){.discord-context,.discord-context *{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.discord-context,.discord-context *){animation:none!important;transition:none!important}

.generation-dialog{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:28px;overflow:auto}
.generation-heading,.generation-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.generation-heading h2{margin:0;font-size:23px;letter-spacing:-.03em}
.generation-subtitle,.generation-note,.generation-count{color:var(--muted);font-size:13px}
.generation-subtitle{margin:8px 0 24px}
.generation-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}
.generation-tabs [aria-pressed=true]{border-color:var(--accent);color:var(--ink)}
.generation-dialog label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}
.generation-dialog textarea{display:block;width:100%;min-height:155px;box-sizing:border-box;resize:vertical;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font:inherit;line-height:1.6}
.generation-dialog textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.generation-actions{margin-top:14px}.generation-count{font-variant-numeric:tabular-nums}
.generation-status{font-size:14px;line-height:1.6;min-height:22px;margin:20px 0 12px}
.generation-note{line-height:1.6;margin:22px 0 0}
.generation-results{display:grid;gap:14px}.generation-result{padding:18px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}
.generation-result>strong{width:100%;font-size:14px}.generation-result img{display:block;width:100%;max-height:480px;object-fit:contain;border-radius:8px}
.generation-result audio{width:100%;height:44px}.generation-result p{margin:0;width:100%;line-height:1.6;font-size:14px}
.generation-icon{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.web-tools-actions{max-height:34dvh;overflow-y:auto;overscroll-behavior:contain}
.message-tools{flex-wrap:wrap}
@media(max-width:480px){.generation-dialog{padding:20px;width:calc(100vw - 24px)}.generation-heading h2{font-size:20px}.generation-actions{gap:10px}.generation-actions button{padding:10px 14px}.generation-tabs button{flex:1;font-size:12px}.generation-result{padding:14px}}


.economy-dialog {
  width: min(800px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 28px;
  border: 1px solid var(--line);
  
  background: var(--panel);
  color: var(--ink);
  font-size: 14px;
  scrollbar-width: thin;border-color:color-mix(in srgb,var(--accent) 18%,transparent);border-radius:18px;}
.economy-dialog::backdrop { background: #0009; }
.economy-dialog header,
.economy-summary,
.economy-dialog nav {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.economy-dialog h2 { margin: 0; font-size: 26px; font-weight: 600; letter-spacing: -.5px; }
.economy-dialog h3 { margin: 24px 0 12px; font-size: 18px; font-weight: 600; }
.economy-summary {
  margin: 22px 0;
  padding: 20px;
  
  
  
  line-height: 1.7;border:0;border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--panel));}
.economy-summary strong { font-variant-numeric: tabular-nums; }
.economy-dialog nav { justify-content: flex-start; margin-bottom: 22px; gap: 4px; padding: 5px; border-radius: 14px; background: color-mix(in srgb,var(--bg) 55%,var(--panel)); }
.economy-dialog nav button { min-height: 42px; padding: 9px 15px;   border:1px solid transparent;border-radius:10px;background:transparent;transition:background 180ms cubic-bezier(.2,.7,.2,1),border-color 180ms cubic-bezier(.2,.7,.2,1),color 180ms cubic-bezier(.2,.7,.2,1);}
.economy-dialog nav [aria-pressed=true] { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 16%, var(--panel)); color: var(--accent-light); }
.economy-form { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin: 16px 0; }
.economy-form label { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 130px; font-size: 13px; color: var(--muted); }
.economy-form input,
.economy-form select { width: 100%; min-height: 44px; padding: 11px 12px; background: var(--bg); color: var(--ink); border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: 14px; }
.economy-dialog button { min-height: 40px; }
.economy-dialog :is(button, input, select):focus-visible { outline: 2px solid var(--accent-light); outline-offset: 3px; }
.economy-dialog table { width: 100%; border-collapse: collapse; font-size: 14px; }
.economy-dialog th,
.economy-dialog td { text-align: left; padding: 13px 12px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.economy-dialog th { font-size: 12px; font-weight: 600; color: var(--muted);background:transparent;}
.economy-dialog td { font-variant-numeric: tabular-nums; }
.economy-board { position: relative; text-align: center;    padding: 24px 20px; line-height: 24px; overflow: hidden;border:0;border-radius:16px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));}
.economy-ball { position: absolute; left: 50%; top: 0; color: var(--accent-light); transition: top 1s, left 1s; }
.economy-dialog p { line-height: 1.7; color: var(--muted); }
@media(prefers-reduced-motion: reduce) { .economy-ball { transition: none; } }
@media(max-width: 480px) {
  .economy-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 20px); padding: 18px; }
  .economy-dialog h2 { font-size: 23px; }
  .economy-dialog header { align-items: flex-start; }
  .economy-summary { padding: 16px; gap: 8px; }
  .economy-dialog nav { gap: 6px; }
  .economy-dialog nav button { flex: 1 1 auto; padding: 9px 11px; }
  .economy-form { align-items: stretch; flex-direction: column; }
  .economy-form label { width: 100%; }
  .economy-form input, .economy-form select { font-size: 16px; }
  .economy-dialog th, .economy-dialog td { padding: 11px 7px; font-size: 12px; }
}
.economy-dialog[open]{animation:economy-arrive .28s cubic-bezier(.16,1,.3,1)}
.economy-dialog nav button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 9%,var(--panel))}
.economy-dialog tbody tr{transition:background 180ms ease}
.economy-dialog tbody tr:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
@keyframes economy-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:360px){.economy-dialog nav button{flex:1 1 40%}.economy-summary{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.economy-dialog,.economy-dialog *{animation:none!important;transition:none!important}}
html[data-motion=off] :is(.economy-dialog,.economy-dialog *){animation:none!important;transition:none!important}

.cm-shell,.cm-modal{color:#e9e7e7;background:#101011;border:1px solid #343033;font-family:inherit;box-sizing:border-box}
.cm-shell *, .cm-modal *{box-sizing:border-box}
.cm-shell{width:min(1400px,calc(100vw - 48px));height:min(940px,calc(100dvh - 48px));max-width:none;max-height:none;padding:0;border-radius:22px;overflow:hidden}
.cm-shell[open]{display:flex;flex-direction:column}
.cm-shell::backdrop,.cm-modal::backdrop{background:rgb(0 0 0 / 82%)}
.cm-shell [hidden],.cm-modal [hidden],.cm-launch[hidden]{display:none!important}
.cm-shell button,.cm-shell input,.cm-shell select,.cm-shell textarea,.cm-modal button,.cm-modal input,.cm-modal select,.cm-modal textarea{font:inherit}
.cm-shell button,.cm-modal button{cursor:pointer}
.cm-shell button:disabled,.cm-modal button:disabled{opacity:.45;cursor:not-allowed}
.cm-shell :focus-visible,.cm-modal :focus-visible{outline:2px solid #e3909c;outline-offset:4px}
.cm-shell .icon,.cm-modal .icon{width:18px;height:18px;flex:none}
.cm-header{display:flex;align-items:center;justify-content:space-between;padding:21px 30px;border-bottom:1px solid #262326;flex:none}
.cm-header-actions{display:flex;align-items:center;gap:9px}.cm-header-actions .cm-profile-launch{font-size:11px!important;min-height:32px;padding:6px 10px}
.cm-brand{display:flex;align-items:center;gap:22px}
.cm-wordmark{color:#f0e6e7;font-size:30px;font-weight:760;letter-spacing:-2px;line-height:1}
.cm-brand h2{font-size:14px;font-weight:500;letter-spacing:.02em;border-left:1px solid #453d40;padding-left:22px;margin:0;color:#b3a9ad}
.cm-nav{display:flex;align-items:center;gap:28px;padding:0 30px;border-bottom:1px solid #262326;flex:none}
.cm-tab{border:0;background:transparent;color:#a49a9e;padding:18px 0 16px;font-size:13px!important;position:relative;white-space:nowrap}
.cm-tab[aria-current=page]{color:#faf3f4}
.cm-tab[aria-current=page]::after{content:"";position:absolute;bottom:-1px;height:2px;background:#d28a95;left:0;right:0}
.cm-body{overflow:auto;flex:1;min-height:0;padding:30px;scrollbar-width:thin;scrollbar-color:#4b4146 transparent;overscroll-behavior:contain}
.cm-hero{padding:30px 0 38px;border-bottom:1px solid #2b262a;margin-bottom:29px;position:relative}
.cm-hero h3{font-size:clamp(28px,3vw,42px);font-weight:570;line-height:1.15;letter-spacing:-1.6px;margin:14px 0 15px;max-width:760px}
.cm-hero p{color:#a59a9f;font-size:14px;line-height:1.8;margin:0;max-width:610px}
.cm-eyebrow{font-size:10px!important;letter-spacing:.16em;color:#c898a2;font-weight:650;line-height:1.6}
.cm-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:38px}
.cm-feed{min-width:0}
.cm-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:25px}
.cm-section-heading h3{font-size:21px;letter-spacing:-.5px;font-weight:580;margin:0 0 8px;line-height:1.35}
.cm-section-heading p{font-size:12px;line-height:1.65;color:#a59a9f;margin:0;max-width:630px}
.cm-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;min-height:39px;font-size:12px!important;font-weight:550;line-height:1.4;color:#e1d9dc;border:1px solid #40353b;background:#211a1e;border-radius:8px;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s;max-width:100%}
.cm-button:hover{border-color:#86646f;background:#2c2027}
.cm-primary{background:#d29ca8;border-color:#d29ca8;color:#201217}
.cm-primary:hover{background:#e8b5c0;border-color:#e8b5c0}
.cm-danger{color:#e5a4ad;background:#281b20;border-color:#5d333f}
.cm-danger:hover{background:#3b2029;border-color:#9d5a6b}
.cm-icon{width:34px;height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:7px;color:#b8a9b0;padding:0}
.cm-icon:hover{background:#2e252a;color:#fff}
.cm-filters{display:flex;gap:8px;margin-bottom:13px}
.cm-shell input:not([type=file]),.cm-shell textarea,.cm-shell select,.cm-modal textarea,.cm-modal input,.cm-modal select{background:#171416;color:#eee6e9;border:1px solid #3b3137;border-radius:8px;padding:11px 12px;line-height:1.5;font-size:13px;min-width:0;max-width:100%;box-shadow:none;color-scheme:dark}
.cm-shell input::placeholder,.cm-shell textarea::placeholder,.cm-modal textarea::placeholder{color:#82747c;opacity:1}
.cm-filters input{flex:1;width:0}
.cm-filters select{max-width:180px}
.cm-filters-categories{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}
.cm-chip{padding:7px 11px;color:#9f9299;border:1px solid transparent;background:transparent;border-radius:6px;font-size:11px!important;line-height:1.5}
.cm-chip:hover{color:#eadde3;background:#211a1e}
.cm-chip[aria-pressed=true]{color:#e5c6d2;background:#2b2127;border-color:#48343f}
.cm-posts{display:grid;gap:0}
.cm-post-card{content-visibility:auto;contain-intrinsic-size:auto 210px;padding:23px 0;border-top:1px solid #2d262b;min-width:0}
.cm-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cm-category{font-size:10px;line-height:1.5;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:#ba9eaa}
.cm-tag{font-size:10px;line-height:1.4;color:#bca7b1;border:1px solid #4c3942;padding:2px 6px;border-radius:4px}
.cm-useful{color:#b3c8ba;border-color:#405549;background:#19251e}
.cm-post-card h4{margin:0 0 9px;line-height:1.35}
.cm-post-title{border:0;padding:0;background:transparent;text-align:left;font-size:17px!important;font-weight:560;letter-spacing:-.25px;color:#f1e7ec;overflow-wrap:anywhere;line-height:1.4}
.cm-post-title:hover{color:#e8afbf}
.cm-excerpt{font-size:12px;line-height:1.8;color:#a99ba3;margin:0 0 17px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cm-post-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.cm-author{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;font-size:11px;color:#ac9aa4;line-height:1.5}
.cm-author time{color:#8d7e86;font-size:10px;white-space:nowrap}
.cm-person{display:inline-flex;align-items:center;gap:7px;color:#c8b9c1;background:transparent;border:0;padding:0;font-size:11px!important;text-align:left;max-width:100%;min-width:0}
.cm-person:hover{color:#fff}
.cm-person>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:190px}
.cm-avatar{width:25px;height:25px;flex:none;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border-radius:50%;background:#422e38;color:#dbbccb;font-size:11px;font-weight:650}
.cm-avatar img{position:absolute;width:100%;height:100%;object-fit:cover;inset:0}
.cm-plan{display:inline-flex;align-items:center;font-size:9px;letter-spacing:.02em;padding:2px 5px;border-radius:4px;line-height:1.4;border:1px solid #46373f;color:#9e8995;white-space:nowrap}
.cm-plan-ultra{background:#302437;border-color:#664c74;color:#d8b9e7}
.cm-plan-staff{background:#312624;border-color:#735347;color:#dfbd9c}
.cm-meta{font-size:10px;color:#a5929e;line-height:1.6}
.cm-aside{display:grid;align-content:start;gap:16px;padding-top:3px}
.cm-note{border:1px solid #3d3038;background:#191417;padding:20px;border-radius:12px}
.cm-note h4{font-size:15px;line-height:1.5;font-weight:550;letter-spacing:-.3px;margin:0 0 10px;color:#d9c7d0}
.cm-note .cm-eyebrow+h4{margin-top:13px}
.cm-note p{font-size:12px;color:#a58f9e;line-height:1.8;margin:0 0 18px}
.cm-note .cm-button{width:100%}
.cm-empty{padding:55px 24px;text-align:center;color:#a899a2;max-width:620px;margin:auto;line-height:1.7}
.cm-empty h3{font-size:24px;color:#eadce4;font-weight:550;letter-spacing:-.5px;margin:20px 0 10px}
.cm-empty p{font-size:13px;margin:0 auto 20px;max-width:400px}
.cm-empty-mark{font-family:Georgia,serif;font-size:30px;color:#b88a9f;border:1px solid #5b3a4c;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:65px;height:65px}
.cm-loading{margin:30px 0;padding:24px;text-align:center;color:#aa94a2;font-size:13px}
.cm-error{color:#efb0bd;background:#341c26;border:1px solid #714051;border-radius:8px;padding:13px 15px;font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;width:100%}
.cm-toast{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);border:1px solid #8c667a;border-radius:10px;background:#36232f;box-shadow:0 8px 24px #0009;padding:13px 19px;color:#f4dce9;font-size:12px;line-height:1.6;z-index:2}
.cm-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px;border-top:1px solid #33262f;font-size:11px;color:#ad95a4}
.cm-detail{width:min(820px,100%);margin:0 auto;padding:4px 0 40px}
.cm-back{display:flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:#b396a7;font-size:11px!important;margin-bottom:30px;line-height:1.5}
.cm-back:hover{color:#eed6e5}
.cm-back .icon{transform:rotate(90deg);width:15px;height:15px}
.cm-detail-title{font-size:clamp(26px,3vw,38px);line-height:1.25;letter-spacing:-1.1px;font-weight:570;margin:14px 0 20px;color:#f2e4ed;overflow-wrap:anywhere}
.cm-prose{font-size:14px;line-height:1.85;color:#c8b6c2;margin:27px 0;overflow-wrap:anywhere}
.cm-prose p{white-space:pre-wrap;margin:0 0 17px}
.cm-prose .cm-short{font-size:13px;color:#bda4b4}
.cm-prose h3{font-size:19px;line-height:1.5;font-weight:570;color:#ebd9e5;margin:26px 0 12px;white-space:pre-wrap}
.cm-prose ul{padding-left:23px;margin:15px 0 22px}
.cm-prose li{padding-left:5px;margin:6px 0;white-space:pre-wrap}
.cm-prose pre{border:1px solid #45303e;background:#151014;border-radius:9px;padding:19px;overflow:auto;max-width:100%;font-size:12px;line-height:1.7;white-space:pre;color:#d1b3c7}
.cm-prose code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.cm-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.cm-attachments:empty{display:none}
.cm-attachment{margin:0;border:1px solid #41313b;border-radius:10px;overflow:hidden;background:#090809}
.cm-attachment img,.cm-attachment video{width:100%;max-height:380px;object-fit:contain;display:block;aspect-ratio:16/10;background:#090809}
.cm-attachment figcaption{display:flex;justify-content:space-between;gap:9px;padding:11px 13px;font-size:10px;color:#947d8b;background:#1b1419}
.cm-attachment figcaption a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-attachment figcaption span{white-space:nowrap}
.cm-link{color:#d2a6bf;text-decoration:none}
.cm-link:hover{text-decoration:underline}
.cm-embed{border:1px solid #473140;border-radius:10px;padding:16px;background:#1b1419;font-size:12px;min-width:0}
.cm-embed-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}
.cm-embed-heading strong{font-size:12px;font-weight:550;color:#ddc3d4}
.cm-embed-heading a{font-size:10px}
.cm-embed p{font-size:11px;color:#ab8d9f;line-height:1.65;margin-bottom:16px}
.cm-embed iframe{width:100%;min-height:230px;border:0;border-radius:5px;background:#080608;display:block}
.cm-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0 0}
.cm-post-actions{margin:28px 0;padding-top:20px;border-top:1px solid #392b34}
.cm-replies{border-top:1px solid #45333f;margin-top:35px;padding-top:24px}
.cm-replies>h4{font-size:18px;font-weight:550;letter-spacing:-.4px;margin:0 0 24px}
.cm-reply{content-visibility:auto;contain-intrinsic-size:auto 190px;padding:23px 0;border-bottom:1px solid #33252e}
.cm-reply .cm-prose{margin:15px 0 5px;font-size:13px}
.cm-muted{font-size:12px;color:#ab91a0;line-height:1.75}
.cm-callout{color:#cbb0bf;background:#281c24;border-left:2px solid #8b5a74;padding:13px 17px;font-size:12px;line-height:1.7}
.cm-editor{display:flex;flex-direction:column;gap:18px;margin-top:28px}
.cm-field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#cdb5c4;font-size:12px;font-weight:550;line-height:1.5}
.cm-field small{font-size:10px;font-weight:400;color:#a08296;line-height:1.7}
.cm-field input,.cm-field select,.cm-field textarea{width:100%}
.cm-editor-title{font-size:14px;font-weight:550;color:#d9bfce;margin:0}
.cm-blocks{display:flex;flex-direction:column;gap:12px}
.cm-block{border:1px solid #4a3243;border-radius:10px;overflow:hidden;background:#1c1319}
.cm-block-heading{display:flex;align-items:center;gap:3px;background:#281c24;border-bottom:1px solid #483040;padding:6px 9px}
.cm-block-heading select{font-size:11px!important;padding:5px 9px!important;background:transparent!important;border-color:transparent!important;margin-right:auto;max-width:180px}
.cm-block-heading .cm-icon{height:28px;width:28px;min-width:28px}
.cm-block textarea{display:block;width:100%;min-height:70px;resize:vertical;border:0!important;border-radius:0!important;background:transparent!important;padding:16px!important;color:#dec1d2!important;line-height:1.75!important}
.cm-block textarea:focus-visible{outline-offset:-3px}
.cm-code-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important}
.cm-add-block{display:flex;align-items:center;gap:16px;margin-top:-3px}
.cm-add-block small{font-size:10px;line-height:1.7;color:#a88a9d}
.cm-upload-zone{border:1px dashed #624056;border-radius:10px;padding:19px;background:#1b1218}
.cm-upload-zone input[type=file]{color:#b798ac;font-size:11px;max-width:100%}
.cm-upload-zone input[type=file]::file-selector-button{background:#3a2532;color:#e1c3d5;border:1px solid #68445b;border-radius:6px;padding:8px 11px;margin-right:12px;font:inherit;cursor:pointer}
.cm-upload-status{margin:10px 0 0;font-size:11px;line-height:1.6;color:#bf93ab}
.cm-upload-status:empty{display:none}
.cm-files{display:grid;gap:6px;margin-top:12px}
.cm-files:empty{display:none}
.cm-file{display:flex;align-items:center;gap:10px;padding:7px 9px;border:1px solid #503345;background:#261922;border-radius:7px;color:#d4adc5;font-size:11px;min-width:0}
.cm-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.cm-file small{color:#a8879a;white-space:nowrap;font-size:10px}
.cm-media-editor h4{margin:0 0 10px;font-size:12px;font-weight:550;color:#d2afc4}
.cm-link-input{display:flex;gap:8px}
.cm-link-input input{flex:1;width:0}
.cm-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #4b2e40;padding-top:20px;margin-top:5px}
.cm-editor-footer small{max-width:400px;font-size:10px;line-height:1.75;color:#b48da5}
.cm-report-list{display:grid;gap:11px}
.cm-report-card{padding:19px;border:1px solid #45313e;border-radius:10px;background:#1d141b}
.cm-report-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.cm-report-heading .cm-post-title{font-size:15px!important}
.cm-status{display:inline-flex;flex:none;padding:5px 8px;border:1px solid #725068;border-radius:5px;color:#d5b4ca;font-size:10px;line-height:1.3;background:#33202d}
.cm-status-reviewing{color:#ddc49f;border-color:#806443;background:#30251a}
.cm-status-resolved{color:#b1d1b7;border-color:#4c7556;background:#1c2b20}
.cm-status-closed{color:#b4a6b0;border-color:#5d4a57;background:#281e25}
.cm-report-state{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:25px 0}
.cm-review-note{border-left:2px solid #b380a2;background:#2d1c27;padding:16px 20px;margin:24px 0}
.cm-review-note h4{font-size:12px;margin:0 0 8px;color:#e2b8d2;font-weight:550}
.cm-review-note p{font-size:13px;color:#cfa8bf;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.cm-review{display:grid;gap:16px;margin-top:32px;padding:24px;border:1px solid #5a374c;border-radius:12px;background:#22151e}
.cm-review h4{font-size:16px;margin:0;color:#e2bcd5;font-weight:550}
.cm-review>.cm-button{justify-self:end}
.cm-modal{padding:27px;border-radius:17px;width:min(460px,calc(100vw - 30px));max-width:none;max-height:calc(100dvh - 30px);overflow:auto;position:fixed}
.cm-modal>h3,.cm-modal form>h3{margin:0 0 13px;font-size:22px;letter-spacing:-.5px;line-height:1.3;font-weight:550;color:#efcee5}
.cm-modal>p,.cm-modal form>p{font-size:13px;color:#bea1b4;line-height:1.8;margin:0 0 22px}
.cm-modal .cm-actions{justify-content:flex-end}
.cm-profile{padding:7px 7px 23px;border:1px solid var(--cm-edge);background:linear-gradient(155deg,var(--cm-top),var(--cm-base));border-radius:18px;color:#f4f5f7;scrollbar-width:thin;scrollbar-color:var(--cm-edge) transparent}
.cm-profile-close{position:absolute;right:18px;top:17px;z-index:2;background:#101216c9;border:1px solid #ffffff38;color:#f4f5f7;border-radius:50%}
.cm-profile-close:hover{background:#17191f;color:#fff}
.cm-profile-banner{height:145px;background:linear-gradient(120deg,var(--cm-accent),var(--cm-edge));border-radius:11px 11px 0 0;overflow:hidden}
.cm-profile-banner img{width:100%;height:100%;object-fit:cover;display:block}
.cm-profile-info{position:relative;padding:0 18px}
.cm-profile-top{display:flex;align-items:flex-start;gap:12px;position:relative;min-height:62px;margin-bottom:13px}.cm-profile-portrait{position:relative;display:block;flex:none;width:90px;height:90px;margin-top:-44px;isolation:isolate}
.cm-profile-portrait .cm-avatar-large{width:90px;height:90px;border:6px solid var(--cm-base);font-size:30px;position:relative;overflow:hidden;background:var(--cm-accent);color:var(--cm-ink)}
.cm-profile-decoration{position:absolute;inset:-3px;width:96px;height:96px;object-fit:contain;pointer-events:none}
.cm-profile-info h3{font-size:26px;letter-spacing:-.6px;line-height:1.3;margin:0 0 4px;font-weight:650;color:#fff;overflow-wrap:anywhere}
.cm-profile-info p{margin:0}
.cm-profile-username{color:#e0e2e9;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.cm-profile-pronouns{color:#bfc5d1;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.cm-profile-badges{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:5px;min-width:0;flex:1;padding-top:13px;padding-bottom:5px}
.cm-profile-badges .cm-plan{font-size:10px;padding:4px 7px}.cm-profile-badges .cm-plan-standard{background:#20252c;border-color:#59616d;color:#d4dae3}.cm-profile-badges .cm-plan-ultra{background:#382348;border-color:#ac7bc7;color:#f0ccff;font-weight:650}.cm-profile-badges .cm-plan-staff{background:#163d37;border-color:#52ac97;color:#adf1db;font-weight:650}
.cm-profile-badge,.cm-profile-guild{display:inline-flex;align-items:center;gap:5px;background:var(--cm-panel);border:1px solid var(--cm-edge);border-radius:5px;padding:4px 6px;font-size:9px;line-height:1.4;color:#e4e7ed}
.cm-profile-guild{font-weight:650;font-size:11px;letter-spacing:.04em}
.cm-profile-guild img{width:16px;height:16px;object-fit:contain}
.cm-profile-about{padding:17px 15px;margin:18px 0 0;border-radius:10px;background:var(--cm-panel);border:1px solid var(--cm-edge)}
.cm-profile-about h4,.cm-profile-posts h4{font-size:10px;line-height:1.5;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:#e5e7ee;margin:0 0 7px}
.cm-profile-about h4:not(:first-child){margin-top:18px}
.cm-profile-about .cm-profile-bio{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75;color:#e3e5ed}
.cm-profile-about .cm-profile-since{font-size:12px;line-height:1.7;color:#c5cad5}
.cm-profile-actions{display:flex;gap:8px;margin-top:17px;flex-wrap:wrap}
.cm-profile-actions .cm-button{flex:1;background:var(--cm-panel);border-color:var(--cm-edge);color:#edf0f5;font-size:11px!important}
.cm-profile-actions .cm-button:hover{filter:brightness(1.13)}
.cm-profile-actions .cm-profile-discord{background:var(--cm-accent);border-color:var(--cm-accent);color:var(--cm-ink)}
.cm-profile-posts{border-top:1px solid var(--cm-edge);margin:20px 18px 0;padding-top:17px}
.cm-profile-post{display:block;width:100%;text-align:left;font-size:12px!important;line-height:1.6;color:#e1e5ee;background:transparent;padding:10px 0;border:0;border-bottom:1px solid var(--cm-edge);overflow-wrap:anywhere}
.cm-profile-post:hover{color:#fff;text-decoration:underline}
.cm-profile-posts .cm-muted{color:#c1c7d2;font-size:12px}
.cm-profile-editor{display:grid;gap:17px}
.cm-modal .cm-profile-editor>h3,.cm-modal .cm-profile-editor>p{margin:0}
.cm-profile-choice{display:flex;align-items:center;gap:9px;font-size:12px;color:#dac6d2;line-height:1.5}
.cm-profile-choice input{accent-color:#d29ca8;width:16px;height:16px}
.cm-profile-editor input[type=color]{height:44px;max-width:130px;padding:5px}
.cm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:27px 0}
.cm-stats>div{padding:22px;border:1px solid #503044;border-radius:10px;background:#24141e}
.cm-stats strong{display:block;font-size:32px;font-weight:550;letter-spacing:-1px;color:#e1b2ce;line-height:1.2;margin-bottom:8px}
.cm-stats span{font-size:11px;color:#ba8da8}
.cm-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-bottom:32px}
.cm-admin-section{min-width:0}
.cm-admin-section h3,.cm-audit h3{font-size:17px;font-weight:550;color:#e4b3d1;letter-spacing:-.2px;margin:0 0 17px}
.cm-admin-section>input,.cm-admin-section>select{width:100%;margin-bottom:17px}
.cm-admin-section .cm-report-list,.cm-members{max-height:540px;overflow:auto;scrollbar-width:thin;scrollbar-color:#644055 transparent;padding-right:5px}
.cm-admin-section .cm-report-heading{gap:10px}
.cm-admin-section .cm-report-heading .cm-post-title{font-size:13px!important}
.cm-member{display:flex;align-items:center;gap:12px;border-bottom:1px solid #4b2c3f;padding:15px 0}
.cm-member>div{flex:1;min-width:0}
.cm-member-name{display:block;text-align:left;border:0;background:transparent;color:#e8bbd6;padding:0;font-size:12px!important;margin-bottom:5px;overflow-wrap:anywhere}
.cm-member>div small{display:block;font-size:9px;color:#a27791;margin-bottom:6px}
.cm-member>.cm-button{font-size:10px!important;padding:7px 9px;min-height:32px}
.cm-member>.cm-meta{font-size:9px;max-width:65px}
.cm-table-scroll{overflow:auto;border:1px solid #4b2c3e;border-radius:9px}
.cm-audit table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;line-height:1.6}
.cm-audit th{background:#291722;font-size:10px;font-weight:550;color:#cf99b8;padding:13px 16px;white-space:nowrap}
.cm-audit td{padding:12px 16px;border-top:1px solid #422538;color:#b38caa;vertical-align:top;max-width:260px;overflow-wrap:anywhere}
.cm-audit td:first-child{white-space:nowrap}
@media(min-width:1500px){.cm-shell{height:calc(100dvh - 80px)}}
@media(max-width:1050px){.cm-layout{grid-template-columns:minmax(0,1fr) 205px;gap:23px}.cm-body{padding:24px}.cm-header{padding:19px 24px}.cm-nav{padding:0 24px}.cm-section-heading{flex-wrap:wrap;gap:14px}.cm-aside .cm-note{padding:16px}.cm-member>.cm-meta{display:none}}
@media(max-width:780px){.cm-shell{width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:15px}.cm-layout{display:block}.cm-aside{grid-template-columns:1fr 1fr;margin-top:28px}.cm-hero{padding:20px 0 28px;margin-bottom:24px}.cm-hero h3{font-size:31px;letter-spacing:-1px}.cm-admin-grid{grid-template-columns:1fr;gap:32px}.cm-stats>div{padding:16px}.cm-stats strong{font-size:26px}.cm-header{padding:17px 20px}.cm-body{padding:20px}.cm-nav{padding:0 20px;gap:24px}.cm-tab{font-size:12px!important}.cm-section-heading h3{font-size:20px}.cm-attachments{gap:10px}.cm-attachment img,.cm-attachment video{max-height:300px}.cm-report-card{padding:16px}.cm-post-foot{gap:10px}}
@media(max-width:520px){.cm-shell{width:100vw;height:100dvh;border:0;border-radius:0;margin:0}.cm-header{padding:16px 17px}.cm-brand{gap:15px}.cm-brand h2{padding-left:15px}.cm-nav{padding:0 17px;gap:21px}.cm-tab{font-size:11px!important;padding:16px 0}.cm-body{padding:20px 17px}.cm-hero{padding:12px 0 26px}.cm-hero h3{font-size:29px;max-width:310px;line-height:1.18}.cm-hero p{font-size:12px;line-height:1.85}.cm-eyebrow{font-size:9px!important}.cm-section-heading{margin-bottom:19px}.cm-section-heading .cm-primary{width:100%}.cm-section-heading>div{width:100%}.cm-section-heading p{font-size:11px}.cm-filters{flex-wrap:wrap}.cm-filters input{width:calc(100% - 90px);flex:1}.cm-filters select{order:3;width:100%;max-width:none;font-size:11px;padding:9px 11px}.cm-filters-categories{gap:2px}.cm-chip{font-size:10px!important;padding:7px 8px}.cm-post-card{content-visibility:auto;contain-intrinsic-size:auto 210px;padding:22px 0}.cm-post-title{font-size:16px!important}.cm-author{gap:6px}.cm-author time{font-size:9px}.cm-person{font-size:10px!important}.cm-person>span:last-child{max-width:145px}.cm-plan{font-size:8px}.cm-post-foot{display:block}.cm-post-foot>.cm-meta{display:block;margin-top:12px;padding-left:32px}.cm-aside{grid-template-columns:1fr}.cm-note h4{font-size:16px}.cm-note p{font-size:12px}.cm-note .cm-button{width:auto}.cm-detail-title{font-size:29px;letter-spacing:-.8px}.cm-prose{font-size:13px}.cm-attachments{grid-template-columns:1fr}.cm-embed iframe{min-height:260px}.cm-back{margin-bottom:25px}.cm-detail{padding-bottom:20px}.cm-editor-footer{flex-direction:column;align-items:stretch;gap:16px}.cm-editor-footer .cm-button{width:100%}.cm-editor-footer small{max-width:none}.cm-add-block{align-items:flex-start;gap:10px}.cm-add-block small{max-width:135px;font-size:9px}.cm-add-block .cm-button{font-size:11px!important;padding:9px 10px}.cm-upload-zone{padding:15px}.cm-link-input{flex-wrap:wrap}.cm-link-input input{width:100%;flex:auto}.cm-link-input .cm-button{width:100%}.cm-report-heading{gap:12px}.cm-report-heading .cm-post-title{font-size:14px!important}.cm-stats{gap:8px}.cm-stats>div{padding:15px 12px}.cm-stats strong{font-size:25px}.cm-stats span{font-size:10px}.cm-review{padding:18px}.cm-toast{bottom:15px;font-size:11px;padding:12px 15px}.cm-actions .cm-button{font-size:11px!important}.cm-profile-info h3{font-size:23px}.cm-empty{padding:35px 10px}.cm-empty h3{font-size:23px}.cm-empty p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.cm-shell *,.cm-modal *{scroll-behavior:auto!important;transition:none!important}}

.cm-plan-owner,.cm-profile-badges .cm-plan-owner{background:#322914;border-color:#9b7b35;color:#f2d58e;font-weight:700}
.cm-nav{overflow-x:auto;flex-shrink:0}.cm-tab{flex-shrink:0}

.cm-like{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;min-width:55px;padding:6px 10px;background:#1e1b20;border:1px solid #45343f;color:#c9b1c1;border-radius:7px;font-size:11px!important;line-height:1.3;font-variant-numeric:tabular-nums;transition:background .12s,color .12s}
.cm-like .icon{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cm-like:hover{background:#35242c;color:#f0c5d6}
.cm-like[aria-pressed=true]{background:#442438;color:#fac7df;border-color:#92516f}
.cm-like[aria-pressed=true] .icon{fill:currentColor}
.cm-reactions{display:flex;align-items:center;gap:15px;flex:none}
.cm-profile-social{display:flex;align-items:center;gap:20px;padding:16px 0 0}
.cm-profile-social .cm-like{background:var(--cm-panel);border-color:var(--cm-edge);color:#e5e9f1;font-size:12px!important}
.cm-profile-social .cm-like[aria-pressed=true]{color:#ffcadf;border-color:#b16b88}
.cm-profile-social .cm-like:disabled{opacity:1;cursor:default}
.cm-profile-views{display:flex;align-items:baseline;gap:6px;color:#c7ced9;font-size:11px;line-height:1.5}
.cm-profile-views strong{font-weight:650;font-size:13px;color:#f2f4f8}
.cm-profile-sync{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;color:#bcc6d3;font-size:10px;line-height:1.6}
.cm-profile-retry{border:0;background:transparent;color:#eff3f9;text-decoration:underline;font-size:10px!important;padding:3px 0}
.cm-skeleton{display:grid;gap:17px;padding:5px 0 25px}
.cm-skeleton-row{padding:22px 0;border-top:1px solid #29272b;display:grid;gap:14px}
.cm-skeleton-row span{display:block;height:11px;border-radius:3px;background:#222126;width:70%}
.cm-skeleton-row span:first-child{width:120px;height:8px;background:#2b252b}
.cm-skeleton-row span:last-child{width:42%;height:9px}

.hub-dialog{width:min(1050px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:28px;overflow:auto;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:18px}.hub-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.hub-header,.hub-toolbar,.hub-search,.hub-actions{display:flex;align-items:center;gap:12px}.hub-header,.hub-toolbar{justify-content:space-between}.hub-header{padding-bottom:20px;border-bottom:1px solid var(--line)}.hub-header h2{margin:4px 0;font-size:28px}.hub-eyebrow{font-size:10px;letter-spacing:2px;opacity:.6;margin:0}.hub-status{min-height:20px;font-size:13px}.hub-search{flex:1}.hub-search input{width:100%;min-width:0}.hub-dialog input,.hub-dialog textarea,.hub-dialog select{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:11px;border-radius:8px;font:inherit;box-sizing:border-box}.hub-dialog button,.hub-dialog a{cursor:pointer}.hub-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hub-primary{background:var(--accent)!important;color:var(--accent-ink,#fff)!important}.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.hub-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s}.hub-card:hover{border-color:var(--accent)}.hub-card-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit}.hub-card-open>img,.hub-placeholder{width:100%;height:155px;object-fit:cover}.hub-placeholder{display:grid;place-items:center;font:12px monospace;letter-spacing:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 16%,var(--panel)),var(--panel));color:var(--ink)}.hub-card-content{padding:18px}.hub-kind{text-transform:uppercase;font-size:10px;letter-spacing:1.6px;opacity:.6}.hub-card h3{margin:9px 0;font-size:17px;overflow-wrap:anywhere}.hub-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;line-height:1.45;font-size:13px;opacity:.75}.hub-byline{font-size:12px;line-height:1.6;opacity:.65;overflow-wrap:anywhere}.hub-empty{grid-column:1/-1;text-align:center;padding:70px 15px;border:1px dashed var(--line);border-radius:12px}.hub-empty p{opacity:.65}.hub-actions{flex-wrap:wrap;margin:20px 0}.hub-actions a{text-decoration:none}.hub-detail h3{font-size:26px;margin:12px 0;overflow-wrap:anywhere}.hub-detail{margin-top:22px}.hub-cover{max-width:100%;max-height:350px;object-fit:contain;border-radius:12px;display:block;margin:20px 0}.hub-full-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.hub-code{padding:20px;border:1px solid var(--line);border-radius:10px;max-height:450px;overflow:auto;font:12px/1.7 ui-monospace,monospace;tab-size:4;background:#0002}.hub-form{display:grid;gap:18px;margin-top:22px;max-width:740px}.hub-form label{display:grid;gap:8px;font-size:13px}.hub-form label[hidden]{display:none}.hub-form textarea{resize:vertical}.hub-form .hub-code-input{font:12px/1.6 ui-monospace,monospace}.hub-form button{justify-self:start}.hub-dialog button:disabled{opacity:.5;cursor:wait}@media(max-width:800px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.hub-dialog{padding:18px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.hub-grid{grid-template-columns:1fr}.hub-toolbar{align-items:stretch;flex-direction:column}.hub-card-open>img,.hub-placeholder{height:180px}.hub-header h2{font-size:24px}.hub-search{width:100%}}
.hub-dialog{padding:30px 34px 24px;width:min(1120px,calc(100vw - 48px));border-color:color-mix(in srgb,var(--accent) 20%,var(--line));box-shadow:0 32px 100px #0007;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 4%,var(--panel)),var(--panel) 45%);scrollbar-width:thin;overscroll-behavior:contain}.hub-dialog[open]{animation:hub-enter .24s cubic-bezier(.2,.8,.2,1)}.hub-dialog::backdrop{animation:hub-fade .2s ease}.hub-header{padding-bottom:18px}.hub-header h2{font-size:30px;letter-spacing:-1px;font-weight:650}.hub-eyebrow{color:var(--accent-light);opacity:1;font-weight:600;letter-spacing:2.2px}.hub-dialog .secondary-button{border-radius:9px;padding:10px 15px;transition:background .16s,border-color .16s,transform .16s;white-space:nowrap}.hub-dialog .secondary-button:hover{transform:translateY(-1px)}.hub-dialog .secondary-button:active{transform:translateY(0) scale(.98)}.hub-primary{color:var(--bg)!important;font-weight:650;box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 15%,transparent)}.hub-status{margin:10px 0;min-height:18px;color:var(--muted);display:flex;align-items:center;gap:8px}.hub-loading:before{content:'';width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:hub-spin .7s linear infinite;flex-shrink:0}.hub-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:10px;overflow-x:auto}.hub-tabs .secondary-button{background:transparent;border-color:transparent;color:var(--muted);position:relative}.hub-tabs .secondary-button[aria-pressed=true]{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 20%,transparent)}.hub-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}.hub-intro h3{margin:0;font-size:28px;font-weight:600;letter-spacing:-.8px}.hub-intro p{margin:7px 0 0;color:var(--muted);font-size:13px}.hub-motif{font:15px ui-monospace,monospace;color:var(--muted);opacity:.55;letter-spacing:-.5px}.hub-toolbar{gap:20px}.hub-search input{background:color-mix(in srgb,var(--bg) 45%,var(--panel));font-size:13px;border-color:var(--line)}.hub-grid{gap:20px;margin-top:22px}.hub-card{background:color-mix(in srgb,var(--bg) 20%,var(--panel));transition:transform .22s,border-color .22s,box-shadow .22s;animation:hub-rise .35s ease both}.hub-card:nth-child(3n+2){animation-delay:.04s}.hub-card:nth-child(3n+3){animation-delay:.08s}.hub-card:hover{transform:translateY(-4px);box-shadow:0 14px 26px #0003}.hub-card:focus-within{border-color:var(--accent)}.hub-card-open>img{transition:filter .25s;aspect-ratio:16/9;height:auto;min-height:150px;max-height:210px}.hub-card:hover img{filter:brightness(1.07)}.hub-placeholder{height:172px;background:color-mix(in srgb,var(--accent) 7%,var(--bg));color:var(--muted);font-size:12px;letter-spacing:4px;border-bottom:1px solid var(--line)}.hub-card-content{padding:18px 19px 14px}.hub-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.hub-kind{opacity:1;color:var(--muted);font-size:9px;font-weight:650}.hub-badge{font-size:9px;line-height:1.6;border-radius:20px;padding:3px 8px;text-transform:capitalize;letter-spacing:.25px;white-space:nowrap;border:1px solid var(--line);color:var(--muted)}.hub-published{color:#a8d9b5;border-color:#769a7138;background:#6fa2670c}.hub-pending{color:#e2bf89;border-color:#b28a4238;background:#b28a420c}.hub-rejected{color:#e89999;border-color:#b2585838;background:#b258580c}.hub-card h3{font-size:18px;letter-spacing:-.3px;margin-top:12px}.hub-description{opacity:1;color:var(--muted);font-size:12px;min-height:35px}.hub-byline{opacity:1;color:var(--muted);font-size:11px}.hub-card .hub-byline{border-top:1px solid var(--line);padding-top:12px;margin:14px 0 0}.hub-body>.hub-detail,.hub-body>.hub-form{animation:hub-rise .25s ease}.hub-detail .hub-kind{color:var(--accent-light)}.hub-require-id{font:12px ui-monospace,monospace;padding:12px 15px;border:1px solid var(--line);border-radius:8px;background:var(--bg);display:inline-block;color:var(--accent-light)}.hub-code{background:var(--bg);padding:22px;line-height:1.8;color:var(--ink)}.hub-full-description{font-size:14px;max-width:760px}.hub-form-title{font-size:24px;margin-bottom:0;letter-spacing:-.6px}.hub-form{max-width:none;grid-template-columns:1fr 1fr;padding:24px;background:color-mix(in srgb,var(--bg) 30%,var(--panel));border:1px solid var(--line);border-radius:12px}.hub-form label{color:var(--muted);font-size:12px}.hub-form label:has(textarea),.hub-form label:has([name=asset]),.hub-form>p,.hub-form>button{grid-column:1/-1}.hub-form input,.hub-form textarea,.hub-form select{background:var(--bg);color:var(--ink);transition:border-color .18s}.hub-form input:focus,.hub-form textarea:focus,.hub-form select:focus{border-color:var(--accent)}.hub-form input[type=file]{font-size:11px;max-width:100%}.hub-form input[type=file]::file-selector-button{background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:6px 10px;border-radius:5px;margin-right:10px;cursor:pointer}.hub-form .hub-byline{max-width:650px;margin:0}.hub-empty{background:color-mix(in srgb,var(--accent) 2%,transparent);padding:60px 20px}.hub-empty h3{font-size:19px;font-weight:500}.hub-empty p{font-size:13px}.hub-actions{gap:8px}.hub-cover{width:100%;max-height:320px;object-fit:cover;border:1px solid var(--line)}@keyframes hub-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hub-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-fade{from{opacity:0}to{opacity:1}}@keyframes hub-spin{to{transform:rotate(360deg)}}@media(max-width:700px){.hub-dialog{padding:22px;width:calc(100vw - 24px)}.hub-form{padding:18px;grid-template-columns:1fr}.hub-form label{grid-column:1}.hub-motif{display:none}.hub-tabs{gap:0}.hub-tabs .secondary-button{padding:9px 11px;font-size:12px}}@media(max-width:540px){.hub-dialog{padding:17px;width:calc(100vw - 12px);max-height:calc(100dvh - 12px)}.hub-intro{padding:22px 0}.hub-intro h3{font-size:24px}.hub-header h2{font-size:26px}.hub-placeholder{height:160px}.hub-toolbar{gap:12px}.hub-search{gap:7px}.hub-search input{font-size:12px}.hub-card:hover{transform:none}.hub-cover{max-height:220px}}@media(prefers-reduced-motion:reduce){.hub-dialog,.hub-dialog *,.hub-dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hub-card:hover,.hub-dialog .secondary-button:hover,.hub-dialog .secondary-button:active{transform:none}}
.hub-dialog .hub-eyebrow{margin:0;font-size:10px;line-height:1.5;color:var(--accent-light)}.hub-dialog .hub-header h2{margin:5px 0 0;line-height:1.25}.hub-dialog .hub-status{font-size:12px;line-height:1.5;margin:10px 0;min-height:18px}.hub-dialog .hub-status:empty{min-height:16px;margin:0}.hub-dialog .hub-intro p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}.hub-dialog .hub-description{font-size:12px;line-height:1.5;margin:10px 0;color:var(--muted)}.hub-dialog .hub-byline{font-size:11px;line-height:1.6;color:var(--muted);margin:12px 0}.hub-dialog .hub-card .hub-byline{margin:12px 0 0}.hub-dialog .hub-empty p{font-size:13px;margin:8px 0 0}.hub-dialog .hub-require-id{font:12px/1.5 ui-monospace,monospace;color:var(--accent-light);margin:12px 0}.hub-intro{padding:22px 0}.hub-dialog .hub-form>p{margin:0;font-size:12px;line-height:1.6}.hub-dialog .hub-form label{margin:0;display:grid;gap:8px}.hub-dialog .hub-form label[hidden]{display:none}
