/* ======================================================
   FINAL EDITION
   - Components organized
   - Shared utilities introduced
   - Safe duplicate cleanup
   - Safe CSS variable adoption
   - Safe !important reduction
   ====================================================== */
:root{--radius-md:16px;--radius-lg:20px;--img-fit:contain;--img-bg:transparent;--tr-fast:.25s ease}

/* ===== 07 DESKTOP SPARKLE AND RESPONSIVE OVERRIDES (ORDER PRESERVED) ===== */
@media (min-width:1024px){.top-left-logo-sparkles{display:none !important;opacity:0 !important;visibility:hidden !important}.top-left-darumon-logo::after{content:none !important;display:none !important}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{position:absolute !important;left:50% !important;top:calc(50% + 120px) !important;margin:0 !important;z-index:5 !important;animation:pcFukukurumonLowerFloat 3.4s ease-in-out infinite !important}@keyframes pcFukukurumonLowerFloat{0%,100%{transform:translate(-50%,-50%) translateY(0) scale(1)}50%{transform:translate(-50%,-50%) translateY(-10px) scale(1.02)}}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{left:46% !important;width:clamp(210px,46vw,340px) !important}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{left:42% !important;top:calc(50% + 70px) !important}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{left:38% !important;top:calc(50% + 20px) !important}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{left:34% !important;top:calc(50% - 20px) !important}}
@media (min-width:1024px){.hero-peek-wrap>img.hero-fukukurumon-title{left:30% !important;top:calc(50% - 60px) !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:48vw !important;max-width:760px !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:62vw !important;max-width:980px !important;transform:rotate(-12deg) !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:70vw !important;max-width:1100px !important;top:40px !important}}
@media (min-width:1024px){.top-left-darumon-logo{top:10px !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:78vw !important;max-width:1250px !important;top:-20px !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:88vw !important;max-width:1450px !important;top:-60px !important}}
@media (min-width:1024px){.top-left-darumon-logo{width:98vw !important;max-width:1650px !important;top:-120px !important}}
@media (min-width:1024px){.top-left-darumon-logo{top:-180px !important}}
@media (min-width:1024px){.top-left-darumon-logo{left:-80px !important}}
@media (min-width:1024px){.top-left-darumon-logo{transform:translateX(-100px) rotate(-12deg) !important}}
@media (min-width:1024px){.top-left-logo-sparkles{top:560px !important;left:285px !important;transform:none !important;z-index:3 !important}.cover-sparkles .sp1{top:72% !important;left:38% !important}.cover-sparkles .sp3{bottom:8% !important;left:36% !important}.top-left-darumon-logo::after{bottom:-300px !important;z-index:3 !important}.hero-cover-new::before,.hero-peek-wrap::before{top:76% !important;left:36% !important}.top-left-darumon-logo{z-index:99999 !important}}
@media (min-width:1025px){#story{padding-top:22px !important;padding-bottom:22px !important;min-height:calc(100vh - 8px) !important;display:flex !important;align-items:center !important}#story .sec-inner{width:100% !important;max-width:980px !important}#story .sec-head{margin-bottom:10px !important;padding-top:0 !important}#story .sec-en{font-size:8px !important;letter-spacing:.55em !important;margin-bottom:-4px !important}#story .sec-title{font-size:34px !important;line-height:1.08 !important;margin:0 !important}#story .pure-darumon-book{width:min(54vh,560px) !important;max-width:560px !important;margin:0 auto !important}#story .pure-book-stage{aspect-ratio:1 / 1 !important;border-radius:22px !important;box-shadow:0 9px 20px rgba(99,52,19,.14) !important}#story .pure-book-nav{margin-top:8px !important}#story .pure-book-nav label{padding:8px 14px !important;font-size:13px !important;box-shadow:0 4px 0 rgba(131,66,19,.72),0 8px 14px rgba(0,0,0,.10) !important}#story .pure-book-dots{margin-top:8px !important;gap:6px !important}#story .pure-book-dots label{width:8px !important;height:8px !important}#pure-book-1:checked ~ .pure-book-dots label:nth-child(1),#pure-book-2:checked ~ .pure-book-dots label:nth-child(2),#pure-book-3:checked ~ .pure-book-dots label:nth-child(3),#pure-book-4:checked ~ .pure-book-dots label:nth-child(4),#pure-book-5:checked ~ .pure-book-dots label:nth-child(5){width:22px !important}}
@media (min-width:1025px){#colors{padding-top:56px !important;padding-bottom:56px !important}#colors .sec-inner{max-width:1120px !important}#colors .sec-head{margin-bottom:30px !important}#colors .color-css{display:grid !important;grid-template-columns:270px minmax(0,1fr) !important;grid-template-areas:"tabs panels";gap:34px !important;align-items:start !important;max-width:1120px !important;margin:0 auto !important}#colors .color-tabs,.color-css .color-tabs{grid-area:tabs !important;display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;width:270px !important;max-width:270px !important;margin:0 !important;align-self:start !important;position:sticky !important;top:86px !important}#colors .color-tabs label,.color-css .color-tabs label,#colors .ctab,.color-css .ctab,#colors .color-rebuilt,.color-css .color-rebuilt{min-height:64px !important;padding:8px 10px !important;border-radius:18px !important;display:flex !important;align-items:center !important;justify-content:center !important}#colors .color-tabs label img,.color-css .color-tabs label img,#colors .c-media--color-icon,.color-css .c-media--color-icon,#colors .ctab img,.color-css .ctab img{width:50px !important;height:50px !important;min-width:50px !important;min-height:50px !important;max-width:50px !important;max-height:50px !important}#colors .color-panels,.color-css .color-panels{grid-area:panels !important;width:100% !important;display:grid !important;align-items:start !important}#colors .color-panel,.color-css .color-panel{grid-area:1 / 1 !important;display:grid !important;grid-template-columns:340px minmax(0,1fr) !important;grid-template-areas:"image info" !important;gap:30px !important;align-items:center !important;justify-content:center !important;width:100% !important;max-width:790px !important;margin:0 auto !important}#colors .color-panel .cv-img-wrap,.color-css .color-panel .cv-img-wrap{grid-area:image !important;width:340px !important;display:flex !important;justify-content:center !important;align-items:center !important;margin:0 !important}#colors .color-panel .cv-img-wrap img,#colors .panel-blue .cv-img-wrap img,#colors .panel-green .cv-img-wrap img,#colors .panel-red .cv-img-wrap img,.color-css .color-panel .cv-img-wrap img{width:320px !important;height:320px !important;max-width:320px !important;max-height:320px !important;object-fit:var(--img-fit) !important;transform:none !important;margin:0 !important}#colors .color-panel .cv-info,#colors .cv-info,#colors .panel-red .cv-info,#colors .panel-pink .cv-info,#colors .panel-black .cv-info,.color-css .color-panel .cv-info{grid-area:info !important;width:100% !important;max-width:430px !important;height:auto !important;min-height:260px !important;margin:0 !important;padding:24px 28px !important;border-radius:22px !important;box-sizing:border-box !important}#colors .cv-name{font-size:30px !important;margin-bottom:8px !important}#colors .cv-keyword{font-size:15px !important;margin-bottom:12px !important}#colors .cv-desc{font-size:13px !important;line-height:1.7 !important}#colors .cv-tags{margin-top:12px !important}}
@media (min-width:1025px){#gacha.has-pc-omikuji-result .fortune-default{display:none !important}#gacha .c-card--fortune.pc-selected{display:block !important;grid-column:2 !important;grid-row:1 !important}#gacha .c-card--fortune:not(.pc-selected):target{display:none !important}}