@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-color:#f9f8f6;--paper-color:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--accent-color:#2563eb;--accent-light:#eff6ff;--highlight-bg:#fef3c7;--border-color:#e5e5e5;--max-width:760px;--player-height:88px}[data-theme=dark]{--bg-color:#1f2937;--paper-color:#111827;--text-primary:#f9fafb;--text-secondary:#9ca3af;--accent-color:#3b82f6;--accent-light:#1e3a8a;--highlight-bg:#78350f;--border-color:#374151;--paper-color-rgb:17,24,39;--text-primary-rgb:249,250,251}*{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg-color);scrollbar-gutter:stable;width:100%;height:100%;min-height:100vh;margin:0;padding:0;transition:background-color .3s;overflow:hidden scroll}html.login-page-active{height:100%;overflow:hidden}[data-theme=dark] html{background-color:var(--bg-color)}body{background-color:var(--bg-color);background:var(--bg-color);color:var(--text-primary);scrollbar-gutter:stable;width:100%;min-height:100vh;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;transition:background-color .3s,color .3s;overflow-y:scroll}body.login-page-active{height:100vh;overflow:hidden}.top-nav{z-index:100;background:var(--bg-color);background:rgba(var(--bg-color-rgb,249,248,246),.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 32px;transition:background-color .3s,border-color .3s;display:flex;position:sticky;top:0}[data-theme=dark] .top-nav{background:#1f2937e6;border-bottom:1px solid #ffffff1a}.logo{letter-spacing:-.5px;align-items:center;gap:10px;font-family:Noto Serif SC,serif;font-size:20px;font-weight:700;display:flex}.logo-image{-o-object-fit:contain;object-fit:contain;width:28px;height:28px;transition:transform .3s}.logo-clickable:hover .logo-image{transform:scale(1.1)rotate(5deg)}.logo-clickable{cursor:pointer;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:12px;padding:0;transition:all .2s;display:inline-flex}.logo-clickable:hover{opacity:.8;transform:scale(1.05)}.logo-clickable:active{transform:scale(.98)}.logo .dot{color:var(--accent-color);transition:color .3s}.nav-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.nav-game-zone-link{border:1px solid var(--border-color);height:34px;color:var(--text-primary);background:rgba(var(--paper-color-rgb,255,255,255),.46);white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.nav-game-zone-link:hover{background:#e95d340f;border-color:#e95d346b;transform:translateY(-1px)}.nav-tools-link{height:34px;color:var(--text-primary);background:rgba(var(--paper-color-rgb,255,255,255),.46);border:1px solid var(--border-color);white-space:nowrap;border-radius:9px;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:650;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.nav-tools-link:hover{background:#2563eb0f;border-color:#2563eb6b;transform:translateY(-1px)}.nav-tools-icon{color:#2563eb;font:800 11px ui-monospace,SFMono-Regular,Menlo,monospace}.nav-game-stones{width:18px;height:14px;display:inline-block;position:relative}.nav-game-stones i{border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 1px 3px #0003}.nav-game-stones i:first-child{background:#222;top:0;left:0}.nav-game-stones i:last-child{background:#fff;border:1px solid #d8d4cb;bottom:0;right:0}.nav-info{color:var(--text-secondary);white-space:nowrap;text-transform:none;letter-spacing:normal;text-overflow:ellipsis;flex-shrink:1;align-items:center;gap:4px;min-width:0;font-size:14px;font-weight:500;display:flex;overflow:hidden}.total-read-time{color:var(--accent-color);font-weight:600}.user-menu{align-items:center;gap:12px;display:flex;position:relative}.guest-nav-actions{align-items:center;gap:8px;display:flex}.guest-nav-label{color:var(--accent-color);white-space:nowrap;background:#2563eb14;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:650}.guest-login-btn,.guest-register-btn{cursor:pointer;border-radius:9px;height:34px;padding:0 14px;font-size:13px;font-weight:650;transition:all .2s}.guest-login-btn{border:1px solid var(--border-color);color:var(--text-primary);background:0 0}.guest-register-btn{border:1px solid var(--accent-color);background:var(--accent-color);color:#fff}.guest-login-btn:hover,.guest-register-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2563eb24}.guest-trial-banner{background:linear-gradient(135deg,#eff6ffeb,#ffffffc7);border:1px solid #2563eb24;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin:0 0 32px;padding:18px 20px;display:flex;box-shadow:0 10px 28px #2563eb12}.guest-trial-copy{text-align:left;align-items:center;gap:16px;min-width:0;display:flex}.guest-trial-kicker{color:#1d4ed8;letter-spacing:.09em;background:#dbeafe;border-radius:8px;flex:none;padding:7px 10px;font-size:10px;font-weight:800}.guest-trial-copy strong{color:var(--text-primary);font-size:15px;display:block}.guest-trial-copy p{color:var(--text-secondary);margin:2px 0 0;font-size:12px;line-height:1.5}.guest-trial-cta{color:#1d4ed8;cursor:pointer;background:#fff;border:0;border-radius:9px;flex:none;padding:9px 14px;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #2563eb1f}.guest-trial-cta:hover{color:#fff;background:var(--accent-color);transform:translateY(-1px)}[data-theme=dark] .guest-trial-banner{background:linear-gradient(135deg,#1e3a8a52,#111827cc);border-color:#60a5fa2e}[data-theme=dark] .guest-trial-kicker{color:#93c5fd;background:#3b82f633}[data-theme=dark] .guest-trial-cta{color:#93c5fd;background:#ffffff14}.wordbook-btn{color:var(--accent-color);cursor:pointer;background:#2563eb1a;border:none;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.wordbook-btn .nav-icon{-o-object-fit:contain;object-fit:contain;width:18px;height:18px}.wordbook-btn:hover{background:#2563eb33;transform:scale(1.02)}.wordbook-btn.active{color:#ffc107;background:#ffc10733;border:1px solid #ffc1074d;transform:scale(1.05);box-shadow:0 0 15px #ffc10766}[data-theme=dark] .wordbook-btn{color:#60a5fa;background:#3b82f626}[data-theme=dark] .wordbook-btn.active{color:#ffca28;background:#ffc10740;box-shadow:0 0 20px #ffc10780}.vocabulary-btn{color:#7c3aed;cursor:pointer;background:#8b5cf61a;border:none;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.vocabulary-btn .nav-icon{-o-object-fit:contain;object-fit:contain;width:18px;height:18px}.vocabulary-btn:hover{background:#8b5cf633;transform:scale(1.02)}.nav-badge{color:#fff;border:2px solid var(--bg-color);z-index:10;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;animation:.3s cubic-bezier(.175,.885,.32,1.275) badge-pop;display:flex;position:absolute;top:-2px;right:-2px;box-shadow:0 1px 2px #0000001a}@keyframes badge-pop{0%{transform:scale(0)}to{transform:scale(1)}}.vocabulary-btn.active{color:#7c3aed;background:#8b5cf633;border:1px solid #8b5cf64d;transform:scale(1.05);box-shadow:0 0 15px #8b5cf666}[data-theme=dark] .vocabulary-btn{color:#a78bfa;background:#8b5cf626}[data-theme=dark] .vocabulary-btn:hover{background:#8b5cf640}.user-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;padding:0;transition:transform .2s,box-shadow .2s;position:relative}.user-avatar-btn:hover{transform:scale(1.05);box-shadow:0 2px 8px #2563eb4d}.user-avatar{-o-object-fit:cover;object-fit:cover;border:2px solid var(--accent-color);border-radius:50%;width:32px;height:32px;display:block}.floating-level-badge{z-index:800;cursor:pointer;filter:drop-shadow(0 8px 20px #667eea4d);transition:all .4s cubic-bezier(.4,0,.2,1);animation:.8s cubic-bezier(.4,0,.2,1) floatIn;position:fixed;top:120px;right:40px;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important}.floating-level-badge:hover{filter:drop-shadow(0 12px 30px #667eea80);transform:scale(1.15)rotate(5deg)}@keyframes floatIn{0%{opacity:0;transform:translate(100px)rotate(-20deg)}to{opacity:1;transform:translate(0)rotate(0)}}.app-container{box-sizing:border-box;justify-content:center;width:100%;padding:40px 20px;display:flex;position:relative}.reading-area{width:100%;max-width:var(--max-width);box-sizing:border-box}.paper-content{width:100%;max-width:var(--max-width);box-sizing:border-box;background:0 0;margin:0 auto}.article-header-decoration{justify-content:space-between;align-items:center;gap:15px;margin-bottom:40px;display:flex}.header-right-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.original-mode-btn{background:var(--accent-light);min-height:32px;color:var(--accent-color);cursor:pointer;white-space:nowrap;border:1px solid #2563eb2e;border-radius:9px;align-items:center;gap:7px;padding:0 11px 0 7px;font-size:13px;font-weight:650;transition:all .2s;display:inline-flex}.original-mode-icon{background:var(--accent-color);color:#fff;letter-spacing:.06em;border-radius:5px;justify-content:center;align-items:center;min-width:22px;height:20px;padding:0 4px;font-family:Inter,sans-serif;font-size:10px;font-weight:800;display:inline-flex}.original-mode-btn:hover,.original-mode-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 6px 16px #2563eb2e}.original-mode-btn:hover .original-mode-icon,.original-mode-btn.active .original-mode-icon{color:var(--accent-color);background:#fff}[data-theme=dark] .original-mode-btn{color:#fbbf24;background:#fbbf241f;border-color:#fbbf243d}[data-theme=dark] .original-mode-btn .original-mode-icon,[data-theme=dark] .original-mode-btn:hover,[data-theme=dark] .original-mode-btn.active{color:#1a1a1a;background:#fbbf24}.theme-btn{background:var(--accent-light);cursor:pointer;width:32px;height:32px;color:var(--accent-color);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-btn svg{width:18px;height:18px}.theme-btn:hover{background:var(--accent-color);color:#fff;transform:scale(1.05)}[data-theme=dark] .theme-btn{color:#fbbf24;background:#fbbf2426}[data-theme=dark] .theme-btn:hover{color:#1a1a1a;background:#fbbf24}.immersive-btn{background:var(--accent-light);cursor:pointer;width:32px;height:32px;color:var(--accent-color);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.immersive-btn svg{width:18px;height:18px}.immersive-btn:hover{background:var(--accent-color);color:#fff;transform:scale(1.05)}.immersive-controls{gap:12px;transition:none;display:flex;z-index:10001!important;box-shadow:none!important;opacity:1!important;background:0 0!important;border:none!important;margin:0!important;padding:0!important;position:fixed!important;top:20px!important;left:20px!important;right:auto!important;transform:none!important}.immersive-controls:hover{opacity:1!important}.immersive-theme-btn{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(10px);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.immersive-theme-btn svg{width:22px;height:22px}.immersive-theme-btn:hover{background:#3b82f6cc;transform:scale(1.1)}.immersive-original-btn{color:#fff;cursor:pointer;letter-spacing:.05em;-webkit-backdrop-filter:blur(10px);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-family:Inter,sans-serif;font-size:12px;font-weight:800;transition:all .25s;display:flex;box-shadow:0 2px 8px #0000001a}.immersive-original-btn:hover,.immersive-original-btn.active{background:#2563ebe6;transform:scale(1.08)}[data-theme=dark] .immersive-original-btn{background:#ffffff26}[data-theme=dark] .immersive-original-btn:hover,[data-theme=dark] .immersive-original-btn.active{color:#1a1a1a;background:#fbbf24e6}[data-theme=dark] .immersive-theme-btn{background:#ffffff26;box-shadow:0 2px 8px #0003}[data-theme=dark] .immersive-theme-btn:hover{background:#fbbf24cc;box-shadow:0 4px 12px #fbbf2466}.exit-immersive-btn{cursor:pointer;color:#fff;-webkit-backdrop-filter:blur(10px);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex;box-shadow:0 2px 8px #0000001a}.exit-immersive-btn svg{width:22px;height:22px}.exit-immersive-btn:hover{background:#ef4444cc;transform:scale(1.1)}[data-theme=dark] .exit-immersive-btn{background:#ffffff26;box-shadow:0 2px 8px #0003}[data-theme=dark] .exit-immersive-btn:hover{background:#ef4444cc;box-shadow:0 4px 12px #ef444466}.immersive-mode{background:var(--paper-color)!important}.immersive-mode .top-nav{opacity:0;pointer-events:none;width:100%;position:fixed;transform:translateY(-100%)}.immersive-mode .bottom-player{opacity:.95;-webkit-backdrop-filter:blur(20px)}.immersive-mode .sidebar-toggle,.immersive-mode .article-sidebar,.immersive-mode .floating-action-badge,.immersive-mode .floating-level-badge{transform:translate(100px);opacity:0!important;pointer-events:none!important}.immersive-mode .reading-area{padding-top:60px;padding-bottom:60px}.immersive-mode .paper-content{max-width:720px;box-shadow:none;background:0 0;margin:0 auto}.immersive-mode .article-header-decoration{display:none}.immersive-mode .immersive-controls{margin:0!important;position:fixed!important;top:20px!important;left:20px!important;right:auto!important;transform:none!important}.top-nav,.bottom-player,.sidebar-toggle,.article-sidebar,.floating-action-badge,.floating-level-badge{transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1)}.category-tag{color:#fff;text-transform:uppercase;letter-spacing:1px;background:#1a1a1a;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700;transition:background-color .3s,color .3s}[data-theme=dark] .category-tag{color:#1a1a1a;background:#f9fafb}.read-time{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:13px}.article-engagement{min-height:30px;color:var(--text-secondary);background:var(--paper-color);align-items:center;gap:5px;padding:3px 5px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.article-engagement{background:color-mix(in srgb,var(--paper-color)76%,transparent)}}.article-engagement{border:1px solid var(--border-color);border-radius:999px;font-family:Inter,sans-serif;font-size:12px}.article-heat,.article-like-button{white-space:nowrap;align-items:center;gap:4px;min-height:24px;display:inline-flex}.article-heat{padding:0 6px}.article-heat svg,.article-like-button svg{width:15px;height:15px}.article-heat svg{fill:#f59e0b}.article-heat strong{color:var(--text-primary);font-weight:750}.article-like-button{min-width:42px;color:var(--text-secondary);border:0;border-left:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:0 999px 999px 0;justify-content:center;padding:0 8px;transition:color .18s,background .18s,transform .18s}.article-like-button svg{fill:#0000;stroke:currentColor;stroke-width:1.8px}.article-like-button:hover{color:#e11d48;background:#e11d4812}.article-like-button.liked{color:#e11d48}.article-like-button.liked svg{fill:currentColor}.article-like-button:active:not(:disabled){transform:scale(.94)}.article-like-button:disabled{opacity:.55;cursor:wait}.sidebar-dictation-entry{border-top:1px solid var(--border-color);background:var(--paper-color);padding:16px}.dictation-sidebar-btn{background:var(--paper-color);border:1px solid var(--border-color);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:16px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.dictation-sidebar-btn:hover{background:var(--accent-light);border-color:#2563eb33;transform:translate(4px)}.dictation-sidebar-btn svg{width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.dictation-sidebar-btn:hover svg{color:var(--accent-color)}.article-body{color:var(--text-primary);text-align:left;box-sizing:border-box;width:100%;max-width:100%;padding-left:0;padding-right:0;font-family:Noto Serif SC,Georgia,serif;overflow:visible}.article-body.membership-preview{-webkit-user-select:text;-moz-user-select:text;user-select:text;position:relative}.article-body.english-original-mode>:not(.original-reading-view):not(.article-footer){display:none!important}.original-reading-view{padding:0!important;display:block!important}.article-body .original-reading-view>p{color:var(--text-primary);font-family:Georgia,Times New Roman,serif;font-size:21px;font-style:normal;line-height:1.95;margin:0 0 34px!important;padding:0!important}.article-body.separate-original-mode h1,.article-body.separate-original-mode h2,.article-body.separate-original-mode h3,.article-body.separate-original-mode p,.article-body.separate-original-mode li,.article-body.separate-original-mode blockquote{font-family:Georgia,Times New Roman,serif}.article-body.separate-original-mode p{font-size:21px;font-style:normal;line-height:1.95}.article-body.separate-article-mode>p{margin:0;display:inline}.article-body.separate-article-mode>p:after{content:" "}.article-body.separate-article-mode>hr{border:0;height:0;margin:0 0 1.55em;display:block}.original-reading-intro{border-bottom:1px solid var(--border-color);margin:2px 0 46px;padding-bottom:22px;display:block}.original-reading-intro>span{color:var(--accent-color);letter-spacing:.18em;font-family:Inter,sans-serif;font-size:11px;font-weight:800}.article-body .original-reading-intro h1{letter-spacing:-.025em;margin:9px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,5vw,48px)}.article-body .original-reading-intro p{color:var(--text-secondary);margin:0;font-family:Inter,sans-serif;font-size:14px;line-height:1.6}.article-body h1{color:var(--text-primary);letter-spacing:-.5px;text-align:left;margin:0 0 32px;font-family:Noto Serif SC,serif;font-size:36px;font-weight:700;line-height:1.3}.article-body h2{color:var(--accent-color);text-align:left;align-items:center;margin:48px 0 24px;font-family:Inter,sans-serif;font-size:20px;font-weight:600;display:flex}.article-body h2:before{content:"";background:var(--accent-color);flex-shrink:0;width:20px;height:1px;margin-right:10px;display:inline-block}.article-body h3{color:var(--text-primary);text-align:left;margin:32px 0 20px;font-size:18px;font-weight:600}.article-body p{color:var(--text-primary);text-align:left;text-indent:0;margin:0 0 24px;padding-left:0;padding-right:0;font-size:18px;line-height:1.9;transition:color .3s;overflow:visible}.article-body p:has(.highlight),.article-body div:has(.highlight),.article-body h1:has(.highlight),.article-body h2:has(.highlight),.article-body h3:has(.highlight){position:relative;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;overflow:visible!important}.article-body blockquote:has(.highlight){position:relative;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}.article-body li:has(.highlight){position:relative;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important}.article-body blockquote{border-left:3px solid var(--accent-color);color:var(--text-secondary);text-align:left;margin:32px 0;padding-left:24px;font-size:19px;font-style:italic}.article-body strong{color:var(--text-primary);background:linear-gradient(#0000 60%,#2563eb1a 60%)}.article-body ul,.article-body ol{text-align:left;margin-top:0;margin-bottom:24px;padding-left:24px}.article-body li{text-align:left;margin-top:0;margin-bottom:12px;font-size:17px;line-height:1.8}.article-body .timeline-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.22em;margin:0;padding:.08em .12em;transition:background-color .12s;display:inline;box-shadow:0 1px #a162071f;color:#111827!important;background:#fde047b8!important}[data-theme=dark] .article-body .timeline-highlight{color:#111827!important;background:#fde047e6!important}.article-body .study-vocab-mark{z-index:1;cursor:help;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#f59e0b1f;border-bottom:2px dotted #b45309b8;border-radius:.18em;padding:0 .06em;font-weight:750;position:relative;color:#b45309!important}.article-body .study-vocab-mark.is-phrase{background:#8b5cf61a;border-bottom-color:#7c3aedb3;color:#7c3aed!important}.article-body .study-vocab-mark:before,.article-body .study-vocab-mark:after{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s,transform .14s,visibility .14s;position:absolute;left:50%}.article-body .study-vocab-mark:before{content:"";z-index:401;border:6px solid #0000;border-top-color:#0f172af7;bottom:calc(100% + 4px);transform:translate(-50%,2px)}.article-body .study-vocab-mark:after{content:attr(data-tooltip);z-index:400;color:#f8fafc;letter-spacing:normal;text-align:left;white-space:pre-line;background:#0f172af7;border:1px solid #94a3b83d;border-radius:8px;width:-moz-max-content;width:max-content;max-width:min(300px,70vw);padding:10px 12px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-style:normal;font-weight:600;line-height:1.55;bottom:calc(100% + 16px);transform:translate(-50%,4px);box-shadow:0 12px 30px #0f172a3d}.article-body .study-vocab-mark:hover:before,.article-body .study-vocab-mark:hover:after,.article-body .study-vocab-mark:focus:before,.article-body .study-vocab-mark:focus:after{opacity:1;visibility:visible}.article-body .study-vocab-mark:hover:before,.article-body .study-vocab-mark:focus:before,.article-body .study-vocab-mark:hover:after,.article-body .study-vocab-mark:focus:after{transform:translate(-50%)}[data-theme=dark] .article-body .study-vocab-mark{background:#fbbf241f;border-bottom-color:#fbbf24c7;color:#fbbf24!important}[data-theme=dark] .article-body .study-vocab-mark.is-phrase{background:#c4b5fd1f;border-bottom-color:#c4b5fdc7;color:#c4b5fd!important}.article-body .timeline-highlight .study-vocab-mark{color:#111827!important;background:0 0!important;border-bottom-color:#0000!important}.article-body .study-vocab-mark:has(.timeline-highlight){padding:.08em .12em;box-shadow:0 1px #a162071f;color:#111827!important;background:#fde047b8!important;border-bottom-color:#0000!important}.article-body .study-vocab-mark .timeline-highlight{box-shadow:none;padding:0;color:#111827!important;background:0 0!important}[data-theme=dark] .article-body .study-vocab-mark:has(.timeline-highlight){color:#111827!important;background:#fde047e6!important}.article-body .highlight,.article-body p .highlight,.article-body div .highlight,.article-body h1 .highlight,.article-body h2 .highlight,.article-body h3 .highlight,.article-body blockquote .highlight,.article-body li .highlight,.highlight{text-align:left;z-index:10;box-sizing:border-box;border-radius:8px;display:block;position:relative;box-shadow:0 4px 20px #00000008;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate!important;will-change:auto!important;background-color:#fef3c7d9!important;border-left:none!important;width:100%!important;margin:24px 0!important;padding:20px 24px!important;transition:none!important}.article-body blockquote .highlight,.article-body ul .highlight,.article-body ol .highlight,.article-body li .highlight{width:calc(100% + 24px)!important;margin-left:-24px!important;padding-left:48px!important}.highlight,.highlight *{text-shadow:0 0 1px #0000001a;color:#000!important;opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;transition:none!important}[data-theme=dark] .highlight{box-shadow:0 4px 20px #fef3c733;background-color:#fef3c7f2!important}[data-theme=dark] .highlight,[data-theme=dark] .highlight *{color:#000!important}.highlight:has(+.highlight){box-shadow:0 4px 20px #00000008;border-bottom-right-radius:0!important;border-bottom-left-radius:0!important;margin-bottom:0!important;padding-bottom:15px!important}.highlight+.highlight{border-top:1px solid #00000008;box-shadow:0 4px 20px #00000008;border-top-left-radius:0!important;border-top-right-radius:0!important;margin-top:0!important;padding-top:15px!important}.article-body blockquote .highlight:has(+.highlight),.article-body blockquote .highlight+.highlight,.article-body ul .highlight:has(+.highlight),.article-body ul .highlight+.highlight,.article-body ol .highlight:has(+.highlight),.article-body ol .highlight+.highlight,.article-body li .highlight:has(+.highlight),.article-body li .highlight+.highlight{width:calc(100% + 24px)!important;margin-left:-24px!important;padding-left:48px!important}h1.highlight+p.highlight,h2.highlight+p.highlight,h3.highlight+p.highlight{background-color:#fef3c766!important;padding-top:20px!important}[data-theme=dark] h1.highlight+p.highlight,[data-theme=dark] h2.highlight+p.highlight,[data-theme=dark] h3.highlight+p.highlight{background-color:#fef3c7d9!important}.highlight{border-left:none!important}.highlight+.highlight .current-indicator{display:none!important}.highlight-container{opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important}.highlight-container .highlight{opacity:1!important;filter:none!important;-webkit-backdrop-filter:none!important;background-color:#fef3c7d9!important}.highlight-container>:not(.highlight){transition:all .5s;opacity:1!important;color:var(--text-primary)!important}[data-theme=dark] .highlight-container>:not(.highlight){opacity:1!important;color:var(--text-primary)!important}.article-body:has(.highlight)>:not(.highlight):not(.highlight-container):not(:has(.highlight)){opacity:1;filter:none;transition:all .5s}.highlight-container>:not(.highlight){opacity:1;transition:all .5s}[data-theme=dark] .article-body:has(.highlight)>:not(.highlight):not(.highlight-container):not(:has(.highlight)),[data-theme=dark] .highlight-container>:not(.highlight){transition:all .5s;opacity:1!important;filter:none!important;color:var(--text-primary)!important}.article-body:has(.highlight):hover>:not(.highlight):not(.highlight-container):not(:has(.highlight)),.highlight-container:hover>:not(.highlight){opacity:1}[data-theme=dark] .article-body:has(.highlight):hover>:not(.highlight):not(.highlight-container):not(:has(.highlight)),[data-theme=dark] .highlight-container:hover>:not(.highlight){opacity:1!important}.bottom-player{width:90%;max-width:640px;height:var(--player-height);-webkit-backdrop-filter:blur(26px)saturate(145%);backdrop-filter:blur(26px)saturate(145%);z-index:1000;box-sizing:border-box;isolation:isolate;background:#f8fafcc2;border:1px solid #94a3b838;border-radius:24px;padding:0 30px;transition:opacity .24s,transform .3s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #0000001a,0 0 0 1px #0000000d}[data-theme=dark] .bottom-player{background:#0f172ac2;border-color:#e2e8f024}.player-content{box-sizing:border-box;justify-content:center;align-items:center;gap:20px;width:100%;max-width:100%;height:100%;display:flex}.track-info{flex:1;align-items:center;gap:15px;min-width:180px;display:flex}.track-icon{color:#fff;background:#1a1a1a;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}[data-theme=dark] .track-icon{color:#1a1a1a;background:#f9fafb}.track-text{flex-direction:column;display:flex}.track-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:14px;font-weight:600;overflow:hidden}.track-status{color:var(--accent-color);font-size:11px;font-weight:500}.player-controls-wrapper{flex-direction:column;flex:none;justify-content:center;align-items:center;gap:8px;display:flex}.controls-main{align-items:center;gap:24px;display:flex}.icon-btn{cursor:pointer;color:var(--text-secondary);opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.icon-btn:hover{opacity:1;color:var(--text-primary);transform:scale(1.1)}.bottom-player .controls-main .icon-btn{color:#111827;opacity:.92;background:#0f172a11;border:1px solid #0f172a14;border-radius:50%;width:34px;height:34px}.bottom-player .controls-main .sentence-skip-icon{fill:none;stroke:currentColor;stroke-width:2.35px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;flex:0 0 21px;width:21px;height:21px;display:block;overflow:visible}.bottom-player .controls-main .icon-btn:disabled{color:#64748b;opacity:.42;cursor:not-allowed;background:#94a3b814;border-color:#0000}[data-theme=dark] .bottom-player .controls-main .icon-btn{color:#f8fafc;background:#f8fafc1a;border-color:#f8fafc1f}[data-theme=dark] .bottom-player .controls-main .icon-btn:disabled{color:#94a3b8;opacity:.4;background:#94a3b812}.bottom-player .play-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 4px 12px #0003;color:#fff!important;background:#1a1a1a!important}[data-theme=dark] .bottom-player .play-btn{color:#1a1a1a!important;background:#f9fafb!important}.bottom-player .play-btn:hover{transform:scale(1.05);background:#000!important}[data-theme=dark] .bottom-player .play-btn:hover{color:#1a1a1a!important;background:#fff!important}.bottom-player .play-btn svg{fill:currentColor;stroke:currentColor;width:20px;height:20px}.progress-wrapper{width:100%;color:var(--text-secondary);align-items:center;gap:12px;font-family:Inter,monospace;font-size:11px;display:flex}.audio-preview-cap{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#08080a,#303136);border:0;border-radius:999px;flex:none;height:22px;padding:0 8px;font:750 9px/1 Inter,sans-serif}.audio-preview-upgrade{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#08080a,#303136);border:0;border-radius:10px;min-height:34px;padding:0 12px;font:700 10px/1 Inter,Noto Sans SC,sans-serif}.membership-locked-action{opacity:.72;position:relative}.progress-bar-container{background:rgba(var(--text-primary-rgb,0,0,0),.05);cursor:pointer;border-radius:2px;flex:1;height:4px;position:relative;overflow:hidden}.progress-bar-container:hover{height:6px}#progressSlider{opacity:0;cursor:pointer;z-index:2;width:100%;height:100%;position:absolute;top:0;left:0}.progress-fill{background:var(--accent-color);pointer-events:none;border-radius:2px;width:0%;height:100%;transition:width .1s linear;position:absolute;top:0;left:0}.player-extra{flex:none;justify-content:flex-end;min-width:40px;display:flex}.player-collapse-handle{color:#475569;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);cursor:pointer;z-index:2;background:#f8fafce0;border:1px solid #94a3b83d;border-radius:999px;justify-content:center;align-items:center;gap:4px;height:30px;padding:0 11px 0 8px;font:600 11px/1 Inter,sans-serif;transition:color .18s,transform .18s,background .18s;display:inline-flex;position:absolute;top:-15px;right:18px;box-shadow:0 6px 18px #0f172a1f}.player-collapse-handle:hover{color:var(--accent-color);background:#fffffff5;transform:translateY(-1px)}.player-collapse-handle svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}[data-theme=dark] .player-collapse-handle{color:#e2e8f0;background:#0f172ae6;border-color:#e2e8f02e}@media(min-width:769px){.bottom-player{border-radius:24px;bottom:30px;box-shadow:0 15px 40px #0000001a,0 0 0 1px #0000000d}.player-extra,.track-info{flex:1}}.article-footer{text-align:center;color:var(--text-secondary);margin-top:80px;font-family:Noto Serif SC,serif;font-style:italic}.divider{letter-spacing:5px;opacity:.3;margin-top:20px}.current-indicator{color:var(--accent-color);margin-right:8px;font-size:14px;font-weight:700;display:inline-block}@media(max-width:768px){.bottom-player{border-radius:24px 24px 0 0;width:100%;max-width:100%;margin:0;padding:0 15px;bottom:0;left:0;right:0;transform:none}.player-content{justify-content:center;gap:12px;padding:0}.track-info{display:none}.player-controls-wrapper{flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:100%;display:flex}.controls-main{gap:16px}.player-extra{display:none}.article-body h1{font-size:28px}.top-nav{flex-wrap:wrap;padding:10px 16px}.nav-right{gap:8px}.nav-info{display:none}.user-menu{gap:8px}.guest-nav-label,.guest-login-btn{display:none}.guest-register-btn{height:32px;padding:0 12px}.guest-trial-banner{align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px}.guest-trial-copy{align-items:flex-start;gap:10px}.guest-trial-kicker{display:none}.guest-trial-cta{white-space:nowrap;padding:8px 10px}.floating-level-badge{top:80px;right:16px;transform:scale(.85)}.floating-level-badge:hover{transform:scale(.95)rotate(5deg)}body{padding-bottom:100px}}.landing-tools-link,.landing-game-link,.nav-tools-link,.nav-game-zone-link{display:none!important}@media(max-width:768px){.article-header-decoration{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}.header-right-actions{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:9px;width:100%;padding-bottom:3px;overflow-x:auto}.header-right-actions::-webkit-scrollbar{display:none}.header-right-actions>*{flex:none}.guest-trial-banner{flex-direction:column;align-items:stretch}.guest-trial-cta{width:100%}.article-body h1{overflow-wrap:anywhere;margin-bottom:24px;font-size:clamp(28px,9vw,34px);line-height:1.2}.article-body h2{margin:34px 0 18px;font-size:19px}.article-body h3{margin:26px 0 15px;font-size:17px}.article-body p,.article-body.separate-original-mode p,.article-body .original-reading-view>p{font-size:19px;line-height:1.78}.article-body blockquote{margin:24px 0;padding-left:16px;font-size:19px}.bottom-player{width:min(420px,100% - 40px);height:72px;left:50%;right:auto;bottom:calc(8px + env(safe-area-inset-bottom));border-radius:18px;padding:0 12px;transform:translate(-50%);box-shadow:0 14px 34px #0f172a24,0 0 0 1px #94a3b814}.bottom-player .player-content{gap:8px}.bottom-player .player-controls-wrapper{gap:5px}.bottom-player .controls-main{gap:22px}.bottom-player .controls-main .icon-btn{width:38px;height:38px}.bottom-player .controls-main .sentence-skip-icon{flex-basis:22px;width:22px;height:22px}.bottom-player .play-btn{width:42px;height:42px}.bottom-player .progress-wrapper{gap:7px;font-size:10px}.bottom-player .progress-bar-container{min-width:112px}.player-collapse-handle{width:32px;height:28px;padding:0;top:-18px;left:50%;right:auto;transform:translate(-50%)}.player-collapse-handle:hover{transform:translate(-50%)}.player-collapse-handle span{display:none}.player-collapse-handle svg{width:17px;height:17px}.sidebar-toggle-button{width:42px;height:62px;bottom:calc(92px + env(safe-area-inset-bottom))}}@media(max-width:480px){.floating-level-badge{top:70px;right:12px;transform:scale(.75)}.floating-level-badge:hover{transform:scale(.85)rotate(5deg)}.bottom-player{height:80px;padding:0 12px}.bottom-player .play-btn{width:40px;height:40px;color:#fff!important;background:#1a1a1a!important}[data-theme=dark] .bottom-player .play-btn{color:#1a1a1a!important;background:#f9fafb!important}.icon-btn{width:28px;height:28px}.progress-wrapper{gap:8px;font-size:10px}body{padding-bottom:90px}}.mini-player{z-index:1001;opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;bottom:30px;right:30px;transform:translateY(20px)scale(.9)}.mini-player.visible{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.mini-player-content{-webkit-backdrop-filter:blur(22px)saturate(150%);backdrop-filter:blur(22px)saturate(150%);background:#f8fafccc;border:1px solid #94a3b83d;border-radius:999px;flex-direction:row;align-items:center;gap:6px;padding:6px;display:flex;box-shadow:0 12px 32px #0f172a29}[data-theme=dark] .mini-player-content{background:#0f172ad1;border-color:#e2e8f029}.mini-progress-ring{filter:none;width:56px;height:56px;position:relative}.mini-progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.mini-progress-ring .ring-bg{fill:none;stroke:#0000001a;stroke-width:3px}.mini-progress-ring .ring-progress{fill:none;stroke:var(--accent-color);stroke-width:3px;stroke-linecap:round;transition:stroke-dashoffset .3s}[data-theme=dark] .mini-progress-ring .ring-bg{stroke:#ffffff26}.mini-play-btn{background:var(--paper-color);width:44px;height:44px;color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0000001a}.mini-play-btn:hover{transform:translate(-50%,-50%)scale(1.08);box-shadow:0 4px 16px #00000026}.mini-play-btn svg{width:18px;height:18px}.mini-expand-btn{background:rgba(var(--paper-color-rgb,255,255,255),.9);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;-webkit-backdrop-filter:blur(8px);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;box-shadow:0 2px 8px #0000001a}.mini-expand-btn:hover{background:var(--paper-color);color:var(--accent-color);transform:scale(1.1)}.mini-expand-btn svg{width:16px;height:16px}[data-theme=dark] .mini-expand-btn{background:#111827e6}.bottom-player.minimized{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%)translateY(calc(100% + 36px))}.minimize-btn{opacity:.6;transition:all .2s}.minimize-btn:hover{opacity:1;color:var(--accent-color)}@media(max-width:768px){.mini-player{bottom:calc(16px + env(safe-area-inset-bottom));right:16px}.mini-progress-ring{width:52px;height:52px}.mini-play-btn{width:40px;height:40px}.mini-play-btn svg{width:16px;height:16px}}@media(max-width:480px){.mini-player{bottom:calc(14px + env(safe-area-inset-bottom));right:14px}.mini-progress-ring{width:48px;height:48px}.mini-play-btn{width:36px;height:36px}.mini-expand-btn{width:24px;height:24px}.mini-expand-btn svg{width:14px;height:14px}}@supports (-webkit-appearance:none){html,body{background-color:var(--bg-color)!important}.top-nav{background:var(--bg-color)!important}.bottom-player{background:#f8fafcc7!important}[data-theme=dark] .bottom-player{background:#0f172acc!important}}@media screen and (-webkit-min-device-pixel-ratio:0){html,body{background-color:var(--bg-color)}.top-nav{background:var(--bg-color)}}.sidebar-toggle-button{z-index:998;background:rgba(var(--paper-color-rgb,255,255,255),.35);width:56px;height:100px;color:var(--text-primary);border:1px solid rgba(var(--border-color-rgb,229,231,235),.25);cursor:pointer;-webkit-backdrop-filter:blur(16px);border-left:none;border-radius:0 12px 12px 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px 8px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%);box-shadow:2px 0 12px #0000000a}.sidebar-toggle-button:hover{width:64px;color:var(--accent-color);background:#eff6ffa6;box-shadow:4px 0 16px #0000001f}.sidebar-toggle-button:active{transform:translateY(-50%)translate(2px)}.sidebar-toggle-button .sidebar-button-text{writing-mode:vertical-rl;letter-spacing:2px;font-size:12px;font-weight:600}[data-theme=dark] .sidebar-toggle-button{color:var(--text-primary);background:#11182759;border-color:#4b556340}[data-theme=dark] .sidebar-toggle-button:hover{color:var(--accent-color);background:#1e3a8aa6}.sidebar-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);background:#0006;animation:.3s fadeIn;position:fixed;inset:0}body:has(.dictation-page-overlay)::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}html:has(.dictation-page-overlay)::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}#root:has(.dictation-page-overlay)::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}body:has(.dictation-page-overlay),html:has(.dictation-page-overlay),#root:has(.dictation-page-overlay){scrollbar-width:none!important;-ms-overflow-style:none!important}.scroll-to-current-btn{z-index:900;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#a0a0a0cc;border:none;border-radius:50px;align-items:center;gap:8px;padding:14px 20px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.4s ease-out slideInFromRight;display:flex;position:fixed;top:50%;right:32px;transform:translateY(-50%);box-shadow:0 4px 20px #00000026}.scroll-to-current-btn:hover{color:#1a1a1a;background:#fef3c7f2;transform:translateY(calc(-50% - 2px));box-shadow:0 6px 24px #0003}.scroll-to-current-btn:active{transform:translateY(-50%);box-shadow:0 2px 12px #0003}[data-theme=dark] .scroll-to-current-btn{color:#fff;background:#a0a0a0b3}[data-theme=dark] .scroll-to-current-btn:hover{color:#1a1a1a;background:#fef3c7e6}.scroll-to-current-btn svg{flex-shrink:0;width:20px;height:20px}@keyframes slideInFromRight{0%{opacity:0;transform:translateY(-50%)translate(100px)}to{opacity:1;transform:translateY(-50%)translate(0)}}@media(max-width:768px){.scroll-to-current-btn{border-radius:50%;justify-content:center;width:48px;height:48px;padding:0;right:16px}.scroll-to-current-btn span{display:none}.scroll-to-current-btn:hover{transform:translateY(calc(-50% - 2px))}.sidebar-toggle-button{width:48px;height:80px;top:auto;bottom:120px;left:0;transform:none}.sidebar-toggle-button:hover{width:52px}.sidebar-toggle-button .sidebar-button-text{font-size:11px}.sidebar-toggle-button:hover{transform:scale(1.1)}.sidebar-toggle-button:active{transform:scale(.95)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.add-vocabulary-overlay{position:fixed;inset:0;background-color:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1000000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.add-vocabulary-popup{position:relative;z-index:1000001;width:340px;max-height:85vh;display:flex;flex-direction:column;background:var(--paper-color, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0003,0 0 0 1px #0000000d;animation:popupFadeIn .25s ease;overflow:hidden}[data-theme=dark] .add-vocabulary-popup{background:#1f2937;box-shadow:0 10px 40px #0006,0 0 0 1px #ffffff1a}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.add-vocabulary-popup.success{padding:40px 60px;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.confetti-burst{position:absolute;top:50%;left:50%;width:0;height:0;z-index:100}.confetti-piece{position:absolute;width:12px;height:12px;border-radius:3px;animation:confetti-explode .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay)}.confetti-0{background:#6366f1;transform:rotate(45deg)}.confetti-1{background:#22c55e;border-radius:50%}.confetti-2{background:#f59e0b;transform:rotate(30deg)}.confetti-3{background:#ec4899;border-radius:50%}.confetti-4{background:#8b5cf6;transform:rotate(60deg)}@keyframes confetti-explode{0%{transform:rotate(0) translate(0) scale(.5);opacity:1}50%{opacity:1}to{transform:rotate(var(--angle)) translate(var(--distance)) scale(1);opacity:0}}.success-content{display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:1}.success-icon-wrapper{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;animation:successPop .4s cubic-bezier(.68,-.55,.265,1.55);box-shadow:0 8px 25px #22c55e66}.success-icon{color:#fff;font-size:32px;font-weight:700}.success-text{color:#22c55e;font-weight:600;font-size:18px;animation:fadeInUp .3s ease .2s both}@keyframes successPop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.popup-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.popup-title{font-size:15px;font-weight:600;color:var(--text-primary, #1a1a1a)}.close-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:none;color:#6b7280!important;cursor:pointer;transition:all .2s ease;flex-shrink:0}[data-theme=dark] .close-btn{color:#9ca3af!important}.close-btn:hover{background:#0000000d!important;color:#1f2937!important;border-radius:50%}[data-theme=dark] .close-btn:hover{background:#ffffff1a!important;color:#f3f4f6!important}.popup-content{padding:16px;overflow-y:auto;flex:1;min-height:0;overscroll-behavior:contain}.popup-content::-webkit-scrollbar{width:6px}.popup-content::-webkit-scrollbar-track{background:transparent}.popup-content::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.popup-content::-webkit-scrollbar-thumb:hover{background:#00000040}[data-theme=dark] .popup-content::-webkit-scrollbar-thumb{background:#ffffff26}[data-theme=dark] .popup-content::-webkit-scrollbar-thumb:hover{background:#ffffff40}.selected-text{margin-bottom:14px}.text-label{font-size:12px;color:var(--text-secondary, #888);margin-bottom:6px;display:block}.text-content-row{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary, #f9fafb);border-radius:10px}[data-theme=dark] .text-content-row{background:#ffffff0d}.text-content{font-size:16px;font-weight:600;color:var(--text-primary, #1a1a1a);word-break:break-word;flex:1}.play-audio-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.play-audio-btn .icon-img{width:24px;height:24px}.play-audio-btn:hover{transform:scale(1.1);background:#8b5cf61a}.play-audio-btn:active{transform:scale(.95)}.looking-up{font-size:12px;color:var(--accent-color, #3b82f6);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.type-selector{display:flex;gap:8px;margin-bottom:14px}.type-btn{flex:1;padding:8px 12px;border:1px solid var(--border-color, #e5e7eb);background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:var(--text-secondary, #666);cursor:pointer;transition:all .15s ease}.type-btn:hover{background:var(--bg-hover, #f3f4f6);border-color:var(--accent-color, #3b82f6)}.type-btn.active{background:var(--accent-color, #3b82f6);border-color:var(--accent-color, #3b82f6);color:#fff}.input-group{margin-bottom:10px;position:relative}.phonetic-group,.meaning-group{position:relative}.auto-filled{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#22c55e;background:#22c55e1a;padding:2px 6px;border-radius:4px}.more-meanings{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px;padding:8px;background:var(--bg-secondary, #f3f4f6);border-radius:8px}[data-theme=dark] .more-meanings{background:#ffffff0d}.more-meanings-label{font-size:11px;color:var(--text-secondary, #888)}.meaning-tag{font-size:11px;padding:3px 8px;background:var(--accent-color, #3b82f6);color:#fff;border-radius:4px;cursor:pointer;transition:all .15s ease}.meaning-tag:hover{opacity:.8;transform:scale(1.05)}.translation-display{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border-radius:10px;border:1px solid rgba(59,130,246,.15)}[data-theme=dark] .translation-display{background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-color:#3b82f640}.translation-label{display:block;font-size:11px;color:var(--accent-color, #3b82f6);font-weight:600;margin-bottom:6px}.translation-text{font-size:15px;color:var(--text-primary, #1a1a1a);line-height:1.5;font-weight:500}.example-display{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#22c55e14,#10b98114);border-radius:10px;border:1px solid rgba(34,197,94,.15)}[data-theme=dark] .example-display{background:linear-gradient(135deg,#22c55e26,#10b98126);border-color:#22c55e40}.example-label{display:block;font-size:11px;color:#22c55e;font-weight:600;margin-bottom:6px}.example-text{font-size:14px;color:var(--text-primary, #1a1a1a);line-height:1.5;font-style:italic}.example-translation{font-size:13px;color:var(--text-secondary, #666);margin-top:6px;padding-top:6px;border-top:1px dashed rgba(34,197,94,.2)}.morpheme-display{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#f9731614,#ea580c14);border-radius:10px;border:1px solid rgba(249,115,22,.15)}[data-theme=dark] .morpheme-display{background:linear-gradient(135deg,#f9731626,#ea580c26);border-color:#f9731640}.morpheme-label{display:block;font-size:11px;color:#ea580c;font-weight:600;margin-bottom:8px}.morpheme-list{display:flex;flex-direction:column;gap:6px}.add-vocabulary-popup .morpheme-item{display:flex;align-items:center;gap:8px;font-size:13px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;background:#ffffffe6!important;border-left:none!important}.add-vocabulary-popup .morpheme-item.prefix{background:#3b82f61a!important;border-left:3px solid #3b82f6!important}.add-vocabulary-popup .morpheme-item.root{background:#8b5cf61a!important;border-left:3px solid #8b5cf6!important}.add-vocabulary-popup .morpheme-item.suffix{background:#22c55e1a!important;border-left:3px solid #22c55e!important}.add-vocabulary-popup .morpheme-type{font-size:10px;padding:2px 6px;border-radius:4px;font-weight:600;flex-shrink:0}.add-vocabulary-popup .morpheme-item.prefix .morpheme-type{background:#3b82f633;color:#2563eb}.add-vocabulary-popup .morpheme-item.root .morpheme-type{background:#8b5cf633;color:#7c3aed}.add-vocabulary-popup .morpheme-item.suffix .morpheme-type{background:#22c55e33;color:#16a34a}.add-vocabulary-popup .morpheme-text{font-weight:600;color:#1f2937!important}.add-vocabulary-popup .morpheme-meaning{color:#374151!important;font-size:13px;font-weight:500}.add-vocabulary-popup .morpheme-origin{font-size:12px;color:#6b7280!important;margin-left:4px}.collocation-display{margin-bottom:12px;padding:12px;background:linear-gradient(135deg,#3b82f614,#6366f114);border-radius:10px;border:1px solid rgba(59,130,246,.15)}.collocation-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#3b82f6;margin-bottom:4px}.collocation-hint{font-size:11px;color:var(--text-secondary, #888);margin-bottom:8px}.collocation-list{display:flex;flex-direction:column;gap:6px}.collocation-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fffc;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}[data-theme=dark] .collocation-item{background:#0003}.collocation-item:hover{background:#3b82f61a;border-color:#3b82f64d}.collocation-item.selected{background:#3b82f626;border-color:#3b82f6}.collocation-phrase{font-weight:600;color:#3b82f6;font-size:13px}.collocation-meaning{font-size:12px;color:var(--text-secondary, #666);flex:1}.collocation-selected-badge{font-size:11px;color:#22c55e;font-weight:600;background:#22c55e1a;padding:2px 6px;border-radius:4px}.collocation-selected-info{margin-top:8px;padding:8px 10px;background:#22c55e1a;border-radius:6px;font-size:12px;color:#16a34a}.collocation-selected-info strong{color:#15803d}.input-group input{width:100%;padding:10px 12px;border:1px solid var(--border-color, #e5e7eb);border-radius:10px;font-size:14px;background:var(--paper-color, #ffffff);color:var(--text-primary, #1a1a1a);transition:all .15s ease}.input-group input:focus{outline:none;border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.input-group input::-moz-placeholder{color:var(--text-secondary, #999)}.input-group input::placeholder{color:var(--text-secondary, #999)}[data-theme=dark] .input-group input{background:#ffffff0d;border-color:#ffffff1a}.error-message{padding:8px 12px;background:#fef2f2;color:#dc2626;border-radius:8px;font-size:13px;margin-top:10px}[data-theme=dark] .error-message{background:#dc262626}.already-exists-notice{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-bottom:1px solid #fecaca;color:#dc2626;font-size:14px;font-weight:600;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notice-icon{font-size:16px}.add-btn.already-exists{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;border:1px solid #fca5a5;cursor:pointer}.add-btn.already-exists:hover{background:linear-gradient(135deg,#fecaca,#fca5a5)}.popup-actions{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bg-secondary, #f9fafb);border-top:1px solid var(--border-color, #e5e7eb);flex-shrink:0}[data-theme=dark] .popup-actions{background:#00000026}.add-btn.primary-action{width:100%;padding:14px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #3b82f659;transition:all .2s ease}.add-btn.primary-action:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f673}.add-btn.primary-action:active:not(:disabled){transform:translateY(0)}.add-btn.primary-action:disabled{opacity:.7;cursor:not-allowed;transform:none}.icon-img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.label-icon{width:16px;height:16px;-o-object-fit:contain;object-fit:contain;vertical-align:middle;margin-right:4px}.btn-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.loading-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.shortcut-hints{display:flex;justify-content:center;gap:16px}.shortcut-hints .hint{font-size:12px;color:var(--text-secondary, #888);display:flex;align-items:center;gap:4px}.shortcut-hints kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:inherit;background:var(--paper-color, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:4px;box-shadow:0 1px 2px #0000000d}[data-theme=dark] .shortcut-hints kbd{background:#ffffff1a;border-color:#ffffff26}@media(max-width:480px){.add-vocabulary-popup{width:calc(100vw - 32px);max-width:320px}}.article-sidebar{position:fixed;top:0;left:-380px;width:380px;max-width:90vw;height:100vh;background:linear-gradient(180deg,var(--paper-color) 0%,var(--bg-color) 100%);box-shadow:8px 0 40px #0003;z-index:1000;display:flex;flex-direction:column;transition:left .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar-membership-card{width:100%;margin-bottom:12px;padding:12px;border:1px solid rgba(124,58,237,.2);border-radius:13px;display:grid;grid-template-columns:34px 1fr 16px;gap:10px;align-items:center;text-align:left;background:linear-gradient(135deg,#4f46e51a,#7c3aed0f);color:var(--text-primary);cursor:pointer}.sidebar-membership-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:18px}.sidebar-membership-card>span:nth-child(2){min-width:0;display:grid;gap:2px}.sidebar-membership-card strong{font-size:13px}.sidebar-membership-card small{color:var(--text-secondary);font-size:10px;line-height:1.35}.sidebar-membership-card>svg{width:16px;height:16px;color:#7c3aed}.article-sidebar.open{left:0}[data-theme=dark] .article-sidebar{background:linear-gradient(180deg,#1e1e23fa,#141419fa);box-shadow:8px 0 40px #00000080}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--text-primary-rgb, 0, 0, 0),.06);background:var(--paper-color);position:relative}.sidebar-header:after{display:none}.sidebar-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:.5px}.sidebar-heading>span{display:block;margin-bottom:3px;color:var(--accent-color);font-size:9px;font-weight:850;letter-spacing:.16em}.sidebar-close-button{width:36px;height:36px;border-radius:10px;border:none;background:rgba(var(--text-primary-rgb, 0, 0, 0),.04);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.sidebar-close-button:hover{background:#ef44441a;color:#ef4444;transform:rotate(90deg)}.sidebar-content{flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:rgba(var(--text-primary-rgb, 0, 0, 0),.15);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:rgba(var(--text-primary-rgb, 0, 0, 0),.25)}.article-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.article-item{position:relative;padding:0;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--paper-color);border:1px solid rgba(var(--text-primary-rgb, 0, 0, 0),.06);overflow:hidden;display:flex;flex-direction:row;min-height:110px}.article-item-cover{width:96px;flex-shrink:0;aspect-ratio:3 / 4;align-self:center;margin:8px 0 8px 8px;overflow:hidden;position:relative;border-radius:10px;border:1px solid rgba(var(--text-primary-rgb, 0, 0, 0),.08);box-shadow:0 5px 15px #0f172a1f;background:linear-gradient(135deg,rgba(var(--accent-color-rgb, 37, 99, 235),.05),rgba(var(--accent-color-rgb, 37, 99, 235),.02))}.article-item-cover img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transition:all .5s cubic-bezier(.4,0,.2,1)}.article-item:hover .article-item-cover img{transform:scale(1.018)}.article-item-cover:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmerCover 2s ease-in-out infinite}@keyframes shimmerCover{0%{left:-100%}to{left:100%}}.article-item:not(:has(.article-item-cover)) .article-item-number{top:12px;left:12px}.article-item:not(:has(.article-item-cover)) .article-item-content{padding:18px 20px}.article-item:not(:has(.article-item-cover)):before{top:50%;transform:translateY(-50%)}.article-item:not(:has(.article-item-cover)):hover:before{height:50%}.article-item.active:not(:has(.article-item-cover)):before{height:85%;transform:translateY(-50%)}.article-item-number{position:absolute;top:8px;left:8px;width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,rgba(var(--accent-color-rgb, 37, 99, 235),.9),rgba(var(--accent-color-rgb, 37, 99, 235),.8));color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif;z-index:10;box-shadow:0 2px 8px #0003}.article-item:before{content:"";position:absolute;left:0;top:0;height:0;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--accent-color) 0%,#60a5fa 100%);transition:height .3s cubic-bezier(.4,0,.2,1);z-index:10}.article-item:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(var(--accent-color-rgb, 37, 99, 235),.15);border-color:rgba(var(--accent-color-rgb, 37, 99, 235),.2)}.article-item:hover:before{height:calc(100% - 40px)}.article-item.active{background:linear-gradient(135deg,#3b82f62e,#6366f124,#8b5cf61a);border:2px solid;-o-border-image:linear-gradient(135deg,#3b82f6,#8b5cf6) 1;border-image:linear-gradient(135deg,#3b82f6,#8b5cf6) 1;box-shadow:0 8px 32px #3b82f640,0 4px 16px #6366f126,inset 0 0 20px #3b82f614;position:relative}.article-item.active{border:none;position:relative}.article-item.active:after{content:"";position:absolute;inset:0;border-radius:16px;padding:2px;background:linear-gradient(135deg,#3b82f6,#8b5cf6,#6366f1);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.article-item.active:before{height:calc(100% - 40px);background:linear-gradient(180deg,#3b82f6,#8b5cf6,#6366f1);width:5px;border-radius:0 3px 3px 0}.article-item.active .article-item-number{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 3px 12px #6366f180;transform:scale(1.05)}.article-item.active .article-item-title{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.article-item.active .article-item-category{background:linear-gradient(135deg,#3b82f633,#8b5cf626);color:#6366f1}.article-item-content{flex:1;min-width:0;padding:14px 16px 44px;position:relative;display:flex;flex-direction:column;justify-content:center}.article-item-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.article-item-title a{color:inherit;text-decoration:none}.article-item-title a:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:3px}.article-item:hover .article-item-title,.article-item.active .article-item-title{color:var(--accent-color)}.article-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.article-meta-item{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-tertiary, #9ca3af);font-weight:500}.article-meta-item svg{width:12px;height:12px;opacity:.7}.article-item-category{display:inline-flex;align-items:center;font-size:11px;font-weight:600;color:var(--accent-color);background:linear-gradient(135deg,rgba(var(--accent-color-rgb, 37, 99, 235),.12),rgba(var(--accent-color-rgb, 37, 99, 235),.06));padding:5px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.article-item.active .article-item-category{background:linear-gradient(135deg,rgba(var(--accent-color-rgb, 37, 99, 235),.2),rgba(var(--accent-color-rgb, 37, 99, 235),.1))}.article-progress-container{margin-top:8px}.article-progress-bar{height:4px;background:rgba(var(--text-primary-rgb, 0, 0, 0),.08);border-radius:2px;overflow:hidden;position:relative}.article-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--accent-color) 0%,#60a5fa 100%);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative}.article-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.article-progress-text{font-size:11px;color:var(--text-tertiary, #9ca3af);margin-top:6px;font-weight:500;display:flex;align-items:center;gap:4px}.article-progress-text.completed{color:#10b981}.article-status-icon{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;justify-content:center;animation:iconIn .3s cubic-bezier(.4,0,.2,1);z-index:2}.article-status-icon img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.article-status-icon.reading{width:28px;height:28px}.article-status-icon.new{width:42px;height:42px}.article-status-icon.new img{filter:brightness(0) saturate(100%) invert(55%) sepia(98%) saturate(1500%) hue-rotate(360deg) brightness(103%) contrast(105%);animation:newPulse 2s ease-in-out infinite}.article-status-icon.new:before{content:"";position:absolute;inset:-4px;background:radial-gradient(circle,rgba(255,140,0,.4) 0%,transparent 70%);border-radius:50%;animation:glowPulse 2s ease-in-out infinite;z-index:-1}.article-status-icon.new:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shine 3s ease-in-out infinite}@keyframes iconIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes newPulse{0%,to{transform:scale(1);filter:brightness(0) saturate(100%) invert(55%) sepia(98%) saturate(1500%) hue-rotate(360deg) brightness(103%) contrast(105%)}50%{transform:scale(1.08);filter:brightness(0) saturate(100%) invert(45%) sepia(98%) saturate(2000%) hue-rotate(10deg) brightness(110%) contrast(110%)}}@keyframes glowPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes shine{0%{left:-100%}20%{left:100%}to{left:100%}}.sidebar-empty{text-align:center;padding:60px 24px;color:var(--text-secondary)}.sidebar-empty-icon{width:64px;height:64px;margin:0 auto 16px;opacity:.3}.sidebar-empty p{font-size:15px;font-weight:500}.sidebar-footer{padding:20px 24px;border-top:1px solid rgba(var(--text-primary-rgb, 0, 0, 0),.08);background:linear-gradient(180deg,var(--bg-color) 0%,var(--paper-color) 100%)}.sidebar-footer-text{font-size:13px;color:var(--text-secondary);text-align:center;margin:0;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.sidebar-footer-text:before,.sidebar-footer-text:after{content:"";width:20px;height:1px;background:linear-gradient(90deg,transparent,var(--text-secondary),transparent);opacity:.3}.sidebar-dictation-entry{padding:16px 24px 24px}.dictation-sidebar-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,var(--accent-color) 0%,#60a5fa 100%);color:#fff;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(var(--accent-color-rgb, 37, 99, 235),.3)}.dictation-sidebar-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(var(--accent-color-rgb, 37, 99, 235),.4)}.dictation-sidebar-btn:active{transform:translateY(0)}.dictation-sidebar-btn svg{width:20px;height:20px}@media(min-width:769px){.sidebar-overlay{display:none}body.article-library-open .top-nav,body.article-library-open .app-container:has(.sentence-study-panel){width:calc(100% - 380px);margin-left:380px;margin-right:0}body.article-library-open .app-container:has(.sentence-study-panel){display:flex;justify-content:center;padding-left:24px;padding-right:24px}body.article-library-open .reading-area,body.article-library-open .paper-content{width:100%;max-width:820px}body.article-library-open .sentence-study-panel{opacity:0;visibility:hidden;pointer-events:none}body.article-library-open:has(.article-sidebar.open) .bottom-player{width:min(600px,calc(100vw - 430px));left:calc(380px + (100vw - 380px)/2)}body.article-library-open .sidebar-toggle-button{display:none}.top-nav,.app-container,.sentence-study-panel,.bottom-player{transition:width .3s ease,margin .3s ease,left .3s ease,opacity .2s ease,visibility .2s ease}}@media(max-width:768px){.article-sidebar{width:100vw;max-width:none;left:-100vw;box-shadow:none}.sidebar-overlay{display:none}.article-item{flex-direction:row}.article-item-cover{width:92px}.article-item-number{top:10px;width:24px;height:24px;font-size:11px}.article-item:before{top:0}.article-item-title{font-size:14px}}@media(max-width:480px){.article-sidebar{width:100vw;left:-100vw}.sidebar-header{padding:20px}.sidebar-title{font-size:18px}.sidebar-content{padding:14px}.article-list{gap:10px}.article-item-cover{width:86px}.article-item-number{top:10px}.article-item:before{top:0}.article-item-content{padding:14px}}[data-theme=dark] .article-item{background:#ffffff08;border-color:#ffffff0f}[data-theme=dark] .article-item-cover{background:#3b82f60d}[data-theme=dark] .article-item-cover img{opacity:.9}[data-theme=dark] .article-item:hover .article-item-cover img{opacity:1}[data-theme=dark] .article-item:hover{background:#ffffff0f;border-color:rgba(var(--accent-color-rgb, 37, 99, 235),.3)}[data-theme=dark] .article-item.active{background:linear-gradient(135deg,#3b82f638,#6366f129,#8b5cf61f);box-shadow:0 8px 32px #6366f159,0 4px 16px #3b82f633,inset 0 0 30px #6366f11a}[data-theme=dark] .article-progress-bar{background:#ffffff1a}[data-theme=dark] .sidebar-footer{background:linear-gradient(180deg,#1e1e23cc,#141419e6)}.login-page{height:100vh;width:100vw;background:linear-gradient(135deg,#f9f8f6,#f5f4f2);display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow:hidden;position:fixed;inset:0}.login-wrapper{width:100%;max-width:420px}.login-container{background:#fff;border-radius:20px;box-shadow:0 8px 32px #00000014;width:100%;padding:40px 36px;transition:all .3s ease;max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;position:relative}.login-back-btn{position:absolute;top:20px;left:20px;width:40px;height:40px;border-radius:50%;border:none;background:#0000000d;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.login-back-btn:hover{background:#0000001a;transform:scale(1.05)}.login-back-btn:active{transform:scale(.95)}.login-back-btn svg{width:20px;height:20px}.login-header{text-align:center;margin-bottom:32px;flex-shrink:0}.login-logo{font-family:"Noto Serif SC",serif;font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.5px}.login-logo .dot{color:var(--accent-color)}.login-subtitle{color:var(--text-secondary);font-size:14px;margin:0;font-weight:400}.auth-toggle{display:flex;background:#f3f4f6;border-radius:12px;padding:4px;margin-bottom:24px;gap:4px;flex-shrink:0}.toggle-btn{flex:1;padding:8px 16px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:#fff;color:var(--text-primary);box-shadow:0 2px 4px #0000000d;font-weight:600}.login-method-toggle{display:flex;gap:10px;margin-bottom:24px;flex-shrink:0}.method-btn{flex:1;padding:10px 16px;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.method-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.method-btn.active{border-color:var(--accent-color);background:#2563eb0d;color:var(--accent-color);font-weight:600}.login-content{flex:1;overflow-y:auto;min-height:0}.auth-form{display:flex;flex-direction:column;gap:20px}.form-section{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.label-row{display:flex;justify-content:space-between;align-items:center;width:100%}.forgot-password-link{background:none;border:none;color:var(--accent-color);font-size:12px;font-weight:500;cursor:pointer;padding:0;transition:all .2s ease}.forgot-password-link:hover{color:#1d4ed8;text-decoration:underline}.optional-badge{font-size:12px;font-weight:400;color:var(--text-secondary);background:#f3f4f6;padding:2px 8px;border-radius:4px}.form-group input{padding:13px 16px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:15px;transition:all .2s ease;background:#fff;color:var(--text-primary)}.form-group input::-moz-placeholder{color:#9ca3af}.form-group input::placeholder{color:#9ca3af}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #2563eb14}.form-group input:disabled{background:#f9fafb;cursor:not-allowed;opacity:.6}.field-hint{font-size:12px;color:var(--text-secondary);margin-top:-4px}.supported-emails{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}.supported-label{font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap;flex-shrink:0}.email-providers{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:32px}.email-logo{height:32px;width:auto;min-width:32px;max-width:40px;-o-object-fit:contain;object-fit:contain;transition:all .2s ease;cursor:pointer;filter:brightness(1);display:inline-block;opacity:.85;vertical-align:middle}.email-logo:hover{transform:translateY(-2px) scale(1.1);filter:brightness(1.1);opacity:1}.email-logo[src=""],.email-logo:not([src]),.email-logo[src=undefined]{display:none}.email-logo:before{content:"";display:none}.code-input-group{display:flex;gap:12px}.code-input-group input{flex:1}.send-code-btn{padding:11px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;min-width:100px}.send-code-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.send-code-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none}.invite-code-group{display:flex;flex-direction:column;gap:6px}.invite-code-message{font-size:12px;padding:6px 10px;border-radius:6px;font-weight:500}.invite-code-message.valid{color:#059669;background:#d1fae5}.invite-code-message.invalid{color:#dc2626;background:#fee2e2}.auth-btn{padding:14px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:4px;flex-shrink:0}.auth-btn.primary{background:var(--text-primary);color:#fff}.auth-btn.primary:hover:not(:disabled){background:#000;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.auth-btn:disabled{background:#d1d5db;cursor:not-allowed;transform:none;opacity:.6}.divider{display:flex;align-items:center;text-align:center;margin:0;flex-shrink:0}.divider:before,.divider:after{content:"";flex:1;border-bottom:1px solid #e5e7eb}.divider span{padding:0 10px;color:var(--text-secondary);font-size:11px;background:#fff}.oauth-section{display:flex;flex-direction:row;gap:8px;flex-shrink:0}.oauth-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.oauth-btn:hover:not(:disabled){border-color:var(--accent-color);background:#2563eb05;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.oauth-btn:disabled{opacity:.5;cursor:not-allowed}.oauth-btn svg{flex-shrink:0;width:18px;height:18px}.oauth-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.error-message{padding:8px 12px;background:#fee2e2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:12px;text-align:center;font-weight:500;flex-shrink:0}.success-message{padding:8px 12px;background:#d1fae5;border:1px solid #a7f3d0;border-radius:10px;color:#059669;font-size:12px;text-align:center;font-weight:500;flex-shrink:0}.login-footer{text-align:center;padding-top:12px;margin-top:12px;border-top:1px solid #e5e7eb;flex-shrink:0}.login-footer p{color:var(--text-secondary);font-size:10px;margin:0;line-height:1.3}.link-btn{background:none;border:none;color:var(--accent-color);font-size:12px;cursor:pointer;text-decoration:underline;padding:0;margin:0 2px}.link-btn:hover{color:#1d4ed8}@media(max-width:640px){.login-container{padding:28px 20px;border-radius:16px}.login-logo{font-size:28px}.login-subtitle{font-size:12px}.auth-toggle{margin-bottom:18px}.toggle-btn{padding:8px 14px;font-size:13px}.code-input-group{flex-direction:column}.send-code-btn{width:100%;min-width:auto}.login-method-toggle{flex-direction:column}.method-btn{width:100%}.oauth-section{flex-direction:column}}[data-theme=dark] .login-container{background:#2d3748;box-shadow:0 8px 32px #00000080}[data-theme=dark] .login-page{background:#1a202c}[data-theme=dark] .auth-toggle{background:#ffffff14}[data-theme=dark] .toggle-btn.active{background:#4299e126}[data-theme=dark] .method-btn{background:#1a202c;border-color:#fff3;color:var(--text-primary)}[data-theme=dark] .method-btn.active{background:#2563eb26;border-color:#2563eb66}[data-theme=dark] .form-group input{background:#1a202c;border-color:#fff3;color:var(--text-primary)}[data-theme=dark] .form-group input:focus{border-color:var(--accent-color);background:#1a202c}[data-theme=dark] .field-hint,[data-theme=dark] .supported-label{color:#a0aec0}[data-theme=dark] .oauth-btn{background:#1a202c;border-color:#fff3}[data-theme=dark] .divider:before,[data-theme=dark] .divider:after{border-color:#ffffff26}[data-theme=dark] .login-footer{border-color:#ffffff26}[data-theme=dark] .form-group label{color:#e2e8f0}.landing-page{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;z-index:1}.landing-background{position:absolute;inset:0;z-index:0;overflow:hidden}.bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg,#f9f8f6,#f5f4f2,#f9f8f6);z-index:1}.bg-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 30%,rgba(156,163,175,.03) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(156,163,175,.02) 0%,transparent 50%);z-index:2;animation:patternMove 20s ease-in-out infinite}@keyframes patternMove{0%,to{transform:translate(0)}50%{transform:translate(-10px,-10px)}}.landing-nav{position:relative;z-index:10;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none}.landing-nav-content{width:100%;display:flex;justify-content:space-between;align-items:center}.landing-logo{font-family:"Noto Serif SC",serif;font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.landing-logo-btn{background:none;border:none;cursor:pointer;padding:0;transition:all .2s ease;display:inline-block}.landing-logo-btn:hover{opacity:.8;transform:scale(1.05)}.landing-logo-btn:active{transform:scale(.98)}.landing-logo .dot{color:var(--accent-color);transition:color .3s ease}.landing-nav-buttons{display:flex;gap:20px;align-items:center;background:transparent;padding:0;border:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.landing-game-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 13px;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.02em;transition:color .2s ease,background .2s ease}.landing-tools-link{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border-radius:6px;color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:600;transition:color .2s ease,background .2s ease}.landing-tools-link span{color:#2563eb;font:750 12px ui-monospace,SFMono-Regular,Menlo,monospace}.landing-tools-link:hover{color:var(--text-primary);background:#2563eb0f}.landing-game-link:hover{color:var(--text-primary);background:#e95d340f}.landing-game-link-dot{width:7px;height:7px;border-radius:50%;background:#e95d34;box-shadow:0 0 0 4px #e95d341a}.landing-nav-buttons>.landing-tools-link,.landing-nav-buttons>.landing-game-link,.landing-nav-buttons>.nav-btn{width:88px;padding-inline:8px!important;justify-content:center}.nav-btn{padding:10px 24px!important;border-radius:6px;font-size:15px!important;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:none;background:transparent;white-space:nowrap;line-height:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;min-height:40px!important;height:auto!important;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.02em}.login-btn{color:var(--text-primary)!important;background:transparent!important}.login-btn:hover{background:#00000008!important}.register-btn{background:#3f3f46!important;color:#fff!important;border:none!important;box-shadow:0 2px 4px #0000001a!important}.register-btn:hover{background:#18181b!important;box-shadow:0 4px 8px #00000026!important;transform:translateY(-1px)}.login-btn:active,.register-btn:active{transform:translateY(0)}.landing-content{position:relative;z-index:5;flex:1;display:flex;align-items:center;justify-content:center;padding:0 40px;min-height:0}.landing-hero{text-align:center;max-width:900px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-slogan-cn{font-family:"Noto Serif SC",serif;font-size:72px;font-weight:700;color:var(--text-primary);margin:0 0 28px;line-height:1.2;letter-spacing:-1px;background:linear-gradient(135deg,#1a1a1a,#4a4a4a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-divider{width:100px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);margin:36px auto;animation:expandDivider 1.5s ease-out .5s both}@keyframes expandDivider{0%{width:0;opacity:0}to{width:80px;opacity:1}}.landing-slogan-en{font-family:Inter,sans-serif;font-size:48px;font-weight:600;color:var(--text-primary);margin:0 0 24px;letter-spacing:-.5px;opacity:.9}.landing-subtitle{font-family:Inter,sans-serif;font-size:20px;color:var(--text-secondary);margin:0;font-weight:400;letter-spacing:.5px}.landing-primary-actions{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:42px}.guest-reading-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:260px;padding:16px 28px;border:1px solid rgba(37,99,235,.18);border-radius:999px;background:#2563eb;color:#fff;font-size:17px;font-weight:650;letter-spacing:.02em;cursor:pointer;box-shadow:0 14px 30px #2563eb33;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.guest-reading-btn svg{width:19px;height:19px;transition:transform .25s ease}.guest-reading-btn:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 18px 38px #2563eb47}.guest-reading-btn:hover svg{transform:translate(4px)}.guest-reading-btn:active{transform:translateY(0)}.guest-reading-hint{margin:0;color:var(--text-secondary);font-size:13px;letter-spacing:.04em}.landing-decoration{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.landing-decoration .decoration-circle{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(156,163,175,.08) 0%,transparent 70%);animation:float 15s ease-in-out infinite;display:none}.circle-1{width:300px;height:300px;top:10%;left:10%;animation-delay:0s}.circle-2{width:200px;height:200px;top:60%;right:15%;animation-delay:5s}.circle-3{width:150px;height:150px;bottom:20%;left:20%;animation-delay:10s}@keyframes float{0%,to{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(30px,-30px) scale(1.1);opacity:.8}}.landing-footer{position:relative;z-index:10;padding:24px 60px;text-align:center;background:#ffffff4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.05)}.landing-footer p{font-size:14px;color:var(--text-secondary);margin:0;font-style:italic;letter-spacing:.5px}[data-theme=dark] .landing-page,[data-theme=dark] .bg-gradient{background:linear-gradient(135deg,#1f2937,#111827,#1f2937)}[data-theme=dark] .landing-nav{background:transparent;border-bottom:none}[data-theme=dark] .landing-slogan-cn{background:linear-gradient(135deg,#f9fafb,#d1d5db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .landing-nav-buttons{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .login-btn:hover{background:#ffffff0d!important}[data-theme=dark] .guest-reading-btn{border-color:#60a5fa4d;background:#3b82f6;box-shadow:0 14px 34px #3b82f640}[data-theme=dark] .guest-reading-btn:hover{background:#60a5fa}[data-theme=dark] .cta-btn.secondary{background:var(--paper-color);border-color:#fff3;color:var(--text-primary)}[data-theme=dark] .landing-footer{background:transparent;border-top:none}@media(max-width:768px){.landing-nav{padding:22px 24px 10px}.landing-nav-content{flex-direction:column;justify-content:center;gap:15px}.landing-nav-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100%,336px);gap:2px;padding:4px;border:1px solid rgba(26,26,26,.07);border-radius:14px;background:#ffffff85;box-shadow:0 8px 24px #1c19170b}.landing-nav-buttons>.landing-tools-link,.landing-nav-buttons>.landing-game-link,.landing-nav-buttons>.nav-btn{width:100%}.landing-tools-link{display:inline-flex;min-width:0;min-height:36px;padding:0 5px!important;justify-content:center;border-radius:10px;font-size:12px;line-height:1;white-space:nowrap}.landing-game-link{flex:0 0 auto;min-width:0;min-height:36px;padding:0 5px!important;justify-content:center;white-space:nowrap;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font-size:12px;letter-spacing:0}.landing-game-link-dot{width:6px;height:6px;box-shadow:0 0 0 3px #e95d341a}.landing-logo{flex:0 0 auto;font-size:29px;line-height:1.25;letter-spacing:-.7px}.landing-nav-buttons .nav-btn{flex:0 0 auto;width:100%;max-width:none;padding:0 10px!important;font-size:13px!important;min-height:36px!important;border-radius:10px}.landing-nav-buttons .register-btn{padding:0 10px!important;box-shadow:0 3px 10px #18181b1f!important}.landing-content{align-items:center;padding:0 24px}.landing-slogan-cn{font-size:48px}.landing-slogan-en{font-size:32px}.landing-subtitle{font-size:16px}.landing-primary-actions{margin-top:34px}.landing-footer{padding:20px 32px}[data-theme=dark] .landing-nav-buttons{background:#ffffff0b;border-color:#ffffff14;box-shadow:none}}@media(max-width:480px){.landing-nav{padding:20px 20px 8px}.landing-nav-content{gap:13px}.landing-slogan-cn{font-size:40px;margin-bottom:20px}.landing-divider{margin:26px auto}.landing-slogan-en{font-size:26px}.landing-subtitle{font-size:14px;line-height:1.65}.guest-reading-btn{min-width:236px;padding:14px 22px;font-size:16px}.landing-footer{padding:20px 24px}}@media(max-width:360px){.landing-nav{padding:16px 14px 6px}.landing-logo{font-size:26px}.landing-game-link{min-width:0;padding-inline:3px!important;font-size:11px}.landing-tools-link{gap:5px;padding-inline:3px!important;font-size:11px}.landing-nav-buttons .nav-btn{width:100%;padding-inline:8px!important;font-size:12px!important}.landing-nav-buttons .register-btn{padding-inline:8px!important}}@media(max-width:768px)and (max-height:700px){.landing-slogan-cn{font-size:36px;margin-bottom:14px}.landing-divider{margin:18px auto}.landing-slogan-en{font-size:24px;margin-bottom:16px}.landing-primary-actions{margin-top:22px}.landing-footer{padding-block:13px}}.loading-page{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-color);z-index:9999;overflow:hidden}.loading-background{position:absolute;inset:0;overflow:hidden}.loading-gradient{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(37,99,235,.08) 0%,transparent 50%);animation:gradientRotate 20s ease-in-out infinite}.loading-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(37,99,235,.03) 1px,transparent 0);background-size:40px 40px;opacity:.5}@keyframes gradientRotate{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.loading-content{position:relative;z-index:1;text-align:center;max-width:600px;padding:2rem}.loading-logo{margin-bottom:3rem;animation:fadeInDown .8s ease-out}.loading-logo-text{font-family:"Noto Serif SC",serif;font-size:42px;font-weight:700;color:var(--text-primary);letter-spacing:-1px}.loading-logo-dot{color:var(--accent-color);font-size:42px;font-weight:700}.loading-animation{margin-bottom:3rem;animation:fadeIn 1s ease-out .2s both}.loading-spinner{position:relative;width:80px;height:80px;margin:0 auto}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:var(--accent-color);border-radius:50%;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring:nth-child(1){animation-delay:0s;opacity:1}.spinner-ring:nth-child(2){animation-delay:-.4s;opacity:.7;width:70%;height:70%;top:15%;left:15%}.spinner-ring:nth-child(3){animation-delay:-.8s;opacity:.5;width:50%;height:50%;top:25%;left:25%}.loading-slogan{margin-bottom:2.5rem;animation:fadeInUp 1s ease-out .4s both}.loading-slogan-cn{font-family:"Noto Serif SC",serif;font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 1rem;letter-spacing:2px;line-height:1.4}.loading-divider{width:60px;height:2px;background:var(--accent-color);margin:1rem auto;opacity:.6}.loading-slogan-en{font-family:Inter,sans-serif;font-size:18px;font-weight:500;color:var(--text-secondary);margin:0;letter-spacing:3px;text-transform:uppercase}.loading-message{animation:fadeIn 1s ease-out .6s both}.loading-text{font-family:Inter,sans-serif;font-size:15px;color:var(--text-secondary);margin:0 0 1rem;font-weight:500}.loading-dots{display:flex;justify-content:center;gap:8px;margin-top:1rem}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--accent-color);animation:dotBounce 1.4s ease-in-out infinite}.loading-dots span:nth-child(1){animation-delay:0s}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-12px);opacity:1}}.loading-decoration{position:absolute;inset:0;pointer-events:none;z-index:0}.decoration-circle{position:absolute;border-radius:50%;background:var(--accent-color);opacity:.1;animation:float 6s ease-in-out infinite}.circle-1{width:200px;height:200px;top:10%;left:10%;animation-delay:0s}.circle-2{width:150px;height:150px;top:60%;right:15%;animation-delay:2s}.circle-3{width:100px;height:100px;bottom:15%;left:20%;animation-delay:4s}@keyframes float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-30px) scale(1.1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-page.dark .loading-gradient{background:radial-gradient(circle at 30% 50%,rgba(59,130,246,.12) 0%,transparent 50%)}.loading-page.dark .loading-pattern{background-image:radial-gradient(circle at 1px 1px,rgba(59,130,246,.05) 1px,transparent 0)}@media(max-width:768px){.loading-logo-text,.loading-logo-dot{font-size:36px}.loading-slogan-cn{font-size:26px;letter-spacing:1px}.loading-slogan-en{font-size:16px;letter-spacing:2px}.loading-spinner{width:60px;height:60px}.circle-1{width:150px;height:150px}.circle-2{width:120px;height:120px}.circle-3{width:80px;height:80px}}@media(max-width:480px){.loading-content{padding:1.5rem}.loading-logo-text,.loading-logo-dot{font-size:32px}.loading-slogan-cn{font-size:22px}.loading-slogan-en{font-size:14px;letter-spacing:1px}.loading-text{font-size:14px}}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:10px;cursor:pointer;color:#6b7280;transition:all .2s ease;box-shadow:0 1px 2px #0000000d;padding:0;margin:0}.theme-toggle:hover{background:#fff;border-color:#00000026;color:#111827;transform:scale(1.05);box-shadow:0 2px 4px #0000001a}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{width:18px;height:18px;transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}[data-theme=dark] .theme-toggle{background:#1f2937e6;border-color:#ffffff1a;color:#9ca3af}[data-theme=dark] .theme-toggle:hover{background:#1f2937;border-color:#fff3;color:#fff}.check-in-success-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99999;display:flex;align-items:flex-start;justify-content:center;animation:fadeIn .2s ease;padding:80px 20px 20px;box-sizing:border-box;overflow-y:auto}.check-in-success-modal{background:#fff;border-radius:16px;padding:16px;max-width:480px;width:90%;height:auto;max-height:calc(100vh - 160px);overflow:visible;display:flex;flex-direction:column;position:relative;box-shadow:0 25px 50px #00000080,0 0 0 1px #d946ef33 inset;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);border:2px solid rgba(217,70,239,.3);margin:0 auto;z-index:100001}.modal-content-scrollable{flex:1;overflow-y:auto;min-height:0;overflow-x:hidden}[data-theme=dark] .check-in-success-modal{background:#1f2937}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{text-align:center;padding:0 0 10px;position:relative;flex-shrink:0;border-bottom:1px solid #e5e5e5;margin-bottom:10px}.modal-close-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;z-index:100003;line-height:1}.modal-close-x:hover{color:var(--text-primary);background:var(--hover-bg);border-radius:6px}.modal-close-x:active{transform:scale(.95)}.success-icon-large{position:relative;width:60px;height:60px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center}.success-icon-ring-large{position:absolute;width:60px;height:60px;border:3px solid #d946ef;border-radius:50%;animation:ringPulse 1.5s ease-out infinite}.success-icon-ring-large.ring-2{animation-delay:.5s;border-color:#a855f7}@keyframes ringPulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.success-check{font-size:36px;color:#d946ef;font-weight:700;z-index:1;animation:checkBounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.modal-title{font-size:15px;font-weight:700;color:#1a1a1a;margin:0 0 6px}.points-display-large{display:flex;align-items:baseline;justify-content:center;gap:8px}.points-plus-large{font-size:24px;color:#d946ef;font-weight:700;animation:fadeInUp .6s ease .2s both}.points-number-large{font-size:24px;color:#d946ef;font-weight:800;animation:fadeInUp .6s ease .3s both}.points-unit-large{font-size:13px;color:#888;animation:fadeInUp .6s ease .4s both}.user-stats-section{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 0 24px;flex-shrink:0;align-items:start}.stat-card-large{background:#f5f5f5;border-radius:12px;padding:16px 4px;text-align:center;transition:all .2s ease;border:1px solid transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100px;box-sizing:border-box;margin:0}.stat-card-large:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.stat-card-large.stat-highlight{background:#f5f5f5!important;border:1px solid transparent!important;padding:16px 4px!important}[data-theme=dark] .stat-card-large.stat-highlight{background:#333!important}.stat-icon-img-large{width:32px;height:32px;-o-object-fit:contain;object-fit:contain}.rank-medal-img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.stat-icon-large{font-size:24px;margin-bottom:6px;line-height:1;display:flex;align-items:center;justify-content:center;height:32px;width:100%}.stat-value-large{font-size:20px;font-weight:800;color:#d946ef;margin-bottom:2px;line-height:1.2;display:block}.stat-card-large.stat-highlight .stat-value-large{color:#d946ef!important;font-size:20px!important;font-weight:800!important}.stat-label-large{font-size:11px;color:#666;font-weight:500;line-height:1;margin-top:0;display:block}.ranking-section{padding:0;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;gap:6px}.ranking-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin-bottom:4px}.ranking-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0;display:flex;align-items:center;gap:6px}.ranking-title-rank{font-size:14px;font-weight:600;color:#d946ef}.ranking-tabs{display:flex;gap:8px;background:transparent;border-radius:0;padding:0}[data-theme=dark] .ranking-tabs{background:transparent}.tab-btn{padding:6px 16px;border:1px solid #e5e5e5;background:transparent;color:#666;border-radius:20px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s ease}.tab-btn:hover{color:#d946ef;border-color:#d946ef}[data-theme=dark] .tab-btn{border-color:#444;color:#aaa}[data-theme=dark] .tab-btn:hover{color:#d946ef;border-color:#d946ef}.tab-btn.active{background:#d946ef;color:#fff;border-color:#d946ef}.ranking-loading{text-align:center;padding:40px;color:var(--text-secondary)}.ranking-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:auto;min-height:0;overflow-x:hidden}.ranking-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f5f5f5;border-radius:6px;transition:all .2s ease;flex-shrink:0}.ranking-item:hover{background:linear-gradient(135deg,#d946ef14,#d946ef0a);transform:translate(4px)}.ranking-item.is-me{background:linear-gradient(135deg,#d946ef26,#d946ef14);border:2px solid rgba(217,70,239,.3)}.user-avatar-container{width:36px;height:36px;flex-shrink:0}.user-ranking-avatar{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid #fff;box-shadow:0 2px 4px #0000000d}.ranking-item.is-me .user-ranking-avatar{border-color:#d946ef}.ranking-position{min-width:40px;display:flex;align-items:center;justify-content:center}.rank-number-large{display:flex;align-items:center;justify-content:center;font-weight:700;color:#d946ef;font-size:16px}.rank-medal{font-size:20px;display:flex;align-items:center;justify-content:center}.user-name{font-size:14px;font-weight:600;color:#1a1a1a;display:flex;align-items:center;gap:6px}.user-score-small{font-size:12px;color:#888}.user-score-large{font-size:16px;font-weight:700;color:#d946ef;min-width:70px;text-align:right}.me-badge{background:#d946ef;color:#fff;font-size:11px;padding:2px 6px;border-radius:10px;font-weight:600}.user-rank-info{text-align:center;padding:8px;background:#f5f5f5;border-radius:6px;color:#888;font-size:12px;flex-shrink:0;margin-top:4px}.user-rank-info strong{color:#d946ef;font-size:14px;font-weight:700}[data-theme=dark] .check-in-success-modal{background:#2a2a2a}[data-theme=dark] .modal-header{border-bottom-color:#444}[data-theme=dark] .modal-title{color:#fff}[data-theme=dark] .stat-card-large{background:#333}[data-theme=dark] .stat-value-large,[data-theme=dark] .stat-card-large.stat-highlight .stat-value-large{color:#d946ef}[data-theme=dark] .ranking-item{background:#333}[data-theme=dark] .ranking-item.is-me{background:linear-gradient(135deg,#d946ef26,#d946ef14)}[data-theme=dark] .ranking-title,[data-theme=dark] .user-name{color:#fff}[data-theme=dark] .ranking-tabs,[data-theme=dark] .user-rank-info{background:#333}.ranking-list::-webkit-scrollbar{width:6px}.ranking-list::-webkit-scrollbar-track{background:transparent}.ranking-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.ranking-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.check-in-container{position:relative;width:100%}.check-in-button{width:100%;padding:18px 32px;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .25s ease;background:#28332e;color:#fff;box-shadow:0 8px 22px #1f282429;position:relative;overflow:hidden}.check-in-button:hover:not(:disabled){transform:translateY(-2px);background:#3d5047;box-shadow:0 12px 28px #1f282433}.check-in-button:active:not(:disabled){transform:translateY(0)}.check-in-button:disabled{cursor:not-allowed}.check-in-button.checked{background:#edf4ee;color:#315f43;border:1px solid #bfd2c3;box-shadow:none}.check-in-button.checked:hover:not(:disabled){box-shadow:none}.check-icon,.calendar-icon{font-size:18px}.check-in-info{margin-top:20px}.streak-display{display:flex;align-items:center;gap:16px;padding:20px;background:#fbf7ed;border-radius:16px;margin-bottom:16px;border:1px solid rgba(168,117,39,.22)}[data-theme=dark] .streak-display{background:linear-gradient(135deg,#fbbf2426,#f59e0b26);border-color:#fbbf2433}.fire-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0}.fire-icon{font-size:48px;filter:drop-shadow(0 2px 4px rgba(245,158,11,.4))}.streak-count{position:absolute;bottom:2px;right:-4px;font-size:18px;font-weight:900;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #f59e0b80;border:2px solid white}[data-theme=dark] .streak-count{border-color:#1f2937}.streak-text{flex:1;display:flex;flex-direction:column;gap:4px}.streak-label{font-size:12px;font-weight:600;color:#92400e;letter-spacing:.5px}[data-theme=dark] .streak-label{color:#fbbf24}.streak-days{font-size:26px;font-weight:800;color:#d97706;line-height:1}[data-theme=dark] .streak-days{color:#fbbf24}.milestone-progress{padding:16px 20px;background:var(--paper-color, #ffffff);border-radius:14px;border:1px solid var(--border-color, #e5e7eb);box-shadow:0 1px 3px #0000000d}[data-theme=dark] .milestone-progress{background:#3741514d;border-color:#4b556380}.milestone-text{font-size:13px;color:var(--text-secondary, #6b7280);margin-bottom:8px;font-weight:500}.milestone-reward{font-size:15px;font-weight:700;color:#a87527;margin-bottom:12px}[data-theme=dark] .milestone-reward{color:#a78bfa}.milestone-bar{height:8px;background:#a8752724;border-radius:10px;overflow:hidden}.milestone-fill{height:100%;background:linear-gradient(90deg,#28332e,#a87527);border-radius:10px;transition:width .5s ease}.check-in-result{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .4s ease;cursor:pointer}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.fireworks-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.firework{position:absolute;width:8px;height:8px;border-radius:50%;animation:fireworkBurst 1.5s ease-out forwards}.firework-0{background:#ff6b6b}.firework-1{background:#ffd93d}.firework-2{background:#6bcb77}.firework-3{background:#4d96ff}.firework-4{background:#c36bff}@keyframes fireworkBurst{0%{transform:translateY(50vh) scale(0);opacity:1}50%{opacity:1}to{transform:translateY(-20vh) scale(1.5);opacity:0}}.result-card-premium{position:relative;background:linear-gradient(145deg,#fff,#f8fafc);border-radius:28px;padding:48px 40px 36px;text-align:center;max-width:420px;width:92%;box-shadow:0 25px 80px #6366f14d,0 10px 40px #0003,inset 0 1px #fffc;animation:cardEntrance .6s cubic-bezier(.34,1.56,.64,1);overflow:hidden;cursor:default}[data-theme=dark] .result-card-premium{background:linear-gradient(145deg,#1f2937,#111827);box-shadow:0 25px 80px #6366f140,0 10px 40px #0006,inset 0 1px #ffffff1a}@keyframes cardEntrance{0%{transform:translateY(60px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.glow-bg{position:absolute;inset:-50%;background:radial-gradient(circle at 50% 30%,rgba(99,102,241,.15) 0%,transparent 50%);animation:glowRotate 10s linear infinite;pointer-events:none}@keyframes glowRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon-wrapper{position:relative;width:100px;height:100px;margin:0 auto 24px}.success-icon-ring{position:absolute;inset:0;border:3px solid;border-color:#10b981 transparent #10b981 transparent;border-radius:50%;animation:ringRotate 2s linear infinite}.success-icon-ring.ring-2{border-color:transparent #34d399 transparent #34d399;animation:ringRotate 2s linear infinite reverse;animation-delay:.5s}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;background:linear-gradient(135deg,#10b981,#34d399);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:900;color:#fff;box-shadow:0 8px 32px #10b98166;animation:iconPop .5s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes iconPop{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1)}}.result-title-premium{font-size:28px;font-weight:800;color:var(--text-primary, #1f2937);margin-bottom:20px;letter-spacing:2px}.points-showcase{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-bottom:20px;animation:pointsCountUp .8s ease-out .3s both}@keyframes pointsCountUp{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.points-plus{font-size:36px;font-weight:900;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.points-number{font-size:72px;font-weight:900;background:linear-gradient(135deg,#6366f1,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;text-shadow:0 4px 30px rgba(99,102,241,.3)}.points-unit{font-size:20px;font-weight:700;color:var(--text-secondary, #6b7280);margin-left:4px}.bonus-badges{margin:16px 0 24px;display:flex;flex-direction:column;gap:8px;animation:bonusFadeIn .5s ease .5s both}@keyframes bonusFadeIn{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.bonus-badge{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;border-radius:30px;font-size:15px;font-weight:700;box-shadow:0 6px 20px #f59e0b66;animation:badgePulse 2s ease-in-out infinite}.bonus-star{font-size:16px;animation:starSpin 1s ease-in-out infinite}@keyframes starSpin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}}@keyframes badgePulse{0%,to{box-shadow:0 6px 20px #f59e0b66}50%{box-shadow:0 8px 30px #f59e0b99}}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;animation:statsSlideIn .6s ease .4s both}@keyframes statsSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.stat-card{background:var(--bg-secondary, #f3f4f6);border-radius:16px;padding:16px 12px;transition:all .3s ease}[data-theme=dark] .stat-card{background:#37415180}.stat-card.highlight{background:linear-gradient(135deg,#6366f126,#a855f726);border:1px solid rgba(99,102,241,.3)}[data-theme=dark] .stat-card.highlight{background:linear-gradient(135deg,#6366f140,#a855f740)}.stat-icon{font-size:28px;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.stat-value{font-size:28px;font-weight:900;color:var(--text-primary, #1f2937);line-height:1;margin-bottom:4px}.stat-card.highlight .stat-value{background:linear-gradient(135deg,#6366f1,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:12px;font-weight:600;color:var(--text-secondary, #6b7280);letter-spacing:.5px}.level-showcase{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;background:linear-gradient(135deg,#6366f11a,#a855f71a);border-radius:30px;margin-bottom:16px}.level-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 14px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:20px;font-size:14px;font-weight:800;box-shadow:0 4px 12px #6366f159}.level-name{font-size:15px;font-weight:700;color:var(--text-primary, #1f2937)}.level-points{font-size:14px;font-weight:600;color:var(--text-secondary, #6b7280)}.close-hint{font-size:13px;color:var(--text-muted, #9ca3af);opacity:.7;animation:hintBlink 2s ease-in-out infinite}@keyframes hintBlink{0%,to{opacity:.5}50%{opacity:.8}}@media(max-width:480px){.check-in-button{padding:16px 24px;font-size:15px}.streak-display{padding:16px;gap:12px}.fire-icon-wrapper{width:56px;height:56px}.fire-icon{font-size:40px}.streak-count{width:24px;height:24px;font-size:14px}.streak-days{font-size:22px}.result-card{padding:32px 24px}.result-icon{font-size:56px}.result-title{font-size:20px}.result-points{font-size:36px}}.ranking-display{width:100%}.ranking-display.loading,.ranking-display.error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-secondary, #666);font-size:16px}.ranking-card{background:var(--paper-color, #fff);border:1px solid var(--border-color, #e5e5e5);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f}.ranking-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color, #e5e5e5)}.ranking-badge{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:100px}.ranking-icon{width:48px;height:48px;-o-object-fit:contain;object-fit:contain}.ranking-number{font-size:28px;font-weight:700;color:#d946ef;background:linear-gradient(135deg,#d946ef,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ranking-main{flex:1}.ranking-info{display:flex;flex-direction:column;gap:4px}.ranking-label{font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.ranking-percentage{font-size:16px;font-weight:500;color:var(--text-primary, #1a1a1a)}.ranking-metrics{display:flex;justify-content:space-around;align-items:center;gap:12px;margin-bottom:24px;padding:20px;background:var(--bg-color, #f5f5f5);border-radius:8px}.metric-item{flex:1;text-align:center}.metric-label{font-size:12px;color:var(--text-secondary, #666);margin-bottom:8px;font-weight:500}.metric-value{display:flex;align-items:baseline;justify-content:center;gap:4px}.metric-number{font-size:24px;font-weight:700;color:var(--text-primary, #1a1a1a)}.metric-unit{font-size:12px;color:var(--text-secondary, #666)}.metric-divider{width:1px;height:40px;background:var(--border-color, #e5e5e5)}.ranking-formula{margin-bottom:24px;padding:16px;background:var(--info-bg, #f8f9ff);border-left:4px solid #d946ef;border-radius:8px}.formula-title{font-size:12px;font-weight:600;color:var(--text-secondary, #666);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.formula-content{font-size:14px;color:var(--text-primary, #1a1a1a);font-weight:500;font-family:Monaco,Courier,monospace}.nearby-rankings{margin-bottom:24px}.nearby-title{font-size:14px;font-weight:600;color:var(--text-primary, #1a1a1a);margin-bottom:12px}.nearby-list{display:flex;flex-direction:column;gap:8px}.nearby-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-color, #f5f5f5);border-radius:8px;transition:all .2s ease}.nearby-item:hover{background:var(--info-bg, #f8f9ff)}.nearby-item.current-user{background:linear-gradient(135deg,#fef3ff,#f8f9ff);border:1px solid #d946ef;font-weight:600}.nearby-rank{font-size:14px;font-weight:700;color:#d946ef;min-width:50px}.user-avatar-mini{width:32px;height:32px;flex-shrink:0}.user-avatar-mini img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1.5px solid #fff;box-shadow:0 2px 4px #0000000d}.nearby-item.current-user .user-avatar-mini img{border-color:#d946ef}.rank-medal{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;min-width:50px;display:flex;align-items:center;justify-content:center}.nearby-name{flex:1;font-size:14px;color:var(--text-primary, #1a1a1a)}.nearby-score{font-size:14px;font-weight:600;color:var(--text-secondary, #666)}.ranking-refresh-btn{width:100%;padding:12px 16px;background:transparent;border:1px solid var(--border-color, #e5e5e5);border-radius:8px;color:var(--text-secondary, #666);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.ranking-refresh-btn:hover{background:var(--accent-light, #fae8ff);border-color:#d946ef;color:#d946ef}.ranking-refresh-btn:active{transform:scale(.98)}[data-theme=dark] .ranking-card{background:var(--paper-color);border-color:var(--border-color)}[data-theme=dark] .ranking-header{border-bottom-color:var(--border-color)}[data-theme=dark] .ranking-metrics{background:var(--bg-color)}[data-theme=dark] .metric-divider{background:var(--border-color)}[data-theme=dark] .ranking-formula{background:var(--info-bg);border-left-color:#d946ef}[data-theme=dark] .nearby-item{background:var(--bg-color)}[data-theme=dark] .nearby-item:hover{background:var(--info-bg)}[data-theme=dark] .nearby-item.current-user{background:linear-gradient(135deg,var(--accent-light) 0%,var(--info-bg) 100%);border-color:#d946ef}[data-theme=dark] .ranking-refresh-btn{border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .ranking-refresh-btn:hover{background:var(--accent-light);border-color:#d946ef;color:#d946ef}.points-hub{--points-ink:#1f2824;--points-muted:#68716c;--points-paper:#fffdf8;--points-line:rgba(44,51,47,.14);--points-gold:#a87527;width:100%;color:var(--points-ink)}.points-hub-loading{min-height:220px;display:grid;place-items:center;color:#767d79;font-size:14px}.points-hub-eyebrow{display:block;color:var(--points-gold);font-size:10px;font-weight:850;letter-spacing:.2em}.points-hub-balance{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(210px,.55fr);gap:26px 42px;padding:38px 42px 30px;overflow:hidden;border:1px solid rgba(129,95,43,.24);border-radius:18px;background:radial-gradient(circle at 92% 8%,rgba(181,137,69,.17),transparent 17rem),linear-gradient(135deg,#fbf7ed,#f1eadc);box-shadow:0 18px 42px #43341e14}.points-hub-balance:after{content:"VP";position:absolute;right:-13px;bottom:-56px;color:#7454260b;font:900 190px Georgia,serif;letter-spacing:-.12em}.points-hub-balance-copy,.points-hub-wallet,.points-hub-level,.points-hub-stats{position:relative;z-index:1}.points-hub-balance-copy h2{max-width:620px;margin:10px 0 12px;font-family:Georgia,Songti SC,serif;font-size:clamp(30px,3vw,44px);line-height:1.14;letter-spacing:-.035em}.points-hub-balance-copy p{max-width:650px;margin:0;color:var(--points-muted);font-size:14px;line-height:1.8}.points-hub-wallet{align-self:start;padding:8px 0 0 26px;border-left:1px solid rgba(120,89,42,.22);text-align:right}.points-hub-wallet>span{display:block;color:var(--points-muted);font-size:12px}.points-hub-wallet strong{display:block;margin:6px 0 -2px;font:600 clamp(46px,5vw,70px)/1 Georgia,serif;letter-spacing:-.045em}.points-hub-wallet small{color:var(--points-gold);font-size:10px;font-weight:800;letter-spacing:.18em}.points-hub-level{align-self:end}.points-hub-level>div:first-child{display:flex;align-items:baseline;gap:11px}.points-hub-level>div:first-child span{font:700 21px Georgia,serif}.points-hub-level>div:first-child strong{font-size:13px}.points-hub-progress{height:5px;margin:12px 0 8px;overflow:hidden;border-radius:10px;background:#5d4d341f}.points-hub-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#292f2b,#b38134);transition:width .5s ease}.points-hub-level small{color:var(--points-muted);font-size:11px}.points-hub-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(120,89,42,.16);border-radius:11px;background:#fffdf88c}.points-hub-stats>div{min-width:0;padding:13px 15px;border-right:1px solid rgba(120,89,42,.13)}.points-hub-stats>div:last-child{border-right:0}.points-hub-stats span{display:block;color:var(--points-muted);font-size:10px}.points-hub-stats strong{display:block;margin-top:4px;font:700 24px Georgia,serif}.points-hub-stats strong small{color:inherit;font-size:12px}.points-hub-notice{margin-top:16px;padding:12px 15px;border:1px solid;border-radius:9px;font-size:13px}.points-hub-notice.is-success{color:#286043;border-color:#bfddcd;background:#eef8f2}.points-hub-notice.is-error{color:#8d3d33;border-color:#e7c7c2;background:#fbf1ef}.points-hub-market,.points-hub-checkin{margin-top:24px;padding:30px 32px;border:1px solid var(--points-line);border-radius:16px;background:var(--points-paper);box-shadow:0 9px 28px #242d280a}.points-hub-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:3px double var(--points-line)}.points-hub-section-heading h2{margin:6px 0 0;font:700 30px Georgia,Songti SC,serif}.points-hub-section-heading p{margin:0;color:var(--points-muted);font-size:12px}.points-hub-checkin .check-in-container{margin-top:22px}.points-hub-checkin .check-in-button{border-radius:6px}.points-hub-checkin .check-in-info{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:14px}.points-hub-checkin .streak-display{margin:0;border-radius:8px}.points-hub-checkin .milestone-progress{border-radius:8px;box-shadow:none}.makeup-product{display:grid;grid-template-columns:84px minmax(0,1fr) auto;align-items:center;gap:22px;padding:26px 0;border-bottom:1px solid var(--points-line)}.makeup-product-mark{width:80px;height:96px;display:grid;place-items:center;border-radius:6px 10px 10px 6px;color:#f8f0dd;background:#28332e;box-shadow:inset 5px 0 #ffffff12,0 10px 22px #1f282429}.makeup-product-mark svg{width:42px;fill:none;stroke:currentColor;stroke-width:1.5}.makeup-product-title{display:flex;align-items:end;justify-content:space-between;gap:18px}.makeup-product-title span{color:var(--points-gold);font-size:9px;font-weight:800;letter-spacing:.16em}.makeup-product-title h3{margin:4px 0 0;font:700 25px Georgia,Songti SC,serif}.makeup-product-title>strong{color:var(--points-gold);font:700 25px Georgia,serif;white-space:nowrap}.makeup-product-title>strong small{font-size:11px}.makeup-product-copy>p{max-width:680px;margin:10px 0 13px;color:var(--points-muted);font-size:12px;line-height:1.7}.makeup-inventory{display:flex;gap:18px;color:var(--points-muted);font-size:11px}.makeup-inventory strong{color:var(--points-ink)}.makeup-purchase{width:172px;display:grid;gap:9px}.makeup-counter{height:36px;display:grid;grid-template-columns:36px 1fr 36px;border:1px solid var(--points-line);border-radius:5px}.makeup-counter button{border:0;color:var(--points-muted);background:transparent;cursor:pointer;font-size:17px}.makeup-counter button:disabled{cursor:default;opacity:.28}.makeup-counter span{display:grid;place-items:center;border-inline:1px solid var(--points-line);font:700 16px Georgia,serif}.makeup-buy{min-height:42px;padding:0 13px;border:1px solid #28332e;border-radius:4px;color:#fff;background:#28332e;cursor:pointer;font-size:12px;font-weight:750}.makeup-buy:hover:not(:disabled){background:#3e5148}.makeup-buy:disabled{color:#8a8f8c;border-color:var(--points-line);background:#f1f0ec;cursor:not-allowed}.makeup-dates{padding-top:22px}.makeup-dates-heading{display:flex;justify-content:space-between;gap:18px}.makeup-dates-heading h3{margin:0;font-size:14px}.makeup-dates-heading span{color:var(--points-muted);font-size:11px}.makeup-date-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.makeup-date-list button{min-width:118px;display:grid;gap:3px;padding:10px 13px;text-align:left;border:1px solid var(--points-line);border-radius:6px;color:var(--points-ink);background:#faf8f2;cursor:pointer}.makeup-date-list button:hover:not(:disabled){border-color:#a875278c;background:#fbf4e6}.makeup-date-list button:disabled{opacity:.55;cursor:not-allowed}.makeup-date-list small{color:var(--points-gold);font-size:9px}.makeup-date-empty{margin-top:14px;padding:17px;color:var(--points-muted);border:1px dashed var(--points-line);border-radius:7px;background:#faf9f5;text-align:center;font-size:12px}.points-hub>.ranking-display{margin-top:24px}.points-hub .ranking-number,.points-hub .nearby-rank{color:var(--points-gold);background:none;-webkit-text-fill-color:currentColor}.points-hub .ranking-formula{border-left-color:var(--points-gold);background:#faf7ef}.points-hub .nearby-item.current-user{border-color:#a8752766;background:#fbf5e8}.points-hub .ranking-refresh-btn:hover{color:var(--points-gold);border-color:var(--points-gold);background:#fbf5e8}.points-confirm-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:22px;background:#171c197a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.points-confirm-dialog{width:min(420px,100%);padding:28px;border:1px solid rgba(168,117,39,.27);border-radius:14px;background:#fffdf8;box-shadow:0 28px 80px #0f14113d}.points-confirm-dialog h3{margin:8px 0 10px;font:700 25px Georgia,Songti SC,serif}.points-confirm-dialog p{margin:0;color:var(--points-muted);font-size:13px;line-height:1.65}.points-confirm-dialog>div{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.points-confirm-dialog button{min-width:92px;height:40px;border:1px solid var(--points-line);border-radius:4px;color:var(--points-ink);background:transparent;cursor:pointer;font-weight:700}.points-confirm-dialog button.is-primary{color:#fff;border-color:#28332e;background:#28332e}@media(max-width:780px){.points-hub-balance{grid-template-columns:1fr;padding:28px 24px 24px;gap:25px}.points-hub-wallet{padding:18px 0 0;border-top:1px solid rgba(120,89,42,.18);border-left:0;text-align:left}.points-hub-market,.points-hub-checkin{padding:25px 20px}.points-hub-section-heading{align-items:flex-start;flex-direction:column}.points-hub-checkin .check-in-info{grid-template-columns:1fr}.makeup-product{grid-template-columns:72px minmax(0,1fr);align-items:start}.makeup-product-mark{width:68px;height:84px}.makeup-purchase{width:100%;grid-column:1/-1;grid-template-columns:130px 1fr}}@media(max-width:480px){.points-hub-balance-copy h2{font-size:29px}.points-hub-stats{grid-template-columns:1fr}.points-hub-stats>div{border-right:0;border-bottom:1px solid rgba(120,89,42,.13)}.makeup-product{grid-template-columns:1fr}.makeup-product-mark{width:72px}.makeup-product-title{align-items:flex-start;flex-direction:column}.makeup-purchase{grid-column:auto;grid-template-columns:1fr}}[data-theme=dark] .points-hub{--points-ink:#edf1ee;--points-muted:#a7b0ab;--points-paper:#1b201d;--points-line:rgba(230,235,232,.13)}[data-theme=dark] .points-hub-balance{border-color:#c69e5b3b;background:radial-gradient(circle at 92% 8%,rgba(181,137,69,.15),transparent 17rem),linear-gradient(135deg,#25231f,#1d211e)}[data-theme=dark] .points-hub-market,[data-theme=dark] .points-hub-checkin,[data-theme=dark] .points-confirm-dialog{background:#1b201d}[data-theme=dark] .points-hub-stats{background:#14181666}[data-theme=dark] .makeup-date-list button,[data-theme=dark] .makeup-date-empty{color:var(--points-ink);background:#202622}.achievement-icon{display:inline-flex;align-items:center;justify-content:center}.icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;transition:transform .3s ease;background:transparent}.icon-wrapper:hover{transform:scale(1.1) rotate(5deg)}.achievement-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.icon-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;z-index:1;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.icon-wrapper.locked{opacity:.3;filter:grayscale(100%)}.lock-icon{font-size:100%;opacity:.5}.achievement-icon-small .icon-wrapper{width:48px;height:48px}.achievement-icon-medium .icon-wrapper{width:64px;height:64px}.achievement-icon-large .icon-wrapper{width:80px;height:80px}.icon-common-teal .achievement-image{filter:sepia(20%) hue-rotate(130deg) saturate(2) brightness(1.1) drop-shadow(0 4px 10px rgba(32,178,170,.8))}.icon-common-teal .icon-glow{background:radial-gradient(circle,rgba(32,178,170,.5) 0%,transparent 70%)}.icon-common-coral .achievement-image{filter:sepia(30%) hue-rotate(-20deg) saturate(2.5) brightness(1.1) drop-shadow(0 4px 10px rgba(255,107,107,.8))}.icon-common-coral .icon-glow{background:radial-gradient(circle,rgba(255,107,107,.5) 0%,transparent 70%)}.icon-common-mint .achievement-image{filter:sepia(20%) hue-rotate(140deg) saturate(2) brightness(1.15) drop-shadow(0 4px 10px rgba(78,205,196,.8))}.icon-common-mint .icon-glow{background:radial-gradient(circle,rgba(78,205,196,.5) 0%,transparent 70%)}.icon-common-brown .achievement-image{filter:sepia(50%) hue-rotate(10deg) saturate(1.5) brightness(1.05) drop-shadow(0 4px 10px rgba(139,115,85,.8))}.icon-common-brown .icon-glow{background:radial-gradient(circle,rgba(139,115,85,.5) 0%,transparent 70%)}.icon-common-olive .achievement-image{filter:sepia(30%) hue-rotate(50deg) saturate(2) brightness(1.1) drop-shadow(0 4px 10px rgba(124,179,66,.8))}.icon-common-olive .icon-glow{background:radial-gradient(circle,rgba(124,179,66,.5) 0%,transparent 70%)}.icon-common-cyan .achievement-image{filter:sepia(20%) hue-rotate(100deg) saturate(2.5) brightness(1.2) drop-shadow(0 4px 10px rgba(67,233,123,.8))}.icon-common-cyan .icon-glow{background:radial-gradient(circle,rgba(67,233,123,.5) 0%,transparent 70%)}.icon-common .achievement-image{filter:grayscale(40%) brightness(.95) drop-shadow(0 4px 10px rgba(128,128,128,.8))}.icon-common .icon-glow{background:radial-gradient(circle,rgba(128,128,128,.4) 0%,transparent 70%)}.icon-rare .achievement-image{filter:sepia(30%) hue-rotate(180deg) saturate(3) brightness(1.15) drop-shadow(0 4px 15px rgba(0,140,255,1))}.icon-rare .icon-glow{background:radial-gradient(circle,rgba(0,112,221,.5) 0%,transparent 70%)}.icon-epic .achievement-image{filter:sepia(60%) hue-rotate(260deg) saturate(3) brightness(1.25) drop-shadow(0 4px 18px rgba(163,53,238,1))}.icon-epic .icon-glow{background:radial-gradient(circle,rgba(163,53,238,.5) 0%,transparent 70%)}.icon-legendary .achievement-image{animation:rainbow 3s linear infinite;filter:brightness(1.4) contrast(1.3) saturate(2) drop-shadow(0 4px 20px rgba(255,180,0,1))}.icon-legendary .icon-glow{background:radial-gradient(circle,rgba(255,180,0,.6) 0%,transparent 70%);animation:legendaryPulse 1.5s ease-in-out infinite}@keyframes legendaryPulse{0%,to{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}}@keyframes rainbow{0%{filter:hue-rotate(0deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(255,0,0,.8))}16.6%{filter:hue-rotate(60deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(255,255,0,.8))}33.3%{filter:hue-rotate(120deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(0,255,0,.8))}50%{filter:hue-rotate(180deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(0,255,255,.8))}66.6%{filter:hue-rotate(240deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(0,0,255,.8))}83.3%{filter:hue-rotate(300deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(255,0,255,.8))}to{filter:hue-rotate(360deg) brightness(1.3) contrast(1.3) saturate(2) drop-shadow(0 4px 16px rgba(255,0,0,.8))}}[data-theme=dark] .achievement-image{filter:brightness(1.2) drop-shadow(0 4px 8px rgba(255,255,255,.3))}[data-theme=dark] .icon-common .achievement-image{filter:grayscale(40%) brightness(1.2) drop-shadow(0 4px 12px rgba(180,180,180,.8))}[data-theme=dark] .icon-rare .achievement-image{filter:sepia(30%) hue-rotate(180deg) saturate(3) brightness(1.4) drop-shadow(0 4px 18px rgba(100,180,255,1))}[data-theme=dark] .icon-epic .achievement-image{filter:sepia(60%) hue-rotate(260deg) saturate(3) brightness(1.5) drop-shadow(0 4px 20px rgba(200,100,255,1))}[data-theme=dark] .icon-legendary .achievement-image{filter:brightness(1.6) contrast(1.4) saturate(2.5) drop-shadow(0 4px 24px rgba(255,200,0,1))}@media(max-width:768px){.achievement-icon-small .icon-wrapper{width:40px;height:40px}.achievement-icon-medium .icon-wrapper{width:56px;height:56px}.achievement-icon-large .icon-wrapper{width:72px;height:72px}}.title-badges{width:100%;max-width:100%;margin:0 auto;padding:0}.title-badges.loading{text-align:center;padding:60px;color:#999;font-size:16px}.title-header{text-align:center;margin-bottom:40px;padding:24px;background:linear-gradient(135deg,#667eea0d,#764ba20d);border-radius:20px;border:2px solid rgba(102,126,234,.1)}.title-header h2{font-size:32px;font-weight:900;margin-bottom:12px;color:var(--text-primary, #333);text-shadow:0 2px 4px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;gap:8px}.title-header-icon{width:36px;height:36px;-o-object-fit:contain;object-fit:contain}.subtitle{color:var(--text-secondary, #666);font-size:16px;font-weight:600}.category-tabs{display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:8px}.category-tab{padding:8px 16px;border:2px solid #e5e7eb;border-radius:20px;background:#fff;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:all .3s ease;display:flex;align-items:center;gap:6px}.category-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.category-tab:hover{border-color:#667eea;color:#667eea}.category-tab.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:#6366f1;color:#fff;box-shadow:0 4px 12px #6366f159}.titles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.title-card{background:#fff;border:3px solid;border-radius:20px;padding:24px;display:flex;gap:20px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.title-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,transparent 70%);opacity:0;transition:opacity .4s ease}.title-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px #00000026}.title-card:hover:before{opacity:.3}.title-card.locked{opacity:.5;filter:grayscale(80%);background:#f5f5f5}.title-card.locked:hover{transform:translateY(-4px)}.title-card.owned{box-shadow:0 4px 20px #667eea33}.title-card.owned.common-teal{background:linear-gradient(135deg,#20b2aa1a,#40e0d026);box-shadow:0 4px 20px #20b2aa40,0 0 30px #40e0d026;animation:tealGlow 3s ease-in-out infinite}.title-card.owned.common-coral{background:linear-gradient(135deg,#ff6b6b1a,#ff8f8f26);box-shadow:0 4px 20px #ff6b6b40,0 0 30px #ff8f8f26;animation:coralGlow 3s ease-in-out infinite}.title-card.owned.common-mint{background:linear-gradient(135deg,#4ecdc41a,#81ecec26);box-shadow:0 4px 20px #4ecdc440,0 0 30px #81ecec26;animation:mintGlow 3s ease-in-out infinite}.title-card.owned.common-brown{background:linear-gradient(135deg,#8b73551a,#b4966e26);box-shadow:0 4px 20px #8b735540,0 0 30px #b4966e26;animation:brownGlow 3s ease-in-out infinite}.title-card.owned.common-olive{background:linear-gradient(135deg,#7cb3421a,#9ccc6526);box-shadow:0 4px 20px #7cb34240,0 0 30px #9ccc6526;animation:oliveGlow 3s ease-in-out infinite}.title-card.owned.common-cyan{background:linear-gradient(135deg,#43e97b1a,#38f9d726);box-shadow:0 4px 20px #43e97b40,0 0 30px #38f9d726;animation:cyanGlow 3s ease-in-out infinite}@keyframes tealGlow{0%,to{box-shadow:0 4px 20px #20b2aa40,0 0 30px #40e0d026}50%{box-shadow:0 4px 25px #20b2aa59,0 0 40px #40e0d040}}@keyframes coralGlow{0%,to{box-shadow:0 4px 20px #ff6b6b40,0 0 30px #ff8f8f26}50%{box-shadow:0 4px 25px #ff6b6b59,0 0 40px #ff8f8f40}}@keyframes mintGlow{0%,to{box-shadow:0 4px 20px #4ecdc440,0 0 30px #81ecec26}50%{box-shadow:0 4px 25px #4ecdc459,0 0 40px #81ecec40}}@keyframes brownGlow{0%,to{box-shadow:0 4px 20px #8b735540,0 0 30px #b4966e26}50%{box-shadow:0 4px 25px #8b735559,0 0 40px #b4966e40}}@keyframes oliveGlow{0%,to{box-shadow:0 4px 20px #7cb34240,0 0 30px #9ccc6526}50%{box-shadow:0 4px 25px #7cb34259,0 0 40px #9ccc6540}}@keyframes cyanGlow{0%,to{box-shadow:0 4px 20px #43e97b40,0 0 30px #38f9d726}50%{box-shadow:0 4px 25px #43e97b59,0 0 40px #38f9d740}}.title-card.owned.rarity-common:not(.common-teal):not(.common-coral):not(.common-mint):not(.common-brown):not(.common-olive){background:linear-gradient(135deg,#20b2aa1a,#40e0d026);box-shadow:0 4px 20px #20b2aa40}.title-card.owned.rarity-rare{background:linear-gradient(135deg,#0070dd1a,#64b4ff26);box-shadow:0 4px 20px #0070dd40}.title-card.owned.rarity-epic{background:linear-gradient(135deg,#a335ee1a,#c864ff26);box-shadow:0 4px 20px #a335ee40}.title-card.owned.rarity-legendary{background:linear-gradient(135deg,#ffb40026,#ffd70033);box-shadow:0 4px 20px #ffb4004d}.title-card.owned:after{content:"✓";position:absolute;top:12px;right:12px;width:32px;height:32px;background:linear-gradient(135deg,#56ab2f,#a8e063);color:#fff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 4px 12px #56ab2f66}.title-icon{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:16px;transition:transform .3s ease}.title-card:hover .title-icon{transform:scale(1.05)}.title-info{flex:1;display:flex;flex-direction:column;gap:8px}.title-name{font-size:18px;font-weight:700;color:var(--text-primary, #333);display:flex;align-items:center;gap:8px}.rarity-badge{font-size:11px;font-weight:600;color:#fff;padding:2px 8px;border-radius:10px;text-transform:uppercase}.title-description{font-size:14px;color:var(--text-secondary, #666)}.title-condition{font-size:12px;color:var(--text-tertiary, #999);margin-top:4px}.title-progress{margin-top:12px}.progress-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);transition:width .3s ease}.progress-text{font-size:11px;color:var(--text-tertiary, #999)}.equip-button{margin-top:16px;padding:12px 24px;border:none;border-radius:12px;background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6b728059;position:relative;overflow:hidden}.equip-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.equip-button:hover:before{width:300px;height:300px}.equip-button:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 8px 20px #6b728080;background:linear-gradient(135deg,#4b5563,#374151)}.equip-button:active{transform:translateY(-2px) scale(1)}.title-card.equipped{background:linear-gradient(135deg,#ffc10726,#ff980026);border-color:#ffc107!important;box-shadow:0 4px 20px #ffc1074d,inset 0 0 20px #ffc1071a}.title-card.equipped:after{content:"👑";background:linear-gradient(135deg,#ffc107,#ff9800);box-shadow:0 4px 12px #ffc10780}.equipped-badge{display:flex;align-items:center;gap:6px;margin-top:16px;padding:12px 24px;background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;font-size:14px;font-weight:700;border-radius:12px;box-shadow:0 4px 12px #ffc10766}.equipped-badge .equipped-icon{font-size:16px;font-weight:700}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #666)}[data-theme=dark] .title-header h2{color:var(--text-primary, #e5e5e5)}[data-theme=dark] .subtitle{color:var(--text-secondary, #999)}[data-theme=dark] .category-tab{background:#2a2a2a;border-color:#404040;color:#e5e5e5}[data-theme=dark] .title-card{background:#2a2a2a}[data-theme=dark] .title-card.owned{background:linear-gradient(135deg,#667eea26,#764ba226)}[data-theme=dark] .title-name{color:var(--text-primary, #e5e5e5)}[data-theme=dark] .title-description{color:var(--text-secondary, #999)}[data-theme=dark] .title-condition{color:var(--text-tertiary, #666)}[data-theme=dark] .progress-bar{background:#404040}[data-theme=dark] .empty-state{color:var(--text-secondary, #999)}[data-theme=dark] .title-card.equipped{background:linear-gradient(135deg,#ffc10733,#ff980033)}.level-badge{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:0;background:transparent;border-radius:20px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;transition:all .3s ease}.badge-icon{position:relative;display:flex;align-items:center;justify-content:center;transition:all .3s ease;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.badge-icon:hover{transform:scale(1.08)}.badge-glow-layer{position:absolute;top:60%;left:50%;transform:translate(-50%,-50%);width:140%;height:120%;border-radius:50%;z-index:0;opacity:.7;filter:blur(25px);animation:pulse-glow 2.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(.95);filter:blur(20px)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.1);filter:blur(30px)}}.badge-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;position:relative;z-index:2;background:transparent!important;transition:all .3s ease}.level-badge-small{background:transparent;border:none;box-shadow:none;padding:0}.level-badge-small .badge-icon{width:32px;height:32px}.level-badge-medium{background:transparent;border:none;box-shadow:none;padding:0}.level-badge-medium .badge-icon{width:48px;height:48px}.level-badge-large{background:transparent;border:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}.level-badge-large .badge-icon{width:80px;height:80px}.level-badge-large .badge-label{margin-top:8px;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 8px rgba(255,255,255,.8)}.glow-light .badge-glow-layer{opacity:.4;filter:blur(20px)}.glow-medium .badge-glow-layer{opacity:.6;filter:blur(25px)}.glow-strong .badge-glow-layer{opacity:.8;filter:blur(30px)}.badge-legendary .badge-glow-layer{animation:rainbow-pulse 3s linear infinite}.badge-legendary .badge-image{animation:rainbow-filter 3s linear infinite}@keyframes rainbow-pulse{0%{box-shadow:0 0 20px red,0 0 40px red,0 0 60px red,0 0 80px red}16.6%{box-shadow:0 0 20px #ff0,0 0 40px #ff0,0 0 60px #ff0,0 0 80px #ff0}33.3%{box-shadow:0 0 20px #0f0,0 0 40px #0f0,0 0 60px #0f0,0 0 80px #0f0}50%{box-shadow:0 0 20px #0ff,0 0 40px #0ff,0 0 60px #0ff,0 0 80px #0ff}66.6%{box-shadow:0 0 20px #00f,0 0 40px #00f,0 0 60px #00f,0 0 80px #00f}83.3%{box-shadow:0 0 20px #f0f,0 0 40px #f0f,0 0 60px #f0f,0 0 80px #f0f}to{box-shadow:0 0 20px red,0 0 40px red,0 0 60px red,0 0 80px red}}@keyframes rainbow-filter{0%{filter:drop-shadow(0 0 15px #ff0000)}16.6%{filter:drop-shadow(0 0 15px #ffff00)}33.3%{filter:drop-shadow(0 0 15px #00ff00)}50%{filter:drop-shadow(0 0 15px #00ffff)}66.6%{filter:drop-shadow(0 0 15px #0000ff)}83.3%{filter:drop-shadow(0 0 15px #ff00ff)}to{filter:drop-shadow(0 0 15px #ff0000)}}[data-theme=dark] .badge-glow-layer{opacity:1}[data-theme=dark] .badge-image{filter:brightness(1.1)}.badge-label{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.badge-level{font-size:18px;font-weight:900;color:#667eea;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 8px rgba(255,255,255,.8),0 0 2px rgba(255,255,255,1)}.badge-name{font-size:14px;font-weight:700;color:#333;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 8px rgba(255,255,255,.8),0 0 2px rgba(255,255,255,1)}[data-theme=dark] .badge-level{color:#8b9cff;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(139,156,255,.5)}[data-theme=dark] .badge-name{color:#e5e5e5;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(229,229,229,.3)}[data-theme=dark] .badge-level{color:var(--text-primary, #e5e5e5)}[data-theme=dark] .badge-name{color:var(--text-secondary, #999)}@media(max-width:768px){.level-badge-small .badge-icon{width:28px;height:28px}.level-badge-medium .badge-icon{width:40px;height:40px}.level-badge-large{padding:0;background:transparent!important}.level-badge-large .badge-icon{width:60px;height:60px}.badge-level{font-size:16px}.badge-name{font-size:12px}}.membership-center{display:grid;gap:20px}.membership-loading{min-height:240px;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary)}.spin{animation:membership-spin .9s linear infinite}@keyframes membership-spin{to{transform:rotate(360deg)}}.membership-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:34px;border:1px solid rgba(137,105,57,.2);border-radius:22px;color:#28231d;background:radial-gradient(circle at 8% 0%,rgba(211,174,110,.24),transparent 34%),radial-gradient(circle at 94% 100%,rgba(50,87,113,.13),transparent 30%),linear-gradient(135deg,#fffdf8,#f5eee1);box-shadow:0 20px 50px #5342281f}.membership-hero:after{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(137,105,57,.13);border-radius:50%;right:-85px;bottom:-150px}.membership-hero.expired{background:radial-gradient(circle at 8% 0%,rgba(190,125,78,.18),transparent 34%),linear-gradient(135deg,#fffaf4,#f3e9dc)}.membership-hero.inactive{background:radial-gradient(circle at 8% 0%,rgba(211,174,110,.24),transparent 34%),linear-gradient(135deg,#fffdf8,#f5eee1)}.membership-kicker{display:inline-flex;align-items:center;gap:7px;color:#8b642b;font-size:11px;letter-spacing:.16em;font-weight:800}.membership-hero h2{margin:10px 0 8px;font-size:clamp(24px,4vw,34px);line-height:1.15;letter-spacing:-.03em}.membership-hero p{margin:0;color:#71685d;line-height:1.7}.membership-status-card{position:relative;z-index:1;min-width:230px;padding:20px 22px;border:1px solid rgba(137,105,57,.2);border-radius:16px;background:#ffffff9e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:4px;box-shadow:inset 0 1px #ffffffe6}.membership-status-card span,.membership-status-card small{color:#7b7165;font-size:12px}.membership-status-card strong{font-size:21px}[data-theme=dark] .membership-hero{color:#f7f1e7;background:radial-gradient(circle at 8% 0%,rgba(200,158,88,.16),transparent 34%),radial-gradient(circle at 94% 100%,rgba(67,111,142,.18),transparent 30%),linear-gradient(135deg,#252629,#303036);border-color:#dab57133}[data-theme=dark] .membership-hero p{color:#c8beb1}[data-theme=dark] .membership-status-card{background:#ffffff12;border-color:#dab5712e}[data-theme=dark] .membership-status-card span,[data-theme=dark] .membership-status-card small{color:#c3b8aa}.membership-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.membership-panel,.admin-code-console{border:1px solid var(--border-color);border-radius:18px;background:var(--paper-color);box-shadow:0 8px 28px #0f172a0f}.membership-panel{padding:24px}.panel-heading{display:flex;align-items:center;gap:13px}.panel-heading h3{margin:0 0 4px;color:var(--text-primary);font-size:17px}.panel-heading p{margin:0;color:var(--text-secondary);font-size:13px;line-height:1.5}.panel-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:#18181b;background:#f4f4f5;flex:0 0 auto}.panel-icon.warm{color:#c2410c;background:#fff7ed}[data-theme=dark] .panel-icon{background:#ffffff1a;color:#f4f4f5}[data-theme=dark] .panel-icon.warm{background:#c2410c2e;color:#fdba74}.activation-form{display:flex;gap:10px;margin-top:22px}.activation-form input{flex:1;min-width:0;padding:13px 15px;border:1px solid var(--border-color);border-radius:11px;background:var(--bg-color);color:var(--text-primary);font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.05em;text-transform:uppercase}.activation-form input:focus,.code-generator input:focus,.code-generator select:focus,.code-toolbar input:focus,.code-toolbar select:focus{outline:none;border-color:#27272a;box-shadow:0 0 0 3px #18181b1a}.activation-form button,.code-generator>button{border:0;border-radius:11px;padding:0 20px;background:linear-gradient(135deg,#19364b,#294f68);color:#fff;font-weight:750;cursor:pointer;box-shadow:0 9px 22px #19364b33;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.activation-form button:not(:disabled):hover,.code-generator>button:not(:disabled):hover{transform:translateY(-1px);filter:brightness(1.12);box-shadow:0 12px 26px #09090b42}.activation-form button:disabled,.code-generator>button:disabled{opacity:.55;cursor:not-allowed}.activation-security,.contact-tip{margin-top:13px;display:flex;align-items:center;gap:6px;color:var(--text-tertiary, #94a3b8);font-size:12px}.wechat-contact{width:100%;margin-top:22px;padding:12px 14px;border:1px dashed rgba(34,197,94,.4);border-radius:12px;display:flex;align-items:center;justify-content:space-between;background:#22c55e12;color:#15803d;cursor:pointer;text-align:left}.wechat-contact span{display:grid;gap:2px}.wechat-contact small{opacity:.75}.wechat-contact strong{font-size:16px;letter-spacing:.04em}[data-theme=dark] .wechat-contact{color:#86efac}.membership-notice{padding:13px 16px;display:flex;align-items:center;gap:8px;border-radius:12px;font-size:13px}.membership-notice.success{color:#166534;border:1px solid #bbf7d0;background:#f0fdf4}.membership-notice.error{color:#b91c1c;border:1px solid #fecaca;background:#fef2f2}.admin-code-console{padding:26px;overflow:hidden}.admin-console-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-console-heading>div>span{display:flex;align-items:center;gap:6px;color:#3f3f46;font-size:11px;font-weight:850;letter-spacing:.14em}.admin-console-heading h2{margin:7px 0 5px;color:var(--text-primary);font-size:23px}.admin-console-heading p{margin:0;color:var(--text-secondary);font-size:13px}.outline-action,.refresh-button,.row-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border-color);border-radius:10px;background:var(--paper-color);color:var(--text-primary);cursor:pointer;font-weight:650}.outline-action{padding:10px 14px}.outline-action:disabled{opacity:.45}.code-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0 16px}.code-stat{padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;display:flex;justify-content:space-between;align-items:center;background:var(--bg-color);color:var(--text-secondary);cursor:pointer}.code-stat strong{color:var(--text-primary);font-size:21px}.code-stat.selected{border-color:#27272a;background:#18181b0f}.code-generator{padding:16px;border-radius:14px;display:flex;gap:12px;align-items:flex-end;background:linear-gradient(135deg,#18181b12,#71717a08);border:1px solid rgba(39,39,42,.13)}.code-generator .field{display:grid;gap:6px;min-width:140px}.code-generator .field.grow{flex:1}.code-generator label{color:var(--text-secondary);font-size:11px;font-weight:700}.code-generator input,.code-generator select,.code-toolbar input,.code-toolbar select{height:40px;border:1px solid var(--border-color);border-radius:9px;padding:0 11px;background:var(--paper-color);color:var(--text-primary)}.code-generator>button{height:40px}.code-toolbar{display:flex;align-items:center;gap:9px;margin:16px 0 10px}.code-search{height:40px;flex:1;display:flex;align-items:center;gap:8px;padding-left:11px;border:1px solid var(--border-color);border-radius:9px;color:var(--text-secondary);background:var(--paper-color)}.code-search input{border:0;padding-left:0;flex:1;min-width:0}.code-search input:focus{box-shadow:none}.distribution-note{min-width:210px}.refresh-button{width:40px;height:40px}.code-table-wrap{overflow:auto;border:1px solid var(--border-color);border-radius:13px}.code-table{width:100%;min-width:820px;border-collapse:collapse;font-size:13px}.code-table th{padding:11px 13px;text-align:left;color:var(--text-secondary);font-size:11px;letter-spacing:.04em;background:var(--bg-color)}.code-table td{padding:13px;color:var(--text-primary);border-top:1px solid var(--border-color);vertical-align:middle}.code-table td>small,.code-table td>strong,.code-table td>span{display:block}.code-table td>small{margin-top:4px;color:var(--text-tertiary, #94a3b8);font-size:11px}.code-value{padding:0;border:0;background:none;display:inline-flex;align-items:center;gap:7px;color:var(--text-primary);cursor:pointer}.code-value code{font-weight:750}.code-status{width:-moz-fit-content;width:fit-content;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750}.code-status.available{color:#475569;background:#f1f5f9}.code-status.distributed{color:#1d4ed8;background:#dbeafe}.code-status.redeemed{color:#15803d;background:#dcfce7}.code-status.revoked{color:#9f1239;background:#ffe4e6}.code-status.disabled{color:#b91c1c;background:#fee2e2}.row-action{padding:7px 10px;font-size:12px}.row-action.danger{color:#b42318;border-color:#b423183d;background:#fff7f6}.row-action.danger:hover{color:#fff;border-color:#b42318;background:#b42318}.empty-codes{height:120px;text-align:center;color:var(--text-secondary)!important}.code-table-footer{padding:11px 2px 0;display:flex;justify-content:space-between;color:var(--text-tertiary, #94a3b8);font-size:11px}.code-table-footer span{display:flex;align-items:center;gap:5px}.revoke-modal-backdrop{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#0f121694;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:revoke-backdrop-in .18s ease both}.revoke-modal{position:relative;width:min(520px,100%);padding:30px;border:1px solid rgba(132,47,35,.18);border-radius:20px;color:#292321;background:radial-gradient(circle at 100% 0,rgba(189,113,76,.13),transparent 36%),#fffdf9;box-shadow:0 30px 80px #1a120f47;animation:revoke-modal-in .24s cubic-bezier(.2,.8,.2,1) both}.revoke-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;color:#786b66;background:#786b6617;cursor:pointer}.revoke-modal-icon{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(180,35,24,.14);border-radius:15px;color:#b42318;background:#fff1ef}.revoke-modal-heading>span{display:block;margin-top:18px;color:#a33b2d;font-size:10px;font-weight:850;letter-spacing:.15em}.revoke-modal-heading h3{margin:6px 0 8px;font-size:24px;letter-spacing:-.03em}.revoke-modal-heading p{margin:0;color:#756964;font-size:13px;line-height:1.65}.revoke-summary{margin:20px 0 14px;overflow:hidden;border:1px solid #eadfda;border-radius:13px;background:#ffffffbd}.revoke-summary>div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 13px;border-top:1px solid #eee5e1}.revoke-summary>div:first-child{border-top:0}.revoke-summary dt{color:#8c7e78;font-size:12px}.revoke-summary dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#312a27;font-size:12px;font-weight:700}.revoke-warning{display:flex;align-items:flex-start;gap:9px;padding:12px 13px;border:1px solid #fed1cb;border-radius:11px;color:#9f2d21;background:#fff4f2;font-size:12px;line-height:1.55}.revoke-warning svg{flex:0 0 auto;margin-top:1px}.revoke-reason-label{display:block;margin:17px 0 7px;color:#554945;font-size:12px;font-weight:750}.revoke-modal textarea{box-sizing:border-box;width:100%;min-height:82px;resize:vertical;padding:11px 12px;border:1px solid #dccdc7;border-radius:11px;color:#2d2826;background:#fff;font:inherit;font-size:13px;line-height:1.5}.revoke-modal textarea:focus{outline:none;border-color:#a33b2d;box-shadow:0 0 0 3px #a33b2d1a}.revoke-modal-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:18px}.revoke-modal-actions button{min-height:43px;border-radius:11px;font-weight:750;cursor:pointer}.revoke-modal-actions button:disabled{opacity:.55;cursor:not-allowed}.revoke-cancel{border:1px solid #d8ccc6;color:#514844;background:#fff}.revoke-confirm{border:1px solid #9f2d21;color:#fff;background:linear-gradient(135deg,#8d251c,#b43a2d);box-shadow:0 8px 18px #9f2d2133}@keyframes revoke-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes revoke-modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .revoke-modal{color:#f8efea;border-color:#e0826e33;background:radial-gradient(circle at 100% 0,rgba(189,113,76,.13),transparent 36%),#282524}[data-theme=dark] .revoke-modal-heading p,[data-theme=dark] .revoke-summary dt{color:#b8aaa4}[data-theme=dark] .revoke-summary{border-color:#49413e;background:#ffffff0a}.revoke-summary>div{border-color:#49413e}[data-theme=dark] .revoke-summary dd,[data-theme=dark] .revoke-reason-label{color:#f4e9e4}[data-theme=dark] .revoke-modal textarea,[data-theme=dark] .revoke-cancel{color:#f5ebe6;border-color:#554a46;background:#332e2c}@media(max-width:820px){.membership-hero{grid-template-columns:1fr;padding:26px}.membership-status-card{min-width:0}.membership-grid{grid-template-columns:1fr}.code-stat-grid{grid-template-columns:repeat(2,1fr)}.code-generator{align-items:stretch;flex-direction:column}.code-generator .field{min-width:0}.code-generator>button{min-height:42px}.code-toolbar{flex-wrap:wrap}.code-search{flex-basis:100%}.distribution-note{flex:1;min-width:170px}}@media(max-width:520px){.membership-hero,.membership-panel,.admin-code-console{border-radius:15px}.membership-hero{padding:22px}.activation-form{flex-direction:column}.activation-form button{min-height:44px}.admin-code-console{padding:18px}.admin-console-heading{flex-direction:column}.outline-action{width:100%}.code-table-footer{gap:8px;flex-direction:column}.code-table-wrap{border:0;overflow:visible}.code-table{min-width:0;display:block}.code-table thead{display:none}.code-table tbody{display:grid;gap:10px}.code-table tbody tr{display:grid;grid-template-columns:1fr auto;border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--paper-color)}.code-table td{border:0;padding:10px 12px}.code-table td:first-child{grid-column:1 / -1;border-bottom:1px solid var(--border-color)}.code-table td:nth-child(2),.code-table td:nth-child(3){background:var(--bg-color)}.code-table td:nth-child(3){display:flex;justify-content:flex-end}.code-table td:nth-child(4){grid-column:1 / -1;border-top:1px solid var(--border-color)}.code-table td:nth-child(5){grid-column:1 / -1;padding-top:0}.code-table .row-action{width:100%;min-height:36px}.code-table .empty-codes{display:block}.revoke-modal{padding:24px 18px 18px;border-radius:16px}.revoke-modal-actions{grid-template-columns:1fr}.revoke-modal-heading h3{font-size:21px}}.membership-avatar-badge{position:absolute;z-index:4;right:-7px;bottom:-4px;display:inline-flex;align-items:center;justify-content:center;gap:1px;width:26px;height:15px;padding:0 3px;box-sizing:border-box;border:1px solid rgba(255,255,255,.92);border-radius:999px;color:#382405;background:linear-gradient(135deg,#fff2a6,#e9bd50 48%,#b97b18);box-shadow:0 2px 7px #5c3a0852,inset 0 1px #ffffffb8;pointer-events:none;animation:membership-badge-enter .28s cubic-bezier(.2,.8,.2,1) both}.membership-avatar-badge svg{width:7px;height:7px;flex:0 0 auto;stroke-width:2.5}.membership-avatar-badge strong{font-family:Georgia,Times New Roman,serif;font-size:7px;line-height:1;letter-spacing:.02em}.membership-avatar-badge.large{right:-7px;bottom:3px;width:42px;height:23px;gap:2px;border-width:2px;box-shadow:0 4px 12px #5c3a084d,inset 0 1px #ffffffc2}.membership-avatar-badge.large svg{width:11px;height:11px}.membership-avatar-badge.large strong{font-size:11px}@keyframes membership-badge-enter{0%{opacity:0;transform:translateY(3px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}[data-theme=dark] .membership-avatar-badge{border-color:#252424}@media(prefers-reduced-motion:reduce){.membership-avatar-badge{animation:none}}@-webkit-keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{-webkit-box-sizing:border-box;box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{-ms-touch-action:none;touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{-ms-touch-action:none;touch-action:none}.ReactCrop__crop-mask{position:absolute;inset:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;-webkit-transform:translateZ(0);transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;inset:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){-webkit-animation:marching-ants 1s;animation:marching-ants 1s;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,right top,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444)),-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,#444));background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;-webkit-animation-play-state:running;animation-play-state:running;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;-webkit-transform:translate(50%,50%);transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);-webkit-transform:translateY(-50%);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;-webkit-transform:translate(50%);transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);-webkit-transform:translateY(50%);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;-webkit-transform:translate(-50%);transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media(pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.user-profile{max-width:900px;margin:0 auto;padding:2rem 2rem 4rem;background:transparent;position:relative;min-height:calc(100vh - 200px)}.profile-back-btn{position:absolute;top:0;left:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--paper-color);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;box-shadow:0 1px 2px #0000000d;z-index:10}.profile-back-btn:hover{background:var(--bg-color);border-color:var(--border-color);color:var(--text-primary);transform:translate(-2px);box-shadow:0 2px 4px #0000001a}[data-theme=dark] .profile-back-btn:hover{background:#37415180}.profile-back-btn:active{transform:translate(0);box-shadow:0 1px 2px #0000000d}.profile-back-btn svg{width:18px;height:18px}.profile-header-card{background:var(--paper-color);border-radius:16px;padding:2.5rem;margin-bottom:1.5rem;margin-top:3rem;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease}.profile-header{display:flex;gap:2rem;align-items:flex-start}.profile-avatar-container{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px}.avatar-badge-container{display:flex;justify-content:center;animation:fadeInUp .5s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.avatar-wrapper{position:relative;width:100px;height:100px;border-radius:50%;overflow:visible;border:3px solid #f3f4f6;transition:all .2s ease}.avatar-wrapper.editable{cursor:pointer}.avatar-wrapper.editable:hover{border-color:#3b82f6;transform:scale(1.02)}.profile-avatar{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;border-radius:inherit}.avatar-overlay{position:absolute;inset:0;background:#0009;border-radius:inherit;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;border-radius:50%}.avatar-wrapper.editable:hover .avatar-overlay{opacity:1}.upload-hint,.uploading-indicator{color:#fff;font-size:.75rem;font-weight:500;text-align:center}.uploading-indicator{opacity:1;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.avatar-edit-hint{margin-top:.75rem;font-size:.8125rem;color:#6b7280;text-align:center}.avatar-url-input{width:100%;padding:.5rem .75rem;margin-top:.5rem;border:1px solid #d1d5db;border-radius:8px;font-size:.8125rem;background:#fff;color:#111827;transition:all .2s}.avatar-url-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .avatar-url-input{background:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .avatar-url-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.profile-info{flex:1;min-width:0}.profile-name{font-size:1.75rem;font-weight:600;color:#111827;margin:0 0 .5rem;letter-spacing:-.01em}[data-theme=dark] .profile-name{color:#f3f4f6}.profile-bio{color:#6b7280;margin:0;line-height:1.6;font-size:.9375rem}[data-theme=dark] .profile-bio{color:#9ca3af}.profile-invite-code{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #f3f4f6}[data-theme=dark] .profile-invite-code{border-top-color:#374151}.invite-code-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8125rem;font-weight:500;color:#6b7280}[data-theme=dark] .invite-code-label{color:#9ca3af}.invite-code-label svg{flex-shrink:0;color:var(--accent-color)}.invite-code-compact{display:flex;align-items:center;gap:.75rem;background:transparent;border:none;border-radius:8px;padding:0;transition:all .2s ease}.invite-code-text{flex:1;font-family:Monaco,Menlo,Courier New,monospace;font-size:.875rem;font-weight:600;color:#374151;letter-spacing:.05em;background:transparent;border:none;padding:0;margin:0;-webkit-user-select:all;-moz-user-select:all;user-select:all;cursor:text;word-break:break-all;min-width:0}[data-theme=dark] .invite-code-text{color:#e5e7eb}.invite-code-copy-compact{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.invite-code-copy-compact:hover{background:#4b5563;transform:scale(1.05)}.invite-code-copy-compact:active{transform:scale(.95)}[data-theme=dark] .invite-code-copy-compact{background:#6b7280}[data-theme=dark] .invite-code-copy-compact:hover{background:#4b5563}.invite-code-copy-compact svg{width:14px;height:14px}.nickname-input{width:100%;padding:.75rem 1rem;margin-bottom:1rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .2s;background:#fff;color:#111827;font-weight:500}.nickname-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .nickname-input{background:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .nickname-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.bio-input{width:100%;padding:.75rem 1rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9375rem;resize:vertical;font-family:inherit;transition:all .2s;background:#fff;color:#111827;line-height:1.6}.bio-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}[data-theme=dark] .bio-input{background:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] .bio-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.profile-content{background:var(--paper-color);border-radius:16px;padding:2rem;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;border:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease}.profile-details{margin-bottom:2rem}.detail-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #f3f4f6;transition:background-color .15s}[data-theme=dark] .detail-item{border-bottom-color:#374151}.detail-item:last-child{border-bottom:none}.detail-item:hover{background-color:#f9fafb;margin:0 -1rem;padding-left:1rem;padding-right:1rem;border-radius:8px}[data-theme=dark] .detail-item:hover{background-color:#37415180}.detail-icon{width:20px;height:20px;flex-shrink:0;color:#9ca3af;stroke-width:2}[data-theme=dark] .detail-icon{color:#6b7280}.detail-label{font-weight:500;color:#6b7280;font-size:.9375rem;min-width:90px}[data-theme=dark] .detail-label{color:#d1d5db}.detail-value{color:#111827;font-weight:500;flex:1;text-align:right;font-size:.9375rem}[data-theme=dark] .detail-value{color:#f3f4f6}.error-message{padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fef2f2;color:#dc2626;border-radius:10px;font-size:.875rem;border:1px solid #fecaca;display:flex;align-items:center;gap:.5rem}.success-message{padding:1rem 1.25rem;margin-bottom:1.5rem;background:#f0fdf4;color:#16a34a;border-radius:10px;font-size:.875rem;border:1px solid #bbf7d0;display:flex;align-items:center;gap:.5rem}.profile-actions{display:flex;gap:.75rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid #f3f4f6}[data-theme=dark] .profile-actions{border-top-color:#374151}.btn{padding:.625rem 1.5rem;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#3b82f6;color:#fff;box-shadow:0 1px 2px #0000000d}.btn-primary:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}.btn-secondary{background:#fff;color:#374151;border:1.5px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000000d}[data-theme=dark] .btn-secondary{background:#374151;color:#e5e7eb;border-color:#4b5563}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#4b5563;border-color:#6b7280}.btn-danger{background:#fff;color:#dc2626;border:1.5px solid #fecaca;box-shadow:0 1px 2px #0000000d}.btn-danger:hover{background:#fef2f2;border-color:#fca5a5;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-danger:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}[data-theme=dark] .btn-danger{background:transparent;color:#f87171;border-color:#7f1d1d}[data-theme=dark] .btn-danger:hover{background:#7f1d1d4d;border-color:#dc2626}.crop-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.crop-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.crop-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.crop-modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.crop-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;color:#6b7280;cursor:pointer;padding:.5rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.crop-modal-close:hover:not(:disabled){background:#f3f4f6;color:#111827}.crop-modal-close:disabled{opacity:.5;cursor:not-allowed}.crop-modal-content{padding:1.5rem;overflow:auto;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.crop-modal-content .ReactCrop{max-width:100%}.crop-modal-content img{display:block;max-width:100%;max-height:70vh}.crop-modal-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;justify-content:flex-end}.crop-modal-actions .btn{min-width:100px}.password-modal-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172aad;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-modal{width:min(100%,460px);overflow:hidden;border:1px solid var(--border-color);border-radius:16px;background:var(--paper-color);box-shadow:0 24px 60px #0f172a47}.password-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.5rem 1.5rem 1rem}.password-modal-header h3{margin:0;color:var(--text-primary, #111827);font-size:1.25rem}.password-modal-header p{margin:.4rem 0 0;color:var(--text-secondary, #6b7280);font-size:.875rem}.password-modal-close{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary, #6b7280);font-size:1.5rem;cursor:pointer}.password-modal-close:hover:not(:disabled){background:#94a3b824}.password-modal-content{padding:.5rem 1.5rem 1.5rem}.password-field{display:grid;gap:.5rem;margin-top:1rem;color:var(--text-primary, #374151);font-size:.875rem;font-weight:600}.password-field input{width:100%;box-sizing:border-box;padding:.75rem .875rem;border:1px solid var(--border-color, #d1d5db);border-radius:9px;outline:none;background:var(--paper-color, #fff);color:var(--text-primary, #111827);font:inherit}.password-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f624}.password-forgot-link{justify-self:end;padding:0;border:0;background:transparent;color:#2563eb;font-size:.82rem;font-weight:500;cursor:pointer}.password-forgot-link:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.password-email-verification{margin-top:1rem}.password-email-notice{padding:.75rem .875rem;border:1px solid #bfdbfe;border-radius:9px;background:#eff6ff;color:#475569;font-size:.85rem}.password-email-notice strong{color:#1e40af}.password-code-row{display:flex;gap:.625rem}.password-code-row input{min-width:0;flex:1}.password-send-code{min-width:120px;padding:.625rem .75rem;border:1px solid #93c5fd;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-size:.82rem;font-weight:600;cursor:pointer}.password-send-code:hover:not(:disabled){background:#dbeafe}.password-send-code:disabled,.password-forgot-link:disabled{opacity:.55;cursor:not-allowed}.password-use-current{margin-top:.75rem}[data-theme=dark] .password-email-notice{border-color:#1e3a8a;background:#1e3a8a33;color:#cbd5e1}[data-theme=dark] .password-email-notice strong{color:#93c5fd}.password-hint{margin:.75rem 0 0;color:var(--text-secondary, #6b7280);font-size:.8rem}.password-error{margin-top:1rem;padding:.75rem .875rem;border:1px solid #fecaca;border-radius:9px;background:#fef2f2;color:#dc2626;font-size:.875rem}.password-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem 1.5rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.user-profile{padding:1rem}.profile-back-btn{position:absolute;top:0;left:0;width:36px;height:36px}.profile-header-card{margin-top:2.5rem}.profile-back-btn svg{width:16px;height:16px}.profile-header-card{padding:1.5rem}.profile-header{flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.avatar-wrapper{width:90px;height:90px}.profile-name{font-size:1.5rem}.profile-content{padding:1.5rem}.detail-item{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem 0}.detail-item:hover{margin:0;padding:1rem}.detail-value{text-align:left;width:100%}.profile-actions{flex-direction:column}.btn{width:100%}.crop-modal{max-width:100%;max-height:100vh;border-radius:0}.crop-modal-content{padding:1rem}.crop-modal-actions{flex-direction:column}.crop-modal-actions .btn{width:100%}.password-modal-actions{flex-direction:column-reverse}.password-modal-actions .btn{width:100%}.password-code-row{flex-direction:column}.password-send-code{width:100%}}.profile-tabs{display:flex;gap:8px;margin:24px 0 0;padding:8px;background:var(--bg-secondary, #f5f5f5);border-radius:16px;overflow-x:auto;box-shadow:inset 0 2px 4px #0000000d}[data-theme=dark] .profile-tabs{background:#3741514d}.profile-tab{padding:12px 24px;border:none;background:transparent;cursor:pointer;font-size:15px;font-weight:600;color:var(--text-secondary, #666);border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;display:flex;align-items:center;gap:8px}.tab-icon{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.tab-icon-membership{display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.profile-tab:hover{color:var(--text-primary, #333);background:#ffffff80}[data-theme=dark] .profile-tab:hover{color:var(--text-primary, #e5e5e5);background:#4b556380}.profile-tab.active{color:#667eea;background:#fff;box-shadow:0 4px 12px #667eea26,0 2px 4px #00000014;transform:translateY(-2px)}[data-theme=dark] .profile-tab.active{background:#667eea33;box-shadow:0 4px 12px #667eea4d}.profile-tab-content{padding:24px 0 0;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.points-section,.titles-section{max-width:100%;margin:0 auto}.floating-back-button{position:fixed!important;left:24px!important;top:50%!important;transform:translateY(-50%)!important;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease!important;z-index:9999!important;box-shadow:none!important;padding:0!important}.floating-back-button:hover{background:transparent!important;box-shadow:none!important;transform:translateY(-50%) scale(1.15)}.floating-back-button:active{transform:translateY(-50%) scale(.92)}.floating-back-button .back-icon{width:50px;height:50px;-o-object-fit:contain;object-fit:contain;opacity:.75;animation:backButtonGlowGolden 2s ease-in-out infinite;transition:opacity .3s ease,animation-duration .3s ease}.floating-back-button:hover .back-icon{opacity:1;animation-duration:1.2s}@keyframes backButtonGlowGolden{0%,to{filter:drop-shadow(0 0 8px rgba(255,200,0,.6)) drop-shadow(0 0 16px rgba(255,180,0,.5)) drop-shadow(0 0 24px rgba(255,150,0,.4))}50%{filter:drop-shadow(0 0 16px rgba(255,215,0,.9)) drop-shadow(0 0 28px rgba(255,190,0,.8)) drop-shadow(0 0 40px rgba(255,165,0,.6))}}@media(hover:hover){.floating-back-button:hover .back-icon{filter:drop-shadow(0 0 20px rgba(255,230,0,1)) drop-shadow(0 0 32px rgba(255,200,0,1)) drop-shadow(0 0 48px rgba(255,165,0,.9))!important}}[data-theme=dark] .floating-back-button{background:transparent!important;border-color:transparent!important}[data-theme=dark] .floating-back-button:hover{background:transparent!important;box-shadow:none!important}@media(max-width:768px){.floating-back-button{left:12px}.floating-back-button .back-icon{width:42px;height:42px}}body:has(.dictation-page-overlay){margin:0!important;padding:0!important;overflow:hidden!important}html:has(.dictation-page-overlay){margin:0!important;padding:0!important;overflow:hidden!important}#root:has(.dictation-page-overlay){margin:0!important;padding:0!important;width:100vw!important;max-width:100vw!important;height:100vh!important}.dictation-page-overlay{--bg-color: #FFFFFF;--paper-color: #FFFFFF;--text-primary: #1f2937;--text-secondary: #6b7280;--accent-color: #7657ff;--accent-light: #eeebff;--accent-secondary: #ff7062;--border-color: #e5e7eb;--success-color: #10b981;--error-color: #ef4444;position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:radial-gradient(circle at 15% 12%,rgba(118,87,255,.1),transparent 30%),radial-gradient(circle at 85% 85%,rgba(255,112,98,.08),transparent 28%),#fbfbfe!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;border:none!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:999999!important}.dictation-page-overlay.dark{--bg-color: #0f172a;--paper-color: #1e293b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--accent-color: #d946ef;--accent-light: #581c87;--border-color: #334155;background:#0f172a!important}.dictation-page{position:relative!important;width:100%!important;max-width:1200px!important;min-height:100vh!important;background:transparent!important;display:flex!important;flex-direction:column!important;margin:0!important;padding:0!important;border:none!important;box-sizing:border-box!important}.dictation-page-overlay::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.dictation-page-overlay{-ms-overflow-style:none!important;scrollbar-width:none!important}.dictation-page::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.dictation-page{-ms-overflow-style:none!important;scrollbar-width:none!important}.dictation-page~.article-sidebar,.dictation-page~.sidebar-toggle-button,.dictation-page~.sidebar-overlay,body:has(.dictation-page) .article-sidebar,body:has(.dictation-page) .sidebar-toggle-button,body:has(.dictation-page) .sidebar-overlay,body:has(.dictation-page) .bottom-player{display:none!important;visibility:hidden!important}.dictation-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:transparent;border-bottom:none;width:100%;flex-shrink:0}.dictation-page-overlay.dark .dictation-header{background:transparent;border-bottom:none}.header-left{display:flex;align-items:center;gap:8px}.header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;pointer-events:auto}.dictation-back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:14px;outline:none!important}.dictation-back-btn.icon-only{padding:8px;min-width:36px}.dictation-back-btn.icon-only span{display:none}.dictation-back-btn.with-text{padding:8px 16px}.dictation-back-btn:hover,.dictation-back-btn:focus,.dictation-back-btn:focus-visible{background:var(--bg-color);border-color:var(--text-primary);color:var(--text-primary);outline:none!important;box-shadow:none!important}.dictation-back-btn svg{width:20px;height:20px;flex-shrink:0}.dictation-title{flex:1;text-align:center}.dictation-title-text{text-align:center}.dictation-title h1{font-family:"Noto Serif SC",serif;font-size:24px;font-weight:700;margin:0 0 4px;color:var(--text-primary)}.dictation-title p{font-size:14px;color:var(--text-secondary);margin:0}.article-title-subtitle{font-size:13px!important;color:var(--text-secondary)!important;max-width:600px;margin:0 auto!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8;font-weight:400}.dictation-mode-toggle{display:flex;gap:8px;background:var(--bg-color);padding:4px;border-radius:8px}.mode-btn{padding:8px 20px;background:transparent;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500;outline:none!important}.mode-btn:focus,.mode-btn:focus-visible{outline:none!important;box-shadow:none!important}.mode-btn.active{background:linear-gradient(135deg,#7657ff,#8f68ff);color:#fff}.fullscreen-btn{width:36px;height:36px;padding:6px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:101;pointer-events:auto}.fullscreen-btn:hover{background:#d1fae5;border-color:#10b981;color:#10b981}.fullscreen-btn svg{width:20px;height:20px}.theme-toggle-btn{width:36px;height:36px;padding:6px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:101;pointer-events:auto}.theme-toggle-btn:hover{background:#eeebff;border-color:#7657ff;color:#7657ff}.theme-toggle-btn svg{width:20px;height:20px}[data-theme=dark] .theme-toggle-btn{border-color:#fbbf244d;color:#fbbf24}[data-theme=dark] .theme-toggle-btn:hover{background:#fbbf2426;border-color:#fbbf24}.dictation-progress{padding:12px 20px;background:var(--bg-color);border-bottom:1px solid var(--border-color);width:100%;flex-shrink:0;box-sizing:border-box}.dictation-game-hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;width:calc(100% - 40px);max-width:900px;margin:6px auto 0;padding:10px 12px;box-sizing:border-box}.hud-pill{min-width:96px;display:flex;align-items:center;gap:9px;padding:9px 12px;color:#35394a;background:#ffffffc7;border:1px solid rgba(224,224,235,.9);border-radius:15px;box-shadow:0 7px 22px #1c1a420e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hud-pill div{display:flex;align-items:baseline;gap:7px}.hud-pill small{color:#8b90a1;font-size:10px;font-weight:700}.hud-pill strong{font-size:19px;line-height:1}.hud-icon{display:grid;place-items:center;width:25px;height:25px;color:#7657ff;background:#eeebff;border-radius:8px;font-size:12px}.hud-streak.is-hot{border-color:#ff706252;background:#fff8f6}.hud-streak.is-hot .hud-icon{color:#ff6255;background:#ffe6e1;animation:streakPulse .8s ease-in-out infinite alternate}.hud-points .hud-icon{color:#db9512;background:#fff2cf}@keyframes streakPulse{to{transform:translateY(-2px) scale(1.07)}}.hud-session-label{text-align:center}.hud-session-label span{display:block;color:#262a3a;font-size:12px;font-weight:800;letter-spacing:.06em}.hud-session-label small{display:block;margin-top:3px;color:#9a9eae;font-size:10px}.dictation-page-overlay.dark .hud-pill{color:#f2f3fa;background:#1e293bc2;border-color:#384155}.dictation-page-overlay.dark .hud-session-label span{color:#f2f3fa}.dictation-page-overlay.dark .hud-streak.is-hot{background:#7a302d4d}.progress-bar{width:100%!important;max-width:100%!important;height:4px!important;background:#0000001a;border-radius:2px;overflow:hidden;margin-bottom:8px;position:relative;display:block}.progress-fill{height:100%!important;background:linear-gradient(90deg,#7657ff,#9d6cff 58%,#ff7062);border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1);box-shadow:none;display:block;position:relative}.progress-text{text-align:center;font-size:13px;color:var(--text-secondary);font-weight:600;letter-spacing:.5px}.dictation-page-overlay.dark .progress-bar{background:#ffffff1a}.dictation-page-overlay.dark .progress-fill{background:#fff}.dictation-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px 20px 10px;width:100%;background:transparent;min-height:0;overflow:visible!important}.dictation-content::-webkit-scrollbar{display:none!important;width:0!important}.dictation-practice{width:100%;max-width:900px;margin:0 auto;position:relative}.answer-feedback-banner{position:relative;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:min(620px,calc(100% - 120px));margin:0 auto 12px;padding:13px 16px;box-sizing:border-box;border-radius:18px;animation:feedbackIn .3s cubic-bezier(.2,.8,.2,1)}.answer-feedback-banner.is-correct{color:#16614d;background:#e0faf1f7;border:1px solid #b8efd9;box-shadow:0 12px 30px #27a07a21}.answer-feedback-banner.is-wrong{color:#8b3c36;background:#ffedeaf7;border:1px solid #ffd0ca;box-shadow:0 12px 30px #d3574a1c}.answer-feedback-mark{display:grid;place-items:center;width:35px;height:35px;color:#fff;background:#36bc91;border-radius:12px;font-size:19px;font-weight:900}.is-wrong .answer-feedback-mark{background:#ef6c60}.answer-feedback-banner>div:nth-child(2){display:flex;flex-direction:column;gap:2px;text-align:left}.answer-feedback-banner strong{font-size:15px}.answer-feedback-banner small{opacity:.72;font-size:11px}.answer-points-pop{color:#287d62;font-size:19px;font-weight:900;animation:pointsPop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes feedbackIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes pointsPop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.dictation-page-overlay.dark .answer-feedback-banner.is-correct{color:#b9f7df;background:#185545e0;border-color:#246f5b}.dictation-page-overlay.dark .answer-feedback-banner.is-wrong{color:#ffd2cd;background:#672f30e6;border-color:#874c4e}.combo-celebration{position:fixed;left:50%;top:17%;z-index:9999999;display:flex;align-items:baseline;gap:10px;color:#7f36e8;pointer-events:none;transform:translate(-50%);animation:comboCelebrate 1.45s cubic-bezier(.2,.8,.2,1) both}.combo-celebration strong{position:relative;z-index:2;font-size:clamp(34px,4vw,58px);font-style:italic;font-weight:950;letter-spacing:-.04em;text-shadow:0 8px 30px rgba(145,76,255,.22)}.combo-celebration>span{position:relative;z-index:2;font-size:clamp(24px,3vw,40px);font-weight:950}.combo-celebration small{position:relative;z-index:2;align-self:center;padding:6px 10px;color:#16856a;background:#e8faf4;border-radius:999px;font-size:12px;font-weight:850}.combo-glow{position:absolute;inset:-80px -130px;background:radial-gradient(circle,rgba(145,76,255,.2),transparent 66%);filter:blur(10px)}@keyframes comboCelebrate{0%{opacity:0;transform:translate(-50%,26px) scale(.72)}18%,72%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-20px) scale(1.04)}}.add-to-vocabulary-btn{position:absolute;top:0;right:0;display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fffffff2;border:1px solid #e5e7eb;border-radius:20px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000000f;z-index:10;font-size:13px;color:#374151;pointer-events:auto}.add-to-vocabulary-btn:hover{background:#f0fdf4;border-color:#10b981;box-shadow:0 4px 12px #10b98133;transform:translateY(-1px)}.add-to-vocabulary-btn:active{transform:translateY(0)}.add-to-vocabulary-btn img{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.add-to-vocabulary-btn span{font-weight:500}.dictation-page-overlay.dark .add-to-vocabulary-btn{background:#1f2937f2;border-color:#374151;color:#e5e7eb}.dictation-page-overlay.dark .add-to-vocabulary-btn:hover{background:#374151;border-color:#10b981}.practice-item{background:var(--paper-color);border-radius:24px;padding:60px 40px;box-shadow:0 8px 32px #0000000f;text-align:center;transition:box-shadow .3s ease}.practice-item:hover{box-shadow:0 12px 40px #0000001a}.dictation-page-overlay.dark .practice-item{box-shadow:0 8px 32px #0000004d}.dictation-page-overlay.dark .practice-item:hover{box-shadow:0 12px 40px #0006}.practice-item-no-card{background:transparent;padding:20px;text-align:center}.item-prompt{display:flex;flex-direction:column;align-items:center;gap:32px;padding:20px 0}.item-prompt p{font-size:20px;font-weight:500;color:var(--text-secondary);margin:0;letter-spacing:.5px}.dictation-page .play-btn{width:96px;height:96px;border-radius:50%;background:var(--text-primary);color:var(--paper-color);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #00000026,0 4px 8px #0000001a;outline:none!important}.dictation-page .play-btn:hover{transform:scale(1.08);box-shadow:0 12px 32px #0003,0 6px 12px #00000026;outline:none!important}.dictation-page .play-btn:active{transform:scale(.98)}.dictation-page .play-btn svg{width:36px;height:36px;margin-left:4px}.item-listening{display:flex;flex-direction:column;align-items:center;gap:24px;padding:60px 0;min-height:200px;justify-content:center}.listening-animation{display:flex;align-items:center;gap:8px;height:60px}.sound-wave{width:4px;height:40px;background:var(--text-primary);border-radius:2px;animation:wave 1.2s ease-in-out infinite}.sound-wave:nth-child(1){animation-delay:0s}.sound-wave:nth-child(2){animation-delay:.2s}.sound-wave:nth-child(3){animation-delay:.4s}@keyframes wave{0%,to{transform:scaleY(.5);opacity:.7}50%{transform:scaleY(1);opacity:1}}.item-listening p.listening-status{font-size:16px;color:var(--text-secondary);margin:0}.listening-content{display:flex;flex-direction:column;gap:16px;width:100%;max-width:800px;padding:24px;background:var(--surface-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:8px}.listening-context-label{color:#7657ff;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.listening-sentence{font-size:20px;font-weight:500;color:var(--text-color);line-height:1.6;text-align:center}.listening-translation{font-size:16px;color:var(--text-secondary);line-height:1.6;text-align:center;padding-top:12px;border-top:1px solid var(--border-color)}.listening-phonetic{font-size:18px;color:#3b82f6;text-align:center;font-family:Arial,sans-serif}.listening-meaning{font-size:16px;color:var(--text-secondary);text-align:center;line-height:1.6}.item-typing{display:flex;flex-direction:column;gap:16px}.sentence-game-guide{width:min(820px,calc(100% - 36px));margin:0 auto 4px;padding:10px 14px 9px;color:#717382;background:#ffffffb3;border:1px solid #e8e7ee;border-radius:13px;box-sizing:border-box}.sentence-game-guide>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:16px}.sentence-game-guide span{font-size:11px;font-weight:700;letter-spacing:.025em}.sentence-game-guide strong{color:#8d47ed;font-size:12px}.sentence-game-progress{height:3px;margin-top:8px;overflow:hidden;background:#eeedf2;border-radius:999px}.sentence-game-progress i{display:block;height:100%;background:linear-gradient(90deg,#a350ff,#7548eb);border-radius:inherit;transition:width .22s ease}.dictation-page-overlay.dark .sentence-game-guide{color:#a9adbb;background:#1e293bb8;border-color:#3b4253}.word-hint{text-align:center;margin-bottom:12px}.input-display-container{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;cursor:text}.overlay-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:text;z-index:10;font-size:3rem;border:none!important;outline:none!important;background:transparent!important;padding:0;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.overlay-input:focus{outline:none!important;border:none!important;box-shadow:none!important}.word-phonetic{font-size:20px;color:var(--text-secondary);margin-top:0;margin-bottom:8px;font-weight:500;font-family:Courier New,monospace;letter-spacing:1px}.word-meaning{font-size:24px;color:var(--text-primary);font-weight:400;text-align:center;max-width:500px;margin:0 auto 8px}.sentence-translation-hint{font-size:18px;color:var(--text-primary);margin-bottom:16px;font-weight:500;text-align:center;line-height:1.6;padding:8px 20px;border-radius:8px;max-width:90%;margin-left:auto;margin-right:auto}.input-display-wrapper{position:relative;cursor:text}.transparent-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:text;font-size:3rem;border:none;outline:none;background:transparent;z-index:10}.transparent-input:disabled{cursor:not-allowed}.hint-label{font-size:14px;color:var(--text-secondary);margin-bottom:20px;font-weight:500}.word-blur-hint{font-size:2.5rem;font-weight:600;letter-spacing:3px;color:var(--text-secondary);opacity:.3;filter:blur(8px);margin:12px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .3s ease;font-family:Inter,Courier New,monospace}.word-blur-hint:hover{filter:blur(6px);opacity:.4}.underscore-display{display:inline-flex;gap:12px;font-family:Inter,Courier New,monospace;font-size:2.5rem;font-weight:600;letter-spacing:2px;color:var(--text-primary);line-height:1.2;min-height:3rem;padding:12px 0;align-items:flex-end}.sentence-words-display{display:flex;flex-wrap:wrap;justify-content:center;-moz-column-gap:16px;column-gap:16px;row-gap:12px;padding:12px 0;max-width:90%;margin:0 auto;align-items:flex-end}.sentence-word-box{min-width:4ch;height:auto;font-size:inherit;font-weight:600;font-family:Inter,Courier New,monospace;color:var(--text-primary);border-bottom:2px solid #cccccc;padding:0 8px 4px;text-align:center;line-height:1.4;letter-spacing:1px;transition:all .2s ease}.sentence-word-box.active{color:#7657ff;border-bottom:3px solid #7657ff;font-weight:700}.sentence-word-box.completed{color:var(--text-primary);border-bottom-color:var(--text-primary)}.sentence-word-box.empty{color:#0003;border-bottom-color:#e5e5e5}@media(prefers-color-scheme:dark){.sentence-word-box.empty{color:#ffffff4d;border-bottom-color:#fff3}}.sentence-word-box.error{color:#ef4444!important;border-bottom-color:#ef4444!important;border-bottom-width:3px!important;background:#ef44440d}.sentence-word-box.error.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.sentence-punctuation{font-size:inherit;font-weight:600;color:var(--text-primary);height:auto;line-height:1.4;display:flex;align-items:flex-end;padding-bottom:4px}.underscore-char{display:inline-block;min-width:1.2ch;text-align:center;padding-bottom:4px;transition:all .2s ease;color:#999}.underscore-char:not(:empty){color:var(--text-primary)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}50%{transform:translate(10px)}75%{transform:translate(-10px)}}.animate-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.input-wrapper{position:relative}.practice-input{width:100%;padding:24px 32px;font-size:2rem;font-weight:500;border:none!important;border-radius:0!important;background:transparent!important;color:var(--text-primary);transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Inter,sans-serif;text-align:center;letter-spacing:1px;outline:none!important;box-shadow:none!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.practice-input::-moz-placeholder{color:var(--text-secondary);opacity:.4;font-weight:400}.practice-input::placeholder{color:var(--text-secondary);opacity:.4;font-weight:400}.practice-input:focus,.practice-input:focus-visible{outline:none!important;border:none!important;box-shadow:none!important}.practice-input.correct{color:var(--success-color)!important;background:transparent!important;box-shadow:none!important;border:none!important}.practice-input.incorrect{color:var(--error-color)!important;background:transparent!important;box-shadow:none!important;border:none!important;animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.hint-display{margin-top:20px;margin-bottom:20px;padding:16px 20px;background:transparent;border-radius:12px;border:2px dashed rgba(100,116,139,.4);animation:slideDown .4s cubic-bezier(.4,0,.2,1);text-align:left;box-shadow:0 4px 16px #64748b1f;position:relative;overflow:hidden}.hint-display:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#64748b99,#47556999)}.hint-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:17px;font-weight:700;color:#64748b}.hint-icon{font-size:24px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.hint-title{font-weight:700;letter-spacing:.5px}.hint-word{font-size:20px;color:var(--text-primary);margin-bottom:16px;line-height:1.7;padding:12px 16px;background:#64748b1a;border-radius:10px;font-weight:600;letter-spacing:1px}.hint-word strong{color:#64748b;margin-right:10px;font-weight:700}.hint-word-phonetic{color:var(--text-secondary);font-weight:400;font-family:Courier New,monospace;margin-left:8px;font-size:18px}.hint-meaning{font-size:16px;color:var(--text-primary);margin-bottom:14px;line-height:1.7}.hint-meaning strong{color:#64748b;margin-right:8px;font-weight:700}.hint-example{font-size:15px;color:var(--text-secondary);font-style:italic;padding:14px 16px;background:#64748b0f;border-radius:10px;border-left:4px solid #64748b;line-height:1.7;display:flex;align-items:center;gap:12px}.hint-example strong{color:#64748b;margin-right:8px;font-style:normal;font-weight:700}.play-example-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#64748b;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;outline:none;margin-left:auto}.play-example-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #64748b4d}.play-example-btn:active{transform:scale(.95)}.play-example-btn svg{width:14px;height:14px;margin-left:2px}.hint-translation{font-size:14px;color:var(--text-secondary);padding:12px 16px;background:#64748b0a;border-radius:8px;line-height:1.7;margin-top:8px;font-style:normal}.hint-translation strong{color:#64748b;margin-right:8px;font-weight:700}.dictation-page-overlay.dark .hint-display{background:transparent;box-shadow:0 4px 16px #64748b33}.dictation-page-overlay.dark .hint-example{background:#64748b1f}.shortcut-hint{display:flex;justify-content:center;gap:12px;margin-top:12px;padding-bottom:16px;flex-wrap:wrap}.hint-item{font-size:12px;color:var(--text-secondary);padding:4px 12px;background:var(--bg-color);border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.hint-item:hover{border-color:#10b981;color:#10b981}.answer-display{margin-top:32px;padding:28px 32px;background:linear-gradient(135deg,#10b98108,#3b82f608);border-radius:16px;border:2px solid var(--border-color);animation:slideDown .4s cubic-bezier(.4,0,.2,1);text-align:center;box-shadow:0 4px 16px #0000000a}.answer-tips{margin-top:16px;padding:16px 20px;background:#64748b0a;border-radius:12px;text-align:center;animation:slideDown .4s cubic-bezier(.4,0,.2,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.answer-text{font-size:20px;font-weight:700;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.5px}.answer-text.correct{color:#10b981;text-shadow:0 2px 8px rgba(16,185,129,.2)}.answer-text.incorrect{color:#ef4444;text-shadow:0 2px 8px rgba(239,68,68,.2)}.correct-answer{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:16px;font-family:Inter,sans-serif;letter-spacing:2px}.correct-answer-highlighted{font-size:32px;font-weight:700;margin-bottom:16px;font-family:Inter,sans-serif;letter-spacing:2px;line-height:1.6}.correct-answer-highlighted .error-word{color:#ef4444;background:#ef44441a;padding:4px 8px;border-radius:0;margin:0 4px;display:inline-block}.correct-answer-highlighted .correct-word{color:var(--text-primary);margin:0 4px;display:inline-block}.word-meaning{font-size:17px;color:var(--text-secondary);font-style:italic;margin-bottom:12px;line-height:1.6}.word-example{font-size:15px;color:var(--text-secondary);margin-top:16px;padding:16px;background:#10b9810a;border-radius:12px;border-left:4px solid var(--accent-color);text-align:left;font-style:italic;line-height:1.6}.word-example-translation{font-size:14px;color:var(--text-secondary);margin-top:8px;padding:12px 16px;background:#10b98105;border-radius:10px;text-align:left;font-style:normal;line-height:1.6}.input-actions{display:flex;justify-content:center;gap:10px;margin-top:16px}.action-btn{padding:10px 20px;border-radius:12px;border:1.5px solid #e5e7eb;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;outline:none!important;letter-spacing:0px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;line-height:1.5;min-height:40px;background:#fff;color:#374151;box-sizing:border-box;text-align:center}.action-btn:focus,.action-btn:focus-visible{outline:none!important}.action-btn.primary{background:#7657ff;color:#fff;border:1.5px solid #7657ff;font-weight:600}.action-btn.primary:hover:not(:disabled){background:#6544ed;border-color:#6544ed}.action-btn.primary:active:not(:disabled){background:#5838d8;border-color:#5838d8}.action-btn.primary:disabled{background:#e9e5ff;color:#aaa0df;border-color:#e9e5ff;cursor:not-allowed;opacity:.6}.action-btn.secondary{background:#fff;color:#374151;border:1.5px solid #e5e7eb}.action-btn.secondary:hover:not(:disabled){background:#f4f1ff;border-color:#7657ff;color:#1f2937}.action-btn.secondary:active:not(:disabled){background:#dcfce7;border-color:#059669}.action-btn.secondary svg{width:18px;height:18px}.dictation-result{text-align:center;width:min(820px,calc(100% - 32px));max-width:820px;padding:30px 36px 36px;background:#ffffffe0;border:1px solid #e6e4f1;border-radius:30px;box-shadow:0 26px 70px #221c541f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.result-kicker{color:#7657ff;font-size:10px;font-weight:900;letter-spacing:.2em}.result-grade{display:grid;place-items:center;width:90px;height:90px;margin:14px auto 13px;color:#fff;background:linear-gradient(145deg,#7657ff,#9a70ff 55%,#ff7062);border:7px solid #efecff;border-radius:28px;box-shadow:0 13px 30px #7657ff47;font-size:48px;font-weight:950;transform:rotate(-4deg);animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1)}.result-icon{width:140px;height:140px;margin:0 auto 40px;animation:scaleIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.result-icon svg{width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(16,185,129,.3))}.dictation-result h2{font-family:"Noto Serif SC",serif;font-size:36px;font-weight:700;margin:0 0 7px;color:var(--text-primary);letter-spacing:1px}.result-summary{margin:0 auto 25px;color:var(--text-secondary);font-size:14px}.result-stats{display:flex;justify-content:center;gap:12px;margin-bottom:20px}.stat-item{text-align:center;position:relative;min-width:112px;padding:15px 13px;border-radius:16px;background:#f7f6fb}.stat-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#10b9810d,#3b82f60d);border-radius:16px;opacity:0;transition:opacity .3s ease}.stat-item:hover:before{opacity:1}.stat-value{font-size:30px;font-weight:800;background:linear-gradient(135deg,#10b981,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;position:relative}.result-points{display:inline-flex;align-items:center;gap:7px;margin:0 auto 24px;padding:9px 14px;color:#7a5a10;background:#fff5d6;border:1px solid #ffe6a7;border-radius:999px;font-size:12px}.result-points span{color:#e0a122}.result-points strong{font-size:16px}.dictation-page-overlay.dark .dictation-result{background:#1e293be0;border-color:#3d465c}.dictation-page-overlay.dark .stat-item{background:#0f172a8c}.stat-label{font-size:15px;color:var(--text-secondary);font-weight:600;letter-spacing:.5px;position:relative}.result-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.dictation-empty{text-align:center;color:var(--text-secondary);font-size:16px}@keyframes vibrate-success{0%,to{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.05);filter:brightness(1.1)}50%{transform:scale(.98);filter:brightness(1)}75%{transform:scale(1.03);filter:brightness(1.08)}}.vibrate-success{animation:vibrate-success .6s cubic-bezier(.36,.07,.19,.97);box-shadow:0 0 50px #10b98180!important;transition:box-shadow .3s ease-out}@keyframes vibrate-error{0%,to{transform:translate(0) rotate(0)}10%,30%,50%,70%,90%{transform:translate(-15px) rotate(-2deg)}20%,40%,60%,80%{transform:translate(15px) rotate(2deg)}}@keyframes flash-error{0%,to{filter:brightness(1);background:transparent}50%{filter:brightness(.9);background:#ef44440d}}.vibrate-error{animation:vibrate-error .6s cubic-bezier(.36,.07,.19,.97),flash-error .6s ease-out;box-shadow:0 0 50px #ef444499!important;transition:box-shadow .3s ease-out}@media(max-width:768px){.dictation-header{padding:16px 20px;flex-wrap:wrap;gap:12px}.dictation-title{order:3;width:100%}.dictation-progress{padding:16px 20px}.dictation-content{padding:20px}.practice-item{padding:40px 24px}.result-stats{gap:24px}}.dictation-page-overlay.dark .action-btn{background:#1f2937;color:#e5e7eb;border-color:#374151}.dictation-page-overlay.dark .action-btn.secondary{background:#1f2937;border-color:#374151}.dictation-page-overlay.dark .action-btn.secondary:hover:not(:disabled){background:#374151;border-color:#4b5563;color:#f3f4f6}.dictation-page-overlay.dark .action-btn.primary{background:#7657ff;color:#fff;border-color:#7657ff}.dictation-page-overlay.dark .action-btn.primary:hover:not(:disabled){background:#8d6bff;border-color:#8d6bff}.keyboard-shortcuts-hint{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin-top:16px;padding:10px 20px;background:transparent;font-size:12px;max-width:100%}.keyboard-shortcuts-hint .shortcut-item{display:inline-flex;align-items:center;gap:5px;color:#9ca3af;white-space:nowrap;font-size:12px;flex-shrink:0}.keyboard-shortcuts-hint kbd{display:inline-flex;align-items:center;justify-content:center;padding:3px 7px;font-size:11px;font-family:SF Mono,Consolas,Monaco,Courier New,monospace;font-weight:600;color:#6b7280;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:4px;min-width:24px;min-height:20px;text-align:center;letter-spacing:.3px}.dictation-page-overlay.dark .keyboard-shortcuts-hint{background:transparent}.dictation-page-overlay.dark .keyboard-shortcuts-hint .shortcut-item{color:#6b7280}.dictation-page-overlay.dark .keyboard-shortcuts-hint kbd{color:#9ca3af;background:#ffffff0f;border-color:#ffffff1a}@media(max-width:640px){.dictation-game-hud{grid-template-columns:1fr 1fr;width:calc(100% - 24px);padding:6px 0}.hud-session-label{display:none}.hud-pill{min-width:0;justify-content:center}.answer-feedback-banner{width:calc(100% - 24px)}.answer-feedback-banner small{display:none}.combo-celebration{top:13%;gap:6px}.combo-celebration small{display:none}.sentence-game-guide{width:calc(100% - 12px)}.dictation-result{padding:24px 15px}.result-stats{display:grid;grid-template-columns:1fr 1fr}.stat-item{min-width:0}.listening-content{padding:16px;max-width:100%}.listening-sentence{font-size:18px}.listening-translation{font-size:15px}.listening-phonetic{font-size:16px}.listening-meaning{font-size:15px}.keyboard-shortcuts-hint{gap:10px;padding:8px 12px;font-size:10px;margin-top:12px;flex-wrap:wrap}.keyboard-shortcuts-hint .shortcut-item{gap:4px;font-size:10px}.keyboard-shortcuts-hint kbd{padding:2px 6px;font-size:9px;min-width:22px;min-height:18px}}.category-selection{--club-ink: #171827;--club-muted: #696b7b;--club-violet: #914cff;--club-violet-dark: #7935e8;--club-surface: #f7f7fb;min-height:100vh;background:radial-gradient(circle at 50% 0%,rgba(145,76,255,.075),transparent 27%),#f8f8fb;padding:16px clamp(18px,3vw,46px);width:100%;box-sizing:border-box;color:var(--club-ink)}.club-hero{position:relative;display:flex;flex-direction:column;align-items:center;height:calc(100vh - 32px);min-height:660px;max-width:1240px;margin:0 auto;overflow:hidden;border:1px solid #ebeaf1;border-radius:30px;background:#fffffff5;box-shadow:0 22px 70px #241e4013}.club-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -15%,rgba(145,76,255,.1),transparent 38%),linear-gradient(180deg,#fff0 62%,#f7f5fcb8);z-index:0;pointer-events:none}.club-hero-copy{position:relative;z-index:2;width:100%;max-width:920px;padding:clamp(28px,4vh,50px) 36px clamp(18px,2.5vh,28px);box-sizing:border-box;text-align:center;flex:0 0 auto}.club-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;color:#6e657d;background:#fff;border:1px solid #e7e4ec;border-radius:999px;box-shadow:0 6px 18px #2821420b;font-size:12px;font-weight:700;letter-spacing:.04em}.club-live-dot{width:8px;height:8px;border-radius:50%;background:var(--club-violet);box-shadow:0 0 0 5px #914cff1c}.category-selection-title{margin:17px 0 13px;color:var(--club-ink);font-size:clamp(44px,4.6vw,64px);font-weight:900;line-height:1.12;letter-spacing:-.055em}.category-selection-title span{color:var(--club-violet);background:linear-gradient(135deg,#a34dff,#7848ef);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.category-selection-subtitle{max-width:720px;margin:0 auto;color:var(--club-muted);font-size:16px;font-weight:450;line-height:1.65}.category-selection-subtitle strong{color:#3c3d4c;font-weight:650}.club-hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px}.club-primary-cta,.club-secondary-cta{border:0;border-radius:11px;min-height:50px;padding:0 21px;font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.club-primary-cta{display:inline-flex;align-items:center;gap:12px;color:#fff;background:linear-gradient(135deg,#9d4fff,#8142ef);box-shadow:0 10px 24px #914cff40}.club-primary-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px #914cff52}.club-primary-cta:disabled{opacity:.45;cursor:not-allowed;transform:none}.cta-play{display:grid;place-items:center;width:25px;height:25px;color:var(--club-violet);background:#fff;border-radius:8px}.cta-play svg{width:15px;height:15px}.cta-arrow{color:#ffffffc7;font-size:18px}.club-secondary-cta{color:#4f5060;background:#fff;border:1px solid #dadbe4}.club-secondary-cta:hover{color:var(--club-violet-dark);background:#faf8ff;border-color:#cbb7f1;transform:translateY(-2px)}.club-trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:16px;color:#858694;font-size:12px}.club-trust-row span{display:flex;align-items:baseline;gap:4px}.club-trust-row b{color:#434452;font-size:14px}.club-hero-visual{position:relative;z-index:1;display:grid;place-items:center;width:100%;min-height:0;flex:1;padding:0 52px 34px;box-sizing:border-box}.club-hero-visual:before{content:"";position:absolute;bottom:22px;width:72%;height:90px;background:#914cff1c;filter:blur(44px);border-radius:50%}.club-product-demo{position:relative;z-index:2;display:flex;flex-direction:column;width:min(1060px,100%);height:100%;max-height:380px;color:#252735;background:#fff;border:1px solid #e4e4eb;border-radius:20px;box-shadow:0 20px 52px #1f1c301c;overflow:hidden}.demo-window-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:50px;padding:0 18px;color:#9698a5;border-bottom:1px solid #ececf2;font-size:11px}.demo-window-bar>span{color:#555766;font-weight:750;letter-spacing:.06em}.demo-window-bar>kbd{justify-self:end;padding:4px 8px;color:#777986;background:#f5f5f8;border:1px solid #e7e7ed;border-radius:6px;font:inherit}.demo-dots{display:flex;gap:6px}.demo-dots i{width:7px;height:7px;background:#d6d7de;border-radius:50%}.demo-dots i:first-child{background:#ff7062}.demo-dots i:nth-child(2){background:#f2bd55}.demo-dots i:nth-child(3){background:#62d9b5}.demo-progress{height:3px;background:#f0eff4}.demo-progress i{display:block;width:38%;height:100%;background:linear-gradient(90deg,#a651ff,#7f4aee);box-shadow:0 0 12px #914cff38}.demo-stage{flex:1;padding:clamp(18px,2.5vh,30px) 48px clamp(16px,2.2vh,26px)}.demo-instruction{color:#a15aff;text-align:center;font-size:10px;font-weight:800;letter-spacing:.1em}.demo-audio-button{display:flex;align-items:center;gap:11px;width:-moz-fit-content;width:fit-content;margin:16px auto 15px;padding:9px 14px;color:#5d536e;background:#faf8ff;border:1px solid #e7dcf8;border-radius:999px;box-shadow:0 6px 18px #65439912}.demo-audio-button>svg{width:17px;height:17px;color:#914cff}.demo-audio-button>span{color:#9293a0;font-size:10px}.demo-wave{display:flex;align-items:center;gap:3px;width:65px;height:20px}.demo-wave i{width:3px;height:7px;background:#914cff;border-radius:3px;animation:demoWave 1s ease-in-out infinite alternate}.demo-wave i:nth-child(2),.demo-wave i:nth-child(4){height:16px;animation-delay:.15s}.demo-wave i:nth-child(3){height:11px;animation-delay:.3s}.demo-wave i:nth-child(5){height:6px;animation-delay:.45s}@keyframes demoWave{to{transform:scaleY(.55);opacity:.58}}.demo-translation{margin:0 0 18px;color:#393a47;text-align:center;font-size:16px;font-weight:700}.demo-word-row{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.demo-word-row span{min-width:64px;padding:0 6px 8px;color:#9a9ca8;border-bottom:2px solid #dedfe5;text-align:center;font-size:15px;font-weight:700}.demo-word-row .is-complete{color:#3f414e;border-color:#8b8d99}.demo-word-row .is-active{color:#8a43ef;border-color:#914cff}.demo-feedback-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:10px 14px;color:#16856a;background:#f0fbf7;border:1px solid #cceee3;border-radius:12px}.demo-perfect{display:flex;align-items:center;gap:10px}.demo-perfect>b{display:grid;place-items:center;width:25px;height:25px;color:#fff;background:#35bd97;border-radius:8px}.demo-perfect span{display:flex;flex-direction:column;gap:1px}.demo-perfect strong{font-size:12px}.demo-perfect small{color:#68a996;font-size:9px}.demo-points{color:#16856a;font-size:17px}.demo-shortcuts{display:flex;justify-content:center;gap:18px;padding:11px 18px;color:#92939f;background:#fafafd;border-top:1px solid #eeeeF3;font-size:9px}.demo-shortcuts kbd{margin-right:4px;padding:3px 5px;color:#777987;background:#fff;border:1px solid #dedfe6;border-radius:4px;font:inherit}.club-collections-reveal{animation:collectionsReveal .48s cubic-bezier(.2,.8,.2,1) both}@keyframes collectionsReveal{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.club-how-it-works{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:28px;max-width:1120px;margin:34px auto 72px;padding:24px 30px;border:1px solid #e9e9f1;border-radius:20px;background:#ffffffd1;box-shadow:0 10px 35px #1918360d}body:has(.category-selection) .nav-game-zone-link,body:has(.category-selection) .nav-tools-link{display:none!important}.club-step{display:flex;align-items:center;gap:15px}.club-step>span{display:grid;place-items:center;width:37px;height:37px;flex:0 0 auto;border-radius:11px;color:var(--club-violet);background:#eeebff;font-size:11px;font-weight:900}.club-step div{display:flex;flex-direction:column;gap:3px}.club-step strong{font-size:15px}.club-step small{color:var(--club-muted);font-size:12px}.club-step-arrow{color:#c2c4cf}.club-collections-header{display:flex;align-items:end;justify-content:space-between;gap:30px;max-width:1240px;margin:0 auto 27px;scroll-margin-top:28px}.club-section-kicker{color:var(--club-violet);font-size:11px;font-weight:900;letter-spacing:.15em}.club-collections-header h2{margin:9px 0 7px;color:var(--club-ink);font-size:clamp(30px,3vw,42px);letter-spacing:-.04em}.club-collections-header p{margin:0;color:var(--club-muted);font-size:14px}.club-collection-count{flex:0 0 auto;padding:10px 14px;color:#64697a;background:#fff;border:1px solid #e7e8ef;border-radius:999px;font-size:12px;font-weight:700}[data-theme=dark] .category-selection-title{color:var(--club-ink)}[data-theme=dark] .category-selection-subtitle{color:var(--club-muted)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:22px;max-width:1240px;margin:0 auto;padding-bottom:60px}.category-card{background:#fff;border-radius:22px;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid #e8e9f0;display:flex;flex-direction:column;position:relative;height:100%;box-shadow:0 7px 24px #1918360f;cursor:pointer;padding:0;text-align:left;font:inherit}.category-card:hover{transform:translateY(-7px);box-shadow:0 20px 42px #19183621;border-color:#7657ff4d}.category-card-visual{width:100%;aspect-ratio:16 / 9;background:#f1f5f9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.category-visual-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#080a1c00 48%,#080a1cb8);pointer-events:none}.category-card-index{position:absolute;left:15px;top:14px;display:grid;place-items:center;width:35px;height:35px;color:#fff;background:#0b0e228c;border:1px solid rgba(255,255,255,.2);border-radius:11px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;font-weight:850}.category-card-badge{position:absolute;right:14px;bottom:12px;color:#fff;font-size:10px;font-weight:750;letter-spacing:.08em}.visual-gradient-1{background:linear-gradient(135deg,#e0e7ff,#a5b4fc)}.visual-gradient-2{background:linear-gradient(135deg,#fce7f3,#f9a8d4)}.visual-gradient-3{background:linear-gradient(135deg,#d1fae5,#6ee7b7)}.visual-gradient-4{background:linear-gradient(135deg,#ffedd5,#fdba74)}.category-card-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(.9) contrast(.98);transition:transform .5s ease}.category-card:hover .category-card-image{transform:scale(1.05);filter:saturate(1) contrast(1)}.category-icon-wrapper{font-size:56px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.category-card-content{padding:21px;flex:1;display:flex;flex-direction:column}.category-tags{display:flex;gap:6px;margin-bottom:10px}.category-tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;background:#eeebff;color:#6747ed;text-transform:uppercase;letter-spacing:.5px}.category-tag.hot{background:#fff0ed;color:#e4574a}.category-name{font-size:20px;font-weight:800;color:#1e293b;margin:0 0 6px;line-height:1.4}.category-description{font-size:13px;color:#64748b;line-height:1.5;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.category-footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;padding-bottom:4px;border-top:1px solid #F1F5F9;margin-top:auto;width:100%}.category-stats{display:flex;flex-direction:row;gap:12px;align-items:center}.category-stat-item{display:flex;align-items:center;gap:4px;font-size:11px;color:#656b7c;font-weight:650;line-height:1;white-space:nowrap}.category-stat-item svg{width:12px;height:12px;stroke:#777d90;stroke-width:3;flex-shrink:0}.category-card .action-btn{width:auto!important;min-width:110px!important;max-width:130px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:8px 16px!important;border-radius:10px!important;background:#171a2d!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px!important;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014;flex-shrink:0!important;flex-grow:0!important;border:none!important;cursor:pointer;white-space:nowrap!important;font-size:14px!important;font-weight:750!important;letter-spacing:0!important;line-height:1!important}.category-card .action-btn:hover,.category-card:hover .action-btn{transform:translateY(-2px);background:linear-gradient(135deg,#7657ff,#8d64ff)!important;box-shadow:0 7px 20px #7657ff4d}.category-card .action-btn svg{width:16px!important;height:16px!important;stroke-width:2.5;flex-shrink:0}[data-theme=dark] .category-selection{background:radial-gradient(circle at 50% 0%,rgba(145,76,255,.075),transparent 27%),#f8f8fb;color:var(--club-ink)}[data-theme=dark] .category-card{background:#fff;border-color:#e8e9f0}[data-theme=dark] .category-stat-item{color:#656b7c}[data-theme=dark] .category-stat-item svg{stroke:#777d90}[data-theme=dark] .category-tag{background:#f2ebff;color:#7341d7}[data-theme=dark] .category-card .action-btn{background:#171a2d!important}[data-theme=dark] .category-card .action-btn:hover,[data-theme=dark] .category-card:hover .action-btn{background:linear-gradient(135deg,#9d4fff,#8142ef)!important;box-shadow:0 7px 20px #914cff47}@media(max-width:640px){.category-selection{padding:10px}.club-hero{height:calc(100svh - 20px);min-height:690px;border-radius:22px}.club-hero:before{background:radial-gradient(circle at 50% 0%,rgba(145,76,255,.1),transparent 42%)}.club-hero-copy{padding:30px 20px 20px}.club-eyebrow{padding:7px 11px;font-size:10px}.category-selection-title{margin-top:16px;font-size:37px}.category-selection-subtitle{font-size:14px;line-height:1.6}.club-hero-visual{width:100%;padding:0 10px 10px}.club-product-demo{width:100%;transform:none;border-radius:18px}.demo-window-bar{height:38px}.demo-stage{padding:14px 16px 12px}.demo-audio-button{margin:11px auto 10px;padding:7px 10px}.demo-translation{margin-bottom:13px;font-size:12px}.demo-word-row{gap:6px}.demo-word-row span{min-width:38px;padding-bottom:4px;font-size:11px}.demo-feedback-row{margin-top:13px;padding:7px 9px}.demo-shortcuts{display:none}.club-hero-actions{align-items:stretch;flex-direction:column}.club-primary-cta{justify-content:center}.club-trust-row{gap:8px 14px;margin-top:14px}.club-how-it-works{grid-template-columns:1fr;gap:14px;margin:20px auto 56px}.club-step-arrow{display:none}.club-collections-header{align-items:flex-start;flex-direction:column;gap:16px}.categories-grid{grid-template-columns:1fr}}@media(min-width:641px)and (max-width:980px){.club-hero-copy{padding:58px 36px 34px}.club-hero-visual{padding:0 30px 36px}.club-how-it-works{gap:16px}.club-step small{display:none}}@media(max-height:780px)and (min-width:641px){.club-hero-copy{padding:24px 32px 14px}.club-eyebrow{padding:6px 12px;font-size:10px}.category-selection-title{margin:11px 0 8px;font-size:clamp(40px,4.1vw,52px)}.category-selection-subtitle{font-size:14px;line-height:1.45}.club-hero-actions{margin-top:13px}.club-primary-cta,.club-secondary-cta{min-height:44px}.club-trust-row{margin-top:10px}.club-hero-visual{padding:0 52px 18px}.club-product-demo{max-height:340px}.demo-window-bar{height:40px}.demo-stage{padding:13px 42px 11px}.demo-audio-button{margin:10px auto 9px;padding:7px 12px}.demo-translation{margin-bottom:10px;font-size:14px}.demo-feedback-row{margin-top:10px;padding:7px 11px}.demo-shortcuts{padding:7px 16px}}.category-article-list{min-height:100vh;background:radial-gradient(circle at 10% 12%,rgba(118,87,255,.08),transparent 28%),#fbfbfd;padding:28px clamp(20px,4vw,64px) 72px;box-sizing:border-box}.lesson-list-hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:390px;max-width:1320px;margin:0 auto;overflow:hidden;color:#fff;background:#0b0e22;border-radius:32px;box-shadow:0 26px 70px #21195529}.lesson-list-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 35%,rgba(118,87,255,.35),transparent 35%),radial-gradient(circle at 70% 75%,rgba(255,112,98,.18),transparent 28%)}.lesson-list-hero-copy{position:relative;z-index:2;padding:clamp(42px,6vw,78px)}.lesson-list-kicker{color:#a995ff;font-size:10px;font-weight:900;letter-spacing:.2em}.list-title{margin:12px 0 13px;max-width:650px;color:#fff;font-size:clamp(40px,5vw,66px);font-weight:900;line-height:1.1;letter-spacing:-.055em}.lesson-list-hero-copy>p{margin:0;color:#aeb6ce;font-size:16px}.lesson-list-stats{display:flex;flex-wrap:wrap;gap:19px;margin-top:22px;color:#737d9b;font-size:11px}.lesson-list-stats strong{color:#fff;font-size:14px}.lesson-quick-start{display:inline-flex;align-items:center;gap:12px;min-height:54px;margin-top:29px;padding:0 20px;color:#15172a;background:#fff;border:0;border-radius:15px;box-shadow:0 12px 30px #00000038;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.lesson-quick-start:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0000004d}.lesson-play-icon{display:grid;place-items:center;width:27px;height:27px;color:#fff;background:#7657ff;border-radius:9px}.lesson-play-icon svg{width:14px;height:14px}.lesson-list-hero-art{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}.lesson-wave{display:flex;align-items:center;gap:8px;height:96px}.lesson-wave i{width:8px;height:34px;border-radius:8px;background:linear-gradient(180deg,#8c72ff,#ff7d72);box-shadow:0 0 25px #8465ff8c;animation:lessonWave 1.2s ease-in-out infinite alternate}.lesson-wave i:nth-child(2),.lesson-wave i:nth-child(6){height:62px;animation-delay:.1s}.lesson-wave i:nth-child(3),.lesson-wave i:nth-child(5){height:88px;animation-delay:.2s}.lesson-wave i:nth-child(4){height:52px;animation-delay:.3s}@keyframes lessonWave{to{transform:scaleY(.55);opacity:.7}}.lesson-demo-line{display:flex;gap:9px;padding:14px 18px;color:#eef0ff;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-weight:700}.lesson-demo-line span{padding-bottom:5px;border-bottom:2px solid #7657ff}.lesson-demo-line b{width:32px;color:#ff7c70;border-bottom:2px solid #ff7062}.lesson-perfect-chip{padding:10px 15px;color:#78ecc8;background:#141732bf;border:1px solid rgba(255,255,255,.13);border-radius:13px;font-size:12px;font-weight:850;box-shadow:0 12px 30px #00000040;transform:rotate(3deg)}.lesson-perfect-chip strong{margin-left:12px;color:#fff;font-size:17px}.list-container{max-width:1240px;margin:76px auto 0;padding:0}.lesson-section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.lesson-section-heading span{color:#7657ff;font-size:10px;font-weight:900;letter-spacing:.17em}.lesson-section-heading h2{margin:7px 0 0;color:#172033;font-size:clamp(28px,3vw,40px);letter-spacing:-.04em}.lesson-section-heading>p{max-width:340px;margin:0;color:#74798b;font-size:13px;line-height:1.7}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.article-card{display:flex;flex-direction:column;background:#fff;border-radius:21px;border:1px solid #e7e8ef;cursor:pointer;transition:all .4s cubic-bezier(.25,.8,.25,1);overflow:hidden;height:100%;position:relative;box-shadow:0 7px 24px #1918360f;padding:0;text-align:left;font:inherit}.article-card:hover{transform:translateY(-8px);box-shadow:0 22px 40px -8px #221c542e;border-color:#7657ff4d}.article-cover{width:100%;aspect-ratio:16 / 10;position:relative;overflow:hidden;background-color:var(--bg-secondary)}.article-cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,#080a1b00 38%,#080a1b8c)}.article-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s cubic-bezier(.25,.8,.25,1)}.article-card:hover .article-cover img{transform:scale(1.08)}.article-card-number{position:absolute;top:12px;left:12px;background:#0b0e2294;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:.75rem;font-weight:700;font-family:var(--font-mono);padding:4px 8px;border-radius:6px;z-index:2;box-shadow:0 2px 4px #0000000d}.article-card-content{flex:1;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between}.article-title{font-size:1.08rem;font-weight:800;color:var(--text-primary);margin:0 0 .75rem;line-height:1.4;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-meta{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding-top:.75rem;border-top:1px solid rgba(0,0,0,.04)}.session-time{margin-left:auto}.meta-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-secondary);font-weight:500}.meta-item svg{width:14px;height:14px;opacity:.6}.meta-tag{font-size:.7rem;padding:3px 8px;background:var(--bg-secondary);color:var(--text-secondary);border-radius:100px;font-weight:600;transition:all .2s}.meta-tag.today{background:linear-gradient(135deg,#7657ff,#8f68ff);color:#fff;box-shadow:0 2px 4px #f59e0b33}.article-card-action{position:absolute;top:50%;left:50%;transform:translate(-50%,-40%) scale(.8);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1);z-index:3}.article-card:hover .article-card-action{opacity:1;transform:translate(-50%,-50%) scale(1)}.start-btn{width:56px;height:56px;border-radius:50%;border:none;background:#fffffff2;color:#7657ff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0003;transition:all .2s}.start-btn svg{width:28px;height:28px;fill:currentColor;stroke:none;margin-left:4px}.start-btn:hover{transform:scale(1.1);background:#fff}.article-list-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-secondary);background:#f8f9fa}.list-empty{text-align:center;padding:6rem 0;color:var(--text-third)}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.5}@media(max-width:640px){.category-article-list{padding:12px 12px 50px}.lesson-list-hero{grid-template-columns:1fr;min-height:550px;border-radius:24px;align-items:end}.lesson-list-hero-copy{padding:265px 24px 30px}.lesson-list-hero-art{position:absolute;inset:0 0 43%}.lesson-list-hero-copy>p{font-size:14px}.list-container{margin-top:52px}.lesson-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.articles-grid{grid-template-columns:1fr;gap:14px}.article-card{border-radius:12px;box-shadow:0 2px 8px #0000000a}.article-card-content{padding:.875rem}.article-title{font-size:.9rem;margin-bottom:.5rem;line-height:1.35}.article-meta{padding-top:.5rem}.meta-item{font-size:.7rem}.meta-tag{font-size:.65rem;padding:2px 6px}.article-card-number{font-size:.65rem;padding:2px 6px;top:8px;left:8px}.article-card-action{display:block;position:absolute;top:auto;left:auto;bottom:.75rem;right:.75rem;transform:none;opacity:1}.start-btn{width:32px;height:32px;background:#ffffffe6;box-shadow:0 4px 12px #00000026}.start-btn svg{width:14px;height:14px;margin-left:2px}}.feedback-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease;padding:20px}.feedback-modal{background:var(--bg-color);border-radius:16px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.feedback-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color, #e5e7eb)}.feedback-header-content{display:flex;align-items:center;gap:12px}.feedback-header-content svg{color:#667eea}.feedback-header h2{margin:0;font-size:20px;font-weight:700;color:var(--text-color)}.feedback-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text-color-secondary, #6b7280);transition:all .2s ease}.feedback-close:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-color)}.feedback-form{padding:24px;display:flex;flex-direction:column;gap:24px}.feedback-field{display:flex;flex-direction:column;gap:8px}.feedback-label{font-size:14px;font-weight:600;color:var(--text-color)}.feedback-required{color:#ef4444}.feedback-optional{font-weight:400;color:var(--text-color-secondary, #6b7280)}.feedback-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feedback-type-item{padding:16px;background:var(--card-bg, #f9fafb);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.feedback-type-item:hover{background:var(--hover-bg, #f3f4f6);border-color:#667eea}.feedback-type-item.active{background:#667eea1a;border-color:#667eea}.feedback-type-label{font-size:14px;font-weight:600;color:var(--text-color);margin-bottom:4px;display:flex;align-items:center;gap:8px}.feedback-type-icon{width:20px;height:20px;-o-object-fit:contain;object-fit:contain}.feedback-type-emoji{font-size:18px;line-height:1}.feedback-type-desc{font-size:12px;color:var(--text-color-secondary, #6b7280)}.feedback-textarea,.feedback-input{width:100%;padding:12px;background:var(--input-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:14px;color:var(--text-color);transition:all .2s ease;font-family:inherit;resize:vertical}.feedback-textarea:focus,.feedback-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.feedback-textarea::-moz-placeholder,.feedback-input::-moz-placeholder{color:var(--text-color-secondary, #9ca3af)}.feedback-textarea::placeholder,.feedback-input::placeholder{color:var(--text-color-secondary, #9ca3af)}.feedback-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.feedback-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.feedback-btn:disabled{opacity:.6;cursor:not-allowed}.feedback-btn-cancel{background:var(--cancel-bg, #f3f4f6);color:var(--text-color-secondary, #6b7280)}.feedback-btn-cancel:hover:not(:disabled){background:var(--cancel-hover-bg, #e5e7eb)}.feedback-btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.feedback-btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.feedback-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.feedback-success{padding:48px 24px;text-align:center}.feedback-success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;margin-bottom:24px;animation:scaleIn .4s ease}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.feedback-success h3{margin:0 0 12px;font-size:20px;font-weight:700;color:var(--text-color)}.feedback-success p{margin:0;font-size:14px;color:var(--text-color-secondary, #6b7280)}:root[data-theme=dark]{--bg-color: #1f2937;--card-bg: #111827;--input-bg: #111827;--border-color: #374151;--hover-bg: #374151;--text-color: #f9fafb;--text-color-secondary: #9ca3af;--cancel-bg: #374151;--cancel-hover-bg: #4b5563}@media(max-width:640px){.feedback-trigger{right:16px;bottom:80px;padding:10px 16px;font-size:13px}.feedback-modal{max-height:95vh;border-radius:16px 16px 0 0;margin-top:auto}.feedback-type-grid{grid-template-columns:1fr}.feedback-actions{flex-direction:column-reverse}.feedback-btn{width:100%;justify-content:center}}.floating-action-badge{position:fixed;z-index:800;display:flex;align-items:center;justify-content:center;cursor:grab;width:124px;height:124px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.floating-action-badge.dragging{cursor:grabbing}.floating-action-badge img{-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media(max-width:768px){.floating-action-badge{width:112px;height:112px}}.fab-close-button{width:24px;height:24px;position:absolute;top:2px;right:2px;display:grid;place-items:center;padding:0;color:#475569;background:#ffffffe6;border:1px solid rgba(148,163,184,.45);border-radius:50%;box-shadow:0 3px 10px #0f172a1f;cursor:pointer;z-index:40}.fab-close-button:hover{color:#b91c1c;border-color:#b91c1c59}[data-theme=dark] .fab-close-button{color:#cbd5e1;background:#0f172ae6}.fab-badge-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:transparent!important;border:none!important;box-shadow:none!important;z-index:10;cursor:grab;padding:0;transition:transform .2s ease}.fab-badge-center:hover{transform:translate(-50%,-50%) scale(1.1)}.fab-badge-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}.fab-glow-layer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140%;height:140%;border-radius:50%;z-index:-1;opacity:.6;filter:blur(20px);pointer-events:none}.fab-menu-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.fab-sector-item{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;-webkit-mask:radial-gradient(transparent 28px,black 29px,black 58px,transparent 59px);mask:radial-gradient(transparent 28px,black 29px,black 58px,transparent 59px);background:#a0a0a033;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);opacity:0;transform:scale(.9)}.floating-action-badge:hover .fab-sector-item{opacity:1;transform:scale(1)}.fab-sector-item:hover{background:#fbbf24e6;box-shadow:0 0 20px #fbbf2480}.fab-sector-feedback{clip-path:polygon(0 0,50% 0,50% 50%,0 50%)}.fab-sector-icon{position:absolute;top:26%;left:26%;transform:translate(-50%,-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;z-index:20;pointer-events:none;opacity:.6;transition:opacity .2s}.fab-sector-item:hover .fab-sector-icon{opacity:1}.fab-sector-icon img{width:20px;height:20px;-o-object-fit:contain;object-fit:contain;filter:brightness(.3)}.fab-sector-item:hover .fab-sector-icon img{filter:brightness(0) invert(1)}.fab-badge-label{position:absolute;top:91px;left:50%;transform:translate(-50%);display:flex!important;flex-direction:row;align-items:center;gap:6px;pointer-events:none;z-index:20;text-align:center;text-shadow:0 1px 3px rgba(255,255,255,.9),0 0 2px rgba(255,255,255,1);white-space:nowrap}.fab-badge-level{font-size:11px;font-weight:800;color:#6366f1;font-family:SF Mono,monospace;line-height:1}.fab-badge-name{font-size:11px;font-weight:700;color:#1f2937;line-height:1}.quick-points-card{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative}.quick-points-info{display:flex;align-items:center;gap:6px;padding:6px 14px 6px 12px;background:#3b82f614;border-radius:20px;transition:all .2s ease;flex-shrink:0;overflow:visible;min-width:-moz-fit-content;min-width:fit-content}.quick-points-info:hover{background:#3b82f61f}.quick-points-value{display:flex;align-items:center;gap:5px;flex-shrink:0;overflow:visible}.points-icon{font-size:14px;line-height:1;flex-shrink:0}.points-icon-img{width:16px;height:16px;-o-object-fit:contain;object-fit:contain;flex-shrink:0}.points-number{font-size:15px;font-weight:700;color:#3b82f6;line-height:1;white-space:nowrap;min-width:-moz-max-content;min-width:max-content;display:inline-block;letter-spacing:.5px}[data-theme=dark] .points-number{color:#60a5fa}.quick-points-label{display:none}.quick-checkin-btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px 14px;background:linear-gradient(135deg,#f97316,#ea580c);border:none;border-radius:20px;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #f973164d;min-width:auto;white-space:nowrap}.quick-checkin-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f9731666;background:linear-gradient(135deg,#ea580c,#c2410c)}.quick-checkin-btn:active:not(:disabled){transform:translateY(0)}.quick-checkin-btn:disabled{cursor:default}.quick-checkin-btn.checked{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e4d}.quick-checkin-btn.checked:hover:not(:disabled){background:linear-gradient(135deg,#16a34a,#15803d);box-shadow:0 4px 12px #22c55e66;transform:translateY(-1px)}.quick-checkin-btn.loading{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 2px 6px #9ca3af40}.checkin-icon{font-size:14px;line-height:1}.checkin-icon-img{width:16px;height:16px;-o-object-fit:contain;object-fit:contain}.checkin-text{font-size:12px;font-weight:600}.checkin-days{font-size:13px;font-weight:700}.checkin-loading{font-size:14px;animation:spin 1s linear infinite}.quick-checkin-success{position:absolute;top:-32px;right:0;padding:6px 10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:13px;font-weight:700;border-radius:16px;box-shadow:0 3px 10px #f59e0b59;animation:bounceIn .4s ease,fadeOut .4s ease 1.5s forwards;z-index:10}@keyframes bounceIn{0%{transform:scale(0) translateY(10px);opacity:0}60%{transform:scale(1.1) translateY(0)}to{transform:scale(1);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translateY(-8px)}}@media(max-width:768px){.quick-points-card{gap:6px}.quick-points-info{padding:5px 10px;gap:4px}.points-icon{font-size:12px}.points-icon-img{width:14px;height:14px}.points-number{font-size:14px}.quick-checkin-btn{padding:5px 12px;font-size:12px}.checkin-icon{font-size:12px}.checkin-icon-img{width:14px;height:14px}.checkin-text{display:none}.checkin-days{font-size:12px}}[data-theme=dark] .quick-points-info{background:#60a5fa26}[data-theme=dark] .quick-points-info:hover{background:#60a5fa33}[data-theme=dark] .quick-checkin-btn{background:linear-gradient(135deg,#f97316,#ea580c)}[data-theme=dark] .quick-checkin-btn.checked{background:linear-gradient(135deg,#22c55e,#16a34a)}.checkin-wrapper{position:relative}.checkin-calendar-popup{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:var(--paper-color, #ffffff);border-radius:16px;box-shadow:0 10px 40px #00000026;padding:16px;z-index:1000;animation:slideDown .2s ease}[data-theme=dark] .checkin-calendar-popup{background:#1f2937;box-shadow:0 10px 40px #0006}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--border-color, #e5e7eb)}.calendar-title{font-size:15px;font-weight:700;color:var(--text-primary, #1a1a1a)}.calendar-stats{font-size:12px;color:var(--text-secondary, #666)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:11px;font-weight:600;color:var(--text-secondary, #999);padding:4px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-loading{grid-column:span 7;text-align:center;padding:20px;color:var(--text-secondary, #999);font-size:13px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:var(--text-primary, #333);border-radius:8px;position:relative;transition:all .15s ease}.calendar-day.empty{visibility:hidden}.calendar-day.future{color:var(--text-secondary, #ccc)}.calendar-day.today{background:#3b82f61a;color:#3b82f6;font-weight:700}.calendar-day.checked{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;font-weight:600}.calendar-day .check-mark{position:absolute;bottom:1px;right:2px;font-size:8px;opacity:.9}.calendar-footer{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color, #e5e7eb);text-align:center}.streak-info{font-size:13px;font-weight:600;color:#f59e0b}.checkin-calendar-popup:before{content:"";position:absolute;top:-6px;right:20px;width:12px;height:12px;background:var(--paper-color, #ffffff);transform:rotate(45deg);border-radius:2px}[data-theme=dark] .checkin-calendar-popup:before{background:#1f2937}.calendar-day.can-makeup{background:#f59e0b26;border:1px dashed #f59e0b;color:#d97706}.calendar-day.can-makeup:hover{background:#f59e0b40;transform:scale(1.05)}.makeup-icon{position:absolute;bottom:-4px;right:-4px;width:28px;height:28px;-o-object-fit:contain;object-fit:contain;transform:rotate(-15deg);filter:drop-shadow(0 1px 3px rgba(0,0,0,.25));z-index:1}.calendar-footer{display:flex;justify-content:space-between;align-items:center}.makeup-card-info{font-size:12px;color:#f59e0b;font-weight:500}.makeup-card-info:hover{color:#d97706}.buy-modal{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:16px;z-index:10}.buy-modal-content{background:var(--paper-color, #ffffff);padding:20px;border-radius:12px;text-align:center;min-width:200px}[data-theme=dark] .buy-modal-content{background:#374151}.buy-modal-content h3{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--text-primary, #1a1a1a)}.buy-modal-content p{margin:6px 0;font-size:13px;color:var(--text-secondary, #666)}.buy-modal-actions{display:flex;gap:10px;margin-top:16px;justify-content:center}.buy-modal-actions .cancel-btn{padding:8px 16px;border:1px solid var(--border-color, #e5e7eb);background:transparent;border-radius:8px;font-size:13px;cursor:pointer;color:var(--text-secondary, #666)}.buy-modal-actions .buy-btn{padding:8px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.buy-modal-actions .buy-btn:disabled{opacity:.6;cursor:not-allowed}.buy-modal-actions .buy-btn:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309)}.ranking-button{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.ranking-button:hover{background:var(--hover-bg)}.ranking-button.ranking-loading{opacity:.6;cursor:not-allowed}.ranking-btn-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.ranking-label{color:var(--text-secondary);font-size:12px;font-weight:500}.ranking-number{font-weight:700;color:#d946ef;font-size:14px;letter-spacing:.5px}.ranking-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;z-index:99999;animation:fadeIn .2s ease;padding:80px 20px 20px;box-sizing:border-box;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ranking-modal-content{background:#fff;border-radius:16px;padding:20px;max-width:540px;width:90%;height:auto;max-height:calc(100vh - 160px);overflow:visible;display:flex;flex-direction:column;position:relative;box-shadow:0 25px 50px #00000080,0 0 0 1px #d946ef33 inset;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);border:2px solid rgba(217,70,239,.3);margin:0 auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{color:var(--text-primary);background:var(--hover-bg);border-radius:6px}.modal-loading,.modal-error{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:14px}.modal-error{color:#dc2626}.ranking-modal-body{display:flex;flex-direction:column;gap:12px;overflow:visible}.modal-title-section{text-align:center;padding-bottom:12px;border-bottom:1px solid #e5e5e5;flex-shrink:0}.modal-title{font-size:16px;font-weight:700;color:#1a1a1a;margin:0}.top-rankings-section{display:flex;flex-direction:column;gap:6px;overflow:visible;flex-shrink:0}.top-rankings-list{display:flex;flex-direction:column;gap:6px;overflow:visible}.top-ranking-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f5f5f5;border-radius:6px;transition:all .2s ease;flex-shrink:0}.top-ranking-item:hover{background:linear-gradient(135deg,#d946ef14,#d946ef0a);transform:translate(4px)}.top-ranking-item.current-user{background:linear-gradient(135deg,#d946ef26,#d946ef14);border:2px solid rgba(217,70,239,.3)}.ranking-position{min-width:50px;display:flex;align-items:center;justify-content:center}.user-avatar-container{width:40px;height:40px;flex-shrink:0}.user-ranking-avatar{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 4px #0000000d}.top-ranking-item.current-user .user-ranking-avatar{border-color:#d946ef}.rank-medal-large,.rank-number-large{display:flex;align-items:center;justify-content:center;font-weight:700;color:#d946ef;font-size:16px}.rank-medal-large{width:50px;height:50px;-o-object-fit:contain;object-fit:contain}.user-info{flex:1;display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:600;color:#1a1a1a}.user-score-small{font-size:12px;color:var(--text-secondary)}.user-score-large{font-size:20px!important;font-weight:600!important;color:#d946ef!important;min-width:70px;text-align:right}.your-ranking-section{display:none;flex-direction:column;gap:8px}.divider{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:1px;padding:8px 0}.your-ranking-item{display:flex;align-items:center;gap:12px;padding:12px;background:linear-gradient(135deg,#d946ef1a,#d946ef0d);border-left:3px solid #d946ef;border-radius:6px}.your-rank{font-weight:700;color:#d946ef;font-size:16px;min-width:50px}.your-name{flex:1;font-size:14px;font-weight:600;color:#1a1a1a}.your-score{font-size:16px;font-weight:700;color:#d946ef;min-width:70px;text-align:right}.your-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:8px;border-top:1px solid #e5e5e5;flex-shrink:0}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#f5f5f5;border-radius:6px;text-align:center}.stat-label{font-size:12px;color:#888;font-weight:500}.stat-value{font-size:32px!important;font-weight:700!important;color:#d946ef!important;line-height:1.2;display:flex;align-items:baseline;gap:4px;justify-content:center}.stat-value .stat-unit{font-size:20px!important;font-weight:500!important;color:#d946ef!important;opacity:.8}[data-theme=dark] .ranking-modal-content{background:#2a2a2a}[data-theme=dark] .top-ranking-item,[data-theme=dark] .stat-item{background:#333}[data-theme=dark] .your-ranking-item{background:linear-gradient(135deg,#d946ef26,#d946ef14)}@media(max-width:600px){.ranking-modal-content{max-width:95%;padding:16px}.modal-title{font-size:18px}.top-ranking-item{padding:12px}.user-score-large{font-size:18px!important;min-width:60px}.your-stats{grid-template-columns:1fr}}.review-feedback-card{--review-feedback-ring:rgba(36,87,214,.68);position:relative;isolation:isolate;animation:review-feedback-card-enter .22s cubic-bezier(.22,1,.36,1) both}.review-feedback-card:after{content:"";position:absolute;inset:0;z-index:30;box-sizing:border-box;border:2px solid transparent;border-radius:inherit;opacity:0;pointer-events:none}.review-feedback-card--forget{--review-feedback-ring:rgba(215,74,82,.84)}.review-feedback-card--fuzzy{--review-feedback-ring:rgba(224,157,43,.86)}.review-feedback-card--know{--review-feedback-ring:rgba(34,161,105,.84)}.review-feedback-card--forget:after,.review-feedback-card--fuzzy:after,.review-feedback-card--know:after{animation:review-feedback-edge-flash .38s ease-out both}.rs-rating-buttons button.is-selected,.action-btn-wordbook.is-selected{transform:translateY(-1px) scale(.985);box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent),0 8px 20px color-mix(in srgb,currentColor 16%,transparent)}.review-points-feedback{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:#2457d6;background:#edf3ff;border:1px solid rgba(36,87,214,.14);border-radius:999px;font-size:12px;font-weight:750;line-height:1;white-space:nowrap;animation:review-points-float 1.8s ease both}@keyframes review-feedback-card-enter{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}@keyframes review-feedback-edge-flash{0%{opacity:0;border-color:transparent;box-shadow:0 0 0 0 transparent}28%{opacity:1;border-color:var(--review-feedback-ring);box-shadow:inset 0 0 24px color-mix(in srgb,var(--review-feedback-ring) 34%,transparent),0 0 0 3px color-mix(in srgb,var(--review-feedback-ring) 27%,transparent),0 0 36px color-mix(in srgb,var(--review-feedback-ring) 48%,transparent)}to{opacity:0;border-color:var(--review-feedback-ring);box-shadow:inset 0 0 8px transparent,0 0 0 7px transparent,0 0 46px transparent}}@keyframes review-points-float{0%{opacity:0;transform:translateY(6px) scale(.92)}16%,72%{opacity:1;transform:none}to{opacity:0;transform:translateY(-7px)}}@media(prefers-reduced-motion:reduce){.review-feedback-card,.review-feedback-card:after,.review-points-feedback{animation:none!important}}.vrg-card{width:min(900px,100%);overflow:hidden;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:28px;box-shadow:0 26px 80px #1e2f581f,0 4px 15px #1e2f580a}.vrg-card-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-bottom:1px solid var(--rs-line);background:linear-gradient(135deg,color-mix(in srgb,var(--rs-blue-soft) 68%,var(--rs-surface)),var(--rs-surface) 72%)}.vrg-card-header>div{display:flex;align-items:center;gap:13px}.vrg-round-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;color:var(--rs-blue);background:var(--rs-blue-soft);border:1px solid color-mix(in srgb,var(--rs-blue) 14%,transparent);border-radius:14px;box-shadow:inset 0 1px #ffffffa6}.vrg-round-mark.amber{color:var(--rs-amber);background:var(--rs-amber-soft)}.vrg-round-mark.sky{color:#1685b9;background:#e7f7ff;border-color:#c7eafb}.vrg-round-mark.violet{color:#7552cc;background:#f1edff;border-color:#ddd3fb}.vrg-card-header p{margin:0 0 3px;color:var(--rs-blue);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.vrg-card-header h2{margin:0;font-size:18px;font-weight:720;letter-spacing:-.01em}.vrg-counter{min-width:62px;color:var(--rs-text);font-size:22px;font-weight:760;text-align:right;font-variant-numeric:tabular-nums}.vrg-counter small{color:var(--rs-muted);font-size:12px;font-weight:600}.vrg-balloon-card{width:min(820px,100%)}.vrg-balloon-stage{position:relative;min-height:430px;display:flex;flex-direction:column;align-items:center;padding:27px 34px 34px;box-sizing:border-box;overflow:hidden;background:linear-gradient(180deg,#f3fbff,#f9fcff 72%,#eef8f1)}.vrg-balloon-stage:before,.vrg-balloon-stage:after{content:"";position:absolute;width:170px;height:42px;background:#ffffffc7;border-radius:50%}.vrg-balloon-stage:before{top:86px;left:-48px;box-shadow:62px -17px 0 7px #ffffffc2}.vrg-balloon-stage:after{right:-38px;bottom:72px;box-shadow:-56px -15px 0 9px #ffffffb3}.vrg-balloon-speaker{position:relative;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;color:var(--rs-blue);background:#ffffffe6;border:1px solid color-mix(in srgb,var(--rs-blue) 14%,transparent);border-radius:999px;box-shadow:0 8px 26px #2f69ad1a;font-size:12px;font-weight:720;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.vrg-balloon-speaker:hover{transform:translateY(-2px);box-shadow:0 11px 30px #2f69ad26}.vrg-balloon-sky{position:relative;z-index:2;width:min(620px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:40px 86px;margin-top:35px;padding:0 24px 38px;box-sizing:border-box}.vrg-balloon{--balloon:#3f79ea;position:relative;width:158px;height:112px;display:grid;place-items:center;padding:15px;color:#16315e;background:color-mix(in srgb,var(--balloon) 23%,#fff);border:1px solid color-mix(in srgb,var(--balloon) 30%,#fff);border-radius:52% 48% 50% 50%/58% 56% 44% 42%;box-shadow:inset -12px -12px 26px color-mix(in srgb,var(--balloon) 10%,transparent),inset 8px 7px 18px #ffffff9e,0 13px 28px color-mix(in srgb,var(--balloon) 14%,transparent);font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:720;letter-spacing:.01em;text-transform:lowercase;cursor:pointer;animation:vrg-balloon-float 2.7s ease-in-out infinite;transition:filter .16s ease}.vrg-balloon:before{content:"";position:absolute;top:18px;left:27px;width:22px;height:10px;background:#ffffff9e;border-radius:50%;transform:rotate(-24deg)}.vrg-balloon:after{content:"";position:absolute;left:50%;bottom:-7px;width:13px;height:13px;background:color-mix(in srgb,var(--balloon) 31%,#fff);clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%)}.vrg-balloon>span{position:relative;z-index:2;max-width:130px;overflow-wrap:anywhere}.vrg-balloon>i{position:absolute;top:calc(100% + 6px);left:50%;width:1px;height:40px;background:color-mix(in srgb,var(--balloon) 35%,transparent);transform:translate(-50%);pointer-events:none}.vrg-balloon-0{--balloon:#eb6570;animation-delay:-.4s}.vrg-balloon-1{--balloon:#e9a52e;animation-delay:-1.25s}.vrg-balloon-2{--balloon:#4c83ee;animation-delay:-1.8s}.vrg-balloon-3{--balloon:#38ad7d;animation-delay:-.8s}.vrg-balloon:hover:not(:disabled){filter:saturate(1.12) brightness(1.02)}.vrg-balloon.correct{animation:vrg-balloon-pop .52s cubic-bezier(.18,.8,.3,1) both}.vrg-balloon.correct:before{width:8px;height:8px;left:50%;top:50%;background:var(--rs-green);border-radius:50%;box-shadow:-68px -36px 0 -1px #f0bf3d,70px -24px 0 -1px #4d84ec,-54px 42px 0 -1px #e86772,62px 47px 0 -1px #42ae7f}.vrg-balloon.wrong{border-color:var(--rs-red);box-shadow:0 0 0 6px color-mix(in srgb,var(--rs-red) 11%,transparent),0 13px 28px color-mix(in srgb,var(--rs-red) 18%,transparent);animation:vrg-balloon-wrong .38s ease}.vrg-balloon:disabled{cursor:default}.vrg-balloon-footer strong{min-width:76px;text-align:right}@keyframes vrg-balloon-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes vrg-balloon-pop{0%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(.16)}}@keyframes vrg-balloon-wrong{25%{transform:translate(-8px) rotate(-3deg)}50%{transform:translate(7px) rotate(3deg)}75%{transform:translate(-4px) rotate(-1deg)}}.vrg-balloon-slot{position:relative;width:158px;height:112px;display:grid;place-items:center}.vrg-balloon-burst{position:absolute;z-index:9;top:50%;left:50%;width:0;height:0;overflow:visible;pointer-events:none}.vrg-balloon-burst b{position:absolute;top:0;left:0;width:var(--burst-size);height:calc(var(--burst-size) * 1.65);background:var(--burst-color);border-radius:2px;box-shadow:0 0 7px color-mix(in srgb,var(--burst-color) 55%,transparent);opacity:0;animation:vrg-balloon-fragment .64s cubic-bezier(.12,.72,.24,1) var(--burst-delay) both}.vrg-balloon-burst b:nth-child(3n){height:var(--burst-size);border-radius:50%}.vrg-balloon-burst b:nth-child(4n){width:calc(var(--burst-size) * 1.8);height:3px;border-radius:999px}@keyframes vrg-balloon-fragment{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--burst-angle)) translateY(-12px) scale(.45)}12%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--burst-angle)) translateY(calc(var(--burst-distance) * -1)) rotate(420deg) scale(.35)}}.vrg-balloon.popped{visibility:hidden;opacity:0;pointer-events:none;animation:none}.vrg-match-board{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1.25fr);gap:12px;padding:30px 34px 26px;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--rs-blue) 6%,transparent),transparent 48%)}.vrg-match-lines{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.vrg-match-lines path{fill:none;stroke:var(--rs-green);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--rs-green) 26%,transparent));stroke-dasharray:320;animation:vrg-draw-line .48s cubic-bezier(.22,.8,.32,1) both}.vrg-match-lines circle{fill:var(--rs-surface);stroke:var(--rs-green);stroke-width:2;animation:vrg-line-dot .22s .32s ease both}@keyframes vrg-draw-line{0%{stroke-dashoffset:320}to{stroke-dashoffset:0}}@keyframes vrg-line-dot{0%{opacity:0;transform:scale(0);transform-origin:center}to{opacity:1;transform:scale(1)}}.vrg-match-column{position:relative;z-index:2;display:grid;align-content:center;gap:12px}.vrg-match-column button{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;color:var(--rs-text);background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:15px;box-shadow:0 5px 18px #1e2f580a;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.vrg-match-column button:hover:not(:disabled){transform:translateY(-2px);border-color:color-mix(in srgb,var(--rs-blue) 38%,var(--rs-line));box-shadow:0 9px 22px #2457d617}.vrg-match-column button.selected{color:var(--rs-blue);background:var(--rs-blue-soft);border-color:var(--rs-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--rs-blue) 10%,transparent)}.vrg-match-column button.matched{color:var(--rs-green);background:var(--rs-green-soft);border-color:color-mix(in srgb,var(--rs-green) 34%,var(--rs-line));box-shadow:none;opacity:.9}.vrg-match-column button:disabled{cursor:default}.vrg-match-column button>span{min-width:0;overflow-wrap:anywhere}.vrg-match-column:not(.meanings) button>span{font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:620}.vrg-match-column.meanings button>span{font-size:13px;font-weight:620;line-height:1.45}.vrg-match-rail{display:flex;align-items:center;justify-content:center;gap:4px;color:color-mix(in srgb,var(--rs-blue) 35%,var(--rs-line))}.vrg-match-rail span{width:6px;height:6px;background:currentColor;border-radius:50%}.vrg-match-rail i{width:13px;height:1px;background:currentColor}.vrg-card-footer{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 30px;color:var(--rs-muted);background:var(--rs-soft);border-top:1px solid var(--rs-line);font-size:12px}.vrg-card-footer>span{display:flex;align-items:center;gap:7px}.vrg-card-footer strong{color:var(--rs-blue);font-weight:700}.vrg-shake{animation:vrg-shake .32s ease}.vrg-shake .vrg-card-footer strong{color:var(--rs-red)}@keyframes vrg-shake{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-2px)}}.vrg-context-card{width:min(820px,100%)}.vrg-context-stage{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:34px 38px;box-sizing:border-box;background:radial-gradient(circle at 50% 28%,rgba(117,82,204,.09),transparent 48%)}.vrg-context-prompt{width:min(680px,100%);padding:29px 32px 25px;box-sizing:border-box;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:21px;box-shadow:0 12px 34px #302a5a12;text-align:center;transition:border-color .2s ease,box-shadow .2s ease}.vrg-context-prompt.is-complete{border-color:color-mix(in srgb,var(--rs-green) 38%,var(--rs-line));box-shadow:0 0 0 5px color-mix(in srgb,var(--rs-green) 9%,transparent),0 12px 34px #302a5a12}.vrg-context-label{display:inline-flex;margin-bottom:15px;color:#7552cc;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.vrg-context-prompt>p{margin:0;color:var(--rs-text);font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:560;line-height:1.6}.vrg-context-prompt>p strong{display:inline-block;min-width:94px;margin:0 5px;padding:0 5px;color:var(--rs-blue);border-bottom:3px dashed color-mix(in srgb,var(--rs-blue) 48%,var(--rs-line));font-family:inherit;font-size:inherit;font-weight:760;line-height:1.25;text-transform:lowercase}.vrg-context-prompt.is-complete>p strong{color:var(--rs-green);border-bottom-style:solid;border-bottom-color:var(--rs-green);animation:vrg-context-fill .3s cubic-bezier(.22,1,.36,1)}@keyframes vrg-context-fill{0%{opacity:0;transform:translateY(7px) scale(.9)}to{opacity:1;transform:none}}.vrg-context-clue{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:20px;color:var(--rs-muted);font-size:13px;line-height:1.45}.vrg-context-clue span{padding:4px 7px;color:#7552cc;background:#f1edff;border-radius:7px;font-size:9px;font-weight:760;letter-spacing:.06em;white-space:nowrap}.vrg-context-options{width:min(620px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.vrg-context-options button{min-height:58px;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;color:var(--rs-text);background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:15px;box-shadow:0 5px 16px #262e520a;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:680;text-transform:lowercase;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.vrg-context-options button:hover:not(:disabled){transform:translateY(-2px);color:#7552cc;border-color:#bca9ef;box-shadow:0 8px 20px #7552cc1a}.vrg-context-options button.correct{color:var(--rs-green);background:var(--rs-green-soft);border-color:color-mix(in srgb,var(--rs-green) 42%,var(--rs-line));box-shadow:0 0 0 5px color-mix(in srgb,var(--rs-green) 9%,transparent)}.vrg-context-options button.wrong{color:var(--rs-red);background:var(--rs-red-soft);border-color:color-mix(in srgb,var(--rs-red) 40%,var(--rs-line));animation:vrg-balloon-wrong .38s ease}.vrg-context-options button:disabled{cursor:default}.vrg-context-clue{width:100%;justify-content:flex-start;box-sizing:border-box;padding:12px 14px;background:var(--rs-soft);border:1px solid var(--rs-line);border-radius:12px;text-align:left}.vrg-context-clue p{margin:0;color:var(--rs-text);font-size:15px;font-weight:620;line-height:1.55}.vrg-scramble-card{width:min(820px,100%)}.vrg-scramble-stage{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 38px;box-sizing:border-box;background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--rs-amber) 7%,transparent),transparent 42%)}.vrg-clue-row{width:min(620px,100%);display:flex;align-items:center;justify-content:center;gap:13px;text-align:left}.vrg-audio-orb{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;color:var(--rs-blue);background:var(--rs-blue-soft);border:0;border-radius:16px;cursor:pointer;transition:.16s ease}.vrg-audio-orb:hover{transform:scale(1.05)}.vrg-clue-row div{display:flex;min-width:0;flex-direction:column;gap:3px}.vrg-clue-row span{color:var(--rs-muted);font-size:10px;font-weight:750;letter-spacing:.12em}.vrg-clue-row strong{overflow-wrap:anywhere;font-size:18px;font-weight:670;line-height:1.45}.vrg-answer-slots{min-height:62px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:34px}.vrg-answer-slots button,.vrg-answer-slots>span,.vrg-letter-bank button{width:46px;height:54px;display:grid;place-items:center;box-sizing:border-box;border-radius:12px;text-transform:lowercase}.vrg-answer-slots button{color:var(--rs-text);background:var(--rs-surface);border:2px solid var(--rs-blue);box-shadow:0 7px 18px color-mix(in srgb,var(--rs-blue) 14%,transparent);font-size:22px;font-weight:800;cursor:pointer;animation:vrg-tile-in .16s ease}.vrg-answer-slots>span{height:54px;border:2px dashed color-mix(in srgb,var(--rs-muted) 25%,transparent);background:color-mix(in srgb,var(--rs-soft) 60%,transparent)}.vrg-answer-slots.is-long button,.vrg-answer-slots.is-long>span{width:38px;height:47px}.vrg-answer-slots.revealed{display:none}@keyframes vrg-tile-in{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.vrg-letter-bank{min-height:60px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:24px}.vrg-letter-bank button{color:var(--rs-text);background:var(--rs-soft);border:1px solid var(--rs-line);box-shadow:0 4px 10px #1e2f580a;font-size:18px;font-weight:760;cursor:pointer;transition:.14s ease}.vrg-letter-bank button:hover{color:var(--rs-blue);background:var(--rs-blue-soft);border-color:color-mix(in srgb,var(--rs-blue) 30%,var(--rs-line));transform:translateY(-3px)}.vrg-letter-bank.is-long button{width:39px;height:47px}.vrg-scramble-tools{min-height:32px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px}.vrg-scramble-tools button{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;color:var(--rs-muted);background:transparent;border:0;border-radius:9px;font-size:11px;font-weight:620;cursor:pointer}.vrg-scramble-tools button:hover,.vrg-scramble-tools button.active{color:var(--rs-amber);background:var(--rs-amber-soft)}.vrg-scramble-tools .vrg-full-hint{padding:8px 12px}.vrg-full-hint>span{display:inline-flex;align-items:baseline;gap:7px}.vrg-full-hint strong{font-family:Georgia,serif;font-size:17px}.vrg-full-hint small{color:var(--rs-muted);font-family:Georgia,serif;font-size:12px;font-weight:500}.vrg-full-hint em{margin-left:3px;color:var(--rs-muted);font-size:9px;font-style:normal;font-weight:650}.vrg-correction{display:flex;align-items:center;gap:13px;margin-top:34px;padding:18px 24px;color:var(--rs-red);background:var(--rs-red-soft);border:1px solid color-mix(in srgb,var(--rs-red) 24%,transparent);border-radius:17px;animation:vrg-tile-in .2s ease}.vrg-correction>span{width:38px;height:38px;display:grid;place-items:center;background:color-mix(in srgb,var(--rs-surface) 72%,transparent);border-radius:12px}.vrg-correction div{display:flex;flex-direction:column;gap:2px}.vrg-correction small{font-size:10px;font-weight:700}.vrg-correction strong{color:var(--rs-text);font-family:Georgia,serif;font-size:28px;letter-spacing:.02em}.vrg-game-actions{min-height:92px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:12px 24px 14px;background:var(--rs-soft);border-top:1px solid var(--rs-line)}.vrg-game-actions>p{margin:0;color:var(--rs-red);font-size:11px;font-weight:650}.vrg-primary-action{min-width:260px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;color:#fff;background:var(--rs-blue);border:0;border-radius:14px;box-shadow:0 10px 24px color-mix(in srgb,var(--rs-blue) 22%,transparent);font-size:13px;font-weight:720;cursor:pointer;transition:.16s ease}.vrg-primary-action:hover:not(:disabled){transform:translateY(-2px)}.vrg-primary-action:disabled{opacity:.44;cursor:not-allowed}.vrg-primary-action>span{padding:3px 6px;color:#ffffffc7;background:#ffffff24;border-radius:5px;font-size:9px}.vrg-primary-action.forget{background:var(--rs-red);box-shadow:0 10px 24px color-mix(in srgb,var(--rs-red) 20%,transparent)}.vrg-auto-check{min-height:30px;display:inline-flex;align-items:center;color:var(--rs-muted);font-size:11px;font-weight:650;letter-spacing:.02em}.vrg-auto-check:before{content:"";width:6px;height:6px;margin-right:7px;background:var(--rs-blue);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--rs-blue) 10%,transparent)}.vrg-auto-check.checking{color:var(--rs-blue)}.vrg-auto-check.checking:before{animation:vrg-auto-pulse .7s ease infinite}@keyframes vrg-auto-pulse{50%{opacity:.35;transform:scale(.72)}}.vrg-step-dots{display:flex;align-items:center;justify-content:center;gap:6px}.vrg-step-dots i{width:15px;height:15px;display:grid;place-items:center;color:#fff;background:var(--rs-line);border-radius:50%;font-style:normal}.vrg-step-dots i.active{background:var(--rs-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--rs-blue) 12%,transparent)}.vrg-step-dots i.done{background:var(--rs-green)}@media(max-width:820px){.vrg-card{border-radius:22px}.vrg-card-header{padding:19px 20px}.vrg-balloon-stage{padding-inline:20px}.vrg-balloon-sky{gap:38px 44px}.vrg-match-board{grid-template-columns:minmax(0,.85fr) 16px minmax(0,1.15fr);gap:7px;padding:22px 18px}.vrg-match-column{gap:9px}.vrg-match-column button{min-height:62px;padding:11px 12px}.vrg-match-column:not(.meanings) button>span{font-size:19px}.vrg-match-column.meanings button>span{font-size:12px}.vrg-match-rail span{display:none}.vrg-match-rail i{width:10px}.vrg-card-footer{padding-inline:20px}.vrg-context-stage{padding:30px 22px}.vrg-scramble-stage{padding:30px 20px}}@media(max-width:560px){.vrg-card-header{padding:15px 16px}.vrg-round-mark{width:37px;height:37px;border-radius:12px}.vrg-card-header h2{font-size:15px}.vrg-counter{font-size:18px}.vrg-balloon-stage{min-height:390px;padding:22px 10px 24px}.vrg-balloon-sky{gap:34px 18px;margin-top:30px;padding:0 5px 34px}.vrg-balloon-slot{width:126px;height:92px}.vrg-balloon{width:126px;height:92px;font-size:19px}.vrg-balloon>span{max-width:104px}.vrg-balloon>i{height:30px}.vrg-match-board{grid-template-columns:minmax(0,.88fr) 12px minmax(0,1.12fr);gap:5px;padding:15px 10px}.vrg-match-column{grid-template-columns:1fr;gap:8px}.vrg-match-column button{min-height:57px;padding:9px;border-radius:12px}.vrg-match-column:not(.meanings) button>span{font-size:17px}.vrg-match-column.meanings button>span{font-size:11px}.vrg-match-column button>svg{display:none}.vrg-match-rail{display:flex}.vrg-match-rail i{width:8px}.vrg-card-footer{min-height:48px;padding-inline:16px}.vrg-card-footer>span{display:none}.vrg-context-stage{min-height:390px;gap:18px;padding:22px 12px}.vrg-context-prompt{padding:23px 17px 20px;border-radius:17px}.vrg-context-prompt>p{font-size:20px;line-height:1.55}.vrg-context-prompt>p strong{min-width:74px;margin-inline:3px}.vrg-context-clue{margin-top:16px;font-size:12px}.vrg-context-options{gap:8px}.vrg-context-options button{min-height:51px;padding:9px 8px;border-radius:12px;font-size:16px}.vrg-scramble-stage{min-height:355px;padding:24px 14px}.vrg-clue-row strong{font-size:16px}.vrg-answer-slots{gap:5px;margin-top:27px}.vrg-answer-slots button,.vrg-answer-slots>span,.vrg-letter-bank button{width:38px;height:45px;border-radius:10px}.vrg-answer-slots.is-long button,.vrg-answer-slots.is-long>span,.vrg-letter-bank.is-long button{width:31px;height:40px;font-size:15px}.vrg-letter-bank{gap:6px;margin-top:20px}.vrg-game-actions{min-height:84px;padding-inline:14px}.vrg-primary-action{width:100%;min-width:0}}.review-session-desktop{--rs-bg:#f7f8fb;--rs-surface:#fff;--rs-soft:#f3f6fb;--rs-text:#17213a;--rs-muted:#6f7890;--rs-line:#e4e9f2;--rs-blue:#2457d6;--rs-blue-soft:#edf3ff;--rs-green:#17875a;--rs-green-soft:#eaf8f1;--rs-amber:#b66d09;--rs-amber-soft:#fff6e7;--rs-red:#c54a4a;--rs-red-soft:#fff0f0;position:fixed;inset:0;z-index:10000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:100dvh;color:var(--rs-text);background:radial-gradient(circle at 12% 8%,rgba(36,87,214,.07),transparent 28%),radial-gradient(circle at 88% 90%,rgba(244,184,74,.08),transparent 24%),var(--rs-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;isolation:isolate}.review-session-desktop.dark{--rs-bg:#111725;--rs-surface:#1a2233;--rs-soft:#202a3e;--rs-text:#f1f4fb;--rs-muted:#aab4ca;--rs-line:#2d3950;--rs-blue:#7da0ff;--rs-blue-soft:rgba(80,124,236,.16);--rs-green:#64d3a1;--rs-green-soft:rgba(45,167,111,.15);--rs-amber:#f5bd64;--rs-amber-soft:rgba(219,150,49,.14);--rs-red:#ff9898;--rs-red-soft:rgba(213,72,72,.14)}button,input{font:inherit}.rs-topbar{position:relative;z-index:5;padding:max(16px,env(safe-area-inset-top)) clamp(20px,4vw,56px) 0;background:color-mix(in srgb,var(--rs-bg) 86%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.rs-topbar-row{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:24px;max-width:1440px;min-height:52px;margin:auto}.rs-topbar-left,.rs-topbar-actions,.rs-word-row,.rs-spell-audio-row,.rs-section-heading,.rs-state-actions,.rs-summary-actions{display:flex;align-items:center}.rs-topbar-left{gap:13px}.rs-topbar-actions{justify-content:flex-end;gap:8px}.rs-brand-title{font-size:15px;font-weight:750}.rs-brand-subtitle{margin-top:2px;color:var(--rs-muted);font-size:12px}.rs-icon-button{width:40px;height:40px;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;color:var(--rs-muted);background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:12px;cursor:pointer;transition:.16s ease}.rs-icon-button:hover{color:var(--rs-blue);border-color:color-mix(in srgb,var(--rs-blue) 34%,var(--rs-line));transform:translateY(-1px)}.review-session-back-button{z-index:10020!important}.rs-progress-count{min-width:88px;text-align:center;font-variant-numeric:tabular-nums}.rs-progress-count strong{font-size:18px}.rs-progress-count span{margin-left:5px;color:var(--rs-muted);font-size:14px}.rs-progress-track{height:4px;max-width:1440px;margin:14px auto 0;overflow:hidden;background:var(--rs-line);border-radius:999px}.rs-progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--rs-blue),#6688ea);border-radius:inherit;transition:width .32s ease}.rs-mode-switch{display:flex;gap:3px;padding:3px;background:var(--rs-soft);border:1px solid var(--rs-line);border-radius:12px}.rs-mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;color:var(--rs-muted);background:transparent;border:0;border-radius:9px;font-size:13px;font-weight:650;cursor:pointer}.rs-mode-switch button.active{color:var(--rs-blue);background:var(--rs-surface);box-shadow:0 1px 3px #1b2a4e17}.rs-main{min-height:0;display:grid;place-items:center;overflow:auto;padding:clamp(22px,4vh,48px) 24px}.rs-review-card{width:min(820px,100%);min-height:390px;overflow:hidden;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:28px;box-shadow:0 22px 70px #1e2f581a,0 3px 12px #1e2f580a}.rs-word-stage,.rs-spell-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:390px;padding:clamp(42px,7vw,76px);box-sizing:border-box;text-align:center}.rs-review-card.answer-visible .rs-word-stage{min-height:250px;padding-block:44px 34px}.rs-eyebrow,.rs-section-label{margin:0;color:var(--rs-blue);font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.rs-word-row{justify-content:center;gap:14px;margin-top:17px}.rs-word-row h1{max-width:680px;margin:0;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,7vw,74px);font-weight:600;line-height:1.06;letter-spacing:-.035em}.rs-audio-button{width:46px;height:46px;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;color:var(--rs-blue);background:var(--rs-blue-soft);border:0;border-radius:50%;cursor:pointer;transition:.16s ease}.rs-audio-button:hover{transform:scale(1.06)}.rs-phonetic{margin:14px 0 0;color:var(--rs-muted);font-family:Georgia,serif;font-size:20px}.rs-recall-prompt{margin-top:46px}.rs-recall-prompt span{color:var(--rs-blue);font-size:13px;font-weight:650}.rs-recall-prompt p{margin:8px 0 0;color:var(--rs-muted);font-size:16px}.rs-answer-panel{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:18px;padding:22px;background:var(--rs-soft);border-top:1px solid var(--rs-line);animation:rs-in .24s ease both}.rs-answer-panel.without-context .rs-meaning-block{grid-column:1/-1}@keyframes rs-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.rs-answer-block{padding:24px;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:18px}.rs-meaning-block h2{margin:11px 0 0;overflow-wrap:anywhere;white-space:pre-line;font-size:clamp(22px,3vw,30px);font-weight:650;line-height:1.38}.rs-meaning-block h2.is-long{font-size:clamp(18px,2vw,23px);line-height:1.5}.rs-section-heading{gap:8px;color:var(--rs-blue);font-size:13px;font-weight:720}.rs-context-block blockquote{margin:15px 0 0;font-family:Georgia,serif;font-size:18px;line-height:1.65}.rs-source-title{margin:12px 0 0;color:var(--rs-muted);font-size:12px}.rs-example-block{grid-column:1/-1}.rs-example-en{margin:12px 0 0;font-size:16px;font-weight:570;line-height:1.6}.rs-example-cn{margin:6px 0 0;color:var(--rs-muted);font-size:14px;line-height:1.6}.rs-morpheme-row{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.rs-morpheme-row span{display:inline-flex;gap:7px;padding:8px 11px;color:var(--rs-muted);background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:10px;font-size:12px}.rs-morpheme-row strong{color:var(--rs-blue)}.rs-action-dock{position:relative;z-index:4;min-height:104px;display:grid;place-items:start center;padding:0 20px max(18px,env(safe-area-inset-bottom))}.rs-submit-error{margin:-20px 0 8px;color:var(--rs-red);font-size:12px;font-weight:650;text-align:center}.rs-reveal-button,.rs-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;color:#fff;background:var(--rs-blue);border:1px solid var(--rs-blue);border-radius:14px;box-shadow:0 10px 24px #2457d633;font-size:14px;font-weight:700;cursor:pointer;transition:.16s ease}.rs-reveal-button{min-width:230px}.rs-reveal-button:hover,.rs-button-primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px #2457d63d}.rs-reveal-button:disabled,.rs-rating-buttons button:disabled{opacity:.46;cursor:not-allowed;transform:none}.rs-reveal-button span{padding:3px 7px;color:#ffffffc2;background:#ffffff24;border-radius:6px;font-size:10px}.rs-rating-buttons{width:min(680px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:8px;background:color-mix(in srgb,var(--rs-surface) 94%,transparent);border:1px solid var(--rs-line);border-radius:19px;box-shadow:0 12px 36px #1e2f581a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.rs-rating-buttons button{min-width:0;min-height:58px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:9px 12px;text-align:left;border:1px solid transparent;border-radius:13px;cursor:pointer;transition:.16s ease}.rs-rating-buttons button:hover{transform:translateY(-1px)}.rs-rating-buttons .forget{color:var(--rs-red);background:var(--rs-red-soft)}.rs-rating-buttons .fuzzy{color:var(--rs-amber);background:var(--rs-amber-soft)}.rs-rating-buttons .know{color:var(--rs-green);background:var(--rs-green-soft)}.rs-rating-buttons button>span:nth-child(2){display:flex;min-width:0;flex-direction:column}.rs-rating-buttons strong{font-size:13px}.rs-rating-buttons small{margin-top:2px;color:var(--rs-muted);font-size:10px}.rs-rating-key{width:23px;height:23px;display:grid;place-items:center;background:color-mix(in srgb,var(--rs-surface) 70%,transparent);border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:7px;font-size:10px;font-weight:750}.rs-shortcuts{position:fixed;z-index:20;top:80px;right:clamp(20px,4vw,56px);width:230px;padding:14px;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:16px;box-shadow:0 16px 46px #1a284c29;animation:rs-in .16s ease both}.rs-shortcuts-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:13px;font-weight:750}.rs-shortcuts>div:not(.rs-shortcuts-title){display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 0;color:var(--rs-muted);font-size:12px}.rs-shortcuts kbd,.rs-hint-button kbd{padding:3px 6px;color:var(--rs-muted);background:var(--rs-soft);border:1px solid var(--rs-line);border-radius:6px;font-size:10px}.rs-spell-card{width:min(760px,100%)}.rs-spell-stage{min-height:340px;padding-bottom:48px}.rs-spell-stage h1{max-width:620px;margin:15px 0 0;font-size:clamp(28px,5vw,44px);font-weight:650;line-height:1.35}.rs-spell-audio-row{gap:10px;margin-top:25px;color:var(--rs-muted);font-size:13px}.rs-spell-audio-row .rs-audio-button{width:40px;height:40px}.rs-spell-input-wrap{position:relative;width:min(520px,100%);margin-top:32px}.rs-spell-input-wrap input{width:100%;height:62px;box-sizing:border-box;padding:0 48px 0 18px;color:var(--rs-text);background:var(--rs-surface);border:2px solid var(--rs-line);border-radius:15px;outline:0;font-size:22px;font-weight:620;letter-spacing:.02em;transition:.16s ease}.rs-spell-input-wrap input:focus{border-color:var(--rs-blue);box-shadow:0 0 0 4px color-mix(in srgb,var(--rs-blue) 12%,transparent)}.rs-spell-input-wrap.correct input{border-color:var(--rs-green);background:var(--rs-green-soft)}.rs-spell-input-wrap.incorrect input{border-color:var(--rs-red);background:var(--rs-red-soft)}.rs-input-status{position:absolute;top:50%;right:17px;display:grid;transform:translateY(-50%)}.correct .rs-input-status{color:var(--rs-green)}.incorrect .rs-input-status{color:var(--rs-red)}.rs-hint-button{display:inline-flex;align-items:center;gap:7px;margin-top:16px;padding:7px 10px;color:var(--rs-muted);background:transparent;border:0;border-radius:9px;font-size:12px;cursor:pointer}.rs-hint-button.active{color:var(--rs-amber);background:var(--rs-amber-soft)}.rs-hint-button kbd{margin-left:4px}.rs-spell-result{grid-template-columns:1fr 1fr}.rs-spell-verdict{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:17px 19px;border-radius:16px}.rs-spell-verdict.correct{color:var(--rs-green);background:var(--rs-green-soft)}.rs-spell-verdict.incorrect{color:var(--rs-red);background:var(--rs-red-soft)}.rs-spell-verdict>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--rs-surface) 72%,transparent);border-radius:50%}.rs-spell-verdict div{flex:1}.rs-spell-verdict strong{font-size:14px}.rs-spell-verdict p{margin:3px 0 0;color:var(--rs-text);font-family:Georgia,serif;font-size:22px;font-weight:600}.rs-spell-verdict button{padding:8px 11px;color:currentColor;background:transparent;border:1px solid currentColor;border-radius:9px;font-size:12px;font-weight:650;cursor:pointer}.rs-answer-block.compact{padding:20px}.rs-answer-block.compact h2{font-size:21px}.rs-state-card{align-self:center;justify-self:center;width:min(460px,calc(100% - 40px));padding:50px 36px;box-sizing:border-box;text-align:center;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:24px;box-shadow:0 22px 70px #1e2f581a}.rs-state-card h2{margin:20px 0 8px;font-size:23px}.rs-state-card p{margin:0 0 24px;color:var(--rs-muted);line-height:1.6}.rs-state-icon{width:60px;height:60px;display:grid;place-items:center;margin:auto;color:var(--rs-green);background:var(--rs-green-soft);border-radius:50%}.rs-state-icon-error{color:var(--rs-red);background:var(--rs-red-soft);font-size:25px;font-weight:800}.rs-state-actions{justify-content:center;gap:10px}.rs-loader{width:38px;height:38px;margin:auto;border:3px solid var(--rs-line);border-top-color:var(--rs-blue);border-radius:50%;animation:rs-spin .75s linear infinite}@keyframes rs-spin{to{transform:rotate(360deg)}}.rs-button{min-width:132px;box-shadow:none}.rs-button-secondary{color:var(--rs-text);background:var(--rs-surface);border-color:var(--rs-line)}.rs-complete-screen{grid-template-rows:auto 1fr}.rs-topbar-simple{display:flex;align-items:center;gap:12px;min-height:64px;padding-bottom:12px;border-bottom:1px solid var(--rs-line)}.rs-complete-check{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:var(--rs-green);font-size:12px;font-weight:700}.rs-complete-main{display:grid;place-items:center;overflow:auto;padding:30px 20px}.rs-summary-card{width:min(720px,100%);padding:clamp(36px,6vw,62px);box-sizing:border-box;text-align:center;background:var(--rs-surface);border:1px solid var(--rs-line);border-radius:28px;box-shadow:0 24px 80px #1e2f581c}.rs-summary-mark{width:62px;height:62px;display:grid;place-items:center;margin:0 auto 22px;color:var(--rs-blue);background:var(--rs-blue-soft);border-radius:21px;transform:rotate(-4deg)}.rs-summary-card h1{margin:10px 0 8px;font-family:Georgia,serif;font-size:clamp(34px,6vw,50px);font-weight:600;letter-spacing:-.025em}.rs-summary-copy{margin:0;color:var(--rs-muted);font-size:14px}.rs-summary-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:36px 0 28px;overflow:hidden;background:var(--rs-line);border:1px solid var(--rs-line);border-radius:16px}.rs-summary-metrics div{display:flex;flex-direction:column;gap:4px;padding:20px 10px;background:var(--rs-surface)}.rs-summary-metrics strong{font-size:26px}.rs-summary-metrics span{color:var(--rs-muted);font-size:11px}.rs-breakdown{padding:18px;background:var(--rs-soft);border-radius:16px}.rs-breakdown-bar{height:8px;display:flex;overflow:hidden;background:var(--rs-line);border-radius:999px}.rs-breakdown-bar span{height:100%}.rs-breakdown-bar .know,.rs-breakdown-legend i.know{background:var(--rs-green)}.rs-breakdown-bar .fuzzy,.rs-breakdown-legend i.fuzzy{background:var(--rs-amber)}.rs-breakdown-bar .forget,.rs-breakdown-legend i.forget{background:var(--rs-red)}.rs-breakdown-legend{display:flex;justify-content:center;gap:22px;margin-top:13px;color:var(--rs-muted);font-size:11px}.rs-breakdown-legend span{display:flex;align-items:center;gap:6px}.rs-breakdown-legend i{width:7px;height:7px;border-radius:50%}.rs-summary-actions{justify-content:center;gap:10px;margin-top:28px}@media(max-width:820px){.review-session-back-button{left:8px!important;top:max(18px,env(safe-area-inset-top))!important;transform:none!important}.review-session-back-button .back-icon{width:34px;height:34px}.rs-topbar{padding-inline:16px}.rs-topbar-row{grid-template-columns:1fr auto;gap:12px}.rs-topbar-left{padding-left:38px}.rs-progress-count{grid-column:2;grid-row:1;min-width:auto}.rs-topbar-actions{grid-column:1/-1;grid-row:2;justify-content:space-between}.rs-desktop-control{display:none}.rs-mode-switch{margin-left:auto}.rs-main{place-items:start center;padding:20px 14px}.rs-review-card{border-radius:22px}.rs-answer-panel,.rs-spell-result{grid-template-columns:1fr;padding:14px}.rs-example-block,.rs-morpheme-row,.rs-spell-verdict{grid-column:1}.rs-action-dock{min-height:96px;padding-inline:12px}.rs-rating-buttons{gap:5px;padding:6px}.rs-rating-buttons button{grid-template-columns:22px 1fr;padding:8px}.rs-rating-buttons button>svg{display:none}.rs-rating-buttons small{display:none}.rs-shortcuts{top:130px;right:16px}}@media(max-width:560px){.rs-brand-subtitle{display:none}.rs-topbar-row{min-height:42px}.rs-icon-button{width:38px;height:38px}.rs-progress-track{margin-top:10px}.rs-mode-switch button{padding-inline:9px;font-size:12px}.rs-main{padding-top:14px}.rs-word-stage,.rs-spell-stage{min-height:310px;padding:38px 22px}.rs-review-card.answer-visible .rs-word-stage{min-height:210px;padding:32px 20px 26px}.rs-word-row{gap:10px}.rs-word-row h1{font-size:clamp(42px,14vw,58px)}.rs-audio-button{width:42px;height:42px}.rs-recall-prompt{margin-top:35px}.rs-answer-block{padding:19px}.rs-answer-panel{max-height:42dvh;overflow-y:auto}.rs-context-block blockquote{font-size:16px}.rs-action-dock{min-height:88px}.rs-rating-buttons strong{font-size:12px}.rs-rating-key{width:21px;height:21px}.rs-spell-stage h1{font-size:30px}.rs-spell-input-wrap input{height:58px;font-size:19px}.rs-summary-card{padding:34px 20px;border-radius:22px}.rs-summary-metrics{grid-template-columns:repeat(2,1fr)}.rs-breakdown-legend{gap:12px}.rs-summary-actions{align-items:stretch;flex-direction:column-reverse}.rs-summary-actions .rs-button{width:100%}}@media(prefers-reduced-motion:reduce){.review-session-desktop *{animation-duration:.01ms!important;transition-duration:.01ms!important}}.vocabulary-page-redesign{--vocab-blue: #2457d6;--vocab-blue-dark: #183eaa;--vocab-blue-soft: #edf3ff;--vocab-amber: #d97706;--vocab-amber-soft: #fff7e8;--vocab-green: #15825b;--vocab-green-soft: #eaf8f2;--vocab-purple: #7652b8;--vocab-purple-soft: #f3effc;--vocab-ink: var(--text-primary, #1a1a1a);--vocab-muted: var(--text-secondary, #6f6c67);--vocab-line: color-mix(in srgb, var(--border-color, #e5e5e5) 84%, transparent);min-height:100vh;background:radial-gradient(circle at 78% -8%,rgba(61,102,217,.08),transparent 31rem),var(--bg-color, #f9f8f6);color:var(--vocab-ink)}.vocabulary-page-redesign button,.vocabulary-page-redesign input,.vocabulary-page-redesign textarea,.vocabulary-page-redesign select{font:inherit}.vocabulary-page-redesign button{color:inherit}.vocab-topbar{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--vocab-line);background:color-mix(in srgb,var(--bg-color, #f9f8f6) 86%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.vocab-topbar-inner{width:min(1380px,calc(100% - 48px));height:72px;margin:0 auto;display:flex;align-items:center;gap:14px}.drawer-header button{border:0;background:transparent;cursor:pointer}.vocab-brand{display:flex;align-items:center;gap:11px;min-width:0}.vocab-brand-mark{width:38px;height:38px;display:grid;place-items:center;color:var(--vocab-blue);border-radius:12px;background:var(--vocab-blue-soft)}.vocab-brand>div:last-child{display:flex;flex-direction:column;line-height:1.25}.vocab-brand strong{font-family:"Noto Serif SC",ui-serif,Georgia,serif;font-size:17px;letter-spacing:.01em}.vocab-brand span{margin-top:3px;font-size:11px;color:var(--vocab-muted)}.topbar-review-button{margin-left:auto;height:40px;padding:0 17px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;color:#fff!important;background:var(--vocab-blue);box-shadow:0 8px 22px #2457d630;cursor:pointer;font-size:14px;font-weight:700;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.topbar-review-button:hover,.hero-primary-button:hover{transform:translateY(-1px);background:var(--vocab-blue-dark);box-shadow:0 10px 26px #2457d63d}.topbar-review-button:disabled,.hero-primary-button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.topbar-review-button:disabled:hover,.hero-primary-button:disabled:hover{transform:none;background:var(--vocab-blue)}.vocab-shell{width:min(1380px,calc(100% - 48px));margin:0 auto;padding:30px 0 76px}.review-hero{min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:48px;padding:38px 48px;position:relative;overflow:hidden;border:1px solid rgba(36,87,214,.1);border-radius:26px;background:linear-gradient(112deg,#fffffff5,#f6f9ffe6),var(--paper-color, #fff);box-shadow:0 18px 54px #272d3d12}.review-hero:before,.review-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.review-hero:before{width:310px;height:310px;right:-110px;top:-180px;border:58px solid rgba(36,87,214,.045)}.review-hero:after{width:170px;height:170px;left:43%;bottom:-145px;border:34px solid rgba(217,119,6,.045)}.hero-copy,.hero-progress{position:relative;z-index:1}.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--vocab-amber);font-size:13px;font-weight:750;letter-spacing:.08em}.hero-copy h1{margin:0;font-family:"Noto Serif SC",ui-serif,Georgia,serif;font-size:clamp(30px,3vw,43px);font-weight:700;letter-spacing:-.035em;line-height:1.2}.hero-copy p{max-width:580px;margin:13px 0 25px;color:var(--vocab-muted);font-size:15px;line-height:1.75}.hero-primary-button{min-height:46px;padding:0 19px;display:inline-flex;align-items:center;gap:9px;border:0;border-radius:13px;color:#fff!important;background:var(--vocab-blue);box-shadow:0 8px 24px #2457d633;cursor:pointer;font-size:14px;font-weight:750;transition:.16s ease}.hero-primary-button svg:last-child{margin-left:2px}.hero-progress{display:flex;align-items:center;gap:27px}.progress-orbit{--progress: 0%;width:152px;height:152px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--vocab-blue) var(--progress),#e7ecf6 0);box-shadow:inset 0 0 0 1px #2457d60f}.progress-orbit-inner{width:124px;height:124px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:50%;background:var(--paper-color, #fff);box-shadow:0 8px 25px #29365514}.progress-orbit strong{font-size:29px;line-height:1}.progress-orbit small{font-size:15px;color:var(--vocab-blue)}.progress-orbit span{margin-top:7px;color:var(--vocab-muted);font-size:11px}.hero-mini-stats{min-width:130px;display:grid;gap:12px}.hero-mini-stats>div{display:flex;align-items:baseline;gap:10px}.hero-mini-stats strong{min-width:45px;font-size:22px;font-variant-numeric:tabular-nums}.hero-mini-stats span{color:var(--vocab-muted);font-size:12px}.vocab-workspace{margin-top:28px;display:grid;grid-template-columns:225px minmax(0,1fr);align-items:start;gap:28px}.vocab-sidebar{position:sticky;top:96px;padding:8px 0}.sidebar-nav{display:grid;gap:4px}.sidebar-nav button{width:100%;min-height:43px;padding:0 11px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;border:0;border-radius:11px;color:var(--vocab-muted);background:transparent;cursor:pointer;text-align:left;font-size:13px;font-weight:650;transition:background .15s ease,color .15s ease,transform .15s ease}.sidebar-nav button:hover{color:var(--vocab-ink);background:color-mix(in srgb,var(--paper-color, #fff) 74%,transparent);transform:translate(2px)}.sidebar-nav button.active{color:var(--vocab-blue);background:var(--vocab-blue-soft)}.sidebar-nav button.active svg{stroke-width:2.4}.sidebar-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav button em{min-width:25px;padding:2px 7px;border-radius:999px;color:inherit;background:color-mix(in srgb,currentColor 8%,transparent);font-size:10px;font-style:normal;text-align:center;font-variant-numeric:tabular-nums}.sidebar-section-heading{margin:24px 9px 8px;display:flex;align-items:center;justify-content:space-between;color:var(--vocab-muted);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.sidebar-section-heading button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--vocab-muted);background:transparent;cursor:pointer}.sidebar-section-heading button:hover{color:var(--vocab-blue);background:var(--vocab-blue-soft)}.folder-create-form{margin:0 7px 8px;display:flex;border:1px solid color-mix(in srgb,var(--vocab-blue) 28%,var(--vocab-line));border-radius:10px;overflow:hidden;background:var(--paper-color, #fff)}.folder-create-form input{min-width:0;flex:1;height:36px;padding:0 10px;border:0;outline:none;color:var(--vocab-ink);background:transparent;font-size:12px}.folder-create-form button{width:36px;border:0;color:#fff;background:var(--vocab-blue);cursor:pointer}.folder-create-form button:disabled{opacity:.45}.folder-nav button{min-height:38px;font-weight:550}.folder-empty-copy{margin:4px 10px;color:var(--vocab-muted);font-size:11px;line-height:1.7}.weekly-card{margin-top:24px;padding:14px;border:1px solid var(--vocab-line);border-radius:15px;background:color-mix(in srgb,var(--paper-color, #fff) 75%,transparent)}.weekly-card-header{display:flex;justify-content:space-between;color:var(--vocab-blue)}.weekly-card-header div{display:flex;flex-direction:column}.weekly-card-header span{color:var(--vocab-muted);font-size:10px}.weekly-card-header strong{margin-top:2px;font-size:13px}.weekly-bars{height:48px;margin-top:14px;display:flex;align-items:flex-end;gap:7px}.weekly-bars span{flex:1;min-height:4px;border-radius:4px 4px 2px 2px;background:linear-gradient(to top,var(--vocab-blue),#7ca1ff);opacity:.75;transition:height .25s ease}.vocab-content-panel{min-width:0}.content-heading-row{min-height:58px;display:flex;align-items:flex-start;justify-content:space-between}.content-heading-row h2{margin:0;font-family:"Noto Serif SC",ui-serif,Georgia,serif;font-size:23px;letter-spacing:-.02em}.content-heading-row p{margin:5px 0 0;color:var(--vocab-muted);font-size:12px}.vocab-toolbar{margin-bottom:14px;display:flex;gap:10px}.vocab-search,.sort-select{height:43px;display:flex;align-items:center;border:1px solid var(--vocab-line);border-radius:12px;color:var(--vocab-muted);background:var(--paper-color, #fff);transition:border-color .15s ease,box-shadow .15s ease}.vocab-search:focus-within,.sort-select:focus-within{border-color:color-mix(in srgb,var(--vocab-blue) 42%,var(--vocab-line));box-shadow:0 0 0 3px #2457d614}.vocab-search{flex:1;padding:0 12px;gap:9px}.vocab-search input{min-width:0;height:100%;flex:1;border:0;outline:none;color:var(--vocab-ink);background:transparent;font-size:13px}.vocab-search button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;cursor:pointer}.sort-select{min-width:145px;padding:0 8px 0 12px;gap:7px}.sort-select select{height:100%;border:0;outline:none;color:var(--vocab-ink);background:transparent;cursor:pointer;font-size:12px}.vocabulary-list-redesign{display:grid;gap:9px}.vocabulary-row{min-height:114px;padding:17px 16px 16px 20px;display:grid;grid-template-columns:minmax(0,1fr) 120px 96px;align-items:center;gap:20px;position:relative;border:1px solid transparent;border-radius:15px;background:var(--paper-color, #fff);box-shadow:0 4px 15px #23293609;cursor:pointer;outline:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.vocabulary-row:before{content:"";position:absolute;left:0;top:21px;bottom:21px;width:3px;border-radius:0 4px 4px 0;background:transparent;transition:background .16s ease}.vocabulary-row:hover,.vocabulary-row:focus-visible{transform:translateY(-1px);border-color:#2457d624;box-shadow:0 10px 28px #23293613}.vocabulary-row:hover:before,.vocabulary-row:focus-visible:before{background:var(--vocab-blue)}.word-column{min-width:0}.word-title-line{display:flex;align-items:baseline;gap:9px;min-width:0}.word-title-line h3{max-width:54%;margin:0;overflow:hidden;color:var(--vocab-ink);font-size:18px;font-weight:750;letter-spacing:-.012em;text-overflow:ellipsis;white-space:nowrap}.word-title-line>span{max-width:32%;overflow:hidden;color:var(--vocab-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-audio-button{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;align-self:center;border:0;border-radius:8px;color:var(--vocab-blue);background:var(--vocab-blue-soft);cursor:pointer;opacity:0;transform:scale(.92);transition:opacity .15s ease,transform .15s ease}.vocabulary-row:hover .row-audio-button,.row-audio-button:focus-visible{opacity:1;transform:scale(1)}.word-meaning{margin:5px 0 0;overflow:hidden;color:color-mix(in srgb,var(--vocab-ink) 82%,var(--vocab-muted));font-size:13px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.word-context{max-width:800px;margin:7px 0 0;display:flex;align-items:center;gap:5px;overflow:hidden;color:var(--vocab-muted);font-family:ui-serif,Georgia,serif;font-size:11px;font-style:italic;text-overflow:ellipsis;white-space:nowrap}.word-context svg{flex:0 0 auto;color:var(--vocab-amber)}.word-source-line{margin-top:7px;display:flex;align-items:center;gap:5px;color:color-mix(in srgb,var(--vocab-muted) 88%,transparent);font-size:10px}.word-source-line span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-column{display:flex;align-items:flex-start;flex-direction:column}.mastery-pill{min-height:23px;padding:3px 8px;display:inline-flex;align-items:center;border-radius:999px;font-size:10px;font-weight:750}.mastery-pill.new{color:var(--vocab-amber);background:var(--vocab-amber-soft)}.mastery-pill.learning{color:var(--vocab-blue);background:var(--vocab-blue-soft)}.mastery-pill.reviewing{color:var(--vocab-purple);background:var(--vocab-purple-soft)}.mastery-pill.mastered{color:var(--vocab-green);background:var(--vocab-green-soft)}.mastery-track{width:88px;height:4px;margin-top:9px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--vocab-muted) 14%,transparent)}.mastery-track span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--vocab-blue),#6c93ef)}.status-column small{margin-top:7px;color:var(--vocab-muted);font-size:10px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.row-icon-button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;color:color-mix(in srgb,var(--vocab-muted) 78%,transparent);background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease}.row-icon-button:hover{color:var(--vocab-blue);background:var(--vocab-blue-soft)}.row-icon-button.starred{color:#e0a10e}.row-chevron{color:color-mix(in srgb,var(--vocab-muted) 42%,transparent)}.row-menu-wrap{position:relative}.row-action-menu{width:148px;padding:5px;position:absolute;right:0;top:40px;z-index:15;border:1px solid var(--vocab-line);border-radius:11px;background:var(--paper-color, #fff);box-shadow:0 12px 34px #1b233629}.row-action-menu button{width:100%;min-height:35px;padding:0 9px;display:flex;align-items:center;gap:8px;border:0;border-radius:7px;background:transparent;cursor:pointer;font-size:11px}.row-action-menu button:hover{background:var(--vocab-blue-soft)}.row-action-menu button.danger{color:#c2413a}.row-action-menu button.danger:hover{background:#fff1f0}.vocab-skeleton{height:114px;padding:22px;display:grid;align-content:center;gap:10px;border-radius:15px;background:var(--paper-color, #fff)}.vocab-skeleton span{height:9px;border-radius:999px;background:linear-gradient(90deg,#7d7d7d17,#7d7d7d2e,#7d7d7d17);background-size:220% 100%;animation:vocabShimmer 1.3s linear infinite}.vocab-skeleton span:first-child{width:26%;height:14px}.vocab-skeleton span:nth-child(2){width:58%}.vocab-skeleton span:nth-child(3){width:42%}@keyframes vocabShimmer{to{background-position:-220% 0}}.vocab-empty-state{min-height:340px;padding:50px 24px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px dashed color-mix(in srgb,var(--vocab-line) 88%,transparent);border-radius:18px;color:var(--vocab-muted);background:color-mix(in srgb,var(--paper-color, #fff) 62%,transparent);text-align:center}.empty-illustration{width:74px;height:74px;display:grid;place-items:center;margin-bottom:18px;border-radius:23px;color:var(--vocab-blue);background:var(--vocab-blue-soft);transform:rotate(-3deg)}.vocab-empty-state h3{margin:0;color:var(--vocab-ink);font-size:17px}.vocab-empty-state p{max-width:390px;margin:8px 0 0;font-size:12px;line-height:1.7}.vocab-empty-state>button{margin-top:18px;padding:9px 15px;border:1px solid color-mix(in srgb,var(--vocab-blue) 26%,var(--vocab-line));border-radius:10px;color:var(--vocab-blue);background:var(--paper-color, #fff);cursor:pointer;font-size:12px;font-weight:700}.vocab-pagination{padding:23px 0 0;display:flex;align-items:center;justify-content:center;gap:16px}.vocab-pagination button{min-height:37px;padding:0 12px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--vocab-line);border-radius:10px;background:var(--paper-color, #fff);cursor:pointer;font-size:11px}.vocab-pagination button:disabled{cursor:not-allowed;opacity:.38}.vocab-pagination span{color:var(--vocab-muted);font-size:11px}.vocab-drawer-layer{position:fixed;inset:0;z-index:200;background:#11182761;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:vocabOverlayIn .16s ease}@keyframes vocabOverlayIn{0%{opacity:0}to{opacity:1}}.vocab-detail-drawer{width:min(500px,94vw);height:100%;margin-left:auto;display:flex;flex-direction:column;background:var(--paper-color, #fff);box-shadow:-20px 0 60px #11182729;animation:vocabDrawerIn .22s cubic-bezier(.2,.75,.3,1)}@keyframes vocabDrawerIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{min-height:64px;padding:0 20px 0 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vocab-line)}.drawer-header>span{color:var(--vocab-muted);font-size:12px;font-weight:700;letter-spacing:.06em}.drawer-header>div{display:flex;gap:4px}.drawer-header button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px}.drawer-header button:hover{color:var(--vocab-blue);background:var(--vocab-blue-soft)}.drawer-scroll{flex:1;padding:0 26px 42px;overflow-y:auto}.drawer-word-hero{margin:0 -26px 26px;padding:30px 26px 26px;border-bottom:1px solid rgba(36,87,214,.09);background:linear-gradient(145deg,var(--vocab-blue-soft),color-mix(in srgb,var(--paper-color, #fff) 94%,var(--vocab-blue-soft)))}.drawer-word-line{display:flex;align-items:center;gap:10px}.drawer-word-line h2{margin:0;font-size:30px;letter-spacing:-.03em}.drawer-word-line button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:11px;color:var(--vocab-blue);background:#ffffffc2;cursor:pointer}.drawer-word-hero>p{margin:7px 0 0;color:var(--vocab-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.drawer-word-meta{margin-top:18px;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.drawer-word-meta>span:not(.mastery-pill),.drawer-word-meta>button{min-height:28px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(36,87,214,.11);border-radius:999px;color:var(--vocab-muted);background:#ffffff9e;font-size:10px}.drawer-word-meta>button{cursor:pointer}.drawer-word-meta>button.starred{color:#c99008}.drawer-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--vocab-line)}.drawer-section h3{margin:0 0 11px;display:flex;align-items:center;gap:7px;color:var(--vocab-muted);font-size:11px;font-weight:750;letter-spacing:.05em}.drawer-section>p{margin:0;font-size:14px;line-height:1.75}.drawer-section p.muted{color:var(--vocab-muted);font-size:12px}.drawer-section textarea,.drawer-section input,.add-folder-section select{width:100%;padding:10px 12px;border:1px solid var(--vocab-line);border-radius:10px;outline:none;color:var(--vocab-ink);background:var(--bg-color, #f9f8f6);font-size:12px;line-height:1.65;resize:vertical}.drawer-section textarea:focus,.drawer-section input:focus,.add-folder-section select:focus{border-color:color-mix(in srgb,var(--vocab-blue) 45%,var(--vocab-line));box-shadow:0 0 0 3px #2457d612}.context-section{padding:18px;border:1px solid rgba(217,119,6,.12);border-radius:13px;background:var(--vocab-amber-soft)}.context-section h3{color:var(--vocab-amber)}.context-section blockquote{margin:0;font-family:ui-serif,Georgia,serif;font-size:14px;font-style:italic;line-height:1.8}.drawer-source{margin-top:14px;display:flex;align-items:center;gap:6px;color:var(--vocab-muted);font-size:10px}.drawer-example-en{font-family:ui-serif,Georgia,serif}.drawer-example-cn{margin-top:7px!important;color:var(--vocab-muted);font-size:12px!important}.morpheme-grid{display:flex;flex-wrap:wrap;gap:8px}.morpheme-grid>div{padding:8px 10px;display:flex;align-items:baseline;gap:6px;border-radius:9px;color:var(--vocab-purple);background:var(--vocab-purple-soft)}.morpheme-grid strong{font-size:12px}.morpheme-grid span{color:var(--vocab-muted);font-size:10px}.drawer-tags{display:flex;flex-wrap:wrap;gap:7px}.drawer-tags span{padding:4px 9px;border-radius:999px;color:var(--vocab-blue);background:var(--vocab-blue-soft);font-size:10px}.add-folder-section>div{display:flex;gap:8px}.add-folder-section select{height:40px;padding-top:0;padding-bottom:0;flex:1}.add-folder-section button{min-width:58px;border:0;border-radius:10px;color:#fff;background:var(--vocab-blue);cursor:pointer;font-size:11px;font-weight:700}.add-folder-section button:disabled{cursor:not-allowed;opacity:.4}.drawer-learning-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.drawer-learning-stats div{min-height:74px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:12px;background:var(--bg-color, #f9f8f6)}.drawer-learning-stats strong{font-size:19px}.drawer-learning-stats span{margin-top:3px;color:var(--vocab-muted);font-size:9px}.drawer-footer{min-height:70px;padding:12px 20px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--vocab-line);background:var(--paper-color, #fff)}.drawer-footer button{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;gap:7px;border-radius:10px;cursor:pointer;font-size:12px;font-weight:700}.drawer-footer .secondary{border:1px solid var(--vocab-line);background:transparent}.drawer-footer .primary{border:0;color:#fff;background:var(--vocab-blue)}.vocab-toast{min-height:42px;padding:0 15px;display:flex;align-items:center;gap:8px;position:fixed;left:50%;bottom:28px;z-index:300;border-radius:12px;color:#fff;background:#202735;box-shadow:0 12px 30px #11182740;font-size:12px;transform:translate(-50%);animation:vocabToastIn .18s ease}@keyframes vocabToastIn{0%{transform:translate(-50%,8px);opacity:0}to{transform:translate(-50%);opacity:1}}[data-theme=dark] .vocabulary-page-redesign{--vocab-blue: #79a1ff;--vocab-blue-dark: #5f8ff7;--vocab-blue-soft: rgba(75, 119, 224, .15);--vocab-amber: #f6b84b;--vocab-amber-soft: rgba(208, 129, 23, .14);--vocab-green: #62c99e;--vocab-green-soft: rgba(35, 155, 108, .14);--vocab-purple: #b49aeb;--vocab-purple-soft: rgba(126, 88, 187, .15)}[data-theme=dark] .review-hero{background:linear-gradient(112deg,#111827f7,#19253eeb);box-shadow:0 18px 54px #00000029}[data-theme=dark] .progress-orbit-inner,[data-theme=dark] .drawer-word-meta>span:not(.mastery-pill),[data-theme=dark] .drawer-word-meta>button,[data-theme=dark] .drawer-word-line button{background:#111827bf}[data-theme=dark] .row-action-menu button.danger:hover{background:#c2413a1f}@media(max-width:1050px){.review-hero{gap:24px;padding:34px}.hero-progress{gap:18px}.progress-orbit{width:132px;height:132px}.progress-orbit-inner{width:106px;height:106px}.vocab-workspace{grid-template-columns:190px minmax(0,1fr);gap:20px}.vocabulary-row{grid-template-columns:minmax(0,1fr) 105px 74px;gap:12px}.row-chevron{display:none}}@media(max-width:820px){.vocab-topbar-inner,.vocab-shell{width:min(100% - 28px,760px)}.vocab-shell{padding-top:18px}.review-hero{min-height:auto;grid-template-columns:1fr;padding:28px}.hero-progress{padding-top:22px;border-top:1px solid var(--vocab-line)}.progress-orbit{width:112px;height:112px}.progress-orbit-inner{width:90px;height:90px}.progress-orbit strong{font-size:23px}.hero-mini-stats{flex:1;grid-template-columns:repeat(3,1fr)}.hero-mini-stats>div{align-items:flex-start;flex-direction:column;gap:1px}.vocab-workspace{grid-template-columns:1fr;margin-top:20px}.vocab-sidebar{position:static;padding:0;overflow:hidden}.sidebar-nav:first-child{display:flex;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.sidebar-nav:first-child::-webkit-scrollbar{display:none}.sidebar-nav:first-child button{width:auto;min-width:-moz-max-content;min-width:max-content;grid-template-columns:18px auto auto;padding:0 12px;border:1px solid var(--vocab-line);background:var(--paper-color, #fff)}.sidebar-section-heading,.folder-create-form,.folder-nav,.weekly-card{display:none}.content-heading-row{min-height:52px}}@media(max-width:620px){.vocab-topbar-inner{height:62px;gap:9px}.vocab-brand-mark,.vocab-brand span{display:none}.vocab-brand strong{font-size:15px}.topbar-review-button{width:40px;padding:0;justify-content:center}.topbar-review-button span{display:none}.review-hero{padding:24px 20px;border-radius:20px}.hero-copy h1{font-size:28px}.hero-copy p{margin-bottom:19px;font-size:13px}.hero-progress{align-items:stretch}.progress-orbit{width:100px;height:100px;flex:0 0 100px}.progress-orbit-inner{width:80px;height:80px}.progress-orbit span{display:none}.hero-mini-stats{gap:6px}.hero-mini-stats strong{min-width:0;font-size:18px}.hero-mini-stats span{font-size:9px}.vocab-toolbar{flex-direction:column}.sort-select{width:100%}.sort-select select{flex:1}.vocabulary-row{min-height:0;padding:16px;grid-template-columns:minmax(0,1fr) auto;gap:14px}.status-column{grid-column:1;display:grid;grid-template-columns:auto 72px auto;align-items:center;gap:8px}.mastery-track{width:72px;margin:0}.status-column small{margin:0}.row-actions{grid-column:2;grid-row:1 / span 2;align-self:start;flex-direction:column}.word-title-line h3{max-width:55%}.row-audio-button{opacity:1;transform:none}.word-context{display:none}.word-source-line{margin-top:8px}.vocab-detail-drawer{width:100%}.drawer-scroll{padding-left:20px;padding-right:20px}.drawer-word-hero{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){.vocabulary-page-redesign *,.vocabulary-page-redesign *:before,.vocabulary-page-redesign *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.wordbook-reader{--bg-color: #F5F5F5;--paper-color: #FFFFFF;--text-primary: #1A1A1A;--text-secondary: #565656;--accent-color: #d946ef;--accent-light: #fef3ff;--border-color: #E8E8E8;--success-color: #059669;--error-color: #dc2626;--info-bg: #f8f9ff;--info-border: #d4d7ff;position:fixed;inset:0;width:100%;height:100vh;background:var(--bg-color);display:flex;flex-direction:column;z-index:200;color:var(--text-primary)}.wordbook-reader.dark{--bg-color: #0f172a;--paper-color: #1a2542;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--accent-color: #ec4899;--accent-light: #3b1b5c;--border-color: #334155;--success-color: #10b981;--error-color: #f87171;--info-bg: #1a2e4d;--info-border: #2a4a7d;background:var(--bg-color)}.desktop-header{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:var(--paper-color);border-bottom:1px solid var(--border-color);flex-shrink:0;transition:all .3s ease;gap:20px}.desktop-header.hidden{transform:translateY(-100%);opacity:0;pointer-events:none;position:absolute}.header-left{flex:1;display:flex;align-items:center}.header-center{flex:2;display:flex;justify-content:center}.header-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:10px}.book-name{font-size:18px;font-weight:700;color:var(--text-primary);white-space:nowrap}.progress-container-header{display:flex;align-items:center;gap:16px;width:100%;max-width:600px}.progress-bar-desktop{flex:1;height:8px;background:var(--border-color);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#d946ef);border-radius:4px;transition:width .4s ease;box-shadow:0 0 8px #d946ef66}.progress-text{color:var(--text-secondary);font-size:14px;font-weight:600;font-family:SF Mono,Consolas,monospace;min-width:30px;text-align:right}.progress-text.total{text-align:left;color:var(--text-secondary);opacity:.7}.header-controls{display:flex;align-items:center;gap:12px}.control-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.control-btn:hover,.control-btn.active{background:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color)}.wordbook-reader.immersive .reader-content{padding-top:20px}.immersive-controls{position:fixed;top:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--paper-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);border-radius:20px;z-index:101;opacity:.8;transition:opacity .2s ease;box-shadow:0 4px 12px #00000026}.immersive-controls:hover{opacity:1}.mini-control{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.mini-control:hover{background:var(--accent-light);border-color:var(--accent-color);color:var(--accent-color)}.mini-progress{font-size:13px;color:var(--text-secondary);font-weight:500}.reader-header,.progress-info-inline{display:none}.reader-content{flex:0 0 auto;padding:10px 32px 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:var(--bg-color);min-height:0;width:100%}.word-card{width:100%;max-width:1200px;height:76vh;background-color:var(--paper-color);background:#fff;border-radius:24px;padding:0;box-shadow:0 15px 45px #00000014;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.06);position:relative;z-index:1}[data-theme=dark] .word-card{background:var(--paper-color)}.card-scroll-area{flex:1;overflow-y:auto;padding:24px 40px;display:flex;flex-direction:column;gap:24px}.word-header{display:flex;flex-direction:column;align-items:flex-start;padding:20px 40px;background:linear-gradient(135deg,#ffffff 0%,var(--bg-color) 100%);border-bottom:1px solid var(--border-color);position:relative}.card-shortcut-container{position:absolute;top:20px;right:40px;z-index:10}.shortcut-icon-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.shortcut-icon-btn:hover{background:var(--bg-color);border-color:var(--accent-color);color:var(--accent-color);transform:scale(1.1)}.shortcut-icon-btn.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.icon-text{font-size:14px;font-weight:700;font-family:Times New Roman,serif;font-style:italic;line-height:1}.shortcut-popup-card{position:absolute;top:100%;right:0;margin-top:8px;background:var(--paper-color);border:1px solid var(--border-color);border-radius:12px;padding:14px;width:180px;box-shadow:0 10px 30px #0000001f;opacity:0;pointer-events:none;transition:all .2s ease;transform-origin:top right;transform:scale(.95);z-index:100}[data-theme=dark] .shortcut-popup-card{background:var(--paper-color)}.shortcut-popup-card.visible{opacity:1;pointer-events:auto;transform:scale(1)}.popup-title{font-size:12px;font-weight:700;color:var(--text-primary);margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.shortcut-list{display:flex;flex-direction:column;gap:6px}.shortcut-row{display:flex;align-items:center;justify-content:space-between}.key-label{font-family:SF Mono,Consolas,monospace;font-size:10px;font-weight:600;color:var(--accent-color);background:var(--accent-light);padding:2px 5px;border-radius:4px}.key-desc{font-size:11px;color:var(--text-secondary)}[data-theme=dark] .word-header{background:linear-gradient(135deg,var(--paper-color) 0%,var(--bg-color) 100%)}.word-title-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.word-text{font-size:36px;font-weight:800;margin:0;color:var(--text-primary);letter-spacing:-1px}.audio-btn{background:transparent!important;border:none!important;cursor:pointer;padding:4px!important;margin:0!important;display:flex;align-items:center;justify-content:center;border-radius:50%!important;transition:all .2s ease;color:var(--accent-color);width:32px;height:32px}.audio-btn:hover{background:rgba(var(--accent-color-rgb, 37, 99, 235),.1)!important;transform:scale(1.1)}.audio-btn svg{width:20px;height:20px}.phonetic-row{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--text-secondary);opacity:.8}.main-content-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}.section-title{font-size:11px;font-weight:700;color:var(--accent-color);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px;display:flex;align-items:center;gap:10px;opacity:.7}.meaning-text{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:12px;line-height:1.4}.analysis-box{font-size:14px;color:var(--text-secondary);line-height:1.6;background:#00000005;padding:16px;border-radius:12px;border:1px solid rgba(0,0,0,.02)}.analysis-box-collapsible{padding:0;overflow:hidden}.analysis-box-collapsible summary{padding:13px 16px;color:var(--accent-color);cursor:pointer;font-size:13px;font-weight:700;-webkit-user-select:none;-moz-user-select:none;user-select:none}.analysis-box-collapsible[open] summary{border-bottom:1px solid var(--border-color)}.analysis-box-content{max-height:240px;overflow:auto;padding:16px;white-space:pre-wrap}.example-list{display:flex;flex-direction:column;gap:16px}.example-item{padding:12px 16px;background:#2563eb05;border-left:3px solid var(--accent-color);border-radius:4px 12px 12px 4px;transition:all .2s ease}.example-item:hover{background:#2563eb0a}.example-item .en{font-size:15px;font-weight:500;margin-bottom:4px;line-height:1.4}.example-item .cn{font-size:13px;color:var(--text-secondary)}.phrases-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;background:transparent;padding:0}.phrase-item{background:rgba(var(--accent-color-rgb, 37, 99, 235),.04);padding:8px 12px;border-radius:8px;border:1px solid rgba(var(--accent-color-rgb, 37, 99, 235),.05);transition:all .2s ease}.phrase-item:hover{background:rgba(var(--accent-color-rgb, 37, 99, 235),.08);transform:translateY(-1px)}.p-en{font-size:13px;font-weight:700;display:block;margin-bottom:1px;color:var(--text-primary)}.p-cn{font-size:11px;color:var(--text-secondary);opacity:.8}.reader-footer{flex:0 0 auto;padding:16px 32px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;width:100%;box-sizing:border-box}.action-buttons-wordbook{display:flex;gap:12px;justify-content:center;width:100%;max-width:600px}.action-btn-wordbook{flex:1;max-width:100%;padding:12px 0;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 4px 12px #0000001a;position:relative;min-width:0}.action-btn-wordbook:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.btn-label{font-weight:700;font-size:15px;letter-spacing:.5px}.action-btn-wordbook:after{content:attr(data-key);font-size:20px;font-weight:400;opacity:.8;color:inherit;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin-left:8px;line-height:1;font-variant-emoji:text}.action-btn-wordbook:active:not(:disabled){transform:translateY(-2px)}.action-btn-wordbook:disabled{opacity:.6;cursor:not-allowed}.action-btn-wordbook.forget{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn-wordbook.forget:hover:not(:disabled){box-shadow:0 12px 24px #ef44444d}.action-btn-wordbook.fuzzy{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.action-btn-wordbook.fuzzy:hover:not(:disabled){box-shadow:0 12px 24px #f59e0b4d}.action-btn-wordbook.know{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn-wordbook.know:hover:not(:disabled){box-shadow:0 12px 24px #10b9814d}.btn-desc,.keyboard-shortcuts-wordbook{display:none}@media(max-width:768px){.wordbook-reader{height:100dvh}.reader-header{padding:10px 16px}.reader-content{padding:10px 16px;flex:1;overflow:hidden}.word-card{padding:20px;height:100%;max-height:none;border-radius:20px}.card-scroll-area{padding:16px 20px}.grid-sections{grid-template-columns:1fr}.word-text{font-size:32px}.reader-footer{padding:12px 16px;background:var(--bg-color)}.action-buttons-wordbook{gap:8px}.action-btn-wordbook{padding:12px 0;font-size:14px;min-width:auto;border-radius:10px}.btn-label{font-size:14px}.action-btn-wordbook:after{display:none}.keyboard-shortcuts-wordbook{display:none}}.memory-tips-list{display:flex;flex-direction:column;gap:12px}.memory-tip-item{font-size:15px;line-height:1.6;color:var(--text-primary);background:#00000005;padding:12px;border-radius:8px;border-left:3px solid var(--accent-color)}.memory-tip-title{font-weight:700;color:var(--accent-color);margin-right:8px;display:inline-block}.memory-tip-content{color:var(--text-secondary)}.order-btn{position:relative}.order-btn.random{background:linear-gradient(135deg,#8b5cf626,#ec489926);border-color:#8b5cf6;color:#8b5cf6}.order-btn.random:hover{background:linear-gradient(135deg,#8b5cf640,#ec489940)}.order-btn:disabled{opacity:.6;cursor:not-allowed}.order-btn .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.main-content-grid.single-col{grid-template-columns:1fr;display:flex;flex-direction:column}.main-content-grid.single-col .left-col{width:100%}.main-content-grid.single-col .meaning-text{font-size:24px;margin-bottom:20px}.analysis-tags{display:flex;flex-direction:column;gap:8px;margin-top:16px;background:#00000005;padding:16px;border-radius:12px}.analysis-tag-item{display:flex;align-items:flex-start;line-height:1.5}.pos-tag{font-size:12px;font-weight:700;color:var(--accent-color);background:rgba(var(--accent-color-rgb, 217, 70, 239),.1);padding:2px 6px;border-radius:4px;margin-right:10px;font-family:SF Mono,Consolas,monospace;min-width:32px;text-align:center;margin-top:2px}.cn-text{font-size:15px;color:var(--text-secondary);flex:1}.wordbook-page{--library-paper: #f4f1e9;--library-surface: #fffdf8;--library-ink: #17211e;--library-muted: #68716d;--library-line: rgba(23, 33, 30, .14);--library-accent: #245f54;min-height:100vh;overflow-y:auto;color:var(--library-ink);background:radial-gradient(circle at 78% 4%,rgba(70,116,101,.08),transparent 30rem),linear-gradient(180deg,#f9f7f1 0,var(--library-paper) 38rem);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.wordbook-shell{width:min(1600px,calc(100% - 64px));margin:0 auto;padding:70px 0 80px}.wordbook-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:28px 0 34px;border-bottom:3px double var(--library-line)}.wordbook-kicker,.section-eyebrow{display:block;margin-bottom:9px;color:var(--library-accent);font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.18em;text-transform:uppercase}.wordbook-hero h1{margin:0;color:var(--library-ink);font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(48px,5vw,76px);font-weight:700;line-height:.98;letter-spacing:-.05em}.wordbook-hero-copy>p{max-width:680px;margin:18px 0 0;color:var(--library-muted);font-size:16px;line-height:1.75}.wordbook-search{width:min(420px,36vw);height:52px;display:grid;grid-template-columns:20px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:0 14px 0 17px;border:1px solid var(--library-line);border-radius:4px;background:#fffdf8bd;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.wordbook-hero-tools{display:flex;align-items:center;gap:12px}.wordbook-points-wallet{min-width:104px;height:52px;display:flex;flex-direction:column;justify-content:center;padding:0 15px;border:1px solid var(--library-line);border-radius:4px;background:#fffdf8bd}.wordbook-points-wallet span{color:var(--library-muted);font-size:9px;letter-spacing:.08em}.wordbook-points-wallet strong{margin-top:2px;color:#9d6b25;font-family:Georgia,serif;font-size:18px}.wordbook-search:focus-within{border-color:#245f549e;background:var(--library-surface);box-shadow:0 0 0 3px #245f5417}.wordbook-search svg{width:20px;fill:none;stroke:var(--library-muted);stroke-width:1.8}.wordbook-search input{width:100%;min-width:0;border:0;outline:0;color:var(--library-ink);background:transparent;font:inherit;font-size:14px}.wordbook-search input::-moz-placeholder{color:#929894}.wordbook-search input::placeholder{color:#929894}.wordbook-search button{width:28px;height:28px;border:0;border-radius:50%;color:var(--library-muted);background:transparent;cursor:pointer;font-size:21px;line-height:1}.continue-panel,.start-panel{margin-top:28px;border:1px solid var(--library-line);border-radius:8px;background:var(--library-surface);box-shadow:0 14px 34px #232d290f}.continue-panel{display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 20px;overflow:hidden;position:relative}.continue-panel:after{content:"";position:absolute;inset:0 0 0 auto;width:34%;pointer-events:none;background:linear-gradient(110deg,transparent,rgba(36,95,84,.055))}.continue-copy,.continue-actions{position:relative;z-index:1}.continue-copy h2,.start-panel h2,.library-toolbar h2{margin:0;color:var(--library-ink);font-family:Georgia,Times New Roman,Songti SC,serif;font-weight:700}.continue-copy h2{font-size:25px}.continue-copy p{margin:6px 0 10px;color:var(--library-muted);font-size:13px}.continue-copy .progress-track{max-width:520px}.continue-actions{min-width:128px;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.continue-actions>strong{color:var(--library-accent);font-family:Georgia,Times New Roman,serif;font-size:24px}.continue-actions button,.wordbook-empty button{min-height:40px;padding:0 17px;border:1px solid var(--library-ink);border-radius:3px;color:#fff;background:var(--library-ink);cursor:pointer;font-size:13px;font-weight:700;transition:transform .15s ease,background .15s ease}.continue-actions button:hover,.wordbook-empty button:hover{transform:translateY(-1px);background:var(--library-accent)}.start-panel{display:flex;align-items:center;gap:24px;padding:24px 28px}.start-panel-mark{width:68px;height:68px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#f7f2e8;background:var(--library-ink);font-family:Georgia,Times New Roman,serif;font-size:25px;font-style:italic}.start-panel h2{font-size:24px}.start-panel p{margin:8px 0 0;color:var(--library-muted);font-size:14px}.wordbook-library{padding-top:54px}.library-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.library-toolbar h2{font-size:34px;letter-spacing:-.03em}.category-filter{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--library-line);border-radius:4px;background:#fffdf88c}.category-filter button{min-width:58px;height:34px;padding:0 13px;border:0;border-radius:2px;color:var(--library-muted);background:transparent;cursor:pointer;font-size:13px;font-weight:650;transition:color .15s ease,background .15s ease}.category-filter button:hover{color:var(--library-ink)}.category-filter button.is-active{color:#fff;background:var(--library-ink)}.wordbook-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.wordbook-card{min-width:0;display:grid;grid-template-columns:116px minmax(0,1fr);gap:17px;padding:15px;overflow:hidden;border:1px solid var(--library-line);border-radius:7px;background:#fffdf8e6;cursor:pointer;box-shadow:0 6px 20px #232d2909;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.wordbook-card:hover{transform:translateY(-3px);border-color:#245f546b;box-shadow:0 16px 34px #232d2917}.wordbook-card.is-locked .editorial-cover:before{content:"积分兑换";position:absolute;top:9px;right:7px;z-index:6;padding:4px 6px;border:1px solid rgba(255,255,255,.35);border-radius:3px;color:#fff7e5;background:#0b120fad;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:7px;font-weight:800;letter-spacing:.08em}.wordbook-card.is-locked .wordbook-card-action{color:#7a541f;border-color:#9d6b2552;background:#f8edd8}.wordbook-card.is-locked:hover{border-color:#9d6b2580}.wordbook-redeem-overlay{position:fixed;inset:0;z-index:10030;display:grid;place-items:center;padding:24px;background:#151c1985;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.wordbook-redeem-dialog{width:min(650px,100%);display:grid;grid-template-columns:80px minmax(0,1fr);gap:24px;padding:30px;border:1px solid rgba(157,107,37,.3);border-radius:12px;color:var(--library-ink);background:#fffdf8;box-shadow:0 28px 90px #0a0f0d47}.wordbook-redeem-copy h2{margin:7px 0 9px;font-family:Georgia,Songti SC,serif;font-size:29px;letter-spacing:-.03em}.wordbook-redeem-copy>p{margin:0;color:var(--library-muted);font-size:13px;line-height:1.7}.wordbook-redeem-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-block:1px solid var(--library-line)}.wordbook-redeem-ledger span{padding:12px 10px;color:var(--library-muted);border-right:1px solid var(--library-line);font-size:10px}.wordbook-redeem-ledger span:first-child{padding-left:0}.wordbook-redeem-ledger span:last-child{border-right:0}.wordbook-redeem-ledger strong{display:block;margin-top:4px;color:var(--library-ink);font:700 19px Georgia,serif}.wordbook-redeem-error{margin-top:13px;padding:10px 12px;border:1px solid #e6c4bd;border-radius:5px;color:#8c4136;background:#fbefed;font-size:12px}.wordbook-redeem-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.wordbook-redeem-actions button{min-width:94px;min-height:42px;padding:0 15px;border:1px solid var(--library-line);border-radius:4px;color:var(--library-ink);background:transparent;cursor:pointer;font-size:12px;font-weight:750}.wordbook-redeem-actions button.is-primary{min-width:150px;color:#fff;border-color:var(--library-ink);background:var(--library-ink)}.wordbook-redeem-actions button:disabled{cursor:not-allowed;opacity:.48}.editorial-cover{--cover-accent: #315e53;width:116px;aspect-ratio:3 / 4;position:relative;overflow:hidden;border-radius:4px 7px 7px 4px;color:#fff;background:#31403b;box-shadow:0 7px 18px #17211e33,inset 3px 0 #ffffff1c}.editorial-cover:after{content:"";position:absolute;inset:0 auto 0 7px;width:1px;z-index:2;background:#ffffff47}.editorial-cover-art,.editorial-cover-wash{position:absolute;inset:0;width:100%;height:100%}.editorial-cover-art{-o-object-fit:cover;object-fit:cover;filter:saturate(.78) contrast(1.04)}.editorial-cover-wash{background:linear-gradient(180deg,#040c0a1a,#060f0d0f 35%,#08120feb)}.editorial-cover-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;padding:10px 9px 10px 13px}.editorial-cover-series{display:flex;justify-content:space-between;gap:4px;color:#ffffffd1;font-size:5px;font-weight:800;letter-spacing:.12em}.editorial-cover-code{margin-top:14px;color:#fff;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:700;line-height:.95;letter-spacing:-.05em}.editorial-cover-titles{margin-top:auto;padding-top:8px;border-top:1px solid var(--cover-accent)}.editorial-cover-titles strong,.editorial-cover-titles span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.editorial-cover-titles strong{color:#fff;font-size:10px;line-height:1.35;-webkit-line-clamp:2}.editorial-cover-titles span{margin-top:3px;color:#ffffffbd;font-family:Georgia,Times New Roman,serif;font-size:6.5px;line-height:1.3;-webkit-line-clamp:2}.editorial-cover.is-compact{width:80px;border-radius:3px 5px 5px 3px}.editorial-cover.is-compact .editorial-cover-code{margin-top:9px;font-size:16px}.editorial-cover.is-compact .editorial-cover-content{padding:7px 6px 7px 10px}.editorial-cover.is-compact .editorial-cover-series{font-size:4px}.editorial-cover.is-compact .editorial-cover-titles strong{font-size:7px}.editorial-cover.is-compact .editorial-cover-titles span{display:none}.tone-sage{--cover-accent: #a8d1b0;background:#314b43}.tone-sunrise{--cover-accent: #efc36f;background:#4c3428}.tone-ochre{--cover-accent: #e5bd73;background:#60471d}.tone-cobalt{--cover-accent: #8ab6d8;background:#1f4865}.tone-navy{--cover-accent: #c2a469;background:#1e3044}.tone-burgundy{--cover-accent: #d8a7a1;background:#5b282d}.tone-terracotta{--cover-accent: #efb17d;background:#71412d}.tone-teal{--cover-accent: #8bc9c1;background:#1d5554}.tone-forest{--cover-accent: #a8cbb9;background:#183f36}.tone-plum{--cover-accent: #c3a8cc;background:#4a3153}.tone-ink{--cover-accent: #bdc6c2;background:#303936}.wordbook-card-content{min-width:0;display:flex;flex-direction:column}.wordbook-card-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--library-accent);font-size:10px;font-weight:800;letter-spacing:.12em}.wordbook-card-topline span:last-child{padding:3px 7px;border:1px solid rgba(36,95,84,.2);border-radius:999px;letter-spacing:0}.wordbook-card h3{display:-webkit-box;overflow:hidden;margin:9px 0 0;color:var(--library-ink);font-family:Georgia,Times New Roman,Songti SC,serif;font-size:18px;font-weight:700;line-height:1.25;letter-spacing:-.02em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.wordbook-description{display:-webkit-box;overflow:hidden;min-height:34px;margin:7px 0 0;color:var(--library-muted);font-size:11px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.wordbook-facts{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:9px;color:#4f5955;font-size:10px;font-weight:650}.wordbook-facts span:not(:last-child):after{content:"·";margin-left:10px;color:#a4aaa7}.card-progress,.wordbook-social-proof{margin-top:auto;padding-top:9px}.card-progress-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:var(--library-muted);font-size:10px}.card-progress-label strong{color:var(--library-accent)}.progress-track{height:4px;overflow:hidden;border-radius:999px;background:#245f541a}.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--library-accent)}.wordbook-social-proof{color:#818985;font-size:10px}.wordbook-card-action{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:0;border:0;color:var(--library-ink);background:transparent;cursor:pointer;font-size:12px;font-weight:800}.wordbook-card-action span{color:var(--library-accent);font-size:16px;transition:transform .15s ease}.wordbook-card:hover .wordbook-card-action span{transform:translate(3px)}.wordbook-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed var(--library-line);border-radius:8px;color:var(--library-muted);text-align:center}.wordbook-empty>span{display:grid;width:56px;height:56px;place-items:center;margin-bottom:16px;border-radius:50%;color:#fff;background:var(--library-ink);font:italic 20px Georgia,serif}.wordbook-empty h3{margin:0;color:var(--library-ink);font-family:Georgia,Songti SC,serif;font-size:22px}.wordbook-empty p{margin:7px 0 18px;font-size:13px}[data-theme=dark] .wordbook-page{--library-paper: #121714;--library-surface: #1a211e;--library-ink: #f0eee7;--library-muted: #a1aaa5;--library-line: rgba(237, 240, 235, .14);--library-accent: #83b7a5;background:radial-gradient(circle at 78% 4%,rgba(92,143,125,.1),transparent 30rem),#121714}[data-theme=dark] .wordbook-search,[data-theme=dark] .category-filter,[data-theme=dark] .wordbook-card{background:#1a211edb}[data-theme=dark] .wordbook-facts{color:#bdc5c1}@media(max-width:900px){.wordbook-hero-tools,.wordbook-search{width:100%}.wordbook-shell{width:min(100% - 40px,920px)}.wordbook-hero{align-items:flex-start;flex-direction:column;gap:24px}.wordbook-search{width:min(100%,520px)}.library-toolbar{align-items:flex-start;flex-direction:column}.wordbook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.wordbook-hero-tools{align-items:stretch;flex-direction:column}.wordbook-points-wallet{width:100%}.wordbook-redeem-dialog{grid-template-columns:1fr;padding:24px}.wordbook-redeem-ledger{grid-template-columns:1fr}.wordbook-redeem-ledger span{padding:9px 0;border-right:0;border-bottom:1px solid var(--library-line)}.wordbook-redeem-ledger span:last-child{border-bottom:0}}[data-theme=dark] .wordbook-redeem-dialog{background:#1b211e}@media(max-width:700px){.wordbook-shell{width:calc(100% - 28px);padding:62px 0 48px}.wordbook-hero{padding:20px 0 26px}.wordbook-hero h1{font-size:46px}.wordbook-hero-copy>p{margin-top:14px;font-size:14px;line-height:1.65}.wordbook-search{height:48px}.continue-panel{grid-template-columns:70px minmax(0,1fr);gap:15px;padding:14px}.continue-panel .editorial-cover.is-compact{width:70px}.continue-copy h2{font-size:20px}.continue-actions{grid-column:1 / -1;width:100%;flex-direction:row;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--library-line)}.continue-actions>strong{font-size:19px}.continue-actions button{min-height:38px}.start-panel{align-items:flex-start;gap:16px;padding:20px}.start-panel-mark{width:50px;height:50px;font-size:19px}.start-panel h2{font-size:20px;line-height:1.35}.wordbook-library{padding-top:40px}.library-toolbar{gap:18px;margin-bottom:16px}.library-toolbar h2{font-size:29px}.category-filter{width:100%;overflow-x:auto;scrollbar-width:none}.category-filter::-webkit-scrollbar{display:none}.category-filter button{flex:0 0 auto}.wordbook-grid{grid-template-columns:1fr;gap:12px}.wordbook-card{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:12px;border-radius:6px}.wordbook-card .editorial-cover{width:88px}.wordbook-card .editorial-cover-content{padding:8px 7px 8px 11px}.wordbook-card .editorial-cover-code{margin-top:10px;font-size:18px}.wordbook-card .editorial-cover-titles strong{font-size:8px}.wordbook-card .editorial-cover-titles span{font-size:5.5px}.wordbook-card h3{margin-top:7px;font-size:17px}.wordbook-description{min-height:auto;-webkit-line-clamp:1}.wordbook-facts{gap:4px 7px;margin-top:7px;font-size:9px}.wordbook-facts span:not(:last-child):after{margin-left:7px}.wordbook-card-action{margin-top:7px}}@media(prefers-reduced-motion:reduce){.wordbook-card,.wordbook-card-action span,.continue-actions button{transition:none}}.game-zone-page{--gz-ink: #191915;--gz-paper: #f4f1e9;--gz-card: rgba(255, 255, 255, .64);--gz-muted: #716e65;--gz-line: rgba(25, 25, 21, .14);--gz-orange: #e95d34;min-height:100vh;background:radial-gradient(circle at 7% 2%,rgba(233,93,52,.08),transparent 27rem),radial-gradient(circle at 96% 24%,rgba(37,99,235,.045),transparent 24rem),var(--gz-paper);color:var(--gz-ink);font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}.game-zone-nav{height:68px;padding:0 clamp(24px,5vw,72px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--gz-line)}.game-zone-brand{display:inline-flex;align-items:center;justify-self:start;gap:9px;color:var(--gz-ink);text-decoration:none;font-family:"Noto Serif SC",Georgia,serif;font-size:18px;font-weight:700}.game-zone-brand img{width:26px;height:26px;-o-object-fit:contain;object-fit:contain}.game-zone-dot{color:#2563eb}.game-zone-nav-label{display:flex;align-items:center;gap:9px;color:var(--gz-muted);font-size:9px;font-weight:700;letter-spacing:.15em}.game-zone-nav-label>span{width:7px;height:7px;border-radius:50%;background:#397a5b;box-shadow:0 0 0 4px #397a5b1a}.game-zone-back{justify-self:end;padding:5px 0;border-bottom:1px solid var(--gz-line);color:var(--gz-muted);font-size:12px;text-decoration:none}.game-zone-back:hover{color:var(--gz-ink);border-color:var(--gz-ink)}.game-zone-main{width:min(1280px,calc(100% - 64px));margin:0 auto;padding:42px 0 64px}.game-zone-hero{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(340px,1.15fr) auto;gap:clamp(30px,5vw,74px);align-items:end;padding:16px 0 46px;border-bottom:1px solid var(--gz-ink)}.game-zone-kicker{margin:0;color:#bd4827;font:700 9px/1.3 Arial,sans-serif;letter-spacing:.2em}.game-zone-hero h1{margin:9px 0 0;font:500 clamp(44px,5vw,68px)/1 Georgia,"Songti SC",serif;letter-spacing:-.055em}.game-zone-lead{max-width:510px;margin:0 0 2px;color:var(--gz-muted);font-size:14px;line-height:1.85}.game-zone-summary{display:flex;align-items:center;white-space:nowrap;border:1px solid var(--gz-line);border-radius:999px;background:#ffffff59;color:var(--gz-muted);font-size:10px}.game-zone-summary span{padding:10px 13px}.game-zone-summary span+span{border-left:1px solid var(--gz-line)}.game-zone-summary strong{color:var(--gz-orange);font-size:13px}.game-library{padding-top:38px}.game-library-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.game-library-header h2{margin:7px 0 0;font:500 28px/1.1 Georgia,Songti SC,serif}.game-library-header>p{margin:0 0 2px;color:#969083;font-size:10px;letter-spacing:.12em}.game-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-library-card,.game-coming-card{min-width:0;overflow:hidden;border:1px solid var(--gz-line);border-radius:18px;background:var(--gz-card);box-shadow:0 15px 36px #3831240b}.game-library-card{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.game-library-card:hover{transform:translateY(-3px);border-color:#1919153d;box-shadow:0 20px 42px #38312417}.game-card-cover{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 9;background:#d7b376}.game-card-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),transparent 35%,rgba(0,0,0,.14));pointer-events:none}.game-card-cover img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;transition:transform .45s ease}.game-library-card:hover .game-card-cover img{transform:scale(1.025)}.game-card-number,.game-card-status{position:absolute;z-index:1;top:14px;padding:7px 9px;border-radius:999px;color:#fff;font:700 8px/1 Arial,sans-serif;letter-spacing:.14em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-card-number{left:14px;background:#141411c2}.game-card-status{right:14px;background:#f4f1e9e0;color:var(--gz-ink)}.game-card-body{padding:22px}.game-card-eyebrow{margin:0 0 7px;color:#bd4827;font-size:9px;font-weight:700;letter-spacing:.14em}.game-card-body h3{margin:0;font:500 31px/1.1 Georgia,Songti SC,serif}.game-card-description{min-height:46px;margin:12px 0 18px;color:var(--gz-muted);font-size:12px;line-height:1.75}.game-card-meta{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 18px;padding:13px 0;border-top:1px solid var(--gz-line);border-bottom:1px solid var(--gz-line)}.game-card-meta div{min-width:0;padding:0 11px}.game-card-meta div:first-child{padding-left:0}.game-card-meta div+div{border-left:1px solid var(--gz-line)}.game-card-meta dt{margin-bottom:4px;color:#a09a8e;font-size:8px;letter-spacing:.1em}.game-card-meta dd{margin:0;overflow:hidden;color:var(--gz-ink);font-size:11px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.game-card-actions{display:grid;grid-template-columns:1fr 90px;gap:8px}.game-primary-action,.game-mini-action{min-height:44px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;font-size:11px;font-weight:700;text-decoration:none}.game-primary-action{justify-content:space-between;padding:0 16px;background:var(--gz-ink);color:#fff}.game-primary-action:hover{background:#32322d}.game-mini-action{border:1px solid var(--gz-line);background:#ffffff59;color:var(--gz-ink);cursor:pointer}.game-mini-action:hover{border-color:var(--gz-ink)}.mini-window-icon{position:relative;width:13px;height:11px;border:1px solid currentColor}.mini-window-icon:after{content:"";position:absolute;width:5px;height:4px;right:-4px;bottom:-4px;border:1px solid currentColor;background:var(--gz-paper)}.game-coming-card{position:relative;min-height:100%;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;border-style:dashed;background:radial-gradient(circle at 75% 20%,rgba(233,93,52,.11),transparent 32%),#ffffff4d}.coming-orbit{position:absolute;top:54px;left:50%;width:112px;height:112px;transform:translate(-50%);border:1px solid rgba(25,25,21,.17);border-radius:50%}.coming-orbit:before,.coming-orbit:after{content:"";position:absolute;border:1px solid rgba(25,25,21,.1);border-radius:50%}.coming-orbit:before{inset:18px}.coming-orbit:after{inset:39px;background:#e95d341f}.coming-orbit i{position:absolute;top:7px;left:18px;width:10px;height:10px;border-radius:50%;background:var(--gz-orange);box-shadow:0 0 0 5px #e95d341a}.game-coming-card h3{margin:10px 0 12px;font:500 28px/1.15 Georgia,Songti SC,serif}.game-coming-card>p:not(.game-zone-kicker){max-width:290px;margin:0;color:var(--gz-muted);font-size:12px;line-height:1.75}.coming-label{align-self:flex-start;margin-top:24px;padding:7px 10px;border:1px solid var(--gz-line);border-radius:999px;color:#918b80;font-size:9px;letter-spacing:.12em}.game-zone-footer{min-height:52px;padding:0 clamp(24px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--gz-line);color:#918b80;font:600 9px/1 Arial,sans-serif;letter-spacing:.14em}@media(max-width:1040px){.game-zone-hero{grid-template-columns:1fr 1fr}.game-zone-summary{width:-moz-fit-content;width:fit-content;grid-column:1 / -1}.game-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-coming-card{min-height:330px}}@media(max-width:720px){.game-zone-nav{height:58px;padding:0 16px;grid-template-columns:1fr 1fr}.game-zone-nav-label{display:none}.game-zone-main{width:calc(100% - 28px);padding:25px 0 44px}.game-zone-hero{grid-template-columns:1fr;gap:18px;padding:10px 3px 30px}.game-zone-hero h1{font-size:46px}.game-zone-lead{max-width:560px}.game-zone-summary{grid-column:auto;max-width:100%;overflow:hidden}.game-zone-summary span{flex:1;padding:9px 11px;text-align:center}.game-library{padding-top:28px}.game-library-grid{grid-template-columns:1fr;gap:14px}.game-library-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr)}.game-card-cover{aspect-ratio:auto;min-height:100%}.game-card-body{padding:18px}.game-card-body h3{font-size:27px}.game-card-description{min-height:auto;margin:9px 0 14px}.game-card-meta{margin-bottom:14px;padding:10px 0}.game-card-actions{grid-template-columns:1fr 76px}.game-primary-action,.game-mini-action{min-height:40px}.game-coming-card{min-height:280px;padding:28px}.coming-orbit{top:36px}}@media(max-width:520px){.game-zone-brand{font-size:16px}.game-zone-back{font-size:11px}.game-zone-hero h1{font-size:42px}.game-zone-lead{font-size:13px}.game-zone-summary span{padding:9px 8px;font-size:9px}.game-library-header>p{display:none}.game-library-card{display:block}.game-card-cover{aspect-ratio:16 / 8.3}.game-card-body{padding:19px}.game-card-description{font-size:11px}.game-card-actions{grid-template-columns:1fr 82px}.game-coming-card{min-height:300px}.game-zone-footer{padding:16px;justify-content:center}.game-zone-footer span:last-child{display:none}}@media(prefers-reduced-motion:reduce){.game-library-card,.game-card-cover img{transition:none}}.image-processor-workspace{gap:18px}.image-processor-privacy{border-radius:14px}.image-processor-upload-icon{color:#0891b2;background:#ecfeff}[data-theme=dark] .image-processor-upload-icon{background:#0891b229}.image-multi-dropzone:hover,.image-multi-dropzone.dragging{border-color:#0891b2;background:#0891b209}.image-batch-toolbar,.image-thumbnail-strip,.image-crop-panel,.image-settings-panel,.image-results-panel{background:var(--paper-color);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 10px 34px #0f172a09}.image-batch-toolbar{min-height:68px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.image-batch-toolbar strong,.image-batch-toolbar span{display:block}.image-batch-toolbar strong{font-size:14px}.image-batch-toolbar span{color:var(--text-secondary);font-size:11px}.image-toolbar-actions{display:flex;align-items:center;gap:8px}.image-thumbnail-strip{padding:12px;display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin}.image-thumbnail{position:relative;width:72px;height:62px;flex:0 0 auto;padding:3px;background:var(--bg-color);border:2px solid transparent;border-radius:11px}.image-thumbnail.active{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.image-thumbnail-select{position:relative;width:100%;height:100%;padding:0;display:block;background:transparent;border:0;cursor:pointer}.image-thumbnail-select img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:6px}.image-thumbnail-select>span{position:absolute;left:2px;bottom:2px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;color:#fff;background:#0f172abd;border-radius:5px;font-size:9px}.image-thumbnail-remove{position:absolute;z-index:1;top:-7px;right:-7px;width:22px;height:22px;padding:0;display:none;align-items:center;justify-content:center;color:#fff;background:#ef4444;border:2px solid var(--paper-color);border-radius:50%;cursor:pointer}.image-thumbnail:hover .image-thumbnail-remove,.image-thumbnail:focus-within .image-thumbnail-remove{display:flex}.image-processor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.8fr);gap:18px;align-items:start}.image-crop-panel,.image-settings-panel{overflow:hidden}.image-section-heading{height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.image-section-heading>div{display:flex;align-items:center;gap:8px}.image-section-heading>div svg{color:#0891b2}.image-section-heading strong{font-size:13px}.image-section-heading>span{color:var(--text-secondary);font:600 10px ui-monospace,SFMono-Regular,Menlo,monospace}.settings-reset{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);background:transparent;border:0;font-size:11px;cursor:pointer}.settings-reset:hover{color:var(--text-primary)}.image-crop-stage{min-height:520px;padding:24px;display:flex;align-items:center;justify-content:center;background:#e9e8e4;overflow:hidden}[data-theme=dark] .image-crop-stage{background:#0b1220}.image-crop-stage .ReactCrop{max-width:100%;max-height:510px}.image-crop-stage .ReactCrop__child-wrapper{max-height:510px}.image-crop-stage img{display:block;max-width:100%;max-height:510px;-o-object-fit:contain;object-fit:contain}.ReactCrop__crop-selection{border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 9999em #080f1e8c}.ReactCrop__drag-handle{background:#0891b2;border:2px solid white}.crop-ratio-row{padding:14px;display:flex;justify-content:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--border-color)}.crop-ratio-row button,.format-selector button,.size-preset-grid button{color:var(--text-secondary);background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:11px;font-weight:700}.crop-ratio-row button{min-width:50px;height:32px}.crop-ratio-row button:hover,.crop-ratio-row button.active,.format-selector button:hover,.format-selector button.active{color:#0e7490;background:#0891b214;border-color:#0891b280}.image-settings-panel{padding-bottom:18px}.image-setting-group{margin:0 18px;padding:18px 0;border-bottom:1px solid var(--border-color)}.image-setting-group>label,.setting-label-row label{display:block;margin-bottom:10px;color:var(--text-secondary);font-size:11px;font-weight:750}.setting-label-row{display:flex;align-items:center;justify-content:space-between}.setting-label-row strong{color:#0891b2;font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace}.format-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.format-selector button{height:38px}.quality-slider{width:100%;height:5px;accent-color:#0891b2;cursor:pointer}.quality-slider:disabled{opacity:.45}.slider-scale{margin-top:6px;display:flex;justify-content:space-between;color:var(--text-secondary);font-size:9px}.dimension-inputs{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:end;gap:8px}.dimension-inputs>div span{display:block;margin-bottom:5px;color:var(--text-secondary);font-size:9px}.dimension-inputs input{width:100%;height:40px;padding:0 10px;color:var(--text-primary);background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;outline:none;font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace}.dimension-inputs input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b214}.dimension-inputs>span,.dimension-inputs>em{padding-bottom:10px;color:var(--text-secondary);font-size:11px;font-style:normal}.keep-aspect-checkbox{margin:12px 0 0!important;display:flex!important;align-items:center;gap:7px;cursor:pointer}.keep-aspect-checkbox input{position:absolute;opacity:0;pointer-events:none}.keep-aspect-checkbox>span{width:17px;height:17px;display:flex;align-items:center;justify-content:center;color:transparent;border:1px solid var(--border-color);border-radius:5px}.keep-aspect-checkbox input:checked+span{color:#fff;background:#0891b2;border-color:#0891b2}.size-preset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.size-preset-grid button{min-height:34px;padding:4px 7px}.size-preset-grid button:hover{color:var(--text-primary);border-color:#0891b2}.image-process-button{width:calc(100% - 36px);min-height:46px;margin:18px 18px 0;background:#0891b2;border-color:#0891b2}.image-results-panel{padding:18px}.image-results-heading{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.image-results-heading strong,.image-results-heading span{display:block}.image-results-heading strong{font-size:16px}.image-results-heading span{color:var(--text-secondary);font-size:11px}.image-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-result-card{min-width:0;padding:9px;display:grid;grid-template-columns:64px minmax(0,1fr) 34px;align-items:center;gap:10px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px}.image-result-preview{width:64px;height:54px;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(45deg,#e5e7eb 25%,transparent 25%),linear-gradient(-45deg,#e5e7eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e7eb 75%),linear-gradient(-45deg,transparent 75%,#e5e7eb 75%);background-size:12px 12px;background-position:0 0,0 6px,6px -6px,-6px 0;border-radius:7px;overflow:hidden}.image-result-preview img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.image-result-info{min-width:0}.image-result-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.image-result-info span{display:block;margin-top:3px;color:var(--text-secondary);font-size:9px}.image-result-info em{display:inline-block;margin-top:4px;padding:2px 5px;color:#15803d;background:#22c55e1a;border-radius:4px;font-size:8px;font-style:normal}.image-result-info em.larger{color:#c2410c;background:#f973161a}.image-result-card>a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#0891b2;background:var(--paper-color);border:1px solid var(--border-color);border-radius:8px}@media(max-width:900px){.image-processor-layout{grid-template-columns:1fr}.image-crop-stage{min-height:420px}}@media(max-width:560px){.image-batch-toolbar{align-items:flex-start}.image-batch-toolbar>div:first-child span{display:none}.image-toolbar-actions .tool-secondary-button{padding:0 10px}.image-crop-stage{min-height:320px;padding:12px}.image-crop-stage .ReactCrop,.image-crop-stage .ReactCrop__child-wrapper,.image-crop-stage img{max-height:310px}.crop-ratio-row{gap:5px}.crop-ratio-row button{min-width:43px}.image-result-grid{grid-template-columns:1fr}.image-results-heading{align-items:flex-start;flex-direction:column}.image-results-heading .tool-primary-button{width:100%}}.tools-page{min-height:100vh;color:var(--text-primary);background:radial-gradient(circle at 12% 2%,rgba(37,99,235,.08),transparent 30%),radial-gradient(circle at 92% 30%,rgba(249,115,22,.07),transparent 26%),var(--bg-color)}.tools-nav{position:sticky;top:0;z-index:20;height:72px;padding:0 clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:space-between;background:rgba(var(--paper-color-rgb, 255, 255, 255),.78);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}[data-theme=dark] .tools-nav{background:#111827d1}.tools-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text-primary);font:700 20px "Noto Serif SC",serif;text-decoration:none}.tools-brand img{width:28px;height:28px;-o-object-fit:contain;object-fit:contain}.tools-brand span{color:var(--accent-color)}.tools-nav-actions{display:flex;align-items:center;gap:12px}.tools-nav-actions>a{color:var(--text-secondary);text-decoration:none;font-size:13px;font-weight:650}.tools-nav-actions>a:hover{color:var(--text-primary)}.tools-theme-button,.tool-icon-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);background:var(--paper-color);border:1px solid var(--border-color);border-radius:10px;cursor:pointer}.tools-back-home{height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;color:var(--text-primary)!important;background:var(--paper-color);border:1px solid var(--border-color);border-radius:10px}.tools-main{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:86px 0 64px}.tools-app-shell{width:min(1460px,calc(100% - 40px));margin:0 auto;padding:28px 0 64px;display:grid;grid-template-columns:264px minmax(0,1fr);gap:28px;align-items:start}.tools-sidebar{position:sticky;top:100px;min-height:calc(100vh - 128px);padding:18px 14px 14px;display:flex;flex-direction:column;background:var(--paper-color);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 14px 44px #0f172a0e}.tools-sidebar-heading{padding:9px 10px 20px;border-bottom:1px solid var(--border-color)}.tools-sidebar-heading span{color:var(--accent-color);font-size:9px;font-weight:850;letter-spacing:.18em}.tools-sidebar-heading strong{display:block;margin-top:5px;font:700 24px "Noto Serif SC",serif}.tools-sidebar-heading p{margin-top:5px;color:var(--text-secondary);font-size:11px}.tools-sidebar-list{min-height:0;padding:12px 0;display:flex;flex-direction:column;gap:5px;overflow-y:auto;scrollbar-width:thin}.tools-sidebar-item{width:100%;min-height:68px;padding:9px 10px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.tools-sidebar-item:hover{background:var(--bg-color);transform:translate(2px)}.tools-sidebar-item.active{background:var(--tool-bg);border-color:color-mix(in srgb,var(--tool-color) 28%,transparent)}.tools-sidebar-icon{width:38px;height:38px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--tool-color);background:var(--tool-bg);border-radius:10px}.tools-sidebar-item.active .tools-sidebar-icon{color:#fff;background:var(--tool-color)}.tools-sidebar-copy{min-width:0}.tools-sidebar-copy strong{display:block;font-size:12px}.tools-sidebar-copy small{display:-webkit-box;margin-top:3px;overflow:hidden;color:var(--text-secondary);font-size:9px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tools-sidebar-foot{margin-top:auto;padding:13px 8px 3px;display:flex;align-items:center;gap:7px;color:var(--text-secondary);border-top:1px solid var(--border-color);font-size:9px}.tools-sidebar-foot span{width:7px;height:7px;flex:0 0 auto;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px #22c55e1a}.tools-content{min-width:0}.tools-hero{max-width:760px;margin-bottom:62px}.tools-kicker,.tool-label{color:var(--accent-color);font-size:11px;font-weight:800;letter-spacing:.16em}.tools-hero h1{margin:14px 0 20px;font:700 clamp(46px,6vw,76px)/1.12 "Noto Serif SC",serif;letter-spacing:-.04em}.tools-hero h1 em{color:var(--text-secondary);font-style:normal;font-weight:500}.tools-hero p{max-width:620px;color:var(--text-secondary);font-size:17px}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}.tool-card{min-height:370px;padding:24px;text-align:left;color:var(--text-primary);background:var(--paper-color);border:1px solid var(--border-color);border-radius:22px;box-shadow:0 12px 40px #0f172a0a;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.tool-card:hover{transform:translateY(-7px);box-shadow:0 22px 54px #0f172a1a;border-color:var(--tool-color)}.tool-card-top{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:10px;font-weight:800;letter-spacing:.14em}.tool-card-icon{width:68px;height:68px;margin:68px 0 26px;display:flex;align-items:center;justify-content:center;color:var(--tool-color);background:var(--tool-bg);border-radius:20px}.tool-card h2{margin:0 0 10px;font:700 25px "Noto Serif SC",serif}.tool-card p{min-height:50px;color:var(--text-secondary);font-size:14px;line-height:1.75}.tool-card-action{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;color:var(--tool-color);border-top:1px solid var(--border-color);font-size:13px;font-weight:750}.tool-card-action span{font-size:18px}.tone-blue{--tool-color: #2563eb;--tool-bg: #eff6ff}.tone-violet{--tool-color: #7c3aed;--tool-bg: #f5f3ff}.tone-orange{--tool-color: #ea580c;--tool-bg: #fff7ed}.tone-cyan{--tool-color: #0891b2;--tool-bg: #ecfeff}.tone-rose{--tool-color: #e11d48;--tool-bg: #fff1f2}.tone-emerald{--tool-color: #059669;--tool-bg: #ecfdf5}.tone-amber{--tool-color: #d97706;--tool-bg: #fffbeb}.tone-indigo{--tool-color: #4f46e5;--tool-bg: #eef2ff}.tone-pink{--tool-color: #db2777;--tool-bg: #fdf2f8}[data-theme=dark] .tone-blue{--tool-bg: rgba(37, 99, 235, .16)}[data-theme=dark] .tone-violet{--tool-bg: rgba(124, 58, 237, .16)}[data-theme=dark] .tone-orange{--tool-bg: rgba(234, 88, 12, .16)}[data-theme=dark] .tone-cyan{--tool-bg: rgba(8, 145, 178, .16)}[data-theme=dark] .tone-rose{--tool-bg: rgba(225, 29, 72, .16)}[data-theme=dark] .tone-emerald{--tool-bg: rgba(5, 150, 105, .16)}[data-theme=dark] .tone-amber{--tool-bg: rgba(217, 119, 6, .16)}[data-theme=dark] .tone-indigo{--tool-bg: rgba(79, 70, 229, .16)}[data-theme=dark] .tone-pink{--tool-bg: rgba(219, 39, 119, .16)}.tools-footer-note{margin-top:32px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);font-size:12px}.tool-detail-header{position:relative;min-height:104px;margin-bottom:24px;padding:20px 24px;background:var(--paper-color);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 10px 34px #0f172a09}.tool-detail-back{margin-bottom:38px;display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:700}.tool-detail-back:hover{color:var(--text-primary)}.tool-detail-title{display:flex;align-items:center;gap:16px;color:var(--tool-color)}.tool-detail-title>svg{width:54px;height:54px;padding:14px;background:var(--tool-bg);border-radius:16px}.tool-detail-title span{font-size:10px;font-weight:850;letter-spacing:.16em}.tool-detail-title h1{margin:2px 0 0;color:var(--text-primary);font:700 38px "Noto Serif SC",serif}.tool-detail-header>p{margin:8px 0 0 70px;color:var(--text-secondary);font-size:13px}.tool-workspace{display:flex;flex-direction:column;gap:20px}.tool-panel,.json-editor-card,.privacy-note,.image-preview-card{background:var(--paper-color);border:1px solid var(--border-color);border-radius:18px;box-shadow:0 10px 34px #0f172a09}.tool-panel{padding:26px}.tool-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.current-time-card{display:flex;align-items:center;justify-content:space-between}.current-time-card strong{display:block;margin-top:5px;font:700 34px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.03em}.current-time-card p{color:var(--text-secondary);font-size:13px}.current-time-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:9px;flex-wrap:wrap}.timezone-select-field{min-width:250px}.timezone-select-field>span{margin:0 0 6px 2px;display:flex;align-items:center;gap:5px;color:var(--text-secondary);font-size:10px;font-weight:700}.timezone-select-field select{width:100%;height:40px;padding:0 34px 0 11px;color:var(--text-primary);color-scheme:light dark;background-color:var(--paper-color);border:1px solid var(--border-color);border-radius:10px;outline:none;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}.timezone-select-field select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2563eb1a}.timezone-device-button{min-height:40px}.tool-panel-heading{min-height:54px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tool-panel-heading h3{margin:3px 0 0;font-size:18px}.local-badge{padding:5px 9px;color:var(--text-secondary);background:var(--bg-color);border-radius:999px;font-size:10px;white-space:nowrap}.tool-input-row{display:flex;gap:9px;margin-top:20px}.tool-text-input{width:100%;min-width:0;height:46px;padding:0 14px;color:var(--text-primary);background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;outline:none;font:500 14px ui-monospace,SFMono-Regular,Menlo,monospace}.tool-text-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2563eb1a}.tool-text-input.invalid{border-color:#ef4444}.tool-date-input{margin-top:20px}.timezone-input-hint{margin:5px 0 -11px;color:var(--text-secondary);font-size:10px}.timestamp-now-button{min-height:34px;padding:0 11px}.tool-secondary-button,.tool-primary-button,.tool-copy-button{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer;text-decoration:none}.tool-secondary-button,.tool-copy-button{color:var(--text-primary);background:var(--paper-color);border:1px solid var(--border-color)}.tool-primary-button{color:#fff;background:var(--accent-color);border:1px solid var(--accent-color)}.tool-secondary-button:hover,.tool-copy-button:hover{border-color:var(--accent-color)}.tool-primary-button:hover{filter:brightness(.92)}.tool-secondary-button:disabled,.tool-primary-button:disabled,.tool-copy-button:disabled{opacity:.48;cursor:not-allowed}.tool-copy-button{min-height:34px;padding:0 11px}.tool-error{margin-top:9px;color:#dc2626;font-size:12px}.tool-error.centered{text-align:center}.timestamp-results{margin-top:20px;display:flex;flex-direction:column;gap:9px}.timestamp-result{min-height:59px;padding:10px 10px 10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:11px}.timestamp-result span{display:block;color:var(--text-secondary);font-size:10px}.timestamp-result code{display:block;margin-top:2px;color:var(--text-primary);font:500 12px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}.timestamp-result.large code{font-size:16px;font-weight:700}.json-toolbar{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.json-status{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:8px;height:8px;flex:0 0 auto;background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px #22c55e1a}.status-dot.error{background:#ef4444;box-shadow:0 0 0 4px #ef44441a}.status-dot.idle{background:#94a3b8;box-shadow:0 0 0 4px #94a3b81f}.json-actions{display:flex;gap:8px}.json-editors{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.json-editor-card{position:relative;min-width:0;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.json-editor-card:before{position:absolute;inset:0 0 auto;z-index:1;height:3px;content:"";background:linear-gradient(90deg,#7c3aed,#a78bfa);opacity:.8}.json-editor-card.output:before{background:linear-gradient(90deg,#2563eb,#06b6d4)}.json-editor-card:focus-within{border-color:color-mix(in srgb,#7c3aed 46%,var(--border-color));box-shadow:0 14px 42px #7c3aed17}.json-editor-card.output{border-color:color-mix(in srgb,#2563eb 20%,var(--border-color))}.json-editor-heading{min-height:50px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-secondary);background:color-mix(in srgb,var(--paper-color) 92%,#f8fafc);border-bottom:1px solid var(--border-color);font-size:11px;font-weight:700}.json-editor-title{display:inline-flex;align-items:center;gap:8px;color:var(--text-primary)}.json-heading-dot{width:7px;height:7px;background:#8b5cf6;border-radius:50%;box-shadow:0 0 0 4px #8b5cf61a}.json-heading-dot.output{background:#0ea5e9;box-shadow:0 0 0 4px #0ea5e91a}.json-editor-card textarea{width:100%;height:470px;padding:20px;resize:vertical;color:var(--text-primary);background:transparent;border:0;outline:none;font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.json-editor-card textarea::-moz-selection{color:var(--text-primary);background:#7c3aed2e}.json-editor-card textarea::selection{color:var(--text-primary);background:#7c3aed2e}.json-result-heading-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.json-heading-divider{width:1px;height:17px;margin:0 1px;background:var(--border-color)}.json-heading-button{min-height:26px;padding:0 7px;display:inline-flex;align-items:center;gap:3px;color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:7px;cursor:pointer;font-size:10px;font-weight:700}.json-heading-button:hover:not(:disabled){color:#2563eb;background:#2563eb12;border-color:#2563eb24}.json-heading-button:disabled{opacity:.35;cursor:not-allowed}.json-tree-scroll{height:470px;overflow:auto;background:linear-gradient(135deg,rgba(37,99,235,.025),transparent 42%),var(--paper-color);scrollbar-color:rgba(100,116,139,.32) transparent}.json-tree{min-width:-moz-max-content;min-width:max-content;min-height:100%;padding:16px 14px 24px 0;color:var(--text-primary);font:13px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.json-tree-row{min-height:24px;padding-right:18px;display:flex;align-items:center;white-space:pre;border-radius:5px}.json-tree-row:hover{background:#94a3b814}.json-fold-button,.json-fold-spacer{width:19px;height:20px;margin-right:2px;flex:0 0 19px}.json-fold-button{padding:0;display:inline-flex;align-items:center;justify-content:center;color:#64748b;background:transparent;border:0;border-radius:5px;cursor:pointer}.json-fold-button:hover{color:#2563eb;background:#2563eb1a}.json-token.key{color:#7c3aed;font-weight:650}.json-token.string{color:#059669}.json-token.number{color:#d97706}.json-token.boolean{color:#2563eb;font-weight:650}.json-token.null{color:#e11d48;font-style:italic}.json-token.punctuation{color:#64748b}.json-collapsed-ellipsis{margin:0 5px;color:#94a3b8;letter-spacing:.1em}.json-item-count{margin-right:5px;padding:0 6px;color:#64748b;background:#94a3b81f;border:1px solid rgba(148,163,184,.16);border-radius:999px;font:650 9px/18px ui-sans-serif,system-ui,sans-serif}.json-empty-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-secondary);background:linear-gradient(135deg,rgba(37,99,235,.025),transparent 42%);font-size:11px}.json-empty-state svg{color:#93c5fd}[data-theme=dark] .json-editor-heading{background:#0f172a52}[data-theme=dark] .json-tree-scroll{background:linear-gradient(135deg,rgba(59,130,246,.07),transparent 42%),var(--paper-color)}[data-theme=dark] .json-token.key{color:#c4b5fd}[data-theme=dark] .json-token.string{color:#6ee7b7}[data-theme=dark] .json-token.number{color:#fbbf24}[data-theme=dark] .json-token.boolean{color:#60a5fa}[data-theme=dark] .json-token.null{color:#fb7185}[data-theme=dark] .json-token.punctuation{color:#94a3b8}.tool-keyboard-hint,.model-note{color:var(--text-secondary);text-align:center;font-size:11px}.privacy-note{padding:14px 18px;display:flex;align-items:center;gap:12px}.privacy-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:#16a34a;background:#22c55e1a;border-radius:11px}.privacy-note strong,.privacy-note span{display:block}.privacy-note strong{font-size:13px}.privacy-note span{color:var(--text-secondary);font-size:11px}.upload-dropzone{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--paper-color);border:1.5px dashed var(--border-color);border-radius:22px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}.upload-dropzone:hover,.upload-dropzone.dragging{border-color:#ea580c;background:#ea580c09;transform:translateY(-2px)}.upload-icon{width:68px;height:68px;margin-bottom:22px;display:flex;align-items:center;justify-content:center;color:#ea580c;background:#fff7ed;border-radius:20px}[data-theme=dark] .upload-icon{background:#ea580c29}.upload-dropzone h3{margin-bottom:8px;font:700 21px "Noto Serif SC",serif}.upload-dropzone p{color:var(--text-secondary);font-size:13px}.upload-dropzone>span{margin-top:18px;color:var(--text-secondary);font-size:10px}.background-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.image-preview-card{overflow:hidden}.image-preview-heading{height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:11px;font-weight:700}.image-preview-stage{height:430px;padding:20px;display:flex;align-items:center;justify-content:center;background:#f0efec;overflow:hidden}[data-theme=dark] .image-preview-stage{background:#0b1220}.image-preview-stage.checkerboard{background-color:#fff;background-image:linear-gradient(45deg,#e5e7eb 25%,transparent 25%),linear-gradient(-45deg,#e5e7eb 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e7eb 75%),linear-gradient(-45deg,transparent 75%,#e5e7eb 75%);background-size:22px 22px;background-position:0 0,0 11px,11px -11px,-11px 0}.image-preview-stage img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.result-canvas{display:block;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.result-canvas.erasing{cursor:crosshair;touch-action:none}.processing-placeholder{max-width:230px;color:#64748b;text-align:center}.processing-placeholder svg{margin:0 auto 12px}.processing-placeholder p{font-size:12px}.background-actions{display:flex;justify-content:center;gap:10px}.background-edit-toolbar{margin-top:-8px;padding:12px 14px;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;background:var(--paper-color);border:1px solid var(--border-color);border-radius:14px}.background-edit-toolbar .tool-secondary-button.active{color:#ea580c;background:#ea580c14;border-color:#ea580c8c}.eraser-size-control{min-width:180px;display:flex;align-items:center;gap:9px;color:var(--text-secondary);font-size:10px}.eraser-size-control span{width:62px;flex:0 0 auto}.eraser-size-control input{width:110px;accent-color:#ea580c}.eraser-hint{color:var(--text-secondary);font-size:10px}.spinning{animation:tool-spin .9s linear infinite}@keyframes tool-spin{to{transform:rotate(360deg)}}@media(max-width:820px){.tools-app-shell{width:min(calc(100% - 28px),1160px);padding-top:18px;grid-template-columns:minmax(0,1fr);gap:18px}.tools-sidebar{position:static;min-width:0;min-height:0;padding:10px}.tools-sidebar-heading{display:none}.tools-sidebar-list{padding:0;flex-direction:row;gap:8px;overflow-x:auto;scrollbar-width:none}.tools-sidebar-list::-webkit-scrollbar{display:none}.tools-sidebar-item{width:auto;min-width:-moz-max-content;min-width:max-content;min-height:48px;padding:5px 11px 5px 6px;flex:0 0 auto}.tools-sidebar-item:hover{transform:none}.tools-sidebar-icon{width:36px;height:36px}.tools-sidebar-copy strong{font-size:11px}.tools-sidebar-copy small,.tools-sidebar-foot{display:none}.tools-main{padding-top:52px}.tools-grid,.tool-two-column,.json-editors,.background-preview-grid{grid-template-columns:1fr}.tool-card{min-height:300px}.tool-card-icon{margin-top:42px}.json-editor-card textarea,.json-tree-scroll,.image-preview-stage{height:360px}}@media(max-width:560px){.tools-nav{height:62px;padding:0 16px}.tools-nav-actions>a:first-child{display:none}.tools-back-home{padding:0 10px!important}.tools-brand{font-size:17px}.tools-main{width:min(100% - 28px,1160px);padding-top:38px}.tool-detail-header{min-height:0;padding:16px}.tool-detail-title>svg{width:46px;height:46px;padding:12px}.tools-hero{margin-bottom:38px}.tools-hero h1{font-size:42px}.tools-hero p{font-size:14px}.tool-detail-back{margin-bottom:28px}.tool-detail-title h1{font-size:30px}.tool-detail-header>p{margin:8px 0 0}.current-time-card{align-items:flex-start;gap:12px}.current-time-card strong{font-size:25px}.current-time-card{flex-direction:column}.current-time-actions{width:100%;justify-content:flex-start}.timezone-select-field{width:100%;min-width:0}.json-toolbar{align-items:flex-start;flex-direction:column}.json-actions{width:100%;flex-wrap:wrap}.json-editor-heading{min-height:54px;padding:8px 12px;align-items:flex-start;flex-direction:column}.json-result-heading-actions{width:100%;justify-content:flex-start;gap:5px;white-space:normal}.json-result-heading-actions>span:first-child{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.json-heading-button{flex:0 0 auto;white-space:nowrap}.json-heading-divider{display:none}.json-heading-button{padding:0 4px}.image-preview-stage{height:300px}.background-edit-toolbar{align-items:stretch}.eraser-size-control{order:5;width:100%;justify-content:center}.eraser-hint{order:6;width:100%;text-align:center}}.sentence-study-panel{--study-tone: #2563eb;display:block;width:clamp(500px,34vw,590px);height:calc(100dvh - 128px);max-height:860px;position:fixed;top:80px;right:max(20px,calc((100vw - 1600px)/2 + 20px));margin:0;padding:0 0 28px 26px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;color:var(--text-primary);background:transparent;border:0;border-left:3px double color-mix(in srgb,var(--text-primary) 30%,var(--border-color));border-radius:0;box-shadow:none;font-family:Inter,system-ui,sans-serif;line-height:normal;z-index:50}.sentence-study-mobile-close,.mobile-study-launcher{display:none}.sentence-study-panel::-webkit-scrollbar{width:5px}.sentence-study-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-secondary) 28%,transparent);border-radius:99px}.sentence-study-header,.sentence-study-brand,.sentence-study-header-actions,.study-word-line{display:flex;align-items:center}.sentence-study-header{min-height:64px;padding:0 0 13px;justify-content:space-between;gap:16px;border-bottom:3px double color-mix(in srgb,var(--text-primary) 42%,var(--border-color))}.sentence-study-brand{gap:11px}.sentence-study-logo{width:34px;height:34px;display:grid;place-items:center;color:var(--text-primary);background:transparent;border:1px solid color-mix(in srgb,var(--text-primary) 60%,var(--border-color));border-radius:50%;box-shadow:none}.sentence-study-brand small{display:block;color:var(--accent-color);font:800 9px/1.2 Inter,sans-serif;letter-spacing:.16em}.sentence-study-brand strong{display:block;margin-top:3px;font:700 19px/1.2 "Noto Serif SC",Georgia,serif}.sentence-study-header-actions{gap:9px}.sentence-study-progress{padding:0;color:var(--text-secondary);background:transparent;border:0;border-radius:0;font:700 12px/1.2 Georgia,serif}.sentence-study-header-actions button{min-height:30px;padding:0 2px 1px;display:inline-flex;align-items:center;gap:6px;color:var(--accent-color);background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent-color) 35%,var(--border-color));border-radius:0;cursor:pointer;font-size:11px;font-weight:750}.sentence-study-header-actions .study-follow-button{color:#b45309;background:transparent;border-color:#d97706}[data-theme=dark] .sentence-study-header-actions .study-follow-button{color:#fbbf24;background:transparent;border-color:#fbbf2447}.sentence-study-navigation{margin:0 0 19px;padding:9px 0;display:grid;grid-template-columns:1fr minmax(120px,.72fr) 1fr;gap:0;border-bottom:1px solid color-mix(in srgb,var(--text-primary) 28%,var(--border-color))}.sentence-study-navigation button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--text-primary);background:transparent;border:0;border-right:1px solid var(--border-color);border-radius:0;cursor:pointer;font-size:12px;font-weight:750;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.sentence-study-navigation button:hover:not(:disabled){color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 5%,transparent);transform:none;box-shadow:none}.sentence-study-navigation button:last-child{border-right:0}.sentence-study-navigation button:disabled{opacity:.38;cursor:not-allowed}.sentence-study-navigation .study-pause-button{color:#fff;background:var(--text-primary);border-color:var(--text-primary);box-shadow:none}.sentence-study-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px 24px}.study-section{--study-tone: #2563eb;min-width:0;padding-top:15px;border-top:2px solid color-mix(in srgb,var(--study-tone) 35%,var(--border-color))}.study-section.wide{grid-column:1 / -1}.study-section.tone-amber{--study-tone: #d97706}.study-section.tone-violet{--study-tone: #7c3aed}.study-section.tone-green{--study-tone: #059669}.study-section h3{margin:0 0 13px;display:flex;align-items:center;gap:8px;color:var(--text-primary);font:750 13px/1.3 Inter,sans-serif}.study-section h3>span{width:22px;height:22px;display:grid;place-items:center;color:var(--study-tone);background:transparent;border-radius:0}.study-inline-translation{margin:12px 0 4px;padding:10px 12px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:10px;background:color-mix(in srgb,#2563eb 8%,var(--paper-color));border-left:3px solid #2563eb}.study-inline-translation>span{padding-top:2px;display:inline-flex;align-items:center;gap:5px;color:#1d4ed8;font-size:10px;font-weight:850;white-space:nowrap}.study-inline-translation>strong{color:var(--text-primary);font-size:14px;font-weight:750;line-height:1.65}[data-theme=dark] .study-inline-translation>span{color:#93c5fd}.study-original-sentence{color:var(--text-secondary);font:650 17px/1.9 Georgia,Times New Roman,serif;letter-spacing:.005em}.study-sentence-segment{padding:2px 3px 3px;color:var(--segment-color);background:color-mix(in srgb,var(--segment-color) 9%,transparent);border-bottom:2px solid color-mix(in srgb,var(--segment-color) 72%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone}.study-sentence-segment.is-backbone{font-weight:800}.study-original-sentence .is-discarded{padding-inline:2px;color:color-mix(in srgb,var(--text-secondary) 68%,transparent);background:transparent;border-bottom:0;text-decoration-line:line-through;text-decoration-color:color-mix(in srgb,var(--text-secondary) 72%,transparent);text-decoration-thickness:2px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;font-weight:500}.study-original-hint{margin-top:9px;display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--text-secondary);font-size:9px;font-weight:700}.study-original-hint span:before{content:"";width:14px;display:inline-block;margin-right:5px;vertical-align:middle}.study-original-hint .hint-backbone:before{border-bottom:3px solid #2563eb}.study-original-hint .hint-discarded:before{border-bottom:2px solid color-mix(in srgb,var(--text-secondary) 60%,transparent)}.segment-blue{--segment-color: #2563eb}.segment-rose{--segment-color: #db2777}.segment-amber{--segment-color: #c26a08}.segment-violet{--segment-color: #7c3aed}.segment-teal{--segment-color: #087f75}.segment-indigo{--segment-color: #4f46e5}.study-reading-path{margin-top:16px;display:grid;gap:12px}.study-guide-block{display:grid;grid-template-columns:116px minmax(0,1fr);align-items:baseline;gap:12px}.study-guide-block>span,.study-trace-title{color:var(--text-secondary);font-size:10px;font-weight:850;letter-spacing:.035em}.study-guide-block>strong{font-size:12px;line-height:1.6}.study-guide-meaning>strong{color:var(--text-primary)}.study-guide-skeleton{padding:10px 0;border-top:1px dotted color-mix(in srgb,#2563eb 32%,var(--border-color));border-bottom:1px dotted color-mix(in srgb,#2563eb 32%,var(--border-color))}.study-guide-skeleton>strong{color:#1d4ed8;font-family:Georgia,Times New Roman,serif}.study-structure-trace{padding-top:2px}.study-trace-title{margin-bottom:10px}.study-trace-item{position:relative;padding:0 0 13px 24px}.study-trace-item:before{content:"";position:absolute;left:6px;top:7px;bottom:-2px;width:1px;background:color-mix(in srgb,var(--segment-color) 45%,var(--border-color))}.study-trace-item:after{content:"";position:absolute;left:2px;top:5px;width:9px;height:9px;background:var(--paper-color);border:2px solid var(--segment-color);border-radius:50%;box-sizing:border-box}.study-trace-item:last-child{padding-bottom:2px}.study-trace-item:last-child:before{display:none}.study-trace-head{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:8px}.study-trace-head>span{color:var(--segment-color);font-size:10px;font-weight:850}.study-trace-head>strong{color:var(--text-primary);font:650 12px/1.5 Georgia,Times New Roman,serif}.study-trace-item>p{margin:4px 0 0;color:var(--text-secondary);font-size:10px;line-height:1.55}.study-pattern-explanations{margin-top:15px;padding-top:12px;display:grid;gap:10px;border-top:1px dotted color-mix(in srgb,#7c3aed 38%,var(--border-color))}.study-pattern-heading{color:var(--text-secondary);font-size:11px;font-weight:800;letter-spacing:.04em}.study-pattern-item{padding-left:11px;border-left:3px solid #7c3aed}.study-pattern-item>strong{display:block;color:#6d28d9;font-size:12px;line-height:1.45}.study-pattern-item>div{margin-top:4px;color:var(--text-primary);font-size:11px;line-height:1.65}.study-pattern-item>small{display:block;margin-top:4px;color:var(--text-secondary);font-size:10px;line-height:1.55}.study-vocabulary-list,.study-grammar-list{display:grid;gap:10px}.study-vocabulary-item,.study-grammar-item{padding:10px 0;background:transparent;border:0;border-top:1px dotted color-mix(in srgb,var(--text-primary) 24%,var(--border-color));border-radius:0}.study-vocabulary-item:first-child,.study-grammar-item:first-child{border-top:0;padding-top:0}.study-word-line{gap:7px;flex-wrap:wrap}.study-word-line strong{color:var(--study-tone);font:750 14px/1.35 Georgia,serif}.study-word-line span{color:var(--text-secondary);font:500 10px/1.35 Inter,sans-serif}.study-word-line em{padding:2px 5px;color:var(--text-secondary);background:transparent;border-radius:0;font: 700 9px/1.4 Inter,sans-serif}.study-item-copy{margin-top:6px;font-size:12px;line-height:1.55}.study-vocabulary-item small,.study-grammar-item small{display:block;margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.5}.study-exam-note{margin-top:7px;color:#b45309;font-size:10px;font-weight:650}.study-grammar-item>div:not(.study-audience-tags){margin-top:5px;color:var(--text-secondary);font-size:11px;line-height:1.55}.study-grammar-list{grid-template-columns:repeat(2,minmax(0,1fr))}.study-grammar-item strong{color:var(--study-tone);font-size:12px}.study-tip{padding:9px 0;display:flex;align-items:flex-start;gap:8px;color:var(--text-secondary);background:transparent;border-top:1px solid color-mix(in srgb,var(--study-tone) 18%,var(--border-color));border-radius:0;font-size:11px;line-height:1.55}.study-tip>span{flex:0 0 auto;color:var(--study-tone);font-size:9px;font-weight:900;letter-spacing:.06em}.sentence-study-empty{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary);text-align:center;font-size:12px}.sentence-study-empty strong{color:var(--text-primary);font-size:14px}.sentence-study-loading{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sentence-study-loading span{height:112px;border-radius:12px;background:linear-gradient(90deg,var(--bg-color),color-mix(in srgb,var(--accent-color) 8%,var(--paper-color)),var(--bg-color));background-size:220% 100%;animation:studyShimmer 1.4s linear infinite}@keyframes studyShimmer{to{background-position:-220% 0}}[data-theme=dark] .sentence-study-panel{box-shadow:none}@media(min-width:1180px){.app-container:has(.sentence-study-panel){width:min(100%,1600px);margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:minmax(0,1fr) clamp(500px,34vw,590px);align-items:start;justify-content:space-between;gap:24px}.app-container:has(.sentence-study-panel) .reading-area{width:100%;min-width:0;max-width:none}body:has(.sentence-study-panel) .bottom-player{width:min(640px,calc(100vw - clamp(500px,34vw,590px) - 84px));left:calc((100vw - clamp(500px,34vw,590px) - 24px)/2)}}@media(min-width:1600px){body:has(.sentence-study-panel) .bottom-player{left:calc((100vw - 1600px)/2 + 493px)}}@media(min-width:769px)and (max-width:1179px){.app-container:has(.sentence-study-panel){flex-direction:column}.sentence-study-panel{width:min(760px,calc(100vw - 32px));height:auto;max-height:none;position:static;margin:24px auto 130px;overflow:visible}}@media(max-width:768px){.app-container:has(.sentence-study-panel){display:block;width:100%;max-width:none;padding:22px 16px 128px}.app-container:has(.sentence-study-panel) .reading-area,.app-container:has(.sentence-study-panel) .paper-content{width:100%;min-width:0;max-width:none}.sentence-study-panel{width:100%;height:100dvh;max-height:none;position:fixed;inset:0;margin:0;padding:calc(14px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:var(--paper-color);border:0;border-radius:0;box-shadow:none;z-index:1300;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px);transition:opacity .2s ease,transform .24s ease,visibility .2s ease}.sentence-study-panel.mobile-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}body:has(.sentence-study-panel.mobile-open){overflow:hidden}.sentence-study-mobile-close{min-height:36px;margin:0 0 10px auto;padding:0 11px;display:inline-flex;align-items:center;gap:5px;color:var(--text-primary);background:color-mix(in srgb,var(--text-primary) 5%,transparent);border:1px solid var(--border-color);border-radius:999px;font-size:12px;font-weight:750}.mobile-study-launcher{position:fixed;right:14px;bottom:calc(88px + env(safe-area-inset-bottom));min-width:116px;min-height:48px;padding:7px 11px;display:grid;grid-template-columns:1fr auto;align-items:center;-moz-column-gap:9px;column-gap:9px;color:#fff;background:#171717;border:1px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 10px 28px #00000038;z-index:1100}.mobile-study-launcher.is-hidden{display:none}.mobile-study-launcher span{grid-column:1;color:#93b4ff;font-size:9px;font-weight:850;letter-spacing:.12em}.mobile-study-launcher strong{grid-column:1;font-size:14px;line-height:1.15}.mobile-study-launcher small{grid-column:2;grid-row:1 / span 2;color:#ffffffb8;font-size:11px;font-weight:750}.sentence-study-header{min-height:58px;align-items:center;gap:10px}.sentence-study-brand{min-width:0}.sentence-study-brand strong{font-size:18px}.sentence-study-header-actions{margin-left:auto;gap:8px}.sentence-study-header-actions .study-follow-button{display:none}.sentence-study-header-actions button{width:34px;min-width:34px;min-height:34px;padding:0;justify-content:center;overflow:hidden;color:transparent;border:1px solid var(--border-color);border-radius:50%}.sentence-study-header-actions button svg{color:var(--accent-color);flex:0 0 auto}.sentence-study-progress{white-space:nowrap}.sentence-study-navigation{grid-template-columns:1fr .9fr 1fr;gap:7px}.sentence-study-navigation button{min-width:0;padding:0 6px;font-size:12px}.sentence-study-content,.study-grammar-list{grid-template-columns:1fr}.study-section.wide{grid-column:auto}.sentence-study-loading{grid-template-columns:1fr}.study-original-sentence{font-size:21px;line-height:1.62}}.membership-preview-gate{position:fixed;z-index:900;inset:43% 0 0;padding:0 24px 138px;min-width:0;max-width:100%;display:flex;align-items:flex-end;justify-content:center;overflow-x:clip;background:linear-gradient(180deg,#f9f8f600,#f9f8f6cc 24%,#f6f1e7fa 68%,#f6f1e7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto;animation:membershipGateReveal .34s cubic-bezier(.22,1,.36,1) both}@keyframes membershipGateReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.membership-preview-gate-surface{width:100%;min-width:0;max-width:1180px;min-height:164px;padding:22px 24px;display:grid;grid-template-columns:minmax(330px,1.25fr) minmax(225px,.72fr) minmax(315px,1fr);align-items:center;gap:22px;color:#28241f;background:radial-gradient(circle at 4% 0%,rgba(205,168,105,.2),transparent 32%),radial-gradient(circle at 96% 100%,rgba(61,94,119,.12),transparent 30%),#fffdf8f0;border:1px solid rgba(137,105,57,.24);border-radius:24px;box-shadow:0 24px 72px #483a2429,inset 0 1px #ffffffe6;-webkit-backdrop-filter:blur(22px) saturate(135%);backdrop-filter:blur(22px) saturate(135%)}.membership-preview-gate-copy{display:flex;align-items:center;gap:16px}.membership-preview-gate-seal{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;color:#735426;background:linear-gradient(145deg,#fffaf0,#ead8b8);border:1px solid rgba(132,94,39,.2);border-radius:50%;box-shadow:0 9px 22px #71501e24,inset 0 0 0 5px #ffffff73}.membership-preview-gate-kicker,.membership-preview-purchase>span,.membership-preview-activation>span{display:flex;align-items:center;gap:6px;color:#8b642b;font:800 10px/1.2 Inter,sans-serif;letter-spacing:.11em}.membership-preview-gate-copy h2{margin:6px 0 5px;color:#27221d;font:750 clamp(21px,2vw,27px)/1.25 "Noto Serif SC",Georgia,serif;letter-spacing:-.02em}.membership-preview-gate-copy p{margin:0;color:#71685d;font:400 12px/1.55 Inter,Noto Sans SC,sans-serif}.membership-preview-purchase,.membership-preview-activation{min-width:0;display:grid;gap:9px}.membership-preview-purchase{padding:0 22px;border-right:1px solid rgba(126,100,59,.16);border-left:1px solid rgba(126,100,59,.16)}.membership-preview-purchase button{min-height:48px;padding:8px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;color:#23563d;background:#ebf7efdb;border:1px solid rgba(52,125,82,.22);border-radius:13px;cursor:pointer}.membership-preview-purchase button small{grid-column:1;color:#64806f;font-size:10px}.membership-preview-purchase button strong{grid-column:1;font-size:15px;letter-spacing:.04em}.membership-preview-purchase button svg{grid-column:2;grid-row:1 / 3}.membership-preview-purchase>small,.membership-preview-activation>small{min-height:17px;margin:0;display:flex;align-items:center;gap:5px;color:#8b8174;font:400 10px/1.45 Inter,Noto Sans SC,sans-serif}.membership-preview-activation form{min-height:48px;display:flex;gap:8px}.membership-preview-activation input{width:100%;min-width:0;padding:0 13px;color:#2d2a26;background:#fffc;border:1px solid rgba(126,100,59,.22);border-radius:12px;outline:none;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}.membership-preview-activation input:focus{border-color:#8b642b;box-shadow:0 0 0 3px #8b642b1a}.membership-preview-activation form button,.membership-preview-login{min-height:48px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;color:#fff;background:linear-gradient(135deg,#19364b,#294f68);border:1px solid rgba(16,45,64,.2);border-radius:12px;box-shadow:0 9px 22px #19364b2e;cursor:pointer;font-weight:750}.membership-preview-login{width:100%}.membership-preview-activation form button:disabled{opacity:.52;cursor:not-allowed}.membership-preview-error{color:#b42318!important}body.membership-preview-gate-visible .sentence-study-panel{overflow:hidden}@media(max-width:1100px){.membership-preview-gate{inset:38% 0 0}.membership-preview-gate-surface{grid-template-columns:1fr 1fr;max-width:820px}.membership-preview-gate-copy{grid-column:1 / -1}.membership-preview-purchase{padding-left:0;border-left:0}}@media(max-width:700px){.membership-preview-gate{inset:25% 0 0;padding:0 max(12px,env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));align-items:stretch}.membership-preview-gate-surface{width:auto;min-width:0;max-width:none;max-height:calc(75dvh - 100px);padding:18px;grid-template-columns:1fr;gap:15px;overflow-y:auto;border-radius:20px}.membership-preview-gate-copy{min-width:0;grid-column:auto}.membership-preview-gate-copy>div{min-width:0}.membership-preview-gate-seal{width:44px;height:44px}.membership-preview-gate-copy h2{font-size:20px}.membership-preview-purchase{padding:14px 0;border:0;border-top:1px solid rgba(126,100,59,.16);border-bottom:1px solid rgba(126,100,59,.16)}.membership-preview-activation form{flex-direction:column}.membership-preview-activation form button{min-height:44px}}[data-theme=dark] .membership-preview-gate{background:linear-gradient(180deg,#11182700,#111827db 26%,#171a20 75%)}[data-theme=dark] .membership-preview-gate-surface{color:#f4efe7;background:radial-gradient(circle at 5% 0%,rgba(202,163,94,.14),transparent 34%),#1c1d1ff2;border-color:#debe8438}[data-theme=dark] .membership-preview-gate-copy h2{color:#fffaf1}[data-theme=dark] .membership-preview-gate-copy p,[data-theme=dark] .membership-preview-purchase>small,[data-theme=dark] .membership-preview-activation>small{color:#b7aea2}[data-theme=dark] .membership-preview-activation input{color:#f8f4ec;background:#ffffff12}
