:root {
  --paper: #f3efe6;
  --paper-strong: #e9e2d4;
  --ink: #182321;
  --muted: #5a6561;
  --line: rgba(24, 35, 33, .18);
  --card: rgba(255, 253, 248, .72);
  --accent: #d25c3f;
  --focus: #165d9b;
  --reading-scale: 1;
  --max: 1180px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 2%, rgba(223, 154, 92, .12), transparent 28rem),
    radial-gradient(circle at 92% 28%, rgba(70, 123, 120, .11), transparent 25rem),
    var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: calc(1rem * var(--reading-scale));
  line-height: 1.62;
  min-height: 100vh;
}

button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
[hidden] { display: none !important; }

.skip-link {
  position: fixed; left: 1rem; top: .75rem; z-index: 100;
  transform: translateY(-180%); background: var(--ink); color: white;
  padding: .65rem 1rem; border-radius: 999px;
}
.skip-link:focus { transform: none; }

.topbar {
  position: sticky; top: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 70px; padding: .65rem max(1rem, calc((100vw - var(--max)) / 2));
  background: rgba(243, 239, 230, .88); border-bottom: 1px solid var(--line);
  backdrop-filter: blur(14px);
}
.brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; font-weight: 740; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-family: Georgia, serif; font-size: 1.3rem; }
.primary-nav { display: flex; align-items: center; gap: .35rem; }
.primary-nav a, .icon-button { border: 0; background: transparent; text-decoration: none; color: var(--muted); padding: .55rem .75rem; border-radius: 999px; font-weight: 650; }
.primary-nav a:hover, .icon-button:hover { color: var(--ink); background: rgba(24,35,33,.07); }
.icon-button { cursor: pointer; }

.reading-panel {
  position: fixed; z-index: 40; right: max(1rem, calc((100vw - var(--max)) / 2)); top: 76px;
  width: min(310px, calc(100vw - 2rem)); padding: 1rem;
  background: #fffdf8; border: 1px solid var(--line); border-radius: 18px;
  box-shadow: 0 20px 50px rgba(24,35,33,.16);
}
.reading-panel label { display: block; margin-top: .8rem; color: var(--muted); font-size: .9rem; }
.reading-panel input[type="range"] { width: 100%; accent-color: var(--accent); }
.toggle-row { display: flex !important; gap: .55rem; align-items: center; }

main { min-height: 72vh; }
.shell { width: min(var(--max), calc(100% - 2rem)); margin-inline: auto; }
.eyebrow { margin: 0 0 .6rem; font-size: .73rem; line-height: 1.2; letter-spacing: .18em; font-weight: 820; color: var(--muted); }
.display { margin: 0; max-width: 11ch; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(3.2rem, 10vw, 8.4rem); line-height: .9; letter-spacing: -.065em; }
.display em { font-weight: 400; color: var(--accent); }

.hero { position: relative; overflow: hidden; min-height: calc(100svh - 70px); display: grid; align-items: center; padding: clamp(3.5rem, 8vw, 8rem) 0 3.5rem; }
.hero::after { content: '?'; position: absolute; z-index: -1; right: -3vw; top: -17vh; color: rgba(24,35,33,.035); font-family: Georgia,serif; font-size: min(82vw, 62rem); line-height: 1; transform: rotate(8deg); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); align-items: end; gap: clamp(2rem, 7vw, 7rem); }
.hero-copy { max-width: 52rem; }
.hero-intro { max-width: 40rem; margin: 2rem 0; font-size: clamp(1.1rem, 1.8vw, 1.36rem); color: var(--muted); }
.hero-question { padding: 1.25rem 1.4rem; border-left: 4px solid var(--accent); background: rgba(255,255,255,.36); font-family: Georgia,serif; font-size: clamp(1.35rem, 2.3vw, 2rem); line-height: 1.25; }
.hero-actions, .dialog-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .7rem 1rem; border: 1px solid var(--ink); border-radius: 999px; text-decoration: none; cursor: pointer; font-weight: 720; }
.button.primary { color: var(--paper); background: var(--ink); }
.button.quiet { background: transparent; }
.button:hover { transform: translateY(-1px); }

.hero-cover { position: relative; isolation: isolate; width: min(100%, 620px); margin: 0 0 0 auto; overflow: hidden; border: 1px solid rgba(24,35,33,.22); border-radius: 28px; background: var(--ink); box-shadow: 0 24px 60px rgba(24,35,33,.2); }
.hero-cover::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(145deg, rgba(15,26,39,.18), transparent 44%, rgba(210,92,63,.1)); }
.hero-cover img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: 58% center; }
.hero-cover figcaption { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; max-width: 17rem; margin: 0; padding: .6rem .8rem; color: #fff; background: rgba(8,16,24,.62); border: 1px solid rgba(255,255,255,.18); border-radius: 12px; font: 500 .92rem/1.35 Georgia, serif; }

.path-section { padding: 5.5rem 0; border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.section-heading h2 { margin: 0; max-width: 14ch; font: 500 clamp(2.3rem, 5vw, 4.6rem)/.98 Georgia,serif; letter-spacing: -.045em; }
.section-heading p { max-width: 37rem; margin: 0; color: var(--muted); font-size: 1.05rem; }

.path-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; counter-reset: threshold; }
.threshold-card { position: relative; min-height: 250px; padding: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--card); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.threshold-card:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(24,35,33,.09); }
.threshold-card::after { content: '?'; position: absolute; right: -.25rem; bottom: -2.7rem; font: 10rem Georgia,serif; color: color-mix(in srgb, var(--stage) 12%, transparent); }
.card-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.card-number { font-variant-numeric: tabular-nums; color: var(--muted); }
.visited-dot { display: none; width: .65rem; height: .65rem; border-radius: 50%; background: var(--stage); box-shadow: 0 0 0 5px color-mix(in srgb, var(--stage) 16%, transparent); }
.threshold-card.visited .visited-dot { display: block; }
.threshold-card h3 { max-width: 13ch; margin: 2rem 0 .7rem; font: 500 clamp(1.8rem, 3vw, 2.8rem)/1 Georgia,serif; }
.threshold-card p { max-width: 32rem; margin: 0; color: var(--muted); }
.card-arrow { display: inline-block; margin-top: 1.4rem; color: var(--stage); font-weight: 800; }

.progress-wrap { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; margin: 2rem 0 0; }
.progress-track { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(24,35,33,.12); }
.progress-bar { height: 100%; width: 0; border-radius: inherit; background: var(--accent); transition: width .3s ease; }
.progress-label { color: var(--muted); font-size: .85rem; }

