@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--bg-color:#f2f7fd;--text-primary:#1e293b;--text-secondary:#64748b;--primary-blue:#3b82f6;--primary-blue-hover:#2563eb;--primary-blue-light:#eff6ff;--status-green:#10b981;--status-green-bg:#d1fae5;--status-red:#ef4444;--status-red-bg:#fee2e2;--status-yellow:#f59e0b;--status-yellow-bg:#fef3c7;--glass-bg:#ffffffa6;--glass-border:#ffffff80;--glass-shadow:0 8px 32px 0 #1f26870d;--glass-blur:blur(12px);--app-max-width:480px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--page-padding-x:clamp(14px, 4vw, 18px);--page-padding-y:clamp(18px, 5vw, 24px);--bottom-nav-height:76px;--bottom-nav-offset:calc(14px + var(--safe-bottom));--border-radius-lg:20px;--border-radius-md:12px;--border-radius-sm:8px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--tap-target:44px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background-color:var(--bg-color);min-height:100%}body{background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 15%,#c8e1ff99 0%,#0000 50%),radial-gradient(circle at 85% 30%,#dcebff99 0%,#0000 50%);background-attachment:fixed;min-height:100dvh;font-family:Inter,Noto Sans JP,sans-serif;line-height:1.5;overflow-x:hidden}#root{min-height:100dvh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:600}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none;outline:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.62}a{color:inherit;text-decoration:none}input,textarea,select{max-width:100%;font-family:inherit}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-lg)}.text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=360px){:root{--page-padding-x:12px;--spacing-md:14px;--spacing-lg:20px}}
