/* ==================================================================
   1105_new_v1 — style.css
   Content-first article theme. Fresh namespace (rd-*).
   No schema/OG dependency. System font stack (multilingual).
   Section labels are <span> styled as headings (only the article
   keeps real headings).
   ================================================================== */

:root{
  --ink:        #211f1c;
  --ink-soft:   #5f5b54;
  --ink-faint:  #918c83;
  --paper:      #ffffff;
  --paper-2:    #f7f4ee;
  --paper-3:    #efe9df;
  --line:       #e7e1d6;
  --line-2:     #f1ece3;
  --clay:       #b9512b;
  --clay-d:     #97401f;
  --clay-soft:  #f6e7df;
  --olive:      #6b6a32;
  --rev:        #ffffff;
  --foot:       #211f1c;
  --foot-soft:  #a39d92;
  --danger:     #b23123;
  --ok:         #2e7d4f;

  --f-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Noto Sans", sans-serif;
  --f-head: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, Cambria, "Times New Roman", "Noto Serif", serif;
  --f-mono: ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  --shell: 880px;
  --read:  760px;
  --r:     8px;
  --r-lg:  14px;
  --sh-1:  0 1px 2px rgba(33,31,28,.06), 0 1px 3px rgba(33,31,28,.05);
  --sh-2:  0 6px 22px rgba(33,31,28,.09);
  --sh-3:  0 16px 44px rgba(33,31,28,.18);
  --t:     .22s ease;
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--f-body);color:var(--ink);background:var(--paper);
  line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--clay);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--clay-d)}
ul,ol{list-style:none}
button{font-family:inherit}
h1{font-family:var(--f-head)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---- Shell ---- */
.rd-shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 20px}

/* ---- Progress ---- */
.rd-bar{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--clay),var(--olive));z-index:1200;transition:width .1s linear}

/* ---- Below-fold render optimization ---- */
.rd-cv{content-visibility:auto;contain-intrinsic-size:auto 520px}

/* ===================== Main / Article ===================== */
.rd-main{padding:36px 0 60px}

.rd-art{max-width:var(--read);margin:0 auto}
.rd-art-title{font-size:2.15rem;font-weight:700;line-height:1.16;letter-spacing:-.015em;margin-bottom:16px}
@media(min-width:680px){.rd-art-title{font-size:2.6rem}}

.rd-art-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.83rem;color:var(--ink-soft);padding-bottom:22px;border-bottom:1px solid var(--line-2);margin-bottom:26px}
.rd-mi{display:inline-flex;align-items:center;gap:6px}
.rd-mi svg{opacity:.6;flex-shrink:0}
.rd-mi-upd{color:var(--ink-faint)}

/* ---- Contents ---- */
.rd-toc{margin:0 0 30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper-2);padding:16px 20px;position:relative}
.rd-toc.is-empty{display:none}
.rd-toc-h{display:block;font-family:var(--f-head);font-weight:700;font-size:1rem;margin-bottom:4px}
.rd-toc-x{position:absolute;top:15px;right:18px;background:none;border:0;color:var(--clay);cursor:pointer;font-size:.82rem;font-weight:600}
.rd-toc-list{margin-top:10px}
.rd-toc-list[hidden]{display:none}
.rd-toc-list ol{counter-reset:toc;display:flex;flex-direction:column;gap:7px}
.rd-toc-list ol ol{margin:7px 0 0 16px;padding-left:6px;border-left:2px solid var(--line)}
.rd-toc-list li{counter-increment:toc}
.rd-toc-list>ol>li>a::before{content:counter(toc) ".";color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-right:7px;font-size:.85rem}
.rd-toc-list a{color:var(--ink);font-size:.92rem}
.rd-toc-list a:hover{color:var(--clay)}

