/* NeoAkan, rounded modern layer. Loaded after style.css on every page.
   Light or dark follows the device. Soft cards, pill controls, a glass header. */
@font-face{font-family:"Inter";src:url(/fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/Inter-SemiBold.woff2) format("woff2");font-weight:500 600;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/Inter-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/Inter-ExtraBold.woff2) format("woff2");font-weight:800 900;font-display:swap}
:root{
  --bg:#f5f5f7;--fg:#1d1d1f;--mute:rgba(60,60,67,.64);--line:rgba(60,60,67,.14);--panel:#fff;--panel2:#ececf0;
  --r:20px;--r-sm:12px;--pill:999px;--shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06);
  --font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --head:60px;
}
@media (prefers-color-scheme:dark){:root{--bg:#000;--fg:#f5f5f7;--mute:rgba(235,235,245,.6);--line:rgba(84,84,88,.5);--panel:#1c1c1e;--panel2:#2c2c2e;--shadow:none}}
html{color-scheme:light dark;background:var(--bg)}
body{font-family:var(--font);background:var(--bg);color:var(--fg);letter-spacing:-.011em}
h1,h2,h3,h4{letter-spacing:-.03em}
::selection{background:#f2c318;color:#000}

/* header: glass, pill links */
.site-head{background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);gap:16px}
.site-head::after{display:none}
.wordmark{gap:10px;font-weight:700;letter-spacing:-.02em}
.mark{width:26px;height:26px}
.site-nav{gap:4px;align-items:center}
.site-nav a{padding:7px 14px;border-radius:var(--pill);color:var(--mute);background-image:none!important;transition:background .2s,color .2s;line-height:1.2}
.site-nav a:hover{color:var(--fg);background:var(--panel2)}
.site-nav a[aria-current="page"]{color:var(--fg);background:var(--panel2)}
.lang{border:1px solid var(--line)!important;border-radius:var(--pill)!important;padding:5px 12px!important;margin-left:6px;font-size:.8rem!important;color:var(--fg)!important;background:none!important}
.menu-btn{display:none}
@media(max-width:760px){
  .site-head{padding:0 16px}
  .menu-btn{display:block;appearance:none;border:0;background:none;width:44px;height:44px;margin-right:-8px;position:relative;cursor:pointer;color:var(--fg)}
  .menu-btn i,.menu-btn i::before,.menu-btn i::after{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:currentColor;content:"";transition:transform .25s,background .2s}
  .menu-btn i{top:21px}.menu-btn i::before{left:0;right:0;top:-7px}.menu-btn i::after{left:0;right:0;top:7px}
  body.menu-open .menu-btn i{background:transparent}body.menu-open .menu-btn i::before{transform:translateY(7px) rotate(45deg)}body.menu-open .menu-btn i::after{transform:translateY(-7px) rotate(-45deg)}
  .site-nav{position:fixed;left:0;right:0;top:var(--head);flex-direction:column;align-items:stretch;gap:4px;padding:12px 16px 20px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,.12);
    opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .2s,transform .2s}
  body.menu-open .site-nav{opacity:1;transform:none;pointer-events:auto}
  .site-nav a{font-size:1.15rem;padding:14px 16px;border-radius:14px}
  .site-nav .lang{align-self:flex-start;margin:10px 0 0 8px;font-size:.95rem!important;padding:8px 18px!important}
}

/* buttons */
.btn,.btn-line,.actions a{border-radius:var(--pill)!important}
.btn{background:var(--fg)!important;color:var(--bg)!important;border-color:var(--fg)!important}
.btn-line{border:1px solid var(--line)!important;color:var(--fg)!important;background:var(--panel)!important}
.seg{border:0!important;background:var(--panel2);border-radius:var(--pill);padding:3px}
.seg button{border-radius:var(--pill)!important;border:0!important}
.seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}

