/* ==========================================================================
   cinar-works.com — shared stylesheet
   Version 2026.09.1

   One file, no imports, no external requests. See Site_Shell_Template_v1.txt
   for the reasoning behind every choice in here.
   ========================================================================== */

:root {
  --ink:          #1e2340;
  --ink-soft:     #4a5178;
  --paper:        #fdfaf5;
  --surface:      #ffffff;
  --line:         #e6ddd0;
  --accent:       #a8601c;
  --accent-strong:#7d4512;
  --focus:        #2f57c4;

  --measure:      38rem;
  --gap:          1.5rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ink:          #e8e4dc;
    --ink-soft:     #a9a493;
    --paper:        #14162b;
    --surface:      #1c1f38;
    --line:         #2e3350;
    --accent:       #e8a94e;
    --accent-strong:#f2c476;
    --focus:        #8fb0ff;
  }
}

/* --------------------------------------------------------------------------
   Reset — only what is needed
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0 var(--gap) 4rem;
  background: var(--paper);
  color: var(--ink);

  /* Nunito if the reader happens to have it; otherwise a rounded system face.
     Deliberately NOT loaded from a CDN — see spec 5.1. */
  font-family: "Nunito", ui-rounded, "Segoe UI", system-ui, -apple-system,
               "Helvetica Neue", Arial, sans-serif;

  font-size: 1rem;          /* 16px floor, spec 5.2 */
  line-height: 1.7;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;            /* off: Turkish hyphenation rules are not reliable */
}

/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */

.wrap {
  max-width: var(--measure);
  margin: 0 auto;
}

header.site {
  max-width: var(--measure);
  margin: 0 auto;
  padding: 1.5rem 0 1rem;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: baseline;
  justify-content: space-between;
}

header.site .brand {
  font-weight: 700;
  letter-spacing: 0.01em;
  color: var(--ink);
  text-decoration: none;
}

header.site .brand:hover { color: var(--accent-strong); }

nav.lang { font-size: 0.9375rem; }

nav.lang [aria-current="page"] {
  color: var(--ink-soft);
  text-decoration: none;
  font-weight: 700;
}

main { padding-top: 2rem; }

/* --------------------------------------------------------------------------
   Type
   -------------------------------------------------------------------------- */

h1, h2, h3 {
  line-height: 1.3;
  color: var(--ink);
  margin: 2.25rem 0 0.75rem;
  text-wrap: balance;
}

h1 { font-size: 1.75rem; margin-top: 0; letter-spacing: -0.01em; }
h2 { font-size: 1.25rem; }
h3 { font-size: 1.0625rem; }

p, ul, ol, dl { margin: 0 0 1.125rem; }

ul, ol { padding-left: 1.35rem; }
li { margin-bottom: 0.5rem; }

.lead {
  font-size: 1.0625rem;
  color: var(--ink-soft);
}

/* --------------------------------------------------------------------------
   Links
   -------------------------------------------------------------------------- */

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

a:hover { color: var(--accent-strong); }

a:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Long email and URL strings must not force horizontal scroll at 360px. */
a[href^="mailto:"], code { overflow-wrap: anywhere; }

/* --------------------------------------------------------------------------
   Components
   -------------------------------------------------------------------------- */

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 1.125rem 1.25rem;
  margin: 0 0 1.125rem;
}

.card h2, .card h3 { margin-top: 0; }

.notice {
  border-left: 3px solid var(--accent);
  padding: 0.5rem 0 0.5rem 1rem;
  margin: 0 0 1.125rem;
  color: var(--ink-soft);
}

.pending {
  border: 1px dashed var(--accent);
  border-radius: 8px;
  padding: 1rem 1.125rem;
  margin: 0 0 1.125rem;
  color: var(--ink-soft);
  font-size: 0.9375rem;
}

.pending strong { color: var(--accent-strong); }

ul.plain { list-style: none; padding-left: 0; }
ul.plain li { margin-bottom: 0.625rem; }

code {
  font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  font-size: 0.9em;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 0.1em 0.35em;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

footer.site {
  max-width: var(--measure);
  margin: 3rem auto 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  color: var(--ink-soft);
}

footer.site p { margin: 0 0 0.5rem; }

footer.site .version {
  font-variant-numeric: tabular-nums;
}

footer.site ul.links {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
}

footer.site ul.links li { margin: 0; }

/* --------------------------------------------------------------------------
   Small screens — 360px is the floor, spec 5.2
   -------------------------------------------------------------------------- */

@media (max-width: 24rem) {
  body { padding-left: 1.125rem; padding-right: 1.125rem; }
  h1   { font-size: 1.5rem; }
  header.site { padding-top: 1.125rem; }
}

/* --------------------------------------------------------------------------
   Print — someone will print the policy
   -------------------------------------------------------------------------- */

@media print {
  :root { --paper:#fff; --ink:#000; --ink-soft:#333; --line:#bbb; --accent:#000; }
  body { padding: 0; font-size: 11pt; }
  nav.lang { display: none; }
  a { text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}
