html, body { margin: 0; padding: 0; background: #1e293b; color: #fff; font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
#root { min-height: 100vh; display: flex; flex-direction: column; }
/* Ensure remixicon font loads with absolute woff2 URL to avoid relative path resolution issues */
@font-face {
  font-family: "remixicon";
  src: url("https://cdn.jsdelivr.net/npm/remixicon@3.5.0/fonts/remixicon.woff2?t=1690730386070") format("woff2");
  font-display: swap;
}
[class^="ri-"], [class*=" ri-"] {
  font-family: 'remixicon' !important;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Noscript fallback styles */
.noscript-fallback { min-height: 100vh; background: #0f172a; color: #fff; font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif; padding: 40px 20px; max-width: 800px; margin: 0 auto; line-height: 1.8; }
.noscript-fallback h1 { font-size: 28px; color: #c9a84c; margin-bottom: 20px; }
.noscript-fallback h2 { font-size: 20px; color: #c9a84c; margin: 30px 0 15px; }
.noscript-fallback p { color: #fff99; margin-bottom: 20px; }
.noscript-fallback ul { list-style: none; padding: 0; }
.noscript-fallback li { margin-bottom: 10px; }
.noscript-fallback a { color: #c9a84c; }
.noscript-fallback .note { margin-top: 30px; color: #fff99; font-size: 12px; }