/* cards and surfaces */
.doors a,.arch,.chart-half,.stage,.bk-card,.col-card,.name-table,.news,.copy,.figure img,.entry .stage,.placeholder{border-radius:var(--r)!important}
.doors a,.arch,.bk-card,.name-table,.news{background:var(--panel);border:1px solid var(--line)!important;box-shadow:var(--shadow)}
.doors{gap:14px!important;border:0!important}
.doors li{border:0!important}
.doors a{padding:clamp(20px,3vw,28px)!important;height:100%}
.arch-list{gap:14px!important;border:0!important}
.arch{padding:24px!important}
.arch.featured{background:var(--fg)!important;color:var(--bg)!important}
.arch.featured .arch-role,.arch.featured .arch-tag,.arch.featured .arch-body{color:inherit;opacity:.8}
.chart{gap:12px!important}
.chart-half{background:var(--panel);border:1px solid var(--line)!important;overflow:hidden;box-shadow:var(--shadow)}
.ch-row,.ch-head span,.cell,.ch-label{border-color:var(--line)!important}
.cell.empty,.bk-cell.empty{background:repeating-linear-gradient(135deg,transparent 0 6px,var(--line) 6px 7px)}
.cell.lit,.bk-cell.lit{background:#f2c318!important;color:#000!important}
.bk-var .bk-cell{color:var(--mute)}
.day-row{border-radius:var(--r-sm)}
.day-row.on .dr-day,.day-row:hover .dr-day{color:var(--mute)!important}
.doors a:hover .doors-note,.rules li:hover span{color:var(--mute)!important}
.figure img{display:block}
.stage{border:1px solid var(--line)!important}
.section{border-top:1px solid var(--line)!important}
.kr-section{border-top:1px solid var(--line)!important}
.quote{border-radius:var(--r)}
input,select,textarea{border-radius:var(--r-sm)}
.news{border-radius:var(--r)!important}
.news input{border-radius:var(--pill)!important}
.news .btn{border-radius:var(--pill)!important}
.flags img,.flag{border-radius:6px}
.index a,.dir-row,.directory li{border-radius:var(--r-sm)}

/* footer: the same on every page */
.site-foot{margin-top:clamp(64px,8vw,120px);border-top:1px solid var(--line);padding:clamp(40px,6vw,64px) var(--pad,24px) 28px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;background:var(--panel)}
.site-foot h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--mute);margin-bottom:12px;font-weight:600}
.site-foot ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.site-foot a{text-decoration:none;color:var(--fg)}
.site-foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-brand p{color:var(--mute);margin-top:12px;max-width:44ch}
.foot-contact{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;color:var(--mute)}
.foot-base{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:18px;color:var(--mute);font-size:.85rem}
@media(max-width:760px){.site-foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}

/* tables and boxes: keep content inside the rounded shapes, with breathing room */
.tw{border-radius:var(--r);overflow:auto;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}
.tw table{background:none;border-radius:0}
.tw th,.tw td{padding:12px 16px}
.tw th:first-child,.tw td:first-child{padding-left:20px}
.tw th:last-child,.tw td:last-child{padding-right:20px}
.tw tr:last-child td{border-bottom:0}
.name-table{border-collapse:separate;border-spacing:0;overflow:hidden;width:100%}
.name-table th,.name-table td{padding:12px 18px!important}
.chart-half{padding:6px}
.bk-card{padding:20px!important;overflow:hidden}
.box,.today>div{padding:24px}
.cyc .ch{padding:22px 24px 14px}.cyc .cal{padding:16px 18px 22px}
.doors a,.arch{overflow:hidden}
.feed-empty,.news{padding:22px}
.day-row{padding-left:12px!important;padding-right:12px!important}
/* homepage: no chart on phones */
@media(max-width:760px){.hero-chart{display:none!important}}
/* Index logos: inverted */
.row-logo{filter:invert(1) brightness(.965);mix-blend-mode:multiply}
@media (prefers-color-scheme:dark){.row-logo{filter:none;mix-blend-mode:screen}}
