/* AI-AW Philosophy Society — site stylesheet */
html,body{margin:0;padding:0}img{max-width:100%}[hidden]{display:none!important}

/* ============ TOKENS — onyx & gold (dark-first), ivory & ink (light) ============ */
:root{
  color-scheme:dark;
  --ground:#0c0d10;
  --ground-2:#121418;
  --ground-3:#1a1d22;
  --ink:#ece4d0;
  --ink-2:#bdb49f;
  --ink-3:#8a8270;
  --gold:#d4b06a;
  --gold-hi:#f3dfab;
  --gold-lo:#8e7038;
  --on-gold:#0c0d10;
  --jade:#57a393;
  --line:rgba(212,176,106,.38);
  --line-2:rgba(212,176,106,.17);
  --ray:rgba(212,176,106,.085);
  --sheen:rgba(255,248,225,.8);
  --nav-bg:rgba(12,13,16,.84);
  --f-display:"Poiret One","Josefin Sans","Futura","Century Gothic",sans-serif;
  --f-label:"Josefin Sans","Futura","Century Gothic","Noto Serif SC",sans-serif;
  --f-body:"Cormorant Garamond","Noto Serif SC","Songti SC","SimSun",Georgia,serif;
  --f-cjk:"Noto Serif SC","Songti SC","SimSun",serif;
  --gut:clamp(16px,4vw,44px);
  --maxw:1180px;
  --err:#e08a70;
}
:root[lang="ja"]{
  --f-body:"Cormorant Garamond","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",Georgia,serif;
  --f-cjk:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-label:"Josefin Sans","Futura","Century Gothic","Noto Serif JP",sans-serif;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    color-scheme:light;
    --ground:#f0e9d9;--ground-2:#e8dfca;--ground-3:#ddd2ba;
    --ink:#16171b;--ink-2:#4b463c;--ink-3:#786f5f;
    --gold:#8a6420;--gold-hi:#b88c3e;--gold-lo:#5a4012;--on-gold:#f6f0e2;
    --jade:#1e6456;
    --line:rgba(138,100,32,.46);--line-2:rgba(138,100,32,.2);
    --ray:rgba(138,100,32,.075);--sheen:rgba(255,250,235,.95);
    --nav-bg:rgba(240,233,217,.88);
    --err:#a3432b;
  }
}
:root[data-theme="light"]{
  color-scheme:light;
  --ground:#f0e9d9;--ground-2:#e8dfca;--ground-3:#ddd2ba;
  --ink:#16171b;--ink-2:#4b463c;--ink-3:#786f5f;
  --gold:#8a6420;--gold-hi:#b88c3e;--gold-lo:#5a4012;--on-gold:#f6f0e2;
  --jade:#1e6456;
  --line:rgba(138,100,32,.46);--line-2:rgba(138,100,32,.2);
  --ray:rgba(138,100,32,.075);--sheen:rgba(255,250,235,.95);
  --nav-bg:rgba(240,233,217,.88);
  --err:#a3432b;
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.85;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:root[lang="en"] body{font-size:20px;line-height:1.55}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
::selection{background:var(--gold);color:var(--on-gold)}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.center{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============ NAV ============ */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);border-bottom:1px solid var(--line)}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--line-2);pointer-events:none}
.nav-in{display:flex;align-items:center;gap:20px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold);flex:none}
.brand .seal{width:38px;color:var(--gold)}
.brand b{font-family:var(--f-display);font-weight:400;font-size:22px;letter-spacing:.12em;color:var(--ink)}
.links{display:flex;gap:clamp(14px,2.2vw,30px);margin:0 auto;list-style:none;padding:0}
.links a{font-family:var(--f-label);font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--ink-2);padding-block:6px;position:relative;transition:color .25s}
:root:not([lang="en"]) .links a{font-family:var(--f-cjk);font-size:14px;letter-spacing:.2em;text-transform:none}
.links a::after{content:"";position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s,left .3s}
.links a:hover,.links a.on{color:var(--gold)}
.links a:hover::after,.links a.on::after{left:0;width:100%}
.tools{display:flex;align-items:center;gap:8px;flex:none}
.lang{display:flex;border:1px solid var(--line)}
.lang button{background:none;border:0;padding:5px 10px;font-family:var(--f-label);font-size:12.5px;letter-spacing:.08em;cursor:pointer;color:var(--ink-2);line-height:1.4}
.lang button+button{border-left:1px solid var(--line-2)}
.lang button[aria-pressed="true"]{background:var(--gold);color:var(--on-gold)}
.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:none;cursor:pointer;color:var(--gold);padding:0}
.icon-btn svg{width:18px;height:18px}
.menu-btn{display:none}
.drawer{border-top:1px solid var(--line-2)}
.drawer ul{list-style:none;margin:0 auto;max-width:var(--maxw);padding:8px var(--gut) 18px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.drawer a{display:block;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--line-2);font-family:var(--f-cjk);letter-spacing:.16em;color:var(--ink)}
:root[lang="en"] .drawer a{font-family:var(--f-label);text-transform:uppercase;font-size:14px;letter-spacing:.2em}
@media (max-width:1000px){.links{display:none}.menu-btn{display:grid}.tools{margin-left:auto}}
@media (max-width:400px){.brand b{display:none}.lang button{padding:5px 8px}}

