:root{--primary-h:220;--primary-s:90%;--primary-l:25%;--primary:hsl(var(--primary-h),var(--primary-s),var(--primary-l));--accent-h:35;--accent-s:80%;--accent-l:55%;--accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--background-h:210;--background-s:20%;--background-l:98%;--background:hsl(var(--background-h),var(--background-s),var(--background-l));--surface-h:0;--surface-s:0%;--surface-l:100%;--surface:hsl(var(--surface-h),var(--surface-s),var(--surface-l));--foreground-h:220;--foreground-s:20%;--foreground-l:10%;--foreground:hsl(var(--foreground-h),var(--foreground-s),var(--foreground-l));--muted-h:220;--muted-s:10%;--muted-l:40%;--muted:hsl(var(--muted-h),var(--muted-s),var(--muted-l));--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--bg-hover:#f0f4ff;--bg-elevated:#fff;--bg-page:linear-gradient(135deg,#f8fafc 0%,#eef2ff 50%,#f0f4ff 100%);--bg-grid-line:#0000000f;--text-primary:#1e293b;--text-secondary:#475569;--text-tertiary:#64748b;--text-muted:#94a3b8;--text-inverted:#fff;--border-primary:#e2e8f0;--border-secondary:#f1f5f9;--border-hover:#cbd5e1;--card-bg:#fff;--card-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;--card-shadow-hover:0 4px 12px #00000014,0 2px 4px #0000000a;--input-bg:#fff;--input-border:#d1d5db;--input-focus-border:#3b82f6;--sidebar-bg:#3b3632;--sidebar-text:#e2d6cc;--sidebar-hover:#ffffff14;--sidebar-active:#ffffff26;--badge-bg:#e0f2fe;--badge-text:#0369a1;--badge-success-bg:#dcfce7;--badge-success-text:#166534;--badge-warning-bg:#fef3c7;--badge-warning-text:#92400e;--badge-danger-bg:#fee2e2;--badge-danger-text:#991b1b;--header-bg:#ffffffe0;--header-border:#f0f0f0;--overlay-bg:#00000080;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,20px);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{scroll-behavior:auto;-moz-text-size-adjust:100%;text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;height:100%}body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);font-family:var(--font-noto-sans-jp),var(--font-geist-sans),"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;color:var(--text-primary);background:var(--bg-page);min-height:100vh;padding-bottom:var(--safe-area-bottom);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .3s,color .3s;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{appearance:none;color:var(--text-primary);background:var(--input-bg);border-radius:0;font-family:inherit;font-size:16px;line-height:1.5}::placeholder{color:var(--text-muted);opacity:1}::placeholder{color:var(--text-muted);opacity:1}::placeholder{color:var(--text-muted);opacity:1}:-ms-placeholder-shown{color:var(--text-muted);opacity:1}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d}.container{width:100%;max-width:600px;margin:0 auto;padding:0 16px}@media (max-width:768px){html{font-size:16px}[style*=marginLeft]{width:100%!important;margin-left:0!important;padding-bottom:80px!important}[style*="display: flex"][style*="minHeight: 100vh"]>aside{display:none!important}}*,:before,:after{transition-property:background-color,border-color,color,box-shadow;transition-duration:0s}html.theme-transitioning *,html.theme-transitioning :before,html.theme-transitioning :after{transition-duration:.3s!important;transition-timing-function:ease!important}body.evaluation-open [class*=bottomNav],body.evaluation-open [class*=mobileNotifBell]{display:none!important}@keyframes slideDown{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){button,a,[role=button],[data-ripple]{-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.ripple-effect{pointer-events:none;z-index:999;background:#0000001a;border-radius:50%;animation:.5s ease-out forwards rippleAnim;position:absolute;transform:scale(0)}.ripple-effect.ripple-light{background:#ffffff40}}@keyframes rippleAnim{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.5)}}