
  #pine-redm { --paper: #111111; --sheet: #1a1a1a; --ink: #f1e7d4; --soft: #b2b2b2; --line: #383838; --sand: #262626; --rust: #e2bd83; --green: #b3ddc4; --green-bg: #203630; --warning: #ffdb9f; --warning-bg: #3d2c24; --red: #cdcdcd; --red-bg: #2f2f2f; color: var(--ink); font: 14px/1.55 "Segoe UI", Tahoma, sans-serif; }
  #pine-redm .portal { color-scheme: dark; }
  body { box-sizing: border-box; display: flex; flex-direction: column; min-height: 100dvh; margin: 0; padding: clamp(9px,3vw,34px); background: #0d0d0d; }
  #pine-redm { display: flex; flex: 1; flex-direction: column; width: 100%; max-width: 1600px; margin: 0 auto; }
  #pine-redm * { box-sizing: border-box; }
  #pine-redm .brand-symbol::after { content: '✦'; font-size: 17px; }
  #pine-redm button:disabled { opacity: .6; }
  #pine-redm .preview-bar { color-scheme: dark; }
  #pine-redm [hidden] { display: none !important; }
  #pine-redm .session-loading { padding: 32px 20px; text-align: center; color: var(--soft); }
  #pine-redm .session-loading a { display: inline-block; margin-top: 10px; color: var(--rust); }
  #pine-redm button, #pine-redm input, #pine-redm textarea { font: inherit; }
  #pine-redm button { color: inherit; border: 0; border-radius: 7px; }
  #pine-redm button:focus-visible, #pine-redm input:focus-visible, #pine-redm textarea:focus-visible { outline: 2px solid var(--rust); outline-offset: 3px; }
  #pine-redm h1, #pine-redm h2, #pine-redm p { margin: 0; }
  #pine-redm h1 { font-size: clamp(27px,4vw,38px); line-height: 1.19; font-weight: 650; letter-spacing: -.025em; }
  #pine-redm h2 { font-size: 15px; font-weight: 650; }
  #pine-redm small { font-size: 12px; }
  #pine-redm svg { flex: none; width: 16px; height: 16px; vertical-align: middle; }
  #pine-redm .preview-bar { color-scheme: light dark; display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; margin: 0 0 10px; padding-right: 90px; color: light-dark(#444444,#c7c7c7); font-size: 12px; }
  #pine-redm .preview-bar > span { display: flex; align-items: center; gap: 6px; }
  #pine-redm .persona { display: flex; align-items: center; gap: 2px; background: light-dark(#e2e2e2,#262626); padding: 3px; border-radius: 8px; }
  #pine-redm .persona button { padding: 3px 12px; background: transparent; }
  #pine-redm .persona button[aria-pressed="true"] { background: var(--sheet); color: var(--ink); box-shadow: 0 1px 3px #0002; }
  #pine-redm .portal { display: flex; flex: 1; flex-direction: column; background: var(--paper); border: 1px solid var(--line); border-radius: 13px; overflow: hidden; }
  #pine-redm .masthead { min-height: 65px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 11px 23px; background: #161616; color: #fbebd1; border-bottom: 1px solid #383838; }
  #pine-redm .brand { display: flex; align-items: center; gap: 10px; line-height: 1.2; }
  #pine-redm .brand-symbol { display: grid; place-items: center; width: 34px; height: 34px; color: #ebbf8b; border: 1px solid #8b664a; border-radius: 50%; }
  #pine-redm .brand-symbol svg { width: 20px; height: 20px; }
  #pine-redm .brand strong { font-family: Georgia, serif; font-size: 15px; letter-spacing: .13em; }
  #pine-redm .brand small, #pine-redm .mast-label { display: block; color: #d9bb9c; font-size: 10px; letter-spacing: .17em; }
  #pine-redm .account { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
  #pine-redm .account-role { padding: 3px 8px; border: 1px solid #795a44; border-radius: 6px; font-size: 12px; }
  #pine-redm .account .quiet { color: #f5d8b8; }
  #pine-redm .signin { display: grid; flex: 1; grid-template-columns: 1.05fr 1fr; min-height: 380px; }
  #pine-redm .signin-copy { align-self: center; padding: 36px clamp(21px,5vw,56px); }
  #pine-redm .eyebrow { display: flex; align-items: center; gap: 7px; color: var(--rust); font-weight: 650; font-size: 11px; letter-spacing: .105em; margin-bottom: 9px; }
  #pine-redm .eyebrow > span { width: 14px; height: 1px; background: currentColor; }
  #pine-redm .signin h1 { font-size: clamp(34px,5vw,51px); }
  #pine-redm .signin p { color: var(--soft); max-width: 34ch; margin: 15px 0 20px; }
  #pine-redm .discord, #pine-redm .primary { display: inline-flex; justify-content: center; align-items: center; gap: 9px; padding: 10px 15px; background: #4b50b6; color: #fff; font-weight: 650; }
  #pine-redm .primary { background: #dec092; color: #1a1a1a; }
  #pine-redm .discord:hover, #pine-redm .primary:hover { filter: brightness(1.12); }
  #pine-redm .signin-foot { display: flex; align-items: center; gap: 7px; color: var(--soft); font-size: 12px; margin-top: 13px; }
  #pine-redm .frontier { isolation: isolate; overflow: hidden; position: relative; min-height: 220px; background: radial-gradient(ellipse at 66% 45%,#666666,#2e2e2e 62%,#171717); }
  #pine-redm .frontier::after { content: ""; position: absolute; inset: 12px; border: 1px solid #f6d5aa77; pointer-events: none; }
  #pine-redm .sun { position: absolute; width: 29%; aspect-ratio: 1; top: 13%; right: 21%; border-radius: 50%; background: #e7cfae; box-shadow: 0 0 45px #bdbdbd75; }
  #pine-redm .ridge { position: absolute; inset: 0; }
  #pine-redm .ridge-far { background: #4d4d4d; clip-path: polygon(0 48%,13% 41%,24% 29%,31% 33%,42% 48%,52% 45%,61% 51%,73% 35%,82% 34%,100% 47%,100% 100%,0 100%); }
  #pine-redm .ridge-mid { background: #2f2f2f; clip-path: polygon(0 53%,12% 55%,26% 48%,35% 52%,45% 58%,54% 57%,69% 49%,75% 54%,85% 60%,100% 52%,100% 100%,0 100%); }
  #pine-redm .ridge-near { background: linear-gradient(#202020,#1a1a1a); clip-path: polygon(0 60%,15% 65%,30% 62%,47% 72%,64% 69%,76% 64%,89% 66%,100% 57%,100% 100%,0 100%); }
  #pine-redm .frontier-caption { position: absolute; inset: auto 26px 30px; display: grid; gap: 2px; color: #ffe9c7; }
  #pine-redm .frontier-caption b { font: italic clamp(27px,5vw,47px)/1.05 Georgia,serif; }
  #pine-redm .frontier-caption small, #pine-redm .frontier-caption > span { font-size: 10px; letter-spacing: .16em; }
  #pine-redm .workspace { display: grid; flex: 1; grid-template-columns: 172px minmax(0,1fr); min-height: 440px; }
  #pine-redm .sidebar { display: flex; flex-direction: column; gap: 10px; background: var(--sheet); border-right: 1px solid var(--line); padding: 23px 11px 13px; }
  #pine-redm .nav-label { padding-left: 9px; color: var(--soft); font-size: 11px; font-weight: 650; letter-spacing: .09em; }
  #pine-redm nav { display: grid; gap: 5px; }
  #pine-redm nav button { display: flex; align-items: center; gap: 8px; text-align: left; padding: 9px; background: transparent; white-space: nowrap; }
  #pine-redm nav button:hover, #pine-redm nav button[aria-current="page"] { background: var(--sand); color: var(--rust); }
  #pine-redm .sidebar-foot { margin-top: auto; padding: 10px 4px 0; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 6px; color: var(--soft); font-size: 11px; }
  #pine-redm .content { padding: clamp(16px,3vw,29px); min-width: 0; }
  #pine-redm .description { margin: 5px 0 18px; color: var(--soft); }
  #pine-redm .review-layout { display: grid; grid-template-columns: minmax(145px,.75fr) minmax(0,1.35fr); gap: 12px; align-items: start; }
  #pine-redm .panel, #pine-redm .application, #pine-redm .status-box { border: 1px solid var(--line); border-radius: 10px; background: var(--sheet); min-width: 0; }
  #pine-redm .panel-title { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 5px 10px; border-bottom: 1px solid var(--line); padding: 11px 13px; }
  #pine-redm .pill { display: inline-flex; width: fit-content; padding: 2px 8px; border-radius: 20px; font-size: 11px; white-space: nowrap; }
  #pine-redm .waiting { color: var(--warning); background: var(--warning-bg); }
  #pine-redm .passed { color: var(--green); background: var(--green-bg); }
  #pine-redm .denied { color: var(--red); background: var(--red-bg); }
  #pine-redm .neutral { color: var(--soft); background: var(--sand); }
  #pine-redm .queue-item { display: grid; text-align: left; width: 100%; gap: 3px; padding: 11px 13px; background: transparent; border-radius: 0; }
  #pine-redm .queue-item + .queue-item { border-top: 1px solid var(--line); }
  #pine-redm .queue-item:last-child { border-radius: 0 0 9px 9px; }
  #pine-redm .queue-item[aria-pressed="true"] { background: var(--sand); box-shadow: inset 3px 0 var(--rust); }
  #pine-redm .queue-item span:first-child { font-weight: 650; overflow-wrap: anywhere; }
  #pine-redm .queue-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 9px; }
  #pine-redm .queue-item small, #pine-redm .muted { color: var(--soft); }
  #pine-redm .review-body { display: grid; gap: 10px; padding: 13px; }
  #pine-redm .review-body p { overflow-wrap: anywhere; }
  #pine-redm .review-body label, #pine-redm .application label { display: grid; gap: 4px; font-weight: 600; }
  #pine-redm input, #pine-redm textarea { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; color: var(--ink); background: var(--paper); }
  #pine-redm textarea { resize: vertical; }
  #pine-redm .actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
  #pine-redm .quiet { background: transparent; color: var(--rust); padding: 6px 8px; font-weight: 600; }
  #pine-redm .quiet:hover { text-decoration: underline; }
  #pine-redm .quiet.whitelist-revoke { color: var(--red); }
  #pine-redm .pill.paused { color: var(--warning); background: var(--warning-bg); }
  #pine-redm .status-box { max-width: 880px; padding: 15px; }
  #pine-redm .application label { width: 100%; }
  #pine-redm .identity { display: flex; gap: 7px; align-items: center; color: var(--green); }
  #pine-redm .status-box { display: grid; gap: 7px; justify-items: start; }
  #pine-redm .list-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px 14px; padding: 12px 13px; }
  #pine-redm .list-row + .list-row { border-top: 1px solid var(--line); }
  #pine-redm .list-row div { overflow-wrap: anywhere; }
  #pine-redm .list-row small { display: block; color: var(--soft); }
  #pine-redm .log-row time { color: var(--soft); font-size: 12px; }
  #pine-redm .empty { padding: 13px; color: var(--soft); }
  #pine-redm .notice { background: var(--sand); border-radius: 7px; padding: 9px 12px; margin-top: 12px; }
  #pine-redm .apply-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.13fr); border: 1px solid #454545; border-radius: 12px; overflow: hidden; }
  #pine-redm .gate-cover { position: relative; isolation: isolate; display: flex; align-items: end; min-height: 520px; overflow: hidden; background: #1c1c1c; }
  #pine-redm .gate-cover::after { content: ""; position: absolute; inset: 10px; border: 1px solid #d7ad805c; border-radius: 65px 65px 2px 2px; pointer-events: none; }
  #pine-redm .gate-art { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: radial-gradient(ellipse at 50% 30%,#636363 0,#404040 28%,#212121 61%,#141414 83%); }
  #pine-redm .stars { position: absolute; inset: 0; opacity: .75; background: radial-gradient(1px 1px at 16% 24%,#ffe3bd 95%,transparent), radial-gradient(1px 1px at 69% 13%,#fff0d0 95%,transparent), radial-gradient(1.5px 1.5px at 80% 33%,#ffe5c9 95%,transparent), radial-gradient(1px 1px at 25% 42%,#dddddd 95%,transparent), radial-gradient(2px 2px at 32% 13%,#ffe0bc 95%,transparent), radial-gradient(1px 1px at 55% 9%,#ffeacb 95%,transparent), radial-gradient(1px 1px at 91% 17%,#d6d6d6 95%,transparent), radial-gradient(1px 1px at 13% 35%,#d6d6d6 95%,transparent); }
  #pine-redm .eclipse { position: absolute; width: min(39%,130px); aspect-ratio: 1; top: 13%; left: 50%; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle at 32% 25%,#4d4d4d,#2b2b2b 72%); border: 1px solid #e8bd99; box-shadow: 0 0 20px #cbcbcb77, 0 0 65px #9898986b; }
  #pine-redm .archway { position: absolute; top: 24%; left: 50%; transform: translateX(-50%); width: 55%; height: 52%; border: 7px double #d2a57c8a; border-bottom: 0; border-radius: 49% 49% 0 0; background: radial-gradient(ellipse at 50% 74%,#acacac73,transparent 62%); box-shadow: 0 0 26px #e2a79c38, inset 0 0 26px #f1a2af3b; }
  #pine-redm .forest { position: absolute; inset: 31% 0 0; background: linear-gradient(#292929,#141414 69%); clip-path: polygon(0 29%,5% 3%,9% 30%,12% 19%,17% 42%,20% 30%,25% 51%,32% 58%,42% 60%,50% 67%,58% 59%,69% 56%,76% 43%,81% 26%,84% 40%,91% 9%,94% 25%,98% 0,100% 29%,100% 100%,0 100%); }
  #pine-redm .mist { position: absolute; inset: 48% 0 0; background: radial-gradient(ellipse at 39% 11%,#b3b3b34a,transparent 53%), linear-gradient(transparent,#131313 77%); }
  #pine-redm .gate-title { padding: 21px 23px 29px; color: #f6e7cd; }
  #pine-redm .edition { display: block; color: #e2bc97; font: 11px Georgia,serif; letter-spacing: .17em; margin: 7px 0; }
  #pine-redm .sigil { color: #efca97; font-size: 22px; }
  #pine-redm .gate-title h1 { font-size: clamp(28px,4.2vw,46px); }
  #pine-redm .gate-title p { color: #c9c9c9; margin-top: 8px; }
  #pine-redm .form-side { background: var(--sheet); padding: clamp(15px,2.6vw,25px); min-width: 0; }
  #pine-redm .form-title { font-size: 24px; margin-bottom: 9px; }
  #pine-redm .book-heading { margin-bottom: 14px; }
  #pine-redm .book-heading h1 { font-size: clamp(25px,3.6vw,34px); }
  #pine-redm .application.book { max-width: none; display: block; padding: 7px 7px 0; border: 1px solid #545454; border-radius: 12px; background: #1c1c1c; box-shadow: 0 4px 0 #272727, 0 6px 0 #111111; perspective: 1300px; }
  #pine-redm .book-spread { position: relative; grid-template-columns: repeat(2,minmax(0,1fr)); border-color: #585858; border-radius: 7px; box-shadow: 0 2px 0 #393939, 0 4px 0 #272727; }
  #pine-redm .book-spread::after { content: ""; position: absolute; pointer-events: none; inset: 0 auto 0 50%; width: 1px; background: #5c5c5c; box-shadow: 0 0 11px 4px #111111a6; }
  #pine-redm .book-spread[data-turn="next"] { animation: pine-book-next .29s ease-out; }
  #pine-redm .book-spread[data-turn="prev"] { animation: pine-book-prev .29s ease-out; }
  @keyframes pine-book-next { from { opacity: .55; transform: rotateY(-8deg); } to { opacity: 1; transform: none; } }
  @keyframes pine-book-prev { from { opacity: .55; transform: rotateY(8deg); } to { opacity: 1; transform: none; } }
  @media (prefers-reduced-motion: reduce) { #pine-redm .book-spread[data-turn] { animation: none; } }
  #pine-redm .book-leaf { display: grid; gap: 12px; align-content: start; min-height: 340px; background: radial-gradient(ellipse at 50% 0%,#272727,#1a1a1a 72%); }
  #pine-redm .book-leaf .eyebrow, #pine-redm .book-leaf .form-title { margin: 0; }
  #pine-redm .book-leaf label .muted { font-weight: 400; font-size: 12px; }
  #pine-redm .book-leaf .identity { font-size: 12px; }
  #pine-redm .question-leaf textarea { margin-top: 4px; }
  #pine-redm .book .gate-cover { min-height: 395px; }
  #pine-redm .book .gate-title { position: relative; z-index: 1; width: 100%; min-width: 0; padding-bottom: 68px; pointer-events: none; text-shadow: 0 2px 12px #131313; }
  #pine-redm .gate-heading { font-size: clamp(26px,4vw,38px); line-height: 1.15; margin-bottom: 12px; }
  #pine-redm .portrait-field { position: absolute; inset: 0; overflow: hidden; }
  #pine-redm .portrait-field:focus-within { outline: 2px solid var(--rust); outline-offset: -4px; }
  #pine-redm .portrait-placeholder { position: absolute; top: 45%; left: 50%; transform: translate(-50%,-50%); color: #f3d6be; opacity: .60; font: 52px/1 Georgia,serif; text-shadow: 0 0 20px #272727; }
  #pine-redm .portrait-field:hover .portrait-placeholder, #pine-redm .portrait-field:focus-within .portrait-placeholder { opacity: 1; }
  #pine-redm .portrait-field:has(img:not([hidden])) .portrait-placeholder { display: none; }
  #pine-redm .portrait-field img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .68; mask-image: linear-gradient(#000 48%,transparent 100%); }
  #pine-redm .portrait-hint { color: #cbcbcb; font-size: 11px; font-weight: 400; }
  #pine-redm .portrait-field input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; }
  #pine-redm .portrait-result { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 7px; color: #ead6cb; overflow-wrap: anywhere; font-size: 12px; }
  #pine-redm .portrait-result:has(span:empty) { display: none; }
  #pine-redm .portrait-result button { pointer-events: auto; background: #202020; }
  #pine-redm .proof-portrait { display: block; max-width: 100%; width: 130px; height: 130px; object-fit: cover; border: 1px solid #939393; border-radius: 7px; }
  #pine-redm [data-character-proof], #pine-redm [data-answer-proof] { display: grid; gap: 9px; overflow-wrap: anywhere; }
  #pine-redm [data-character-proof] p, #pine-redm [data-answer-proof] p { white-space: pre-wrap; }
  #pine-redm .book-controls { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 7px; padding: 12px 3px 9px; }
  #pine-redm .book-controls button:first-child { justify-self: start; }
  #pine-redm .book-controls .primary { justify-self: end; }
  #pine-redm .book-controls button:disabled { opacity: .47; }
  #pine-redm .page-number { color: var(--rust); font-size: 12px; text-align: center; }
  #pine-redm .filters { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 12px; }
  #pine-redm .filters button { background: var(--sheet); border: 1px solid var(--line); padding: 5px 10px; font-size: 12px; }
  #pine-redm .filters button[aria-pressed="true"] { background: var(--sand); color: var(--rust); border-color: #927756; }
  #pine-redm .filters small { margin-inline-start: 4px; color: var(--soft); }
  #pine-redm .log-filters { padding: 10px 13px 0; }
  #pine-redm .back { margin-bottom: 12px; }
  #pine-redm .intake { margin-bottom: 12px; }
  #pine-redm .feedback { padding: 10px 12px; border: 1px solid #565656; border-radius: 7px; background: var(--red-bg); color: var(--red); margin: 6px 0 10px; overflow-wrap: anywhere; white-space: pre-wrap; }
  #pine-redm .review-body p { white-space: pre-wrap; }
  #pine-redm .attachment { color: var(--rust); overflow-wrap: anywhere; }
  #pine-redm .attachment-preview { padding: 8px; border-left: 2px solid var(--rust); }
  #pine-redm .dm-preview { padding: 9px 12px; border-left: 2px solid #9a91e5; background: #26223d; border-radius: 3px; overflow-wrap: anywhere; }
  #pine-redm .dm-preview p { white-space: pre-wrap; }
  #pine-redm .revision { color: var(--red); background: var(--red-bg); }
  #pine-redm .revision-form { display: grid; gap: 7px; }
  #pine-redm [data-review-actions] { display: grid; gap: 9px; }
  @media (min-width: 651px) {
    #pine-redm .content:has(> [data-screen="apply"]:not([hidden]) .book:not([hidden])),
    #pine-redm [data-screen="apply"]:has(.book:not([hidden])),
    #pine-redm .application.book,
    #pine-redm .book-leaf:has(textarea),
    #pine-redm .book-leaf label:has(textarea) {
      display: flex;
      flex-direction: column;
    }
    #pine-redm [data-screen="apply"]:has(.book:not([hidden])),
    #pine-redm .application.book,
    #pine-redm .book-spread,
    #pine-redm .book-leaf label:has(textarea),
    #pine-redm .book-leaf textarea { flex: 1 0 auto; }
    #pine-redm .book-leaf textarea { min-height: 150px; }
  }
  @media (max-width: 650px) {
    #pine-redm .workspace { grid-template-columns: minmax(0,1fr); }
    #pine-redm .sidebar { border-right: 0; border-bottom: 1px solid var(--line); padding: 8px 10px; gap: 4px; }
    #pine-redm nav { display: flex; flex-wrap: wrap; }
    #pine-redm .sidebar-foot { display: none; }
  }
  @media (max-width: 580px) {
    #pine-redm .apply-layout { grid-template-columns: minmax(0,1fr); }
    #pine-redm .book-spread::after { display: none; }
    #pine-redm .book-leaf { min-height: 0; }
    #pine-redm .book-leaf + .book-leaf { border-top: 1px solid var(--line); }
    #pine-redm .gate-cover { min-height: 246px; }
    #pine-redm .gate-title { padding: 16px 22px 23px; }
    #pine-redm .book .gate-title { padding-bottom: 32px; }
    #pine-redm .gate-art { left: 15%; }
    #pine-redm .archway { width: 34%; left: 67%; }
    #pine-redm .eclipse { width: 78px; left: 67%; }
  }
  @media (max-width: 520px) {
    #pine-redm .signin, #pine-redm .review-layout { grid-template-columns: minmax(0,1fr); }
    #pine-redm .signin-copy { padding: 25px 18px; }
    #pine-redm .frontier { min-height: 155px; }
    #pine-redm .frontier-caption { bottom: 16px; }
    #pine-redm .masthead { padding-inline: 12px; }
    #pine-redm .list-row { grid-template-columns: minmax(0,1fr) auto; }
    #pine-redm .log-row time { grid-column: 1 / -1; }
    #pine-redm .book-controls button { padding-inline: 6px; font-size: 12px; }
  }
  @media (pointer: coarse) { #pine-redm button { min-height: 44px; } }

/* BLACKVEIL_NO_SELECT_V1 — text is not selectable; only fields you can type in. */
html, body, body * { -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), textarea, [contenteditable="true"] { -webkit-user-select: text; user-select: text; }
::selection { background: rgba(219, 165, 114, .35); color: #fff7ec; }
/* BLACKVEIL_MEMBERS_NATIVE_V2 */
#pine-redm .bv-native-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 8px}
#pine-redm .bv-native-toolbar label{display:grid;gap:5px;flex:1 1 260px;color:var(--soft);font-size:12px;font-weight:600}
#pine-redm .bv-native-toolbar label:last-child{flex:0 1 190px}
#pine-redm .bv-native-toolbar input,#pine-redm .bv-native-toolbar select{width:100%;padding:10px 12px;color:var(--ink);background:var(--sheet);border:1px solid var(--line);border-radius:7px;font:inherit}
#pine-redm .bv-native-total{font-size:12px;color:var(--soft);margin:5px 0 11px}
#pine-redm .bv-native-roster{border:0;background:transparent;display:grid;gap:9px}
#pine-redm .bv-native-card{border:1px solid var(--line);background:var(--sheet);border-radius:10px;padding:15px 16px}
#pine-redm .bv-native-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap}
#pine-redm .bv-native-card-head small{display:block;color:var(--soft);overflow-wrap:anywhere;margin-top:4px}
#pine-redm .bv-native-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
#pine-redm .bv-native-buttons button{border:1px solid var(--line);border-radius:7px;padding:8px 12px;text-decoration:none}
#pine-redm .bv-native-buttons button:hover{border-color:var(--rust)}
#pine-redm .bv-native-buttons .whitelist-revoke{border-color:#8f4655;color:var(--red)}

/* BLACKVEIL_NAV_DEPTH_V1 — sidebar menu with depth; active item is lit, press feels physical */
#pine-redm nav { display: grid; gap: 5px; }
#pine-redm nav button { position: relative; border: 1px solid transparent; border-radius: 9px; padding: 10px 12px 10px 14px; color: #c9c9c9; background: transparent; cursor: pointer; transition: background .14s ease, border-color .14s ease, box-shadow .14s ease, color .14s ease, transform .08s ease; }
#pine-redm nav button:hover { background: rgba(239,209,163,.06); border-color: rgba(239,209,163,.14); color: #f3dcc0; }
#pine-redm nav button:active { transform: translateY(1px) scale(.985); }
#pine-redm nav button[aria-current="page"], #pine-redm nav button.bv-staff-schedule-nav.bv-ss-active {
  background: linear-gradient(180deg, rgba(239,209,163,.17), rgba(239,209,163,.05));
  border-color: rgba(239,209,163,.36); color: #f7dfbb;
  box-shadow: inset 0 1px 0 rgba(255,240,220,.14), inset 0 -1px 0 rgba(0,0,0,.35), 0 8px 18px -10px rgba(0,0,0,.9);
}
#pine-redm nav button[aria-current="page"]::before, #pine-redm nav button.bv-staff-schedule-nav.bv-ss-active::before {
  content: ""; position: absolute; left: -1px; top: 9px; bottom: 9px; width: 3px; border-radius: 3px;
  background: #efd1a3; box-shadow: 0 0 10px rgba(239,209,163,.65);
}
#pine-redm nav button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
#pine-redm nav button > i:empty { display: none; }

/* BLACKVEIL_V3 — logo, login, questions, review, flip, editor, portrait */
#pine-redm .eyebrow, #pine-redm .bv-ss-kicker, #pine-redm .edition { display: none !important; }
#pine-redm .brand-logo { width: 40px; height: 40px; object-fit: contain; filter: drop-shadow(0 0 8px #e2bd8340); }
#pine-redm .brand-symbol { display: none; }

#pine-redm .session-loading { display: grid; place-items: center; align-content: center; gap: 14px; min-height: 60vh; animation: bv-fade-in .4s ease .25s both; }
#pine-redm .session-loading[hidden] { display: none; }
#pine-redm .session-loading img { width: 64px; height: 64px; animation: bv-breathe 2.4s ease-in-out infinite; }
#pine-redm .session-loading p { margin: 0; font-size: 13px; letter-spacing: .02em; }
@keyframes bv-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes bv-breathe { 0%,100% { opacity: .55; transform: scale(.97); } 50% { opacity: 1; transform: scale(1); } }

/* login */
#pine-redm .signin { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); min-height: min(640px, calc(100vh - 90px)); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--sheet); }
#pine-redm .signin-copy { padding: clamp(28px,5vw,64px); display: grid; align-content: center; gap: 0; }
#pine-redm .signin h1 { font-family: Georgia, 'Noto Serif Thai', serif; font-size: clamp(32px,4.4vw,48px); line-height: 1.15; margin: 0; }
#pine-redm .signin .signin-lead { max-width: 46ch; margin: 16px 0 26px; font-size: 15px; line-height: 1.75; color: var(--soft); }
#pine-redm .signin-steps { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 0; counter-reset: step; max-width: 460px; }
#pine-redm .signin-steps li { counter-increment: step; position: relative; display: grid; gap: 2px; padding: 12px 0 12px 46px; border-top: 1px solid var(--line); }
#pine-redm .signin-steps li:last-child { border-bottom: 1px solid var(--line); }
#pine-redm .signin-steps li::before { content: counter(step); position: absolute; left: 0; top: 13px; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; border: 1px solid #e2bd8366; color: var(--rust); font: 600 13px/1 Georgia, serif; }
#pine-redm .signin-steps b { font-size: 14px; color: var(--ink); }
#pine-redm .signin-steps span { font-size: 13px; color: var(--soft); }
#pine-redm .signin .discord { justify-self: start; min-width: 260px; padding: 12px 22px; font-size: 15px; }
#pine-redm .signin .signin-foot { margin: 12px 0 0; font-size: 12px; }
#pine-redm .frontier { display: grid; place-items: center; align-content: center; gap: 18px; padding: 40px 24px; background: radial-gradient(ellipse at 50% 42%,#4e4e4e 0,#282828 46%,#141414 82%); }
#pine-redm .frontier > :not(.frontier-logo):not(.frontier-motto) { display: none; }
#pine-redm .frontier::before { content: ""; position: absolute; width: 72%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#e2bd8326,transparent 66%); z-index: -1; }
#pine-redm .frontier::after { inset: 14px; border-color: #e2bd8333; border-radius: 10px; }
#pine-redm .frontier-logo { width: min(68%, 340px); height: auto; filter: drop-shadow(0 10px 30px #000a); animation: bv-fade-in .8s ease both; }
#pine-redm .frontier-motto { margin: 0; color: #e9d6bd; font: italic 15px/1.4 Georgia, 'Noto Serif Thai', serif; letter-spacing: .02em; text-align: center; }

/* application cover */
#pine-redm .gate-art { background: linear-gradient(180deg,#12121200 40%,#121212ee 92%), url('/cover-sea.webp') center 40% / cover no-repeat, radial-gradient(ellipse at 50% 30%,#636363 0,#404040 28%,#212121 61%,#141414 83%); }
#pine-redm .gate-art > * { display: none; }
#pine-redm .gate-cover::after { border-radius: 8px; border-color: #d7ad8040; }
#pine-redm .gate-heading { font-family: Georgia, 'Noto Serif Thai', serif; line-height: 1.2; margin: 0 0 8px; }
#pine-redm .portrait-hint { line-height: 1.6; color: #d5d5d5; margin: 6px 0 0; font-size: 12px; }
#pine-redm .portrait-hint b { color: var(--rust); font-weight: 600; }
#pine-redm .portrait-placeholder { display: grid; justify-items: center; gap: 8px; width: 112px; height: 112px; align-content: center; border: 1px dashed #f3d6be88; border-radius: 50%; background: #12121266; font-size: 40px; transition: opacity .15s, border-color .15s, background .15s; }
#pine-redm .portrait-placeholder small { font: 500 11px/1.3 inherit; font-family: inherit; letter-spacing: 0; }
#pine-redm .portrait-field { cursor: pointer; }
#pine-redm .portrait-field.bv-drop .portrait-placeholder { opacity: 1; border-color: var(--rust); border-style: solid; background: #e2bd8326; }
#pine-redm .portrait-field.bv-drop { outline: 2px dashed var(--rust); outline-offset: -8px; }
#pine-redm .portrait-field.bv-busy { cursor: progress; }
#pine-redm .portrait-field.bv-busy .portrait-placeholder { animation: bv-breathe 1s ease-in-out infinite; }
#pine-redm .portrait-error { color: #ff9f8f; font-size: 12px; margin: 4px 0 0; }

/* question leaves */
#pine-redm .question-leaf { gap: 14px; }
#pine-redm .bv-question { display: grid; gap: 6px; }
#pine-redm .bv-q-text { display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: start; line-height: 1.5; font-weight: 600; }
#pine-redm .bv-q-text b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid #e2bd8366; color: var(--rust); font: 600 12px/1 Georgia, serif; }
#pine-redm .bv-question textarea { min-height: 96px; max-height: 260px; line-height: 1.55; margin-left: 34px; width: calc(100% - 34px); font-weight: 400; }
#pine-redm .bv-blank-leaf { display: grid; place-items: center; }
#pine-redm .bv-blank-mark { color: #e2bd8333; font-size: 30px; }

/* final review */
#pine-redm .proof-portrait { width: 100%; max-height: 180px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line); }
#pine-redm .bv-proof-card { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); margin-bottom: 8px; }
#pine-redm .bv-proof-label { display: block; font-size: 11px; color: var(--rust); font-weight: 600; margin-bottom: 3px; }
#pine-redm .bv-proof-card p, #pine-redm .bv-proof-item p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; font-size: 13px; }
#pine-redm .bv-proof-name { font: 600 18px/1.3 Georgia, 'Noto Serif Thai', serif !important; }
#pine-redm .bv-proof-link { color: var(--soft); font-size: 12px !important; }
#pine-redm .bv-proof-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; max-height: 460px; overflow: auto; padding-right: 4px; }
#pine-redm .bv-proof-item { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--paper); }
#pine-redm .bv-proof-q { display: grid; grid-template-columns: 22px 1fr auto; gap: 8px; align-items: start; font-size: 12px; color: var(--soft); margin-bottom: 6px; }
#pine-redm .bv-proof-q b { color: var(--rust); font-family: Georgia, serif; }
#pine-redm .bv-proof-item p { padding-left: 30px; color: var(--ink); }
#pine-redm .bv-proof-missing { color: #ff9f8f !important; font-style: italic; }
#pine-redm .bv-proof-edit { padding: 2px 10px; font-size: 12px; min-height: 0; }
#pine-redm .bv-review-answers .bv-proof-list { max-height: none; }

/* page flip */
#pine-redm .bv-flip-stage { position: fixed; z-index: 60; pointer-events: none; perspective: 2200px; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
#pine-redm .bv-flip-still, #pine-redm .bv-flip-page { position: absolute; top: 0; bottom: 0; width: 50%; }
#pine-redm .bv-flip-still.bv-left, #pine-redm .bv-turn-next { left: 50%; }
#pine-redm .bv-flip-still.bv-left { left: 0; }
#pine-redm .bv-flip-still.bv-right, #pine-redm .bv-turn-prev { left: 0; }
#pine-redm .bv-flip-still.bv-right { left: 50%; }
#pine-redm .bv-flip-page { transform-style: preserve-3d; will-change: transform; }
#pine-redm .bv-turn-next { transform-origin: left center; animation: bv-turn-next .72s cubic-bezier(.45,.05,.3,1) both; }
#pine-redm .bv-turn-prev { transform-origin: right center; animation: bv-turn-prev .72s cubic-bezier(.45,.05,.3,1) both; }
#pine-redm .bv-flip-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
#pine-redm .bv-flip-face.bv-back { transform: rotateY(180deg); }
#pine-redm .bv-flip-still > *, #pine-redm .bv-flip-face > * { height: 100%; min-height: 0 !important; box-sizing: border-box; }
#pine-redm .bv-flip-face::after { content: ""; position: absolute; inset: 0; pointer-events: none; animation: inherit; }
#pine-redm .bv-turn-next .bv-front::after { background: linear-gradient(90deg,#0000 55%,#0007); animation: bv-shade .72s ease both; }
#pine-redm .bv-turn-next .bv-back::after { background: linear-gradient(270deg,#0000 55%,#0007); animation: bv-shade-in .72s ease both; }
#pine-redm .bv-turn-prev .bv-front::after { background: linear-gradient(270deg,#0000 55%,#0007); animation: bv-shade .72s ease both; }
#pine-redm .bv-turn-prev .bv-back::after { background: linear-gradient(90deg,#0000 55%,#0007); animation: bv-shade-in .72s ease both; }
@keyframes bv-turn-next { from { transform: rotateY(0); } 50% { box-shadow: -18px 0 40px #0009; } to { transform: rotateY(-180deg); } }
@keyframes bv-turn-prev { from { transform: rotateY(0); } 50% { box-shadow: 18px 0 40px #0009; } to { transform: rotateY(180deg); } }
@keyframes bv-shade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bv-shade-in { from { opacity: 1; } to { opacity: 0; } }

/* staff form editor */
#pine-redm .bv-form-editor { display: grid; gap: 14px; max-width: 900px; }
#pine-redm .bv-fe-bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; font-size: 13px; color: var(--soft); }
#pine-redm .bv-fe-state { color: var(--rust); }
#pine-redm .bv-fe-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#pine-redm .bv-fe-page { margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--rust); padding-bottom: 4px; border-bottom: 1px solid var(--line); }
#pine-redm .bv-fe-item { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 12px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--sheet); box-shadow: 0 2px 0 #0004; }
#pine-redm .bv-fe-num { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #e2bd8366; color: var(--rust); font: 600 13px/1 Georgia, serif; }
#pine-redm .bv-fe-fields { display: grid; gap: 10px; }
#pine-redm .bv-fe-fields label { display: grid; gap: 4px; font-size: 12px; font-weight: 600; color: var(--soft); }
#pine-redm .bv-fe-fields textarea { font-size: 14px; color: var(--ink); font-weight: 400; }
#pine-redm .bv-fe-tools { display: grid; gap: 6px; }
#pine-redm .bv-fe-btn { padding: 5px 10px; font-size: 12px; border: 1px solid var(--line); border-radius: 6px; background: var(--paper); color: var(--ink); cursor: pointer; }
#pine-redm .bv-fe-btn:hover:not(:disabled) { border-color: var(--rust); }
#pine-redm .bv-fe-btn:disabled { opacity: .35; cursor: default; }
#pine-redm .bv-fe-del { color: #ff9f8f; }
#pine-redm .bv-fe-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; position: sticky; bottom: 0; padding: 12px 0; background: linear-gradient(#0000, var(--paper) 30%); }
#pine-redm .bv-fe-spacer { flex: 1; }
#pine-redm .bv-fe-add { padding: 8px 14px; border: 1px dashed var(--rust); border-radius: 8px; background: none; color: var(--rust); cursor: pointer; font-weight: 600; }
#pine-redm .bv-fe-add:disabled { opacity: .4; }
#pine-redm .bv-fe-note { margin: 0; font-size: 12px; color: var(--soft); }

@media (max-width: 760px) {
  #pine-redm .signin { grid-template-columns: minmax(0,1fr); min-height: 0; }
  #pine-redm .frontier { order: -1; padding: 28px 16px; min-height: 0; }
  #pine-redm .frontier-logo { width: 150px; }
  #pine-redm .signin .discord { width: 100%; min-width: 0; justify-self: stretch; }
  #pine-redm .bv-fe-item { grid-template-columns: minmax(0,1fr); }
  #pine-redm .bv-fe-tools { grid-auto-flow: column; justify-content: start; }
  #pine-redm .bv-question textarea { margin-left: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  #pine-redm .session-loading, #pine-redm .session-loading img, #pine-redm .frontier-logo { animation: none; }
}

/* BLACKVEIL_LOGIN_V2 — sea fog night */
#pine-redm .signin { position: relative; isolation: isolate; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); background: radial-gradient(ellipse 70% 60% at 78% 38%, #404040 0, #232323 45%, #0f0f0f 85%); border-color: #343434; }
#pine-redm .signin-sky { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
#pine-redm .signin-sky::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent, #0d0d0d 92%); }
#pine-redm .signin-sky .fog { position: absolute; left: -30%; width: 160%; height: 42%; border-radius: 50%; filter: blur(28px); opacity: .5; }
#pine-redm .signin-sky .fog-a { bottom: 4%; background: radial-gradient(ellipse at 40% 50%, #7e7e7e55, transparent 62%); animation: bv-fog 38s ease-in-out infinite alternate; }
#pine-redm .signin-sky .fog-b { bottom: -10%; background: radial-gradient(ellipse at 65% 50%, #a5a5a540, transparent 58%); animation: bv-fog 52s ease-in-out infinite alternate-reverse; }
#pine-redm .signin-sky .beam { position: absolute; top: 30%; right: 22%; width: 60%; height: 90px; transform-origin: right center; transform: rotate(-8deg); background: linear-gradient(270deg, #f3e2c455, #f3e2c412 45%, transparent 80%); clip-path: polygon(0 20%, 100% 46%, 100% 54%, 0 80%); filter: blur(6px); animation: bv-beam 9s ease-in-out infinite; }
@keyframes bv-fog { from { transform: translateX(-6%); } to { transform: translateX(8%); } }
@keyframes bv-beam { 0%,100% { opacity: .25; } 50% { opacity: .75; } }
#pine-redm .signin-copy { position: relative; z-index: 1; }
#pine-redm .signin h1 { font-size: clamp(34px,4.6vw,56px); line-height: 1.12; text-shadow: 0 4px 30px #000c; }
#pine-redm .signin .signin-lead { max-width: 40ch; margin: 20px 0 32px; font-size: 16px; line-height: 1.8; color: #c7c7c7; }
#pine-redm .signin .discord { min-width: 280px; padding: 14px 24px; border-radius: 10px; box-shadow: 0 10px 30px #4752c455, inset 0 1px 0 #ffffff30; transition: transform .15s, box-shadow .15s; }
#pine-redm .signin .discord:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 14px 36px #4752c477, inset 0 1px 0 #ffffff40; }
#pine-redm .signin .signin-foot { white-space: nowrap; max-width: none; margin-top: 14px; color: #9f9f9f; }
#pine-redm .frontier { background: none; }
#pine-redm .frontier::after, #pine-redm .frontier::before { display: none; }
#pine-redm .frontier-logo { width: min(74%, 380px); filter: drop-shadow(0 0 40px #a3a3a355) drop-shadow(0 18px 40px #000); }
#pine-redm .frontier-motto { font: 600 11px/1 inherit; font-style: normal; letter-spacing: .28em; text-transform: uppercase; color: #cdb48e; }
@media (max-width: 760px) {
  #pine-redm .signin .signin-foot { white-space: normal; }
  #pine-redm .signin-sky .beam { display: none; }
}
@media (prefers-reduced-motion: reduce) { #pine-redm .signin-sky * { animation: none !important; } }
#pine-redm .signin .signin-lead { max-width: none; }
@media (max-width: 760px) { #pine-redm .signin .signin-lead br { display: none; } }

/* BLACKVEIL_ASH_THEME — muted dark fantasy mist */
#pine-redm .signin { background: radial-gradient(ellipse 50% 55% at 76% 42%, #3b3a33 0, #222222 42%, #0e0e0e 82%); }
#pine-redm .signin-sky .fog-a { background: radial-gradient(ellipse at 40% 50%, #a9a9a966, transparent 62%); opacity: .55; }
#pine-redm .signin-sky .fog-b { background: radial-gradient(ellipse at 65% 50%, #c8cdc444, transparent 58%); opacity: .6; }
#pine-redm .signin-sky::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 40% 30% at 20% 15%, #94949422, transparent 70%), radial-gradient(ellipse 60% 25% at 50% 70%, #bcbcbc1c, transparent 70%); animation: bv-fog 60s ease-in-out infinite alternate; }
#pine-redm .frontier-logo { filter: drop-shadow(0 0 46px #d6b47a2e) drop-shadow(0 18px 40px #000); }
#pine-redm .gate-art { background: linear-gradient(180deg,#0e0e0e00 35%,#0e0e0eee 92%), url('/cover-sea.webp') center 40% / cover no-repeat, radial-gradient(ellipse at 50% 32%,#5f5f5f 0,#373737 30%,#1a1a1a 62%,#0f0f0f 85%); }
@media (prefers-reduced-motion: reduce) { #pine-redm .signin-sky::before { animation: none; } }

/* BLACKVEIL_DREAM_V1 — dark fantasy dreamcore: haze, grain, soft bloom, no hard frames */
body { background: #0b0b0b; }
body::before { content: ""; position: fixed; inset: -10%; z-index: -2; pointer-events: none;
  background: radial-gradient(ellipse 45% 35% at 15% 20%, #94949418, transparent 70%), radial-gradient(ellipse 50% 40% at 85% 75%, #a3927418, transparent 70%), radial-gradient(ellipse 70% 30% at 50% 100%, #bebebe12, transparent 70%);
  animation: bv-haze 70s ease-in-out infinite alternate; }
body::after { content: ""; position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
@keyframes bv-haze { from { transform: translate3d(-2%,0,0) scale(1); } to { transform: translate3d(2%,-1%,0) scale(1.05); } }

#pine-redm .portal { border: 1px solid #ffffff0c; border-radius: 3px; background: linear-gradient(180deg,#131313e8,#0d0d0df2); box-shadow: 0 40px 120px #000c; backdrop-filter: blur(6px); }
#pine-redm .masthead { background: transparent; border-bottom: 1px solid transparent; border-image: linear-gradient(90deg,transparent,#e2bd8340 30%,#e2bd8340 70%,transparent) 1; }
#pine-redm .sidebar { background: transparent !important; border-right: 1px solid transparent !important; border-image: linear-gradient(180deg,transparent,#ffffff14 20%,#ffffff14 80%,transparent) 1 !important; }
#pine-redm h1 { font-family: Cinzel, "Noto Serif Thai", Georgia, serif; font-weight: 500; letter-spacing: .01em; text-shadow: 0 0 28px #efe3cc2e; }
#pine-redm .form-title, #pine-redm .panel-title h2 { font-family: Cinzel, "Noto Serif Thai", Georgia, serif; font-weight: 500; letter-spacing: .01em; }
#pine-redm .brand strong { font-family: Cinzel, Georgia, serif; font-weight: 700; letter-spacing: .18em; }

#pine-redm input, #pine-redm textarea, #pine-redm select { background: #0c0c0ccc; border: 1px solid #ffffff14; border-radius: 3px; transition: border-color .2s, box-shadow .2s; }
#pine-redm input:focus, #pine-redm textarea:focus, #pine-redm select:focus { border-color: #e2bd8366; box-shadow: 0 0 0 3px #e2bd831a, 0 0 24px #e2bd8314; outline: none; }
#pine-redm .primary, #pine-redm button.primary { background: linear-gradient(180deg,#d3b88b,#9f835b) !important; color: #16130e !important; border-radius: 3px !important; box-shadow: 0 0 22px #e2bd8326, inset 0 1px 0 #fff4 !important; transition: box-shadow .2s, transform .15s; cursor: pointer; }
#pine-redm .primary:hover:not(:disabled) { box-shadow: 0 0 34px #e2bd8344, inset 0 1px 0 #fff5 !important; }
#pine-redm .panel, #pine-redm .status-box, #pine-redm .bv-native-card, #pine-redm .bv-fe-item, #pine-redm .bv-proof-card, #pine-redm .bv-proof-item { border: 1px solid #ffffff0f !important; border-radius: 3px !important; background: linear-gradient(180deg,#ffffff07,#ffffff02) !important; box-shadow: none !important; }
#pine-redm nav button[aria-current="page"] { background: linear-gradient(90deg,#e2bd831f,transparent) !important; border: 0 !important; box-shadow: none !important; border-radius: 2px !important; }

/* the book */
#pine-redm .application.book { border: 0; background: transparent; box-shadow: none; padding: 0; }
#pine-redm .book-spread { border: 0 !important; border-radius: 2px; box-shadow: 0 30px 80px #000d, 0 0 0 1px #ffffff09 !important; overflow: hidden; }
#pine-redm .book-spread::after { width: 60px; margin-left: -30px; background: linear-gradient(90deg,transparent,#0000008c 46%,#ffffff0a 50%,#0000008c 54%,transparent); box-shadow: none; }
#pine-redm .book-leaf, #pine-redm .form-side { background: radial-gradient(ellipse 80% 50% at 50% 0%,#2c2c2c55,transparent 70%), linear-gradient(180deg,#171717,#121212) !important; box-shadow: inset 0 0 70px #0009; }
#pine-redm .book-controls { border: 0 !important; background: transparent !important; box-shadow: none !important; }
#pine-redm .gate-cover { background: #0e0e0e; }
#pine-redm .gate-cover::after { border: 0 !important; inset: 0; border-radius: 0; box-shadow: inset 0 0 90px #000d, inset 0 -120px 120px -40px #000c; }
#pine-redm .gate-art { background: radial-gradient(ellipse 60% 45% at 50% 34%,#6d726a55,transparent 70%), radial-gradient(ellipse 90% 40% at 50% 85%,#bcbcbc1a,transparent 70%), url('/cover-sea.webp') center 40% / cover no-repeat, linear-gradient(180deg,#1d1d1d,#0d0d0d) !important; }
#pine-redm .gate-art::before, #pine-redm .gate-art::after { content: ""; position: absolute; left: -20%; width: 140%; height: 40%; border-radius: 50%; filter: blur(30px); display: block !important; }
#pine-redm .gate-art::before { bottom: 18%; background: radial-gradient(ellipse,#afafaf2e,transparent 65%); animation: bv-fog 40s ease-in-out infinite alternate; }
#pine-redm .gate-art::after { bottom: -8%; background: radial-gradient(ellipse,#d1d1d122,transparent 60%); animation: bv-fog 55s ease-in-out infinite alternate-reverse; }
#pine-redm .book .gate-title { padding: 0 26px 20px !important; }
#pine-redm .gate-heading { font-family: "Cinzel Decorative", Cinzel, Georgia, serif !important; font-weight: 700; font-size: clamp(30px,3.6vw,50px) !important; line-height: 1.02 !important; color: #eee3cc; letter-spacing: .01em; text-shadow: 0 0 30px #efe3cc40, 0 2px 14px #000; margin: 0 0 14px !important; }
#pine-redm .gate-heading span { display: block; font-size: .62em; font-weight: 400; color: #cdbf9f; letter-spacing: .04em; margin-top: 6px; }
#pine-redm .portrait-hint { margin-top: 0; font-size: 11.5px; color: #c9c2b4; opacity: .85; }
#pine-redm .portrait-placeholder { border-color: #e9dcc455 !important; background: #0c0c0c55 !important; backdrop-filter: blur(3px); box-shadow: 0 0 40px #e9dcc414; }

/* page curl */
#pine-redm .bv-flip-stage { perspective: 2600px; }
#pine-redm .bv-flip-stage > .bv-flip-still > * , #pine-redm .bv-curl-inner > * { width: 100%; height: 100%; min-height: 0 !important; }
#pine-redm .bv-curl-anchor { position: absolute; width: 0; transform-style: preserve-3d; }
#pine-redm .bv-curl-strip { position: absolute; top: 0; transform-style: preserve-3d; will-change: transform; }
#pine-redm .bv-curl-face { position: absolute; inset: 0; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
#pine-redm .bv-curl-back { transform: rotateY(180deg); }
#pine-redm .bv-curl-inner { position: absolute; top: 0; }
#pine-redm .bv-curl-shade { position: absolute; inset: 0; pointer-events: none; opacity: 0; background: linear-gradient(90deg,#00000030,#000000b0); }
#pine-redm .bv-curl-back .bv-curl-shade { background: linear-gradient(270deg,#ffffff10,#000000a0); }

@media (prefers-reduced-motion: reduce) { body::before, #pine-redm .gate-art::before, #pine-redm .gate-art::after { animation: none; } }
#pine-redm .bv-curl-face { background: #141414; }
#pine-redm .bv-curl-shade { background: #000 !important; }
#pine-redm .bv-curl-inner > * { box-shadow: none !important; }
#pine-redm .portrait-placeholder { width: auto !important; height: auto !important; border: 0 !important; border-radius: 0 !important; background: none !important; backdrop-filter: none !important; box-shadow: none !important; font: 300 64px/1 Cinzel, Georgia, serif !important; color: #eee3cc; opacity: .55; text-shadow: 0 0 24px #efe3cc66; transition: opacity .2s, text-shadow .2s, transform .2s; }
#pine-redm .portrait-field:hover .portrait-placeholder, #pine-redm .portrait-field.bv-drop .portrait-placeholder { opacity: 1; transform: translate(-50%,-50%) scale(1.08); text-shadow: 0 0 34px #efe3cc99; }
#pine-redm .portrait-field.bv-drop { outline: 0 !important; box-shadow: inset 0 0 0 1px #e2bd8355, inset 0 0 80px #e2bd8318; }
#pine-redm { font-family: 'Noto Sans Thai', 'Segoe UI', Tahoma, sans-serif; }
#pine-redm .signin h1 { font-family: Srisakdi, 'Noto Serif Thai', serif !important; font-weight: 700; font-size: clamp(32px,4.2vw,54px); line-height: 1.3; letter-spacing: 0; color: #efe4cf; text-shadow: 0 0 34px #efe3cc33, 0 4px 26px #000; }

/* BLACKVEIL_SEA_SCENE_V1 — lighthouse, fog, sea, ship (transform/opacity only) */
#pine-redm .sea-scene { position: relative; display: block; padding: 0; overflow: hidden; min-height: 420px; background: #141414; contain: paint; }
#pine-redm .sea-scene .sea-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
#pine-redm .sea-scene .beam { transform-origin: 405px 220px; animation: bv-sweep 9s linear infinite; will-change: transform, opacity; }
#pine-redm .sea-scene .lamp-halo { transform-origin: 405px 220px; animation: bv-halo 4.5s ease-in-out infinite; }
#pine-redm .sea-scene .glint { transform-origin: 405px 432px; animation: bv-glint 4.5s ease-in-out infinite; }
@keyframes bv-sweep { 0% { transform: scaleX(1); opacity: .9; } 25% { transform: scaleX(.04); opacity: .15; } 50% { transform: scaleX(-1); opacity: .55; } 75% { transform: scaleX(.04); opacity: .15; } 100% { transform: scaleX(1); opacity: .9; } }
@keyframes bv-halo { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.25); } }
@keyframes bv-glint { 0%,100% { opacity: .25; } 50% { opacity: .9; } }
#pine-redm .sea-scene .waves path { fill: none; stroke: #cecece; stroke-linecap: round; }
#pine-redm .sea-scene .w1 path { stroke-opacity: .07; stroke-width: 1; }
#pine-redm .sea-scene .w2 path { stroke-opacity: .09; stroke-width: 1.2; }
#pine-redm .sea-scene .w3 path { stroke-opacity: .11; stroke-width: 1.5; }
#pine-redm .sea-scene .w4 path { stroke-opacity: .13; stroke-width: 2; }
#pine-redm .sea-scene .w1 { animation: bv-wave 14s linear infinite; }
#pine-redm .sea-scene .w2 { animation: bv-wave 10s linear infinite reverse; }
#pine-redm .sea-scene .w3 { animation: bv-wave 8s linear infinite; }
#pine-redm .sea-scene .w4 { animation: bv-wave 6s linear infinite reverse; }
@keyframes bv-wave { from { transform: translateX(0); } to { transform: translateX(120px); } }
#pine-redm .sea-scene .drift { animation: bv-drift 46s ease-in-out infinite alternate; }
@keyframes bv-drift { from { transform: translateX(-60px); } to { transform: translateX(70px); } }
#pine-redm .sea-scene .ship { transform-box: fill-box; transform-origin: 50% 85%; animation: bv-bob 5.5s ease-in-out infinite; }
@keyframes bv-bob { 0%,100% { transform: translateY(0) rotate(-1.2deg); } 50% { transform: translateY(6px) rotate(1.4deg); } }
#pine-redm .sea-scene .smoke circle { transform-box: fill-box; transform-origin: center; animation: bv-smoke 6s ease-out infinite; opacity: 0; }
#pine-redm .sea-scene .smoke circle:nth-child(2) { animation-delay: 2s; }
#pine-redm .sea-scene .smoke circle:nth-child(3) { animation-delay: 4s; }
@keyframes bv-smoke { 0% { opacity: 0; transform: translate(0,10px) scale(.6); } 20% { opacity: .55; } 100% { opacity: 0; transform: translate(-40px,-50px) scale(1.8); } }
#pine-redm .sea-scene .mist { position: absolute; left: -40%; width: 180%; pointer-events: none; border-radius: 50%; will-change: transform; }
#pine-redm .sea-scene .m1 { top: 34%; height: 26%; background: radial-gradient(ellipse at 50% 50%, #bcbcbc55, #bcbcbc22 40%, transparent 68%); animation: bv-mist 26s ease-in-out infinite alternate; }
#pine-redm .sea-scene .m2 { top: 50%; height: 22%; background: radial-gradient(ellipse at 40% 50%, #d3d3d340, transparent 65%); animation: bv-mist 34s ease-in-out infinite alternate-reverse; }
#pine-redm .sea-scene .m3 { top: 70%; height: 30%; background: radial-gradient(ellipse at 60% 50%, #9f9f9f33, transparent 62%); animation: bv-mist 40s ease-in-out infinite alternate; }
@keyframes bv-mist { from { transform: translateX(-12%); } to { transform: translateX(12%); } }
#pine-redm .sea-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 120px #000c; background: linear-gradient(90deg, #0e0e0e 0, transparent 14%); }
@media (max-width: 760px) { #pine-redm .sea-scene { min-height: 240px; } }
@media (prefers-reduced-motion: reduce) { #pine-redm .sea-scene * { animation: none !important; } }

/* heading quote */
#pine-redm .signin h1 { font-family: "Cinzel Decorative", Cinzel, Georgia, serif !important; font-weight: 700; font-size: clamp(28px,3.4vw,46px); line-height: 1.18; }
#pine-redm .signin .signin-quote { margin: 14px 0 0; font-family: "Noto Sans Thai", sans-serif; font-style: italic; font-size: 17px; color: #cdbf9f; letter-spacing: .01em; }

/* cover: painting + faint plus */
#pine-redm .gate-art { background: linear-gradient(180deg,#0e0e0e00 45%,#0e0e0ee6 90%), url('/cover-lady.webp') center 18% / cover no-repeat, #141414 !important; }
#pine-redm .portrait-placeholder { opacity: .18 !important; }
#pine-redm .portrait-field:hover .portrait-placeholder, #pine-redm .portrait-field.bv-drop .portrait-placeholder { opacity: .7 !important; }

/* performance: no full-screen blend/blur layers */
#pine-redm .portal { backdrop-filter: none !important; }
body::after { mix-blend-mode: normal !important; opacity: .035 !important; }
.bv-flipping body::before, .bv-flipping body::after { animation-play-state: paused; }
.bv-flipping #pine-redm .gate-art::before, .bv-flipping #pine-redm .gate-art::after { animation-play-state: paused; }
#pine-redm .bv-flip-stage { contain: layout style; }
#pine-redm .sea-scene > .sea-svg, #pine-redm .sea-scene > .mist { display: block !important; }
#pine-redm .signin-sky .beam { display: none; }
#pine-redm .signin h1 { font-size: clamp(22px,2.5vw,36px) !important; }
#pine-redm .sea-scene { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%); mask-image: linear-gradient(90deg, transparent 0, #000 22%); }
#pine-redm .sea-scene::after { background: none; }
@media (min-width: 761px) { #pine-redm .signin h1 { white-space: nowrap; font-size: clamp(20px,2.05vw,34px) !important; } }
@media (max-width: 760px) { #pine-redm .sea-scene { -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); } }

/* nav: application editor sits at the bottom, above the Discord note */
#pine-redm .nav-bottom { margin-top: auto; display: grid; gap: 4px; }
#pine-redm .nav-bottom + .sidebar-foot { margin-top: 0; }
#pine-redm .nav-bottom:not(:has(button:not([hidden]))) { display: none; }

/* BLACKVEIL_PERF_V2 — nothing animated uses filter/blur/mask; no full-screen overlays */
body::after { display: none !important; }
body::before { animation: none !important; inset: 0 !important; }
#pine-redm .signin-sky .fog, #pine-redm .gate-art::before, #pine-redm .gate-art::after { filter: none !important; }
#pine-redm .signin-sky .fog-a { background: radial-gradient(ellipse 50% 50% at 50% 50%, #a9a9a93a, #a9a9a914 45%, transparent 70%) !important; }
#pine-redm .signin-sky .fog-b { background: radial-gradient(ellipse 50% 50% at 50% 50%, #c8cdc430, #c8cdc410 45%, transparent 70%) !important; }
#pine-redm .signin-sky::before { animation: none !important; }
#pine-redm .gate-art::before { background: radial-gradient(ellipse 50% 50% at 50% 50%, #afafaf22, transparent 70%) !important; }
#pine-redm .gate-art::after { background: radial-gradient(ellipse 50% 50% at 50% 50%, #d1d1d11a, transparent 70%) !important; }
#pine-redm .sea-scene { -webkit-mask-image: none !important; mask-image: none !important; }
#pine-redm .sea-scene::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 26%; z-index: 2; pointer-events: none; background: linear-gradient(90deg, #131313, transparent); }
#pine-redm .signin-sky .fog, #pine-redm .sea-scene .mist, #pine-redm .gate-art::before, #pine-redm .gate-art::after { will-change: transform; backface-visibility: hidden; }
#pine-redm .book-leaf, #pine-redm .form-side { box-shadow: inset 0 0 40px #0007; }
.bv-flipping #pine-redm .sea-scene *, .bv-flipping #pine-redm .signin-sky * { animation-play-state: paused !important; }
@media (max-width: 760px) { #pine-redm .sea-scene::before { inset: auto 0 0 0; width: auto; height: 30%; background: linear-gradient(0deg, #131313, transparent); } }

/* BLACKVEIL_SEA_SCENE_V2 — scene fills the whole login frame; fog hides the island, only the light shows */
#pine-redm .signin { position: relative; display: grid; grid-template-columns: minmax(0,1fr); align-items: center; min-height: min(720px, calc(100vh - 90px)); }
#pine-redm .signin > .sea-scene { position: absolute; inset: 0; z-index: 0; min-height: 0; }
#pine-redm .signin > .signin-copy { position: relative; z-index: 3; max-width: 640px; }
#pine-redm .sea-scene::before { inset: 0 !important; width: auto !important; height: auto !important; z-index: 2; background: linear-gradient(90deg, #0c0c0cee 0, #0c0c0cbb 30%, #0c0c0c22 58%, transparent 75%) !important; }
#pine-redm .sea-scene .beam { transform-origin: 1251px 272px; animation: bv-rotate 7s ease-in-out infinite; }
#pine-redm .sea-scene .lamp-halo { transform-origin: 1251px 272px; animation: bv-halo 7s ease-in-out infinite; }
#pine-redm .sea-scene .glint { transform-origin: 1251px 472px; animation: bv-glint 7s ease-in-out infinite; }
@keyframes bv-rotate { 0%,100% { transform: scaleX(1); opacity: .85; } 50% { transform: scaleX(.02); opacity: .25; } }
@keyframes bv-halo { 0%,100% { opacity: .45; transform: scale(.75); } 50% { opacity: 1; transform: scale(1.6); } }
@keyframes bv-glint { 0%,100% { opacity: .3; } 50% { opacity: 1; } }
#pine-redm .sea-scene .fogbank { animation: bv-fogbank 30s ease-in-out infinite alternate; }
@keyframes bv-fogbank { from { transform: translateX(-30px); } to { transform: translateX(40px); } }
#pine-redm .sea-scene .drift { animation: bv-drift2 70s ease-in-out infinite alternate; }
@keyframes bv-drift2 { from { transform: translateX(-120px); } to { transform: translateX(160px); } }
#pine-redm .sea-scene .ship { animation: bv-bob 6.5s ease-in-out infinite; }
#pine-redm .sea-scene .portholes { animation: bv-glint 5s ease-in-out infinite; }
#pine-redm .sea-scene .mist { display: block !important; }
#pine-redm .sea-scene .m1 { top: 28%; height: 34%; left: 30%; width: 110%; background: radial-gradient(ellipse 50% 50% at 50% 50%, #aeaeaeaa, #aeaeae44 45%, transparent 72%) !important; animation: bv-mist 24s ease-in-out infinite alternate; }
#pine-redm .sea-scene .m2 { top: 40%; height: 26%; left: 10%; width: 120%; background: radial-gradient(ellipse 50% 50% at 50% 50%, #c6c6c666, transparent 70%) !important; animation: bv-mist 32s ease-in-out infinite alternate-reverse; }
#pine-redm .sea-scene .m3 { top: 62%; height: 30%; left: -30%; width: 160%; background: radial-gradient(ellipse 50% 50% at 50% 50%, #94949433, transparent 70%) !important; animation: bv-mist 40s ease-in-out infinite alternate; }
#pine-redm .sea-scene .m4 { top: 46%; height: 20%; left: -20%; width: 150%; background: radial-gradient(ellipse 50% 50% at 50% 50%, #b8b8b833, transparent 70%) !important; animation: bv-mist 50s ease-in-out infinite alternate-reverse; }
@media (max-width: 760px) {
  #pine-redm .signin { min-height: 560px; align-items: end; }
  #pine-redm .sea-scene::before { background: linear-gradient(0deg, #0c0c0cf2 0, #0c0c0cbb 45%, transparent 75%) !important; }
}

/* BLACKVEIL_LOGO_PALETTE — black, aged silver, old gold (taken from the logo) */
#pine-redm { --paper: #0b0b0b; --sheet: #141414; --ink: #ebe6da; --soft: #a8a59d; --line: #2c2b29; --sand: #1d1c1a; --rust: #cfa961; }
body { background: #070707; }
#pine-redm h1, #pine-redm .form-title, #pine-redm .gate-heading { color: #e9e3d4; }
#pine-redm .signin .signin-quote, #pine-redm .gate-heading span { color: #cfa961; }
#pine-redm .signin .discord { background: linear-gradient(180deg,#1b1a18,#0d0d0c) !important; color: #e8cf93 !important; border: 1px solid #cfa96188 !important; box-shadow: 0 0 26px #cfa96122, inset 0 1px 0 #ffffff14 !important; letter-spacing: .02em; }
#pine-redm .signin .discord:hover:not(:disabled) { border-color: #e2c27e !important; box-shadow: 0 0 36px #cfa96144, inset 0 1px 0 #ffffff1c !important; color: #f3dca4 !important; }
#pine-redm .primary, #pine-redm button.primary { background: linear-gradient(180deg,#dcbf82,#a9874c) !important; color: #120f0a !important; }
#pine-redm input, #pine-redm textarea, #pine-redm select { background: #080808cc; border-color: #c8c4ba1c; }
#pine-redm .panel, #pine-redm .status-box, #pine-redm .bv-native-card, #pine-redm .bv-fe-item, #pine-redm .bv-proof-card, #pine-redm .bv-proof-item { border-color: #c8c4ba17 !important; }
#pine-redm .masthead { border-image: linear-gradient(90deg,transparent,#cfa96155 30%,#cfa96155 70%,transparent) 1; }
.bv-music { background: #0b0b0bd9; border-color: #cfa96133; color: #e3cf9f; }
.bv-music-volume { accent-color: #cfa961; }

/* BLACKVEIL_LOGIN_FULLBLEED — the login scene runs edge to edge; inner pages keep the framed book look */
body:has(#pine-redm .signin:not([hidden])) { padding: 0; }
#pine-redm:has(.signin:not([hidden])) { max-width: none; }
#pine-redm:has(.signin:not([hidden])) .preview-bar { position: absolute; top: 8px; left: 16px; z-index: 20; margin: 0; }
#pine-redm .portal:has(.signin:not([hidden])) { position: relative; border: 0; border-radius: 0; box-shadow: none; background: #070707; min-height: 100dvh; }
#pine-redm .portal:has(.signin:not([hidden])) .masthead { position: absolute; top: 0; left: 0; right: 0; z-index: 10; background: linear-gradient(180deg,#000000b3,transparent); border: 0; border-image: none; padding: 18px clamp(20px,4vw,56px); }
#pine-redm .portal:has(.signin:not([hidden])) .signin { min-height: 100dvh; border: 0; border-radius: 0; }
#pine-redm .portal:has(.signin:not([hidden])) .signin-copy { padding-left: clamp(24px,6vw,110px); }

/* BLACKVEIL_FULLSCREEN_ALL — every page is edge to edge, like a game launcher */
body { padding: 0 !important; }
#pine-redm { max-width: none !important; }
#pine-redm .portal { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; min-height: 100dvh; background: radial-gradient(ellipse 60% 40% at 80% 0%, #cfa9610c, transparent 70%), #0a0a0a !important; }
#pine-redm .masthead { padding: 14px clamp(18px,3vw,40px); }
#pine-redm .workspace { flex: 1; min-height: 0; }
#pine-redm .sidebar { min-width: 230px; padding: 26px 16px 18px !important; background: linear-gradient(180deg,#0e0e0e,#090909) !important; }
#pine-redm .content { padding: clamp(22px,3vw,44px) clamp(20px,4vw,64px) !important; }
#pine-redm .content > section { max-width: 1400px; }
#pine-redm .preview-bar { position: absolute; top: 6px; left: 50%; transform: translateX(-50%); z-index: 30; margin: 0 !important; padding: 0 !important; }

/* book centred on the full-screen layout */
#pine-redm .content > section[data-screen="apply"] { margin-left: auto; margin-right: auto; max-width: 1320px; }
/* flip: shading is its own layer (no repaint per frame), flatter perspective, no scroll anchoring jump */
#pine-redm .bv-flip-stage { perspective: 4200px !important; }
#pine-redm .bv-curl-shade { will-change: opacity; }
#pine-redm .bv-curl-face { transform: translateZ(0); }
#pine-redm .bv-curl-back { transform: rotateY(180deg) translateZ(0); }
.bv-flipping, .bv-flipping body { overflow-anchor: none; }

/* BLACKVEIL_PAGE_FLIP_V3 — one whole sheet turning inside the book */
#pine-redm .application.book { position: relative; }
#pine-redm .bv-turn-stage { position: absolute; z-index: 30; pointer-events: none; }
#pine-redm .bv-turn-still, #pine-redm .bv-turn-sheet { position: absolute; }
#pine-redm .bv-turn-still { overflow: hidden; background: var(--sheet, #141414); }
#pine-redm .bv-turn-sheet { transform-style: preserve-3d; will-change: transform; }
#pine-redm .bv-turn-face { position: absolute; inset: 0; overflow: hidden; background: var(--sheet, #141414); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
#pine-redm .bv-turn-back { transform: rotateY(180deg); }
#pine-redm .bv-turn-face > :first-child, #pine-redm .bv-turn-still > :first-child { box-shadow: none !important; }
#pine-redm .bv-turn-shade, #pine-redm .bv-turn-cast { position: absolute; inset: 0; pointer-events: none; opacity: 0; will-change: opacity; background: #000; }
#pine-redm .bv-turn-shade.bv-from-left, #pine-redm .bv-turn-cast.bv-from-left { background: linear-gradient(90deg, #000 0%, #000000b0 35%, #00000040 100%); }
#pine-redm .bv-turn-shade.bv-from-right, #pine-redm .bv-turn-cast.bv-from-right { background: linear-gradient(270deg, #000 0%, #000000b0 35%, #00000040 100%); }
#pine-redm .bv-turn-cast { inset: auto; }

/* BLACKVEIL_PAGE_FLIP_V4 — StPageFlip base styles (moved here from the library because of the CSP) */
.stf__parent { position: relative; display: block; box-sizing: border-box; transform: translateZ(0); touch-action: pan-y; }
.sft__wrapper { position: relative; width: 100%; box-sizing: border-box; }
.stf__parent canvas { position: absolute; width: 100%; height: 100%; left: 0; top: 0; }
.stf__block { position: absolute; width: 100%; height: 100%; box-sizing: border-box; perspective: 2000px; }
.stf__item { display: none; position: absolute; transform-style: preserve-3d; }
.stf__outerShadow, .stf__innerShadow, .stf__hardShadow, .stf__hardInnerShadow { position: absolute; left: 0; top: 0; }
#pine-redm .bv-pf-stage { position: absolute; z-index: 30; pointer-events: none; }
#pine-redm .bv-pf-page { overflow: hidden; background: #131313; }
#pine-redm .bv-pf-page > * { box-shadow: none !important; }
#pine-redm .bv-pf-under { visibility: hidden; }

/* BLACKVEIL_BOOK_EQUAL — every spread the same width and height (room for 3 questions a page) */
#pine-redm .content > section[data-screen="apply"] { width: 100%; }
@media (min-width: 581px) {
  #pine-redm .application.book .book-spread { flex: none !important; height: clamp(640px, calc(100dvh - 230px), 920px); }
  #pine-redm .book-spread > .book-leaf, #pine-redm .book-spread > .gate-cover { min-height: 0 !important; height: 100%; overflow-y: auto; scrollbar-width: thin; }
  #pine-redm .book-leaf label:has(textarea), #pine-redm .book-leaf textarea { flex: 1 1 auto !important; }
  #pine-redm .book-leaf textarea { min-height: 96px !important; }
}

/* BLACKVEIL_DOSSIER_V1 — read-only character book under the application status */
#pine-redm .bv-dossier { margin-top: 28px; display: grid; gap: 18px; max-width: 1180px; }
#pine-redm .bv-dos-head h2 { margin: 6px 0 2px; font-family: "Cinzel", "Noto Serif Thai", serif; color: #e9e3d4; }
#pine-redm .bv-dos-spread { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 520px; box-shadow: 0 30px 80px #000d, 0 0 0 1px #ffffff09; border-radius: 2px; overflow: hidden; }
#pine-redm .bv-dos-spread::after { content: ""; position: absolute; inset: 0 auto 0 50%; width: 60px; margin-left: -30px; pointer-events: none; background: linear-gradient(90deg, transparent, #0000008c 46%, #ffffff0a 50%, #0000008c 54%, transparent); }
#pine-redm .bv-dos-page { display: grid; align-content: start; gap: 8px; padding: clamp(18px, 2.6vw, 34px); background: radial-gradient(ellipse 80% 50% at 50% 0%, #2c2c2c55, transparent 70%), linear-gradient(180deg, #171717, #121212); box-shadow: inset 0 0 40px #0007; min-width: 0; }
#pine-redm .bv-dos-page .eyebrow { margin: 0 0 6px; }
#pine-redm .bv-dos-cover { position: relative; padding: 0; align-content: end; background: #0e0e0e url("/cover-lady.webp") center / cover no-repeat; }
#pine-redm .bv-dos-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#pine-redm .bv-dos-cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, #000000e6 0, #00000066 35%, transparent 60%); }
#pine-redm .bv-dos-title { position: relative; z-index: 1; padding: clamp(18px, 2.6vw, 34px); }
#pine-redm .bv-dos-title h3 { margin: 4px 0 0; font-family: "Cinzel Decorative", "Cinzel", "Noto Serif Thai", serif; font-size: clamp(26px, 3vw, 44px); line-height: 1.05; color: #ece5d3; overflow-wrap: anywhere; }
#pine-redm .bv-dos-id { font: 600 12px/1 "Cinzel", serif; letter-spacing: .18em; color: #cfa961; }
#pine-redm .bv-dos-label { margin: 10px 0 0; font-size: 12px; font-weight: 700; color: #cfa961; }
#pine-redm .bv-dos-name { margin: 0; font-size: 20px; font-weight: 700; color: #ece5d3; }
#pine-redm .bv-dos-a { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; color: #d9d4c7; }
#pine-redm .bv-dos-a a { color: #e2c27e; }
#pine-redm .bv-dos-qa { padding: 12px 0; border-bottom: 1px solid #c8c4ba14; }
#pine-redm .bv-dos-qa:last-child { border-bottom: 0; }
#pine-redm .bv-dos-q { margin: 0 0 6px; display: flex; gap: 10px; font-weight: 600; color: #bdb8ac; }
#pine-redm .bv-dos-q b { color: #cfa961; font-family: "Cinzel", serif; }
#pine-redm .bv-dos-blank { place-items: center; align-content: center; color: #cfa96155; font-size: 22px; }
@media (max-width: 760px) {
  #pine-redm .bv-dos-spread { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  #pine-redm .bv-dos-spread::after { display: none; }
  #pine-redm .bv-dos-cover { min-height: 360px; }
  #pine-redm .bv-dos-blank { display: none; }
}

/* BLACKVEIL_PORTRAIT_SOLID — an attached portrait replaces the cover painting completely (no see-through) */
#pine-redm .gate-cover:has([data-portrait]:not([hidden])) .gate-art { background: #0e0e0e !important; }
#pine-redm .gate-cover:has([data-portrait]:not([hidden])) .gate-art::before, #pine-redm .gate-cover:has([data-portrait]:not([hidden])) .gate-art::after { display: none !important; }
#pine-redm .portrait-field img { opacity: 1 !important; -webkit-mask-image: none !important; mask-image: none !important; }
#pine-redm .portrait-field:has(img:not([hidden]))::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #000000e0 0, #00000066 32%, transparent 58%); }
#pine-redm .bv-dos-cover.has-portrait { background: #0e0e0e; }

/* BLACKVEIL_LOGIN_SCALE — bigger type and logo so the full-screen landing feels balanced */
#pine-redm .brand-logo { width: clamp(48px, 3.6vw, 66px) !important; height: auto !important; }
#pine-redm .brand { gap: 14px; }
#pine-redm .brand strong { font-size: clamp(17px, 1.35vw, 24px) !important; letter-spacing: .14em; }
#pine-redm .brand small { font-size: clamp(11px, .8vw, 14px) !important; letter-spacing: .2em; }
@media (min-width: 761px) {
  #pine-redm .signin h1 { font-size: clamp(26px, 2.75vw, 56px) !important; line-height: 1.12; }
  #pine-redm .signin .signin-quote { font-size: clamp(17px, 1.35vw, 26px) !important; }
  #pine-redm .signin .signin-lead { font-size: clamp(15px, 1.08vw, 21px) !important; line-height: 1.9; max-width: none; }
  #pine-redm .signin .discord { min-width: clamp(280px, 19vw, 380px); min-height: clamp(52px, 3.6vw, 66px); font-size: clamp(15px, 1.05vw, 20px) !important; }
}
#pine-redm .signin .signin-foot { font-size: clamp(13px, .92vw, 17px) !important; font-weight: 600; color: #d6d0c2 !important; letter-spacing: .01em; }

/* BLACKVEIL_LOGIN_SCALE_2 — heading back down so it never covers the lighthouse; copy stays in the left column */
@media (min-width: 761px) {
  #pine-redm .signin h1 { font-size: clamp(24px, 2.15vw, 42px) !important; }
  #pine-redm .signin .signin-copy { max-width: min(46vw, 760px); }
  #pine-redm .signin .signin-quote { font-size: clamp(16px, 1.2vw, 23px) !important; }
  #pine-redm .signin .signin-lead { font-size: clamp(14px, 1vw, 19px) !important; }
  #pine-redm .signin .discord { min-width: clamp(260px, 17vw, 340px); min-height: clamp(48px, 3.2vw, 60px); font-size: clamp(15px, .98vw, 18px) !important; }
}
#pine-redm .brand-logo { width: clamp(44px, 3vw, 56px) !important; }
#pine-redm .brand { gap: 12px; }
#pine-redm .brand strong { font-size: clamp(16px, 1.15vw, 20px) !important; }
#pine-redm .brand small { font-size: clamp(10px, .7vw, 12px) !important; }

/* BLACKVEIL_JOURNAL_V1 — visitor character journal + its lines in the staff activity log */
#pine-redm .bv-journal { margin-top: 18px; max-width: 1180px; }
#pine-redm .bv-j-layout { display: grid; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); gap: 18px; }
#pine-redm .bv-j-side { display: grid; align-content: start; gap: 10px; }
#pine-redm .bv-j-new { justify-self: stretch; }
#pine-redm .bv-j-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 62vh; overflow-y: auto; }
#pine-redm .bv-j-item { display: grid; gap: 2px; width: 100%; text-align: left; padding: 10px 12px; border: 1px solid #c8c4ba17; border-radius: 3px; background: linear-gradient(180deg, #ffffff07, #ffffff02); color: #d9d4c7; cursor: pointer; }
#pine-redm .bv-j-item b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pine-redm .bv-j-item small { color: #8f8b82; font-size: 12px; }
#pine-redm .bv-j-item:hover, #pine-redm .bv-j-item.is-on { border-color: #cfa96166; color: #ece5d3; }
#pine-redm .bv-j-empty { color: #8f8b82; padding: 8px 2px; }
#pine-redm .bv-j-page { display: grid; gap: 12px; padding: clamp(18px, 2.4vw, 32px); background: radial-gradient(ellipse 80% 50% at 50% 0%, #2c2c2c55, transparent 70%), linear-gradient(180deg, #171717, #121212); box-shadow: 0 24px 60px #000c, inset 0 0 40px #0007; border-radius: 2px; }
#pine-redm .bv-j-page .eyebrow { margin: 0; }
#pine-redm .bv-j-page label { display: grid; gap: 6px; font-weight: 600; }
#pine-redm .bv-j-page textarea { min-height: 300px; line-height: 1.75; resize: vertical; }
#pine-redm .bv-j-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
#pine-redm .bv-j-meta { color: #8f8b82; font-size: 12px; margin-right: auto; }
#pine-redm .bv-j-state { font-size: 13px; color: #d8a27a; }
#pine-redm .bv-j-state.is-ok { color: #9fc79a; }
#pine-redm .bv-log-journal { margin-top: 6px; padding: 10px 12px; border-left: 2px solid #cfa96155; background: #ffffff05; }
#pine-redm .bv-log-journal b { display: block; color: #ece5d3; }
#pine-redm .bv-log-journal p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; color: #cfcabd; }
@media (max-width: 760px) { #pine-redm .bv-j-layout { grid-template-columns: minmax(0, 1fr); } #pine-redm .bv-j-list { max-height: 220px; } }

/* BLACKVEIL_SIDEBAR_STICKY — the sidebar stays one screen tall, so the bottom menu ("แก้ไขใบสมัคร")
   is always visible however long the page is */
@media (min-width: 651px) {
  #pine-redm .sidebar { position: sticky; top: 0; align-self: start; height: calc(100dvh - var(--bv-mast, 72px)); min-height: 360px; overflow-y: auto; scrollbar-width: thin; }
}

/* BLACKVEIL_TRUEFALSE_V1 + FORM_CENTER: centered form editor, true/false questions, staff right/wrong marks */
#pine-redm section[data-screen="form"] { width: 100%; max-width: 980px; margin-left: auto; margin-right: auto; }
#pine-redm .bv-fe-type, #pine-redm .bv-fe-key { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--soft); }
#pine-redm .bv-fe-key > span { margin-right: 4px; }
#pine-redm .bv-fe-chip { padding: 6px 14px; border: 1px solid #ffffff24; border-radius: 999px; background: transparent; color: var(--soft); font: inherit; font-size: 12px; cursor: pointer; }
#pine-redm .bv-fe-chip:hover { border-color: #ffffff55; color: var(--ink); }
#pine-redm .bv-fe-chip.is-on { background: #c9a45c22; border-color: #c9a45c; color: #f0d89c; }
#pine-redm .bv-fe-key-true.is-on { background: #3f8f5a2a; border-color: #5fb47a; color: #a7e2b8; }
#pine-redm .bv-fe-key-false.is-on { background: #a4403a2a; border-color: #d0665d; color: #f1aaa3; }
#pine-redm .bv-fe-warn { color: #e8a25a; font-style: normal; font-weight: 500; }
#pine-redm .bv-tf { display: flex; gap: 12px; margin-top: 8px; }
#pine-redm .bv-tf-opt { position: relative; display: inline-flex; cursor: pointer; }
#pine-redm .bv-tf-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
#pine-redm .bv-tf-opt span { display: inline-block; min-width: 92px; padding: 10px 18px; text-align: center; border: 1px solid currentColor; border-radius: 4px; opacity: .7; font-weight: 600; }
#pine-redm .bv-tf-opt input:checked + span { opacity: 1; background: #00000014; box-shadow: inset 0 0 0 1px currentColor; }
#pine-redm .bv-tf-opt input:focus-visible + span { outline: 2px solid #c9a45c; outline-offset: 2px; }
#pine-redm .bv-tf-mark { display: inline-block; margin-left: 10px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
#pine-redm .bv-tf-mark.is-right { background: #3f8f5a33; color: #a7e2b8; border: 1px solid #5fb47a; }
#pine-redm .bv-tf-mark.is-wrong { background: #a4403a33; color: #f1aaa3; border: 1px solid #d0665d; }
#pine-redm .bv-tf-key { margin-left: 6px; font-size: 12px; color: var(--soft); }

/* BLACKVEIL_IDENTITY_V1: first/last name row, Discord name preview, staff identity grid */
#pine-redm .bv-name-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
#pine-redm .bv-name-note { margin: -4px 0 2px; font-size: 12px; color: var(--soft); }
#pine-redm .bv-name-note b { color: #e6c98a; font-weight: 600; }
#pine-redm .bv-id-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; margin: 10px 0; }
#pine-redm .bv-id-grid p { word-break: break-all; }
@media (max-width: 520px) { #pine-redm .bv-name-row, #pine-redm .bv-id-grid { grid-template-columns: 1fr; } }
#pine-redm .bv-steam-label { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
#pine-redm .bv-steam-link { font-size: 12px; font-weight: 500; color: #e6c98a; text-decoration: underline; text-underline-offset: 3px; }
#pine-redm .bv-steam-link:hover { color: #f5dfa8; }
#pine-redm .bv-steam-field { display: grid; gap: 6px; }
#pine-redm .bv-steam-hint { margin: 0; font-size: 12px; color: var(--soft); text-align: right; }
#pine-redm .bv-steam-link { outline: none; }
#pine-redm .bv-steam-link:focus-visible { outline: 1px solid #c9a45c; outline-offset: 2px; border-radius: 2px; }

/* BLACKVEIL_CHOICE_V1: multiple-choice questions (editor + applicant) and staff test journal tag */
#pine-redm .bv-nav-tag { margin-left: 6px; padding: 1px 6px; border: 1px solid #c9a45c66; border-radius: 999px; font-size: 10px; color: #e6c98a; }
#pine-redm .bv-fe-choices { display: grid; gap: 8px; }
#pine-redm .bv-fe-choices-head { font-size: 12px; font-weight: 600; color: var(--soft); }
#pine-redm .bv-fe-choice { display: grid; grid-template-columns: 22px minmax(0,1fr) auto auto; gap: 8px; align-items: center; padding: 4px 6px; border: 1px solid transparent; border-radius: 6px; }
#pine-redm .bv-fe-choice > b { color: #e6c98a; text-align: center; }
#pine-redm .bv-fe-choice.is-key { border-color: #5fb47a88; background: #3f8f5a14; }
#pine-redm .bv-fe-key-btn.is-on { background: #3f8f5a2a; border-color: #5fb47a; color: #a7e2b8; }
#pine-redm .bv-fe-choice-actions { display: flex; align-items: center; gap: 12px; }
#pine-redm .bv-fe-add-sm { padding: 6px 12px; font-size: 12px; }
#pine-redm .bv-choices { display: grid; gap: 8px; margin-top: 8px; }
#pine-redm .bv-choice { position: relative; display: block; cursor: pointer; }
#pine-redm .bv-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
#pine-redm .bv-choice span { display: flex; gap: 10px; align-items: baseline; padding: 9px 14px; border: 1px solid currentColor; border-radius: 4px; opacity: .72; font-weight: 500; line-height: 1.45; }
#pine-redm .bv-choice span i { font-style: normal; font-weight: 700; min-width: 1.2em; }
#pine-redm .bv-choice input:checked + span { opacity: 1; background: #00000018; box-shadow: inset 0 0 0 1px currentColor; font-weight: 600; }
#pine-redm .bv-choice input:focus-visible + span { outline: 2px solid #c9a45c; outline-offset: 2px; }
@media (max-width: 520px) { #pine-redm .bv-fe-choice { grid-template-columns: 22px minmax(0,1fr); } }

/* BLACKVEIL_JOURNAL_RICH_V1: reading sheet, toolbar editor, staff read-only */
#pine-redm .bv-j-main { min-width: 0; }
#pine-redm .bv-j-who { margin: 0; padding: 10px 12px; border: 1px solid #cfa96133; border-radius: 3px; color: #ece5d3; font-weight: 600; display: grid; gap: 2px; }
#pine-redm .bv-j-who small { color: #8f8b82; font-weight: 400; font-size: 12px; }
#pine-redm .bv-j-back { margin: 0 0 14px; }
#pine-redm .bv-j-blank { display: grid; place-items: center; gap: 8px; min-height: 320px; color: #8f8b82; border: 1px dashed #c8c4ba22; border-radius: 3px; text-align: center; padding: 24px; }
#pine-redm .bv-j-blank span { font-size: 28px; color: #cfa96188; }
#pine-redm .bv-j-sheet, #pine-redm .bv-j-editor { position: relative; display: grid; gap: 14px; padding: clamp(18px, 2.4vw, 34px); background: radial-gradient(ellipse 80% 50% at 50% 0%, #2c2c2c55, transparent 70%), linear-gradient(180deg, #171717, #121212); box-shadow: 0 24px 60px #000c, inset 0 0 40px #0007; border-radius: 2px; }
#pine-redm .bv-j-sheet-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 12px; border-bottom: 1px solid #c8c4ba1f; }
#pine-redm .bv-j-sheet-head h2 { margin: 6px 0 4px; font-family: 'Noto Serif Thai', serif; font-size: clamp(22px, 2.2vw, 30px); color: #ece5d3; overflow-wrap: anywhere; }
#pine-redm .bv-j-sheet-head .eyebrow { margin: 0; }
#pine-redm .bv-j-ro { flex: none; padding: 4px 10px; border: 1px solid #c8c4ba33; border-radius: 999px; font-size: 12px; color: #b9b4a8; }
#pine-redm .bv-j-editbtn { flex: none; }
#pine-redm .bv-j-read, #pine-redm .bv-j-area { color: #ddd6c6; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
#pine-redm .bv-j-read p, #pine-redm .bv-j-area p { margin: 0 0 .9em; }
#pine-redm .bv-j-read h2, #pine-redm .bv-j-area h2 { font-family: 'Noto Serif Thai', serif; font-size: 22px; margin: 1em 0 .5em; color: #ece5d3; }
#pine-redm .bv-j-read blockquote, #pine-redm .bv-j-area blockquote { margin: .8em 0; padding: 6px 16px; border-left: 3px solid #cfa961; color: #cfc6b2; font-style: italic; background: #ffffff05; }
#pine-redm .bv-j-read ul, #pine-redm .bv-j-read ol, #pine-redm .bv-j-area ul, #pine-redm .bv-j-area ol { margin: 0 0 .9em; padding-left: 1.6em; }
#pine-redm .bv-j-read img, #pine-redm .bv-j-area img { display: block; max-width: 100%; height: auto; margin: 12px auto; border-radius: 2px; box-shadow: 0 8px 24px #0009; }
#pine-redm .bv-j-read a, #pine-redm .bv-j-area a { color: #e6c98a; text-decoration: underline; text-underline-offset: 3px; }
#pine-redm .bv-j-read hr, #pine-redm .bv-j-area hr { border: 0; border-top: 1px solid #c8c4ba33; margin: 1.2em 0; }
#pine-redm .bv-al-left { text-align: left; } #pine-redm .bv-al-center { text-align: center; } #pine-redm .bv-al-right { text-align: right; } #pine-redm .bv-al-justify { text-align: justify; }
#pine-redm .bv-j-imgnote { color: #8f8b82; font-style: italic; }
#pine-redm .bv-j-title { font-family: 'Noto Serif Thai', serif; font-size: 20px; font-weight: 700; }
#pine-redm .bv-j-toolbar { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; border: 1px solid #c8c4ba1f; border-radius: 3px; background: #0d0d0d; position: sticky; top: 0; z-index: 2; }
#pine-redm .bv-j-tg { display: inline-flex; gap: 2px; padding-right: 6px; border-right: 1px solid #c8c4ba1a; }
#pine-redm .bv-j-tg:last-child { border-right: 0; }
#pine-redm .bv-j-tool { min-width: 32px; height: 32px; padding: 0 8px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: #d9d4c7; font: inherit; font-size: 14px; cursor: pointer; line-height: 1; }
#pine-redm .bv-j-tool:hover { background: #ffffff10; border-color: #c8c4ba26; }
#pine-redm .bv-j-tool.is-on { background: #c9a45c22; border-color: #c9a45c; color: #f0d89c; }
#pine-redm .bv-j-pop { position: absolute; z-index: 5; display: flex; flex-wrap: wrap; gap: 6px; max-width: 260px; padding: 8px; background: #161616; border: 1px solid #c8c4ba33; border-radius: 4px; box-shadow: 0 10px 30px #000c; }
#pine-redm .bv-j-swatch { width: 26px; height: 26px; padding: 3px; border: 1px solid #c8c4ba33; border-radius: 3px; background: transparent; cursor: pointer; }
#pine-redm .bv-j-swatch i { display: block; width: 100%; height: 100%; border-radius: 2px; }
#pine-redm .bv-j-sizeopt { padding: 4px 10px; border: 1px solid #c8c4ba26; border-radius: 3px; background: transparent; color: #ddd6c6; cursor: pointer; }
#pine-redm .bv-j-area { min-height: 380px; max-height: 70vh; overflow-y: auto; padding: 16px 18px; border: 1px solid #c8c4ba26; border-radius: 3px; background: #0b0b0b; outline: none; }
#pine-redm .bv-j-area:focus { border-color: #cfa96166; }
#pine-redm .bv-j-area:empty::before { content: attr(data-placeholder); color: #6f6b63; }
#pine-redm .bv-j-editor.is-full { position: fixed; inset: 0; z-index: 400; border-radius: 0; grid-template-rows: auto auto minmax(0, 1fr) auto; overflow: hidden; }
#pine-redm .bv-j-editor.is-full .bv-j-area { max-height: none; height: 100%; }
#pine-redm .bv-log-journal .bv-j-read-sm { font-size: 14px; line-height: 1.7; max-height: 260px; overflow: hidden; margin-top: 4px; }
#pine-redm .bv-log-journal .bv-j-read-sm p { margin: 0 0 .5em; }
#pine-redm .bv-log-jopen { margin-top: 8px; }
@media (max-width: 760px) { #pine-redm .bv-j-sheet-head { flex-direction: column; } }
#pine-redm .bv-j-headbtns { display: flex; gap: 8px; flex: none; }
#pine-redm .bv-j-delbtn { color: #e59a92 !important; }

/* BLACKVEIL_JOURNAL_IMGSIZE: picture widths + the size bar */
#pine-redm .bv-j-read img.bv-w-25, #pine-redm .bv-j-area img.bv-w-25 { width: 25%; }
#pine-redm .bv-j-read img.bv-w-50, #pine-redm .bv-j-area img.bv-w-50 { width: 50%; }
#pine-redm .bv-j-read img.bv-w-75, #pine-redm .bv-j-area img.bv-w-75 { width: 75%; }
#pine-redm .bv-j-area img { cursor: pointer; }
#pine-redm .bv-j-area img.is-sel { outline: 2px solid #c9a45c; outline-offset: 3px; }
#pine-redm .bv-j-imgbar { position: absolute; z-index: 6; display: flex; align-items: center; gap: 4px; padding: 6px; background: #161616f2; border: 1px solid #c9a45c66; border-radius: 4px; box-shadow: 0 10px 30px #000c; font-size: 12px; color: #b9b4a8; }
#pine-redm .bv-j-imgbar > span { padding: 0 6px; }
#pine-redm .bv-j-imgbar button { padding: 5px 9px; border: 1px solid #c8c4ba26; border-radius: 3px; background: transparent; color: #ddd6c6; font: inherit; cursor: pointer; }
#pine-redm .bv-j-imgbar button:hover { border-color: #c8c4ba55; }
#pine-redm .bv-j-imgbar button.is-on { background: #c9a45c22; border-color: #c9a45c; color: #f0d89c; }
#pine-redm .bv-j-imgbar .bv-j-imgdel { color: #e59a92; }
#pine-redm .bv-j-tool.is-on { background: #c9a45c2e; border-color: #c9a45c; color: #f5dfa8; box-shadow: inset 0 0 0 1px #c9a45c55; }

/* BLACKVEIL_LIBRARY_V1: everyone's stories + red no-roleplay warning */
#pine-redm .bv-l-warn { margin: 0; padding: 10px 14px; border: 1px solid #d0665d; border-left-width: 4px; border-radius: 3px; background: #a4403a24; color: #ff9b91; font-weight: 700; font-size: 15px; letter-spacing: .01em; }
#pine-redm .bv-l-warn b { margin-right: 6px; }
#pine-redm .bv-l-warn-top { margin-bottom: 16px; }
#pine-redm .bv-l-warn-end { margin-top: 6px; }
#pine-redm .bv-l-search { width: 100%; }
#pine-redm .bv-l-author { color: #e6c98a; font-weight: 600; }
#pine-redm .bv-l-sheet .bv-j-read { user-select: none; -webkit-user-select: none; }
#pine-redm .bv-l-sample { font-style: normal; padding: 0 6px; border: 1px solid #c9a45c66; border-radius: 999px; font-size: 10px; color: #e6c98a; }

/* BLACKVEIL_BOOKS_V1: bookshelf catalog, cover editor, book bar */
#pine-redm .bv-jb-shelfbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
#pine-redm .bv-jb-shelfbar .bv-l-search { max-width: 360px; }
#pine-redm .bv-jb-count { margin: 0; color: #8f8b82; font-size: 13px; }
#pine-redm .bv-jb-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 30px 22px; padding: 22px 22px 8px; background: linear-gradient(180deg, transparent calc(100% - 14px), #3a2a1a 0) 0 0 / 100% 318px, linear-gradient(180deg, #120f0c, #0c0a08); border: 1px solid #2a2118; border-radius: 3px; }
#pine-redm .bv-jb-book { display: grid; gap: 8px; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; font: inherit; }
#pine-redm .bv-jb-spine { display: block; aspect-ratio: 7 / 10; transition: transform .18s ease, box-shadow .18s ease; box-shadow: 6px 10px 18px #000c, inset 4px 0 0 #00000055; border-radius: 2px 5px 5px 2px; overflow: hidden; }
#pine-redm .bv-jb-book:hover .bv-jb-spine, #pine-redm .bv-jb-book:focus-visible .bv-jb-spine { transform: translateY(-6px) rotate(-1deg); box-shadow: 10px 16px 26px #000e; }
#pine-redm .bv-jb-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
#pine-redm .bv-jb-plain, #pine-redm .bv-jb-newcover { display: grid; place-content: center; gap: 10px; padding: 14px; text-align: center; background: radial-gradient(ellipse at 50% 30%, #5a3b22, #2a1a0f 70%); color: #e8cf9a; border: 1px solid #c9a45c55; box-shadow: inset 0 0 0 6px #00000033, inset 0 0 0 7px #c9a45c44; }
#pine-redm .bv-jb-plain i, #pine-redm .bv-jb-newcover i { font-style: normal; font-size: 22px; color: #c9a45c; }
#pine-redm .bv-jb-plain b { font-family: 'Noto Serif Thai', serif; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
#pine-redm .bv-jb-newcover { background: repeating-linear-gradient(135deg, #1a1612 0 10px, #15120f 10px 20px); border-style: dashed; }
#pine-redm .bv-jb-newcover i { font-size: 34px; }
#pine-redm .bv-jb-meta { display: grid; gap: 1px; min-width: 0; }
#pine-redm .bv-jb-meta b { font-size: 13px; color: #ece5d3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pine-redm .bv-jb-meta small { font-size: 11px; color: #9a958b; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pine-redm .bv-jb-bar { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; padding: 10px 12px; border: 1px solid #c8c4ba1f; border-radius: 3px; background: #ffffff05; flex-wrap: wrap; }
#pine-redm .bv-jb-thumb { width: 44px; aspect-ratio: 7 / 10; flex: none; overflow: hidden; border-radius: 2px; box-shadow: 3px 4px 10px #000a; }
#pine-redm button.bv-jb-thumb { display: block; padding: 0; border: 0; background: none; cursor: zoom-in; transition: transform .15s ease; }
#pine-redm button.bv-jb-thumb:hover, #pine-redm button.bv-jb-thumb:focus-visible { transform: scale(1.08); }
#pine-redm .bv-jb-spine { position: relative; }
#pine-redm .bv-jb-new { position: absolute; top: 8px; right: 0; padding: 3px 8px 3px 9px; background: linear-gradient(180deg, #d9b56a, #a9823c); color: #1a1208; font-size: 10px; font-weight: 800; letter-spacing: .08em; border-radius: 2px 0 0 2px; box-shadow: 0 3px 8px #000c; }
#pine-redm .bv-jb-new::after { content: ''; position: absolute; right: 0; bottom: -4px; border-top: 4px solid #5e461d; border-right: 4px solid transparent; }
/* BLACKVEIL_COVER_ZOOM_V1 */
#pine-redm .bv-cz { position: fixed; inset: 0; z-index: 9000; display: grid; place-items: center; }
#pine-redm .bv-cz-back { position: absolute; inset: 0; background: #000000e0; will-change: opacity; }
#pine-redm .bv-cz-box { position: relative; display: grid; justify-items: center; gap: 14px; padding: 16px; max-height: 100vh; }
#pine-redm .bv-cz-cover { height: min(70vh, 640px); aspect-ratio: 7 / 10; max-width: calc(100vw - 32px); overflow: hidden; border-radius: 3px 8px 8px 3px; box-shadow: 10px 16px 30px #000; transform-origin: center; will-change: transform; backface-visibility: hidden; }
#pine-redm .bv-cz-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
#pine-redm .bv-cz-cover .bv-jb-plain b { font-size: 24px; }
#pine-redm .bv-cz-info { display: grid; justify-items: center; gap: 2px; text-align: center; }
#pine-redm .bv-cz-info b { font-family: 'Noto Serif Thai', serif; font-size: 20px; color: #ece5d3; }
#pine-redm .bv-cz-info small { color: #9a958b; font-size: 13px; }
#pine-redm .bv-cz-btns { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
#pine-redm .bv-cz-btns button { min-width: 130px; }
@media (max-width: 650px) { #pine-redm .bv-cz-cover { height: min(58vh, 520px); } }
#pine-redm .bv-jb-thumb .bv-jb-plain { padding: 2px; gap: 0; } #pine-redm .bv-jb-thumb .bv-jb-plain b { display: none; }
#pine-redm .bv-jb-name { display: grid; gap: 2px; margin-right: auto; min-width: 0; }
#pine-redm .bv-jb-name b { font-family: 'Noto Serif Thai', serif; font-size: 18px; color: #ece5d3; }
#pine-redm .bv-jb-name small { color: #9a958b; font-size: 12px; }
#pine-redm .bv-jb-coverform { display: grid; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr); gap: 28px; align-items: start; padding: clamp(18px, 2.4vw, 32px); background: linear-gradient(180deg, #171717, #121212); box-shadow: 0 24px 60px #000c; border-radius: 2px; }
#pine-redm .bv-jb-coverbox { aspect-ratio: 7 / 10; overflow: hidden; border-radius: 2px 6px 6px 2px; box-shadow: 8px 12px 24px #000d, inset 4px 0 0 #00000055; }
#pine-redm .bv-jb-coverside { display: grid; gap: 12px; }
#pine-redm .bv-jb-coverside h2 { margin: 0; font-family: 'Noto Serif Thai', serif; color: #ece5d3; }
#pine-redm .bv-jb-coverside label { display: grid; gap: 6px; font-weight: 600; }
#pine-redm .bv-jb-coverbtns { display: flex; gap: 10px; flex-wrap: wrap; }
#pine-redm .bv-jb-upload { display: inline-flex !important; align-items: center; padding: 8px 14px; border: 1px solid #c9a45c88; border-radius: 3px; color: #e6c98a; cursor: pointer; font-weight: 600; }
#pine-redm .bv-jb-upload:hover { background: #c9a45c18; }
#pine-redm .bv-jb-hint { margin: 0; font-size: 12px; }
@media (max-width: 760px) { #pine-redm .bv-jb-coverform { grid-template-columns: minmax(0, 1fr); } #pine-redm .bv-jb-coverbox { max-width: 240px; } #pine-redm .bv-jb-shelf { grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); background-size: 100% 262px; } }

/* BLACKVEIL_SIDEBAR_COL: the sidebar is 230px wide, keep the grid column matching so it never covers the page */
@media (min-width: 651px) { #pine-redm .workspace { grid-template-columns: 230px minmax(0,1fr); } }

/* BLACKVEIL_BACKBTN */
#pine-redm .bv-jb-backbtn { flex: none; padding: 9px 16px; border: 1px solid #c9a45c88; border-radius: 8px; background: #c9a45c14; color: #e6c98a; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .15s, border-color .15s; }
#pine-redm .bv-jb-backbtn:hover { background: #c9a45c2e; border-color: #e6c98a; color: #f3dcaa; }
#pine-redm .bv-jb-backbtn:focus-visible { outline: 2px solid #e6c98a; outline-offset: 2px; }

/* BLACKVEIL_SHELF_EMPTY: empty/loading message spans the whole shelf on one line */
#pine-redm .bv-jb-shelf > .bv-jb-empty { grid-column: 1 / -1; justify-self: center; align-self: center; margin: 0; padding: 36px 12px; text-align: center; white-space: normal; word-break: keep-all; }

/* BLACKVEIL_IDENTITY_EDIT_V1 */
.bv-native-card small.bv-ids{font-family:ui-monospace,Consolas,monospace;font-size:12px;opacity:.75;overflow-wrap:anywhere}

