@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b2ea385cb5ae8625-s.0kjod.kaq1k69.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1b99372b3eaef0c8-s.p.0gx2haw2tmll8.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Fallback;src:local(Arial);ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.0%;size-adjust:99.82%}.outfit_8778cd42-module__wRojWG__className{font-family:Outfit,Outfit Fallback;font-style:normal}.outfit_8778cd42-module__wRojWG__variable{--font-outfit:"Outfit", "Outfit Fallback"}
:root{--color-strawberry:#e60012;--color-leaf:#094;--color-pink:#f9a;--color-star:gold;--color-white:#fff;--color-black:#333;--color-bg-overlay:#ffffffd9;--color-glass:#ffffffb3;--font-family:var(--font-zen-maru), var(--font-outfit), sans-serif;--shadow-premium:0 10px 40px #0000001a;--radius-lg:32px;--radius-md:20px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg-light);color:var(--color-black);font-family:var(--font-family);transition:all .8s;overflow-x:hidden}.game-bg{z-index:-1;filter:saturate(1.2);background-position:50%;background-size:cover;width:100vw;height:100vh;transition:opacity 1.5s ease-in-out,filter 1s;position:fixed;top:0;left:0}.game-bg.day{background-image:url(/assets/backgrounds/day.png)}.game-bg.night{opacity:0;background-image:url(/assets/backgrounds/night.png)}body.fever .game-bg.day{opacity:0}body.fever .game-bg.night{opacity:1}body.fever .typing-container{border-color:var(--color-star);box-shadow:0 0 50px #ffd70066}.container{z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}@media (max-width:480px){.container{padding:0}}.typing-container{background:var(--color-glass);-webkit-backdrop-filter:blur(15px);border-radius:var(--radius-lg);border:4px solid var(--color-white);min-height:400px;box-shadow:var(--shadow-premium);flex-direction:column;justify-content:center;align-items:center;width:100%;margin-top:20px;padding:30px;transition:all .5s;display:flex;position:relative;overflow:hidden}@media (max-width:960px){.typing-container{word-break:break-all;border:none;border-radius:0;width:100vw;min-height:110vh;margin-top:-10px;margin-left:calc(-50vw + 50%);box-shadow:none!important;background:0 0!important;padding:5px 5px 320px!important}}.character-display{filter:drop-shadow(0 10px 15px #0000001a);width:240px;height:240px;margin-bottom:20px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.character-display img{object-fit:contain;max-width:100%;max-height:100%}.character-display.bounce{transform:scale(1.15)rotate(5deg)}.text-kana{color:var(--color-strawberry);text-shadow:0 0 20px #fffc;margin-bottom:20px;font-size:64px;font-weight:900}.text-romaji{color:#888;letter-spacing:5px;font-size:36px;font-family:var(--font-outfit), monospace;text-transform:lowercase}.text-romaji .correct .category-badge{background:#0000000d;border-radius:5px;margin-bottom:5px;padding:5px 12px;font-size:14px;font-weight:900;display:inline-block}.text-romaji .correct{color:var(--color-leaf);text-shadow:0 0 10px #0099444d}.text-romaji .active{color:var(--color-strawberry);border-bottom:5px solid var(--color-strawberry);padding-bottom:2px}.combo-badge{background:var(--color-strawberry);color:#fff;border-radius:50px;padding:10px 20px;font-size:32px;font-weight:900;position:absolute;top:80px;right:50px;box-shadow:0 5px 15px #e600124d}.combo-badge .farm-status-card .quit-button{color:#888;cursor:pointer;background:#eee;border:none;border-radius:8px;margin-left:20px;padding:8px 15px;font-size:14px;font-weight:700;transition:all .2s}.combo-badge .farm-status-card .quit-button:hover{color:#444;background:#ddd}.combo-badge .farm-status-card{border-radius:var(--radius-md);box-shadow:var(--shadow-premium);border:4px solid var(--color-pink);background:#fff;flex-direction:column;gap:12px;margin-bottom:40px;padding:25px;display:flex;position:relative;overflow:hidden}.combo-badge .rank-badge{background:var(--color-leaf);color:#fff;border-radius:20px;padding:5px 15px;font-size:14px;font-weight:900;position:absolute;top:15px;right:15px}.combo-badge .harvest-count{color:#555;font-size:18px}.combo-badge .harvest-count strong{color:var(--color-strawberry);font-size:28px}.combo-badge .growth-stage{font-size:16px;font-weight:700}.combo-badge .growth-stage span{color:var(--color-leaf)}.combo-badge .progress-mini{background:#eee;border-radius:5px;width:100%;height:10px;margin-top:5px;overflow:hidden}.combo-badge .progress-mini-fill{background:linear-gradient(90deg, var(--color-leaf), #88d66c);height:100%;transition:width .5s ease-out}.combo-badge{transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(0)}.combo-badge.show{transform:scale(1)}.stats-panel{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:var(--radius-md);box-shadow:var(--shadow-premium);background:#ffffffe6;gap:40px;margin-top:50px;padding:20px 40px;display:flex}.stat-item{flex-direction:column;align-items:center;min-width:100px;display:flex}.stat-value{color:var(--color-strawberry);font-size:32px;font-weight:900}.visitor-icons{gap:15px;margin-top:10px;display:flex}.visitor-slot{background:#0000000d;border-radius:12px;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:relative}.visitor-slot.locked img{filter:grayscale()brightness(.2);opacity:.3}.visitor-slot.unlocked{background:var(--color-pink);border:2px solid var(--color-strawberry);box-shadow:0 4px 10px #e6001233}.visitor-slot.unlocked img{transform:scale(1.1)}.typing-container.mobile{justify-content:flex-start;width:100%;max-width:100vw;min-height:100vh;padding-top:40px;overflow-x:hidden;box-shadow:none!important;background:0 0!important;border:none!important;padding:0 5px 350px!important}.character-display.small{margin-top:0;margin-bottom:5px}.virtual-keyboard{flex-direction:column;gap:4px;width:100%;margin-top:5px;display:flex}@media (max-width:960px){.virtual-keyboard{-webkit-backdrop-filter:blur(10px);width:100vw;max-height:38vh;padding:10px 5px calc(5px + env(safe-area-inset-bottom)) 5px;z-index:1000;border-top:2px solid var(--color-strawberry);background:#fffffffa;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -15px 40px #00000026}}.keyboard-row{justify-content:center;gap:2px;width:100%;display:flex}.key-btn{border:2px solid var(--color-strawberry);min-width:32px;max-width:44px;min-height:64px;color:var(--color-strawberry);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;box-shadow:0 6px 0 var(--color-strawberry);background:#fff;border-radius:12px;flex:1;justify-content:center;align-items:center;margin:0;padding:10px 0;font-size:26px;font-weight:900;transition:all .1s;display:flex}.key-btn:active{box-shadow:0 1px 0 var(--color-strawberry);background:var(--color-pink);transform:translateY(4px)}.key-btn.next-target{background:var(--color-star);color:#8b4513;border-color:#daa520;animation:1.5s infinite keyPulse;box-shadow:0 5px #daa520}@keyframes keyPulse{0%{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 20px #ffd700b3}to{transform:scale(1)}}@media (max-width:960px){.key-btn{max-width:none;height:10vh;min-height:55px;box-shadow:0 6px 0 var(--color-strawberry);border-radius:12px;flex:1;padding:8px 0;font-size:26px}.key-btn:active{box-shadow:0 2px 0 var(--color-strawberry);transform:translateY(4px)}.keyboard-row{gap:4px;width:100%;height:11vh}}.unlock-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;background:#ffffffe6;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.5s fadeIn;display:flex;position:fixed;top:0;left:0}.unlock-card{text-align:center;border:8px solid var(--color-star);background:#fff;border-radius:30px;width:90%;max-width:500px;padding:50px;animation:.6s cubic-bezier(.175,.885,.32,1.275) popIn;box-shadow:0 20px 60px #0003}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.unlock-image{margin:30px 0;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@media (max-width:960px){.stat-label{font-size:11px}.stat-value{font-size:32px!important}.stats-panel{gap:10px!important;padding:10px 15px!important}}.progress-bar-container{background:#0000000d;justify-content:center;align-items:center;width:100%;height:60px;display:flex;position:absolute;top:0;left:0}.progress-bar-fill{background:linear-gradient(90deg, var(--color-strawberry), #ff4d4d);height:100%;transition:width 1s linear;position:absolute;top:0;left:0}.timer-text{color:var(--color-white);text-shadow:0 2px 5px #0003;z-index:10;font-size:24px;font-weight:900;position:relative}.nav{z-index:100;background:0 0;justify-content:space-between;align-items:center;padding:30px 60px;display:flex;position:relative}.logo{color:var(--color-strawberry);letter-spacing:-1px;text-shadow:0 0 20px #fffc;font-size:32px;font-weight:900}@media (max-width:960px){.logo{font-size:20px}.nav{padding:15px 20px}}.start-button{background:linear-gradient(135deg, var(--color-strawberry), #ff1a2e);color:#fff;text-transform:uppercase;border:3px solid #fff;border-radius:60px;padding:20px 60px;font-size:24px;font-weight:900;transition:all .3s;box-shadow:0 10px 25px #e6001266}.start-button:hover{transform:translateY(-5px)scale(1.05);box-shadow:0 15px 35px #e6001280}.setup-screen{border-radius:var(--radius-lg);box-shadow:var(--shadow-premium);text-align:center;border:5px solid var(--color-pink);background:#fffffff2;max-width:800px;margin:20px auto;padding:40px 20px}.course-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;margin:20px 0;display:grid}.course-card{border:4px solid var(--color-pink);border-radius:var(--radius-md);cursor:pointer;background:#fff;padding:15px;transition:all .3s}.course-card.active{border-color:var(--color-strawberry);background:var(--color-pink);transform:scale(1.05);box-shadow:0 10px 20px #e600121a}.course-name{margin-bottom:5px;font-size:1.1rem;font-weight:900}.course-desc{color:#666;font-size:.8rem}.ghost-track{z-index:5;background:#0000000d;width:100%;height:4px;position:absolute;top:55px;left:0}.ghost-icon{font-size:20px;transition:left .5s;position:absolute;top:-12px}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.modal-content{border-radius:var(--radius-lg);text-align:center;border:6px solid var(--color-strawberry);background:#fff;width:100%;max-width:600px;max-height:80vh;padding:30px;overflow-y:auto}.variety-grid{grid-template-columns:1fr;gap:15px;margin-top:20px;display:grid}.variety-card{border-radius:var(--radius-md);text-align:left;border:2px solid #eee;padding:15px}.variety-card.unlocked{border-color:var(--color-pink);background:#fff9fa}.variety-card.locked{color:#999;text-align:center;background:#f5f5f5}.variety-stats{color:var(--color-leaf);margin-top:5px;font-size:.8rem;font-weight:900}.toast-container{z-index:5000;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.achievement-toast{border-left:10px solid var(--color-star);background:#fff;border-radius:15px;align-items:center;gap:15px;padding:15px 25px;animation:.5s cubic-bezier(.175,.885,.32,1.275) toastSlideIn;display:flex;box-shadow:0 10px 30px #0003}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-icon{font-size:32px}.toast-title{color:var(--color-strawberry);font-weight:900}.toast-desc{color:#666;font-size:14px}.mini-btn{background:var(--color-pink);color:var(--color-strawberry);border:2px solid var(--color-strawberry);cursor:pointer;border-radius:15px;padding:5px 15px;font-size:14px;font-weight:900}@media (max-width:960px){.modal-content{max-height:90vh;padding:20px}.setup-screen{border-radius:0;width:100vw;min-height:100vh;margin:0}}