/* ============ SHARED ORNAMENT ============ */
[data-frame]{position:relative}
.cn{position:absolute;width:26px;height:26px;color:var(--gold);pointer-events:none;z-index:2}
.cn .cn-cut{fill:var(--cut,var(--ground))}
.cn.tl{top:-1px;left:-1px}
.cn.tr{top:-1px;right:-1px;transform:scaleX(-1)}
.cn.bl{bottom:-1px;left:-1px;transform:scaleY(-1)}
.cn.br{bottom:-1px;right:-1px;transform:scale(-1,-1)}
.orn{display:flex;justify-content:center;color:var(--gold)}
.orn svg{width:min(280px,72%);height:auto;display:block}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 16px;font-family:var(--f-label);font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);line-height:1.4}
:root:not([lang="en"]) .eyebrow{font-family:var(--f-cjk);font-size:13px;letter-spacing:.3em}
.eyebrow::before,.eyebrow::after{content:"";width:46px;height:5px;flex:none;background:linear-gradient(var(--gold) 0 0) 0 0/100% 1px no-repeat,linear-gradient(var(--gold) 0 0) 100% 4px/58% 1px no-repeat}
.eyebrow::after{background:linear-gradient(var(--gold) 0 0) 0 0/100% 1px no-repeat,linear-gradient(var(--gold) 0 0) 0 4px/58% 1px no-repeat}
.eyebrow.left{justify-content:flex-start}
.eyebrow.left::before{display:none}
.h2{margin:0;font-family:var(--f-cjk);font-weight:700;font-size:clamp(30px,4.4vw,52px);line-height:1.25;letter-spacing:.14em;text-wrap:balance}
:root[lang="en"] .h2{font-family:var(--f-display);font-weight:400;letter-spacing:.03em;font-size:clamp(36px,5.4vw,64px)}
.h3{margin:0;font-family:var(--f-cjk);font-weight:700;font-size:clamp(24px,2.8vw,34px);letter-spacing:.12em;line-height:1.35;text-wrap:balance}
:root[lang="en"] .h3{font-family:var(--f-display);font-weight:400;letter-spacing:.03em;font-size:clamp(28px,3.2vw,40px)}
.gloss{margin:10px 0 0;color:var(--gold);font-family:var(--f-display);font-size:clamp(15px,1.6vw,19px);letter-spacing:.14em;line-height:1.4}
.gloss.cjk{font-family:var(--f-cjk);letter-spacing:.4em;font-size:15px}
.lede{max-width:40em;margin:0 auto;color:var(--ink-2);text-wrap:pretty}
.sec{padding-block:clamp(80px,10vw,140px)}
.sh{text-align:center;margin-bottom:clamp(40px,5vw,64px)}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;isolation:isolate;text-align:center;padding-block:clamp(60px,8vw,104px) clamp(76px,9vw,124px)}
.hero-frame{position:absolute;inset:14px;border:1px solid var(--line);pointer-events:none}
.hero-frame::before{content:"";position:absolute;inset:6px;border:1px solid var(--line-2)}
.hero .wrap{padding-inline:max(var(--gut),34px)}
.stage{position:relative;display:inline-block;color:var(--gold)}
.rays{position:absolute;left:50%;top:50%;width:1700px;height:1700px;translate:-50% -50%;z-index:-1;pointer-events:none;-webkit-mask:radial-gradient(circle,#000 14%,transparent 60%);mask:radial-gradient(circle,#000 14%,transparent 60%)}
.rays svg{width:100%;height:100%;display:block}
.rays .r{fill:var(--ray)}
.rays .c{fill:none;stroke:var(--line-2)}
.seal{display:block;aspect-ratio:1;background:currentColor;-webkit-mask:url("seal.png") center/contain no-repeat;mask:url("seal.png") center/contain no-repeat}
.seal.gilt{background:linear-gradient(100deg,transparent 38%,var(--sheen) 50%,transparent 62%) -10% 0/250% 100% no-repeat,linear-gradient(160deg,var(--gold-hi),var(--gold) 46%,var(--gold-lo))}
.hero .seal{width:clamp(220px,25vw,320px);position:relative;z-index:1}
.hero .stage::after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--ground)}
.wordmark{font-family:var(--f-display);font-weight:400;font-size:clamp(70px,14vw,176px);line-height:.95;letter-spacing:.06em;margin:26px 0 12px;display:flex;align-items:center;justify-content:center;gap:.14em}
.wm{background:linear-gradient(100deg,transparent 35%,var(--sheen) 50%,transparent 65%) -10% 0/250% 100% no-repeat,linear-gradient(180deg,var(--gold-hi),var(--gold) 52%,var(--gold-lo));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-inline:.02em}
.wm-sep{width:.26em;height:.62em;color:var(--gold);flex:none}
.en-name{font-family:var(--f-label);font-weight:300;font-size:clamp(11px,1.45vw,15px);letter-spacing:.38em;text-transform:uppercase;color:var(--ink-2);margin:0 auto;max-width:60em;text-wrap:balance;line-height:1.8}
.loc-name{font-family:var(--f-cjk);font-weight:700;font-size:clamp(21px,3.1vw,34px);margin:16px 0 0;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,20px);color:var(--ink)}
.loc-name span{letter-spacing:.3em;margin-right:-.3em}
.loc-name::before,.loc-name::after{content:"";width:clamp(24px,6vw,76px);height:5px;border-block:1px solid var(--gold);flex:none}
.hero-lede{max-width:33em;margin:24px auto 0;color:var(--ink-2);text-wrap:pretty}
.ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:36px}
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:10px;padding:13px 36px;text-decoration:none;font-family:var(--f-label);font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--on-gold);background:var(--gold);clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,14px 100%,0 50%);transition:filter .2s,background .2s;border:0;cursor:pointer;line-height:1.4}
:root:not([lang="en"]) .btn{font-family:var(--f-cjk);font-size:15px;letter-spacing:.22em;text-transform:none}
.btn:hover{filter:brightness(1.12)}
.btn.ghost{color:var(--gold)}
.btn.ghost::before{content:"";position:absolute;inset:1px;background:var(--ground);clip-path:polygon(13.5px 0,calc(100% - 13.5px) 0,100% 50%,calc(100% - 13.5px) 100%,13.5px 100%,0 50%);z-index:-1}
.btn.ghost:hover::before{background:var(--ground-3)}

