/* ─── Character Bracket: Shallan's sketchbook (#cbk1) ─────────────────── */
#cbk1 {
  --cbk-paper: #e8d9b9; --cbk-paper-2: #dccaa3; --cbk-rule: #b9a47c;
  --cbk-ink: #2a2017; --cbk-ink-soft: #5d4b37; --cbk-blue: #23406f; --cbk-red: #8a2b1c;
  --cbk-title: 'IM Fell English SC', Georgia, serif; --cbk-serif: 'IM Fell English', Georgia, serif; --cbk-hand: 'Kalam', 'Segoe Print', cursive;
  margin: 32px 0; container-type: inline-size; color: var(--cbk-ink);
}
#cbk1 * { box-sizing: border-box; }
#cbk1 { scroll-margin-top: 90px; }
#cbk1 button, #cbk1 a { text-transform: none; letter-spacing: normal; font-weight: inherit; }
#cbk1 .cbk-cta { letter-spacing: 1px; }
#cbk1 .cbk-book { display: grid; grid-template-columns: 1.35fr 1fr; position: relative; border-radius: 6px; overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 0 8px #2a1d12, 0 0 0 10px #6b4f2c; }
#cbk1 .cbk-book::after { content: ''; position: absolute; top: 0; bottom: 0; left: 57.45%; width: 50px; margin-left: -25px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(60,40,20,.28) 45%, rgba(60,40,20,.38) 50%, rgba(60,40,20,.28) 55%, transparent); }
#cbk1 .cbk-page { position: relative; min-width: 0; min-height: 620px; padding: 32px 30px 36px;
  background: radial-gradient(ellipse at 30% 20%, #efe2c4 0%, var(--cbk-paper) 50%, var(--cbk-paper-2) 100%); }
#cbk1 .cbk-r { background: radial-gradient(ellipse at 70% 20%, #efe2c4 0%, var(--cbk-paper) 50%, var(--cbk-paper-2) 100%); padding-left: 34px; }
#cbk1 .cbk-page::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .35;
  background-image: radial-gradient(rgba(90,60,30,.18) 1px, transparent 1px); background-size: 5px 5px; }

#cbk1 .cbk-h2 { font-family: var(--cbk-title); font-size: 30px; line-height: 1.1; margin: 0 0 4px; letter-spacing: 1px; color: var(--cbk-ink); }
#cbk1 .cbk-sub { font-family: var(--cbk-serif); font-style: italic; color: var(--cbk-ink-soft); margin: 0 0 20px; font-size: 16px; line-height: 1.45; }

#cbk1 .cbk-img { width: 100%; aspect-ratio: 3 / 4; background-size: cover; background-position: 50% 15%; mix-blend-mode: multiply; }
#cbk1 .cbk-duel { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 8px; }
#cbk1 .cbk-sk { position: relative; display: block; width: 100%; border: 0; background: none; padding: 0; margin: 0; cursor: pointer; text-align: center; color: var(--cbk-ink); font: inherit; min-width: 0; }
#cbk1 .cbk-fr { position: relative; transform: rotate(var(--rot, -2deg)); background: #f3e9d3; padding: 7px 7px 10px; box-shadow: 0 6px 16px rgba(60,40,20,.25); transition: transform .2s; }
#cbk1 .cbk-sk:hover .cbk-fr { transform: rotate(0deg) translateY(-4px); }
#cbk1 .cbk-sk:focus-visible { outline: 2px dashed var(--cbk-blue); outline-offset: 6px; }
#cbk1 .cbk-nm { font-family: var(--cbk-hand); font-weight: 700; font-size: 26px; margin-top: 10px; line-height: 1; }
#cbk1 .cbk-tg { font-family: var(--cbk-serif); font-style: italic; color: var(--cbk-ink-soft); font-size: 14px; }
#cbk1 .cbk-or { font-family: var(--cbk-hand); font-size: 26px; color: var(--cbk-red); align-self: center; transform: rotate(-8deg); }
#cbk1 .cbk-sk svg { position: absolute; inset: -14px; width: calc(100% + 28px); height: calc(100% + 28px); pointer-events: none; overflow: visible; }
#cbk1 .cbk-sk svg path { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 400; stroke-dashoffset: 400; transition: stroke-dashoffset .7s ease-in-out; }
#cbk1 .cbk-c { stroke: var(--cbk-blue); }
#cbk1 .cbk-cx { stroke: var(--cbk-red); }
#cbk1 .cbk-chosen svg path { stroke-dashoffset: 0; }
#cbk1 .cbk-struck svg path { stroke-dashoffset: 0; transition-delay: .35s; }
#cbk1 .cbk-struck .cbk-img { opacity: .55; transition: opacity .4s .5s; }
#cbk1 .cbk-margin { font-family: var(--cbk-hand); color: var(--cbk-blue); font-size: 18px; margin: 20px 0 0; transform: rotate(-1.5deg); line-height: 1.4; }

