.angel-guide { line-height:1.6; }
.angel-guide h1 { margin:8px 0 10px; font-size:clamp(28px,2.8vw,40px); line-height:1.15; }
.angel-guide .angel-lead { max-width:85ch; margin:0; color:#cfc5b7; }
.angel-nav { display:flex; flex-wrap:wrap; gap:6px; margin:16px 0; }
.angel-nav a { display:inline-flex; align-items:center; min-height:42px; padding:7px 11px; border:1px solid #67553a; color:#e8c998; text-decoration:none; }
.angel-nav a:hover, .angel-nav a:focus-visible { border-color:#cba76f; background:#201f18; }
.angel-section { margin:12px 0; padding:20px; border:1px solid #554731; background:#101814; scroll-margin-top:20px; }
.angel-section h2 { margin:0 0 12px; font-size:clamp(22px,2vw,27px); line-height:1.25; }
.angel-section h3 { margin:18px 0 8px; font-size:19px; }
.angel-section p { margin:8px 0; }
.angel-section p:last-child, .angel-section ul:last-child, .angel-section ol:last-child { margin-bottom:0; }
.angel-flow { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr)); gap:10px; margin:14px 0 0; padding:0; list-style:none; counter-reset:angel-step; }
.angel-flow li { position:relative; padding:12px 12px 12px 46px; border:1px solid #4e4432; background:#0b130f; counter-increment:angel-step; }
.angel-flow li::before { content:counter(angel-step); position:absolute; top:14px; left:14px; display:grid; place-items:center; width:25px; height:25px; border:1px solid #967449; color:#efc98e; }
.angel-flow strong, .angel-card strong { display:block; color:#f1d9b4; }
.angel-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:8px; margin:12px 0; }
.angel-card { min-width:0; padding:12px; border:1px solid #4e4432; background:#0b130f; overflow-wrap:anywhere; }
.angel-card p { color:#d2c6b7; }
.angel-item { display:flex; align-items:flex-start; gap:12px; }
.angel-icon { display:block; flex:none; width:60px; height:60px; object-fit:contain; image-rendering:auto; }
.angel-small { color:#c7b9a6; font-size:14px; }
.angel-syllables { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:6px; margin:12px 0; }
.angel-syllable { display:flex; align-items:center; gap:7px; min-width:0; padding:7px; border:1px solid #50432e; background:#0b130f; }
.angel-syllable img { width:36px; height:36px; object-fit:contain; flex:none; }
.angel-syllable span { color:#eed7b0; font-weight:600; overflow-wrap:anywhere; }
.angel-game[hidden] { display:none; }
.angel-game-entry[hidden] { display:none; }
.angel-game-entry { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:14px; padding:12px; border:1px solid #554731; background:#0b130f; }
.angel-game-entry strong, .angel-game-entry span { display:block; }
.angel-game-entry span { color:#c7b9a6; font-size:14px; }
.angel-game-entry .angel-icon { width:48px; height:48px; }
.angel-game-launch, .angel-game-close { min-height:44px; padding:9px 15px; border:1px solid #9c784b; background:#30271b; color:#f0d7ac; cursor:pointer; }
.angel-game-launch:hover, .angel-game-close:hover { border-color:#e2bf83; background:#403222; }
.angel-game-dialog { position:fixed; inset:0; width:min(760px,calc(100% - 28px)); max-width:none; max-height:min(86vh,850px); margin:auto; padding:20px; overflow:auto; overscroll-behavior:contain; border:1px solid #a6814e; background:#101814; color:#eee1cf; box-shadow:0 16px 60px #000b; }
.angel-game-dialog::backdrop { background:rgba(0,0,0,.78); }
.angel-game-dialog[data-modal-fallback] { position:static; width:100%; max-height:none; margin:14px 0 0; }
.angel-game-dialog h2 { margin:0; font-size:clamp(21px,2.3vw,27px); line-height:1.2; }
.angel-game-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.angel-game-close { flex:none; min-width:44px; padding:4px 10px; font-size:25px; line-height:1; }
.angel-game-note { color:#d4c4ac; font-size:14px; line-height:1.5; }
.angel-game-dialog .angel-game-note { margin:14px 0; padding:10px 12px; border-left:2px solid #a6814e; background:#1d2119; }
.angel-guide :focus-visible, .angel-game-dialog :focus-visible { outline:2px solid #f1d7a2; outline-offset:3px; }
.angel-game-header { display:flex; align-items:center; gap:12px; min-width:0; }
.angel-game-header > div { min-width:0; }
.angel-game-header .angel-icon { width:48px; height:48px; }
.angel-game-actions { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0; }
.angel-game-actions button { min-height:44px; padding:9px 15px; border:1px solid #9c784b; background:#30271b; color:#f0d7ac; cursor:pointer; }
.angel-game-actions button:hover, .angel-game-actions button:focus-visible { border-color:#e2bf83; background:#403222; }
.angel-game-actions [data-game-reset] { margin-left:auto; background:#111914; }
.angel-game-result { min-height:26px; color:#efcf98; overflow-wrap:anywhere; }
.angel-game-stats { display:flex; flex-wrap:wrap; gap:8px 22px; color:#d1c2ac; }
.angel-game-collection { display:grid; grid-template-columns:repeat(auto-fill,minmax(68px,1fr)); gap:6px; margin-top:12px; }
.angel-game-tile { display:flex; flex-direction:column; align-items:center; gap:3px; padding:8px 4px; border:1px solid #393c2f; background:#0b130f; color:#b0a593; }
.angel-game-tile img { width:36px; height:36px; object-fit:contain; filter:grayscale(1); opacity:.38; }
.angel-game-tile.is-collected { border-color:#947445; color:#f1d4a0; }
.angel-game-tile.is-collected img { filter:none; opacity:1; }
.angel-guide details { margin:10px 0; border:1px solid #50432e; background:#0b130f; }
.angel-guide summary { cursor:pointer; padding:11px 13px; color:#efd09d; font-weight:700; }
.angel-detail { padding:0 16px 16px; }
.angel-detail > :first-child { margin-top:0; }
.angel-weapon { display:grid; grid-template-columns:60px minmax(0,1fr); gap:12px; padding:14px 0; border-top:1px solid #403d2d; }
.angel-weapon:first-child { border-top:0; }
.angel-weapon h3 { margin:0 0 6px; color:#efd9b7; }
.angel-weapon ul { margin:6px 0 0; padding-left:20px; }
.angel-weapon li { overflow-wrap:anywhere; }
.angel-related { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:12px; }
.angel-related a { color:#edc992; }
.angel-table-wrap { max-width:100%; overflow:auto; }
.angel-table { width:100%; border-collapse:collapse; min-width:520px; }
.angel-table th, .angel-table td { padding:10px; border:1px solid #514633; text-align:left; vertical-align:top; }
.angel-table th { color:#efd2a3; background:#171d17; }
.angel-weapon > .angel-inline-comparison { grid-column:1 / -1; min-width:0; margin:0; }
.angel-inline-comparison > summary { min-height:44px; padding:11px 14px; }
.angel-comparison-intro { display:flex; align-items:flex-start; gap:12px; margin:0 0 14px; }
.angel-comparison-intro > div { min-width:0; }
.angel-comparison-intro strong { color:#f1d9b4; }
.angel-comparison-intro p { margin:6px 0; }
.angel-comparison-scroll { position:relative; width:100%; max-width:100%; overscroll-behavior-x:contain; scrollbar-color:#a6814e #172019; }
.angel-comparison-scroll:focus-visible { outline:2px solid #f1d7a2; outline-offset:3px; }
.angel-comparison-table { min-width:680px; }
.angel-comparison-table th, .angel-comparison-table td { padding:9px 10px; }
.angel-comparison-table thead th:first-child, .angel-comparison-table th[scope="row"] { position:sticky; left:0; z-index:1; min-width:155px; max-width:230px; background:#171d17; box-shadow:2px 0 0 #514633; }
.angel-comparison-table thead th:first-child { z-index:2; }
.angel-comparison-table .angel-table-section th { background:#24261b; }
.angel-comparison-table .angel-table-section span { position:sticky; left:0; display:inline-block; }
.angel-table-note { margin:9px 0 0; }
.angel-set-bonus { margin:12px 0 0; padding:10px 12px; border-left:2px solid #a6814e; background:#1d2119; }
.angel-set-bonus strong { color:#f1d9b4; }
.angel-level-gallery { margin:12px 0; }
.angel-level-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(76px,1fr)); gap:8px; }
.angel-level-grid figure { display:flex; flex-direction:column; align-items:center; gap:6px; margin:0; padding:10px 5px; border:1px solid #50432e; background:#101814; text-align:center; }
.angel-level-grid figcaption { color:#efd09d; font-size:13px; }
@media(max-width:600px) {
  .angel-section { padding:14px; margin:10px 0; }
  .angel-section h2 { font-size:22px; }
  .angel-nav { gap:6px; margin:14px 0; }
  .angel-nav a { padding:8px 10px; }
  .angel-syllables { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .angel-syllable { flex-direction:column; justify-content:center; text-align:center; padding:7px 3px; gap:3px; font-size:13px; }
  .angel-syllable img { width:34px; height:34px; }
  .angel-weapon { grid-template-columns:48px minmax(0,1fr); gap:10px; }
  .angel-weapon .angel-icon { width:48px; height:48px; }
  .angel-detail { padding:0 12px 12px; }
  .angel-game-collection { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .angel-game-actions [data-game-reset] { margin-left:0; }
  .angel-game-entry { align-items:stretch; }
  .angel-game-entry .angel-game-launch { width:100%; }
  .angel-game-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 24px); padding:14px; }
  .angel-game-header { flex:1; gap:10px; }
  .angel-game-header > div { min-width:0; }
  .angel-comparison-intro .angel-icon { width:44px; height:44px; }
  .angel-inline-comparison > .angel-detail { padding:0 7px 12px; }
  .angel-comparison-table { table-layout:fixed; width:435px; min-width:435px; font-size:13px; line-height:1.35; }
  .angel-comparison-table th, .angel-comparison-table td { padding:7px 5px; overflow-wrap:anywhere; }
  .angel-comparison-table thead th:first-child, .angel-comparison-table th[scope="row"] { width:92px; min-width:92px; max-width:92px; }
}
