    * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
    body { font-family: 'Noto Sans SC', sans-serif; background: #f7f7f7; }
    .no-scrollbar::-webkit-scrollbar { display: none; }
    .scrollbar-hide::-webkit-scrollbar { display: none; }
    .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
    .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
    .page { display: none !important; }
    .page.active { display: flex !important; flex-direction: column; }
    .tab-bar { padding-bottom: env(safe-area-inset-bottom, 20px); }
    .img-uploader { position: relative; overflow: hidden; }
    .img-uploader img { width: 100%; height: 100%; object-fit: cover; }
    .wardrobe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
    .tag-btn { transition: all 0.2s; }
    .tag-btn.selected { background: #f43f5e; color: white; border-color: #f43f5e; }
    .shakable { animation: shake 0.3s; }
    @keyframes shake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-4px)} 75%{transform:translateX(4px)} }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    .animate-fade { animation: fadeIn 0.3s ease-out; }
    @keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }
    .animate-slide-up { animation: slideUp 0.3s ease-out; }
    @keyframes pulse-glow { 0%,100%{box-shadow:0 0 0 0 rgba(244,63,94,0.4)} 50%{box-shadow:0 0 0 8px rgba(244,63,94,0)} }
    .glow { animation: pulse-glow 2s infinite; }
    .mirror-slot { transition: transform 0.2s, box-shadow 0.2s; }
    .mirror-slot:active { transform: scale(0.95); }
    .star-btn { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; font-size: 24px; transition: transform 0.15s ease; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
    .star-btn:active { transform: scale(1.3); }
    .star-btn.active { color: #fbbf24 !important; }
    .star-btn.inactive { color: #d1d5db !important; }
    .star-btn:hover { transform: scale(1.15); }
    .interactive-btn { transition: all 0.2s ease; cursor: pointer; -webkit-tap-highlight-color: transparent; }
    .interactive-btn:hover { transform: translateY(-1px); box-shadow: 0 2px 8px rgba(0,0,0,0.1); }
    .interactive-btn:active { transform: scale(0.95) translateY(0); }
    .min-touch { min-width: 32px; min-height: 32px; }
