:root{--pga-navy:#00205B;--pga-white:#FFFFFF;--pga-sport-blue:#0053FF;--pga-birdie-blue:#B9CBD3;--pga-trophy-silver:#F1F1F1;--pga-graphite:#63666A;--pga-steel:#97999B;--bg-primary:#0a0f1a;--bg-secondary:#111827;--bg-tertiary:#1f2937;--bg-card:rgba(31,41,55,0.7);--bg-hover:rgba(0,83,255,0.1);--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-color:rgba(255,255,255,0.1);--border-focus:var(--pga-sport-blue);--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.4),0 2px 4px -2px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.5),0 4px 6px -4px rgba(0,0,0,0.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.5),0 8px 10px -6px rgba(0,0,0,0.4);--shadow-glow:0 0 40px rgba(0,83,255,0.3);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(0,83,255,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(0,32,91,.2),transparent);pointer-events:none;z-index:-1}.app-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.titlebar-drag{-webkit-app-region:drag;height:38px;flex-shrink:0}.main-content{flex:1 1;display:flex;flex-direction:column;padding:0 40px 20px;max-width:1400px;margin:0 auto;width:100%}.content-grid,.main-content{min-height:0;overflow:hidden}.content-grid{display:grid;grid-template-columns:400px minmax(0,1fr);grid-gap:24px;gap:24px;flex:1 1}@media (max-width:900px){body{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-container{height:auto;min-height:100dvh;max-height:none}.app-container,.content-grid{min-width:0;max-width:100%;overflow:visible}.content-grid{grid-template-columns:1fr;grid-template-rows:auto auto;flex:0 0 auto;min-height:0;width:100%;align-content:start;gap:10px}.content-grid>.panel{min-width:0;max-width:100%}.main-content{padding:0 8px 8px;max-width:none;flex:none;min-width:0;width:100%;overflow:visible;-webkit-overflow-scrolling:auto;scrollbar-gutter:auto}.input-panel{overflow:visible}.input-panel-main{flex:0 0 auto;flex-shrink:0;max-height:none;overflow-x:hidden;overflow-y:visible}}.panel{background:rgba(31,41,55,.96);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:24px;display:flex;flex-direction:column;min-height:0;overflow:hidden}@media (max-width:900px){.panel{padding:12px;border-radius:var(--radius-lg)}}.input-panel{overflow:hidden;gap:12px;position:relative}@media (max-width:900px){.content-grid>.panel.input-panel{overflow:visible;align-self:start}body.mobile-generation-docked .content-grid>.panel.input-panel{position:-webkit-sticky;position:sticky;top:0;z-index:50;align-self:start;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden;padding:max(6px,env(safe-area-inset-top,0px)) 10px 8px!important;gap:8px;flex-direction:row;flex-wrap:nowrap;align-items:center;border-radius:0 0 var(--radius-lg) var(--radius-lg);border:1px solid var(--border-color);border-top:none;background:rgba(15,21,34,.94);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:0 10px 28px rgba(0,0,0,.42)}body.mobile-generation-docked .input-panel-main{display:flex;flex:1 1 auto;flex-direction:row;align-items:center;gap:8px;min-width:0;max-height:none;margin:0;overflow:hidden}body.mobile-generation-docked .input-panel-main>.ai-gateway-hint,body.mobile-generation-docked .input-panel-main>.error-banner,body.mobile-generation-docked .input-panel-main>.staff-media-hint{display:none!important}body.mobile-generation-docked .input-panel-main .mode-row{flex:0 0 auto;margin:0;gap:6px;align-items:center}body.mobile-generation-docked .input-panel-main .mode-row .settings-btn{width:32px;height:32px}body.mobile-generation-docked .input-panel-main .form-group{flex:1 1 auto;min-width:0;margin:0}body.mobile-generation-docked .unified-input{min-height:40px}body.mobile-generation-docked .unified-attach-btn,body.mobile-generation-docked .unified-attachments,body.mobile-generation-docked .unified-input-hint{display:none!important}body.mobile-generation-docked #prompt{min-height:40px;max-height:52px;padding:8px 10px;font-size:.84rem;line-height:1.25;resize:none}body.mobile-generation-docked .generate-btn{width:auto;max-width:100%;flex:0 0 auto;margin-top:0!important;margin-left:0;padding:8px 12px;min-height:40px;align-self:center}body.mobile-generation-docked .generate-btn .btn-shortcut{display:none}body.mobile-generation-docked #referenceDrawer{display:none!important}body.mobile-generation-docked .mobile-generation-expand-chrome{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;order:-1;min-width:48px;max-width:64px;padding:5px 6px;margin:0 4px 0 0;border-radius:var(--radius-md);border:1px solid rgba(0,83,255,.5);background:rgba(0,83,255,.16);color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),border-color var(--transition-fast)}body.mobile-generation-docked .mobile-generation-expand-chrome:active{background:rgba(0,83,255,.26);border-color:rgba(0,83,255,.65)}body.mobile-generation-docked .mobile-generation-expand-chrome svg{flex-shrink:0;color:var(--pga-birdie-blue)}body.mobile-generation-docked .mobile-generation-expand-chrome__lines{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.05;text-align:center}body.mobile-generation-docked .mobile-generation-expand-chrome__line{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}body.mobile-generation-docked .mobile-generation-expand-chrome__line--muted{font-size:.52rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:var(--text-secondary)}}.mobile-generation-expand-chrome{display:none}.input-panel-main{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-color:rgba(255,255,255,.38) rgba(255,255,255,.06);scrollbar-width:auto}.auth-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.04);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:16px}.auth-bar.compact{padding:4px 8px;gap:8px;font-size:.65rem}.auth-bar.compact .auth-text{gap:0}.auth-bar.compact .auth-title{font-size:.65rem}.auth-bar.compact .auth-subtitle{display:none}.auth-bar.compact .auth-btn{padding:4px 8px;font-size:.7rem}.auth-left{display:flex;align-items:center;gap:10px;min-width:0}.auth-status-dot{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.15);flex-shrink:0}.auth-status-dot.off{background:#6b7280;box-shadow:0 0 0 3px rgba(107,114,128,.15)}.auth-status-dot.ok{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}.auth-text{display:flex;flex-direction:column;gap:2px;min-width:0}.auth-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.auth-subtitle,.auth-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-subtitle{font-size:.75rem;color:var(--text-secondary)}.auth-right{display:flex;gap:8px;flex-shrink:0}.auth-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer;font-size:.85rem;font-weight:600;transition:all var(--transition-fast)}.auth-btn.primary{border-color:rgba(0,83,255,.45);background:rgba(0,83,255,.14)}.auth-btn.secondary:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.auth-btn.primary:hover{background:rgba(0,83,255,.22)}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.panel-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0}.panel-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.panel-icon{width:36px;height:36px;background:rgba(0,83,255,.15);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.panel-icon svg{width:20px;height:20px;color:var(--pga-sport-blue)}.form-group{margin-bottom:16px;flex-shrink:0}.form-group:last-child{margin-bottom:0}label{display:block;font-size:.85rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mode-toggle{gap:6px;padding:4px;border-radius:999px;border:1px solid var(--border-color);align-self:flex-start}.mode-toggle,.settings-btn{display:inline-flex;align-items:center;background:rgba(255,255,255,.04)}.settings-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);color:var(--text-secondary);justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.settings-btn svg{width:18px;height:18px}.settings-btn:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--text-primary)}.staff-media-notice-modal{position:fixed;inset:0;z-index:1850;display:flex;align-items:center;justify-content:center}.staff-media-notice-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.staff-media-notice-panel{position:relative;z-index:2;width:min(480px,92vw);max-height:min(80dvh,560px);overflow-y:auto;background:rgba(10,15,26,.97);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:10px}.staff-media-notice-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.staff-media-notice-phase{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.staff-media-notice-body{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-primary)}.staff-media-notice-ok{align-self:flex-end;margin-top:4px}.settings-modal{position:fixed;inset:0;z-index:1800;display:flex;align-items:center;justify-content:center}.settings-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel{position:relative;z-index:2;width:min(520px,92vw);background:rgba(10,15,26,.97);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:16px}.settings-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.settings-header h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:rgba(255,255,255,.04);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.settings-close svg{width:16px;height:16px}.settings-close:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--text-primary)}.settings-section{display:flex;flex-direction:column;gap:8px}.settings-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.settings-auth-card{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:rgba(255,255,255,.03)}.settings-auth-status{display:flex;align-items:flex-start;gap:10px;min-width:0}.settings-auth-status-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.settings-auth-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.settings-auth-detail{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.settings-auth-user{display:flex;flex-direction:column;gap:4px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.settings-auth-user-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.settings-auth-user-email{font-size:.8rem;color:var(--text-secondary);word-break:break-word}.settings-auth-buttons{display:flex;flex-wrap:wrap;gap:8px}.settings-help{font-size:.8rem;color:var(--text-muted)}.segmented-control{display:inline-flex;align-items:center;gap:6px;padding:4px;border-radius:999px;border:1px solid var(--border-color);background:rgba(255,255,255,.04);flex-wrap:wrap}.segmented-control button{border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;transition:all var(--transition-fast)}.segmented-control button.active{background:rgba(0,83,255,.2);border:1px solid rgba(0,83,255,.45);color:var(--text-primary)}.segmented-control button:hover:not(.active){color:var(--text-primary)}.mode-btn{border:none;background:transparent;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:all var(--transition-fast)}.mode-btn.active,.mode-btn:hover{color:var(--text-primary)}.mode-btn.active{background:rgba(0,83,255,.2);border:1px solid rgba(0,83,255,.45)}.select-wrapper{position:relative;display:flex;align-items:center}.select-wrapper select{width:100%;padding:10px 36px 10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select-wrapper select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(0,83,255,.15)}.select-wrapper:after{content:"▾";position:absolute;right:12px;color:var(--text-muted);pointer-events:none;font-size:.8rem}.unified-input{position:relative;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);overflow:hidden;padding:4px 0}.unified-input:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(0,83,255,.15)}.unified-input.dragover{border-color:var(--pga-sport-blue);background:rgba(0,83,255,.08)}.unified-input input[type=file]{display:none}.unified-input-content{display:flex;flex-direction:column;width:100%;min-width:0;overflow:hidden}.unified-input textarea{display:block;box-sizing:border-box;width:100%;min-height:200px;max-height:320px;padding:12px 52px 12px 12px;background:transparent;border:none;border-radius:0;color:var(--text-primary);font-size:.95rem;font-family:inherit;line-height:1.5;resize:none;overflow-wrap:break-word;word-wrap:break-word}.unified-input textarea::placeholder{color:var(--text-muted)}.unified-input textarea:focus{outline:none}.unified-input.has-attachments textarea{border-radius:0}.unified-attachments{display:none;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;padding:8px 12px 12px;border-top:1px solid var(--border-color);background:rgba(0,0,0,.15);border-radius:0 0 var(--radius-md) var(--radius-md)}.unified-input.has-attachments .unified-attachments{display:grid}.unified-attachment{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:visible;background:var(--bg-tertiary)}.unified-attachment-thumb{width:100%;height:100%;border-radius:var(--radius-sm);overflow:hidden;cursor:-webkit-grab;cursor:grab}.unified-attachment-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.unified-attachment-thumb img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);display:block}.attachment-role-badge{position:absolute;left:4px;bottom:4px;padding:2px 6px;border-radius:999px;background:rgba(0,32,91,.9);color:#ffffff;font-size:.65rem;font-weight:600;letter-spacing:.02em;z-index:2;pointer-events:none}.unified-attachment--logo-blue{background:#ffffff}.unified-attachment--logo-white{background:var(--pga-navy)}.unified-attachment .remove-btn,.unified-attachment .star-btn{position:absolute;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast);z-index:10;opacity:0}.unified-attachment .remove-btn svg,.unified-attachment .star-btn svg{width:10px;height:10px}.unified-attachment .star-btn{top:2px;left:2px;color:#facc15}.unified-attachment .remove-btn{top:2px;right:2px;color:#f87171}.unified-attachment:hover .remove-btn,.unified-attachment:hover .star-btn{opacity:1}.unified-attachment .star-btn.is-starred{background:rgba(255,204,0,.9);color:#1f2937;opacity:1}.unified-attachment .star-btn:hover{transform:scale(1.08)}.unified-attachment .remove-btn:hover{background:#ef4444;color:white}.unified-input-hint{display:none;position:absolute;inset:0;background:rgba(0,83,255,.12);border-radius:var(--radius-md);flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;z-index:5}.unified-input.dragover .unified-input-hint{display:flex}.unified-input-hint svg{width:24px;height:24px;color:var(--pga-sport-blue)}.unified-input-hint span{font-size:.8rem;color:var(--pga-sport-blue);font-weight:500}.unified-attach-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;background:rgba(255,255,255,.06);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);z-index:2}.unified-attach-btn svg{width:16px;height:16px}.unified-attach-btn:hover{background:rgba(0,83,255,.15);border-color:var(--pga-sport-blue);color:var(--pga-sport-blue)}textarea.prompt-shake{animation:prompt-swell .25s ease-out}@keyframes prompt-swell{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.reference-history{display:flex;flex-direction:column;gap:4px;margin-top:4px;margin-bottom:8px;padding-top:6px;border-top:1px solid var(--border-color);position:relative;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden}.reference-history.reference-history--drawer-panels{margin-top:0;margin-bottom:0;padding-top:0;border-top:none;flex:0 1 auto;overflow:visible;max-height:none}.reference-subtabs{display:flex;align-items:stretch;gap:2px;margin-bottom:6px;border-bottom:1px solid var(--border-color)}.reference-subtab{flex:1 1;min-width:0;padding:6px 8px 8px;margin-bottom:-1px;border:none;border-bottom:2px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-secondary);font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;line-height:1.2}.reference-subtab:hover:not(.active){color:var(--text-primary);background:rgba(255,255,255,.04)}.reference-subtab.active{color:var(--text-primary);border-bottom-color:var(--pga-sport-blue);background:rgba(0,83,255,.08)}.reference-subtab--brand span{white-space:nowrap}.reference-subtab-brand-logo{flex-shrink:0;height:28px;width:auto;max-width:132px;object-fit:contain;object-position:left center;display:block}.reference-subtab-panels{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.reference-subtab-panel{display:none;flex:1 1 auto;min-height:0;flex-direction:column;gap:6px}.reference-subtab-panel.active{display:flex}.reference-brand-panel{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:2px}.reference-library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px;padding:12px 12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:visible;align-items:start}.reference-history--drawer-panels .reference-brand-panel{padding-right:4px;scrollbar-gutter:stable;contain:layout style}.reference-history--drawer-panels .reference-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0 0 8px;background:transparent;border:none;border-radius:0}.reference-library-logo-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:inherit;gap:inherit;width:100%;min-width:0;align-items:stretch}.reference-library-logo-row .library-item--logo{grid-column:auto;width:100%;min-width:0;margin:0;aspect-ratio:1;padding:10px;align-self:stretch}.reference-library-logo-row .library-item--logo img{width:100%;height:100%;object-fit:contain}.library-color-row{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start}.library-color-row--member{justify-content:center}.library-color-row--member .library-color{flex:0 0 25%}.library-section-heading{grid-column:1/-1;margin:20px 0 0;padding:0 0 10px;font-size:.9rem;font-weight:700;letter-spacing:.02em;line-height:1.3;color:var(--text-primary);border-bottom:1px solid var(--border-color);box-shadow:0 1px 0 0 rgba(0,83,255,.18)}.library-section-heading:first-child{margin-top:0}.library-color{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;position:relative}.library-color--half{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px)}.library-color--full{flex:1 1 100%}.library-color--quarter{flex-grow:1;flex-shrink:1;flex-basis:calc(25% - 6px)}.library-color-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;pointer-events:none}.library-color-name{font-size:.6rem;color:#fff;text-align:center;line-height:1.2;word-spacing:100vw;transition:opacity var(--transition-fast);text-shadow:0 1px 2px rgba(0,0,0,.6)}.library-color-overlay--light .library-color-name{color:#333;text-shadow:none}.library-color-row--primary .library-color-name,.library-color-row--secondary .library-color-name{word-spacing:normal;white-space:nowrap}.library-color-row--member .library-color-name{word-spacing:normal;white-space:pre-line}.library-color-hex-row{display:flex;align-items:center;gap:4px;position:absolute;opacity:0;transition:opacity var(--transition-fast)}.library-item--color:hover .library-color-name{opacity:0}.library-item--color:hover .library-color-hex-row{opacity:1}.library-color-hex{font-size:.6rem;font-family:monospace;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6)}.library-color-overlay--light .library-color-hex{color:#333;text-shadow:none}.library-color-copy{background:none;border:none;padding:2px;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;opacity:.7;transition:opacity var(--transition-fast);filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.library-color-overlay--light .library-color-copy{color:#333;filter:none}.library-color-copy:hover{opacity:1}.reference-brand-panel .library-item--logo{aspect-ratio:1;padding:10px;align-items:center;justify-content:center}.reference-brand-panel .library-item--logo img{padding:0;width:100%;height:100%;object-fit:contain}.reference-brand-panel .library-item--pattern{grid-column:span 2;padding:0;align-items:stretch}.reference-brand-panel .library-item--pattern img{flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:cover;object-position:center;transform:scale(1);transform-origin:center center;transition:transform .18s ease-out;transition-property:transform}.reference-brand-panel .library-item--pattern:focus-visible img,.reference-brand-panel .library-item--pattern:hover img{transform:scale(4)}@media (prefers-reduced-motion:reduce){.reference-brand-panel .library-item--pattern img{transition:none}.reference-brand-panel .library-item--pattern:focus-visible img,.reference-brand-panel .library-item--pattern:hover img{transform:scale(1)}}.reference-brand-panel .library-item--icon{grid-column:span 2;padding:8px;background:#ffffff;border-color:rgba(0,0,0,.1)}.reference-brand-panel .library-item--icon img{object-fit:contain}.reference-brand-panel .library-item--brand-reference{grid-column:1/-1;aspect-ratio:auto;height:auto;min-height:0;max-height:none;padding:6px}.reference-brand-panel .library-item--brand-reference img{width:100%;height:auto;object-fit:contain;display:block}.library-item{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary);padding:8px;display:flex;align-items:center;justify-content:center;transition:border-color var(--transition-fast),transform var(--transition-fast)}.library-item--logo{padding:0}.library-item--logo img{width:100%;height:100%;object-fit:contain}.library-item--color{border:none;border-radius:var(--radius-sm)}.library-color .library-item,.library-item--color{overflow:hidden;background:transparent;padding:0;aspect-ratio:auto}.library-color .library-item{width:100%;height:48px;border:none}.library-color .library-item img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm)}.library-item--light{background:#ffffff;border-color:rgba(0,0,0,.08)}.library-item--dark{background:#111827;border-color:rgba(255,255,255,.12)}.library-item--navy{background:var(--pga-navy);border-color:rgba(255,255,255,.2)}.library-item:hover{border-color:var(--pga-sport-blue);transform:translateY(-1px)}.library-item img{max-width:100%;max-height:100%;object-fit:contain;display:block}.reference-history-grid{display:block;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0;padding-right:4px;overscroll-behavior:contain;scrollbar-gutter:stable;contain:layout style}.reference-history-grid-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;grid-gap:6px;gap:6px;align-content:start}.reference-history-spacer{width:100%;pointer-events:none}.reference-history-empty{font-size:.75rem;color:var(--text-muted)}.reference-history-item{position:relative;width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary);padding:0;cursor:pointer;transition:border-color var(--transition-fast);contain:layout style}.reference-history-item:focus,.reference-history-item:hover{outline:none;border-color:var(--pga-sport-blue)}.library-item{cursor:pointer}.reference-history-thumb{position:absolute;inset:0;border-radius:inherit;overflow:hidden;cursor:-webkit-grab;cursor:grab}.reference-history-thumb:active{cursor:-webkit-grabbing;cursor:grabbing}.reference-history-thumb img{width:100%;height:100%;object-fit:cover;display:block}.reference-history-actions{position:absolute;inset:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:5}.reference-history-item:focus .reference-history-actions,.reference-history-item:hover .reference-history-actions{opacity:1}.reference-action-btn{position:absolute;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.6);color:white;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast);pointer-events:auto;z-index:10;opacity:0}.reference-action-btn svg{width:10px;height:10px}.reference-action-btn.starred{background:rgba(255,204,0,.9);color:#1f2937;opacity:1}.reference-action-btn.star{top:2px;left:2px}.reference-action-btn.use{bottom:2px;right:2px}.reference-action-btn.delete{top:2px;right:2px}.reference-history-item:focus-within .reference-action-btn,.reference-history-item:hover .reference-action-btn{opacity:1}.reference-action-btn.delete{color:#f87171}.reference-action-btn.use{background:rgba(0,83,255,.75);color:white}.reference-action-btn.delete:hover{background:#ef4444}.reference-action-btn.use:hover{background:rgba(0,83,255,.95);transform:scale(1.08)}.reference-action-btn.star:hover{transform:scale(1.08)}.format-recommendation{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:10px 12px;margin-bottom:16px;animation:fade-in .3s ease-out;flex-shrink:0}@keyframes fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.format-header{display:flex;align-items:center;justify-content:center}.format-badges{display:flex;gap:8px}.aspect-badge,.format-badge{padding:5px 12px;background:var(--pga-sport-blue);color:white;border-radius:4px;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.2)}.format-badge.jpg{background:#059669;color:#ffffff}.format-badge.png{background:var(--pga-sport-blue);color:#ffffff}.aspect-badge{background:#4b5563;color:#ffffff}.format-rationale{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.format-recommendation.analyzing{background:rgba(255,255,255,.05);border-color:var(--border-color)}.format-recommendation.analyzing .format-header span:first-of-type{color:var(--text-muted)}.format-recommendation.analyzing .format-badge{background:var(--bg-tertiary);color:var(--text-muted)}.generate-btn{width:100%;padding:14px 24px;background:var(--pga-sport-blue);color:white;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all var(--transition-normal);position:relative;overflow:hidden;margin-top:auto;flex-shrink:0}.generate-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.generate-btn:hover:not(:disabled):before{left:100%}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-btn svg{width:20px;height:20px}.btn-shortcut{font-size:.75rem;color:rgba(255,255,255,.7);font-weight:400;margin-left:auto;padding-left:8px}.btn-loader{display:inline-flex;align-items:center;gap:10px}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.results-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.empty-state{flex:1 1;flex-direction:column;text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-state,.empty-state-icon{display:flex;align-items:center;justify-content:center}.empty-state-icon{width:80px;height:80px;background:rgba(255,255,255,.05);border-radius:50%;margin-bottom:20px}.empty-state-icon svg{width:36px;height:36px;color:var(--text-muted);opacity:.5}.empty-state h3{font-size:1.1rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.empty-state p{font-size:.9rem}.images-grid{display:flex;flex-direction:column;overflow-y:auto;flex:1 1;min-height:0;padding:12px 16px 12px 12px;overscroll-behavior:contain;scrollbar-gutter:stable;contain:layout style;overflow-anchor:none;scrollbar-color:rgba(255,255,255,.38) rgba(255,255,255,.06);scrollbar-width:auto}@media (max-width:900px){.panel{overflow:visible}.panel.results-panel,.results-tab-panel.active{min-height:min-content;overflow:visible;overscroll-behavior:none}.results-tab-panel.active{flex:0 0 auto;flex-shrink:0}#imagesGrid.images-grid{overflow:visible;overflow-y:visible;flex:0 0 auto;flex-shrink:0;min-height:0;max-height:none;overscroll-behavior:none;-webkit-overflow-scrolling:auto;contain:none;scrollbar-gutter:auto;padding:6px 6px 8px 2px}.starred-grid{overflow:visible;flex:0 0 auto;flex-shrink:0}}.results-virtual-content{display:block;min-height:100%}.results-window{display:flex;flex-direction:column;gap:16px}.results-load-more-sentinel{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 0 4px;color:var(--text-tertiary);font-size:.8rem}.results-panel-header{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-bottom:8px;padding:0}.results-tabs{display:flex;gap:6px;margin-bottom:0;padding:0;flex:1 1;flex-wrap:wrap;min-width:0}.results-expand-btn{display:none!important;flex-shrink:0;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:rgba(255,255,255,.06);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.results-expand-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.results-expand-backdrop{display:none;position:fixed;inset:0;z-index:34;background:rgba(0,0,0,.4);pointer-events:none}.results-expand-backdrop.active{display:block;pointer-events:auto}@media (min-width:901px){.results-expand-backdrop{display:none!important}}@media (max-width:900px){.results-tab{padding:6px 10px;font-size:.78rem}body.mobile-results-expanded .input-panel{opacity:.45;pointer-events:none;filter:saturate(.85)}.results-panel.results-panel--expanded{position:fixed;inset:0;z-index:40;max-width:none;margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:100dvh;max-height:100dvh;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -12px 40px rgba(0,0,0,.45)}}.reference-history-desktop-mount{display:block;min-height:0}.reference-drawer{position:relative;z-index:6;flex-shrink:0;margin-top:2px}.reference-drawer-header{display:flex;align-items:stretch;gap:8px}.reference-drawer-toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:rgba(255,255,255,.06);color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.reference-drawer-toggle:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.22)}.reference-drawer-chevron{display:block;transition:transform var(--transition-fast);transform:rotate(-90deg)}.reference-drawer.reference-drawer--open .reference-drawer-chevron{transform:rotate(0deg)}.reference-subtabs.reference-subtabs--drawer{flex:1 1 auto;min-width:0;margin-bottom:0;border-bottom:none;gap:4px}.reference-subtabs.reference-subtabs--drawer .reference-subtab{border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:0;padding:8px;background:rgba(255,255,255,.04)}.reference-subtabs.reference-subtabs--drawer .reference-subtab.active{border-color:rgba(0,83,255,.45);background:rgba(0,83,255,.12)}.reference-drawer-body{margin-top:8px}.reference-drawer-body[hidden]{display:none!important}@media (min-width:901px){.input-panel>.input-panel-main{order:0;flex:0 0 auto;min-height:0;overflow-x:hidden;overflow-y:visible}.input-panel>.generate-btn{order:1;margin-top:0;flex:0 0 auto}.input-panel>.reference-drawer{order:2;margin-top:0;margin-bottom:0;flex:1 1;min-height:0;display:flex;flex-direction:column}.reference-drawer-toggle{display:none!important}.reference-drawer-header{display:block}.reference-subtabs.reference-subtabs--drawer{flex:1 1 auto;min-width:0;margin-bottom:6px;border-bottom:1px solid var(--border-color);gap:2px}.reference-subtabs.reference-subtabs--drawer .reference-subtab{border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:-1px;padding:6px 8px 8px;background:transparent}.reference-subtabs.reference-subtabs--drawer .reference-subtab.active{border-bottom-color:var(--pga-sport-blue);background:rgba(0,83,255,.08)}.input-panel>.reference-drawer>.reference-drawer-header{flex-shrink:0}.input-panel>.reference-drawer>.reference-drawer-body{margin-top:0;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.input-panel>.reference-drawer>.reference-drawer-body[hidden]{display:none!important}.input-panel>.reference-drawer .reference-history-desktop-mount,.input-panel>.reference-drawer .reference-history.reference-history--drawer-panels{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.input-panel>.reference-drawer .reference-subtab-panels{flex:1 1 auto;min-height:0;overflow:hidden}.input-panel>.reference-drawer .reference-subtab-panel.active{min-height:0;overflow:hidden}.reference-drawer.reference-drawer--open .reference-drawer-body{padding:0;border:none;border-radius:0;background:transparent;box-shadow:none}}@media (max-width:900px){.input-panel>.input-panel-main{order:0}.input-panel>.generate-btn{order:1}.input-panel>.reference-drawer{order:2}.reference-drawer.reference-drawer--open .reference-drawer-body{max-height:min(70vh,560px);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior-y:contain;padding:8px 2px 4px;margin-top:8px;border-top:1px solid var(--border-color)}.reference-drawer.reference-drawer--open .reference-drawer-body .reference-brand-panel,.reference-drawer.reference-drawer--open .reference-drawer-body .reference-history-grid{overflow:visible;flex:0 0 auto;min-height:0;max-height:none;contain:none}.reference-drawer.reference-drawer--open .reference-drawer-body .reference-subtab-panel.active{overflow:visible;flex:0 0 auto;min-height:0}}.results-tab{padding:6px 14px;border-radius:999px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.results-tab.active{background:rgba(0,83,255,.2);border-color:rgba(0,83,255,.45);color:var(--text-primary)}.results-tab:hover:not(.active){border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06)}.results-tab-panel{display:none;flex:1 1;min-height:0}.results-tab-panel.active{display:flex;flex-direction:column}.starred-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding:0 12px 12px}@media (max-width:900px){.starred-grid{grid-template-columns:minmax(0,1fr);gap:12px}}.starred-empty{padding:8px 12px;color:var(--text-muted);font-size:.85rem}.batch-row{display:flex;flex-direction:column;gap:8px;contain:layout style}.results-spacer{flex-shrink:0}.batch-row.new-batch .batch-images{animation:none}.batch-header{justify-content:space-between;font-size:.85rem;color:var(--text-secondary);padding:4px 0}.batch-header,.batch-header-content{display:flex;align-items:center;gap:8px}.batch-date{font-weight:500;color:var(--text-primary)}.batch-time{color:var(--text-secondary)}.batch-ago{color:var(--text-tertiary);font-size:.8rem}.delete-row-btn{background:transparent;border:none;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;opacity:0;transition:all var(--transition-fast);pointer-events:none}.delete-row-btn svg{width:16px;height:16px}.batch-row:hover .delete-row-btn{opacity:1;pointer-events:auto}@media (max-width:900px){.delete-row-btn{display:none!important}}.delete-row-btn:hover{opacity:1;background:#ef4444;color:white}.batch-images{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:900px){.batch-images{grid-template-columns:minmax(0,1fr);gap:12px}}.batch-row.is-delete-hover .image-card:not(.image-placeholder):not(.is-starred-item){box-shadow:0 0 0 2px rgba(239,68,68,.85)}.image-placeholder{background:var(--bg-tertiary);border:1px dashed var(--border-color);opacity:.3;cursor:default}.image-placeholder:hover{transform:none;box-shadow:none}.image-card{position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);cursor:pointer;transition:border-color var(--transition-fast);padding:8px;display:flex;align-items:center;justify-content:center;min-height:120px;width:100%;box-sizing:border-box}@media (max-width:900px){.image-card{padding:2px;min-height:0;border:1px solid rgba(255,255,255,.12);background:rgba(17,24,39,.55);touch-action:manipulation}}.image-card.has-transparency img{background:var(--bg-secondary);padding:0}.suppress-card-focus .image-card:focus{box-shadow:none;transform:none}.image-card img{max-width:calc(100% - 8px);max-height:200px;width:auto;height:auto;object-fit:contain;display:block;border-radius:var(--radius-sm);transition:transform var(--transition-slow);flex-shrink:0}@media (max-width:900px){.image-card img{max-width:100%;max-height:min(52vh,440px);width:100%;height:auto;object-fit:contain}}.image-card video{max-width:calc(100% - 8px);max-height:200px;width:auto;height:auto;object-fit:contain;display:block;border-radius:var(--radius-sm);flex-shrink:0;background:#000}@media (max-width:900px){.image-card video{max-width:100%;max-height:min(52vh,440px);width:100%;height:auto}}.image-card.video-card:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.7rem;pointer-events:none}.image-card.video-pending{cursor:default}.image-card.video-pending>img{max-width:calc(100% - 8px);max-height:200px;filter:brightness(.52) saturate(.85);transition:filter var(--transition-fast),transform .18s ease-out;transition-property:filter,transform;transform:scale(1);transform-origin:center center;object-fit:cover;overflow:hidden;border-radius:var(--radius-sm)}.image-card.video-pending:hover>img{transform:scale(4)}.video-pending-preview-pair{position:relative;width:calc(100% - 8px);max-height:200px;min-height:120px;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-tertiary);flex-shrink:0}.video-pending-preview-pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0;max-width:none;max-height:none;filter:brightness(.52) saturate(.85);transform:scale(1);transform-origin:center center;transition:transform .18s ease-out;transition-property:transform}.video-pending-preview-pair[data-video-pending-zoom=end] .video-pending-preview-end,.video-pending-preview-pair[data-video-pending-zoom=start] .video-pending-preview-start{transform:scale(4)}@media (max-width:900px){.image-card.video-pending>img{max-width:100%;max-height:min(52vh,440px)}.video-pending-preview-pair{width:100%;max-height:min(52vh,440px);min-height:100px}}@media (prefers-reduced-motion:reduce){.image-card.video-pending>img,.video-pending-preview-pair img{transition:none}.image-card.video-pending:hover>img,.video-pending-preview-pair[data-video-pending-zoom=end] .video-pending-preview-end,.video-pending-preview-pair[data-video-pending-zoom=start] .video-pending-preview-start{transform:scale(1)}}.video-pending-preview-start{-webkit-clip-path:polygon(0 0,100% 0,0 100%);clip-path:polygon(0 0,100% 0,0 100%)}.video-pending-preview-end{-webkit-clip-path:polygon(100% 0,100% 100%,0 100%);clip-path:polygon(100% 0,100% 100%,0 100%)}.video-pending-preview-divider{position:absolute;left:50%;top:50%;width:2px;height:180%;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.18);transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.video-pending-preview-label{position:absolute;z-index:2;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.02em;pointer-events:none;text-transform:uppercase}.video-pending-preview-label-start{left:8px;top:8px}.video-pending-preview-label-end{right:8px;bottom:8px}.image-card.video-pending:after{content:none}.pending-badge{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:7px;padding:4px 8px;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font-size:.7rem;font-weight:600}.pending-spinner{width:11px;height:11px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;flex:0 0 auto}.video-prompt-panel{width:min(680px,90vw);background:rgba(10,15,26,.95);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:10px}.video-prompt-header{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:600}.video-prompt-panel textarea{width:100%;min-height:90px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);padding:12px 16px;font-size:.9rem;font-family:inherit;resize:vertical;overflow-wrap:break-word;word-wrap:break-word}.video-prompt-actions{display:flex;justify-content:flex-end;gap:8px}.image-card button:focus,.image-card button:focus-visible{outline:none;box-shadow:none}.image-card:not(.video-pending):hover img{transform:none}.image-card[draggable=true]{cursor:-webkit-grab;cursor:grab}.image-card.is-dragging{opacity:.5;cursor:-webkit-grabbing;cursor:grabbing}.image-card.is-dragging .delete-image-btn,.image-card.is-dragging .image-card-overlay,.image-card.is-dragging .star-image-btn,.image-card.is-predragging .delete-image-btn,.image-card.is-predragging .image-card-overlay,.image-card.is-predragging .star-image-btn{opacity:0;pointer-events:none}.loading-card{grid-column:1/-1;min-height:120px;justify-content:center;background:rgba(0,83,255,.05);border:1px solid rgba(0,83,255,.2)}.loading-card,.loading-card-content{display:flex;width:100%;align-items:center}.loading-card-content{flex-direction:column;gap:8px;padding:4px}.loading-spinner-small{width:24px;height:24px;border:2px solid rgba(0,83,255,.2);border-top:2px solid var(--pga-sport-blue);border-radius:50%;animation:spin .8s linear infinite}.loading-card-text{text-align:center;width:100%}.loading-card-status{font-size:.75rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.loading-card-prompt{font-size:.7rem;color:var(--text-secondary);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-card-badges{display:flex;gap:8px;justify-content:center;align-items:center}.loading-card-badges .aspect-badge,.loading-card-badges .format-badge,.loading-card-badges .transparency-badge{font-size:.7rem;padding:4px 10px}.loading-card-badges .transparency-badge{background:transparent;color:var(--text-primary);border:1px solid rgba(255,255,255,.38);border-radius:4px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;align-items:center;box-shadow:none;text-shadow:none}.loading-card-analysis{display:block;width:min(100%,640px);padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(15,23,42,.45);text-align:left}.loading-card-analysis[data-state=pending]{border-color:rgba(0,83,255,.28);background:rgba(0,83,255,.08)}.loading-card-analysis[data-state=fallback]{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.08)}.loading-card-analysis[data-state=error]{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.08)}.loading-card-analysis-title{margin:0 0 6px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.loading-card-analysis-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.68rem;line-height:1.45;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.delete-image-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-fast);z-index:10}.delete-image-btn svg{width:12px;height:12px}.image-card:hover .delete-image-btn{opacity:1}.delete-image-btn:hover{background:#ef4444;color:white;transform:scale(1.1)}.image-card:focus-within .delete-image-btn{opacity:1}@media (hover:none),(pointer:coarse){.image-card .delete-image-btn,.image-card .image-card-overlay,.image-card .star-image-btn:not(.is-starred){opacity:1}}.star-image-btn{position:absolute;top:4px;left:4px;width:24px;height:24px;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#facc15;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--transition-fast);z-index:10}.star-image-btn svg{width:12px;height:12px}.image-card:focus-within .star-image-btn,.image-card:hover .star-image-btn{opacity:1}.star-image-btn.is-starred{opacity:1;background:rgba(250,204,21,.95);color:#1f2937}.star-image-btn:hover{transform:scale(1.1)}.image-card-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8) 0,transparent 50%);opacity:0;transition:opacity var(--transition-normal);display:flex;align-items:flex-end;padding:8px}.image-card:hover .image-card-overlay{opacity:1}.image-actions{display:flex;gap:6px;width:100%}.image-actions button{flex:1 1 auto;padding:6px 10px;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:4px}.image-actions .icon-only{flex:0 0 auto;width:32px;height:32px;padding:0}.image-actions .icon-only svg{width:16px;height:16px}.image-actions .use-prompt-btn{flex:1 1}.image-actions button svg{width:14px;height:14px}.copy-btn{background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.copy-btn:hover{background:rgba(255,255,255,.25)}.use-reference-btn{background:rgba(0,83,255,.35);color:white;border:1px solid rgba(0,83,255,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.use-reference-btn:hover{background:rgba(0,83,255,.5)}.save-btn{background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.save-btn:hover{background:rgba(255,255,255,.25)}.use-prompt-btn{background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.use-prompt-btn:hover{background:rgba(255,255,255,.25)}.toast-container{position:fixed;top:60px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:14px 20px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in .3s ease-out;max-width:360px}.toast.toast-out{animation:toast-out .3s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-out{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-icon{width:24px;height:24px;flex-shrink:0}.toast-success .toast-icon{color:#4ade80}.toast-error .toast-icon{color:#f87171}.toast-info .toast-icon{color:var(--pga-sport-blue)}.toast-message{flex:1 1;font-size:.9rem;color:var(--text-primary)}.toast-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex;transition:color var(--transition-fast)}.toast-close:hover{color:var(--text-primary)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:none}.lightbox.is-pending{opacity:0;visibility:hidden;pointer-events:none}.lightbox.active{opacity:1;visibility:visible}.lightbox-content{max-width:90vw;max-height:90vh;flex-direction:column;gap:16px;overflow:visible}.lightbox-content,.lightbox-media{position:relative;display:flex;align-items:center}.lightbox-media{justify-content:center}.lightbox-content.has-transparency{padding:8px;border-radius:var(--radius-lg)}.lightbox-content img{display:block;opacity:1;transition:none}.lightbox-content img,.lightbox-content video{max-width:100%;max-height:70vh;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);position:relative;z-index:1}.lightbox-content video,.lightbox-content.show-video img{display:none}.lightbox-content.show-video video{display:block}.lightbox-content img.is-loading{opacity:0}.reference-lightbox-content{padding-bottom:0}.reference-lightbox-content img{max-height:85vh}.lightbox-close{position:fixed;top:16px;right:16px;background:none;border:none;color:white;cursor:pointer;padding:6px;display:flex;opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:3}.lightbox-close:hover{opacity:1}.lightbox-close svg{width:32px;height:32px}.lightbox-actions{position:absolute;inset:0;pointer-events:none;z-index:2;opacity:1;transition:opacity var(--transition-fast)}.lightbox-actions button{border:none;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all var(--transition-fast);pointer-events:auto}.lightbox-actions .icon-only{width:32px;height:32px;padding:0;border-radius:50%;justify-content:center}.lightbox-actions .icon-only svg{width:20px;height:20px}.lightbox-actions .delete-btn.icon-only,.lightbox-actions .star-btn.icon-only{width:24px;height:24px}.lightbox-actions .delete-btn.icon-only svg,.lightbox-actions .star-btn.icon-only svg{width:12px;height:12px}.lightbox-action-bar{--lightbox-bar-control-height:40px;position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;align-items:center;padding:8px;border-radius:var(--radius-md);background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:1;transition:opacity var(--transition-fast),transform var(--transition-fast)}.lightbox-action-bar>button{font:inherit}.lightbox-action-bar>button.icon-only{width:var(--lightbox-bar-control-height);height:var(--lightbox-bar-control-height);min-width:var(--lightbox-bar-control-height);min-height:var(--lightbox-bar-control-height);border-radius:var(--radius-sm);flex-shrink:0}.lightbox-action-bar>button.icon-only svg{width:18px;height:18px}.lightbox-action-bar>.use-prompt-btn{height:var(--lightbox-bar-control-height);min-height:var(--lightbox-bar-control-height);padding:0 14px;line-height:1.2;white-space:nowrap}@media (max-width:900px){.lightbox-content{max-width:100vw;width:100%;padding:0 12px 16px;box-sizing:border-box;align-items:stretch}.lightbox-media{flex-direction:column;align-items:stretch;width:100%}.lightbox-content img,.lightbox-content video{max-height:min(58vh,560px);width:100%;margin:0 auto}.lightbox-actions{position:relative;inset:auto;width:100%;pointer-events:auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"star delete" "bar bar";grid-gap:10px;gap:10px;margin-top:12px;padding:0}.lightbox-actions .star-image-btn{grid-area:star;position:relative;top:auto;left:auto;justify-self:center}.lightbox-actions .delete-image-btn{grid-area:delete;position:relative;top:auto;right:auto;justify-self:center}.lightbox-actions .lightbox-action-bar{grid-area:bar;position:relative;left:auto;bottom:auto;transform:none;width:100%;max-width:100%;flex-wrap:wrap;justify-content:center;row-gap:8px;box-sizing:border-box}.lightbox-action-bar>.use-prompt-btn{flex:1 1 auto;min-width:min(100%,160px);white-space:normal;text-align:center;justify-content:center}}.lightbox-content.bottom-ui-hidden .lightbox-action-bar{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(16px)}@media (max-width:900px){.lightbox-content.bottom-ui-hidden .lightbox-action-bar{transform:translateY(16px)}}.lightbox-content.bottom-ui-hidden .lightbox-actions,.lightbox-content.bottom-ui-hidden .lightbox-close,.lightbox-content.bottom-ui-hidden .lightbox-prompt{opacity:0;pointer-events:none}.lightbox-content.bottom-ui-hidden .lightbox-close{transform:translateY(-10px)}@media (min-width:901px){.lightbox-actions .star-image-btn{position:absolute;top:12px;left:12px;opacity:1}.lightbox-actions .delete-image-btn{position:absolute;top:12px;right:12px;opacity:1}.lightbox-actions .delete-image-btn:hover,.lightbox-actions .star-image-btn:hover{transform:scale(1.1)}}.lightbox-actions .copy-btn{background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-actions .copy-btn:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}.lightbox-actions .save-btn{background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-actions .save-btn:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}.lightbox-actions .use-prompt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);background:rgba(255,255,255,.15);color:white;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.85rem;font-weight:500}.lightbox-actions .use-prompt-btn .pending-spinner{display:none}.lightbox-actions .use-prompt-btn.is-loading .pending-spinner{display:inline-block}.lightbox-actions .use-prompt-btn.is-loading{cursor:wait}.lightbox-actions .use-prompt-btn:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}.lightbox-prompt{position:relative;width:100%;max-width:min(90vw,920px);padding:12px 20px;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:white;border-radius:var(--radius-md);font-size:.9rem;line-height:1.5;text-align:left;z-index:3;word-break:break-word;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-bottom:0;cursor:pointer;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-wrap;opacity:1;transition:background var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast)}.lightbox-prompt:hover{background:rgba(0,0,0,.88)}.lightbox-prompt:focus-visible{outline:2px solid var(--pga-sport-blue);outline-offset:2px}.lightbox-content.bottom-ui-hidden .lightbox-prompt{transform:translateY(12px)}.lightbox-prompt-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.7);z-index:4}.lightbox-prompt-modal.active{display:flex}.lightbox-prompt-modal-panel{width:min(720px,calc(100vw - 32px));max-height:min(70vh,720px);display:flex;flex-direction:column;background:rgba(17,24,39,.96);color:white;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.lightbox-prompt-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.12)}.lightbox-prompt-modal-header h3{margin:0;font-size:1rem;font-weight:600}.lightbox-prompt-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.08);color:white;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.lightbox-prompt-modal-close:hover{background:rgba(255,255,255,.16);transform:scale(1.04)}.lightbox-prompt-modal-close svg{width:20px;height:20px}.lightbox-prompt-modal-body{padding:18px;overflow-y:auto;font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.lightbox-actions .delete-btn{background:rgba(239,68,68,.2);color:#fca5a5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-actions .delete-btn:hover{background:#ef4444;color:white;transform:translateY(-2px)}.error-banner{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:14px 20px;display:flex;align-items:center;gap:12px;margin-bottom:20px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.error-banner svg{width:20px;height:20px;color:#f87171;flex-shrink:0}.error-banner p{flex:1 1;font-size:.9rem;color:#fca5a5}.error-banner button{background:none;border:none;color:#f87171;cursor:pointer;padding:4px;display:flex}.ai-gateway-hint{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.ai-gateway-hint svg{width:20px;height:20px;color:#fbbf24;flex-shrink:0;margin-top:2px}.ai-gateway-hint p{flex:1 1;margin:0;font-size:.85rem;line-height:1.45;color:var(--text-primary)}.staff-media-hint{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.45);border-radius:var(--radius-md);padding:12px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.staff-media-hint--error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.45)}.staff-media-hint--error svg{color:#f87171}.staff-media-hint svg{width:20px;height:20px;color:#fbbf24;flex-shrink:0;margin-top:2px}.staff-media-hint-text{flex:1 1;margin:0;font-size:.85rem;line-height:1.45;color:var(--text-primary)}.staff-media-hint-dismiss{flex-shrink:0;align-self:flex-start;margin:-4px -4px 0 0;padding:4px 10px;border:none;border-radius:var(--radius-sm);background:rgba(0,0,0,.2);color:var(--text-primary);font-size:1.25rem;line-height:1;cursor:pointer}.staff-media-hint-dismiss:hover{background:rgba(0,0,0,.35)}.settings-media-storage-status{font-size:.88rem;line-height:1.45;color:var(--text-secondary);padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary)}.settings-media-storage-status--ok{border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08);color:var(--text-primary)}.settings-media-storage-status--off{border-color:rgba(245,158,11,.45);background:rgba(245,158,11,.08);color:var(--text-primary)}.settings-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:.9rem;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.settings-checkbox input{margin-top:3px;flex-shrink:0}.settings-sign-out-btn{margin-top:4px;align-self:flex-start}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-image{aspect-ratio:1;border-radius:var(--radius-lg)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:6px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.32);border-radius:6px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.48)}::-webkit-scrollbar-corner{background:transparent}::selection{background:rgba(0,83,255,.4)}.okta-staff-gate-redirect{font-size:1rem}.okta-staff-gate-misconfig,.okta-staff-gate-redirect{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;font-family:system-ui,sans-serif;color:var(--text-secondary);background:var(--bg-primary)}.okta-staff-gate-misconfig{flex-direction:column;text-align:center;max-width:36rem;margin:0 auto}.okta-staff-gate-misconfig-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.okta-staff-gate-misconfig-body{font-size:1rem;line-height:1.5}.okta-staff-gate-misconfig-body code{font-size:.9em;color:var(--pga-birdie-blue)}.okta-staff-gate-error{display:flex;flex-direction:column;align-items:stretch;justify-content:center;min-height:100vh;padding:1.5rem;font-family:system-ui,sans-serif;background:var(--bg-primary);color:var(--text-secondary);max-width:32rem;margin:0 auto;gap:1rem}.okta-staff-gate-error-title{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.25}.okta-staff-gate-error-summary{font-size:1rem;line-height:1.55;margin:0}.okta-staff-gate-error-detail{font-size:.9rem;line-height:1.45;margin:0;padding:.75rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-muted)}.okta-staff-gate-error-detail-label{display:block;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.35rem}.okta-staff-gate-error-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.25rem}.okta-staff-gate-error-primary,.okta-staff-gate-error-secondary{font:inherit;font-size:.95rem;font-weight:600;padding:.55rem 1rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.okta-staff-gate-error-primary{border:1px solid rgba(0,83,255,.45);background:rgba(0,83,255,.18);color:var(--text-primary)}.okta-staff-gate-error-primary:hover{background:rgba(0,83,255,.28);border-color:rgba(0,83,255,.65)}.okta-staff-gate-error-secondary{border:1px solid var(--border-color);background:transparent;color:var(--text-secondary)}.okta-staff-gate-error-secondary:hover{border-color:rgba(255,255,255,.22);color:var(--text-primary)}