:root{--primary-color: #6200ee;--primary-light: #bb86fc;--primary-dark: #3700b3;--secondary-color: #03dac6;--success-color: #00c853;--error-color: #ff3d00;--background-color: #f5f5f5;--surface-color: #ffffff;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--shadow-color: rgba(0, 0, 0, .12);--transition-speed: .2s;--card-radius: 16px;--button-radius: 28px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Poppins,Noto Sans JP,sans-serif;background-color:var(--background-color);color:var(--text-primary);margin:0;padding:0;height:100vh;display:flex;flex-direction:column;align-items:center;line-height:1.6}.container{padding:20px;width:95%;max-width:1200px;flex:1;display:flex;flex-direction:column}.page-title{position:fixed;top:10px;left:50%;transform:translate(-50%);margin:0;color:var(--primary-color);background-color:#fffffff2;padding:10px 24px;border-radius:var(--button-radius);box-shadow:0 8px 20px #6200ee26;z-index:1000;font-weight:700;letter-spacing:1px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);font-size:20px}.hiragana-area{border:none;border-radius:var(--card-radius);padding:20px;width:100%;height:100%;background-color:var(--surface-color);box-shadow:0 12px 30px var(--shadow-color);display:flex;flex-wrap:wrap;gap:10px;align-content:flex-start;justify-content:center;position:relative;overflow:auto;flex:1}.hiragana-area:before{content:"";position:absolute;top:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--primary-light),var(--secondary-color))}.hiragana-card{width:100px;height:140px;border:none;border-radius:var(--card-radius);display:flex;flex-direction:column;align-items:center;background-color:var(--surface-color);transition:all var(--transition-speed) cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;box-shadow:0 4px 12px #00000014;overflow:hidden;position:relative;cursor:text}.hiragana-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #0000001f}.hiragana-card:focus-within{box-shadow:0 0 0 3px #bb86fc40,0 12px 24px #0000001f;transform:translateY(-5px)}.hiragana-display{width:100%;height:80px;display:flex;justify-content:center;align-items:center;font-size:46px;border-bottom:1px solid var(--border-color);background-color:#6200ee0d;font-weight:500;color:var(--primary-dark);font-family:Noto Sans JP,sans-serif}.input-container{width:100%;height:60px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.romaji-input{width:100%;height:100%;padding:8px 10px;text-align:center;border:none;border-radius:0;font-size:14px;font-family:Poppins,sans-serif;transition:all var(--transition-speed) ease;outline:none;background-color:transparent}.romaji-answer{width:100%;height:100%;padding:8px 10px;text-align:center;font-size:14px;font-family:Poppins,sans-serif;font-weight:600;color:var(--success-color)}.correct{border-color:var(--success-color);background:#00c85340;animation:correctPulse .5s ease;box-shadow:0 8px 16px #00c85340}.incorrect{border-color:var(--error-color);background:#ff3d0040}.reset-button{position:fixed;bottom:20px;right:20px;padding:12px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--button-radius);cursor:pointer;font-size:16px;font-weight:600;box-shadow:0 8px 16px #6200ee4d;transition:all var(--transition-speed) cubic-bezier(.4,0,.2,1);letter-spacing:.5px;text-transform:uppercase}.reset-button:hover{background-color:var(--primary-dark);transform:translateY(-3px) scale(1.05);box-shadow:0 12px 20px #6200ee66}.reset-button:active{transform:translateY(0) scale(.98)}.win-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--success-color),#64dd17);color:#fff;padding:30px 60px;border-radius:var(--card-radius);box-shadow:0 16px 32px #00c8534d;font-size:32px;z-index:2000;animation:bounceIn .5s cubic-bezier(.175,.885,.32,1.275);font-weight:700;letter-spacing:1px;text-align:center}.tabs-container{width:100%;text-align:center}.tabs{display:flex;justify-content:center;gap:1rem;padding:1rem;border-radius:8px;margin-bottom:1rem}.tab-button{padding:.8rem 2rem;font-size:1.2rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;background:#fff;color:#333}.tab-button.active{background:#4caf50;color:#fff;box-shadow:0 2px 4px #0003}.tab-button:hover:not(.active){background:#e0e0e0}.score-display{display:inline-block;background-color:#fffffff2;padding:8px 20px;border-radius:var(--button-radius);box-shadow:0 8px 16px var(--shadow-color);font-size:16px;color:var(--text-primary);transition:all var(--transition-speed) ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:600;border:1px solid rgba(255,255,255,.2);letter-spacing:.5px}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}60%{transform:translate(-50%,-50%) scale(1.1)}80%{transform:translate(-50%,-50%) scale(.95)}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes scoreUpdate{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.2)}to{transform:translate(-50%) scale(1)}}@media (max-width: 1024px){.container{width:100%;padding:15px}.hiragana-card{width:90px;height:130px}.hiragana-display{font-size:40px;height:70px}.page-title{font-size:18px;padding:10px 20px}}@media (max-width: 768px){.hiragana-area{padding:15px;gap:10px}.hiragana-card{width:80px;height:120px}.hiragana-display{height:65px;font-size:36px}.input-container{padding:6px}.page-title{width:90%;text-align:center;font-size:16px}}@media (max-width: 600px){.hiragana-card{width:70px;height:110px}.hiragana-display{font-size:32px;height:60px}.romaji-input{font-size:12px;padding:6px 8px}.page-title{font-size:14px;padding:8px 16px}.score-display{font-size:14px;padding:8px 16px;top:50px}.reset-button{padding:10px 20px;font-size:14px;right:15px;bottom:15px}.win-message{font-size:24px;padding:24px 40px}}@media (max-width: 400px){.hiragana-card{width:60px;height:100px}.hiragana-display{font-size:28px;height:55px}.romaji-input{font-size:11px;padding:4px 6px}}
