@tailwind base;@tailwind components;@tailwind utilities;:root{--rose:#c96b8a;--rose-dark:#b05878;--rose-light:#f2d4dc;--rose-xl:#fbf2f4;--surface:#fafaf8;--surface-2:#f4f3f0;--deep:#1c1c1e;--mid:#48484a;--muted:#8e8e93;--border:#e5e5e0;--white:#fff;--success:#34c759;--error:#ff3b30;--indigo:#c96b8a;--indigo-dark:#b05878;--indigo-light:#f2d4dc;--indigo-xl:#fbf2f4;--indigo-x1:#fbf2f4;--indigo-bg:#f5f0fa;--cream:#fafaf8;--pink:#c96b8a}html{scroll-behavior:smooth}body{font-family:var(--font-sans),"Noto Sans JP",sans-serif;background:var(--surface);color:var(--deep);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-track{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes stream-in{0%{opacity:0}to{opacity:1}}.animate-fadeUp{animation:fadeUp .5s ease both}.animate-float{animation:float 7s ease-in-out infinite}.animate-pulse-dot{animation:pulse-dot 2s ease infinite}.animate-spin{animation:spin .7s linear infinite}.form-input{@apply w-full px-4 py-3 rounded-xl outline-none transition-all text-base;border:1.5px solid var(--border);background:var(--white);color:var(--deep)}.form-input::placeholder{color:var(--muted)}.form-input:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(201,107,138,.1)}.form-input.error{border-color:var(--error)}.btn-primary{@apply inline-flex items-center justify-center gap-2
         px-8 py-4 rounded-full font-medium
         transition-all cursor-pointer border-none;background:var(--deep);color:var(--white);letter-spacing:.02em}.btn-primary:hover:not(:disabled){background:#2c2c2e;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.18)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{@apply px-3 py-2 rounded-lg text-sm font-medium transition-all
         border-none cursor-pointer;color:var(--mid);background:transparent}.btn-ghost:hover{color:var(--deep);background:var(--surface-2)}.bubble-ai{@apply rounded-[18px] px-4 py-3 text-sm leading-relaxed max-w-[76%];background:var(--white);color:var(--deep);border-bottom-left-radius:4px;box-shadow:0 1px 8px rgba(0,0,0,.06);border:1px solid var(--border)}.bubble-user{@apply rounded-[18px] px-4 py-3 text-sm leading-relaxed max-w-[76%];background:var(--deep);color:var(--white);border-bottom-right-radius:4px}.card{@apply bg-white rounded-2xl border p-5;border-color:var(--border)}.card-hover{@apply card transition-all cursor-default}.card-hover:hover{box-shadow:0 8px 32px rgba(0,0,0,.08);transform:translateY(-2px)}.spinner{width:16px;height:16px;border:2px solid hsla(0,0%,100%,.4);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--deep);color:#fff;padding:12px 24px;border-radius:999px;font-size:13px;opacity:0;transition:all .3s ease;z-index:9999;white-space:nowrap;pointer-events:none}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.success{background:#1a7a3a}.toast.error{background:var(--error)}.safe-bottom{padding-bottom:max(8px,env(safe-area-inset-bottom))}.blog-content h2{font-size:18px;font-weight:600;margin:28px 0 12px;color:var(--deep);padding-bottom:8px;border-bottom:1px solid var(--border)}.blog-content p{margin-bottom:16px;line-height:1.9;color:var(--mid)}.blog-content strong{color:var(--deep);font-weight:600}