*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,'San Francisco','Helvetica Neue','Segoe UI',Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% 30%,#f0e6ff,#e0d4f5,#d4c4e8);min-height:100vh;display:flex;justify-content:center;padding:30px 20px;color:#1c1c1e;line-height:1.5;overflow-x:hidden}
.app-wrapper{max-width:1100px;width:100%;display:flex;flex-direction:column;gap:28px}

.window-controls{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,0.05)}
.dot{width:14px;height:14px;border-radius:50%;display:inline-block;transition:0.2s;cursor:default;flex-shrink:0}
.dot.red{background:#ff5f57;border:1px solid rgba(0,0,0,0.1)}
.dot.yellow{background:#ffbd2e;border:1px solid rgba(0,0,0,0.1)}
.dot.green{background:#28c840;border:1px solid rgba(0,0,0,0.1)}
.dot:hover{filter:brightness(0.9);transform:scale(1.1)}
.window-title{font-size:.75rem;font-weight:500;opacity:.4;margin-left:8px;letter-spacing:.02em;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.glass-card{background:rgba(255,255,255,0.2);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,0.08),0 4px 12px rgba(0,0,0,0.04),inset 0 1px 1px rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.3);padding:16px 24px 12px;transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94)}
.glass-card:hover{box-shadow:0 16px 48px rgba(0,0,0,0.12),0 6px 16px rgba(0,0,0,0.06),inset 0 1px 1px rgba(255,255,255,0.6);transform:translateY(-1px)}

.finder-style{background:rgba(255,255,255,0.25);border:1px solid rgba(255,255,255,0.35)}
.finder-style .window-controls{border-bottom:1px solid rgba(0,0,0,0.06)}
.finder-status-bar{display:flex;justify-content:space-between;padding:8px 4px 0;margin-top:12px;border-top:1px solid rgba(0,0,0,0.05);font-size:.6rem;opacity:.35;letter-spacing:.04em;font-weight:500;font-variant-numeric:tabular-nums}

.floating-hearts{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1;opacity:.15}
.floating-heart{position:absolute;font-size:1rem;animation:floatHeart linear forwards}
@keyframes floatHeart{0%{transform:translateY(110%) scale(0.3) rotate(0deg);opacity:0}15%{opacity:.6}85%{opacity:.6}100%{transform:translateY(-110%) scale(0.8) rotate(360deg);opacity:0}}

.hero-block{text-align:center;position:relative;overflow:hidden;padding-top:12px}
.hero-content{position:relative;z-index:3}
.hero-badge{display:inline-block;background:linear-gradient(135deg,#ff6b81,#ff4757);color:#fff;padding:6px 22px;border-radius:60px;font-size:1rem;font-weight:600;margin-bottom:14px;box-shadow:0 4px 15px rgba(255,71,87,0.3)}
.hero-title{font-size:3.2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#2c2c2e,#5a3e7a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;line-height:1.15}
.hero-message{font-size:1.1rem;color:#2c2c2e;max-width:550px;margin:0 auto 12px;opacity:.75}
.age-label{font-size:.85rem;font-weight:500;opacity:.4;margin:8px 0 4px;letter-spacing:.04em}

.age-stats{display:flex;justify-content:center;align-items:center;gap:12px;margin:8px 0 8px;flex-wrap:wrap;background:rgba(255,255,255,0.15);backdrop-filter:blur(10px);padding:12px 20px;border-radius:12px;border:1px solid rgba(255,255,255,0.2)}
.stat-item{display:flex;flex-direction:column;align-items:center}
.stat-number{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#2c2c2e,#5a3e7a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:.6rem;text-transform:uppercase;opacity:.5;font-weight:600;letter-spacing:.06em}
.stat-divider{width:1px;height:35px;background:rgba(0,0,0,0.1)}

.player-block{padding:12px 20px 12px}
.player-container{background:rgba(30,30,30,0.04);border-radius:12px;padding:16px 20px 14px;border:1px solid rgba(255,255,255,0.15);backdrop-filter:blur(10px)}
.player-track-name{text-align:center;margin-bottom:10px}
.track-name{font-size:.85rem;font-weight:500;color:#1c1c1e;opacity:.5;letter-spacing:.02em}
.player-display{position:relative}
.player-simple{position:relative;width:100%;height:60px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.02);border-radius:10px}
.player-progress{position:absolute;left:16px;right:16px;height:4px;background:rgba(0,0,0,0.08);cursor:pointer;transition:height .2s ease;z-index:5;border-radius:4px}
.player-progress:hover{height:6px}
.player-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#ff6b81,#ff4757);border-radius:4px;transition:width .05s linear;position:relative}
.player-progress-handle{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;background:#ff4757;border-radius:50%;box-shadow:0 2px 12px rgba(255,71,87,0.4);transition:transform .2s cubic-bezier(0.25,0.46,0.45,0.94);opacity:0;pointer-events:none}
.player-progress:hover .player-progress-handle{opacity:1;transform:translate(-50%,-50%) scale(1)}
.player-progress-handle.dragging{opacity:1;transform:translate(-50%,-50%) scale(1.2);box-shadow:0 2px 16px rgba(255,71,87,0.6)}
.player-controls-mac{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(0,0,0,0.05)}
.play-btn-mac{width:48px;height:48px;border-radius:50%;border:none;background:linear-gradient(135deg,#ff6b81,#ff4757);color:#fff;font-size:1.2rem;cursor:pointer;transition:all .3s cubic-bezier(0.25,0.46,0.45,0.94);box-shadow:0 4px 15px rgba(255,71,87,0.3);display:flex;align-items:center;justify-content:center}
.play-btn-mac:hover{transform:scale(1.08);box-shadow:0 8px 25px rgba(255,71,87,0.4)}
.play-btn-mac:active{transform:scale(.92)}
.play-btn-mac.paused{background:linear-gradient(135deg,#5a3e7a,#7a5a9a);box-shadow:0 4px 15px rgba(90,62,122,0.3)}
.play-btn-mac.paused:hover{box-shadow:0 8px 25px rgba(90,62,122,0.4)}
.time-display{font-variant-numeric:tabular-nums;font-weight:500;font-size:.9rem;opacity:.6;min-width:44px;font-family:-apple-system,'San Francisco',monospace}
.time-separator{opacity:.3;font-size:.9rem}

.slider-block{padding:12px 20px 12px}
.slider-wrapper{display:flex;align-items:center;gap:16px;justify-content:center;user-select:none;-webkit-user-select:none}
.slider-container{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.06);max-width:520px;flex:1;aspect-ratio:3/4;background:rgba(0,0,0,0.02);cursor:grab;-webkit-touch-callout:none}
.slider-container:active{cursor:grabbing}
.slider-track{display:flex;transition:transform .4s cubic-bezier(0.25,0.46,0.45,0.94);height:100%;width:100%;will-change:transform;-webkit-transform:translateZ(0);transform:translateZ(0)}
.slider-track img{width:100%;height:100%;object-fit:cover;flex-shrink:0;display:block;user-select:none;-webkit-user-select:none;pointer-events:none}
.slider-btn-mac{background:rgba(255,255,255,0.6);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,0.4);border-radius:6px;width:36px;height:36px;font-size:.9rem;color:#1c1c1e;cursor:pointer;transition:all .2s cubic-bezier(0.25,0.46,0.45,0.94);box-shadow:0 2px 8px rgba(0,0,0,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.slider-btn-mac:hover{background:rgba(255,255,255,0.85);transform:scale(1.05);box-shadow:0 4px 16px rgba(0,0,0,0.1)}
.slider-btn-mac:active{transform:scale(.92);background:rgba(255,255,255,0.9)}
.slider-dots-mac{display:flex;justify-content:center;gap:10px;margin-top:14px}
.slider-dots-mac span{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,0.15);transition:all .3s cubic-bezier(0.25,0.46,0.45,0.94);cursor:pointer;border:none}
.slider-dots-mac span.active{background:#007aff;transform:scale(1.3);box-shadow:0 0 12px rgba(0,122,255,0.3)}
.slider-dots-mac span:hover{background:rgba(0,0,0,0.25)}
.slider-dots-mac span.active:hover{background:#007aff}

.compliment-accent{background:linear-gradient(135deg,rgba(160,120,200,0.15),rgba(120,80,180,0.08));border:1px solid rgba(160,120,200,0.2)}
.compliment-accent .window-controls{border-bottom-color:rgba(160,120,200,0.12)}
.compliment-block{text-align:center}
.compliment-area{background:rgba(255,255,255,0.3);border-radius:16px;padding:28px 20px;min-height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.3);transition:all .3s cubic-bezier(0.25,0.46,0.45,0.94);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.compliment-area:hover{background:rgba(255,255,255,0.45);transform:scale(1.01);box-shadow:0 4px 20px rgba(160,120,200,0.1)}
.compliment-text{font-size:1.4rem;font-weight:500;color:#1c1c1e;line-height:1.4;user-select:none;-webkit-user-select:none}
.compliment-hint{margin-top:12px;font-size:.75rem;opacity:.4;user-select:none;-webkit-user-select:none}
.compliment-pop{animation:popScale .5s cubic-bezier(0.175,0.885,0.32,1.275) forwards}
@keyframes popScale{0%{transform:scale(0.7) rotate(-3deg);opacity:.2}100%{transform:scale(1) rotate(0deg);opacity:1}}

.imessage-container{display:flex;gap:12px;margin-bottom:20px;padding:16px;background:rgba(255,255,255,0.15);border-radius:16px;border:1px solid rgba(255,255,255,0.1)}
.imessage-avatar{flex-shrink:0}
.avatar-placeholder{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#007aff,#0055d4);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;text-align:center;line-height:1;padding:0;margin:0;user-select:none;-webkit-user-select:none}
.imessage-bubble{flex:1;background:rgba(255,255,255,0.4);backdrop-filter:blur(10px);border-radius:16px 16px 16px 4px;padding:14px 18px;border:1px solid rgba(255,255,255,0.2)}
.imessage-sender{font-weight:600;font-size:.85rem;color:#007aff;margin-bottom:4px}
.imessage-time{font-weight:400;font-size:.65rem;opacity:.4;margin-left:8px}
.imessage-text{font-size:.95rem;line-height:1.6;color:#1c1c1e;opacity:.85;text-align:left}

.macos-dropdown{margin-bottom:12px;border:1px solid rgba(0,0,0,0.06);border-radius:10px;overflow:hidden;background:rgba(255,255,255,0.1)}
.dropdown-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:transparent;border:none;font-family:inherit;font-size:.95rem;font-weight:600;color:#1c1c1e;cursor:pointer;transition:background .2s ease;border-radius:10px}
.dropdown-toggle:hover{background:rgba(0,0,0,0.03)}
.dropdown-toggle i{transition:transform .3s ease;font-size:.8rem;opacity:.4}
.dropdown-toggle.open i{transform:rotate(180deg)}
.dropdown-content{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(0.25,0.46,0.45,0.94),padding .3s ease;padding:0 18px}
.dropdown-content.open{max-height:500px;padding:0 18px 16px}
.dropdown-content ol{margin:0;padding-left:20px;font-size:.85rem;line-height:1.7;opacity:.7;color:#1c1c1e}
.dropdown-content li{margin-bottom:8px;text-align:left}
.dropdown-content li strong{opacity:1;font-weight:700}

.coupons-block{padding:12px 20px 12px}
.coupons-example-label{font-size:.9rem;font-weight:600;opacity:.6;margin:12px 0 8px;text-align:center}
.coupons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:8px 0 16px}
.coupon-item{background:rgba(255,255,255,0.3);backdrop-filter:blur(10px);border-radius:12px;padding:16px 12px;border:1px solid rgba(255,255,255,0.3);transition:all .3s cubic-bezier(0.25,0.46,0.45,0.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:80px;text-align:center}
.coupon-item:hover{transform:translateY(-4px) scale(1.02);background:rgba(255,255,255,0.5);box-shadow:0 12px 35px rgba(0,0,0,0.06)}
.coupon-icon{font-size:1.8rem;display:block;margin-bottom:2px}
.coupon-text{font-weight:500;font-size:.9rem;color:#1c1c1e}

.pdf-actions-bottom{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:8px;padding:12px;background:rgba(255,255,255,0.05);border-radius:12px;border:1px dashed rgba(0,0,0,0.06)}
.pdf-label{font-size:.75rem;opacity:.5}
.pdf-label i{margin-right:4px}
.pdf-btn{background:rgba(255,255,255,0.4);backdrop-filter:blur(10px);padding:8px 18px;border-radius:60px;text-decoration:none;color:#1c1c1e;font-weight:500;font-size:.85rem;border:1px solid rgba(255,255,255,0.3);transition:all .3s cubic-bezier(0.25,0.46,0.45,0.94);display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none}
.pdf-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,0.08)}
.pdf-btn-accent{background:linear-gradient(135deg,#28c840,#1fa833);color:#fff;border:none;box-shadow:0 4px 15px rgba(40,200,64,0.3)}
.pdf-btn-accent:hover{background:linear-gradient(135deg,#34d94a,#28c840);box-shadow:0 8px 25px rgba(40,200,64,0.4);transform:translateY(-2px)}
.pdf-btn-accent:active{transform:scale(.95)}

.message-accent{background:linear-gradient(135deg,rgba(40,200,64,0.1),rgba(40,200,64,0.05));border:1px solid rgba(40,200,64,0.15)}
.message-accent .window-controls{border-bottom-color:rgba(40,200,64,0.08)}
.message-block{text-align:center}
.message-content p{font-size:1.3rem;font-weight:400;max-width:650px;margin:0 auto 16px;line-height:1.7;color:#1c1c1e;opacity:.85;text-align:center}
.message-sign{font-size:.95rem;font-weight:500;letter-spacing:.06em;opacity:.4;text-align:center}

.footer{text-align:center;padding:12px 20px;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.footer-credit{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.footer-line{display:flex;align-items:center;justify-content:center;gap:6px;font-size:clamp(.6rem,2vw,.8rem);opacity:.5;font-weight:400;letter-spacing:.02em;line-height:1.6;white-space:nowrap}
.footer-logo{height:clamp(12px,2.5vw,18px);width:auto;opacity:.5;transition:opacity .3s ease;display:inline-block;vertical-align:middle}
.footer-logo:hover{opacity:1}

@media(max-width:768px){
.glass-card{padding:12px 16px 12px;border-radius:10px}
.hero-title{font-size:clamp(1.8rem,4vw,2.4rem)}
.stat-number{font-size:clamp(1rem,2.5vw,1.2rem)}
.slider-wrapper{gap:10px}
.slider-container{max-width:440px}
.slider-btn-mac{width:32px;height:32px;font-size:.8rem}
.compliment-text{font-size:clamp(1rem,2.5vw,1.1rem)}
.coupons-grid{grid-template-columns:1fr 1fr}
.player-container{padding:12px}
.play-btn-mac{width:40px;height:40px;font-size:1rem}
.time-display{font-size:.8rem;min-width:36px}
.player-controls-mac{gap:14px}
.window-title{font-size:.65rem;max-width:120px}
.message-content p{font-size:clamp(.95rem,2.5vw,1.1rem)}
.imessage-text{font-size:.85rem}
.avatar-placeholder{width:36px;height:36px;font-size:.9rem}
.age-label{font-size:clamp(.6rem,1.8vw,.75rem)}
.player-simple{height:50px}
.age-stats{gap:8px;padding:10px 14px}
.track-name{font-size:.75rem}
}
@media(max-width:480px){
.app-wrapper{gap:18px}
.glass-card{padding:10px 12px 10px;border-radius:10px}
.hero-title{font-size:clamp(1.4rem,5vw,1.8rem)}
.hero-badge{font-size:.75rem;padding:4px 14px}
.age-stats{gap:4px;padding:6px 10px}
.stat-number{font-size:clamp(.8rem,3vw,1rem)}
.stat-label{font-size:.45rem}
.slider-container{max-width:340px}
.slider-btn-mac{width:28px;height:28px;font-size:.7rem}
.slider-wrapper{gap:6px}
.coupons-grid{grid-template-columns:1fr}
.message-content p{font-size:clamp(.85rem,3vw,1rem)}
.player-container{padding:10px}
.play-btn-mac{width:36px;height:36px;font-size:.9rem}
.time-display{font-size:.7rem;min-width:30px}
.player-controls-mac{gap:10px;margin-top:10px;padding-top:8px}
.imessage-container{flex-direction:column;align-items:center}
.imessage-bubble{border-radius:16px}
.window-title{font-size:.55rem;max-width:70px}
.finder-status-bar{font-size:.5rem}
.compliment-text{font-size:clamp(.85rem,3vw,1rem)}
.coupon-item{padding:14px 10px;min-height:70px}
.coupon-icon{font-size:1.5rem}
.coupon-text{font-size:.8rem}
.imessage-text{font-size:.8rem}
.avatar-placeholder{width:32px;height:32px;font-size:.8rem}
.dropdown-toggle{font-size:.85rem;padding:10px 14px}
.dropdown-content ol{font-size:.75rem;padding-left:16px}
.pdf-label{font-size:.65rem}
.pdf-btn{font-size:.75rem;padding:6px 14px}
.age-label{font-size:clamp(.55rem,2vw,.65rem)}
.player-simple{height:40px}
.track-name{font-size:.7rem}
}
@media(max-width:400px){
.hero-title{font-size:clamp(1.2rem,4.5vw,1.6rem)}
.age-stats{gap:3px;padding:4px 8px}
.stat-number{font-size:clamp(.7rem,2.8vw,.9rem)}
.stat-divider{height:20px}
.slider-container{max-width:280px}
.window-title{font-size:.5rem;max-width:50px}
.compliment-text{font-size:clamp(.75rem,3vw,.9rem)}
.compliment-area{padding:16px 12px;min-height:70px}
.imessage-container{padding:10px}
.imessage-bubble{padding:10px 12px}
.player-simple{height:35px}
.track-name{font-size:.65rem}
}