/* Paperlogy © 2024 The PAPERLOGY Authors; SIL OFL 1.1.
   Full copyright notice and license: /paperlogy-license.css */
@font-face{font-family:Paperlogy;src:url('/Paperlogy-4Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Paperlogy;src:url('/Paperlogy-5Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Paperlogy;src:url('/Paperlogy-6SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* The typeface already has compact spacing. Use weight sparingly and let
   size, whitespace and line-height establish the reading hierarchy. */
:root{font-family:Paperlogy,-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;font-synthesis:none}
body{font-family:inherit;font-weight:400;letter-spacing:0;line-height:1.75}
button,input,select,textarea{font-family:inherit;letter-spacing:0}
h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:0;line-height:1.5}
strong,b{font-weight:500;letter-spacing:0}
button{font-weight:500}
.brand-word,.portal-home .wordmark{font-weight:600;letter-spacing:-.04em;font-size:34px}
.footer-brand,.portal-home .wordmark.small,.dialog-brand{font-weight:600;letter-spacing:-.025em}
.nav-links>a,.nav-links>button,.portal-home .main-nav,.header-login,.portal-home .login{font-weight:500}
.search-form input{font-size:1rem}
.page-heading h1{font-size:clamp(1.6rem,2.2vw,2rem);font-weight:600;line-height:1.5;letter-spacing:0}
.section-heading h2{font-weight:600;letter-spacing:0}
.primary-button,.primary-action,.guide-read,.dialog-link,.nav-write{font-weight:500}

/* Home: inviting headings, restrained card titles and readable summaries. */
.portal-home{line-height:1.75}
.portal-home h1,.portal-home h2,.portal-home h3{letter-spacing:0}
.portal-home .discovery h1{font-size:clamp(1.65rem,2.4vw,2rem);font-weight:600;line-height:1.5}
.portal-home h2{font-size:1.375rem;font-weight:600;line-height:1.5}
.portal-home h3{font-weight:500;line-height:1.6}
.portal-home .category,.portal-home .category[aria-pressed=true]{font-weight:500}
.portal-home .starter h3{font-size:clamp(1.375rem,2vw,1.625rem);font-weight:600;line-height:1.55;letter-spacing:0}
.portal-home .guide h3{font-size:1.1875rem;font-weight:500;line-height:1.65}
.portal-home .guide-summary,.portal-home .starter p{font-size:1rem;line-height:1.85}
.portal-home .guide-topic,.portal-home .editor-label,.portal-home .mini-label,.portal-home .read-link,.portal-home .primary-action,.portal-home .quick-questions>a,.portal-home .participation-action a{font-weight:500}
.portal-home .guide-meta{font-size:.8125rem;line-height:1.7}
.portal-home .places-first .place-body h3,.portal-home .place h3{font-size:1.1875rem;font-weight:500;line-height:1.6}
.portal-home .welcome h2{font-size:1.25rem;line-height:1.6}
.portal-home .participation-copy h2{font-size:clamp(1.45rem,2.5vw,1.875rem);font-weight:600;line-height:1.6}
.portal-home .participation-copy p{font-size:1rem;line-height:1.85}
.portal-home .participation-copy h2 em{font-weight:inherit}

/* Guides and community: body text carries the content, labels stay quiet. */
.welfare-card h3,.welfare-update-grid h3,.place-card h2,.feed-card h2,.post-heading{font-weight:500;letter-spacing:0;line-height:1.65}
.post-heading{font-size:clamp(1.45rem,2vw,1.75rem)}
.welfare-section h2,.welfare-intro h2,.welfare-guide-list>h2{font-weight:600;letter-spacing:0}
.welfare-section p,.welfare-section li,.readable-content p,.readable-content li{line-height:1.9}
.welfare-section strong,.welfare-facts dd,.readable-content strong{font-weight:500}
.field>span:first-child,.access-consents legend,.inquiry-consent label,.rest-word-form label,.rest-practice label,.tr-topics legend,.tr-count legend,.tr-journal-form label{font-weight:500}
.welfare-topic,.rest-eyebrow,.rest-media-label,.tr-kicker{font-weight:500}
.rest-page h2{font-size:clamp(1.45rem,2.3vw,1.75rem);font-weight:600;letter-spacing:0}
.rest-media-card h3,.rest-home-item strong,.tr-results h3{font-weight:500;line-height:1.65}
.rest-media-card p{font-size:.9375rem;line-height:1.85}
.rest-question{font-weight:500}
.rest-initials{font-weight:600}
.tr-intro h2,.tr-step h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500;letter-spacing:0;line-height:1.6}
.tr-card strong,.tr-topics button strong,.tr-count strong,.tr-primary{font-weight:500}
.tr-pick-status{font-weight:500!important}
.tr-position{font-weight:500}
.tr-summary h3{font-weight:600}
.tr-results article>p:not(.tr-position),.tr-results details p{font-size:1rem;line-height:1.95}
.nubibot-launcher{font-weight:500}

@media(max-width:560px){
  .brand-word,.portal-home .wordmark{font-size:29px}
  .nav-links>a,.nav-links>button{font-size:.875rem}
  .header-login{font-size:.8125rem;min-height:44px}
  .search-form input,.field input,.field textarea,.field select,.rest-word-form input,.rest-practice select,.tr-journal-form textarea{font-size:1rem}
  .portal-home .section-heading h2,.portal-home .places-first .section-heading h2{font-size:1.1875rem}
  .portal-home .guide h3{font-size:1.125rem}
  .portal-home .guide-summary,.portal-home .starter p{font-size:.9375rem}
  .portal-home .places-first .place-body h3{font-size:1.1875rem}
  .portal-home .participation-copy h2{font-size:1.5rem;max-width:none}
  .portal-home .participation-copy p{font-size:.9375rem}
  .tr-intro h2,.tr-step h2{font-size:1.65rem}
}

/* Keep the user's larger-type option stronger than the standard scale. */
.large-text .portal-home .guide h3{font-size:1.5rem}
.large-text .portal-home .guide-summary,.large-text .portal-home .starter p{font-size:1.1875rem}
.large-text .portal-home .guide-meta{font-size:.9375rem}
.large-text .portal-home .category{font-size:1.0625rem}
.large-text .portal-home .participation-copy p,.large-text .rest-media-card p{font-size:1.125rem}
.large-text .search-form input,.large-text .field input,.large-text .field textarea,.large-text .field select{font-size:1.125rem}
.large-text .portal-home .participation-action a{font-size:1.0625rem}

/* Keep the relaxation entry as readable as the neighbouring top categories. */
.category-list .category.rest-category{font-weight:600}
.nav-links>a[href='/rest']{font-weight:600}
.large-text .public-share button{font-size:18px;line-height:1.6;white-space:normal;min-height:44px}
.large-text .public-share>span,.large-text .public-share>label,.large-text .public-share>p{font-size:16px;line-height:1.7}
.large-text .readable-content p,.large-text .readable-content li,.large-text .welfare-section p,.large-text .welfare-section li,.large-text .place-visit-info dt,.large-text .place-visit-info dd,.large-text .place-facility dt,.large-text .place-facility dd{font-size:19px;line-height:1.9;overflow-wrap:anywhere}
.large-text .welfare-section .field-help,.large-text .place-facility .place-source-note{font-size:16px;line-height:1.8}
.large-text .welfare-card h3{font-size:24px;line-height:1.65}
.large-text .welfare-card>p{font-size:19px;line-height:1.9}
.large-text .welfare-card .welfare-topic,.large-text .welfare-card-fact span{font-size:16px;line-height:1.8}
.large-text .welfare-card-fact strong,.large-text .welfare-card>.text-button{font-size:18px;line-height:1.8;overflow-wrap:anywhere}
#content-dialog #dialog-close{width:44px;height:44px;min-width:44px;min-height:44px;flex-shrink:0}

/* Keep input examples readable while retaining their secondary role. */
.search-form input::placeholder,.portal-home .search input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#63716b;opacity:1}