.authors-preview { padding: 5.5rem 0; color: #f1eee5; background: var(--ink); }
.authors-preview .eyebrow, .authors-preview .section-heading p { color: #b9c3bf; }
.authors-preview .section-heading { margin-bottom: 3rem; }
.author-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.author-card { padding: 1.4rem; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; min-height: 190px; background: rgba(255,255,255,.035); }
.author-card span { display: inline-block; padding: .3rem .6rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: #b9c3bf; font-size: .75rem; }
.author-card h3 { margin: 3.6rem 0 .2rem; font: 500 1.7rem Georgia,serif; }
.author-card p { margin: 0; color: #b9c3bf; }

.stage-page { --stage: var(--accent); }
.stage-hero { padding: 4.2rem 0 3rem; border-bottom: 1px solid var(--line); }
.stage-hero-grid { display: grid; grid-template-columns: 120px 1fr; gap: clamp(1.4rem, 5vw, 5rem); }
.stage-index { font: 500 clamp(3rem,7vw,6rem)/1 Georgia,serif; color: var(--stage); }
.stage-hero h1 { margin: .3rem 0 1rem; max-width: 14ch; font: 500 clamp(3rem,8vw,6.8rem)/.93 Georgia,serif; letter-spacing: -.055em; }
.stage-big-question { max-width: 42rem; margin: 0; font-size: clamp(1.15rem,2vw,1.5rem); color: var(--muted); }
.stage-body { width: min(860px, calc(100% - 2rem)); margin: 0 auto; padding: 3.4rem 0 5rem; }
.stage-block { margin: 0 0 3rem; }
.stage-block h2 { margin: 0 0 1rem; font: 500 clamp(1.9rem,4vw,3rem)/1.05 Georgia,serif; }
.stage-block p { font-size: 1.08rem; }
.scene-card { padding: clamp(1.25rem,4vw,2.3rem); border: 1px solid var(--line); border-top: 6px solid var(--stage); border-radius: 24px; background: rgba(255,255,255,.48); }
.scene-card > p { max-width: 48rem; }
.interaction-prompt { margin-top: 1.6rem; font-weight: 780; }
.choice-list { display: grid; gap: .65rem; margin-top: 1rem; }
.choice { width: 100%; padding: .95rem 1rem; text-align: left; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.choice:hover { border-color: var(--stage); background: color-mix(in srgb, var(--stage) 7%, transparent); }
.choice.selected { border-color: var(--stage); background: color-mix(in srgb, var(--stage) 12%, transparent); box-shadow: inset 4px 0 var(--stage); }
.choice-feedback { margin: 1rem 0 0; padding: 1rem; border-radius: 14px; background: color-mix(in srgb, var(--stage) 9%, white); }
.multi-list { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.multi-choice { padding: .7rem .9rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: transparent; cursor: pointer; }
.multi-choice.selected { color: white; background: var(--stage); border-color: var(--stage); }
.multi-choice:disabled:not(.selected) { opacity: .45; cursor: not-allowed; }
.tension { position: relative; padding: 2rem 0 2rem 2rem; border-left: 2px solid var(--stage); font: 500 clamp(1.45rem,3vw,2.15rem)/1.3 Georgia,serif; }
.concept-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.concept-grid p { margin: 0; }
.bridge { padding: 1.4rem; border-radius: 18px; background: var(--paper-strong); }
.carry-card { position: relative; overflow: hidden; padding: clamp(1.6rem,4vw,2.8rem); color: white; background: var(--ink); border-radius: 28px; }
.carry-card::after { content: '?'; position: absolute; right: -1rem; bottom: -4.5rem; color: rgba(255,255,255,.06); font: 15rem Georgia,serif; }
.carry-card .eyebrow { color: color-mix(in srgb, var(--stage) 75%, white); }
.carry-card p { position: relative; z-index: 1; max-width: 29ch; margin: .5rem 0 0; font: 500 clamp(1.7rem,4vw,3rem)/1.16 Georgia,serif; }
.stage-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3rem; }
.stage-nav a { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; text-decoration: none; }
.stage-nav a:last-child { text-align: right; }
.stage-nav small { display: block; color: var(--muted); }

.authors-page { padding: 4.5rem 0 6rem; }
.authors-page h1 { margin: .3rem 0 1rem; max-width: 12ch; font: 500 clamp(3.2rem,8vw,7rem)/.9 Georgia,serif; letter-spacing: -.06em; }
.authors-lead { max-width: 48rem; font-size: 1.25rem; color: var(--muted); }
.method-list { margin: 4rem 0; border-top: 1px solid var(--line); }
.method-step { display: grid; grid-template-columns: 70px minmax(180px,.7fr) 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.method-step .num { color: var(--muted); font-variant-numeric: tabular-nums; }
.method-step h2 { margin: 0; font: 500 1.45rem Georgia,serif; }
.method-step p { margin: 0; color: var(--muted); }
.future-title { margin-top: 5rem; font: 500 2.5rem Georgia,serif; }
.future-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.future-card { min-height: 170px; padding: 1.3rem; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.35); }
.future-card h3 { margin: 3rem 0 .3rem; font: 500 1.55rem Georgia,serif; }
.future-card p { margin: 0; color: var(--muted); }

.site-footer { padding: 3rem max(1rem, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); }
.site-footer > p:first-child { font: 500 1.35rem Georgia,serif; }
.credit { max-width: 60rem; color: var(--muted); font-size: .84rem; }

dialog { width: min(480px, calc(100% - 2rem)); padding: 1.5rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 24px 80px rgba(0,0,0,.28); }
dialog::backdrop { background: rgba(10,20,18,.55); backdrop-filter: blur(4px); }
.dialog-close { float: right; border: 0; background: transparent; font-size: 1.8rem; cursor: pointer; }
dialog h2 { margin: .3rem 0; font: 500 2.2rem Georgia,serif; }
.offline-note { position: fixed; z-index: 60; left: 50%; bottom: 1rem; transform: translateX(-50%); width: max-content; max-width: calc(100% - 2rem); padding: .7rem 1rem; border-radius: 999px; color: white; background: var(--ink); box-shadow: 0 8px 30px rgba(0,0,0,.18); }


/* Opere: vista modulare riutilizzabile */
.work-page { --work: #9a6235; }
.work-hero { padding: clamp(3.5rem,8vw,7rem) 0; color: #f5efe4; background: radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--work) 45%, transparent), transparent 28rem), #12201f; }
.work-hero .eyebrow { color: #d8c8b5; }
.work-hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem,7vw,7rem); align-items: end; }
.work-author { margin: .2rem 0 .25rem; color: #d8c8b5; font-size: 1.05rem; }
.work-hero h1 { margin: 0; font: 500 clamp(4.5rem,13vw,10rem)/.82 Georgia,serif; letter-spacing: -.075em; }
.work-question { padding: 1.5rem; border: 1px solid rgba(255,255,255,.22); border-left: 5px solid #d79a60; border-radius: 0 20px 20px 0; background: rgba(255,255,255,.055); }
.work-question span { color: #d8c8b5; font-size: .72rem; letter-spacing: .17em; font-weight: 800; }
.work-question p { margin: .55rem 0 0; font: 500 clamp(1.45rem,3vw,2.35rem)/1.22 Georgia,serif; }

.work-nav { position: sticky; top: 70px; z-index: 20; overflow-x: auto; color: #f5efe4; background: rgba(18,32,31,.94); border-top: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(14px); }
.work-nav .shell { display: flex; gap: .2rem; min-width: max-content; }
.work-nav a { padding: .9rem .8rem; color: #d8c8b5; text-decoration: none; font-size: .86rem; font-weight: 700; }
.work-nav a:hover { color: white; }

.work-body { width: min(960px, calc(100% - 2rem)); margin-inline: auto; padding-bottom: 6rem; }
.work-section { scroll-margin-top: 132px; padding: clamp(4rem,8vw,7rem) 0; border-bottom: 1px solid var(--line); }
.work-section > h2, .work-section-heading h2 { margin: .25rem 0 1.2rem; font: 500 clamp(2.5rem,6vw,5rem)/.95 Georgia,serif; letter-spacing: -.045em; }
.work-section > p, .work-section-heading > p, .section-lead { max-width: 48rem; font-size: 1.08rem; color: var(--muted); }
.work-section-heading { display: grid; grid-template-columns: 1fr .8fr; gap: 2rem; align-items: end; margin-bottom: 2.5rem; }
.work-section-heading p { margin: 0; }

.opening-scene { border-bottom: 0; }
.opening-scene > p { max-width: 46rem; }
.work-choice-list { display: grid; grid-template-columns: repeat(3,1fr); gap: .75rem; margin-top: 1.2rem; }
.work-choice { min-height: 110px; padding: 1rem; text-align: left; color: var(--ink); background: rgba(255,255,255,.45); border: 1px solid var(--line); border-radius: 18px; cursor: pointer; font-weight: 720; }
.work-choice:hover, .work-choice.selected { border-color: var(--work); background: color-mix(in srgb, var(--work) 10%, white); box-shadow: inset 0 -4px var(--work); }
.work-feedback { max-width: none !important; margin: 1rem 0; padding: 1rem 1.1rem; color: var(--ink) !important; border-radius: 14px; background: var(--paper-strong); }
.turn-card { margin-top: 2rem; padding: 1.5rem; border-left: 5px solid var(--work); background: rgba(255,255,255,.48); }
.turn-card p { margin: .45rem 0 0; }

.poem-section { width: min(1080px, calc(100vw - 2rem)); margin-left: 50%; transform: translateX(-50%); padding-inline: max(1rem, calc((100% - 960px) / 2)); color: #f4ede1; background: #172423; border: 0; }
.poem-section .eyebrow, .poem-section .work-section-heading > p { color: #b9c4bf; }
.poem { width: min(680px,100%); margin: 2.5rem auto 0; padding: clamp(1.4rem,4vw,3rem) clamp(1rem,4vw,3rem) clamp(1.4rem,4vw,3rem) 4.2rem; border: 1px solid rgba(255,255,255,.14); border-radius: 28px; background: rgba(255,255,255,.035); box-shadow: 0 25px 60px rgba(0,0,0,.22); }
.poem li { padding-left: .75rem; color: #c7b9a5; font: 500 clamp(1.08rem,2.4vw,1.48rem)/1.72 Georgia,serif; }
.poem li::marker { color: #6f817b; font: 600 .72rem ui-monospace,monospace; }
.poem li:nth-child(3), .poem li:nth-child(7), .poem li:nth-child(10), .poem li:nth-child(13), .poem li:nth-child(15) { color: white; }

.fact-list { margin-top: 2rem; border-top: 1px solid var(--line); }
.fact-list > div { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.fact-list span { color: var(--work); font-weight: 800; }
.fact-list p { margin: 0; }
.hinge-card { margin-top: 2rem; padding: clamp(1.4rem,4vw,2.5rem); color: #f5efe4; background: var(--ink); border-radius: 26px; }
.hinge-card .eyebrow { color: #d7b48f; }
.hinge-card h3 { margin: .3rem 0 .7rem; font: 500 clamp(2rem,5vw,3.4rem)/1 Georgia,serif; }
.hinge-card p:last-child { max-width: 48rem; margin-bottom: 0; }

.answer-card { margin: 2rem 0 3rem; padding: 1.5rem 1.7rem; border: 0; border-left: 6px solid var(--work); background: color-mix(in srgb, var(--work) 9%, white); font: 500 clamp(1.6rem,3.5vw,2.5rem)/1.25 Georgia,serif; }
.infinity-grid, .two-views { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.infinity-grid article, .two-views article { padding: 1.5rem; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.42); }
.infinity-grid h3, .two-views h3 { margin: 0 0 .8rem; font: 500 1.65rem Georgia,serif; }
.infinity-grid ul { padding-left: 1.2rem; }
.infinity-grid article > p, .two-views article > p:last-child { color: var(--muted); }
.two-views { margin-top: 1rem; }

.context-grid { display: grid; gap: .7rem; }
.context-grid details { padding: 0 1.2rem; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.42); }
.context-grid summary { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; cursor: pointer; font: 500 1.2rem Georgia,serif; }
.context-grid summary span { min-width: 10rem; color: var(--work); font: 800 .73rem ui-sans-serif,system-ui,sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.context-grid details p { margin: 0 0 1.2rem; color: var(--muted); }

.technique-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 2rem; }
.technique-grid article { min-height: 205px; padding: 1.2rem; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.4); }
.technique-grid h3 { margin: 0 0 .7rem; font: 500 1.35rem Georgia,serif; }
.technique-grid p { margin: 0; color: var(--muted); font-size: .95rem; }
.work-path { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem; margin: 3rem 0 1.5rem; padding: 1.3rem; color: white; background: var(--ink); border-radius: 20px; }
.work-path span { padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; }
.work-path i { color: #d7b48f; font-style: normal; }
.form-thesis { max-width: 34ch !important; margin: 2rem auto 0; text-align: center; color: var(--ink) !important; font: 500 clamp(1.5rem,3vw,2.15rem)/1.3 Georgia,serif; }

.lab-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.lab-grid article { padding: 1.4rem; border-top: 5px solid var(--work); border-radius: 0 0 20px 20px; background: var(--paper-strong); }
.lab-grid span { color: var(--work); font-size: .72rem; letter-spacing: .12em; font-weight: 820; }
.lab-grid h3 { margin: 1.5rem 0 .7rem; font: 500 1.5rem Georgia,serif; }
.lab-grid p { margin: 0; }

.work-quiz { display: grid; gap: 1rem; margin-top: 2rem; }
.quiz-item { padding: clamp(1.1rem,3vw,1.6rem); border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.42); }
.quiz-item h3 { display: grid; grid-template-columns: 35px 1fr; gap: .5rem; margin: 0 0 1rem; font: 500 1.25rem Georgia,serif; }
.quiz-item h3 span { color: var(--work); }
.quiz-item > div { display: grid; gap: .55rem; }
.quiz-item button { padding: .8rem .9rem; text-align: left; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.quiz-item button:hover:not(:disabled) { border-color: var(--work); }
.quiz-item button.correct { border-color: #2d7657; background: #e4f2e9; }
.quiz-item button.wrong { border-color: #a7463e; background: #f8e7e4; }
.quiz-item button:disabled { opacity: .72; cursor: default; }
.quiz-result { margin: .9rem 0 0; padding: .8rem; border-radius: 10px; }
.correct-text { color: #1f6046; background: #e4f2e9; }
.wrong-text { color: #83372f; background: #f8e7e4; }

.work-carry { width: min(960px, calc(100% - 2rem)); margin: 2rem auto; --stage: #d7a06a; background: #172423; }
.summary-section { border-bottom: 0; }
.summary-section dl { margin: 2rem 0 0; }
.summary-section dl > div { display: grid; grid-template-columns: minmax(170px,.4fr) 1fr; gap: 1rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.summary-section dt { color: var(--work); font-weight: 800; }
.summary-section dd { margin: 0; }
.work-end-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 2.5rem; }
.author-card.available, .future-card.available { display: block; color: inherit; text-decoration: none; border-color: rgba(215,160,106,.65); }
.author-card.available b, .future-card.available b { display: inline-block; margin-top: 1rem; color: #d7a06a; font-size: .84rem; }
.future-card.available b { color: var(--accent); }

body.high-contrast { --paper: #fff; --paper-strong: #eee; --ink: #08100f; --muted: #303735; --line: rgba(0,0,0,.35); --card: #fff; }

@media (max-width: 780px) {
  .topbar { min-height: 62px; }
  .brand span:last-child { display: none; }
  .primary-nav a { padding-inline: .55rem; font-size: .9rem; }
  .hero { min-height: auto; padding-top: 4rem; }
  .hero-grid, .section-heading, .concept-grid, .work-hero-grid, .work-section-heading { grid-template-columns: 1fr; }
  .hero-cover { width: 100%; max-width: 640px; margin: 1rem 0 0; }
  .path-list { grid-template-columns: 1fr; }
  .threshold-card { min-height: 220px; }
  .author-grid, .future-grid, .work-choice-list, .infinity-grid, .two-views, .lab-grid { grid-template-columns: 1fr; }
  .work-nav { top: 62px; }
  .technique-grid { grid-template-columns: repeat(2,1fr); }
  .stage-hero-grid { grid-template-columns: 1fr; gap: .5rem; }
  .stage-index { font-size: 2rem; }
  .method-step { grid-template-columns: 48px 1fr; }
  .method-step p { grid-column: 2; }
}

@media (max-width: 480px) {
  .shell, .stage-body { width: min(100% - 1.25rem, var(--max)); }
  .display { font-size: clamp(3.1rem, 18vw, 5.2rem); }
  .stage-nav { grid-template-columns: 1fr; }
  .stage-nav a:last-child { text-align: left; }
  .work-body, .work-carry { width: min(100% - 1.25rem, 960px); }
  .work-hero h1 { font-size: clamp(4rem,21vw,6rem); }
  .technique-grid { grid-template-columns: 1fr; }
  .context-grid summary { align-items: flex-start; flex-direction: column; gap: .3rem; }
  .summary-section dl > div { grid-template-columns: 1fr; gap: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media print {
  .topbar, .reading-panel, .hero-actions, .stage-nav, .choice-list, .multi-list { display: none !important; }
  body { background: white; }
  .hero { min-height: auto; }
}

/* Il laboratorio della forma */
.laboratory-entry{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:1.4rem;align-items:center;padding:1.5rem;border:1px solid color-mix(in srgb,#c98243 55%,transparent);border-radius:1.25rem;background:linear-gradient(115deg,#3a241d,#71452e);color:#fff;text-decoration:none;box-shadow:0 18px 45px rgba(44,28,21,.2)}
.laboratory-entry .lab-mark{font:700 1rem/1 var(--sans);letter-spacing:.12em;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:.75rem}.laboratory-entry h3{margin:.15rem 0;font-size:clamp(1.45rem,3vw,2.2rem)}.laboratory-entry p{margin:0;color:#f1dfcf}.laboratory-entry b{white-space:nowrap}.prework-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto 2rem;padding:1rem 1.25rem;max-width:70rem;border:1px solid color-mix(in srgb,var(--work) 40%,#ddd);border-radius:1rem;background:#fffaf1;text-decoration:none;color:inherit}.prework-link span{color:#6a5546}.prework-link b{color:var(--work)}
.form-lab-page{--lab:#a75f32;--lab-dark:#35231d;background:#f5f0e7;color:#23211e;min-height:100vh}.form-lab-hero{padding:clamp(4rem,10vw,8rem) 0;background:radial-gradient(circle at 72% 28%,rgba(232,159,91,.24),transparent 30%),linear-gradient(135deg,#1c2829,#432b22);color:#fff}.form-lab-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,7rem);align-items:end}.form-lab-hero h1{max-width:10ch;margin:.35rem 0;font-size:clamp(3rem,8vw,7rem);line-height:.89}.lab-subtitle{font-size:clamp(1.15rem,2.4vw,1.6rem);color:#e8cbae}.lab-question{border-left:3px solid #e89955;padding:1.4rem 0 1.4rem 1.5rem}.lab-question span{font:700 .75rem/1.2 var(--sans);letter-spacing:.15em;color:#e89955}.lab-question p{margin:.6rem 0 0;font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.2}
.lab-nav{position:sticky;top:0;z-index:8;background:rgba(28,40,41,.96);overflow:auto}.lab-nav .shell{display:flex;gap:1.5rem;min-width:max-content}.lab-nav a{padding:1rem 0;color:#fff;text-decoration:none;font:650 .85rem/1 var(--sans)}.form-lab-body{max-width:74rem;margin:auto;padding:0 1.25rem}.lab-section{padding:clamp(4rem,8vw,7rem) 0;border-bottom:1px solid #d7cbbb;scroll-margin-top:4rem}.lab-section>h2{max-width:20ch;font-size:clamp(2.1rem,5vw,4.2rem);line-height:1;margin:.35rem 0 1.25rem}.lab-section>p{max-width:62rem;font-size:1.08rem}.lab-thesis{margin:2.5rem 0;padding:1.5rem;border-left:5px solid #df8542;background:#fff8ec;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.25}
.tone-lab{display:grid;grid-template-columns:1fr .8fr;gap:1rem;margin:2rem 0}.tone-stage{display:flex;min-height:12rem;flex-direction:column;justify-content:center;align-items:center;padding:2rem;border-radius:1.25rem;background:#1d2929;color:#fff;text-align:center}.tone-stage span{font-size:clamp(2.4rem,6vw,5rem)}.tone-stage small{margin-top:1rem;max-width:28rem;color:#dbcabb}.tone-stage[data-tone=irritata] span{font-family:var(--sans);font-weight:800;letter-spacing:.04em;transform:rotate(-2deg)}.tone-stage[data-tone=esitante] span{font-style:italic;color:#efd0a5}.lab-controls{display:grid;gap:.7rem}.lab-controls button,.lab-tab{border:1px solid #b8a896;border-radius:999px;background:transparent;padding:.85rem 1rem;color:inherit;font-weight:700;text-transform:capitalize}.lab-controls button.selected,.lab-tab.selected{background:var(--lab-dark);color:#fff;border-color:var(--lab-dark)}
.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.signal-card{min-height:12rem;padding:1.25rem;border:0;border-radius:1rem;color:#fff;text-align:left;cursor:pointer;transition:transform .2s}.signal-card:hover,.signal-card.open{transform:translateY(-4px)}.signal-card strong{display:block;font-size:1.45rem}.signal-card span{display:block;margin-top:4rem;opacity:0;transform:translateY(.5rem);transition:.2s}.signal-card.open span{opacity:1;transform:none}.signal-1{background:repeating-linear-gradient(135deg,#191919 0 18px,#e1a32e 18px 36px)}.signal-2{background:radial-gradient(circle at 30% 35%,#837153 0 10%,transparent 11%),radial-gradient(circle at 70% 65%,#5b6542 0 12%,transparent 13%),#b4a17b}.signal-3{background:repeating-linear-gradient(90deg,#b43b2f 0 12px,#20252a 12px 24px,#eee 24px 30px)}.lab-note{padding:1rem 1.25rem;border-radius:.8rem;background:#e5ddd0}
.break-lab{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.break-lab button{min-height:11rem;padding:1.25rem;border:1px solid #cabbab;border-radius:1rem;background:#fff;color:inherit;text-align:left}.break-lab button span{display:block;font:600 1.45rem/1.5 var(--serif)}.break-lab button small{display:block;margin-top:1rem;color:#8b5b39}.break-lab button.selected{outline:3px solid #c9783b;background:#fff7eb}.lab-feedback{padding:1rem 1.25rem;background:#3b2a22;color:#fff;border-radius:.75rem}.meter-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:1.5rem;margin:3rem 0;padding:clamp(1.25rem,4vw,2.5rem);border-radius:1.25rem;background:#20302f;color:#fff}.meter-card h3{font-size:1.65rem}.meter-card>p{grid-column:1/-1;color:#e3cdb8}.syllables{display:flex;flex-wrap:wrap;gap:.45rem;align-content:center}.syllables button{width:3.25rem;height:3.25rem;border:1px solid #c99b72;border-radius:50%;background:transparent;color:#fff}.syllables button.counted{background:#df8a47;color:#251d19;transform:translateY(-5px)}
.essential-grid,.detail-grid,.figure-grid,.infinito-tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.essential-grid article,.detail-grid article,.figure-grid article,.infinito-tool-grid article{padding:1.35rem;border:1px solid #d4c5b4;border-radius:1rem;background:rgba(255,255,255,.58)}.essential-grid h3,.detail-grid h3,.figure-grid h3,.infinito-tool-grid h3{margin:0 0 .45rem}.essential-grid p,.detail-grid p,.figure-grid p,.infinito-tool-grid p{margin:0}.deep-dive{margin-top:1rem;border:1px solid #bbaa96;border-radius:1rem;background:#eee6da}.deep-dive summary{cursor:pointer;padding:1.2rem;font-weight:750}.deep-dive[open] summary{border-bottom:1px solid #cdbba7}.deep-dive .detail-grid,.deep-dive>.chip-row,.deep-dive>h3{margin:1rem}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip-row span{padding:.6rem .85rem;border-radius:999px;background:#fff}
.lab-tabs{display:flex;flex-wrap:wrap;gap:.6rem;margin:2rem 0 1rem}.figure-grid{grid-template-columns:repeat(3,1fr)}.on-off-lab{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;margin-top:2rem;padding:1.5rem;border-radius:1rem;background:#33251f;color:#fff}.on-off-lab .figurative{font-size:clamp(1.5rem,3vw,2.4rem);font-style:italic}.on-off-lab button{padding:.8rem 1rem;border:1px solid #e7b37e;border-radius:999px;background:transparent;color:#fff}.on-off-lab>p{grid-column:1/-1;color:#e5d4c2}
.method-timeline{display:grid;gap:.7rem;margin:2rem 0}.method-timeline article{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1rem;border-bottom:1px solid #d5c7b6}.method-timeline span{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:#b86432;color:#fff;font-weight:800}.method-timeline h3,.method-timeline p{margin:0}.method-timeline p{margin-top:.3rem}.gold-rule{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.5rem;border-radius:1rem;background:#fff7e7}.gold-rule strong{color:#9f522b}.gold-rule p{margin:0}.infinito-bridge{margin-inline:calc(50% - 50vw);padding-inline:max(1.25rem,calc((100vw - 71.5rem)/2));background:#1e2c2c;color:#fff}.infinito-bridge .infinito-tool-grid article{border-color:#536b68;background:#273938}.infinito-bridge .button{margin-top:2rem;background:#df8747;border-color:#df8747;color:#201b17}
.lab-quiz{display:grid;gap:1rem;margin-top:2rem}.lab-quiz fieldset{display:grid;gap:.55rem;padding:1.25rem;border:1px solid #c9baa8;border-radius:1rem}.lab-quiz legend{padding:0 .5rem;font-weight:750}.lab-quiz button{padding:.85rem 1rem;border:1px solid #c9baa8;border-radius:.7rem;background:#fff;text-align:left;color:inherit}.lab-quiz button.correct{background:#d8eadb;border-color:#4f8157}.lab-quiz button.wrong{background:#f3d8d0;border-color:#a5503a}.lab-quiz fieldset p{margin:.35rem 0 0;padding:.8rem;border-radius:.6rem;background:#eee5d9}.quiz-result{margin-top:1.5rem;padding:1.5rem;border-radius:1rem;background:#263634;color:#fff}.quiz-result strong{font-size:2rem}.lab-summary ul{columns:2;column-gap:3rem}.lab-summary li{margin:0 0 .75rem;break-inside:avoid}.lab-summary blockquote{margin:2rem 0;padding:1.5rem;border-left:5px solid #b96837;font-size:1.5rem}.lab-bottom-nav{display:flex;justify-content:space-between;gap:1rem}.lab-bottom-nav a{color:#7a4529;font-weight:750}
@media(max-width:760px){.form-lab-hero-grid,.tone-lab,.meter-card{grid-template-columns:1fr}.form-lab-hero h1{max-width:none}.laboratory-entry{grid-template-columns:1fr}.laboratory-entry b{white-space:normal}.signal-grid,.break-lab,.figure-grid,.essential-grid,.detail-grid,.infinito-tool-grid{grid-template-columns:1fr}.on-off-lab{grid-template-columns:1fr}.on-off-lab>p{grid-column:1}.lab-summary ul{columns:1}.lab-bottom-nav{flex-direction:column}.prework-link{align-items:flex-start;flex-direction:column}.lab-nav .shell{padding-inline:1rem}.syllables button{width:3rem;height:3rem}}

/* Percorso d'autore: Pirandello */
.author-page{--author:#7d4035;background:#f3efe6;color:#182321;min-height:100vh}.author-hero{padding:clamp(4.5rem,10vw,8rem) 0;background:radial-gradient(circle at 77% 28%,rgba(215,149,93,.18),transparent 28%),linear-gradient(135deg,#1a2c2b,#412722);color:#fff}.author-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,7vw,7rem);align-items:end}.author-hero h1{max-width:8ch;margin:.35rem 0;font-size:clamp(3.5rem,9vw,8rem);line-height:.86}.author-subtitle{font-size:clamp(1.25rem,3vw,2rem);color:#e6c7aa}.author-question{padding:1.5rem 0 1.5rem 1.5rem;border-left:3px solid #df8850}.author-question span,.author-answer span,.author-bridge span{font:750 .74rem/1.2 var(--sans);letter-spacing:.14em}.author-question span{color:#df9a62}.author-question p{margin:.65rem 0 0;font-size:clamp(1.45rem,3vw,2.35rem);line-height:1.18}
.author-nav{position:sticky;top:0;z-index:10;overflow:auto;background:rgba(28,42,41,.97)}.author-nav .shell{display:flex;min-width:max-content}.author-nav a{display:flex;gap:.5rem;padding:1rem .9rem;border-bottom:3px solid transparent;color:#f7f0e7;text-decoration:none;font:650 .8rem/1 var(--sans)}.author-nav a span{color:#d7915f}.author-nav a.visited span{color:#9fd0b6}.author-nav a.active{border-color:#df8850;background:rgba(255,255,255,.06)}.author-tools{border-bottom:1px solid #d4c7b7;background:#ece5da}.author-tools .shell{display:flex;align-items:center;gap:1rem;padding-block:.7rem}.author-tools button,.author-tools a{padding:.6rem .85rem;border:1px solid #aa9987;border-radius:999px;background:transparent;color:inherit;text-decoration:none;font:700 .78rem/1 var(--sans)}.author-tools button.selected{background:#253b39;color:#fff}.author-progress{display:flex;flex:1;align-items:center;gap:1rem;font:650 .78rem/1 var(--sans)}.author-progress i{display:block;flex:1;max-width:18rem;height:.45rem;overflow:hidden;border-radius:999px;background:#d1c5b6}.author-progress b{display:block;width:0;height:100%;background:#9d5a3e;transition:width .3s}
.author-body{max-width:75rem;margin:auto;padding:0 1.25rem}.author-opening,.author-section,.author-final{padding:clamp(4rem,8vw,7rem) 0;border-bottom:1px solid #d4c7b7;scroll-margin-top:7rem}.author-opening>h2,.author-section-head h2,.author-final>h2{margin:.25rem 0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:.96}.author-opening>p{max-width:62rem;font-size:1.08rem}.author-opening-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.author-opening-choices button{min-height:8rem;padding:1.15rem;border:1px solid #b6a692;border-radius:1rem;background:#fffaf1;color:inherit;text-align:left;font:700 1rem/1.35 var(--sans)}.author-opening-choices button.selected{outline:3px solid #a55c3c;background:#f8e9d8}.author-opening-feedback{padding:1rem 1.25rem;border-radius:.75rem;background:#fff;color:#5a4032}.author-answer{margin:2rem 0 0;padding:1.6rem;border-left:5px solid #d57d47;background:#213433;color:#fff;font-size:clamp(1.35rem,3vw,2rem)}.author-answer span{display:block;margin-bottom:.7rem;color:#e9a76f}
.author-section-head{display:grid;grid-template-columns:6rem 1fr;gap:1.25rem;align-items:start}.author-section-head>span{font:750 clamp(3rem,7vw,6rem)/.9 var(--sans);color:color-mix(in srgb,var(--author) 70%,#c8b8a5)}.section-question{margin:.75rem 0 0;color:#76513f;font-size:1.15rem;font-style:italic}.author-thesis{margin:2rem 0;padding:1.4rem 1.6rem;border-left:5px solid var(--author);background:#fff9ef;font-size:clamp(1.35rem,3vw,2rem);line-height:1.25}.author-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.author-blocks article{padding:1.35rem;border:1px solid #d3c4b3;border-radius:1rem;background:rgba(255,255,255,.6)}.author-blocks h3{margin:0 0 .5rem;font-size:1.3rem}.author-blocks p{margin:0;line-height:1.62}.author-bridge{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;margin-top:2rem;padding:1.25rem;border-radius:1rem;background:#273b39;color:#fff}.author-bridge span{color:#e4a36e}.author-bridge p{margin:0}
.study-kit{display:grid;gap:.7rem;margin-top:2rem}.study-kit>details{border:1px solid #c8b7a4;border-radius:1rem;background:#ece4d8}.study-kit summary{cursor:pointer;padding:1.1rem 1.25rem;font-weight:750}.study-kit details[open] summary{border-bottom:1px solid #cfbfad}.study-kit details>p,.study-kit details>ul,.study-kit details>dl,.study-kit details>.author-quiz,.study-kit details>.map-button{margin:1.2rem}.study-kit li{margin-bottom:.55rem}.study-kit dl{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.study-kit dl div{padding:1rem;border-radius:.7rem;background:#fff}.study-kit dt{font-weight:800;color:#7d4035}.study-kit dd{margin:.35rem 0 0}.map-button{display:block;width:calc(100% - 2.4rem);padding:0;overflow:hidden;border:1px solid #ab9985;border-radius:.85rem;background:#fff;color:#6e422f}.map-button img{display:block;width:100%;height:auto}.map-button span{display:block;padding:.8rem;font-weight:700}
.author-interaction{margin:2rem 0;padding:clamp(1.25rem,4vw,2rem);border-radius:1.25rem;background:#213433;color:#fff}.identity-orbit{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:center}.identity-core{display:grid;min-height:15rem;place-items:center;padding:2rem;border:1px solid #7d9892;border-radius:50%;text-align:center}.identity-core span{font:800 4rem/1 var(--sans);color:#e5a06a}.identity-core small{max-width:22rem;font-size:1rem}.perspective-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.perspective-buttons button,.humor-switch button,.work-selector button,.testimony-buttons button{padding:.75rem;border:1px solid #829793;border-radius:999px;background:transparent;color:#fff}.perspective-buttons button.selected,.humor-switch button.selected,.work-selector button.selected,.testimony-buttons button.selected{background:#df8850;border-color:#df8850;color:#241d19}.interaction-caption{grid-column:1/-1;margin:0;text-align:center;color:#d3dfdc}.life-form-lab>div{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.life-form-lab [data-life-form]{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #829793;border-radius:.8rem;background:transparent;color:#fff;text-align:left}.life-form-lab [data-life-form].selected{background:#344b48}.life-form-lab [data-life-form] b{color:#e6a16c}.life-form-lab>[data-life-form-feedback]{padding:1rem;border-radius:.7rem;background:#182826}.humor-lab h3{max-width:40rem;font-size:1.7rem}.humor-switch{display:flex;gap:.6rem}.humor-output{min-height:6rem;padding:1.2rem;border-radius:.8rem;background:#182826;font-size:1.15rem}.humor-depth{display:flex;align-items:center;gap:.75rem}.humor-depth i{display:block;flex:1;height:.5rem;border-radius:999px;background:linear-gradient(90deg,#d8854c 0 45%,#688985 45%)}.humor-depth.deep i{background:linear-gradient(90deg,#d8854c 0 15%,#88b9a7 15%)}.works-lab{background:#372721}.work-selector{display:flex;gap:.5rem;overflow:auto;padding-bottom:.4rem}.work-selector button{min-width:max-content}.works-lab [data-work-panel]{margin-top:1rem;padding:1.25rem;border-radius:.8rem;background:#fff8ec;color:#251f1c}.works-lab [data-work-panel] h3{margin-top:0}.testimony-buttons{display:flex;flex-wrap:wrap;gap:.6rem}.truth-lab [data-testimony-output]{padding:1rem;border-radius:.8rem;background:#182826}
.author-quiz{display:grid;gap:1rem}.author-quiz fieldset{display:grid;gap:.55rem;padding:1rem;border:1px solid #c8b7a4;border-radius:.8rem;background:#f7f1e7}.author-quiz legend{padding:0 .45rem;font-weight:750}.author-quiz [data-author-answer]{padding:.8rem 1rem;border:1px solid #c7b6a4;border-radius:.65rem;background:#fff;color:inherit;text-align:left}.author-quiz [data-author-answer].correct{border-color:#5e8a65;background:#dcebdc}.author-quiz [data-author-answer].wrong{border-color:#ad5e49;background:#f1d6ce}.author-answer-note{margin:0;padding:.75rem;border-radius:.55rem;background:#e9e0d4}.author-quiz-result{padding:1.2rem;border-radius:.8rem;background:#213433;color:#fff}.author-quiz-result strong{font-size:2rem}.author-quiz-result p{margin:.3rem 0}.author-recovery{display:grid;gap:.7rem;padding:1rem;border:2px solid #c27a49;border-radius:.8rem;background:#fff7e9}.author-recovery h4{margin:0;font-size:1.3rem}.author-recovery article{padding:.85rem;border-left:4px solid #c27a49;background:#fff}.author-recovery article span{font-weight:800}.author-recovery article p{margin:.35rem 0}.author-recovery button{padding:.8rem 1rem;border:0;border-radius:999px;background:#7d4035;color:#fff;font-weight:750}
.author-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.author-summary-grid article{padding:1.2rem;border:1px solid #cabaa8;border-radius:.85rem;background:#fff}.author-summary-grid h3{margin:0;color:#7d4035}.author-summary-grid p{margin:.45rem 0 0}.author-final>blockquote{margin:2rem 0;padding:1.5rem;border-left:5px solid #d37c47;background:#243936;color:#fff;font-size:clamp(1.35rem,3vw,2rem)}.author-notebook{display:grid;gap:.6rem;padding:1.25rem;border-radius:1rem;background:#e7ded1}.author-notebook label{font-weight:800}.author-notebook textarea{min-height:10rem;padding:1rem;border:1px solid #ae9d89;border-radius:.7rem;background:#fff;font:inherit;resize:vertical}.author-reset{margin-top:1rem;text-align:right}.author-reset button{padding:.7rem 1rem;border:1px solid #a75b49;border-radius:999px;background:transparent;color:#873c30}.map-lightbox{max-width:min(96vw,1200px);padding:3rem 1rem 1rem;border:0;border-radius:1rem;background:#f5efe4}.map-lightbox::backdrop{background:rgba(8,15,15,.82)}.map-lightbox img{display:block;max-width:100%;max-height:82vh}.map-lightbox button{position:absolute;top:.5rem;right:.75rem;border:0;background:transparent;font-size:2rem}.author-page.focus-mode .author-tools a,.author-page.focus-mode .author-opening,.author-page.focus-mode .study-kit{display:none}.author-page.focus-mode .author-body{max-width:58rem}.author-page.focus-mode .author-section{padding-block:4rem}
@media(max-width:780px){.author-hero-grid,.identity-orbit{grid-template-columns:1fr}.author-hero h1{max-width:none}.author-nav .shell{padding-inline:.5rem}.author-nav a{padding-inline:.7rem}.author-tools .shell{flex-wrap:wrap}.author-progress{flex-basis:100%;order:3}.author-section-head{grid-template-columns:1fr}.author-section-head>span{font-size:3rem}.author-opening-choices,.author-blocks,.study-kit dl,.life-form-lab>div,.author-summary-grid{grid-template-columns:1fr}.author-bridge{grid-template-columns:1fr}.identity-core{min-height:11rem;border-radius:1.5rem}.author-opening,.author-section,.author-final{scroll-margin-top:6rem}}

/* Opera: I ragazzi che si amano */
.prevert-hero{background:radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--work) 55%,transparent),transparent 28rem),linear-gradient(135deg,#172a29,#2d2027)}
.prevert-hero h1{max-width:10ch;font-size:clamp(3.7rem,10vw,8.4rem);line-height:.88}
.prevert-reading{background:linear-gradient(145deg,#172423,#281e24)}
.fragment-lab{display:grid;grid-template-columns:minmax(13rem,.7fr) 1.3fr;gap:1rem;align-items:stretch;margin-top:2rem}
.fragment-buttons{display:grid;gap:.65rem}
.fragment-buttons button{padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:.85rem;background:transparent;color:#e9ddd1;text-align:left;font:600 1.03rem Georgia,serif;cursor:pointer}
.fragment-buttons button.selected{border-color:#e99aaa;background:rgba(181,79,98,.25);box-shadow:inset 4px 0 #e99aaa}
.fragment-lab article{display:grid;align-content:center;min-height:15rem;padding:clamp(1.4rem,4vw,2.4rem);border:1px solid rgba(255,255,255,.15);border-radius:1.2rem;background:rgba(255,255,255,.055)}
.fragment-lab blockquote{margin:0 0 1rem;color:#fff;font:500 clamp(1.8rem,4vw,3rem)/1.12 Georgia,serif}
.fragment-lab article p,.reading-method{color:#c9d2ce!important}
.reading-method{margin:1.25rem 0 0!important;padding:1rem;border-left:4px solid #e99aaa}
.evidence-lab,.rhythm-lab,.comparison-lab{margin:2.5rem 0;padding:clamp(1.25rem,4vw,2rem);border-radius:1.25rem;background:#213433;color:#fff}
.evidence-lab{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}
.evidence-lab h3,.rhythm-lab h3,.comparison-lab h3{margin:.2rem 0;font:500 clamp(1.5rem,3vw,2.2rem)/1.1 Georgia,serif}
.evidence-buttons,.rhythm-switch{display:flex;flex-wrap:wrap;gap:.55rem}
.evidence-buttons button,.rhythm-switch button{padding:.75rem 1rem;border:1px solid #829793;border-radius:999px;background:transparent;color:#fff;font-weight:720;cursor:pointer}
.evidence-buttons button.selected,.rhythm-switch button.selected{border-color:#e99aaa;background:#b54f62}
.evidence-lab>[data-evidence-panel]{grid-column:1/-1;margin:0;padding:1rem;border-radius:.75rem;background:#172725}
.rhythm-lab{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}
.rhythm-lab blockquote{grid-column:1/-1;min-height:8rem;margin:0;padding:1.4rem;border-left:5px solid #e99aaa;background:#172725;font:500 clamp(1.65rem,4vw,2.7rem)/1.35 Georgia,serif}
.rhythm-lab>[data-rhythm-note]{grid-column:1/-1;margin:0;color:#cad5d1}
.comparison-lab{background:#3a2830}
.comparison-lab>div{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.4rem 0}
.comparison-lab article{padding:1.15rem;border:1px solid #765764;border-radius:.9rem;background:#fff8ef;color:#29211f}
.comparison-lab h4{margin:0 0 .8rem;color:#9b3f53;font:600 1.4rem Georgia,serif}
.comparison-lab dl{display:grid;grid-template-columns:auto 1fr;gap:.4rem .75rem;margin:0}
.comparison-lab dt{font-weight:800}.comparison-lab dd{margin:0;color:#5f5652}
.prevert-map{margin:2.5rem 0}
.prevert-map button{display:block;width:100%;padding:0;overflow:hidden;border:1px solid #bcae9e;border-radius:1.2rem;background:#fff;cursor:zoom-in}
.prevert-map img{display:block;width:100%;height:auto}
.prevert-map button span{display:block;padding:.85rem;color:#7e3444;font-weight:800}
.prevert-map figcaption{margin-top:.55rem;color:var(--muted);font-size:.9rem}
.prevert-quiz{display:grid;gap:1rem;margin-top:2rem}
.prevert-quiz fieldset{display:grid;gap:.55rem;padding:1.2rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.45)}
.prevert-quiz legend{display:grid;grid-template-columns:2rem 1fr;gap:.45rem;padding:0 .4rem;font:600 1.18rem Georgia,serif}
.prevert-quiz legend span{color:var(--work)}
.prevert-quiz [data-prevert-answer]{padding:.85rem 1rem;border:1px solid #c4b5a5;border-radius:.7rem;background:#fff;color:inherit;text-align:left;cursor:pointer}
.prevert-quiz [data-prevert-answer]:hover:not(:disabled){border-color:var(--work)}
.prevert-quiz [data-prevert-answer].correct{border-color:#56805f;background:#dcebdc}
.prevert-quiz [data-prevert-answer].wrong{border-color:#ad5e49;background:#f2d8d0}
.prevert-quiz [data-prevert-answer]:disabled{opacity:.78;cursor:default}
.prevert-quiz [data-prevert-answer-note]{margin:.25rem 0 0;padding:.8rem;border-radius:.65rem;background:#ece3d7}
.prevert-quiz-result{padding:1.3rem;border-radius:.9rem;background:#213433;color:#fff}
.prevert-quiz-result strong{font-size:2.2rem}.prevert-quiz-result p{margin:.35rem 0}
.prevert-recovery{display:grid;gap:.75rem;padding:1.1rem;border:2px solid #b54f62;border-radius:.9rem;background:#fff7eb}
.prevert-recovery h3{margin:0;font:600 1.45rem Georgia,serif}
.prevert-recovery article{padding:.9rem;border-left:4px solid #b54f62;background:#fff}
.prevert-recovery article p{margin:.35rem 0}.prevert-recovery article small{color:#655b56}
.prevert-recovery button{justify-self:start;padding:.8rem 1rem;border:0;border-radius:999px;background:#8f3f50;color:#fff;font-weight:750;cursor:pointer}
.prevert-notes{display:grid;gap:.6rem;margin-top:2rem;padding:1.25rem;border-radius:1rem;background:#e7ded1}
.prevert-notes label{font-weight:800}.prevert-notes textarea{min-height:9rem;padding:1rem;border:1px solid #ae9d89;border-radius:.7rem;background:#fff;font:inherit;resize:vertical}
.prevert-page .map-lightbox{max-width:min(96vw,1200px)}
@media(max-width:760px){.fragment-lab,.evidence-lab,.rhythm-lab,.comparison-lab>div{grid-template-columns:1fr}.evidence-lab>[data-evidence-panel],.rhythm-lab blockquote,.rhythm-lab>[data-rhythm-note]{grid-column:1}.prevert-hero h1{font-size:clamp(3.2rem,17vw,5.3rem)}.fragment-lab article{min-height:12rem}.comparison-lab dl{grid-template-columns:1fr}.comparison-lab dd{margin-bottom:.5rem}}

/* Pirandello: percorso 01–06 dalle nuove fonti, entro il layout Antologia. */
.pirandello-course .author-nav{top:var(--toolbar-height,70px)}
.pirandello-course .author-section,.pirandello-course .review-group,.pirandello-course .review-conclusion{scroll-margin-top:calc(var(--toolbar-height,70px) + 5rem)}
.pirandello-course .author-section-head h2{overflow-wrap:anywhere}
.pirandello-course .author-map{margin:2rem 0 2.5rem}
.pirandello-course .author-map .map-button{width:100%;cursor:zoom-in}
.pirandello-course .author-map img{height:auto;object-fit:contain}
.pirandello-course .author-prose,.pirandello-course .author-theater{max-width:74ch;margin:2.5rem auto;font-size:1.08em;line-height:1.8}
.pirandello-course .author-prose article+article{margin-top:2.5rem}
.pirandello-course .author-prose h3{font-size:1.45em;line-height:1.25;color:var(--author)}
.pirandello-course .author-prose p{margin:0 0 1.1rem}
.pirandello-course .author-video{margin:2rem 0;padding:clamp(1rem,3vw,2rem);border:1px solid #c8b7a4;border-radius:1rem;background:#fff9ef}
.pirandello-course .author-video h3{margin-top:0;font-size:1.4em;line-height:1.35}
.pirandello-course video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#152423;border-radius:.65rem}
.pirandello-course .author-video>p{font-size:.9em}
.pirandello-course .author-theater{padding:clamp(1.25rem,4vw,2.5rem);border-left:5px solid var(--author);border-radius:0 1rem 1rem 0;background:#fff9ef}
.pirandello-course .theater-note{font-size:.85em;color:#5a4032}
.pirandello-course .theater-direction{padding:1rem;border-block:1px solid #c8b7a4;color:#5a4032}
.pirandello-course .theater-speech{font-family:Georgia,serif;font-size:1.12em}
.pirandello-course .author-connections,.pirandello-course .review-index{display:flex;flex-wrap:wrap;gap:.7rem;margin:2rem 0}
.pirandello-course .author-connections a,.pirandello-course .review-index a{padding:.7rem 1rem;border:1px solid #ab9987;border-radius:.8rem;background:#fff9ef;text-underline-offset:.2em;font-weight:650}
.pirandello-course .author-step-nav{margin-top:3rem}
.pirandello-course .author-step-nav a{min-width:0;overflow-wrap:anywhere}
.pirandello-course .review-group,.pirandello-course .review-conclusion{margin-top:3rem;padding:clamp(1rem,3vw,2rem);border:1px solid #c8b7a4;border-radius:1rem;background:rgba(255,255,255,.6)}
.pirandello-course .review-group h3,.pirandello-course .review-conclusion h3{font-size:1.5em;line-height:1.3;color:var(--author)}
.pirandello-course .review-group h4{margin:2rem 0 .75rem;font-size:1.2em}
.pirandello-course .review-group li{margin-bottom:.7rem}
.pirandello-course .review-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.pirandello-course .review-glossary>div,.pirandello-course .review-conclusion dl>div{padding:1rem;border-radius:.75rem;background:#fff9ef}
.pirandello-course dt{font-weight:750;color:var(--author)}
.pirandello-course dd{margin:.4rem 0 0}
.pirandello-course .review-conclusion dl{display:grid;gap:.75rem}
.pirandello-course .review-questions{margin-top:.75rem}
.pirandello-course .recall-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin:1.2rem}
.pirandello-course .recall-actions button{padding:.65rem .8rem;border:1px solid #8e7965;border-radius:.7rem;background:#fff;color:#182321;cursor:pointer}
.pirandello-course .recall-actions button[aria-pressed="true"]{background:#273b39;color:#fff}
.pirandello-course .recall-label{font-size:.85em;color:#70422e}
.pirandello-course .recall-status{padding:1rem;border-left:4px solid var(--author);background:#fff9ef}
.pirandello-course.focus-mode .study-kit{display:grid}
.pirandello-course .map-lightbox{width:min(96vw,1400px);max-height:94dvh;padding:1rem;overflow:hidden}
.pirandello-course .map-dialog-tools{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
.pirandello-course .map-dialog-tools button{position:static;padding:.6rem .8rem;border:1px solid #8e7965;border-radius:.6rem;font:inherit;background:#fff;color:#182321;cursor:pointer}
.pirandello-course .map-viewport{max-height:76dvh;overflow:auto;overscroll-behavior:contain}
.pirandello-course .map-lightbox img{width:100%;height:auto;max-height:none}
.pirandello-course .map-lightbox.original-size img{width:auto;max-width:none}
.pirandello-course :focus-visible{outline:3px solid #165d9b;outline-offset:4px}
.pirandello-course .author-nav :focus-visible,.pirandello-course .author-hero :focus-visible{outline-color:#ffdc83;outline-offset:-4px}
body.high-contrast .pirandello-course{--author:#61271e;background:#fff;color:#08100f}
body.high-contrast .pirandello-course .author-prose,body.high-contrast .pirandello-course .author-theater,body.high-contrast .pirandello-course .review-group{color:#08100f}
@media(max-width:780px){.pirandello-course .review-glossary{grid-template-columns:1fr}.pirandello-course .author-prose{line-height:1.75}.pirandello-course .author-step-nav{flex-wrap:wrap;gap:1rem}.pirandello-course .author-step-nav a{flex:1 1 14rem}.pirandello-course .map-dialog-tools{gap:.5rem}}
.pirandello-course .author-hero-grid>*{min-width:0}
@media(max-width:780px){.pirandello-course .author-hero h1{font-size:clamp(2.7rem,13vw,3.5rem)}}
