*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:ui-rounded,"SF Pro Rounded","Hiragino Sans","Noto Sans SC",system-ui,sans-serif}
body{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:linear-gradient(160deg,#fff9fb,#ffe9f1);color:#5d3c47;-webkit-font-smoothing:antialiased;overscroll-behavior:none}
.card{width:min(100%,420px);padding:36px 24px 28px;text-align:center;background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.9);border-radius:32px;box-shadow:0 20px 60px rgba(117,63,82,.12);backdrop-filter:blur(12px)}
.bear{font-size:72px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.08))}
.eyebrow{margin:18px 0 6px;font-size:11px;letter-spacing:.22em;opacity:.55}
h1{margin:0;font-family:Georgia,serif;font-weight:500;font-size:32px}
.intro{margin:12px 0 24px;opacity:.72}
.actions{display:grid;gap:11px}
button{appearance:none;min-height:50px;border:0;border-radius:18px;padding:15px 18px;font:inherit;font-weight:650;color:#684552;background:#fff;box-shadow:0 5px 16px rgba(117,63,82,.08);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s,opacity .15s,box-shadow .15s}
button:active{transform:scale(.98)}button:disabled{opacity:.55;cursor:wait}
#status{min-height:24px;margin:20px 0 0;font-size:14px;font-weight:650;transition:color .2s,opacity .2s,transform .2s}
#status.status-idle{color:#684552;opacity:.58}
#status.status-sending{color:#9a6678;animation:status-pulse 1s ease-in-out infinite}
#status.status-success{color:#b05f7c;transform:translateY(-1px)}
#status.status-error{color:#9a5960}
@keyframes status-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){#status.status-sending{animation:none}}
.footer{margin:24px 0 0;font-size:11px;opacity:.42}
.daily-note{
  margin:0 0 22px;
  padding:16px 18px;
  text-align:left;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(117,63,82,.08);
  border-radius:20px;
  box-shadow:0 6px 18px rgba(117,63,82,.06);
}

.daily-label{
  display:block;
  margin-bottom:7px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  opacity:.55;
}

#daily-message{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#684552;
}
/* V2.0 — Interaction Animation */

.bear-wrap{
  position:relative;
  display:inline-block;
}

.bear{
  position:relative;
  z-index:2;
  transform-origin:center bottom;
}

.bear.bounce{
  animation:bear-bounce .7s ease;
}

@keyframes bear-bounce{
  0%{transform:translateY(0) scale(1)}
  25%{transform:translateY(-10px) scale(1.08)}
  50%{transform:translateY(0) scale(.96)}
  75%{transform:translateY(-4px) scale(1.03)}
  100%{transform:translateY(0) scale(1)}
}

.heart{
  position:absolute;
  z-index:1;
  top:25px;
  left:50%;
  font-size:20px;
  color:#d88fa5;
  opacity:0;
  pointer-events:none;
}

.bear-wrap.animate .heart-1{
  animation:heart-float-left .9s ease-out;
}

.bear-wrap.animate .heart-2{
  animation:heart-float-center .9s ease-out .08s;
}

.bear-wrap.animate .heart-3{
  animation:heart-float-right .9s ease-out .16s;
}

@keyframes heart-float-left{
  0%{opacity:0;transform:translate(-50%,0) scale(.6)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(-38px,-55px) scale(1.15)}
}

@keyframes heart-float-center{
  0%{opacity:0;transform:translate(-50%,0) scale(.6)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-68px) scale(1.2)}
}

@keyframes heart-float-right{
  0%{opacity:0;transform:translate(-50%,0) scale(.6)}
  20%{opacity:1}
  100%{opacity:0;transform:translate(20px,-52px) scale(1.1)}
}


/* V2.0 — Hidden Easter Egg */
.bear-wrap[role="button"]{cursor:pointer;border-radius:24px;outline:none}
.bear-wrap[role="button"]:focus-visible{box-shadow:0 0 0 4px rgba(216,143,165,.28)}
.secret-modal[hidden]{display:none}
.secret-modal{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:24px}
.secret-backdrop{position:absolute;inset:0;background:rgba(83,48,61,.28);backdrop-filter:blur(8px)}
.secret-letter{position:relative;width:min(100%,390px);padding:34px 26px 26px;text-align:center;color:#684552;background:linear-gradient(155deg,#fffefd,#fff1f6);border:1px solid rgba(255,255,255,.9);border-radius:28px;box-shadow:0 24px 80px rgba(83,48,61,.24);animation:secret-arrive .35s ease-out}
.secret-close{position:absolute;top:12px;right:14px;width:34px;height:34px;padding:0;border-radius:50%;font-size:24px;line-height:1;font-weight:400;background:rgba(255,255,255,.72);box-shadow:none}
.secret-kicker{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.18em;opacity:.52}
.secret-letter h2{margin:0 0 18px;font-family:Georgia,serif;font-size:26px;font-weight:500}
.secret-letter p{font-size:14px;line-height:1.8}
.secret-send{width:100%;margin-top:10px;background:#fff;box-shadow:0 6px 20px rgba(117,63,82,.1)}
.secret-status{min-height:22px;margin:14px 0 0!important;font-weight:650}
body.secret-open{overflow:hidden}
@keyframes secret-arrive{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){.secret-letter{animation:none}}


/* V2.0 — Mobile & accessibility polish */
@media (hover:hover) and (pointer:fine){
  .actions button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(117,63,82,.12)}
}
@media (max-width:480px){
  body{display:block;padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .card{width:100%;min-height:calc(100dvh - 28px);display:flex;flex-direction:column;justify-content:center;padding:28px 18px 22px;border-radius:26px}
  .bear{font-size:64px}
  .eyebrow{margin-top:14px}
  h1{font-size:clamp(27px,8vw,32px)}
  .intro{margin-bottom:20px}
  .daily-note{margin-bottom:18px;padding:14px 16px}
  .actions{gap:9px}
  button{min-height:48px;padding:13px 16px}
  #status{margin-top:16px}
  .footer{margin-top:18px}
}
@media (max-height:700px) and (max-width:480px){
  .card{justify-content:flex-start}
  .bear{font-size:54px}
  .eyebrow{margin-top:10px}
  .daily-note{margin-bottom:14px}
  .actions{gap:8px}
  button{min-height:44px;padding:11px 14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .bear.bounce,.bear-wrap.animate .heart{animation:none!important}
}
