/* Pico Asobi v40 brand layer — Pico & Sora, all-ages visual refresh */
:root{--pico-blue:#146fe8;--pico-blue-deep:#173d83;--pico-sky:#eaf5ff;--pico-yellow:#ffd84a;--pico-ink:#233053;--pico-soft:#f5f9ff}
body.v40-brand{background-image:radial-gradient(circle at 15% 5%,#e8f4ff 0,transparent 26rem),radial-gradient(circle at 92% 18%,#fff7ce 0,transparent 21rem)}
.v40-brand .sitebar{border-bottom-color:#dce9fb;background:#ffffffed;backdrop-filter:blur(12px)}
.v40-brand .brandlink{color:var(--pico-blue-deep);letter-spacing:.01em}.v40-brand .brandmark{border-radius:50%!important;background:#fff;box-shadow:0 5px 14px #1d5da31c}
.v40-brand .hero{position:relative;overflow:hidden;border:1px solid #d9e8fb;background:linear-gradient(135deg,#fff 0%,#f1f8ff 65%,#fff8d9 100%);box-shadow:0 18px 42px #3159a613;padding-right:clamp(22px,31vw,330px);min-height:290px}
.v40-brand .hero:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-70px;bottom:-110px;background:#ffd84a22}
.hero-v40-mascots{position:absolute;right:22px;bottom:0;width:min(29%,280px);height:94%;pointer-events:none}.hero-v40-pico,.hero-v40-sora{position:absolute;bottom:-8px;filter:drop-shadow(0 12px 13px #173d8321)}.hero-v40-pico{right:72px;width:min(62%,165px)}.hero-v40-sora{right:-5px;width:min(50%,135px);bottom:-15px}.hero-v40-star{position:absolute;right:24px;top:26px;color:#e7b914;font-size:28px;transform:rotate(12deg)}
.v40-brand .hero h1{color:#233053}.v40-brand .hero h1 b{color:var(--pico-blue)}.v40-brand .brand-chip{background:#fff;border:1px solid #dce9fb;color:#244b8b}.v40-brand .brand-chip img{border-radius:50%}
.v40-brand .game-finder{border-color:#d7e7ff;background:linear-gradient(145deg,#fff,#eff7ff 64%,#fff8d8)}
.v40-brand .card{position:relative;border-color:#e0e9f6;overflow:hidden}.v40-brand .games .card:after{content:"";position:absolute;right:-32px;bottom:-40px;width:100px;height:100px;border-radius:50%;background:#e9f4ff;z-index:0}.v40-brand .games .card>*{position:relative;z-index:1}
.card-mascot-dot{position:absolute!important;right:14px;top:14px;width:35px;height:35px;border-radius:50%;background:#f5f9ff;border:1px solid #d7e6f9;padding:3px;object-fit:contain;opacity:.92;z-index:2!important}.card:hover .card-mascot-dot{transform:translateY(-1px)}
.v40-brand .genre-tags .tag{background:#edf5ff;color:#285ca7;border:1px solid #d4e6ff}
.v40-brand .article{border-color:#dee9f7;box-shadow:0 16px 42px #3159a611}.article-brand-guide{display:flex;align-items:center;gap:14px;margin:10px 0 24px;padding:13px 16px;border:1px solid #dbe8f8;border-radius:18px;background:linear-gradient(100deg,#f1f8ff,#fff)}.article-brand-guide img{width:56px;height:65px;object-fit:contain;flex:0 0 auto}.article-brand-guide strong{display:block;color:#24579e;margin-bottom:2px}.article-brand-guide span{color:#666d80;line-height:1.65;font-size:14px}.article-brand-guide.is-about img{width:78px;height:90px}.article-brand-guide.is-about{background:linear-gradient(100deg,#edf7ff,#fffbe7)}
.play-brand-note{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:7px 11px 7px 7px;border-radius:999px;background:#f1f7ff;border:1px solid #d8e8ff;color:#466285;font-size:12px;font-weight:800}.play-brand-note img{width:32px;height:34px;object-fit:contain}.v40-play .top,.v40-play .topbar{background:#ffffffc9;backdrop-filter:blur(10px);border-bottom:1px solid #dce8f6}.v40-play .top:before,.v40-play .topbar:before{content:"";width:30px;height:30px;background:url('/assets/characters/piko-head-v40.png') center/contain no-repeat;flex:0 0 30px}.v40-play .top a,.v40-play .topbar a{margin-right:auto}.v40-play .panel,.v40-play .game,.v40-play .card{border:1px solid #e0e9f6!important}.v40-play .play-stage,.v40-play .color-panel,.v40-play .rapid-panel{border:1px solid #dce9f9;box-shadow:0 18px 44px #204f8f18!important}.v40-play button{font-family:inherit}.v40-play .btn:not(:disabled),.v40-play .start:not(:disabled){transition:transform .15s ease,filter .15s ease}.v40-play .btn:not(:disabled):active,.v40-play .start:not(:disabled):active{transform:translateY(1px) scale(.99)}
.v40-play .result,.v40-play .message,.v40-play .msg{border-radius:16px}.v40-play .result:not(:empty),.v40-play .message:not(:empty),.v40-play .msg:not(:empty){background:#f5f9ff}
.v40-play .play-bottom-home a{border-color:#d7e6f7;background:#fff}.v40-play .play-game-title span{color:#24355c}
.v40-play .pico-ranking{border-color:#dce9f8!important}.ranking-brand-guide{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:14px;background:#f3f8ff;border:1px solid #dceaff;color:#59677d;font-size:13px}.ranking-brand-guide img{width:40px;height:45px;object-fit:contain}.ranking-brand-guide strong{color:#2d5b9e}
@media(max-width:760px){.v40-brand .hero{padding-right:22px;padding-bottom:154px;min-height:0}.hero-v40-mascots{right:8px;width:210px;height:155px}.hero-v40-pico{width:105px;right:76px}.hero-v40-sora{width:88px;right:3px}.hero-v40-star{right:20px;top:5px}.article-brand-guide{align-items:flex-start}.card-mascot-dot{width:31px;height:31px;right:11px;top:11px}}
@media(max-width:420px){.v40-brand .hero{padding-bottom:142px}.hero-v40-mascots{width:190px;height:145px}.hero-v40-pico{width:96px;right:68px}.hero-v40-sora{width:81px}.play-brand-note{border-radius:15px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.v40-play .btn,.v40-play .start,.card-mascot-dot{transition:none!important}}
/* v40 shared in-game encouragement */
.v40-play .v40-mascot-stage{position:relative}.v40-stage-mascot{position:absolute;right:10px;top:10px;z-index:40;display:flex;align-items:center;gap:7px;pointer-events:none;opacity:0;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease}.v40-stage-mascot.is-show{opacity:1;transform:none}.v40-stage-mascot img{width:42px;height:48px;object-fit:contain;filter:drop-shadow(0 5px 6px #1f477c22)}.v40-stage-mascot span{max-width:150px;padding:6px 9px;border-radius:12px 12px 3px 12px;background:#fffffff2;border:1px solid #dbe9fb;box-shadow:0 6px 15px #234d8120;color:#415e84;font-size:11px;font-weight:900;line-height:1.4}.v40-stage-mascot.is-success span{background:#f2fff0;border-color:#d5edcf;color:#3f7248}.v40-stage-mascot.is-fail span{background:#fff4f7;border-color:#f2d8e1;color:#8a5264}@media(max-width:520px){.v40-stage-mascot{right:6px;top:6px}.v40-stage-mascot img{width:34px;height:39px}.v40-stage-mascot span{display:none}}@media(prefers-reduced-motion:reduce){.v40-stage-mascot{transition:none}}