/* ============ DEFINITION ============ */
.def-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:stretch}
@media (max-width:900px){.def-grid{grid-template-columns:1fr}}
.plaque{background:var(--ground-2);border:1px solid var(--line);padding:clamp(28px,4vw,52px)}
.plaque-k{margin:0;font-family:var(--f-display);font-size:15px;letter-spacing:.2em;color:var(--gold)}
.def-text{font-family:var(--f-cjk);font-size:clamp(19px,1.9vw,23px);line-height:1.95;margin:16px 0 0;text-wrap:pretty}
:root[lang="en"] .def-text{font-family:var(--f-body);font-weight:500;font-size:clamp(23px,2.3vw,28px);line-height:1.42}
.def-text em{font-style:normal;color:var(--gold)}
:root[lang="en"] .def-text em{font-style:italic}
.def-note{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line-2);font-size:.92em;color:var(--ink-3)}
.anatomy{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(8px,2vw,24px) 0}
.an-cap{font-family:var(--f-label);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);margin:0 0 16px}
:root:not([lang="en"]) .an-cap{font-family:var(--f-cjk);font-size:13px;text-transform:none}
.an-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%}
.an-chip{border:1px solid var(--line);padding:10px 4px;text-align:center;font-family:var(--f-cjk);font-size:15px;line-height:1.35;letter-spacing:.04em;background:var(--ground);display:grid;place-items:center;min-height:56px}
:root[lang="en"] .an-chip{font-family:var(--f-label);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.an-link{position:relative;width:100%;height:54px;color:var(--gold)}
.an-link svg{position:absolute;inset:0;width:100%;height:100%}
.an-link svg path{fill:none;stroke:var(--line);vector-effect:non-scaling-stroke}
.an-link span{position:absolute;left:50%;top:50%;translate:-50% -50%;background:var(--ground);padding:0 12px;font-family:var(--f-label);font-size:12px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}
:root:not([lang="en"]) .an-link span{font-family:var(--f-cjk);font-size:13.5px;letter-spacing:.3em;text-transform:none}
.an-core{position:relative;padding:22px clamp(28px,5vw,56px) 14px;border:1px solid var(--gold);border-bottom-width:3px;border-radius:80px 80px 0 0/70px 70px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 16%,transparent),transparent);font-family:var(--f-cjk);font-weight:700;font-size:clamp(19px,2.2vw,24px);letter-spacing:.3em;color:var(--gold);text-align:center}
:root[lang="en"] .an-core{font-family:var(--f-display);font-weight:400;letter-spacing:.08em}
.incl{margin:clamp(48px,6vw,76px) 0 22px}
.kinds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:900px){.kinds{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kind{position:relative;border:1px solid var(--line-2);padding:24px 12px 18px;text-align:center;background:var(--ground-2);transition:border-color .25s,transform .25s}
.kind::before{content:"";position:absolute;top:-1px;left:50%;width:40px;height:3px;translate:-50% 0;background:var(--gold)}
.kind svg{width:46px;height:46px;color:var(--gold);display:block;margin:0 auto 12px;fill:none;stroke:currentColor;stroke-width:1.3}
.kind span{font-family:var(--f-cjk);font-size:15px;letter-spacing:.05em;line-height:1.5;display:block;text-wrap:balance}
:root[lang="en"] .kind span{font-family:var(--f-body);font-weight:600;font-size:18px;letter-spacing:0;line-height:1.25}
.kind:hover{border-color:var(--line);transform:translateY(-3px)}

/* ============ THEMES: skyline + indicator ============ */
.divider-band{padding-block:clamp(10px,2vw,20px)}
.skyline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:clamp(4px,1vw,12px);align-items:end;height:clamp(300px,38vw,420px);max-width:900px;margin:clamp(40px,5vw,60px) auto 0;padding-top:28px}
.step{--h:calc(42% + var(--i) * 8.28%);height:var(--h);position:relative;display:flex;flex-direction:column;padding:0;border:0;background:none;cursor:pointer;color:var(--ink)}
.step .cap{display:block;width:100%;height:16px;flex:none;overflow:visible}
.step .cap-f{fill:var(--ground-3);transition:fill .3s}
.step .cap-s{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke}
.shaft{flex:1;position:relative;border:1px solid var(--line);border-top:0;border-bottom:0;background:repeating-linear-gradient(90deg,transparent 0 6px,var(--line-2) 6px 7px),linear-gradient(180deg,var(--ground-3),var(--ground) 92%);display:flex;justify-content:center;transition:background .3s}
.step-l{writing-mode:vertical-rl;font-family:var(--f-cjk);font-weight:700;font-size:clamp(14px,1.7vw,18px);letter-spacing:.28em;margin-top:14px;line-height:1;background:var(--ground-3);padding:6px 3px;transition:background .3s,color .3s}
:root[lang="en"] .step-l{font-family:var(--f-label);font-weight:400;font-size:clamp(10.5px,1.2vw,12.5px);letter-spacing:.12em;text-transform:uppercase}
.step-n{position:absolute;top:-26px;left:0;right:0;text-align:center;font-family:var(--f-display);color:var(--gold);font-size:14px;line-height:1}
.step:hover .shaft{background:repeating-linear-gradient(90deg,transparent 0 6px,var(--line) 6px 7px),linear-gradient(180deg,color-mix(in srgb,var(--gold) 16%,var(--ground-3)),var(--ground) 92%)}
.step.on .cap-f{fill:var(--gold)}
.step.on .shaft{background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(0,0,0,.12) 6px 7px),linear-gradient(180deg,var(--gold),var(--gold-lo));border-color:var(--gold)}
.step.on .step-l{background:transparent;color:var(--on-gold)}
.plinth{max-width:900px;margin:0 auto;height:14px;border-top:2px solid var(--gold);border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 10px)}
.chain{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:18px auto 0;max-width:900px;font-family:var(--f-cjk);color:var(--ink-2);font-size:15px;letter-spacing:.08em}
:root[lang="en"] .chain{font-family:var(--f-label);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.chain i{font-style:normal;color:var(--gold)}

.th-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(28px,4vw,56px);align-items:start;margin-top:clamp(56px,7vw,96px)}
@media (max-width:940px){.th-grid{grid-template-columns:1fr}}
.dial-col{position:sticky;top:100px}
@media (max-width:940px){.dial-col{position:static}}
.dial-cap{text-align:center;margin:0 0 6px}
#dial{width:100%;height:auto;display:block;overflow:visible}
.d-ray{stroke:var(--line-2);stroke-width:.8}
.d-arc{fill:none;stroke:var(--gold)}
.d-arc.thin{stroke:var(--line);stroke-width:1}
.d-tick{stroke:var(--line);stroke-width:1}
.d-tick.maj{stroke:var(--gold);stroke-width:1.6}
.d-med{cursor:pointer;outline:none}
.d-med circle{fill:var(--ground-2);stroke:var(--gold);stroke-width:1.2;transition:fill .35s}
.d-med .halo{fill:none;stroke:var(--line-2);stroke-width:1}
.d-med text{fill:var(--gold);font-family:var(--f-display);font-size:14px;text-anchor:middle;dominant-baseline:central;transition:fill .35s;pointer-events:none}
.d-med.on circle:not(.halo){fill:var(--gold)}
.d-med.on .halo{stroke:var(--gold)}
.d-med.on text{fill:var(--on-gold)}
.d-med:focus-visible circle:not(.halo){stroke-width:2.6}
#needle{transform-origin:220px 236px;transform-box:view-box;transition:transform .95s cubic-bezier(.34,1.5,.5,1)}
.d-needle{fill:var(--gold)}
.d-needle-l{stroke:var(--ground);stroke-width:1}
.d-hub{fill:var(--gold-lo);stroke:var(--gold);stroke-width:1}
.d-hub2{fill:var(--gold)}
.d-plate{fill:var(--ground-2);stroke:var(--gold);stroke-width:1}
.d-plate-t{fill:var(--gold);font-family:var(--f-label);font-size:11.5px;letter-spacing:3px;text-anchor:middle}
.th-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:20px}
.th-btn{background:none;border:1px solid var(--line-2);padding:9px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:1px;transition:background .25s,border-color .25s;line-height:1.35}
.th-btn b{font-family:var(--f-display);font-weight:400;color:var(--gold);font-size:15px}
.th-btn span{font-family:var(--f-cjk);font-size:13.5px;letter-spacing:.08em;color:var(--ink-2)}
:root[lang="en"] .th-btn span{font-family:var(--f-label);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em}
.th-btn:hover{border-color:var(--gold)}
.th-btn[aria-selected="true"]{background:var(--gold);border-color:var(--gold)}
.th-btn[aria-selected="true"] b,.th-btn[aria-selected="true"] span{color:var(--on-gold)}
.th-panel{background:var(--ground-2);border:1px solid var(--line);padding:clamp(28px,4vw,50px);overflow:hidden;min-height:540px}
.th-ghost{position:absolute;top:-6px;right:22px;font-family:var(--f-display);font-size:clamp(110px,13vw,176px);line-height:1;color:var(--line-2);pointer-events:none;user-select:none}
.th-body{position:relative}
.th-k{margin:0}
.th-t{font-family:var(--f-cjk);font-weight:700;font-size:clamp(26px,3vw,36px);letter-spacing:.1em;margin:4px 0 0;line-height:1.3;text-wrap:balance;max-width:14em}
:root[lang="en"] .th-t{font-family:var(--f-display);font-weight:400;letter-spacing:.02em;font-size:clamp(30px,3.4vw,42px);line-height:1.12}
.th-g{color:var(--gold);font-family:var(--f-display);letter-spacing:.12em;margin:8px 0 0;line-height:1.4}
.th-g.cjk{font-family:var(--f-cjk);letter-spacing:.3em;font-size:15px}
.th-h{font-family:var(--f-label);font-weight:400;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin:30px 0 14px;display:flex;align-items:center;gap:14px}
:root:not([lang="en"]) .th-h{font-family:var(--f-cjk);font-size:13px;text-transform:none}
.th-h::after{content:"";flex:1;height:1px;background:var(--line-2)}
.th-q{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.th-q li{position:relative;padding-left:26px;text-wrap:pretty}
.th-q li::before{content:"";position:absolute;left:4px;top:.78em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
:root[lang="en"] .th-q li::before{top:.6em}
.th-tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.th-tags li{background:color-mix(in srgb,var(--gold) 13%,transparent);color:var(--ink);padding:3px 16px;font-size:.88em;clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}
.th-nav{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:18px;border-top:1px solid var(--line-2)}
.th-nav button{background:none;border:0;cursor:pointer;color:var(--gold);font-family:var(--f-label);letter-spacing:.2em;font-size:12px;text-transform:uppercase;padding:6px 0}
:root:not([lang="en"]) .th-nav button{font-family:var(--f-cjk);font-size:14px;text-transform:none}
.th-nav button:hover{color:var(--gold-hi)}

/* ============ STANCE ============ */
.stance{position:relative;background:var(--ground-2);border-block:1px solid var(--line);padding-block:clamp(84px,11vw,150px);overflow:hidden;--cut:var(--ground-2);
  --fan:radial-gradient(circle at 50% 100%,transparent 0 5px,var(--line-2) 5px 6px,transparent 6px 11px,var(--line-2) 11px 12px,transparent 12px 17px,var(--line-2) 17px 18px,transparent 18px 22px,var(--line) 22px 23px,transparent 23px)}
.stance::before{content:"";position:absolute;inset:0;background:var(--fan) 0 0/46px 23px,var(--fan) 23px 11.5px/46px 23px;pointer-events:none;-webkit-mask:linear-gradient(90deg,#000,transparent 28%,transparent 72%,#000);mask:linear-gradient(90deg,#000,transparent 28%,transparent 72%,#000)}
.stance::after{content:"";position:absolute;inset:10px 0;border-block:1px solid var(--line-2);pointer-events:none}
.stance .inner{position:relative;max-width:900px;margin-inline:auto;text-align:center}
.motto{font-family:var(--f-display);font-size:clamp(14px,2vw,22px);letter-spacing:clamp(.14em,1.2vw,.4em);color:var(--gold);margin:0;padding-left:.2em}
.motto-tr{margin:6px 0 26px;color:var(--ink-3);font-size:.92em;letter-spacing:.24em}
.stance blockquote{margin:34px 0 0}
.q1{font-family:var(--f-cjk);font-weight:700;font-size:clamp(20px,2.5vw,30px);line-height:1.8;letter-spacing:.05em;margin:0;text-wrap:balance}
:root[lang="en"] .q1{font-family:var(--f-body);font-weight:500;font-size:clamp(25px,3vw,36px);line-height:1.32;letter-spacing:0}
.q2{color:var(--ink-2);margin:24px auto 0;max-width:40em;text-wrap:pretty}
.stance cite{display:block;margin-top:28px;font-style:normal;font-family:var(--f-label);font-size:12px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
:root:not([lang="en"]) .stance cite{font-family:var(--f-cjk);font-size:13.5px}

/* ============ SESSIONS: ticket ============ */
.ticket{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 196px;max-width:1020px;margin-inline:auto;filter:drop-shadow(0 34px 40px rgba(0,0,0,.28))}
.tk-main{position:relative;background:var(--ground-2);border:1px solid var(--line);border-right:0;padding:clamp(30px,4.4vw,56px)}
.tk-main::before{content:"";position:absolute;inset:8px 0 8px 8px;border:1px solid var(--line-2);border-right:0;pointer-events:none}
.tk-top{display:flex;align-items:baseline;gap:6px 20px;flex-wrap:wrap}
.tk-no{font-family:var(--f-display);font-size:clamp(46px,6vw,74px);line-height:1;color:var(--gold)}
.tk-no small{font-size:.42em;letter-spacing:.1em;margin-right:.2em}
.tk-kicker{margin:0}
.tk-title{font-family:var(--f-display);font-weight:400;font-size:clamp(31px,4.5vw,56px);line-height:1.08;margin:20px 0 0;letter-spacing:.01em;text-wrap:balance;color:var(--ink)}
.tk-sub{font-family:var(--f-cjk);font-size:clamp(18px,2vw,22px);color:var(--gold);margin:14px 0 0;letter-spacing:.06em;line-height:1.6}
:root[lang="en"] .tk-sub{font-family:var(--f-body);font-style:italic;font-size:clamp(21px,2.2vw,25px);letter-spacing:0}
.tk-blurb{color:var(--ink-2);margin:18px 0 0;max-width:36em;text-wrap:pretty}
.tk-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:32px 0 0;border-top:1px solid var(--line)}
.tk-meta div{padding:14px 0 0}
.tk-meta div+div{padding-left:18px;border-left:1px solid var(--line-2)}
.tk-meta div:not(:last-child){padding-right:12px}
.tk-meta dt{font-family:var(--f-label);font-size:11px;text-transform:uppercase;letter-spacing:.26em;color:var(--gold)}
:root:not([lang="en"]) .tk-meta dt{font-family:var(--f-cjk);font-size:12.5px;letter-spacing:.2em;text-transform:none}
.tk-meta dd{margin:4px 0 0;font-family:var(--f-cjk);font-size:17px;letter-spacing:.06em}
:root[lang="en"] .tk-meta dd{font-family:var(--f-body);font-size:21px;font-weight:600;letter-spacing:0}
.tk-stub{position:relative;background:var(--gold);color:var(--on-gold);display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;padding:30px 16px;text-align:center;--emb-fill:var(--gold)}
.tk-stub::before{content:"";position:absolute;left:-1px;top:16px;bottom:16px;border-left:2px dashed var(--ground-2)}
.notch{position:absolute;width:24px;height:24px;border-radius:50%;background:var(--ground)}
.notch.n1{top:-12px;left:-12px}
.notch.n2{bottom:-12px;left:-12px}
.tk-admit{font-family:var(--f-label);font-weight:600;letter-spacing:.36em;font-size:12px;padding-left:.36em}
.tk-stub .seal{width:104px;color:var(--on-gold)}
.tk-serial{font-family:var(--f-display);font-size:22px;letter-spacing:.14em;line-height:1.2}
.tk-stub-l{font-family:var(--f-cjk);font-weight:700;letter-spacing:.4em;font-size:14px;border-top:1px solid;padding-top:8px;padding-left:.4em}
:root[lang="en"] .tk-stub-l{font-family:var(--f-label);font-weight:600;font-size:11px;letter-spacing:.3em;text-transform:uppercase}
@media (max-width:760px){
  .ticket{grid-template-columns:1fr}
  .tk-main{border-right:1px solid var(--line);border-bottom:0}
  .tk-main::before{inset:8px 8px 0 8px;border-right:1px solid var(--line-2);border-bottom:0}
  .tk-stub{flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:22px 24px}
  .tk-stub::before{left:16px;right:16px;top:-1px;bottom:auto;border-left:0;border-top:2px dashed var(--ground-2)}
  .notch.n2{top:-12px;bottom:auto;left:auto;right:-12px}
  .tk-stub .seal{width:64px}
  .tk-meta{grid-template-columns:1fr}
  .tk-meta div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-2);margin-top:12px}
}
.tk-next{text-align:center;color:var(--ink-3);font-size:.92em;margin:30px auto 0;max-width:40em}

/* ============ BENCH ============ */
.bench{margin-top:clamp(72px,9vw,120px);display:grid;gap:24px}
.bench-head{text-align:center}
.bench-head .lede{margin-top:14px}
.crit-label{margin:6px 0 0}
.crit{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:1040px;margin-inline:auto}
.crit button{display:flex;align-items:center;gap:12px;background:var(--ground-2);border:1px solid var(--line-2);padding:10px 16px 10px 12px;cursor:pointer;text-align:left;transition:border-color .25s,background .25s;line-height:1.3}
.crit button:hover{border-color:var(--line)}
.crit .sw{width:32px;height:16px;border:1px solid var(--gold);position:relative;flex:none;transition:background .25s}
.crit .sw::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;background:var(--ink-3);transition:left .25s,background .25s}
.crit button[aria-pressed="true"]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 7%,var(--ground-2))}
.crit button[aria-pressed="true"] .sw{background:color-mix(in srgb,var(--gold) 22%,transparent)}
.crit button[aria-pressed="true"] .sw::after{left:18px;background:var(--gold)}
.crit b{display:block;font-family:var(--f-cjk);font-weight:700;font-size:15px;letter-spacing:.06em}
:root[lang="en"] .crit b{font-family:var(--f-body);font-size:19px;letter-spacing:0}
.crit small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:2px}
:root[lang="en"] .crit small{font-size:15px}
.bench-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--ground-2);max-width:900px;width:100%;margin-inline:auto}
.bench-table{border-collapse:collapse;width:100%;min-width:600px}
.bench-table th,.bench-table td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--line-2)}
.bench-table tr:last-child>*{border-bottom:0}
.bench-table thead th{vertical-align:bottom;font-weight:400;border-bottom:1px solid var(--line)}
.bench-table thead th.cr span{writing-mode:vertical-rl;font-family:var(--f-cjk);font-size:13.5px;letter-spacing:.12em;color:var(--ink-3);display:inline-block;line-height:1.2;transition:color .25s}
:root[lang="en"] .bench-table thead th.cr span{font-family:var(--f-label);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.bench-table thead th.cr.on span{color:var(--gold)}
.bench-table thead th.env-h,.bench-table thead th.vh{font-family:var(--f-label);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding-left:18px}
.bench-table thead th.vh{text-align:center;padding-left:8px}
:root:not([lang="en"]) .bench-table thead th.env-h,:root:not([lang="en"]) .bench-table thead th.vh{font-family:var(--f-cjk);font-size:12.5px;text-transform:none}
.bench-table td.on,.bench-table th.cr.on{background:color-mix(in srgb,var(--gold) 8%,transparent)}
.bench-table tbody th{text-align:left;font-family:var(--f-cjk);font-weight:400;white-space:nowrap;padding-left:18px;font-size:15px}
:root[lang="en"] .bench-table tbody th{font-family:var(--f-body);font-weight:600;font-size:18px}
.bench-table tr.ours>*{border-top:1px double var(--line);border-top-width:3px}
.bench-table tr.ours th{color:var(--gold)}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid var(--gold);vertical-align:middle}
.dot.f{background:var(--gold)}
.dot.p{background:linear-gradient(90deg,var(--gold) 50%,transparent 50%)}
.dot.n{border-color:var(--ink-3)}
.bench-table td:not(.on) .dot{opacity:.32}
.vd{font-family:var(--f-label);font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:4px 10px;display:inline-block;white-space:nowrap;line-height:1.4}
:root:not([lang="en"]) .vd{font-family:var(--f-cjk);font-size:13px;letter-spacing:.2em;text-transform:none}
.vd.yes{background:var(--gold);color:var(--on-gold)}
.vd.mid{border:1px solid var(--gold);color:var(--gold)}
.vd.no{color:var(--ink-3);border:1px dashed var(--line)}
.bench-verdict{text-align:center;max-width:36em;margin:0 auto;font-family:var(--f-cjk);font-size:clamp(17px,1.8vw,20px);line-height:1.8;min-height:3.6em;text-wrap:pretty}
:root[lang="en"] .bench-verdict{font-family:var(--f-body);font-size:clamp(21px,2vw,24px);line-height:1.45}
.bench-verdict span{display:block}
.bench-verdict span+span{color:var(--gold);margin-top:6px}
.bench-legend{display:flex;justify-content:center;gap:8px 22px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-3);margin:0}
:root[lang="en"] .bench-legend{font-size:16px}
.bench-legend span{display:inline-flex;align-items:center;gap:8px}
.bench-note{text-align:center;font-size:13.5px;color:var(--ink-3);margin:0 auto;max-width:42em}
:root[lang="en"] .bench-note{font-size:16px}
@media (max-width:620px){
  .crit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .crit button{padding:10px 10px 10px 8px;gap:8px}
  .crit .sw{width:26px}
  .crit button[aria-pressed="true"] .sw::after{left:12px}
  .bench-table{min-width:0}
  .bench-table th,.bench-table td{padding:8px 3px}
  .bench-table tbody th{white-space:normal;font-size:13px;padding-left:10px;line-height:1.35}
  :root[lang="en"] .bench-table tbody th{font-size:15px}
  .bench-table thead th.cr span{font-size:12px;letter-spacing:.04em}
  .bench-table thead th.env-h{padding-left:10px}
  .dot{width:11px;height:11px}
  .vd{padding:3px 5px;letter-spacing:.04em}
  :root:not([lang="en"]) .vd{font-size:12px;letter-spacing:.08em}
}

