*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #000;--surface: #0e0e0e;--surface-2: #161616;--border: rgba(255,255,255,.07);--border-2: rgba(255,255,255,.15);--text: #fff;--text-muted: rgba(255,255,255,.28);--text-dim: rgba(255,255,255,.52);--accent: #fff;--green: #4ade80;--green-bg: rgba(74,222,128,.07);--green-border: rgba(74,222,128,.2);--red: #f87171;--red-bg: rgba(248,113,113,.07);--red-border: rgba(248,113,113,.2);--radius: 14px;--radius-sm: 10px}html{width:100%;height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif;width:100%;height:100%;min-height:0;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}#root{width:100%;height:100%;min-height:0;overflow:hidden}@supports (height:100dvh){html,body,#root{height:100dvh}}.pwa-offline-banner{position:fixed;z-index:1600;top:calc(8px + env(safe-area-inset-top));left:50%;transform:translate(-50%);max-width:calc(100% - 24px);padding:8px 13px;border:1px solid rgba(251,146,60,.3);border-radius:999px;background:#1c120af0;color:#a65d09;font-size:11px;font-weight:600;line-height:1.25;text-align:center;box-shadow:0 8px 32px #00000073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pwa-notice{position:fixed;z-index:1500;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(440px,calc(100% - 24px));min-height:70px;padding:13px 46px 13px 15px;display:flex;align-items:center;gap:14px;border:1px solid var(--border-2);border-radius:18px;background:#141414f5;box-shadow:0 18px 60px #000000a6;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.pwa-notice>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.pwa-notice strong{font-size:14px;line-height:1.3}.pwa-notice span{color:var(--text-dim);font-size:11px;line-height:1.45}.pwa-notice>button:not(.pwa-notice-close){flex-shrink:0;padding:9px 13px;border:0;border-radius:10px;background:#fff;color:#000;font-family:inherit;font-size:12px;font-weight:600;line-height:1;cursor:pointer;touch-action:manipulation}.pwa-notice-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:none;color:var(--text-muted);font-family:inherit;font-size:22px;font-weight:400;line-height:1;cursor:pointer;touch-action:manipulation}@media (max-width:480px){.pwa-notice{align-items:flex-start;flex-direction:column;padding-right:46px;gap:11px}.pwa-notice>button:not(.pwa-notice-close){width:100%}}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center}.screen.hidden{display:none}.auth-screen{justify-content:center;padding:24px 20px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.auth-logo{font-size:26px;font-weight:600;letter-spacing:-.03em;text-align:center;margin-bottom:28px}.auth-logo span{color:var(--accent)}.auth-box{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px}.auth-tabs{display:flex;gap:4px;background:#00000040;border-radius:12px;padding:4px;margin-bottom:22px;border:1px solid var(--border)}.auth-tab{flex:1;padding:9px 8px;background:none;border:none;border-radius:9px;color:var(--text-muted);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.auth-tab.active{background:var(--surface-2);color:var(--text);box-shadow:0 1px 4px #0006}.auth-error{background:var(--red-bg);border:1px solid var(--red-border);border-radius:10px;padding:10px 14px;color:var(--red);font-size:13px;margin-bottom:16px}.otp-hint{font-size:14px;color:var(--text-muted);text-align:center;margin-bottom:22px;line-height:1.5}.otp-hint strong{color:var(--text)}.auth-back-btn{display:block;width:100%;margin-top:10px;padding:10px;background:none;border:none;color:var(--text-muted);font-size:14px;font-family:inherit;cursor:pointer;text-align:center;touch-action:manipulation}.auth-back-btn:hover{color:var(--text)}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px}.form-group input{width:100%;padding:13px 15px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;font-family:inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s,background .15s}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus{border-color:var(--border-2);background:var(--surface)}.btn-save{width:100%;padding:14px;background:#fff;border:none;border-radius:var(--radius-sm);color:#000;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;margin-top:6px;transition:opacity .15s,transform .12s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-save:active{transform:scale(.97);opacity:.9}.btn-save:disabled{opacity:.4;cursor:default;transform:none}.btn-primary{background:#fff;border:none;border-radius:var(--radius-sm);color:#000;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;padding:10px 16px;transition:opacity .15s;touch-action:manipulation}.btn-primary:disabled{opacity:.4;cursor:default}.btn-secondary{background:none;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;padding:7px 12px;transition:border-color .15s;touch-action:manipulation}.btn-secondary:disabled{opacity:.4;cursor:default}.btn-danger{background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-sm);color:var(--red);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;padding:7px 10px;transition:background .15s;touch-action:manipulation}.app-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:480px;height:100%;min-height:0;max-height:100%;overflow:hidden;padding:0 20px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0 14px;gap:8px;flex-shrink:0}.logo{font-size:17px;font-weight:600;letter-spacing:-.02em;flex-shrink:0}.logo span{color:var(--accent)}.header-right{display:flex;align-items:center;gap:8px;min-width:0}.stats{display:flex;gap:8px;flex-shrink:0}.stat{display:flex;align-items:center;gap:4px;padding:4px 9px;border-radius:20px;background:var(--surface);border:1px solid var(--border);font-size:12px;font-weight:500}.stat-correct{color:var(--green)}.stat-incorrect{color:var(--red)}.user-email{font-size:11px;color:var(--text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.btn-logout{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s}.btn-logout:hover{color:var(--text);border-color:var(--border-2)}.btn-admin{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s}.btn-admin:hover{color:var(--text);border-color:var(--border-2)}.btn-profile{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;flex-shrink:0;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s}.btn-profile:hover{color:var(--text);border-color:var(--border-2)}.profile-email{font-size:13px;color:var(--text-muted);padding:0 0 16px}.profile-section{display:flex;flex-direction:column;gap:12px;padding-bottom:20px}.profile-section+.profile-section{border-top:1px solid var(--border);padding-top:20px}.profile-status{font-size:13px;color:var(--text-muted)}.btn-clear-all{background:none;border:1px solid var(--red-border);border-radius:8px;padding:5px 9px;color:var(--red);font-size:12px;font-family:inherit;cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;opacity:.6;transition:opacity .15s}.btn-clear-all:hover{opacity:1}.topics-heading{font-size:22px;font-weight:600;letter-spacing:-.02em;width:100%;margin-bottom:16px;flex-shrink:0}.topics-scroll{flex:1;min-height:0;width:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.topics-scroll::-webkit-scrollbar{display:none}.topics-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.topic-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 18px 18px;min-height:120px;display:flex;flex-direction:column;justify-content:flex-end;color:inherit;font-family:inherit;text-align:left;cursor:pointer;transition:border-color .2s,transform .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.topic-card:hover{border-color:var(--border-2);transform:translateY(-2px)}.topic-card:active{transform:scale(.97)}.topic-card-open{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}.topic-card-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.topic-card>.srs-badge,.topic-card>.topic-folder-icon{z-index:1;pointer-events:none}.topic-card>.topic-card-name,.topic-card>.topic-card-count{position:relative;z-index:1;pointer-events:none}.topic-card-all{grid-column:span 2;min-height:84px;flex-direction:row;align-items:center;justify-content:space-between;background:var(--surface-2)}.topic-card-all:hover{background:var(--surface-2);border-color:var(--border-2)}.topic-card-title-row{display:flex;align-items:center;gap:8px;min-width:0}.topic-card-title-row .topic-card-name{min-width:0}.topic-card-writing{grid-column:span 2;min-height:94px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#2852e81a,#2852e806);border-color:#2852e833}.topic-card-writing:hover{border-color:#2852e866}.topic-card-writing .topic-card-count{max-width:290px;line-height:1.35}.topic-card-listening{grid-column:span 2;min-height:94px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#4ade8017,#4ade8005);border-color:#4ade802e}.topic-card-listening:hover{border-color:#4ade8061}.topic-card-listening .topic-card-count{max-width:310px;line-height:1.35}.topic-card-archive{grid-column:span 2;min-height:82px;flex-direction:row;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#a78bfa17,#a78bfa05);border-color:#a78bfa2e}.topic-card-archive:hover{border-color:#a78bfa61}.archive-page{max-width:760px}.archive-header-count{min-width:38px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.archive-intro{width:100%;margin:2px 0 14px;padding:13px 15px;border:1px solid rgba(167,139,250,.16);border-radius:var(--radius-sm);background:#a78bfa0e;color:var(--text-dim);font-size:13px;line-height:1.5;flex-shrink:0}.archive-search{width:100%;margin-bottom:12px;flex-shrink:0}.archive-error{width:100%;margin-bottom:10px;padding:10px 12px;border:1px solid var(--red-border);border-radius:var(--radius-sm);background:var(--red-bg);color:var(--red);font-size:12px;flex-shrink:0}.archive-scroll{flex:1;min-height:0;width:100%;overflow-y:scroll;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;padding-bottom:calc(24px + env(safe-area-inset-bottom))}.archive-scroll::-webkit-scrollbar{display:none}.archive-sections{display:flex;flex-direction:column;gap:22px}.archive-section{display:flex;flex-direction:column;gap:9px}.archive-section-title{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.archive-list{display:flex;flex-direction:column;gap:10px}.archive-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);content-visibility:auto;contain-intrinsic-size:82px}.archive-card-copy{min-width:0;flex:1}.archive-card-word{font-size:17px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.archive-card-translation{margin-top:4px;color:var(--text-dim);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.archive-card-meta{margin-top:8px;color:var(--text-muted);font-size:10px}.archive-topic-title-row{display:flex;align-items:center;gap:8px;min-width:0}.archive-topic-badge{flex-shrink:0;padding:3px 7px;border:1px solid rgba(40,82,232,.25);border-radius:999px;background:#2852e814;color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase}.archive-card-actions,.archive-confirm-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.archive-action{min-height:38px;padding:8px 11px;border:1px solid var(--border-2);border-radius:9px;background:var(--surface-2);color:var(--text-dim);font-family:inherit;font-size:12px;font-weight:500;line-height:1.2;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.archive-action:disabled{opacity:.4;cursor:default}.archive-action-restore{color:#7952b3;border-color:#a78bfa47;background:#a78bfa12}.archive-action-delete{width:38px;padding:0;color:var(--red);border-color:var(--red-border);background:var(--red-bg);font-size:20px}.archive-action-danger{color:var(--red);border-color:var(--red-border);background:var(--red-bg)}.archive-empty{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:var(--text-muted);font-size:13px;line-height:1.45;text-align:center}.archive-empty strong{color:var(--text);font-size:17px}.archive-empty span{max-width:330px}.archive-empty-icon{font-size:28px;color:var(--green)}.archive-notice{position:fixed;z-index:1200;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 28px);padding:11px 15px;border:1px solid rgba(167,139,250,.3);border-radius:999px;background:#16121ff5;color:#7952b3;font-size:12px;font-weight:600;box-shadow:0 14px 46px #0000008c}@media (max-width:520px){.archive-card{align-items:flex-start;flex-direction:column}.archive-card-actions,.archive-confirm-actions{width:100%}.archive-action-restore,.archive-confirm-actions .archive-action{flex:1}}.topic-card-name{font-size:17px;font-weight:600;letter-spacing:-.02em;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-card-all .topic-card-name{font-size:18px;-webkit-line-clamp:1}.topic-card-has-badge{padding-top:40px}.topic-card-count{font-size:12px;color:var(--text-muted);margin-top:6px}.reset-srs-btn{background:none;border:none;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;text-decoration:underline;padding:6px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reset-srs-btn:hover{color:var(--text-dim)}.reset-srs-confirm{padding:12px 14px;border-radius:12px;background:var(--red-bg);border:1px solid var(--red-border);font-size:12px;color:var(--text-dim);text-align:left}.reset-srs-confirm-actions{display:flex;gap:10px;margin-top:10px}.reset-srs-confirm-actions .btn-cancel,.reset-srs-confirm-actions .delete-confirm-btn{flex:1;padding:9px;margin-top:0;font-size:13px}.topic-card-arrow{font-size:20px;color:var(--text-muted);flex-shrink:0;transition:color .15s,transform .2s}.topic-card-all:hover .topic-card-arrow{color:var(--accent);transform:translate(3px)}.topic-card-actions{position:absolute;z-index:2;top:10px;right:10px;display:flex;gap:2px}.topic-card-del,.topic-card-rename,.topic-card-split,.topic-card-pack-archive,.topic-card-move{background:none;border:none;border-radius:6px;color:var(--text-muted);font-size:14px;line-height:1;padding:5px 7px;cursor:pointer;opacity:.3;transition:opacity .15s,color .15s,background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.topic-card:hover .topic-card-del,.topic-card:hover .topic-card-rename,.topic-card:hover .topic-card-split,.topic-card:hover .topic-card-pack-archive,.topic-card:hover .topic-card-move{opacity:.7}.topic-card-del:hover{opacity:1!important;color:var(--red);background:var(--red-bg)}.topic-card-rename:hover{opacity:1!important;color:var(--text);background:var(--surface-2)}.topic-card-split:hover{opacity:1!important;background:var(--surface-2)}.topic-card-pack-archive:hover{opacity:1!important;color:#7952b3;background:#a78bfa1f}.topic-card-pack-archive{opacity:.62}.topic-card-move:hover{opacity:1!important;color:var(--accent);background:var(--surface-2)}.topic-folder-card{justify-content:flex-end}.topic-folder-icon{position:absolute;left:18px;top:18px;width:34px;height:24px;border-radius:5px;background:var(--surface-2);border:1px solid var(--border-2)}.topic-folder-icon span{position:absolute;left:3px;top:-7px;width:15px;height:8px;border:1px solid var(--border-2);border-bottom:0;border-radius:4px 4px 0 0;background:var(--surface-2)}.folder-view-heading{width:100%;display:flex;align-items:center;gap:13px;margin-bottom:14px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.folder-view-heading>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.folder-view-heading span{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.13em}.folder-view-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.25}.folder-view-heading small{color:var(--text-muted);font-size:11px}.folder-view-back,.folder-view-edit{flex-shrink:0;min-height:38px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-dim);font-family:inherit;cursor:pointer;touch-action:manipulation}.folder-view-back{width:38px;font-size:18px}.folder-view-edit{padding:0 12px;font-size:11px}.folder-view-back:hover,.folder-view-edit:hover{color:var(--accent);border-color:var(--accent)}.folder-modal-save{width:auto;flex:1;margin-top:0}.folder-modal-error{margin:-2px 0 12px;color:var(--red);font-size:12px}.folder-picker{max-height:min(620px,calc(100dvh - 24px));display:flex;flex-direction:column}.folder-picker-list{display:flex;flex-direction:column;gap:7px;max-height:48vh;overflow-y:scroll;-webkit-overflow-scrolling:touch;margin-bottom:12px}.folder-picker-list button{min-height:46px;padding:9px 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-family:inherit;font-size:13px;text-align:left;cursor:pointer}.folder-picker-list button>span:nth-child(2){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-picker-list button strong{color:var(--accent)}.folder-picker-list button.selected{border-color:var(--accent);background:#2852e812}.folder-picker-icon{color:var(--accent);font-size:13px}.folder-picker-root{color:var(--text-muted);font-size:17px}.folder-picker-empty{margin:-2px 0 12px;color:var(--text-muted);font-size:12px;text-align:center}.topic-card-rename-input{position:relative;z-index:3;width:100%;background:none;border:none;border-bottom:1px solid var(--border-2);color:var(--text);font-size:17px;font-weight:600;letter-spacing:-.02em;font-family:inherit;outline:none;padding:0 0 2px;margin-bottom:2px}.topic-card-add{border-style:dashed;border-color:#ffffff14;background:transparent;align-items:center;justify-content:center;min-height:84px}.topic-card-add:hover{border-color:var(--border-2)}.topic-card-add .topic-card-name{color:var(--text-muted);font-weight:500;font-size:14px;text-align:center}.topic-card-add:hover .topic-card-name{color:var(--text)}.topic-card-packs{border-style:dashed;border-color:#ffffff14;background:transparent;align-items:center;justify-content:center;min-height:84px}.topic-card-packs:hover{border-color:var(--border-2)}.topic-card-packs .topic-card-name{color:var(--text-muted);font-weight:500;font-size:14px;text-align:center}.topic-card-packs:hover .topic-card-name{color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px 16px}.modal-title{font-size:18px;font-weight:600;letter-spacing:-.02em}.modal-close{background:none;border:none;color:var(--text-muted);font-size:22px;line-height:1;cursor:pointer;padding:0 4px;font-family:inherit}.modal-close:hover{color:var(--text)}.pack-list{display:flex;flex-direction:column;gap:10px;padding:0 20px 20px;max-height:45vh;overflow-y:scroll;-webkit-overflow-scrolling:touch}.pack-empty{text-align:center;color:var(--text-muted);font-size:14px;padding:16px 0}.pack-item{display:flex;align-items:center;gap:12px;background:var(--surface-2);border-radius:12px;padding:14px 16px}.pack-info{flex:1;min-width:0}.pack-title{font-weight:600;font-size:15px;margin-bottom:2px}.pack-description{font-size:13px;color:var(--text-muted);margin-bottom:4px}.pack-count{font-size:12px;color:var(--text-muted)}.pack-import-btn{flex-shrink:0;padding:8px 16px;font-size:14px}.pack-imported-btn{opacity:.55;cursor:default}.pack-section-title{margin:8px 0 0;color:#7952b3;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.pack-item-archived{border:1px solid rgba(167,139,250,.16);background:#a78bfa0b}.pack-restore-btn{color:#7952b3;border-color:#a78bfa4d}.pack-actions{display:flex;gap:6px;flex-shrink:0}.pack-upload-btn{padding:7px 12px;font-size:13px}.pack-del-btn{padding:7px 10px;font-size:15px;line-height:1}.pack-upload-ok{font-size:12px;color:#34c759;margin-top:4px}.pack-result{margin:0 20px 14px;padding:14px 16px;background:var(--surface-2);border-radius:12px;border-left:3px solid var(--accent)}.pack-result-title{font-weight:600;font-size:14px;margin-bottom:6px}.pack-result-stats{display:flex;gap:10px;flex-wrap:wrap}.pack-stat{font-size:13px;padding:2px 8px;border-radius:6px}.pack-stat.added{background:#34c75926;color:#34c759}.pack-stat.skipped{background:#ffffff0f;color:var(--text-muted)}.delete-confirm-copy{margin:-4px 0 14px;color:var(--text-muted);font-size:13px;line-height:1.45}.admin-create-form{display:flex;flex-direction:column;gap:10px;padding:0 20px 20px;border-bottom:1px solid var(--border);margin-bottom:4px}.pack-upload-btn{padding:7px 12px;font-size:13px;background:none;border:1px solid var(--border-2);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .15s;white-space:nowrap}.pack-upload-btn:hover{border-color:var(--text-muted)}.pack-upload-btn:disabled{opacity:.4;cursor:default}.pack-del-btn{padding:7px 11px;font-size:16px;line-height:1;background:var(--red-bg);border:1px solid var(--red-border);border-radius:var(--radius-sm);color:var(--red);font-family:inherit;cursor:pointer}.btn-back{background:none;border:1px solid var(--border);border-radius:10px;padding:7px 13px;color:var(--text-dim);font-size:17px;line-height:1;cursor:pointer;flex-shrink:0;transition:color .15s,border-color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-back:hover{color:var(--text);border-color:var(--border-2)}.current-topic-name{font-size:15px;font-weight:600;letter-spacing:-.02em;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}.card-count{font-size:11px;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px;flex-shrink:0}main{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:24px}main.cards-main{overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;padding:0 2px calc(24px + env(safe-area-inset-bottom));box-sizing:border-box}main.cards-main::-webkit-scrollbar{display:none}main.cards-main.examples-open{justify-content:flex-start}main.cards-main>*{flex-shrink:0}.empty-state{display:none;flex-direction:column;align-items:center;gap:12px;text-align:center}.empty-state.visible{display:flex}.empty-icon{font-size:38px;opacity:.25}.empty-text{color:var(--text-muted);font-size:15px;line-height:1.5}.srs-countdown{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.card-scene{perspective:1100px;width:100%}.card-wrapper{position:relative;width:100%;padding-bottom:60%}.card{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,0,.2,1);cursor:pointer;-webkit-tap-highlight-color:transparent}.card.flipped{transform:rotateY(180deg)}.card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 28px;gap:10px;overflow:hidden}.card-back-face{transform:rotateY(180deg)}.btn-delete-card{position:absolute;top:14px;right:16px;background:none;border:1px solid rgba(245,101,101,.2);border-radius:8px;padding:4px 9px;color:#f5656580;font-size:13px;font-family:inherit;cursor:pointer;line-height:1.4;transition:color .15s,border-color .15s,background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-delete-card:hover{color:var(--red);border-color:var(--red-border);background:var(--red-bg)}.delete-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;align-items:flex-end;justify-content:center}.delete-confirm{width:100%;max-width:480px;max-height:calc(100% - 8px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:20px 20px 0 0;padding:20px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px}.delete-confirm-title{font-size:15px;font-weight:600;color:var(--text-muted);text-align:center;margin-bottom:4px}.delete-confirm-btn{width:100%;padding:14px;border:none;border-radius:12px;font-size:16px;font-weight:500;font-family:inherit;cursor:pointer;background:var(--surface-2);color:var(--text);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.delete-confirm-btn:active{opacity:.7}.delete-confirm-btn-danger{color:var(--red)}.delete-confirm-btn-cancel{color:var(--text-muted);margin-top:4px}.lang-tag{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;padding:3px 8px;border-radius:6px;background:#ffffff0a;border:1px solid var(--border);position:absolute;top:16px;left:18px}.card-word{font-size:clamp(26px,7.5vw,40px);font-weight:200;letter-spacing:-.02em;color:var(--text);text-align:center;line-height:1.2}.card-hint{font-size:12px;color:var(--text-muted);position:absolute;bottom:16px}.card-pronounce{display:flex;align-items:center;gap:8px;margin-top:10px}.btn-pronounce{width:34px;height:34px;border-radius:50%;background:#ffffff0f;border:1px solid var(--border);color:var(--text-dim);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .12s}.btn-pronounce:hover{background:#ffffff1f;color:var(--text)}.btn-pronounce:active{transform:scale(.92)}.card-transcription{font-size:14px;color:var(--text-muted);font-family:SF Mono,ui-monospace,monospace}.card-front-face.has-image .card-transcription{color:#ffffff8c}.card-front-face.has-image .btn-pronounce{background:#ffffff1a;border-color:#ffffff29;color:#ffffffbf}.actions{display:flex;gap:14px;width:100%;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}.actions.visible{opacity:1;transform:none;pointer-events:auto}.btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:15px 12px;border-radius:var(--radius-sm);border:1px solid;font-size:15px;font-weight:500;cursor:pointer;transition:transform .12s,background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.96)}.btn-incorrect{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.btn-correct{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.card-topics{position:absolute;bottom:14px;left:14px;right:14px;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.card-examples-panel{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:4px}.card-examples-btn{padding:5px 14px;border-radius:20px;background:#ffffff0f;border:1px solid var(--border);color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s}.card-examples-btn.open{background:#ffffff1f;border-color:var(--border-2);color:var(--text)}.card-examples-list{display:flex;flex-direction:column;gap:8px;width:100%}.card-example-item{padding:10px 12px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.card-example-context-label{display:inline-flex;align-items:center;margin-bottom:7px;padding:3px 8px;border-radius:20px;background:#52caff1a;border:1px solid rgba(82,202,255,.25);color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.02em}.card-example-en{font-size:13px;color:var(--text);line-height:1.5;margin-bottom:4px}.card-example-ru{font-size:12px;color:var(--text-muted);line-height:1.5}.card-topic-chip{padding:3px 9px;border-radius:20px;background:#ffffff0f;border:1px solid var(--border);color:var(--text-dim);font-size:11px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s}.card-topic-chip:hover{background:#ffffff1a}.card-topic-chip-add{background:#ffffff08;border-color:var(--border);color:var(--text-muted)}.card-topic-chip-add:hover{border-color:var(--border-2);color:var(--text)}.card-image-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}.card-front-face.has-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#0000009e,#00000047,#0000008c);z-index:1;border-radius:inherit;pointer-events:none}.card-front-face.has-image .lang-tag,.card-front-face.has-image .card-word,.card-front-face.has-image .card-hint{position:relative;z-index:2}.card-front-face.has-image .lang-tag{color:#fff9;background:#ffffff14;border-color:#ffffff1f}.card-front-face.has-image .card-word{color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.4)}.card-front-face.has-image .card-hint{color:#ffffff59}.img-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#000c;display:flex;align-items:flex-end;justify-content:center}.img-picker{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:24px 24px 0 0;padding:12px 20px calc(28px + env(safe-area-inset-bottom));max-height:calc(100% - 8px - env(safe-area-inset-top));display:flex;flex-direction:column;gap:12px;overflow:hidden;overscroll-behavior-y:contain}.img-picker-tabs{display:flex;gap:6px;align-items:center}.img-picker-tab{flex:1;padding:8px;border-radius:10px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:13px;font-family:inherit;cursor:pointer;transition:all .15s}.img-picker-tab.active{background:var(--surface-2);color:var(--text);border-color:var(--border-2)}.img-picker-remove{margin-left:auto;background:none;border:none;color:var(--red);font-size:12px;font-family:inherit;cursor:pointer;opacity:.7;padding:4px 8px}.img-picker-remove:hover{opacity:1}.img-picker-search-row{display:flex;gap:8px}.img-picker-input{flex:1;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text);font-size:15px;font-family:inherit;outline:none}.img-picker-input:focus{border-color:var(--border-2)}.img-picker-search-btn{padding:10px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:16px;cursor:pointer}.img-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;overflow-y:auto;flex:1;min-height:0}.img-picker-item{border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--surface-2);padding:0;aspect-ratio:1;transition:border-color .15s,opacity .15s}.img-picker-item img{width:100%;height:100%;object-fit:cover;display:block}.img-picker-item:hover{border-color:var(--border-2)}.img-picker-item.loading{opacity:.5}.img-picker-empty{grid-column:1/-1;text-align:center;color:var(--text-muted);font-size:14px;padding:40px 0}.img-picker-upload-area{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}.img-picker-current{width:100%;max-height:200px;object-fit:cover;border-radius:12px}.img-picker-upload-btn{padding:12px 28px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:15px;font-family:inherit;cursor:pointer;transition:border-color .15s}.img-picker-upload-btn:hover{border-color:var(--border-2)}.img-picker-upload-hint{font-size:12px;color:var(--text-muted)}.add-card-image-btn{width:100%;padding:10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);font-size:14px;font-family:inherit;cursor:pointer;transition:border-color .15s,color .15s;text-align:left}.add-card-image-btn:hover{border-color:var(--border-2);color:var(--text)}.add-card-image-preview{position:relative;border-radius:10px;overflow:hidden}.add-card-image-preview img{width:100%;max-height:140px;object-fit:cover;display:block}.add-card-image-remove{position:absolute;top:6px;right:6px;background:#0009;border:none;border-radius:6px;color:#fff;font-size:13px;padding:3px 7px;cursor:pointer}.fab{position:fixed;bottom:calc(28px + env(safe-area-inset-bottom));right:24px;width:52px;height:52px;border-radius:50%;background:#fff;border:none;color:#000;font-size:26px;font-weight:300;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,opacity .15s;z-index:10;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fab:active{transform:scale(.92);opacity:.85}.fab:hover{transform:scale(1.06)}.fab-secondary{right:88px;width:46px;height:46px;font-size:20px;background:var(--surface);border:1px solid var(--border);color:var(--text)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000bf;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-overlay,.topic-picker-overlay,.new-topic-overlay,.delete-confirm-overlay,.img-picker-overlay{min-height:0;overflow:hidden}.modal{width:100%;max-width:480px;max-height:calc(100% - 8px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:24px 24px 0 0;padding:12px 24px calc(28px + env(safe-area-inset-bottom));transform:translateY(40px);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.modal::-webkit-scrollbar{display:none}.modal-overlay.open .modal{transform:translateY(0)}.modal-handle{width:36px;height:4px;background:#ffffff26;border-radius:2px;margin:0 auto 22px}.modal h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin-bottom:16px}.synonym-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.synonym-chip{padding:4px 11px;background:#ffffff0d;border:1px solid var(--border);border-radius:20px;color:var(--text-dim);font-size:12px;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.synonym-chip:hover{background:#ffffff1a;border-color:var(--border-2)}.synonym-chip.selected{background:#ffffff26;border-color:var(--border-2);color:var(--text)}.translate-status{font-size:10px;font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--text-muted);margin-left:4px;transition:opacity .2s}.daily-info{font-size:12px;color:var(--text-muted);text-align:center;padding:7px 12px;background:#ffffff08;border-radius:9px;margin-bottom:16px;border:1px solid var(--border)}.daily-info.warning{color:var(--red);border-color:var(--red-border);background:var(--red-bg)}.modal-actions{display:flex;gap:12px;margin-top:18px}.btn-cancel{flex:0 0 auto;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-cancel:active{background:var(--surface-2)}.modal .btn-save{width:auto;flex:1;margin-top:0}.modal-topic-select{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.modal-topic-chip{padding:5px 12px;border-radius:20px;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:all .15s}.modal-topic-chip.selected{background:#ffffff1f;border-color:var(--border-2);color:var(--text)}.screen-recognized-text{max-height:160px;overflow-y:auto;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:13px;color:var(--text-dim);line-height:1.5;white-space:pre-wrap}.screen-words-list{display:flex;flex-wrap:wrap;gap:6px;max-height:220px;overflow-y:auto;padding-top:2px}.screen-word-chip.selected{background:#78c8ff29;border-color:#78c8ff66;color:var(--text)}.topic-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#000000bf;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.topic-picker-overlay.open{opacity:1;pointer-events:auto}.topic-picker{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:24px 24px 0 0;padding:12px 24px calc(28px + env(safe-area-inset-bottom));transform:translateY(40px);transition:transform .32s cubic-bezier(.34,1.56,.64,1);max-height:calc(100% - 8px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.topic-picker-overlay.open .topic-picker{transform:translateY(0)}.picker-handle{width:36px;height:4px;background:#ffffff26;border-radius:2px;margin:0 auto 18px}.topic-picker h3{font-size:16px;font-weight:600;margin-bottom:14px}.topic-picker-item{display:flex;align-items:center;gap:6px;padding:11px 0;border-bottom:1px solid var(--border)}.topic-picker-item:last-of-type{border-bottom:none}.topic-picker-item-name{font-size:14px;color:var(--text)}.topic-picker-check{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--border-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;transition:all .15s}.topic-picker-check.on{background:#fff;border-color:#fff;color:#000}.topic-picker-new{display:flex;gap:8px;margin-top:14px}.topic-picker-new input{flex:1;padding:10px 13px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;font-family:inherit;outline:none;-webkit-appearance:none}.topic-picker-new input:focus{border-color:var(--border-2)}.topic-picker-new button{padding:10px 16px;background:#fff;border:none;border-radius:var(--radius-sm);color:#000;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.topic-picker-del{background:none;border:none;color:var(--text-muted);font-size:16px;line-height:1;padding:4px 6px;cursor:pointer;opacity:.5;transition:opacity .15s,color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-shrink:0}.topic-picker-del:hover{opacity:1;color:var(--red)}.new-topic-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;background:#000000bf;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s}.new-topic-overlay.open{opacity:1;pointer-events:auto}.new-topic-modal{width:100%;max-width:480px;max-height:calc(100% - 8px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:24px 24px 0 0;padding:12px 24px calc(28px + env(safe-area-inset-bottom));transform:translateY(40px);transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.new-topic-overlay.open .new-topic-modal{transform:translateY(0)}.type-it-panel{width:100%;max-width:420px;display:flex;flex-direction:column;gap:10px;margin-top:4px}.type-it-input{width:100%;padding:12px 16px;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;color:var(--text);font-size:16px;font-family:inherit;outline:none;transition:border-color .15s}.type-it-input:focus{border-color:var(--accent)}.type-it-result{padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500;text-align:center}.type-it-result.correct{background:#34c7591f;border:1px solid rgba(52,199,89,.3);color:#34c759}.type-it-result.incorrect{background:#ff453a1a;border:1px solid rgba(255,69,58,.25);color:#ff453a}.btn-next{padding:14px;background:var(--surface-2);border:1px solid var(--border-2);border-radius:14px;color:var(--text);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .15s;width:100%}.btn-next:hover{background:#ffffff1f}.mode-toggle{display:flex;background:#00000040;border-radius:10px;border:1px solid var(--border);overflow:hidden;flex-shrink:0}.mode-btn{padding:5px 10px;background:none;border:none;color:var(--text-muted);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mode-btn.active{background:var(--surface-2);color:var(--text)}.srs-actions{display:flex;gap:8px;width:100%;flex-wrap:wrap}.btn-srs{flex:1;min-width:calc(50% - 4px);display:flex;align-items:center;justify-content:center;padding:13px 8px;border-radius:var(--radius-sm);border:1px solid;font-size:14px;font-weight:500;cursor:pointer;transition:transform .12s,background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-srs:active{transform:scale(.96)}.btn-srs:disabled{opacity:.4;cursor:default;transform:none}.btn-srs-again{background:var(--red-bg);border-color:var(--red-border);color:var(--red)}.btn-srs-hard{background:#fb923c12;border-color:#fb923c40;color:#a65d09}.btn-srs-good{background:#2852e812;border-color:#2852e840;color:var(--accent)}.btn-srs-easy{background:var(--green-bg);border-color:var(--green-border);color:var(--green)}.srs-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;padding:3px 7px;border-radius:999px;background:#2852e81f;border:1px solid rgba(40,82,232,.25);color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.04em;position:absolute;top:10px;left:10px;line-height:1.35;white-space:nowrap}.srs-badge-inline{position:static;flex-shrink:0}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}.card-scene.entering .card{animation:cardIn .3s cubic-bezier(.22,1,.36,1) both}.search-bar-wrap{width:100%;padding-bottom:12px;flex-shrink:0}.search-bar{width:100%;padding:11px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s}.search-bar:focus{border-color:var(--border-2)}.search-bar::placeholder{color:var(--text-muted)}.search-bar::-webkit-search-cancel-button{cursor:pointer}.search-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:14px}.search-result-item{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);cursor:default}.search-result-item:last-child{border-bottom:none}.search-result-en{font-size:15px;font-weight:500;min-width:0}.search-result-ru{font-size:13px;color:var(--text-dim);min-width:0;flex:1}.admin-tabs{display:flex;gap:4px;margin-bottom:16px;background:#00000040;border-radius:10px;border:1px solid var(--border);padding:3px;flex-shrink:0}.admin-tab{flex:1;padding:7px 12px;background:none;border:none;border-radius:8px;color:var(--text-muted);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px}.admin-tab.active{background:var(--surface-2);color:var(--text)}.admin-tab-count{background:#2852e833;color:var(--accent);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.waitlist-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}.waitlist-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px}.waitlist-email{font-size:14px;color:var(--text)}.waitlist-date{font-size:12px;color:var(--text-muted);flex-shrink:0}main.browse-main{justify-content:flex-start;gap:0;overflow:hidden;padding-bottom:0;min-height:0;height:0;flex:1}.browse-wrap{display:flex;flex-direction:column;width:100%;flex:1;height:0;overflow:hidden}.browse-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:15px;line-height:1.6;text-align:center;padding:0 24px}.browse-alpha-bar{display:flex;gap:5px;overflow-x:auto;padding:4px 0 12px;flex-shrink:0;scrollbar-width:none}.browse-alpha-bar::-webkit-scrollbar{display:none}.browse-alpha-btn{flex-shrink:0;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s,background .15s}.browse-alpha-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--surface-2)}.browse-alpha-btn:active{background:var(--surface-2);transform:scale(.92)}.browse-scroll{flex:1;height:0;overflow-y:scroll;-webkit-overflow-scrolling:touch;width:100%;scrollbar-width:none;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.browse-scroll::-webkit-scrollbar{display:none}.browse-section-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase;padding:14px 0 6px;border-bottom:1px solid var(--border);margin-bottom:2px}.browse-item{padding:11px 2px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background .1s}.browse-item:active{background:#ffffff08}.browse-item.open{background:#ffffff05;border-radius:8px;padding:11px 10px}.browse-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.browse-item-front{font-size:16px;font-weight:400;color:var(--text);line-height:1.4;flex:1}.browse-item-back{font-size:14px;color:var(--text-muted);margin-top:5px;line-height:1.4;padding-top:5px;border-top:1px solid var(--border)}.writing-app-wrap{max-width:760px;min-height:0;overflow:hidden}.writing-header-spacer{width:45px;flex-shrink:0}.writing-tabs{display:flex;width:100%;max-width:360px;padding:3px;margin-bottom:14px;background:#ffffff09;border:1px solid var(--border);border-radius:12px;flex-shrink:0}.writing-tabs button{flex:1;padding:8px 12px;border:0;border-radius:9px;background:none;color:var(--text-muted);font:500 13px/1.2 inherit;cursor:pointer;transition:.15s}.writing-tabs button.active{background:var(--surface-2);color:var(--text)}.writing-scroll{position:relative;width:100%;height:0;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 calc(34px + env(safe-area-inset-bottom))}.writing-scroll::-webkit-scrollbar{display:none}.topics-scroll,main.cards-main,.browse-scroll,.writing-scroll{overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.pack-list,.waitlist-list,.img-picker-grid,.screen-recognized-text,.screen-words-list{touch-action:pan-y;-webkit-overflow-scrolling:touch}.writing-task,.writing-history,.writing-review{display:flex;flex-direction:column;gap:18px;width:100%}.writing-state{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;color:var(--text-muted);font-size:14px;line-height:1.5}.writing-state-error{color:var(--red)}.writing-loader{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:writingSpin .75s linear infinite}@keyframes writingSpin{to{transform:rotate(360deg)}}.writing-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-top:4px}.writing-eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px}.writing-intro h1{font-size:25px;line-height:1.15;letter-spacing:-.03em;margin:0 0 8px}.writing-intro p{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0}.writing-skip-btn{flex-shrink:0;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:none;color:var(--text-muted);font:12px inherit;cursor:pointer}.writing-skip-btn:hover{color:var(--text);border-color:var(--border-2)}.writing-target-words{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.writing-target-word{min-width:0;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:3px}.writing-target-word strong{font-size:15px;overflow-wrap:anywhere}.writing-target-word span{color:var(--text-muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.writing-target-word small{margin-top:4px;color:#ff6961bf;font-size:9px}.writing-word-connection{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:11px 13px;border:1px solid rgba(40,82,232,.16);border-radius:12px;background:#2852e809}.writing-word-connection span{color:var(--accent);font-size:9px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;padding-top:2px}.writing-word-connection p{margin:0;color:var(--text-dim);font-size:12px;line-height:1.45}.writing-theme-section{display:flex;flex-direction:column;gap:10px}.writing-section-title{font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted)}.writing-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.writing-theme{text-align:left;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .12s;display:flex;flex-direction:column;align-items:flex-start}.writing-theme:hover{border-color:var(--border-2)}.writing-theme:active{transform:scale(.98)}.writing-theme.selected{border-color:#2852e88c;background:#2852e814;box-shadow:0 0 0 1px #2852e81f inset}.writing-theme>span{display:block;color:var(--accent);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.writing-theme strong{display:block;font-size:14px;line-height:1.3;margin-bottom:6px}.writing-theme p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.45}.writing-theme small{display:block;margin-top:auto;padding-top:10px;color:var(--text-dim);font-size:10px;line-height:1.4}.writing-theme-detail{display:flex;flex-direction:column;gap:13px;padding:16px;border:1px solid rgba(40,82,232,.25);border-radius:15px;background:linear-gradient(135deg,#2852e813,#2852e806)}.writing-theme-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.writing-theme-detail-head>div>span{display:block;color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}.writing-theme-detail-head strong{display:block;font-size:17px;line-height:1.3}.writing-theme-detail-head button{flex-shrink:0;border:0;background:none;color:var(--text-muted);font:11px inherit;padding:2px 0;cursor:pointer}.writing-theme-detail-head button:hover{color:var(--text)}.writing-theme-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.writing-theme-detail-grid>div{padding:10px 11px;border-radius:10px;background:#00000029}.writing-theme-detail-grid span,.writing-theme-prompts>span{display:block;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;margin-bottom:5px}.writing-theme-detail-grid p{margin:0;color:var(--text);font-size:12px;line-height:1.5}.writing-theme-prompts{padding-top:1px}.writing-theme-prompts ul{margin:0;padding-left:18px;color:var(--text-dim);font-size:12px;line-height:1.55}.writing-theme-prompts li+li{margin-top:3px}.writing-editor{display:flex;flex-direction:column;gap:9px}.writing-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.writing-editor-head label{font-size:12px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted)}.writing-editor-head span{color:var(--text-muted);font-size:11px}.writing-editor-head span.ok{color:var(--green)}.writing-editor textarea{width:100%;min-height:210px;padding:16px;resize:vertical;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text);font-family:inherit;font-size:16px;line-height:1.6;outline:none;transition:border-color .15s}.writing-editor textarea:focus{border-color:#2852e880}.writing-editor textarea::placeholder{color:var(--text-muted)}.writing-primary-btn,.writing-secondary-btn{padding:12px 16px;border-radius:12px;font:600 14px/1.2 inherit;cursor:pointer;transition:opacity .15s,transform .12s}.writing-primary-btn{background:#f7f7f7;color:#080808;border:0}.writing-secondary-btn{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.writing-primary-btn:active,.writing-secondary-btn:active{transform:scale(.98)}.writing-primary-btn:disabled,.writing-secondary-btn:disabled{opacity:.45;cursor:default;transform:none}.writing-check-btn{width:100%;margin-top:2px}.writing-inline-error{padding:10px 12px;border:1px solid var(--red-border);border-radius:10px;background:var(--red-bg);color:var(--red);font-size:12px;line-height:1.4}.writing-result{display:flex;flex-direction:column;gap:18px}.writing-result-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:16px}.writing-score{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid}.writing-score strong{font-size:23px;line-height:1}.writing-score span{margin-top:4px;font-size:9px;opacity:.7}.writing-score.good,.writing-history-score.good{color:var(--green);border-color:var(--green-border);background:var(--green-bg)}.writing-score.medium,.writing-history-score.medium{color:#a65d09;border-color:#fb923c4d;background:#fb923c14}.writing-score.weak,.writing-history-score.weak{color:var(--red);border-color:var(--red-border);background:var(--red-bg)}.writing-result-title{font-size:18px;font-weight:650;margin-bottom:5px}.writing-result-summary{color:var(--text-muted);font-size:13px;line-height:1.45}.writing-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px 16px}.writing-metric>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;color:var(--text-muted);font-size:11px}.writing-metric>div strong{color:var(--text)}.writing-metric-track,.writing-progress-track{height:4px;border-radius:4px;background:#ffffff0f;overflow:hidden}.writing-metric-track span,.writing-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.writing-metric-track span.good{background:var(--green)}.writing-metric-track span.medium{background:#a65d09}.writing-metric-track span.weak{background:var(--red)}.writing-feedback-section{display:flex;flex-direction:column;gap:9px}.writing-word-results{display:grid;grid-template-columns:1fr 1fr;gap:8px}.writing-word-result{padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-muted);font-size:11px;line-height:1.4}.writing-word-result.correct{border-color:var(--green-border);background:var(--green-bg)}.writing-word-result.incorrect{border-color:var(--red-border);background:var(--red-bg)}.writing-word-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.writing-word-result-head strong{color:var(--text);font-size:13px}.writing-word-result.correct .writing-word-result-head span{color:var(--green)}.writing-word-result.incorrect .writing-word-result-head span{color:var(--red)}.writing-used-form{margin-bottom:3px;color:var(--text-dim);font-style:italic}.writing-corrections{display:flex;flex-direction:column;gap:7px}.writing-correction{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font-size:12px;line-height:1.45}.writing-correction-category{color:#a65d09;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.writing-correction-original{color:var(--red);text-decoration:line-through;opacity:.85}.writing-correction-fixed{color:var(--green);margin-top:2px}.writing-correction-note{color:var(--text-muted);margin-top:5px}.writing-correction-rule{margin-top:10px;padding:10px 11px;border-left:2px solid rgba(40,82,232,.5);border-radius:0 9px 9px 0;background:#2852e80b}.writing-correction-rule>div:first-child{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:4px}.writing-correction-rule span{color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.writing-correction-rule strong{color:var(--text);font-size:11px}.writing-correction-rule p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.writing-correction-why{margin-top:7px;padding-top:7px;border-top:1px solid rgba(40,82,232,.1)}.writing-correction-why span{display:block;margin-bottom:3px}.writing-corrected-text,.writing-model-example{padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:14px;line-height:1.65;white-space:pre-wrap}.writing-model-example{border-color:#2852e838;background:#2852e80b}.writing-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.writing-new-task-btn{width:100%}.writing-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.writing-summary-card{padding:15px;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;align-items:center;text-align:center}.writing-summary-card strong{font-size:23px}.writing-summary-card span{color:var(--text-muted);font-size:10px;margin-top:3px}.writing-history-section{display:flex;flex-direction:column;gap:9px}.writing-progress-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.writing-progress-item{padding:11px 12px;background:var(--surface);border:1px solid var(--border);border-radius:11px}.writing-progress-item>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.writing-progress-item strong{font-size:12px}.writing-progress-item span{color:var(--text-muted);font-size:9px}.writing-error-chips{display:flex;flex-wrap:wrap;gap:6px}.writing-error-chips span,.writing-history-words span{padding:4px 8px;border-radius:20px;background:#ffffff0e;border:1px solid var(--border);color:var(--text-muted);font-size:10px}.writing-history-list{display:flex;flex-direction:column;gap:8px}.writing-history-item{width:100%;border:1px solid var(--border);border-radius:13px;background:var(--surface);color:var(--text);overflow:hidden}.writing-history-item.open{border-color:var(--border-2)}.writing-history-toggle{width:100%;padding:13px 14px;border:0;background:none;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.writing-history-toggle:hover{background:#ffffff05}.writing-history-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.writing-history-row>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.writing-history-row strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.writing-history-row span{color:var(--text-muted);font-size:10px}.writing-history-score{width:36px;height:36px;flex-shrink:0;border:1px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.writing-history-words{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.writing-history-view-report{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:10px;color:var(--accent);font-size:10px;font-weight:600}.writing-history-view-report span{font-size:12px}.writing-history-details{padding:16px 14px 18px;border-top:1px solid var(--border);background:#0000001f}.writing-history-task-context{display:flex;flex-direction:column;gap:4px;padding:12px 13px;margin-bottom:16px;border-radius:11px;background:#2852e80b;border:1px solid rgba(40,82,232,.13)}.writing-history-task-context>span{color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.writing-history-task-context strong{font-size:13px}.writing-history-task-context p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.writing-history-task-context small{color:var(--text-muted);font-size:10px;line-height:1.45}.writing-history-attempt{display:flex;flex-direction:column;gap:14px}.writing-history-attempt+.writing-history-attempt{margin-top:22px;padding-top:20px;border-top:1px solid var(--border-2)}.writing-history-attempt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.writing-history-attempt-head strong{font-size:14px}.writing-history-attempt-head span{color:var(--text-muted);font-size:10px}.writing-history-original{padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffff05;color:var(--text-dim);font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.writing-history-details .writing-result{gap:14px}.writing-history-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:12px;border:1px dashed var(--border);border-radius:12px}.writing-review-intro{padding-top:4px}.writing-review-intro h1{margin:0 0 7px;font-size:25px;line-height:1.15;letter-spacing:-.03em}.writing-review-intro p{max-width:560px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.5}.writing-review-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.writing-review-stats>div{padding:13px 10px;background:var(--surface);border:1px solid var(--border);border-radius:13px;display:flex;flex-direction:column;align-items:center;text-align:center}.writing-review-stats strong{font-size:21px;line-height:1.1}.writing-review-stats span{margin-top:4px;color:var(--text-muted);font-size:10px}.writing-review-empty{min-height:330px;padding:34px 22px;border:1px dashed var(--border);border-radius:17px;background:#ffffff03;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.writing-review-empty-icon{width:50px;height:50px;margin-bottom:14px;border:1px solid var(--green-border);border-radius:50%;background:var(--green-bg);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:25px}.writing-review-empty h2{margin:0 0 7px;font-size:19px}.writing-review-empty p{max-width:430px;margin:0 0 18px;color:var(--text-muted);font-size:12px;line-height:1.55}.writing-review-card{padding:18px;border:1px solid var(--border-2);border-radius:17px;background:var(--surface);display:flex;flex-direction:column;gap:15px;box-shadow:0 14px 40px #00000029}.writing-review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.writing-review-card-head>div{display:flex;flex-direction:column;gap:4px}.writing-review-card-head span{color:#a65d09;font-size:9px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.writing-review-card-head strong{font-size:16px}.writing-review-card-head small{max-width:145px;color:var(--text-muted);font-size:9px;line-height:1.35;text-align:right}.writing-review-original{padding:17px 18px;border:1px solid var(--red-border);border-radius:13px;background:var(--red-bg);color:var(--red);font-size:18px;line-height:1.5;text-decoration:line-through;text-decoration-thickness:1px;overflow-wrap:anywhere}.writing-review-answer{display:flex;flex-direction:column;gap:7px}.writing-review-answer>span{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.055em;text-transform:uppercase}.writing-review-answer textarea{width:100%;min-height:105px;padding:14px 15px;resize:vertical;background:#00000038;border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:16px;line-height:1.55;outline:none;transition:border-color .15s}.writing-review-answer textarea:focus{border-color:#2852e880}.writing-review-answer textarea::placeholder{color:var(--text-muted)}.writing-review-hint{padding:11px 12px;border:1px solid rgba(40,82,232,.17);border-radius:11px;background:#2852e809;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.writing-review-hint>span,.writing-review-rule>span,.writing-review-rule>div>span,.writing-review-expected>span{color:var(--accent);font-size:8px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.writing-review-hint strong{font-size:12px}.writing-review-hint p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.writing-review-hint button{padding:0;border:0;background:none;color:var(--accent);font:600 11px/1.4 inherit;cursor:pointer}.writing-review-check{width:100%}.writing-review-feedback{display:flex;flex-direction:column;gap:13px}.writing-review-verdict{padding:13px 14px;border:1px solid;border-radius:12px;display:flex;flex-direction:column;gap:3px}.writing-review-feedback.correct .writing-review-verdict{border-color:var(--green-border);background:var(--green-bg)}.writing-review-feedback.incorrect .writing-review-verdict{border-color:var(--red-border);background:var(--red-bg)}.writing-review-verdict strong{font-size:15px}.writing-review-feedback.correct .writing-review-verdict strong{color:var(--green)}.writing-review-feedback.incorrect .writing-review-verdict strong{color:var(--red)}.writing-review-verdict span{color:var(--text-muted);font-size:10px;line-height:1.4}.writing-review-expected{display:flex;flex-direction:column;gap:5px}.writing-review-expected strong{color:var(--green);font-size:16px;line-height:1.5;overflow-wrap:anywhere}.writing-review-explanation{margin:0;color:var(--text-dim);font-size:12px;line-height:1.55}.writing-review-rule{padding:12px 13px;border-left:2px solid rgba(40,82,232,.5);border-radius:0 10px 10px 0;background:#2852e80a;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.writing-review-rule>strong{font-size:12px}.writing-review-rule p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.writing-review-rule>div{width:100%;margin-top:3px;padding-top:8px;border-top:1px solid rgba(40,82,232,.11);display:flex;flex-direction:column;gap:4px}@media (max-width: 620px){.writing-target-words{grid-template-columns:1fr 1fr}.writing-themes{grid-template-columns:1fr}.writing-intro{flex-direction:column}.writing-skip-btn{align-self:flex-end;margin-top:-42px}.writing-word-connection{grid-template-columns:1fr;gap:5px}.writing-theme-detail-grid,.writing-word-results,.writing-progress-list{grid-template-columns:1fr}.writing-editor textarea{min-height:230px}.writing-tabs{max-width:none}.writing-tabs button{padding-left:7px;padding-right:7px}.writing-review-card{padding:14px}.writing-review-original{padding:14px;font-size:16px}.writing-review-empty{min-height:290px}}.ielts-app-wrap{max-width:980px;min-height:0;overflow:hidden}.ielts-icon-back{width:42px;height:42px;padding:0;border:1px solid var(--border-2);border-radius:13px;background:var(--surface);color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s,background .15s,transform .12s}.ielts-icon-back:hover{color:var(--text);border-color:#2852e85c;background:#2852e80e}.ielts-icon-back:active{transform:scale(.96)}.ielts-icon-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ielts-tabs{width:100%;max-width:440px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;margin-bottom:14px;border:1px solid var(--border);border-radius:13px;background:#ffffff08;flex-shrink:0}.ielts-tabs button{min-height:38px;border:0;border-radius:10px;background:none;color:var(--text-muted);font:600 13px/1.2 inherit;cursor:pointer;touch-action:manipulation}.ielts-tabs button.active{background:var(--surface-2);color:var(--text)}.listening-tabs,.writing-ielts-tabs{grid-template-columns:repeat(2,1fr)}.listening-tabs.admin,.writing-ielts-tabs.admin{grid-template-columns:repeat(3,1fr)}.ielts-scroll{width:100%;height:0;min-height:0;flex:1 1 0;align-items:stretch;justify-content:flex-start;gap:0;overflow-y:scroll;overflow-x:hidden;overflow-anchor:none;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 calc(48px + env(safe-area-inset-bottom))}.ielts-scroll::-webkit-scrollbar{display:none}.ielts-page,.ielts-workspace,.ielts-history,.ielts-library{width:100%;display:flex;flex-direction:column;gap:18px}.ielts-page-intro{padding:5px 2px 2px}.ielts-page-intro>span,.ielts-eyebrow{display:block;margin-bottom:7px;color:var(--accent);font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.ielts-page-intro h1,.ielts-start-panel h1{margin:0 0 8px;font-size:clamp(25px,5vw,36px);line-height:1.1;letter-spacing:-.035em}.ielts-page-intro p,.ielts-start-panel>p{max-width:650px;margin:0;color:var(--text-dim);font-size:13px;line-height:1.55}.ielts-primary,.ielts-secondary{min-height:44px;padding:11px 15px;border-radius:12px;font:650 13px/1.2 inherit;cursor:pointer;touch-action:manipulation;transition:opacity .15s,transform .12s}.ielts-primary{border:0;background:#f7f7f7;color:#080808}.ielts-secondary{border:1px solid var(--border-2);background:var(--surface);color:var(--text)}.ielts-primary.compact{min-height:36px;padding:8px 12px;font-size:11px}.ielts-primary:disabled,.ielts-secondary:disabled{opacity:.45;cursor:default}.ielts-primary:active,.ielts-secondary:active{transform:scale(.98)}.ielts-inline-error{padding:12px 14px;border:1px solid var(--red-border);border-radius:11px;background:var(--red-bg);color:var(--red);font-size:12px;line-height:1.5}.ielts-empty{min-height:340px;padding:30px;border:1px dashed var(--border);border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--text-muted)}.ielts-empty>div{font-size:31px}.ielts-empty h2{color:var(--text);font-size:19px}.ielts-empty p{max-width:440px;font-size:12px;line-height:1.5}.ielts-library-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ielts-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ielts-test-card{min-width:0;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:12px}.ielts-test-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ielts-test-card-head>div{min-width:0;display:flex;flex-direction:column;gap:4px}.ielts-test-card-head strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}.ielts-test-card-head span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-test-card-head>button,.ielts-danger-link{padding:0;border:0;background:none;color:var(--text-muted);font:600 11px/1.4 inherit;cursor:pointer}.ielts-test-card>p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.ielts-test-card>p span{margin-right:7px;color:var(--text);font-size:9px;font-weight:700;text-transform:uppercase}.ielts-test-card>.ielts-primary{width:100%;margin-top:auto}.ielts-danger-link{align-self:flex-start;color:#f87171a6}.ielts-source-list{display:flex;flex-wrap:wrap;gap:6px}.ielts-source-list button{max-width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:#ffffff06;color:var(--text-muted);font:10px/1.2 inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ielts-example-badges{display:flex;flex-wrap:wrap;gap:6px}.ielts-example-badges span{padding:5px 8px;border:1px solid rgba(40,82,232,.2);border-radius:999px;background:#2852e80b;color:var(--accent);font-size:9px;font-weight:650}.ielts-test-manage-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.ielts-test-manage-actions>button{padding:0;border:0;background:none;color:var(--accent);font:600 11px/1.4 inherit;cursor:pointer}.ielts-test-manage-actions>button:disabled{opacity:.45;cursor:default}.ielts-test-manage-actions>.ielts-danger-link{color:#f87171a6}.ielts-test-form{width:100%;display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--border-2);border-radius:18px;background:var(--surface)}.ielts-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.ielts-form-head span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-form-head h2{margin-top:4px;font-size:21px}.ielts-form-head button{padding:3px;border:0;background:none;color:var(--text-muted);font:12px inherit;cursor:pointer}.ielts-test-form label{display:flex;flex-direction:column;gap:7px}.ielts-test-form label>span{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.ielts-test-form input,.ielts-test-form textarea,.ielts-test-form select{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#0000003d;color:var(--text);font:16px/1.55 inherit;outline:none}.ielts-test-form select{min-height:50px;color-scheme:dark}.ielts-test-form textarea{min-height:150px;resize:vertical}.ielts-test-form textarea.short{min-height:105px}.ielts-test-form input:focus,.ielts-test-form textarea:focus,.ielts-test-form select:focus{border-color:#2852e87a}.ielts-reference-editor{padding:13px;border:1px solid var(--border);border-radius:13px;background:#ffffff04;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:11px}.ielts-form-divider{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:5px;border-top:1px solid var(--border)}.ielts-form-divider span{color:var(--text);font-size:12px;font-weight:700}.ielts-form-divider small{color:var(--text-muted);font-size:9px}.ielts-start-panel{max-width:760px;margin:0 auto;padding:14px 0 30px;display:flex;flex-direction:column;gap:17px}.ielts-back-link{align-self:flex-start;padding:7px 10px 7px 7px;border:1px solid transparent;border-radius:10px;background:none;color:var(--text-muted);font:12px inherit;cursor:pointer;display:flex;align-items:center;gap:7px}.ielts-back-link:hover{border-color:var(--border);background:var(--surface);color:var(--text)}.ielts-back-link svg,.ielts-toolbar-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.ielts-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ielts-mode-grid button{min-height:150px;padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);text-align:left;font-family:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:7px;cursor:pointer}.ielts-mode-grid button.selected{border-color:#2852e899;background:#2852e813;box-shadow:inset 0 0 0 1px #2852e81f}.ielts-mode-grid span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ielts-mode-grid strong{font-size:16px;line-height:1.3}.ielts-mode-grid small{margin-top:auto;color:var(--text-muted);font-size:10px;line-height:1.45}.ielts-timed-toggle{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface);display:flex;align-items:flex-start;gap:11px;cursor:pointer}.ielts-timed-toggle input{width:18px;height:18px;margin-top:1px;accent-color:var(--accent)}.ielts-timed-toggle>span{display:flex;flex-direction:column;gap:3px}.ielts-timed-toggle strong{font-size:13px}.ielts-timed-toggle small{color:var(--text-muted);font-size:10px;line-height:1.4}.ielts-start-button{width:100%}.ielts-resume-card{padding:14px;border:1px solid rgba(40,82,232,.24);border-radius:14px;background:#2852e80d;display:flex;align-items:center;justify-content:space-between;gap:16px}.ielts-resume-card>div{min-width:0;display:flex;flex-direction:column;gap:3px}.ielts-resume-card span{color:var(--accent);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-resume-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ielts-resume-card small{color:var(--text-muted);font-size:9px}.ielts-workspace-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;margin-bottom:1px;border:1px solid var(--border);border-radius:13px;background:#080808eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ielts-workspace-toolbar>button:not(.ielts-primary){flex-shrink:0;padding:7px;border:0;background:none;color:var(--text-muted);font:11px inherit;cursor:pointer;white-space:nowrap}.ielts-toolbar-back{display:flex;align-items:center;gap:4px}.ielts-toolbar-actions{flex-shrink:0;display:flex;align-items:center;gap:4px}.ielts-toolbar-actions>button{min-height:32px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--text-muted);font:11px/1.2 inherit;cursor:pointer;white-space:nowrap}.ielts-toolbar-actions>.ielts-cancel-attempt{color:#f87171d1}.ielts-toolbar-actions>.ielts-cancel-attempt:hover{background:var(--red-bg);color:var(--red)}.ielts-toolbar-actions>button:disabled{opacity:.45;cursor:default}.ielts-workspace-toolbar>.ielts-revisions{min-width:0;flex:1}.ielts-workspace-toolbar.editor>div:nth-child(2){min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.ielts-workspace-toolbar.editor>div:nth-child(2) strong{max-width:320px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ielts-workspace-toolbar.editor>div:nth-child(2) span{color:var(--text-muted);font-size:9px}.ielts-timer{min-width:86px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.ielts-timer span{color:var(--text-muted);font-size:8px;text-transform:uppercase}.ielts-timer strong{font-variant-numeric:tabular-nums;font-size:15px}.ielts-timer.expired strong,.ielts-timer.expired span{color:var(--red)}.ielts-editor-task{display:flex;flex-direction:column;gap:13px}.ielts-editor-task+.ielts-editor-task{margin-top:14px;padding-top:24px;border-top:1px solid var(--border-2)}.ielts-task-prompt{padding:17px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.ielts-task-prompt>div{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.ielts-task-prompt>div span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-task-prompt>div strong{font-size:14px}.ielts-task-prompt>p{color:var(--text);font-size:14px;line-height:1.65;white-space:pre-wrap}.ielts-task-prompt ul{margin:12px 0 0;padding:12px 12px 12px 30px;border-radius:11px;background:#ffffff06;color:var(--text-dim);font-size:13px;line-height:1.6}.ielts-task-visual{margin:14px 0 0;border:1px solid var(--border-2);border-radius:13px;background:#f7f7f5;overflow:hidden}.ielts-task-visual>div{max-height:520px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ielts-task-visual img{display:block;width:100%;height:auto}.ielts-task-visual figcaption{padding:9px 11px;border-top:1px solid rgba(0,0,0,.12);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:12px}.ielts-task-visual figcaption span{color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ielts-task-visual figcaption button{padding:0;border:0;background:none;color:var(--accent);font:600 10px/1.4 inherit;cursor:pointer}.ielts-task-prompt>small{display:block;margin-top:11px;color:var(--text-muted);font-size:10px}.ielts-answer-field{display:flex;flex-direction:column;gap:8px}.ielts-answer-field>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.ielts-answer-field>div span{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-answer-field>div strong{color:var(--text-muted);font-size:10px}.ielts-answer-field>div strong.ready{color:var(--green)}.ielts-answer-field textarea{width:100%;min-height:360px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);font:16px/1.72 inherit;resize:vertical;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ielts-answer-field textarea:focus{border-color:#2852e880}.ielts-submit-box{padding:16px;border:1px solid rgba(40,82,232,.2);border-radius:15px;background:#2852e80a;display:flex;align-items:center;justify-content:space-between;gap:16px}.ielts-submit-box>div{display:flex;flex-direction:column;gap:4px}.ielts-submit-box strong{font-size:13px}.ielts-submit-box span{color:var(--text-muted);font-size:10px;line-height:1.4}.ielts-submit-box .ielts-primary{flex-shrink:0}.ielts-revisions{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap}.ielts-revisions button{padding:6px 9px;border:1px solid var(--border);border-radius:8px;background:none;color:var(--text-muted);font:10px inherit;cursor:pointer}.ielts-revisions button.active{border-color:#2852e866;background:#2852e814;color:var(--accent)}.ielts-report{display:flex;flex-direction:column;gap:28px}.ielts-overall-report{padding:19px;border:1px solid rgba(40,82,232,.24);border-radius:18px;background:linear-gradient(135deg,#2852e81c,#2852e806);display:flex;align-items:center;justify-content:space-between;gap:24px}.ielts-overall-report>div{display:flex;flex-direction:column}.ielts-overall-report span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.ielts-overall-report strong{margin-top:2px;font-size:48px;line-height:1;letter-spacing:-.05em}.ielts-overall-report p{max-width:440px;margin:0;color:var(--text-dim);font-size:11px;line-height:1.5}.ielts-task-report{display:flex;flex-direction:column;gap:19px;padding-top:4px}.ielts-task-report+.ielts-task-report{padding-top:30px;border-top:1px solid var(--border-2)}.ielts-report-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:17px}.ielts-band{width:86px;height:86px;border:2px solid;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.ielts-band strong{font-size:28px;line-height:1}.ielts-band span{margin-top:5px;font-size:7px;text-transform:uppercase;letter-spacing:.04em;opacity:.72}.ielts-band.strong,.ielts-criterion-head span.strong,.ielts-history-band.strong{color:var(--green);border-color:var(--green-border)}.ielts-band.developing,.ielts-criterion-head span.developing,.ielts-history-band.developing{color:#a65d09;border-color:#fb923c4d}.ielts-band.weak,.ielts-criterion-head span.weak,.ielts-history-band.weak{color:var(--red);border-color:var(--red-border)}.ielts-report-hero>div:last-child>span{color:var(--accent);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-report-hero h2{margin:5px 0 6px;font-size:18px;line-height:1.4}.ielts-report-hero p{margin:0;color:var(--text-muted);font-size:10px}.ielts-report-section{display:flex;flex-direction:column;gap:10px}.ielts-report-section>h3{color:var(--text-muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.075em}.ielts-criteria-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ielts-criterion{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.ielts-criterion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ielts-criterion-head strong{font-size:12px}.ielts-criterion-head span{min-width:36px;height:28px;padding:0 7px;border:1px solid;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:750}.ielts-criterion>p{margin:0;color:var(--text-dim);font-size:11px;line-height:1.55}.ielts-criterion ul{margin:9px 0 0;padding-left:17px;color:var(--text-muted);font-size:10px;line-height:1.5}.ielts-requirements{display:flex;flex-direction:column;gap:7px}.ielts-requirement{padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.ielts-requirement.met{border-left:2px solid var(--green)}.ielts-requirement.partial{border-left:2px solid #a65d09}.ielts-requirement.missing{border-left:2px solid var(--red)}.ielts-requirement>div{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ielts-requirement strong{font-size:11px;line-height:1.4}.ielts-requirement>div span{color:var(--text-muted);font-size:8px;font-weight:700;text-transform:uppercase}.ielts-requirement p,.ielts-requirement small{display:block;margin:6px 0 0;color:var(--text-dim);font-size:10px;line-height:1.5}.ielts-requirement small{color:var(--text-muted)}.ielts-prose-card{padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-dim);font-size:11px;line-height:1.6}.ielts-mistakes{display:flex;flex-direction:column;gap:8px}.ielts-mistake{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.ielts-mistake.critical{border-left:2px solid var(--red)}.ielts-mistake.important{border-left:2px solid #a65d09}.ielts-mistake.minor{border-left:2px solid var(--text-muted)}.ielts-mistake-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.ielts-mistake-head span,.ielts-mistake-head strong{color:#a65d09;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.ielts-mistake-head strong{color:var(--text-muted)}.ielts-mistake-original{color:var(--red);font-size:12px;text-decoration:line-through;line-height:1.5}.ielts-mistake-corrected{margin-top:3px;color:var(--green);font-size:12px;line-height:1.5}.ielts-mistake>p{margin:8px 0;color:var(--text-dim);font-size:11px;line-height:1.55}.ielts-rule,.ielts-impact{margin-top:8px;padding:9px 10px;border-radius:9px;background:#2852e809}.ielts-rule span,.ielts-impact span{display:block;margin-bottom:4px;color:var(--accent);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-rule p,.ielts-impact p{margin:0;color:var(--text-dim);font-size:10px;line-height:1.5}.ielts-impact{background:#fb923c09}.ielts-impact span{color:#a65d09}.ielts-paragraphs{display:flex;flex-direction:column;gap:7px}.ielts-paragraphs>div{padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.ielts-paragraphs strong{font-size:10px}.ielts-paragraphs p{margin:5px 0 0;color:var(--text-dim);font-size:10px;line-height:1.55}.ielts-report-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ielts-action-list{min-height:100%;margin:0;padding:13px 13px 13px 31px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-dim);font-size:11px;line-height:1.55}.ielts-action-list li+li{margin-top:6px}.ielts-action-list.strengths li::marker{color:var(--green)}.ielts-action-list.priorities li::marker{color:#a65d09}.ielts-text-details{border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden}.ielts-text-details summary{padding:13px 15px;color:var(--text);font-size:11px;font-weight:700;cursor:pointer}.ielts-text-details>div{padding:0 15px 15px;color:var(--text-dim);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.ielts-text-details.model{border-color:#2852e833;background:#2852e809}.ielts-reference-examples{padding:17px;border:1px solid rgba(40,82,232,.2);border-radius:16px;background:#2852e806}.ielts-reference-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.ielts-reference-heading>div span{color:var(--accent);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.065em}.ielts-reference-heading h3{margin:4px 0 0;color:var(--text);font-size:15px}.ielts-reference-heading p{max-width:390px;margin:0;color:var(--text-muted);font-size:10px;line-height:1.5}.ielts-text-details.reference{border-color:#2852e824}.ielts-history-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ielts-history-summary>div{padding:14px 8px;border:1px solid var(--border);border-radius:13px;background:var(--surface);display:flex;flex-direction:column;align-items:center;text-align:center}.ielts-history-summary strong{font-size:21px}.ielts-history-summary span{margin-top:3px;color:var(--text-muted);font-size:8px}.ielts-history-list{display:flex;flex-direction:column;gap:9px}.ielts-history-item{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 640px}.ielts-history-item.open{border-color:var(--border-2)}.ielts-history-toggle{width:100%;padding:14px;border:0;background:none;color:var(--text);font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.ielts-history-toggle>div{min-width:0;display:flex;flex-direction:column;gap:4px}.ielts-history-toggle>div span{color:var(--accent);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.ielts-history-toggle>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ielts-history-toggle>div small{color:var(--text-muted);font-size:9px}.ielts-history-band{width:44px;height:44px;border:1px solid;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}.ielts-history-report{padding:15px;border-top:1px solid var(--border);background:#0000001f}.ielts-history-report>.ielts-revisions{margin-bottom:20px}@media (max-width:700px){.ielts-app-wrap{padding-left:14px;padding-right:14px}.ielts-test-grid,.ielts-mode-grid,.ielts-criteria-grid,.ielts-report-columns{grid-template-columns:1fr}.ielts-mode-grid button{min-height:125px}.ielts-workspace-toolbar{align-items:center}.ielts-workspace-toolbar.editor>div:nth-child(2){display:none}.ielts-workspace-toolbar>.ielts-revisions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.ielts-answer-field textarea{min-height:52vh;padding:15px;font-size:16px;line-height:1.65}.ielts-submit-box,.ielts-overall-report,.ielts-resume-card{align-items:stretch;flex-direction:column}.ielts-submit-box .ielts-primary{width:100%}.ielts-history-summary{grid-template-columns:1fr 1fr}.ielts-report-hero{align-items:flex-start}.ielts-band{width:72px;height:72px}.ielts-band strong{font-size:23px}.ielts-library-actions,.ielts-reference-editor{grid-template-columns:1fr}.ielts-reference-heading{flex-direction:column;gap:7px}}@media (max-width:430px){.ielts-app-wrap{padding-left:10px;padding-right:10px}.ielts-tabs{margin-bottom:10px}.ielts-scroll{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.ielts-task-prompt,.ielts-test-form{padding:14px}.ielts-report-hero{grid-template-columns:1fr}.ielts-band{width:78px;height:78px}.ielts-workspace-toolbar{margin-left:-2px;margin-right:-2px}.ielts-toolbar-back span{display:none}}.listening-scroll{scroll-behavior:smooth}.listening-library,.listening-test-grid,.listening-history,.listening-workspace,.listening-result-page{width:100%;display:flex;flex-direction:column;gap:16px}.listening-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.listening-test-card{min-width:0;padding:17px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:13px}.listening-test-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.listening-test-card-head>div{min-width:0;display:flex;flex-direction:column;gap:5px}.listening-test-card-head span,.listening-upload-intro>span,.listening-editor-head span{color:var(--green);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.listening-test-card-head strong{font-size:17px;line-height:1.3;overflow-wrap:anywhere}.listening-test-card-head small{color:var(--text-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-test-card-head>button{padding:0;border:0;background:none;color:var(--green);font:650 11px/1.4 inherit;cursor:pointer}.listening-test-parts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.listening-test-parts span{padding:7px 8px;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:9px;text-align:center}.listening-test-card>.ielts-primary{width:100%;margin-top:auto}.listening-upload-panel{padding:18px;border:1px solid rgba(25,135,84,.22);border-radius:18px;background:linear-gradient(135deg,#4ade8013,#4ade8005);display:flex;flex-direction:column;gap:15px}.listening-upload-intro h2,.listening-editor-head h2{margin:4px 0 6px;font-size:21px}.listening-upload-intro p,.listening-editor-note{max-width:670px;margin:0;color:var(--text-dim);font-size:11px;line-height:1.55}.listening-file-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.listening-file-grid label{min-height:116px;padding:14px;border:1px dashed var(--border-2);border-radius:13px;background:#00000029;display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer}.listening-file-grid label.selected{border-style:solid;border-color:#19875473;background:#4ade800e}.listening-file-grid label>span{width:21px;height:21px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--green);font-size:9px;font-weight:750}.listening-file-grid label strong{margin-top:auto;max-width:100%;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-file-grid label small{color:var(--text-muted);font-size:9px}.listening-file-grid input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.listening-test-editor{width:100%;padding:18px;border:1px solid var(--border-2);border-radius:18px;background:var(--surface);display:flex;flex-direction:column;gap:15px}.listening-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.listening-editor-head button{padding:4px;border:0;background:none;color:var(--text-muted);font:12px inherit;cursor:pointer}.listening-title-field,.listening-editor-fields label{display:flex;flex-direction:column;gap:6px}.listening-title-field span,.listening-editor-fields label span{color:var(--text-muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.listening-title-field input,.listening-editor-fields input,.listening-editor-fields textarea,.listening-editor-fields select{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:#00000038;color:var(--text);font:16px/1.5 inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.listening-editor-fields select{min-height:49px;color-scheme:dark}.listening-editor-fields textarea{min-height:78px;resize:vertical}.listening-title-field input:focus,.listening-editor-fields input:focus,.listening-editor-fields textarea:focus,.listening-editor-fields select:focus{border-color:#1987547a}.listening-editor-questions{display:flex;flex-direction:column;gap:8px}.listening-editor-question{padding:12px;border:1px solid var(--border);border-radius:12px;background:#0000001f;display:grid;grid-template-columns:30px 1fr;gap:10px;content-visibility:auto;contain-intrinsic-size:auto 170px}.listening-editor-number,.listening-question-number{width:28px;height:28px;border:1px solid rgba(25,135,84,.28);border-radius:9px;background:#4ade800b;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:750}.listening-question-number-range{width:auto;min-width:38px;padding:0 5px}.listening-editor-fields{min-width:0;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr);gap:9px}.listening-start-panel{max-width:680px;margin:0 auto;padding:12px 0 35px;display:flex;flex-direction:column;gap:18px}.listening-start-panel h1{margin:0;font-size:clamp(28px,6vw,42px);line-height:1.08;letter-spacing:-.04em}.listening-start-panel>p{margin:0;color:var(--text-dim);font-size:13px;line-height:1.6}.listening-start-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.listening-start-facts>div{padding:15px 10px;border:1px solid var(--border);border-radius:13px;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:4px}.listening-start-facts strong{font-size:22px}.listening-start-facts span{color:var(--text-muted);font-size:9px;text-align:center}.listening-workspace-toolbar{position:sticky;top:0;z-index:7;padding:9px 11px;border:1px solid var(--border);border-radius:13px;background:#080808f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.listening-workspace-toolbar>div:first-child{display:flex;align-items:center;gap:3px}.listening-workspace-toolbar button{min-height:32px;padding:6px 8px;border:0;border-radius:8px;background:none;color:var(--text-muted);font:11px/1.2 inherit;cursor:pointer;display:flex;align-items:center;gap:4px}.listening-workspace-toolbar button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.listening-workspace-toolbar>strong{max-width:310px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listening-workspace-toolbar>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:2px}.listening-workspace-toolbar>div:last-child span{color:var(--text-muted);font-size:8px}.listening-workspace-toolbar>div:last-child strong{font-size:14px;font-variant-numeric:tabular-nums}.listening-audio-card{padding:15px;border:1px solid rgba(25,135,84,.22);border-radius:15px;background:linear-gradient(135deg,#4ade8012,#4ade8005);display:flex;flex-direction:column;gap:10px}.listening-audio-status{display:flex;align-items:center;justify-content:space-between;gap:14px}.listening-audio-status>div{display:flex;flex-direction:column;gap:4px}.listening-audio-status span{color:var(--green);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.055em}.listening-audio-status strong{font-size:18px;font-variant-numeric:tabular-nums}.listening-audio-status button{min-width:122px;min-height:42px;padding:10px 13px;border:0;border-radius:11px;background:#f7f7f7;color:#080808;font:650 12px/1.2 inherit;cursor:pointer}.listening-audio-status button:disabled{opacity:.55;cursor:default}.listening-audio-progress{height:5px;border-radius:99px;background:#ffffff14;overflow:hidden}.listening-audio-progress span{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .25s linear}.listening-audio-card>p{margin:0;color:var(--text-muted);font-size:9px;line-height:1.45}.listening-section-nav{position:sticky;top:62px;z-index:6;padding:6px;border:1px solid var(--border);border-radius:12px;background:#080808eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.listening-section-nav a{min-width:0;padding:8px;border-radius:8px;color:var(--text-muted);text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px}.listening-section-nav a strong{color:var(--text);font-size:9px}.listening-question-section{scroll-margin-top:120px;display:flex;flex-direction:column;gap:8px}.listening-part-heading{padding:10px 2px 4px;display:flex;align-items:center;justify-content:space-between;gap:12px}.listening-part-heading span{color:var(--green);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.listening-part-heading strong{color:var(--text-muted);font-size:10px}.listening-question{padding:clamp(18px,3vw,30px);border:1px solid var(--border-2);border-radius:16px;background:#101110;display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;content-visibility:auto;contain-intrinsic-size:auto 260px}.listening-question.correct{border-color:var(--green-border)}.listening-question.incorrect{border-color:var(--red-border)}.listening-question>.listening-question-number{width:auto;min-width:28px;padding:0;border:0;border-radius:0;background:none;color:var(--text);align-items:flex-start;justify-content:flex-start;font-size:13px;line-height:1.6}.listening-question>.listening-question-number-range{min-width:42px}.listening-question-body{min-width:0;display:flex;flex-direction:column;gap:10px}.listening-question-instruction{color:var(--text);font-size:13px;font-weight:560;line-height:1.55;white-space:pre-wrap}.listening-question-body>p{margin:3px 0 2px;color:var(--text);font-size:15px;font-weight:650;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.listening-answer-input{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--border-2);border-radius:10px;background:#00000038;color:var(--text);font:16px/1.4 inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.listening-answer-input:focus{border-color:#19875480;box-shadow:0 0 0 2px #4ade800e}.listening-completion-paper{padding:clamp(18px,3vw,34px);border:1px solid var(--border-2);border-radius:16px;background:#101110;display:flex;flex-direction:column;gap:0;content-visibility:auto;contain-intrinsic-size:auto 620px}.listening-completion-instruction{padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.07);color:var(--text);font-size:14px;font-weight:560;line-height:1.55}.listening-completion-paper>h2{margin:25px 0 2px;font-size:20px;line-height:1.25;letter-spacing:-.02em}.listening-completion-content{display:flex;flex-direction:column}.listening-completion-item{min-width:0}.listening-completion-item>h3{margin:25px 0 11px;color:var(--text);font-size:16px;line-height:1.25}.listening-completion-row{position:relative;padding:7px 0 7px 18px}.listening-completion-bullet{position:absolute;left:0;top:17px;color:var(--text-dim);font-size:12px}.listening-completion-line{min-height:46px;color:var(--text);display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:15px;line-height:1.7}.listening-completion-answer{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.listening-completion-answer>span{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.listening-completion-answer input{width:clamp(145px,22vw,245px);height:42px;padding:7px 10px;border:1px solid var(--border-2);border-radius:6px;background:#070807;color:var(--text);font:16px/1.25 inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.listening-completion-answer input:focus{border-color:var(--green);box-shadow:0 0 0 2px #1987541a}.listening-completion-row.correct .listening-completion-answer input{border-color:var(--green-border)}.listening-completion-row.incorrect .listening-completion-answer input{border-color:var(--red-border)}.listening-completion-correction{margin:5px 0 0;display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10px;line-height:1.4}.listening-completion-correction span{color:var(--red)}.listening-completion-correction strong{color:var(--green)}.listening-matching-paper{padding:clamp(18px,3vw,34px);border:1px solid var(--border-2);border-radius:16px;background:#101110;display:flex;flex-direction:column;content-visibility:auto;contain-intrinsic-size:auto 650px}.listening-exam-range{margin-bottom:12px;color:var(--text);font-size:14px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.listening-exam-instruction{max-width:940px;color:var(--text);font-size:14px;font-weight:560;line-height:1.6;white-space:pre-wrap}.listening-matching-paper>h2{margin:25px 0 16px;font-size:20px;line-height:1.25}.listening-matching-rows{max-width:570px;margin:25px 0 28px;display:flex;flex-direction:column}.listening-matching-row{min-height:58px;display:grid;grid-template-columns:36px minmax(0,1fr) 90px;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.08)}.listening-matching-row>span{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums}.listening-matching-row>strong{min-width:0;color:var(--text);font-size:15px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.listening-matching-row select{width:84px;height:40px;padding:5px 26px 5px 10px;border:1px solid var(--border-2);border-radius:6px;background:#070807;color:var(--text);font:650 15px/1.2 inherit;text-align:center;outline:none;color-scheme:dark}.listening-matching-row select:focus{border-color:var(--green);box-shadow:0 0 0 2px #1987541a}.listening-matching-row.correct select{border-color:var(--green-border)}.listening-matching-row.incorrect select{border-color:var(--red-border)}.listening-matching-row>small{grid-column:2/-1;margin:-3px 0 7px;color:var(--green);font-size:9px}.listening-answer-bank{max-width:760px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}.listening-answer-bank>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;color:var(--text);font-size:13px;line-height:1.45}.listening-answer-bank strong{font-size:13px}.listening-answer-bank span{color:var(--text-dim)}.listening-options{display:flex;flex-direction:column;gap:7px}.listening-options label{cursor:pointer}.listening-options input{position:absolute;opacity:0;pointer-events:none}.listening-options label>span{min-height:38px;padding:5px 7px;border:1px solid transparent;border-radius:8px;color:var(--text-dim);display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.45}.listening-options label>span strong{width:26px;height:26px;border:1px solid var(--border-2);border-radius:50%;background:none;color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:10px}.listening-options input:checked+span{border-color:#19875438;background:#4ade800e;color:var(--text)}.listening-options input:checked+span strong{border-color:var(--green);background:#4ade801a;color:var(--green)}.listening-options input:focus-visible+span{outline:2px solid rgba(25,135,84,.5);outline-offset:2px}.listening-selection-count{color:var(--text-muted);font-size:9px}.listening-correct-answer{padding:10px 11px;border-radius:10px;background:var(--red-bg);display:flex;flex-direction:column;gap:4px;font-size:10px;line-height:1.45}.listening-correct-answer span{color:var(--red)}.listening-correct-answer strong{color:var(--green)}.listening-choice-paper{padding:clamp(20px,3vw,36px);border:1px solid var(--border-2);border-radius:16px;background:#101110;content-visibility:auto;contain-intrinsic-size:auto 900px}.listening-choice-paper>h2{margin:32px 0 27px;font-size:21px;line-height:1.25;letter-spacing:-.02em}.listening-choice-questions{max-width:980px;display:flex;flex-direction:column;gap:32px}.listening-choice-question{scroll-margin-top:120px}.listening-choice-prompt{display:grid;grid-template-columns:42px minmax(0,1fr);gap:4px;align-items:start;color:var(--text);font-size:15px;line-height:1.5}.listening-choice-prompt>span{color:var(--text-dim);font-variant-numeric:tabular-nums}.listening-choice-prompt>strong{font-weight:500}.listening-choice-options{margin:8px 0 0 42px;display:flex;flex-direction:column;gap:5px}.listening-choice-options label{min-height:30px;display:grid;grid-template-columns:17px 21px minmax(0,1fr);align-items:start;gap:4px;color:var(--text);font-size:14px;line-height:1.45;cursor:pointer}.listening-choice-options input{position:absolute;opacity:0;pointer-events:none}.listening-choice-options label>span{width:15px;height:15px;margin-top:3px;border:1px solid var(--text-muted);border-radius:3px;background:#080808}.listening-choice-options label>strong{color:var(--text);font-size:14px}.listening-choice-options label>em{color:var(--text);font-style:normal}.listening-choice-options input:checked+span{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 3px #101110}.listening-choice-options input:focus-visible+span{outline:2px solid rgba(25,135,84,.55);outline-offset:2px}.listening-choice-options label:hover>em{color:#fff}.listening-choice-question.correct .listening-choice-options input:checked+span{border-color:var(--green);background:var(--green)}.listening-choice-question.incorrect .listening-choice-options input:checked+span{border-color:var(--red);background:var(--red)}.listening-choice-correction{margin:7px 0 0 42px;color:var(--green);font-size:10px}.listening-submit-card{padding:16px;border:1px solid rgba(25,135,84,.22);border-radius:15px;background:#4ade8009;display:flex;align-items:center;justify-content:space-between;gap:16px}.listening-submit-card>div{display:flex;flex-direction:column;gap:4px}.listening-submit-card strong{font-size:13px}.listening-submit-card span{color:var(--text-muted);font-size:10px}.listening-score-hero{padding:20px;border:1px solid rgba(25,135,84,.28);border-radius:18px;background:linear-gradient(135deg,#4ade801c,#4ade8005)}.listening-score-hero>span{color:var(--green);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.listening-score-hero>div{margin:9px 0;display:flex;align-items:baseline;gap:22px}.listening-score-hero>div>strong:first-child{font-size:48px;letter-spacing:-.05em}.listening-score-hero>div>strong:first-child small{margin-left:4px;color:var(--text-muted);font-size:16px;letter-spacing:0}.listening-score-hero>div>strong:last-child{color:var(--green);font-size:22px}.listening-score-hero p{max-width:650px;margin:0;color:var(--text-dim);font-size:10px;line-height:1.5}.listening-section-scores{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.listening-section-scores>div{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:8px}.listening-section-scores span{color:var(--text-muted);font-size:9px}.listening-section-scores strong{font-size:14px}.listening-review-block{display:flex;flex-direction:column;gap:8px}.listening-review-head{padding:7px 2px;display:flex;align-items:center;justify-content:space-between;gap:10px}.listening-review-head span{color:var(--text-muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.07em}.listening-review-head strong{color:var(--red);font-size:10px}.listening-history-item{border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden;content-visibility:auto;contain-intrinsic-size:auto 200px}.listening-history-item>button{width:100%;padding:14px;border:0;background:none;color:var(--text);font-family:inherit;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.listening-history-item>button>div{min-width:0;display:flex;flex-direction:column;gap:4px}.listening-history-item>button span{color:var(--green);font-size:8px;font-weight:700;text-transform:uppercase}.listening-history-item>button>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.listening-history-item>button small{color:var(--text-muted);font-size:9px}.listening-history-item>button>strong{flex-shrink:0;color:var(--green);font-size:15px}.listening-history-item>.listening-result-page{padding:15px;border-top:1px solid var(--border);background:#00000024}@media (max-width:700px){.listening-test-grid,.listening-file-grid,.listening-editor-fields{grid-template-columns:1fr}.listening-workspace-toolbar{grid-template-columns:1fr auto}.listening-workspace-toolbar>strong{display:none}.listening-audio-status,.listening-submit-card{align-items:stretch;flex-direction:column}.listening-audio-status button,.listening-submit-card .ielts-primary{width:100%}.listening-section-nav a{flex-direction:column;gap:2px}}@media (max-width:430px){.listening-workspace{gap:11px}.listening-workspace-toolbar{margin-left:-2px;margin-right:-2px}.listening-workspace-toolbar>div:first-child button:first-child span{display:none}.listening-workspace-toolbar>div:first-child button{padding-left:5px;padding-right:5px}.listening-section-nav{top:58px}.listening-question{padding:16px 13px;grid-template-columns:auto minmax(0,1fr);gap:7px}.listening-completion-paper{padding:16px 13px;border-radius:13px}.listening-completion-instruction{padding-bottom:17px;font-size:12px}.listening-completion-paper>h2{margin-top:20px;font-size:18px}.listening-completion-item>h3{margin:20px 0 8px;font-size:15px}.listening-completion-row{padding-left:14px}.listening-completion-line{gap:6px;font-size:13px;line-height:1.65}.listening-completion-answer{gap:5px}.listening-completion-answer>span{font-size:11px}.listening-completion-answer input{width:min(42vw,168px);height:40px}.listening-matching-paper{padding:16px 13px;border-radius:13px}.listening-exam-instruction{font-size:12px}.listening-matching-paper>h2{margin:20px 0 10px;font-size:18px}.listening-matching-rows{margin:18px 0 23px}.listening-matching-row{grid-template-columns:27px minmax(0,1fr) 65px;gap:5px}.listening-matching-row>strong{font-size:13px}.listening-matching-row select{width:61px;padding-left:7px;padding-right:20px}.listening-answer-bank{grid-template-columns:1fr;gap:9px}.listening-answer-bank>div{font-size:12px}.listening-choice-paper{padding:18px 14px;border-radius:13px}.listening-choice-paper>h2{margin:25px 0 22px;font-size:18px}.listening-choice-questions{gap:27px}.listening-choice-prompt{grid-template-columns:31px minmax(0,1fr);font-size:14px}.listening-choice-options{margin-left:31px}.listening-choice-options label{grid-template-columns:17px 20px minmax(0,1fr);font-size:13px}.listening-choice-correction{margin-left:31px}.listening-start-facts{gap:5px}.listening-start-facts>div{padding:13px 6px}.listening-section-scores{grid-template-columns:1fr 1fr}.listening-score-hero>div{align-items:flex-start;flex-direction:column;gap:4px}}.browse-play-btn{flex-shrink:0;padding:5px 10px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s,background .15s;line-height:1}.browse-play-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--surface-2)}.browse-add-topic-btn{flex-shrink:0;padding:5px 9px;border-radius:8px;background:none;border:1px solid var(--border);color:var(--text-muted);font-size:14px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s,background .15s;line-height:1}.browse-add-topic-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--surface-2)}.crash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.crash-title{font-size:20px;font-weight:600;letter-spacing:-.02em}.crash-text{font-size:14px;color:var(--text-dim);max-width:420px;line-height:1.5}.crash-error{max-width:100%;max-height:180px;overflow:auto;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;color:var(--red);white-space:pre-wrap;word-break:break-word}.crash-screen .btn-save{width:auto;padding:12px 28px}.btn-stats{background:none;border:1px solid var(--border);border-radius:8px;padding:5px 9px;color:var(--text-muted);font-size:12px;font-family:inherit;cursor:pointer;flex-shrink:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,border-color .15s}.btn-stats:hover{color:var(--text);border-color:var(--border-2)}.stats-streak-row{display:flex;gap:10px;width:100%;margin-bottom:20px}.stats-streak-tile{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 8px;text-align:center}.stats-streak-value{font-size:20px;font-weight:600;letter-spacing:-.02em}.stats-streak-label{font-size:11px;color:var(--text-muted)}.stats-heatmap-scroll{width:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.stats-heatmap-scroll::-webkit-scrollbar{display:none}.stats-heatmap-grid{display:flex;gap:3px;width:max-content}.stats-heatmap-col{display:flex;flex-direction:column;gap:3px}.stats-heatmap-cell{width:11px;height:11px;border-radius:2px;background:var(--surface-2)}.stats-heatmap-cell-0{background:var(--surface-2)}.stats-heatmap-cell-1{background:#4ade8040}.stats-heatmap-cell-2{background:#4ade8073}.stats-heatmap-cell-3{background:#4ade80b3}.stats-heatmap-cell-4{background:var(--green)}.stats-heatmap-cell-future{background:transparent}.stats-heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:11px;color:var(--text-muted)}.stats-heatmap-legend .stats-heatmap-cell{width:10px;height:10px}.ordered-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;flex-shrink:0}.ordered-bar-label{font-size:12px;color:var(--text-muted);font-weight:500}.ordered-bar-progress{font-size:12px;color:var(--text-dim);font-weight:600}.landing{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);color:var(--text);overflow-y:auto;z-index:10;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,system-ui,sans-serif}.landing.hidden{display:none}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(18px + env(safe-area-inset-top)) calc(24px + env(safe-area-inset-right)) 18px calc(24px + env(safe-area-inset-left));position:sticky;top:0;z-index:20;background:#000c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.landing-logo{font-size:18px;font-weight:700;letter-spacing:-.03em}.landing-login-btn{min-width:76px;min-height:44px;padding:9px 18px;flex-shrink:0;border-radius:22px;border:1px solid var(--border-2);background:none;color:var(--text);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.landing-login-btn:hover{background:var(--surface-2);border-color:#ffffff4d}.landing-hero{display:flex;justify-content:center;align-items:center;min-height:calc(90vh - 60px);padding:60px 24px}.landing-hero-inner{max-width:600px;text-align:center}.landing-tag{display:inline-block;padding:5px 14px;border-radius:20px;border:1px solid var(--border-2);font-size:12px;font-weight:500;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:24px}.landing-title{font-size:clamp(36px,7vw,64px);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin:0 0 20px}.landing-title-accent{background:linear-gradient(135deg,#fff 30%,#ffffff73);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-subtitle{font-size:clamp(15px,2.5vw,18px);color:var(--text-dim);line-height:1.65;margin:0 0 36px}.landing-cta{display:inline-block;padding:15px 32px;border-radius:100px;background:#fff;color:#000;font-size:16px;font-weight:600;font-family:inherit;border:none;cursor:pointer;transition:transform .15s,opacity .15s;letter-spacing:-.01em}.landing-cta:hover{opacity:.9;transform:translateY(-1px)}.landing-cta:active{transform:scale(.97)}.landing-features{padding:0 24px 80px;max-width:900px;margin:0 auto}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.landing-feature-card{padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px;transition:border-color .2s}.landing-feature-card:hover{border-color:var(--border-2)}.landing-feature-icon{font-size:28px;margin-bottom:12px}.landing-feature-title{font-size:15px;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}.landing-feature-desc{font-size:13px;color:var(--text-dim);line-height:1.6}.landing-waitlist{padding:60px 24px 80px;border-top:1px solid var(--border)}.landing-waitlist-inner{max-width:480px;margin:0 auto;text-align:center}.landing-waitlist-title{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:0 0 12px}.landing-waitlist-subtitle{font-size:15px;color:var(--text-dim);line-height:1.6;margin:0 0 28px}.landing-waitlist-form{display:flex;gap:10px;flex-wrap:wrap}.landing-waitlist-input{flex:1;min-width:200px;padding:14px 16px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);color:var(--text);font-size:15px;font-family:inherit;outline:none;transition:border-color .15s}.landing-waitlist-input:focus{border-color:#ffffff59}.landing-waitlist-input::placeholder{color:var(--text-muted)}.landing-waitlist-submit{padding:14px 22px;background:#fff;color:#000;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;transition:opacity .15s,transform .12s;white-space:nowrap}.landing-waitlist-submit:hover{opacity:.9}.landing-waitlist-submit:active{transform:scale(.97)}.landing-waitlist-submit:disabled{opacity:.5;cursor:default}.landing-waitlist-success{padding:14px 20px;background:var(--green-bg);border:1px solid var(--green-border);border-radius:var(--radius);color:var(--green);font-size:14px;font-weight:500}.landing-waitlist-error{margin-top:10px;font-size:13px;color:var(--red)}.landing-footer{padding:24px;text-align:center;color:var(--text-muted);font-size:13px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;align-items:center}.landing-footer-contacts{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.landing-footer-contacts a{color:var(--text-muted);text-decoration:none;transition:color .15s}.landing-footer-contacts a:hover{color:var(--text)}@media (max-width:480px){.landing-nav{padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 14px calc(16px + env(safe-area-inset-left))}.landing-hero{padding:40px 20px;min-height:calc(85vh - 56px)}.landing-features{padding:0 16px 60px}.landing-waitlist{padding:48px 16px 60px}.landing-waitlist-form{flex-direction:column}.landing-waitlist-submit{width:100%}}.landing{background:radial-gradient(circle at 50% -20%,rgba(126,231,173,.12),transparent 36%),var(--bg);overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.landing-nav{padding-left:max(28px,env(safe-area-inset-left));padding-right:max(28px,env(safe-area-inset-right))}.landing-logo{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;color:var(--text);font-family:inherit;cursor:pointer}.landing-logo span{color:#7ee7ad}.landing-login-btn{min-width:auto;padding-inline:20px}.landing-hero{position:relative;min-height:0;padding:100px 24px 32px;overflow:hidden}.landing-hero-glow{position:absolute;width:620px;height:620px;left:50%;top:38%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(126,231,173,.08),transparent 67%);pointer-events:none}.landing-hero-inner{position:relative;z-index:1;width:100%;max-width:1120px}.landing-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;padding:7px 14px;color:#9ff0c1;border-color:#7ee7ad40;background:#7ee7ad0a;font-size:11px;font-weight:700;letter-spacing:.12em}.landing-tag span{width:6px;height:6px;border-radius:50%;background:#7ee7ad;box-shadow:0 0 12px #7ee7adcc}.landing-title{margin-bottom:26px;font-size:clamp(16px,4.6vw,68px);line-height:1.1;letter-spacing:-.055em;white-space:nowrap}.landing-title-accent{background:linear-gradient(100deg,#fff 15%,#7ee7ad 115%);-webkit-background-clip:text;background-clip:text}.landing-subtitle{max-width:720px;margin:0 auto;color:#989898;font-size:clamp(17px,2vw,21px);line-height:1.62;text-wrap:balance}.landing-hero-actions{display:flex;flex-direction:column;align-items:center;gap:12px}.landing-hero-actions>span{color:#555;font-size:12px}.landing-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:15px 28px}.landing-cta span{font-size:20px;line-height:1;transition:transform .18s}.landing-cta:hover span{transform:translate(3px)}.landing-product-line{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:54px}.landing-product-line span{padding:8px 13px;border:1px solid var(--border);border-radius:999px;background:#ffffff06;color:#777;font-size:11px}.landing-section{max-width:1120px;margin:0 auto;padding:110px 28px}.landing-section-heading{max-width:680px;margin-bottom:42px}.landing-section-heading>span,.landing-cta-label{color:#7ee7ad;font-size:10px;font-weight:750;letter-spacing:.16em}.landing-section-heading h2{margin:12px 0 14px;font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}.landing-section-heading p{max-width:600px;margin:0;color:var(--text-dim);font-size:15px;line-height:1.65}.landing-features{padding-top:40px}.landing-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.landing-feature-card{position:relative;min-height:250px;padding:26px;border-radius:20px;background:linear-gradient(145deg,#ffffff0b,#ffffff05);overflow:hidden}.landing-feature-card:after{content:"";position:absolute;width:120px;height:120px;right:-65px;bottom:-65px;border-radius:50%;background:#7ee7ad14;filter:blur(18px);opacity:0;transition:opacity .2s}.landing-feature-card:hover{border-color:#7ee7ad40}.landing-feature-card:hover:after{opacity:1}.landing-feature-top{display:flex;align-items:center;gap:10px;color:#666;font-size:9px;font-weight:700;letter-spacing:.11em}.landing-feature-icon{display:grid;place-items:center;width:32px;height:32px;margin:0;border:1px solid rgba(126,231,173,.22);border-radius:10px;background:#7ee7ad12;color:#8ceeb5;font-size:17px}.landing-feature-title{margin:38px 0 12px;font-size:20px;line-height:1.25;letter-spacing:-.025em}.landing-feature-desc{position:relative;z-index:1;margin:0;color:#777;font-size:13px;line-height:1.65}.landing-method{max-width:none;padding-left:max(28px,calc((100vw - 1064px)/2));padding-right:max(28px,calc((100vw - 1064px)/2));border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#ffffff04}.landing-method-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border);border-radius:22px;overflow:hidden}.landing-method-grid article{min-height:230px;padding:28px;border-right:1px solid var(--border)}.landing-method-grid article:last-child{border-right:0}.landing-method-grid article>span{color:#7ee7ad;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.landing-method-grid h3{margin:54px 0 10px;font-size:24px;letter-spacing:-.03em}.landing-method-grid p{max-width:270px;margin:0;color:#777;font-size:13px;line-height:1.6}.landing-waitlist{padding:120px 24px;border-top:0}.landing-waitlist-inner{max-width:820px;padding:70px 48px;border:1px solid rgba(126,231,173,.2);border-radius:28px;background:radial-gradient(circle at 50% 120%,rgba(126,231,173,.12),transparent 50%),#ffffff05}.landing-waitlist-title{margin:14px 0;font-size:clamp(34px,5vw,54px);line-height:1.08}.landing-waitlist-subtitle{max-width:610px;margin:0 auto 30px}.landing-footer{flex-direction:row;justify-content:space-between;padding:28px max(28px,calc((100vw - 1064px)/2))}@media (max-width:820px){.landing-hero{padding-top:76px}.landing-features-grid{grid-template-columns:1fr 1fr}.landing-method-grid{grid-template-columns:1fr}.landing-method-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--border)}.landing-method-grid article:last-child{border-bottom:0}.landing-method-grid h3{margin-top:28px}}@media (max-width:520px){.landing-nav{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.landing-login-btn{min-height:42px;padding-inline:16px;font-size:13px}.landing-hero{padding:48px 18px 24px}.landing-subtitle{font-size:16px;line-height:1.55}.landing-hero-actions .landing-cta{width:100%;max-width:330px}.landing-hero-actions>span{max-width:260px;line-height:1.45}.landing-product-line{margin-top:38px}.landing-section{padding:82px 16px}.landing-section-heading{margin-bottom:28px}.landing-section-heading h2{font-size:34px}.landing-features{padding-top:32px}.landing-features-grid{grid-template-columns:1fr}.landing-feature-card{min-height:220px;padding:23px}.landing-feature-title{margin-top:34px}.landing-method{padding-left:16px;padding-right:16px}.landing-method-grid article{padding:24px}.landing-waitlist{padding:72px 16px}.landing-waitlist-inner{padding:52px 22px}.landing-waitlist-title{font-size:36px}.landing-waitlist .landing-cta{width:100%}.landing-footer{flex-direction:column;padding:28px 16px}}:root{--bg:#f4f3ed;--surface:#fffefa;--surface-2:#e9eae4;--border:rgba(27,37,40,.11);--border-2:rgba(27,37,40,.23);--text:#1b2528;--text-muted:#65706c;--text-dim:rgba(27,37,40,.66);--accent:#2852e8;--green:#198754;--green-bg:rgba(25,135,84,.08);--green-border:rgba(25,135,84,.24);--red:#d44f55;--red-bg:rgba(212,79,85,.07);--red-border:rgba(212,79,85,.22);--radius:14px;--radius-sm:9px}body{background:var(--bg);color:var(--text)}button,input,textarea,select{font-family:inherit}.screen input:not([type=checkbox]):not([type=radio]),.screen textarea,.screen select{font-size:16px;caret-color:var(--accent)}.screen{background:var(--bg)}.app-wrap{max-width:560px;padding-left:24px;padding-right:24px}.app-wrap>header{min-height:76px;border-bottom:1px solid var(--border);padding:14px 0}.logo{font-size:24px;font-weight:750;letter-spacing:-1px;text-transform:lowercase}.logo span,.auth-logo span{color:var(--accent)}.header-right{gap:6px}.btn-stats,.btn-profile,.btn-logout,.btn-admin,.btn-back,.ielts-icon-back{min-height:38px;border-color:var(--border);border-radius:8px;background:#ffffff61;color:var(--text-dim)}.btn-stats:hover,.btn-profile:hover,.btn-logout:hover,.btn-admin:hover,.btn-back:hover,.ielts-icon-back:hover{border-color:var(--accent);color:var(--accent);background:#fff}.topics-heading{margin:22px 0 15px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.dashboard-brand{padding:0;border:0;background:none;color:var(--text);cursor:pointer;font-family:inherit}.dashboard-wrap .topics-scroll{padding-top:22px}.dashboard-intro{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:10px 0 30px;border-bottom:1px solid var(--border)}.dashboard-eyebrow{display:block;margin-bottom:15px;font-size:9px;font-weight:650;letter-spacing:.13em;color:var(--text-muted)}.dashboard-intro h1{font-size:clamp(29px,4vw,43px);font-weight:600;line-height:1.12;letter-spacing:-1.5px;margin:0 0 12px}.dashboard-intro h1>span{color:var(--accent)}.dashboard-intro p{color:var(--text-dim);font-size:13px;line-height:1.6}.dashboard-due{min-width:170px;padding:18px 20px;border:1px solid #ccd6f5;border-radius:12px;background:#e8edff;display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-family:inherit;color:#2448bc;text-align:left;cursor:pointer}.dashboard-due>span:first-child{font-size:9px;font-weight:700;letter-spacing:.1em}.dashboard-due strong{font-size:46px;font-weight:550;letter-spacing:-2px;line-height:1.2}.dashboard-due>span:last-child{font-size:11px;font-weight:600}.dashboard-practice{margin-top:25px}.dashboard-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.dashboard-section-heading h2{font-size:18px;font-weight:650;letter-spacing:-.5px}.dashboard-section-heading>span,.dashboard-section-heading>div>span{color:var(--text-muted);font-size:11px}.dashboard-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-module{padding:23px;border:1px solid transparent;border-radius:13px;text-align:left;font-family:inherit;cursor:pointer;display:flex;flex-direction:column;gap:17px;transition:transform .15s,box-shadow .15s}.dashboard-module:hover{transform:translateY(-2px);box-shadow:0 10px 25px #2852e826}.dashboard-module-writing{color:#fff;background:#2852e8}.dashboard-module-listening{color:#243131;background:#e3e9df;border-color:#d2dbcc}.dashboard-module-kicker,.dashboard-module-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.dashboard-module-kicker{font-size:9px;font-weight:600;letter-spacing:.12em;opacity:.85}.dashboard-module-kicker>span{font-size:20px;font-weight:400}.dashboard-module strong{font-size:25px;font-weight:550;line-height:1.2;letter-spacing:-.7px}.dashboard-module-description{font-size:12px;line-height:1.6;opacity:.85}.dashboard-module-footer{padding-top:13px;border-top:1px solid rgba(255,255,255,.3);margin-top:auto;font-size:12px;font-weight:650}.dashboard-module-listening .dashboard-module-footer{border-color:#bbc7b7}.dashboard-module-footer>span{font-size:20px}.dashboard-dictionary-heading{margin-top:30px}.dashboard-dictionary-heading>div{display:flex;flex-direction:column;gap:5px}.dashboard-archive{display:flex;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font:12px inherit;cursor:pointer}.dashboard-archive>span:first-child{color:var(--text-muted)}.topic-card-all{text-align:left;font-family:inherit}.dashboard-wrap .topic-card-all{grid-column:1/-1}.dashboard-wrap .topic-card:not(.topic-card-all):not(.topic-card-add):not(.topic-card-packs){padding-top:52px;min-height:145px}.dashboard-wrap .topic-card-actions{gap:0}.topic-card-actions button{opacity:.8;min-width:32px;min-height:32px}.dashboard-wrap .topic-card-has-badge .srs-badge{top:45px}.dashboard-wrap .topic-card-has-badge{padding-top:75px!important}.search-bar-wrap{margin-top:18px}.search-bar,.form-group input,.topic-card-rename-input{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:0 1px #fffc}.search-bar:focus,.form-group input:focus,.topic-card-rename-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #2852e817}.topics-grid{gap:12px}.topic-card{border-color:var(--border);background:var(--surface);box-shadow:0 8px 26px #242d290a}.topic-card:hover{border-color:#2852e86b;box-shadow:0 12px 30px #2852e812}.topic-card-all{min-height:96px;background:var(--text);color:#f8f7f1}.topic-card-all:hover{background:#243134;border-color:#243134}.topic-card-all .topic-card-count{color:#ffffff8c}.topic-card-all .topic-card-name{color:#fff}.topic-card-writing{min-height:112px;background:#2852e8;border-color:#2852e8;color:#fff}.topic-card-writing:hover{border-color:#173fcf;background:#224bdc}.topic-card-writing .topic-card-count{color:#ffffffb8}.topic-card-listening{min-height:112px;background:#e2e9ff;border-color:#cbd7ff;color:#172c75}.topic-card-listening:hover{border-color:#8da7ff;background:#dbe4ff}.topic-card-listening .topic-card-count{color:#59658c}.topic-card-archive{background:#e8ebe5;border-color:#d4d9d0}.topic-card-add,.topic-card-packs{background:transparent;border-style:dashed;box-shadow:none}.topic-folder-card{background:#eef1ff;border-color:#d5defd}.topic-folder-card:hover{border-color:#9bb0fa;background:#e8edff}.topic-folder-icon,.topic-folder-icon span{background:#dce5ff;border-color:#93a9f4}.topic-folder-icon{box-shadow:0 7px 18px #2852e81f}.folder-view-heading{box-shadow:0 8px 26px #242d290a}.topic-card-add-folder{background:#eef1ff;border-color:#cbd6fb}.topic-card-add-folder .topic-card-name{color:#3151bd}.topic-card-name{letter-spacing:-.02em}.topic-card-arrow{color:inherit;opacity:.55}.srs-badge{background:#e3eaff;border-color:#c1d0ff;color:#2852e8}.fab{background:var(--accent);color:#fff;border:1px solid var(--accent);box-shadow:0 12px 30px #2852e840}.fab-secondary{background:var(--surface);color:var(--text);border-color:var(--border-2);box-shadow:0 8px 20px #1b252814}.card-face,.card-example-item,.search-result-item{background:var(--surface);border-color:var(--border);box-shadow:0 14px 40px #232c280f}.card-wrapper{padding-bottom:64%}.card-word{font-weight:350;letter-spacing:-.035em}.lang-tag,.card-topic-chip,.card-examples-btn,.stat,.mode-toggle,.writing-tabs,.ielts-tabs,.admin-tabs{background:var(--surface-2)}.btn-pronounce,.card-topic-chip,.card-examples-btn{background:#eef0ea}.btn-primary,.btn-save,.ielts-primary,.listening-audio-status button{background:var(--accent);color:#fff}.btn-secondary,.ielts-secondary{background:var(--surface)}.mode-toggle button.active,.auth-tab.active,.writing-tabs button.active,.ielts-tabs button.active,.admin-tab.active{background:#fff;color:var(--accent);box-shadow:0 2px 8px #1b252814}.delete-confirm-overlay,.modal-overlay,.topic-picker-overlay,.new-topic-overlay,.img-picker-overlay{background:#1b25287a}.delete-confirm,.modal,.topic-picker,.new-topic-modal,.img-picker-modal{background:var(--bg);border:1px solid var(--border);box-shadow:0 -15px 50px #1b252826}.auth-screen{background:radial-gradient(circle at 50% 25%,#e0e7ff 0,transparent 34%),var(--bg)}.auth-logo{font-size:34px;font-weight:760;letter-spacing:-1.7px;text-transform:lowercase}.auth-box{max-width:410px;padding:30px;background:#fffefadb;border-color:var(--border);box-shadow:0 24px 70px #1e292517;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-tabs{background:var(--surface-2)}.ielts-app-wrap,.listening-app-wrap{max-width:1120px}.ielts-tabs{margin-top:16px;margin-bottom:20px}.ielts-page-intro{padding-bottom:8px}.ielts-page-intro p{font-size:14px}.ielts-test-card,.listening-test-card{padding:22px}.ielts-test-card-head strong,.listening-test-card-head strong{font-size:20px;letter-spacing:-.4px}.ielts-test-card>p{font-size:13px}.ielts-mode-grid small,.ielts-timed-toggle small{font-size:12px}.ielts-test-card-head span,.listening-test-card-head span{font-size:10px}.ielts-history-summary>div,.listening-section-scores>div{background:var(--surface)}.ielts-criterion,.ielts-mistake,.ielts-report-hero{background:var(--surface)}.ielts-task-prompt,.ielts-answer-field textarea{padding:22px}.ielts-answer-field textarea{min-height:390px}.listening-choice-prompt,.listening-choice-options label{font-size:16px}.listening-choice-options label{min-height:38px;align-items:start}.listening-answer-bank>div{font-size:14px}.modal-handle,.picker-handle{background:var(--border-2)}.topic-picker-check.on,.topic-picker-new button{background:var(--accent);border-color:var(--accent);color:#fff}.modal-topic-chip.selected,.synonym-chip.selected{background:#e6edff;border-color:#bacaff;color:#2244b9}.ielts-page-intro>span,.ielts-eyebrow,.ielts-test-card-head span,.ielts-form-head span,.ielts-mode-grid span,.ielts-resume-card span,.ielts-task-prompt>div span,.ielts-overall-report span,.ielts-rule span,.ielts-impact span,.ielts-reference-heading>div span,.listening-test-card-head span,.listening-upload-intro>span,.listening-editor-head span,.listening-audio-status span,.listening-part-heading span,.listening-score-hero>span,.listening-history-item>button span{color:var(--accent)}.ielts-test-card,.ielts-form-card,.ielts-task-prompt,.ielts-mode-grid button,.ielts-timed-toggle,.ielts-empty,.ielts-report-card,.ielts-history-card,.listening-test-card,.listening-upload-panel,.listening-editor-question,.listening-question,.listening-completion-paper,.listening-matching-paper,.listening-choice-paper,.listening-score-hero,.listening-result-item,.listening-history-item{background:var(--surface);border-color:var(--border);box-shadow:0 10px 32px #1f28250b}.ielts-mode-grid button.selected{border-color:var(--accent);background:#edf1ff;box-shadow:inset 0 0 0 1px #2852e81a}.ielts-timed-toggle input{accent-color:var(--accent)}.ielts-workspace-toolbar,.listening-workspace-toolbar,.listening-section-nav{margin-left:0;margin-right:0;background:#f4f3eded;border-color:var(--border);box-shadow:0 7px 18px #232c280f}.ielts-toolbar-actions>.ielts-cancel-attempt,.listening-workspace-toolbar .ielts-cancel-attempt{color:var(--red)}.ielts-test-form input,.ielts-test-form textarea,.ielts-test-form select,.ielts-answer-field textarea,.listening-title-field input,.listening-editor-fields input,.listening-editor-fields textarea,.listening-editor-fields select,.listening-answer-input,.listening-completion-answer input,.listening-matching-row select{background:#fff;border-color:var(--border-2);color:var(--text);color-scheme:light}.ielts-answer-field textarea:focus,.listening-answer-input:focus,.listening-completion-answer input:focus,.listening-matching-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2852e817}.listening-question-number,.listening-editor-number{color:var(--accent);border-color:#2852e840;background:#edf1ff}.listening-choice-options label>span{background:#fff;border-color:var(--border-2)}.listening-choice-options input:checked+span{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px #fff}.listening-choice-options label:hover>em{color:var(--text)}.listening-audio-progress span{background:var(--accent)}.writing-history-details,.ielts-history-report,.listening-history-item>.listening-result-page{background:#f0f0ea}.writing-review-answer textarea{background:#fff;color:var(--text)}.pwa-notice{background:#1b2528f5;color:#fff;border-color:#ffffff24;box-shadow:0 18px 50px #1b252840}.pwa-notice span{color:#ffffff8c}.pwa-notice-close{color:#ffffffa6}:is(button,a,input,textarea,select,[role=button]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (min-width:800px){.screen:not(.auth-screen) .app-wrap:not(.ielts-app-wrap):not(.listening-app-wrap):not(.dashboard-wrap){max-width:760px}.topics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.topic-card-all,.topic-card-writing,.topic-card-listening,.topic-card-archive{grid-column:span 2}.screen .app-wrap.dashboard-wrap{max-width:1120px}}@media (max-width:560px){.app-wrap{padding-left:18px;padding-right:18px}.app-wrap>header{min-height:68px}.logo{font-size:20px}.btn-logout{padding-inline:7px}.auth-box{padding:24px 20px}.topic-card-writing,.topic-card-listening{min-height:106px}.dashboard-intro{flex-direction:column;align-items:stretch;gap:20px;padding-top:0}.dashboard-due{display:grid;grid-template-columns:1fr auto;gap:4px 15px;min-width:0;padding:14px 17px}.dashboard-due strong{grid-column:2;grid-row:1/3;font-size:36px}.dashboard-module-grid{gap:10px}.dashboard-module{padding:16px 13px;gap:13px}.dashboard-module strong{font-size:18px;letter-spacing:-.5px}.dashboard-module-description{font-size:11px}.dashboard-module-description br{display:none}.dashboard-section-heading>span{display:none}.dashboard-module-footer{font-size:11px}.dashboard-module-footer>span{font-size:16px}.header-right{flex-wrap:wrap;justify-content:flex-end}}@media (max-width:360px){.dashboard-module-grid{grid-template-columns:1fr}.dashboard-module strong{font-size:22px}}@media (prefers-reduced-motion:reduce){.dashboard-module,.topic-card{transition:none}.listening-scroll{scroll-behavior:auto}}.landing.cw-home{--cw-paper:#f5f4ee;--cw-ink:#1b2528;--cw-muted:#626d70;--cw-line:#dcded7;--cw-blue:#254fe5;background:var(--cw-paper);color:var(--cw-ink);overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:30px;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,sans-serif}.cw-home *,.cw-home *:before,.cw-home *:after{box-sizing:border-box}.cw-home button,.cw-home a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.cw-home button{font-family:inherit;cursor:pointer}.cw-home a{color:inherit;text-decoration:none}.cw-home :is(a,button):focus-visible{outline:3px solid #f09236;outline-offset:5px}.cw-home main,.cw-nav,.cw-footer{width:min(1240px,100% - 80px);margin-inline:auto}.cw-home main{display:block}.cw-nav{min-height:88px;padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--cw-line)}.cw-brand{display:inline-flex;align-items:center;font-size:27px;font-weight:750;letter-spacing:-1.3px}.cw-brand-dot{color:var(--cw-blue)}.cw-brand-mark{position:relative;width:30px;height:30px;margin-right:10px}.cw-brand-mark i{position:absolute;width:18px;height:25px;border:2px solid var(--cw-blue);border-radius:4px;left:3px;top:2px;transform:rotate(-13deg)}.cw-brand-mark i+i{left:10px;top:5px;transform:rotate(8deg);background:var(--cw-blue)}.cw-nav-links{display:flex;gap:30px;font-size:13px;font-weight:550;color:var(--cw-muted)}.cw-nav-links a:hover,.cw-footer a:hover{color:var(--cw-blue)}.cw-login{display:inline-flex;align-items:center;gap:20px;min-height:44px;padding:10px 18px;border:1px solid var(--cw-ink);border-radius:7px;background:transparent;color:var(--cw-ink);font-size:13px;font-weight:650}.cw-login:hover{background:#e7e9e1}.cw-home button svg{width:20px;height:20px;flex-shrink:0}.cw-intro{padding:58px 0 42px;border-bottom:1px solid var(--cw-line)}.cw-eyebrow{display:flex;align-items:center;gap:8px;color:var(--cw-muted);font-size:10px;line-height:1.5;font-weight:650;letter-spacing:1.7px;text-transform:uppercase}.cw-status-dot{width:6px;height:6px;border-radius:50%;background:var(--cw-blue)}.cw-intro-edition{margin-left:auto;font-size:9px;letter-spacing:1px}.cw-intro h1{margin:28px 0;font-size:clamp(18px,4.7vw,66px);font-weight:650;letter-spacing:-.065em;line-height:1.16;white-space:nowrap}.cw-intro h1>span{color:var(--cw-blue)}.cw-intro-bottom{display:grid;grid-template-columns:70px minmax(0,630px) 1fr;gap:20px;align-items:center}.cw-intro-symbol{color:var(--cw-blue);font-size:60px;line-height:1}.cw-intro-bottom p{margin:0;font-size:17px;line-height:1.65;color:var(--cw-muted)}.cw-intro-index{justify-self:end;font:9px/1.8 ui-monospace,monospace;letter-spacing:1px;color:#78817d}.cw-modules{padding:40px 0 56px;scroll-margin-top:25px}.cw-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.cw-section-head h2{margin:10px 0 0;font-size:clamp(27px,3vw,38px);font-weight:600;line-height:1.15;letter-spacing:-1.4px}.cw-section-aside{text-align:right;font-size:12px;line-height:1.7;color:var(--cw-muted)}.cw-modules-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}.cw-module{min-width:0;padding:23px 24px 28px;border:1px solid var(--cw-line);border-radius:12px;background:#fffefa;display:flex;flex-direction:column;overflow:hidden}.cw-module-writing{background:var(--cw-blue);border-color:var(--cw-blue);color:#fff}.cw-module-speaking{background:#eaece5}.cw-module-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:650;letter-spacing:-.2px}.cw-module-number{font:10px ui-monospace,monospace;opacity:.65}.cw-soon{border:1px solid #bec4b9;padding:4px 10px;border-radius:30px;text-transform:uppercase;font-size:8px;letter-spacing:1px}.cw-art{position:relative;height:182px;margin:18px -4px 23px;display:flex;align-items:center;justify-content:center}.cw-paper{width:83%;padding:17px 18px 14px;background:#f9faf4;color:#223044;border-radius:5px;box-shadow:0 10px 20px #0d247025;transform:rotate(-5deg)}.cw-paper-meta{display:flex;align-items:center;justify-content:space-between;font:7px ui-monospace,monospace;letter-spacing:1px;color:#6c757d}.cw-paper-meta span:last-child{color:var(--cw-blue);font-size:16px}.cw-paper-heading{font-size:15px;font-weight:550;letter-spacing:-.5px;margin:9px 0 13px}.cw-paper-lines{display:grid;gap:7px}.cw-paper-lines i{display:block;height:3px;background:#dfe3e4}.cw-paper-lines i:nth-child(2){width:86%}.cw-paper-lines i:nth-child(3){width:94%}.cw-paper-lines i:nth-child(4){width:60%}.cw-paper-note{margin-top:14px;border-top:1px solid #dfe3e4;padding-top:10px;font-size:8px;color:#617263}.cw-paper-note span{margin-right:5px;color:var(--cw-blue)}.cw-pencil{position:absolute;width:8px;height:119px;background:#caff7c;border-radius:2px;right:14%;top:42px;transform:rotate(22deg);box-shadow:3px 2px 5px #152e8222}.cw-pencil:after{content:"";position:absolute;bottom:-11px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:11px solid #dfce9a}.cw-listening-art{flex-direction:column;gap:20px}.cw-recording-label{align-self:flex-start;color:#78817d;font:8px ui-monospace,monospace;letter-spacing:1px;display:flex;align-items:center;gap:6px}.cw-recording-label span{width:5px;height:5px;background:var(--cw-blue);border-radius:50%}.cw-waveform{height:77px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:4px}.cw-waveform i{display:block;flex:1;max-width:6px;border-radius:3px;background:var(--cw-blue);opacity:.85}.cw-waveform i:nth-child(3n){opacity:.4}.cw-audio-caption{width:100%;display:flex;justify-content:space-between;gap:6px;padding-top:14px;border-top:1px solid var(--cw-line);color:var(--cw-muted);font-size:8px}.cw-speaking-art{padding-bottom:20px}.cw-orbit{position:absolute;border:1px solid #c4cbc0;border-radius:50%;width:128px;height:128px}.cw-orbit-two{width:174px;height:174px;border-style:dashed;opacity:.8}.cw-mic{position:relative;display:grid;place-items:center;width:72px;height:72px;background:#dbe2d2;border:1px solid #c4cbc0;border-radius:50%}.cw-mic svg{width:33px;height:33px;stroke:#54624c;stroke-width:1.5;stroke-linecap:round}.cw-speech-word{position:absolute;bottom:0;background:#eaece5;padding:0 9px;font:8px ui-monospace,monospace;letter-spacing:1px;color:#697762}.cw-module-copy h3{margin:0 0 12px;font-size:22px;font-weight:600;line-height:1.2;letter-spacing:-.75px}.cw-module-copy p{margin:0;font-size:13px;line-height:1.7;color:var(--cw-muted)}.cw-module-writing .cw-module-copy p{color:#e0e7ff}.cw-method{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;padding:42px 0 54px;border-top:1px solid var(--cw-line);scroll-margin-top:25px}.cw-method-heading h2{margin:20px 0 0;font-size:clamp(28px,3vw,39px);font-weight:550;line-height:1.17;letter-spacing:-1.4px}.cw-method-heading h2 span{color:var(--cw-blue)}.cw-method-steps article{display:grid;grid-template-columns:30px 1fr 20px;gap:16px;padding:22px 0;border-top:1px solid var(--cw-line)}.cw-method-steps article:first-child{padding-top:0;border:0}.cw-method-steps article>span{padding-top:5px;color:#7e8883;font:10px ui-monospace,monospace}.cw-method-steps article h3{margin:0 0 7px;font-size:20px;font-weight:600;letter-spacing:-.5px}.cw-method-steps article p{margin:0;max-width:400px;color:var(--cw-muted);font-size:13px;line-height:1.7}.cw-method-steps svg{width:18px;height:18px;color:#77837a}.cw-start{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:40px;padding:40px;background:#1b292a;color:#f5f4ee;border-radius:12px}.cw-start .cw-eyebrow{color:#bbc8bb;font-size:9px}.cw-start h2{margin:16px 0;font-size:clamp(28px,3vw,40px);line-height:1.15;letter-spacing:-1px;font-weight:550}.cw-start h2 span{color:#caff7c}.cw-start p{max-width:550px;margin:0;font-size:13px;line-height:1.6;color:#b8c3bc}.cw-start-button{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-shrink:0;padding:17px 22px;border:0;border-radius:7px;background:#caff7c;color:#1b292a;font-size:14px;font-weight:600;min-height:50px}.cw-start-button:hover{background:#dbffa9}.cw-footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--cw-line);padding:24px 0 calc(24px + env(safe-area-inset-bottom));font-size:11px;color:var(--cw-muted)}.cw-footer-note{font-size:10px}.cw-footer>div{display:flex;gap:22px}.cw-footer a{display:flex;align-items:center;gap:6px;min-height:32px}.cw-footer svg{width:13px;height:13px}@media (max-width:1000px){.cw-home main,.cw-nav,.cw-footer{width:calc(100% - 48px)}.cw-module{padding:20px 18px 24px}.cw-module-copy h3{font-size:20px}.cw-intro-bottom{grid-template-columns:50px 1fr}.cw-intro-index{display:none}.cw-method{gap:30px}.cw-start{padding:32px}}@media (max-width:760px){.cw-nav-links,.cw-intro-edition{display:none}.cw-nav{min-height:76px}.cw-intro{padding:35px 0 30px}.cw-intro h1{font-size:5vw;margin:22px 0}.cw-intro-bottom p{font-size:16px}.cw-section-aside{display:none}.cw-modules-grid{grid-template-columns:1fr}.cw-module{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding:24px}.cw-module-top{grid-column:1/-1}.cw-art{grid-column:2;grid-row:2;height:162px;margin:16px 0 0}.cw-module-copy{grid-row:2;grid-column:1;align-self:center;margin-top:16px}.cw-module-copy p{font-size:14px}.cw-module-copy h3{font-size:24px}.cw-method{grid-template-columns:1fr;gap:30px}.cw-method-heading h2 br{display:none}.cw-start{flex-direction:column;align-items:flex-start;gap:25px}.cw-footer-note{display:none}}@media (max-width:440px){.cw-home main,.cw-nav,.cw-footer{width:calc(100% - 36px)}.cw-brand{font-size:25px}.cw-login{gap:10px;padding:10px 12px;font-size:12px;max-width:55%}.cw-eyebrow{font-size:8px;letter-spacing:1.3px}.cw-intro h1{font-size:5.1vw;letter-spacing:-.055em}.cw-intro-bottom{grid-template-columns:1fr;gap:0}.cw-intro-symbol{display:none}.cw-intro-bottom p{font-size:15px;line-height:1.65}.cw-modules{padding:30px 0 35px}.cw-section-head h2{font-size:28px;letter-spacing:-1px}.cw-module{display:flex;padding:23px}.cw-art{width:100%;height:155px;margin:17px 0}.cw-paper{max-width:220px}.cw-pencil{right:20%}.cw-module-copy{margin-top:8px}.cw-module-copy h3{font-size:25px}.cw-module-copy p{font-size:15px;line-height:1.65}.cw-method{padding:32px 0}.cw-method-steps article p{font-size:15px}.cw-start{margin-bottom:24px;padding:26px 22px}.cw-start p{font-size:15px}.cw-start-button{width:100%}.cw-footer{flex-wrap:wrap;gap:8px;font-size:11px}}@media (prefers-reduced-motion:reduce){.landing.cw-home{scroll-behavior:auto}}