#cbk1 .cbk-rh { font-family: var(--cbk-title); font-size: 18px; margin: 14px 0 4px; border-bottom: 1px solid var(--cbk-rule); padding-bottom: 2px; color: var(--cbk-ink); }
#cbk1 .cbk-ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
#cbk1 .cbk-ol2, #cbk1 .cbk-ol3 { grid-template-columns: 1fr; }
#cbk1 .cbk-ol li { margin: 0; padding: 0; font-family: var(--cbk-hand); font-size: 16px; color: var(--cbk-ink-soft); line-height: 1.55; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#cbk1 .cbk-ol li::before { display: none; }
#cbk1 .cbk-w { color: var(--cbk-ink); font-weight: 700; text-decoration: underline; text-decoration-color: var(--cbk-blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }
#cbk1 .cbk-x { text-decoration: line-through; text-decoration-color: var(--cbk-red); }
#cbk1 .cbk-cur { color: var(--cbk-blue) !important; }
#cbk1 .cbk-fresh { animation: cbkWrite .7s steps(18) both; }
@keyframes cbkWrite { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
#cbk1 .cbk-blank { color: var(--cbk-rule) !important; }

#cbk1 .cbk-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 16px; }
#cbk1 .cbk-cta { display: inline-block; font-family: var(--cbk-title); font-size: 18px; letter-spacing: 1px; line-height: 1.2; color: #f3e9d3; background: var(--cbk-blue);
  border: 2px solid var(--cbk-blue); border-radius: 4px; padding: 12px 22px; cursor: pointer; box-shadow: 3px 3px 0 var(--cbk-ink); text-decoration: none; }
#cbk1 .cbk-cta:hover { color: #fff; background: #2c4f88; }
#cbk1 .cbk-cta:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--cbk-ink); }
#cbk1 .cbk-cta:disabled { opacity: .6; cursor: default; }
#cbk1 .cbk-alt { background: transparent; color: var(--cbk-ink); border-color: var(--cbk-ink); }
#cbk1 .cbk-alt:hover { background: rgba(42,32,23,.08); color: var(--cbk-ink); }
#cbk1 .cbk-share a, #cbk1 .cbk-share button { font-family: var(--cbk-hand); font-size: 17px; color: var(--cbk-blue); background: none; border: 0; padding: 0; cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px; }
#cbk1 .cbk-intro { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 4px 0 0; }
#cbk1 .cbk-intro figure { margin: 0; text-align: center; }
#cbk1 .cbk-intro figcaption { font-family: var(--cbk-hand); font-size: 15px; color: var(--cbk-ink); }
#cbk1 .cbk-gate { display: grid; gap: 10px; max-width: 360px; margin-top: 10px; }
#cbk1 .cbk-gate label { font-family: var(--cbk-serif); font-style: italic; color: var(--cbk-ink); }
#cbk1 .cbk-gate input { font: 20px var(--cbk-hand); background: transparent; border: 0; border-bottom: 2px solid var(--cbk-ink); border-radius: 0; padding: 6px 2px; color: var(--cbk-ink); width: 100%; }
#cbk1 .cbk-gate input:focus { outline: none; border-bottom-color: var(--cbk-blue); }
#cbk1 .cbk-err { font-family: var(--cbk-hand); color: var(--cbk-red); font-size: 16px; }
#cbk1 .cbk-small { font-family: var(--cbk-serif); font-style: italic; color: var(--cbk-ink-soft); font-size: 13px; margin: 12px 0 0; }
#cbk1 .cbk-fr-big { --rot: 1.5deg; max-width: 280px; margin: 0 auto; }
#cbk1 .cbk-big { font-family: var(--cbk-title); font-size: 52px; line-height: 1; text-align: center; margin: 16px 0 2px; color: var(--cbk-ink); }
#cbk1 .cbk-center { text-align: center; }
#cbk1 .cbk-line { font-family: var(--cbk-hand); font-size: 19px; line-height: 1.45; color: var(--cbk-ink); margin: 14px 0 0; }

@container (max-width: 640px) {
  #cbk1 .cbk-book { grid-template-columns: 1fr; box-shadow: 0 24px 60px rgba(0,0,0,.6), 0 0 0 6px #2a1d12; }
  #cbk1 .cbk-book::after { display: none; }
  #cbk1 .cbk-page { min-height: 0; padding: 26px 18px; }
  #cbk1 .cbk-r { border-top: 2px dashed rgba(60,40,20,.25); padding-left: 18px; }
  #cbk1 .cbk-nm { font-size: 22px; }
  #cbk1 .cbk-big { font-size: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  #cbk1 *, #cbk1 *::before { animation-duration: .01ms !important; transition-duration: .01ms !important; transition-delay: 0s !important; }
}
#cbk1 .cbk-p-kaladin { background-image: url(../img/bracket/sk_kaladin.jpg); }
#cbk1 .cbk-p-syl { background-image: url(../img/bracket/sk_syl.jpg); }
#cbk1 .cbk-p-lift { background-image: url(../img/bracket/sk_lift.jpg); }
#cbk1 .cbk-p-hoid { background-image: url(../img/bracket/sk_hoid.jpg); }
#cbk1 .cbk-p-jasnah { background-image: url(../img/bracket/sk_jasnah.jpg); }
#cbk1 .cbk-p-rock { background-image: url(../img/bracket/sk_rock.jpg); }
#cbk1 .cbk-p-adolin { background-image: url(../img/bracket/sk_adolin.jpg); }
#cbk1 .cbk-p-teft { background-image: url(../img/bracket/sk_teft.jpg); }
#cbk1 .cbk-p-szeth { background-image: url(../img/bracket/sk_szeth.jpg); }
#cbk1 .cbk-p-venli { background-image: url(../img/bracket/sk_venli.jpg); }
#cbk1 .cbk-p-shallan { background-image: url(../img/bracket/sk_shallan.jpg); }
#cbk1 .cbk-p-lopen { background-image: url(../img/bracket/sk_lopen.jpg); }
#cbk1 .cbk-p-navani { background-image: url(../img/bracket/sk_navani.jpg); }
#cbk1 .cbk-p-renarin { background-image: url(../img/bracket/sk_renarin.jpg); }
#cbk1 .cbk-p-dalinar { background-image: url(../img/bracket/sk_dalinar.jpg); }
#cbk1 .cbk-p-pattern { background-image: url(../img/bracket/sk_pattern.jpg); }
