/* Scoped to the original mayor text panel: no changes to the office or game UI. */
#tutorialMenu,
#godfatherTextArea,
#godfatherTextArea * {
    user-select: none;
    -webkit-user-select: none;
}
#tutorialMenu .gv-tutorial { position:absolute; top:12%; left:4%; width:47%; height:45%; padding:20px; box-sizing:content-box; z-index:20; display:flex; flex-direction:column; overflow:hidden; color:#fff; background:rgba(0,0,0,.85); border:3px solid rgba(255,215,0,.8); border-radius:12px; font:14px/1.4 Arial,sans-serif; text-align:left; text-shadow:1px 1px 2px black; box-shadow:none; }
#tutorialMenu .gv-tutorial * { box-sizing:border-box; }
#tutorialMenu .gv-tutorial button, #tutorialMenu .gv-tutorial select { font:inherit; color:inherit; cursor:pointer; }
#tutorialMenu :where(.gv-tutorial) button { margin:0; border:1px solid #666; border-radius:6px; background:#333; padding:7px 11px; box-shadow:none; transition:background .15s, border-color .15s, transform .15s; }
#tutorialMenu :where(.gv-tutorial) button:hover { background:#555; border-color:#FFD700; }
#tutorialMenu .gv-tutorial button:active { transform:translateY(1px); }
#tutorialMenu .gv-tutorial button:focus-visible, #tutorialMenu .gv-tutorial select:focus-visible, #gvHandbookBody:focus-visible { outline:2px solid #FFD700; outline-offset:2px; }
#tutorialMenu .gv-tutorial button:disabled { opacity:.5; cursor:wait; }
#tutorialMenu .gv-tutorial .gv-primary { background:linear-gradient(45deg,#FFD700,#FFA500); color:#000; border-color:#FFD700; font-weight:700; }
#tutorialMenu .gv-tutorial .gv-primary:hover { background:#ffdf40; }
#tutorialMenu .gv-tutorial .gv-text-button { background:transparent; border-color:transparent; color:#ccc; font-size:12px; text-decoration:underline; text-underline-offset:3px; }
.gv-tutorial-header { display:flex; align-items:center; justify-content:center; flex-shrink:0; border-bottom:1px solid rgba(255,215,0,.6); padding-bottom:9px; margin-bottom:9px; gap:8px; }
#tutorialMenu #godfatherTextArea[data-view="guide"] { padding-top:12px; padding-bottom:12px; }
#tutorialMenu #godfatherTextArea[data-view="currency"] { padding-top:12px; padding-bottom:12px; }
#tutorialMenu #godfatherTextArea[data-view="gameplay"] { padding-top:12px; padding-bottom:12px; }
#godfatherTextArea[data-view="guide"] .gv-tutorial-header { display:none; }
#godfatherTextArea[data-view="currency"] .gv-tutorial-header { display:none; }
#godfatherTextArea[data-view="gameplay"] .gv-tutorial-header { display:none; }
#godfatherTextArea[data-view="currency"] #gvCurrency { display:flex; flex-direction:column; flex:1; min-height:0; gap:10px; overflow:hidden; }
#godfatherTextArea[data-view="currency"] #guideNavigation .gv-text-button { display:none; }
#godfatherTextArea[data-view="gameplay"] #gvGameplay { display:block; position:relative; flex:1; min-height:0; overflow:hidden; border:2px solid rgba(255,215,0,.65); border-radius:10px; background:#080808; outline:none; }
#godfatherTextArea[data-view="gameplay"] #guideNavigation .gv-text-button { display:none; }
.gv-currency h4 { margin:0; color:#FFD700; font-size:16px; text-align:center; flex-shrink:0; }
.gv-currency-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; flex:1; min-height:0; overflow:hidden; }
.gv-currency-list li { display:flex; align-items:flex-start; gap:12px; flex:1 1 auto; min-height:min-content; padding:10px 12px; background:#ffffff0b; border:1px solid rgba(255,215,0,.28); border-radius:10px; overflow:visible; box-sizing:border-box; }
.gv-currency-list img { width:40px; height:40px; object-fit:contain; flex:0 0 40px; margin-top:1px; }
.gv-currency-list li > div { min-width:0; flex:1; overflow:visible; }
.gv-currency-list strong { color:#FFD700; display:block; font-size:14px; line-height:1.2; margin-bottom:3px; }
.gv-currency-list span, .gv-currency-list small { display:block; color:#ccc; font-size:12px; line-height:1.35; overflow-wrap:break-word; }
.gv-currency-list small { color:#aaa; margin-top:2px; }
.gv-gameplay-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.gv-gameplay-overlay { position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:28px; background:rgba(0,0,0,.72); text-align:center; opacity:0; transition:opacity .2s ease; }
.gv-gameplay-overlay strong { color:#FFD700; font-size:18px; letter-spacing:1px; }
.gv-gameplay-overlay span { max-width:360px; color:#fff; font-size:15px; line-height:1.4; }
.gv-gameplay:hover .gv-gameplay-overlay,
.gv-gameplay:focus .gv-gameplay-overlay,
.gv-gameplay:focus-within .gv-gameplay-overlay { opacity:1; }
.gv-gameplay.is-showing-gif .gv-gameplay-overlay { opacity:0; }
.gv-gameplay-footer-hint { display:none; flex:1 1 auto; min-width:0; color:#fff; font-size:15px; line-height:1.45; text-align:center; }
#godfatherTextArea[data-view="gameplay"] #guideNavigation .gv-gameplay-footer-hint { display:block; }
.gv-gameplay-switch { position:absolute; top:8px; left:8px; z-index:4; display:flex; gap:6px; }
#tutorialMenu .gv-gameplay-switch button { padding:5px 11px; border:1px solid #ff4a4a; background:linear-gradient(45deg,#cc0000,#8f0000); color:#fff; font-size:10px; font-weight:700; text-shadow:1px 1px 2px #000; box-shadow:0 2px 5px rgba(0,0,0,.45); }
#tutorialMenu .gv-gameplay-switch button:hover { border-color:#ff7777; background:#e00000; color:#fff; }
#tutorialMenu .gv-gameplay-switch button[aria-pressed="true"] { border-color:#fff; background:linear-gradient(45deg,#ed1c24,#b00000); color:#fff; box-shadow:0 0 0 1px #cc0000,0 2px 6px rgba(0,0,0,.55); }
#tutorialMenu #contentTitle { color:#FFD700; font-size:18px; line-height:20px; margin:0; }
.gv-tutorial-seal { color:#aaa; font-size:8px; letter-spacing:1.3px; }
.gv-tutorial p { margin:5px 0; }
.gv-tutorial .gv-muted { color:#ccc; font-size:12px; }
.gv-tutorial-intro { flex:1; min-height:0; }
.gv-tutorial-intro p { text-align:center; line-height:1.55; margin:11px 0; }
#godfatherTextArea[data-view="skipConfirm"] { display:flex; flex-direction:column; }
#godfatherTextArea[data-view="skipConfirm"] .gv-tutorial-header { display:none; }
.gv-skip-confirm { display:flex; flex:1; align-items:center; justify-content:center; width:100%; min-height:0; padding:0; text-align:center; }
.gv-skip-inner { display:flex; flex-direction:column; align-items:center; width:100%; max-width:26em; }
.gv-skip-confirm p { margin:0; }
.gv-skip-title { margin:0 0 16px; color:#FFD700; font-size:18px; line-height:1.3; font-weight:700; }
.gv-skip-lead { color:#fff; font-size:15px; line-height:1.5; }
.gv-skip-note { width:100%; margin-top:14px; padding:12px 14px; border:1px solid rgba(255,215,0,.35); border-radius:8px; background:rgba(255,215,0,.08); color:#ddd; font-size:14px; line-height:1.5; box-sizing:border-box; }
.gv-skip-confirm strong { color:inherit; }
.gv-skip-amount { color:#4caf50 !important; }
.gv-skip-actions { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:20px; }
#tutorialMenu .gv-skip-actions button { min-width:118px; padding:10px 22px; font-weight:700; text-shadow:1px 1px 2px rgba(0,0,0,.4); box-shadow:0 4px 8px rgba(0,0,0,.3); }
#tutorialMenu #skipConfirmSkipBtn { background:linear-gradient(45deg,#6a6a6a,#4a4a4a); border-color:#6a6a6a; color:#fff; }
#tutorialMenu #skipConfirmSkipBtn:hover { background:#5a5a5a; border-color:#888; }
#tutorialMenu #skipConfirmTutorialBtn { background:linear-gradient(45deg,#cc0000,#9a0000); border-color:#cc0000; color:#fff; }
#tutorialMenu #skipConfirmTutorialBtn:hover { background:#e00000; border-color:#ff4a4a; }
#godfatherTextArea[data-view="mayor"] #godfatherMessage { display:grid; grid-template-rows:1fr auto auto 1fr; align-items:center; justify-items:center; gap:0; width:100%; min-height:0; flex:1; text-align:center; }
#godfatherTextArea[data-welcome-stage="preWonder"] .gv-tutorial-header,
#godfatherTextArea[data-welcome-stage="preDream"] .gv-tutorial-header { display:none; }
.gv-wonder-marks { display:flex; align-items:flex-end; justify-content:center; gap:22px; min-height:64px; }
.gv-wonder-marks b { margin:0; color:#fff; font:700 48px/1 "Courier New",monospace; text-shadow:2px 2px 0 #241000; opacity:1; animation:gv-wonder-pulse .5s ease-out both, gv-wonder-tick .8s ease-in-out .5s infinite; }
.gv-wonder-marks b:nth-child(1) { --rot:-14deg; font-size:44px; }
.gv-wonder-marks b:nth-child(2) { --rot:3deg; font-size:58px; animation-delay:.12s, .62s; }
.gv-wonder-marks b:nth-child(3) { --rot:12deg; font-size:42px; animation-delay:.24s, .74s; }
@keyframes gv-wonder-pulse { 0% { opacity:0; transform:translateY(10px) scale(.55) rotate(var(--rot,0deg)); } 42% { opacity:1; transform:translateY(-7px) scale(1.22) rotate(var(--rot,0deg)); } 100% { opacity:1; transform:translateY(0) scale(1) rotate(var(--rot,0deg)); } }
@keyframes gv-wonder-tick { 0%,100% { transform:translateY(0) scale(1) rotate(var(--rot,0deg)); } 50% { transform:translateY(-5px) scale(1.14) rotate(var(--rot,0deg)); } }
#godfatherTextArea[data-welcome-stage="sleep"] .gv-tutorial-header { display:none; }
#godfatherTextArea[data-welcome-stage="sleep"] #godfatherMessage { display:flex; align-items:center; justify-content:center; }
#godfatherTextArea[data-welcome-stage="sleep"] .gv-welcome-main { display:none; }
#godfatherTextArea[data-welcome-stage="sleep"] .gv-welcome-below { width:100%; min-height:0; margin:0; }
#godfatherTextArea[data-welcome-stage="dream"] .gv-tutorial-header { display:none; }
#godfatherTextArea[data-welcome-stage="dream"] #godfatherMessage { display:flex; align-items:center; justify-content:center; }
#godfatherTextArea[data-welcome-stage="dream"] .gv-welcome-below { display:none; }
#godfatherTextArea[data-welcome-stage="dream"] .gv-welcome-main { width:100%; height:100%; display:block; position:relative; overflow:visible; }
#godfatherTextArea[data-welcome-stage="dream"] #godfatherMessage { overflow:visible; }
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"] { border-color:rgba(255,215,0,.8); box-shadow:none; animation:none; transition:border-color 1.1s ease, box-shadow 1.1s ease; }
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-night),
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-storm),
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-clouds) { border-color:#3a4a9a; box-shadow:0 0 14px rgba(50,40,140,.28); transition:border-color 1.5s ease, box-shadow 1.5s ease; }
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-awake) { animation:gv-dream-frame 2.6s ease-in-out infinite; }
#tutorialMenu #godfatherTextArea.is-dream-return { animation:none!important; border-color:rgba(255,215,0,.8)!important; box-shadow:none!important; transition:border-color 2.6s ease, box-shadow 2.6s ease; }
.gv-mayor-welcome.is-leaving .gv-welcome-main,
.gv-mayor-welcome.is-leaving .gv-welcome-below { opacity:0; transition:opacity .28s ease; }
.gv-mayor-welcome.is-dream-out .gv-welcome-main { opacity:0; filter:blur(6px); transition:opacity 1.6s ease, filter 1.6s ease; }
.gv-welcome-name-store { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.gv-welcome-main { grid-row:2; width:100%; display:flex; justify-content:center; align-items:center; }
.gv-welcome-below { grid-row:3; width:100%; display:flex; flex-direction:column; align-items:center; gap:8px; margin-top:10px; min-height:42px; }
.gv-welcome-below[hidden], .gv-welcome-deed[hidden], .gv-welcome-line[hidden], .gv-sign-wait[hidden], .gv-sign-row[hidden],
.gv-welcome-citizen[hidden], .gv-welcome-cozy[hidden], .gv-welcome-sent[hidden], .gv-mayor-dream[hidden],
#gvWelcomeContinueBtn[hidden], #gvWelcomeStartBtn[hidden] { display:none !important; }
#tutorialMenu .gv-mayor-welcome p.gv-welcome-line,
#tutorialMenu .gv-mayor-welcome p.gv-welcome-citizen { margin:0 auto; max-width:94%; font-size:16px; line-height:1.45; text-align:center; color:#fff; }
#tutorialMenu .gv-mayor-welcome p.gv-welcome-line { display:flex; flex-direction:column; align-items:center; gap:4px; }
#godfatherTextArea[data-welcome-stage="wakeDream"] .gv-welcome-line,
#godfatherTextArea[data-welcome-stage="wakeDream"] .gv-welcome-sent { max-width:none; width:calc(100% + 28px); margin-left:-14px; margin-right:-14px; white-space:nowrap; overflow:visible; }
.gv-welcome-sent { display:block; }
.gv-type-ch { opacity:0; }
.gv-type-ch.is-on { opacity:1; }
.gv-welcome-gold, .gv-welcome-name, #playerNameWelcomeIntro { color:orange; font-weight:bold; }
.gv-welcome-red { color:#ff0000; font-weight:bold; }
.gv-welcome-reallife { position:relative; display:inline-block; white-space:nowrap; color:#9b7ed9; font-weight:bold; }
.gv-welcome-reallife .gv-type-ch { color:#9b7ed9; font-weight:bold; }
.gv-welcome-reallife.is-haze { animation:gv-reallife-shiver .75s linear 1 both; }
.gv-reallife-smoke { position:absolute; left:50%; top:40%; width:0; height:0; pointer-events:none; opacity:0; }
.gv-welcome-reallife.is-haze .gv-reallife-smoke { opacity:1; }
.gv-reallife-smoke i { position:absolute; left:0; top:0; width:18px; height:13px; margin:0; border-radius:55% 45% 50% 50%; background:radial-gradient(ellipse at 50% 55%, rgba(180,160,235,.5) 0%, rgba(110,80,190,.18) 46%, transparent 74%); filter:blur(2px); opacity:0; animation:gv-reallife-wisp 1.15s ease-out forwards; }
.gv-reallife-smoke i:nth-child(1) { --wx:-14px; --wr:-14deg; }
.gv-reallife-smoke i:nth-child(2) { --wx:4px; --wr:8deg; animation-delay:.05s; }
.gv-reallife-smoke i:nth-child(3) { --wx:16px; --wr:12deg; animation-delay:.1s; }
.gv-reallife-smoke b { position:absolute; left:0; top:0; width:4px; height:6px; margin:0; border-radius:55% 55% 60% 60%; background:linear-gradient(180deg,#efe8ff 0%,#b79cff 42%,#7a5ad0 100%); box-shadow:0 0 5px rgba(170,140,255,.85); opacity:0; animation:gv-reallife-sweat .85s ease-out forwards; }
.gv-reallife-smoke b:nth-child(4) { --sx:-16px; --sy:-20px; --sr:-28deg; }
.gv-reallife-smoke b:nth-child(5) { --sx:2px; --sy:-24px; --sr:8deg; animation-delay:.04s; }
.gv-reallife-smoke b:nth-child(6) { --sx:18px; --sy:-18px; --sr:26deg; animation-delay:.08s; }
.gv-reallife-smoke b:nth-child(7) { --sx:-8px; --sy:-12px; --sr:-12deg; animation-delay:.12s; width:3px; height:5px; }
.gv-reallife-smoke b:nth-child(8) { --sx:12px; --sy:-10px; --sr:18deg; animation-delay:.16s; width:3px; height:5px; }
.gv-reallife-smoke b:nth-child(9) { --sx:-2px; --sy:-28px; --sr:-4deg; animation-delay:.2s; }
@keyframes gv-reallife-shiver {
    0%,100% { transform:translate(0,0) rotate(0); }
    10% { transform:translate(-2px,1px) rotate(-1.6deg); }
    20% { transform:translate(2px,-1px) rotate(1.4deg); }
    30% { transform:translate(-2px,-1px) rotate(-1.2deg); }
    40% { transform:translate(2px,1px) rotate(1.5deg); }
    50% { transform:translate(-1px,-2px) rotate(-1deg); }
    60% { transform:translate(2px,1px) rotate(1.2deg); }
    70% { transform:translate(-2px,0) rotate(-.8deg); }
    80% { transform:translate(1px,-1px) rotate(.9deg); }
    90% { transform:translate(-1px,1px) rotate(-.6deg); }
}
@keyframes gv-reallife-wisp {
    0% { opacity:0; transform:translate(-50%,4px) scale(.5) rotate(var(--wr)); }
    16% { opacity:.7; }
    100% { opacity:0; transform:translate(calc(-50% + var(--wx)),-22px) scale(1.2) rotate(calc(var(--wr) + 10deg)); }
}
@keyframes gv-reallife-sweat {
    0% { opacity:0; transform:translate(-50%,0) scale(.4) rotate(var(--sr)); }
    12% { opacity:1; }
    100% { opacity:0; transform:translate(calc(-50% + var(--sx)),var(--sy)) scale(.85) rotate(calc(var(--sr) + 18deg)); }
}
#tutorialMenu button.gv-welcome-yes { margin:0 auto; background:linear-gradient(45deg,#FFD700,#FFA500); border:2px solid #FFD700; color:#000; font:bold 14px/1.2 Arial,sans-serif; padding:10px 22px; border-radius:8px; text-shadow:1px 1px 2px rgba(255,255,255,.3); }
#tutorialMenu button.gv-welcome-yes.is-in { animation:gv-welcome-hello .45s ease both; }
#tutorialMenu button.gv-welcome-yes.is-startled { animation:gv-hello-shock .44s steps(1,end) both; }
#tutorialMenu button.gv-welcome-yes.is-wait { visibility:hidden; pointer-events:none; animation:none; }
#tutorialMenu button.gv-welcome-yes:hover { background:#ffdf40; transform:scale(1.04); }
#tutorialMenu #gvWelcomeStartBtn { display:flex; flex-direction:column; align-items:center; gap:1px; min-width:190px; padding:8px 20px; }
#tutorialMenu #gvWelcomeStartBtn > span { display:block; font-size:14px; line-height:17px; }
#tutorialMenu #gvWelcomeStartBtn > small { display:block; color:#000; font-size:9px; line-height:13px; letter-spacing:.25px; text-shadow:none; white-space:nowrap; }
#tutorialMenu #gvWelcomeStartBtn .gv-start-reward { display:inline; color:#176b2b; font-weight:800; }
#tutorialMenu #gvWelcomeStartBtn small img { width:12px; height:12px; margin-left:3px; object-fit:contain; vertical-align:-3px; image-rendering:pixelated; }
.gv-welcome-deed { display:flex; align-items:center; justify-content:center; width:100%; }
.gv-tutorial-intro.gv-mayor-welcome p.gv-sign-wait { display:flex; align-items:center; justify-content:center; gap:7px; margin:0; height:30px; }
.gv-sign-wait span { display:block; width:11px; height:11px; background:#FFD700; box-shadow:3px 3px 0 #8f6500; image-rendering:pixelated; animation:gv-wait-dot 1s steps(2,end) infinite; }
.gv-sign-wait span:nth-child(2) { animation-delay:.12s; }
.gv-sign-wait span:nth-child(3) { animation-delay:.24s; }
.gv-sign-wait span:nth-child(4) { animation-delay:.36s; }
.gv-sign-wait span:nth-child(5) { animation-delay:.48s; }
.gv-sign-row { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; }
.gv-sign-pad { position:relative; width:min(100%, 250px); height:48px; overflow:visible; }
.gv-sign-inktext { display:block; width:100%; text-align:center; font:italic 700 22px/48px "Segoe Script","Lucida Handwriting","Brush Script MT",cursive; color:#f3e6c4; letter-spacing:.4px; white-space:nowrap; text-shadow:0 0 8px rgba(212,175,55,.35); clip-path:inset(0 100% 0 0); }
.gv-sign-pad::after { content:""; position:absolute; left:8%; right:8%; bottom:8px; height:2px; background:linear-gradient(90deg,transparent,#d4af37 12%,#FFD700,#d4af37 88%,transparent); transform:scaleX(0); transform-origin:left; }
.gv-sign-pen { position:absolute; top:4px; left:6%; width:9px; height:26px; background:linear-gradient(180deg,#3a3a3a,#111); border:1px solid #FFD700; border-radius:2px 2px 1px 1px; transform:rotate(-38deg); transform-origin:50% 100%; opacity:0; pointer-events:none; z-index:2; }
.gv-sign-pen::after { content:""; position:absolute; left:50%; bottom:-8px; width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:8px solid #c9a227; transform:translateX(-50%); }
.gv-welcome-stamp { position:relative; flex:0 0 72px; width:72px; height:72px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; border:3px solid #cc0000; border-radius:50%; color:#cc0000; background:rgba(80,0,0,.22); box-shadow:0 0 0 3px rgba(204,0,0,.35), inset 0 0 0 2px #cc0000; transform:rotate(-18deg) scale(1.6); opacity:0; text-shadow:none; }
.gv-welcome-stamp::before { content:""; position:absolute; inset:5px; border:1px dashed #cc0000; border-radius:50%; }
.gv-welcome-stamp>span { font-size:8px; letter-spacing:1.2px; text-transform:uppercase; }
.gv-welcome-stamp>time { font-size:11px; font-weight:700; line-height:1.1; color:#ff2222; }
.gv-welcome-stamp>small { font-size:8px; letter-spacing:.4px; }
.gv-mayor-welcome[data-welcome="found"] .gv-welcome-line { animation:gv-welcome-hello .45s ease both; }
.gv-mayor-welcome[data-welcome="wait"] .gv-sign-wait { animation:gv-welcome-hello .4s ease both; }
.gv-mayor-welcome[data-welcome="sign"] .gv-sign-inktext { animation:gv-sign-write 2.8s ease both; }
.gv-mayor-welcome[data-welcome="sign"] .gv-sign-pad::after { animation:gv-welcome-bar .5s ease 2.3s both; }
.gv-mayor-welcome[data-welcome="sign"] .gv-sign-pen { animation:gv-sign-pen 2.8s ease both; }
.gv-mayor-welcome[data-welcome="stamp"] .gv-sign-inktext { clip-path:none; }
.gv-mayor-welcome[data-welcome="stamp"] .gv-sign-pad::after { transform:scaleX(1); }
.gv-mayor-welcome[data-welcome="stamp"] .gv-sign-pen { display:none; }
.gv-mayor-welcome[data-welcome="stamp"] .gv-welcome-stamp { animation:gv-stamp-press .55s cubic-bezier(.15,1.4,.4,1) both; }
.gv-mayor-welcome[data-welcome="stamp"] .gv-welcome-citizen { animation:gv-welcome-hello .45s ease both; }
.gv-mayor-welcome[data-welcome="stamp"] #gvWelcomeStartBtn { margin-top:16px; animation:gv-welcome-hello .45s ease .35s both; }
@keyframes gv-welcome-hello { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
@keyframes gv-hello-shock { 0%,100% { transform:none; } 12% { transform:translate(-7px,1px) rotate(-2deg); } 25% { transform:translate(7px,-1px) rotate(2deg); } 38% { transform:translate(-6px,-1px) rotate(-2deg); } 51% { transform:translate(5px,1px) rotate(1deg); } 64% { transform:translate(-4px,0) rotate(-1deg); } 77% { transform:translate(3px,-1px) rotate(1deg); } 90% { transform:translate(-1px,0); } }
@keyframes gv-welcome-name { 0% { text-shadow:none; } 45% { text-shadow:0 0 14px orange; } 100% { text-shadow:0 0 4px rgba(255,165,0,.45); } }
@keyframes gv-sign-write { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0 0 0 0); } }
@keyframes gv-welcome-bar { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes gv-sign-pen { 0% { left:6%; opacity:1; } 85% { opacity:1; } 100% { left:88%; opacity:0; } }
@keyframes gv-wait-dot { 0%,100% { opacity:.25; transform:translateY(4px); } 50% { opacity:1; transform:translateY(-5px); } }
@keyframes gv-stamp-press { 0% { opacity:0; transform:rotate(-32deg) scale(1.7) translateY(-22px); } 72% { opacity:1; transform:rotate(-12deg) scale(1.06); } 100% { opacity:.95; transform:rotate(-16deg) scale(1); } }
.gv-mayor-dream { position:absolute; inset:-20px; width:auto; height:auto; min-height:0; overflow:hidden; background:#000; transform:scale(1.07); }
.gv-dream-twinkles { position:absolute; inset:0; z-index:6; pointer-events:none; opacity:0; transition:opacity 1.5s ease; mix-blend-mode:screen; }
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-night) > .gv-dream-twinkles,
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-storm) > .gv-dream-twinkles,
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-clouds) > .gv-dream-twinkles,
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-awake) > .gv-dream-twinkles { opacity:1; }
#tutorialMenu #godfatherTextArea[data-welcome-stage="dream"]:has(.is-dream-out) > .gv-dream-twinkles { opacity:0; transition:opacity 1.6s ease; }
.gv-dream-twinkles i { position:absolute; width:var(--s, 2px); height:var(--s, 2px); margin:0; border-radius:50%; background:#fff; box-shadow:0 0 5px rgba(210,190,255,.95), 0 0 10px rgba(150,120,230,.45); opacity:.2; animation:gv-screen-twinkle 2s ease-in-out infinite; }
.gv-dream-twinkles i:nth-child(3n) { background:#efe7ff; }
.gv-dream-twinkles i:nth-child(4n) { background:#cbb6ff; }
.gv-dream-twinkles i:nth-child(5n)::after { content:""; position:absolute; left:50%; top:50%; width:7px; height:1px; margin:-.5px 0 0 -3.5px; background:linear-gradient(90deg,transparent,#fff,transparent); opacity:.8; }
.gv-dream-twinkles i:nth-child(5n)::before { content:""; position:absolute; left:50%; top:50%; width:1px; height:7px; margin:-3.5px 0 0 -.5px; background:linear-gradient(180deg,transparent,#fff,transparent); opacity:.8; }
@keyframes gv-screen-twinkle { 0%,100% { opacity:.08; transform:scale(.6); } 45% { opacity:.95; transform:scale(1.25); } 55% { opacity:.35; transform:scale(.9); } }
.gv-dream-space { position:absolute; inset:0; z-index:1; opacity:0; pointer-events:none; transition:opacity 1.35s ease; }
.gv-mayor-dream.is-storm .gv-dream-space { opacity:1; }
.gv-mayor-dream.is-clouds .gv-dream-space,
.gv-mayor-dream.is-awake .gv-dream-space { opacity:0; transition:opacity 1.7s ease; }
.gv-dream-stars { position:absolute; left:0; right:0; top:0; height:74%; overflow:hidden; }
.gv-dream-stars i { position:absolute; width:var(--s, 2px); height:var(--s, 2px); margin:0; border-radius:50%; background:#fff; box-shadow:0 0 4px rgba(255,255,255,.85); opacity:.75; animation:gv-dream-star-twinkle 3.4s ease-in-out infinite; }
.gv-dream-stars i:nth-child(3n) { background:#dbe7ff; }
.gv-dream-stars i:nth-child(4n) { background:#fff4d6; }
.gv-dream-world { position:absolute; left:50%; bottom:0; z-index:1; width:73%; height:48%; max-width:none; margin:0; transform:translateX(-50%); object-fit:fill; object-position:bottom center; image-rendering:pixelated; pointer-events:none; filter:drop-shadow(0 -10px 22px rgba(70,140,255,.22)); }
.gv-dream-world.is-quake { animation:gv-dream-world-quake .4s linear; }
@keyframes gv-dream-world-quake {
    0%,100% { transform:translateX(-50%); }
    12% { transform:translateX(calc(-50% - 8px)) translateY(3px); }
    24% { transform:translateX(calc(-50% + 9px)) translateY(-2px); }
    36% { transform:translateX(calc(-50% - 6px)) translateY(2px); }
    50% { transform:translateX(calc(-50% + 7px)) translateY(-3px); }
    64% { transform:translateX(calc(-50% - 4px)) translateY(1px); }
    78% { transform:translateX(calc(-50% + 3px)) translateY(-1px); }
    90% { transform:translateX(calc(-50% - 2px)); }
}
@keyframes gv-dream-star-twinkle { 0%,100% { opacity:.28; transform:scale(.75); } 50% { opacity:1; transform:scale(1.15); } }
.gv-dream-brain { position:absolute; left:50%; top:50%; z-index:3; width:min(62%, 280px); height:auto; margin:0; --brain-from:.94; transform:translate(-50%,-50%) scale(var(--brain-from)); object-fit:contain; image-rendering:pixelated; pointer-events:none; opacity:1; animation:gv-dream-brain-sleep 2.8s ease-in-out infinite; }
.gv-dream-zzz { position:absolute; left:50%; top:42%; z-index:4; width:0; height:0; pointer-events:none; transition:opacity 1.2s ease; }
.gv-dream-zzz span { position:absolute; left:44px; top:0; font:800 28px/1 "Courier New", Courier, monospace; color:#ffe7a3; text-shadow:0 0 10px rgba(255,214,96,.95), 0 2px 0 #3a2200; letter-spacing:1px; opacity:0; animation:gv-dream-zzz 2.6s ease-in-out infinite; }
.gv-dream-zzz span:nth-child(1) { --zzz-x:22px; --zzz-y:-28px; font-size:18px; animation-delay:-2s; }
.gv-dream-zzz span:nth-child(2) { --zzz-x:40px; --zzz-y:-52px; font-size:26px; animation-delay:-1.65s; }
.gv-dream-zzz span:nth-child(3) { --zzz-x:58px; --zzz-y:-78px; font-size:22px; animation-delay:-1.3s; }
.gv-dream-zzz span:nth-child(4) { --zzz-x:78px; --zzz-y:-106px; font-size:34px; animation-delay:-.95s; }
.gv-dream-zzz span:nth-child(5) { --zzz-x:34px; --zzz-y:-40px; font-size:16px; animation-delay:-.6s; }
.gv-dream-zzz span:nth-child(6) { --zzz-x:96px; --zzz-y:-128px; font-size:40px; animation-delay:-.25s; }
.gv-mayor-dream.is-brain-in .gv-dream-zzz,
.gv-mayor-dream.is-storm .gv-dream-zzz { opacity:0; }
.gv-mayor-dream.is-brain-in .gv-dream-brain { animation:gv-dream-brain-enter 3.8s cubic-bezier(.32,0,.2,1) forwards; }
.gv-mayor-dream.is-storm .gv-dream-brain { animation:none; opacity:0; }
@keyframes gv-dream-brain-sleep { 0%,100% { transform:translate(-50%,-50%) scale(.94); } 50% { transform:translate(-50%,-50%) scale(1); } }
@keyframes gv-dream-brain-enter {
    0% { transform:translate(-50%,-50%) scale(var(--brain-from, .94)); opacity:1; filter:none; }
    100% { transform:translate(-50%,-50%) scale(4.2); opacity:0; filter:blur(4px); }
}
@keyframes gv-dream-zzz { 0% { opacity:0; transform:translate(0,10px) scale(.7) rotate(-8deg); } 12% { opacity:1; } 62% { opacity:1; } 100% { opacity:0; transform:translate(var(--zzz-x),var(--zzz-y)) scale(1.18) rotate(10deg); } }
.gv-mayor-dream.is-clouds { transform:scale(1.03); transition:transform 1.8s ease; }
.gv-mayor-dream.is-awake { transform:none; transition:transform 1.6s ease; }
.gv-dream-smoke { position:absolute; inset:-8%; pointer-events:none; opacity:0; }
.gv-mayor-dream.is-clouds .gv-dream-smoke--far { animation:gv-dream-smoke-in 2.8s ease forwards; }
.gv-mayor-dream.is-clouds .gv-dream-smoke--grey { animation:gv-dream-smoke-in 2.8s ease .3s forwards; }
.gv-mayor-dream.is-clouds .gv-dream-smoke--mid { animation:gv-dream-smoke-in 2.8s ease .55s forwards; }
.gv-mayor-dream.is-clouds .gv-dream-smoke--near { animation:gv-dream-smoke-in 2.8s ease .85s forwards; }
.gv-dream-smoke span { position:absolute; display:block; border-radius:47% 53% 58% 42% / 57% 44% 56% 43%; --dream-cloud-opacity:.7; --dream-cloud-rotation:0deg; animation:gv-dream-billow 7.4s ease-in-out infinite; }
.gv-dream-smoke--far { z-index:0; }
.gv-dream-smoke--grey { z-index:1; }
.gv-dream-smoke--mid { z-index:1; }
.gv-dream-smoke--near { z-index:2; }
.gv-dream-smoke--far span { filter:blur(16px); background:radial-gradient(ellipse at 40% 48%, rgba(58,62,130,.95) 0%, rgba(28,24,80,.58) 46%, transparent 74%); }
.gv-dream-smoke--grey span { filter:blur(11px); background:radial-gradient(ellipse at 48% 52%, rgba(176,176,176,.88) 0%, rgba(122,122,122,.42) 48%, transparent 72%); }
.gv-dream-smoke--mid span { filter:blur(9px); background:radial-gradient(ellipse at 55% 42%, rgba(128,110,190,.9) 0%, rgba(62,52,130,.46) 48%, transparent 72%); }
.gv-dream-smoke--near span { filter:blur(5px); background:radial-gradient(ellipse at 46% 54%, rgba(186,170,230,.78) 0%, rgba(90,82,160,.32) 50%, transparent 70%); }
.gv-dream-smoke--far span:nth-child(1) { left:-2%; top:4%; width:44%; height:40%; --dream-cloud-rotation:-8deg; --dream-cloud-opacity:.92; }
.gv-dream-smoke--far span:nth-child(2) { left:30%; top:-4%; width:44%; height:34%; animation-delay:-2.1s; --dream-cloud-rotation:7deg; --dream-cloud-opacity:.8; }
.gv-dream-smoke--far span:nth-child(3) { right:-2%; top:6%; width:42%; height:42%; animation-delay:-3.8s; --dream-cloud-rotation:-5deg; --dream-cloud-opacity:.88; }
.gv-dream-smoke--far span:nth-child(4) { left:-4%; bottom:2%; width:46%; height:38%; animation-delay:-1.2s; --dream-cloud-rotation:6deg; --dream-cloud-opacity:.86; }
.gv-dream-smoke--far span:nth-child(5) { right:-4%; bottom:0; width:44%; height:40%; animation-delay:-4.6s; --dream-cloud-rotation:-7deg; --dream-cloud-opacity:.82; }
.gv-dream-smoke--far span:nth-child(6) { left:22%; top:28%; width:56%; height:42%; animation-delay:-5.4s; --dream-cloud-opacity:.55; }
.gv-dream-smoke--far span:nth-child(7) { left:-6%; top:34%; width:32%; height:44%; animation-delay:-.7s; --dream-cloud-rotation:10deg; --dream-cloud-opacity:.7; }
.gv-dream-smoke--far span:nth-child(8) { right:-6%; top:32%; width:30%; height:46%; animation-delay:-6.1s; --dream-cloud-rotation:-11deg; --dream-cloud-opacity:.68; }
.gv-dream-smoke--grey span:nth-child(1) { left:24%; top:4%; width:38%; height:28%; --dream-cloud-rotation:8deg; --dream-cloud-opacity:.8; }
.gv-dream-smoke--grey span:nth-child(2) { left:36%; top:30%; width:32%; height:26%; animation-delay:-1.5s; --dream-cloud-rotation:-7deg; --dream-cloud-opacity:.72; }
.gv-dream-smoke--grey span:nth-child(3) { left:14%; top:40%; width:26%; height:24%; animation-delay:-2.8s; --dream-cloud-rotation:11deg; --dream-cloud-opacity:.7; }
.gv-dream-smoke--grey span:nth-child(4) { right:12%; top:38%; width:28%; height:24%; animation-delay:-3.6s; --dream-cloud-rotation:-9deg; --dream-cloud-opacity:.68; }
.gv-dream-smoke--grey span:nth-child(5) { left:28%; bottom:6%; width:42%; height:28%; animation-delay:-.8s; --dream-cloud-rotation:6deg; --dream-cloud-opacity:.78; }
.gv-dream-smoke--grey span:nth-child(6) { left:6%; bottom:28%; width:24%; height:22%; animation-delay:-4.4s; --dream-cloud-rotation:-12deg; --dream-cloud-opacity:.64; }
.gv-dream-smoke--grey span:nth-child(7) { right:4%; bottom:26%; width:24%; height:22%; animation-delay:-5.3s; --dream-cloud-rotation:10deg; --dream-cloud-opacity:.62; }
.gv-dream-smoke--grey span:nth-child(8) { left:40%; top:56%; width:26%; height:20%; animation-delay:-6.2s; --dream-cloud-rotation:-6deg; --dream-cloud-opacity:.6; }
.gv-dream-smoke--mid span:nth-child(1) { left:4%; top:12%; width:34%; height:28%; --dream-cloud-rotation:9deg; --dream-cloud-opacity:.84; border-radius:62% 38% 56% 44% / 40% 60% 36% 64%; }
.gv-dream-smoke--mid span:nth-child(2) { left:34%; top:2%; width:36%; height:26%; animation-delay:-1.8s; --dream-cloud-rotation:-10deg; --dream-cloud-opacity:.78; border-radius:36% 64% 46% 54% / 62% 34% 66% 38%; }
.gv-dream-smoke--mid span:nth-child(3) { right:2%; top:14%; width:34%; height:30%; animation-delay:-3.3s; --dream-cloud-rotation:6deg; --dream-cloud-opacity:.82; }
.gv-dream-smoke--mid span:nth-child(4) { left:8%; bottom:8%; width:32%; height:26%; animation-delay:-2.5s; --dream-cloud-rotation:-8deg; --dream-cloud-opacity:.76; }
.gv-dream-smoke--mid span:nth-child(5) { right:6%; bottom:6%; width:34%; height:28%; animation-delay:-4.2s; --dream-cloud-rotation:8deg; --dream-cloud-opacity:.8; }
.gv-dream-smoke--mid span:nth-child(6) { left:28%; top:36%; width:30%; height:24%; animation-delay:-.9s; --dream-cloud-rotation:-12deg; --dream-cloud-opacity:.58; }
.gv-dream-smoke--mid span:nth-child(7) { left:46%; top:40%; width:28%; height:22%; animation-delay:-5.2s; --dream-cloud-rotation:5deg; --dream-cloud-opacity:.56; }
.gv-dream-smoke--mid span:nth-child(8) { left:18%; top:48%; width:26%; height:22%; animation-delay:-3.9s; --dream-cloud-rotation:14deg; --dream-cloud-opacity:.54; border-radius:50% 50% 40% 60% / 70% 30% 70% 30%; }
.gv-dream-smoke--mid span:nth-child(9) { left:40%; top:20%; width:28%; height:20%; animation-delay:-6.4s; --dream-cloud-rotation:-14deg; --dream-cloud-opacity:.5; }
.gv-dream-smoke--near span:nth-child(1) { left:14%; top:22%; width:24%; height:18%; --dream-cloud-rotation:-6deg; --dream-cloud-opacity:.72; border-radius:72% 28% 58% 42% / 38% 62% 38% 62%; }
.gv-dream-smoke--near span:nth-child(2) { right:14%; top:20%; width:26%; height:17%; animation-delay:-2.2s; --dream-cloud-rotation:9deg; --dream-cloud-opacity:.68; }
.gv-dream-smoke--near span:nth-child(3) { left:18%; bottom:18%; width:22%; height:17%; animation-delay:-3.6s; --dream-cloud-rotation:7deg; --dream-cloud-opacity:.62; }
.gv-dream-smoke--near span:nth-child(4) { right:16%; bottom:20%; width:24%; height:16%; animation-delay:-1.4s; --dream-cloud-rotation:-10deg; --dream-cloud-opacity:.66; }
.gv-dream-smoke--near span:nth-child(5) { left:38%; top:52%; width:20%; height:15%; animation-delay:-4.8s; --dream-cloud-rotation:12deg; --dream-cloud-opacity:.58; }
.gv-dream-aura { position:absolute; inset:0; pointer-events:none; z-index:2; opacity:0; }
.gv-mayor-dream.is-awake .gv-dream-aura { opacity:1; transition:opacity 1.2s ease; }
.gv-dream-aura-wash { position:absolute; inset:0; background:radial-gradient(ellipse at 28% 38%, rgba(48,70,170,.34) 0%, transparent 52%), radial-gradient(ellipse at 74% 62%, rgba(92,36,160,.3) 0%, transparent 50%), radial-gradient(ellipse at 50% 50%, rgba(28,18,90,.2) 0%, transparent 70%); mix-blend-mode:screen; animation:gv-dream-wash 4.2s ease-in-out infinite; }
.gv-dream-aura-ring { position:absolute; left:50%; top:50%; width:82%; height:58%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(ellipse at 50% 50%, rgba(78,90,210,.38) 0%, rgba(92,40,170,.24) 38%, rgba(20,16,80,.12) 58%, transparent 72%); filter:blur(16px); animation:gv-dream-aura-breathe 2.4s ease-in-out infinite; }
.gv-dream-aura-ring--shift { width:68%; height:46%; background:radial-gradient(ellipse at 50% 50%, rgba(140,80,230,.28) 0%, rgba(40,30,140,.16) 42%, transparent 70%); animation-delay:-1.2s; }
.gv-mayor-dream.is-strike-left .gv-dream-aura-ring,
.gv-mayor-dream.is-strike-center .gv-dream-aura-ring,
.gv-mayor-dream.is-strike-right .gv-dream-aura-ring { filter:blur(14px) brightness(1.35); }
.gv-dream-vignette { position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%, transparent 36%, rgba(10,8,40,.34) 68%, rgba(4,2,18,.68) 100%); }
.gv-dream-aura i { position:absolute; width:7px; height:7px; border-radius:50%; background:radial-gradient(circle, rgba(190,200,255,.95) 0%, rgba(110,80,220,.55) 40%, transparent 72%); filter:blur(1px); animation:gv-dream-mote 5.6s ease-in-out infinite; }
.gv-dream-aura i:nth-child(5) { left:16%; top:22%; animation-delay:-.6s; }
.gv-dream-aura i:nth-child(6) { left:78%; top:18%; width:5px; height:5px; animation-delay:-1.8s; }
.gv-dream-aura i:nth-child(7) { left:22%; top:70%; animation-delay:-2.7s; }
.gv-dream-aura i:nth-child(8) { left:72%; top:74%; width:6px; height:6px; animation-delay:-3.4s; }
.gv-dream-aura i:nth-child(9) { left:48%; top:16%; width:4px; height:4px; animation-delay:-4.1s; }
.gv-dream-aura i:nth-child(10) { left:54%; top:80%; width:5px; height:5px; animation-delay:-5s; }
.gv-dream-flash { position:absolute; inset:0; opacity:0; pointer-events:none; z-index:2; mix-blend-mode:screen; }
.gv-dream-flash--left { background:radial-gradient(ellipse 70% 88% at 18% 8%, rgba(255,122,18,.58) 0%, rgba(255,140,36,.32) 28%, rgba(226,126,37,.12) 52%, transparent 74%); }
.gv-dream-flash--center { background:radial-gradient(ellipse 70% 92% at 50% 0%, rgba(255,122,18,.56) 0%, rgba(255,140,36,.3) 30%, rgba(226,126,37,.1) 54%, transparent 76%); }
.gv-dream-flash--right { background:radial-gradient(ellipse 70% 88% at 82% 8%, rgba(255,122,18,.58) 0%, rgba(255,140,36,.32) 28%, rgba(226,126,37,.12) 52%, transparent 74%); }
.gv-mayor-dream.is-strike-left .gv-dream-flash--left,
.gv-mayor-dream.is-strike-center .gv-dream-flash--center,
.gv-mayor-dream.is-strike-right .gv-dream-flash--right { animation:gv-dream-orange-flash .45s ease-out; }
.gv-dream-bolt { position:absolute; top:-4%; width:42%; height:66%; opacity:0; pointer-events:none; z-index:4; filter:drop-shadow(0 0 5px rgba(255,140,40,.7)) drop-shadow(0 0 14px rgba(255,100,0,.5)) drop-shadow(0 0 28px rgba(255,80,0,.3)); transform-origin:top center; }
.gv-dream-bolt svg { display:block; width:100%; height:100%; overflow:visible; }
.gv-dream-bolt--left { left:10%; }
.gv-dream-bolt--center { left:50%; width:36%; transform:translateX(-50%); }
.gv-dream-bolt--right { right:10%; }
.gv-mayor-dream.is-strike-left .gv-dream-bolt--left,
.gv-mayor-dream.is-strike-center .gv-dream-bolt--center,
.gv-mayor-dream.is-strike-right .gv-dream-bolt--right { animation:gv-dream-bolt .45s ease-out; }
.gv-mayor-dream.is-strike-center .gv-dream-bolt--center { animation-name:gv-dream-bolt-center; }
@keyframes gv-dream-bolt-center { 0% { opacity:0; transform:translateX(-50%) translateY(-8px) scaleY(.92); } 12% { opacity:1; transform:translateX(-50%); } 22% { opacity:.12; } 34% { opacity:.92; } 52% { opacity:0; } 64% { opacity:.7; } 100% { opacity:0; transform:translateX(-50%) translateY(4px) scaleY(1.02); } }
.gv-dream-words { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; overflow:visible; pointer-events:none; }
.gv-dream-line { position:absolute; display:block; left:50%; top:50%; width:84%; height:96px; margin:0; opacity:0; pointer-events:none; transform:translate(-50%,-50%); --rot:0deg; }
.gv-dream-line img { position:relative; z-index:2; display:block; width:100%; height:72px; margin:12px 0 0; object-fit:contain; object-position:center; image-rendering:pixelated; mix-blend-mode:multiply; pointer-events:none; }
.gv-dream-ember { position:absolute; left:50%; top:72%; z-index:0; width:44%; height:170%; margin:0; pointer-events:none; opacity:0; transform:translate(-50%,-62%); mix-blend-mode:screen; overflow:visible; }
.gv-dream-line.is-in .gv-dream-ember { opacity:1; }
.gv-dream-ember span { position:absolute; display:block; left:50%; border-radius:47% 53% 58% 42% / 57% 44% 56% 43%; --dream-ember-opacity:.95; --dream-ember-rotation:0deg; animation:gv-dream-ember-rise 1.55s ease-out infinite; }
.gv-dream-ember span:nth-child(1) { left:8%; bottom:28%; width:56%; height:48%; filter:blur(12px); background:radial-gradient(ellipse at 40% 62%, rgba(255,40,0,1) 0%, rgba(160,10,0,.7) 42%, transparent 72%); --dream-ember-rotation:-8deg; --dream-ember-opacity:1; }
.gv-dream-ember span:nth-child(2) { right:6%; bottom:26%; width:54%; height:46%; filter:blur(11px); animation-delay:-.35s; background:radial-gradient(ellipse at 58% 60%, rgba(255,70,0,1) 0%, rgba(170,16,0,.65) 44%, transparent 72%); --dream-ember-rotation:7deg; --dream-ember-opacity:.98; }
.gv-dream-ember span:nth-child(3) { left:16%; bottom:32%; width:70%; height:54%; filter:blur(16px); animation-delay:-.7s; background:radial-gradient(ellipse at 50% 58%, rgba(220,20,0,.95) 0%, rgba(110,8,0,.5) 48%, transparent 74%); --dream-ember-opacity:.9; }
.gv-dream-ember span:nth-child(4) { left:18%; bottom:36%; width:46%; height:42%; filter:blur(7px); animation-delay:-.2s; background:radial-gradient(ellipse at 55% 48%, rgba(255,120,10,1) 0%, rgba(255,50,0,.6) 46%, transparent 70%); --dream-ember-rotation:9deg; --dream-ember-opacity:1; border-radius:62% 38% 56% 44% / 40% 60% 36% 64%; }
.gv-dream-ember span:nth-child(5) { right:14%; bottom:34%; width:44%; height:40%; filter:blur(7px); animation-delay:-.55s; background:radial-gradient(ellipse at 42% 50%, rgba(255,140,16,1) 0%, rgba(255,60,0,.55) 46%, transparent 70%); --dream-ember-rotation:-10deg; --dream-ember-opacity:.96; border-radius:36% 64% 46% 54% / 62% 34% 66% 38%; }
.gv-dream-ember span:nth-child(6) { left:28%; bottom:44%; width:42%; height:38%; filter:blur(6px); animation-delay:-.9s; background:radial-gradient(ellipse at 48% 42%, rgba(255,180,30,1) 0%, rgba(255,80,0,.5) 48%, transparent 70%); --dream-ember-rotation:6deg; --dream-ember-opacity:.92; }
.gv-dream-ember span:nth-child(7) { left:24%; bottom:50%; width:30%; height:28%; filter:blur(4px); animation-delay:-.28s; background:radial-gradient(ellipse at 46% 46%, rgba(255,220,80,.95) 0%, rgba(255,110,0,.42) 48%, transparent 68%); --dream-ember-rotation:-6deg; --dream-ember-opacity:.88; border-radius:72% 28% 58% 42% / 38% 62% 38% 62%; }
.gv-dream-ember span:nth-child(8) { right:22%; bottom:48%; width:28%; height:26%; filter:blur(4px); animation-delay:-.65s; background:radial-gradient(ellipse at 52% 44%, rgba(255,236,120,.92) 0%, rgba(255,130,10,.38) 48%, transparent 68%); --dream-ember-rotation:9deg; --dream-ember-opacity:.86; }
.gv-dream-line[data-word="1"] { --rot:-6deg; }
.gv-dream-line[data-word="2"] { --rot:6deg; }
.gv-dream-line[data-word="3"] { --rot:-4deg; }
.gv-dream-line[data-word="4"] { --rot:3deg; }
.gv-dream-line.is-in { animation:gv-dream-shoot .4s cubic-bezier(.12,1.45,.35,1) both; }
@keyframes gv-dream-in { from { opacity:0; } to { opacity:1; } }
@keyframes gv-dream-smoke-in { from { opacity:0; transform:scale(1.22); } to { opacity:1; transform:none; } }
@keyframes gv-dream-billow { 0%,100% { opacity:var(--dream-cloud-opacity); transform:translate3d(0,6px,0) scale(1) rotate(var(--dream-cloud-rotation)); } 50% { opacity:calc(var(--dream-cloud-opacity) + .12); transform:translate3d(10px,-10px,0) scale(1.08) rotate(calc(var(--dream-cloud-rotation) + 4deg)); } }
@keyframes gv-dream-orange-flash { 0%,100% { opacity:0; } 12% { opacity:.78; } 22% { opacity:.1; } 34% { opacity:.62; } 58% { opacity:0; } 70% { opacity:.4; } }
@keyframes gv-dream-bolt { 0% { opacity:0; transform:translateY(-8px) scaleY(.92); } 12% { opacity:1; transform:none; } 22% { opacity:.12; } 34% { opacity:.92; } 52% { opacity:0; } 64% { opacity:.7; } 100% { opacity:0; transform:translateY(4px) scaleY(1.02); } }
@keyframes gv-dream-shoot { 0% { opacity:0; transform:translate(-50%,-62%) scale(1.18) rotate(calc(var(--rot) - 8deg)); } 100% { opacity:1; transform:translate(-50%,-50%) scale(1) rotate(var(--rot)); } }
@keyframes gv-dream-ember-rise { 0% { opacity:calc(var(--dream-ember-opacity) * .55); transform:translate3d(0,8px,0) scale(.82) rotate(var(--dream-ember-rotation)); } 38% { opacity:var(--dream-ember-opacity); transform:translate3d(6px,-22px,0) scale(1.12) rotate(calc(var(--dream-ember-rotation) + 5deg)); } 100% { opacity:0; transform:translate3d(-5px,-68px,0) scale(1.28) rotate(calc(var(--dream-ember-rotation) + 10deg)); } }
@keyframes gv-dream-frame { 0%,100% { border-color:#2d2a78; box-shadow:0 0 12px rgba(40,36,140,.4), inset 0 0 26px rgba(16,10,50,.28); } 50% { border-color:#6a4ab8; box-shadow:0 0 26px rgba(80,50,180,.55), inset 0 0 40px rgba(32,16,80,.36); } }
@keyframes gv-dream-aura-breathe { 0%,100% { opacity:.72; transform:translate(-50%,-50%) scale(1); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.12); } }
@keyframes gv-dream-wash { 0%,100% { opacity:.7; } 50% { opacity:1; } }
@keyframes gv-dream-mote { 0%,100% { opacity:.15; transform:translate3d(0,8px,0) scale(.7); } 50% { opacity:.85; transform:translate3d(10px,-14px,0) scale(1.15); } }
#gvTutorialFooter { margin-top:auto; padding-top:8px; border-top:1px solid rgba(255,215,0,.35); flex-shrink:0; }
#tutorialMenu #guideNavigation, #gvHandbookNavigation { display:flex; align-items:center; justify-content:space-between; gap:6px; }
#tutorialMenu #infoButton { position:absolute; top:53%; left:21.5%; z-index:25; display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; opacity:0; pointer-events:none; }
#tutorialMenu #infoButton.is-ready { opacity:1; pointer-events:auto; transition:opacity .45s ease; }
#tutorialMenu #learnBasicsBtn { background:linear-gradient(45deg,#FFD700,#FFA500); border:2px solid #FFD700; color:#000; font:bold 14px/1.2 Arial,sans-serif; padding:12px 25px; border-radius:8px; cursor:pointer; text-shadow:1px 1px 2px rgba(255,255,255,.3); box-shadow:0 4px 8px rgba(0,0,0,.3); transition:transform .3s ease; }
#tutorialMenu #learnBasicsBtn:hover { background:linear-gradient(45deg,#FFD700,#FFA500); border-color:#FFD700; transform:scale(1.05); }
#tutorialMenu #infoButton .gv-text-button { background:transparent; border:none; color:#ccc; font-size:12px; text-decoration:underline; text-underline-offset:3px; padding:0; box-shadow:none; }
#tutorialMenu #guideNextBtn { white-space:nowrap; }
#tutorialMenu #guideContent { flex:1; min-height:0; overflow:hidden; }
#godfatherTextArea[data-view="guide"] #guideContent { display:flex; flex-direction:column; }
#godfatherTextArea[data-view="guide"] .gv-scene { display:flex; flex-direction:column; flex:1; min-height:0; overflow:hidden; }
#godfatherTextArea[data-view="guide"] .gv-step-track,
#godfatherTextArea[data-view="guide"] .gv-scene > h4,
#godfatherTextArea[data-view="guide"] .gv-life-tabs,
#godfatherTextArea[data-view="guide"] .gv-feedback { flex-shrink:0; }
#godfatherTextArea[data-view="guide"] .gv-step-track { margin-bottom:5px; }
#godfatherTextArea[data-view="guide"] #guideSection1 h4 { font-size:15px; margin-bottom:2px; }
#godfatherTextArea[data-view="guide"] .gv-life-tabs { margin:4px 0; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage { flex:1 1 0; height:0; min-height:0; margin:4px 0 3px; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="work"] { flex:0 0 118px; height:118px; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="skills"] { flex:0 0 82px; height:82px; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="family"] { flex:0 0 110px; height:110px; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="family"][data-family-preview] { flex:1 1 0; height:0; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-feedback { flex:1 1 auto; min-height:0; margin-top:4px; font-size:15px; line-height:1.45; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="style"] { flex:1 1 0; height:0; min-height:0; }
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="work"] + .gv-feedback,
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-life="style"] + .gv-feedback,
#godfatherTextArea[data-view="guide"] #guideSection1 .gv-life-stage[data-family-preview] + .gv-feedback { flex:0 0 auto; }
#godfatherTextArea[data-view="guide"] #guideSection2 .gv-needs-feedback { display:flex; flex:0 0 42px; min-height:42px; max-height:42px; align-items:center; gap:8px; margin-top:4px; overflow:hidden; }
#godfatherTextArea[data-view="guide"] #guideSection2 .gv-needs-feedback .gv-feedback { flex:0 1 auto; min-width:0; min-height:0; max-height:none; margin:0; overflow:hidden; font-size:15px; line-height:1.45; }
#godfatherTextArea[data-view="guide"] #guideSection2 .gv-feedback strong { color:#FFD700; }
#godfatherTextArea[data-view="guide"] #guideSection3 h4 { font-size:15px; margin-bottom:2px; }
#godfatherTextArea[data-view="guide"] #guideSection3 .gv-health-tabs { margin:4px 0; }
#godfatherTextArea[data-view="guide"] #guideSection3 .gv-health-showcase { flex:0 0 124px; height:124px; margin:4px 0 3px; }
#godfatherTextArea[data-view="guide"] #guideSection3 .gv-feedback { flex:1 1 auto; min-height:0; margin-top:4px; font-size:15px; line-height:1.45; }
#godfatherTextArea[data-view="guide"] #guideSection4 { justify-content:flex-start; gap:8px; padding-top:2px; overflow:hidden; }
#godfatherTextArea[data-view="guide"] #guideSection4 h4 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
#godfatherTextArea[data-guide-step="4"] .gv-step-track { display:none; }
.gv-ready-helper-line {
    display:flex;
    align-items:center;
    gap:12px;
    margin:0;
    padding:8px 12px;
    min-height:58px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:7px;
    background:rgba(255,255,255,.05);
    color:#ddd;
    font-size:15px;
    line-height:1.5;
    text-align:left;
    box-sizing:border-box;
}
.gv-ready-helper-line span { min-width:0; }
.gv-ready-helper-clip {
    height:48px;
    width:auto;
    flex:0 0 auto;
    transform-origin:50% 100%;
    animation:helperClipHop 2.4s ease-in-out infinite;
    filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));
}
.gv-end-box { width:100%; flex:0 0 auto; height:auto; min-height:52px; padding:12px 14px; border:2px solid rgba(255,215,0,.65); border-radius:8px; background:rgba(0,0,0,.4); box-sizing:border-box; overflow:hidden; }
.gv-end-line { margin:0; font-size:15px; line-height:1.5; text-align:left; color:#fff; }
.gv-end-line .gv-welcome-sent { display:block; margin:0; }
.gv-end-note { min-height:16px; margin:0; font-size:12px; line-height:1.35; text-align:center; color:#ff8888; }
#godfatherTextArea[data-view="guide"] #guideSection4 .gv-gift-stage { flex:0 0 auto; height:auto; min-height:0; max-width:100%; margin-top:2px; padding:8px 12px; overflow:hidden; }
.gv-step-track { display:flex; gap:5px; margin-bottom:8px; }
#tutorialMenu .gv-step-track button { flex:1; padding:3px 5px; font-size:11px; color:#ddd; background:#222; border-color:#666; }
#tutorialMenu .gv-step-track button[aria-current="step"] { color:#FFD700; border-color:#FFD700; background:#330000; }
.gv-step-track span { margin-left:5px; }
.gv-scene { animation:gv-scene-arrive .25s ease-out; }
#tutorialMenu .gv-scene h4 { margin:0 0 3px; font-size:18px; color:#FFD700; line-height:1.2; outline:none; }
.gv-scene>p { font-size:12px; line-height:1.4; }
.gv-stage { position:relative; overflow:hidden; border:1px solid rgba(255,215,0,.4); border-radius:7px; background:rgba(0,0,0,.4); margin:8px 0 5px; height:90px; }
#tutorialMenu .gv-feedback { color:#fff; min-height:28px; font-size:11px; margin:4px 0 0; line-height:1.35; }
.gv-needs-stage { display:flex; gap:7px; padding:6px; height:124px; }
.gv-needs-showcase { padding:6px; background:linear-gradient(135deg,#171717,#080808); height:124px; }
.gv-needs-showcase .gv-needs-stage,
.gv-needs-showcase .gv-needs-path { display:none; height:100%; min-height:0; padding:0; }
.gv-needs-showcase[data-preview="needs"] .gv-needs-stage { display:flex; }
.gv-needs-showcase[data-preview="homes"] .gv-needs-path { display:grid; grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr); align-items:center; gap:4px; padding:10px 12px; }
.gv-needs-path-step { min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:4px; text-align:center; }
.gv-needs-path-step small { color:#bbb; font-size:10px; line-height:1; letter-spacing:.6px; text-transform:uppercase; }
.gv-needs-path-step strong { color:#fff; font-size:15px; line-height:1.15; }
.gv-needs-path-step span { max-width:175px; color:#ddd; font-size:11px; line-height:1.35; }
.gv-needs-path-now strong { color:#FFD700; }
.gv-needs-path-later strong { color:#66dd66; }
.gv-needs-path-arrow { align-self:center; color:#FFD700; font-size:27px; font-weight:400; line-height:1; text-align:center; text-shadow:none; }
#tutorialMenu .gv-need { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:3px; padding:5px 4px 4px; background:#151515; border-color:#555; }
.gv-need>img { width:26px; height:26px; object-fit:contain; image-rendering:pixelated; }
.gv-need>strong { font-size:11px; font-weight:400; width:100%; display:flex; justify-content:space-between; }
.gv-need>strong>span { color:#FFA500; }
.gv-meter { display:block; height:5px; flex-shrink:0; width:100%; background:#080808; border-radius:3px; overflow:hidden; }
.gv-meter>span { display:block; height:100%; background:#ff3333; transition:width .12s linear,background .3s; }
.gv-need[data-need="hygiene"] .gv-meter>span { background:#4c9fff; }
.gv-need-rate { font-size:10px; line-height:12px; color:#ddd; text-align:center; }
.gv-need-rate strong { color:#FFD700; font-size:10px; }
.gv-need-warn { font-size:9px; line-height:11px; color:#aaa; text-align:center; }
.gv-need-action { font-size:10px; color:#fff; }
#tutorialMenu .gv-need.is-cared { border-color:#4caf50; background:#0c290c; }
.gv-need.is-cared img { animation:gv-care-bounce .45s ease-out; }
.gv-need.is-cared .gv-meter>span { background:#4caf50; }
.gv-need.is-cared>strong>span { color:#4caf50; }
#tutorialMenu .gv-need.is-critical { border-color:#ff3333; background:#2a0a0a; box-shadow:0 0 8px rgba(255,50,50,.45); animation:gv-need-alarm .55s ease-in-out infinite; }
#tutorialMenu .gv-need.is-critical .gv-meter>span { background:#ff3333; }
#tutorialMenu .gv-need.is-critical>strong>span,
#tutorialMenu .gv-need.is-critical .gv-need-warn { color:#ff6666; font-weight:700; }
@keyframes gv-need-alarm { 50% { box-shadow:0 0 2px rgba(255,50,50,.2); } }
@keyframes gv-sound-cue-pulse { 50% { transform:scale(1.14); background:#d00000; box-shadow:0 0 9px rgba(255,70,70,.9); } }
.gv-health-showcase { padding:6px; background:linear-gradient(135deg,#171717,#080808); }
.gv-health-value-preview, .gv-health-hospital-preview, .gv-health-homes-preview { display:none; height:100%; min-height:0; }
.gv-health-showcase[data-preview="value"] .gv-health-value-preview { display:flex; gap:7px; }
.gv-health-showcase[data-preview="hospital"] .gv-health-hospital-preview { display:flex; gap:7px; }
.gv-health-showcase[data-preview="homes"] .gv-health-homes-preview { display:flex; gap:7px; }
#tutorialMenu .gv-health-tile, .gv-health-tile { display:flex; flex:1; min-width:0; min-height:0; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:5px 4px 4px; overflow:hidden; background:#151515; border:1px solid #555; border-radius:6px; text-align:center; }
#tutorialMenu .gv-health-tile-life { position:relative; cursor:pointer; padding:5px 4px 4px; }
.gv-sound-cue { position:absolute; top:5px; right:5px; display:flex; align-items:center; justify-content:center; width:23px; height:23px; border:1px solid #ff5555; border-radius:4px; background:#8f0000; color:#fff; font-size:14px; line-height:1; text-shadow:none; pointer-events:none; box-shadow:0 0 0 rgba(255,70,70,0); animation:gv-sound-cue-pulse 1.15s steps(2,end) infinite; }
#tutorialMenu button.gv-feedback-sound-cue { position:static; flex:0 0 23px; padding:0; pointer-events:auto; }
.gv-feedback-sound-cue[hidden] { display:none!important; }
.gv-health-tile>img { width:26px; height:26px; object-fit:contain; image-rendering:pixelated; }
.gv-health-need-icons { display:flex; align-items:center; justify-content:center; gap:4px; }
.gv-health-need-icons img { width:18px; height:18px; object-fit:contain; image-rendering:pixelated; }
.gv-health-tile>strong { font-size:11px; font-weight:700; width:100%; display:flex; justify-content:center; gap:4px; color:#fff; }
.gv-health-tile-life>strong { justify-content:space-between; font-weight:400; }
.gv-health-tile-life>strong>span { color:#FFA500; }
.gv-health-tile .gv-need-rate { font-size:10px; line-height:12px; color:#ddd; }
.gv-health-tile-goobs>strong { color:#66dd66; }
.gv-health-tile-needs>strong { color:#FFA500; }
.gv-health-tile-restore>strong { color:#ff6b6b; }
.gv-health-tile-disease>strong { color:#f0c36a; }
.gv-health-tile-shelter>strong { color:#f0c36a; line-height:1.2; }
.gv-health-tile-estate>strong { color:#66dd66; }
.gv-health-tile-homehealth>strong { color:#ff6b6b; }
.gv-health-tile-estate>img { width:32px; height:32px; image-rendering:auto; object-fit:cover; border-radius:4px; }
.gv-health-tile-shelter .gv-health-warn-icon { font-size:28px; line-height:1; filter:drop-shadow(0 0 4px rgba(255,200,0,.45)); }
#tutorialMenu .gv-health-tile-life.is-critical { border-color:#ff3333; background:#2a0a0a; box-shadow:0 0 8px rgba(255,50,50,.45); animation:gv-need-alarm .55s ease-in-out infinite; }
#tutorialMenu .gv-health-tile-life.is-critical .gv-meter>span { background:#ff3333; }
#tutorialMenu .gv-health-tile-life.is-critical>strong>span,
#tutorialMenu .gv-health-tile-life.is-critical .gv-need-warn { color:#ff6666; font-weight:700; }
.gv-health-showcase + .gv-feedback strong { color:#FFD700; }
.gv-gift-stage { display:flex; align-items:center; justify-content:center; gap:12px; background:rgba(0,0,0,.4); }
.gv-gift-stage>img { width:64px; height:72px; flex:0 0 64px; object-fit:contain; image-rendering:pixelated; animation:gv-gift-float 2.5s ease-in-out 3; }
.gv-gift-stage>div { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 auto; overflow:hidden; }
.gv-gift-stage small { color:#FFD700; font-size:9px; letter-spacing:.7px; }
.gv-gift-stage strong { font-size:24px; line-height:1.15; color:#4caf50; }
.gv-gift-stage strong span { font-size:14px; }
.gv-gift-stage div>span { font-size:11px; line-height:1.35; color:#ccc; overflow-wrap:break-word; }
.gv-gift-spark { position:absolute; color:#FFD700; font-size:17px; pointer-events:none; animation:gv-spark 2s ease-in-out 3; }
.gv-spark-one { left:48px; top:13px; }.gv-spark-two { right:25px; bottom:15px; animation-delay:.5s; }
.gv-skip-art { text-align:center; height:62px; }.gv-skip-art img { height:62px; width:70px; object-fit:contain; }
.gv-skip-actions { display:flex; gap:10px; justify-content:center; }
.gv-handbook { flex:1; min-height:0; display:flex; flex-direction:column; gap:6px; padding-bottom:8px; }
.gv-handbook label { font-size:11px; color:#FFD700; }
#tutorialMenu .gv-handbook select { width:100%; background:#222; border:1px solid #FFD700; border-radius:5px; padding:6px; font-size:12px; }
#gvHandbookBody { overflow:auto; min-height:0; flex:1; font-size:12px; color:#fff; scrollbar-width:thin; scrollbar-color:#FFD700 #111; padding-right:8px; }
#gvHandbookBody p { margin:8px 0; }#gvHandbookBody strong { color:#ff3333; }
@keyframes gv-card-arrive { from { transform:translateY(8px) rotate(-2deg); opacity:0; } to { transform:none; opacity:1; } }
@keyframes gv-scene-arrive { from { opacity:0; transform:translateX(6px); } to { opacity:1; transform:none; } }
@keyframes gv-cursor-nudge { 50% { transform:translate(-3px,-5px); } }
@keyframes gv-coin-flight { 35% { transform:translate(-60px,-27px) rotate(-15deg); opacity:1; } to { transform:translate(-165px,-3px) scale(.6); opacity:0; } }
@keyframes gv-care-bounce { 50% { transform:translateY(-5px) rotate(-6deg); } }
@keyframes gv-gift-float { 50% { transform:translateY(-4px); } }
@keyframes gv-spark { 50% { opacity:.2; transform:scale(.7); } }
.gv-mayor-talk { position:absolute; inset:0; pointer-events:none; z-index:8; }
.gv-mayor-talk-mouth { position:absolute; left:73.5%; top:48.4%; width:0; height:0; opacity:0; overflow:visible; }
.gv-mayor-talk.is-talking .gv-mayor-talk-mouth { opacity:1; }
.gv-mayor-talk-mouth span { position:absolute; top:-1px; right:3px; height:3px; background:repeating-linear-gradient(90deg,#F2E3C0 0 5px,transparent 5px 8px); filter:drop-shadow(1px 1px 0 #4a1900); transform-origin:right center; animation:gv-talk-rays .32s steps(2,end) infinite; }
.gv-mayor-talk-mouth span:nth-child(1) { --rot:-22deg; width:30px; }
.gv-mayor-talk-mouth span:nth-child(2) { --rot:0deg; width:38px; animation-delay:-.11s; }
.gv-mayor-talk-mouth span:nth-child(3) { --rot:22deg; width:30px; animation-delay:-.22s; }
.gv-mayor-sleep-eyes { position:absolute; inset:0; opacity:0; }
.gv-mayor-talk.is-sleeping .gv-mayor-sleep-eyes { opacity:1; }
.gv-mayor-sleep-eyes span { position:absolute; top:40.35%; width:2.45%; height:2.25%; background:linear-gradient(to bottom,#754015 0 45%,#8d501b 45% 100%); clip-path:polygon(8% 0,92% 0,92% 18%,100% 18%,100% 82%,92% 82%,92% 100%,8% 100%,8% 82%,0 82%,0 18%,8% 18%); }
.gv-mayor-sleep-eyes span:first-child { left:69.6%; }
.gv-mayor-sleep-eyes span:last-child { left:73.85%; }
.gv-mayor-sleep-eyes span::after { content:""; position:absolute; left:14%; right:14%; top:42%; height:2px; background:#3b1907; box-shadow:0 1px 0 #1c0902; }
.gv-mayor-drool { position:absolute; left:74.55%; top:48.45%; width:0; height:0; opacity:0; overflow:visible; }
.gv-mayor-talk.is-sleeping .gv-mayor-drool { opacity:1; }
.gv-mayor-drool span { position:absolute; left:0; top:0; width:3px; height:20px; border-radius:60% 70% 80% 50% / 18% 22% 88% 78%; background:linear-gradient(180deg,rgba(170,235,255,.95) 0%,rgba(72,176,230,.88) 48%,rgba(96,210,255,.95) 100%); box-shadow:0 0 5px rgba(80,200,255,.55); transform-origin:top center; transform:scaleY(.72); animation:gv-mayor-drool 2.1s ease-in-out infinite; }
.gv-mayor-drool span::after { content:""; position:absolute; left:50%; bottom:-3px; width:6px; height:6px; margin-left:-3px; border-radius:50%; background:radial-gradient(circle at 35% 30%,#e8fbff 0%,#5ec8ee 68%,#3aa3d4 100%); box-shadow:0 0 6px rgba(90,210,255,.7); }
@keyframes gv-mayor-drool { 0%,100% { transform:scaleY(.4); opacity:.5; } 50% { transform:scaleY(1); opacity:1; } }
.gv-mayor-sleep { position:absolute; left:75%; top:29%; width:0; height:0; opacity:0; overflow:visible; }
.gv-mayor-talk.is-sleeping .gv-mayor-sleep { opacity:1; }
.gv-mayor-sleep span { position:absolute; left:0; top:0; color:#F2E3C0; font:700 19px/1 "Courier New",monospace; text-shadow:2px 2px 0 #241000; opacity:0; animation:gv-mayor-sleep-z 2.4s steps(6,end) infinite; }
.gv-mayor-sleep span:nth-child(2) { font-size:15px; animation-delay:-.6s; }
.gv-mayor-sleep span:nth-child(3) { animation-delay:-1.2s; }
.gv-mayor-sleep span:nth-child(4) { font-size:15px; animation-delay:-1.8s; }
.gv-mayor-think { position:absolute; left:72.6%; top:27%; width:0; height:0; overflow:visible; pointer-events:none; }
.gv-mayor-think span { position:absolute; left:0; top:0; margin:0; color:#F2E3C0; font:700 18px/1 "Courier New",monospace; letter-spacing:.3px; white-space:nowrap; text-shadow:2px 2px 0 #241000, 0 0 8px rgba(0,0,0,.55); opacity:0; animation:gv-mayor-think-up 1.2s ease-out forwards; }
.gv-mayor-think span.is-small { font-size:15px; }
.gv-mayor-talk-wow { position:absolute; left:72.9%; top:10%; width:170px; height:96px; transform:translateX(-50%); display:flex; align-items:flex-end; justify-content:center; gap:8px; }
.gv-mayor-talk-wow b { position:relative; width:12px; height:62px; margin:0; color:transparent; font:0/0 a; opacity:0; transform-origin:bottom center; filter:drop-shadow(1px 1px 0 #000) drop-shadow(0 0 8px rgba(255,0,0,.75)); }
.gv-mayor-talk-wow b::before { content:""; position:absolute; left:50%; top:0; width:10px; height:38px; margin-left:-5px; background:#ff2222; border-radius:2px; }
.gv-mayor-talk-wow b::after { content:""; position:absolute; left:50%; bottom:0; width:10px; height:10px; margin-left:-5px; background:#ff2222; border-radius:50%; }
.gv-mayor-talk.is-wow .gv-mayor-talk-wow b { animation:gv-talk-wow .35s ease-out forwards; }
.gv-mayor-talk.is-wow .gv-mayor-talk-wow b:nth-child(1) { --wr:-18deg; }
.gv-mayor-talk.is-wow .gv-mayor-talk-wow b:nth-child(2) { --wr:0deg; animation-delay:.06s; }
.gv-mayor-talk.is-wow .gv-mayor-talk-wow b:nth-child(3) { --wr:18deg; animation-delay:.12s; }
@keyframes gv-talk-rays { 0%,100% { opacity:.3; transform:rotate(var(--rot)) scaleX(.72); } 50% { opacity:1; transform:rotate(var(--rot)) scaleX(1); } }
@keyframes gv-mayor-sleep-z { 0% { opacity:0; transform:translate(0,0) scale(.7); } 14%,72% { opacity:1; } 100% { opacity:0; transform:translate(54px,-78px) scale(1.25); } }
@keyframes gv-mayor-think-up { 0% { opacity:0; transform:translate(4px,10px) scale(.62) rotate(var(--rot,0deg)); } 16% { opacity:1; } 68% { opacity:1; } 100% { opacity:0; transform:translate(var(--tx,16px),-92px) scale(1.12) rotate(var(--rot,0deg)); } }
@keyframes gv-talk-wow { 0% { opacity:0; transform:translateY(8px) scale(.45) rotate(var(--wr)); } 100% { opacity:1; transform:scale(1) rotate(var(--wr)); } }
@media (prefers-reduced-motion:reduce) { #tutorialMenu .gv-tutorial *, #tutorialMenu .gv-tutorial *::before, #tutorialMenu .gv-tutorial *::after { animation:none!important; transition:none!important; } #tutorialMenu .gv-need.is-critical, #tutorialMenu .gv-health-tile-life.is-critical { animation:none!important; } .gv-mayor-welcome.is-leaving > * { opacity:1!important; } .gv-sign-inktext { clip-path:none!important; } .gv-sign-pad::after { transform:none!important; } .gv-sign-pen { display:none!important; } .gv-mayor-welcome[data-welcome="stamp"] .gv-welcome-stamp { opacity:.95!important; transform:rotate(-16deg) scale(1)!important; } #playerNameWelcomeIntro { text-shadow:none!important; } .gv-mayor-talk, .gv-mayor-talk * { animation:none!important; } .gv-mayor-talk-mouth, .gv-mayor-talk-wow b, .gv-mayor-think span { opacity:0!important; } }
.gv-tutorial-intro strong { color:#ff0000; }
#playerNameWelcomeIntro { color:orange; font-weight:bold; }
.gv-life-tabs { display:flex; gap:6px; margin:7px 0; }
#tutorialMenu .gv-life-tabs button { flex:1; padding:3px 6px; font-size:11px; background:linear-gradient(45deg,#660000,#990000); border-color:#cc0000; color:white; }
#tutorialMenu .gv-life-tabs button[aria-pressed="true"] { background:linear-gradient(45deg,#cc0000,#ee0000); border-color:#ff5555; }
.gv-life-stage { height:99px; margin-top:5px; }
.gv-job-showcase { display:none; position:absolute; inset:0; grid-template-columns:39% 61%; align-items:stretch; background:linear-gradient(135deg,#171717,#080808); }
.gv-life-stage[data-life="work"] .gv-job-showcase { display:grid; }
.gv-life-stage[data-life="work"] :is(.gv-life-backdrop,.gv-life-sprite,.gv-life-caption,.gv-life-result) { display:none; }
.gv-job-field { display:flex; align-items:center; gap:10px; min-width:0; padding:10px 12px; border-right:1px solid rgba(255,215,0,.25); }
.gv-job-field>div { display:flex; flex-direction:column; min-width:0; gap:2px; }
.gv-job-showcase small { color:#ccc; font-size:11px; letter-spacing:.6px; text-shadow:none; }
.gv-job-ranks>small { color:#FFD700; font-size:13px; line-height:15px; letter-spacing:.5px; font-weight:700; }
.gv-job-field strong { color:#FFD700; font-size:16px; line-height:1.15; text-shadow:1px 1px 2px #000; }
.gv-job-icon { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; font-size:36px; filter:drop-shadow(0 0 5px #ffd70035); }
.gv-job-icon img { width:48px; height:48px; object-fit:contain; }
.gv-job-ranks { display:flex; flex-direction:column; justify-content:center; gap:5px; min-width:0; padding:7px 10px; }
.gv-job-ranks>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 6px; }
.gv-job-ranks span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:4px 6px; border-left:2px solid #FFD700; background:#ffffff0b; color:#fff; font-size:13px; line-height:17px; text-shadow:none; }
.gv-job-progress { position:absolute; left:0; bottom:0; width:100%; height:2px; background:#FFD700; transform-origin:left; }
.gv-job-showcase.is-changing { animation:gv-job-arrive .25s ease-out; }
.gv-job-showcase.is-changing .gv-job-progress { animation:gv-job-progress 2s linear forwards; }
.gv-skill-showcase { display:none; position:absolute; inset:0; grid-template-columns:repeat(6,minmax(0,1fr)); gap:5px; padding:5px; background:linear-gradient(135deg,#171717,#080808); }
.gv-life-stage[data-life="skills"] .gv-skill-showcase { display:grid; }
.gv-life-stage[data-life="skills"] :is(.gv-life-backdrop,.gv-life-sprite,.gv-life-caption,.gv-life-result) { display:none; }
#tutorialMenu .gv-skill-card { --skill-color:#FFD700; display:flex; min-width:0; align-items:center; justify-content:center; padding:3px; overflow:hidden; background:#101010; border-color:#3f3f3f; }
#tutorialMenu .gv-skill-card[data-skill="battle"] { --skill-color:#ff6b6b; }
#tutorialMenu .gv-skill-card[data-skill="fishing"] { --skill-color:#4ecdc4; }
#tutorialMenu .gv-skill-card[data-skill="agility"] { --skill-color:#95e1a3; }
#tutorialMenu .gv-skill-card[data-skill="strength"] { --skill-color:#e67e22; }
#tutorialMenu .gv-skill-card[data-skill="education"] { --skill-color:#f39c12; }
#tutorialMenu .gv-skill-card[data-skill="searches"] { --skill-color:#b77bea; }
#tutorialMenu .gv-skill-card:hover { background:#1b1b1b; border-color:var(--skill-color); }
#tutorialMenu .gv-skill-card[aria-pressed="true"] { background:#242424; border-color:var(--skill-color); box-shadow:inset 0 -2px var(--skill-color),0 0 8px rgba(255,215,0,.22); }
.gv-skill-card img { width:48px; height:48px; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 0 6px rgba(255,215,0,.35)); }
.gv-life-stage[data-life="skills"] + .gv-feedback strong { color:#FFD700; }
.gv-family-showcase { display:none; position:absolute; inset:0; grid-template-columns:1fr 1fr; gap:6px; padding:5px; background:linear-gradient(135deg,#171717,#080808); }
.gv-life-stage[data-life="family"] .gv-family-showcase { display:grid; }
.gv-life-stage[data-life="family"] :is(.gv-life-backdrop,.gv-life-sprite,.gv-life-caption,.gv-life-result) { display:none; }
.gv-family-picks { display:grid; grid-template-columns:1fr 1fr; grid-column:1 / -1; gap:5px; min-width:0; min-height:0; }
.gv-family-showcase[data-preview="clan"],
.gv-family-showcase[data-preview="gezin"] { grid-template-columns:72px minmax(0,1fr); min-height:0; }
.gv-family-showcase[data-preview="clan"] .gv-family-picks,
.gv-family-showcase[data-preview="gezin"] .gv-family-picks { grid-column:auto; grid-template-columns:1fr; grid-template-rows:1fr 1fr; gap:4px; }
.gv-family-preview { display:none; position:relative; min-width:0; min-height:0; overflow:hidden; border:1px solid rgba(255,215,0,.18); border-radius:6px; background:#0c0c0c; }
.gv-family-showcase[data-preview="clan"] .gv-family-preview,
.gv-family-showcase[data-preview="gezin"] .gv-family-preview { display:block; height:100%; }
#tutorialMenu .gv-family-card { --family-color:#FFD700; display:flex; min-width:0; min-height:0; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:6px 4px; overflow:hidden; background:#101010; border-color:#3f3f3f; }
#tutorialMenu .gv-family-card[data-family="clan"] { --family-color:#f0c36a; }
#tutorialMenu .gv-family-card[data-family="gezin"] { --family-color:#ff8fab; }
#tutorialMenu .gv-family-card:hover { background:#1b1b1b; border-color:var(--family-color); }
#tutorialMenu .gv-family-card[aria-pressed="true"] { background:#242424; border-color:var(--family-color); box-shadow:inset 0 -2px var(--family-color),0 0 8px rgba(255,215,0,.22); }
.gv-family-card img { width:52px; height:52px; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 0 6px rgba(255,215,0,.35)); }
.gv-family-showcase[data-preview="clan"] .gv-family-card img,
.gv-family-showcase[data-preview="gezin"] .gv-family-card img { width:28px; height:28px; }
.gv-family-card span { color:var(--family-color); font-size:12px; line-height:14px; font-weight:700; letter-spacing:.3px; }
.gv-family-showcase[data-preview="clan"] .gv-family-card span,
.gv-family-showcase[data-preview="gezin"] .gv-family-card span { font-size:8px; line-height:10px; }
.gv-family-clan-preview, .gv-family-gezin-preview { display:none; height:100%; min-height:0; }
.gv-family-showcase[data-preview="clan"] .gv-family-clan-preview { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(0,1fr) minmax(0,1fr); gap:3px; padding:3px; }
.gv-family-showcase[data-preview="gezin"] .gv-family-gezin-preview { display:flex; align-items:stretch; gap:6px; padding:3px 4px 2px; }
.gv-clan-tile { display:flex; flex-direction:column; justify-content:center; gap:1px; min-width:0; min-height:0; overflow:hidden; padding:4px 5px; border-radius:5px; text-align:center; }
.gv-clan-tile strong { display:flex; align-items:center; justify-content:center; gap:3px; color:#ff7b72; font-size:10px; line-height:12px; font-weight:700; }
.gv-clan-tile strong img { width:11px; height:11px; object-fit:contain; flex-shrink:0; }
.gv-clan-tile span { color:#ddd; font-size:9px; line-height:11px; overflow:hidden; }
.gv-clan-tile-join { background:rgba(229,57,53,.12); border:1px solid rgba(229,57,53,.35); }
.gv-clan-tile-vault { background:rgba(68,167,11,.1); border:1px solid rgba(68,167,11,.35); }
.gv-clan-tile-vault strong { color:#66dd66; }
.gv-clan-tile-blue { background:rgba(0,102,255,.1); border:1px solid rgba(0,102,255,.35); }
.gv-clan-tile-blue strong { color:#6eb6ff; }
.gv-clan-tile-head { background:rgba(255,153,102,.1); border:1px solid rgba(255,153,102,.35); }
.gv-clan-tile-head strong { color:#ff9966; }
.gv-gezin-kids { display:flex; align-items:flex-end; justify-content:space-around; gap:4px; flex:1; min-width:0; min-height:0; }
.gv-gezin-kids figure { margin:0; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:2px; min-width:0; height:100%; }
.gv-gezin-kids img { width:auto; max-width:none; object-fit:contain; object-position:bottom; image-rendering:pixelated; filter:drop-shadow(1px 1px 1px #000); }
.gv-kid-baby img { height:42%; max-height:46px; }
.gv-kid-toddler img { height:68%; }
.gv-kid-teen img { height:calc(100% - 12px); }
.gv-gezin-kids figcaption { color:#ff8fab; font-size:8px; line-height:9px; letter-spacing:.2px; }
.gv-gezin-pets { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:3px; flex:0 0 118px; min-height:0; border-left:1px solid rgba(255,215,0,.18); padding-left:6px; }
#tutorialMenu .gv-pet-switch { display:flex; gap:3px; flex-shrink:0; }
#tutorialMenu .gv-pet-switch button { padding:2px 6px; font-size:8px; line-height:11px; font-weight:700; background:#1a1a1a; border-color:#555; color:#ccc; }
#tutorialMenu .gv-pet-switch button:hover { background:#2a2a2a; border-color:#FFD700; }
#tutorialMenu .gv-pet-switch button[aria-pressed="true"] { background:#330000; border-color:#FFD700; color:#FFD700; }
.gv-pet-row { display:flex; align-items:flex-end; justify-content:center; gap:6px; flex:1; min-height:0; width:100%; }
.gv-pet-row[hidden] { display:none; }
.gv-pet-row img { width:auto; height:100%; max-width:56px; object-fit:contain; object-position:bottom; image-rendering:pixelated; filter:drop-shadow(1px 1px 1px #000); }
.gv-style-showcase { display:none; position:absolute; inset:0; grid-template-rows:auto minmax(0,1fr); align-items:stretch; gap:5px; padding:6px; background:linear-gradient(135deg,#171717,#080808); }
.gv-life-stage[data-life="style"] .gv-style-showcase { display:grid; }
.gv-life-stage[data-life="style"] :is(.gv-life-backdrop,.gv-life-sprite,.gv-life-caption,.gv-life-result) { display:none; }
.gv-style-subnav { display:flex; align-items:center; justify-content:center; gap:4px; min-height:20px; }
#tutorialMenu .gv-style-subnav button { padding:2px 9px; border:1px solid #444; border-radius:4px; background:#181818; color:#aaa; font-size:9px; line-height:13px; font-weight:700; box-shadow:none; }
#tutorialMenu .gv-style-subnav button:hover { border-color:#8d0000; background:#202020; color:#fff; }
#tutorialMenu .gv-style-subnav button[aria-pressed="true"] { border-color:#cc0000; background:#750000; color:#fff; }
.gv-style-appearance { position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:8px; min-height:0; outline:none; }
.gv-style-showcase[data-style-view="belongings"] .gv-style-appearance { display:none; }
.gv-style-gender { display:grid; grid-template-columns:minmax(78px,0.4fr) minmax(0,1fr); gap:6px; min-width:0; min-height:0; height:100%; padding:6px; border:1px solid rgba(255,215,0,.18); border-radius:6px; background:#0c0c0c; transition:filter .22s ease,opacity .22s ease; }
.gv-style-notice { position:absolute; inset:6px; z-index:3; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:12px; border:2px solid rgba(255,215,0,.75); border-radius:6px; background:rgba(0,0,0,.58); color:#fff; text-align:center; text-shadow:1px 1px 2px #000; opacity:0; transform:scale(.96); pointer-events:none; transition:opacity .22s ease,transform .22s ease; }
.gv-style-notice strong { color:#FFD700; font-size:16px; letter-spacing:1px; }
.gv-style-notice span { font-size:13px; line-height:1.25; }
.gv-style-appearance:hover .gv-style-gender,
.gv-style-appearance:focus .gv-style-gender { filter:blur(4px); opacity:.3; }
.gv-style-appearance:hover .gv-style-notice,
.gv-style-appearance:focus .gv-style-notice { opacity:1; transform:none; }
.gv-style-belongings, .gv-style-backgrounds { display:none; min-height:0; align-items:center; justify-content:center; gap:14px; padding:10px 22px; border:1px solid rgba(255,215,0,.18); border-radius:6px; background:#0c0c0c; }
.gv-style-showcase[data-style-view="belongings"] .gv-style-belongings { display:flex; }
.gv-style-showcase[data-style-view="backgrounds"] .gv-style-backgrounds { display:flex; }
.gv-style-belongings > img { width:52px; height:52px; flex:0 0 auto; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 0 7px rgba(255,215,0,.28)); }
.gv-style-belongings > div, .gv-style-backgrounds > div:last-child { display:flex; flex-direction:column; gap:3px; max-width:315px; }
.gv-style-belongings strong, .gv-style-backgrounds strong { color:#FFD700; font-size:14px; line-height:17px; }
.gv-style-belongings span, .gv-style-backgrounds span { color:#ddd; font-size:11px; line-height:15px; }
.gv-style-belongings b, .gv-style-backgrounds b { color:#fff; }
.gv-style-background-preview { position:relative; width:118px; height:78px; flex:0 0 118px; overflow:hidden; border:1px solid rgba(255,215,0,.45); border-radius:5px; background:#111; }
.gv-style-background-preview img:first-child { width:100%; height:100%; object-fit:cover; }
.gv-style-background-preview img:last-child { position:absolute; left:50%; bottom:-23px; width:50px; height:88px; object-fit:contain; image-rendering:pixelated; transform:translateX(-50%); filter:drop-shadow(1px 1px 2px #000); }
.gv-style-showcase[data-style-view="backgrounds"] .gv-style-appearance { display:none; }
.gv-style-citizen { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; min-width:0; min-height:0; }
.gv-style-figure { position:relative; height:calc(100% - 16px); aspect-ratio:72 / 128; width:auto; max-width:100%; flex:0 1 auto; }
.gv-style-figure > img, .gv-style-citizen-female .gv-style-body { position:absolute; inset:0; width:100%; height:100%; object-fit:fill; image-rendering:pixelated; filter:drop-shadow(1px 1px 1px #000); }
.gv-style-citizen-female .gv-style-hair { position:absolute; top:0; left:0; width:100%; height:45.56%; background-size:100% 100%; background-repeat:no-repeat; background-position:top left; image-rendering:pixelated; pointer-events:none; z-index:1; }
.gv-style-citizen-female .gv-style-face { z-index:2; clip-path:polygon(44% 12%,61% 12%,61% 15%,67% 15%,67% 18%,72% 18%,72% 21%,77% 21%,77% 27%,72% 27%,72% 30%,67% 30%,67% 33%,61% 33%,61% 36%,39% 36%,39% 33%,33% 33%,33% 30%,28% 30%,28% 27%,23% 27%,23% 21%,28% 21%,28% 18%,33% 18%,33% 15%,39% 15%,39% 12%); }
.gv-style-citizen > span { color:#FFD700; font-size:11px; line-height:14px; font-weight:700; letter-spacing:.3px; }
.gv-style-rotators { display:grid; grid-template-rows:1fr 1fr; gap:6px; min-width:0; min-height:0; }
.gv-style-box { display:flex; align-items:center; gap:6px; min-width:0; min-height:0; overflow:hidden; padding:5px 7px; border-radius:6px; background:#141414; border:1px solid #3f3f3f; }
.gv-style-box small { flex:0 0 46px; color:#aaa; font-size:10px; letter-spacing:.6px; text-transform:uppercase; }
.gv-style-box img { width:52px; height:52px; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(0 0 4px rgba(255,215,0,.25)); }
.gv-style-box img.is-changing { animation:gv-job-arrive .25s ease-out; }
.gv-style-gender[data-gender="female"] .gv-style-citizen span { color:#ff8fab; }
.gv-life-stage[data-life="family"] + .gv-feedback strong { color:#FFD700; }
.gv-life-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 65%; opacity:.55; }
.gv-life-sprite { position:absolute; width:55px; height:80px; object-fit:contain; bottom:4px; left:35px; image-rendering:pixelated; filter:drop-shadow(2px 2px 2px black); }
.gv-life-caption { position:absolute; left:125px; right:8px; top:8px; display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-shadow:1px 1px 3px black; }
.gv-life-caption strong { font-size:13px; color:#FFD700; }.gv-life-caption>span { font-size:11px; color:white; }
#tutorialMenu .gv-life-caption button { margin-top:3px; padding:5px 9px; font-size:11px; background:linear-gradient(45deg,#cc0000,#990000); border-color:#cc0000; font-weight:bold; }
.gv-life-result { position:absolute; left:8px; bottom:6px; padding:2px 4px; color:#4caf50; background:#000b; font-size:10px; font-weight:bold; opacity:0; }
.gv-life-stage.is-playing .gv-life-result { animation:gv-life-reward .8s ease-out forwards; }
.gv-life-stage.is-playing .gv-life-sprite { animation:gv-life-step .8s ease-in-out; }
#tutorialMenu .gv-mayor-quote { color:#FFD700; text-align:center; font-style:italic; }
#tutorialMenu .gv-tutorial .gv-primary.gv-enter { background:linear-gradient(45deg,#cc0000,#990000); border-color:#cc0000; color:white; text-shadow:1px 1px 2px black; }
#tutorialMenu .gv-tutorial .gv-primary.gv-enter:not(.is-enter-armed) { opacity:.55; filter:saturate(.7); }
#tutorialMenu .gv-tutorial .gv-primary.gv-enter.is-enter-armed { opacity:1; filter:none; }
#tutorialMenu .gv-tutorial .gv-primary.gv-enter:hover { background:#e00000; }
@keyframes gv-life-step { 25% { transform:translate(6px,-3px) rotate(3deg); } 60% { transform:translate(15px,0) rotate(-3deg); } }
@keyframes gv-life-reward { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes gv-job-arrive { from { opacity:.35; transform:translateX(8px); } to { opacity:1; transform:none; } }
@keyframes gv-job-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
