/*
Theme Name: JCBO Kotani China Dynamic
Theme URI: https://www.kotanimanabu.com/zh/
Author: JCBO / Manabu Kotani
Description: 小谷学中文官网专用动态WordPress主题。连接东京、上海与香港，采用类似iPhone官网的玻璃质感、滚动动画与网络视觉设计。
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: jcbo-kotani-cn
*/
:root{--bg:#050b14;--surface:#0a1422;--surface2:#101e31;--text:#f7f9fc;--muted:#a9b6c8;--gold:#f0c431;--blue:#64a8ff;--line:rgba(255,255,255,.12);--glass:rgba(17,31,50,.62);--radius:28px;--shadow:0 30px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;line-height:1.75;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{width:min(1240px,calc(100% - 40px));margin:auto}.site-main{min-height:70vh}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(5,11,20,.66);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px) saturate(150%)}.header-inner{min-height:76px;display:flex;align-items:center;gap:28px}.site-branding{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.04em}.site-title{font-size:1.05rem}.custom-logo{max-height:46px;width:auto}.primary-menu{display:flex;gap:24px;list-style:none;margin:0 0 0 auto;padding:0}.primary-menu a{font-size:.93rem;color:#c9d3df;font-weight:700}.primary-menu a:hover{color:#fff}.language-switch{display:flex;gap:8px}.language-switch a{padding:8px 13px;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.language-switch .current{background:#fff;color:#07111f}.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.hero{position:relative;min-height:100svh;display:grid;align-items:center;overflow:hidden;padding:120px 0 70px;background:radial-gradient(circle at 68% 35%,rgba(46,121,213,.22),transparent 28%),radial-gradient(circle at 30% 90%,rgba(240,196,49,.12),transparent 35%),linear-gradient(145deg,#050b14,#091728 62%,#07101c)}.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}.eyebrow{display:inline-flex;color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.hero h1{font-size:clamp(3rem,6.8vw,6.7rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 26px;max-width:780px}.hero h1 .gradient{background:linear-gradient(100deg,#fff 15%,#b8d6ff 55%,#f0c431);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:clamp(1rem,1.7vw,1.32rem);color:#b8c4d3;max-width:730px;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;background:#fff;color:#07111f;font-weight:900;transition:.25s}.button:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(255,255,255,.18)}.button.secondary{background:rgba(255,255,255,.05);color:#fff;border:1px solid var(--line)}
.network-stage{position:relative;aspect-ratio:1/1;border:1px solid rgba(255,255,255,.13);border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(20px);overflow:hidden;transform:perspective(1100px) rotateY(-5deg) rotateX(2deg)}.network-stage::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 30deg,transparent,rgba(100,168,255,.13),transparent 28%);animation:spin 14s linear infinite}.network-stage svg{position:relative;z-index:2;width:100%;height:100%}.route{fill:none;stroke:url(#routeGradient);stroke-width:2;stroke-dasharray:8 10;animation:flow 4s linear infinite}.route-glow{fill:none;stroke:rgba(100,168,255,.18);stroke-width:12;filter:blur(8px)}.node-ring{fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.35);stroke-width:1.4;transform-origin:center;animation:pulse 2.8s ease-in-out infinite}.node-core{fill:#fff;filter:drop-shadow(0 0 10px #64a8ff)}.node-label{fill:#fff;font-size:19px;font-weight:800}.node-sub{fill:#98a9bc;font-size:12px}.map-outline{fill:rgba(100,168,255,.05);stroke:rgba(160,200,255,.18);stroke-width:1}.signal{fill:#f0c431;filter:drop-shadow(0 0 7px #f0c431);offset-path:path('M119 266 C220 130 360 125 468 206 C532 253 510 350 405 376');animation:signalMove 4.4s linear infinite}
.section{padding:110px 0;position:relative}.section.alt{background:linear-gradient(180deg,#081321,#0b1727)}.section-heading{display:grid;grid-template-columns:1fr .8fr;gap:40px;align-items:end;margin-bottom:44px}.section-heading h2{font-size:clamp(2.3rem,5vw,4.8rem);line-height:1.08;letter-spacing:-.045em;margin:0}.section-heading p{color:var(--muted);margin:0}.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{position:relative;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden;transition:.35s}.card:hover{transform:translateY(-7px);border-color:rgba(100,168,255,.35)}.card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:rgba(100,168,255,.08);right:-90px;top:-90px;filter:blur(8px)}.card-index{font-size:.8rem;color:var(--gold);font-weight:900;letter-spacing:.18em}.card h3{font-size:1.42rem;margin:18px 0 10px}.card p{color:var(--muted);margin:0}.profile-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.profile-visual{min-height:560px;border-radius:38px;background:radial-gradient(circle at 40% 30%,rgba(100,168,255,.24),transparent 32%),linear-gradient(145deg,#162b46,#091321);border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:var(--shadow)}.profile-visual img{width:100%;height:100%;object-fit:cover}.profile-visual .orbit{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;animation:spin 15s linear infinite}.profile-visual .orbit.one{width:320px;height:320px;left:-90px;top:110px}.profile-visual .orbit.two{width:500px;height:500px;right:-240px;bottom:-180px;animation-duration:24s}.profile-copy h2{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.12;margin:0 0 24px;letter-spacing:-.04em}.profile-copy p{color:var(--muted);font-size:1.05rem}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.stat{padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035)}.stat strong{display:block;font-size:1.65rem}.stat span{font-size:.82rem;color:var(--muted)}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{padding:0}.post-thumb{aspect-ratio:16/10;background:linear-gradient(135deg,#152b46,#0b1524);overflow:hidden}.post-thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}.post-card:hover .post-thumb img{transform:scale(1.05)}.post-body{padding:24px}.post-meta{color:var(--gold);font-size:.8rem;font-weight:900}.post-body h3{font-size:1.28rem;line-height:1.45}.source-link{display:inline-flex;margin-top:18px;font-weight:800;color:#b9d7ff}.cta{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:52px;border-radius:36px;background:radial-gradient(circle at 80% 10%,rgba(240,196,49,.22),transparent 30%),linear-gradient(135deg,#183960,#0a1b31);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow)}.cta h2{font-size:clamp(2rem,4vw,4rem);line-height:1.12;margin:0 0 12px}.cta p{color:#c2cfdd;margin:0}.site-footer{padding:64px 0 30px;background:#030811;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}.site-footer p,.site-footer li{color:var(--muted)}.site-footer ul{list-style:none;margin:0;padding:0}.copyright{margin-top:38px;padding-top:22px;border-top:1px solid var(--line);color:#7f8d9d;font-size:.85rem}.floating-contact{position:fixed;right:18px;bottom:18px;z-index:900}.floating-contact a{display:flex;align-items:center;gap:8px;background:#fff;color:#07111f;border-radius:999px;padding:13px 18px;font-weight:900;box-shadow:var(--shadow)}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}.reveal.visible{opacity:1;transform:none}
@keyframes flow{to{stroke-dashoffset:-72}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}@keyframes signalMove{from{offset-distance:0}to{offset-distance:100%}}
@media(max-width:980px){.hero-grid,.profile-wrap,.section-heading{grid-template-columns:1fr}.network-stage{max-width:650px;margin:auto}.grid-3,.posts-grid{grid-template-columns:1fr 1fr}.primary-menu{display:none;position:absolute;top:76px;left:20px;right:20px;padding:20px;background:#0b1727;border:1px solid var(--line);border-radius:20px;flex-direction:column}.primary-menu.is-open{display:flex}.menu-toggle{display:block;margin-left:auto}.language-switch{order:3}.header-inner{flex-wrap:wrap}.profile-visual{min-height:440px}}
@media(max-width:640px){.container{width:min(100% - 28px,1240px)}.hero{padding-top:130px}.hero h1{font-size:clamp(2.65rem,14vw,4.1rem)}.network-stage{border-radius:26px}.grid-3,.posts-grid,.stat-row,.footer-grid{grid-template-columns:1fr}.section{padding:78px 0}.cta{align-items:flex-start;flex-direction:column;padding:34px}.site-title{font-size:.9rem}.language-switch a{padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.route,.signal,.node-ring,.network-stage::before,.orbit{animation:none}.reveal{opacity:1;transform:none}}
