:root{color-scheme:light;--paper:#f7f2ea;--ink:#302c29;--muted:#71675e;--line:#d9cdbd;--accent:#704451}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}header,main,footer{max-width:1056px;margin:auto;padding:22px 24px}header{padding-bottom:12px}.eyebrow{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 5px}h1{font-size:clamp(25px,4vw,36px);line-height:1.2;margin:0 0 10px}.intro{margin:0;color:var(--muted)}a{color:var(--accent)}.toplinks{font-size:14px;display:flex;gap:20px;flex-wrap:wrap;margin-top:12px}nav{position:sticky;top:0;z-index:5;background:#f7f2eaf7;border-block:1px solid var(--line);backdrop-filter:blur(8px)}.controls{max-width:1056px;margin:auto;padding:10px 24px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}button,select{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 12px;min-height:44px}button{cursor:pointer}button:hover{background:#eee5da}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #aa6e82;outline-offset:3px}select{flex:1;min-width:100px;max-width:330px}button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}.mode{display:flex;gap:4px}.mode button{font-size:14px}.move{font-size:14px;margin-left:auto}.position{max-width:1056px;padding:0 24px 8px;margin:auto;font-size:13px;color:var(--muted)}main{padding-top:16px}.stage{position:relative;overflow:hidden;width:100%;background:#fff;border-radius:3px;box-shadow:0 8px 26px #40312418;touch-action:pan-y;isolation:isolate}.art,.effects{position:absolute;max-width:none;height:auto;display:block;pointer-events:none}.effects{height:100%;z-index:2;overflow:visible}.glow{transform-box:fill-box;transform-origin:center;animation:breath 2.7s ease-in-out infinite alternate;mix-blend-mode:screen;opacity:.16}.glow.cold{animation-duration:3.6s}.glint{transform-box:fill-box;transform-origin:center;animation:twinkle 3.8s ease-in-out infinite;opacity:.6}.still .glow,.still .glint{animation:none;opacity:0}.stage.loading .art,.stage.loading .effects{opacity:0}.stage.loading:after{content:'Caricamento della tavola…';position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}.caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;margin:15px 0 8px;color:var(--muted)}.caption p{margin:0}.hint{font-size:13px;color:var(--muted);margin:6px 0 16px}.bottomnav{display:flex;justify-content:center;gap:12px;margin:24px 0}.bookmarks{border-top:1px solid var(--line);padding-top:16px;margin-top:25px;display:flex;gap:8px;flex-wrap:wrap}.bookmarks button{font-size:14px}.bookmarks span{font-size:14px;align-self:center;margin-right:4px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.error{padding:18px;background:#fff1e5;border:1px solid var(--line)}footer{font-size:13px;color:var(--muted);padding-top:5px}.page-mode .stage{max-width:1008px;margin:auto}.panel-mode .stage{max-width:1008px;margin:auto}@keyframes breath{from{opacity:.035;transform:scale(.94)}to{opacity:.19;transform:scale(1.04)}}@keyframes twinkle{0%,55%,100%{opacity:.02;transform:scale(.75)}30%{opacity:.44;transform:scale(1)}}@media(max-width:620px){header,main,footer{padding-inline:12px}.controls{padding:8px 12px;gap:6px}.controls>button{padding-inline:12px}select{max-width:none;min-width:130px}.mode{order:2}.move{order:2;margin-left:auto}.position{padding-inline:12px;font-size:12px}main{padding-top:12px}.intro{font-size:14px}.toplinks{font-size:13px}.caption{font-size:13px}.hint{font-size:12px}.bookmarks{gap:6px}.bookmarks span{width:100%}.bookmarks button{font-size:12px;padding:8px}.bottomnav{margin:18px 0}}@media print{nav,.hint,.bottomnav,.bookmarks,.toplinks,footer,.effects{display:none}}
.viewer{width:100%;overflow:auto}.viewer.zoomed .stage{width:160%;max-width:none;margin:0}.stage{touch-action:pan-y pinch-zoom}
.mode,.bottomnav{flex-wrap:wrap;max-width:100%}button,select{max-width:100%;white-space:normal}body{overflow-wrap:anywhere}
