/* Adult practitioner extensions; the club keeps its existing presentation. */
.practitioner-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1rem;margin:1rem 0 1.5rem}
.library-card{padding:1.3rem;background:#fff;border:1px solid #d2dcd5;border-radius:18px;overflow-wrap:anywhere;line-height:1.65}
.library-card h3{font-size:1.18rem;line-height:1.4;margin:.5rem 0}.library-card-tag{color:#42664e;font-size:.78rem;font-weight:750;letter-spacing:.02em}.library-japanese{font-size:1.35rem}
.library-question{padding:.8rem;border-radius:10px;background:#f5f1df;color:#3c4934}.library-source{display:block;color:#205f68;text-decoration:underline;font-size:.8rem;margin:.7rem 0}.library-card small{display:block;color:#52615b}
.library-search-row,.library-control-row,.library-suggestions{display:flex;gap:.7rem;flex-wrap:wrap;margin:.8rem 0;align-items:end}
.library-control-row label{display:grid;gap:.4rem;font-size:.85rem;font-weight:700;flex:1 1 170px}.library-control-row input,.library-control-row select,.library-search-row input{min-width:0;max-width:100%;padding:.8rem;border:1px solid #a7b9b0;border-radius:10px;background:white;color:#203d35;font:inherit}
.library-search-row input{flex:1 1 220px}.library-suggestions button{padding:.65rem .8rem;border:1px solid #b4c6ba;background:#edf4ee;color:#254d35;border-radius:20px;min-height:44px;cursor:pointer;font:inherit;font-size:.85rem}
.library-legacy{margin-top:2rem}.library-legacy summary{cursor:pointer;padding:1rem}.library-empty{padding:1.4rem;background:#fff7df;border-radius:12px}.stage-calendar{margin-top:2.5rem;border-top:2px solid #d5dfd7;padding-top:1.5rem}.stage-calendar dt{font-weight:750;margin-top:.6rem;font-size:.8rem}.stage-calendar dd{margin:0;font-size:.88rem}.library-control-row .stage-checkbox{display:flex;align-items:center;min-height:44px}.stage-checkbox input{width:20px;height:20px}.stage-calendar .stage-checkbox{display:none}
@media(max-width:600px){.library-control-row label,.library-control-row select{width:100%}.library-card{padding:1rem}.library-search-box{padding:1rem}}

/* Adult 17 · Bibliothèque et histoire */
.library-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:0;margin:0 0 1.25rem;list-style:none}.library-method li{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid #cbd8d0;border-radius:16px;background:#f8faf7}.library-method li>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#0d2a27;color:#f9b52c;font-weight:800}.library-method strong,.library-method small{display:block}.library-method small{margin-top:.2rem;color:#586962;line-height:1.45}
.library-feature-visual{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,.8fr);margin:0 0 1.4rem;overflow:hidden;border-radius:22px;background:#0c2526;color:#fff;box-shadow:0 14px 34px rgba(12,37,38,.12)}.library-feature-visual img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}.library-feature-visual figcaption{display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(145deg,#123533,#0a2022)}.library-feature-visual figcaption strong{font-family:Georgia,serif;font-size:1.45rem;color:#ffbd3d}.library-feature-visual figcaption span{margin:.65rem 0 1.4rem;line-height:1.65;color:#eef5f0}.library-feature-visual figcaption small,.library-feature-visual figcaption a{color:#bed1c8;line-height:1.5}
.library-reading-list{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0;padding:1.1rem 1.2rem;border:1px solid #c6d5cb;border-left:4px solid #f0a91f;border-radius:16px;background:#fff}.library-reading-list strong,.library-reading-list p{display:block;margin:.25rem 0}.library-reading-list p{color:#5a6963;max-width:680px}.library-save-status{min-height:1.35em}.library-card-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.library-card-meta .library-card-tag{margin:0}.library-save-button{min-height:38px;padding:.45rem .7rem;border:1px solid #9fb6aa;border-radius:999px;background:#f8faf7;color:#224b3a;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer}.library-save-button[aria-pressed="true"]{border-color:#d99412;background:#fff1c9;color:#6a4400}.library-save-button:focus-visible,.library-reading-list button:focus-visible{outline:3px solid rgba(240,169,31,.4);outline-offset:2px}
.history-reading-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1.1rem}.history-reading-guide>div{padding:1rem 1.1rem;border-top:3px solid #d69c27;border-radius:0 0 14px 14px;background:#f6f3e9}.history-reading-guide strong{color:#173d35}.history-reading-guide p{margin:.35rem 0 0;color:#56635d;line-height:1.55}
.history-visual-archive{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(220px,auto));gap:.85rem;margin:1.25rem 0 1.6rem}.history-visual{display:grid;grid-column:span 8;grid-template-columns:minmax(200px,.9fr) minmax(220px,1fr);margin:0;overflow:hidden;border-radius:18px;background:#142a2b;color:#fff}.history-visual-portrait{grid-column:span 4;grid-row:span 2;display:flex;flex-direction:column}.history-visual-wide{grid-column:span 8}.history-visual img{width:100%;height:100%;min-height:220px;object-fit:cover;filter:saturate(.78) contrast(1.04)}.history-visual-portrait img{min-height:390px;object-position:center top}.history-visual figcaption{display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.1rem}.history-visual figcaption strong{font-family:Georgia,serif;font-size:1.18rem;color:#ffbc39}.history-visual figcaption span{margin:.45rem 0 .9rem;color:#eef2ef;line-height:1.5}.history-visual figcaption small,.history-visual figcaption a{color:#b8cbc3;line-height:1.45}
.history-track{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0 1.6rem;padding-left:1.2rem;border-left:2px solid #c89428}.history-track .history-entry{position:relative;margin:0}.history-track .history-entry:before{content:"";position:absolute;left:-1.67rem;top:1.5rem;width:.8rem;height:.8rem;border:3px solid #fff;border-radius:50%;background:#d49a25;box-shadow:0 0 0 1px #c89428}.history-sequence{display:block;margin-bottom:.65rem;color:#9b6a08;font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.history-next-step{display:flex;align-items:end;justify-content:space-between;gap:1rem}.history-next-step h3{margin:.4rem 0}.history-next-step p{margin-bottom:0}
@media(max-width:980px){.library-feature-visual{grid-template-columns:1fr}.library-feature-visual img{max-height:420px}.history-visual-archive{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.history-visual,.history-visual-portrait,.history-visual-wide{grid-column:auto;grid-row:auto;display:flex;flex-direction:column}.history-visual-wide{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}.history-visual-portrait img{min-height:320px;max-height:420px}.history-next-step{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.library-method,.history-reading-guide,.history-track{grid-template-columns:1fr}.library-reading-list{align-items:flex-start;flex-direction:column}.library-reading-list button{width:100%}.history-visual-archive{display:block}.history-visual{display:flex;margin-bottom:.85rem}.history-visual img,.history-visual-portrait img{min-height:0;max-height:360px;aspect-ratio:16/10}.history-visual-portrait img{aspect-ratio:4/5}.history-track{padding-left:.9rem}.history-track .history-entry:before{left:-1.38rem}.library-feature-visual img{min-height:0;aspect-ratio:16/10}.library-feature-visual figcaption{padding:1.2rem}}

/* Adult 18 · Mon espace et carnet */
.home-reflection-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:0;margin:0 0 1rem;list-style:none}.home-reflection-method li{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border:1px solid #cbd8d0;border-radius:16px;background:#f8faf7}.home-reflection-method li>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#0d2a27;color:#f9b52c;font-weight:800}.home-reflection-method strong,.home-reflection-method small{display:block}.home-reflection-method small{margin-top:.2rem;color:#596a63;line-height:1.45}.home-practice-focus{margin-bottom:.9rem}.practice-axis-list{display:grid;gap:.65rem;margin:1rem 0}.practice-axis-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center;padding:.8rem;border:1px solid #d4ded7;border-radius:14px;background:#f8faf7}.practice-axis-list article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#173c36;color:#f7b533;font-family:Georgia,serif;font-size:1.15rem}.practice-axis-list strong,.practice-axis-list small{display:block}.practice-axis-list small{margin-top:.2rem;color:#5a6963;line-height:1.4}
.notebook-privacy-note{display:flex;align-items:center;gap:.8rem 1.2rem;flex-wrap:wrap;margin-bottom:1rem;padding:1rem 1.2rem;border-left:4px solid #e0a124;border-radius:14px;background:#f6f2e6}.notebook-privacy-note strong{color:#173d35}.notebook-privacy-note p{flex:1 1 420px;margin:0;color:#56645e}.notebook-privacy-note button{margin-left:auto}.notebook-reflection-grid{align-items:start}.notebook-session-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1fr);gap:.5rem 1rem;align-items:center}.notebook-session-card label{margin:0}.notebook-session-card input{width:100%;max-width:280px;padding:.8rem;border:1px solid #c8d4cc;border-radius:10px;background:#fff;color:#203d35;font:inherit}.notebook-session-card small{grid-column:2;color:#65736d}.notebook-step{display:inline-flex;margin-bottom:.65rem;color:#9d6906;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.notebook-card>small{display:block;margin-top:.65rem;color:#68756f;line-height:1.45}.notebook-question-prompts{display:flex;gap:.55rem;flex-wrap:wrap;margin:.8rem 0}.notebook-question-prompts button{min-height:42px;padding:.55rem .75rem;border:1px solid #b3c5ba;border-radius:999px;background:#edf4ee;color:#244b39;font:inherit;font-size:.82rem;cursor:pointer}.notebook-question-prompts button:focus-visible,.notebook-session-card input:focus-visible{outline:3px solid rgba(224,161,36,.38);outline-offset:2px}
@media(max-width:760px){.home-reflection-method{grid-template-columns:1fr}.notebook-privacy-note{align-items:flex-start;flex-direction:column}.notebook-privacy-note button{margin-left:0}.notebook-session-card{grid-column:auto;grid-template-columns:1fr}.notebook-session-card small{grid-column:auto}.notebook-session-card input{max-width:none}.notebook-question-prompts{display:grid}.notebook-question-prompts button{width:100%}}
body[data-space="practitioner"] .app-nav button { line-height: 1.4; min-height: 44px; }
.practitioner-subnav, .assistant-choices { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1.4rem; }
.practitioner-subnav button, .assistant-choices button, .language-action { padding: .7rem 1rem; border: 1px solid #c4ccc9; border-radius: 12px; background: white; color: var(--ink); font: inherit; font-size: .85rem; cursor: pointer; min-height: 44px; }
.practitioner-subnav button[aria-current="page"], .practitioner-subnav button[aria-pressed="true"], .assistant-choices button[aria-pressed="true"] { color: #112b2a; background: #f9e7b9; border-color: #aa7a1c; font-weight: 750; }
.learning-notice { padding: 1rem 1.2rem; border-left: 4px solid #bc8b2e; background: #fcf3db; border-radius: 0 12px 12px 0; margin-bottom: 1.2rem; font-size: .88rem; line-height: 1.6; }
.assistant-heading { align-items: end; }
.assistant-disclosure { display: grid; gap: .2rem; }
.assistant-disclosure span { color: #53635e; }
.assistant-method { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 0 0 1.4rem; padding: 0; list-style: none; }
.assistant-method li { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: center; padding: .9rem 1rem; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.assistant-method li > span { display: grid; place-items: center; width: 34px; height: 34px; color: var(--navy-950); background: var(--saffron); border-radius: 10px; font-weight: 900; }
.assistant-method li div { display: grid; gap: .15rem; }
.assistant-method small { color: var(--muted); line-height: 1.4; }
.assistant-workspace { display: grid; grid-template-columns: minmax(250px,.78fr) minmax(0,1.4fr); gap: 1rem; align-items: start; }
.assistant-workspace h3 { margin: .25rem 0 1rem; font-size: 1.3rem; }
.assistant-choices { display: grid; gap: .65rem; margin: 0; }
.assistant-choices button { display: grid; gap: .2rem; width: 100%; padding: .9rem 1rem; text-align: left; }
.assistant-choices button span { color: var(--coral); font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.assistant-choices button strong { font-size: .95rem; }
.assistant-choices button small { color: var(--muted); line-height: 1.4; }
.assistant-guided-help { min-height: 330px; padding: 1.4rem; }
.assistant-guided-help:focus { outline: 3px solid #287d86; outline-offset: 3px; }
.assistant-guided-help h3 { margin: .35rem 0 .8rem; font-size: 1.45rem; }
.assistant-empty-grid, .assistant-result-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; margin-top: 1rem; }
.assistant-empty-grid span, .assistant-result-grid article { padding: .85rem; background: #f4f6f4; border-radius: 12px; }
.assistant-empty-grid span { color: #61706b; font-size: .78rem; font-weight: 800; text-align: center; }
.assistant-result-grid article { border: 1px solid #e2e8e4; }
.assistant-result-grid small { color: var(--coral); font-weight: 900; text-transform: uppercase; }
.assistant-result-grid p { margin: .4rem 0 0; color: var(--ink); font-size: .86rem; line-height: 1.55; }
.assistant-result-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.assistant-result-actions .language-action { margin: 0; }
.assistant-boundaries { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; }
.assistant-boundaries div { padding: 1rem; background: #eef6f2; border-left: 3px solid var(--jade); border-radius: 0 12px 12px 0; }
.assistant-boundaries p { margin: .35rem 0 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.language-controls { display: flex; flex-wrap: wrap; gap: 1.2rem; align-items: end; margin-bottom: 1.2rem; }
.language-controls label { display: grid; gap: .4rem; font-size: .85rem; font-weight: 750; }
.language-controls select { background: white; border: 1px solid #aebbb5; border-radius: 8px; padding: .7rem; min-width: 150px; font: inherit; }
.language-controls p { flex: 1 1 260px; margin: 0; line-height: 1.6; }
.language-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 1rem; }
.language-card { background: white; border: 1px solid var(--line); border-radius: 16px; padding: 1.2rem; overflow-wrap: anywhere; }
.language-card .word-symbol { font-size: 2.3rem; }
.language-card h3 { font-size: 1.35rem; margin: .8rem 0 .3rem; }
.language-card p { line-height: 1.6; }
.language-example { border-top: 1px solid var(--line); padding-top: .8rem; }
.language-activity { padding: 1.4rem; margin: 1rem 0; border: 2px solid #dfc17e; border-radius: 16px; background: #fffcf3; }
.language-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; margin-top: 1rem; }
.language-options button, .language-options label { border: 1px solid #b3c1b9; background: white; color: #173433; border-radius: 10px; padding: .85rem; text-align: left; line-height: 1.5; min-height: 44px; overflow-wrap: anywhere; }
.language-options button { cursor: pointer; font: inherit; }
.language-feedback { line-height: 1.6; color: #215344; font-weight: 600; }
.language-exam fieldset { padding: 1rem; border: 1px solid #c8d4cf; border-radius: 12px; margin: 1.2rem 0; }
.language-exam legend { padding: 0 .5rem; font-weight: 750; }
.language-exam input { margin-right: .5rem; }
.language-action:disabled { opacity: .6; cursor: default; }
.language-game-state { display: block; margin-top: .8rem; font-size: .82rem; color: #52615b; }
.language-game-state.is-complete { color: #215344; font-weight: 750; }
.language-storage-warning { padding: .8rem 1rem; border-left: 4px solid #a56c16; background: #fff4db; color: #67420c; line-height: 1.6; overflow-wrap: anywhere; }
.language-backup { margin: 1rem 0 1.5rem; min-width: 0; }
.language-backup summary { cursor: pointer; font-weight: 750; line-height: 1.5; }
.language-backup p { line-height: 1.65; overflow-wrap: anywhere; }
.language-backup-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1rem; align-items: start; margin: 1rem 0; }
.language-backup-actions > * { min-width: 0; }
.language-backup-actions > button { white-space: normal; }
.language-backup-actions label, .language-backup-actions small { display: block; font-size: .85rem; line-height: 1.5; }
.language-backup-actions label { font-weight: 750; margin-bottom: .5rem; }
.language-backup-actions input { display: block; max-width: 100%; width: 100%; min-width: 0; font: inherit; font-size: .85rem; }
.language-import-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.parent-assistant-info { margin-bottom: 1.4rem; }
[data-space="practitioner"] .mission-checklist button:focus-visible,
[data-space="practitioner"] [data-value-choice]:focus-visible { outline: 3px solid var(--jade); outline-offset: 3px; }
[data-space="practitioner"] .values-app-grid button[aria-pressed="true"] { color: white; background: var(--jade); }
[data-space="practitioner"] .stat-strip strong { overflow-wrap: anywhere; }
#guided-help .language-action { margin: .4rem .6rem .4rem 0; }
[data-space="practitioner"] .dashboard-two > section { min-width: 0; }
[data-space="practitioner"] .notebook-card,
[data-space="practitioner"] .inline-form input { min-width: 0; }
@media (max-width: 820px) {
  [data-space="practitioner"] .dashboard-two { grid-template-columns: minmax(0, 1fr); }
  [data-space="practitioner"] .surface-heading { flex-wrap: wrap; gap: .7rem; }
  [data-space="practitioner"] .mission-checklist li > span { min-width: 0; }
  [data-space="practitioner"] .badge-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  [data-space="practitioner"] .badge-row article { min-width: 0; overflow-wrap: anywhere; }
  [data-space="practitioner"] .card-actions .button { max-width: 100%; white-space: normal; }
  .assistant-workspace { grid-template-columns: 1fr; }
  .assistant-method, .assistant-result-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  [data-space="practitioner"] .notebook-grid { grid-template-columns: minmax(0, 1fr); }
  [data-space="practitioner"] .inline-form { flex-wrap: wrap; }
  .assistant-boundaries { grid-template-columns: 1fr; }
  .assistant-result-actions .language-action { width: 100%; }
}
.parent-assistant-info summary { cursor: pointer; font-weight: 750; }
.parent-assistant-info p, #guided-help p { line-height: 1.7; }
body[data-space="practitioner"] :is(button,select,a,input):focus-visible { outline: 3px solid #287d86; outline-offset: 3px; }
body[data-space="practitioner"] .app-panel:focus { outline: none; }
@media(max-width:600px) { .language-options { grid-template-columns: 1fr; } .language-controls label, .language-controls select { width: 100%; } .practitioner-subnav button { flex: 1 1 140px; } }

/* Adult19 — galerie de planches techniques */
.comic-heading { align-items: start; }
.comic-intro-card {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(230px, .55fr);
  gap: 2rem;
  align-items: center;
  margin: 1.25rem 0;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  color: #f8fbfa;
  background:
    radial-gradient(circle at 85% 10%, rgba(240, 174, 54, .22), transparent 36%),
    linear-gradient(135deg, #0c202c 0%, #12394a 100%);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 22px;
  box-shadow: 0 18px 42px rgba(12, 32, 44, .16);
}
.comic-intro-card h3,
.comic-closing-note h3 { margin: .55rem 0 .65rem; font-size: clamp(1.35rem, 2.4vw, 1.9rem); line-height: 1.15; }
.comic-intro-card p,
.comic-closing-note p { margin: 0; line-height: 1.65; }
.comic-intro-card .card-tag { color: #ffc45a; }
.comic-intro-actions { display: grid; gap: .75rem; }
.comic-intro-actions :is(a, button) { justify-content: center; width: 100%; min-height: 48px; text-align: center; }
.comic-intro-actions .secondary-button { color: white; border-color: rgba(255, 255, 255, .45); background: rgba(255, 255, 255, .07); }
.comic-reading-method {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
  margin: 1.1rem 0 1.5rem;
  padding: 0;
  list-style: none;
}
.comic-reading-method li {
  display: flex;
  gap: .8rem;
  align-items: center;
  min-width: 0;
  padding: .95rem 1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
}
.comic-reading-method li > span {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #0c2c38;
  background: #f8b12e;
  border-radius: 50%;
  font-weight: 900;
}
.comic-reading-method div { display: grid; gap: .18rem; min-width: 0; }
.comic-reading-method small { color: var(--muted); line-height: 1.4; }
.adult-comic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr));
  gap: 1.1rem;
}
.adult-comic-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(18, 45, 54, .08);
}
.comic-preview {
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  cursor: zoom-in;
  background: #0b1f2b;
  border: 0;
  border-radius: 0;
}
.comic-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease, opacity .25s ease;
}
.comic-preview:hover img { transform: scale(1.018); opacity: .96; }
.comic-card-copy { display: flex; flex: 1; flex-direction: column; gap: .55rem; padding: 1.1rem; }
.comic-card-copy > span { color: var(--coral); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.comic-card-copy h3 { margin: 0; color: var(--ink); font-size: 1.08rem; line-height: 1.3; }
.comic-card-copy p { margin: 0; color: var(--muted); line-height: 1.55; }
.comic-card-copy > div { display: flex; flex-wrap: wrap; gap: .7rem; align-items: center; margin-top: auto; padding-top: .45rem; }
.comic-card-copy button,
.comic-card-copy a,
.comic-dialog footer :is(button, a) {
  min-height: 42px;
  padding: .65rem .8rem;
  color: #123441;
  background: #fff;
  border: 1px solid #b8c6c4;
  border-radius: 9px;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}
.comic-card-copy button { color: #071c27; background: #f8b12e; border-color: #f8b12e; }
.comic-closing-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  margin-top: 1.35rem;
  padding: 1.35rem;
  background: #edf5f2;
  border-left: 4px solid var(--jade);
  border-radius: 0 16px 16px 0;
}
.comic-dialog {
  width: min(94vw, 1040px);
  max-width: none;
  height: min(94vh, 1050px);
  max-height: none;
  padding: 0;
  overflow: hidden;
  color: white;
  background: transparent;
  border: 0;
}
.comic-dialog::backdrop { background: rgba(3, 13, 19, .84); backdrop-filter: blur(5px); }
.comic-dialog-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; overflow: hidden; background: #0c202c; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; }
.comic-dialog header,
.comic-dialog footer { display: flex; gap: .9rem; align-items: center; padding: .9rem 1rem; background: #0c202c; }
.comic-dialog header { justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.13); }
.comic-dialog header span { color: #ffc45a; font-size: .72rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.comic-dialog header h2 { margin: .15rem 0 0; color: white; font-size: clamp(1rem, 2vw, 1.35rem); }
.comic-dialog header button { display: grid; width: 44px; height: 44px; place-items: center; flex: 0 0 44px; color: white; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); border-radius: 50%; font-size: 1.6rem; cursor: pointer; }
.comic-dialog-stage { overflow: auto; padding: 1rem; text-align: center; background: #162e39; overscroll-behavior: contain; }
.comic-dialog-stage img { display: block; max-width: 100%; height: auto; margin: 0 auto; background: white; box-shadow: 0 16px 42px rgba(0,0,0,.34); }
.comic-dialog footer { justify-content: space-between; border-top: 1px solid rgba(255,255,255,.13); }
.comic-dialog footer span { min-width: 54px; color: #ffc45a; font-weight: 900; text-align: center; }
.comic-dialog footer :is(button, a) { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.3); }
.comic-dialog footer a { margin-left: auto; }
@media (max-width: 760px) {
  .comic-intro-card,
  .comic-closing-note { grid-template-columns: 1fr; }
  .comic-reading-method { grid-template-columns: 1fr; }
  .comic-dialog { width: 100vw; height: 100dvh; margin: 0; }
  .comic-dialog-shell { border: 0; border-radius: 0; }
  .comic-dialog footer { flex-wrap: wrap; justify-content: center; }
  .comic-dialog footer a { order: 3; width: 100%; margin-left: 0; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .comic-preview img { transition: none; }
  .comic-preview:hover img { transform: none; }
}
