:root {
  --cf-green: #77cc33;
  --cf-green-bright: #a8f15c;
  --cf-ink: #071108;
  --cf-forest: #112313;
  --cf-paper: #f5f0dc;
  --cf-blood: #d83b3b;
  --cf-gold: #f2c94c;
  --cf-muted: #9da99c;
}

.cf-platform-page { margin:0;background:#f5f0dc;color:var(--cf-ink); }
.cf-platform-page * { box-sizing:border-box; }
.cf-platform-header { position:sticky;z-index:100;top:0;display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:72px;padding:10px max(18px,calc((100% - 1380px)/2));border-bottom:1px solid rgba(255,255,255,.1);background:rgba(6,15,7,.95);color:#fff;backdrop-filter:blur(18px);font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.cf-platform-brand { display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none; }
.cf-platform-mark { display:grid;width:42px;height:42px;place-items:center;border:2px solid var(--cf-green);border-radius:50%;background:#102711;color:var(--cf-green-bright);font:950 15px/1 Georgia,serif;box-shadow:3px 3px 0 var(--cf-blood); }
.cf-platform-brand > span:last-child { display:grid; }
.cf-platform-brand strong { font-family:Georgia,serif;font-size:16px;line-height:1.1; }
.cf-platform-brand small { color:#9db09a;font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase; }
.cf-platform-header nav { display:flex;align-items:center;gap:6px; }
.cf-platform-header nav a { padding:10px 12px;border-radius:99px;color:#c6d1c4;font-size:11px;font-weight:900;text-decoration:none; }
.cf-platform-header nav a:hover,.cf-platform-header nav a.is-current { background:rgba(119,204,51,.12);color:var(--cf-green-bright); }
.cf-platform-header nav .cf-platform-account { margin-left:5px;background:var(--cf-green);color:var(--cf-ink); }
.cf-platform-content { min-height:75vh;padding:0 0 30px; }
.cf-platform-footer { display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:50px max(18px,calc((100% - 1380px)/2));background:#061007;color:#fff;font-family:Inter,ui-sans-serif,system-ui,sans-serif; }
.cf-platform-footer strong { font-family:Georgia,serif;font-size:24px; }
.cf-platform-footer p { margin:6px 0 0;color:#9cab99; }
.cf-platform-footer nav { display:flex;gap:18px;flex-wrap:wrap; }
.cf-platform-footer a { color:#b8c6b6;font-size:12px;font-weight:800;text-decoration:none; }
.cf-platform-footer a:hover { color:var(--cf-green-bright); }

.cf-reader-page {
  margin: 0;
  background: #020403;
  color: #fff;
  overflow-x: hidden;
}

.cf-reader-page.admin-bar .cf-reader-app { min-height: calc(100dvh - 32px); }
.cf-reader-page * { box-sizing: border-box; }
.cf-reader-page img { -webkit-user-drag: none; user-select: none; }
.cf-skip-link { position: fixed; left: 12px; top: -100px; z-index: 100000; padding: 12px 18px; background: var(--cf-green); color: #000; font: 800 14px/1 system-ui, sans-serif; }
.cf-skip-link:focus { top: 12px; }

.cf-reader-app {
  --header-height: 72px;
  --footer-height: 52px;
  position: relative;
  display: grid;
  grid-template-rows: var(--header-height) 1fr var(--footer-height);
  min-height: 100dvh;
  background: #020403;
  color: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  isolation: isolate;
}

.cf-reader-header {
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(240px, 520px) minmax(240px, 1fr);
  align-items: center;
  gap: 28px;
  min-width: 0;
  padding: 0 24px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: rgba(3, 7, 4, .92);
  backdrop-filter: blur(18px);
  transition: transform .25s ease, opacity .25s ease;
}

.cf-reader-header__identity { display: flex; align-items: center; min-width: 0; gap: 14px; }
.cf-reader-header__identity > div { display: grid; min-width: 0; }
.cf-reader-header__identity span { color: var(--cf-green); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.cf-reader-header__identity strong { overflow: hidden; font-family: Georgia, serif; font-size: 17px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.cf-reader-header__identity small { color: #94a194; font-size: 10px; font-weight: 750; }
.cf-reader-back, .cf-icon-button {
  display: inline-grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  background: rgba(255,255,255,.04);
  color: #fff;
  text-decoration: none;
  font: 700 20px/1 system-ui, sans-serif;
  cursor: pointer;
}
.cf-reader-back:hover, .cf-icon-button:hover { border-color: var(--cf-green); background: rgba(119,204,51,.12); color: var(--cf-green-bright); }
.cf-fullscreen-button { display: inline-flex; width: auto; padding: 0 12px; gap: 7px; border-radius: 99px; }
.cf-fullscreen-button > span:first-child { font-size: 18px; }
.cf-fullscreen-label { font-size: 10px; font-weight: 900; letter-spacing: .04em; white-space: nowrap; }
.cf-reader-progress { display: grid; gap: 8px; text-align: center; }
.cf-reader-progress__text { color: #d9e0d8; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.cf-reader-progress__track { overflow: hidden; height: 3px; border-radius: 99px; background: rgba(255,255,255,.12); }
.cf-reader-progress__track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cf-green), var(--cf-green-bright)); transition: width .35s ease; }
.cf-reader-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.cf-reader-account-link { margin-left: 5px; padding: 10px 15px; border-radius: 99px; background: var(--cf-green); color: #071108; font-size: 12px; font-weight: 900; text-decoration: none; }

.cf-reader-modes {
  position: fixed;
  z-index: 35;
  top: calc(var(--header-height) + 14px);
  left: 50%;
  display: flex;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 99px;
  background: rgba(6, 11, 7, .9);
  box-shadow: 0 14px 35px rgba(0,0,0,.3);
  backdrop-filter: blur(16px);
  transform: translateX(-50%);
  transition: transform .25s ease, opacity .25s ease;
}
.cf-reader-modes button { display: flex; align-items: center; gap: 7px; padding: 9px 13px; border: 0; border-right: 1px solid rgba(255,255,255,.08); background: transparent; color: #adb7ad; font: 800 10px/1 system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }
.cf-reader-modes button:last-child { border-right: 0; }
.cf-reader-modes button:hover { color: #fff; }
.cf-reader-modes button.is-active { background: var(--cf-green); color: #071108; }
.cf-reader-modes span { font-size: 15px; }

.cf-reader-stage { position: relative; min-width: 0; min-height: 0; overflow: hidden; outline: none; background: radial-gradient(circle at 50% 45%, #172218 0, #070b08 46%, #020403 100%); }
.cf-reader-stage::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .06; background-image: radial-gradient(#fff .6px, transparent .6px); background-size: 7px 7px; }
.cf-reader-viewport { position: absolute; inset: 0; overflow: hidden; }
.cf-reader-media { position: absolute; inset: 0; overflow: hidden; }
.cf-reader-image { display: block; user-select: none; opacity: 0; transition: opacity var(--cf-transition-ms, .28s) ease, filter .2s ease, left var(--cf-transition-ms, .28s) ease, top var(--cf-transition-ms, .28s) ease, width var(--cf-transition-ms, .28s) ease, height var(--cf-transition-ms, .28s) ease, clip-path var(--cf-transition-ms, .28s) ease; }
.cf-reader-image.is-ready, .cf-reader-spread.is-ready .cf-reader-image { opacity: 1; }
.cf-reader-panel-scene { position:absolute;inset:0;overflow:hidden; }
.cf-reader-image--panel { position:absolute;z-index:2;max-width:none!important;max-height:none!important;box-shadow:0 22px 70px rgba(0,0,0,.55);will-change:left,top,width,height; }
.cf-reader-panel-dimmer { position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none; }
.cf-reader-panel-shade { fill:rgba(0,0,0,.68); }
.cf-reader-panel-ring { fill:none;stroke:rgba(196,255,151,.48);stroke-width:1.5;filter:drop-shadow(0 0 7px rgba(119,204,51,.22)); }
.cf-reader-image--page { position: absolute; inset: 4.5% 4%; width: calc(100% - 8%); height: calc(100% - 9%); object-fit: contain; filter: drop-shadow(0 20px 40px rgba(0,0,0,.4)); }
.cf-reader-spread { position: absolute; inset: 4% 3%; display: flex; justify-content: center; align-items: center; gap: 5px; opacity: 0; transition: opacity .24s ease; }
.cf-reader-spread.is-ready { opacity: 1; }
.cf-reader-image--spread { width: min(46%, 800px); height: 100%; object-fit: contain; }

.cf-watermarks { position: absolute; inset: 0; z-index: 8; overflow: hidden; pointer-events: none; user-select: none; }
.cf-watermarks span { position: absolute; padding: 4px 8px; color: rgba(255,255,255,.19); font-size: clamp(8px, .8vw, 12px); font-weight: 900; letter-spacing: .13em; text-shadow: 0 1px 2px rgba(0,0,0,.3); transform: rotate(-18deg); }
.cf-watermarks span:nth-child(1) { left: 12%; top: 23%; }
.cf-watermarks span:nth-child(2) { right: 12%; top: 53%; transform: rotate(16deg); }
.cf-watermarks span:nth-child(3) { left: 38%; bottom: 13%; transform: rotate(-7deg); }
.cf-reader-obscured .cf-reader-media { filter: blur(30px); opacity: .12; }

.cf-reader-loader { position: absolute; z-index: 6; left: 50%; top: 50%; display: grid; place-items: center; gap: 13px; opacity: 0; pointer-events: none; transform: translate(-50%, -50%); transition: opacity .15s ease; }
.cf-reader-loader.is-visible { opacity: 1; }
.cf-reader-loader span { width: 32px; height: 32px; border: 3px solid rgba(255,255,255,.16); border-top-color: var(--cf-green); border-radius: 50%; animation: cf-spin .8s linear infinite; }
.cf-reader-loader p { margin: 0; color: #a9b4a8; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
@keyframes cf-spin { to { transform: rotate(360deg); } }

.cf-reader-nav { position: absolute; z-index: 20; top: 50%; display: grid; width: 48px; height: 64px; place-items: center; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: rgba(4,8,5,.72); color: #fff; font: 300 42px/1 Georgia, serif; cursor: pointer; transform: translateY(-50%); backdrop-filter: blur(12px); }
.cf-reader-nav:hover { border-color: var(--cf-green); background: rgba(119,204,51,.14); color: var(--cf-green-bright); }
.cf-reader-nav--previous { left: 20px; }
.cf-reader-nav--next { right: 20px; }
.cf-reader-app[data-direction="rtl"] .cf-reader-nav--previous { right: 20px; left: auto; }
.cf-reader-app[data-direction="rtl"] .cf-reader-nav--next { right: auto; left: 20px; }
.cf-reader-app[data-direction="rtl"] .cf-reader-spread { flex-direction: row-reverse; }
.cf-reader-tap-zone { position: absolute; z-index: 9; top: 0; bottom: 0; width: 24%; border: 0; background: transparent; }
.cf-reader-tap-zone--previous { left: 0; }
.cf-reader-tap-zone--next { right: 0; }

.cf-reader-footer { z-index: 30; display: grid; grid-template-columns: 150px 1fr 150px; align-items: center; gap: 22px; padding: 0 24px; border-top: 1px solid rgba(255,255,255,.09); background: #050806; transition: transform .25s ease, opacity .25s ease; }
.cf-reader-footer button { border: 0; background: transparent; color: #c5cec4; font: 800 11px/1 system-ui, sans-serif; cursor: pointer; }
.cf-reader-footer button:hover { color: var(--cf-green-bright); }
.cf-reader-comments-button { text-align: right; }
.cf-reader-footer input[type="range"] { width: 100%; accent-color: var(--cf-green); }
.cf-controls-hidden .cf-reader-header { opacity: 0; transform: translateY(-100%); }
.cf-controls-hidden .cf-reader-footer { opacity: 0; transform: translateY(100%); }
.cf-controls-hidden .cf-reader-modes { opacity: 0; transform: translate(-50%, -120px); }
.cf-reader-app.cf-reader-immersive { position: fixed; z-index: 100000; inset: 0; width: 100%; min-height: 100dvh; }
.cf-reader-page.cf-reader-immersive-active { overflow: hidden; overscroll-behavior: none; }
.cf-reader-app.cf-reader-cinema { grid-template-rows:1fr;background:#000; }
.cf-reader-cinema .cf-reader-header { position:absolute;z-index:60;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));display:block;width:auto;min-height:0;padding:0;border:0;background:transparent;backdrop-filter:none;opacity:1!important;transform:none!important;pointer-events:none; }
.cf-reader-cinema .cf-reader-header__identity,.cf-reader-cinema .cf-reader-progress,.cf-reader-cinema .cf-reader-account-link,.cf-reader-cinema [data-reader-info] { display:none!important; }
.cf-reader-cinema .cf-reader-actions { pointer-events:auto; }
.cf-reader-cinema .cf-fullscreen-button { height:38px;border-color:rgba(255,255,255,.22);background:rgba(0,0,0,.55);box-shadow:0 8px 25px rgba(0,0,0,.35);backdrop-filter:blur(12px); }
.cf-reader-cinema .cf-reader-modes,.cf-reader-cinema .cf-reader-footer { display:none!important; }
.cf-reader-cinema .cf-reader-stage { grid-row:1; }
.cf-reader-cinema .cf-reader-nav { display:grid;opacity:.34;border-color:rgba(255,255,255,.08);background:rgba(0,0,0,.28);transition:opacity .2s ease,background .2s ease; }
.cf-reader-cinema .cf-reader-nav:hover,.cf-reader-cinema .cf-reader-nav:focus-visible { opacity:1;background:rgba(0,0,0,.7); }

.cf-scroll-reader { position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain; padding: 62px max(16px, calc((100% - 980px) / 2)) 80px; scroll-behavior: smooth; }
.cf-scroll-reader figure { position: relative; margin: 0 auto 16px; max-width: 980px; background: #0b100c; box-shadow: 0 16px 50px rgba(0,0,0,.38); }
.cf-scroll-page { display: block; width: 100%; height: auto; }
.cf-scroll-reader figcaption { position: absolute; right: 10px; bottom: 10px; padding: 4px 8px; border-radius: 99px; background: rgba(0,0,0,.7); color: #fff; font-size: 10px; }
.cf-scroll-lock { display: grid; width: 100%; min-height: 280px; place-items: center; gap: 8px; border: 1px solid rgba(119,204,51,.25); background: linear-gradient(145deg, #111d12, #080d09); color: #fff; cursor: pointer; }
.cf-scroll-lock span { color: var(--cf-green); font-size: 40px; }

.cf-reader-empty { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.cf-reader-empty > span { font-size: 60px; }
.cf-reader-empty h1 { margin: 16px 0 6px; font-family: Georgia, serif; font-size: clamp(32px, 6vw, 70px); }
.cf-reader-empty p { color: var(--cf-muted); }

.cf-reader-dialog { width: min(92vw, 720px); max-height: min(88dvh, 900px); padding: 0; overflow: auto; border: 1px solid rgba(119,204,51,.28); border-radius: 18px; background: #f8f5e8; color: var(--cf-ink); box-shadow: 0 40px 120px rgba(0,0,0,.7); }
.cf-reader-dialog::backdrop { background: rgba(0,3,1,.82); backdrop-filter: blur(12px); }
.cf-dialog-close { position: sticky; z-index: 10; top: 15px; float: right; display: grid; width: 38px; height: 38px; margin: 15px 15px -53px 0; place-items: center; border: 0; border-radius: 50%; background: #091209; color: #fff; font-size: 22px; cursor: pointer; }
.cf-reader-info, .cf-reader-toc, .cf-purchase-gate { padding: 42px; }
.cf-reader-info h2, .cf-purchase-gate h2, .cf-reader-toc h2 { margin: 5px 0 15px; font-family: Georgia, serif; font-size: clamp(32px, 6vw, 58px); line-height: 1; }
.cf-reader-info dl { display: flex; gap: 12px; margin: 25px 0 0; }
.cf-reader-info dl div { flex: 1; padding: 15px; border: 1px solid #d9dfd2; border-radius: 9px; }
.cf-reader-info dt { color: #647061; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.cf-reader-info dd { margin: 5px 0 0; font-weight: 900; }
.cf-price { margin: 14px 0; color: #2e7614; font-size: 30px; font-weight: 950; }
.cf-purchase-gate form { display: grid; gap: 15px; margin-top: 20px; }
.cf-purchase-gate textarea { width: 100%; padding: 12px; border: 1px solid #cbd4c7; border-radius: 7px; font: inherit; }
.cf-toc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); gap: 12px; }
.cf-toc-grid button { display: grid; gap: 7px; padding: 8px; border: 1px solid #d4dbd0; border-radius: 8px; background: #fff; color: var(--cf-ink); font: 800 11px/1.2 system-ui, sans-serif; cursor: pointer; }
.cf-toc-grid button:disabled { opacity: .5; cursor: not-allowed; }
.cf-toc-grid img { width: 100%; aspect-ratio: 3/4; object-fit: cover; border-radius: 4px; }
.cf-toc-lock { display: grid; aspect-ratio: 3/4; place-items: center; background: #e5e9e1; color: #667063; font-size: 30px; }

.cf-reader-gate { width: min(94vw, 900px); }
.cf-reader-gate .cf-auth { margin: 0; border: 0; border-radius: 0; }
.cf-reader-discussion { min-height: 80vh; padding: 80px 24px 120px; background: #f4f0dc; color: var(--cf-ink); }
.cf-reader-discussion__inner { width: min(100%, 920px); margin: 0 auto; }
.cf-discussion-back { color: #356b20; font-weight: 900; text-decoration: none; }

.cf-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border: 2px solid #071108;
  border-radius: 6px;
  background: var(--cf-green);
  box-shadow: 4px 4px 0 var(--cf-blood);
  color: #071108;
  font: 950 13px/1 system-ui, sans-serif;
  letter-spacing: .025em;
  text-decoration: none;
  cursor: pointer;
}
.cf-button:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--cf-blood); color: #071108; }
.cf-button--ghost { background: transparent; box-shadow: none; color: var(--cf-ink); }
.cf-button--small { min-height: 36px; padding: 8px 13px; font-size: 11px; }
.cf-eyebrow { margin: 0; color: #397a1c; font-size: 11px; font-weight: 950; letter-spacing: .17em; text-transform: uppercase; }
.cf-notice { margin: 16px 0; padding: 15px 18px; border-left: 4px solid var(--cf-green); background: #e9f5df; color: #183014; }
.cf-notice--error { border-left-color:var(--cf-blood);background:#fae3e1;color:#7d201b; }
.cf-empty { padding: 25px; border: 1px dashed #b8c2b4; border-radius: 8px; color: #667063; }
.cf-status { display: inline-flex; padding: 4px 8px; border-radius: 99px; background: #ecefe9; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.cf-status--completed { background: #dff1d5; color: #245d10; }
.cf-status--pending { background: #fff0c2; color: #7a5600; }
.cf-status--rejected, .cf-status--refunded { background: #f4d6d3; color: #8f261f; }

.cf-library {
  width: min(100% - 32px, 1380px);
  margin: 24px auto 72px;
  color: var(--cf-ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}
.cf-library__intro { position: relative; overflow: hidden; padding: clamp(24px,3.2vw,42px); border-radius: 14px; background: radial-gradient(circle at 80% 10%, rgba(119,204,51,.24), transparent 32%), linear-gradient(135deg, #101d11, #020403); color: #fff; }
.cf-library__intro::after { content: "CF"; position: absolute; right: -12px; bottom: -38px; color: rgba(255,255,255,.035); font: 950 clamp(105px,17vw,230px)/.8 Georgia, serif; }
.cf-library__eyebrow { margin: 0 0 6px; color: var(--cf-green-bright); font-size: 10px; font-weight: 950; letter-spacing: .18em; text-transform: uppercase; }
.cf-library__intro h2 { position: relative; z-index: 1; max-width: 920px; margin: 0; color: #fff; font-family: Georgia, serif; font-size: clamp(30px,4.1vw,56px); line-height:.98;letter-spacing:-.035em; }
.cf-library__intro > p:last-child { position: relative; z-index: 1; margin:10px 0 0;color:#cddacb;font-size:clamp(13px,1.3vw,16px); }
.cf-library__grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-top: 24px; }
.cf-library-card { overflow: hidden; border: 1px solid #d9dfd4; border-radius: 12px; background: #fff; box-shadow: 0 14px 40px rgba(21,38,18,.09); }
.cf-library-card__cover { display: grid; overflow: hidden; aspect-ratio: 2/3; place-items: center; background: radial-gradient(circle at 50% 35%, #31582a, #101c11 72%); }
.cf-library-card__cover img { display:block;width:100%;height:100%;object-fit:contain;object-position:center; }
.cf-library-card__placeholder { display: grid; height: 100%; place-items: center; color: rgba(255,255,255,.15); font: 950 100px/1 Georgia, serif; }
.cf-library-card__body { padding: 25px; }
.cf-library-card__meta { margin: 0 0 8px !important; color: #4e7e3d; font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.cf-library-card__comments { color:#356c27;text-underline-offset:3px; }
.cf-library-card__comments:hover { color:#173d10; }
.cf-library-card h3 { margin: 0 0 10px; font-family: Georgia, serif; font-size: 28px; line-height: 1.05; }
.cf-library-card h3 a { color: var(--cf-ink); text-decoration: none; }
.cf-library-card__body > p:not(.cf-library-card__meta) { min-height: 3em; color: #647061; }
.cf-library-card__actions { display:flex;align-items:center;gap:14px;flex-wrap:wrap; }
.cf-discussion-link { color:#356c27;font-size:11px;font-weight:900;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px; }
.cf-discussion-link:hover { color:#173d10; }
.cf-library__empty { grid-column: 1/-1; padding: 50px; border: 1px dashed #9caf96; border-radius: 12px; text-align: center; }
.cf-library-offers { margin-top: 70px; }
.cf-library-offers__heading h2 { margin: 6px 0 24px; font-family: Georgia,serif; font-size: clamp(34px,5vw,60px); }
.cf-offer-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.cf-offer-card { display:grid;min-height:280px;align-content:start;padding:28px;border:1px solid #2b4727;border-radius:12px;background:radial-gradient(circle at 100% 0,rgba(119,204,51,.18),transparent 32%),#0c160d;color:#fff; }
.cf-offer-card > span { color:var(--cf-green-bright);font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase; }
.cf-offer-card h3 { margin:9px 0;font-family:Georgia,serif;font-size:30px;line-height:1.05; }
.cf-offer-card > p { color:#bbc9b8; }
.cf-offer-card__footer { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px; }
.cf-offer-card__footer > strong { color:var(--cf-green-bright);font-size:20px; }
.cf-offer-card__footer form { margin:0; }

.cf-auth {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(320px, 1.2fr);
  overflow: hidden;
  width: min(100%, 900px);
  margin: 35px auto;
  border: 1px solid #d6ddd2;
  border-radius: 14px;
  background: #fff;
  color: var(--cf-ink);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  box-shadow: 0 30px 80px rgba(13,35,11,.15);
}
.cf-auth__brand { padding: clamp(30px, 5vw, 60px); background: radial-gradient(circle at 90% 10%, rgba(119,204,51,.3), transparent 35%), #0b160c; color: #fff; }
.cf-auth__brand h2 { margin: 9px 0 20px; color: #fff; font-family: Georgia, serif; font-size: clamp(40px, 6vw, 68px); line-height: .92; }
.cf-auth__brand p:last-child { color: #c4d0c2; line-height: 1.6; }
.cf-auth__forms { padding: clamp(28px, 5vw, 55px); }
.cf-auth-tabs { display: flex; margin-bottom: 25px; border-bottom: 1px solid #dfe4dc; }
.cf-auth-tabs button { flex: 1; padding: 12px 5px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #697466; font: 900 12px/1 system-ui, sans-serif; cursor: pointer; }
.cf-auth-tabs button[aria-selected="true"] { border-color: var(--cf-green); color: var(--cf-ink); }
.cf-auth-form { display: none; gap: 16px; }
.cf-auth-form.is-active { display: grid; }
.cf-auth-form label, .cf-account-form label, .cf-purchase-gate label { display: grid; gap: 7px; color: #3e493b; font-size: 12px; font-weight: 850; }
.cf-auth-form input:not([type="checkbox"]), .cf-account-form input:not([type="checkbox"]) { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cbd3c7; border-radius: 6px; background: #fbfcfa; color: var(--cf-ink); font: 500 15px/1.2 system-ui, sans-serif; }
.cf-check { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 9px !important; line-height: 1.45; }
.cf-check input { width: 17px; height: 17px; margin-top: 1px; accent-color: var(--cf-green); }
.cf-auth-link { color: #3b6e27; font-size: 12px; font-weight: 800; text-align: center; }
.cf-form-fineprint, .cf-auth-form small { margin: 0; color: #758171; font-size: 11px; }
.cf-form-error { margin-bottom: 15px; padding: 12px 14px; border-left: 4px solid var(--cf-blood); background: #fae8e6; color: #7d201b; font-weight: 700; }
.cf-resend-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid #d8ded3; }
.cf-resend-form label { display: grid; gap: 7px; margin-bottom: 10px; color: #354332; font-size: .86rem; font-weight: 800; }
.cf-resend-form input { width: 100%; padding: 11px 12px; border: 1px solid #aebaab; border-radius: 7px; background: #fff; color: #172015; }
.cf-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.cf-account-shell { width: min(100% - 32px, 1180px); margin: 45px auto 100px; color: var(--cf-ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.cf-account-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; padding: clamp(30px, 6vw, 70px); border-radius: 15px; background: radial-gradient(circle at 75% 20%, rgba(119,204,51,.25), transparent 30%), #0c180d; color: #fff; }
.cf-account-header h1 { margin: 7px 0; color: #fff; font-family: Georgia, serif; font-size: clamp(38px, 7vw, 76px); line-height: .95; }
.cf-account-header p:last-child { margin: 0; color: #bdcbbb; }
.cf-account-header .cf-button--ghost { border-color: rgba(255,255,255,.55); color: #fff; }
.cf-verification-notice { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-top: 22px; padding: 20px 22px; border: 1px solid #d9b85f; border-radius: 10px; background: #fff7db; color: #514116; }
.cf-verification-notice p { margin: 5px 0; }
.cf-verification-notice small { color: #755d1d; font-weight: 750; }
.cf-account-section { margin-top: 45px; }
.cf-account-section h2 { margin: 0 0 17px; font-family: Georgia, serif; font-size: clamp(28px, 4vw, 44px); }
.cf-section-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.cf-section-heading a { color: #356e20; font-weight: 850; }
.cf-account-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cf-account-card { display: grid; min-height: 150px; align-content: space-between; padding: 22px; border: 1px solid #d5ddd1; border-radius: 10px; background: #fff; color: var(--cf-ink); text-decoration: none; box-shadow: 0 9px 28px rgba(13,35,11,.07); }
.cf-account-card:hover { border-color: var(--cf-green); color: var(--cf-ink); transform: translateY(-2px); }
.cf-account-card span { color: #478330; font-size: 10px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.cf-account-card strong { font-family: Georgia, serif; font-size: 23px; line-height: 1.1; }
.cf-account-card small { color: #748070; }
.cf-table-scroll { overflow-x: auto; }
.cf-account-table { width: 100%; border-collapse: collapse; background: #fff; }
.cf-account-table th, .cf-account-table td { padding: 14px; border-bottom: 1px solid #dfe4dc; text-align: left; }
.cf-account-table th { color: #647061; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.cf-account-form { display: grid; gap: 17px; max-width: 620px; padding: 25px; border: 1px solid #d9dfd5; border-radius: 10px; background: #fff; }
.cf-promo-form { display:grid;gap:8px;max-width:620px;padding:22px;border:1px solid #d9dfd5;border-radius:10px;background:#fff; }
.cf-promo-form > label { color:#4b5848;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase; }
.cf-promo-form > div { display:flex;gap:10px; }
.cf-promo-form input { min-width:0;flex:1;padding:11px;border:1px solid #cbd3c7;border-radius:6px;font:800 15px/1.2 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase; }

.cf-comments { margin-top: 55px; font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.cf-comments__heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 25px; padding-bottom: 18px; border-bottom: 2px solid #172015; }
.cf-comments__heading h2 { margin: 5px 0 0; font-family: Georgia, serif; font-size: clamp(30px, 5vw, 52px); }
.cf-comments__heading > span { color: #5d6b59; font-size: 12px; font-weight: 800; }
.cf-comment-list, .cf-comment-list .children { margin: 0; padding: 0; list-style: none; }
.cf-comment-list .children { margin-left: 55px; }
.cf-comment { margin: 0 0 16px; }
.cf-comment > article { padding: 20px; border: 1px solid #d9dfd5; border-radius: 10px; background: #fff; }
.cf-comment article header { display: flex; align-items: center; gap: 11px; }
.cf-comment-avatar { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; background: #172015; color: var(--cf-green); font: 900 16px/1 system-ui, sans-serif; }
.cf-comment article header > div { display: grid; }
.cf-comment article header time { color: #7b8678; font-size: 11px; }
.cf-spoiler-tag { margin-left: auto; padding: 4px 8px; border-radius: 99px; background: #efe3aa; color: #6d5200; font-size: 9px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.cf-comment__body { margin: 15px 0; line-height: 1.65; }
.cf-comment__body p:last-child { margin-bottom: 0; }
.cf-comment__body.is-spoiler { position: relative; min-height: 70px; overflow: hidden; border-radius: 6px; background: #1c211b; color: transparent; text-shadow: 0 0 13px #fff; cursor: pointer; user-select: none; }
.cf-comment__body.is-spoiler::after { content: "Tap to reveal spoiler"; position: absolute; inset: 0; display: grid; place-items: center; color: #fff; text-shadow: none; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.cf-comment__body.is-spoiler.is-revealed { padding: 12px; background: #f5f2e6; color: inherit; text-shadow: none; cursor: default; user-select: auto; }
.cf-comment__body.is-spoiler.is-revealed::after { content: none; }
.cf-comment article footer { display: flex; align-items: center; gap: 12px; }
.cf-comment article footer a, .cf-comment-action { padding: 0; border: 0; background: transparent; color: #4c7440; font: 850 11px/1 system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.cf-inline-form { display: inline; margin: 0; }
.cf-comment-edit, .cf-comment-report { display: grid; gap: 10px; margin-top: 15px; padding: 15px; border-radius: 7px; background: #f1f4ee; }
.cf-comment-edit[hidden], .cf-comment-report[hidden] { display: none; }
.cf-comment-edit textarea, .cf-comment-report textarea, .cf-comment-report select, .cf-comments textarea { width: 100%; padding: 11px; border: 1px solid #c7d0c3; border-radius: 6px; font: inherit; }
.cf-comments .comment-respond { margin-top: 30px; padding: clamp(20px, 4vw, 35px); border: 1px solid #d2dacd; border-radius: 10px; background: #fff; }
.cf-comments .comment-reply-title { margin-top: 0; font-family: Georgia, serif; font-size: 28px; }
.cf-comments-signin, .cf-comments-locked { padding: 25px; border: 1px solid #ccd5c8; border-radius: 9px; background: #e9eee6; text-align: center; }

@media (max-width: 960px) {
  .cf-reader-header { grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 0 14px; }
  .cf-reader-progress { position: absolute; right: 0; bottom: -3px; left: 0; }
  .cf-reader-progress__text { display: none; }
  .cf-reader-actions [data-reader-info] { display: none; }
  .cf-reader-actions [data-reader-fullscreen] { display: inline-flex; }
  .cf-reader-account-link { padding: 9px 11px; }
  .cf-fullscreen-button { height: 34px; padding: 0 9px; }
  .cf-fullscreen-button > span:first-child { font-size: 15px; }
  .cf-fullscreen-label { font-size: 9px; }
  .cf-library__grid, .cf-account-grid, .cf-offer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 700px) {
  .cf-platform-header { min-height:60px;padding:8px 12px; }
  .cf-platform-brand strong { font-size:13px; }
  .cf-platform-brand small,.cf-platform-header nav > a:first-child { display:none; }
  .cf-platform-header nav a { padding:9px 8px;font-size:10px; }
  .cf-platform-mark { width:36px;height:36px;font-size:12px; }
  .cf-platform-footer { align-items:flex-start;flex-direction:column; }
  .cf-reader-app { --header-height: 60px; --footer-height: 48px; }
  .cf-reader-page.admin-bar .cf-reader-app { min-height: 100dvh; }
  .cf-reader-header__identity span { display: none; }
  .cf-reader-header__identity strong { font-size: 14px; }
  .cf-reader-back { width: 34px; height: 34px; }
  .cf-reader-modes { top: calc(var(--header-height) + 8px); max-width: calc(100vw - 20px); }
  .cf-reader-modes button { padding: 8px 11px; font-size: 0; }
  .cf-reader-modes span { font-size: 16px; }
  .cf-reader-nav { display: none; }
  .cf-reader-footer { grid-template-columns: auto 1fr auto; gap: 10px; padding: 0 12px; }
  .cf-reader-footer button { font-size: 0; }
  .cf-reader-footer button::before { font-size: 15px; }
  .cf-reader-chapters::before { content: "☷"; }
  .cf-reader-comments-button::before { content: "◌"; }
  .cf-reader-comments-button { font-size:10px!important;white-space:nowrap; }
  .cf-reader-comments-button::before { content:none; }
  .cf-reader-image--page { inset: 3% 0; width: 100%; height: 94%; }
  .cf-watermarks span:nth-child(3) { display: none; }
  .cf-reader-info, .cf-reader-toc, .cf-purchase-gate { padding: 32px 22px; }
  .cf-reader-dialog { max-height: 92dvh; }
  .cf-library { width: min(100% - 20px, 1380px); margin-top: 10px; }
  .cf-library__intro { padding:24px 18px;border-radius:10px; }
  .cf-library__intro h2 { font-size:clamp(29px,9vw,40px); }
  .cf-library__intro > p:last-child { margin-top:8px;font-size:13px; }
  .cf-library__grid, .cf-account-grid, .cf-offer-grid { grid-template-columns: 1fr; }
  .cf-auth { grid-template-columns: 1fr; }
  .cf-auth__brand { padding: 32px 25px; }
  .cf-auth__brand h2 { font-size: 45px; }
  .cf-auth__forms { padding: 28px 22px; }
  .cf-account-shell { margin-top: 18px; }
  .cf-account-header { display: grid; }
  .cf-account-header .cf-button { justify-self: start; }
  .cf-reader-discussion { padding: 55px 14px 80px; }
  .cf-comment-list .children { margin-left: 18px; }
  .cf-comment > article { padding: 15px; }
}

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