.app-container{min-height:100vh;display:flex;flex-direction:column;padding:16px 16px 80px;max-width:480px;margin:0 auto;width:100%}.app-header{display:flex;justify-content:space-between;align-items:center;padding:8px 0;margin-bottom:16px}.app-header h1{font-size:1.4rem;background:linear-gradient(135deg,#f472b6,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main-content{flex:1;display:flex;flex-direction:column;align-items:center;gap:20px}.onboarding{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#1a1a2e,#16213e)}.onboarding-content{max-width:400px;width:100%;text-align:center}.app-title{font-size:2.2rem;margin-bottom:32px;background:linear-gradient(135deg,#f472b6,#fb923c,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.step{display:flex;flex-direction:column;gap:16px;align-items:center}.step h2{font-size:1.5rem;color:#f0f0f0}.step-desc{color:#a0a0b8;font-size:.95rem;line-height:1.6}.step-desc.subtle{font-style:italic;color:#888}.step-dots{display:flex;gap:8px;justify-content:center;margin-top:32px}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;transition:all .3s}.dot.active{background:#f472b6;transform:scale(1.3)}.btn-primary{background:linear-gradient(135deg,#f472b6,#a78bfa);color:#fff;border:none;padding:14px 32px;border-radius:12px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:transform .15s,opacity .15s;min-width:200px}.btn-primary:active{transform:scale(.96);opacity:.9}.btn-secondary{background:#ffffff14;color:#c0c0d0;border:1px solid rgba(255,255,255,.15);padding:10px 24px;border-radius:10px;font-size:.9rem;cursor:pointer;transition:background .2s}.btn-secondary:active{background:#ffffff26}.btn-back{background:none;border:none;color:#a78bfa;font-size:.95rem;cursor:pointer;padding:10px;margin-top:16px;text-align:left}.power-button{width:100px;height:100px;border-radius:50%;border:3px solid rgba(255,255,255,.15);background:#ffffff0d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .3s}.power-button.active{border-color:#f472b6;background:#f472b626;box-shadow:0 0 30px #f472b64d;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 20px #f472b633}50%{box-shadow:0 0 40px #f472b666}}.power-icon{font-size:1.8rem}.power-label{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#a0a0b8}.power-button.active .power-label{color:#f472b6}.event-visualizer{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px}.intensity-ring-container{position:relative;width:140px;height:140px}.intensity-ring{width:100%;height:100%}.intensity-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.intensity-number{font-size:2rem;font-weight:700;color:#f0f0f0}.intensity-label{font-size:.7rem;color:#a0a0b8}.last-event-badge{padding:6px 16px;border-radius:20px;border:2px solid;font-size:.85rem;font-weight:500;color:#f0f0f0;background:#ffffff0d}.event-indicators{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.event-indicator{padding:6px 10px;border-radius:8px;border:1.5px solid;font-size:.75rem;transition:all .2s;opacity:.5}.event-indicator.active{opacity:1;transform:scale(1.05)}.indicator-label{font-size:.7rem}.event-log{width:100%;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.event-log-item{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;background:#ffffff08;font-size:.75rem}.event-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.event-type{flex:1;color:#c0c0d0}.event-intensity{color:#f472b6;font-weight:600;min-width:36px;text-align:right}.event-time{color:#666;font-size:.65rem;min-width:60px;text-align:right}.controls{width:100%;display:flex;flex-direction:column;gap:12px;margin-top:16px}.control-row{display:flex;align-items:center;gap:10px}.control-label{font-size:.8rem;color:#a0a0b8;min-width:80px}.slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:2px;background:#ffffff26;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#f472b6;cursor:pointer}.slider-value{font-size:.75rem;color:#a0a0b8;min-width:40px;text-align:right}.mute-btn{background:none;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:6px 10px;font-size:1.2rem;cursor:pointer;transition:all .2s}.mute-btn.muted{background:#f472b626;border-color:#f472b6}.test-triggers{margin-top:12px}.test-triggers h3{font-size:.85rem;color:#a0a0b8;margin-bottom:8px}.trigger-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.test-btn{padding:10px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#e0e0e0;font-size:.8rem;cursor:pointer;transition:all .15s}.test-btn:active{transform:scale(.95)}.test-btn.tilt{border-color:#a78bfa4d}.test-btn.rear{border-color:#f472b64d}.test-btn.side{border-color:#fb923c4d}.test-btn.plug-in{border-color:#34d3994d}.test-btn.plug-out{border-color:#fbbf244d}.charging-status{display:flex;align-items:center;gap:10px}.status-badge{font-size:.75rem;padding:4px 10px;border-radius:12px;background:#ffffff0f}.status-badge.supported{color:#34d399}.status-badge.limited{color:#fbbf24}.status-badge.manual-fallback{color:#a0a0b8}.nav-buttons{display:flex;gap:8px;margin-top:8px}.mode-switch-bar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#1a1a2ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.08);padding:8px 16px;padding-bottom:max(8px,env(safe-area-inset-bottom));z-index:100}.mode-switch-btn{flex:1;background:none;border:none;color:#666;padding:10px;font-size:.85rem;cursor:pointer;border-radius:8px;transition:all .2s}.mode-switch-btn.active{color:#f472b6;background:#f472b61a}.mode-chip{padding:6px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#c0c0d0;font-size:.75rem;cursor:pointer}.mode-chip.active{border-color:#f472b680;color:#f472b6}.warning-text{font-size:.8rem;color:#fbbf24;text-align:center;padding:8px 16px;background:#fbbf2414;border-radius:8px}.session-stats-card{width:100%;margin-top:8px;padding:14px;border-radius:14px;border:1px solid rgba(244,114,182,.35);background:linear-gradient(165deg,#f472b629,#1a1a2ee0);display:flex;flex-direction:column;gap:10px}.session-stats-card.locked{border-color:#fff3;background:linear-gradient(165deg,#ffffff14,#1a1a2ee0)}.session-stats-card h2{margin:0;font-size:1.05rem;color:#f8cce5}.session-stat-line{margin:0;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.9rem;color:#d8d8e4}.session-stat-line strong{color:#fff;text-transform:capitalize}.share-results-btn{min-width:0;width:100%;margin-top:2px}.share-results-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.share-card-preview{margin-top:2px;padding:12px;border-radius:10px;border:1px dashed rgba(255,255,255,.2);background:#0a0a1273;font-size:.84rem;line-height:1.5;color:#efefff;white-space:pre-line}.share-feedback{margin:0;font-size:.8rem;color:#a7f3d0}.share-hint{margin:0;font-size:.8rem;color:#d1d5db}.settings-screen,.calibration-screen,.custom-mode{padding:16px 0}.settings-screen h2,.calibration-screen h2,.custom-mode h2{font-size:1.4rem;margin-bottom:20px}.setting-group{margin-bottom:24px}.setting-group h3{font-size:.9rem;color:#a78bfa;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.mode-toggle{display:flex;gap:8px}.mode-btn{flex:1;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#a0a0b8;font-size:.9rem;cursor:pointer;transition:all .2s}.mode-btn.active{border-color:#f472b6;background:#f472b61a;color:#f472b6}.toggle-btn{padding:8px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#ffffff0d;color:#c0c0d0;font-size:.85rem;cursor:pointer}.toggle-btn.active{border-color:#ef4444;background:#ef44441a;color:#ef4444}.info-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.05)}.info-row span:first-child{color:#a0a0b8}.status-ok{color:#34d399}.status-warn{color:#fbbf24}.cal-status{margin:12px 0;font-size:.9rem}.cal-ok{color:#34d399}.cal-none{color:#ef4444}.cal-details{padding:12px;background:#ffffff0a;border-radius:8px;font-size:.8rem;color:#a0a0b8}.cal-result{color:#34d399;font-size:.85rem;padding:8px;background:#34d39914;border-radius:8px}.cal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.calibrating{display:flex;flex-direction:column;align-items:center;gap:8px;color:#a78bfa}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#a78bfa;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.event-selector h3{font-size:.85rem;color:#a0a0b8;margin-bottom:8px}.event-chips{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:8px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;color:#a0a0b8;font-size:.75rem;cursor:pointer;transition:all .2s}.chip.active{border-color:#f472b6;background:#f472b61a;color:#f472b6}.chip-count{opacity:.6;margin-left:4px}.upload-area{margin-top:16px}.file-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;gap:4px;padding:24px;border:2px dashed rgba(255,255,255,.15);border-radius:12px;cursor:pointer;transition:border-color .2s}.upload-label:active{border-color:#f472b6}.upload-hint{font-size:.7rem;color:#666}.sounds-list{margin-top:16px}.sounds-list h3{font-size:.9rem;margin-bottom:8px}.empty-state{color:#555;font-size:.85rem;text-align:center;padding:20px}.sound-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffffff0a;border-radius:8px;margin-bottom:6px}.sound-name{font-size:.8rem;color:#c0c0d0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}.sound-actions{display:flex;gap:4px}.icon-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:4px}.error{color:#ef4444;font-size:.85rem;padding:8px 12px;background:#ef444414;border-radius:8px;text-align:center}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#e0e0e0;background-color:#1a1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-height:100vh;overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}#root{min-height:100vh;display:flex;flex-direction:column}