/* ============ ACTIVITIES ============ */
.acts{margin-top:clamp(72px,9vw,120px)}
.act-list{list-style:none;padding:0;margin:30px auto 0;max-width:960px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px}
.act-list li{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line-2)}
.act-list li::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:none}
@media (max-width:700px){.act-list{grid-template-columns:1fr}}

/* ============ JOIN ============ */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:44px}
@media (max-width:860px){.pillars{grid-template-columns:1fr}}
.pillar{position:relative;background:var(--ground-2);border:1px solid var(--line-2);padding:40px 28px 32px;text-align:center}
.pillar::before{content:"";position:absolute;top:0;left:0;right:0;height:11px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 9px)}
.pillar svg{width:54px;height:54px;color:var(--gold);margin:6px auto 14px;display:block;fill:none;stroke:currentColor;stroke-width:1.3}
.pillar h3{font-family:var(--f-cjk);font-weight:700;font-size:21px;letter-spacing:.2em;margin:0}
:root[lang="en"] .pillar h3{font-family:var(--f-display);font-weight:400;font-size:26px;letter-spacing:.06em}
.pillar p{color:var(--ink-2);margin:12px 0 0;font-size:.95em;text-wrap:pretty}
.welcome{margin-top:clamp(56px,7vw,90px)}
.marquee{margin-top:18px;border-block:1px solid var(--line);background:var(--ground-2);overflow:hidden;padding-block:18px;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line-2)}
.marquee::before{top:4px}.marquee::after{bottom:4px}
.mq-track{display:flex;width:max-content;animation:mq 70s linear infinite}
.mq-track span{font-family:var(--f-cjk);font-size:clamp(18px,2vw,23px);letter-spacing:.12em;padding-inline:22px;display:flex;align-items:center;gap:44px;white-space:nowrap}
.mq-track span::after{content:"";width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
:root[lang="en"] .mq-track span{font-family:var(--f-display);font-size:clamp(22px,2.4vw,30px);letter-spacing:.04em}
.marquee:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.org{margin-top:clamp(64px,8vw,104px)}
.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:30px auto 0;max-width:980px;border:1px solid var(--line-2)}
.role{padding:26px 24px;text-align:center}
.role+.role{border-left:1px solid var(--line-2)}
.role b{display:block;font-family:var(--f-cjk);font-weight:700;font-size:20px;letter-spacing:.2em}
:root[lang="en"] .role b{font-family:var(--f-body);font-weight:600;font-size:23px;letter-spacing:.02em}
.role i{display:block;font-style:normal;font-family:var(--f-display);color:var(--gold);letter-spacing:.14em;font-size:14px;margin-top:2px}
.role i.cjk{font-family:var(--f-cjk);letter-spacing:.3em;font-size:13px}
.role p{margin:10px 0 0;color:var(--ink-2);font-size:.92em;text-wrap:pretty}
@media (max-width:760px){.roles{grid-template-columns:1fr}.role+.role{border-left:0;border-top:1px solid var(--line-2)}}

