:root{
  --bg:#0c1015;
  --panel:#121820;
  --panel-2:#171f29;
  --panel-3:#1d2732;
  --line:#283543;
  --line-strong:#3c4d5e;
  --text:#f1f5f9;
  --muted:#9ba8b6;
  --soft:#6f7d8c;
  --accent:#67d4ff;
  --accent-soft:rgba(103,212,255,.10);
  --accent-line:rgba(103,212,255,.34);
  --danger:#ff7f88;
}

body{
  background:radial-gradient(circle at 72% 0,rgba(49,118,150,.10),transparent 34rem),var(--bg);
}

.site-header{
  background:rgba(12,16,21,.88);
}

.brand:before{
  background:linear-gradient(90deg,var(--accent) 0 42%,transparent 42% 58%,var(--accent) 58% 100%),linear-gradient(var(--accent) 0 42%,transparent 42% 58%,var(--accent) 58% 100%);
}

.hero-workbench{
  background:linear-gradient(180deg,rgba(23,31,41,.97),rgba(13,18,24,.98));
}

.tool-icon{
  color:#79d9ff;
  border-color:rgba(103,212,255,.13);
}

.tool-entry-core{
  box-shadow:inset 0 2px 0 rgba(103,212,255,.09);
}

.drop-zone:hover{
  background:rgba(103,212,255,.025);
}

.primary-link{
  color:#07141b;
}

.filter-chip[aria-pressed="true"]{
  color:#80ddff;
}

.workbench-status,
.text-link,
.entry-arrow,
.tool-entry:hover:after,
.workbench-link:after{
  color:var(--accent);
}

/* Tool-specific legacy surfaces that previously kept the older green/charcoal palette. */
.pivot-card,
.random-chip,
.random-list-output li,
.team-card,
.name-card,
.uuid-row,
.meal-card{
  background:var(--panel-2);
}

.random-note,
.name-note,
.pron-filter,
.meal-note,
.origin-source{
  background:var(--panel);
}

.name-ko-reading,
.meal-image,
.sns-url-drop,
.origin-drop{
  background:#0f151c;
}

.sns-url-input,
.origin-url-row input{
  background:#0d131a;
}

.sns-url-drop.is-dragover,
.origin-drop.is-dragover{
  background:var(--accent-soft);
  border-color:var(--accent);
}

/* Korean display text should wrap at spacing boundaries, not in the middle of words. */
html[lang="ko"] .hero-copy h1,
html[lang="ko"] .hero-workbench h2,
html[lang="ko"] .section-heading h2,
html[lang="ko"] .workflow-copy h2,
html[lang="ko"] .local-section h2,
html[lang="ko"] .page h1,
html[lang="ko"] .article h2,
html[lang="ko"] .article h3,
html[lang="ko"] .tool-ui h2,
html[lang="ko"] .tool-ui h3,
html[lang="ko"] .tool-entry strong,
html[lang="ko"] .utility-entry strong,
html[lang="ko"] .workflow-paths strong,
html[lang="ko"] .name-card strong{
  word-break:keep-all;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:balance;
}

/* Reduce display sizes before allowing Korean headings to become excessively tall. */
.hero-copy h1{
  max-width:780px;
  font-size:clamp(3rem,5vw,5.2rem);
  line-height:1.01;
}

.page h1{
  font-size:clamp(2.4rem,5.6vw,4.55rem);
  line-height:1.05;
}

.section-heading h2,
.workflow-copy h2,
.local-section h2{
  line-height:1.06;
}

@media(max-width:980px){
  .hero-copy h1{
    max-width:680px;
    font-size:clamp(2.75rem,6vw,4.7rem);
  }
}

@media(max-width:640px){
  .hero-copy h1{
    max-width:none;
    font-size:clamp(2.25rem,10.5vw,3.45rem);
    line-height:1.08;
  }
  .page h1{
    font-size:clamp(2.15rem,9vw,3.35rem);
    line-height:1.08;
  }
}
