.btn-start{background:#10b981;color:#064e3b;font-weight:700;font-size:.9rem;padding:8px 16px;border-radius:99px;border:none;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #10b9814d;cursor:pointer;transition:transform .2s}.btn-start:active{transform:scale(.95)}.sidebar{width:220px;background-color:#0003;border-right:1px solid solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.menu-section{padding:12px 16px 4px}.menu-header{font-size:15px;font-weight:900;color:#cbd5e1;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 6px;border-radius:6px}.menu-header:hover{background:#ffffff0d}.menu-header.active-header{color:#3b82f6}.menu-list{display:none;flex-direction:column;gap:2px}.menu-list.expanded{display:flex}.menu-item{padding:8px 10px 8px 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-sub);cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.menu-item:hover{background-color:#ffffff0d;color:var(--text-main)}.menu-item.active{background-color:#3b82f626;color:#3b82f6}.stat-badge{font-family:SF Mono,monospace;font-size:.75rem;opacity:.5;letter-spacing:-.5px}.content-area{flex:1;background:transparent;padding:24px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-bottom:40px}@media(max-width:1100px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.card-grid{grid-template-columns:repeat(2,1fr)}}.mini-card{background-color:var(--bg-surface);border-radius:12px;height:290px;box-shadow:0 4px 6px #0000001a,0 1px 3px #0000000f;cursor:pointer;position:relative;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s}.mini-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -5px #00000026}.mini-card:active{transform:scale(.98)}.card-top-safe-zone{height:30px;width:100%;background:transparent;flex-shrink:0}.card-img-container{height:230px;width:100%;padding:0 16px;display:flex;justify-content:center;align-items:center;flex-shrink:0}.img-frame{width:100%;height:100%;border-radius:8px;overflow:hidden;background-color:#f1f5f9;display:flex;justify-content:center;align-items:center}.img-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.mini-card:hover .img-frame img{transform:scale(1.08)}.card-body{flex:1;display:flex;align-items:center;justify-content:center;padding:0 10px}.card-word{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--card-text);text-align:center;line-height:1.1;overflow:hidden;text-overflow:ellipsis}.score-ring{position:absolute;top:6px;right:8px;width:26px;height:26px;border-radius:50%;background:conic-gradient(var(--ring-color) var(--ring-deg),#e5e7eb 0deg);display:flex;justify-content:center;align-items:center;z-index:10;box-shadow:0 2px 4px #0000001a}.score-ring:before{content:"";position:absolute;width:20px;height:20px;background:#fff;border-radius:50%}.score-text{position:relative;z-index:2;font-size:10px;font-weight:800;color:#4b5563}.master-badge{position:absolute;top:4px;right:6px;font-size:22px;z-index:10;filter:drop-shadow(0 2px 2px rgba(0,0,0,.15))}.focus-layer{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);opacity:0;transition:opacity .3s}.focus-layer.active{display:flex!important;opacity:1}.big-card-wrapper{width:320px;height:500px;perspective:1000px}.big-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.23,1,.32,1);box-shadow:0 40px 80px #0009;border-radius:var(--card-radius)}.big-card.flipped{transform:rotateY(180deg)}.face{position:absolute;width:100%;height:100%;backface-visibility:hidden;background:#fff;color:#1e293b;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #e2e8f0}.front{z-index:2;transform:rotateY(0);align-items:center;justify-content:center;padding:30px;box-sizing:border-box}.f-img-container{width:270px;height:270px;margin-bottom:30px;display:flex;align-items:center;justify-content:center}.f-img-container img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.1))}.f-word-wrapper{width:100%;min-height:60px;display:flex;align-items:center;justify-content:center}.f-word{font-size:42px;font-weight:900;letter-spacing:-1px;color:var(--text-on-card);text-align:center;line-height:1.1;word-break:break-word}.f-word.medium{font-size:32px}.f-word.long{font-size:24px}.f-audio-wrapper{text-align:center;margin-bottom:10px}.f-hint{position:absolute;bottom:15px;font-size:12px;color:#94a3b8;font-weight:500;display:flex;align-items:center;gap:5px}.back{transform:rotateY(180deg);z-index:1;padding:30px 25px;text-align:left;background:#fff}.b-section{margin-bottom:20px}.b-label{font-size:14px;font-weight:700;color:#94a3b8;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.b-cn{font-size:22px;font-weight:800;color:#0f172a;margin-bottom:8px}.b-en{font-size:16px;color:#475569;line-height:1.5}.b-ex-box{background:#f8fafc;border-left:3px solid var(--accent);padding:12px;font-style:italic;color:#64748b;font-size:15px;line-height:1.6;margin-top:5px;cursor:pointer;transition:background .2s}.target-word{color:var(--accent);font-weight:700}.b-audio-row{display:flex;justify-content:flex-end;padding:0 10px 10px}.close-focus{position:absolute;top:-50px;right:0;color:#fff;font-size:30px;cursor:pointer;width:40px;height:40px;text-align:center;line-height:40px;background:#fff3;border-radius:50%;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.audio-btn.active{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border-radius:50%;cursor:pointer;font-size:18px;transition:all .2s;margin-top:10px;border:1px solid rgba(255,255,255,.2);z-index:20}.audio-btn-corner{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#f1f5f9e6;border:1px solid #cbd5e1;color:#334155;display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;z-index:50;box-shadow:0 4px 12px #0000001a;transition:transform .2s,background .2s}.audio-btn-corner:active{transform:scale(.95);background:#e2e8f0}.compass-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}.compass-tag{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;display:inline-flex;align-items:center;letter-spacing:.02em}.compass-tag.syn{background-color:#ecfdf5;color:#059669;border:1px solid #10b981}.compass-tag.syn:before{content:"SYN";font-size:8px;margin-right:5px;opacity:.7;background:#10b981;color:#fff;padding:1px 3px;border-radius:3px}.compass-tag.ant{background-color:#fef2f2;color:#dc2626;border:1px solid #ef4444}.compass-tag.ant:before{content:"ANT";font-size:8px;margin-right:5px;opacity:.7;background:#ef4444;color:#fff;padding:1px 3px;border-radius:3px}.f-word-wrapper .f-word{max-width:100%;overflow-wrap:break-word}#test-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0f172a;z-index:2000;display:none;flex-direction:column}#test-overlay.active{display:flex}.test-progress-bar{position:absolute;top:0;left:0;width:100%;height:6px;background:#1e293b;z-index:20}.test-progress-fill{height:100%;background:#3b82f6;transition:width .3s ease}#result-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2001;display:none;justify-content:center;align-items:center;animation:fadeIn .3s ease}#result-overlay.active{display:flex}.result-card{background:#1e293b;width:320px;padding:40px 30px;border-radius:24px;box-shadow:0 25px 50px -12px #00000080;border:1px solid #334155;text-align:center;animation:popUp .4s cubic-bezier(.175,.885,.32,1.275)}.res-emoji{font-size:80px;margin-bottom:10px;display:block;animation:bounce 1s infinite}.res-title{font-size:1.2rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.res-score{font-size:3.5rem;font-weight:800;color:#f8fafc;line-height:1;margin-bottom:20px;font-family:Georgia,serif}.res-score span{font-size:1.5rem;color:#64748b;font-weight:600}.res-reward{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:#10b981;padding:8px 16px;border-radius:99px;font-weight:700;font-size:1rem;display:inline-flex;align-items:center;gap:6px;margin-bottom:30px}.res-actions{display:flex;flex-direction:column;gap:12px}.btn-primary{width:100%;padding:14px;border-radius:12px;border:none;background:#3b82f6;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .1s}.btn-primary:active{transform:scale(.98)}.btn-secondary{width:100%;padding:14px;border-radius:12px;border:2px solid #334155;background:transparent;color:#94a3b8;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:#64748b;color:#f1f5f9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes btn-breathing{0%{transform:scale(1);box-shadow:0 0 #22c55eb3;filter:brightness(1)}50%{transform:scale(1.08);box-shadow:0 0 15px 2px #fff9,0 0 30px 10px #22c55e80;background-color:#22c55e!important}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.btn-guide-pulse{background:#16a34a!important;color:#fff!important;border:2px solid #4ade80!important;animation:btn-breathing 1.5s infinite ease-in-out;position:relative;z-index:100;filter:none!important;opacity:1!important}.btn-guide-pulse:hover{animation-play-state:paused;background:#15803d!important;transform:scale(1.05)}@keyframes finger-bounce{0%,to{transform:translate(-50%,10px)}50%{transform:translate(-50%,-5px)}}.with-finger:after{content:"👆";position:absolute;top:100%;left:50%;font-size:32px;pointer-events:none;animation:finger-bounce 1s infinite ease-in-out;margin-top:5px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));opacity:1}.app-content.flex-layout{display:flex;flex-direction:row;overflow:hidden}.app-content.flex-layout>:first-child{flex-shrink:0;overflow-y:auto;border-right:1px solid rgba(255,255,255,.1)}.app-content.flex-layout>:last-child{flex:1;position:relative;overflow-y:auto;padding:20px}