/* ============ CHARTER ============ */
.doc{max-width:1060px;margin-inline:auto;background:var(--ground-2);border:1px solid var(--line);padding:clamp(28px,5vw,66px)}
.doc-head{text-align:center;padding-bottom:28px;margin-bottom:36px;border-bottom:1px solid var(--line);position:relative}
.doc-head::after{content:"";position:absolute;left:0;right:0;bottom:-6px;border-bottom:1px solid var(--line-2)}
.doc-title{font-family:var(--f-cjk);font-weight:700;font-size:clamp(20px,2.4vw,28px);letter-spacing:.12em;margin:0;text-wrap:balance;line-height:1.5}
:root[lang="en"] .doc-title{font-family:var(--f-display);font-weight:400;letter-spacing:.02em;font-size:clamp(24px,2.8vw,34px);line-height:1.25}
.doc-cols{columns:2 330px;column-gap:60px;column-rule:1px solid var(--line-2)}
.art{break-inside:avoid;margin:0 0 28px}
.art h4{margin:0 0 8px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;font-weight:400;line-height:1.4}
.art .no{font-family:var(--f-cjk);color:var(--gold);font-weight:700;letter-spacing:.14em;font-size:15px}
:root[lang="en"] .art .no{font-family:var(--f-label);font-weight:600;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase}
.art .tt{font-family:var(--f-cjk);font-weight:700;font-size:17px;letter-spacing:.08em}
:root[lang="en"] .art .tt{font-family:var(--f-body);font-weight:600;font-size:22px;letter-spacing:0}
.art p{margin:0 0 8px;font-size:.95em;color:var(--ink-2);text-align:justify;hyphens:auto}
.art ol{margin:4px 0 10px;padding-left:2em;font-size:.93em;color:var(--ink-2)}
.art ol li{padding-left:4px}
.art ol li::marker{color:var(--gold);font-family:var(--f-display)}

