/* Native sheets: lunar + compact registration review sheet (variant A) */
:root{
  --review-sheet-bg:#f5f3f1;
  --review-sheet-surface:#ffffff;
  --review-sheet-primary:#111114;
  --review-sheet-secondary:#6f6b75;
  --review-sheet-tertiary:#8d8992;
  --review-sheet-separator:rgba(60,60,67,.16);
  --review-sheet-accent:#6f56a6;
  --review-sheet-accent-pressed:#604993;
  --review-sheet-footer-bg:rgba(245,243,241,.985);
  --review-sheet-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --review-sheet-bg:#1c1b20;
    --review-sheet-surface:#2a292f;
    --review-sheet-primary:#f7f2f8;
    --review-sheet-secondary:#c9c3cf;
    --review-sheet-tertiary:#9d96a5;
    --review-sheet-separator:rgba(235,235,245,.14);
    --review-sheet-accent:#b8a0ff;
    --review-sheet-accent-pressed:#c7b4ff;
    --review-sheet-footer-bg:rgba(28,27,32,.985);
  }
}
.lunar-date-sheet-viewport,.profile-review-sheet-viewport{position:fixed!important;inset:0!important;z-index:3400!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:0!important;background:rgba(18,10,28,0);backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:hidden!important;overscroll-behavior:none!important;contain:layout style paint;}
.lunar-date-sheet-panel,.profile-review-sheet-panel{position:relative!important;align-self:flex-end!important;width:min(100vw,430px)!important;max-width:min(100vw,430px)!important;max-height:calc(var(--tg-viewport-stable-height, var(--tg-viewport-height, 100dvh)) - env(safe-area-inset-top))!important;margin:0 auto!important;border-radius:30px 30px 0 0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;will-change:transform!important;transform:translate3d(0,100%,0);opacity:1!important;touch-action:pan-y;contain:layout style paint;}
.lunar-date-sheet-panel{padding:0 18px calc(14px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(255,251,247,.996),rgba(247,240,255,.992))!important;color:#2f2340!important;box-shadow:0 -14px 36px rgba(13,7,20,.14),0 2px 12px rgba(13,7,20,.06),inset 0 1px 0 rgba(255,255,255,.85)!important;}
.profile-review-sheet-panel{display:flex!important;flex-direction:column!important;padding:0!important;overflow:hidden!important;font-family:var(--review-sheet-font)!important;background:var(--review-sheet-bg)!important;color:var(--review-sheet-primary)!important;box-shadow:0 -10px 24px rgba(0,0,0,.12),0 -1px 4px rgba(0,0,0,.04)!important;}
.lunar-date-sheet-panel.is-dragging,.profile-review-sheet-panel.is-dragging{cursor:grabbing;user-select:none!important;-webkit-user-select:none!important}
.lunar-date-sheet-head{position:sticky!important;top:0!important;z-index:2!important;min-height:42px!important;padding:12px 0 10px!important;display:grid!important;place-items:center!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;background:linear-gradient(180deg,rgba(255,251,247,.985),rgba(255,251,247,.84) 72%,rgba(255,251,247,0));}
.lunar-date-sheet-grabber{width:64px;height:6px;border-radius:999px;background:linear-gradient(180deg,rgba(123,97,163,.24),rgba(123,97,163,.48));box-shadow:0 1px 3px rgba(45,34,62,.08) inset;}
.lunar-date-sheet-panel .lunar-date-pill{width:max-content!important;max-width:100%!important;margin:0 auto 12px!important;padding:10px 14px!important;font-size:13px!important;border-radius:18px!important;background:linear-gradient(180deg,#fff8ef,#f6ecff)!important;border:1px solid rgba(92,64,132,.16)!important;box-shadow:0 6px 18px rgba(43,34,52,.08)!important;color:#5d3d87!important;}.lunar-date-sheet-panel .lunar-date-pill b,.lunar-date-sheet-panel .lunar-date-pill strong{color:#4a2d73!important;font-weight:900!important}.lunar-date-sheet-panel .lunar-date-pill .date-orbit{color:#7b61a3!important;opacity:1!important}.lunar-date-sheet-panel .hint-strip{margin:0!important;padding:15px!important;border-radius:24px!important;gap:6px!important;background:linear-gradient(160deg,rgba(243,237,255,.95),rgba(255,249,242,.92))!important;border:1px solid rgba(110,84,140,.10)!important}.lunar-date-sheet-panel .hint-strip span{font-size:12px!important;letter-spacing:.02em!important;color:#7f66a1!important;font-weight:900!important}.lunar-date-sheet-panel .hint-strip b{font-size:18px!important;line-height:1.12!important;color:#2f2340!important}.lunar-date-sheet-panel .hint-strip small{font-size:13.5px!important;line-height:1.34!important;color:#584b66!important;font-weight:760!important}.lunar-date-sheet-panel .flow-actions{margin-top:14px!important;gap:10px!important}.lunar-date-sheet-panel .primary,.lunar-date-sheet-panel .ghost{min-height:52px!important;border-radius:18px!important;padding:12px 14px!important}
.profile-review-sheet-header{flex:0 0 auto;padding:2px 18px 0;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:var(--review-sheet-bg);}
.profile-review-sheet-handle{width:100%;min-height:28px;display:grid;place-items:center;margin:0;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;}
.profile-review-sheet-handle span{width:36px;height:5px;border-radius:999px;background:#c7c7cc;display:block;}
@media (prefers-color-scheme: dark){.profile-review-sheet-handle span{background:#5f5d66;}}
.profile-review-sheet-header h3{margin:0 0 4px;color:var(--review-sheet-primary);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:31px;}
.profile-review-sheet-header p{margin:0 0 10px;color:var(--review-sheet-secondary);font-size:15px;font-weight:400;line-height:20px;}
.profile-review-scroll-area{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 18px 14px;scroll-padding-bottom:14px;}
.profile-review-data-section{margin:0 0 12px;}
.profile-review-data-section:last-child{margin-bottom:0;}
.profile-review-data-section h4{margin:0 0 6px 14px;color:var(--review-sheet-secondary);font-size:13px;font-weight:500;line-height:17px;}
.profile-review-grouped-list{overflow:hidden;border-radius:16px;background:var(--review-sheet-surface);border:0;box-shadow:none;}
.profile-review-data-row{position:relative;min-height:48px;display:grid;grid-template-columns:minmax(98px,.9fr) minmax(0,1.1fr);align-items:center;gap:10px;padding:8px 14px;}
.profile-review-data-row + .profile-review-data-row::before{content:"";position:absolute;top:0;left:14px;right:0;height:1px;background:var(--review-sheet-separator);transform:scaleY(.5);transform-origin:top;}
.profile-review-data-label{min-width:0;color:var(--review-sheet-secondary);font-size:14.5px;font-weight:450;line-height:18px;}
.profile-review-data-value{min-width:0;color:var(--review-sheet-primary);font-size:15.5px;font-weight:600;line-height:19px;text-align:right;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;}
.profile-review-data-row.is-empty .profile-review-data-value{color:var(--review-sheet-tertiary);font-weight:500;}
.profile-review-sticky-actions{flex:0 0 auto;display:grid;gap:2px;padding:6px 18px calc(8px + env(safe-area-inset-bottom));background:var(--review-sheet-footer-bg);border-top:1px solid var(--review-sheet-separator);box-shadow:none;}
.profile-review-save-button,.profile-review-edit-button{font-family:var(--review-sheet-font);appearance:none;-webkit-appearance:none;border:0;min-height:42px;touch-action:manipulation;}
.profile-review-save-button{width:100%;min-height:52px;border-radius:16px;background:linear-gradient(180deg,var(--review-sheet-accent),var(--review-sheet-accent-pressed));color:#fff;font-size:16px;font-weight:600;line-height:20px;box-shadow:0 2px 6px rgba(86,62,135,.10);transition:transform .1s ease,opacity .1s ease;}
.profile-review-save-button:active{transform:scale(.988);opacity:.93;}
.profile-review-save-button:disabled{opacity:.72;pointer-events:none;}
.profile-review-save-button.is-loading span::after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border-radius:50%;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;vertical-align:-2px;animation:profile-review-spin .8s linear infinite;}
.profile-review-edit-button{min-height:42px;border-radius:12px;background:transparent;color:var(--review-sheet-accent);font-size:15.5px;font-weight:500;line-height:20px;}
.profile-review-edit-button:active{background:rgba(111,86,166,.08);}
@keyframes profile-review-spin{to{transform:rotate(360deg)}}
@media (max-width:340px){.profile-review-sheet-header{padding-left:14px;padding-right:14px;}.profile-review-scroll-area{padding-left:14px;padding-right:14px;padding-bottom:12px;}.profile-review-sticky-actions{padding-left:14px;padding-right:14px;}.profile-review-data-row{grid-template-columns:1fr;gap:2px;align-items:start;}.profile-review-data-value{text-align:left;}}
@media (orientation:landscape) and (max-height:520px){.profile-review-sheet-panel{max-height:calc(100dvh - env(safe-area-inset-top))!important;}.profile-review-sheet-handle{min-height:24px;}.profile-review-sheet-header p{margin-bottom:8px;}.profile-review-data-section{margin-bottom:10px;}}
@media (prefers-reduced-motion: reduce){.lunar-date-sheet-panel,.profile-review-sheet-panel{will-change:auto!important}.profile-review-save-button{transition:none;}}

/* Lunar calendar: adaptive create/check event inside the same native bottom sheet */
:root{
  --lunar-sheet-safe-top: env(safe-area-inset-top, 0px);
  --lunar-sheet-safe-bottom: env(safe-area-inset-bottom, 0px);
  --lunar-sheet-vh: var(--visual-viewport-height, var(--tg-viewport-height, 100dvh));
  --lunar-sheet-top-gap: clamp(6px, 1.4dvh, 12px);
  --lunar-sheet-inline-pad: clamp(16px, 5vw, 28px);
  --lunar-sheet-gap: clamp(10px, 1.8dvh, 16px);
  --lunar-sheet-radius: clamp(22px, 6vw, 32px);
}
html:has(.lunar-date-sheet-viewport),
body:has(.lunar-date-sheet-viewport){
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.lunar-date-sheet-viewport{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  inset:0!important;
  align-items:flex-end!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  touch-action:none;
}
.lunar-date-sheet-viewport.is-expanded{background:rgba(18,10,28,.10)!important;}
body:has(.lunar-date-sheet-viewport) #app{overflow:hidden!important;overscroll-behavior:none!important;touch-action:none!important;}
.lunar-date-sheet-viewport.is-expanded .lunar-date-sheet-panel{transform:translate3d(0,0,0);}
.lunar-date-sheet-panel{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  border-radius:var(--lunar-sheet-radius) var(--lunar-sheet-radius) 0 0!important;
  max-height:calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - var(--lunar-sheet-top-gap))!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  padding-left:var(--lunar-sheet-inline-pad)!important;
  padding-right:var(--lunar-sheet-inline-pad)!important;
  padding-bottom:calc(clamp(14px, 2dvh, 18px) + var(--lunar-sheet-safe-bottom))!important;
}
.lunar-date-sheet-viewport.is-expanded .lunar-date-sheet-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:min(78dvh, calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - var(--lunar-sheet-top-gap)))!important;
  max-height:calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - var(--lunar-sheet-top-gap))!important;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(255,251,247,.985),rgba(247,240,255,.972))!important;
  color:#241b32!important;
  box-shadow:0 -18px 48px rgba(13,7,20,.18),inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.lunar-date-sheet-body{
  flex:1 1 auto;
  min-height:0;
  min-width:0;
  width:100%;
  box-sizing:border-box;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-inline:var(--lunar-sheet-inline-pad);
  padding-bottom:calc(clamp(16px, 2.2dvh, 22px) + var(--lunar-sheet-safe-bottom));
  scroll-padding-top:calc(64px + var(--lunar-sheet-safe-top));
  scroll-padding-bottom:calc(88px + var(--lunar-sheet-safe-bottom));
}
.lunar-date-sheet-scene{
  min-width:0;
  max-width:100%;
  animation:lunarSheetSceneIn .26s cubic-bezier(.22,1,.36,1) both;
}
.lunar-event-form-scene,.lunar-event-result-scene{
  padding:clamp(2px, .5dvh, 6px) 0 0;
  display:grid;
  gap:var(--lunar-sheet-gap);
}
.lunar-event-sheet-head{
  position:sticky!important;
  top:0!important;
  z-index:3!important;
  display:grid!important;
  grid-template-columns:minmax(44px,auto) minmax(0,1fr) minmax(44px,auto)!important;
  align-items:center!important;
  min-height:clamp(54px, 8dvh, 66px)!important;
  padding:clamp(7px, 1.2dvh, 10px) var(--lunar-sheet-inline-pad) clamp(7px, 1.2dvh, 10px)!important;
  box-sizing:border-box!important;
  background:linear-gradient(180deg,rgba(255,251,247,.985),rgba(255,251,247,.92) 82%,rgba(255,251,247,.76))!important;
  border-bottom:1px solid rgba(92,64,132,.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.lunar-event-sheet-head .lunar-date-sheet-grabber{
  grid-column:1/4;
  width:clamp(42px, 14vw, 56px);
  height:5px;
  margin:0 auto clamp(3px, .7dvh, 6px);
}
.lunar-event-sheet-head h3{
  grid-column:2;
  grid-row:2;
  min-width:0;
  margin:0;
  text-align:center;
  font-size:clamp(18px, 5vw, 22px);
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.03em;
  color:#241b32;
  overflow-wrap:anywhere;
}
.lunar-sheet-back{
  grid-column:1;
  grid-row:2;
  justify-self:start;
  width:44px;
  min-width:44px;
  height:44px;
  min-height:44px;
  border:0;
  border-radius:999px;
  background:rgba(92,64,132,.09);
  color:#4f3477;
  font-size:34px;
  line-height:30px;
  display:grid;
  place-items:center;
  padding:0;
  touch-action:manipulation;
}
.lunar-sheet-back:active{transform:scale(.96);background:rgba(92,64,132,.14);}
.lunar-event-date-chip{
  min-width:0;
  display:grid;
  gap:clamp(2px, .5dvh, 4px);
  padding:clamp(10px, 2dvh, 14px) clamp(12px, 4vw, 16px);
  border-radius:clamp(18px, 5vw, 24px);
  background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(243,236,255,.78));
  border:1px solid rgba(92,64,132,.10);
  box-shadow:0 8px 22px rgba(43,34,52,.07);
}
.lunar-event-date-chip span,.lunar-event-field span{
  min-width:0;
  font-size:clamp(12px, 3.4vw, 13px);
  line-height:1.25;
  font-weight:850;
  letter-spacing:.02em;
  color:#745d94;
  overflow-wrap:anywhere;
}
.lunar-event-date-chip b{
  min-width:0;
  font-size:clamp(18px, 5vw, 22px);
  line-height:1.16;
  font-weight:950;
  color:#241b32;
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
}
.lunar-event-date-chip small{
  min-width:0;
  font-size:clamp(13px, 3.6vw, 15px);
  line-height:1.3;
  font-weight:760;
  color:#5b5068;
  overflow-wrap:anywhere;
}
.lunar-event-field{display:grid;gap:clamp(6px, 1dvh, 8px);margin:0;min-width:0;}
.lunar-event-field .input,.lunar-event-field textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  border:1px solid rgba(92,64,132,.10)!important;
  border-radius:clamp(17px, 5vw, 21px)!important;
  background:rgba(255,255,255,.74)!important;
  color:#241b32!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.84),0 5px 16px rgba(43,34,52,.045)!important;
  font-size:clamp(16px, 4vw, 18px)!important;
  font-weight:760!important;
  line-height:1.28!important;
  outline:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
  overflow-wrap:anywhere;
}
.lunar-event-field .input{
  min-height:clamp(50px, 7.6dvh, 56px)!important;
  height:auto!important;
  padding:0 clamp(14px, 4vw, 16px)!important;
}
.lunar-event-field textarea{
  min-height:clamp(84px, 16dvh, 116px)!important;
  max-height:min(28dvh, 180px)!important;
  height:auto!important;
  padding:clamp(12px, 2dvh, 15px) clamp(14px, 4vw, 16px)!important;
  resize:none!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}
.lunar-event-field .input::placeholder,.lunar-event-field textarea::placeholder{color:rgba(76,61,92,.48);font-weight:650;white-space:normal;}
.lunar-event-field .input:focus,.lunar-event-field textarea:focus{border-color:rgba(124,91,178,.42)!important;box-shadow:0 0 0 4px rgba(124,91,178,.11),inset 0 1px 0 rgba(255,255,255,.92)!important;background:rgba(255,255,255,.92)!important;}
.lunar-event-form-scene .field-error-label{margin:calc(-1 * clamp(2px, .7dvh, 5px)) 0 0 2px;color:#a43d55;font-size:clamp(12px,3.2vw,13px);line-height:1.25;font-weight:850;overflow-wrap:anywhere;}
.lunar-event-note{margin:0;color:#5b5068!important;font-size:clamp(14px, 3.7vw, 16px)!important;line-height:1.35!important;font-weight:760!important;overflow-wrap:anywhere;}
.lunar-event-error{margin:0!important;padding:clamp(9px,1.5dvh,11px) clamp(11px,3.5vw,13px)!important;border-radius:clamp(15px,4vw,17px)!important;background:rgba(164,61,85,.09)!important;color:#8d2f48!important;border:1px solid rgba(164,61,85,.12)!important;overflow-wrap:anywhere;}
.lunar-sheet-actions{margin-top:clamp(1px,.5dvh,4px)!important;display:grid!important;gap:clamp(8px,1.4dvh,10px)!important;min-width:0;}
.lunar-sheet-actions .primary,.lunar-sheet-actions .ghost,
.lunar-event-result-scene .flow-actions .primary,.lunar-event-result-scene .flow-actions .ghost{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  height:auto!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  touch-action:manipulation!important;
}
.lunar-sheet-actions .primary{min-height:clamp(50px,7.5dvh,56px)!important;border-radius:clamp(18px,5vw,21px)!important;font-size:clamp(16px,4vw,18px)!important;font-weight:900!important;}
.lunar-sheet-actions .ghost{min-height:44px!important;border:0!important;background:transparent!important;color:#6f56a6!important;box-shadow:none!important;font-weight:850!important;}
.lunar-event-result-scene .inline-decision-modal{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;animation:lunarSheetSceneIn .26s cubic-bezier(.22,1,.36,1) both!important;}
.lunar-event-result-scene .inline-decision-modal>.pill,.lunar-event-result-scene .inline-decision-modal>h3{display:none!important;}
.lunar-event-result-scene .decision-modal-scroll{max-height:none!important;overflow:visible!important;margin:0!important;}
.lunar-event-result-scene .event-decision-advice-card,.lunar-event-result-scene .event-precheck-copy{border-radius:clamp(18px,5vw,24px)!important;background:rgba(255,255,255,.76)!important;color:#241b32!important;border:1px solid rgba(92,64,132,.10)!important;box-shadow:0 8px 22px rgba(43,34,52,.06)!important;overflow-wrap:anywhere!important;}
.lunar-event-result-scene .flow-actions{margin-top:clamp(10px,1.8dvh,14px)!important;display:grid!important;gap:clamp(8px,1.4dvh,10px)!important;}
.lunar-event-result-scene .flow-actions .primary{min-height:clamp(50px,7.5dvh,56px)!important;border-radius:clamp(18px,5vw,21px)!important;}
.lunar-event-result-scene .flow-actions .ghost{min-height:44px!important;border:0!important;background:transparent!important;color:#6f56a6!important;box-shadow:none!important;}
.lunar-sheet-mode-form .lunar-date-sheet-panel,.lunar-sheet-mode-result .lunar-date-sheet-panel{transition:min-height .26s cubic-bezier(.22,1,.36,1),max-height .26s cubic-bezier(.22,1,.36,1);}
@keyframes lunarSheetSceneIn{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media (min-width:700px){.lunar-date-sheet-panel{max-width:560px!important;margin-inline:auto!important;}.lunar-date-sheet-viewport{padding-inline:clamp(18px,4vw,40px)!important;box-sizing:border-box;}}
@media (max-width:340px){:root{--lunar-sheet-inline-pad:clamp(14px,4.5vw,16px);--lunar-sheet-gap:10px;}.lunar-event-sheet-head{grid-template-columns:44px minmax(0,1fr) 44px!important}.lunar-event-field textarea{min-height:82px!important;max-height:22dvh!important}.lunar-event-note{font-size:14px!important}.lunar-date-sheet-panel .hint-strip{padding:12px!important;border-radius:20px!important}.lunar-date-sheet-panel .flow-actions{gap:8px!important}}
@media (max-height:700px){:root{--lunar-sheet-gap:clamp(8px,1.4dvh,12px);--lunar-sheet-top-gap:6px}.lunar-date-sheet-viewport.is-expanded .lunar-date-sheet-panel{min-height:min(86dvh, calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - var(--lunar-sheet-top-gap)))!important}.lunar-date-sheet-body{padding-bottom:calc(12px + var(--lunar-sheet-safe-bottom));scroll-padding-bottom:calc(76px + var(--lunar-sheet-safe-bottom));}.lunar-event-date-chip{padding-block:10px}.lunar-event-field textarea{min-height:80px!important;max-height:22dvh!important}.lunar-event-sheet-head{min-height:54px!important}.lunar-sheet-actions .primary{min-height:50px!important}}
@media (orientation:landscape) and (max-height:520px){.lunar-date-sheet-viewport.is-expanded .lunar-date-sheet-panel{min-height:auto!important;max-height:calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - 4px)!important}.lunar-event-sheet-head{min-height:50px!important}.lunar-event-form-scene,.lunar-event-result-scene{gap:8px}.lunar-event-field textarea{min-height:68px!important;max-height:20dvh!important}}
body.keyboard-open .lunar-date-sheet-viewport.is-expanded .lunar-date-sheet-panel{min-height:auto!important;max-height:calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top, 0px) - var(--lunar-sheet-safe-top) - 4px)!important;}
body.keyboard-open .lunar-date-sheet-body{scroll-padding-bottom:calc(96px + var(--lunar-sheet-safe-bottom));}
@media (prefers-reduced-motion: reduce){.lunar-date-sheet-scene,.lunar-event-result-scene .inline-decision-modal{animation:none!important}.lunar-sheet-mode-form .lunar-date-sheet-panel,.lunar-sheet-mode-result .lunar-date-sheet-panel{transition:none!important}}


/* Single persistent lunar event sheet — dateInfo → eventForm → dateResult */
.lunar-date-sheet-viewport{
  min-height:100dvh!important;
  height:100dvh!important;
  background:rgba(18,10,28,.18)!important;
  z-index:4200!important;
  padding-top:calc(env(safe-area-inset-top,0px) + var(--visual-viewport-offset-top,0px))!important;
  box-sizing:border-box!important;
}
.lunar-date-sheet-panel{
  background:rgba(251,248,252,.98)!important;
  color:#21182d!important;
  box-shadow:0 -22px 58px rgba(13,7,20,.22),0 -1px 0 rgba(255,255,255,.78) inset!important;
  transition:min-height .38s cubic-bezier(0.22,1,0.36,1),max-height .38s cubic-bezier(0.22,1,0.36,1),border-radius .38s cubic-bezier(0.22,1,0.36,1)!important;
  will-change:transform,min-height,max-height!important;
}
.lunar-date-sheet-head,
.lunar-event-sheet-head{
  background:linear-gradient(180deg,rgba(251,248,252,.995),rgba(251,248,252,.94) 84%,rgba(251,248,252,.78))!important;
}
.lunar-date-sheet-body{
  scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset,0px))!important;
}
.lunar-date-sheet-scene{
  animation:lunarSingleSceneIn .38s cubic-bezier(0.22,1,0.36,1) both!important;
  transform-origin:50% 100%;
}
.lunar-date-info-scene{display:grid;gap:clamp(10px,1.8dvh,16px);}
.lunar-shared-date-chip{
  min-width:0;
  box-sizing:border-box;
  color:#241b32;
  transition:transform .40s cubic-bezier(0.22,1,0.36,1),opacity .34s cubic-bezier(0.22,1,0.36,1),padding .40s cubic-bezier(0.22,1,0.36,1),border-radius .40s cubic-bezier(0.22,1,0.36,1),background .40s cubic-bezier(0.22,1,0.36,1);
}
.lunar-shared-date-chip.is-large{
  display:grid;
  place-items:center;
  text-align:center;
  gap:4px;
  padding:clamp(14px,2.5dvh,20px) clamp(16px,5vw,22px);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(245,238,255,.70));
  border:1px solid rgba(92,64,132,.10);
  box-shadow:0 10px 26px rgba(43,34,52,.07);
}
.lunar-shared-date-chip.is-large .date-orbit{font-size:22px;line-height:1;color:#7452a4;}
.lunar-shared-date-chip.is-large b{font-size:clamp(20px,5.7vw,25px);line-height:1.12;font-weight:950;letter-spacing:-.03em;}
.lunar-shared-date-chip.is-large small{font-size:13px;font-weight:850;color:#735d91;}
.lunar-shared-date-chip.is-large strong{font-size:clamp(16px,4.5vw,19px);font-weight:900;color:#422d60;}
.lunar-shared-date-chip.is-compact{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  padding:10px 13px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(92,64,132,.09);
  box-shadow:0 8px 20px rgba(43,34,52,.045);
  animation:lunarSharedChipMorph .40s cubic-bezier(0.22,1,0.36,1) both;
}
.lunar-shared-date-chip.is-compact b,
.lunar-shared-date-chip.is-compact small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lunar-shared-date-chip.is-compact b{font-size:15px;font-weight:900;color:#2a2036;}
.lunar-shared-date-chip.is-compact small{font-size:14px;font-weight:800;color:#604c79;}
.lunar-shared-date-chip.is-compact em{font-style:normal;color:#9b89b3;}
.lunar-shared-date-chip.is-interactive{position:relative;display:flex;align-items:center;gap:7px;cursor:pointer;padding-block:11px;}
.lunar-shared-date-chip.is-interactive>b{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;}
.lunar-shared-date-chip.is-interactive>small{justify-self:start;}
.lunar-chip-date-input{position:absolute;inset:0;opacity:.001;width:100%;height:100%;border:0;cursor:pointer;-webkit-appearance:none;appearance:none;}
.lunar-shared-date-chip.is-interactive.is-disabled{cursor:default;opacity:.72;}
.lunar-shared-date-chip.is-interactive.is-disabled .lunar-chip-date-input{pointer-events:none;}
.lunar-shared-date-chip.is-interactive:active{transform:scale(.995);}
.lunar-info-foldable{animation:lunarInfoFoldOpen .38s cubic-bezier(0.22,1,0.36,1) both;}
.lunar-sheet-mode-form .lunar-date-sheet-panel,
.lunar-sheet-mode-result .lunar-date-sheet-panel{
  min-height:min(82dvh,calc(100dvh - env(safe-area-inset-top,0px) - 6px))!important;
  max-height:calc(100dvh - env(safe-area-inset-top,0px) - var(--visual-viewport-offset-top,0px) - 6px)!important;
}
.lunar-event-form-scene{
  gap:clamp(10px,1.7dvh,15px)!important;
}
.lunar-event-form-scene .lunar-event-field,
.lunar-event-form-scene .lunar-event-note,
.lunar-event-form-scene .lunar-sheet-actions,
.lunar-event-form-scene .lunar-event-error{
  opacity:0;
  transform:translate3d(0,10px,0);
  animation:lunarFieldGrow .40s cubic-bezier(0.22,1,0.36,1) forwards;
}
.lunar-event-form-scene .lunar-field-title{animation-delay:.06s;}
.lunar-event-form-scene .lunar-field-note{animation-delay:.13s;}
.lunar-event-form-scene .lunar-event-note,.lunar-event-form-scene .lunar-event-error{animation-delay:.20s;}
.lunar-event-form-scene .lunar-sheet-actions{animation-delay:.27s;}
.lunar-event-form-scene.is-checking .lunar-field-note,
.lunar-event-form-scene.is-checking .lunar-field-title{
  opacity:.60!important;
  filter:saturate(.85);
  transition:opacity .32s cubic-bezier(0.22,1,0.36,1),filter .32s cubic-bezier(0.22,1,0.36,1);
}
.lunar-event-form-scene input:disabled,
.lunar-event-form-scene textarea:disabled{
  opacity:.74!important;
  -webkit-text-fill-color:#5f526d!important;
  background:rgba(255,255,255,.58)!important;
}
.lunar-sheet-actions .primary.is-checking{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.lunar-btn-spinner{
  width:17px;
  height:17px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  animation:lunarBtnSpin .8s linear infinite;
}
.lunar-event-result-scene{
  gap:clamp(10px,1.7dvh,15px)!important;
}
.lunar-result-grown{
  min-width:0;
  opacity:0;
  transform:translate3d(0,12px,0) scale(.985);
  animation:lunarResultGrow .42s cubic-bezier(0.22,1,0.36,1) .04s forwards;
}
.lunar-event-result-scene .inline-decision-modal{animation:none!important;}
.lunar-event-result-scene .event-decision-advice-card,
.lunar-event-result-scene .event-precheck-copy{
  background:rgba(255,255,255,.78)!important;
  border-radius:24px!important;
  box-shadow:0 10px 26px rgba(43,34,52,.055)!important;
}
body.keyboard-open .lunar-date-sheet-viewport,
body.keyboard-open .lunar-date-sheet-panel{height:auto!important;}
body.keyboard-open .lunar-sheet-mode-form .lunar-date-sheet-panel,
body.keyboard-open .lunar-sheet-mode-result .lunar-date-sheet-panel{
  max-height:calc(var(--lunar-sheet-vh) - var(--visual-viewport-offset-top,0px) - env(safe-area-inset-top,0px) - 4px)!important;
}
@keyframes lunarSingleSceneIn{0%{opacity:.001;transform:translate3d(0,10px,0) scale(.992)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes lunarFieldGrow{to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes lunarResultGrow{to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes lunarSharedChipMorph{0%{transform:translate3d(0,8px,0) scale(1.02);opacity:.66}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes lunarInfoFoldOpen{from{opacity:.001;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes lunarBtnSpin{to{transform:rotate(360deg)}}
@media (max-width:340px){
  .lunar-shared-date-chip.is-large{padding:13px 14px;border-radius:24px;}
  .lunar-shared-date-chip.is-compact{gap:5px;padding:9px 11px;}
  .lunar-shared-date-chip.is-compact b{font-size:14px;}
  .lunar-shared-date-chip.is-compact small{font-size:13px;}
}
@media (prefers-reduced-motion: reduce){
  .lunar-date-sheet-panel,.lunar-date-sheet-scene,.lunar-shared-date-chip,.lunar-result-grown,.lunar-event-form-scene .lunar-event-field,.lunar-event-form-scene .lunar-event-note,.lunar-event-form-scene .lunar-sheet-actions{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;}
}

.lunar-event-result-scene .event-nearest-dates-card{margin-top:12px!important;padding:14px 16px!important;border-radius:22px!important;background:rgba(255,255,255,.82)!important;border:1px solid rgba(92,64,132,.10)!important;box-shadow:0 8px 22px rgba(43,34,52,.05)!important;}
.lunar-event-result-scene .event-nearest-dates-title{margin:0 0 10px!important;font-size:14px!important;line-height:1.35!important;font-weight:900!important;color:#2a1f39!important;}
.lunar-event-result-scene .event-nearest-dates-list{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:8px!important;}
.lunar-event-result-scene .event-nearest-date-item{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;width:100%!important;padding:10px 12px!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(255,248,239,.96),rgba(246,236,255,.82))!important;border:1px solid rgba(111,86,166,.10)!important;-webkit-appearance:none!important;appearance:none!important;text-align:left!important;cursor:pointer!important;}
.lunar-event-result-scene .event-nearest-date-item:active{transform:scale(.995)!important;}
.lunar-event-result-scene .event-nearest-date-item b{font-size:15px!important;line-height:1.2!important;color:#2a1f39!important;}
.lunar-event-result-scene .event-nearest-date-item small{font-size:13px!important;line-height:1.25!important;color:#6f56a6!important;text-align:right!important;}

/* 20260802 one-sheet native flow hardening: one panel, internal scroll, lighter surfaces */
.lunar-date-sheet-viewport{
  height:var(--visual-viewport-height, 100dvh)!important;
  min-height:0!important;
  padding-top:calc(var(--visual-viewport-offset-top,0px) + env(safe-area-inset-top,0px))!important;
  box-sizing:border-box!important;
}
.lunar-date-sheet-panel{
  display:flex!important;
  flex-direction:column!important;
  min-height:auto!important;
  max-height:calc(var(--visual-viewport-height, 100dvh) - var(--visual-viewport-offset-top,0px) - env(safe-area-inset-top,0px) - clamp(6px,1.4dvh,12px))!important;
  overflow:hidden!important;
  border-radius:clamp(24px,6vw,32px) clamp(24px,6vw,32px) 0 0!important;
  box-shadow:0 -10px 30px rgba(13,7,20,.12), inset 0 1px 0 rgba(255,255,255,.88)!important;
  transform-origin:50% 100%!important;
}
@media (min-width:520px){.lunar-date-sheet-panel{width:min(100%,430px)!important;max-width:430px!important;}}
.lunar-date-sheet-head{
  flex:0 0 auto!important;
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  background:linear-gradient(180deg,rgba(255,251,247,.99),rgba(255,251,247,.94) 78%,rgba(255,251,247,.72))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.lunar-date-sheet-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  touch-action:pan-y!important;
  padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;
  scroll-padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;
}
.lunar-date-sheet-scene{
  contain:layout paint!important;
  animation:lunarStageSpringIn .36s cubic-bezier(0.22,1,0.36,1) both!important;
}
.lunar-sheet-mode-info .lunar-date-sheet-panel{animation:lunarSheetCardBreathe .34s cubic-bezier(0.22,1,0.36,1) both!important;}
.lunar-sheet-mode-form .lunar-date-sheet-panel,.lunar-sheet-mode-result .lunar-date-sheet-panel{animation:lunarSheetExpandSpring .38s cubic-bezier(0.22,1,0.36,1) both!important;}
.lunar-sheet-back{
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  border-radius:999px!important;box-shadow:0 3px 10px rgba(43,34,52,.055)!important;background:rgba(255,255,255,.62)!important;color:#5d4876!important;
}
.lunar-shared-date-chip{border-radius:22px!important;box-shadow:0 5px 14px rgba(43,34,52,.04)!important;}
.lunar-shared-date-chip.is-large{border-radius:24px!important;box-shadow:0 7px 18px rgba(43,34,52,.055)!important;}
.lunar-event-form-scene .lunar-event-field{gap:6px!important;transition:transform .12s cubic-bezier(0.22,1,0.36,1)!important;}
.lunar-event-form-scene .lunar-event-field:focus-within{animation:lunarFocusPulse .12s cubic-bezier(0.22,1,0.36,1) both!important;}
.lunar-event-field .input,.lunar-event-field textarea{
  min-height:clamp(44px,6.6dvh,50px)!important;
  padding:11px 13px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.70)!important;
  box-shadow:0 4px 12px rgba(43,34,52,.035)!important;
}
.lunar-event-field textarea{min-height:clamp(76px,14dvh,104px)!important;max-height:32dvh!important;resize:none!important;}
.lunar-event-field .input::placeholder,.lunar-event-field textarea::placeholder{color:rgba(64,48,82,.58)!important;}
.lunar-primary-action-row{
  position:sticky!important;
  bottom:0!important;
  z-index:4!important;
  margin-top:2px!important;
  padding-top:10px!important;
  padding-bottom:calc(2px + env(safe-area-inset-bottom,0px))!important;
  background:linear-gradient(180deg,rgba(255,251,247,0),rgba(255,251,247,.94) 22%,rgba(255,251,247,.99))!important;
}
.lunar-primary-action-row .primary{transition:transform .22s cubic-bezier(0.22,1,0.36,1),box-shadow .22s cubic-bezier(0.22,1,0.36,1),background .22s cubic-bezier(0.22,1,0.36,1)!important;}
.lunar-primary-action-row .primary:active{transform:scale(.985)!important;}
.lunar-inline-result-card{
  display:grid!important;gap:clamp(10px,1.7dvh,15px)!important;
  padding:14px!important;border-radius:24px!important;
  background:rgba(255,255,255,.62)!important;border:1px solid rgba(92,64,132,.09)!important;
  box-shadow:0 7px 18px rgba(43,34,52,.045)!important;
  animation:lunarResultGrow .38s cubic-bezier(0.22,1,0.36,1) both!important;
}
.lunar-inline-result-card h3{margin:0!important;font-size:clamp(20px,5.2vw,24px)!important;line-height:1.12!important;letter-spacing:-.03em!important;color:#2a1f39!important;}
.lunar-inline-result-card .decision-modal-scroll{max-height:none!important;overflow:visible!important;padding:0!important;}
.lunar-inline-result-card .event-decision-advice-shell{margin:0!important;}
.lunar-inline-result-card .event-decision-advice-card,.lunar-inline-result-card .event-precheck-copy{border-radius:22px!important;box-shadow:0 5px 14px rgba(43,34,52,.04)!important;}
.lunar-result-secondary{min-height:42px!important;box-shadow:none!important;}
body.keyboard-open .lunar-date-sheet-panel{transform:translate3d(0,0,0)!important;}
body.keyboard-open .lunar-date-sheet-body{scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;}
@keyframes lunarStageSpringIn{0%{opacity:.001;transform:translate3d(0,14px,0) scale(.986)}72%{opacity:1;transform:translate3d(0,-1px,0) scale(1.003)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes lunarSheetCardBreathe{0%{transform:translate3d(0,0,0) scale(.992)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes lunarSheetExpandSpring{0%{transform:translate3d(0,0,0) scale(.985)}70%{transform:translate3d(0,-2px,0) scale(1.002)}100%{transform:translate3d(0,0,0) scale(1)}}
@keyframes lunarFocusPulse{0%{transform:scale(1)}55%{transform:scale(1.01)}100%{transform:scale(1)}}
@media (max-width:340px){
  .lunar-date-sheet-body{padding-inline:14px!important;}
  .lunar-event-field .input,.lunar-event-field textarea{padding:10px 12px!important;border-radius:16px!important;}
  .lunar-event-field textarea{min-height:72px!important;}
  .lunar-inline-result-card{padding:12px!important;border-radius:22px!important;}
}
@media (prefers-reduced-motion: reduce){
  .lunar-date-sheet-panel,.lunar-date-sheet-scene,.lunar-inline-result-card,.lunar-event-form-scene .lunar-event-field{animation:none!important;transition:none!important;}
}
