:root{
  --ink:#24192f;--muted:#706579;--paper:#fffdf9;--soft:#f5edf8;--line:#e9dfec;
  --pink:#ff4f9f;--orange:#ff8734;--yellow:#ffd84f;--aqua:#38cfc2;--blue:#567cff;--violet:#8457ea;
  --shadow:0 18px 52px rgba(70,43,91,.15);--focus:#24192f;--dock-height:112px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 0,#ffdced 0 8%,transparent 25%),radial-gradient(circle at 96% 12%,#d9f8ff 0 10%,transparent 28%),linear-gradient(145deg,#fffaf0,#ffeaf4 48%,#e8f7ff)}
body.modalOpen{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible,canvas:focus-visible{outline:4px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.app{max-width:1320px;margin:auto;padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(80px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 2px;background:rgba(255,249,242,.88);backdrop-filter:blur(18px)}
.topActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.musicButton{background:linear-gradient(135deg,#32213f,#8457ea);color:#fff}.homeAmbient{display:flex;gap:4px;padding:4px;border-radius:16px;background:#ffffffb8;box-shadow:0 8px 22px rgba(70,43,91,.1)}.homeAmbient button{min-height:38px;border:0;border-radius:12px;padding:7px 10px;background:transparent;color:#5e4d69;font-size:11px;font-weight:900}.homeAmbient button[aria-pressed="true"]{background:#30253f;color:#fff;box-shadow:0 5px 13px #2e213538}
.brand{font:900 31px/1 Georgia,serif;letter-spacing:.07em;text-decoration:none;background:linear-gradient(90deg,var(--pink),var(--orange),#dcae00,var(--aqua),var(--blue),var(--violet));-webkit-background-clip:text;color:transparent}
.brand small{display:block;margin-top:4px;font:800 9px/1.2 system-ui,sans-serif;letter-spacing:.18em;color:var(--muted)}
.eva-lab-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin:0 0 18px;padding:9px 14px;border:1px solid rgba(50,33,63,.2);border-radius:999px;background:rgba(255,255,255,.78);box-shadow:0 8px 22px rgba(70,43,91,.1);color:#4d3c58;font-size:12px;font-weight:900;letter-spacing:.14em;text-decoration:none;backdrop-filter:blur(12px)}
.eva-lab-link:hover{border-color:#8457ea;color:#5631a5;transform:translateY(-1px)}
.eva-lab-link:focus-visible{outline:3px solid #8457ea;outline-offset:3px}
.pill{min-height:46px;border:0;border-radius:999px;padding:11px 17px;background:#fff;color:#594968;font-weight:850;box-shadow:0 8px 22px rgba(70,43,91,.12)}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:390px;display:flex;align-items:end;border-radius:40px;padding:46px 34px 34px;color:#fff;background:linear-gradient(128deg,#d72172 0 20%,#d95312 35%,#8f6100 53%,#087d75 74%,#4335c7 100%);box-shadow:0 24px 64px rgba(91,48,100,.3)}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 90% 12%,#ffffff3b 0 10%,transparent 10.5%),radial-gradient(circle at 80% 80%,#ffffff22 0 18%,transparent 18.5%),linear-gradient(100deg,rgba(23,12,38,.36),transparent 70%)}
.heroContent{max-width:790px}
.eyebrow{margin:0 0 13px!important;font-size:12px!important;font-weight:900;letter-spacing:.14em}
.hero h1{font:900 clamp(58px,9vw,116px)/.84 Georgia,serif;letter-spacing:-.055em;margin:0;text-shadow:0 3px 18px rgba(25,11,35,.28)}
.hero p{font-size:20px;line-height:1.48;margin:19px 0 21px;text-shadow:0 2px 10px rgba(25,11,35,.5)}
.heroActions{display:flex;gap:10px;flex-wrap:wrap}
.heroActions button{min-height:52px;border:0;border-radius:18px;padding:13px 18px;background:#fff;color:#5b326d;font-weight:900;box-shadow:0 10px 24px rgba(28,13,40,.2)}
.heroActions .dark{background:#291f38;color:#fff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:17px 0}
.methodNote{margin:0 0 28px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:22px 24px;border:1px solid #ff4f9f42;border-radius:24px;background:linear-gradient(135deg,#ff4f9f17,#52e0ff14);box-shadow:0 18px 50px #09111f14}
.methodNoteMark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ff4f9f,#52e0ff);color:#07111f;font-size:20px;box-shadow:0 0 0 7px #ff4f9f14}
.methodNote h2{margin:3px 0 8px;font-size:clamp(1.2rem,2.4vw,1.75rem);line-height:1.12}
.methodNote p:last-child{margin:0;max-width:78ch;line-height:1.62;color:var(--muted)}
@media(max-width:640px){.methodNote{grid-template-columns:1fr;padding:19px;border-radius:20px}.methodNoteMark{width:36px;height:36px;font-size:17px}}
.stat{padding:19px;border:1px solid #fff;border-radius:25px;background:#ffffffd9;box-shadow:0 10px 30px rgba(70,43,91,.08)}
.stat b{display:block;font:900 32px/1 Georgia,serif}
.stat span{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
.experienceHub{margin:30px 0 36px}.experienceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.experienceCard{position:relative;isolation:isolate;min-height:168px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;border:0;border-radius:27px;padding:18px;color:#fff;text-align:left;box-shadow:0 14px 35px #38273f2b}.experienceCard:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,#33233f,#86538f)}.experienceCard:after{content:"";position:absolute;z-index:-1;right:-34px;top:-45px;width:128px;height:128px;border:22px solid #ffffff1e;border-radius:50%}.experienceCard>span{position:absolute;left:17px;top:16px;width:38px;height:38px;display:grid;place-items:center;border:1px solid #ffffff77;border-radius:14px;font-size:16px;font-weight:950}.experienceCard b{font:900 21px/1.05 Georgia,serif}.experienceCard small{margin-top:7px;color:#fffceb;font-size:11px;line-height:1.35;font-weight:750}.experienceCard.detail:before{background:linear-gradient(145deg,#173f48,#4b8b91)}.experienceCard.master:before{background:linear-gradient(145deg,#703f25,#bd7742)}.experienceCard.time:before{background:linear-gradient(145deg,#3d355f,#79649e)}.experienceCard.mystery:before{background:linear-gradient(145deg,#261d31,#6b3f76)}
.storyHub,.visionHub{margin:34px 0}.storyCards,.visionCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.storyCard,.visionCard{position:relative;min-height:310px;overflow:hidden;border:0;border-radius:29px;padding:0;background:#21172d;color:#fff;text-align:left;box-shadow:0 17px 42px #35213d2b}.storyCard img,.visionCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.storyCard:after,.visionCard:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10091808 12%,#160d20ee 88%)}.storyCardContent,.visionCardContent{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px}.storyCardTag,.visionCardTag{display:inline-flex;margin-bottom:9px;border:1px solid #ffffff73;border-radius:999px;padding:5px 9px;background:#22172e91;font-size:9px;font-weight:950;letter-spacing:.1em}.storyCardContent b,.visionCardContent b{display:block;font:900 25px/1.02 Georgia,serif}.storyCardContent small,.visionCardContent small{display:block;margin-top:8px;color:#fffde9;font-size:11px;line-height:1.4;font-weight:750}.storyCardProgress{display:block;width:100%;height:5px;overflow:hidden;margin-top:12px;padding:0;border:0;border-radius:99px;background:#ffffff2f;letter-spacing:normal}.storyCardProgress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff5da4,#ffd85b)}.visionCard:after{background:linear-gradient(180deg,#08122a00 30%,#080c27eb 92%)}
.storyDialogCard{width:min(980px,100%)}.storyDialogIntro{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:start}.storyDialogIntro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}.storyDialogIntro p{margin:0 0 10px;color:#61556a;line-height:1.55}.storyDialogIntro #storyDialogSubtitle{color:#7c3f72;font-weight:900}.storyChapterRail{display:flex;gap:8px;overflow-x:auto;margin:20px 0 13px;padding:3px 2px 9px}.storyChapterChoice{flex:0 0 165px;min-height:74px;border:2px solid #e8deeb;border-radius:16px;padding:10px;background:#fff;color:#493a54;text-align:left;font-weight:900}.storyChapterChoice small{display:block;margin-top:5px;color:#6f6177;font-size:11px;line-height:1.25}.storyChapterChoice.active{border-color:#412d50;box-shadow:0 0 0 2px #412d50}.storyChapterChoice.done{background:#eef8f1}.storyChapterText{padding:20px;border-radius:23px;background:linear-gradient(135deg,#fff8fb,#f5f5ff)}.storyChapterText h3{margin:0 0 10px;font:900 29px/1.05 Georgia,serif}.storyChapterText>p:last-of-type{color:#55485d;line-height:1.65}.storyChapterActions{display:flex;justify-content:flex-end}.storyChapterActions .primary,.storyAfter .primary{min-height:48px;border:0;border-radius:15px;padding:11px 17px;background:linear-gradient(90deg,#bd3e7b,#6f55ba);color:#fff;font-weight:950}.storyEpilogue,.storyAfter{margin-top:14px;padding:18px;border:1px solid #e7d8d4;border-radius:20px;background:#fff7e9;text-align:left}.storyEpilogue p,.storyAfter p{color:#5d4d55;line-height:1.6}.storyAfter h3{margin:0 0 8px;font:900 25px Georgia,serif}.storyAfter .primary{width:100%;margin-top:8px}
.storyAccuracy{margin-top:14px;border-top:1px solid #e6dce8;padding:12px 2px 0;color:#5f5268}.storyAccuracy summary{cursor:pointer;font-weight:900}.storyAccuracy p{font-size:12px;line-height:1.55}
.tabs{display:flex;gap:8px;overflow:auto;padding:10px 2px 13px;scrollbar-width:none}
.tab{white-space:nowrap;min-height:44px;border:0;border-radius:999px;padding:11px 17px;background:#fff;color:#61536e;font-weight:850;box-shadow:0 6px 18px rgba(70,43,91,.09)}
.tab.active{background:#2c223a;color:#fff}
.galleryTools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:11px;margin:10px 0 18px}
.progressTools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-6px 0 18px}.progressTools .pill{min-height:44px;padding:9px 14px}.progressTools span{flex:1 1 260px;color:var(--muted);font-size:12px;line-height:1.4}
.searchWrap{min-width:0;min-height:50px;display:flex;align-items:center;gap:8px;padding:0 15px;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(70,43,91,.09);color:#75677d}
.searchWrap input{width:100%;min-width:0;height:50px;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px}
.sectionTitle{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:27px 0 13px}
.sectionTitle h2{font:900 32px/1 Georgia,serif;margin:0}
.sectionTitle span{font-size:13px;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{position:relative;overflow:hidden;border:4px solid #fff;border-radius:29px;background:#fff;box-shadow:0 14px 40px rgba(70,43,91,.15);content-visibility:auto;contain-intrinsic-size:420px 520px}
.cardOpen{display:block;width:100%;padding:0;border:0;background:#fff;text-align:left;color:inherit}
.cardOpen:active{transform:scale(.988)}
.preview{position:relative;aspect-ratio:4/3;overflow:hidden;background:#f2edf1}
.preview img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s,filter .35s}
.card:hover .preview img{transform:scale(1.025)}
.card.mystery:not(.done) .preview img{filter:grayscale(1) contrast(1.1) brightness(.72) blur(5px);transform:scale(1.05)}
.preview:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(27,18,38,.35))}
.badge{position:absolute;z-index:2;left:10px;top:10px;padding:7px 10px;border-radius:999px;background:#ffffffe8;color:#3d3049;font-size:10px;font-weight:900;backdrop-filter:blur(10px)}
.play{position:absolute;z-index:2;right:11px;bottom:11px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff;font-weight:900;box-shadow:0 8px 20px rgba(62,35,95,.36)}
.heart{position:absolute;z-index:4;right:11px;top:11px;width:44px;height:44px;border:0;border-radius:50%;background:#ffffffe9;color:#3c2e49;font-size:21px;box-shadow:0 6px 18px #0002}
.meta{padding:16px 17px 17px}
.meta{display:block}.meta .cardTitle{display:block;margin:0 54px 6px 0;font:900 21px/1.08 Georgia,serif}.meta .cardBy{display:block;color:var(--muted);font-size:13px}
.meta h3{font:900 21px/1.08 Georgia,serif;margin:0 54px 6px 0}
.meta p{font-size:13px;color:var(--muted);margin:0}
.cardStars{display:inline-block;margin-top:8px;color:#9a5d00;font-size:14px;font-weight:900;letter-spacing:.08em}
.progress{height:9px;overflow:hidden;border-radius:10px;background:#eee6f1;margin-top:11px}
.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--pink),var(--orange),var(--yellow),var(--aqua),var(--blue),var(--violet));transition:width .25s}
.empty{grid-column:1/-1;padding:34px;border-radius:24px;background:#fff;text-align:center;color:var(--muted)}
.siteFooter{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start;margin-top:42px;padding:25px;border:1px solid var(--line);border-radius:26px;background:#ffffffd6;box-shadow:0 10px 30px rgba(70,43,91,.08)}
.siteFooter b{font-family:Georgia,serif}.siteFooter p{max-width:720px;margin:7px 0 0;color:var(--muted);line-height:1.5;font-size:13px}
.siteFooter nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.siteFooter a{color:#4f3e5c;font-weight:800;font-size:13px}

.game{position:fixed;inset:0;z-index:100;display:grid;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:contain;background:linear-gradient(180deg,#fff5fa,#eefaff)}
.gameTop{position:relative;top:auto;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:calc(9px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 9px max(14px,env(safe-area-inset-left));background:#fffffff0;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.gameTop button{min-height:46px;border:0;border-radius:15px;padding:10px 13px;background:#30253f;color:#fff;font-weight:900}
.gameTop .light{min-width:48px;background:#fff;color:#4f405c;box-shadow:0 5px 16px rgba(70,43,91,.1)}
.brushChip{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:900}
.brushDot{flex:0 0 auto;width:28px;height:28px;border:3px solid #fff;border-radius:9px;background:#fff;box-shadow:0 0 0 2px #d8cedd}
.gameTopActions{display:flex;gap:7px;align-items:center}
.gameBody{width:100%;max-width:1120px;height:100%;min-height:0;margin:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:14px max(14px,env(safe-area-inset-right)) calc(30px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.boardColumn{position:relative;min-width:0}
.boardInstruction{min-width:0;width:100%;max-width:100%;display:flex;align-items:center;gap:8px 12px;min-height:46px;margin:0 0 9px;padding:7px 8px 7px 12px;border-radius:15px;background:#24192f;color:#fff;font-size:12px;font-weight:750;line-height:1.3}
.instructionPrimary{flex:0 0 auto;padding:6px 9px;border-radius:10px;background:#fff;color:#24192f;font-size:13px;white-space:nowrap}
.instructionSecondary{min-width:0;opacity:.94}.instructionTip{display:inline}
.focusBoardBtn{flex:0 0 auto;min-height:38px;border:0;border-radius:11px;padding:7px 11px;background:#fff;color:#24192f;font-size:12px;font-weight:950}
.boardShell{position:relative;min-width:0;width:100%;max-width:100%;overflow:hidden;padding:9px;border-radius:27px;background:linear-gradient(135deg,var(--pink),#ff9f42,#ffe259,#48ddc8,#5e91ff,#9163ff);box-shadow:var(--shadow)}
.boardViewport{position:relative;min-width:0;width:100%;max-width:100%;overflow:auto;border-radius:19px;background:#fffdf8;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:none;scrollbar-width:thin;overflow-anchor:none}
.boardStage{position:relative;isolation:isolate;width:100%;min-width:0;margin-inline:auto;line-height:0}
#board{position:relative;z-index:1;display:block;width:100%;max-width:none;height:auto;background:#fffdf8;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.boardLabels{position:absolute;z-index:4;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;line-height:1}
.boardLabel{position:absolute;z-index:2;display:block;white-space:nowrap;color:#342b3b;font-family:ui-rounded,system-ui,sans-serif;font-weight:900;line-height:1;letter-spacing:-.02em;text-align:center;transform:translate(-50%,-50%);paint-order:stroke fill;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;filter:drop-shadow(0 1px 1px rgba(255,255,255,.95))}
.boardLabel.selected{z-index:3;display:block;min-width:0;min-height:0;padding:1px;color:#211629;font-weight:950;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #fff);pointer-events:none;touch-action:none}
.boardViewport.zoomed,.boardViewport.zoomed #board,.boardViewport.zoomed .boardStage{overscroll-behavior:contain;touch-action:none}
.boardViewport.pinching .boardLabels{opacity:1}
.boardLoader{display:none;position:absolute;inset:0;place-items:center;padding:25px;background:#fffdf5f2;color:#493a59;text-align:center;font-weight:900;font-size:17px}
.boardViewport.loading .boardLoader{display:grid}
.loadError{margin-top:12px;padding:18px;border:2px solid #e99ab8;border-radius:20px;background:#fff;color:#602541;box-shadow:var(--shadow)}
.loadError b,.loadError span{display:block}.loadError span{margin-top:5px;font-size:13px}.loadError button{margin-top:12px;min-height:44px;border:0;border-radius:13px;padding:9px 14px;background:#5e2945;color:#fff;font-weight:900}
.panel{position:static;max-height:none;overflow:visible;padding:21px;border-radius:31px;background:#fff;box-shadow:var(--shadow)}
.paletteBlock{scroll-margin-top:12px}.workSummary{margin-top:20px;padding-top:18px;border-top:2px solid var(--line)}
.panel h2{font:900 34px/1 Georgia,serif;margin:0;overflow-wrap:anywhere;hyphens:auto}.by{margin:7px 0 12px;color:var(--muted);font-size:13px}
.modeLine{display:flex;gap:6px;flex-wrap:wrap}.modeTag{padding:7px 10px;border-radius:999px;background:var(--soft);color:#655571;font-size:12px;font-weight:900}
.progressHead{display:flex;justify-content:space-between;margin:14px 0 6px;font-size:14px;font-weight:900}.panel .progress{margin:0}
.gameMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.gameMetrics div{min-width:0;padding:9px 5px;border-radius:14px;background:#f7f1fa;text-align:center}.gameMetrics b{display:block;font-size:17px;line-height:1;color:#453452}.gameMetrics span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.challengeLine{margin:8px 2px 0;color:#745f7f;font-size:12px;line-height:1.4}
.paletteIntro{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:16px 0 12px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#fff4fa,#f0f7ff)}
.activeSwatch{width:60px;height:60px;border:4px solid #fff;border-radius:18px;box-shadow:0 0 0 2px #ddd2e3,0 8px 20px #0002}.paletteIntro b{display:block;font:900 22px Georgia,serif}.paletteIntro small{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.jumpLabel{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:800}.colorJump{width:100%;min-height:46px;border:2px solid var(--line);border-radius:14px;padding:9px 12px;background:#fff;color:var(--ink);font-weight:800}
.paletteNav{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center;margin:10px 0}.paletteNav button{min-height:44px;border:0;border-radius:13px;background:#efe7f5;color:#40334d;font-weight:900}.paletteNav button:disabled{opacity:.35}.paletteNav span{text-align:center;color:#695a74;font-size:12px;font-weight:900}
.palette{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 4px}.swatch{position:relative;min-height:66px;border:4px solid #fff;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 0 0 2px #ece5f1,0 5px 13px #0002}.swatch strong{font-size:17px;line-height:1;color:#fff;text-shadow:0 1px 4px #000,0 0 2px #000}.swatch small{font-size:12px;color:#fff;text-shadow:0 1px 3px #000;font-weight:900}.swatch.selected{box-shadow:0 0 0 4px var(--focus),0 8px 17px #0003;transform:translateY(-1px)}.swatch:disabled{cursor:default;opacity:1}.swatch.done{box-shadow:0 0 0 2px #cfc5d5,0 3px 9px #0002}.swatch.done:after{content:"✓";position:absolute;left:5px;top:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#173d2c;color:#fff;font-size:11px;font-weight:900}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.action{min-height:48px;border:0;border-radius:15px;padding:10px;background:var(--soft);color:#51435f;font-size:13px;font-weight:900}.action.wide{grid-column:1/-1}.autosaveNotice{display:flex;align-items:flex-start;gap:9px;margin:10px 0 0;padding:10px 12px;border:1px solid #dfd6e4;border-radius:14px;background:#f8f4f8;color:#54485c}.autosaveNotice>span:first-child{display:grid;flex:0 0 24px;width:24px;height:24px;place-items:center;border-radius:50%;background:#e7f4ec;color:#245d3d;font-size:13px;font-weight:950}.autosaveNotice b,.autosaveNotice small{display:block}.autosaveNotice b{font-size:12px}.autosaveNotice small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.35}
.soundline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.soundline button{min-width:48px;min-height:44px;border:0;border-radius:12px;background:var(--soft);font-weight:900}.soundControls{display:flex;gap:7px}.soundControls #soundTest{padding-inline:12px}.fact{padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.5}.sourceLink{display:flex;min-height:44px;align-items:center;justify-content:center;margin-top:12px;padding:12px;border-radius:14px;background:#f1eaf5;color:#493958;text-align:center;text-decoration:none;font-size:12px;font-weight:900}
.soundline.compact{margin-top:0;border-top:0;padding-top:4px}
.ambientPicker{display:grid;grid-template-columns:1fr 1.35fr;gap:7px;margin:-3px 0 4px}.ambientPicker button{min-height:44px;border:2px solid transparent;border-radius:13px;padding:8px;background:#f5eff8;color:#63536e;font-size:12px;font-weight:900}.ambientPicker button.active{border-color:#3d2e4b;background:linear-gradient(135deg,#2f2340,#7650c6);color:#fff;box-shadow:0 6px 16px #4d356329}
.boardFocusBar{display:none}
.game.boardFocus{grid-template-rows:auto minmax(0,1fr);background:#fffdf8}
.game.boardFocus .gameTop{display:none}.game.boardFocus .boardFocusBar{z-index:30;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:max(7px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 7px max(8px,env(safe-area-inset-left));background:#24192ff2;color:#fff}
.boardFocusBar button{min-width:44px;min-height:44px;border:0;border-radius:12px;padding:8px 11px;background:#fff;color:#2f2340;font-weight:950}.focusBrush{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden}.focusBrush b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.focusActions{display:flex;gap:6px}.focusActions button{min-width:44px}
.game.boardFocus .gameBody{display:block;width:100%;max-width:none;height:100%;padding:0;overflow:hidden}.game.boardFocus .boardColumn{height:100%}.game.boardFocus .boardInstruction,.game.boardFocus .panel,.game.boardFocus .loadError{display:none}.game.boardFocus .boardShell{height:100%;padding:0;border-radius:0;background:#fffdf8;box-shadow:none}.game.boardFocus .boardViewport{width:100%;height:100%!important;border-radius:0;overflow:auto}.game.boardFocus .boardViewport:not(.zoomed){display:grid;align-items:safe center;justify-items:safe center}.game.boardFocus .boardStage{margin-inline:auto;margin-block:0}
.completeOverlay{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:rgba(39,27,54,.76);backdrop-filter:blur(12px)}
.reveal{position:relative;width:min(760px,96vw);max-height:100%;overflow:auto;padding:18px;border-radius:32px;background:#fff;text-align:center;box-shadow:0 30px 80px #0005}.revealBack{position:sticky;z-index:3;top:0;display:flex;align-items:center;min-height:46px;margin:0 0 10px;border:0;border-radius:15px;padding:10px 14px;background:#2d2536;color:#fff;font-weight:950;box-shadow:0 7px 20px #1e17262f}.revealImg{overflow:hidden;border-radius:22px;background:#eee}.revealImg canvas{display:block;width:100%;max-height:52dvh;object-fit:contain;background:#f7f3ef}.reveal h2{font:900 38px/1 Georgia,serif;margin:16px 0 5px}.reveal p{margin:0 0 14px;color:var(--muted)}.revealStars{margin:4px 0 5px;color:#8a5800;font-size:34px;line-height:1;letter-spacing:.08em;text-shadow:0 2px 8px #ffc83f55}.reveal .revealScore{margin-bottom:15px;font-size:13px;font-weight:800}.revealActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.revealActions button{min-height:50px;border:2px solid #e5dce9;border-radius:16px;padding:11px 14px;background:#f5f0f7;color:#43354f;font-weight:950;opacity:1}.revealActions .primary{border:0;background:linear-gradient(90deg,var(--pink),var(--violet));color:#fff}.revealActions .accent{border:0;background:#2d2536;color:#fff}.revealActions #closeReveal{grid-column:1/-1;background:#e8f3ec;border-color:#bdd7c5;color:#173c28}
.gestureReplay{margin:12px 0 16px;padding:12px;border:1px solid #eadfec;border-radius:18px;background:linear-gradient(135deg,#fff7fb,#f4f7ff)}.gestureReplayHead{display:flex;justify-content:space-between;gap:12px;align-items:baseline;text-align:left;color:#362940}.gestureReplayHead b{font-size:13px}.gestureReplayHead span{font-size:11px;color:#76657d}.gestureReplayTrack{height:7px;overflow:hidden;margin:9px 0;border-radius:999px;background:#eadfec}.gestureReplayTrack span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff4f9f,#ffbe3f,#55d9bf,#7065ff);transition:width .12s linear}.gestureReplayControls{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.gestureReplayControls button{min-height:44px;border:1px solid #e2d6e6;border-radius:11px;background:#fff;color:#44354e;font-size:10px;font-weight:900}.gestureReplayControls button[aria-pressed="true"]{border-color:#3b2948;background:#3b2948;color:#fff}.gestureReplayControls button:disabled{cursor:default;opacity:.58}.gestureReplayControls #revealSkip{background:#f4edf6}
.toast{position:fixed;z-index:200;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px - env(safe-area-inset-left) - env(safe-area-inset-right));padding:11px 16px;border-radius:999px;background:#2c213e;color:#fff;text-align:center;font-size:12px;font-weight:900;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.infoPage{max-width:980px;margin:auto;padding:max(30px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(70px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.infoBack{display:inline-block;margin-bottom:16px;color:#493a58;font-weight:900}.infoPage>article{padding:clamp(22px,5vw,52px);border:1px solid var(--line);border-radius:32px;background:#ffffffeb;box-shadow:var(--shadow)}.infoPage h1{font:900 clamp(45px,8vw,78px)/.95 Georgia,serif;margin:0 0 24px}.infoPage h2{font:900 25px Georgia,serif;margin:30px 0 8px}.infoPage p{color:#5f5368;line-height:1.65}.eyebrowInfo{margin:0 0 10px!important;color:#a33168!important;font-size:11px;font-weight:900;letter-spacing:.15em}.infoNote{margin-top:35px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}.creditsList{display:grid;gap:12px;margin-top:24px}.creditItem{scroll-margin-top:20px;padding:17px;border:1px solid var(--line);border-radius:20px;background:#fff}.creditItem:target{outline:4px solid var(--pink)}.creditItem h2{margin:0 0 5px;font-size:21px}.creditItem p{margin:4px 0;font-size:13px}.creditItem a{color:#513d64;font-weight:850}

@media(max-width:959px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.experienceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.storyCards,.visionCards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .app{padding:9px max(10px,env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.topbar{padding-top:calc(9px + env(safe-area-inset-top));gap:7px}.brand{font-size:24px}.brand small{font-size:8px}.topActions{gap:5px}.topActions .pill{padding:8px 9px;font-size:11px}.pill{min-height:44px;padding:9px 12px;font-size:12px}
  .hero{min-height:345px;padding:31px 19px 24px;border-radius:29px}.hero h1{font-size:clamp(54px,16vw,78px)}.hero p{font-size:16px}.eyebrow{font-size:10px!important}.heroActions{display:grid}.heroActions button{width:100%}
  .stats{grid-template-columns:repeat(2,1fr);gap:9px}.stat{padding:15px}.stat b{font-size:27px}.galleryTools{grid-template-columns:minmax(0,1fr) auto}.galleryTools #resetAll{grid-column:1/-1}.sectionTitle h2{font-size:28px}.gallery{grid-template-columns:1fr;gap:14px}.preview{aspect-ratio:16/10}.meta h3{font-size:20px}
  .siteFooter{grid-template-columns:1fr;padding:19px}.siteFooter nav{justify-content:flex-start}.experienceGrid{grid-template-columns:1fr 1fr}.experienceCard{min-height:150px;padding:16px}.experienceCard b{font-size:18px}
  .gameTop{grid-template-columns:auto 1fr;gap:6px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}.backBtn{min-width:86px}.brushChip{justify-content:flex-end;font-size:12px}.brushDot{width:24px;height:24px}.gameTopActions{grid-column:1/-1;display:grid;grid-template-columns:1fr 44px 44px 1fr 1fr}.gameTopActions button{min-height:44px;padding:7px 5px;font-size:12px}
  .gameBody{padding:8px max(8px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));gap:12px}.boardInstruction{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;padding:7px 8px;font-size:11px}.instructionPrimary{padding:6px 8px;font-size:12px}.focusBoardBtn{min-height:36px;padding:6px 8px;font-size:11px}.boardShell{padding:6px;border-radius:19px}.boardViewport{border-radius:14px}.panel{padding:14px;border-radius:25px}.panel h2{font-size:30px}.palette{grid-template-columns:repeat(4,1fr)}.swatch{min-height:70px}.reveal{padding:11px;border-radius:24px}.reveal h2{font-size:31px}.revealActions{grid-template-columns:1fr}.revealActions #closeReveal{grid-column:auto}
}
@media(max-width:430px){.experienceGrid{grid-template-columns:1fr}.experienceCard{min-height:132px}.experienceCard small{max-width:78%}}
@media(max-width:390px){.topActions .musicButton{max-width:118px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topActions .pill{padding-inline:8px}.gameTop{gap:4px}}
@media(max-width:360px){.palette{grid-template-columns:repeat(3,1fr)}.backBtn{min-width:76px}.galleryTools{grid-template-columns:1fr}.galleryTools #resetAll{grid-column:auto}}
@media(orientation:landscape) and (min-width:560px) and (max-width:959px) and (max-height:500px){
  .gameTop{grid-template-columns:auto minmax(0,1fr) auto;gap:5px;min-height:0;padding-top:max(5px,env(safe-area-inset-top));padding-right:max(7px,env(safe-area-inset-right));padding-bottom:5px;padding-left:max(7px,env(safe-area-inset-left))}
  .gameTop button{min-height:44px;padding:6px 8px;border-radius:12px;font-size:12px}.gameTop .light{min-width:44px}.gameTopActions{grid-column:auto;display:flex;gap:4px}.backBtn{min-width:44px}.brushChip{justify-content:center;overflow:hidden}.brushChip #topBrushText{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.toolbarLabel{display:none}
  .gameBody{overflow:auto;padding:6px max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.boardInstruction{min-height:32px;margin-bottom:5px}.instructionSecondary{display:none}.boardShell{padding:5px}.panel{padding:10px;border-radius:20px}.panel h2{font-size:22px}.modeTag{padding:5px 7px;font-size:10px}.gameMetrics{margin-top:7px}.paletteIntro{margin:0 0 8px}.paletteIntro .activeSwatch{width:46px;height:46px}.paletteIntro b{font-size:18px}.palette{margin-top:8px;grid-template-columns:repeat(6,1fr)}.swatch{min-height:50px}.challengeLine,.jumpLabel,.colorJump,.soundline,.ambientPicker,.fact,.sourceLink{font-size:11px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* MAESTRIA V13 — zoom e stabilità iOS */
body.themeEvening{--ink:#f7f0e5;--muted:#c8bed1;--paper:#1d1822;--soft:#352c3d;--line:#514459;--focus:#f3c96f;background:radial-gradient(circle at 10% 0,#573046 0 8%,transparent 27%),radial-gradient(circle at 92% 9%,#153c46 0 10%,transparent 29%),linear-gradient(145deg,#17131b,#29202e 52%,#142b32);color:var(--ink)}
body.themeEvening .topbar{background:#1d1822e8}body.themeEvening .stat,body.themeEvening .card,body.themeEvening .cardOpen,body.themeEvening .searchWrap,body.themeEvening .siteFooter,body.themeEvening .tab,body.themeEvening .pill{background:#2a2230;color:#f7f0e5}body.themeEvening .meta p,body.themeEvening .siteFooter p,body.themeEvening .sectionTitle span{color:#c8bed1}body.themeEvening .searchWrap input{color:#fff}body.themeEvening .searchWrap input::placeholder{color:#bcaec5}body.themeEvening .tab.active{background:#f1d9a0;color:#271e2d}
body.themeEvening .meta .cardBy{color:#c8bed1}

.sectionEyebrow{margin:0 0 6px;color:#9b3969;font-size:10px;font-weight:950;letter-spacing:.16em}.discovery{margin:28px 0 4px}.discoveryTitle{align-items:end;margin-bottom:14px}.discoveryTitle h2{margin:0}.journeyRail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,1fr);gap:12px;overflow-x:auto;padding:3px 3px 15px;scroll-snap-type:x proximity;scrollbar-width:thin}.journeyCard{position:relative;isolation:isolate;min-height:154px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;scroll-snap-align:start;border:0;border-radius:25px;padding:19px;color:#fff;text-align:left;box-shadow:0 13px 32px #37233a29}.journeyCard:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,#3e2948,#915271)}.journeyCard:after{content:"";position:absolute;z-index:-1;width:150px;height:150px;right:-45px;top:-65px;border:24px solid #ffffff1f;border-radius:50%}.journeyCard span{position:absolute;left:18px;top:16px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #ffffff66;border-radius:50%;font-size:10px;font-weight:950}.journeyCard b{font:900 21px/1.03 Georgia,serif;max-width:210px}.journeyCard small{margin-top:7px;color:#fffde7;font-size:11px;font-weight:750}.journeyCard.landscape:before{background:linear-gradient(145deg,#1f5960,#558b78)}.journeyCard.faces:before{background:linear-gradient(145deg,#7c3d35,#bd7b4e)}.journeyCard.myths:before{background:linear-gradient(145deg,#403a73,#825b96)}.journeyCard.women:before{background:linear-gradient(145deg,#843c61,#d06f86)}.journeyCard.time:before{background:linear-gradient(145deg,#6d542a,#b68a43)}
.galleryTools{grid-template-columns:minmax(0,1fr) minmax(160px,auto) auto auto}.artistSelect select{height:50px;min-width:176px;border:0;border-radius:17px;padding:0 36px 0 13px;background:#fff;color:#574961;font-size:12px;font-weight:850;box-shadow:0 8px 24px rgba(70,43,91,.09)}.atelierGoals{margin-top:38px}.goalGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.goal{position:relative;min-height:132px;padding:17px;border:1px solid #fff;border-radius:24px;background:#ffffffc9;box-shadow:0 10px 28px #452d5614}.goal span{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:#eee6f1;color:#604b70;font:900 15px Georgia,serif}.goal b,.goal small{display:block}.goal b{margin-top:17px;font:900 17px/1 Georgia,serif}.goal small{margin-top:6px;color:var(--muted);font-size:11px}.goal.earned{border-color:#b78431;background:linear-gradient(145deg,#fffaf0,#f5e7bd)}.goal.earned span{background:#5b3e15;color:#fff}.goal.earned:after{content:"RAGGIUNTO";position:absolute;right:13px;top:15px;color:#8b621e;font-size:8px;font-weight:950;letter-spacing:.12em}body.themeEvening .artistSelect select,body.themeEvening .goal{background:#2a2230;color:#f7f0e5}body.themeEvening .goal.earned{background:linear-gradient(145deg,#4d3b22,#322b31)}

.game{--dock-height:112px;grid-template-rows:minmax(0,1fr) auto;background:#f4f0e8;color:#2b2430}.gameCanvasArea{position:relative;min-width:0;min-height:0;overflow:hidden}.gameTop{position:absolute;z-index:40;inset:0 0 auto;top:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;min-height:0;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));border:0;background:linear-gradient(180deg,#f4f0e8e8 0,#f4f0e8b8 55%,transparent);backdrop-filter:none;pointer-events:none}.gameTop>*{pointer-events:auto}.gameTop .brushChip{pointer-events:none}.gameTop button,.floating{min-width:46px;min-height:46px;border:1px solid #ffffffcc;border-radius:17px;padding:9px 12px;background:#2d2536;color:#fff;font-size:12px;font-weight:950;box-shadow:0 7px 22px #281e3230}.gameTop .floating:not(.backBtn){background:#fffdf9;color:#33293d}.gameTop .compactControl{width:46px;padding:0;font-size:19px}.gameTopActions{display:flex;justify-content:flex-end;gap:6px}.brushChip{align-self:start;justify-self:center;min-height:46px;padding:7px 13px;border:1px solid #ffffffcc;border-radius:17px;background:#fffdf9de;color:#382e42;box-shadow:0 7px 22px #281e3224;backdrop-filter:blur(12px)}.brushDot{width:25px;height:25px;border-radius:8px}.gameBody{display:block;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}.boardColumn{height:100%;min-height:0}.boardInstruction{position:absolute;z-index:35;left:50%;top:calc(max(10px,env(safe-area-inset-top)) + 58px);width:auto;max-width:min(620px,calc(100% - 24px));min-height:44px;margin:0;display:flex;padding:5px 6px 5px 10px;border:1px solid #ffffffcc;border-radius:16px;background:#2d2536e8;color:#fff;box-shadow:0 8px 24px #281e3230;backdrop-filter:blur(12px);transform:translateX(-50%);pointer-events:none}.instructionPrimary{padding:5px 8px;border-radius:10px;font-size:12px}.instructionSecondary{font-size:11px;white-space:nowrap}.focusBoardBtn{min-height:44px;padding:5px 9px;border-radius:10px;font-size:11px;pointer-events:auto}.boardShell{height:100%;min-height:0;padding:0;border-radius:0;background:#f4f0e8;box-shadow:none}.boardViewport{width:100%;height:100%!important;min-height:0;overflow:auto;border-radius:0;background:#fffdf8;overscroll-behavior:contain;scrollbar-width:none;display:flex!important;align-items:flex-start;justify-content:flex-start;touch-action:none;overflow-anchor:none}.boardViewport::-webkit-scrollbar{display:none}.boardStage,.boardViewport:not(.zoomed) .boardStage,.boardViewport.zoomed .boardStage{flex:0 0 auto;margin:auto!important}.boardLabel{color:#514a55;font-family:ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-weight:800;letter-spacing:0;filter:none}.boardLabel.selected{z-index:5;color:#24152d;font-weight:950;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #fff)}.boardLoader{z-index:10;background:#fffdf8f2;color:#44354d}.loadError{position:absolute;z-index:45;left:50%;top:50%;width:min(430px,calc(100% - 28px));margin:0;transform:translate(-50%,-50%)}

.paletteDock{position:relative;z-index:55;min-width:0;min-height:var(--dock-height);padding:6px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid #ddd4de;background:#fbf9f5f2;box-shadow:0 -12px 36px #2e24342b;backdrop-filter:blur(18px)}.dockProgress{height:20px;display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:9px;color:#64586d;font-size:10px;font-weight:900}.dockProgress .progress{height:5px;margin:0;background:#e9e1eb}.paletteDockRow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px}.paletteDock .paletteIntro{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;min-width:122px;margin:0;padding:4px 8px 4px 4px;border-radius:20px;background:#eee7ed}.paletteDock .activeSwatch{width:54px;height:54px;border-radius:17px}.paletteDock .paletteIntro b{font:900 15px/1 Georgia,serif}.paletteDock .paletteIntro small{max-width:68px;margin-top:3px;font-size:10px}.paletteDock .palette{min-width:0;display:flex;align-items:center;gap:9px;overflow-x:auto;overflow-y:hidden;margin:0;padding:7px 7px 8px;scroll-snap-type:x proximity;scrollbar-width:none}.paletteDock .palette::-webkit-scrollbar{display:none}.paletteDock .swatch{flex:0 0 58px;width:58px;min-height:58px;height:58px;scroll-snap-align:center;border:3px solid #fff;border-radius:19px;gap:2px;box-shadow:0 0 0 1px #d8cedd,0 5px 13px #271f3024;transition:transform .16s,box-shadow .16s,opacity .16s}.paletteDock .swatch strong{font-size:17px}.paletteDock .swatch small{font-size:9px}.paletteDock .swatch.selected{z-index:2;box-shadow:0 0 0 4px #382846,0 8px 20px #291e353d;transform:translateY(-4px)}.paletteDock .swatch.done{display:none}.paletteDock .paletteNav{display:none!important}

.detailsBackdrop{position:fixed;z-index:70;inset:0;width:100%;height:100%;border:0;background:#1f17264d;backdrop-filter:blur(3px)}.detailsSheet{position:fixed;z-index:80;left:50%;bottom:0;width:min(680px,100%);max-height:min(78dvh,760px);overflow:auto;padding:8px 22px calc(24px + env(safe-area-inset-bottom));border-radius:29px 29px 0 0;background:#fff;box-shadow:0 -24px 80px #251a303d;transform:translate(-50%,110%);transition:transform .24s ease;overscroll-behavior:contain}.game.detailsOpen .detailsSheet{transform:translate(-50%,0)}.sheetHandle{width:46px;height:5px;margin:2px auto 8px;border-radius:9px;background:#d8ceda}.sheetHead{position:sticky;z-index:3;top:-8px;display:flex;align-items:center;justify-content:space-between;margin:0 -5px;padding:6px 5px 10px;background:#fff;font-size:12px;font-weight:950}.sheetHead button{width:44px;height:44px;border:0;border-radius:15px;background:#eee8f1;color:#3c3047;font-size:24px}.detailsSheet .workSummary{margin:0;padding:0;border:0}.detailsSheet h2{font:900 clamp(28px,6vw,42px)/1 Georgia,serif}.sheetSection{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}

.game.boardFocus{grid-template-rows:minmax(0,1fr) auto;background:#fffdf8}.game.boardFocus .gameCanvasArea{min-height:0}.game.boardFocus .gameTop{display:none}.game.boardFocus .boardFocusBar{position:absolute;z-index:45;inset:0 0 auto;display:grid;padding:max(8px,env(safe-area-inset-top)) max(9px,env(safe-area-inset-right)) 7px max(9px,env(safe-area-inset-left));background:linear-gradient(180deg,#2d2536e8,transparent);pointer-events:none}.game.boardFocus .boardFocusBar>*{pointer-events:auto}.game.boardFocus .boardFocusBar .focusBrush{pointer-events:none}.game.boardFocus .gameBody{height:100%;display:block}.game.boardFocus .boardColumn,.game.boardFocus .boardShell,.game.boardFocus .boardViewport{height:100%!important}.game.boardFocus .panel,.game.boardFocus .boardInstruction,.game.boardFocus .loadError{display:none}.game.boardFocus .paletteDock{display:block}.game.boardFocus .boardShell{background:#fffdf8}.game.boardFocus .boardViewport{display:flex!important;align-items:flex-start;justify-content:flex-start}.focusActions button,.boardFocusBar button{box-shadow:0 5px 17px #24192f33}.toast{bottom:calc(var(--dock-height) + 18px + env(safe-area-inset-bottom))}

@media(max-width:800px){.discoveryTitle{align-items:start;flex-direction:column}.discoveryTitle span{display:none}.journeyRail{grid-auto-columns:minmax(225px,78vw)}.galleryTools{grid-template-columns:minmax(0,1fr) auto}.galleryTools .artistSelect{grid-column:1/-1}.artistSelect select{width:100%}.goalGrid{grid-template-columns:repeat(2,1fr)}.topActions{flex-wrap:wrap}.storyCards,.visionCards{grid-template-columns:1fr}.storyCard,.visionCard{min-height:370px}.storyDialogIntro{grid-template-columns:1fr}.storyDialogIntro img{max-height:260px}.gameTop{grid-template-columns:auto 1fr}.brushChip{display:none}.gameTopActions{grid-column:2;display:flex}.toolbarLabel{display:none}.gameTop button{padding:0;width:46px}.backBtn{min-width:46px}.boardInstruction{top:calc(max(10px,env(safe-area-inset-top)) + 57px)}.instructionSecondary{display:none}.paletteDock .paletteIntro{min-width:76px}.paletteDock .paletteIntro>span:last-child{display:none}}
@media(max-width:430px){.game{--dock-height:105px}.gameTop{gap:5px;padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right))}.gameTopActions{gap:4px}.gameTop button{width:44px;min-width:44px;min-height:44px;border-radius:15px}.gameTopActions #nextColorTop{display:none}.boardInstruction{top:calc(max(7px,env(safe-area-inset-top)) + 52px)}.paletteDock{padding-top:4px}.dockProgress{height:17px}.paletteDockRow{gap:5px}.paletteDock .activeSwatch{width:50px;height:50px}.paletteDock .swatch{flex-basis:55px;width:55px;height:55px;min-height:55px}.detailsSheet{padding-inline:16px;max-height:min(92dvh,var(--visual-viewport-height,92dvh))}.topActions #themeToggle{display:none}.game.boardFocus .boardFocusBar{grid-template-columns:auto 1fr}.game.boardFocus .focusBrush{display:none}.focusActions{justify-content:flex-end}}
@media(orientation:landscape) and (min-width:560px) and (max-height:560px){.game{--dock-height:76px}.paletteDock{min-height:var(--dock-height);padding-top:3px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.dockProgress{display:none}.paletteDockRow{height:62px}.paletteDock .paletteIntro{min-width:66px;padding:2px}.paletteDock .activeSwatch{width:48px;height:48px}.paletteDock .swatch{flex-basis:50px;width:50px;height:50px;min-height:50px;border-radius:16px}.paletteDock .swatch strong{font-size:15px}.paletteDock .swatch small{display:none}.gameTop{grid-template-columns:auto 1fr;padding-top:max(5px,env(safe-area-inset-top))}.gameTopActions{grid-column:2;display:flex}.gameTop button{width:44px;min-width:44px;min-height:44px;border-radius:14px;padding:0}.brushChip{display:none}.toolbarLabel{display:none}.boardInstruction{left:max(7px,env(safe-area-inset-left));top:calc(max(5px,env(safe-area-inset-top)) + 49px);min-height:44px;padding-block:3px;transform:none}.instructionSecondary{display:none}.focusBoardBtn{min-height:44px}.detailsSheet{max-height:min(92dvh,var(--visual-viewport-height,92dvh))}}

/* V15.2 — barre e legenda occupano spazio reale: mai sopra la tavola */
.game .gameCanvasArea{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden}
.game .gameTop{position:relative;inset:auto;z-index:40;align-self:stretch;background:#f4f0e8;border-bottom:1px solid #ded5df;box-shadow:0 5px 18px #281e321f;pointer-events:auto}
.game .gameBody{height:auto;min-height:0;overflow:hidden}
.game .boardColumn{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0}
.game .boardInstruction{position:relative;inset:auto;left:auto;top:auto;width:100%;max-width:none;min-height:44px;margin:0;border-width:0 0 1px;border-radius:0;padding:6px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));box-shadow:none;transform:none;backdrop-filter:none}
.game .boardShell{height:auto;min-height:0}
.game.boardFocus .gameCanvasArea{display:grid;grid-template-rows:auto auto minmax(0,1fr)}
.game.boardFocus .boardFocusBar{position:relative;inset:auto;z-index:45;align-self:stretch;background:#f4f0e8;color:#2d2536;border-bottom:1px solid #ded5df;box-shadow:0 5px 18px #281e321f;pointer-events:auto}
.game.boardFocus .boardColumn{grid-template-rows:minmax(0,1fr)}
.game.boardFocus .gameBody,.game.boardFocus .boardColumn,.game.boardFocus .boardShell,.game.boardFocus .boardViewport{min-height:0;height:100%!important}
@media(prefers-reduced-motion:reduce){.detailsSheet,.paletteDock .swatch{transition:none!important}}

/* V15.3 — ricerca zona evidente e comandi coerenti */
@keyframes hintPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.34)}}
.boardLabel.hinted{z-index:8!important;color:#fff!important;background:#5a257b!important;border-color:#fff!important;box-shadow:0 0 0 5px #ffdf59,0 0 0 10px #5a257b80!important;animation:hintPulse .62s ease-in-out 4}
#nextColorTop{display:none!important}
.gameTopActions #hintBtn,.focusActions #focusHintBtn{background:#5a257b;color:#fff;border-color:#5a257b}
#hintBtn.locating,#instructionHintBtn.locating,#focusHintBtn.locating,#findBtn.locating{outline:4px solid #ffdf59;outline-offset:2px}
@media(max-width:800px){
  .game .gameTop{grid-template-columns:auto minmax(0,1fr)}
  .game .brushChip{display:none}
  .game .gameTopActions{grid-column:2;display:grid;grid-template-columns:repeat(5,44px);justify-content:end}
  .game.boardFocus .focusBrush{display:none}
  .game.boardFocus .boardFocusBar{grid-template-columns:auto minmax(0,1fr)}
  .game.boardFocus .focusActions{grid-column:2;justify-content:end}
}
@media(max-width:430px){.game.boardFocus #focusFitBoard{display:none}}
@media(orientation:landscape){.game .boardViewport{scroll-padding-left:max(12px,env(safe-area-inset-left));scroll-padding-right:max(12px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){.boardLabel.hinted{animation:none!important}}

/* V15.4 — “Cerca N” è un comando reale per ogni colore */
.game .instructionPrimary{appearance:none;min-height:44px;border:0;pointer-events:auto;cursor:pointer;box-shadow:0 2px 8px #0002;transition:transform .14s,box-shadow .14s}
.game .instructionPrimary:active{transform:scale(.96);box-shadow:0 1px 3px #0002}
.game .instructionPrimary:focus-visible{outline:4px solid #ffdf59;outline-offset:2px}
.colorJumpRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.colorJumpRow #colorJumpBtn{min-width:86px;border:0;border-radius:16px;padding:0 16px;background:#5a257b;color:#fff;font-weight:950}
@media(orientation:landscape){.game .boardShell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#f4f0e8}.game.boardFocus .boardShell{background:#fffdf8}}
@media(max-width:430px){.app .topbar{display:grid;grid-template-columns:minmax(0,1fr)}.app .topActions{width:100%;justify-content:flex-start}.app .topActions #themeToggle{display:inline-flex;align-items:center}}
@media(max-width:350px){.game.boardFocus #exitBoardFocus,.game.boardFocus #focusColors{width:44px;min-width:44px;padding:0;font-size:0}.game.boardFocus #exitBoardFocus:before{content:'←';font-size:20px}.game.boardFocus #focusColors:before{content:'↓';font-size:20px}.game.boardFocus .focusActions{gap:4px}}

/* MAESTRIA V16 — atelier, museo, atlante e accessibilità */
.studioControls{margin:26px 0 34px;padding:20px;border:1px solid #fff;border-radius:30px;background:#ffffffc9;box-shadow:0 13px 36px #3a284515}.studioControls .sectionTitle{margin:0 0 14px}.modePicker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.modePicker button{min-height:78px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border:2px solid transparent;border-radius:20px;padding:13px 15px;background:#f3edf5;color:#4e3e5a;text-align:left}.modePicker button b{font:900 18px/1 Georgia,serif}.modePicker button small{margin-top:6px;color:#75677d;font-size:11px;line-height:1.3}.modePicker button[aria-pressed="true"]{border-color:#362541;background:linear-gradient(145deg,#34243f,#714a84);color:#fff;box-shadow:0 9px 22px #3b27472e}.modePicker button[aria-pressed="true"] small{color:#fff}.quickAccess{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.quickAccess button{min-height:44px;border:1px solid #e3d8e6;border-radius:14px;padding:9px 12px;background:#fff;color:#584864;font-size:12px;font-weight:850}.quickAccess button[aria-pressed="true"]{background:#2e2539;color:#fff;border-color:#2e2539}.experienceGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.experienceCard.museum:before{background:linear-gradient(145deg,#4a2c27,#9e6848)}.experienceCard.atlas:before{background:linear-gradient(145deg,#243751,#476a94)}
.game{height:var(--visual-viewport-height,100dvh)}.paletteDockRow{grid-template-columns:auto auto minmax(0,1fr)}.allColorsBtn{align-self:center;min-width:58px;min-height:54px;border:0;border-radius:17px;padding:6px;background:#fff;color:#493a57;font-size:10px;font-weight:950;line-height:1.1;box-shadow:0 0 0 1px #ddd4df,0 5px 13px #291f3320}.compactMode{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#685971;font-size:12px;font-weight:900}.miniModePicker{display:flex;gap:5px}.miniModePicker button{min-height:40px;border:0;border-radius:11px;padding:7px 10px;background:#eee7f2;color:#5b4a67;font-size:11px;font-weight:900}.miniModePicker button[aria-pressed="true"]{background:#352741;color:#fff}.mysteryTrail{margin-top:15px;padding:14px;border-radius:18px;background:linear-gradient(145deg,#2d2238,#584069);color:#fff}.mysteryTrail h3{margin:0 0 10px;font:900 18px Georgia,serif}.mysteryTrail ol{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0;padding:0;list-style:none}.mysteryTrail li{min-width:0;padding:9px;border:1px solid #ffffff2e;border-radius:13px;background:#ffffff10}.mysteryTrail li b,.mysteryTrail li span{display:block}.mysteryTrail li b{font-size:11px;color:#f3d978}.mysteryTrail li span{margin-top:4px;font-size:10px;line-height:1.3}.mysteryTrail li.unlocked{background:#fff;color:#392b46}.mysteryTrail li.unlocked b{color:#7b5320}.game.modeRelax .gameMetrics,.game.modeStudy .gameMetrics{display:none}.game.modeRelax .challengeLine:before{content:'Relax · aiuti liberi e nessuna penalità.'}.game.modeStudy .challengeLine:before{content:'Studio · contesto, fonte e tinte sempre consultabili.'}.game.modeRelax .challengeLine,.game.modeStudy .challengeLine{font-size:0}.game.modeRelax .challengeLine:before,.game.modeStudy .challengeLine:before{font-size:12px}
.appDialog{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.dialogBackdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:#1d152572;backdrop-filter:blur(8px)}.dialogCard{position:relative;width:min(920px,100%);max-height:min(92dvh,var(--visual-viewport-height,92dvh));overflow:auto;overscroll-behavior:contain;border-radius:30px;padding:22px;background:#fffdf9;color:#2e2437;box-shadow:0 28px 90px #160f1f66}.dialogCard>header{position:sticky;z-index:5;top:-22px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:-3px -3px 15px;padding:7px 3px 12px;background:#fffdf9f4;backdrop-filter:blur(14px)}.dialogCard>header h2{margin:0;font:900 clamp(31px,6vw,50px)/1 Georgia,serif}.dialogCard>header>button{flex:0 0 auto;width:46px;height:46px;border:0;border-radius:15px;background:#ede5ef;color:#3b2e47;font-size:24px}.dialogCard h3{font:900 21px Georgia,serif}.dialogIntro,.dialogNote{color:#75677d;font-size:13px;line-height:1.5}.settingsCard{width:min(690px,100%)}.settingsCard>h3{margin:20px 0 9px}.dialogModes button{min-height:67px}.settingList{display:grid;gap:8px}.settingList>button{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e5dce7;border-radius:17px;padding:10px 13px;background:#fff;color:#453750;text-align:left}.settingList span,.settingList b,.settingList small{display:block}.settingList small{margin-top:3px;color:#776a80;font-size:11px}.settingList i{position:relative;flex:0 0 48px;width:48px;height:28px;border-radius:999px;background:#d9d0dd}.settingList i:after{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0002;transition:transform .18s}.settingList button[aria-pressed="true"] i{background:#5d3870}.settingList button[aria-pressed="true"] i:after{transform:translateX(20px)}
.settingList button[data-pref-toggle="haptics"][aria-disabled="true"],.quickAccess button[data-pref-toggle="haptics"][aria-disabled="true"]{opacity:.68;cursor:help}
.museumComposer{display:grid;grid-template-columns:minmax(0,1fr) 170px auto;gap:9px;align-items:end}.museumComposer label,.atlasSelectors label{display:grid;gap:5px;color:#685b70;font-size:11px;font-weight:900}.museumComposer input,.museumComposer select,.atlasSelectors select{width:100%;min-height:48px;border:2px solid #e6dce8;border-radius:14px;padding:8px 12px;background:#fff;color:#30243a;font-weight:800}.museumComposer>button,.atlasCompare{min-height:48px;border:0;border-radius:14px;padding:9px 15px;background:#402c4e;color:#fff;font-weight:900}.selectionCount{margin:14px 0 8px;color:#66596f;font-size:12px;font-weight:900}.museumPicker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.museumChoice{position:relative;min-width:0;overflow:hidden;border:3px solid transparent;border-radius:17px;padding:0;background:#f2edf3;color:#392d43;text-align:left}.museumChoice img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.museumChoice span{display:block;overflow:hidden;padding:8px;font-size:11px;font-weight:900;white-space:nowrap;text-overflow:ellipsis}.museumChoice[aria-pressed="true"]{border-color:#5b376c;box-shadow:0 0 0 2px #fff inset}.museumChoice[aria-pressed="true"]:after{content:'✓';position:absolute;right:7px;top:7px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#4f2e61;color:#fff;font-weight:950}.museumEmpty{grid-column:1/-1;padding:28px;border-radius:20px;background:#f4eef5;text-align:center;color:#6f6277}.savedExhibitions{margin-top:23px;padding-top:17px;border-top:1px solid #e8e0e9}.exhibitionItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;margin-top:8px;padding:10px 12px;border-radius:15px;background:#f3edf5}.exhibitionItem b,.exhibitionItem small{display:block}.exhibitionItem small{margin-top:3px;color:#74677d}.exhibitionItem button{min-height:42px;border:0;border-radius:11px;padding:8px 11px;background:#fff;color:#483752;font-weight:900}.exhibitionItem .deleteExhibition{color:#862d4b}.exhibitionStage{width:min(760px,100%)}.exhibitionStage[data-theme="night"]{background:#1e1925;color:#fff}.exhibitionStage[data-theme="matter"]{background:#e9dfcd}.exhibitionStage[data-theme="color"]{background:linear-gradient(145deg,#ffe1ec,#ecf9ff)}.exhibitionStage figure{margin:0}.exhibitionStage figure img{display:block;width:100%;max-height:62dvh;object-fit:contain;border-radius:20px;background:#eee}.exhibitionStage figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:11px}.exhibitionStage figcaption span{color:#74677c;font-size:12px}.viewerControls{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:13px}.viewerControls button{min-height:44px;border:0;border-radius:13px;padding:8px 12px;background:#493655;color:#fff;font-weight:900}.viewerControls span{text-align:center;font-weight:900}
.atlasCard{width:min(930px,100%)}.atlasSelectors{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr);align-items:end;gap:9px}.atlasSelectors>button{height:48px;border:0;border-radius:14px;background:#ede6f0;color:#4c3a58;font-size:20px;font-weight:900}.atlasCompare{display:block;margin:12px auto 2px}.atlasResults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px}.atlasWork{padding:14px;border:1px solid #e8dfea;border-radius:21px;background:#faf6fb}.atlasWork h3{margin:0}.atlasWork>p{margin:4px 0 12px;color:#75687d;font-size:11px}.atlasBand{display:flex;height:36px;overflow:hidden;border-radius:12px;box-shadow:0 0 0 1px #0001}.atlasBand span{min-width:3px}.atlasColors{display:grid;gap:5px;margin-top:10px}.atlasColor{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:11px}.atlasColor i{width:32px;height:32px;border:2px solid #fff;border-radius:10px;box-shadow:0 0 0 1px #0002}.atlasColor b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.atlasColor span{color:#75687d}.atlasSummary{margin-top:10px;padding:10px;border-radius:13px;background:#eee7f1;color:#5c4c66;font-size:11px;line-height:1.45}
.colorsCard{width:min(860px,100%)}.allColorsGrid{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:9px;margin-top:14px}.allColorChoice{position:relative;min-height:66px;border:4px solid #fff;border-radius:16px;box-shadow:0 0 0 2px #e2d9e5;color:#fff;text-shadow:0 1px 4px #000;font-weight:950}.allColorChoice small{display:block;margin-top:3px;font-size:9px}.allColorChoice.selected{box-shadow:0 0 0 4px #35243f}.allColorChoice.done:after{content:'✓';position:absolute;right:5px;top:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#183e2d;color:#fff;text-shadow:none}.revealActions{grid-template-columns:repeat(2,minmax(0,1fr))}.revealActions button{min-height:48px}
body.a11yLargeNumbers .boardLabel{font-weight:950!important}body.a11yLargeNumbers .paletteDock .swatch strong{font-size:20px}body.a11yHighContrast .boardLabel{color:#130d18!important;-webkit-text-stroke-color:#fff!important;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #fff)!important}body.a11yHighContrast .boardLabel.selected{background:#fff;border:2px solid #33183f;border-radius:12px}body.a11yHighContrast .boardShell{filter:contrast(1.12)}body.a11yReducedMotion *,body.a11yReducedMotion *:before,body.a11yReducedMotion *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.appDialog[hidden]+*{visibility:visible}body.themeEvening .studioControls,body.themeEvening .dialogCard{background:#2a2230;color:#f7f0e5}body.themeEvening .dialogCard>header{background:#2a2230f2}body.themeEvening .quickAccess button,body.themeEvening .settingList>button,body.themeEvening .museumComposer input,body.themeEvening .museumComposer select,body.themeEvening .atlasSelectors select{background:#352c3d;color:#fff;border-color:#514459}body.themeEvening .atlasWork,body.themeEvening .exhibitionItem{background:#352c3d;color:#fff}
@media(max-width:800px){.experienceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.studioControls{padding:15px}.studioControls .sectionTitle{align-items:flex-start;flex-direction:column}.studioControls .sectionTitle>span{display:none}.museumPicker{grid-template-columns:repeat(3,minmax(0,1fr))}.museumComposer{grid-template-columns:1fr 1fr}.museumComposer>button{grid-column:1/-1}.allColorsGrid{grid-template-columns:repeat(4,minmax(66px,1fr))}.topActions>*:not(#continueTop):not(#settingsBtn){display:none!important}.topActions{flex-wrap:nowrap}.topActions #settingsBtn{width:46px;overflow:hidden;padding:0;font-size:0}.topActions #settingsBtn:before{content:'⚙';font-size:18px}.app .topbar{grid-template-columns:minmax(0,1fr) auto}.app .topActions{width:auto;justify-content:flex-end}}
@media(max-width:520px){.studioControls{margin-top:18px}.modePicker{grid-template-columns:1fr}.modePicker button{min-height:60px}.quickAccess{display:grid;grid-template-columns:1fr 1fr}.quickAccess button{font-size:10px}.experienceGrid{grid-template-columns:1fr}.experienceCard{min-height:142px}.paletteDockRow{grid-template-columns:auto minmax(0,1fr)}.paletteDock .allColorsBtn{grid-column:1}.paletteDock .palette{grid-column:2;grid-row:1/3}.paletteDock .paletteIntro{grid-column:1;grid-row:1}.allColorsBtn{grid-column:1;grid-row:2;min-height:30px;height:30px;font-size:9px}.paletteDock .activeSwatch{width:45px;height:45px}.museumPicker{grid-template-columns:repeat(2,minmax(0,1fr))}.atlasSelectors{grid-template-columns:1fr 44px 1fr}.atlasResults{grid-template-columns:1fr}.allColorsGrid{grid-template-columns:repeat(3,minmax(64px,1fr))}.mysteryTrail ol{grid-template-columns:1fr}.dialogCard{padding:17px;border-radius:24px}.dialogCard>header{top:-17px}.revealActions{grid-template-columns:1fr}.gestureReplayHead{display:block}.gestureReplayHead span{display:block;margin-top:3px}.gestureReplayControls{grid-template-columns:repeat(3,minmax(0,1fr))}.gestureReplayControls #revealSkip{grid-column:3}.exhibitionStage figcaption{display:block}.exhibitionStage figcaption span{display:block;margin-top:4px}}
@media(orientation:landscape) and (max-height:560px){.paletteDockRow{grid-template-columns:auto auto minmax(0,1fr)}.paletteDock .paletteIntro,.paletteDock .allColorsBtn,.paletteDock .palette{grid-column:auto;grid-row:auto}.allColorsBtn{height:50px;min-height:50px}.appDialog{padding:7px}.dialogCard{max-height:96dvh;padding:14px}.dialogCard>header{top:-14px}.museumPicker{grid-template-columns:repeat(5,minmax(0,1fr))}}
.settingsAudio{padding:12px;border-radius:19px;background:#f4eef6}.settingsAudio .ambientPicker{margin:0}.settingsAudioActions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}.settingsAudioActions button{min-height:44px;border:0;border-radius:13px;padding:8px;background:#fff;color:#554260;font-size:11px;font-weight:900}.settingsAudioActions button[aria-pressed="true"]{background:#392947;color:#fff}body.themeEvening .settingsAudio{background:#352c3d}body.themeEvening .settingsAudioActions button{background:#493b52;color:#fff}

/* V16 — hardening responsivo: safe area, dock, bordi della tavola e contrasto */
.toast{
  z-index:500;
  bottom:calc(var(--dock-height,112px) + 18px + env(safe-area-inset-bottom,0px));
}
.gameCanvasArea{grid-row:1;min-height:0}
.paletteDock{grid-row:2;isolation:isolate;min-height:var(--dock-height,112px)}

/* Il margine libero mantiene leggibili anche i numeri centrati sul contorno esterno. */
.game .boardLabels{overflow:visible}
.game .boardViewport:not(.zoomed) .boardStage{max-width:calc(100% - 48px)}
.game .boardViewport.zoomed .boardStage{margin:24px!important}
.game .boardViewport{scroll-padding:24px}

/* Il testo della modalità viene scritto da JavaScript: niente duplicati pseudo-elemento. */
.game.modeRelax .challengeLine,.game.modeStudy .challengeLine{font-size:12px!important}
.game.modeRelax .challengeLine:before,.game.modeStudy .challengeLine:before{content:none!important;font-size:inherit}

/* Notturna: titoli e testi secondari restano leggibili in tutti i dialoghi. */
body.themeEvening .dialogCard h1,
body.themeEvening .dialogCard h2,
body.themeEvening .dialogCard h3{color:#fff8ed}
body.themeEvening .dialogIntro,
body.themeEvening .dialogNote,
body.themeEvening .dialogCard .settingList small,
body.themeEvening .dialogCard .selectionCount,
body.themeEvening .dialogCard .museumComposer label,
body.themeEvening .dialogCard .atlasSelectors label,
body.themeEvening .dialogCard .atlasWork>p,
body.themeEvening .dialogCard .atlasColor span,
body.themeEvening .dialogCard .exhibitionItem small,
body.themeEvening .dialogCard .exhibitionStage figcaption span{color:#ded3e2}
body.themeEvening .dialogCard .atlasSummary,
body.themeEvening .dialogCard .museumEmpty{background:#403448;color:#f3eaf5}
body.themeEvening .dialogCard>header>button{background:#493c52;color:#fff}
body.themeEvening .storyDialogIntro p,body.themeEvening .storyDialogIntro #storyDialogSubtitle{color:#eee5f0}
body.themeEvening .storyChapterChoice{border-color:#66566f;background:#3a3042;color:#fff8ed}
body.themeEvening .storyChapterChoice small{color:#e1d6e5}
body.themeEvening .storyChapterChoice.done{background:#29443a}
body.themeEvening .storyChapterText{background:linear-gradient(135deg,#3a3042,#302b43)}
body.themeEvening .storyChapterText>p:last-of-type{color:#f0e7f2}
body.themeEvening .storyEpilogue,body.themeEvening .storyAfter{border-color:#6b5b62;background:#3d342d;color:#fff8ed}
body.themeEvening .storyEpilogue p,body.themeEvening .storyAfter p{color:#f1e7dc}
body.themeEvening .storyAccuracy{border-color:#5e5066;color:#e9deec}
.exhibitionStage[data-theme="night"]>header{background:#1e1925f4;color:#fff}
.exhibitionStage[data-theme="night"]>header>button{background:#3d3247;color:#fff}

/* In orizzontale il bordo utile non scende mai a zero, con o senza notch. */
@media(orientation:landscape){
  .game .boardShell{
    padding-left:max(8px,env(safe-area-inset-left,0px));
    padding-right:max(8px,env(safe-area-inset-right,0px));
  }
  .appDialog{
    padding-top:max(7px,env(safe-area-inset-top,0px));
    padding-right:max(7px,env(safe-area-inset-right,0px));
    padding-bottom:max(7px,env(safe-area-inset-bottom,0px));
    padding-left:max(7px,env(safe-area-inset-left,0px));
  }
}

/* iPhone landscape (812–932 px): due azioni essenziali, nessun overflow. */
@media(orientation:landscape) and (min-width:801px) and (max-width:959px){
  .app .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .app .brand{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:25px}
  .app .topActions{width:auto;min-width:0;flex-wrap:nowrap;gap:6px}
  .app .topActions>*:not(#continueTop):not(#settingsBtn){display:none!important}
  .app .topActions #continueTop{min-width:92px;min-height:44px;padding:8px 12px}
  .app .topActions #settingsBtn{width:46px;min-width:46px;min-height:44px;overflow:hidden;padding:0;font-size:0}
  .app .topActions #settingsBtn:before{content:'⚙';font-size:18px}
}

@media(max-width:800px){
  .app .topActions #settingsBtn:before{content:'⚙';font-size:18px}
  .miniModePicker button{min-height:44px}
}

@media(max-width:520px){
  :root{--dock-height:120px}
  .game{--dock-height:120px}
  .allColorsBtn{height:44px;min-height:44px}
}

@media(orientation:landscape) and (max-height:560px){
  :root{--dock-height:76px}
  .game{--dock-height:76px}
  .game .gameTop{min-width:0;gap:5px}
  .game .gameTopActions{min-width:0;grid-template-columns:repeat(5,44px);justify-content:end;gap:4px}
  .game .gameTopActions button,.game .backBtn{width:44px;min-width:44px;min-height:44px;padding:0}
  .game .toolbarLabel{display:none}
  .paletteDockRow{min-width:0}
  .paletteDock .palette{min-width:0}
}

/* V22 — Bussola curatoriale, filtri d'impegno ed Echi dell'opera. */
.curatorCompass{position:relative;overflow:hidden;margin:34px 0;padding:clamp(20px,3vw,34px);border:1px solid #d9cde0;border-radius:34px;background:linear-gradient(135deg,#2d2038 0%,#513363 55%,#945070 130%);color:#fff;box-shadow:0 20px 52px #3a24442d}
.curatorCompass:after{content:"";position:absolute;right:-110px;top:-150px;width:320px;height:320px;border:70px solid #ffffff0d;border-radius:50%;pointer-events:none}
.curatorCompass .sectionTitle{position:relative;z-index:1;margin:0 0 22px}.curatorCompass .sectionTitle h2{color:#fff}.curatorCompass .sectionTitle>span,.curatorCompass .sectionEyebrow{color:#f3ccde}
.compassControls{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:12px}.compassControls fieldset{min-width:0;margin:0;border:1px solid #ffffff30;border-radius:20px;padding:10px;background:#ffffff0b}.compassControls legend{padding:0 7px;color:#f6d6e4;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.choiceRail{display:flex;gap:7px;flex-wrap:wrap}.choiceRail button{min-height:44px;border:1px solid #ffffff2e;border-radius:13px;padding:8px 12px;background:#ffffff12;color:#fff;font-size:11px;font-weight:900}.choiceRail button[aria-pressed="true"]{border-color:#fff;background:#fff;color:#3a2845;box-shadow:0 7px 18px #24152d4a}
.compassRun{position:relative;z-index:1;min-height:48px;margin-top:14px;border:0;border-radius:16px;padding:0 18px;background:#f4c968;color:#3a2713;font-weight:950;box-shadow:0 9px 24px #160d1d42}.compassStatus{position:relative;z-index:1;margin:10px 0;color:#eadce8;font-size:11px}
.compassResults{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compassResult{min-width:0;overflow:hidden;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:stretch;border:1px solid #ffffff2b;border-radius:20px;padding:0;background:#fffdf9;color:#352a3f;text-align:left;box-shadow:0 10px 26px #1a10233b}.compassResult img{width:94px;height:100%;min-height:112px;object-fit:cover;background:#e9e1e9}.compassResult>span{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px}.compassResult small{color:#965270;font-size:8px;font-weight:950;letter-spacing:.1em}.compassResult b{margin-top:5px;font:900 16px/1.1 Georgia,serif}.compassResult span span{margin-top:6px;color:#74657c;font-size:10px;line-height:1.35}
.galleryTools{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(148px,auto)) auto auto!important;align-items:center}.gallerySelect select{width:100%;height:50px;min-width:148px;border:0;border-radius:17px;padding:0 34px 0 13px;background:#fff;color:#574961;font-size:11px;font-weight:850;box-shadow:0 8px 24px rgba(70,43,91,.09)}
.completionEchoes{margin:22px 0 18px;padding:18px;border:1px solid #e6dbe8;border-radius:24px;background:#f8f2f8;text-align:left}.completionEchoes h3{margin:2px 0 4px;font:900 23px/1 Georgia,serif}.completionEchoes>p:not(.sectionEyebrow){margin:0 0 12px;color:#74677b;font-size:11px}.completionEchoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.completionEcho{min-width:0;overflow:hidden;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:stretch;border:1px solid #ded2e1;border-radius:16px;padding:0;background:#fff;color:#372b40;text-align:left}.completionEcho img{width:68px;height:82px;object-fit:cover;background:#eee7ef}.completionEcho span{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:8px}.completionEcho b{font:900 13px/1.1 Georgia,serif}.completionEcho small{margin-top:5px;color:#75677d;font-size:9px;line-height:1.25}
body.themeEvening .gallerySelect select{background:#352c3d;color:#fff}body.themeEvening .completionEchoes{border-color:#514459;background:#2a2230;color:#fff}body.themeEvening .completionEcho{border-color:#57475e;background:#352c3d;color:#fff}body.themeEvening .completionEcho small{color:#d5c9d8}
@media(max-width:1040px){.compassControls{grid-template-columns:1fr}.galleryTools{grid-template-columns:minmax(0,1fr) 1fr 1fr!important}.galleryTools .artistSelect{grid-column:auto}.galleryTools #resetAll{grid-column:auto}.compassResults{grid-template-columns:1fr 1fr}.compassResult:last-child{grid-column:1/-1}}
@media(max-width:700px){.curatorCompass{margin-inline:-4px;padding:18px;border-radius:26px}.curatorCompass .sectionTitle{display:block}.curatorCompass .sectionTitle>span{display:block;margin-top:7px}.choiceRail{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.choiceRail button{flex:0 0 auto}.compassResults{grid-template-columns:1fr}.compassResult:last-child{grid-column:auto}.galleryTools{grid-template-columns:1fr 1fr!important}.galleryTools .searchWrap,.galleryTools .artistSelect{grid-column:1/-1}.galleryTools #resetAll{grid-column:1/-1}.completionEchoGrid{grid-template-columns:1fr}.completionEcho img{height:76px}}
@media(max-width:390px){.galleryTools{grid-template-columns:1fr!important}.galleryTools>*{grid-column:auto!important}.compassResult{grid-template-columns:82px minmax(0,1fr)}.compassResult img{width:82px}}

/* V24.4 — Rielaborazione facoltativa al termine dell’opera. */
.guidedCue{position:absolute;z-index:44;left:50%;top:calc(max(10px,env(safe-area-inset-top)) + 122px);width:min(560px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px 11px 16px;border:1px solid #ffffffd9;border-radius:18px;background:#2f2637ed;color:#fff;box-shadow:0 12px 32px #251c2f42;backdrop-filter:blur(14px);transform:translateX(-50%)}.guidedCue[hidden]{display:none}.guidedCue>div:first-child{min-width:0}.guidedCue span{display:block;margin-bottom:3px;color:#e4badc;font-size:10px;font-weight:950;letter-spacing:.12em}.guidedCue p{margin:0;font-size:13px;line-height:1.35}.guidedCueActions{display:flex;flex:0 0 auto;gap:6px}.guidedCueActions button{min-height:42px;border:0;border-radius:12px;padding:8px 11px;background:#fff;color:#35283e;font-size:11px;font-weight:900}.guidedCueActions button:last-child{background:#594963;color:#fff}
.traverseReflection{margin:20px 0;padding:20px;border:1px solid #e6d8e8;border-radius:24px;background:linear-gradient(145deg,#fff,#f8f0fa)}.traverseReflection h3{margin:5px 0 13px;font:900 23px/1.15 Georgia,serif}.traverseReflection textarea{width:100%;min-height:94px;resize:vertical;border:1px solid #d9c8de;border-radius:15px;padding:12px;background:#fff;color:#352b3d;font:inherit;line-height:1.5}.traverseReflection>p:not(.sectionEyebrow){margin:8px 0 12px;color:var(--muted);font-size:12px}.traverseReflection>div{display:flex;flex-wrap:wrap;gap:8px}.traverseReflection button{min-height:44px;border:0;border-radius:13px;padding:9px 13px;background:#eee6f1;color:#46364f;font-weight:900}.traverseReflection button.primary{background:#33293d;color:#fff}
body.themeEvening .traverseReflection{border-color:#5b4961;background:#2a2230;color:#fff}body.themeEvening .traverseReflection textarea{border-color:#65536b;background:#201a26;color:#fff}
@media(max-width:700px){.guidedCue{top:calc(max(10px,env(safe-area-inset-top)) + 112px);align-items:stretch;flex-direction:column;gap:8px}.guidedCueActions{width:100%}.guidedCueActions button{flex:1}.boardInstruction{transition:opacity .2s}.game:has(.guidedCue:not([hidden])) .boardInstruction{opacity:.3}}

/* V22 — gerarchia editoriale essenziale. */
.topNav{display:flex;align-items:center;justify-content:center;gap:4px;margin-inline:auto}.topNav a{display:inline-flex;align-items:center;min-height:44px;border-radius:999px;padding:8px 12px;color:#574961;font-size:11px;font-weight:900;text-decoration:none}.topNav a:hover{background:#fff}.topNav a:focus-visible{outline-offset:-2px}
.studioControls{margin-bottom:26px}.progressTools .dangerQuiet{margin-left:auto;border:1px solid #e5cfd7;background:transparent;color:#7b3b51;box-shadow:none}.progressTools .dangerQuiet:hover{background:#fff1f5}
.tabs{scroll-padding-inline:2px}.tabs:after{content:"";flex:0 0 4px}#methodNote,#curatorCompass,#stories,#galleryStart{scroll-margin-top:132px}
.methodPrinciples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.methodPrinciples span{display:block;padding:11px 12px;border:1px solid #e7d9e4;border-radius:15px;background:#ffffff94}.methodPrinciples b,.methodPrinciples small{display:block}.methodPrinciples b{font:900 14px/1.1 Georgia,serif}.methodPrinciples small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}.compassIntro{position:relative;z-index:1;max-width:78ch;margin:-10px 0 17px;color:#f1e5ef;font-size:12px;line-height:1.55}
body.themeEvening .topNav a{color:#ddd0e2}body.themeEvening .topNav a:hover{background:#352c3d}body.themeEvening .progressTools .dangerQuiet{border-color:#68485a;color:#f0b6ca}
body.themeEvening .methodPrinciples span{border-color:#56455c;background:#352c3d}
@media(min-width:1100px){.experienceGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.experienceCard{min-height:180px}}
@media(max-width:900px){.topbar{flex-wrap:wrap}.topNav{order:3;width:100%;justify-content:flex-start;overflow-x:auto;border-top:1px solid #e9dfe7;padding-top:3px;scrollbar-width:none}.topNav a{flex:1 0 auto;justify-content:center}.progressTools .dangerQuiet{margin-left:0}}
@media(max-width:640px){.methodPrinciples{grid-template-columns:1fr}}
@media(max-width:430px){.app .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.app .topActions{width:auto}.topNav{grid-column:1/-1;width:100%}.topNav a{padding-inline:9px}.topActions #continueTop{padding-inline:11px}.progressTools{display:grid;grid-template-columns:1fr 1fr}.progressTools .pill{width:100%}.progressTools .dangerQuiet,.progressTools span{grid-column:1/-1}}
.game.modeRelax .challengeLine:before{content:'Relax · ritmo, immaginazione e assorbimento creativo, senza penalità.'}.game.modeStudy .challengeLine:before{content:'Studio · contesto, fonte e tinte per costruire significato.'}

/* V21.16 — miniature integre, titoli completi e avanzamento sempre leggibile. */
.preview.preserveFull img{object-fit:contain;background:linear-gradient(135deg,#eee7ef,#f8f3ed)}
.card:hover .preview.preserveFull img{transform:none}
.dockProgress>b{white-space:nowrap}
.museumChoice img{object-fit:contain;background:linear-gradient(135deg,#e9e2eb,#faf5ef)}
.museumChoice span{min-height:48px;overflow:visible;white-space:normal;text-overflow:clip;line-height:1.35;overflow-wrap:anywhere}

/* V21.16 — navigatore continuo della collezione. */
.artworkNavigator{position:relative;z-index:38;display:grid;grid-template-columns:minmax(44px,1fr) minmax(116px,auto) minmax(44px,1fr);align-items:center;gap:10px;min-height:48px;padding:4px max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left));border-bottom:1px solid #ded5df;background:#eee7ed;color:#392d43;box-shadow:0 4px 14px #281e3217}
.artworkNavigator button{min-width:44px;min-height:44px;border:0;border-radius:14px;padding:7px 13px;background:#fffdf9;color:#352a3f;font-size:12px;font-weight:950;box-shadow:0 3px 10px #281e321c}
.artworkNavigator #previousArtwork{justify-self:end}.artworkNavigator #nextArtwork{justify-self:start}.artworkNavigator button:disabled{opacity:.38;box-shadow:none}.artworkNavigator .artworkMapTrigger{justify-self:center;min-width:116px;border:1px solid #d8cedc;background:#f8f4f7;color:#43354e;font:900 13px/1 ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:none}.artworkNavigator .artworkMapTrigger::after{content:' · MAPPA';font-size:9px;letter-spacing:.08em;opacity:.7}
.game.boardFocus .artworkNavigator{padding-top:calc(4px + env(safe-area-inset-top))}
body.themeEvening .artworkNavigator{border-color:#514459;background:#352c3d;color:#fff}body.themeEvening .artworkNavigator button{background:#493b52;color:#fff}body.themeEvening .artworkNavigator .artworkMapTrigger{border-color:#65566e;background:#403447;color:#fff}
@media(max-width:430px){.artworkNavigator{grid-template-columns:44px minmax(110px,1fr) 44px;gap:6px;padding-inline:max(7px,env(safe-area-inset-left)) max(7px,env(safe-area-inset-right))}.artworkNavigator button{padding-inline:10px}.artworkNavigator .artworkMapTrigger{width:100%;min-width:0;font-size:12px}.navigatorLabel{display:none}}
@media(orientation:landscape) and (max-height:560px){.artworkNavigator{min-height:44px;padding-block:2px}.artworkNavigator button{min-height:40px;height:40px}}

/* V24.4 — mappa viva della collezione. */
.collectionMapCard{width:min(1040px,100%);display:flex;flex-direction:column;overflow:hidden}.collectionMapCard>header{flex:0 0 auto}.collectionMapCard .dialogIntro{flex:0 0 auto;margin:0 0 14px}.collectionMapTools{flex:0 0 auto;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px 14px}.collectionMapTools>label{grid-column:1/-1;color:#695a72;font-size:12px;font-weight:900}.collectionMapTools>input{width:100%;min-height:48px;border:1px solid #d9cfde;border-radius:15px;padding:0 15px;background:#fff;color:#302438;font:750 15px/1.2 system-ui,sans-serif}.collectionMapTools>input:focus{outline:3px solid #8c4ca52e;border-color:#754887}.collectionMapFilters{display:flex;gap:6px;overflow:auto;scrollbar-width:thin}.collectionMapFilters button{flex:0 0 auto;min-height:48px;border:1px solid #ded3e2;border-radius:14px;padding:9px 13px;background:#f6f0f5;color:#4b3b55;font-weight:900}.collectionMapFilters button[aria-pressed="true"]{border-color:#5d3870;background:#5d3870;color:#fff}.collectionMapSummary{flex:0 0 auto;margin:12px 0 9px;color:#65576e;font-size:12px;font-weight:850}.collectionMapGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px;min-height:120px;overflow:auto;overscroll-behavior:contain;padding:2px 4px 10px 2px;scrollbar-gutter:stable}.collectionMapChoice{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;border:1px solid #e2d9e5;border-radius:17px;padding:9px 10px;background:#fff;color:#352a3f;text-align:left}.collectionMapChoice:hover{border-color:#b497be;background:#fbf7fc}.collectionMapChoice:focus-visible{outline:3px solid #8c4ca544;outline-offset:1px}.collectionMapChoice.current{border:2px solid #6b347f;background:#f8eefb;box-shadow:0 6px 18px #5f346f1c}.collectionMapChoice.started:not(.current){border-color:#d39754;background:#fff9ee}.collectionMapChoice.done:not(.current){border-color:#6d9d82;background:#eff8f3}.collectionMapChoice .mapNumber{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#ede6ef;color:#543d60;font:950 14px/1 ui-rounded,"SF Pro Rounded",system-ui,sans-serif;font-variant-numeric:tabular-nums}.collectionMapChoice.current .mapNumber{background:#633477;color:#fff}.collectionMapChoice .mapText{min-width:0}.collectionMapChoice .mapText b,.collectionMapChoice .mapText small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collectionMapChoice .mapText b{font:900 13px/1.25 system-ui,sans-serif}.collectionMapChoice .mapText small{margin-top:4px;color:#7a6c82;font-size:10px}.collectionMapChoice .mapStatus{min-width:22px;color:#8a4a9e;font-size:16px;text-align:center}.collectionMapEmpty{grid-column:1/-1;margin:auto;padding:28px;color:#74667c;text-align:center}.collectionMapLegend{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:8px 15px;margin:8px 0 0;color:#76687e;font-size:11px}.collectionMapLegend span{display:flex;align-items:center;gap:5px}.mapMark{display:inline-block;width:11px;height:11px;border:2px solid #6b347f;border-radius:50%}.mapMark.started{border-color:#d39754;background:#fff2d9}.mapMark.done{border-color:#6d9d82;background:#dff1e6}
body.themeEvening .collectionMapCard{background:#2d2433;color:#fff}body.themeEvening .collectionMapCard>header{background:#2d2433f4}body.themeEvening .collectionMapTools>label,body.themeEvening .collectionMapSummary,body.themeEvening .collectionMapLegend{color:#d2c6d7}body.themeEvening .collectionMapTools>input{border-color:#5a4b61;background:#392f40;color:#fff}body.themeEvening .collectionMapFilters button{border-color:#594a61;background:#3a3041;color:#eee5f0}body.themeEvening .collectionMapFilters button[aria-pressed="true"]{border-color:#bb80cf;background:#73438a;color:#fff}body.themeEvening .collectionMapChoice{border-color:#514458;background:#382e3e;color:#fff}body.themeEvening .collectionMapChoice.current{border-color:#d08ae7;background:#492e53}body.themeEvening .collectionMapChoice.started:not(.current){border-color:#b9844c;background:#463a31}body.themeEvening .collectionMapChoice.done:not(.current){border-color:#638f76;background:#2e4037}body.themeEvening .collectionMapChoice .mapText small{color:#c4b8c9}body.themeEvening .collectionMapChoice .mapNumber{background:#493b51;color:#fff}
@media(max-width:680px){.collectionMapDialog{align-items:end;padding:0}.collectionMapCard{width:100%;max-height:min(94dvh,var(--visual-viewport-height,94dvh));border-radius:26px 26px 0 0;padding:17px max(13px,env(safe-area-inset-right)) max(17px,env(safe-area-inset-bottom)) max(13px,env(safe-area-inset-left))}.collectionMapCard>header{top:-17px;margin:-3px -3px 10px}.collectionMapCard>header h2{font-size:clamp(27px,8vw,38px)}.collectionMapTools{grid-template-columns:1fr}.collectionMapTools>label{grid-column:auto}.collectionMapFilters{padding-bottom:2px}.collectionMapGrid{grid-template-columns:1fr;gap:7px}.collectionMapChoice{min-height:62px}.collectionMapLegend{padding-bottom:2px}}
@media(orientation:landscape) and (max-height:560px){.collectionMapCard{max-height:100dvh;border-radius:0}.collectionMapCard>header h2{font-size:28px}.collectionMapCard .dialogIntro{display:none}.collectionMapChoice{min-height:56px}.collectionMapGrid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}

/* V20 — input touch affidabile, leggibilità e contrasto cromatico */
.skipLink{position:fixed;z-index:9999;top:12px;left:12px;transform:translateY(-180%);padding:12px 16px;border-radius:12px;background:#fff;color:#24192f;font-weight:900;box-shadow:0 8px 28px #0003}.skipLink:focus{transform:none}
.app{padding-top:0}
.topbar{padding-top:calc(12px + env(safe-area-inset-top,0px))}
.boardLabels,.boardLabel{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.boardLabels{pointer-events:none;touch-action:none}
.boardLabel{pointer-events:none}
.boardLabel.selected{pointer-events:none}
.searchWrap:focus-within,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:4px solid var(--focus);outline-offset:3px}
#allColorsJump{width:100%;min-width:0;min-height:48px;border:2px solid var(--line);border-radius:14px;padding:9px 12px;background:#fff;color:var(--ink);font-size:16px;font-weight:800}
#allColorsFind{min-width:86px;min-height:48px;border:0;border-radius:16px;padding:0 16px;background:#5a257b;color:#fff;font-weight:950}
.game,.completeOverlay{--ink:#24192f;--muted:#706579;--paper:#fffdf9;--soft:#f5edf8;--line:#e9dfec;--focus:#24192f}
.completeOverlay{color:#24192f}
body.a11yHighContrast .boardShell{filter:none!important}

/* V21 — identità sempre sotto la tavola, mai sovrapposta ai numeri. */
.journeyCard.literature:before{background:linear-gradient(145deg,#26364f,#70639e)}
.journeyCard.history:before{background:linear-gradient(145deg,#53321f,#a36a3f)}
.journeyCard.sacred:before{background:linear-gradient(145deg,#27474d,#77918c)}
.journeyCard.creatures:before{background:linear-gradient(145deg,#24513d,#74a34e)}
.game .boardColumn{grid-template-rows:auto minmax(0,1fr) auto}
.boardCaption{display:flex;align-items:baseline;justify-content:center;gap:8px;min-width:0;padding:7px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-top:1px solid #e3dce4;background:#fffdf9;color:#352b3d;text-align:center}
.boardCaption strong{overflow:hidden;font:900 15px/1.15 Georgia,serif;white-space:nowrap;text-overflow:ellipsis}
.boardCaption span{overflow:hidden;color:#786b80;font-size:11px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}
.game.boardFocus .boardColumn{grid-template-rows:minmax(0,1fr)}
.game.boardFocus .boardCaption{display:none}
@media(max-width:520px){.boardCaption{display:block;padding-block:6px}.boardCaption strong,.boardCaption span{display:block}.boardCaption span{margin-top:2px}}
@media(orientation:landscape) and (max-height:560px){.boardCaption{padding-block:3px}.boardCaption strong{font-size:13px}.boardCaption span{font-size:10px}}
html.a11yReducedMotion{scroll-behavior:auto!important}
#dockWorkLabel{min-width:0;max-width:clamp(88px,32vw,240px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.appDialog{inset:0 0 auto;width:100%;height:var(--visual-viewport-height,100dvh)}
.homeAmbient button,.miniModePicker button,.exhibitionItem button{min-height:44px}
.storyAccuracy summary,.siteFooter a,.infoBack{display:inline-flex;align-items:center;min-height:44px}
.dialogCard>header>div,.exhibitionItem>span{min-width:0}
.exhibitionItem b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.themeEvening .siteFooter a{color:#f6dcff}
body.themeEvening .sectionEyebrow{color:#f0a6cb}
body.themeEvening .cardStars,body.themeEvening .goal.earned:after{color:#ffd27d}
body.themeEvening .dialogCard.exhibitionStage figcaption span{color:#ded3e2}
@media(max-width:700px){.app{padding-top:0}.topbar{padding-top:calc(9px + env(safe-area-inset-top,0px))}}
@media(max-width:430px){.exhibitionItem{grid-template-columns:1fr 1fr}.exhibitionItem>span{grid-column:1/-1}}

/* V21.10 — tracce fedeli, numeri progressivi più fitti e rifinitura mobile/iPhone. */
.brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.skipLink{top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px))}
.focusBoardBtn{min-width:44px;min-height:44px}
.activeSwatch{display:grid;place-items:center;font:950 15px/1 ui-rounded,"SF Pro Rounded",system-ui,sans-serif}
.boardLabel{opacity:.88}
.boardLabel.selected{opacity:1}
.boardLabel.selected.callout{padding:0;border-radius:5px;background:#fffdf9;box-shadow:0 0 0 1px #5a257b,0 1px 4px #281e3238}
.boardLabel.selected.callout:after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:var(--leader-length,0);height:1px;background:#5a257bcc;transform:rotate(var(--leader-angle,0));transform-origin:0 50%}
/* V21.10 — in Sfida il numero attivo non si distingue dagli altri: la ricerca è reale. */
.game.modeChallenge .boardLabel.selected:not(.hinted){color:#514a55;font-weight:800;filter:none;opacity:.88}
.game.modeChallenge .boardLabel.selected.callout:not(.hinted){border:0;background:transparent;box-shadow:none}
.game.modeChallenge .boardLabel.selected.callout:not(.hinted):after{display:none}
body.a11yHighContrast .game.modeChallenge .boardLabel.selected:not(.hinted){border:0;border-radius:0;background:transparent;color:#130d18!important;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #fff)!important}
.detailsSheet{
  padding-left:max(22px,env(safe-area-inset-left,0px));
  padding-right:max(22px,env(safe-area-inset-right,0px));
}
.game.boardFocus{--dock-height:94px;grid-template-rows:minmax(0,1fr) auto}
.game.boardFocus .paletteDock{display:block;min-height:var(--dock-height);padding-top:3px;padding-bottom:calc(5px + env(safe-area-inset-bottom,0px))}
.game.boardFocus .dockProgress{height:16px}
.game.boardFocus .paletteDockRow{gap:6px}
.game.boardFocus .paletteDock .paletteIntro{min-width:0;padding:2px}
.game.boardFocus .paletteDock .paletteIntro>span:last-child{display:none}
.game.boardFocus .paletteDock .activeSwatch{width:48px;height:48px}
.game.boardFocus .paletteDock .allColorsBtn{width:52px;min-width:52px;height:48px;min-height:48px;padding:3px}
.game.boardFocus .paletteDock .palette{gap:6px;padding:3px 4px 5px}
.game.boardFocus .paletteDock .swatch{flex-basis:50px;width:50px;height:50px;min-height:50px;border-radius:16px}
.game.boardFocus ~ .toast{bottom:calc(var(--dock-height) + 14px + env(safe-area-inset-bottom,0px))}
.game.loadFailed ~ .toast{bottom:calc(18px + env(safe-area-inset-bottom,0px))}
.game.loadFailed{grid-template-rows:minmax(0,1fr)}
.game.loadFailed .paletteDock{display:none}
.tabs>.tab:focus-visible,
.journeyRail>.journeyCard:focus-visible,
.storyChapterRail>.storyChapterChoice:focus-visible{outline-offset:-4px}

@media(max-width:520px){
  :root,.game{--dock-height:105px}
  .paletteDockRow{grid-template-columns:auto auto minmax(0,1fr)}
  .paletteDock .paletteIntro,
  .paletteDock .allColorsBtn,
  .paletteDock .palette{grid-column:auto;grid-row:auto}
  .paletteDock .paletteIntro{min-width:0;padding:2px}
  .paletteDock .allColorsBtn{width:54px;min-width:54px;height:50px;min-height:50px;font-size:10px}
  .paletteDock .activeSwatch{width:46px;height:46px}
  .paletteDock .palette{gap:6px;padding:4px}
  .paletteDock .swatch{flex-basis:50px;width:50px;height:50px;min-height:50px;border-radius:16px}
}

@media(max-width:430px){
  .detailsSheet{
    padding-left:max(16px,env(safe-area-inset-left,0px));
    padding-right:max(16px,env(safe-area-inset-right,0px));
  }
}

@media(orientation:landscape) and (max-height:560px){
  .game.boardFocus{--dock-height:70px}
  .game.boardFocus .dockProgress{display:none}
  .game.boardFocus .paletteDock{padding-top:2px;padding-bottom:calc(3px + env(safe-area-inset-bottom,0px))}
  .game.boardFocus .paletteDockRow{height:60px}
  .game.boardFocus .paletteDock .activeSwatch,
  .game.boardFocus .paletteDock .allColorsBtn{width:46px;height:46px;min-width:46px;min-height:46px}
  .game.boardFocus .paletteDock .swatch{flex-basis:48px;width:48px;height:48px;min-height:48px}
  .game.boardFocus .paletteDock .swatch small{display:none}
}
