:root{
  --green:#01875f;
  --text:#202124;
  --muted:#5f6368;
  --line:#dadce0;
  --soft:#e8eaed;
  --page:#ffffff;
  --desktop-bg:#f8fafd;
  --max:480px;
  --side:clamp(16px,5vw,32px);
  --font:"Google Sans","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--page);-webkit-text-size-adjust:100%}
body{min-width:320px;margin:0;font-family:var(--font);color:var(--text);background:var(--page);font-size:14px;line-height:1.45;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
a{text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%}
button{font:inherit;-webkit-tap-highlight-color:transparent}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);height:calc(56px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);transition:box-shadow .18s ease}.topbar.scrolled{box-shadow:0 1px 6px rgba(60,64,67,.22)}
.topbar-inner{height:56px;width:min(100%,var(--max));margin:0 auto;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{display:flex;align-items:center;gap:8px;min-width:0}.play-logo{width:38px;height:38px;flex:0 0 auto}.brand-text{font-size:21px;color:var(--muted);font-weight:500;white-space:nowrap;letter-spacing:-.2px}.top-actions{display:flex;align-items:center;gap:4px;flex:0 0 auto}.icon-link{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.icon-link:active{background:rgba(60,64,67,.08)}.icon-link img{width:24px;height:24px}.profile-img{width:32px;height:32px;border-radius:50%;object-fit:cover;margin-left:4px}
.page{width:min(100%,var(--max));margin:0 auto;background:#fff;min-height:100vh}.section-pad{padding-left:var(--side);padding-right:var(--side)}
.hero{padding-top:38px}.app-head{display:flex;align-items:flex-start;gap:24px}.app-icon{width:72px;height:72px;object-fit:cover;border-radius:20%;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px rgba(60,64,67,.15);flex:0 0 auto}.app-copy{min-width:0;flex:1}.app-name{font-size:24px;line-height:1.22;font-weight:500;letter-spacing:-.25px;color:#202124;overflow-wrap:anywhere}.developer-name{margin-top:4px;color:var(--green);font-size:16px;font-weight:500}.app-sub{margin-top:2px;color:var(--muted);font-size:12px}
.stats-row{height:48px;margin-top:28px;display:flex;align-items:center;justify-content:center}.stat-card{min-width:0;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.stat-main{font-size:14px;font-weight:600;color:#202124;line-height:18px}.mini-star{font-size:11px}.rating-badge{min-width:22px;height:18px;border:1px solid #5f6368;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;line-height:1}.stat-label{margin-top:4px;font-size:12px;line-height:15px;color:var(--muted);white-space:normal}.stat-sep{width:1px;height:22px;background:#e9eaee;flex:0 0 auto}
.install-box{margin-top:40px;display:block}.install-btn{width:100%;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;background:var(--green);color:white}.quick-actions{min-height:52px;margin-top:16px;display:grid;grid-template-columns:1fr 1.55fr;align-items:center}.quick-action{min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--green);font-weight:500;font-size:14px}.quick-action img{width:24px;height:24px}.device-note{margin-top:16px;display:flex;gap:12px;color:var(--muted);font-size:14px;font-weight:400}.device-note img{width:20px;height:20px;flex:0 0 auto;margin-top:1px}.device-note p{min-width:0}
.screenshot-section{margin-top:56px;padding-left:var(--side);overflow:hidden}.screenshot-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-right:var(--side);scrollbar-width:none}.screenshot-rail::-webkit-scrollbar{display:none}.screenshot-rail img{width:115px;height:204px;object-fit:cover;border-radius:10px;scroll-snap-align:start;box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px rgba(60,64,67,.15);flex:0 0 auto}
.content-section{margin-top:26px;border-top:1px solid var(--soft);padding-top:18px}.section-title-row{height:52px;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-title-row h2{font-size:18px;line-height:24px;font-weight:500;color:#202124}.section-title-row img{width:20px;height:20px;flex:0 0 auto}.body-text{color:var(--muted);font-size:14px;line-height:20px;letter-spacing:.2px;overflow-wrap:anywhere}.meta-block{margin-top:20px;display:grid;gap:3px;font-size:14px}.meta-block strong{font-weight:500;color:#202124}.meta-block span{color:var(--muted)}.chip-row{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.chip{height:32px;border:1px solid var(--line);border-radius:16px;padding:0 15px;display:inline-flex;align-items:center;color:var(--muted);font-weight:500}.safety-card{margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:18px 20px 10px}.safety-row{display:flex;gap:20px;margin-bottom:18px;color:var(--muted)}.safety-row img{width:20px;height:20px;flex:0 0 auto;margin-top:1px}.safety-row p{font-size:14px;line-height:20px;letter-spacing:.2px;overflow-wrap:anywhere}.safety-row span{display:block;margin-top:2px;font-size:12px;line-height:17px;letter-spacing:.2px}.text-link{min-height:48px;display:inline-flex;align-items:center;color:var(--green);font-weight:500;font-size:14px}.text-link.wide{margin-top:8px}.verified-line{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:4px}.verified-line img{width:14px;height:14px}.device-tabs{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.device-tab{height:36px;border:1px solid var(--line);border-radius:18px;padding:0 14px;display:flex;align-items:center;gap:7px;color:var(--muted);font-weight:500}.device-tab.active{color:var(--green);border-color:var(--green);background:#fff}.device-tab img{width:18px;height:18px}.rating-panel{margin-top:22px;display:grid;grid-template-columns:88px 1fr;gap:22px;align-items:center}.rating-score{font-size:54px;line-height:58px;color:#202124;font-weight:400;letter-spacing:-1.5px}.stars-text{color:var(--green);font-size:14px;letter-spacing:0}.rating-count{margin-top:3px;color:var(--muted);font-size:12px}.rating-bars{display:grid;gap:6px}.bar-row{display:grid;grid-template-columns:10px 1fr;align-items:center;gap:8px;color:var(--muted);font-size:12px}.bar-row i{height:10px;border-radius:999px;background:#e8eaed;overflow:hidden;display:block}.bar-row b{height:100%;border-radius:999px;background:var(--green);display:block}.review-card{margin-top:24px}.review-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.review-user{display:flex;align-items:center;gap:12px;min-width:0}.review-user img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:0 0 auto}.review-user span{font-size:14px;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more-icon{width:24px;height:24px;flex:0 0 auto}.review-meta{margin-top:12px;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.review-stars{color:var(--green);font-size:12px;letter-spacing:0}.review-text{margin-top:8px;color:#202124;font-size:14px;line-height:20px;letter-spacing:.1px;overflow-wrap:anywhere}.helpful{margin-top:14px;color:var(--muted);font-size:12px}.helpful>div{margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.helpful button{height:28px;min-width:52px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--muted);font-size:12px;line-height:1;cursor:pointer}.support-section{padding-bottom:4px}.similar-grid{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.similar-card{display:flex;gap:10px;min-width:0}.similar-card>img{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:0 0 auto}.similar-card h3{font-size:14px;line-height:18px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-card p{color:var(--muted);font-size:12px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.similar-card span{color:#202124;font-size:12px;line-height:16px}.footer{margin-top:26px;border-top:1px solid var(--soft);padding-top:18px;padding-bottom:18px}.report{min-height:38px;display:flex;align-items:center;gap:14px;color:#202124;font-weight:500}.report img{width:20px;height:20px}.footer-columns{margin-top:24px;display:grid;gap:18px}.footer h2{font-size:14px;color:var(--muted);font-weight:600;margin-bottom:8px}.footer p{font-size:14px;color:var(--muted);line-height:32px}.legal-row{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 20px;color:var(--muted);font-size:12px}.price-country{min-height:46px;margin-top:12px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px}.country{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.country img{width:24px;height:18px}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1000;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);display:flex;align-items:stretch;justify-content:space-around}.nav-item{height:56px;min-width:0;flex:1 1 20%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:13px;line-height:16px;font-weight:500;white-space:nowrap;background:transparent;border:0;outline:0}.nav-item.active{color:var(--green)}.nav-item svg{width:24px;height:24px;flex:0 0 24px;display:block;overflow:visible}.nav-item:active{background:rgba(60,64,67,.08)}
@media (min-width:520px){body{background:var(--desktop-bg)}.page{box-shadow:0 0 0 1px rgba(60,64,67,.08)}.topbar-inner{background:#fff}.bottom-nav{width:var(--max);left:50%;right:auto;transform:translateX(-50%);border-left:1px solid rgba(60,64,67,.12);border-right:1px solid rgba(60,64,67,.12);border-bottom:1px solid rgba(60,64,67,.12);border-radius:0 0 8px 8px;overflow:hidden}}
@media (max-width:360px){.brand-text{font-size:19px}.top-actions{gap:0}.app-head{gap:16px}.app-icon{width:68px;height:68px}.quick-actions{grid-template-columns:1fr;justify-items:start}.quick-action{justify-content:flex-start}.rating-panel{grid-template-columns:1fr}.similar-grid{grid-template-columns:1fr}.stat-label{font-size:11px}}


/* Screenshot lightbox */
.screenshot-rail img{cursor:zoom-in}
.image-viewer{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.86);padding:20px 14px calc(28px + env(safe-area-inset-bottom));touch-action:none}
.image-viewer.active{display:flex}
.viewer-image{max-width:min(94vw,520px);max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.45);background:#111}
.viewer-close,.viewer-nav{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.viewer-close{top:calc(14px + env(safe-area-inset-top));right:14px;width:44px;height:44px;border-radius:50%;font-size:32px;line-height:1;font-weight:300}
.viewer-nav{top:50%;transform:translateY(-50%);width:44px;height:60px;border-radius:22px;font-size:44px;line-height:1;font-weight:200}
.viewer-prev{left:8px}.viewer-next{right:8px}
.viewer-counter{position:absolute;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);height:28px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.16);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center}
body.viewer-open{overflow:hidden}
@media (max-width:420px){.viewer-nav{width:36px;height:52px;font-size:36px;background:rgba(255,255,255,.1)}.viewer-prev{left:4px}.viewer-next{right:4px}.viewer-image{max-width:92vw;max-height:84vh}}


/* 18歳以上確認ダイアログ */
.age-download-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:18px 14px;background:transparent;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility 0s linear .18s}
.age-download-modal.active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease,visibility 0s linear 0s}
.age-download-backdrop{position:absolute;inset:0;background:rgba(32,33,36,.56);backdrop-filter:blur(2px);opacity:0;transition:opacity .18s ease}
.age-download-card{position:relative;width:min(100%,334px);background:#fff;border:1px solid #e7eaed;border-radius:12px;box-shadow:0 12px 28px rgba(60,64,67,.28),0 2px 8px rgba(60,64,67,.16);padding:15px 14px 14px;color:#202124;opacity:0;transform:translateY(10px) scale(.985);transform-origin:center center;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}
.age-download-modal.active .age-download-backdrop{opacity:1}
.age-download-modal.active .age-download-card{opacity:1;transform:translateY(0) scale(1)}
.age-download-head{display:flex;align-items:center;justify-content:center;gap:6px}
.age-download-badge{width:33px;height:37px;flex:0 0 33px;display:flex;align-items:center;justify-content:center;color:var(--green)}
.age-download-badge svg{display:block;width:33px;height:37px;overflow:visible}
.age-download-badge .shield-outline{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.age-download-badge text{fill:currentColor;font-size:12.1px;font-weight:700;letter-spacing:-.1px;font-family:var(--font)}
.age-download-card h2{margin:0;font-size:17.5px;line-height:22px;font-weight:700;letter-spacing:0;color:#202124;text-align:center}
.age-download-divider{height:1px;background:rgba(1,135,95,.55);margin:9px 0 12px;border-radius:999px}
.age-download-list{display:grid;gap:12px}
.age-download-item{display:grid;grid-template-columns:14px 1fr;align-items:start;gap:10px}
.age-download-item-icon{width:14px;height:14px;display:block;margin-top:3px;opacity:.95}
.age-download-item-icon-gray{color:#8c939a}
.age-download-item-icon-green{color:var(--green)}
.age-download-item-icon svg{width:14px;height:14px;display:block;fill:currentColor}
.age-download-item p{margin:0;font-size:12px;line-height:19px;color:#3c4043;letter-spacing:0;overflow-wrap:anywhere}
.age-download-item-strong p{color:#202124}
.age-download-actions{display:flex;align-items:center;gap:10px;margin-top:16px}
.age-download-cancel,.age-download-confirm{height:39px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12.8px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--font);box-shadow:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,filter .16s ease,transform .12s ease}
.age-download-cancel{flex:0.84 1 0;border:1.2px solid rgba(1,135,95,.48);background:#fff;color:var(--green)}
.age-download-confirm{flex:1.24 1 0;border:1px solid var(--green);background:var(--green);color:#fff}
.age-download-cancel:active{background:rgba(1,135,95,.045);transform:translateY(1px)}
.age-download-confirm:active{filter:brightness(.97);transform:translateY(1px)}
.age-download-modal,.age-download-card,.age-download-card h2,.age-download-item p,.age-download-cancel,.age-download-confirm{font-family:var(--font)}
body.age-modal-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.age-download-modal,.age-download-backdrop,.age-download-card,.age-download-cancel,.age-download-confirm{transition:none}.age-download-card{transform:none}}
@media (max-width:360px){.age-download-modal{padding:16px 12px}.age-download-card{width:min(100%,328px);padding:14px 13px 13px}.age-download-badge{width:32px;height:36px;flex-basis:32px}.age-download-badge svg{width:32px;height:36px}.age-download-badge text{font-size:11.8px}.age-download-card h2{font-size:17px;line-height:22px;text-align:center}.age-download-item{grid-template-columns:13px 1fr;gap:9px}.age-download-item-icon,.age-download-item-icon svg{width:13px;height:13px}.age-download-item p{font-size:11.7px;line-height:18.5px}.age-download-actions{gap:9px;margin-top:14px}.age-download-cancel,.age-download-confirm{height:38px;font-size:12.2px}}
