#build-card.free-layout-card, #build-output-card.free-layout-card {
    width: var(--canvas-width, 1920px) !important;
    height: var(--canvas-height, 1080px) !important;
    min-height: var(--canvas-height, 1080px) !important;
    max-height: var(--canvas-height, 1080px) !important;
}
.free-layout-card > .free-card-stage {
    width: calc(var(--canvas-width, 1920px) - 48px);
    height: calc(var(--canvas-height, 1080px) - 48px);
}
#card-canvas-settings label { display: inline-flex; gap: 8px; align-items: center; margin: 8px; }
#card-canvas-settings input { width: 100px; }
#view-tab-profile, #profile-page-section { display: none !important; }

body.home-page-active .showcase-layout { grid-template-columns: minmax(0, 1fr); }
body.home-page-active .showcase-sidebar { display: none !important; }
body.home-page-active .showcase-content { grid-column: 1; grid-row: 1; }
body.home-page-active .dual-mobile-bar,
body.home-page-active .dual-sidebar,
body.home-page-active .dual-backdrop { display: none !important; }
.arcana-home-page, .arcana-page { color: var(--text-main, inherit); }
.arcana-home-page h1 { margin: 4px 0; font-size: clamp(26px, 4vw, 42px); }
.arcana-home-page h2, .arcana-page h2 { margin: 0; }
.arcana-lead { color: var(--text-muted, #94a3b8); margin: 4px 0 18px; }
.arcana-home-search, .arcana-calendar-wrap, .arcana-daily-card, .arcana-controls, .arcana-results { min-width: 0; padding: 16px; border: 1px solid var(--panel-border, #334155); border-radius: 16px; background: var(--panel-bg, rgba(15,23,42,.62)); }
.arcana-home-search { margin-bottom: 16px; }
.arcana-home-search form { display: flex; gap: 8px; margin-top: 10px; }
.arcana-home-history-primary, .arcana-home-history-extra { display:grid; gap:0; min-width:0; }
.arcana-home-history-more { margin:0; }
.arcana-home-history-more > summary { padding:9px 0; border-bottom:1px solid rgba(54,66,60,.16); color:#6b5a36; font-size:9px; cursor:pointer; list-style:none; }
.arcana-home-history-more > summary::-webkit-details-marker { display:none; }
.arcana-home-history-more > summary::after { content:'＋'; float:right; }
.arcana-home-history-more[open] > summary::after { content:'−'; }
.arcana-home-search input, .arcana-home-search button, .arcana-page input, .arcana-page select, .arcana-page button, .arcana-home-page input, .arcana-home-page select, .arcana-home-page button { min-width: 0; border: 1px solid var(--panel-border, #334155); border-radius: 9px; background: var(--panel-bg, #111827); color: inherit; padding: 8px 11px; }
.arcana-home-search input { flex: 1; }
.arcana-home-search button, .arcana-primary { background: var(--palette-selected, #43306a) !important; border-color: var(--palette-focus, #b496e8) !important; cursor: pointer; }
.arcana-home-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(270px, .7fr); gap: 16px; align-items: start; }
.arcana-section-heading { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 12px; }
.arcana-section-heading > div { display: flex; align-items: center; gap: 8px; }
.arcana-section-heading button { width: 34px; padding: 4px; font-size: 20px; line-height: 1; cursor: pointer; }
.arcana-calendar { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 4px; }
.arcana-weekday { text-align: center; color: var(--text-muted,#94a3b8); font-size: 12px; padding: 5px 0; }
.arcana-calendar-day { display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; min-height: 92px; padding: 5px !important; font-size: 12px; overflow: hidden; cursor: pointer; }
.arcana-day-heading { display: flex; width: 100%; justify-content: space-between; align-items: center; }
.arcana-day-moon { max-width: 100%; color: var(--text-muted,#94a3b8); font-size: 8px; line-height: 1.2; overflow-wrap: anywhere; }
.arcana-day-birthdays { display: flex; gap: 2px; margin-top: auto; padding-top: 2px; }
.arcana-day-birthdays img { width: 17px; height: 17px; border-radius: 50%; object-fit: cover; }
.arcana-calendar-day.is-outside-month { opacity: .42; }
.arcana-calendar-day.is-today { outline: 1px solid var(--palette-focus,#b496e8); }
.arcana-calendar-day.is-selected { background: var(--palette-selected,#43306a) !important; }
.arcana-selected-day { margin: 12px 0; padding: 10px; border-radius: 10px; background: color-mix(in srgb,var(--palette-selected,#43306a) 35%,transparent); }
.arcana-birthdays { display: grid; gap: 8px; }
.arcana-birthdays h3 { margin: 0; font-size: 14px; }
.arcana-birthday-person { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; cursor: pointer; }
.arcana-birthday-person img { width: 38px; height: 38px; object-fit: cover; border-radius: 50%; }
.arcana-birthday-person span:nth-child(2) { display: grid; flex: 1; }
.arcana-birthday-person small, .arcana-data-note { color: var(--text-muted,#94a3b8); font-size: 11px; }
.arcana-daily-card { display: grid; align-content: start; gap: 10px; }
.arcana-daily-card label, .arcana-daily-controls label, .arcana-four-controls > label { display: grid; gap: 4px; font-size: 12px; }
.arcana-daily-card [data-daily-result] { min-height: 100px; }
.arcana-link-button { cursor: pointer; }
.arcana-layout { display: flex; flex-direction: column; gap: 20px; }
.arcana-controls, .arcana-results { display: grid; gap: 14px; }
.arcana-mode-switch { display: grid; gap: 6px; }
.arcana-mode-switch button { text-align: left; cursor: pointer; padding: 8px 12px; border-radius: 8px; border: 1px solid var(--palette-focus,#8c76b2); background: rgba(30,27,50,.6); color: inherit; }
.arcana-mode-switch button[aria-pressed="true"] { outline: 1px solid var(--palette-focus,#b496e8); background: var(--palette-selected,#43306a); font-weight: 700; }
.arcana-daily-controls { display: grid; gap: 10px; }
.arcana-four-controls { display: grid; gap: 10px; }
.arcana-four-controls[hidden], .arcana-daily-controls[hidden] { display: none; }
.arcana-character-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; max-height: 360px; overflow: auto; padding: 4px; }
.arcana-character-option { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 11px; cursor: pointer; padding: 3px; border-radius: 6px; }
.arcana-character-option:hover { background: rgba(255,255,255,.05); }
.arcana-character-option img { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; }
.arcana-character-option span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arcana-primary { cursor: pointer; font-weight: 700; padding: 10px 16px; border-radius: 10px; background: #4f46e5; color: #fff; border: none; }
.arcana-primary:hover { background: #4338ca; }

/* ---- アルカナカード デザイン案 スタイル ---- */
:root {
  --arcana-bg: #10101c;
  --arcana-card: #1a1830;
  --arcana-ink: #ffffff;
  --arcana-sub: #ffffff;
  --arcana-gold: #d9ad55;
  --arcana-gold-2: #f3d68a;
  --arcana-line: #34305a;
  --arcana-art-a: #4b3b8c;
  --arcana-art-b: #1d1a45;
  --arcana-pill: #818cf8;
  --arcana-pill-r: #e0709b;
  --arcana-shadow: 0 10px 30px rgba(0, 0, 0, .5);
}

.arcana-draw-results {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  align-items: flex-start;
  padding: 8px 0;
}
/* PCCSパレット変数による文字色継承を遮断 — カード内テキストは常に白 */
#arcana-page-section .arcana-card,
#arcana-page-section .arcana-card *:not(img):not(svg):not(path):not(circle):not(rect):not(polygon):not(polyline):not(line),
#arcana-page-section .arcana-pick-stage,
#arcana-page-section .arcana-pick-stage *:not(img):not(svg):not(path):not(circle):not(rect):not(polygon):not(polyline):not(line),
#arcana-page-section .arcana-reading-summary,
#arcana-page-section .arcana-reading-summary *:not(img):not(svg):not(path):not(circle):not(rect):not(polygon):not(polyline):not(line) {
  color: #ffffff !important;
}

/* カード本体 */
.arcana-card {
  width: 280px;
  max-width: 100%;
  position: relative;
  background: var(--arcana-card);
  color: #ffffff !important;
  border-radius: 18px;
  padding: 14px 14px 16px;
  box-shadow: var(--arcana-shadow);
  border: 1px solid var(--arcana-gold);
  outline: 1px solid var(--arcana-gold-2);
  outline-offset: -7px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
  box-sizing: border-box;
}

.arcana-card-number {
  font: 600 12px/1 Georgia, "Times New Roman", serif;
  letter-spacing: .3em;
  color: var(--arcana-gold);
  margin-top: 2px;
}

.arcana-card h4 {
  margin: 0;
  font: 600 17px/1.3 "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  letter-spacing: .06em;
  color: #ffffff !important;
}

.arcana-card h4 span {
  display: block;
  font-size: 11px;
  color: #ffffff !important;
  letter-spacing: .2em;
  font-weight: 400;
  margin-top: 2px;
}

/* アーチ型イラスト枠 */
.arcana-card-art {
  display: block;
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 120px 120px 10px 10px;
  border: 2px solid var(--arcana-gold);
  background: radial-gradient(circle at 50% 30%, var(--arcana-art-a), var(--arcana-art-b));
  position: relative;
  overflow: hidden;
  margin: 2px 0;
}

.arcana-card.reversed .arcana-card-art,
.arcana-card.is-reversed .arcana-card-art {
  transform: rotate(180deg);
}

/* フォールバック用イラスト */
.art {
  position: relative;
  aspect-ratio: 3/4;
  border-radius: 120px 120px 10px 10px;
  border: 2px solid var(--arcana-gold);
  overflow: hidden;
  background: radial-gradient(circle at 50% 30%, var(--arcana-art-a), var(--arcana-art-b));
  margin: 2px 0;
}
.art svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.arcana-card.reversed .art svg,
.arcana-card.is-reversed .art svg {
  transform: rotate(180deg);
}

/* 正逆位置バッジ */
.arcana-orientation {
  align-self: center;
  font-size: 12px;
  letter-spacing: .2em;
  padding: 2px 14px;
  border-radius: 999px;
  color: #fff;
  background: var(--arcana-pill);
  font-weight: 600;
}

.arcana-card.reversed .arcana-orientation,
.arcana-card.is-reversed .arcana-orientation {
  background: var(--arcana-pill-r);
}

/* 意味・解釈 */
.arcana-card-meaning {
  margin: 0;
  font: 600 15px/1.4 "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  color: var(--arcana-gold);
}

.arcana-card-meaning-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:8px 0; font-size:11px; line-height:1.55; }
.arcana-card-meaning-pair p { margin:0; padding:7px; border:1px solid var(--arcana-line); color:var(--arcana-text); }
.arcana-card-meaning-pair strong { display:block; margin-bottom:3px; color:var(--arcana-gold); }
.arcana-card-advice { margin:0; font-size:12px; line-height:1.6; color:var(--arcana-text); }
.arcana-card-advice strong { color:var(--arcana-gold); }
.arcana-card-reading-label { margin:10px 0 0; color:var(--arcana-gold); font-size:11px; font-weight:700; }
.arcana-reading-summary-overall h4 { margin:0 0 8px; color:var(--arcana-gold); font:600 18px/1.4 "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif; }
.arcana-reading-summary-overall p { margin:7px 0 0; line-height:1.7; }

.arcana-card-source {
  margin: 0;
  font-size: 11px;
  color: #ffffff !important;
}

.arcana-card-interpretation {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: #ffffff !important;
  text-align: left;
}

.arcana-card-motif {
  margin: 0;
  font-size: 11px;
  color: #ffffff !important;
  font-style: italic;
  border-top: 1px dashed var(--arcana-line);
  padding-top: 8px;
}

/* カード原文 details */
.arcana-card details {
  text-align: left;
  border: 1px solid var(--arcana-line);
  border-radius: 10px;
  padding: 6px 10px;
  font-size: 12px;
  background: rgba(0, 0, 0, .2);
  color: #ffffff !important;
}

.arcana-card summary {
  cursor: pointer;
  color: #ffffff !important;
  list-style: none;
  text-align: center;
  font-weight: 500;
}

.arcana-card summary::-webkit-details-marker {
  display: none;
}

.arcana-card details[open] summary {
  margin-bottom: 6px;
  border-bottom: 1px solid var(--arcana-line);
  padding-bottom: 4px;
}

.arcana-card-source-text {
  margin: 0;
  white-space: pre-line;
  color: #ffffff !important;
  max-height: 150px;
  overflow: auto;
  font-size: 11.5px;
  line-height: 1.6;
}

/* ---- 4～48枚のカード選択ステージ ---- */
.arcana-pick-stage {
  width: 100%;
  color: #ffffff !important;
}

.arcana-pick-stage h4 {
  margin: 0 0 0.5rem;
  font-size: 1.25rem;
  color: #ffffff !important;
}

.arcana-pick-stage h4 small {
  font-size: 0.95rem;
  color: var(--arcana-gold-2) !important;
  margin-left: 0.5rem;
}

.arcana-pick-stage p {
  margin: 0 0 1rem;
  color: #ffffff !important;
  font-size: 0.88rem;
  line-height: 1.6;
}

.arcana-card-pool {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(58px, 1fr));
  gap: 10px;
  margin: 14px 0 20px;
  max-width: 100%;
}

.arcana-pool-card {
  display: grid;
  place-items: center;
  aspect-ratio: 0.68;
  min-width: 0;
  padding: 6px;
  border: 1px solid var(--arcana-gold);
  border-radius: 9px;
  color: var(--arcana-gold-2) !important;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--arcana-card) 76%, #12101c), #171522 70%);
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--arcana-gold) 28%, transparent), 0 2px 8px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.arcana-pool-card:hover {
  transform: translateY(-4px);
  outline: 2px solid var(--arcana-gold-2);
  outline-offset: 2px;
}

.arcana-pool-card.is-picked {
  background: linear-gradient(145deg, var(--arcana-art-a), #211b30);
  border-color: var(--arcana-gold-2);
  outline: 2px solid var(--arcana-gold-2);
  outline-offset: 2px;
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(129, 140, 248, 0.35);
}

.arcana-pool-card span {
  font-size: 16px;
  font-weight: 800;
  color: #ffffff !important;
}

@media (max-width: 560px) {
  .arcana-card-pool {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
  }
  .arcana-pool-card {
    padding: 3px;
  }
  .arcana-pool-card span {
    font-size: 13px;
  }
}

/* ---- 4枚引き 十字・菱形スプレッド 設計案スタイル ---- */
.arcana-four-reading {
  --arcana-card-width: 150px;
  --arcana-gap: clamp(0.5rem, 2vw, 1.5rem);

  width: 100%;
  min-width: 0;
  color: #ffffff !important;
}

.arcana-four-reading * {
  color: #ffffff;
}

.arcana-spread-header {
  margin-bottom: 1.5rem;
  text-align: center;
}

.arcana-spread-header h3 {
  margin: 0 0 0.5rem;
  font-size: 1.4rem;
  color: #ffffff !important;
}

.arcana-spread-description {
  margin: 0;
  color: #ffffff !important;
  font-size: 0.9rem;
}

/* 3×3グリッドの中央を山札にする */
.arcana-spread {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, var(--arcana-card-width)));
  grid-template-rows: auto auto auto;
  justify-content: center;
  align-items: center;
  gap: var(--arcana-gap);
  padding: 1rem 0;
}

.arcana-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  text-align: center;
  gap: 0.5rem;
}

.arcana-slot[data-position="fate"] {
  grid-column: 2;
  grid-row: 1;
}

.arcana-slot[data-position="past"] {
  grid-column: 1;
  grid-row: 2;
}

.arcana-deck {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  min-width: 0;
  min-height: 100px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid var(--arcana-gold);
  border-radius: 50%;
  background: radial-gradient(circle, rgb(104 73 145 / 35%), rgb(20 17 36 / 95%));
  aspect-ratio: 1;
  padding: 0.5rem;
  text-align: center;
  box-shadow: 0 0 18px rgba(129, 140, 248, 0.25);
  color: #ffffff !important;
}

.arcana-deck-symbol {
  color: var(--arcana-gold-2) !important;
  font-size: 1.7rem;
}

.arcana-deck strong {
  color: #ffffff !important;
  font-size: 0.95rem;
}

.arcana-deck-count {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff !important;
}

.arcana-deck p {
  margin: 0;
  font-size: 0.72rem;
  color: #ffffff !important;
}

.arcana-slot[data-position="future"] {
  grid-column: 3;
  grid-row: 2;
}

.arcana-slot[data-position="present"] {
  grid-column: 2;
  grid-row: 3;
}

.arcana-slot-heading {
  margin: 0;
  text-align: center;
}

.arcana-slot-heading h4 {
  margin: 0.15rem 0;
  font-size: 1.1rem;
  color: #ffffff !important;
}

.arcana-slot-heading p {
  margin: 0;
  font-size: 0.78rem;
  color: #ffffff !important;
}

.arcana-slot-direction {
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--arcana-gold-2) !important;
}

/* スプレッド内カード本体 */
.arcana-slot .arcana-card {
  width: 100%;
  aspect-ratio: 3 / 4.5;
  padding: 0;
  border: 0;
  border-radius: 0.75rem;
  background: transparent;
  perspective: 900px;
  cursor: pointer;
  box-shadow: none;
  outline: none;
}

.arcana-slot .arcana-card-inner {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 650ms cubic-bezier(.2, .7, .2, 1);
}

.arcana-slot .arcana-card.is-revealed .arcana-card-inner {
  transform: rotateY(180deg);
}

.arcana-slot .arcana-card-back,
.arcana-slot .arcana-card-front {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--arcana-gold);
  border-radius: inherit;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.arcana-slot .arcana-card-back {
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--arcana-card) 76%, #12101c), #171522 70%);
  color: var(--arcana-gold-2) !important;
  box-shadow: 0 8px 24px rgb(0 0 0 / 28%);
  font-weight: 700;
  font-size: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.arcana-slot .arcana-card-back::before {
  content: "✧";
  font-size: 20px;
  color: var(--arcana-gold);
}

.arcana-slot .arcana-card-front {
  transform: rotateY(180deg);
  background: #171324;
  position: relative;
}

.arcana-slot .arcana-card-front img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.arcana-slot .arcana-card-front.is-reversed img,
.arcana-slot .arcana-card-front.reversed img {
  transform: rotate(180deg);
}

.arcana-slot .arcana-card-front .art {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: inherit;
}

.arcana-slot .arcana-card-front.is-reversed .art svg,
.arcana-slot .arcana-card-front.reversed .art svg {
  transform: rotate(180deg);
}

.arcana-slot .arcana-card:disabled {
  cursor: default;
}

.arcana-slot .arcana-card:focus-visible,
.arcana-reveal-controls button:focus-visible {
  outline: 3px solid var(--arcana-gold-2);
  outline-offset: 4px;
}

.arcana-card-status {
  min-height: 1.3em;
  margin: 0;
  font-size: 0.82rem;
  color: #ffffff !important;
  font-weight: 500;
}

.arcana-reveal-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.arcana-reveal-controls button {
  padding: 8px 18px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  background: #4f46e5;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: background 0.2s;
}

.arcana-reveal-controls button:hover {
  background: #4338ca;
}

#arcana-reveal-status {
  width: 100%;
  text-align: center;
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  color: #ffffff !important;
}

.arcana-reading-summary {
  margin-top: 2.5rem;
  padding: 1.5rem;
  border: 1px solid var(--arcana-gold);
  border-radius: 1rem;
  background: rgba(26, 24, 48, 0.75);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.arcana-reading-summary h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.3rem;
  color: #ffffff !important;
  letter-spacing: 0.05em;
}

.arcana-reading-summary-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  align-items: stretch;
  margin-top: 1.5rem;
}

.arcana-reading-summary-cards .arcana-card {
  width: 250px;
}

.arcana-reading-summary-overall {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: 10px;
  background: rgba(15, 13, 26, 0.6);
  border: 1px solid var(--arcana-line);
  line-height: 1.7;
  font-size: 0.92rem;
  color: #ffffff !important;
}

/* 3Dフリップ共通 */
.flip {
  width: 280px;
  max-width: 100%;
  perspective: 1000px;
  cursor: pointer;
}
.flip-inner {
  position: relative;
  transition: transform .7s cubic-bezier(.4, 0, .2, 1);
  transform-style: preserve-3d;
}
.flip.open .flip-inner {
  transform: rotateY(180deg);
}
.face {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.back {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  border: 1px solid var(--arcana-gold);
  outline: 1px solid var(--arcana-gold-2);
  outline-offset: -7px;
  box-shadow: var(--arcana-shadow);
  background: radial-gradient(circle at 50% 50%, var(--arcana-art-a) 0, var(--arcana-art-b) 70%);
  display: grid;
  place-items: center;
  color: var(--arcana-gold-2);
  min-height: 480px;
}
.back svg {
  width: 110px;
  height: 110px;
}
.front {
  transform: rotateY(180deg);
}
.cap {
  width: 100%;
  text-align: center;
  color: #ffffff !important;
  font-size: 12px;
  margin-top: 6px;
}

.arcana-card-back span { font-size:18px; font-weight:800; }
.arcana-spread-slot strong { color:var(--arcana-gold-2); }
.arcana-spread-slot span { font-size:11px; }
@media (max-width: 560px) { .arcana-spread-slots { grid-template-columns:repeat(2,minmax(0,1fr)); } .arcana-card-pool { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width: 760px) {
    .arcana-home-grid { grid-template-columns: minmax(0,1fr); }
    .arcana-calendar-day { min-height: 72px; padding: 3px !important; }
    .arcana-day-moon { font-size: 7px; }
    .arcana-day-birthdays img { width: 14px; height: 14px; }
    .arcana-character-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.card-layout-box[data-text-color="custom"] .card-layout-content :not(img):not(svg),
.card-layout-box[data-text-color="palette"] .card-layout-content :not(img):not(svg) { color: var(--layer-text-color) !important; }
.card-layout-box .card-layout-content { -webkit-text-stroke: var(--layer-text-stroke,0px) var(--layer-text-stroke-color,transparent); paint-order: stroke fill; }
.card-layout-box .card-layout-content * { paint-order: stroke fill; }
.metric-rank-newline [data-summary-metric-rank]::before,
.metric-rank-newline [data-artifact-metric-rank]::before { content: '\A'; white-space: pre; }
.summary-metric-box { min-width: 0; overflow-wrap: anywhere; }
#card-typography-settings label, .layer-controls-box fieldset label { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.typography-basic-controls { display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:6px; max-width:100%; }
.typography-basic-controls > label { display:flex; flex:0 0 auto; flex-direction:row; align-items:center; gap:6px; margin:0; white-space:nowrap; text-align:left; }
#card-typography-settings .typography-basic-controls > label, .layer-controls-box .typography-basic-controls > label { flex-wrap:nowrap; }
.typography-basic-controls select { width:auto; max-width:150px; min-width:0; }
.typography-basic-controls input[type="number"] { width:40px; height:16px; min-height:16px; padding:0 2px; box-sizing:border-box; border-radius:0; font-size:10px; }
.free-layout-card .artifact-roll-detail > span { font-size: inherit !important; line-height: inherit; }
#sidebar-layout-presets { min-width: 0; }
#sidebar-layout-presets fieldset { min-width: 0; margin-top: 12px; }
#sidebar-layout-presets input[type="number"] { width: 90px; }
#sidebar-layout-presets select, #sidebar-layout-presets input[type="text"] { max-width: 100%; }
.layout-preset-item { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 4px; padding: 6px 0; }
.layout-preset-item small { grid-column: 2; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.hide-artifact-row-lines [data-layout-key] .artifact-substats-grid > *,
.hide-artifact-row-lines [data-layout-key] .artifact-score-footer,
.hide-artifact-row-lines [data-layout-key] [data-card-field$="-main"]:not(img) { border-top: 0 !important; border-bottom: 0 !important; }
.hide-artifact-row-lines .layout-artifact-slots .border-b,
.hide-artifact-row-lines .layout-artifact-slots .border-t { border-top-width: 0 !important; border-bottom-width: 0 !important; }
@media (max-width: 767px) {
    .site-header { position: static !important; }
}
.character-gallery-filters { display:flex; flex-wrap:wrap; gap:12px; margin:16px 0; }
.character-library { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin:12px 0 20px; }
.character-library > details, .character-custom-section { min-width:0; padding:12px; border:1px solid var(--panel-border); border-radius:12px; background:var(--panel-bg); }
.character-library > details > summary { display:flex; justify-content:space-between; cursor:pointer; font-weight:700; }
.character-acquired-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px; margin-top:10px; }
.character-acquired-row { display:flex; align-items:center; gap:8px; min-width:0; padding:6px; border:1px solid var(--panel-border); border-radius:8px; color:inherit; text-decoration:none; }
.character-acquired-row img { flex:0 0 auto; object-fit:contain; }
.character-acquired-row span { flex:1; min-width:0; font-size:12px; overflow-wrap:anywhere; }
.character-acquired-row small { color:var(--text-muted); font-size:10px; }
.character-acquired-row.is-custom { border-style:dashed; }
.character-custom-section h3 { margin:0 0 6px; }
.character-custom-section h3 span, [data-acquired-count] { color:var(--palette-focus,var(--text-muted)); font-size:.8em; }
.character-custom-actions { display:flex; flex-wrap:wrap; align-items:end; gap:8px; }
.character-custom-actions label { display:grid; gap:4px; min-width:min(100%,240px); }
.character-custom-actions select, .character-custom-card input, .character-custom-card select, .character-custom-card textarea, .character-dummy-row input, .character-dummy-row textarea { max-width:100%; padding:7px; border:1px solid var(--panel-border); border-radius:7px; color:inherit; background:var(--panel-bg); }
.character-history-toggle { display:inline-flex; align-items:center; gap:6px; padding:7px 10px; border:1px solid var(--panel-border); border-radius:8px; color:inherit; background:var(--panel-bg); cursor:pointer; }
.character-history-toggle span:first-child { color:var(--palette-focus,var(--text-muted)); font-size:1.2em; font-weight:700; line-height:1; }
.history-character-entry { display:flex; align-items:stretch; gap:4px; min-width:0; }
.history-character-entry .history-char-tab { flex:1; min-width:0; }
.history-character-add { flex:0 0 34px; align-self:center; width:34px; height:34px; border:1px solid var(--panel-border); border-radius:8px; color:var(--palette-focus,var(--text-muted)); background:var(--panel-bg); font-size:20px; line-height:1; cursor:pointer; }
.history-character-add:hover { border-color:var(--palette-focus,var(--panel-border)); }
.character-custom-list { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; margin-top:10px; }
.character-custom-card { display:grid; gap:10px; min-width:0; padding:12px; border:1px solid var(--panel-border); border-radius:10px; background:var(--panel-bg); }
.character-custom-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.character-custom-head img { flex:0 0 auto; object-fit:contain; }
.character-custom-head label { display:grid; gap:4px; min-width:180px; }
.character-custom-head small { color:var(--text-muted); }
.character-custom-gear { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:8px; }
.character-custom-gear label { display:grid; gap:4px; min-width:0; font-size:11px; }
.character-custom-artifacts { min-width:0; }
.character-custom-artifacts > summary { cursor:pointer; font-weight:700; }
.character-custom-artifact-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:10px; margin-top:10px; }
.character-custom-artifact-piece { min-width:0; padding:8px; border:1px solid var(--panel-border); border-radius:8px; }
.character-custom-artifact-piece > label { display:grid; gap:4px; font-size:11px; }
.character-custom-artifact-editor { min-width:0; }
.character-dummy-editor { display:grid; gap:8px; min-width:0; padding:10px; border:1px solid var(--panel-border); border-radius:8px; }
.character-dummy-editor legend { padding:0 5px; font-weight:700; }
.character-dummy-rows { display:grid; gap:8px; }
.character-dummy-row { display:grid; grid-template-columns:minmax(100px,.7fr) minmax(150px,1.6fr) auto auto auto; align-items:center; gap:6px; min-width:0; }
.character-dummy-row textarea { min-height:38px; resize:vertical; }
@media (max-width: 600px) {
    .character-dummy-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
    .character-dummy-row textarea { grid-column:1 / -1; }
    .character-custom-artifact-grid { grid-template-columns:minmax(0,1fr); }
}
.character-gallery-add { margin-top:8px; }
.character-gallery-filters label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.character-gallery-filters :is(input,select) { max-width:100%; padding:8px; border:1px solid var(--panel-border); border-radius:8px; }
.character-gallery-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.character-gallery-card { display:grid; grid-template-columns:64px minmax(150px,.55fr) minmax(220px,1.45fr); align-items:start; gap:12px; min-width:0; padding:9px 12px; border:1px solid var(--panel-border); border-radius:12px; background:var(--panel-bg); }
.character-gallery-card > img { display:block; width:64px; height:64px; margin:0; object-fit:contain; }
.character-gallery-profile { min-width:0; }
.character-gallery-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-width:0; }
.character-gallery-details > details { min-width:0; }
.character-gallery-card h3 { font-weight:700; margin:6px 0; }
.character-gallery-card p { margin:6px 0; font-size:12px; overflow-wrap:anywhere; }
.character-gallery-card summary { cursor:pointer; font-size:12px; }
.character-arcana-registration { grid-column:1 / -1; min-width:0; margin-top:10px; border-top:1px solid var(--panel-border); padding-top:8px; }
.character-arcana-registration > summary, .character-arcana-stage > summary { cursor:pointer; font-weight:700; font-size:12px; }
.character-arcana-stage { margin:6px 0; padding:6px 8px; background:color-mix(in srgb,var(--palette-selected,#43306a) 16%,transparent); border-radius:8px; }
.character-arcana-rows { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:8px 0 0; padding:0; list-style:none; }
.character-arcana-row { display:grid; grid-template-rows:auto minmax(105px,1fr) auto; align-content:start; gap:5px; min-width:0; padding:7px; border:1px solid color-mix(in srgb,var(--panel-border) 75%,transparent); border-radius:8px; font-size:11px; }
.character-arcana-row > strong { min-height:2.6em; overflow-wrap:anywhere; line-height:1.3; }
.character-arcana-row > details { min-width:0; }
.character-arcana-row > details > summary { color:var(--text-muted); }
.character-arcana-row p { margin:5px 0; white-space:pre-wrap; line-height:1.45; }
.character-arcana-art { display:block; width:100%; height:150px; object-fit:contain; }
@media (max-width: 720px) {
  .character-dummy-row { grid-template-columns:minmax(0,1fr) auto; }
  .character-dummy-row textarea { grid-column:1 / -1; grid-row:2; }
  .character-gallery-card { grid-template-columns:52px minmax(0,1fr); gap:8px; }
  .character-gallery-card > img { width:52px; height:52px; }
  .character-gallery-details { grid-column:1 / -1; grid-template-columns:minmax(0,1fr); }
  .character-arcana-rows { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
  .character-arcana-row { padding:5px; font-size:10px; }
  .character-arcana-art { height:120px; }
}
  @media (max-width: 420px) { .character-arcana-rows { grid-template-columns:repeat(2,minmax(0,1fr)); } }
#achievements-page-section .achievement-tools,
#achievements-page-section .achievement-progress-control {
  display: flex;
  align-items: center;
  gap: 12px;
}
#achievements-page-section .achievement-browser-cache {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#achievements-page-section .achievement-browser-cache > summary {
  cursor: pointer;
  font-weight: 600;
  margin: 0;
}
#achievements-page-section .achievement-browser-cache > label {
  display: grid;
  gap: 5px;
  min-width: 0;
}
#achievements-page-section .achievement-browser-cache :is(select, input, textarea) {
  max-width: 100%;
}
#achievements-page-section .achievement-browser-cache textarea {
  width: 100%;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
#achievements-page-section .achievement-cache-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#achievements-page-section .achievement-progress-summary {
  padding: 14px;
  margin: 12px 0;
  background: var(--panel-soft, rgba(127, 127, 127, .12));
  border-radius: 10px;
}
#achievements-page-section .achievement-summary-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px 14px;
}
#achievements-page-section .achievement-summary-heading > h3 {
  margin: 0 0 8px;
}
#achievements-page-section .achievement-cache-compare {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px;
  margin: 0 0 8px auto;
  text-align: right;
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
  opacity: .86;
}
#achievements-page-section .achievement-summary-values {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 18px;
  font-variant-numeric: tabular-nums;
}
#achievements-page-section #achievement-overall-progress {
  width: 100%;
  height: 12px;
  margin: 10px 0 4px;
  appearance: none;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--palette-color, var(--palette-focus, #8b74bd)) 18%, var(--panel-bg, #fff));
  color: var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section #achievement-overall-progress::-webkit-progress-bar {
  border-radius: 999px;
  background: color-mix(in srgb, var(--palette-color, var(--palette-focus, #8b74bd)) 18%, var(--panel-bg, #fff));
}
#achievements-page-section #achievement-overall-progress::-webkit-progress-value,
#achievements-page-section .achievement-progress-row > progress::-webkit-progress-value {
  border-radius: 999px;
  background: var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section #achievement-overall-progress::-moz-progress-bar,
#achievements-page-section .achievement-progress-row > progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section .achievement-category-progress {
  display: grid;
  grid-template-columns: repeat(var(--achievement-progress-columns, 7), minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}
#achievements-page-section .achievement-progress-group {
  min-width: 0;
  padding: 8px;
  border-radius: 8px;
  background: var(--panel-bg, rgba(127, 127, 127, .08));
}
#achievements-page-section .achievement-progress-group.is-subcategory-group {
  border-left: 2px solid var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section .achievement-progress-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 3px 10px;
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
}
#achievements-page-section .achievement-progress-row > strong {
  grid-column: 1 / -1;
  grid-row: 1;
  min-height: 2.4em;
  overflow: hidden;
  text-align: center;
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#achievements-page-section .achievement-progress-metric {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  line-height: 1.3;
}
#achievements-page-section .achievement-progress-metric > span {
  opacity: .78;
}
#achievements-page-section .achievement-progress-metric > strong {
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
}
#achievements-page-section .achievement-progress-row > .achievement-progress-metric:nth-of-type(1) {
  grid-row: 2;
}
#achievements-page-section .achievement-progress-row > .achievement-progress-metric:nth-of-type(2) {
  grid-row: 3;
}
#achievements-page-section .achievement-progress-row > progress {
  grid-column: 1 / -1;
  grid-row: 4;
  width: 100%;
  height: 8px;
  appearance: none;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  background: color-mix(in srgb, var(--palette-color, var(--palette-focus, #8b74bd)) 18%, var(--panel-bg, #fff));
  color: var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section .achievement-progress-footer {
  display: grid;
  grid-column: 1 / -1;
  grid-row: 5;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
}
#achievements-page-section .achievement-progress-percent {
  grid-column: 2;
  justify-self: center;
  text-align: center;
  font-size: .74rem;
  font-weight: 600;
}
#achievements-page-section .achievement-progress-version {
  grid-column: 3;
  justify-self: end;
  text-align: right;
  font-size: .7rem;
  opacity: .78;
}
#achievements-page-section .achievement-progress-row > progress::-webkit-progress-bar {
  border-radius: 999px;
  background: color-mix(in srgb, var(--palette-color, var(--palette-focus, #8b74bd)) 18%, var(--panel-bg, #fff));
}
#achievements-page-section .achievement-progress-row.is-subcategory {
  margin: 6px 0 0 10px;
  padding-left: 8px;
  border-left: 2px solid var(--palette-color, var(--palette-focus, #8b74bd));
}
#achievements-page-section .achievement-subcategory-tree {
  margin-top: 6px;
  font-size: .78rem;
}
#achievements-page-section .achievement-subcategory-tree > summary {
  cursor: pointer;
  color: var(--palette-color, var(--palette-focus, #8b74bd));
}
@media (max-width: 700px) {
  #achievements-page-section .achievement-category-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
#achievements-page-section .achievement-tools {
  flex-wrap: wrap;
  margin: 14px 0;
}
#achievements-page-section .achievement-tools > label {
  display: grid;
  gap: 5px;
  min-width: min(190px, 100%);
}
#achievements-page-section .achievement-paste-label {
  flex: 1 1 100%;
}
#achievements-page-section .achievement-paste-label textarea {
  width: 100%;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
}
#achievements-page-section .achievement-import-preview {
  padding: 12px;
  margin: 14px 0;
  background: var(--panel-soft, rgba(127, 127, 127, .12));
  border-radius: 10px;
}
#achievements-page-section .achievement-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#achievements-page-section .achievement-load-more {
  align-self: center;
  margin: 12px 0;
}
#achievements-page-section .achievement-row {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  padding: 8px 10px;
  background: var(--panel-soft, rgba(127, 127, 127, .08));
  border-radius: 6px;
}
#achievements-page-section .achievement-row.is-completed {
  filter: grayscale(1);
  opacity: .52;
}
#achievements-page-section .achievement-row.is-uncompleted {
  box-shadow: inset 2px 0 var(--palette-focus, #8b74bd);
}
#achievements-page-section .achievement-row h3 {
  margin: 0;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .9rem;
}
#achievements-page-section .achievement-main-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}
#achievements-page-section .achievement-metadata {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-left: auto;
  white-space: nowrap;
}
#achievements-page-section .achievement-description {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: .78rem;
  opacity: .86;
}
#achievements-page-section .achievement-version-label,
#achievements-page-section .achievement-id-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .78rem;
  opacity: .8;
}
#achievements-page-section .achievement-notes {
  position: relative;
  min-width: 0;
  font-size: .78rem;
}
#achievements-page-section .achievement-notes summary {
  cursor: pointer;
  white-space: nowrap;
}
#achievements-page-section .achievement-notes[open] p {
  overflow-wrap: anywhere;
}
#achievements-page-section .achievement-progress-control {
  justify-content: space-between;
  gap: 4px;
  font-size: .76rem;
  white-space: nowrap;
}
#achievements-page-section .achievement-progress-control select {
  width: 76px;
  min-width: 0;
}
@media (max-width: 700px) {
  #achievements-page-section .achievement-main-row { gap: 8px; }
  #achievements-page-section .achievement-metadata { gap: 7px; font-size: .7rem; flex-wrap: wrap; }
  #achievements-page-section .achievement-description { font-size: .72rem; }
}
@media (max-width: 600px) {
  #achievements-page-section .achievement-tools > label { flex: 1 1 100%; }
}