/* ============ FOOTER ============ */
.foot{position:relative;border-top:1px solid var(--line);padding-block:70px 44px;text-align:center}
.foot::before{content:"";position:absolute;top:0;left:0;right:0;height:14px;background:linear-gradient(135deg,var(--line-2) 25%,transparent 25%) -7px 0/14px 14px,linear-gradient(225deg,var(--line-2) 25%,transparent 25%) -7px 0/14px 14px}
.foot .seal{width:112px;margin:0 auto}
.foot-name{font-family:var(--f-display);font-size:30px;letter-spacing:.16em;margin:18px 0 0;color:var(--gold);padding-left:.16em}
.foot-en{margin:6px 0 0;font-family:var(--f-label);font-weight:300;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2)}
.foot-loc{margin:4px 0 0;font-family:var(--f-cjk);letter-spacing:.3em;color:var(--ink-2);font-size:15px}
.foot-motto{margin:22px 0 0;font-family:var(--f-display);letter-spacing:.34em;color:var(--gold);font-size:14px}
.foot-links{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 26px;margin:28px 0 0;padding:0;list-style:none}
.foot-links a{text-decoration:none;color:var(--ink-2);font-family:var(--f-cjk);font-size:14px;letter-spacing:.14em}
:root[lang="en"] .foot-links a{font-family:var(--f-label);text-transform:uppercase;font-size:12px;letter-spacing:.2em}
.foot-links a:hover{color:var(--gold)}
.foot-meta{margin:30px 0 0;font-family:var(--f-label);font-size:11.5px;letter-spacing:.22em;color:var(--ink-3);text-transform:uppercase}
:root:not([lang="en"]) .foot-meta{font-family:var(--f-cjk);text-transform:none;font-size:12.5px}

