*{margin:0;padding:0;box-sizing:border-box}:root{--bg-gradient-start: #1a1a2e;--bg-gradient-end: #16213e;--card-bg: #ffffff;--card-bg-alt: #fafafa;--text-primary: #1a1a2e;--text-secondary: #5a5a7a;--accent-color: #c9a962;--accent-secondary: #e8d5a3;--accent-rose: #b76e79;--accent-rose-light: #d4a5ad;--sexy-red: #8b2942;--sexy-red-light: #a83250;--sexy-glow: rgba(139, 41, 66, .3);--shadow-color: rgba(0, 0, 0, .08);--shadow-hover: rgba(201, 169, 98, .2);--glow-color: rgba(201, 169, 98, .3);--border-subtle: rgba(201, 169, 98, .2)}body.dark-mode{--bg-gradient-start: #0d0d14;--bg-gradient-end: #1a1a2e;--card-bg: #1e1e2f;--card-bg-alt: #252538;--text-primary: #f5f5f5;--text-secondary: #a0a0b8;--accent-color: #d4af37;--accent-secondary: #f0d78c;--accent-rose: #c9848e;--accent-rose-light: #e0a8b0;--sexy-red: #c93d5a;--sexy-red-light: #e04d6a;--sexy-glow: rgba(201, 61, 90, .4);--shadow-color: rgba(0, 0, 0, .3);--shadow-hover: rgba(212, 175, 55, .25);--glow-color: rgba(212, 175, 55, .35);--border-subtle: rgba(212, 175, 55, .25)}body{font-family:Helvetica Neue,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;background:linear-gradient(160deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);min-height:100vh;padding:30px;transition:background .4s ease;letter-spacing:.02em}.container{max-width:1400px;margin:0 auto}header{text-align:center;color:#fff;margin-bottom:30px;padding:20px 30px;position:sticky;top:0;background:linear-gradient(135deg,#1a1a2efa,#16213efa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;border-radius:0 0 20px 20px;box-shadow:0 10px 40px #0000004d;animation:slideDown .6s ease;border-bottom:1px solid var(--border-subtle)}@keyframes slideDown{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}h1{font-family:"Noto Serif JP",Georgia,serif;font-size:2.4rem;font-weight:600;margin-bottom:10px;letter-spacing:.2em;background:linear-gradient(135deg,var(--accent-color) 0%,#f5e6c8 40%,var(--accent-color) 60%,var(--sexy-red-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s ease-in-out infinite;background-size:300% 100%;text-shadow:0 0 40px rgba(201,169,98,.3);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.subtitle{font-size:.95rem;opacity:.7;margin-top:15px;font-weight:300;letter-spacing:.2em;text-transform:uppercase}.theme-toggle-container{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:10px;z-index:110}.theme-toggle-label{font-size:.85rem;font-weight:500;opacity:.9}.theme-toggle{position:relative;width:50px;height:26px;background:#ffffff4d;border-radius:50px;cursor:pointer;transition:all .3s ease;border:none;box-shadow:0 2px 10px #0003;z-index:111;pointer-events:auto}.theme-toggle:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 5px #0003}body.dark-mode .theme-toggle{background:#ff6b9d80}body.dark-mode .theme-toggle:before{transform:translate(24px);background:#ff6b9d}.theme-toggle:hover{transform:scale(1.05);box-shadow:0 4px 15px #0000004d}.stats{display:flex;gap:25px;justify-content:center;margin-bottom:40px;flex-wrap:wrap}.stat-card{background:var(--card-bg);padding:25px 40px;border-radius:4px;box-shadow:0 4px 20px var(--shadow-color);text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1px solid var(--border-subtle);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent-color),var(--accent-secondary));transform:scaleX(0);transition:transform .4s ease}.stat-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px var(--shadow-hover)}.stat-card:hover:before{transform:scaleX(1)}.stat-number{font-size:2.2rem;font-weight:200;color:var(--accent-color);letter-spacing:.05em}.stat-label{font-size:.75rem;color:var(--text-secondary);margin-top:8px;text-transform:uppercase;letter-spacing:.15em;font-weight:500}.age-stats{background:var(--card-bg);padding:25px;border-radius:2px;border:1px solid var(--border-subtle);margin-bottom:35px;transition:all .3s ease}.age-stats-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease;border-radius:10px}.age-stats-header:hover{background-color:#e91e630d}.toggle-icon{font-size:1.2rem;transition:transform .3s ease;color:var(--accent-color)}.toggle-icon.open{transform:rotate(180deg)}.age-stats-content{padding:20px 10px 10px}.age-breakdown{display:flex;gap:20px;justify-content:center;margin-bottom:30px;flex-wrap:wrap}.age-group{background:var(--card-bg);padding:25px 45px;border-radius:2px;text-align:center;color:var(--text-primary);min-width:160px;transition:all .4s ease;cursor:pointer;border:1px solid var(--border-subtle);position:relative;overflow:hidden}.age-group:before{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--sexy-red),var(--accent-color));transform:scaleX(0);transition:transform .4s ease}.age-group:hover{box-shadow:0 10px 35px var(--shadow-hover),0 0 20px var(--sexy-glow)}.age-group:hover:before{transform:scaleX(1)}.age-group.active{background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);border-color:var(--accent-color);box-shadow:0 8px 30px var(--glow-color)}.age-group.active:before{transform:scaleX(1);opacity:0}.age-group-title{font-size:.75rem;font-weight:500;margin-bottom:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.15em}.age-group-value{font-size:2rem;font-weight:200;color:var(--accent-color)}.age-detail{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;margin-top:20px}.age-item{background:var(--card-bg-alt);padding:14px 18px;border-radius:2px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease;border:1px solid transparent;cursor:pointer}body.dark-mode .age-item{background:var(--card-bg-alt)}.age-item:hover{border-color:var(--border-subtle)}.age-item.highlighted{background:#c9a96214;border-color:var(--accent-color)}.age-item.active{background:var(--accent-color);border-color:var(--accent-color)}.age-item.active .age-item-label,.age-item.active .age-item-value{color:#fff}.age-item-label{font-weight:400;color:var(--text-primary);font-size:.9rem}.age-item-value{font-weight:500;color:var(--accent-color);font-size:.9rem}.controls-row{display:flex;gap:15px;justify-content:center;align-items:center;flex-wrap:wrap;margin-bottom:30px}.controls{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;flex:1}.search-container{position:relative;flex:1;max-width:350px;display:flex;align-items:center}.search-box,.sort-box,.filter-box{flex:1;max-width:350px;padding:14px 20px;border:1px solid var(--border-subtle);border-radius:2px;font-size:.9rem;box-shadow:none;outline:none;transition:all .4s ease;background:var(--card-bg);color:var(--text-primary);letter-spacing:.03em}.search-container .search-box{padding-right:45px}.search-hint{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;z-index:5}.search-hint-icon{font-size:1rem;opacity:.5;transition:opacity .3s ease}.search-hint:hover .search-hint-icon{opacity:1}.search-hint-popup{position:absolute;right:0;top:calc(100% + 10px);background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:8px;padding:15px 18px;min-width:280px;box-shadow:0 10px 40px #0003;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;z-index:100}.search-hint:hover .search-hint-popup{opacity:1;visibility:visible;transform:translateY(0)}.search-hint-title{font-weight:600;color:var(--accent-color);margin-bottom:10px;font-size:.9rem}.search-hint-popup ul{list-style:none;padding:0;margin:0}.search-hint-popup li{color:var(--text-secondary);font-size:.8rem;padding:5px 0;line-height:1.5}.search-hint-popup strong{color:var(--text-primary)}.search-box:focus,.sort-box:focus,.filter-box:focus{border-color:var(--accent-color);box-shadow:0 4px 20px var(--shadow-hover)}.sort-box,.filter-box{cursor:pointer;min-width:200px}.sort-container{position:relative;display:flex;align-items:center;gap:10px}.current-sort{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border-radius:25px;color:#fff;font-weight:600;font-size:.9rem;white-space:nowrap;box-shadow:0 4px 15px var(--glow-color)}.sort-icon{font-size:1rem}.sort-label{font-size:.85rem}.sort-direction{font-size:1rem;font-weight:700}.filter-group{display:flex;gap:10px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:10px 24px;background:transparent;border:1px solid var(--border-subtle);border-radius:2px;color:var(--text-secondary);cursor:pointer;transition:all .4s ease;font-weight:400;font-size:.85rem;letter-spacing:.05em}.filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.clear-favorites-btn{display:none;padding:8px 20px;background:#ff4757;border:2px solid #ff4757;border-radius:50px;color:#fff;cursor:pointer;transition:all .3s ease;font-weight:600;margin-left:10px}.clear-favorites-btn:hover{background:#ff3838;border-color:#ff3838;transform:scale(1.05);box-shadow:0 4px 15px #ff475766}.clear-favorites-btn.show{display:inline-block}.active-filters{display:flex;align-items:center;gap:15px;margin-bottom:25px;padding:18px 25px;background:var(--card-bg);border-radius:2px;border:1px solid var(--border-subtle);flex-wrap:wrap}.active-filters-label{font-weight:600;color:var(--text-secondary);white-space:nowrap}.active-filters-tags{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filter-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:2px;font-size:.8rem;font-weight:400;background:var(--accent-color);color:#fff;animation:tagAppear .3s ease;letter-spacing:.03em}@keyframes tagAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.filter-tag button{background:#ffffff4d;border:none;color:#fff;width:18px;height:18px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .2s ease}.filter-tag button:hover{background:#ffffff80;transform:scale(1.1)}.filter-tag.search-tag{background:#5a5a7a}.filter-tag.favorites-tag{background:var(--sexy-red);box-shadow:0 2px 10px var(--sexy-glow)}.filter-tag.age-tag{background:#4a7c6f}.filter-tag.cup-tag{background:var(--sexy-red-light)}.clear-all-filters{padding:8px 18px;border-radius:2px;font-size:.8rem;font-weight:400;background:transparent;color:var(--accent-rose);border:1px solid var(--accent-rose);cursor:pointer;transition:all .3s ease;letter-spacing:.05em}.clear-all-filters:hover{background:var(--accent-rose);color:#fff}.grid-toggle{display:flex;gap:0;background:var(--card-bg);padding:0;border-radius:2px;border:1px solid var(--border-subtle);overflow:hidden}.grid-toggle-btn{padding:10px 14px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:0;font-size:.7rem;font-weight:500;transition:all .3s ease;letter-spacing:.1em;border-right:1px solid var(--border-subtle)}.grid-toggle-btn:last-child{border-right:none}.grid-toggle-btn:hover{background:#c9a9621a;color:var(--accent-color)}.grid-toggle-btn.active{background:var(--accent-color);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px;margin-bottom:40px}.grid.grid-1{grid-template-columns:1fr;max-width:600px;margin-left:auto;margin-right:auto}.grid.grid-2{grid-template-columns:repeat(2,1fr)}.grid.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:1024px){.grid.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid.grid-2,.grid.grid-3{grid-template-columns:1fr}}.card{background:var(--card-bg);border-radius:4px;padding:35px;box-shadow:0 4px 25px var(--shadow-color);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer;opacity:0;transform:translateY(30px);animation:fadeInUp .6s ease forwards;border:1px solid transparent}.card-initial{position:absolute;top:15px;right:15px;width:70px;height:70px;overflow:hidden;border-radius:50%;box-shadow:0 4px 15px #0003;border:3px solid rgba(255,255,255,.3);z-index:5;display:flex;align-items:center;justify-content:center;transition:all .4s ease}.card:hover .card-initial{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 20px #0000004d}.card-initial span{font-size:1.8rem;color:#fff;font-weight:600;font-family:"Noto Serif JP",serif;text-shadow:0 2px 4px rgba(0,0,0,.2)}.card-thumbnail{position:absolute;top:15px;right:15px;width:100px;height:100px;overflow:hidden;border-radius:12px;box-shadow:0 4px 15px #0000004d;border:3px solid rgba(255,255,255,.3);z-index:5;transition:all .4s ease;background:#0003}.card-thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center top}.card:hover .card-thumbnail{transform:scale(1.05);box-shadow:0 6px 25px #0006}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--sexy-red) 0%,var(--accent-color) 100%);opacity:0;transition:opacity .4s ease}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(139,41,66,.02) 100%);pointer-events:none}.card:hover{transform:translateY(-12px);box-shadow:0 20px 50px var(--shadow-hover),0 0 30px var(--sexy-glow);border-color:var(--border-subtle)}.card:hover:before{opacity:1}.card-number{position:absolute;top:20px;right:110px;background:transparent;color:var(--accent-color);width:auto;height:auto;border-radius:0;display:flex;align-items:center;justify-content:center;font-weight:300;font-size:1.8rem;letter-spacing:.05em;opacity:.4}.favorite-btn{position:absolute;top:20px;left:20px;background:var(--card-bg);border:1px solid var(--border-subtle);width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .3s ease;z-index:10}body.dark-mode .favorite-btn{background:var(--card-bg-alt)}.favorite-btn:hover{transform:scale(1.1);border-color:var(--sexy-red);box-shadow:0 0 15px var(--sexy-glow)}.favorite-btn.favorited{background:var(--sexy-red);border-color:var(--sexy-red);box-shadow:0 0 20px var(--sexy-glow)}.compare-btn-card{position:absolute;bottom:20px;right:65px;background:var(--card-bg);border:1px solid var(--border-subtle);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .3s ease;z-index:10}body.dark-mode .compare-btn-card{background:var(--card-bg-alt)}.compare-btn-card:hover{transform:scale(1.1);border-color:var(--accent-color);color:var(--accent-color)}.compare-btn-card.in-compare{background:var(--accent-color);border-color:var(--accent-color);color:#fff}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.favorite-btn.favorited{animation:heartBeat .5s ease}@keyframes heartBeat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.25)}}.card-name{font-size:1.4rem;font-weight:400;color:var(--text-primary);margin-bottom:15px;padding-right:60px;padding-left:45px;letter-spacing:.08em}.card-birthdate{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.85rem;margin-bottom:10px;font-weight:300}.card-age{display:inline-block;background:linear-gradient(135deg,var(--sexy-red) 0%,var(--sexy-red-light) 100%);color:#fff;padding:6px 16px;border-radius:2px;font-size:.8rem;font-weight:400;margin-bottom:15px;letter-spacing:.1em;box-shadow:0 2px 10px var(--sexy-glow)}.card-measurements{background:var(--card-bg-alt);padding:18px 20px;border-radius:2px;margin:18px 0;transition:all .3s ease;border-left:2px solid var(--sexy-red);position:relative}body.dark-mode .card-measurements{background:var(--card-bg-alt)}.card-measurements:hover{border-left-width:4px;box-shadow:inset 0 0 20px #8b29420d}.measurement-item{color:var(--text-secondary);font-size:.85rem;margin:6px 0;display:flex;align-items:center;font-weight:300;letter-spacing:.03em}.card-description{color:var(--text-secondary);line-height:1.7;font-size:.85rem;font-weight:300;letter-spacing:.02em}.search-highlight{background:linear-gradient(135deg,#8b294226,#c9a96233);color:var(--sexy-red);padding:2px 6px;border-radius:2px;font-weight:500;border-bottom:1px solid var(--sexy-red)}.badge{display:inline-block;background:transparent;color:var(--accent-color);padding:5px 12px;border-radius:2px;font-size:.7rem;font-weight:500;margin-top:12px;margin-right:8px;transition:all .3s ease;border:1px solid var(--accent-color);letter-spacing:.05em;text-transform:uppercase}.badge:hover{background:var(--accent-color);color:#fff}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#000c;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--card-bg);margin:5% auto;padding:50px;border-radius:4px;max-width:600px;position:relative;animation:slideUp .3s ease;max-height:90vh;overflow-y:auto;color:var(--text-primary);border:1px solid var(--border-subtle)}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.close{position:absolute;right:20px;top:20px;font-size:2rem;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;z-index:10}.close:hover{color:var(--accent-color);transform:rotate(90deg)}.modal-header{display:flex;gap:25px;margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid var(--border-subtle)}.modal-initial{flex-shrink:0;width:100px;height:100px;border-radius:50%;overflow:hidden;box-shadow:0 4px 20px #0003;border:4px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.modal-initial span{font-size:2.5rem;color:#fff;font-weight:600;font-family:"Noto Serif JP",serif;text-shadow:0 2px 4px rgba(0,0,0,.2)}.modal-thumbnail{flex-shrink:0;width:150px;height:150px;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000004d;border:4px solid rgba(255,255,255,.3);background:#0003}.modal-thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center top}.modal-header-info{flex:1;min-width:0}.modal-header-info h2{color:var(--accent-color);font-size:1.8rem;font-weight:400;margin-bottom:8px;letter-spacing:.05em}.modal-kana{color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.modal-birthdate{font-size:1rem;margin-bottom:10px}.modal-description{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:15px}.modal-badges{display:flex;flex-wrap:wrap;gap:8px}.modal-body{display:flex;flex-direction:column;gap:25px}.modal-specs h3{color:var(--accent-color);font-size:1.1rem;font-weight:400;margin-bottom:15px;letter-spacing:.05em}.specs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.spec-item{background:var(--card-bg-alt);border-radius:4px;padding:12px 15px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-subtle)}.spec-icon{font-size:1.1rem}.spec-label{color:var(--text-secondary);font-size:.85rem}.spec-value{margin-left:auto;font-weight:500;color:var(--accent-color)}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--card-bg);color:var(--sexy-red);border:1px solid var(--sexy-red);border-radius:2px;font-size:1.3rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 20px var(--shadow-color);transition:all .4s ease;z-index:999}.scroll-to-top:hover{background:var(--sexy-red);color:#fff;transform:translateY(-5px);box-shadow:0 10px 30px var(--sexy-glow)}.compare-bar{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);padding:18px 25px;box-shadow:0 -4px 30px #00000026;z-index:998;animation:slideUpBar .3s ease;border-top:1px solid var(--border-subtle)}@keyframes slideUpBar{0%{transform:translateY(100%)}to{transform:translateY(0)}}.compare-bar-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.compare-bar-label{font-weight:600;color:var(--text-primary);white-space:nowrap}.compare-bar-items{display:flex;gap:10px;flex-wrap:wrap;flex:1}.compare-bar-item{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(135deg,var(--sexy-red) 0%,var(--sexy-red-light) 100%);color:#fff;border-radius:2px;font-size:.85rem;font-weight:400;letter-spacing:.03em;box-shadow:0 2px 10px var(--sexy-glow)}.compare-bar-item button{background:#ffffff4d;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:all .2s ease}.compare-bar-item button:hover{background:#ffffff80}.compare-bar-actions{display:flex;gap:10px}.compare-btn{padding:12px 28px;background:var(--accent-color);color:#fff;border:none;border-radius:2px;font-weight:400;cursor:pointer;transition:all .3s ease;letter-spacing:.08em;font-size:.85rem}.compare-btn:hover{background:var(--accent-secondary);color:var(--text-primary)}.compare-clear-btn{padding:12px 22px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:2px;font-weight:400;cursor:pointer;transition:all .3s ease;letter-spacing:.05em;font-size:.85rem}.compare-clear-btn:hover{border-color:var(--text-secondary)}.compare-modal{display:flex!important;align-items:center;justify-content:center;padding:20px}.compare-modal .compare-modal-content{max-width:900px;width:95%;padding:40px;background:var(--card-bg);border-radius:4px;max-height:90vh;overflow-y:auto;margin:0;position:relative;border:1px solid var(--border-subtle)}.compare-title{text-align:center;color:var(--accent-color);margin-bottom:8px;font-size:1.5rem;font-weight:300;letter-spacing:.1em}.compare-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:30px;font-size:.85rem;letter-spacing:.05em}.compare-cards-header{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-bottom:25px}.compare-card-header{background:var(--card-bg-alt);padding:15px;border-radius:2px;color:var(--text-primary);position:relative;transition:all .3s ease;border:1px solid var(--border-subtle);display:flex;gap:12px;align-items:flex-start}.compare-card-header:hover{border-color:var(--accent-color)}.compare-card-header.primary{background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);color:#fff;border-color:var(--accent-color)}.compare-initial{flex-shrink:0;width:50px;height:50px;border-radius:50%;overflow:hidden;box-shadow:0 2px 8px #00000026;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.compare-initial span{font-size:1.3rem;color:#fff;font-weight:600;font-family:"Noto Serif JP",serif}.compare-card-info{flex:1;min-width:0;text-align:left}.compare-card-number{display:inline-block;background:var(--card-bg);color:var(--accent-color);width:20px;height:20px;border-radius:50%;text-align:center;line-height:20px;font-weight:400;font-size:.7rem;border:1px solid var(--accent-color);margin-bottom:5px}.compare-card-header.primary .compare-card-number{background:#fff;color:var(--sexy-red);border-color:#fff}.compare-card-name{font-size:1rem;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compare-card-desc{font-size:.7rem;opacity:.85;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compare-specs{background:var(--card-bg-alt);border-radius:2px;padding:25px;margin-bottom:30px;border:1px solid var(--border-subtle)}body.dark-mode .compare-specs{background:var(--card-bg-alt)}.compare-spec-row{display:flex;align-items:center;padding:15px 0;border-bottom:1px solid rgba(0,0,0,.06)}body.dark-mode .compare-spec-row{border-bottom:1px solid rgba(255,255,255,.06)}.compare-spec-row:last-child{border-bottom:none}.compare-spec-label{width:120px;flex-shrink:0;display:flex;align-items:center;gap:8px}.spec-icon{font-size:1.2rem}.spec-name{font-weight:600;color:var(--text-primary);font-size:.9rem}.compare-spec-values{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:15px}.compare-spec-value{text-align:center;padding:14px 12px;border-radius:2px;background:var(--card-bg);position:relative;transition:all .3s ease;border:1px solid transparent}.compare-spec-value.best{background:#c9a9621a;border-color:var(--accent-color)}.compare-spec-value.lowest,body.dark-mode .compare-spec-value.lowest{opacity:.5}.value-main{font-size:1.1rem;font-weight:400;color:var(--text-primary);display:block;letter-spacing:.03em}.compare-spec-value.best .value-main{color:var(--accent-color);font-weight:500}.value-diff{display:block;font-size:.75rem;font-weight:600;margin-top:4px}.value-diff.positive{color:#22c55e}.value-diff.negative{color:#ef4444}.best-badge{position:absolute;top:-8px;right:-8px;background:var(--accent-color);color:#fff;font-size:.55rem;font-weight:500;padding:3px 8px;border-radius:2px;letter-spacing:.1em}.compare-total-section{margin-bottom:25px}.compare-total-section h3,.compare-birthdate-section h3{color:var(--text-primary);font-size:1rem;margin-bottom:15px;padding-left:5px}.compare-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.compare-total-card{background:var(--card-bg-alt);padding:20px 18px;border-radius:2px;text-align:center;color:var(--text-primary);border:1px solid var(--border-subtle)}.compare-total-card.primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.total-name{font-weight:400;font-size:.9rem;margin-bottom:10px;letter-spacing:.05em}.total-bwh{font-size:.95rem;font-weight:500;margin-bottom:8px;letter-spacing:.03em}.total-sum{font-size:.8rem;opacity:.8;background:transparent;padding:0;border-radius:0;display:inline-block;letter-spacing:.03em}.compare-birthdates{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.compare-birthdate-card{background:var(--card-bg-alt);padding:16px;border-radius:2px;text-align:center;border:1px solid var(--border-subtle)}body.dark-mode .compare-birthdate-card{background:var(--card-bg-alt)}.birthdate-name{font-weight:400;color:var(--text-primary);font-size:.85rem;margin-bottom:8px;letter-spacing:.05em}.birthdate-date{color:var(--text-secondary);font-size:.8rem;letter-spacing:.03em}@media(max-width:600px){.compare-modal .compare-modal-content{padding:20px 15px}.compare-spec-label{width:80px}.spec-name{font-size:.8rem}.compare-spec-value{padding:10px 6px}.value-main{font-size:1rem}.compare-cards-header{grid-template-columns:1fr}}.range-filters{display:flex;gap:20px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.range-filter{background:var(--card-bg);padding:22px 28px;border-radius:2px;border:1px solid var(--border-subtle);min-width:280px;flex:1;max-width:400px;transition:all .3s ease}.range-filter.active{border-color:var(--accent-color)}.range-filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.range-filter-label{font-weight:400;color:var(--text-primary);font-size:.85rem;letter-spacing:.05em}.range-filter-value{font-weight:500;color:var(--accent-color);font-size:.85rem;padding:0;background:transparent;border-radius:0}.range-reset-btn{padding:4px 12px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:2px;font-size:.7rem;font-weight:400;cursor:pointer;transition:all .3s ease;letter-spacing:.05em}.range-reset-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.range-slider-container{position:relative;height:30px;margin-top:10px}.range-slider-track{position:absolute;width:100%;height:6px;background:#ddd;border-radius:3px;top:50%;transform:translateY(-50%)}body.dark-mode .range-slider-track{background:#555}.range-slider{position:absolute;width:100%;height:6px;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);cursor:pointer;pointer-events:all;box-shadow:0 2px 8px var(--glow-color);transition:transform .2s ease}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);cursor:pointer;pointer-events:all;box-shadow:0 2px 8px var(--glow-color);border:none}.filter-tag.range-tag{background:linear-gradient(135deg,#667eea,#764ba2)}.note-indicator{position:absolute;bottom:20px;right:20px;font-size:.9rem;background:var(--card-bg);border:1px solid var(--border-subtle);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10;opacity:.5;transition:all .3s ease}.note-indicator:hover{opacity:1;transform:scale(1.1);border-color:var(--accent-color)}body.dark-mode .note-indicator{background:var(--card-bg-alt)}.note-indicator.has-note{background:var(--accent-color);border-color:var(--accent-color);color:#fff;opacity:1}body.dark-mode .note-indicator.has-note{background:var(--accent-color)}@keyframes noteAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.memo-section{margin-top:25px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}body.dark-mode .memo-section{border-top:1px solid rgba(255,255,255,.1)}.memo-section h3{color:var(--text-primary);margin-bottom:15px;font-size:1rem}.memo-input{width:100%;min-height:100px;padding:15px;border:2px solid rgba(233,30,99,.2);border-radius:12px;font-family:inherit;font-size:.95rem;resize:vertical;background:var(--card-bg);color:var(--text-primary);transition:all .3s ease}.memo-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #e91e631a}.memo-input::placeholder{color:var(--text-secondary);opacity:.7}.product-section{margin-top:25px;padding-top:25px;border-top:1px solid var(--border-subtle)}.product-section-title{color:var(--accent-color);font-size:1.1rem;font-weight:500;margin-bottom:20px;letter-spacing:.05em;display:flex;align-items:center;gap:10px}.pr-badge{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.1em}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.product-card{background:var(--card-bg-alt);border-radius:8px;overflow:hidden;border:1px solid var(--border-subtle);transition:all .3s ease}.product-card.clickable{cursor:pointer}.product-card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 25px var(--shadow-hover);border-color:var(--accent-color)}.product-card.no-link{opacity:.7}.product-image{position:relative;width:100%;height:140px;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.product-card.clickable:hover .product-image img{transform:scale(1.05)}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sexy-red) 0%,var(--accent-color) 100%)}.product-image-placeholder span{font-size:2.5rem;opacity:.8}.product-type-badge{position:absolute;top:8px;left:8px;background:#000000b3;color:#fff;padding:4px 10px;border-radius:4px;font-size:.7rem;font-weight:500;letter-spacing:.03em}.product-info{padding:15px}.product-title{font-size:.9rem;font-weight:500;color:var(--text-primary);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-price{font-size:1.1rem;font-weight:600;color:var(--sexy-red);margin-bottom:6px}.product-date{font-size:.75rem;color:var(--text-secondary);margin-bottom:12px}.product-stores{display:flex;flex-wrap:wrap;gap:6px}.store-link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--store-color);color:#fff;border-radius:4px;font-size:.7rem;font-weight:500;text-decoration:none;transition:all .2s ease}.store-link:hover{filter:brightness(1.1);transform:scale(1.05)}.product-coming-soon{display:inline-block;padding:6px 12px;background:var(--card-bg);color:var(--text-secondary);border-radius:4px;font-size:.75rem;border:1px dashed var(--border-subtle)}.affiliate-notice{margin-top:15px;font-size:.75rem;color:var(--text-secondary);text-align:center;opacity:.8}.detail-page-btn{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:12px 24px;background:linear-gradient(135deg,var(--sexy-red) 0%,var(--accent-color) 100%);color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.05em}.detail-page-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px var(--sexy-glow)}.detail-page{min-height:100vh;background:linear-gradient(160deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%)}.detail-page.not-found{display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}.detail-page.not-found h1{color:var(--accent-color);margin-bottom:15px}.detail-page.not-found p{color:var(--text-secondary);margin-bottom:30px}.detail-container{max-width:1200px;margin:0 auto;padding:0 30px}.detail-hero{position:relative;min-height:80vh;display:flex;align-items:flex-end;overflow:hidden}.detail-hero-bg{position:absolute;top:0;right:0;width:55%;height:100%;display:flex;align-items:center;justify-content:center}.detail-hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,var(--bg-gradient-end) 0%,rgba(22,33,62,.5) 40%,transparent 100%)}.detail-hero-initial{position:relative;z-index:5;width:200px;height:200px;border-radius:50%;background:#ffffff26;border:4px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #0000004d;animation:floatInitial 3s ease-in-out infinite}@keyframes floatInitial{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.detail-hero-initial span{font-size:5rem;color:#fff;font-weight:600;font-family:"Noto Serif JP",serif;text-shadow:0 4px 8px rgba(0,0,0,.3)}.detail-hero-thumbnail{position:relative;z-index:5;width:400px;height:400px;border-radius:20px;overflow:hidden;border:5px solid rgba(255,255,255,.3);box-shadow:0 15px 60px #00000080;animation:floatInitial 3s ease-in-out infinite;background:#0003}.detail-hero-thumbnail img{width:100%;height:100%;object-fit:cover;object-position:center top}.detail-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,var(--bg-gradient-end) 0%,rgba(22,33,62,.8) 20%,transparent 50%)}.detail-hero-content{position:relative;z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:40px 30px 60px}.detail-hero-text{max-width:500px}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:30px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .3s ease;margin-bottom:30px}.back-btn:hover{background:#fff3;transform:translate(-5px)}.detail-catchphrase{display:inline-block;padding:8px 18px;background:var(--sexy-red);color:#fff;font-size:.85rem;font-weight:500;letter-spacing:.1em;margin-bottom:15px;border-radius:2px}.detail-name{font-family:"Noto Serif JP",serif;font-size:3.5rem;font-weight:600;color:#fff;letter-spacing:.1em;margin-bottom:10px;text-shadow:0 4px 20px rgba(0,0,0,.5)}.detail-kana{font-size:1rem;color:#ffffffb3;letter-spacing:.2em;margin-bottom:20px}.detail-highlights{display:flex;flex-wrap:wrap;gap:10px}.highlight-tag{padding:8px 16px;background:#c9a96233;border:1px solid var(--accent-color);color:var(--accent-color);font-size:.85rem;font-weight:500;border-radius:2px;letter-spacing:.05em}.detail-profile{padding:60px 0;background:var(--card-bg)}.profile-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:start}.profile-appeal h2{color:var(--accent-color);font-size:1.4rem;font-weight:500;margin-bottom:25px;letter-spacing:.05em}.appeal-text p{color:var(--text-primary);font-size:1rem;line-height:2;margin-bottom:20px}.profile-stats{background:var(--card-bg-alt);padding:30px;border-radius:8px;border:1px solid var(--border-subtle)}.profile-stats h3{color:var(--accent-color);font-size:1.1rem;font-weight:500;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-subtle)}.stats-list{display:flex;flex-direction:column;gap:15px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.05)}body.dark-mode .stat-row{border-bottom:1px solid rgba(255,255,255,.05)}.stat-row:last-child{border-bottom:none}.stat-label{color:var(--text-secondary);font-size:.9rem}.stat-row .stat-value{color:var(--text-primary);font-weight:600;font-size:1rem}.detail-products{padding:60px 0;background:linear-gradient(160deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%)}.detail-products h2{color:#fff;font-size:1.6rem;font-weight:500;text-align:center;margin-bottom:10px;letter-spacing:.05em}.products-subtitle{color:#fff9;text-align:center;margin-bottom:40px;font-size:.9rem}.detail-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.detail-product-card{background:var(--card-bg);border-radius:8px;overflow:hidden;border:1px solid var(--border-subtle);transition:all .4s ease}.detail-product-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0000004d}.detail-product-card.no-link{opacity:.7}.detail-product-image{position:relative;height:200px;background:linear-gradient(135deg,var(--sexy-red) 0%,var(--accent-color) 100%)}.detail-product-image img{width:100%;height:100%;object-fit:cover}.detail-product-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.detail-product-placeholder span{font-size:4rem;opacity:.5}.detail-product-type{position:absolute;top:12px;left:12px;padding:6px 12px;background:#000000b3;color:#fff;font-size:.75rem;font-weight:500;border-radius:4px}.detail-product-info{padding:25px}.detail-product-info h4{color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:12px;line-height:1.5}.detail-product-price{color:var(--sexy-red);font-size:1.3rem;font-weight:700;margin-bottom:8px}.detail-product-date{color:var(--text-secondary);font-size:.8rem;margin-bottom:20px}.detail-product-links{display:flex;flex-direction:column;gap:10px}.detail-store-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:var(--store-color);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:600;transition:all .3s ease;letter-spacing:.03em}.detail-store-btn:hover{filter:brightness(1.1);transform:scale(1.02)}.detail-coming-soon{display:block;text-align:center;padding:14px;background:var(--card-bg-alt);color:var(--text-secondary);border-radius:6px;font-size:.85rem;border:1px dashed var(--border-subtle)}.no-products{text-align:center;padding:60px 20px;color:#fff9}.affiliate-disclaimer{margin-top:40px;text-align:center;font-size:.8rem;color:#ffffff80}.detail-cta{padding:60px 0;background:var(--card-bg);text-align:center}.detail-cta p{color:var(--text-secondary);margin-bottom:20px}.cta-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 40px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;letter-spacing:.05em}.cta-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px var(--glow-color)}@media(max-width:768px){.detail-hero{min-height:auto;flex-direction:column}.detail-hero-bg{position:relative;width:100%;height:40vh}.detail-hero-bg:after{background:linear-gradient(to bottom,transparent 0%,rgba(22,33,62,.3) 60%,var(--bg-gradient-end) 100%)}.detail-hero-initial{width:120px;height:120px}.detail-hero-initial span{font-size:3rem}.detail-hero-thumbnail{width:250px;height:250px;border-radius:16px}.detail-hero-overlay{display:none}.detail-hero-content{padding:20px 20px 40px;background:var(--bg-gradient-end)}.detail-hero-text{max-width:100%}.detail-name{font-size:2.2rem}.detail-kana{font-size:.85rem}.highlight-tag{padding:6px 12px;font-size:.75rem}.detail-container{padding:0 20px}.detail-profile{padding:40px 0}.profile-grid{grid-template-columns:1fr;gap:30px}.profile-appeal h2{font-size:1.2rem}.appeal-text p{font-size:.95rem;line-height:1.8}.detail-products{padding:40px 0}.detail-products h2{font-size:1.3rem}.detail-product-grid{grid-template-columns:1fr;gap:20px}.detail-product-image{height:180px}.detail-product-info{padding:20px}.detail-cta{padding:40px 0}}@media(max-width:768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}.product-image{height:120px}.product-info{padding:12px}.product-title{font-size:.8rem}.product-price{font-size:1rem}.store-link{padding:5px 10px;font-size:.65rem}}@media(max-width:375px){.product-grid{grid-template-columns:1fr}}.ad-container{display:flex;flex-direction:column;align-items:center;padding:20px 0}.ad-container.ad-header{margin-bottom:20px}.ad-container.ad-footer{margin-top:20px}.ad-placeholder{width:100%;background:var(--card-bg);border:2px dashed var(--border-subtle);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.ad-placeholder-inner{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.ad-label{padding:4px 12px;background:var(--border-subtle);border-radius:4px;font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--text-secondary)}.ad-size{font-size:.8rem;opacity:.6}.ad-notice{margin-top:8px;font-size:.7rem;color:var(--text-secondary);opacity:.6}.ad-card{background:var(--card-bg);border:2px dashed var(--border-subtle);display:flex;align-items:center;justify-content:center;min-height:200px;cursor:default}.ad-card:hover{transform:none;box-shadow:0 4px 25px var(--shadow-color)}.ad-card-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary)}.ad-card-text{font-size:.9rem;opacity:.6}.ad-rectangle{margin:30px auto}@media(max-width:768px){.ad-placeholder{height:100px!important;max-width:100%!important}.ad-container.ad-horizontal .ad-placeholder{height:60px!important}.ad-size{font-size:.7rem}}.no-results{text-align:center;color:#fff;font-size:1.5rem;padding:60px 20px;display:none}footer{text-align:center;color:#fff9;padding:60px 20px;font-size:.85rem;letter-spacing:.1em;font-weight:300}footer a{color:var(--accent-secondary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}footer a:hover{border-bottom-color:var(--accent-secondary)}.card{--stagger-delay: .05s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.grid{transition:opacity .3s ease}.grid.filtering{opacity:.7}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 0%,rgba(139,41,66,.02) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}.card:hover:after{opacity:1}.filter-btn,.compare-btn{position:relative;overflow:hidden}.filter-btn:after,.compare-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0;transition:transform .5s ease,opacity .5s ease}.filter-btn:active:after,.compare-btn:active:after{transform:scale(2);opacity:1;transition:transform 0s,opacity 0s}.filter-tag{transition:all .3s cubic-bezier(.4,0,.2,1)}.filter-tag:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.age-group{transition:all .4s cubic-bezier(.4,0,.2,1)}.age-group.active{background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);border-color:var(--accent-color);transform:scale(1.02)}.age-group.active .age-group-title,.age-group.active .age-group-value{color:#fff}.age-item{transition:all .3s cubic-bezier(.4,0,.2,1)}.age-item:hover{transform:translate(5px)}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentIn{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{animation:modalBackdropIn .3s ease}.modal-content{animation:modalContentIn .4s cubic-bezier(.4,0,.2,1)}.scroll-to-top{transition:all .4s cubic-bezier(.4,0,.2,1)}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.scroll-to-top.visible{display:flex;animation:bounceIn .4s ease}@media(max-width:768px){body{padding:15px}h1{font-size:1.8rem;letter-spacing:.1em}.subtitle{font-size:.85rem;letter-spacing:.1em}header{position:relative;padding:15px;margin-bottom:20px;border-radius:0 0 15px 15px}.theme-toggle-container{position:static;justify-content:center;margin-top:15px}.stats{gap:12px;margin-bottom:25px}.stat-card{padding:18px 25px;flex:1;min-width:100px}.stat-number{font-size:1.6rem}.stat-label{font-size:.7rem}.age-stats{padding:15px;margin-bottom:20px}.age-breakdown{gap:10px;margin-bottom:20px}.age-group{padding:18px 25px;min-width:90px;flex:1}.age-group-title{font-size:.7rem}.age-group-value{font-size:1.4rem}.age-detail{grid-template-columns:repeat(2,1fr);gap:8px}.age-item{padding:10px 12px}.filter-group{gap:8px;margin-bottom:15px}.filter-btn{padding:12px 18px;font-size:.8rem;min-height:44px}.controls-row{flex-direction:column;gap:12px}.controls{flex-direction:column;width:100%}.search-container{max-width:100%;width:100%}.search-box,.sort-box,.filter-box{max-width:100%;min-height:48px;font-size:16px}.sort-container{width:100%;flex-direction:column;align-items:stretch}.current-sort{justify-content:center}.sort-box{width:100%}.grid-toggle{width:100%;justify-content:center}.grid-toggle-btn{flex:1;padding:12px 10px;min-height:44px}.active-filters{padding:12px 15px;flex-direction:column;align-items:flex-start;gap:10px}.active-filters-tags{width:100%}.filter-tag{padding:10px 14px;font-size:.75rem}.range-filters{flex-direction:column;gap:12px}.range-filter{max-width:100%;min-width:auto;padding:18px 20px}.grid{grid-template-columns:1fr;gap:15px;margin-bottom:30px}.card{padding:25px 20px;-webkit-tap-highlight-color:transparent}.card-initial{width:55px;height:55px;top:12px;right:12px}.card-initial span{font-size:1.4rem}.card-thumbnail{width:80px;height:80px;top:12px;right:12px;border-radius:10px}.card-number{right:100px;font-size:1.4rem}.card-name{font-size:1.2rem;padding-right:50px;padding-left:40px}.favorite-btn{width:42px;height:42px;top:15px;left:15px}.compare-btn-card{width:40px;height:40px;bottom:15px;right:60px}.note-indicator{width:40px;height:40px;bottom:15px;right:15px}.card-measurements{padding:14px 16px;margin:14px 0}.modal-content{margin:5% 10px;padding:25px 18px;max-height:92vh}.modal-header{flex-direction:column;align-items:center;text-align:center;gap:15px}.modal-initial{width:80px;height:80px}.modal-initial span{font-size:2rem}.modal-thumbnail{width:120px;height:120px;border-radius:12px}.modal-header-info h2{font-size:1.4rem}.specs-grid{grid-template-columns:repeat(2,1fr);gap:8px}.spec-item{padding:10px 12px;flex-direction:column;align-items:flex-start;gap:5px}.spec-value{margin-left:0}.compare-bar{padding:12px 15px}.compare-bar-content{flex-direction:column;gap:12px}.compare-bar-items{width:100%;justify-content:center}.compare-bar-item{padding:8px 12px;font-size:.8rem}.compare-bar-actions{width:100%;justify-content:center}.compare-btn,.compare-clear-btn{flex:1;padding:14px 20px;min-height:48px}.compare-modal .compare-modal-content{padding:20px 12px;margin:0;border-radius:15px 15px 0 0;max-height:95vh}.compare-cards-header{grid-template-columns:1fr;gap:10px}.compare-initial{width:40px;height:40px}.compare-initial span{font-size:1rem}.compare-spec-row{flex-direction:column;gap:10px;padding:12px 0}.compare-spec-label{width:100%;justify-content:center}.compare-spec-values{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.scroll-to-top{bottom:20px;right:20px;width:48px;height:48px}.search-hint-popup{right:-10px;min-width:250px}footer{padding:40px 15px;font-size:.8rem}}@media(max-width:375px){h1{font-size:1.5rem}.stat-card{padding:15px 20px}.age-group{padding:15px 18px}.age-group-value{font-size:1.2rem}.card-name{font-size:1.1rem}.specs-grid{grid-template-columns:1fr}}@media(min-width:769px)and (max-width:1024px){.grid,.grid.grid-3{grid-template-columns:repeat(2,1fr)}.compare-spec-values{grid-template-columns:repeat(3,1fr)}}@media(hover:none)and (pointer:coarse){.card:hover{transform:none;box-shadow:0 4px 25px var(--shadow-color)}.card:active{transform:scale(.98);transition:transform .1s ease}.filter-btn:hover{border-color:var(--border-subtle);color:var(--text-secondary)}.filter-btn:active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.age-group:hover{box-shadow:none}.age-group:active{transform:scale(.98)}.filter-btn,.favorite-btn,.compare-btn-card,.note-indicator,.grid-toggle-btn,.compare-btn,.compare-clear-btn{min-height:44px;min-width:44px}.search-hint-popup{display:none}.search-hint:active .search-hint-popup{display:block;opacity:1;visibility:visible;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card{animation:none;opacity:1;transform:none}}.legal-page{min-height:100vh;background:linear-gradient(160deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);padding:30px}.legal-container{max-width:800px;margin:0 auto;background:var(--card-bg);border-radius:20px;padding:50px;box-shadow:0 10px 40px #0003}.legal-page .back-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .3s ease;margin-bottom:30px}.legal-page .back-btn:hover{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.legal-page h1{font-family:"Noto Serif JP",Georgia,serif;font-size:2rem;color:var(--text-primary);margin-bottom:10px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.1em}.legal-updated{color:var(--text-secondary);font-size:.85rem;margin-bottom:40px}.legal-section{margin-bottom:35px}.legal-section h2{color:var(--text-primary);font-size:1.2rem;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.legal-section h3{color:var(--text-primary);font-size:1rem;margin:20px 0 10px}.legal-section p{color:var(--text-secondary);line-height:1.8;margin-bottom:15px;font-size:.95rem}.legal-section ul{color:var(--text-secondary);line-height:1.8;margin:15px 0;padding-left:25px}.legal-section li{margin-bottom:8px;font-size:.95rem}.footer-nav{display:flex;justify-content:center;align-items:center;gap:5px}.footer-nav a{color:var(--accent-secondary);text-decoration:none;transition:color .3s ease}.footer-nav a:hover{color:var(--accent-color)}.footer-divider{color:#fff6}.inline-link-btn{background:none;border:none;color:var(--accent-color);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;padding:0;transition:color .3s ease}.inline-link-btn:hover{color:var(--sexy-red)}.contact-form-section{margin:30px 0}.contact-form-section iframe{border-radius:8px;border:1px solid var(--border-subtle)}.contact-placeholder{margin:40px 0}.contact-placeholder-box{background:var(--card-bg-alt);border:2px dashed var(--border-subtle);border-radius:12px;padding:60px 20px;text-align:center}.contact-placeholder-icon{font-size:3rem;margin-bottom:15px}.contact-placeholder-text{font-size:1.2rem;color:var(--text-primary);font-weight:500;margin-bottom:10px}.contact-placeholder-note{font-size:.9rem;color:var(--text-secondary)}@media(max-width:768px){.legal-page{padding:15px}.legal-container{padding:25px 20px;border-radius:15px}.legal-page h1{font-size:1.5rem}.legal-section h2{font-size:1.1rem}.legal-section p,.legal-section li{font-size:.9rem;line-height:1.7}.contact-placeholder-box{padding:40px 15px}.contact-placeholder-icon{font-size:2.5rem}}.cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:20px;background:linear-gradient(135deg,var(--bg-gradient-start) 0%,var(--bg-gradient-end) 100%);border-top:1px solid var(--border-subtle);box-shadow:0 -4px 20px #0000004d;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-consent-text{color:#ffffffe6;font-size:.9rem;line-height:1.6;margin:0}.cookie-consent-link{color:var(--accent-color);text-decoration:underline}.cookie-consent-link:hover{color:var(--accent-secondary)}.cookie-consent-btn{flex-shrink:0;padding:12px 30px;background:linear-gradient(135deg,var(--accent-color) 0%,var(--sexy-red) 100%);border:none;border-radius:4px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s ease}.cookie-consent-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px var(--glow-color)}@media(max-width:768px){.cookie-consent{padding:15px}.cookie-consent-content{flex-direction:column;text-align:center;gap:15px}.cookie-consent-text{font-size:.85rem}.cookie-consent-btn{width:100%;padding:14px 20px}}
