:root{--bg:#fbf4e9;--surface:#fffaf2;--ink:#4d111c;--muted:#84656a;--line:#e9d8ce;--accent:#a83c4a;--soft:#f2e2d7;--gold:#b87c32}body{background:var(--bg);color:var(--ink);font-family:Arial,sans-serif;transition:background .6s,color .6s}body.dark{--bg:#21080f;--surface:#310e17;--ink:#fff0dd;--muted:#c8a9af;--line:#59303a;--accent:#d98291;--soft:#49232c;--gold:#ebc286}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 95% 4%,#be6b4512,transparent 45%);z-index:-1}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:46px;letter-spacing:-2px}h2{font-size:29px}h3{font-size:23px}p{color:var(--muted)}aside{width:220px;background:var(--surface);border-color:var(--line);padding-top:30px}.brand{font-size:28px;color:var(--ink)}.brand small{font-family:Arial;color:var(--muted);font-size:9px}.aside-foot{color:var(--muted)}main{margin-left:220px;padding:32px 45px}nav button{color:var(--muted);border-radius:0}nav button.active{color:var(--ink);background:var(--soft);border-radius:12px}button{background:var(--ink);color:var(--bg);border-radius:30px;padding:13px 21px;transition:transform .25s,box-shadow .25s,background .3s;position:relative;overflow:hidden}button:hover{transform:translateY(-3px);box-shadow:0 9px 25px #610f231c}button:active{transform:scale(.95)}button.light{background:var(--soft);color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.eyebrow{color:var(--muted);letter-spacing:2px;font-size:10px}.hero{background:#551321;color:#fff5e7;border-radius:4px 60px 4px 4px;min-height:310px;padding:40px;isolation:isolate}.hero:after{content:'M';font:600px Georgia;position:absolute;right:-45px;top:-130px;color:#ffffff05;z-index:-1;transform:rotate(-15deg)}.hero h2{font-size:54px;font-weight:400;max-width:600px;letter-spacing:-2px}.hero p{color:#e8c5c6}.hero button{background:#f6d7b1;color:#551321}.orb{border-color:#d58b7c70;background:radial-gradient(circle,#f4c79433,#ffffff00);font-size:100px;animation:float 7s ease-in-out infinite}.stat,.card{background:var(--surface);border-color:var(--line);border-radius:16px;box-shadow:0 4px 25px #58221804}.stat strong{font-family:Georgia;font-weight:400;color:var(--ink)}.stat span{color:var(--muted)}.games{grid-template-columns:repeat(3,1fr);gap:23px}.game{transition:transform .4s,box-shadow .4s}.game:hover{transform:translateY(-7px);box-shadow:0 18px 40px #55132112}.art{height:185px;background:#dce8ce!important;overflow:hidden;font-size:75px}.art:after{content:'';height:140px;width:140px;border-radius:50%;border:1px solid #ffffffaa;position:absolute;transform:scale(1.2);transition:transform .7s}.game:hover .art:after{transform:scale(1.8)}.game:nth-child(2) .art{background:#f0ddbb!important}.game:nth-child(3) .art{background:#d7e3e4!important}.game:nth-child(4) .art{background:#e8d9ed!important}.game:nth-child(5) .art{background:#f0cfbf!important}.art b{font-family:Arial;z-index:1}.gamebody h3{font-size:27px}.gamebody p{font-size:14px}.pill{background:var(--soft);color:var(--ink);font-size:11px}td,th{border-color:var(--line)}th{color:var(--muted)}input,textarea,select{background:var(--bg);border-color:var(--line);color:var(--ink)}label{color:var(--muted)}.bar{background:var(--soft)}.bar i{background:var(--accent)}.badge,.challenge{background:var(--soft);color:var(--ink);border-color:var(--line)}.challenge{font-size:19px;border-left:4px solid var(--gold)}.challenge p{color:var(--ink)!important}.timer{font-family:Georgia;color:var(--ink)}.toast{background:var(--ink);color:var(--bg);animation:pop .35s}.score{font:65px Georgia;color:var(--ink)}dialog{color:var(--ink);background:var(--surface);box-shadow:0 35px 100px #34071255;border:1px solid var(--line)}dialog[open]{animation:enter .4s both}dialog::backdrop{background:#2e091599;backdrop-filter:blur(10px)}#app{animation:enter .6s both}.statusbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;color:var(--muted);font-size:11px}.statusbar button{padding:7px 12px;font-size:11px}.save-dot{width:6px;height:6px;background:#6f9f64;border-radius:50%;display:inline-block;margin-right:6px}.intro{position:fixed;inset:0;z-index:80;background:var(--bg);display:grid;place-items:center;text-align:center;padding:24px;overflow-y:auto}.intro:before{content:'M';position:absolute;font:110vh Georgia;opacity:.035;transform:rotate(-15deg);pointer-events:none}.intro-inner{position:relative;max-width:760px;width:100%;animation:enter .8s both}.intro h1{font-size:clamp(60px,11vw,140px);line-height:.9;margin:28px 0;letter-spacing:-6px}.intro .intro-word{display:block;animation:blurIn 1.5s both}.intro .intro-word:nth-child(2){animation-delay:.2s;font-style:italic;color:var(--accent)}.intro p{max-width:530px;margin:25px auto}.intro .row{justify-content:center}.intro .row button{flex:0 1 auto;min-width:160px}.intro .choice{padding:28px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;cursor:pointer;transition:.3s}.intro .choice:hover{transform:translateY(-5px);border-color:var(--accent)}.intro .choice span{font-size:40px}.intro .choice h3{font-size:28px}.intro .grid2{grid-template-columns:1fr 1fr}.stepdots{display:flex;gap:9px;justify-content:center;margin:20px}.stepdots i{height:5px;width:28px;background:var(--line);border-radius:5px}.stepdots i.on{background:var(--accent)}.tut-icon{font-size:75px;animation:float 5s infinite}.tutorial-title{font-size:clamp(32px,6vw,56px)!important;letter-spacing:-2px!important}.spark{position:fixed;width:8px;height:8px;border-radius:2px;pointer-events:none;z-index:150;background:var(--gold);animation:spark .65s forwards}.feedback-tab{position:fixed;bottom:22px;right:22px;z-index:35;box-shadow:0 5px 24px #55132133}.feedback-box{position:fixed;bottom:84px;right:22px;width:min(360px,90vw);z-index:35}.feedback-box textarea{min-height:100px}.feedback-box .row button{padding:10px}.live-note{margin:18px 0;padding:15px 20px;border-radius:12px;background:var(--soft);animation:pop .35s}.pitch{background:repeating-linear-gradient(90deg,#3b794d 0 12%,#458655 12% 24%);height:120px;border:3px solid #b9d0ac;border-radius:10px;position:relative;display:grid;place-items:center;color:white;font:40px Georgia}.pitch:before{content:'';position:absolute;height:75px;width:75px;border:2px solid #c5dabb;border-radius:50%}.pitch:after{content:'';position:absolute;left:50%;height:100%;border-left:2px solid #c5dabb}.progress-track{display:flex;gap:4px;margin:14px 0}.progress-track i{flex:1;height:5px;background:var(--line);border-radius:3px}.progress-track i.done{background:var(--accent)}.big-symbol{text-align:center;font-size:70px;padding:20px}.chatlog{max-height:420px;overflow:auto}.chatbubble{padding:16px 20px;background:var(--soft);border-radius:18px 18px 18px 3px;margin:12px 0;white-space:pre-wrap;line-height:1.6}.chatbubble.user{margin-left:35px;background:var(--ink);color:var(--bg);border-radius:18px 18px 3px 18px}.customcards textarea{min-height:140px}.mode-banner{padding:12px 18px;border:1px dashed var(--gold);border-radius:10px;font-size:12px;margin-bottom:16px}.dark .art{filter:brightness(.8)}footer{color:var(--muted)}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes blurIn{from{opacity:0;filter:blur(18px);transform:translateY(30px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes float{50%{transform:translateY(-12px) rotate(5deg)}}@keyframes pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spark{to{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(100deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.spark{display:none}}@media(max-width:900px){aside{width:80px}.brand{font-size:14px}main{margin-left:80px;padding:22px}.hero h2{font-size:42px}.games{grid-template-columns:repeat(2,1fr)}.statusbar{flex-wrap:wrap}}@media(max-width:540px){h1{font-size:34px}.hero h2{font-size:37px}.hero{padding:25px;min-height:290px}.games{grid-template-columns:1fr}.intro h1{letter-spacing:-3px}.intro .grid2{grid-template-columns:1fr}.intro .row{flex-direction:column}.intro .row button{flex:auto;width:100%}.statusbar{font-size:10px}.feedback-tab{bottom:12px;right:12px;padding:10px 15px}.row>*{min-width:0}.art{height:170px}}
body[data-game="1"] .challenge{background:#f0dfbd;color:#553416;border-color:#c6a25c}body[data-game="2"] .challenge{background:#dce8e8;color:#1d4245;border-color:#5c8d91}body[data-game="3"] .challenge{background:#eadff0;color:#4c325b;border-color:#9673a9}body[data-game="4"] .challenge{background:#f3d8c8;color:#623b26;border-color:#bc7956}.dark[data-game] .challenge{background:var(--soft);color:var(--ink)}.dark[data-game] .challenge p{color:var(--ink)!important}.intro .choice p{font-family:Arial;font-size:14px}.intro .choice strong{font-family:Arial;font-size:13px}
.art{color:#4d111c}.hero .eyebrow{color:#e9c2ac!important}.intro button:focus-visible{outline-offset:5px}.statusbar .row{flex:none}.statusbar .row button{min-width:85px}@media(max-width:540px){.statusbar .row{flex-wrap:wrap;flex:1}.statusbar .row button{min-width:0}.sectionhead{flex-wrap:wrap;gap:12px}.sectionhead .eyebrow{font-size:9px}}
.remember-row{display:flex;align-items:center;gap:10px;font-size:13px}.remember-row input{width:auto;margin:0}.statusbar #familySessionButton{min-width:100px}#familyLogin #loginError,#conflictError{color:var(--accent);font-size:13px}#familyConflict .row{align-items:stretch}#familyConflict button{font-size:13px}#savedStatus{font-variant-numeric:tabular-nums}
