:root{--bg-primary: #FFFFFF;--bg-secondary: #F7F7F8;--bg-tertiary: #EFEFEF;--bg-subtle: #FAFAFA;--text-primary: #121212;--text-secondary: #555555;--text-muted: #888888;--text-inverted: #FFFFFF;--border-light: #E8E8E8;--border-medium: #D1D1D1;--border-strong: #121212;--accent-black: #000000;--accent-white: #FFFFFF;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;--font-japanese: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;--shadow-subtle: 0 1px 3px rgba(0, 0, 0, .05);--shadow-card: 0 4px 12px rgba(0, 0, 0, .04);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .08);--tablet-container: 1140px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;width:100%;background-color:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(min-width:768px){body{font-size:17px}}:focus-visible{outline:2px solid var(--accent-black);outline-offset:2px}button{font-family:inherit;cursor:pointer;border:none;background:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all .15s ease-in-out}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background-color:var(--accent-black);color:var(--text-inverted);border:1px solid var(--accent-black);border-radius:var(--radius-sm);padding:.75rem 1.25rem;font-weight:500;font-size:.95rem}.btn-primary:hover:not(:disabled){background-color:#262626;border-color:#262626}.btn-secondary{background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:.75rem 1.25rem;font-weight:500;font-size:.95rem}.btn-secondary:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--text-primary)}.btn-outline{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:.6rem 1rem;font-size:.9rem}.btn-outline:hover:not(:disabled){border-color:var(--accent-black);background-color:var(--bg-primary)}.jp-text{font-family:var(--font-japanese);letter-spacing:.04em}.jp-serif{font-family:var(--font-japanese)}ruby{ruby-align:center;ruby-position:over;display:inline-ruby}rt{font-family:var(--font-sans);font-size:.55em;font-weight:600;color:var(--text-secondary);line-height:1;text-align:center;-webkit-user-select:none;user-select:none;letter-spacing:.02em}.kanji-display rt{font-size:.45em;color:var(--text-muted);display:block}.badge{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:var(--radius-full);border:1px solid var(--border-medium);background-color:var(--bg-primary);color:var(--text-secondary)}.badge-inverted{background-color:var(--accent-black);color:var(--text-inverted);border-color:var(--accent-black)}.audio-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid var(--border-medium);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.audio-btn:hover{background:var(--accent-black);color:var(--text-inverted);border-color:var(--accent-black)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.audio-btn .material-symbols-outlined{font-size:18px}
