.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#060a14b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10}.dialog{width:100%;max-width:26rem;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.4rem}.dialog-title{font-size:1.1rem;margin-bottom:1rem}.dialog-form{display:flex;flex-direction:column;gap:.85rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.4rem}.dialog-error{font-size:.85rem;color:#ffc2ca}@media (max-width: 600px){.dialog-backdrop{padding:.75rem}.dialog{padding:1.1rem;max-height:92vh;overflow-y:auto}}.flashcard-frame{position:relative;width:100%;max-width:34rem}.flashcard-tools{position:absolute;top:.55rem;right:.55rem;z-index:1;display:flex;gap:.25rem}.flashcard-tool{font:inherit;font-size:.85rem;line-height:1;cursor:pointer;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.3rem .4rem;transition:color .12s ease,border-color .12s ease}@media (hover: hover){.flashcard-tool:hover{color:var(--text);border-color:var(--border-strong)}.flashcard-tool-danger:hover{color:#ffb3bd;border-color:var(--danger)}}.flashcard-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.flashcard{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;max-width:34rem;min-height:17rem;padding:2rem 1.75rem;font:inherit;text-align:center;color:var(--text);cursor:pointer;background:linear-gradient(160deg,#223258,#182642);border:1px solid var(--border-strong);border-radius:20px;box-shadow:var(--shadow);transition:border-color .16s ease,transform .16s ease}@media (hover: hover){.flashcard:hover{transform:translateY(-2px);border-color:var(--accent)}}.flashcard:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.flashcard.is-flipped{background:linear-gradient(160deg,#2c3f6c,#182642);border-color:#dee1e98c}.flashcard-face{display:flex;flex-direction:column;align-items:center;gap:.6rem;animation:flashcard-reveal .26s ease}.flashcard-language{font-size:1.2rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted)}.flashcard-word{font-size:clamp(2.8rem,8vw,3.4rem);font-weight:700;line-height:1.2}.flashcard-note{max-width:26rem;font-size:.95rem;color:var(--text-muted);font-style:italic}.flashcard-footer{position:absolute;bottom:.9rem;left:0;right:0;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted);opacity:.8}@keyframes flashcard-reveal{0%{opacity:0;transform:rotateX(35deg) translateY(6px)}to{opacity:1;transform:rotateX(0) translateY(0)}}@media (max-width: 600px){.flashcard{min-height:14rem;padding:1.6rem 1.1rem 2.2rem}.flashcard-note{font-size:.9rem}}@media (prefers-reduced-motion: reduce){.flashcard,.flashcard-face{animation:none;transition:none}}.toggle{display:inline-flex;padding:.25rem;gap:.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:999px}.toggle-compact{padding:.15rem}.toggle-compact .toggle-option{font-size:.78rem;padding:.25rem .7rem}.toggle-option{font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text-muted);background:transparent;border:none;border-radius:999px;padding:.45rem 1rem;transition:background-color .14s ease,color .14s ease}@media (hover: hover){.toggle-option:hover{color:var(--text)}}.toggle-option.is-active{background:var(--accent);color:#06101f}.toggle-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 600px){.toggle-option{padding:.55rem 1rem}.toggle-compact .toggle-option{padding:.45rem .9rem;font-size:.8rem}}.login-page{display:grid;place-items:center;min-height:100vh;padding:1.5rem}.login-card{width:100%;max-width:24rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.75rem}.login-title{font-size:1.6rem}.login-subtitle{font-size:.88rem;color:var(--text-muted)}.login-tabs{display:flex;gap:.25rem;margin:1.25rem 0 1.1rem;padding:.25rem;background:var(--bg-input);border:1px solid var(--border);border-radius:999px}.login-tab{flex:1;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text-muted);background:transparent;border:none;border-radius:999px;padding:.4rem .5rem}.login-tab.is-active{background:var(--accent);color:#06101f}.login-form{display:flex;flex-direction:column;gap:.85rem}.login-error{font-size:.85rem;color:#ffc2ca}.login-hint{margin-top:1.1rem;font-size:.78rem;color:var(--text-muted);text-align:center}@media (max-width: 600px){.login-page{padding:1rem}.login-card{padding:1.25rem}.login-tab{padding:.55rem .5rem}}.pairlist-sort{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.7rem}.pairlist-sort-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.pairlist{display:flex;flex-direction:column;gap:.2rem;margin-top:.75rem;max-height:22rem;overflow-y:auto}.pairlist-item{border-radius:var(--radius-sm);border-left:3px solid transparent;font-size:.88rem}.pairlist-button{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;width:100%;padding:.35rem .5rem;font:inherit;text-align:left;color:inherit;background:transparent;border:none;border-radius:inherit;cursor:pointer}@media (hover: hover){.pairlist-button:hover .pairlist-words{color:var(--accent)}}.pairlist-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pairlist-item:nth-child(odd){background:#ffffff08}.pairlist-item.is-current{border-left-color:var(--accent);background:#4c8dff1f}.pairlist-words{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pairlist-arrow{color:var(--text-muted);margin:0 .3rem}.pairlist-meta{display:flex;align-items:baseline;gap:.5rem;flex-shrink:0;font-size:.74rem;color:var(--text-muted)}.pairlist-owner{background:#ffffff0f;border-radius:999px;padding:.05rem .45rem}.pairlist-rate{font-variant-numeric:tabular-nums}.pairlist-empty{margin-top:.9rem;font-size:.85rem;color:var(--text-muted)}@media (max-width: 600px){.pairlist{max-height:none}.pairlist-button{padding:.5rem;min-height:2.5rem}.pairlist-sort{flex-wrap:wrap}}.profile-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem}.profile-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;padding:.4rem .5rem;border-radius:var(--radius-sm);transition:background-color .12s ease}@media (hover: hover){.profile-label:hover{background:#ffffff0a}}.profile-checkbox{width:1rem;height:1rem;accent-color:var(--accent);cursor:pointer}.profile-name{flex:1;display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.9rem}.profile-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:#4c8dff24;border-radius:999px;padding:.05rem .45rem}.profile-count{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums}@media (max-width: 600px){.profile-label{min-height:2.75rem;padding:.5rem}.profile-checkbox{width:1.2rem;height:1.2rem}}.app{max-width:1140px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.app-loading{display:grid;place-items:center;min-height:60vh;color:var(--text-muted)}.app-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.app-title{font-size:1.5rem;letter-spacing:.01em}.app-tagline{font-size:.85rem;color:var(--text-muted)}.app-account{display:flex;align-items:center;gap:.75rem}.app-user{font-weight:600;font-size:.9rem;background:#4c8dff24;border:1px solid var(--border-strong);border-radius:999px;padding:.25rem .8rem}.app-error{margin-top:1rem;padding:.7rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--danger);background:#e05b6b1f;color:#ffc2ca;font-size:.9rem}.app-body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.5rem;margin-top:1.5rem;align-items:start}.app-sidebar{display:flex;flex-direction:column;gap:1rem}.app-main{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.app-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;min-height:2.75rem}.app-cardmeta{font-size:.8rem;color:var(--text-muted);text-align:center}.app-backup{font-size:1rem;white-space:nowrap;color:var(--text-muted);text-decoration:none;text-align:center;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);transition:color .12s ease,border-color .12s ease}@media (hover: hover){.app-backup:hover{color:var(--text);border-color:var(--accent)}}.app-backup:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-empty{max-width:28rem;text-align:center;color:var(--text-muted);padding:3rem 1rem}@media (max-width: 900px){.app-body{grid-template-columns:minmax(0,1fr)}.app-sidebar{order:2}}@media (max-width: 600px){.app{padding:1.25rem .9rem 2.5rem}.app-header{gap:.6rem}.app-title{font-size:1.3rem}.app-actions .button{min-height:2.9rem}.app-actions .button-success,.button-danger{padding:0rem .6rem;margin:0rem}}:root{--bg: #0f1420;--bg-elevated: #171e2d;--bg-input: #101725;--border: #263049;--border-strong: #38456a;--text: #eef2fb;--text-muted: #b9c0d2;--accent: #4c8dff;--accent-strong: #2f74f0;--success: #2fb27c;--danger: #e05b6b;--radius: 14px;--radius-sm: 9px;--shadow: 0 18px 40px rgba(4, 8, 18, .45);color-scheme:dark;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:radial-gradient(circle at 15% -10%,#1d2a45 0%,var(--bg) 55%) no-repeat;background-color:var(--bg);color:var(--text);line-height:1.5}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.85em;background:#ffffff0f;border-radius:5px;padding:1px 5px}.button{font:inherit;font-weight:600;cursor:pointer;border:1px solid transparent;border-radius:var(--radius-sm);padding:.65rem 1.1rem;color:var(--text);background:var(--bg-elevated);transition:transform .12s ease,background-color .12s ease,border-color .12s ease}@media (hover: hover){.button:hover:not(:disabled){transform:translateY(-1px)}}.button:disabled{opacity:.55;cursor:not-allowed}.button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button-primary{background:var(--accent);color:#06101f}.button-primary:hover:not(:disabled){background:var(--accent-strong);color:#f2f7ff}.button-ghost{background:transparent;border-color:var(--border-strong);color:var(--text-muted)}.button-ghost:hover:not(:disabled){color:var(--text);border-color:var(--accent)}.button-success{background:#2fb27c29;border-color:var(--success);color:#8ff0c6}.button-success:hover:not(:disabled){background:#2fb27c47}.button-danger{background:#e05b6b29;border-color:var(--danger);color:#ffb3bd}.button-danger:hover:not(:disabled){background:#e05b6b47}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.field-input{font:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;width:100%;min-width:0}.field-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4c8dff2e}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.panel-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;letter-spacing:.02em}.panel-count{font-size:.75rem;font-weight:600;color:var(--text-muted);background:#ffffff0f;border-radius:999px;padding:.05rem .5rem}.panel-hint{margin-top:.2rem;font-size:.8rem;color:var(--text-muted)}
