@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--bg:oklch(18% .032 335);--surface-1:oklch(20% .033 335);--surface-2:oklch(22% .035 335);--surface-3:oklch(16% .026 335);--border:oklch(31% .032 335);--text-primary:oklch(88% .012 335);--text-secondary:oklch(65% .016 335);--text-placeholder:oklch(56% .014 335);--user-message:oklch(70% .02 335);--roxy-message:oklch(85% .05 75);--accent:oklch(72% .1 50);--accent-tint-bg:oklch(28% .05 50);--accent-tint-text:oklch(85% .08 50);--accent-tint-border:oklch(45% .08 50);--error-bg:oklch(24% .05 25);--error-border:oklch(48% .11 25);--error-text:oklch(85% .09 25);--error-text-bright:oklch(85% .1 25);--error-icon:oklch(63% .17 25);--success:oklch(72% .13 150);--font-serif:"Domine", Georgia, "Times New Roman", serif;--font-sans:"Work Sans", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}button,input,textarea{font-family:inherit}:is(button,input,textarea,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(button,a,.gallery-thumb):hover:not(:disabled){filter:brightness(1.08)}@keyframes sh-pulse{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes sh-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes sh-spin{to{transform:rotate(360deg)}}.brand-mark{display:flex}.brand-mark .dot{border-radius:50%}.brand-mark .dot-copper{background:var(--accent)}.brand-mark .dot-gold{background:var(--roxy-message)}.brand-mark--pin .dot{width:34px;height:34px}.brand-mark--pin .dot-gold{margin-left:-12px}.brand-mark--empty .dot{width:38px;height:38px}.brand-mark--empty .dot-gold{margin-left:-13px}.wordmark{font-family:var(--font-serif);color:var(--roxy-message);font-size:30px;font-weight:500}.wordmark-dot{color:var(--accent)}.pin-screen{background:var(--bg);justify-content:center;align-items:center;height:100dvh;display:flex}.pin-form{flex-direction:column;align-items:center;gap:26px;width:100%;max-width:280px;padding:0 24px;display:flex}.pin-input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-primary);font-size:17px;font-family:var(--font-sans);text-align:center;letter-spacing:.4em;appearance:none;border-radius:999px;outline:none;padding:16px 18px;transition:border-color .15s}.pin-input:focus{border-color:var(--accent)}.pin-input.error{border-color:var(--error-border)}.pin-input::placeholder{color:var(--text-placeholder)}.pin-button{background:var(--accent);width:100%;color:var(--bg);font-size:14px;font-family:var(--font-sans);letter-spacing:.06em;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:15px;font-weight:600;transition:filter .15s;display:flex;box-shadow:0 6px 18px #d7926b59}.pin-button:disabled{cursor:default}.pin-spinner{border:2px solid oklch(18% .032 335/.4);border-top-color:var(--bg);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite sh-spin}.pin-error{color:var(--error-text);font-size:12px;font-family:var(--font-sans);text-align:center;margin-top:-10px}.chat-app{flex-direction:column;width:100%;max-width:720px;height:100dvh;margin:0 auto;display:flex;position:relative}.top-bar{z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.top-bar-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:filter .15s;display:flex}.top-bar-btn:disabled{opacity:.3;cursor:default}.gallery-icon{align-items:flex-end;gap:2px;display:flex}.gallery-icon span{background:currentColor;border-radius:3px;width:6px}.gallery-icon span:first-child{height:12px}.gallery-icon span:nth-child(2){height:16px}.gallery-icon span:nth-child(3){height:9px}.top-bar-new{border:1px solid var(--error-border);width:auto;height:auto;color:var(--error-text);font-family:var(--font-sans);letter-spacing:.03em;background:#33151380;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:600;display:flex}.top-bar-new-dot{background:var(--error-icon);border-radius:50%;flex-shrink:0;width:6px;height:6px}.conversation{scroll-behavior:smooth;flex-direction:column;flex:1;gap:28px;padding:8px 20px 20px;display:flex;overflow-y:auto}.conversation::-webkit-scrollbar{width:4px}.conversation::-webkit-scrollbar-track{background:0 0}.conversation::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chat-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.chat-empty-title{font-family:var(--font-serif);color:var(--roxy-message);font-size:22px;line-height:1.5}.chat-empty-hint{font-family:var(--font-sans);color:var(--text-secondary);font-size:13px}.message{max-width:88%;line-height:1.85}.message.roxy{font-family:var(--font-serif);color:var(--roxy-message);align-self:flex-start;font-size:17px}.message.jules{font-family:var(--font-sans);color:var(--user-message);text-align:right;align-self:flex-end;font-size:14px;line-height:1.5}.stream-cursor{margin-left:1px;animation:1s step-end infinite sh-blink;display:inline-block}.typing-dots{align-items:center;gap:5px;padding:2px 0;display:inline-flex}.typing-dots span{background:var(--roxy-message);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite sh-pulse}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.system-error{background:var(--error-bg);border-radius:16px;align-self:stretch;align-items:flex-start;gap:10px;max-width:100%;padding:13px 15px;display:flex}.system-error-icon{background:var(--error-icon);width:18px;height:18px;color:var(--error-bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:10px;font-weight:700;display:flex}.system-error-label{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--error-text-bright);margin-bottom:2px;font-size:10px;font-weight:600}.system-error-text{font-family:var(--font-sans);color:var(--error-text);font-size:12px;line-height:1.5}.image-prompt-block{background:var(--surface-1);border:1px solid var(--border);box-sizing:border-box;border-radius:20px;align-self:stretch;width:100%;max-width:100%;padding:18px;position:relative}.image-prompt-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:10px;font-size:9px}.prompt-editor{flex-direction:column;gap:12px;display:flex}.prompt-textarea{box-sizing:border-box;background:var(--surface-3);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:none;border-radius:16px;outline:none;padding:12px 14px;font-size:13px;line-height:1.6;transition:border-color .15s;overflow:hidden}.prompt-textarea:focus{border-color:var(--accent)}.prompt-error{font-family:var(--font-sans);color:var(--error-text);font-size:12px}.generate-btn{background:var(--accent);color:var(--bg);font-size:12px;font-family:var(--font-sans);letter-spacing:.02em;cursor:pointer;border:none;border-radius:999px;align-self:flex-start;padding:9px 20px;font-weight:600;transition:filter .15s}.generate-btn:disabled{opacity:.5;cursor:default}.generate-loading{color:var(--text-secondary);font-family:var(--font-sans);letter-spacing:.04em;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100px;padding-top:10px;font-size:12px;display:flex}.generate-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.8s linear infinite sh-spin}.generate-loading-inline{color:var(--text-secondary);font-family:var(--font-sans);letter-spacing:.04em;align-items:center;gap:10px;font-size:12px;display:flex}.generate-spinner-sm{border-width:2px;width:14px;height:14px}.generated-image-wrap{flex-direction:column;gap:10px;display:flex}.generated-image{border-radius:14px;width:100%;display:block}.save-drive-btn{color:var(--text-secondary);border:1px solid var(--border);font-size:11px;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:7px 15px;font-weight:600;transition:filter .15s}.save-drive-btn:disabled{opacity:.5;cursor:not-allowed}.save-drive-saved{font-size:11px;font-family:var(--font-sans);letter-spacing:.03em;background:var(--success);color:var(--bg);border-radius:999px;align-self:flex-start;padding:7px 15px;font-weight:600;text-decoration:none;transition:filter .15s;display:inline-block}.save-drive-error{font-size:12px;font-family:var(--font-sans);color:var(--error-text);align-items:center;gap:8px;display:flex}.model-selector{flex-wrap:wrap;gap:6px;display:flex}.model-pill{background:var(--surface-2);color:var(--text-placeholder);border:1px solid var(--border);font-size:11px;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;border-radius:999px;padding:6px 13px;transition:filter .15s,background .15s,color .15s,border-color .15s}.model-pill.active{background:var(--accent-tint-bg);color:var(--accent-tint-text);border-color:var(--accent-tint-border);font-weight:600}.results-wrap{flex-direction:column;gap:0;margin-top:14px;display:flex}.result-block{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.result-block:last-child{margin-bottom:0}.result-model-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-size:9px}.result-actions{align-items:center;gap:8px;display:flex}.try-with-row{flex-wrap:wrap;gap:6px;display:flex}.try-with-btn{color:var(--text-secondary);border:1px solid var(--border);font-size:11px;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:999px;padding:7px 13px;transition:filter .15s}.try-with-btn:disabled{opacity:.5;cursor:not-allowed}.failed-reason-box{background:var(--error-bg);text-align:center;border-radius:14px;padding:16px}.failed-reason-text{font-family:var(--font-sans);color:var(--error-text);font-size:12px;line-height:1.5}.try-again-btn{color:var(--error-text);border:1px solid var(--error-border);font-size:11px;font-family:var(--font-sans);letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;padding:7px 15px;font-weight:600;transition:filter .15s}.try-again-btn:disabled{opacity:.5;cursor:not-allowed}.input-bar{flex-shrink:0;align-items:center;gap:10px;padding:14px 18px 22px;display:flex}.user-input{background:var(--surface-2);border:1px solid var(--border);color:var(--text-primary);font-size:15px;font-family:var(--font-sans);resize:none;border-radius:999px;outline:none;flex:1;max-height:160px;padding:13px 18px;line-height:1.5;transition:border-color .15s;overflow-y:auto}.user-input:focus{border-color:var(--accent)}.user-input::placeholder{color:var(--text-placeholder)}.send-btn{background:var(--border);width:44px;height:44px;color:var(--text-placeholder);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:filter .15s,background .15s,color .15s;display:flex}.send-btn.active{background:var(--accent);color:var(--bg);box-shadow:0 6px 18px #d7926b59}.send-btn:disabled{cursor:default}.gallery-screen{background:var(--bg);flex-direction:column;width:100%;max-width:720px;height:100dvh;margin:0 auto;display:flex}.gallery-top-bar{z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.gallery-back-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;transition:filter .15s;display:flex}.gallery-title{font-family:var(--font-serif);color:var(--roxy-message);font-size:17px;font-weight:400}.gallery-body{flex:1;padding:16px 20px 20px;overflow-y:auto}.gallery-status{justify-content:center;align-items:center;min-height:200px;display:flex}.gallery-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite sh-spin}.gallery-error,.gallery-empty{font-family:var(--font-sans);text-align:center;font-size:12px;line-height:1.5}.gallery-empty{color:var(--text-primary)}.gallery-error{color:var(--error-text)}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));align-content:start;gap:10px;display:grid}.gallery-thumb{background:var(--surface-2);aspect-ratio:1;cursor:pointer;border:none;border-radius:16px;padding:0;transition:filter .15s;display:block;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lightbox{z-index:100;background:#030102f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-loading{justify-content:center;align-items:center;display:flex}.lightbox-img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.lightbox-close{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;background:#1e111bb3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;line-height:1;transition:filter .15s;display:flex;position:absolute;top:20px;right:20px}.lightbox-nav{color:var(--text-primary);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#1e111bb3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;line-height:1;transition:filter .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav-prev{left:16px}.lightbox-nav-next{right:16px}@media(min-width:1280px){body{background:radial-gradient(ellipse at 12% 20%,oklch(30% .05 50/.3),transparent 50%),radial-gradient(ellipse at 88% 80%,oklch(30% .045 330/.3),transparent 50%),var(--bg)}.chat-app{max-width:640px}.message.roxy{font-size:20px}.user-input{padding:15px 20px;font-size:16px}.send-btn{width:48px;height:48px;font-size:18px}.gallery-screen{max-width:900px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}}@media(max-width:480px){.conversation{gap:24px;padding:8px 16px 16px}.message.roxy{font-size:16px}.message.jules{font-size:13px}.input-bar{padding:12px 16px 16px}.user-input{font-size:16px}.chat-app{max-width:100%}}