/* ============ MOTION ============ */
.swap{animation:swap .5s ease both}
@keyframes swap{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion: no-preference){
  .rays{animation:raysIn 1.7s cubic-bezier(.2,.7,.2,1) both}
  .rays svg{animation:spin 360s linear infinite}
  .hero .seal{animation:sealIn 1.5s cubic-bezier(.2,.7,.2,1) .1s both,sheen 2.6s ease-in-out 1.5s both}
  .rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--d,0s)}
  .wm{animation:rise .9s cubic-bezier(.2,.7,.2,1) .3s both,sheen 2.4s ease-in-out 1.5s both}
  .wm+.wm-sep+.wm{animation-delay:.45s,1.5s}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .mq-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center;row-gap:10px}
  .mq-track span:nth-child(n+13){display:none}
  #needle{transition:none}
  .swap{animation:none}
}
@keyframes raysIn{from{opacity:0;transform:scale(.5) rotate(-14deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sealIn{from{opacity:0;transform:scale(.9) rotate(-8deg)}}
@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@keyframes sheen{from{background-position:110% 0,0 0}to{background-position:-10% 0,0 0}}


/* ============ EDITOR (shown only to people who can edit this page) ============ */
.ed-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;display:inline-flex;align-items:center;gap:8px;padding:11px 28px;border:0;cursor:pointer;background:var(--gold);color:var(--on-gold);font-family:var(--f-label);font-size:13px;letter-spacing:.2em;text-transform:uppercase;line-height:1.4;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}
:root:not([lang="en"]) .ed-fab{font-family:var(--f-cjk);font-size:14px;letter-spacing:.16em;text-transform:none}
.ed-fab:hover{filter:brightness(1.1)}
.ed-fab svg{width:15px;height:15px;flex:none}
.ed-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--nav-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--gold);padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-family:var(--f-cjk);font-size:14px;line-height:1.5;color:var(--ink)}
:root[lang="en"] .ed-bar{font-family:var(--f-body);font-size:17px}
.ed-bar b{font-family:var(--f-label);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:12px}
:root:not([lang="en"]) .ed-bar b{font-family:var(--f-cjk);text-transform:none;font-size:14px;letter-spacing:.16em}
.ed-msg{flex:1 1 260px;color:var(--ink-2)}
.ed-msg.err{color:var(--err)}
.ed-b{background:none;border:1px solid var(--line);color:var(--ink);padding:7px 14px;cursor:pointer;font:inherit;font-size:13.5px;letter-spacing:.04em;line-height:1.4}
.ed-b:hover{border-color:var(--gold)}
.ed-b.pri{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.ed-b:disabled{opacity:.5;cursor:default}
html.editing body{padding-bottom:140px}
html.editing [data-p]{outline:1px dashed color-mix(in srgb,var(--gold) 60%,transparent);outline-offset:3px;cursor:text}
html.editing [data-p]:hover{outline-color:var(--gold)}
html.editing [data-p]:focus{outline:1.5px solid var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
html.editing .mq-track{animation-play-state:paused}
.ed-modal{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px}
.ed-card{width:min(920px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;gap:12px;background:var(--ground-2);border:1px solid var(--gold);padding:22px;font-family:var(--f-cjk)}
:root[lang="en"] .ed-card{font-family:var(--f-body)}
.ed-card h3{margin:0;letter-spacing:.1em;color:var(--gold);font-size:18px}
.ed-card p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.6}
:root[lang="en"] .ed-card p{font-size:16px}
.ed-card textarea{flex:1;min-height:50vh;width:100%;resize:vertical;background:var(--ground);color:var(--ink);border:1px solid var(--line);padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.ed-card .ed-err{color:var(--err)}
.ed-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}

