/* Information-first TOWERS shell. Shared with existing SPA, no build step. */
:root { --muted:#706859; --gold:#795906; --button-bg:#80600e; --button-text:#fff; }
body { font-size:16px; -webkit-text-size-adjust:100%; }
button,.btn { min-height:44px; background:var(--button-bg); color:var(--button-text); }
a,button,input,select { -webkit-tap-highlight-color:transparent; }
.sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.skip-link { position:fixed;top:-100px;left:16px;padding:12px;background:var(--surface-1);z-index:100; }
.skip-link:focus { top:12px; }
header.topbar { gap:16px; padding:12px max(20px,calc((100vw - 1140px)/2)); flex-wrap:wrap; }
header.topbar nav { gap:4px; flex:1; }
header.topbar .spacer { display:none; }
header.topbar nav a { display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:6px;font-size:14px; }
header.topbar nav a[aria-current="page"] { background:rgba(255,255,255,.12);color:#f2d875; }
.mode-switch { display:none; }
#nav-ameblo { display:none; }
.language-picker { width:auto; }
.language-picker select { width:105px;min-height:44px;margin:0;background:transparent;color:#eee4c9;border-color:#655b42;font-size:14px; }
.language-picker option { color:#17130b;background:#fff; }
.hero,html.initial-home .hero[hidden] { min-height:0;display:block;background:var(--surface-2);border-bottom:1px solid var(--border);overflow:visible; }
.hero[hidden] { display:none; }
.hero .inner { max-width:1180px;width:100%;margin:auto;padding:40px 20px 28px; }
.discovery-intro { display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;margin-bottom:28px; }
.hero .eyebrow { color:var(--gold);font-size:12px;letter-spacing:.03em;line-height:1.6;margin-bottom:14px; }
.hero h1 { color:var(--text-primary);font-size:clamp(27px,3.2vw,40px);letter-spacing:-.04em;max-width:none;line-height:1.35; }
.hero h1 .g { color:var(--text-primary); }
.hero p { color:var(--text-secondary);font-size:15px;line-height:1.8;max-width:none;margin:0; }
#discovery { background:var(--surface-1);border:1px solid var(--baseline);border-radius:16px;padding:24px;box-shadow:0 6px 24px rgba(23,19,11,.025); }
.discovery-fields { display:grid;grid-template-columns:minmax(200px,1.7fr) minmax(180px,1fr) auto;gap:14px;align-items:end; }
.discovery-fields label { display:block;font-size:14px;font-weight:650;margin-bottom:6px; }
.discovery-fields input,.discovery-fields select { margin:0;min-height:48px;font-size:16px;background:var(--surface-1);border-color:var(--baseline); }
.discovery-fields button { min-height:48px;padding:10px 24px;display:flex;justify-content:center;gap:22px;align-items:center; }
.discovery-support { display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:12px; }
.discovery-support small { font-size:12px;line-height:1.7;color:var(--text-secondary); }
button.text-button { background:none;color:var(--gold);padding:8px 0;border:0;min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:3px; }
.discovery-support button { flex-shrink:0; }
.discovery-status:not(:empty) { margin-top:20px;padding:14px 16px;background:var(--surface-2);border-left:3px solid var(--gold);font-size:14px;line-height:1.7; }
.discovery-status.error { color:var(--text-primary); }
.discovery-status.loading { opacity:.8; }
.discovery-results { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px; }
.discovery-card { margin-top:16px;border:1px solid var(--baseline);border-radius:12px;overflow:hidden;display:flex;flex-direction:column; }
.discovery-card-heading { padding:20px 20px 14px;flex:1; }
.discovery-card small { color:var(--text-secondary);font-size:12px; }
.discovery-card h3 { font-size:17px;line-height:1.55;margin:8px 0;overflow-wrap:anywhere; }
.discovery-card h3 a { color:var(--text-primary);text-decoration:none; }
.discovery-card h3 a:hover { text-decoration:underline; }
.discovery-card p { font-size:13px; }
.discovery-card dl { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 20px 18px;gap:12px; }
.discovery-card dt { font-size:12px;color:var(--text-secondary);margin-bottom:4px; }
.discovery-card dd { margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere; }
.discovery-card-actions { padding:10px 16px;border-top:1px solid var(--border);display:flex;justify-content:space-between;gap:16px;background:var(--surface-2); }
.discovery-card-actions a { display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;gap:8px; }
#discovery-actions:not(:empty) { text-align:center;padding-top:18px; }
.discovery-shortcuts { display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;align-items:center; }
.discovery-shortcuts a,.discovery-shortcuts button { display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;color:var(--text-secondary);font-weight:550;text-decoration:none; }
.discovery-shortcuts a:hover,.discovery-shortcuts button:hover { color:var(--gold);text-decoration:underline; }
main { padding-top:28px; }
.kpis { margin-top:0; }
.kpi { border-left:0;box-shadow:none; }
.kpi .value { font-size:25px; }
.kpi .sub,.kpi .label,.notice { color:var(--text-secondary); }
.kpi .label { font-size:13px; }
.card h2 { font-size:18px; }
.rank-list li > a { display:flex;gap:10px;align-items:baseline;width:100%;padding:6px 0;color:var(--text-primary); }
.rank-list li > a .name { min-width:0; }
.rank-list .val { flex-shrink:0; }
.bars li > a { display:block;color:var(--text-primary);padding:6px 0; }
.rank-list a:hover .name,.bars a:hover .name { text-decoration:underline; }
a.area { color:var(--text-primary); }
.home-load-error button { margin-top:14px; }
.research-links { list-style:none;padding:0; }
.research-links li + li { border-top:1px solid var(--border); }
.research-links a { display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:16px;padding:18px 0;align-items:center; }
.research-links small { color:var(--text-secondary);font-size:12px; }
.research-links strong { font-size:15px;color:var(--text-primary); }
.community-welcome { max-width:740px;margin:24px auto; }
.community-welcome h1 { font-size:28px;line-height:1.5; }
.community-welcome > p { line-height:1.9; }
.community-entry { display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:24px 0; }
.community-entry a { min-height:44px;display:inline-flex;align-items:center; }
[hidden] { display:none!important; }
html.initial-home .hero[hidden] { display:block!important; }
@media(prefers-color-scheme:dark) {
  :root { --muted:#a7acb5;--gold:#e1c568;--button-bg:#dbc270;--button-text:#16130b; }
  .discovery-card,.discovery-fields input,.discovery-fields select,#discovery { border-color:#3b4149; }
}
@media(max-width:900px) {
  header.topbar { padding:8px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px; }
  header.topbar .logo { grid-column:1;grid-row:1; }
  .language-picker { grid-column:2;grid-row:1;justify-self:end; }
  #login-btn { grid-column:3;grid-row:1; }
  header.topbar nav { grid-column:1/-1;grid-row:2;flex-wrap:nowrap;overflow:auto;width:100%;min-width:0;white-space:nowrap;scrollbar-width:none; }
  header.topbar .spacer,#header-app-cta { display:none; }
  .discovery-intro { gap:24px; }
}
@media(max-width:640px) {
  header.topbar { padding:8px 16px;position:relative; }
  header.topbar nav a { padding:0 9px; }
  .hero .inner { padding:24px 16px 20px; }
  .discovery-intro { grid-template-columns:1fr;gap:12px;margin-bottom:20px; }
  .hero .eyebrow { margin-bottom:10px; }
  .hero h1 { font-size:28px; }
  .hero p { font-size:14px; }
  #discovery { padding:16px;border-radius:12px; }
  .discovery-fields { grid-template-columns:minmax(0,1fr) auto;gap:12px; }
  .discovery-name { grid-column:1/-1; }
  .discovery-fields button { padding:10px 20px;gap:14px; }
  .discovery-support { align-items:flex-start;gap:8px; }
  .discovery-support small { font-size:12px; }
  .discovery-support button { font-size:12px; }
  .discovery-results { grid-template-columns:1fr;gap:0; }
  .discovery-card-heading { padding:16px 14px 12px; }
  .discovery-card dl { padding:0 14px 14px;gap:8px; }
  .discovery-card-actions { padding:8px 12px;gap:8px; }
  .discovery-shortcuts { gap:4px 16px; }
  main { padding:20px 16px 40px; }
  .kpis { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  .kpi { padding:14px;min-width:0; }
  .kpi .value { font-size:21px;overflow-wrap:anywhere; }
  .rank-list li > a { flex-wrap:wrap; }
  .rank-list .name { flex-basis:65%; }
  .rank-list .val { margin-left:auto; }
  .research-links a { grid-template-columns:1fr auto;gap:8px; }
  .research-links small { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; }
}
