/* Yarnfire adventure design system: one local theme per surface. */
:root{--body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;--heading:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
body{font-family:var(--body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:650;letter-spacing:-.045em}.dashboard{--a-accent:#f8d978;--a-second:#efa75e;--a-ink:#302315;--a-surface:#282339;--a-deep:#191727;--a-glow:#685579;--a-muted:#c6bbd9;--a-radius:10px;background:radial-gradient(ellipse at 70% 0%,color-mix(in srgb,var(--a-glow) 15%,transparent),transparent 60%),#17151e;transition:background-color .5s}.wordmark{font-weight:750;letter-spacing:-1.5px}.feature-copy h2{font-weight:720;letter-spacing:-.055em}.welcome-line h1{font-weight:650}.cover strong{font-family:var(--heading);font-weight:750;letter-spacing:-1px;font-size:26px}
[data-adventure="museum"]{--a-accent:#F8D978;--a-second:#EFA75E;--a-ink:#302315;--a-surface:#282339;--a-deep:#191727;--a-glow:#685579;--a-muted:#C6BBD9;--a-radius:10px;}
[data-adventure="frequency"]{--a-accent:#BBA4FF;--a-second:#83D9F5;--a-ink:#231737;--a-surface:#232442;--a-deep:#14172D;--a-glow:#555799;--a-muted:#BBBFE5;--a-radius:24px;}
[data-adventure="story"]{--a-accent:#FFB38B;--a-second:#F28FB2;--a-ink:#39202D;--a-surface:#3A2331;--a-deep:#221823;--a-glow:#925363;--a-muted:#DFC0CE;--a-radius:8px;}
[data-adventure="common"]{--a-accent:#B5DDBB;--a-second:#DCE9A1;--a-ink:#1B332C;--a-surface:#21382F;--a-deep:#14251F;--a-glow:#4C7562;--a-muted:#BDD1C3;--a-radius:28px;}
[data-adventure="choice"]{--a-accent:#F5B8DC;--a-second:#B8B6FF;--a-ink:#37213F;--a-surface:#36283F;--a-deep:#231B2D;--a-glow:#785487;--a-muted:#D4BFD9;--a-radius:14px;}
[data-adventure="clues"]{--a-accent:#91DDE5;--a-second:#86B2EF;--a-ink:#17323F;--a-surface:#203343;--a-deep:#13212E;--a-glow:#396A81;--a-muted:#B4CCD9;--a-radius:6px;}

.dashboard .featured{background:radial-gradient(ellipse at 82% 22%,var(--a-glow),transparent 65%),linear-gradient(135deg,var(--a-surface),var(--a-deep));border-color:color-mix(in srgb,var(--a-accent) 20%,transparent);box-shadow:0 18px 70px #0002;transition:background .5s,border-color .5s}.feature-copy{background:linear-gradient(90deg,var(--a-deep),transparent)}.feature-copy>p,.feature-meta{color:var(--a-muted)}.feature-tag,.art-star,.feature-pagination button.current{color:var(--a-accent)}.feature-pagination button.current{background:var(--a-accent)}
.dashboard .play-primary,.dashboard .game-body .button.blue{background:linear-gradient(115deg,var(--a-accent),var(--a-second));color:var(--a-ink);border-radius:var(--a-radius);box-shadow:0 5px 18px color-mix(in srgb,var(--a-accent) 13%,transparent),inset 0 1px 0 #ffffff65;border:1px solid #ffffff1c;transition:transform .22s,box-shadow .22s,filter .22s}.dashboard .play-primary:hover,.dashboard .game-body .button.blue:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--a-accent) 23%,transparent)}.dashboard .play-primary:active{transform:translateY(0) scale(.97)}.save-feature{border-radius:var(--a-radius);color:var(--a-accent)}
.dashboard .cover{background:radial-gradient(circle at 100% 0%,var(--a-second),transparent 72%),var(--a-accent);color:var(--a-ink)}.dashboard .tile-select[aria-pressed=true] .cover{outline-color:var(--a-accent)}.dashboard .tile-save[aria-pressed=true]{color:var(--a-accent)}.cover .cover-symbol{font-size:60px}.cover:before{content:'';position:absolute;width:150px;height:150px;top:45%;left:-70px;border:1px solid currentColor;border-radius:50%;opacity:.13}.dashboard .game-rail{scrollbar-color:var(--a-glow) transparent}
.dashboard #game-dialog{background:radial-gradient(ellipse at 95% 0%,color-mix(in srgb,var(--a-glow) 50%,transparent),transparent 65%),var(--a-deep);border-color:color-mix(in srgb,var(--a-accent) 25%,transparent)}.dashboard .game-header{background:color-mix(in srgb,var(--a-surface) 80%,transparent);border-color:color-mix(in srgb,var(--a-accent) 15%,transparent)}.dashboard .game-body .eyebrow,.dashboard .mini-logo span,.dashboard .score strong{color:var(--a-accent)}.dashboard .game-body>.game-description,.dashboard .helper{color:var(--a-muted)}.dashboard .simple-prompt,.dashboard .final-memory{background:linear-gradient(125deg,var(--a-surface),color-mix(in srgb,var(--a-glow) 65%,var(--a-deep)));border:1px solid color-mix(in srgb,var(--a-accent) 17%,transparent)}.dashboard .simple-prompt h3{color:var(--a-accent)}.dashboard .simple-prompt p{color:var(--a-muted)}.dashboard .game-body input,.dashboard .game-textarea,.dashboard .answer,.dashboard .sound-choice,.dashboard .secondary-button{background:var(--a-surface);border-color:color-mix(in srgb,var(--a-accent) 27%,transparent);border-radius:var(--a-radius)}.dashboard .answer:hover:not(:disabled),.dashboard .sound-choice.selected{background:color-mix(in srgb,var(--a-glow) 50%,var(--a-surface));border-color:var(--a-accent);color:#fff}.dashboard .answer.correct,.dashboard .memory-preview{background:linear-gradient(120deg,var(--a-accent),var(--a-second));border-color:var(--a-accent);color:var(--a-ink)}.dashboard .memory-preview .eyebrow,.dashboard .memory-preview p,.dashboard .answer.correct .eyebrow,.dashboard .answer.correct small{color:var(--a-ink)}.dashboard .feedback{background:var(--a-surface);border-color:var(--a-accent)}.dashboard .sound-player,.dashboard .score{background:var(--a-surface)}.dashboard .game-progress span.done{background:linear-gradient(90deg,var(--a-accent),var(--a-second))}.dashboard .memory-card-entry{background:var(--a-surface);border-color:color-mix(in srgb,var(--a-accent) 25%,transparent)}.dashboard .memory-card-entry small{color:var(--a-accent)}.dashboard .memory-card-entry p{color:var(--a-muted)}.dashboard .nav-item.active{color:var(--a-accent);background:color-mix(in srgb,var(--a-accent) 9%,transparent)}.dashboard .wins strong{color:var(--a-accent)}.dashboard .house-rule{background:linear-gradient(130deg,var(--a-surface),var(--a-deep));border-color:color-mix(in srgb,var(--a-accent) 20%,transparent)}.dashboard .house-rule em{color:var(--a-accent)}
/* Distinct graphic vocabulary for each adventure. */
.adventure-art{position:absolute;inset:0;display:grid;place-items:center;perspective:700px}.art-orbit{position:absolute;width:90%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--a-accent) 23%,transparent);border-radius:50%;transform:rotateX(55deg) rotate(-25deg)}.art-orbit:after{content:'';position:absolute;inset:20%;border:1px solid inherit;border-radius:50%}.art-caption{position:absolute;bottom:12%;right:10%;font-size:7px;letter-spacing:.2em;color:var(--a-muted)}.sound-console{position:relative;width:78%;height:190px;border:1px solid #dcd5ff55;background:linear-gradient(135deg,#373858dd,#191e37);border-radius:23px;padding:26px;transform:rotate(-9deg);box-shadow:15px 25px 55px #080c2366}.console-label{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.15em;color:#ccc6fa}.equalizer{display:flex;align-items:center;justify-content:center;gap:7px;height:98px}.equalizer i{width:10px;border-radius:8px;height:var(--bar);background:linear-gradient(#c4b0ff,#83d9f5);box-shadow:0 0 18px #b5a4ff33;animation:equalize 2s ease-in-out infinite alternate;animation-delay:var(--delay)}.console-footer{font-size:8px;letter-spacing:.16em;color:#bbb8df}.script-ticket{position:relative;width:65%;min-height:236px;padding:25px 22px;background:linear-gradient(145deg,#ffca9e,#f197a7);color:#492637;transform:rotate(9deg);border-radius:3px;box-shadow:-15px 25px 45px #1c0d2255}.script-ticket:before{content:'';position:absolute;inset:10px;border:1px dashed #74394955;pointer-events:none}.script-ticket small{font-size:8px;letter-spacing:.14em}.script-ticket strong{display:block;font:750 42px/.95 var(--heading);letter-spacing:-2px;margin:24px 0}.script-ticket p{font-size:9px;border-top:1px solid #74394944;padding-top:12px}.scene-stamp{position:absolute;right:5%;bottom:17%;background:#543340;color:#ffc5a9;border:1px solid #dd8f9f;border-radius:50%;width:75px;height:75px;display:grid;place-items:center;font-size:13px;transform:rotate(-14deg)}.venn{position:relative;width:100%;height:230px}.venn-circle{position:absolute;top:12%;width:58%;aspect-ratio:1;border-radius:50%;border:1px solid #e8ffd05c;display:grid;place-items:center;color:#e0f0c3;font-size:12px;box-shadow:inset 0 0 40px #e2ffce11}.venn-circle:first-child{left:3%;background:linear-gradient(125deg,#9bc6aa88,#56796f44);transform:rotate(-12deg)}.venn-circle:nth-child(2){right:4%;background:linear-gradient(145deg,#d2d79666,#7a967944);transform:rotate(12deg)}.venn-center{position:absolute;left:42%;top:40%;font-size:45px;color:#f4e5a5}.split-portals{display:flex;align-items:center;gap:12px;width:87%;transform:rotate(-9deg)}.portal{height:210px;flex:1;border-radius:90px 90px 16px 16px;background:linear-gradient(150deg,#f7c4e5,#a75c91);border:1px solid #ffe8ff77;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#492640;box-shadow:0 20px 50px #160e2644}.portal+ .portal{transform:translateY(24px);background:linear-gradient(145deg,#b8c8ff,#7972bf);color:#302e5b}.portal b{font-size:75px;font-weight:750;letter-spacing:-4px}.portal span{font-size:7px;letter-spacing:.12em}.blueprint{position:relative;width:80%;height:245px;background:linear-gradient(#91dde50d 1px,transparent 1px),linear-gradient(90deg,#91dde50d 1px,transparent 1px),#183449;background-size:22px 22px;border:1px solid #91dde54a;border-radius:8px;transform:rotate(8deg);box-shadow:0 25px 45px #08132277;display:grid;place-items:center}.blueprint svg{width:105px;height:150px;filter:drop-shadow(0 0 14px #91dde55a)}.blueprint small{position:absolute;bottom:15px;font-size:7px;letter-spacing:.15em;color:#a5d9e3}.blueprint:before{content:'✦';position:absolute;top:16px;right:20px;color:#bce5ee;font-size:23px}
/* Reference-inspired entrance: shell, feature, shelf, then activity. */
@keyframes settle-in{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}@keyframes slide-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}@keyframes artwork-in{from{opacity:0;transform:translateX(35px) rotate(3deg) scale(.92)}to{opacity:1;transform:none}}@keyframes equalize{to{transform:scaleY(.55)}}
.dashboard .sidebar{animation:slide-in .65s cubic-bezier(.2,.8,.2,1) both}.dashboard .app-topbar{animation:settle-in .65s .08s both}.dashboard .welcome-line,.dashboard .filter-tabs{animation:settle-in .65s .14s both}.dashboard .featured{animation:settle-in .8s .2s both}.dashboard .feature-art{animation:artwork-in .9s .3s both}.dashboard .activity-panel{animation:settle-in .8s .4s both}.dashboard .game-tile{animation:settle-in .65s both;animation-delay:calc(260ms + var(--card-index,0)*65ms)}.dashboard .bottom-invite{animation:settle-in .75s .6s both}.dashboard .game-body{animation:settle-in .4s both}.dashboard .tile-select:hover .cover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 14px 30px #0003}.dashboard .cover{transition:transform .3s,box-shadow .3s,filter .3s}.theme-chip{font-size:7px;letter-spacing:.13em;color:var(--a-accent);display:inline-flex;align-items:center;gap:6px;margin-top:10px}.theme-chip:before{content:'';width:5px;height:5px;background:currentColor;border-radius:50%}
@media(max-width:640px){.feature-copy{background:linear-gradient(90deg,color-mix(in srgb,var(--a-deep) 95%,transparent),color-mix(in srgb,var(--a-deep) 45%,transparent))}.sound-console{width:150%;transform:rotate(-12deg);margin-left:60%}.script-ticket{width:120%;margin-left:55%}.venn{width:170%;margin-left:40%}.split-portals{width:140%;margin-left:70%}.blueprint{width:130%;margin-left:60%}.feature-art{opacity:.4}.theme-chip{font-size:6px}.cover strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.dashboard *,.dashboard *:before,.dashboard *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.dashboard .game-rail{overflow-y:hidden}.theme-preview .play-primary{background:linear-gradient(115deg,var(--a-accent),var(--a-second));border-radius:var(--a-radius);color:var(--a-ink)}
@media(max-width:960px){.dashboard .sidebar,.dashboard .activity-panel{animation:none}}