/* ---- Article body (only place with real h2/h3) ---- */
.rd-art-body{font-size:1.07rem;line-height:1.82;color:#28261f}
.rd-art-body>*+*{margin-top:1.05em}
.rd-art-body h2{font-family:var(--f-head);font-size:1.6rem;font-weight:700;margin-top:1.85em;line-height:1.25}
.rd-art-body h3{font-family:var(--f-head);font-size:1.28rem;font-weight:700;margin-top:1.5em;line-height:1.3}
.rd-art-body h4{font-family:var(--f-head);font-size:1.08rem;font-weight:700;margin-top:1.3em}
.rd-art-body p{margin-top:1.05em}
.rd-art-body a{color:var(--clay);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.rd-art-body ul,.rd-art-body ol{margin:1.05em 0 1.05em 1.3em;list-style:revert}
.rd-art-body li{margin-top:.45em}
.rd-art-body img{border-radius:var(--r);margin:1.4em 0}
.rd-art-body blockquote{margin:1.5em 0;padding:14px 22px;border-left:3px solid var(--clay);background:var(--paper-2);border-radius:0 var(--r) var(--r) 0;color:var(--ink-soft);font-style:italic}
.rd-art-body blockquote:empty{display:none}
.rd-art-body pre{background:#211f1c;color:#f0ece2;padding:18px 20px;border-radius:var(--r);overflow-x:auto;font-family:var(--f-mono);font-size:.88rem;line-height:1.6}
.rd-art-body code{font-family:var(--f-mono);font-size:.88em;background:var(--paper-3);padding:2px 6px;border-radius:4px}
.rd-art-body pre code{background:none;padding:0}
.rd-art-body table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.4em 0}
.rd-art-body th,.rd-art-body td{border:1px solid var(--line);padding:10px 13px;text-align:left}
.rd-art-body th{background:var(--paper-2);font-weight:600}
.rd-art-body hr{border:0;border-top:1px solid var(--line);margin:1.8em 0}

.rd-anchor{margin-left:8px;opacity:0;font-size:.78em;color:var(--ink-faint);text-decoration:none;transition:opacity var(--t)}
.rd-art-body :is(h2,h3,h4):hover .rd-anchor{opacity:1}

/* ---- Share ---- */
.rd-share{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line-2)}
.rd-share-h{font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.rd-share-row{display:flex;gap:9px}
.rd-sh{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer;transition:all var(--t)}
.rd-sh:hover{color:var(--rev);border-color:transparent;transform:translateY(-2px)}
.rd-sh-x:hover{background:#111}
.rd-sh-fb:hover{background:#1877f2}
.rd-sh-tg:hover{background:#229ed9}
.rd-sh-copy:hover{background:var(--ok)}
.rd-sh-copy.is-done{background:var(--ok);border-color:transparent;color:var(--rev)}

/* ===================== Section labels (spans as headings) ===================== */
.rd-block{max-width:var(--read);margin:54px auto 0}
.rd-h{display:block;font-family:var(--f-head);font-size:1.5rem;font-weight:700;line-height:1.25;position:relative;padding-bottom:12px;margin-bottom:20px}
.rd-h::after{content:"";position:absolute;left:0;bottom:0;width:46px;height:3px;background:var(--clay);border-radius:2px}
.rd-sub{display:block;font-family:var(--f-head);font-size:1.15rem;font-weight:700;margin:6px 0 16px}
.rd-cmt-list{margin-bottom:8px}
.rd-cmt-list:empty{display:none}
.rd-lead{color:var(--ink-soft);font-size:.98rem;margin-bottom:18px;max-width:60ch}

/* ===================== Forms ===================== */
.rd-form .rd-fld{margin-bottom:16px}
.rd-two{display:grid;grid-template-columns:1fr;gap:0 16px}
@media(min-width:560px){.rd-two{grid-template-columns:1fr 1fr}}
.rd-fld label:not(.rd-chk){display:block;font-size:.82rem;font-weight:600;margin-bottom:6px;color:var(--ink)}
.rd-in{display:block;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r);font:inherit;font-size:.93rem;color:var(--ink);background:var(--paper);outline:0;transition:border-color var(--t),box-shadow var(--t)}
.rd-in::placeholder{color:var(--ink-faint)}
.rd-in:focus{border-color:var(--clay);box-shadow:0 0 0 3px var(--clay-soft)}
.rd-ta{resize:vertical;min-height:120px;line-height:1.6}
.rd-split{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.rd-chk{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;color:var(--ink-soft);cursor:pointer}
.rd-tiny{font-size:.83rem}
.rd-line{display:flex;gap:8px}
.rd-line .rd-in{flex:1}

/* ---- Buttons ---- */
.rd-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font-size:.92rem;font-weight:600;border:1px solid transparent;border-radius:var(--r);cursor:pointer;transition:all var(--t);text-decoration:none;line-height:1}
.rd-btn-fill{background:var(--clay);color:var(--rev)}
.rd-btn-fill:hover{background:var(--clay-d);color:var(--rev)}
.rd-btn-line{background:transparent;color:var(--clay);border-color:var(--clay)}
.rd-btn-line:hover{background:var(--clay-soft);color:var(--clay-d)}
.rd-btn-soft{background:var(--paper-2);color:var(--ink);border-color:var(--line)}
.rd-btn-soft:hover{background:var(--paper-3)}
.rd-btn-sq{padding:11px 13px}
.rd-btn-wide{width:100%}

/* ===================== Side widgets ===================== */
.rd-aside{max-width:var(--shell);margin:58px auto 0}
.rd-aside-grid{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:620px){.rd-aside-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.rd-aside-grid{grid-template-columns:repeat(3,1fr)}}
.rd-w{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--sh-1)}
.rd-w-h{display:block;font-family:var(--f-head);font-size:1.06rem;font-weight:700;margin-bottom:12px}
.rd-w-p{font-size:.86rem;color:var(--ink-soft);margin-bottom:14px}
.rd-w-actions{display:flex;flex-direction:column;gap:9px}
.rd-w-actions .rd-btn{width:100%}
.rd-pop{display:flex;flex-direction:column}
.rd-pop li{padding:10px 0;border-bottom:1px solid var(--line-2)}
.rd-pop li:first-child{padding-top:0}
.rd-pop li:last-child{border-bottom:0;padding-bottom:0}
.rd-pop a{font-size:.9rem;color:var(--ink);font-weight:500;line-height:1.4}
.rd-pop a:hover{color:var(--clay)}

/* ===================== Footer ===================== */
.rd-foot{background:var(--foot);color:var(--foot-soft);margin-top:64px;padding:40px 0}
.rd-foot-row{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.rd-foot a{color:var(--foot-soft)}
.rd-foot a:hover{color:var(--rev)}
.rd-foot-id{display:flex;flex-direction:column}
.rd-logo{font-family:var(--f-head);font-weight:700;font-size:1.2rem;color:var(--rev)}
.rd-logo:hover{color:var(--clay-soft)}
.rd-foot-c{font-size:.82rem;margin-top:7px;color:#76716a}
.rd-foot-nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.rd-foot-nav a{font-size:.9rem}
.rd-soc{display:flex;gap:10px}
.rd-soc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.14);transition:all var(--t)}
.rd-soc a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-2px)}
@media(min-width:820px){
  .rd-foot-row{flex-direction:row;align-items:center;justify-content:space-between}
  .rd-foot-nav{flex:1;justify-content:center}
}

/* ===================== Scroll top ===================== */
.rd-up{position:fixed;right:24px;bottom:24px;width:46px;height:46px;border-radius:12px;background:var(--clay);color:var(--rev);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(12px);transition:all var(--t);z-index:900}
.rd-up.is-show{opacity:1;visibility:visible;transform:translateY(0)}
.rd-up:hover{background:var(--clay-d)}

/* ===================== Cookie ===================== */
.rd-cookie{position:fixed;left:0;right:0;bottom:0;background:var(--foot);color:#ddd7cd;z-index:1100;transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -4px 24px rgba(0,0,0,.18)}
.rd-cookie.is-show{transform:translateY(0)}
.rd-cookie-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:15px 20px}
.rd-cookie-row p{font-size:.85rem;margin:0;flex:1;min-width:220px}
.rd-cookie-row a{color:#e7b08a;text-decoration:underline}

/* ===================== Account dialog ===================== */
.rd-pop{}
.rd-pop#rd-auth{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(20,18,16,.55);backdrop-filter:blur(4px)}
#rd-auth.is-open{display:flex}
.rd-pop-card{position:relative;width:100%;max-width:420px;background:var(--paper);border-radius:var(--r-lg);box-shadow:var(--sh-3);padding:30px 28px 28px;animation:rdpop .26s ease}
@keyframes rdpop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.rd-pop-x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:1.6rem;line-height:1;color:var(--ink-faint);cursor:pointer;transition:color var(--t)}
.rd-pop-x:hover{color:var(--danger)}
.rd-pills{display:flex;gap:6px;background:var(--paper-2);padding:5px;border-radius:999px;margin-bottom:22px}
.rd-pill{flex:1;padding:9px 0;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--t)}
.rd-pill.is-on{background:var(--paper);color:var(--ink);box-shadow:var(--sh-1)}
.rd-panel{display:none}
.rd-panel.is-on{display:block}

/* ===================== Print ===================== */
@media print{
  .rd-bar,.rd-share,.rd-aside,.rd-foot,.rd-up,.rd-cookie,.rd-pop,.rd-news,#comments,#contact{display:none!important}
  .rd-art,.rd-block{max-width:none}
  body{font-size:12pt}
}

/* ===================== Reduced motion ===================== */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
