@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.landing-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem;overflow:hidden}.glow-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60vw;height:60vw;max-width:800px;max-height:800px;background:radial-gradient(circle,#2f81f726,#0d111700 70%);z-index:0;pointer-events:none;animation:pulse-glow 8s ease-in-out infinite alternate}@keyframes pulse-glow{0%{opacity:.6;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.landing-lang{position:absolute;top:2rem;right:2rem;z-index:10}.language-switcher{display:flex;align-items:center;gap:.75rem;background:#0003;padding:.5rem 1rem;border-radius:8px;border:1px solid var(--panel-border);transition:border-color .2s}.language-switcher:hover{border-color:var(--accent)}.language-switcher label{color:var(--text-muted);font-size:.9rem;font-weight:500}.language-switcher select{background:transparent;color:var(--theme-text-color);border:none;font-family:inherit;font-size:.95rem;font-weight:500;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:1.5rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right center;background-size:1em}.language-switcher select option{background:var(--theme-bg-color);color:var(--theme-text-color)}.landing-content{display:flex;flex-direction:column;align-items:center;z-index:1;max-width:900px;width:100%;animation:fadeUp 1s cubic-bezier(.16,1,.3,1)}.landing-title{font-size:clamp(3.5rem,8vw,6rem);font-weight:700;letter-spacing:-2px;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#c9d1d9,#8b949e);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;line-height:1.1}.landing-subtitle{font-size:clamp(1.2rem,3vw,1.5rem);color:var(--text-muted);text-align:center;margin-bottom:4rem;max-width:600px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;width:100%;margin-bottom:4rem}.feature-card{background:#161b2266;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:2rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .3s ease,background .3s ease,border-color .3s ease}.feature-card:hover{transform:translateY(-8px);background:#161b22cc;border-color:#2f81f74d}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.25rem;color:var(--theme-text-color);margin-bottom:.5rem;font-weight:600}.feature-card p{color:var(--text-muted);font-size:.95rem;line-height:1.5}.cta-button{background:linear-gradient(135deg,#2f81f7,#1f6feb);color:#fff;font-size:1.5rem;font-weight:600;padding:1.25rem 3rem;border:none;border-radius:50px;cursor:pointer;box-shadow:0 10px 30px #2f81f766,inset 0 1px #fff3;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;font-family:inherit}.cta-button:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 60%);opacity:0;transform:scale(.5);transition:opacity .3s ease,transform .3s ease}.cta-button:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 15px 40px #2f81f780,inset 0 1px #ffffff4d}.cta-button:hover:after{opacity:1;transform:scale(1)}.cta-button:active{transform:translateY(2px);box-shadow:0 5px 15px #2f81f74d}@media(max-width:768px){.landing-lang{top:1rem;right:1rem}.landing-title{font-size:clamp(2.5rem,10vw,4rem);margin-top:4rem}.features-grid{grid-template-columns:1fr}.cta-button{width:100%;padding:1rem 1.5rem;font-size:1.2rem}.glow-effect{width:80vw;height:80vw}}.header{display:flex;justify-content:space-between;align-items:center;width:100%}.header-title{text-align:left}.header-title h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--theme-text-color),var(--text-muted));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}.header-title p{color:var(--text-muted);font-size:1.1rem}@media(max-width:768px){.header{flex-direction:column;align-items:flex-start;gap:1rem}.header-title h1{font-size:1.8rem}}.success-message{text-align:center;padding:3rem;animation:fadeUp .5s ease}.success-message h2{color:var(--text-correct);font-size:2rem;margin-bottom:1rem}.mode-selector{display:flex;background:#0003;border-radius:8px;overflow:hidden;border:1px solid var(--panel-border)}.mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:transparent;color:var(--text-muted);border:none;font-family:inherit;cursor:pointer;transition:all .2s ease}.mode-btn .mode-title{font-size:1.1rem;font-weight:600}.mode-btn .mode-desc{font-size:.8rem;opacity:.7;max-width:90%;line-height:1.3}.mode-btn:hover{background:#ffffff0d;color:var(--theme-text-color)}.mode-btn.active{background:var(--accent);color:#fff}@media(max-width:768px){.mode-selector{flex-direction:column}.mode-btn{padding:.75rem}}.text-entry-container{display:flex;flex-direction:column;gap:.75rem;width:100%}.text-entry-header{display:flex;justify-content:space-between;align-items:center}.text-entry-info{display:flex;flex-direction:column}.text-entry-title{font-size:1.1rem;font-weight:500}.text-entry-subtext{font-size:.85rem;color:var(--text-muted)}.text-entry-upload-btn{background-color:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.text-entry-upload-btn:hover{border-color:var(--accent);background-color:#2f81f71a}.text-entry-upload-btn input[type=file]{display:none}.text-entry-textarea{width:100%;height:15rem;padding:1rem;border-radius:8px;border:1px solid var(--panel-border);background-color:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:1rem;resize:vertical;line-height:1.5;transition:border-color .2s ease}.text-entry-textarea:focus{outline:none;border-color:var(--accent)}.upload-container{display:flex;flex-direction:column;gap:2rem}.dual-upload{display:flex;gap:1rem}.dual-upload .text-entry-container{flex:1}.start-game-btn{align-self:center;background-color:var(--accent);color:var(--bg);border:none;border-radius:8px;padding:1rem 3rem;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem;box-shadow:0 4px 12px #2f81f74d}.start-game-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2f81f766}.start-game-btn:disabled{background-color:var(--panel-border);color:var(--text-muted);cursor:not-allowed;box-shadow:none;transform:none}@media(max-width:768px){.dual-upload{flex-direction:column}.start-game-btn{width:100%;padding:1rem;font-size:1.15rem}}.text-display{font-family:JetBrains Mono,monospace;font-size:1.25rem;line-height:1.8;letter-spacing:.5px;white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;border-radius:8px;padding:1.5rem;background:#0003;border:1px solid var(--panel-border);max-height:400px;overflow-y:auto}.text-display .correct{color:var(--text-correct)}.text-display .incorrect{color:var(--text-error);background:#f8514933;border-radius:2px}.text-display .active{color:var(--theme-text-color);background:#58a6ff4d;border-radius:2px;animation:blink 1s infinite}.text-display .pending{color:var(--text-muted)}.translation-mode-indicator{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.translation-mode-indicator h3{color:var(--text-muted);font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.source-text-display{font-family:JetBrains Mono,monospace;font-size:1.15rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:#0003;border:1px dashed var(--panel-border);padding:1.5rem;border-radius:8px;color:var(--theme-text-color);max-height:250px;overflow-y:auto}.memory-mode-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;background:#0003;border:1px dashed var(--accent);border-radius:8px;text-align:center;animation:pulse-border 2s infinite}.memory-icon{font-size:3rem;margin-bottom:1rem}.memory-mode-indicator h3{color:var(--accent);margin-bottom:.5rem;font-size:1.5rem}.memory-mode-indicator p{color:var(--text-muted)}.typing-container{display:flex;flex-direction:column;gap:1.5rem}.completed-sentences-container{padding:1rem 1.5rem;background:#ffffff08;border-radius:8px;margin-bottom:-.5rem}.completed-sentence{color:var(--accent);opacity:.7;font-family:JetBrains Mono,monospace;font-size:1.1rem;line-height:1.5;transition:opacity .3s ease}.typing-input{width:100%;background:#0000004d;border:1px solid var(--panel-border);border-radius:8px;padding:1rem 1.5rem;color:var(--theme-text-color);font-family:JetBrains Mono,monospace;font-size:1.25rem;outline:none;transition:border-color .2s;resize:none;height:120px}.typing-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2f81f733}.typing-input::placeholder{color:#8b949e80}.typing-input.error{border-color:var(--text-error);box-shadow:0 0 0 1px var(--text-error)}.error-feedback{background:#f851491a;border:1px solid rgba(248,81,73,.4);color:var(--text-error);padding:.75rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;animation:fadeUp .3s ease}.failed-sentence-display{background:#f851490d;border-left:4px solid rgba(248,81,73,.6);padding:1rem;border-radius:4px;margin-top:-.5rem;animation:fadeUp .3s ease}.failed-label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.failed-text{font-family:JetBrains Mono,monospace;font-size:1rem;color:var(--theme-text-color);line-height:1.5;margin:0;opacity:.9}.error-feedback:before{content:"⚠️";font-size:1.1rem}@media(max-width:768px){.typing-input{font-size:1.1rem;padding:.75rem 1rem;height:100px}.completed-sentence{font-size:.95rem}.button-group{flex-direction:column!important;gap:.5rem!important;width:100%}.failed-text{font-size:.9rem}}:root{--main-bright-bg-colour: #bbbbbb;--main-bright-text-colour: #08090a;--main-dark-bg-colour: #08090a;--main-dark-text-colour: #bbbbbb;--shadow-colour: rgba(0, 0, 0, .5);--theme-bg-color: var(--main-bright-bg-colour);--theme-text-color: var(--main-bright-text-colour);--panel-bg: #f9f9f9;--panel-border: rgba(0, 0, 0, .1);--text-muted: #444;--text-correct: #2ea043;--text-error: #da3633;--text-active: #0969da;--accent: #333;--accent-hover: #555}@media(prefers-color-scheme:dark){:root{--shadow-colour: rgba(255, 255, 255, .5);--theme-bg-color: var(--main-dark-bg-colour);--theme-text-color: var(--main-dark-text-colour);--panel-bg: #121416;--panel-border: rgba(255, 255, 255, .08);--text-muted: #8b949e;--text-correct: #3fb950;--text-error: #f85149;--text-active: #58a6ff}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Serif;background-color:var(--theme-bg-color);color:var(--theme-text-color);line-height:1.8;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Roboto,Helvetica,Arial,Helvetica,Sans-Serif}.app-container{width:100%;max-width:900px;padding:2rem;display:flex;flex-direction:column;gap:2rem}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;padding:2.5rem;box-shadow:0 8px 32px #0000004d;transition:transform .2s ease,box-shadow .2s ease}@keyframes blink{0%,to{background:#58a6ff1a}50%{background:#58a6ff66}}@keyframes pulse-border{0%,to{border-color:#2f81f74d}50%{border-color:#2f81f7cc}}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-2px,0,0)}20%,80%{transform:translate3d(4px,0,0);border-color:var(--text-error)}30%,50%,70%{transform:translate3d(-8px,0,0);border-color:var(--text-error)}40%,60%{transform:translate3d(8px,0,0);border-color:var(--text-error)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-reset{align-self:flex-end;background:transparent;color:var(--text-muted);border:1px solid var(--panel-border);border-radius:6px;padding:.5rem 1rem;font-size:.9rem;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-reset:hover{color:var(--theme-text-color);border-color:var(--theme-text-color);background:#ffffff0d}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;font-family:inherit}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:#ffffff0d;color:var(--theme-text-color);border:1px solid var(--panel-border);border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;font-family:inherit}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.back-home-btn{position:absolute;top:2rem;left:2rem;color:var(--theme-text-color);text-decoration:none;font-family:inherit;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem;opacity:.8;transition:opacity .2s;z-index:100}.back-home-btn:hover{opacity:1;text-decoration:underline}@media(max-width:768px){.app-container{padding:4rem 1rem 1rem}.glass-panel{padding:1.5rem}.back-home-btn{top:1rem;left:1rem;font-size:.9rem}.btn-primary,.btn-secondary{padding:.6rem 1.2rem;font-size:.9rem;width:100%}}
