*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #4DAFEA;--color-primary-dark: #2c9fd6;--color-primary-darker: #1d88c1;--color-bg: #F3F7FB;--color-surface: #ffffff;--color-text: #0e2e41;--color-text-body: #2d3748;--color-text-sub: #7a8fa0;--color-text-mute: #9eb0bf;--color-border: #E6F1F8;--color-border-strong: #cfe2ef;--color-disabled: #B0BEC5;--color-danger: #ef4444;--radius-lg: 18px;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(14,46,65,.04);--shadow: 0 2px 6px rgba(14,46,65,.05), 0 1px 2px rgba(14,46,65,.04);--shadow-md: 0 4px 12px rgba(14,46,65,.06), 0 1px 3px rgba(14,46,65,.04);--shadow-lg: 0 12px 32px rgba(14,46,65,.12), 0 4px 8px rgba(14,46,65,.05);--shadow-primary: 0 6px 20px rgba(77,175,234,.28), 0 2px 6px rgba(77,175,234,.18);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,system-ui,sans-serif;font-feature-settings:"palt" 1;-webkit-text-size-adjust:100%}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;letter-spacing:.01em}button{cursor:pointer;border:none;font-family:inherit;color:inherit;transition:transform .12s var(--ease-out),box-shadow .18s var(--ease-out),background .18s var(--ease-out),border-color .18s var(--ease-out),opacity .18s var(--ease-out);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:not(:disabled):active{transform:scale(.97)}button:disabled{cursor:not-allowed}input,textarea{font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea:focus,input:focus{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #4dafea26}a{color:inherit;text-decoration:none}.num{font-family:Inter,Noto Sans JP,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.02em}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}
