:root{--gpx-forest:#104c3b;--gpx-ink:#183b30;--gpx-paper:#f5f8ef;--gpx-line:#bbcebc;--gpx-gold:#eacb78}
.gpx-tools,.gpx-quick,.gpx-platform-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gpx-tools{margin:14px 0}.gpx-tools a,.gpx-tools button,.gpx-card button,.gpx-dialog button,.gpx-article button,#gpx-current button{font:inherit;font-size:15px;line-height:1.35;border:1px solid #7da58f;border-radius:9px;padding:10px 12px;background:white;color:#124b38;cursor:pointer;text-decoration:none;min-height:44px}
.gpx-tools .gpx-facebook{background:#1762bb;color:#fff;border-color:#1762bb}.gpx-tools .gpx-wechat{background:#087f49;color:#fff;border-color:#087f49}
.gpx-tools a:hover,.gpx-tools button:hover,.gpx-quick a:hover,.gpx-platform-links a:hover{filter:brightness(.93)}
.gpx-card{min-width:0;background:#fff;border:1px solid var(--gpx-line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;color:var(--gpx-ink)}
.gpx-card .gp-home-film{border:0!important;border-radius:0!important;box-shadow:none!important;display:block;flex:none;height:auto!important;min-height:0!important}
.gpx-card-body{padding:12px 14px 16px;display:flex;flex-direction:column;flex:1;font-size:16px;line-height:1.65}
.gpx-card-desc{margin:0 0 10px}.gpx-read{color:#075942;font-weight:700;text-decoration:underline;text-underline-offset:3px}.gpx-card .gpx-tools{margin-top:auto;padding-top:14px;display:grid;grid-template-columns:1fr 1fr}.gpx-card .gpx-tools> :last-child{grid-column:1/-1}
.gpx-card .gpx-tools a,.gpx-card .gpx-tools button{text-align:center;font-size:14px;padding:9px 5px}.gpx-card .gpx-platforms{font-size:14px}.gpx-card .gpx-platforms summary{font-size:14px;padding:8px 0;cursor:pointer}
.gpx-platforms{margin:10px 0;max-width:100%}.gpx-platforms summary{font-weight:600;cursor:pointer}.gpx-platform-links{margin:10px 0}.gpx-platform-links a{padding:7px 10px;background:#eef4eb;border:1px solid #c3d4c5;border-radius:7px;color:#164d3b;text-decoration:none;overflow-wrap:anywhere}
.gpx-quick{margin:22px 0;padding:16px 0;border-top:1px solid var(--gpx-line);border-bottom:1px solid var(--gpx-line)}.gpx-quick a{font-size:16px;text-decoration:none;color:#13563e;padding:7px 10px;background:#e5efe1;border-radius:8px}
.gpx-dialog{max-width:min(550px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow:auto;border:0;border-radius:18px;padding:24px;background:#fff;color:#173e30;font:17px/1.6 system-ui,sans-serif;box-sizing:border-box;box-shadow:0 20px 90px #0006}
.gpx-dialog::backdrop{background:#09221acc}.gpx-dialog h2{font-size:23px;clear:both}.gpx-dialog .gpx-close{float:right}.gpx-qr{display:block;width:min(260px,100%);height:auto;margin:16px auto;border:1px solid #ddd}.gpx-dialog textarea{display:block;box-sizing:border-box;width:100%;margin:15px 0;padding:10px;font:16px/1.5 system-ui;color:#174433;border:1px solid #aac2b1;border-radius:8px;overflow-wrap:anywhere}
.gpx-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:10000;padding:14px 22px;background:#123d2f;color:white;border-radius:12px;box-shadow:0 4px 30px #0003;max-width:90vw;text-align:center;font-size:16px}.gpx-toast[hidden]{display:none}
.gpx-article-page{margin:0;background:var(--gpx-paper);color:var(--gpx-ink);font:18px/1.8 system-ui,-apple-system,'Noto Sans SC',sans-serif}.gpx-top{padding:20px max(24px,calc((100vw - 1100px)/2));background:#103d30;color:#fff;display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.gpx-logo{font-size:34px;line-height:1.2;letter-spacing:2px;font-weight:800;color:white;text-decoration:none}.gpx-logo span{display:block;font-size:12px;letter-spacing:1px;margin-top:7px}.gpx-top .gpx-quick{margin:0;padding:0;border:0}.gpx-top .gpx-quick a{background:#245342;color:white;font-size:14px}.gpx-article{max-width:900px;margin:0 auto;padding:48px 24px 70px}.gpx-kicker{font-size:14px;letter-spacing:2px;color:#477059;font-weight:700}.gpx-article h1{font-size:clamp(30px,4vw,46px);line-height:1.3;margin:14px 0 18px}.gpx-title-en{color:#4d6c57;font-size:21px;line-height:1.5}.gpx-lead{font-size:22px;font-weight:600}.gpx-article figure{margin:28px 0 18px}.gpx-article figure img{display:block;width:100%;height:auto;border-radius:15px}.gpx-article figcaption{font-size:14px;color:#53715d;margin-top:9px}.gpx-watch{display:inline-block;background:#0b6346;color:white!important;padding:12px 22px;border-radius:10px;text-decoration:none;font-weight:700}.gpx-small{font-size:14px;line-height:1.6;color:#496551}.gpx-en{color:#4e6857}.gpx-prose section{padding:20px 0;border-bottom:1px solid var(--gpx-line)}.gpx-prose h2,.gpx-references h2{font-size:26px;line-height:1.4}.gpx-prose h2 small{display:block;font-size:16px;color:#59745f;font-weight:500;margin-top:6px}.gpx-prose p{margin:14px 0}.gpx-references{font-size:15px;overflow-wrap:anywhere}.gpx-references a{color:#126347}.gpx-note{font-size:14px;padding:16px 20px;border-left:4px solid #bba254;background:#f3eddb;border-radius:8px;line-height:1.7}.gpx-article footer{font-size:14px;color:#59705f}
#gpx-current{margin-top:24px;padding:20px;border:1px solid var(--gpx-line);border-radius:14px;background:#f8fbf4;font-size:17px;line-height:1.7;color:#204b36}#gpx-current h3{font-size:23px;margin-top:0}#gpx-current a{color:#145b3e}#gpx-current .gpx-facebook{color:white}#gpx-current .gpx-current-prose details{padding:12px 0;border-bottom:1px solid var(--gpx-line)}#gpx-current summary{cursor:pointer;font-weight:600}
.gpx-tools :focus-visible,.gpx-platforms :focus-visible,.gpx-dialog :focus-visible,.gpx-article a:focus-visible{outline:3px solid #c69624;outline-offset:3px}
@media(max-width:700px){.gp-home-grid:has(.gpx-card){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.gpx-card-body{font-size:15px;padding:10px}.gpx-article{padding:24px 18px 50px}.gpx-top{padding:20px}.gpx-lead{font-size:20px}.gpx-article-page{font-size:17px}#gpx-current{padding:15px}.gpx-tools{gap:7px}.gpx-quick a{font-size:14px}}
@media(max-width:390px){.gp-home-grid:has(.gpx-card){grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep the existing image-download control below the film title. */
.gpx-card .gp-home-film>.gaki-share-media-link{position:static!important;display:block!important;max-width:calc(100% - 28px);margin:10px 14px 12px auto!important;transform:none!important;white-space:normal}

.gpx-dialog label{display:block;margin:14px 0}.gpx-dialog select{display:block;font:inherit;max-width:100%;min-height:44px;padding:8px 12px;border:1px solid #7da58f;border-radius:8px;background:#fff;color:#173e30;margin-top:6px}
