:root{--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-secondary: #ec4899;--color-accent: #14b8a6;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-border: #e2e8f0;--color-text-main: #0f172a;--color-text-muted: #64748b;--color-danger: #ef4444;--color-success: #10b981;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased}ul,ol{list-style:none}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;background:none;outline:none}input,textarea,select{font-family:inherit;outline:none}img{max-width:100%;display:block}#app{display:flex;flex-direction:column;min-height:100vh}#app-header{height:64px;background:rgba(255,255,255,.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;padding:0 2rem;box-shadow:var(--shadow-sm)}#app-body{display:flex;flex:1;overflow:hidden}#app-sidebar{width:260px;background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:1.5rem;overflow-y:auto}#app-main{flex:1;padding:2rem;overflow-y:auto}.text-h1{font-size:2rem;font-weight:700;letter-spacing:-.02em}.text-h2{font-size:1.5rem;font-weight:600;letter-spacing:-.01em}.text-h3{font-size:1.25rem;font-weight:600}.text-base{font-size:1rem}.text-sm{font-size:.875rem}.text-muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 14px rgba(99,102,241,.39)}.btn-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.btn-secondary{background-color:#fff;border:1px solid var(--color-border);color:var(--color-text-main)}.btn-secondary:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn-icon{padding:.5rem;border-radius:var(--radius-full)}.btn-icon:hover{background-color:var(--color-surface-hover)}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(15,23,42,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:50;animation:fadeIn .2s ease-out}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:60;width:90%;max-width:500px;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .2s cubic-bezier(.16,1,.3,1) forwards}.modal.outfit-modal{max-width:800px}.modal-header{padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:1.5rem;overflow-y:auto}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;gap:.75rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-main)}.form-input,.form-select{width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--color-text-muted)}.empty-state svg{width:64px;height:64px;margin-bottom:1.5rem;color:var(--color-border)}@media(max-width:768px){#app-header{padding:0 1rem;height:56px}#app-header .header-logo h1{font-size:1.1rem}#app-header .header-actions .btn span.btn-text{display:none}#app-header .header-actions .btn svg{margin-right:0}#app-header .header-actions{gap:.5rem}#app-header .header-actions .btn{padding:.5rem .6rem;font-size:0}#app-header .header-actions .btn svg{margin:0}#app-body{flex-direction:column;overflow:visible}#app-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;background:var(--color-surface)}#app-sidebar .sidebar-banner{display:none}#app-main{padding:1rem;overflow-y:auto}.modal{width:100%;max-width:100%;max-height:100vh;height:100%;border-radius:0;top:0;left:0;transform:none;animation:slideUp .25s ease-out forwards}.modal.outfit-modal{max-width:100%}.modal-header{padding:1rem}.modal-body{padding:1rem;flex:1}.modal-footer{padding:.75rem 1rem}#auth-container .modal{width:92%;height:auto;max-height:90vh;border-radius:var(--radius-lg);top:50%;left:50%;transform:translate(-50%,-50%);animation:scaleIn .2s ease-out forwards}.mobile-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(99,102,241,.4);z-index:45;cursor:pointer;border:none;transition:transform .2s,box-shadow .2s}.mobile-fab:active{transform:scale(.92)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(min-width:769px){.mobile-fab{display:none}.mobile-only{display:none!important}}@media(max-width:375px){#app-main{padding:.75rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.7}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.cropper-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000;display:flex;flex-direction:column}.cropper-header-bar{padding:.75rem 1rem;padding-top:calc(.75rem + env(safe-area-inset-top,0px));background:rgba(0,0,0,.85);text-align:center}.cropper-title{display:block;font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.25rem}.cropper-subtitle{display:block;font-size:.8rem;color:rgba(255,255,255,.55)}.cropper-canvas-area{flex:1;position:relative;overflow:hidden}.cropper-source-img{width:100%;height:100%;object-fit:contain;position:absolute;top:0;left:0}.crop-mask{position:absolute;background:rgba(0,0,0,.55);pointer-events:none}.crop-box{position:absolute;border:2px solid #fff;box-sizing:border-box;z-index:10;cursor:move}.crop-grid-h,.crop-grid-v{position:absolute;background:rgba(255,255,255,.2);pointer-events:none}.crop-grid-h{left:0;right:0;height:1px}.crop-grid-v{top:0;bottom:0;width:1px}.crop-handle{position:absolute;width:24px;height:24px;z-index:20}.crop-handle-tl{top:-3px;left:-3px;border-top:4px solid #ec4899;border-left:4px solid #ec4899;cursor:nwse-resize}.crop-handle-tr{top:-3px;right:-3px;border-top:4px solid #ec4899;border-right:4px solid #ec4899;cursor:nesw-resize}.crop-handle-bl{bottom:-3px;left:-3px;border-bottom:4px solid #ec4899;border-left:4px solid #ec4899;cursor:nesw-resize}.crop-handle-br{bottom:-3px;right:-3px;border-bottom:4px solid #ec4899;border-right:4px solid #ec4899;cursor:nwse-resize}.cropper-toolbar{display:flex;gap:.75rem;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.85)}.cropper-btn{flex:1;text-align:center;padding:.75rem 0;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;cursor:pointer;border:none}.cropper-btn-cancel{background:rgba(255,255,255,.15);color:#fff}.cropper-btn-skip{background:rgba(255,255,255,.25);color:#fff}.cropper-btn-confirm{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;box-shadow:0 4px 14px rgba(236,72,153,.4)}.crop-hidden-canvas{position:fixed;left:-9999px;top:-9999px}.install-prompt{position:fixed;bottom:0;left:0;right:0;z-index:9998;padding:0 1rem;padding-bottom:env(safe-area-inset-bottom,0px)}.install-banner{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.12);padding:1.25rem;animation:slideUp .3s ease-out}.install-banner-ios{position:relative;padding-bottom:2.5rem}.install-banner-content{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.install-banner-icon{font-size:2rem;flex-shrink:0}.install-banner-text{display:flex;flex-direction:column;gap:.25rem}.install-banner-text strong{font-size:1rem;color:var(--color-text-main)}.install-banner-text span{font-size:.85rem;color:var(--color-text-muted);line-height:1.4}.ios-share-icon{display:inline-block;font-size:1rem;color:var(--color-primary);font-weight:700}.install-banner-actions{display:flex;gap:.75rem}.install-btn-dismiss{flex:1;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);font-size:.85rem;cursor:pointer;font-family:inherit}.install-btn-confirm{flex:1;padding:.6rem;border:none;border-radius:var(--radius-md);background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit}.install-ios-arrow{position:absolute;bottom:.5rem;left:50%;transform:translate(-50%);font-size:1.5rem;color:var(--color-text-muted);animation:bounceDown 1s infinite}@keyframes bounceDown{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.feedback-type-row{display:flex;gap:.5rem}.feedback-type-btn{flex:1;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;text-align:center}.feedback-type-btn.active{background:linear-gradient(135deg,rgba(236,72,153,.1),rgba(139,92,246,.1));border-color:#ec4899;color:#ec4899;font-weight:600}.feedback-stars{display:flex;gap:.5rem}.feedback-stars .star{font-size:1.75rem;color:#d1d5db;cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none}.feedback-stars .star.active{color:#f59e0b}.feedback-stars .star:hover{transform:scale(1.2)}.date-pill{padding:.35rem 1rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.date-pill.active{background:#fff;color:#ec4899;font-weight:600;border-color:#fff}.date-pill:hover:not(.active){background:rgba(255,255,255,.2)}
