#yen-trigger { padding: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; touch-action: none; -webkit-touch-callout: none; user-select: none; }
.hero-amount { overflow-wrap: anywhere; white-space: normal; }
.brand-name { overflow-wrap: anywhere; }
.header-settings { margin-top: 30px; }
.secret-overlay { position: fixed; z-index: 40; pointer-events: none; }
.secret-card { left: 50%; top: 46%; transform: translate(-50%, -50%); width: min(320px, 86vw); padding: 24px; border-radius: 24px; background: #f7f8eced; color: #284b39; text-align: center; box-shadow: 0 8px 35px #173c2929; }
.secret-card p { margin: 8px 0; line-height: 1.6; }
#skater-visit { bottom: max(85px, calc(env(safe-area-inset-bottom) + 75px)); left: calc(50% - 110px); width: 220px; animation: skate-visit 6.5s ease-in-out both; }
#skater-visit img { width: 185px; display: block; margin: auto; }
#skater-line { padding: 15px 18px; margin: 0; border: 2px solid #47624b; border-radius: 22px 22px 22px 5px; background: #fff9df; color: #34453a; font-size: 15px; box-shadow: 3px 4px 0 #47624b; }
@keyframes skate-visit { 0% { transform: translateX(110vw) rotate(-6deg); } 22%, 78% { transform: translateX(0) rotate(0); } 100% { transform: translateX(-110vw) rotate(4deg); } }
.midnight-garden { --ink: #f5efdc !important; --muted: #cac8b6 !important; --accent: #b5c99f !important; --green: #b5c99f !important; --accent-soft: #25382f !important; --line: #465448 !important; }
.midnight-garden body, .midnight-garden .app-shell, .midnight-garden .editor-dialog, .midnight-garden .bottom-nav { background: #17241f !important; color: #f5efdc !important; }
.midnight-garden .screen, .midnight-garden .site-header { background: #17241f; color: #f5efdc; }
.midnight-garden :is(h1,h2,h3,strong,.brand-name,.month-label,.nav-item,.theme-name,.goal-name) { color: #f5efdc !important; }
.midnight-garden :is(.profile-preview,.theme-option,.growth-card,.daily-card,.goal-card,.small-stat) { background: #24382d !important; color: #f5efdc !important; }
.midnight-garden :is(.home-goal,.quick-action,.field input,.field select,.field-date,.living-expense-row,.amount-input-wrap) { background: #24382d !important; color: #f5efdc !important; }
.midnight-garden :is(.hero-amount,.budget-meta,.budget-meta > span,.goal-percent,.goal-values,.transaction-amount,.growth-card p,.field > span,.amount-input-wrap input,.back-button,.screen-heading > p) { color: #f5efdc !important; }
.midnight-garden :is(.header-botanical,.suggestion-botanical), .midnight-garden #screen-profile::before { opacity: .9; filter: brightness(1.7) drop-shadow(0 0 10px #b2db9290); }
#midnight-message { background: #25352eef; color: #f4edd7; border: 1px solid #c9d6a5; }
#lucky-leaf { padding: 4px 9px; border: 0; border-radius: 50%; background: transparent; font-size: 23px; }
#goal-celebration { inset: 0; overflow: hidden; }
.celebration-branch { position: absolute; bottom: 0; width: min(30vw, 230px); height: 60vh; background: url('./assets/botanical-branch.svg') bottom / contain no-repeat; transform-origin: bottom; animation: garden-grow 2s ease-out both; }
.celebration-branch.right { right: 0; scale: -1 1; }
.celebration-branch::after { content: '✿'; position: absolute; top: 10%; left: 35%; color: #d8a6a4; font-size: 50px; text-shadow: 25px 70px #e9cd8d, -10px 150px #d8a6a4; }
#goal-celebration .secret-card { position: absolute; animation: garden-card 5.5s both; }
#celebration-goal { overflow-wrap: anywhere; font-family: Georgia, serif; font-size: 24px; }
@keyframes garden-grow { from { transform: scaleY(0); opacity: 0; } to { transform: scaleY(1); opacity: 1; } }
@keyframes garden-card { 0%, 20% { opacity: 0; } 40%, 90% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  #skater-visit, .celebration-branch, #goal-celebration .secret-card { animation: none; }
  .celebration-branch { opacity: .5; }
}
