:root{--bg:#ffffff;--bg-raised:#e8e1e5;--bg-input:#f4f1f3;--line:#e0d8dc;--line-strong:#b0a1a9;--text:#1a1114;--text-dim:#6b5a63;--wine:#ffc2d1;--pink:#ff3f70;--pink-soft:#c2185b;--lavender:#7b3fd4;--tier-shallow-from:#fff2f6;--tier-shallow-to:#ffd0e0;--tier-mid-from:#3a1522;--tier-mid-to:#0d0d0f;--tier-deep-from:#1c1c1e;--tier-deep-to:#000000;--tier-ink:#ffffff;--tier-ink-dim:#98989d;--fs-display:26px;--fs-title:20px;--fs-heading:16px;--fs-body:15px;--fs-small:13px;--fs-caption:11px;--fw-body:500;--fw-strong:600;--fw-heading:700;--radius:14px;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:140ms;--dur-base:320ms;--dur-slow:620ms;--font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font);font-weight:var(--fw-body);-webkit-font-smoothing:antialiased;text-size-adjust:100%}body{min-height:100dvh}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,textarea{font-family:inherit}.shell{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}@keyframes breathe{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes sheen{0%{background-position:-160% 0}to{background-position:260% 0}}@keyframes ripple{0%{opacity:.5;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}.riseIn{animation:rise var(--dur-base) var(--ease-out) backwards;animation-delay:calc(var(--i, 0) * 55ms)}.pageIn{flex:1 1;min-height:0;display:flex;flex-direction:column;animation:pageIn .22s var(--ease-out) backwards}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.skel{position:relative;overflow:hidden;border-radius:8px;background:var(--bg-raised)}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 20%,rgba(255,143,171,.09) 50%,transparent 80%);background-size:220% 100%;animation:sheen 1.5s var(--ease-in-out) infinite}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}