/* Home observatory landing page */
body.home-page-active { color:var(--text-main,inherit); }
body.home-page-active .showcase-layout { display:block; width:100%; max-width:none; margin:0; padding:0; }
body.home-page-active .showcase-content { width:100%; max-width:none; margin:0; padding:0; background:transparent !important; }
body.home-page-active #view-mode-selector { display:none !important; }
#home-page-section.arcana-home-page { --home-bg:transparent; --home-panel:transparent; --home-panel-soft:transparent; --home-gold:var(--palette-focus,#b496e8); --home-gold-dim:color-mix(in srgb,var(--palette-focus,#b496e8) 58%,var(--text-muted,#9da7a4)); --home-ink:var(--text-main,#e9e2cf); --home-muted:var(--text-muted,#9da7a4); display:block; width:100%; max-width:1440px; margin:0 auto; padding:0 clamp(18px,4.2vw,64px) 40px; color:var(--home-ink); background:transparent; font-family:inherit; }
#home-page-section.hidden, #home-page-section[hidden] { display:none !important; }
.arcana-hero-actions > a:not(.arcana-hero-primary):hover { color:var(--home-gold); }
.arcana-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.95fr); align-items:center; gap:28px; min-height:480px; padding:55px 3.5% 68px; border-bottom:1px solid rgba(203,180,118,.12); }
.arcana-hero-copy { position:relative; z-index:1; max-width:610px; }
.arcana-home-wordmark { display:inline-flex; align-items:center; gap:10px; margin-bottom:24px; color:var(--home-ink); font-size:14px; font-weight:700; letter-spacing:.08em; text-decoration:none; }
.arcana-home-wordmark img { display:block; width:40px; height:40px; object-fit:contain; }
.arcana-home-wordmark:hover { color:var(--home-gold); }
.arcana-eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 15px; color:var(--home-gold); font:700 9px/1.5 ui-monospace,Consolas,monospace; letter-spacing:.23em; }
.arcana-eyebrow > span { width:28px; height:1px; background:var(--home-gold-dim); }
.arcana-hero h1 { margin:0; color:var(--home-ink); font:400 clamp(40px,6vw,66px)/1.25 serif; letter-spacing:.12em; }
.arcana-hero-tagline { margin:8px 0 16px; color:var(--home-gold); font:400 clamp(17px,2vw,22px)/1.5 serif; letter-spacing:.24em; }
.arcana-hero-description { max-width:540px; color:var(--home-muted); font-size:13px; line-height:2; letter-spacing:.04em; }
.arcana-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin-top:26px; }
.arcana-hero-actions a { color:var(--home-muted); font-size:10px; letter-spacing:.08em; text-decoration:none; }
.arcana-hero-actions .arcana-hero-primary { display:inline-flex; align-items:center; gap:15px; padding:11px 15px; border:1px solid var(--home-gold-dim); color:var(--home-ink); }
.arcana-hero-primary span { color:var(--home-gold); font-size:15px; }
.arcana-hero-visual { position:relative; width:100%; max-width:540px; justify-self:center; }
.arcana-hero-visual svg { display:block; width:100%; overflow:visible; }
.arcana-orbit-dots circle { fill:none; stroke:rgba(203,180,118,.22); stroke-width:1; stroke-dasharray:1 7; }
.arcana-orbit-lines { fill:none; stroke:rgba(203,180,118,.58); stroke-width:1.2; }
.arcana-star-points { fill:#e1c986; filter:drop-shadow(0 0 5px rgba(225,201,134,.7)); }
.arcana-crosshair { fill:none; stroke:rgba(203,180,118,.35); stroke-width:1; }
.arcana-crosshair circle { fill:#cbb476; stroke:none; }
.arcana-hero-visual text { fill:var(--home-gold-dim); font:9px ui-monospace,Consolas,monospace; letter-spacing:3px; }
.arcana-hero-index { position:absolute; right:0; bottom:2%; padding-left:12px; border-left:1px solid var(--home-gold-dim); color:var(--home-muted); font:8px/1.8 ui-monospace,Consolas,monospace; letter-spacing:.14em; }
.arcana-scroll-cue { position:absolute; bottom:14px; left:7%; display:flex; align-items:center; gap:12px; color:var(--home-gold-dim); font:8px ui-monospace,Consolas,monospace; letter-spacing:.22em; }
.arcana-scroll-cue span { width:28px; height:1px; background:var(--home-gold-dim); }
.arcana-home-section { padding:52px 0 48px; border-bottom:1px solid rgba(203,180,118,.12); scroll-margin-top:18px; }
.arcana-home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 20px; }
.arcana-home-section-heading .arcana-eyebrow { margin-bottom:7px; }
.arcana-home-section-heading h2 { margin:0; color:var(--home-ink); font:400 24px/1.4 serif; letter-spacing:.12em; }
.arcana-home-section-heading > p { max-width:380px; margin:0 0 5px; color:var(--home-muted); font-size:10px; line-height:1.8; text-align:right; }
.arcana-home-oracle { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr); min-height:390px; border:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 35%,transparent); background:transparent; }
.arcana-home-oracle-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:clamp(20px,4vw,48px); }
.arcana-home-oracle-copy .arcana-eyebrow { margin-bottom:4px; font-size:8px; }
.arcana-home-oracle-copy h3, .arcana-home-search h3 { margin:0 0 8px; font:400 19px/1.4 serif; letter-spacing:.1em; }
.arcana-home-note, .arcana-home-search-form > div > p:not(.arcana-eyebrow) { margin:0 0 18px; color:var(--home-muted); font-size:10px; line-height:1.8; }
.arcana-home-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; max-width:540px; }
.arcana-home-fields label { display:grid; gap:6px; color:var(--home-muted); font-size:9px; letter-spacing:.1em; }
#home-page-section .arcana-home-fields input, #home-page-section .arcana-home-fields select, #home-page-section .arcana-home-search input { width:100%; min-height:40px; border:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 28%,transparent); border-radius:0; padding:9px 11px; color:var(--home-ink); background:transparent; font:11px ui-monospace,Consolas,monospace; }
#home-page-section input::-webkit-calendar-picker-indicator { opacity:.65; }
.arcana-home-oracle-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin-top:16px; }
#home-page-section .arcana-home-primary { min-height:42px; padding:10px 16px; border:1px solid var(--palette-focus,var(--home-gold-dim)); border-radius:0; color:var(--palette-ink,#101a1c); background:var(--palette-selected,var(--home-gold)); font-family:inherit; font-size:10px; font-weight:700; letter-spacing:.08em; cursor:pointer; }
.arcana-home-primary span { padding-left:10px; }
#home-page-section .arcana-home-text-button { padding:9px 0; border:0; color:var(--home-muted); background:transparent; font-size:10px; cursor:pointer; }
.arcana-home-card-display { display:grid; place-items:center; min-width:0; padding:24px; border-left:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 25%,transparent); background:transparent; }
.arcana-home-card-display [data-daily-result] { width:min(100%,245px); }
.arcana-home-card-display .arcana-home-flip { width:100%; height:330px; cursor:pointer; }
.arcana-home-card-display .arcana-home-flip .flip-inner { height:100%; min-height:330px; }
.arcana-home-card-display .arcana-home-card-back { height:100%; min-height:0; border:1px solid var(--palette-focus,var(--home-gold)); border-radius:0; outline:1px solid color-mix(in srgb,var(--palette-focus,var(--home-gold)) 40%,transparent); outline-offset:-7px; color:var(--palette-focus,var(--home-gold)); background:color-mix(in srgb,var(--palette-selected,transparent) 28%,transparent); box-shadow:0 16px 46px color-mix(in srgb,var(--palette-color,var(--palette-focus,#b496e8)) 18%,transparent); }
.arcana-home-card-display .arcana-home-card-back svg { width:150px; height:150px; }
.arcana-home-card-display .arcana-home-card-back span { color:var(--home-ink); font:10px ui-monospace,Consolas,monospace; letter-spacing:.2em; }
.arcana-home-card-display .arcana-card.front { position:absolute; inset:0; width:100%; height:100%; min-height:0; overflow:auto; }
.arcana-home-flip:focus-visible { outline:2px solid var(--palette-focus,var(--home-gold)); outline-offset:4px; }
#home-page-section .arcana-home-card-display .arcana-card { width:100%; max-width:none; min-height:330px; padding:18px; border:1px solid var(--home-gold-dim); border-radius:0; outline:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 30%,transparent); outline-offset:-7px; color:var(--home-ink)!important; background:transparent; box-shadow:0 16px 46px color-mix(in srgb,var(--palette-color,var(--palette-focus,#b496e8)) 18%,transparent); text-align:center; }
#home-page-section .arcana-home-card-display .arcana-card-number { width:auto; height:auto; border:0; border-radius:0; color:var(--home-gold)!important; font:8px ui-monospace,Consolas,monospace; letter-spacing:.15em; }
#home-page-section .arcana-home-card-display .arcana-card h4 { margin:10px 0; color:var(--home-ink)!important; font:400 17px serif; letter-spacing:.15em; }
#home-page-section .arcana-home-card-display .arcana-card-art { width:100%; height:200px; margin:4px auto 10px; object-fit:contain; }
#home-page-section .arcana-home-card-display .arcana-orientation { color:var(--home-gold)!important; font-size:10px; }
#home-page-section .arcana-home-card-display .arcana-card-meaning { margin:7px 0; color:var(--home-ink)!important; font:12px serif; }
#home-page-section .arcana-home-card-display .arcana-card-source, #home-page-section .arcana-home-card-display .arcana-card-interpretation, #home-page-section .arcana-home-card-display .arcana-card-motif, #home-page-section .arcana-home-card-display .arcana-card details { display:none; }
.arcana-section-caption { margin:9px 0 0; color:#7f8d8c; font-size:9px; line-height:1.8; }
.arcana-home-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr); gap:0; border:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 30%,transparent); background:transparent; }
.arcana-calendar-wrap { min-width:0; padding:24px; border:0; border-radius:0; background:transparent; }
.arcana-section-heading { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; margin-bottom:14px; }
.arcana-section-heading h3 { margin:0; font:600 17px serif; letter-spacing:.1em; }
.arcana-section-heading > span { color:var(--home-gold-dim); font:7px ui-monospace,Consolas,monospace; letter-spacing:.13em; }
.arcana-section-heading > div { display:flex; gap:5px; }
#home-page-section .arcana-section-heading button { width:30px; height:30px; border:1px solid rgba(203,180,118,.3); border-radius:0; padding:0; color:var(--home-gold); background:transparent; cursor:pointer; }
.arcana-calendar { grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.arcana-weekday { padding:7px 0; color:var(--home-gold-dim); font-size:9px; }
#home-page-section .arcana-calendar-day { position:relative; min-height:62px; padding:6px !important; border:1px solid transparent; border-radius:0; color:#c5c8bb; background:transparent; }
#home-page-section .arcana-calendar-day.is-today { outline:0; border-color:var(--home-gold-dim); }
#home-page-section .arcana-calendar-day.is-selected { border-color:var(--home-gold); background:rgba(203,180,118,.12)!important; }
.arcana-day-heading { font:12px serif; }
.arcana-day-heading > span:last-child { color:var(--home-gold); font-size:13px; }
.arcana-day-moon { color:#879492; font-size:7px; }
.arcana-day-birthdays img { width:16px; height:16px; border:1px solid var(--home-gold-dim); }
.arcana-calendar-legend { margin:12px 0 0; color:var(--home-muted); font-size:8px; }
.arcana-calendar-observation { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:24px; border-left:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 25%,transparent); background:transparent; }
.arcana-calendar-observation > .arcana-eyebrow { font-size:8px; }
.arcana-selected-day { position:relative; z-index:1; margin:0; padding:0; border-radius:0; color:var(--home-ink); background:transparent; font:13px/1.7 serif; letter-spacing:.08em; }
.arcana-selected-day strong { display:block; font-size:27px; font-weight:400; }
.arcana-observation-moon { position:absolute; top:58px; right:24px; color:var(--home-gold); font-size:54px; opacity:.9; }
.arcana-birthdays { position:relative; z-index:1; gap:7px; margin-top:24px; }
.arcana-birthdays h3 { color:var(--home-gold); font:700 9px ui-monospace,Consolas,monospace; letter-spacing:.15em; }
#home-page-section .arcana-birthday-person { padding:7px 0; border:0; border-top:1px solid rgba(203,180,118,.13); border-radius:0; color:var(--home-ink); background:transparent; font-size:10px; }
.arcana-birthday-person img { width:30px; height:30px; border:1px solid rgba(203,180,118,.35); }
.arcana-birthday-person span:last-child { color:var(--home-gold); font-size:9px; }
.arcana-observation-foot { display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:18px; border-top:1px solid rgba(203,180,118,.15); color:var(--home-gold-dim); font:7px ui-monospace,Consolas,monospace; letter-spacing:.14em; }
.arcana-home-search { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:26px; margin:0; padding:clamp(18px,3vw,34px); border:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 45%,transparent); border-radius:0; color:var(--home-ink); background:transparent; }
.arcana-home-search-form { grid-column:1; grid-row:1; min-width:0; }
.arcana-home-history-wrap { grid-column:2; grid-row:1; min-width:0; }
.arcana-home-search .arcana-eyebrow { color:var(--home-gold); }
.arcana-home-search h3 { color:var(--home-ink); }
.arcana-home-search-form > div > p:not(.arcana-eyebrow) { color:var(--home-muted); }
.arcana-home-search form { display:flex; gap:6px; margin:12px 0 7px; }
#home-page-section .arcana-home-search input { border-color:color-mix(in srgb,var(--palette-focus,#b496e8) 55%,transparent); color:var(--home-ink); background:transparent; }
#home-page-section .arcana-home-search form button { flex:0 0 auto; border:1px solid var(--palette-focus,#b496e8); border-radius:0; padding:9px 12px; color:var(--palette-ink,var(--home-ink)); background:var(--palette-selected,transparent); font-size:10px; cursor:pointer; }
.arcana-home-search-form small { color:var(--home-muted); font-size:8px; }
.arcana-home-search-form small a { color:var(--palette-focus,#b496e8); }
.arcana-home-history-heading { display:flex; justify-content:space-between; gap:8px; padding-bottom:8px; border-bottom:1px solid color-mix(in srgb,var(--palette-focus,#b496e8) 20%,transparent); color:var(--home-ink); font-size:10px; }
.arcana-home-history-heading span { align-self:center; color:var(--home-gold-dim); font:7px ui-monospace,Consolas,monospace; letter-spacing:.1em; }
.arcana-home-history-primary .uid-history-row, .arcana-home-history-extra .uid-history-row { width:100%; min-height:52px; border:0!important; border-bottom:1px solid rgba(54,66,60,.16)!important; border-radius:0!important; background-size:cover!important; background-position:center!important; background-color:#243943!important; }
.arcana-home-history-primary .uid-history-row, .arcana-home-history-extra .uid-history-row { color:#f4efdf!important; }
.arcana-home-history-primary .uid-history-row *, .arcana-home-history-extra .uid-history-row * { color:#f4efdf!important; }
.arcana-home-history-primary .uid-history-row .uid-history-meta, .arcana-home-history-extra .uid-history-row .uid-history-meta { font-size:8px; }
.arcana-home-history-primary .uid-history-meta img, .arcana-home-history-extra .uid-history-meta img { flex:0 0 auto; background:transparent!important; }
.arcana-home-history-primary .uid-history-meta img.is-image-unavailable, .arcana-home-history-extra .uid-history-meta img.is-image-unavailable { object-fit:contain; padding:0; background:transparent!important; }
.arcana-home-history-primary .uid-history-delete, .arcana-home-history-extra .uid-history-delete { display:grid; place-items:center; width:28px; height:32px; padding:0; border:0!important; border-radius:0!important; color:inherit; background:transparent!important; box-shadow:none!important; font-size:20px; line-height:1; }
.arcana-home-history-primary .uid-history-delete:hover, .arcana-home-history-extra .uid-history-delete:hover { background:transparent!important; color:var(--palette-focus,var(--home-ink))!important; }
.arcana-home-history-primary .uid-history-row.is-image-unavailable, .arcana-home-history-extra .uid-history-row.is-image-unavailable { background-image:linear-gradient(135deg,#203943,#304b4a)!important; }
.arcana-home-history-more[hidden] { display:none!important; }
.arcana-home-footer { display:flex; justify-content:space-between; gap:16px; padding:22px 0; color:var(--home-gold-dim); font:9px serif; letter-spacing:.12em; }
.arcana-home-footer span { color:#89928e; font:8px ui-monospace,Consolas,monospace; }
.arcana-home-footer p { color:#89928e; font-size:8px; }
@media(max-width:760px) {
  #home-page-section.arcana-home-page { padding-right:16px; padding-left:16px; }
  .arcana-hero { grid-template-columns:minmax(0,1fr); min-height:0; gap:0; padding:58px 2% 64px; }
  .arcana-hero-visual { max-width:400px; margin:10px auto 0; }
  .arcana-hero-description { max-width:620px; }
  .arcana-home-oracle { grid-template-columns:minmax(0,1fr); }
  .arcana-home-card-display { min-height:330px; border-top:1px solid rgba(203,180,118,.25); border-left:0; }
  .arcana-home-grid { grid-template-columns:minmax(0,1fr); }
  .arcana-calendar-observation { min-height:260px; border-top:1px solid rgba(203,180,118,.25); border-left:0; }
  .arcana-home-section-heading { align-items:start; flex-direction:column; gap:8px; }
  .arcana-home-section-heading > p { text-align:left; }
}
@media(max-width:520px) {
  .arcana-hero h1 { font-size:39px; }
  .arcana-hero-tagline { font-size:15px; letter-spacing:.12em; }
  .arcana-hero-actions { gap:10px 14px; }
  .arcana-home-section { padding:36px 0 32px; }
  .arcana-home-fields { grid-template-columns:minmax(0,1fr); }
  .arcana-calendar-wrap, .arcana-calendar-observation { padding:14px; }
  #home-page-section .arcana-calendar-day { min-height:51px; padding:4px 2px!important; }
  .arcana-day-moon { display:none; }
  .arcana-home-search { grid-template-columns:minmax(0,1fr); gap:22px; }
  .arcana-home-search-form { grid-column:1; grid-row:1; }
  .arcana-home-history-wrap { grid-column:1; grid-row:2; }
  .arcana-home-search form { flex-wrap:wrap; }
  .arcana-home-search form button { min-height:38px; }
  .arcana-home-footer { flex-direction:column; gap:4px; }
}

#items-failures-panel { margin-top:16px; padding:10px 12px; border:1px solid var(--panel-border); border-radius:10px; background:transparent; }
#items-failures-panel > summary { color:var(--text-main); cursor:pointer; }
#items-failures-note { margin:8px 0; }
.items-image-failure-row { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:7px 9px; border-bottom:1px solid var(--panel-border); color:var(--text-main); }
.items-image-failure-row > span { overflow:hidden; text-overflow:ellipsis; }
.items-image-failure-row > button { flex:0 0 auto; }
