:root{--wrap: 940px;--read: 680px;--radius: 4px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.9;font-size:16px}a{color:var(--accent)}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.5}.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;padding:8px 14px;background:var(--surface)}.site-bar{border-bottom:1px solid var(--line);background:var(--surface)}.bar-inner{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:12px 0}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-seal{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--seal-bg, var(--accent));color:var(--seal-ink, var(--bg));font-family:var(--font-display);font-size:17px}.brand-name{font-family:var(--font-display);font-size:16px}.site-nav{display:flex;align-items:center;gap:6px 18px;flex-wrap:wrap;margin-left:auto}.nav-group{position:relative}.nav-group>summary{list-style:none;cursor:pointer;padding:6px 2px;font-size:14px;display:inline-flex;align-items:baseline;gap:6px}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:after{content:"▾";font-size:10px;color:var(--muted)}.nav-group.current>summary{color:var(--accent)}.nav-group[open]>ul{position:absolute;z-index:20;top:100%;left:-12px;min-width:240px;margin:0;padding:8px 0;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.nav-group ul li a{display:block;padding:7px 16px;text-decoration:none;color:var(--ink);font-size:14px}.nav-group ul li.sub a{padding-left:32px;color:var(--ink-soft)}.nav-group ul li a:hover,.nav-group ul li a[aria-current]{background:var(--accent-soft)}.nav-map{font-size:14px;text-decoration:none}.en{color:var(--muted);font-size:11px;letter-spacing:.12em;margin-left:6px}.hero{padding:64px 0 48px;text-align:center}.kicker{font-size:11px;letter-spacing:.28em;color:var(--muted);margin:0 0 32px}.hero-orbit{position:relative;width:min(100%,520px);aspect-ratio:1;margin:0 auto 32px}.orbit-line{position:absolute;inset:0;margin:auto;border:1px solid var(--line);border-radius:50%}.orbit-line.r1{width:58%;height:58%}.orbit-line.r2{width:84%;height:84%}.seal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:28%;aspect-ratio:1;border-radius:50%;background:var(--seal-bg, var(--accent));color:var(--seal-ink, var(--bg))}.seal-glyph{font-family:var(--font-display);font-size:clamp(22px,6vw,40px)}.pillar{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;gap:2px;width:21%;aspect-ratio:1;border-radius:50%;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:clamp(10px,2.2vw,13px);text-align:center;padding:6px}.pillar:hover{border-color:var(--accent)}.pillar-en{font-size:8px;letter-spacing:.1em;color:var(--muted)}.hero-name{font-size:clamp(30px,7vw,46px);margin:0 0 6px}.hero-reading{font-size:12px;letter-spacing:.18em;color:var(--muted);margin:0 0 22px}.hero-title{font-family:var(--font-display);font-size:clamp(19px,4vw,26px);color:var(--accent);margin:0 0 16px}.hero-lead{color:var(--ink-soft);margin:0 0 22px}.hero-guide{font-size:12px;color:var(--muted);margin:0 0 28px}.scroll-hint{font-size:11px;letter-spacing:.3em;text-decoration:none;color:var(--muted)}main{padding:48px 0}.sec-head{margin:0 0 28px}.sec-eyebrow{font-size:11px;letter-spacing:.24em;color:var(--muted);margin:0 0 8px}.sec-note{color:var(--ink-soft);margin:8px 0 0}.sec-title{font-size:clamp(24px,5vw,34px);margin:0 0 16px}.map-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.map-group{border-top:2px solid var(--accent);padding-top:16px}.map-head{font-family:var(--font-display);font-size:17px;margin:0 0 6px}.map-en{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted)}.map-lead{color:var(--ink-soft);font-size:14px;margin:0 0 14px}.map-list,.map-sub{list-style:none;padding:0;margin:0}.map-list>li{margin:0 0 14px}.map-list a{text-decoration:none;color:var(--ink);display:block}.map-list a:hover .ml-title{color:var(--accent)}.ml-title{display:block;font-family:var(--font-display)}.ml-sum{display:block;font-size:13px;color:var(--muted);line-height:1.7}.map-sub{padding-left:16px;border-left:1px solid var(--line);margin-top:6px}.map-sub a{font-size:14px;color:var(--ink-soft)}.faq-list{margin:0}.faq-item{border-top:1px solid var(--line);padding:18px 0}.faq-item dt{font-family:var(--font-display);margin:0 0 8px}.faq-item dd{margin:0;color:var(--ink-soft)}.thesis{padding:56px 0;background:var(--surface);text-align:center}.thesis-eyebrow{font-size:11px;letter-spacing:.24em;color:var(--muted);margin:0 0 14px}.thesis-line{font-family:var(--font-display);font-size:clamp(20px,4.5vw,30px);margin:0 0 12px}.thesis-sub{font-size:13px;color:var(--muted);margin:0}.crumbs{font-size:12px;color:var(--muted);margin:0 0 18px}.crumbs a{color:var(--muted)}.sec-mark .tag{font-size:10px;letter-spacing:.2em;color:var(--accent)}.page-summary{color:var(--ink-soft);margin:0 0 8px}.page-meta{font-size:12px;color:var(--muted);margin:0 0 32px}.sec-body{max-width:var(--read)}.sec-body h2{font-size:20px;margin:40px 0 12px}.sec-body p{margin:0 0 18px}.sec-body .pull{font-family:var(--font-display);font-size:clamp(17px,3.4vw,21px);border-left:3px solid var(--accent);padding:4px 0 4px 18px;margin:28px 0}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 18px}.chips li{border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:13px}.child-list{list-style:none;padding:0;margin:40px 0 0;display:grid;gap:12px}.child-list a{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}.child-list a:hover{border-color:var(--accent)}.cl-en{display:block;font-size:10px;letter-spacing:.18em;color:var(--muted)}.cl-title{display:block;font-family:var(--font-display);margin:4px 0}.cl-sum{display:block;font-size:13px;color:var(--muted)}.page-faq,.related{border-top:1px solid var(--line);padding:40px 0;margin-top:48px}.rel-head{font-family:var(--font-display);margin:0 0 12px}.related ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}.back-home{margin:40px 0 0}.back-home a,.btn{text-decoration:none}.btn{display:inline-block;border:1px solid var(--accent);border-radius:var(--radius);padding:10px 20px}.site-foot{border-top:1px solid var(--line);background:var(--surface);padding:44px 0}.foot-brand{display:inline-flex;align-items:center;gap:10px;margin:0 0 24px}.foot-map{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 28px}.foot-col-title{font-size:13px;margin:0 0 8px}.foot-col ul{list-style:none;padding:0;margin:0}.foot-col li{margin:0 0 5px}.foot-col a{font-size:13px;text-decoration:none;color:var(--ink-soft)}.foot-col a:hover{color:var(--accent)}.foot-col li.sub a{padding-left:12px;color:var(--muted)}.foot-note{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 12px}.foot-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:11px;color:var(--muted);margin:0}.vcard-btn{position:fixed;right:22px;bottom:22px;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 18px;border-radius:var(--radius);text-decoration:none;background:var(--accent);color:var(--bg);border:1px solid var(--accent);font-size:13px;line-height:1.4;text-align:center;box-shadow:0 8px 24px #00000029;transition:transform .2s ease,box-shadow .2s ease}.vcard-btn small{font-size:9px;letter-spacing:.16em;opacity:.7}.vcard-btn:hover,.vcard-btn:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px #0000003d}@media(max-width:640px){.site-nav{width:100%;margin-left:0}.vcard-btn{right:14px;bottom:14px;padding:10px 14px;font-size:12px}}@media(prefers-reduced-motion:reduce){.vcard-btn{transition:none}.vcard-btn:hover,.vcard-btn:focus-visible{transform:none}}
