*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color)}.app-body{background:var(--bg-color);color:var(--text-color);font-family:var(--font-primary);min-height:100dvh;display:flex;padding:100px 20px 0;flex-direction:column;align-items:center;justify-content:flex-start;transition:background .6s;background-image:radial-gradient(ellipse at 20% 20%,rgba(212,168,67,.04) 0%,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(212,168,67,.03) 0%,transparent 60%)}body:after{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;opacity:.4;z-index:100}:root{--muted-color: #666;--accent-color-rgb: 212, 168, 67;--correct-color-rgb: 74, 222, 128;--wrong-color-rgb: 248, 113, 113;--bg-color: #0a0a0a;--button-bg-hover-color: rgba(var(--wrong-color-rgb), .1);--score-bar-bg-color: #1e1e1e;--text-color: #f0ece4;--annotation-color: rgba(var(--accent-color-rgb), .4);--card-color: #141414;--card-hover-color: #1a1a1a;--skip-card-bg-color: rgba(255, 255, 255, .03);--skip-card-border-hover-color: #555;--avatar-bg-color: linear-gradient(135deg, #2a2a2a, #1a1a1a);--border-color: #2a2a2a;--border-hover-color: rgba(var(--accent-color-rgb), .3);--button-real-border-color: rgba(var(--accent-color-rgb), .4);--mood-label-border-color: rgba(var(--accent-color-rgb), .25);--dot-correct-color: rgba(var(--correct-color-rgb));--dot-wrong-color: rgba(var(--wrong-color-rgb));--dot-bg-color: #222;--dot-border-color: #333;--toast-bg-color: #1c1c1c;--toast-border-color: #333;--toast-box-shadow-color: 0 8px 40px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .04);--radius: 20px;--font-primary: "DM Sans", sans-serif;--font-secondary: "Bebas Neue", sans-serif;--font-subtitle: "DM Mono", monospace}.state-correct{--accent-color: rgba(var(--correct-color-rgb));--accent-dim-color: rgba(var(--correct-color-rgb), .12)}.state-wrong{--accent-color: rgba(var(--wrong-color-rgb));--accent-dim-color: rgba(var(--wrong-color-rgb), .12)}.state-neutral{--accent-color: rgba(var(--accent-color-rgb));--accent-dim-color: rgba(var(--accent-color-rgb), .12)}.bento{display:grid;grid-template-columns:180px 1fr 160px;gap:12px;width:100%;max-width:920px}.card-bottom-right{grid-column:3;grid-row:3;display:flex;flex-direction:column;gap:12px;padding:0;background:transparent;border:none}.card{background:var(--card-color);border:1px solid var(--border-color);border-radius:var(--radius);padding:20px;transition:border-color .4s,background .4s,box-shadow .4s;position:relative;overflow:hidden}.card:hover{border-color:var(--border-hover-color);background:var(--card-hover-color)}.card-profile{grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.avatar{width:80px;height:80px;border-radius:50%;background:var(--avatar-bg-color);border:2px solid var(--accent-color);display:flex;align-items:center;justify-content:center;font-size:36px;transition:border-color .4s;position:relative;overflow:hidden}.avatar:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1),transparent 60%)}.mood-label{font-family:var(--font-subtitle);font-size:10px;color:var(--accent-color);letter-spacing:.1em;text-transform:uppercase;background:var(--accent-dim-color);padding:4px 10px;border-radius:20px;border:1px solid var(--mood-label-border-color);transition:all .4s}.profile-name{font-family:var(--font-secondary);font-size:22px;letter-spacing:.05em;color:var(--text-color)}.profile-sub{font-size:11px;color:var(--muted-color);line-height:1.5}.card-streak{grid-column:1;grid-row:3;text-align:center}.streak-fire{font-size:28px;display:block;margin-bottom:4px}.streak-num{font-family:var(--font-secondary);font-size:40px;color:var(--accent-color);line-height:1;transition:color .4s}.streak-label{font-size:10px;color:var(--muted-color);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}.card-quote{grid-column:2;grid-row:1 / 4;display:flex;flex-direction:column;gap:20px;padding:32px}.card-quote:before{content:'"';position:absolute;top:16px;left:24px;font-family:var(--font-secondary);font-size:80px;color:#d4a8431a;line-height:1;pointer-events:none}.card-quote.correct-flash{box-shadow:0 0 50px #4ade8040,0 0 100px #4ade801a;border-color:#4ade8080!important;animation:none}.card-quote.wrong-flash{animation:shake .5s ease-out;box-shadow:0 0 50px #f8717140,0 0 100px #f871711a;border-color:#f8717180!important}.quote-tag{font-family:var(--font-subtitle);font-size:10px;color:var(--muted-color);letter-spacing:.12em;text-transform:uppercase;align-self:center}.quote-text{font-family:var(--font-secondary);font-size:32px;line-height:1.15;color:var(--text-color);letter-spacing:.02em;flex:1;display:flex;align-items:center}.quote-hint{font-size:11px;color:var(--muted-color);text-align:center;font-family:var(--font-subtitle);min-height:16px;transition:color .3s}.quote-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn{padding:14px;border-radius:14px;border:1px solid var(--border-color);background:transparent;color:var(--text-color);font-family:var(--font-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;letter-spacing:.02em}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn-real{border-color:var(--button-real-border-color);color:var(--accent-color)}.btn-real:hover:not(:disabled){background:var(--accent-dim-color);border-color:var(--accent-color);transform:translateY(-2px)}.btn-fake:hover:not(:disabled){background:var(--button-bg-hover-color);border-color:var(--wrong-color);color:var(--wrong-color);transform:translateY(-2px)}.card-score{grid-column:3;grid-row:1;text-align:center}.score-big{font-family:var(--font-secondary);font-size:52px;line-height:1;color:var(--accent-color);transition:color .4s}.score-total{font-size:11px;color:var(--muted-color);font-family:var(--font-subtitle);letter-spacing:.08em;margin-top:4px}.score-bar-wrap{margin-top:12px;background:var(--score-bar-bg-color);border-radius:6px;height:6px;overflow:hidden}.score-bar{height:100%;background:linear-gradient(90deg,var(--accent-color),#e8c06a);border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1),background .4s}.card-history{grid-column:3;grid-row:2}.history-title{font-size:10px;color:var(--muted-color);letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-subtitle);margin-bottom:10px}.history-dots{display:flex;gap:5px;flex-wrap:wrap}.dot{width:10px;height:10px;border-radius:50%;background:var(--dot-bg-color);border:1px solid var(--dot-border-color);transition:all .3s}.dot.correct{background:var(--dot-correct-color);border-color:var(--dot-correct-color)}.dot.wrong{background:var(--dot-wrong-color);border-color:var(--dot-wrong-color)}.dot.new{animation:dotPop .4s cubic-bezier(.34,1.56,.64,1) forwards}.card.card-skip{padding:12px}.card-skip{grid-column:3;grid-row:3;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--border-color);background:transparent;color:var(--muted-color);cursor:pointer;transition:all .25s;font-family:var(--font-primary)}.card-skip:hover{color:var(--text-color);border-color:var(--skip-card-border-hover-color);background:var(--skip-card-bg-color);transform:translateY(-1px)}.skip-icon{font-size:18px;transition:transform .3s}.card-skip:hover .skip-icon{transform:rotate(-180deg)}.skip-label{font-family:var(--font-subtitle);font-size:11px;letter-spacing:.06em}.card-about{grid-column:3;grid-row:4;display:flex;align-items:center;gap:12px}.about-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border-color);background:transparent;color:var(--muted-color);font-family:var(--font-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.about-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:var(--accent-dim-color)}.about-title{font-family:var(--font-primary);font-size:12px;font-weight:500;color:var(--text-color)}.toast{position:fixed;bottom:8%;left:50%;transform:translate(-50%);background:var(--toast-bg-color);border:1px solid var(--toast-border-color);border-radius:16px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;max-width:340px;width:calc(100% - 32px);box-shadow:var(--toast-box-shadow-color);z-index:999;pointer-events:all}.toast-enter{animation:toastIn .35s cubic-bezier(.34,1.56,.64,1) forwards}.toast-exit{animation:toastOut .35s ease-in forwards}.toast-emoji{font-size:24px;flex-shrink:0;margin-top:1px}.toast-content{flex:1}.toast-title{font-family:var(--font-secondary);font-size:16px;letter-spacing:.05em;color:var(--text-color);margin-bottom:4px}.toast-body{font-family:var(--font-primary);font-size:12px;color:var(--muted-color);line-height:1.5}.toast-body strong{color:var(--accent-color);font-weight:500}.toast-close{background:transparent;border:none;color:var(--muted-color);font-size:12px;cursor:pointer;padding:2px;transition:color .2s;flex-shrink:0;font-family:var(--font-subtitle)}.toast-close:hover{color:var(--text-color)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(12px) scale(.95)}}.annotation{position:absolute;font-size:9px;font-family:var(--font-subtitle);color:var(--annotation-color);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;top:8px;right:12px}.feedback-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.5);font-family:var(--font-secondary);font-size:64px;letter-spacing:.05em;opacity:0;pointer-events:none;transition:all .2s;z-index:10;text-shadow:0 0 30px currentColor}.feedback-text.show{transform:translate(-50%,-50%) scale(1);opacity:1}.feedback-text.correct{color:var(--correct-color)}.feedback-text.wrong{color:var(--wrong-color)}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-8px) rotate(-1deg)}30%{transform:translate(8px) rotate(1deg)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}@keyframes dotPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes bounce{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.4) rotate(-10deg)}60%{transform:scale(1.2) rotate(8deg)}}.score-big.pop{animation:pop .35s cubic-bezier(.34,1.56,.64,1)}.streak-fire.bounce{animation:bounce .5s cubic-bezier(.34,1.56,.64,1)}.game-title{text-align:center;margin-bottom:120px;width:100%;max-width:920px}.game-title-main{font-family:var(--font-secondary);font-size:72px;letter-spacing:.04em;color:var(--text-color);line-height:1;margin:0}.game-title-sub{font-family:var(--font-subtitle);font-size:14px;color:var(--muted-color);letter-spacing:.1em;margin:6px 0 0;text-transform:uppercase}@media(max-width:768px){.app-body{padding:0 12px;padding-top:max(24px,env(safe-area-inset-top));align-items:flex-start}.bento{grid-template-columns:1fr 1fr 1fr;gap:8px}.card-streak{grid-column:1;grid-row:1;padding:12px 8px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px}.streak-fire{font-size:20px;margin-bottom:0;display:inline}.streak-num{font-size:28px}.streak-label{display:none}.card-score{grid-column:2;grid-row:1;padding:12px 8px}.score-big{font-size:32px}.score-total{font-size:9px}.score-bar-wrap{margin-top:6px}.card-history{grid-column:3;grid-row:1;padding:12px 10px}.history-title{margin-bottom:6px;font-size:9px}.dot{width:8px;height:8px}.card-quote{grid-column:1 / -1;grid-row:2;padding:20px;gap:14px;min-height:280px}.card-quote:before{font-size:60px}.quote-text{font-size:24px}.card-profile{grid-column:1 / 2;grid-row:3 / 5;padding:14px;gap:8px}.avatar{width:52px;height:52px;font-size:24px}.profile-name{font-size:16px}.profile-sub{display:none}.mood-label{font-size:9px;padding:3px 7px}.card-bottom-right{grid-column:2 / -1;grid-row:3 / 5;flex-direction:row;gap:8px}.card.card-skip,.card-about{flex:1;flex-direction:column}.skip-label{font-size:10px}.annotation{display:none}.feedback-text{font-size:44px}.toast{bottom:6%}.game-title{margin-bottom:20px}.game-title-main{font-size:48px}.game-title-sub{font-size:10px}.footer{max-width:100%;padding:12px 16px;font-size:9px;align-self:center;border-radius:16px!important;margin-top:24px!important}}.footer{width:100%;max-width:556px;margin-top:auto;padding:16px 30px;background:var(--card-color);border:1px solid var(--border-color);border-radius:16px 16px 0 0;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-subtitle);font-size:10px;color:var(--muted-color);letter-spacing:.06em;margin-bottom:env(safe-area-inset-bottom)}.footer a{color:var(--accent-color);text-decoration:none}.footer a:hover{text-decoration:underline}
