
:root{
  --gp-bg:#07111f;
  --gp-bg-soft:#eef4ff;
  --gp-bg-card:#ffffff;
  --gp-bg-alt:#f7faff;
  --gp-bg-violet:#f8f4ff;
  --gp-text:#0f172a;
  --gp-text-soft:#475569;
  --gp-line:rgba(15,23,42,.10);
  --gp-line-strong:rgba(255,255,255,.12);
  --gp-brand:#2563eb;
  --gp-brand-dark:#1d4ed8;
  --gp-violet:#7c3aed;
  --gp-gold:#f6d28b;
  --gp-shadow:0 28px 72px rgba(2,6,23,.10);
  --gp-shadow-soft:0 16px 40px rgba(15,23,42,.08);
  --gp-radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans","Noto Sans CJK SC","Noto Sans CJK JP",Helvetica,Arial,sans-serif;color:var(--gp-text);background:linear-gradient(180deg,#eef4ff 0%,#ffffff 24%,#f8fafc 100%);line-height:1.72;overflow-x:hidden}
body:before,body:after{content:"";position:fixed;pointer-events:none;z-index:-1;border-radius:999px;filter:blur(70px);opacity:.35}
body:before{width:360px;height:360px;left:-120px;top:110px;background:rgba(37,99,235,.18)}
body:after{width:280px;height:280px;right:-100px;top:240px;background:rgba(124,58,237,.14)}
a{color:var(--gp-brand);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.gp-wrap{max-width:1220px;margin:0 auto;padding:0 22px 74px}
.gp-hero{padding:40px 0 18px}
.gp-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);gap:24px;align-items:stretch}
.gp-hero-copy,.gp-hero-stage{position:relative;border-radius:34px;overflow:hidden}
.gp-hero-copy{padding:34px;border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,#08111f 0%,#0f172a 48%,#131f36 100%);box-shadow:0 28px 70px rgba(2,6,23,.34);color:#eff6ff}
.gp-hero-copy:before,.gp-hero-stage:before,.gp-hero-stage:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.gp-hero-copy:before{width:240px;height:240px;right:-60px;top:-80px;background:radial-gradient(circle at center,rgba(96,165,250,.28),rgba(96,165,250,0));filter:blur(10px)}
.gp-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(96,165,250,.14);border:1px solid rgba(96,165,250,.24);color:#bfdbfe;font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gp-badge svg,.gp-chip svg,.gp-icon svg,.gp-card-icon svg{width:15px;height:15px;display:block}
.gp-hero h1{margin:16px 0 16px;font-size:clamp(2.25rem,4.6vw,4rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere}
.gp-hero .accent{color:var(--gp-gold)}
.gp-hero p{margin:0 0 16px;color:rgba(239,246,255,.82);font-size:1.02rem;max-width:68ch}
.gp-chip-row,.gp-actions,.gp-stat-row{display:flex;flex-wrap:wrap;gap:12px}
.gp-chip-row{margin-top:22px}
.gp-chip{display:inline-flex;align-items:center;gap:10px;padding:11px 15px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--gp-line-strong);color:#e2e8f0;font-size:.94rem;font-weight:700;text-decoration:none;backdrop-filter:blur(10px)}
.gp-chip:hover{text-decoration:none;transform:translateY(-1px)}
.gp-actions{margin-top:22px}
.gp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.18);font-weight:850;font-size:.96rem;text-decoration:none;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gp-btn:hover{text-decoration:none;transform:translateY(-2px)}
.gp-btn.primary{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 14px 28px rgba(37,99,235,.28)}
.gp-btn.secondary{background:rgba(255,255,255,.10);color:#f8fafc}
.gp-btn.ghost{background:rgba(255,255,255,.04);color:#dbeafe}
.gp-stat-row{margin-top:24px}
.gp-stat{min-width:128px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.gp-stat strong{display:block;font-size:1.34rem;color:#fff}
.gp-stat span{display:block;margin-top:4px;color:#cbd5e1;font-size:.87rem}
.gp-hero-stage{padding:20px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:var(--gp-shadow)}
.gp-hero-stage:before{width:260px;height:260px;right:-100px;top:-80px;background:radial-gradient(circle at center,rgba(37,99,235,.18),rgba(37,99,235,0))}
.gp-hero-stage:after{width:220px;height:220px;left:-80px;bottom:-90px;background:radial-gradient(circle at center,rgba(124,58,237,.16),rgba(124,58,237,0));animation:gpFloat 10s ease-in-out infinite}
.gp-stage-brand{display:grid;gap:14px;padding:14px;border-radius:28px;background:linear-gradient(135deg,#f8fbff,#f7f1ff);border:1px solid var(--gp-line)}
.gp-stage-brand img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:22px;background:#fff;box-shadow:0 12px 24px rgba(15,23,42,.08)}
.gp-stage-brand p{margin:0;color:var(--gp-text-soft);font-size:.95rem}
.gp-stage-list{display:grid;gap:14px;margin-top:16px}
.gp-stage-card{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:12px;border-radius:20px;border:1px solid var(--gp-line);background:#fff;box-shadow:0 14px 28px rgba(15,23,42,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gp-stage-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 18px 34px rgba(15,23,42,.08);border-color:rgba(37,99,235,.22)}
.gp-stage-card img{width:88px;height:88px;object-fit:cover;object-position:left top;border-radius:16px}
.gp-stage-card strong{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}
.gp-stage-card h3{margin:8px 0 8px;font-size:.98rem;line-height:1.28;color:#0f172a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;overflow-wrap:anywhere}
.gp-stage-card p{margin:0;color:var(--gp-text-soft);font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gp-stage-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.gp-mini-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#1e40af;font-size:.8rem;font-weight:800}
.gp-section{margin-top:24px;padding:28px;border-radius:32px;background:#fff;border:1px solid rgba(148,163,184,.16);box-shadow:var(--gp-shadow)}
.gp-section + .gp-section{margin-top:22px}
.gp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.gp-section h2{margin:0;font-size:clamp(1.5rem,2.8vw,2.15rem);line-height:1.12;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}
.gp-section .lead{margin:8px 0 0;color:var(--gp-text-soft);max-width:70ch}
.gp-icon{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:20px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:0 16px 30px rgba(37,99,235,.24)}
.gp-grid{display:grid;gap:18px}
.gp-grid.cards-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.gp-grid.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gp-card{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:26px;border:1px solid var(--gp-line);background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);box-shadow:0 14px 28px rgba(15,23,42,.04);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gp-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.08);border-color:rgba(37,99,235,.24)}
.gp-card-media{overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#eff6ff,#faf5ff);border:1px solid var(--gp-line)}
.gp-card-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .42s ease}
.gp-card:hover .gp-card-media img{transform:scale(1.03)}
.gp-card-body{display:grid;gap:10px}
.gp-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.gp-card-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 10px 18px rgba(37,99,235,.16)}
.gp-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}
.gp-card h3{margin:0;font-size:1rem;line-height:1.32;color:#0f172a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:balance;overflow-wrap:anywhere}
.gp-card p{margin:0;color:var(--gp-text-soft);font-size:.92rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gp-card .meta{display:flex;flex-wrap:wrap;gap:10px;color:#334155;font-size:.84rem}
.gp-card .meta span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid var(--gp-line)}
.gp-card a.more{display:inline-flex;align-items:center;gap:8px;font-weight:800;margin-top:auto}
.gp-feature-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:18px}
.gp-feature{display:grid;gap:14px;padding:22px;border-radius:28px;background:linear-gradient(145deg,#08111f 0%,#0f172a 52%,#121e35 100%);color:#eff6ff;box-shadow:0 24px 56px rgba(2,6,23,.28)}
.gp-feature img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:24px;border:1px solid rgba(255,255,255,.08)}
.gp-feature p{margin:0;color:rgba(239,246,255,.82)}
.gp-feature ul{margin:0;padding-left:1.2rem;color:#dbeafe}
.gp-feature li{margin:.4rem 0}
.gp-stack{display:grid;gap:14px}
.gp-note{padding:16px 18px;border-radius:20px;background:#f8fafc;border:1px solid var(--gp-line);color:var(--gp-text-soft)}
.gp-note strong{display:block;color:#0f172a;margin-bottom:6px}
.gp-list{margin:0;padding-left:1.1rem;color:var(--gp-text-soft)}
.gp-list li{margin:.5rem 0}
.gp-article-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(280px,.96fr);gap:18px}
.gp-body{display:grid;gap:18px}
.gp-aside{display:grid;gap:18px;align-content:start}
.gp-block{padding:22px;border-radius:28px;background:#fff;border:1px solid var(--gp-line);box-shadow:var(--gp-shadow-soft)}
.gp-block h2,.gp-block h3{margin:0 0 12px;color:#0f172a;line-height:1.22}
.gp-block p{margin:0 0 12px;color:var(--gp-text-soft)}
.gp-block p:last-child{margin-bottom:0}
.gp-block table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.95rem}
.gp-block th,.gp-block td{padding:12px 12px;border-top:1px solid var(--gp-line);text-align:left;vertical-align:top}
.gp-block th{font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;color:#334155;background:#f8fafc}
.gp-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gp-summary{padding:16px;border-radius:22px;background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);border:1px solid var(--gp-line)}
.gp-summary strong{display:block;font-size:1.02rem;color:#0f172a;margin-bottom:6px}
.gp-summary span{display:block;color:var(--gp-text-soft);font-size:.92rem}
.gp-toc{display:grid;gap:10px}
.gp-toc a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:16px;border:1px solid var(--gp-line);background:#fff;color:#0f172a;font-weight:700}
.gp-toc a:hover{text-decoration:none;border-color:rgba(37,99,235,.26);transform:translateY(-1px)}
.gp-toc a span{color:#64748b;font-weight:600;font-size:.88rem}
.gp-faq{display:grid;gap:12px}
.gp-faq details{border:1px solid var(--gp-line);border-radius:20px;padding:16px 18px;background:#fff}
.gp-faq summary{cursor:pointer;font-weight:800;color:#0f172a}
.gp-faq p{margin:12px 0 0;color:var(--gp-text-soft)}
.gp-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gp-related a{display:grid;gap:10px;padding:16px;border-radius:20px;border:1px solid var(--gp-line);background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 12px 24px rgba(15,23,42,.04);color:#0f172a}
.gp-related a:hover{text-decoration:none;transform:translateY(-3px)}
.gp-related strong{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}
.gp-related span{color:var(--gp-text-soft);font-size:.92rem}
.gp-hero-media{margin-top:18px;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 42px rgba(2,6,23,.20)}
.gp-hero-media img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gp-author-line{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;color:#dbeafe;font-size:.92rem}
.gp-author-line span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10)}
.gp-signal-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gp-signal{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#eef4ff;border:1px solid rgba(37,99,235,.16);color:#1e3a8a;font-size:.84rem;font-weight:800}
.gp-cta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gp-cta-card{padding:18px;border-radius:22px;background:linear-gradient(180deg,#08111f 0%,#10203a 100%);color:#eff6ff;box-shadow:0 16px 34px rgba(2,6,23,.22)}
.gp-cta-card h3{margin:0 0 10px;font-size:1.02rem}
.gp-cta-card p{margin:0 0 12px;color:#dbeafe}
.gp-cta-card a{display:inline-flex;align-items:center;gap:8px;color:#f6d28b;font-weight:800}
.gp-divider{height:1px;background:linear-gradient(90deg,rgba(37,99,235,.16),rgba(124,58,237,.12),rgba(37,99,235,.0));margin:4px 0}
.gp-small{font-size:.92rem}
@keyframes gpFloat{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(10px) translateX(-8px)}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.gp-btn,.gp-stage-card,.gp-card,.gp-card-media img,.gp-chip,.gp-related a{transition:none}.gp-hero-stage:after{animation:none}}
@media (max-width:1080px){.gp-hero-grid,.gp-feature-grid,.gp-article-grid,.gp-grid.cards-3,.gp-grid.cards-2,.gp-summary-grid,.gp-cta-grid,.gp-related{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.gp-hero-grid{grid-template-columns:1fr}.gp-stage-card{grid-template-columns:72px 1fr}.gp-stage-card img{width:72px;height:72px}.gp-grid.cards-3,.gp-grid.cards-2{grid-template-columns:1fr}}
@media (max-width:720px){.gp-wrap{padding:0 16px 56px}.gp-feature-grid,.gp-article-grid,.gp-grid.cards-3,.gp-grid.cards-2,.gp-summary-grid,.gp-cta-grid,.gp-related{grid-template-columns:1fr}.gp-section,.gp-hero-copy,.gp-hero-stage,.gp-block{padding:22px}.gp-stage-card{grid-template-columns:1fr}.gp-stage-card img{width:100%;height:120px}.gp-section-head{display:block}}

.gp-card-media{height:96px}
.gp-card-media img{height:100%;object-position:left top;filter:saturate(1.06) contrast(1.02)}
.gp-card a.more,.gp-related a{font-size:.9rem}
