:root{--mobile-header-h: 56px;--mobile-radius: 14px;--mobile-gap: 16px;--mobile-btn-h: 52px}body.mobile-theme-parqueterie{--theme-bg-primary: #f5f1eb;--theme-bg-secondary: #ffffff;--theme-text-primary: #1a1a1a;--theme-text-secondary: #4a4a4a;--theme-text-muted: #6b6b6b;--theme-border: #e0dbd4}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--theme-bg-primary, #0f0f13);color:var(--theme-text-primary, #e4e4e7);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.hidden{display:none!important}.mobile-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;height:var(--mobile-header-h);padding:0 var(--mobile-gap);background:var(--theme-bg-secondary, #18181b);border-bottom:1px solid var(--theme-border, #27272a);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-logo{display:flex;flex-direction:column;justify-content:center;text-decoration:none;height:100%;gap:4px}.mobile-logo-img{height:24px;width:auto;color:#1a1a1a}.mobile-logo-subtitle{font-size:.6rem;font-weight:500;color:var(--theme-text-muted, #6b6b6b);letter-spacing:.08em;text-transform:uppercase;line-height:1}.mobile-header-actions{display:flex;align-items:center;gap:10px}.mobile-hamburger{background:none;border:none;color:var(--theme-text-secondary, #a1a1aa);cursor:pointer;padding:6px;transition:color .2s}.mobile-hamburger:hover{color:var(--theme-text-primary, #e4e4e7)}.mobile-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#0000008c;transition:opacity .25s}.mobile-drawer{position:fixed;top:0;right:-300px;z-index:50;width:280px;max-width:80vw;height:100dvh;background:var(--theme-bg-secondary, #18181b);border-left:1px solid var(--theme-border, #27272a);display:flex;flex-direction:column;transition:right .3s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 20px #0006}.mobile-drawer.open{right:0}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px var(--mobile-gap);border-bottom:1px solid var(--theme-border, #27272a)}.mobile-drawer-title-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.mobile-drawer-label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--theme-text-muted, #71717a)}.mobile-drawer-project-name{font-size:1.05rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-drawer-close{background:none;border:none;font-size:1.6rem;color:var(--theme-text-muted, #71717a);cursor:pointer;line-height:1;transition:color .2s}.mobile-drawer-close:hover{color:var(--theme-text-primary)}.mobile-project-list{flex:1;overflow-y:auto;padding:8px}.mobile-project-item{display:block;width:100%;padding:12px 14px;margin-bottom:4px;background:transparent;border:none;border-radius:10px;color:var(--theme-text-secondary, #a1a1aa);font-size:.95rem;text-align:left;cursor:pointer;transition:all .15s}.mobile-project-item:hover{background:var(--theme-bg-primary, #0f0f13);color:var(--theme-text-primary)}.mobile-project-item.active{background:linear-gradient(135deg,#6366f126,#8b5cf61a);color:#a78bfa;font-weight:600}body.mobile-theme-parqueterie .mobile-project-item.active{background:#1a1a1a14;color:#1a1a1a}.mobile-no-projects{padding:24px;text-align:center;color:var(--theme-text-muted);font-size:.9rem}.mobile-drawer-footer{padding:var(--mobile-gap);border-top:1px solid var(--theme-border, #27272a)}.mobile-main{padding:var(--mobile-gap);padding-top:calc(var(--mobile-gap) / 2)}.mobile-auth-wall{display:flex;align-items:center;justify-content:center;min-height:60dvh}.mobile-auth-wall-content{text-align:center;color:var(--theme-text-muted, #71717a)}.mobile-auth-wall-content p{margin:16px 0;font-size:.95rem}.mobile-current-project{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin-bottom:var(--mobile-gap);background:var(--theme-bg-secondary, #18181b);border:1px solid var(--theme-border, #27272a);border-radius:12px}.mobile-project-name{font-weight:600;font-size:.95rem}.mobile-project-change-btn{background:none;border:none;font-size:.85rem;color:#818cf8;cursor:pointer;font-weight:500}body.mobile-theme-parqueterie .mobile-project-change-btn{color:#2c2419}.mobile-main-image-section{margin-bottom:var(--mobile-gap)}.mobile-main-image-zone{position:relative;height:auto;min-height:250px;display:flex;flex-direction:column;justify-content:center;border:2px dashed var(--theme-border, #3f3f46);border-radius:0;overflow:hidden;cursor:pointer;background:var(--theme-bg-secondary, #18181b);transition:border-color .2s}.mobile-main-image-zone.has-image{min-height:0;justify-content:flex-start;border:none;background:transparent}.mobile-main-image-zone:active{border-color:#818cf8}body.mobile-theme-parqueterie .mobile-main-image-zone:active{border-color:#1a1a1a}.mobile-main-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--theme-text-muted, #71717a)}.mobile-main-image-placeholder p{font-size:.85rem}.mobile-main-image-display{width:100%;height:auto;-o-object-fit:contain;object-fit:contain;background:transparent}.mobile-remove-image-btn{position:absolute;top:6px;right:6px;z-index:2;width:auto;height:auto;border-radius:0;background:none;border:none;color:#aaa;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s;padding:4px;text-shadow:0 0 4px rgba(0,0,0,.6),0 0 8px rgba(0,0,0,.3)}.mobile-remove-image-btn:hover{color:#fff}.mobile-reference-preview{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:var(--mobile-gap);background:var(--theme-bg-secondary, #18181b);border:1px solid var(--theme-border, #27272a);border-radius:12px}.mobile-reference-label{font-size:.85rem;color:var(--theme-text-secondary);flex:1}.mobile-reference-thumbs{display:flex;gap:6px;flex:1}.mobile-reference-thumb{width:48px;height:48px;border-radius:0;-o-object-fit:cover;object-fit:cover}.mobile-remove-ref-btn{background:none;border:none;color:#ef4444;font-size:1.2rem;cursor:pointer;padding:4px}.mobile-actions{display:flex;gap:10px;margin-bottom:var(--mobile-gap)}.mobile-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--mobile-btn-h);min-width:var(--mobile-btn-h);padding:0 20px;border:none;border-radius:0;font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.mobile-btn:disabled{opacity:.45;pointer-events:none}.mobile-btn-primary{flex:1;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 14px #6366f14d}body.mobile-theme-parqueterie .mobile-btn-primary{background:#1a1a1a;color:#fff;box-shadow:0 2px 10px #0000001f}.mobile-btn-primary:active{transform:scale(.97)}.mobile-btn-secondary{flex:1;background:var(--theme-bg-secondary, #18181b);color:var(--theme-text-primary, #e4e4e7);border:1px solid var(--theme-border, #3f3f46)}.mobile-btn-secondary:active{background:var(--theme-bg-primary)}.mobile-btn-outline{background:transparent;color:var(--theme-text-secondary, #a1a1aa);border:1px solid var(--theme-border, #3f3f46);width:100%;height:44px;font-size:.85rem}.mobile-generation-status{display:flex;align-items:center;gap:12px;padding:14px 16px;margin-bottom:var(--mobile-gap);background:linear-gradient(135deg,#6366f11a,#8b5cf614);border:1px solid rgba(99,102,241,.25);border-radius:12px;color:#c4b5fd;animation:pulse-glow 2s ease-in-out infinite}body.mobile-theme-parqueterie .mobile-generation-status{background:#1a1a1a0f;border-color:#1a1a1a26;color:#2c2419;animation:none}@keyframes pulse-glow{0%,to{border-color:#6366f140}50%{border-color:#6366f180}}.mobile-spinner{width:22px;height:22px;border:3px solid rgba(139,92,246,.3);border-top-color:#a78bfa;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}body.mobile-theme-parqueterie .mobile-spinner{border-color:#1a1a1a26;border-top-color:#1a1a1a}@keyframes spin{to{transform:rotate(360deg)}}#mobile-generation-message{font-size:.9rem}.mobile-gallery-section{margin-top:8px}.mobile-gallery-title{font-size:1rem;font-weight:600;margin-bottom:10px}.mobile-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding-bottom:10px}.mobile-gallery-card{aspect-ratio:1;border-radius:0;overflow:hidden;border:1px solid var(--theme-border, #27272a);cursor:pointer;transition:transform .2s}.mobile-gallery-card:active{transform:scale(.95)}.mobile-gallery-card img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.mobile-image-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000000eb;display:flex;align-items:center;justify-content:center;padding:var(--mobile-gap)}.mobile-image-modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;z-index:61}.mobile-image-modal-img{max-width:100%;max-height:85dvh;-o-object-fit:contain;object-fit:contain;border-radius:0}.mobile-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:70;padding:12px 24px;border-radius:12px;font-size:.9rem;font-weight:500;box-shadow:0 4px 20px #0006;animation:toast-in .3s ease-out;max-width:calc(100vw - 32px)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(20px)}}.mobile-toast-info{background:#27272a;color:#e4e4e7}body.mobile-theme-parqueterie .mobile-toast-info{background:#2c2419;color:#f5f1eb}.mobile-toast-success{background:#065f46;color:#a7f3d0}.mobile-toast-error{background:#7f1d1d;color:#fecaca}.mobile-new-project-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080}.mobile-new-project-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:56;width:calc(100vw - 48px);max-width:360px;background:var(--theme-bg-secondary, #18181b);border:1px solid var(--theme-border, #27272a);padding:24px}.mobile-new-project-title{font-size:1.05rem;font-weight:700;margin-bottom:16px}.mobile-new-project-input{width:100%;padding:12px 14px;font-size:.95rem;font-family:inherit;border:1px solid var(--theme-border, #3f3f46);background:var(--theme-bg-primary, #0f0f13);color:var(--theme-text-primary, #e4e4e7);outline:none;margin-bottom:16px}.mobile-new-project-input:focus{border-color:var(--theme-accent, #818cf8)}.mobile-new-project-actions{display:flex;gap:10px}#cloud-image-picker-modal{font-family:Inter,-apple-system,sans-serif}@media (min-width: 768px){.mobile-main{max-width:540px;margin:0 auto}}@media (min-width: 1024px){.mobile-main{max-width:640px}}
