@import"https://fonts.googleapis.com/css2?family=Quicksand:wght@400;500;600;700&display=swap";/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-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;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-\[-12\%\]{top:-12%}.top-\[15\%\]{top:15%}.top-\[40\%\]{top:40%}.right-\[-12\%\]{right:-12%}.right-\[5\%\]{right:5%}.bottom-\[-12\%\]{bottom:-12%}.bottom-\[20\%\]{bottom:20%}.left-1\/2{left:50%}.left-\[-8\%\]{left:-8%}.left-\[10\%\]{left:10%}.left-\[15\%\]{left:15%}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.mt-auto{margin-top:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[4\/3\]{aspect-ratio:4/3}.h-\[32\%\]{height:32%}.h-\[56vh\]{height:56vh}.h-\[64vh\]{height:64vh}.h-\[95vh\]{height:95vh}.h-\[600px\]{height:600px}.h-\[calc\(100\%-48px\)\]{height:calc(100% - 48px)}.h-auto{height:auto}.h-full{height:100%}.max-h-\[600px\]{max-height:600px}.min-h-\[300px\]{min-height:300px}.min-h-screen{min-height:100vh}.w-1\/3{width:33.3333%}.w-2\/3,.w-4\/6{width:66.6667%}.w-5\/6{width:83.3333%}.w-\[56vh\]{width:56vh}.w-\[58\%\]{width:58%}.w-\[64vh\]{width:64vh}.w-full{width:100%}.max-w-\[70\%\]{max-width:70%}.max-w-\[95vw\]{max-width:95vw}.max-w-\[300px\]{max-width:300px}.max-w-\[360px\]{max-width:360px}.max-w-\[1400px\]{max-width:1400px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0)var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[2\.5rem\]{border-radius:2.5rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-\[32px\]{border-radius:32px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#6B21A8\]\/20{border-color:#6b21a833}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#6B21A8\]\/5{background-color:#6b21a80d}.bg-\[\#E4C8F5\]{background-color:#e4c8f5}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#0f172a\]{--tw-gradient-from:#0f172a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#2e1065\]{--tw-gradient-from:#2e1065;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#4FACFE\]{--tw-gradient-from:#4facfe;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#7C3AED\]{--tw-gradient-from:#7c3aed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#60B6FE\]{--tw-gradient-from:#60b6fe;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#C490FF\]{--tw-gradient-from:#c490ff;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#D070FF\]{--tw-gradient-from:#d070ff;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#F4D6F7\]{--tw-gradient-from:#f4d6f7;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#FF758C\]{--tw-gradient-from:#ff758c;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#FF9068\]{--tw-gradient-from:#ff9068;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#4C1D95\],.via-\[\#4c1d95\]{--tw-gradient-via:#4c1d95;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#111827\]{--tw-gradient-via:#111827;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[\#D8B4F8\]{--tw-gradient-via:#d8b4f8;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#1E1B4B\]{--tw-gradient-to:#1e1b4b;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#1f2937\]{--tw-gradient-to:#1f2937;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#2E8EF1\]{--tw-gradient-to:#2e8ef1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#005BEA\]{--tw-gradient-to:#005bea;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#7B2CBF\]{--tw-gradient-to:#7b2cbf;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#7c3aed\]{--tw-gradient-to:#7c3aed;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#22d3ee\]\/10{--tw-gradient-to:oklab(79.7116% -.114121 -.0700162/.1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#9966FF\]{--tw-gradient-to:#96f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#C0C5FC\]{--tw-gradient-to:#c0c5fc;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FF2E63\]{--tw-gradient-to:#ff2e63;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#FF4B1F\]{--tw-gradient-to:#ff4b1f;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#4c1d95\]{color:#4c1d95}.text-\[\#4c1d95\]\/80{color:#4c1d95cc}.text-\[\#6d28d9\]\/70{color:#6d28d9b3}.text-\[\#6d28d9\]\/80{color:#6d28d9cc}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-\[0_4px_12px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0px_\#1a73e8\,0_12px_20px_rgba\(50\,150\,255\,0\.4\)\]{--tw-shadow:0 8px 0px var(--tw-shadow-color,#1a73e8),0 12px 20px var(--tw-shadow-color,#3296ff66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_0px_\#7c4eff\,0_12px_20px_rgba\(150\,100\,255\,0\.4\)\]{--tw-shadow:0 8px 0px var(--tw-shadow-color,#7c4eff),0 12px 20px var(--tw-shadow-color,#9664ff66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_12px_30px_rgba\(76\,29\,149\,0\.35\)\,0_8px_18px_rgba\(0\,0\,0\,0\.22\)\,inset_0_2px_6px_rgba\(255\,255\,255\,0\.35\)\,inset_0_-6px_12px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 12px 30px var(--tw-shadow-color,#4c1d9559),0 8px 18px var(--tw-shadow-color,#00000038),inset 0 2px 6px var(--tw-shadow-color,#ffffff59),inset 0 -6px 12px var(--tw-shadow-color,#0000002e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur-\[90px\]{--tw-blur:blur(90px);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,)}.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-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-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,)}.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,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.delay-700{transition-delay:.7s}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-\[3000ms\]{--tw-duration:3s;transition-duration:3s}@media(hover:hover){.group-hover\:translate-y-\[-5px\]:is(:where(.group):hover *){--tw-translate-y:-5px;translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:-rotate-2:is(:where(.group):hover *){rotate:-2deg}.group-hover\:rotate-3:is(:where(.group):hover *){rotate:3deg}.group-hover\:rotate-90:is(:where(.group):hover *){rotate:90deg}.group-hover\:opacity-20:is(:where(.group):hover *){opacity:.2}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/icon\:scale-110:is(:where(.group\/icon):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\/icon\:opacity-40:is(:where(.group\/icon):hover *){opacity:.4}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:opacity-100:hover{opacity:1}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--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)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}body{background:linear-gradient(#f0f9ff,#e0f2fe);min-height:100vh;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-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}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}body{font-family:Quicksand,sans-serif;margin:0;overflow-x:hidden;background:linear-gradient(135deg,#a78bfa,#f472b6,#fb923c 80%,#60a5fa);min-height:100vh}.gemini-homepage{position:relative;min-height:100vh;width:100%;overflow-x:hidden;font-family:Quicksand,sans-serif}.glass-navbar{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;width:100%;max-width:1400px;margin:0 auto;z-index:20;position:relative}.logo-section{display:flex;align-items:center;gap:.75rem}.logo-icon{background:#fff3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;padding:.5rem;border:1px solid rgba(255,255,255,.3)}.logo-text{color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;text-shadow:0 2px 4px rgba(0,0,0,.1)}.hero-section{text-align:center;margin-bottom:5rem;padding:0 1rem;position:relative;max-width:64rem}.hero-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:#fff3;filter:blur(100px);border-radius:50%;opacity:.5;z-index:-1;pointer-events:none}.hero-title{font-size:clamp(2rem,5vw,4rem);font-weight:800;color:#fff;text-shadow:0 4px 8px rgba(0,0,0,.1);line-height:1.1;letter-spacing:-.05em;margin-bottom:1rem}.hero-subtitle{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:500;color:#ffffffe6;max-width:48rem;margin:0 auto;text-shadow:0 2px 4px rgba(0,0,0,.1);line-height:1.6;opacity:.9}.hero-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem;margin-top:2.5rem}.primary-btn{display:flex;align-items:center;gap:.75rem;background:#fff;color:#9333ea;padding:1rem 2rem;border-radius:9999px;font-weight:700;font-size:1.125rem;box-shadow:0 10px 20px #0000001a;transition:all .3s ease;border:none;cursor:pointer}.primary-btn:hover{box-shadow:0 15px 30px #0003;transform:translateY(-4px)}.secondary-btn{display:flex;align-items:center;gap:.75rem;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);color:#fff;padding:1rem 2rem;border-radius:9999px;font-weight:700;font-size:1.125rem;transition:all .3s ease;cursor:pointer}.secondary-btn:hover{background:#fff3;border-color:#fff9}.icon-btn{width:3.5rem;height:3.5rem;border-radius:50%;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);color:#fff;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;box-shadow:0 4px 16px #0000001a}.icon-btn:hover{background:#ffffff4d;transform:scale(1.05)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;width:100%;max-width:80rem;margin:0 auto}@media(min-width:640px){.cards-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cards-grid{grid-template-columns:repeat(5,1fr)}}.glass-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:2rem;border-radius:2rem;background:linear-gradient(135deg,#fff6,#ffffff1a);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px #1f268726;transition:all .5s ease;cursor:pointer;overflow:hidden}.glass-card:hover{transform:translateY(-8px);box-shadow:0 15px 40px #1f268740}.card-arrow{position:absolute;top:1.25rem;right:1.25rem;color:#fff9;transition:all .3s ease}.glass-card:hover .card-arrow{color:#fff;transform:translate(4px)}.card-icon{margin-top:1.5rem;margin-bottom:2rem;padding:1.25rem;border-radius:1.5rem;box-shadow:0 10px 25px #0003;border-top:1px solid rgba(255,255,255,.3);transition:transform .5s ease}.purple-gradient{background:linear-gradient(135deg,#c084fc,#9333ea);box-shadow:0 10px 25px #c084fc80}.orange-gradient{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 10px 25px #fb923c80}.pink-gradient{background:linear-gradient(135deg,#f472b6,#ec4899);box-shadow:0 10px 25px #f472b680}.blue-gradient{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 10px 25px #60a5fa80}.green-gradient{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 10px 25px #34d39980}.glass-card:hover .card-icon{transform:scale(1.1) rotate(3deg)}.card-content{text-align:center;margin-top:auto;width:100%;padding-bottom:.5rem}.card-title{color:#fff;font-weight:700;font-size:1.25rem;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.1);letter-spacing:-.025em}.card-subtitle{color:#fffc;font-weight:500;font-size:.875rem;letter-spacing:.025em}.glass-card:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .7s ease;pointer-events:none}.glass-card:hover:after{opacity:1}.floating-nav{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:30;width:90%;max-width:fit-content}.floating-nav-inner{background:#ffffffb3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.5rem .75rem;border-radius:9999px;display:flex;justify-content:center;gap:.5rem;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.5)}@media(min-width:768px){.floating-nav{width:auto}.floating-nav-inner{gap:1rem}}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:9999px;color:#475569;font-weight:700;transition:all .3s ease;cursor:pointer;border:none;background:none}.nav-btn:hover{background:#ffffff80}.nav-icon{display:block}@media(min-width:768px){.nav-icon{display:none}}.nav-text{display:none}@media(min-width:768px){.nav-text{display:block}}.desktop-nav{display:none;gap:2rem}@media(min-width:1024px){.desktop-nav{display:flex}}.nav-link{font-size:.875rem;font-weight:700;letter-spacing:.025em;transition:all .3s ease;text-decoration:none;color:#ffffffb3}.nav-link:hover{color:#fff;transform:translateY(-2px)}.nav-link.active{color:#fff;border-bottom:2px solid white;padding-bottom:.25rem}.action-btn{background:#fff;color:#ec4899;padding:.625rem 2rem;border-radius:9999px;font-weight:700;font-size:.875rem;box-shadow:0 4px 16px #0000001a;transition:all .3s ease;cursor:pointer;border:none}.action-btn:hover{box-shadow:0 8px 24px #00000026;transform:scale(1.05)}.action-btn:active{transform:scale(.95)}.study-center-page{position:relative;min-height:100vh;width:100%;overflow-x:hidden;font-family:Quicksand,sans-serif;background:linear-gradient(135deg,#1e1b4b,#312e81,#4338ca 80%,#6366f1)}.stats-capsule{background:linear-gradient(135deg,#ffffff26,#ffffff0d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2rem;padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f268726;position:relative;overflow:hidden}.stats-capsule:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.stat-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ffffff14;border-radius:1rem;transition:all .3s ease}.stat-item:hover{background:#ffffff1f;transform:translateY(-2px)}.stat-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;position:relative}.star-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 16px #fbbf244d}.level-icon{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 4px 16px #fb923c4d}.flame-icon{background:linear-gradient(135deg,#f87171,#dc2626);box-shadow:0 4px 16px #f871714d}.time-icon{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 16px #60a5fa4d}.stat-content{flex:1;text-align:left}.stat-value{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.125rem}.welcome-section{text-align:center;margin-bottom:2.5rem;padding:0 1rem}.welcome-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:#fff;margin-bottom:.5rem;text-shadow:0 2px 8px rgba(0,0,0,.2)}.welcome-subtitle{font-size:1rem;color:#fffc;font-weight:500}.subjects-section{margin-bottom:2rem}.section-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.subject-card{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.5rem;padding:1.5rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 32px #1f268733;transition:all .4s ease;cursor:pointer;position:relative;overflow:hidden;animation:slideInUp .6s ease-out forwards;opacity:0}.subject-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px #1f26874d;border-color:#ffffff40}.subject-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);opacity:0;transition:opacity .3s ease}.subject-card:hover:before{opacity:1}.subject-icon{width:4rem;height:4rem;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;box-shadow:0 8px 24px #0003;border-top:1px solid rgba(255,255,255,.3);transition:all .3s ease}.subject-card:hover .subject-icon{transform:scale(1.1) rotate(3deg)}.purple-gradient{background:linear-gradient(135deg,#c084fc,#9333ea);box-shadow:0 8px 24px #c084fc66}.orange-gradient{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 8px 24px #fb923c66}.pink-gradient{background:linear-gradient(135deg,#f472b6,#ec4899);box-shadow:0 8px 24px #f472b666}.blue-gradient{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 8px 24px #60a5fa66}.subject-content{margin-bottom:1rem}.subject-title{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:.5rem}.subject-description{font-size:.875rem;color:#ffffffb3;margin-bottom:1rem}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.progress-text{font-size:.875rem;color:#fffc;font-weight:500}.progress-percent{font-size:.875rem;color:#fff;font-weight:700}.progress-bar{width:100%;height:.5rem;background:#ffffff1a;border-radius:9999px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:9999px;position:relative;transition:width .6s ease}.purple-glow{background:linear-gradient(90deg,#9333ea,#c084fc);box-shadow:0 0 12px #c084fc99}.orange-glow{background:linear-gradient(90deg,#ea580c,#fb923c);box-shadow:0 0 12px #fb923c99}.pink-glow{background:linear-gradient(90deg,#ec4899,#f472b6);box-shadow:0 0 12px #f472b699}.blue-glow{background:linear-gradient(90deg,#2563eb,#60a5fa);box-shadow:0 0 12px #60a5fa99}.progress-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s infinite}@keyframes progressShine{0%{left:-100%}to{left:100%}}.trend-indicator{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;background:#22c55e33;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bottom-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.action-capsule{background:linear-gradient(135deg,#ffffff1f,#ffffff0a);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.5rem;padding:1.25rem;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #1f268726;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden;display:flex;align-items:center;gap:1rem;animation:slideInUp .6s ease-out forwards;opacity:0}.action-capsule:hover{transform:translateY(-4px);box-shadow:0 12px 32px #1f268740;border-color:#ffffff40}.action-icon{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-content{flex:1}.action-title{font-size:1.125rem;font-weight:700;color:#fff;margin-bottom:.25rem}.action-description{font-size:.875rem;color:#ffffffb3}.action-badge{background:#fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9999px;padding:.25rem .75rem;border:1px solid rgba(255,255,255,.3)}.badge-count{font-size:.875rem;font-weight:700;color:#fff}.red-gradient{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 6px 20px #ef444466}.green-gradient{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 6px 20px #22c55e66}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-item{padding:.5rem}.stat-icon{width:2.5rem;height:2.5rem}.subjects-grid,.bottom-actions{grid-template-columns:1fr;gap:1rem}.welcome-title{font-size:1.5rem}.section-title{font-size:1.25rem}}@media(max-width:480px){.stats-capsule{padding:1rem;margin-bottom:1.5rem}.subject-card,.action-capsule{padding:1rem}.subject-icon{width:3rem;height:3rem}.action-icon{width:2.5rem;height:2.5rem}}.ai-tools-page{position:relative;min-height:100vh;width:100%;overflow-x:hidden;font-family:Quicksand,sans-serif;background:linear-gradient(135deg,#312e81,#4338ca,#6366f1 80%,#8b5cf6)}.usage-tip{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1rem;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.2);margin-top:1.5rem;max-width:fit-content;margin-left:auto;margin-right:auto;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.usage-tip span{color:#ffffffe6;font-size:.9rem;font-weight:500}.ai-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-bottom:3rem}.ai-tool-card{background:linear-gradient(135deg,#ffffff26,#ffffff0d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:2rem;padding:2rem;border:1px solid rgba(255,255,255,.2);box-shadow:0 12px 40px #1f268726;transition:all .4s ease;cursor:pointer;position:relative;overflow:hidden;animation:slideInUp .6s ease-out forwards;opacity:0}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.ai-tool-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 60px #1f268740;border-color:#ffffff4d}.popular-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9999px;padding:.25rem .75rem;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #ef444466}.badge-text{font-size:.75rem;font-weight:700;color:#fff}.ai-icon{width:5rem;height:5rem;border-radius:1.5rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 12px 32px #0003;border-top:1px solid rgba(255,255,255,.3);transition:all .3s ease}.ai-tool-card:hover .ai-icon{transform:scale(1.1) rotate(5deg)}.purple-gradient{background:linear-gradient(135deg,#c084fc,#9333ea);box-shadow:0 12px 32px #c084fc80}.blue-gradient{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 12px 32px #60a5fa80}.orange-gradient{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 12px 32px #fb923c80}.green-gradient{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 12px 32px #34d39980}.tool-content{margin-bottom:1.5rem}.tool-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.tool-subtitle{font-size:1rem;color:#ffffffe6;font-weight:600;margin-bottom:.75rem}.tool-description{font-size:.9rem;color:#ffffffb3;line-height:1.5;margin-bottom:1.25rem}.tool-features{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:9999px;padding:.25rem .75rem;border:1px solid rgba(255,255,255,.2)}.feature-tag span{font-size:.75rem;font-weight:600;color:#ffffffe6}.enter-button{display:flex;align-items:center;gap:.5rem;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.75rem;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.3);transition:all .3s ease}.ai-tool-card:hover .enter-button{background:#ffffff40;transform:translate(4px)}.enter-button span{font-size:.9rem;font-weight:600;color:#fff}.shimmer-effect{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .7s ease}.ai-tool-card:hover .shimmer-effect{left:100%}.usage-stats{margin-top:2rem}.stats-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1.5rem;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:1.5rem;padding:1.5rem;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card:hover{background:#ffffff26;transform:translateY(-4px)}.stat-icon-image,.stat-icon-video,.stat-icon-teacher,.stat-icon-speaking{width:3rem;height:3rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-image{background:linear-gradient(135deg,#c084fc,#9333ea);box-shadow:0 6px 16px #c084fc4d}.stat-icon-video{background:linear-gradient(135deg,#60a5fa,#2563eb);box-shadow:0 6px 16px #60a5fa4d}.stat-icon-teacher{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 6px 16px #fb923c4d}.stat-icon-speaking{background:linear-gradient(135deg,#34d399,#059669);box-shadow:0 6px 16px #34d3994d}.stat-value{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.125rem}.stat-label{font-size:.875rem;color:#ffffffb3}@media(max-width:768px){.ai-tools-grid{grid-template-columns:1fr;gap:1.5rem}.ai-tool-card{padding:1.5rem}.ai-icon{width:4rem;height:4rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.usage-tip{flex-direction:column;text-align:center;gap:.5rem}}@media(max-width:480px){.ai-tool-card{padding:1.25rem}.ai-icon{width:3.5rem;height:3.5rem}.tool-title{font-size:1.25rem}.stat-card{padding:1rem}.stat-icon-image,.stat-icon-video,.stat-icon-teacher,.stat-icon-speaking{width:2.5rem;height:2.5rem}}.install-prompt{position:fixed;bottom:80px;left:1rem;right:1rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:1rem;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 4px 16px #3b82f64d;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}.install-content{display:flex;align-items:center;gap:1rem;flex:1}.install-icon{width:48px;height:48px;background:#fff3;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-text h3{font-size:1rem;font-weight:600;margin:0 0 .25rem}.install-text p{font-size:.875rem;margin:0;opacity:.9}.install-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.install-btn{background:#fff;color:#2563eb;border:none;border-radius:.5rem;padding:.5rem 1.5rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.install-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.dismiss-btn{background:#fff3;border:none;border-radius:.5rem;padding:.5rem;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.dismiss-btn:hover{background:#ffffff4d}@media(max-width:640px){.install-prompt{flex-direction:column;align-items:stretch}.install-actions{justify-content:space-between;width:100%}.install-btn{flex:1}}.home-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;padding-bottom:80px}.home-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 1rem;margin-bottom:1rem}.welcome-section h1{font-size:1.75rem;font-weight:700;color:#fff;margin:0 0 .5rem}.welcome-section p{font-size:1rem;color:#ffffffe6;margin:0}.sparkles-icon{color:#fbbf24;animation:sparkle 2s infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}}.progress-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.progress-card{background:#fff;border-radius:1rem;padding:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #0000001a;transition:transform .2s}.progress-card:hover{transform:translateY(-2px)}.progress-icon{font-size:2rem}.progress-info{flex:1}.progress-value{font-size:1.25rem;font-weight:700;color:#1f2937}.progress-label{font-size:.75rem;color:#6b7280}.section{margin-bottom:1.5rem}.section-title{font-size:1.25rem;font-weight:600;color:#fff;margin:0 0 1rem;padding:0 .5rem}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.action-card{background:#fff;border-radius:1rem;padding:1.5rem;text-align:center;cursor:pointer;border-left:4px solid;transition:all .3s;box-shadow:0 4px 12px #0000001a}.action-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #00000026}.action-icon{width:64px;height:64px;margin:0 auto .75rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.action-name{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.action-desc{font-size:.875rem;color:#6b7280}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.feature-card{background:#fffffff2;border-radius:1rem;padding:1.5rem;text-align:center;box-shadow:0 4px 12px #0000001a}.feature-icon{margin-bottom:.75rem}.feature-title{font-size:1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.feature-desc{font-size:.875rem;color:#6b7280}.daily-task-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a;margin-bottom:1rem}.task-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#3b82f6}.task-header h3{font-size:1.125rem;font-weight:600;margin:0;color:#1f2937}.task-list{display:flex;flex-direction:column;gap:.75rem}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:.5rem}.task-item input[type=checkbox]{width:20px;height:20px;cursor:pointer}.task-item span:nth-child(2){flex:1;color:#1f2937;font-size:.875rem}.task-reward{font-weight:600;color:#f59e0b;font-size:.875rem}.test-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.test-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}@media(max-width:640px){.home-header{padding:1.5rem .5rem}.progress-cards{grid-template-columns:repeat(3,1fr);gap:.5rem}.progress-card{padding:.75rem;flex-direction:column;text-align:center}.progress-icon{font-size:1.5rem}.progress-value{font-size:1rem}.quick-actions,.features-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.action-card{padding:1rem}.action-icon{width:48px;height:48px;font-size:1.5rem}}@keyframes float-slow{0%,to{transform:translate(0)}50%{transform:translate(10px,-15px)}}@keyframes float-medium{0%,to{transform:translate(0)}50%{transform:translate(-10px,10px)}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-float-slow{animation:float-slow 8s ease-in-out infinite}.animate-float-medium{animation:float-medium 6s ease-in-out infinite}.animate-bounce-slow{animation:bounce-slow 3s ease-in-out infinite}.study-page{min-height:100vh;background:linear-gradient(180deg,#f8fafc,#e2e8f0);padding:20px 20px 100px}.study-header{margin-bottom:24px}.header-content{text-align:center;margin-bottom:20px}.header-title{display:flex;align-items:center;justify-content:center;gap:12px;font-size:32px;font-weight:800;color:#1e293b;margin-bottom:8px;letter-spacing:-.5px}.title-emoji{font-size:36px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.header-subtitle{font-size:15px;color:#64748b;font-weight:500}.stats-bar{display:flex;justify-content:center;gap:16px;padding:12px 20px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f}.stat-item{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#475569}.stat-item svg{color:#3b82f6}.subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.subject-card{position:relative;background:#fff;border-radius:20px;padding:20px;overflow:hidden;cursor:pointer;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transition:all .4s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent}.subject-card:active{transform:scale(.96)}.card-gradient{position:absolute;top:0;left:0;right:0;height:100px;opacity:.15;transition:all .4s ease;border-radius:20px 20px 0 0}.decoration-circles{position:absolute;top:0;left:0;right:0;height:100px;overflow:hidden;pointer-events:none}.circle{position:absolute;background:#fff;border-radius:50%;opacity:.2}.circle-1{width:60px;height:60px;top:-20px;right:20px}.circle-2{width:40px;height:40px;top:40px;right:80px}.circle-3{width:30px;height:30px;top:10px;left:20px}.card-content{position:relative;z-index:1}.card-icon-wrapper{position:relative;width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.icon-bg{position:absolute;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;opacity:.1;transition:all .3s ease}.card-icon{position:relative;width:32px;height:32px;color:#1e293b;z-index:1;transition:all .3s ease}.icon-emoji{position:absolute;top:-8px;right:-8px;font-size:24px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.card-title{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:6px;text-align:center;letter-spacing:-.3px}.card-description{font-size:12px;color:#64748b;text-align:center;margin-bottom:16px;font-weight:500}.progress-section{margin-top:16px}.progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 8px #3b82f666}.progress-info{display:flex;justify-content:space-between;font-size:11px;font-weight:600}.progress-text{color:#3b82f6}.lessons-count{color:#94a3b8}.card-shimmer{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.3) 50%,transparent 70%);opacity:0;transform:rotate(45deg);transition:opacity .3s ease}.subject-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 24px #0000001f,0 6px 12px #00000014}.subject-card:hover .card-gradient{opacity:.25;height:120px}.subject-card:hover .icon-bg{opacity:.2;transform:scale(1.1) rotate(5deg)}.subject-card:hover .card-icon{transform:scale(1.1) rotate(-5deg);color:#3b82f6}.subject-card:hover .card-shimmer{opacity:1;animation:shimmer 1.5s ease-in-out}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.quick-actions{display:flex;gap:12px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:none;border-radius:16px;font-size:15px;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px #00000014}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-icon{font-size:20px}.action-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.action-btn:active{transform:translateY(-2px)}@media(max-width:375px){.subjects-grid{gap:12px}.subject-card{padding:16px}.card-icon-wrapper{width:56px;height:56px}.card-icon{width:28px;height:28px}.card-title{font-size:16px}.card-description{font-size:11px}}@media(min-width:768px){.study-page{max-width:600px;margin:0 auto}.subjects-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media(prefers-color-scheme:dark){.study-page{background:linear-gradient(180deg,#1e293b,#0f172a)}.subject-card{background:#1e293b;box-shadow:0 4px 12px #0000004d}.stats-bar{background:#1e293b}.card-title{color:#f1f5f9}.card-description{color:#94a3b8}.header-title{color:#f1f5f9}}.word-card-container{display:flex;flex-direction:column;align-items:center;gap:30px;padding:20px;max-width:500px;margin:0 auto}.word-card{width:100%;height:450px;position:relative;cursor:pointer;perspective:1000px}.word-card .card-front,.word-card .card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:20px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 40px #00000026;transition:transform .6s ease}.card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:rotateY(0)}.word-card.flipped .card-front{transform:rotateY(180deg)}.card-back{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;transform:rotateY(-180deg)}.word-card.flipped .card-back{transform:rotateY(0)}.word-header{display:flex;justify-content:flex-end}.speak-btn{background:#fff3;border:none;border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;color:#fff}.speak-btn:hover{background:#ffffff4d;transform:scale(1.1)}.speak-btn svg{width:28px;height:28px}.word-main{text-align:center}.word-text{font-size:48px;font-weight:700;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.phonetic{font-size:24px;margin:10px 0;opacity:.9;font-style:italic}.sentences-section{flex:1;overflow-y:auto;max-height:200px;margin:20px 0}.load-sentences-btn{width:100%;padding:15px;background:#ffffff40;border:2px dashed rgba(255,255,255,.5);border-radius:15px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}.load-sentences-btn:hover:not(:disabled){background:#ffffff59;border-color:#fff;transform:translateY(-2px)}.load-sentences-btn:disabled{opacity:.6;cursor:not-allowed}.sentences-list{display:flex;flex-direction:column;gap:8px}.sentence{background:#fff3;padding:10px 12px;border-radius:10px;font-size:14px;line-height:1.5;border-left:3px solid rgba(255,255,255,.5);text-align:left}.meaning-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.part-of-speech{display:inline-block;background:#ffffff4d;padding:5px 15px;border-radius:20px;font-size:14px;margin-bottom:10px}.meaning{font-size:32px;font-weight:700;margin:10px 0}.theme-tag{margin-top:15px;padding:8px 16px;background:#ffffff40;border-radius:20px;font-size:14px}.word-footer{text-align:center}.hint{font-size:14px;opacity:.9;margin:0;padding:8px 16px;background:#fff3;border-radius:20px;display:inline-block;white-space:nowrap;animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.action-buttons{display:flex;gap:20px;width:100%}.action-btn{flex:1;padding:15px 30px;border:none;border-radius:15px;font-size:16px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .3s;box-shadow:0 5px 15px #0000001a}.action-btn.need-review{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff}.action-btn.mastered{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff}.action-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0003}.action-btn span{font-size:14px}.sentences-section::-webkit-scrollbar{width:6px}.sentences-section::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.sentences-section::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.sentences-section::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media(max-width:600px){.word-card{height:400px}.word-text{font-size:36px}.phonetic{font-size:20px}.meaning{font-size:28px}.action-buttons{flex-direction:column}.speak-btn{width:55px;height:55px}.speak-btn svg{width:26px;height:26px}}.word-card-container{max-width:600px;margin:0 auto;width:100%}.word-card{max-width:500px;margin:0 auto}.action-buttons{max-width:500px;margin:0 auto;width:100%}.card-front,.card-back{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}@media(max-width:768px){.word-card-container,.word-card,.action-buttons{max-width:100%}}.word-card-container{display:flex!important;flex-direction:column!important;align-items:center!important;max-width:600px!important;margin:0 auto!important;width:100%!important}.word-card{max-width:500px!important;margin:0 auto!important;width:100%!important}.action-buttons{display:flex!important;max-width:500px!important;margin:0 auto!important;width:100%!important}.encouragement-toast{position:fixed;top:30%;left:50%;transform:translate(-50%);z-index:10000;pointer-events:none}.toast-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 40px;border-radius:50px;font-size:32px;font-weight:700;box-shadow:0 10px 40px #667eea80;text-shadow:2px 2px 4px rgba(0,0,0,.2);animation:pulse .5s ease-in-out}.word-import-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.word-import-modal{background:#fff;border-radius:20px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.import-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:2px solid #f0f0f0}.import-header h2{font-size:24px;color:#2c3e50;margin:0}.close-btn{background:none;border:none;cursor:pointer;color:#7f8c8d;transition:all .2s;padding:8px;border-radius:8px}.close-btn:hover{background:#f0f0f0;color:#2c3e50}.import-mode-tabs{display:flex;gap:8px;padding:16px 28px;border-bottom:2px solid #f0f0f0}.mode-tab{flex:1;padding:12px 20px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:#7f8c8d;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.mode-tab:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px)}.mode-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.import-content{padding:24px 28px;overflow-y:auto;max-height:300px}.manual-import{display:flex;flex-direction:column;gap:16px}.import-hint{background:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:8px;font-size:14px;border-left:4px solid #4caf50;margin:0}.word-textarea{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;font-family:Arial,sans-serif;resize:vertical;transition:all .3s ease}.word-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.parse-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;align-self:flex-end}.parse-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.parse-btn:disabled{background:#bdc3c7;cursor:not-allowed}.csv-import{display:flex;flex-direction:column;gap:16px}.upload-area{border:2px dashed #667eea;border-radius:16px;padding:40px;text-align:center;background:linear-gradient(135deg,#667eea10,#764ba210)}.upload-icon{color:#667eea;margin-bottom:16px}.upload-area h3{font-size:20px;color:#2c3e50;margin:0 0 8px}.upload-area p{color:#7f8c8d;font-size:14px;margin:0 0 20px}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.template-btn{background:#fff;color:#667eea;border:2px solid #667eea;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;align-self:center}.template-btn:hover{background:#667eea;color:#fff}.words-preview{padding:0 28px 24px;display:flex;flex-direction:column;gap:16px;flex:1;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center}.preview-header h3{font-size:18px;color:#2c3e50;margin:0}.fetch-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.fetch-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6bcf7f66}.fetch-btn:disabled{background:#bdc3c7;cursor:not-allowed}.words-list{overflow-y:auto;display:flex;flex-direction:column;gap:12px;max-height:300px;padding-right:8px}.words-list::-webkit-scrollbar{width:6px}.words-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.words-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.word-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:16px;position:relative;transition:all .3s ease}.word-item.success{border-color:#6bcf7f;background:#f0fdf4}.word-item:hover{box-shadow:0 4px 12px #0000001a}.word-main{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin-bottom:12px}.word-details{display:grid;grid-template-columns:1fr 2fr;gap:12px}.word-input,.translation-input,.phonetic-input,.example-input{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;transition:all .2s}.word-input{font-weight:600;color:#2c3e50}.translation-input{color:#34495e}.phonetic-input{font-family:Courier New,monospace;color:#667eea}.example-input{color:#7f8c8d;font-style:italic}.word-input:focus,.translation-input:focus,.phonetic-input:focus,.example-input:focus{outline:none;border-color:#667eea;background:#fff}.remove-word-btn{position:absolute;top:12px;right:12px;background:#ff4757;color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.remove-word-btn:hover{background:#ee5a6f;transform:scale(1.1)}.import-footer{display:flex;gap:12px;padding:20px 28px;border-top:2px solid #f0f0f0}.cancel-btn{flex:1;background:#fff;color:#7f8c8d;border:2px solid #e0e0e0;border-radius:12px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{border-color:#7f8c8d;color:#2c3e50}.import-confirm-btn{flex:2;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.import-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.import-confirm-btn:disabled{background:#bdc3c7;cursor:not-allowed}@media(max-width:768px){.word-import-modal{width:95%;max-height:95vh}.import-header,.import-mode-tabs,.import-content,.words-preview,.import-footer{padding-left:20px;padding-right:20px}.word-main,.word-details{grid-template-columns:1fr}.import-footer{flex-direction:column}.cancel-btn,.import-confirm-btn{flex:1}}.audio-listening-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.audio-listening-modal{background:#fff;border-radius:24px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:2px solid #f0f0f0;background:linear-gradient(135deg,#667eea10,#764ba210)}.modal-header h2{font-size:26px;color:#2c3e50;margin:0}.modal-content{flex:1;overflow-y:auto;padding:32px}.upload-area{border:3px dashed #667eea;border-radius:20px;padding:60px;text-align:center;background:linear-gradient(135deg,#667eea05,#764ba205);cursor:pointer;transition:all .3s ease}.upload-area:hover{border-color:#764ba2;background:linear-gradient(135deg,#667eea10,#764ba210);transform:scale(1.02)}.upload-icon{color:#667eea;margin-bottom:20px}.upload-area h3{font-size:22px;color:#2c3e50;margin:0 0 12px}.upload-area p{color:#7f8c8d;margin:0 0 24px}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.audio-player-section{text-align:center}.audio-info{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px;padding:24px;background:#f8f9fa;border-radius:16px}.audio-icon{color:#667eea}.file-info h4{margin:0 0 4px;color:#2c3e50;font-size:18px}.file-info p{margin:0;color:#7f8c8d;font-size:14px}.play-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:50px;padding:16px 40px;font-size:18px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:12px;margin-bottom:20px;transition:all .3s ease}.play-btn:hover{transform:scale(1.05);box-shadow:0 8px 24px #6bcf7f66}.analyze-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.analyze-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.analyzing-section{text-align:center;padding:60px}.spinning{color:#667eea;animation:spin 1.5s linear infinite;margin-bottom:24px}.analyzing-section h3{font-size:22px;color:#2c3e50;margin:0 0 12px}.analyzing-section p{color:#7f8c8d;font-size:16px}.listening-practice{display:flex;flex-direction:column;gap:24px}.audio-control{background:linear-gradient(135deg,#667eea10,#764ba210);padding:20px;border-radius:16px;text-align:center}.control-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:12px;padding:12px 28px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease}.control-btn:hover{transform:scale(1.05)}.ai-transcript{background:#f8f9fa;border-radius:16px;overflow:hidden}.ai-transcript summary{padding:16px 20px;cursor:pointer;font-weight:600;color:#667eea;-webkit-user-select:none;user-select:none;background:#fff;border-bottom:2px solid #f0f0f0}.ai-transcript summary:hover{background:#f8f9fa}.transcript-content{padding:20px}.transcript-content h4{margin:0 0 8px;color:#2c3e50;font-size:16px}.english-text{line-height:1.8;color:#34495e;margin-bottom:20px;white-space:pre-line}.chinese-text{line-height:1.8;color:#7f8c8d;margin-bottom:20px;white-space:pre-line}.ai-info{display:flex;gap:12px;flex-wrap:wrap}.difficulty-tag{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 16px;border-radius:12px;font-size:13px;font-weight:600}.keywords{background:#e8f5e9;color:#2e7d32;padding:6px 16px;border-radius:12px;font-size:13px}.questions-section h3{font-size:20px;color:#2c3e50;margin-bottom:16px}.question-card{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:24px;margin-bottom:16px;transition:all .3s ease}.question-card:hover{box-shadow:0 4px 16px #0000001a}.question-header{display:flex;justify-content:space-between;margin-bottom:16px}.q-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:12px;font-weight:700;font-size:14px}.q-type{color:#7f8c8d;font-size:13px;font-weight:600}.q-text{font-size:17px;color:#2c3e50;margin:0 0 8px;font-weight:500}.q-text-cn{font-size:15px;color:#7f8c8d;margin:0 0 20px;font-style:italic}.options{display:flex;flex-direction:column;gap:12px}.option-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:14px 16px;text-align:left;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;font-size:15px;color:#2c3e50}.option-btn:hover{border-color:#667eea;transform:translate(4px)}.option-btn.selected{background:linear-gradient(135deg,#667eea10,#764ba210);border-color:#667eea;font-weight:600}.opt-label{background:#f0f0f0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;font-size:13px;flex-shrink:0}.option-btn.selected .opt-label{background:#667eea;color:#fff}.tf-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tf-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;font-size:16px;font-weight:600;color:#2c3e50}.tf-btn:hover{border-color:#667eea;transform:scale(1.05)}.tf-btn.selected{background:linear-gradient(135deg,#667eea10,#764ba210);border-color:#667eea}.submit-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:16px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.submit-btn:disabled{background:#bdc3c7;cursor:not-allowed}.results-section{text-align:center}.score-display{margin-bottom:32px}.score-circle{width:140px;height:140px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 12px 32px #667eea66;animation:popIn .6s cubic-bezier(.68,-.55,.265,1.55)}.score{font-size:52px;font-weight:800;color:#fff}.label{font-size:18px;color:#fff;font-weight:600}.answers-review{text-align:left;margin-bottom:24px}.review-card{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:16px;border-left:4px solid #e0e0e0}.review-card.correct{border-left-color:#6bcf7f;background:#f0fdf4}.review-card.wrong{border-left-color:#ff4757;background:#fff5f5}.review-header{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:700}.correct-badge{color:#2e7d32}.wrong-badge{color:#c62828}.review-question{font-size:16px;color:#2c3e50;margin-bottom:12px}.ai-explanation{background:#fff3cd;padding:16px;border-radius:8px;margin-top:12px}.ai-explanation strong{color:#856404;display:block;margin-bottom:8px}.ai-explanation p{color:#856404;margin:0 0 8px;line-height:1.6}.correct-ans{font-weight:600!important}.retry-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:16px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6bcf7f66}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.modal-content{padding:20px}.tf-options{grid-template-columns:1fr}.upload-area{padding:40px 20px}}.story-library{min-height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f,#ff9a9e);padding:20px}.story-library-view{max-width:1200px;margin:0 auto}.library-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.library-header h2{font-size:32px;color:#2c3e50;margin:0}.create-story-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:14px 28px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.create-story-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.stories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.story-card{background:#fff;border-radius:20px;overflow:hidden;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000014}.story-card:hover{transform:translateY(-8px);box-shadow:0 12px 32px #00000026}.story-cover{background:linear-gradient(135deg,#667eea,#764ba2);height:180px;display:flex;align-items:center;justify-content:center;position:relative}.story-emoji{font-size:72px}.like-btn{position:absolute;top:12px;right:12px;background:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#7f8c8d}.like-btn:hover,.like-btn.liked{color:#ff4757;transform:scale(1.1)}.story-info{padding:20px}.story-info h3{font-size:20px;color:#2c3e50;margin:0 0 8px}.story-title-cn{font-size:14px;color:#7f8c8d;margin:0 0 16px}.story-meta{display:flex;justify-content:space-between;align-items:center}.difficulty-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.difficulty-badge.easy{background:#6bcf7f}.difficulty-badge.medium{background:#ffd93d;color:#2c3e50}.difficulty-badge.hard{background:#ff6b6b}.story-date{display:flex;align-items:center;gap:4px;font-size:12px;color:#7f8c8d}.empty-library{text-align:center;padding:80px 20px}.empty-icon{color:#bdc3c7;margin-bottom:20px}.empty-library h3{font-size:24px;color:#7f8c8d;margin:0 0 12px}.empty-library p{font-size:16px;color:#95a5a6}.story-create-view{max-width:700px;margin:0 auto}.create-header{display:flex;align-items:center;gap:16px;margin-bottom:32px}.create-header h2{font-size:28px;color:#2c3e50;margin:0}.back-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:10px 20px;font-size:15px;font-weight:600;color:#7f8c8d;cursor:pointer;transition:all .3s ease}.back-btn:hover{border-color:#667eea;color:#667eea}.create-form{background:#fff;border-radius:20px;padding:40px;box-shadow:0 8px 24px #0000001a}.form-group{margin-bottom:28px}.form-group label{display:block;font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:12px}.form-group input{width:100%;padding:14px 18px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.option-buttons{display:flex;gap:12px}.option-btn{flex:1;padding:12px 20px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:#7f8c8d;cursor:pointer;transition:all .3s ease}.option-btn:hover{border-color:#667eea;color:#667eea}.option-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.generate-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:18px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s ease;margin-top:32px}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.generate-btn:disabled{background:#bdc3c7;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}.story-reading-view{max-width:900px;margin:0 auto}.reading-header{display:flex;justify-content:space-between;margin-bottom:24px}.story-content{background:#fff;border-radius:24px;padding:48px;box-shadow:0 8px 24px #0000001a}.story-header{text-align:center;margin-bottom:40px}.story-emoji-large{font-size:96px;display:block;margin-bottom:20px}.story-header h1{font-size:36px;color:#2c3e50;margin:0 0 12px}.title-cn{font-size:20px;color:#7f8c8d;margin:0}.reading-controls{display:flex;justify-content:center;margin-bottom:32px}.read-aloud-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:50px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.read-aloud-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #6bcf7f66}.story-text{margin-bottom:40px}.story-text h3{font-size:20px;color:#2c3e50;margin:32px 0 16px}.english-text{font-size:17px;line-height:2;color:#34495e;white-space:pre-line}.chinese-text{font-size:16px;line-height:2;color:#7f8c8d;white-space:pre-line}.vocabulary-section{background:#f8f9fa;padding:24px;border-radius:16px;margin-bottom:32px}.vocabulary-section h3{font-size:20px;color:#2c3e50;margin:0 0 16px}.vocab-list{display:flex;flex-wrap:wrap;gap:12px}.vocab-tag{background:#fff;color:#667eea;padding:8px 16px;border-radius:20px;font-size:15px;font-weight:600;border:2px solid #667eea}.questions-section{background:#e8f5e9;padding:24px;border-radius:16px}.questions-section h3{font-size:20px;color:#2c3e50;margin:0 0 20px}.question-item{background:#fff;padding:16px 20px;border-radius:12px;margin-bottom:12px;border-left:4px solid #6bcf7f}.question{font-size:16px;color:#2c3e50;font-weight:600;margin:0 0 8px}.answer{font-size:15px;color:#2e7d32;margin:0}@media(max-width:768px){.story-content{padding:32px 24px}.stories-grid{grid-template-columns:1fr}.create-form{padding:28px 20px}.option-buttons{flex-direction:column}}.ai-tutor-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.ai-tutor-container{background:#fff;border-radius:24px;width:90%;max-width:800px;height:85vh;overflow:hidden;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.tutor-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.tutor-info{display:flex;align-items:center;gap:16px}.tutor-avatar{width:56px;height:56px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tutor-info h3{margin:0 0 4px;font-size:20px;font-weight:700}.tutor-status{margin:0;font-size:14px;opacity:.9}.tutor-controls{display:flex;gap:12px}.control-btn{background:#fff3;border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.control-btn:hover{background:#ffffff4d;transform:scale(1.1)}.close-btn{background:#fff3;border:none;color:#fff;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;line-height:1}.messages-area{flex:1;padding:24px;overflow-y:auto;background:linear-gradient(135deg,#f9fafb,#e0e7ff);display:flex;flex-direction:column;gap:20px}.message{display:flex;gap:12px;animation:messageSlide .4s ease}.message.user{flex-direction:row-reverse}.message-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;box-shadow:0 4px 12px #667eea4d}.message-avatar.user-avatar{background:linear-gradient(135deg,#f093fb,#f5576c);font-size:20px}.emoji{font-size:24px}.message-content{max-width:70%;background:#fff;padding:16px 20px;border-radius:16px;box-shadow:0 2px 8px #00000014}.message.user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.content-cn{margin:0 0 8px;font-size:16px;line-height:1.6;color:#1f2937}.message.user .content-cn{color:#fff}.content-en{margin:0;font-size:14px;color:#6b7280;font-style:italic;line-height:1.5}.message.user .content-en{color:#ffffffe6}.words-showcase{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.word-bubble{padding:8px 16px;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:20px;color:#667eea;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s}.word-bubble:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.examples-list{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:10px}.example-item{padding:12px 16px;background:#f9fafb;border-left:3px solid #667eea;border-radius:8px;font-size:14px;color:#4b5563;line-height:1.6}.next-step-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:24px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;align-self:center;margin-top:12px;animation:pulse 2s infinite}.next-step-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.input-area{padding:20px 24px;background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:12px}.message-input{flex:1;padding:14px 20px;border:2px solid #e5e7eb;border-radius:24px;font-size:15px;outline:none;transition:all .3s}.message-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.send-btn{width:48px;height:48px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #667eea4d}.send-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px #667eea66}@keyframes messageSlide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:3px}.messages-area::-webkit-scrollbar-thumb:hover{background:#a5b4fc}@media(max-width:768px){.ai-tutor-container{width:100%;height:100vh;border-radius:0}.message-content{max-width:85%}.tutor-header{padding:16px 20px}.tutor-info h3{font-size:18px}.messages-area{padding:20px 16px}}.textbook-analyzer-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.textbook-analyzer-modal{background:#fff;border-radius:24px;width:90%;max-width:900px;max-height:90vh;overflow:hidden;box-shadow:0 24px 48px #0003;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px 32px;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:28px;font-weight:700}.close-btn{background:#fff3;border:none;color:#fff;font-size:32px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-content{padding:32px;max-height:calc(90vh - 96px);overflow-y:auto}.upload-section{padding:48px 0}.upload-area{border:3px dashed #c7d2fe;border-radius:16px;padding:64px 32px;text-align:center;background:linear-gradient(135deg,#f9fafb,#e0e7ff);transition:all .3s}.upload-area:hover{border-color:#667eea;background:linear-gradient(135deg,#e0e7ff,#ddd6fe)}.upload-area svg{color:#667eea;margin-bottom:24px}.upload-area h3{font-size:24px;color:#1f2937;margin:0 0 12px}.upload-area p{color:#6b7280;margin:0 0 32px;font-size:16px}.upload-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}.analyzing-section{text-align:center;padding:64px 32px}.analyzing-section svg.spinning{color:#667eea;animation:spin 1s linear infinite;margin-bottom:24px}.analyzing-section h3{font-size:24px;color:#1f2937;margin:0 0 48px}.analyzing-steps{display:flex;flex-direction:column;gap:16px;max-width:400px;margin:0 auto}.step{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#f3f4f6;border-radius:12px;color:#9ca3af;transition:all .3s}.step.active{background:#e0e7ff;color:#667eea}.step svg{flex-shrink:0}.analysis-result{animation:fadeIn .5s ease}.book-info{display:flex;align-items:center;gap:24px;padding:24px;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:16px;margin-bottom:32px}.book-cover{width:80px;height:80px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#667eea;box-shadow:0 4px 12px #0000001a}.book-details h3{margin:0 0 8px;font-size:24px;color:#1f2937}.book-details p{margin:0 0 8px;color:#4b5563;font-size:16px}.page-count{display:inline-block;padding:4px 12px;background:#fff;border-radius:8px;font-size:14px;color:#667eea;font-weight:600}.units-list h4{font-size:20px;color:#1f2937;margin:0 0 20px}.units-list{display:flex;flex-direction:column;gap:16px}.unit-card{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s}.unit-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.unit-header h5{margin:0 0 4px;font-size:18px;color:#1f2937}.unit-title-cn{margin:0 0 16px;color:#6b7280;font-size:14px}.unit-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.topic-tag{padding:6px 12px;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);color:#667eea;border-radius:8px;font-size:13px;font-weight:600}.unit-stats{display:flex;gap:24px;font-size:14px;color:#6b7280;padding-top:12px;border-top:1px solid #e5e7eb}.unit-detail{animation:slideIn .4s ease}.back-btn{background:#f3f4f6;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:15px;color:#4b5563;margin-bottom:24px;transition:all .3s}.back-btn:hover{background:#e5e7eb}.unit-content h3{margin:0 0 8px;font-size:26px;color:#1f2937}.unit-subtitle{margin:0 0 32px;color:#6b7280;font-size:16px}.section{margin-bottom:32px}.section h4{font-size:18px;color:#1f2937;margin:0 0 16px}.key-points{list-style:none;padding:0;margin:0}.key-points li{padding:12px 16px 12px 48px;background:#f9fafb;border-left:4px solid #667eea;border-radius:8px;margin-bottom:12px;position:relative;color:#4b5563}.key-points li:before{content:"✓";position:absolute;left:16px;color:#667eea;font-weight:700;font-size:18px}.vocab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.vocab-item{padding:10px 16px;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:8px;text-align:center;font-weight:600;color:#667eea;font-size:15px}.grammar-list{display:flex;flex-direction:column;gap:12px}.grammar-item{padding:14px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#4b5563;font-size:15px}.start-learning-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d;margin-top:32px}.start-learning-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.textbook-analyzer-modal{width:95%;max-height:95vh}.modal-header{padding:20px 24px}.modal-header h2{font-size:22px}.modal-content{padding:24px 20px}.vocab-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.unit-stats{flex-direction:column;gap:8px}}.listening-training{width:100%;min-height:100vh;padding-bottom:80px}.mode-selection{padding:20px}.mode-header h2{font-size:28px;margin:10px 0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mode-subtitle{color:#666;font-size:14px}.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:600px;margin:0 auto}.mode-card{background:#fff;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative;overflow:hidden}.mode-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);opacity:0;transition:opacity .3s ease}.mode-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #667eea4d}.mode-card h3{font-size:18px;margin:8px 0;color:#333;position:relative;z-index:1}.mode-desc{color:#666;font-size:13px;margin:8px 0;position:relative;z-index:1}.feature-tag{background:#667eea1a;color:#667eea;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.word-mode{border-color:#4caf50}.word-mode:hover{border-color:#4caf50;box-shadow:0 12px 24px #4caf504d}.sentence-mode{border-color:#2196f3}.sentence-mode:hover{border-color:#2196f3;box-shadow:0 12px 24px #2196f34d}.dialogue-mode{border-color:#ff9800}.dialogue-mode:hover{border-color:#ff9800;box-shadow:0 12px 24px #ff98004d}.passage-mode{border-color:#9c27b0}.passage-mode:hover{border-color:#9c27b0;box-shadow:0 12px 24px #9c27b04d}.training-view{padding:20px;max-width:600px;margin:0 auto}.training-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.training-progress{display:flex;flex-direction:column;align-items:flex-end}.progress-text{font-size:16px;font-weight:600;color:#333}.score-text{font-size:13px;color:#667eea;font-weight:500}.audio-player-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;padding:32px;margin-bottom:24px;text-align:center;box-shadow:0 8px 24px #667eea4d}.audio-wave{height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:20px;gap:12px}.audio-icon{color:#fff;opacity:.9}.wave-bars{display:flex;gap:6px;align-items:center;height:60px}.wave-bars span{width:4px;background:#fff;border-radius:4px;animation:wave 1s ease-in-out infinite}.wave-bars span:nth-child(1){animation-delay:0s}.wave-bars span:nth-child(2){animation-delay:.1s}.wave-bars span:nth-child(3){animation-delay:.2s}.wave-bars span:nth-child(4){animation-delay:.3s}.wave-bars span:nth-child(5){animation-delay:.4s}@keyframes wave{0%,to{height:20px}50%{height:60px}}.current-speaker{color:#fff;font-size:15px;font-weight:600;padding:6px 16px;background:#fff3;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:speakerPulse 1.5s ease-in-out infinite;border:1px solid rgba(255,255,255,.3)}@keyframes speakerPulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.audio-controls{display:flex;flex-direction:column;align-items:center;gap:12px}.play-btn{background:#fff;color:#667eea;border:none;border-radius:50px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.play-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #00000026}.play-btn.playing{background:#fff3;color:#fff}.play-count{color:#fff;font-size:13px;opacity:.9}.hint-box{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:12px 16px;color:#fff;font-size:14px;margin-top:16px;border:1px solid rgba(255,255,255,.3)}.answer-area{background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 16px #00000014}.input-area{margin-bottom:24px}.input-label{display:block;font-size:15px;font-weight:600;color:#333;margin-bottom:12px}.answer-input{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;transition:all .3s ease;font-family:Courier New,monospace}.answer-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.answer-input:disabled{background:#f5f5f5;cursor:not-allowed}.options-area{margin-bottom:24px}.question-text{font-size:17px;font-weight:600;color:#333;margin-bottom:8px}.question-translation{font-size:13px;color:#666;margin-bottom:20px}.option-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:12px;font-size:15px;color:#333}.option-btn:hover:not(:disabled){border-color:#667eea;background:#667eea0d}.option-btn.selected{border-color:#667eea;background:#667eea1a}.option-btn.correct{border-color:#4caf50;background:#4caf501a}.option-btn.wrong{border-color:#f44336;background:#f443361a}.option-btn:disabled{cursor:not-allowed}.option-label{background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.option-btn.correct .option-label{background:#4caf50}.option-btn.wrong .option-label{background:#f44336}.result-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;text-align:center;border:2px solid;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.correct-result{border-color:#4caf50;background:#4caf500d}.wrong-result{border-color:#f44336;background:#f443360d}.result-icon{font-size:48px;margin-bottom:12px}.result-card h3{font-size:20px;margin:8px 0}.correct-answer{font-size:16px;font-weight:600;color:#333;margin:12px 0;padding:12px;background:#00000008;border-radius:8px;font-family:Courier New,monospace}.translation-text{color:#666;font-size:14px;margin-top:8px}.action-buttons{display:flex;gap:12px}.submit-btn,.next-btn{flex:1;padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.next-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.result-title{font-size:28px;margin:16px 0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.result-stats{display:flex;justify-content:center;align-items:center;gap:24px;margin:32px 0;padding:24px;background:#667eea0d;border-radius:16px}.stat-value{font-size:32px;font-weight:700;color:#667eea;margin-bottom:4px}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.change-mode-btn{background:#fff;color:#667eea;border:2px solid #667eea}.retry-btn:hover,.change-mode-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea33}.back-btn{background:transparent;border:none;color:#667eea;font-size:16px;font-weight:600;cursor:pointer;padding:8px 16px;transition:all .3s ease}.back-btn:hover{background:#667eea1a;border-radius:8px}@media(max-width:480px){.mode-cards{grid-template-columns:1fr}.result-container{padding:32px 24px}.result-stats{gap:16px}}.speaking-practice{width:100%;min-height:100vh;padding-bottom:80px;background:radial-gradient(circle at 20% 20%,rgba(56,189,248,.12),transparent 28%),radial-gradient(circle at 80% 0%,rgba(168,85,247,.18),transparent 30%),linear-gradient(180deg,#0f172a,#111827,#0b1220);color:#e5e7eb}.mode-selection{padding:24px 20px;max-width:960px;margin:0 auto}.mode-header{text-align:center;margin-bottom:30px}.mode-header h2{font-size:28px;margin:10px 0;background:linear-gradient(135deg,#22d3ee,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.mode-subtitle{color:#9ca3af;font-size:14px}.mode-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:760px;margin:0 auto}.mode-card{background:#ffffff0a;border-radius:18px;padding:20px;cursor:pointer;transition:all .3s ease;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#22d3ee26,#a855f726);opacity:0;transition:opacity .3s ease}.mode-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #0f172a59;border-color:#ffffff29}.mode-card:hover:before{opacity:1}.mode-icon{font-size:48px;margin-bottom:12px;position:relative;z-index:1}.mode-card h3{font-size:18px;margin:8px 0;color:#e5e7eb;position:relative;z-index:1}.mode-desc{color:#cbd5e1;font-size:13px;margin:8px 0;position:relative;z-index:1}.mode-features{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap;position:relative;z-index:1}.feature-tag{background:#ffffff0f;color:#22d3ee;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:500}.repeat-mode:hover{box-shadow:0 18px 36px #22d3ee59}.dialogue-mode:hover{box-shadow:0 18px 36px #a855f759}.topic-mode:hover{box-shadow:0 18px 36px #fbbf2459}.practice-view{padding:20px;max-width:720px;margin:0 auto}.practice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.practice-progress{display:flex;flex-direction:column;align-items:flex-end}.progress-text{font-size:16px;font-weight:600;color:#e5e7eb}.score-text{font-size:13px;color:#22d3ee;font-weight:500}.demo-card{background:linear-gradient(135deg,#22d3ee38,#a855f752);border-radius:22px;padding:32px;margin-bottom:24px;text-align:center;box-shadow:0 14px 36px #0f172a66}.demo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.demo-label{background:#ffffff2e;color:#fff;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.difficulty-badge{background:#ffffff40;color:#fff;padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600}.difficulty-badge.easy{background:#4caf504d}.difficulty-badge.medium{background:#ff98004d}.difficulty-badge.hard{background:#f443364d}.target-text{font-size:28px;font-weight:700;color:#fff;margin:16px 0;line-height:1.4}.phonetic-text{font-size:16px;color:#ffffffe6;font-style:italic;margin:8px 0}.translation-text{font-size:15px;color:#fffc;margin:12px 0 24px}.demo-btn{background:#fff;color:#f5576c;border:none;border-radius:50px;padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 12px #0000001a}.demo-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 6px 16px #00000026}.demo-btn.playing{background:#fff3;color:#fff}.demo-btn:disabled{opacity:.6;cursor:not-allowed}.recording-card{background:#fff;border-radius:20px;padding:32px;margin-bottom:24px;box-shadow:0 4px 16px #00000014}.recording-status{min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:24px}.status-idle{text-align:center}.mic-icon{color:#f5576c;opacity:.5;margin-bottom:16px}.status-idle p{color:#666;font-size:15px}.status-recording{text-align:center}.recording-pulse{position:relative;display:inline-block;margin-bottom:20px}.recording-pulse:before,.recording-pulse:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:3px solid #f5576c;border-radius:50%;animation:pulse 2s ease-out infinite}.recording-pulse:after{animation-delay:1s}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.mic-icon-active{color:#f5576c;animation:bounce 1s ease-in-out infinite}.status-recording p{color:#f5576c;font-size:16px;font-weight:600;margin:8px 0}.recording-hint{font-size:13px!important;color:#999!important;font-weight:400!important}.status-result{width:100%}.transcript-box{background:#f093fb0d;border-radius:16px;padding:20px;border:2px solid rgba(240,147,251,.2)}.transcript-box h4{font-size:14px;color:#666;margin-bottom:12px}.user-transcript{font-size:18px;color:#333;font-weight:600;line-height:1.6;font-family:Courier New,monospace}.recording-controls{display:flex;justify-content:center;gap:12px}.record-btn,.stop-btn{padding:16px 32px;border:none;border-radius:50px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease}.record-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 4px 16px #f093fb4d}.record-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f093fb66}.record-btn:disabled{opacity:.5;cursor:not-allowed}.stop-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);color:#fff;box-shadow:0 4px 16px #ff6b6b4d}.stop-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff6b6b66}.result-card{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 16px #00000014;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-content{text-align:center;margin-bottom:24px}.result-icon{font-size:64px;margin-bottom:16px;animation:popIn .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.result-content h3{font-size:24px;margin:12px 0;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.score-display{font-size:48px;font-weight:700;color:#f5576c;margin:16px 0}.score-hint{color:#666;font-size:14px;margin-top:8px}.retry-hint{color:#666;font-size:14px;margin-top:12px}.next-btn{width:100%;padding:16px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #4caf504d}.result-view{padding:40px 20px;display:flex;align-items:center;justify-content:center;min-height:70vh}.result-container{background:#fff;border-radius:24px;padding:40px;text-align:center;max-width:480px;width:100%;box-shadow:0 8px 32px #0000001a}.result-badge{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:64px;margin:0 auto 24px;animation:popIn .5s cubic-bezier(.68,-.55,.265,1.55)}.result-badge.excellent{background:linear-gradient(135deg,gold,orange)}.result-badge.good{background:linear-gradient(135deg,#4caf50,#45a049)}.result-badge.pass{background:linear-gradient(135deg,#2196f3,#1976d2)}.result-badge.fail{background:linear-gradient(135deg,#ff9800,#f57c00)}.result-title{font-size:28px;margin:16px 0;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.result-stats{display:flex;justify-content:center;align-items:center;gap:24px;margin:32px 0;padding:24px;background:#f093fb0d;border-radius:16px}.stat-value{font-size:32px;font-weight:700;color:#f5576c;margin-bottom:4px}.stat-label{font-size:13px;color:#666}.stat-divider{width:1px;height:40px;background:#e0e0e0}.result-actions{display:flex;flex-direction:column;gap:12px;margin-top:32px}.retry-btn,.change-mode-btn,.exit-btn{padding:16px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.retry-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.change-mode-btn{background:#fff;color:#f5576c;border:2px solid #f5576c}.exit-btn{background:transparent;color:#999;border:none}.retry-btn:hover,.change-mode-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #f093fb33}.back-btn{background:transparent;border:none;color:#f5576c;font-size:16px;font-weight:600;cursor:pointer;padding:8px 16px;transition:all .3s ease}.back-btn:hover{background:#f093fb1a;border-radius:8px}.coming-soon-view{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.coming-soon-card h2{font-size:32px;margin-bottom:16px;background:linear-gradient(135deg,#f093fb,#f5576c);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.coming-soon-card .back-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:12px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.coming-soon-card .back-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #f093fb4d}@media(max-width:480px){.mode-cards{grid-template-columns:1fr}.result-container{padding:32px 24px}.result-stats{gap:16px}.target-text{font-size:24px}}.comparison-controls{display:flex;gap:12px;margin-top:16px;justify-content:center}.comparison-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #ddd;border-radius:8px;background:#fff;color:#666;font-size:14px;cursor:pointer;transition:all .3s ease}.comparison-btn:hover{background:#f5f5f5;border-color:#4caf50;color:#4caf50}.comparison-btn:first-child:hover{border-color:#2196f3;color:#2196f3}.reading-comprehension{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e8f0fe);padding:20px}.mode-selection{max-width:1000px;margin:0 auto}.difficulty-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:30px}.difficulty-card{background:#fff;border-radius:20px;padding:32px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000014;border:3px solid transparent}.difficulty-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.difficulty-card.easy{border-color:#a8e6cf}.difficulty-card.easy:hover{background:linear-gradient(135deg,#a8e6cf,#dcedc1)}.difficulty-card.medium{border-color:#ffd3b6}.difficulty-card.medium:hover{background:linear-gradient(135deg,#ffd3b6,#ffaaa5)}.difficulty-card.hard{border-color:#ff8b94}.difficulty-card.hard:hover{background:linear-gradient(135deg,#ff8b94,#ffaaa5)}.difficulty-icon{font-size:56px;margin-bottom:16px}.difficulty-card h3{font-size:24px;color:#2c3e50;margin-bottom:12px}.difficulty-desc{color:#7f8c8d;font-size:14px;margin-bottom:20px}.difficulty-features{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.reading-view{max-width:900px;margin:0 auto;display:flex;flex-direction:column;height:100vh;overflow:hidden}.reading-top-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:2px solid #f0f0f0;flex-shrink:0}.reading-info{display:flex;gap:12px;align-items:center}.difficulty-badge{padding:6px 16px;border-radius:20px;font-size:14px;font-weight:600;color:#fff}.difficulty-badge.easy{background:linear-gradient(135deg,#a8e6cf,#56ab2f)}.difficulty-badge.medium{background:linear-gradient(135deg,#ffd3b6,#ff8008)}.difficulty-badge.hard{background:linear-gradient(135deg,#ff8b94,#e94057)}.word-count{background:#fff;padding:6px 16px;border-radius:20px;font-size:14px;color:#555;box-shadow:0 2px 8px #0000001a}.passage-section{background:#fff;flex-shrink:0;transition:all .3s ease;border-bottom:2px solid #f0f0f0;box-shadow:0 2px 8px #0000000d}.passage-section.expanded{max-height:50vh;overflow-y:auto}.passage-section.collapsed{max-height:60px;overflow:hidden}.passage-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;background:linear-gradient(135deg,#667eea10,#764ba210);border-bottom:1px solid #e0e0e0;transition:all .2s ease}.passage-header:hover{background:linear-gradient(135deg,#667eea20,#764ba220)}.passage-header-left{display:flex;align-items:center;gap:12px}.passage-header-left h3{margin:0;font-size:18px;color:#2c3e50;font-weight:700}.toggle-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:20px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.toggle-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.passage-body{padding:24px 20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.passage-content{font-size:16px;line-height:1.8;color:#34495e;text-align:justify;margin-bottom:20px;letter-spacing:.3px}.passage-translation{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:12px;border-left:4px solid #3498db}.passage-translation summary{cursor:pointer;font-weight:600;color:#3498db;-webkit-user-select:none;user-select:none;padding:4px}.passage-translation summary:hover{color:#2980b9}.passage-translation p{margin-top:12px;line-height:1.8;color:#555;font-size:14px}.questions-scroll-section{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8f9fa}.questions-header{display:flex;align-items:center;gap:8px;padding:16px 20px;background:#fff;border-bottom:2px solid #f0f0f0;font-size:18px;font-weight:700;color:#2c3e50;flex-shrink:0}.answer-progress{margin-left:auto;font-size:14px;color:#7f8c8d;font-weight:500}.questions-list{flex:1;overflow-y:auto;padding:16px 20px 100px}.questions-list::-webkit-scrollbar{width:8px}.questions-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.questions-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.questions-list::-webkit-scrollbar-thumb:hover{background:#764ba2}.question-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:0 2px 12px #0000000f;transition:all .3s ease}.question-card:hover{box-shadow:0 4px 20px #0000001a}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.question-number{font-weight:700;color:#3498db;font-size:14px}.question-type{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff}.question-type.choice{background:linear-gradient(135deg,#667eea,#764ba2)}.question-type.true-false{background:linear-gradient(135deg,#f093fb,#f5576c)}.question-text{font-size:16px;color:#2c3e50;margin-bottom:8px;font-weight:500;line-height:1.6}.question-translation{font-size:14px;color:#7f8c8d;margin-bottom:16px;font-style:italic}.options-list{display:flex;flex-direction:column;gap:12px}.option-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:all .3s ease;font-size:15px;color:#2c3e50;display:flex;align-items:center;gap:12px}.option-btn:hover:not(:disabled){border-color:#3498db;background:#f0f8ff;transform:translate(4px)}.option-btn.selected{border-color:#3498db;background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-weight:600}.option-btn.correct{border-color:#27ae60;background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.option-btn.wrong{border-color:#e74c3c;background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.option-btn:disabled{cursor:not-allowed;opacity:.9}.option-label{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f0f0f0;border-radius:50%;font-weight:700;font-size:14px;flex-shrink:0}.option-btn.selected .option-label{background:#3498db;color:#fff}.option-btn.correct .option-label{background:#27ae60;color:#fff}.option-btn.wrong .option-label{background:#e74c3c;color:#fff}.true-false-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.tf-btn{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;font-size:16px;font-weight:600;color:#2c3e50}.tf-btn:hover:not(:disabled){border-color:#3498db;transform:scale(1.05)}.tf-btn.selected{border-color:#3498db;background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.tf-btn.correct{border-color:#27ae60;background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.tf-btn.wrong{border-color:#e74c3c;background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.tf-btn:disabled{cursor:not-allowed;opacity:.9}.answer-explanation{margin-top:16px;padding:12px 16px;background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;font-size:14px;color:#856404}.submit-bar{position:sticky;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #f0f0f0;padding:16px 20px;text-align:center;box-shadow:0 -4px 12px #00000014;z-index:10}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:30px;padding:16px 48px;font-size:18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.submit-btn:disabled{background:#bdc3c7;cursor:not-allowed;box-shadow:none}.submit-hint{margin-top:12px;color:#7f8c8d;font-size:14px}.result-summary{background:#fff;border-radius:20px;padding:32px 20px;margin:16px 20px 80px;text-align:center;box-shadow:0 8px 24px #0000001f;animation:slideUp .5s ease}.result-content{margin-bottom:24px}.result-content h3{font-size:24px;color:#2c3e50;margin-bottom:8px}.result-stats{font-size:15px;color:#7f8c8d}.result-actions{display:flex;gap:12px;justify-content:center}.retry-btn,.change-level-btn{padding:12px 28px;border-radius:30px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:inline-flex;align-items:center;gap:8px}.retry-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 15px #667eea66}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.change-level-btn{background:#fff;color:#667eea;border:2px solid #667eea}.change-level-btn:hover{background:#667eea;color:#fff}.back-btn:hover{border-color:#3498db;color:#3498db;transform:translate(-4px)}@media(max-width:768px){.reading-comprehension{padding:0}.difficulty-cards{grid-template-columns:1fr;padding:0 16px}.reading-view{height:100vh}.passage-section.expanded{max-height:40vh}.passage-body{padding:20px 16px}.passage-content{font-size:15px;line-height:1.7}.questions-list{padding:12px 16px 100px}.question-card{padding:20px 16px}.true-false-options{grid-template-columns:1fr}.result-actions{flex-direction:column}.retry-btn,.change-level-btn{width:100%;justify-content:center}.submit-btn{padding:14px 36px;font-size:16px}}@media(min-width:769px)and (max-width:1024px){.passage-section.expanded{max-height:45vh}}.writing-practice{min-height:100vh;background:linear-gradient(135deg,#ffecd2,#fcb69f)}.mode-selection{max-width:1000px;margin:0 auto;padding:20px}.mode-header{text-align:center;margin-bottom:40px}.mode-header h2{font-size:32px;color:#2c3e50;margin:20px 0 10px}.mode-subtitle{color:#7f8c8d;font-size:16px}.writing-modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:30px}.writing-mode-card{background:#fff;border-radius:20px;padding:32px;text-align:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000014;border:3px solid transparent}.writing-mode-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.writing-mode-card.spelling{border-color:#ffd93d}.writing-mode-card.spelling:hover{background:linear-gradient(135deg,#ffd93d20,#ffed4e20)}.writing-mode-card.sentence{border-color:#6bcf7f}.writing-mode-card.sentence:hover{background:linear-gradient(135deg,#6bcf7f20,#4fd166 20)}.writing-mode-card.essay{border-color:#ee9ca7}.writing-mode-card.essay:hover{background:linear-gradient(135deg,#ee9ca720,#ffdde120)}.mode-icon{font-size:56px;margin-bottom:16px}.writing-mode-card h3{font-size:24px;color:#2c3e50;margin-bottom:12px}.mode-desc{color:#7f8c8d;font-size:14px;margin-bottom:20px}.mode-features{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.feature-tag{background:#ecf0f1;color:#34495e;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:500}.writing-view{max-width:800px;margin:0 auto;padding:20px;min-height:100vh}.writing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.progress-info,.word-counter{background:#fff;padding:8px 20px;border-radius:20px;font-weight:600;color:#555;box-shadow:0 2px 8px #0000001a}.spelling-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 4px 20px #0000001a}.word-audio-section{text-align:center;margin-bottom:32px}.play-audio-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:50px;padding:16px 40px;font-size:18px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.play-audio-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #667eea99}.phonetic{margin-top:20px;font-size:20px;color:#667eea;font-family:Courier New,monospace}.translation{margin-top:8px;font-size:18px;color:#7f8c8d}.hint-section{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff3cd;border-radius:12px;margin-bottom:24px;color:#856404;font-size:15px}.input-section{margin-bottom:24px}.spelling-input{width:100%;padding:16px 20px;font-size:20px;border:2px solid #e0e0e0;border-radius:12px;text-align:center;transition:all .3s ease;font-weight:600;letter-spacing:2px}.spelling-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.spelling-input:disabled{background:#f8f9fa;cursor:not-allowed}.sentence-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 4px 20px #0000001a}.prompt-section{text-align:center;margin-bottom:24px}.prompt-section h3{font-size:22px;color:#2c3e50;margin-bottom:16px}.chinese-prompt{font-size:24px;color:#34495e;font-weight:600;padding:20px;background:#f8f9fa;border-radius:12px;border-left:4px solid #6bcf7f}.textarea-section{margin-bottom:24px}.sentence-textarea{width:100%;padding:16px 20px;font-size:18px;border:2px solid #e0e0e0;border-radius:12px;transition:all .3s ease;font-family:Arial,sans-serif;resize:vertical}.sentence-textarea:focus{outline:none;border-color:#6bcf7f;box-shadow:0 0 0 3px #6bcf7f1a}.sentence-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.essay-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 4px 20px #0000001a}.topic-section{margin-bottom:24px}.topic-section h3{font-size:26px;color:#2c3e50;margin-bottom:12px}.essay-prompt{font-size:16px;color:#555;line-height:1.8;padding:16px;background:#f8f9fa;border-radius:12px;border-left:4px solid #ee9ca7}.keywords-section{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#e8f5e9;border-radius:12px;margin-bottom:24px;flex-wrap:wrap;color:#2e7d32}.keywords-list{display:flex;gap:8px;flex-wrap:wrap}.keyword-tag{background:#fff;color:#2e7d32;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;border:1px solid #2e7d32}.essay-textarea-section{margin-bottom:24px}.essay-textarea{width:100%;padding:20px;font-size:16px;border:2px solid #e0e0e0;border-radius:12px;transition:all .3s ease;font-family:Arial,sans-serif;line-height:1.8;resize:vertical}.essay-textarea:focus{outline:none;border-color:#ee9ca7;box-shadow:0 0 0 3px #ee9ca71a}.essay-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.check-btn,.submit-essay-btn{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:30px;padding:16px;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.check-btn:hover:not(:disabled),.submit-essay-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.check-btn:disabled,.submit-essay-btn:disabled{background:#bdc3c7;cursor:not-allowed;box-shadow:none}.back-btn{background:#fff;border:2px solid #e0e0e0;border-radius:30px;padding:10px 24px;font-size:15px;font-weight:600;color:#555;cursor:pointer;transition:all .3s ease}.back-btn:hover{border-color:#667eea;color:#667eea;transform:translate(-4px)}.result-section{margin-top:24px;animation:slideUp .5s ease}.result-badge{padding:16px;border-radius:12px;text-align:center;font-size:20px;font-weight:700;margin-bottom:20px}.result-badge.correct{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.result-badge.wrong{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.result-badge.partial{background:linear-gradient(135deg,#fff3cd,#ffeeba);color:#856404}.correct-answer-box{padding:16px;background:#f8f9fa;border-radius:12px;margin-bottom:16px;border-left:4px solid #667eea}.correct-answer-box p{margin:8px 0;font-size:16px;color:#2c3e50}.answer-comparison{display:grid;gap:16px;margin-bottom:20px}.user-answer-box,.correct-answer-box{padding:16px;border-radius:12px}.user-answer-box{background:#e3f2fd;border-left:4px solid #2196f3}.user-answer-box strong,.correct-answer-box strong{display:block;margin-bottom:8px;color:#2c3e50}.user-answer-box p,.correct-answer-box p{font-size:16px;color:#34495e;line-height:1.6}.next-btn{width:100%;background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;border:none;border-radius:30px;padding:16px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #6bcf7f66}.next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6bcf7f99}.essay-result-section{margin-top:24px;animation:slideUp .5s ease}.score-display{text-align:center;margin-bottom:32px}.score-circle{width:120px;height:120px;margin:0 auto 20px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 24px #667eea66;animation:popIn .6s cubic-bezier(.68,-.55,.265,1.55)}.score-number{font-size:48px;font-weight:800;color:#fff;line-height:1}.score-label{font-size:16px;color:#fff;font-weight:600}.score-display h3{font-size:24px;color:#2c3e50;margin-top:16px}.feedback-list{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:24px}.feedback-item{padding:12px;margin-bottom:8px;background:#fff;border-radius:8px;font-size:15px;color:#2c3e50;border-left:3px solid #667eea}.feedback-item:last-child{margin-bottom:0}.essay-actions{display:flex;gap:12px}.retry-btn,.done-btn{flex:1;padding:14px;border-radius:30px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:8px}.retry-btn{background:#fff;color:#667eea;border:2px solid #667eea}.retry-btn:hover{background:#667eea;color:#fff}.done-btn{background:linear-gradient(135deg,#6bcf7f,#4fd166);color:#fff;box-shadow:0 4px 15px #6bcf7f66}.done-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6bcf7f99}@keyframes popIn{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}@media(max-width:768px){.writing-practice{padding:0}.mode-selection{padding:16px}.writing-modes-grid{grid-template-columns:1fr}.writing-view{padding:16px}.spelling-card,.sentence-card,.essay-card{padding:24px 20px}.essay-actions{flex-direction:column}.retry-btn,.done-btn{width:100%}}.custom-word-bank{position:fixed;inset:0;background:#fff;z-index:2000;display:flex;flex-direction:column;overflow:hidden}.bank-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 10px #0000001a}.bank-header h2{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600}.close-btn{background:#fff3;border:none;color:#fff;padding:.5rem;border-radius:8px;cursor:pointer;transition:background .3s}.close-btn:hover{background:#ffffff4d}.bank-controls{display:flex;gap:1rem;padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap;align-items:center}.search-box,.filter-box{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:.5rem 1rem;flex:1;min-width:200px}.search-box input,.filter-box select{border:none;outline:none;flex:1;font-size:.9rem}.action-buttons{display:flex;gap:.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s;font-weight:500}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-secondary{background:#fff;color:#495057;border:1px solid #dee2e6}.btn-secondary:hover{background:#f8f9fa}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:all .2s}.btn-icon:hover{background:#f8f9fa}.btn-icon.danger:hover{background:#ffebee;color:#dc3545}.words-list{flex:1;overflow-y:auto;padding:1rem}.word-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:start;transition:all .3s;box-shadow:0 2px 4px #0000000d}.word-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.word-main{flex:1}.word-content h3{margin:0 0 .25rem;font-size:1.25rem;color:#212529}.phonetic{color:#6c757d;font-size:.9rem;margin-left:.5rem}.meaning{margin:.5rem 0;color:#495057;font-size:1rem}.example{margin:.5rem 0 0;color:#6c757d;font-size:.9rem;font-style:italic}.word-meta{display:flex;gap:1rem;margin-top:.75rem}.category-tag,.created-time{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:#f8f9fa;border-radius:15px;font-size:.75rem;color:#6c757d}.category-tag{background:linear-gradient(135deg,#f3f0ff,#faf5ff);color:#6f42c1}.word-actions{display:flex;gap:.5rem;margin-left:1rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6c757d}.empty-state svg{margin-bottom:1rem;opacity:.3}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-content h3{margin:0 0 1.5rem;font-size:1.25rem;color:#212529}.import-tip{margin:0 0 1rem;color:#6c757d;font-size:.9rem;line-height:1.5}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#495057}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.query-status{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;color:#0284c7;font-size:.9rem;margin-bottom:1rem}.spinner{transition:transform .6s ease}.spinner.spinning{animation:spin 1s linear infinite}.document-import-modal{max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.document-import-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.document-import-modal .modal-header h3{display:flex;align-items:center;gap:.5rem;margin:0;color:#1f2937}.close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.close-btn:hover{background:#f3f4f6;color:#374151}.import-steps{display:flex;flex-direction:column;gap:2rem}.step h4{margin:0 0 .5rem;color:#374151;font-size:1.1rem}.step p{margin:0 0 1rem;color:#6b7280;font-size:.95rem}.file-upload-area{position:relative;margin-bottom:1rem}.file-upload-area input[type=file]{display:none}.file-upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;transition:all .2s}.file-upload-label:hover{border-color:#6366f1;background:#f0f1ff}.file-upload-label span{color:#374151;font-weight:500}.file-upload-label small{color:#9ca3af}.selected-file{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f0f9ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af}.parse-status{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;color:#92400e;margin-top:.5rem}.step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.select-controls{display:flex;align-items:center;gap:1rem}.select-all-btn{padding:.5rem 1rem;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.9rem;cursor:pointer;transition:all .2s}.select-all-btn:hover{background:#e5e7eb}.selected-count{color:#6b7280;font-size:.9rem}.words-list-container{max-height:400px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px}.words-list{display:flex;flex-direction:column}.word-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .2s}.word-item:last-child{border-bottom:none}.word-item:hover{background:#f9fafb}.word-item.selected{background:#ede9fe;border-color:#c7d2fe}.word-checkbox{padding-top:.125rem}.word-content{flex:1}.word-text{font-weight:500;color:#1f2937;margin-bottom:.25rem}.word-context{font-size:.85rem;color:#6b7280;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.limit-notice{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.9rem}@media(max-width:768px){.bank-controls{flex-direction:column;align-items:stretch}.search-box,.filter-box{min-width:auto}.action-buttons{justify-content:center}.word-item{flex-direction:column;gap:1rem}.word-actions{margin-left:0;align-self:flex-end}.modal-content{padding:1.5rem}.document-import-modal{width:95%;max-height:95vh}.step-header{flex-direction:column;align-items:flex-start;gap:.5rem}.words-list-container{max-height:300px}.word-item{padding:.5rem}.word-context{-webkit-line-clamp:3}}.english-page{min-height:100vh;background:linear-gradient(180deg,#dbeafe,#bfdbfe,#93c5fd);padding-bottom:100px}.loading-state{display:flex;align-items:center;justify-content:center;min-height:100vh}.loading-spinner{text-align:center}.loading-icon{color:#3b82f6;animation:bounce 1.5s ease-in-out infinite;margin-bottom:16px}.loading-spinner p{font-size:16px;color:#1e40af;font-weight:600}.english-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(59,130,246,.2);padding:12px 20px;box-shadow:0 2px 12px #0000000d}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#dbeafe;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#1e40af}.back-btn:hover{background:#bfdbfe;transform:scale(1.05)}.title-flag{font-size:28px;animation:wave 2s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.header-title h1{font-size:20px;font-weight:800;color:#1e40af;margin:0}.home-view{padding:24px 20px;max-width:600px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.quick-start-section{margin-bottom:32px}.quick-start-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-btn{background:#fff;border:none;border-radius:16px;padding:20px 16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.quick-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.quick-btn svg{color:#667eea}.quick-btn span{font-size:15px;font-weight:700;color:#1f2937}.quick-btn p{font-size:12px;color:#6b7280;margin:0}.quick-btn.story{background:linear-gradient(135deg,#ffecd2,#fcb69f)}.quick-btn.story:hover{background:linear-gradient(135deg,#fcb69f,#ff9a9e)}.quick-btn.custom{background:linear-gradient(135deg,#e0c3fc,#8ec5fc)}.quick-btn.custom:hover{background:linear-gradient(135deg,#8ec5fc,#e0c3fc)}.learning-modules-section{margin-bottom:32px}.modules-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.module-card{background:#fff;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000000f;position:relative;overflow:hidden}.module-card:hover{transform:translateY(-6px);box-shadow:0 8px 24px #0000001f}.module-icon{width:56px;height:56px;background:linear-gradient(135deg,#e0e7ff,#ddd6fe);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#667eea;margin-bottom:12px}.module-card h3{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 6px}.module-card p{font-size:13px;color:#6b7280;margin:0 0 10px}.module-badge{display:inline-block;padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:11px;font-weight:600}.stat-card{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:12px;box-shadow:0 4px 12px #00000014;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.stat-card.mastered .stat-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.stat-card.streak .stat-icon{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#c2410c}.stat-value{font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}.stat-card.mastered .stat-value{color:#1e40af}.stat-card.streak .stat-value{color:#c2410c}.stat-label{font-size:13px;color:#6b7280;font-weight:600}.random-learn-btn{width:100%;display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:20px;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 24px #667eea66;margin-bottom:32px;position:relative;overflow:hidden}.random-learn-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.random-learn-btn:hover:before{left:100%}.random-learn-btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px #667eea80}.random-learn-btn:active{transform:translateY(-2px)}.btn-icon{color:#fff;flex-shrink:0}.btn-content{flex:1;text-align:left;display:flex;flex-direction:column;gap:4px}.btn-title{font-size:18px;font-weight:700;color:#fff;display:block}.btn-subtitle{font-size:13px;color:#ffffffe6;display:block}.categories-section{margin-top:32px}.section-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#1e40af;margin-bottom:16px}.categories-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.category-card{position:relative;background:#fff;border-radius:16px;padding:20px;cursor:pointer;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000000f;-webkit-tap-highlight-color:transparent}.category-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 8px 20px #0000001f}.category-card:active{transform:translateY(-4px) scale(1.01)}.category-bg{position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;opacity:.15;transition:all .3s ease}.category-card.color-0 .category-bg{background:linear-gradient(135deg,#667eea,#764ba2)}.category-card.color-1 .category-bg{background:linear-gradient(135deg,#f093fb,#f5576c)}.category-card.color-2 .category-bg{background:linear-gradient(135deg,#4facfe,#00f2fe)}.category-card.color-3 .category-bg{background:linear-gradient(135deg,#43e97b,#38f9d7)}.category-card.custom-category{border:2px solid #f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a)}.category-card.custom-category .category-bg{background:linear-gradient(135deg,#f59e0b,#d97706);opacity:.2}.category-card.custom-category:hover{border-color:#d97706;box-shadow:0 8px 20px #f59e0b4d}.category-card.custom-category .category-content h3{color:#92400e;font-weight:800}.category-card.custom-category .category-content p{color:#b45309}.category-card.custom-category .category-arrow{color:#d97706}.category-card:hover .category-bg{opacity:.25;transform:scale(1.3)}.category-content{position:relative;z-index:1}.category-card h3{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:6px}.category-card p{font-size:13px;color:#6b7280;font-weight:500}.category-arrow{position:absolute;bottom:16px;right:16px;font-size:20px;color:#d1d5db;transition:all .3s ease;z-index:1}.category-card:hover .category-arrow{color:#3b82f6;transform:translate(4px)}.learning-view{padding:24px 20px;max-width:600px;margin:0 auto}.progress-card{background:#fff;border-radius:20px;padding:20px;margin-bottom:24px;box-shadow:0 4px 16px #0000001a}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600}.progress-text{display:flex;align-items:center;gap:6px;color:#1e40af}.star-icon{color:#fbbf24}.stats-text{display:flex;gap:12px}.mastered-badge{color:#10b981}.review-badge{color:#ef4444}.progress-bar-wrapper{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:4px;transition:width .5s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:0 0 12px #3b82f680}.progress-shimmer{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s infinite}.word-card-container{margin-bottom:20px}.exit-btn{width:100%;padding:16px;background:#6b7280;color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.exit-btn:hover{background:#4b5563;transform:translateY(-2px);box-shadow:0 6px 16px #0003}.exit-btn:active{transform:translateY(0)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px;text-align:center}.empty-icon{font-size:80px;margin-bottom:24px;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3{font-size:24px;color:#1f2937;margin:0 0 12px;font-weight:700}.empty-state p{font-size:16px;color:#6b7280;margin:0 0 32px}.back-to-home{padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px #667eea4d}.back-to-home:hover{transform:translateY(-2px);box-shadow:0 8px 24px #667eea66}@media(max-width:375px){.stats-grid{gap:10px}.stat-card{padding:16px}.stat-icon{width:42px;height:42px}.stat-value{font-size:24px}.categories-grid{gap:10px}.category-card{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-color-scheme:dark){.english-page{background:linear-gradient(180deg,#1e3a8a,#1e40af,#3b82f6)}.stat-card,.category-card,.progress-card{background:#1e293b}.category-card h3{color:#f1f5f9}.category-card p{color:#94a3b8}}.speaking-view,.reading-view,.writing-view{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.coming-soon-card{background:#fff;border-radius:24px;padding:48px 32px;text-align:center;max-width:400px;width:100%;box-shadow:0 8px 32px #0000001a;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.coming-soon-card h2{font-size:32px;margin-bottom:16px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.coming-soon-card p{font-size:16px;color:#666;margin-bottom:32px}.coming-soon-card .back-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;padding:14px 32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.coming-soon-card .back-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea4d}.summary-view{padding:24px 20px 80px;max-width:540px;margin:0 auto}.summary-card{background:#fff;border-radius:24px;padding:20px;box-shadow:0 12px 30px #0000001f;text-align:center}.summary-title{font-size:20px;font-weight:800;color:#1e40af;margin-bottom:12px}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.summary-item{background:#f8fafc;border-radius:16px;padding:12px;border:1px solid #e5e7eb}.summary-item .label{display:block;font-size:12px;color:#6b7280}.summary-item .value{display:block;margin-top:6px;font-size:18px;font-weight:800;color:#111827}.summary-item .value.success{color:#16a34a}.summary-item .value.warning{color:#d97706}.summary-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.summary-actions .primary-btn,.summary-actions .secondary-btn{border:none;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;transition:all .3s ease}.summary-actions .primary-btn{background:linear-gradient(135deg,#60a5fa,#2563eb);color:#fff;box-shadow:0 8px 18px #2563eb4d}.summary-actions .primary-btn:hover{transform:translateY(-2px)}.summary-actions .secondary-btn{background:#e0f2fe;color:#1d4ed8;border:1px solid #bfdbfe}.summary-actions .secondary-btn:hover{background:#bfdbfe;transform:translateY(-2px)}.camera-upload-container{padding:1rem}.upload-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.upload-button-card.upload-only{grid-column:1 / -1;max-width:500px;margin:0 auto}.upload-button-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:2rem 1.5rem;border-radius:1.25rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #00000014}.upload-button-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#fff0);opacity:0;transition:opacity .3s}.upload-button-card:hover:before{opacity:1}.upload-button-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px #00000026}.upload-button-card:active{transform:translateY(-2px) scale(.98)}.upload-button-card.camera{background:linear-gradient(135deg,#667eea,#764ba2);border:none;box-shadow:0 4px 12px #667eea66}.upload-button-card.camera:hover{box-shadow:0 12px 32px #667eea80}.upload-button-card.gallery{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;box-shadow:0 4px 12px #f093fb66}.upload-button-card.gallery:hover{box-shadow:0 12px 32px #f093fb80}.upload-button-icon{width:72px;height:72px;margin-bottom:1rem;color:#fff;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.upload-button-card:hover .upload-button-icon{animation:bounce .6s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.upload-button-text{font-size:1.25rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:.5px}.upload-button-hint{font-size:.9rem;color:#fffffff2;margin-top:.5rem;font-weight:500}.ai-info-card{background:linear-gradient(135deg,#667eea15,#764ba215);border-left:4px solid #667eea;border-radius:.75rem;padding:1rem;margin-top:1rem}.ai-info-text{font-size:.95rem;color:#374151;line-height:1.6}.ai-info-text strong{color:#667eea;font-weight:600}.image-preview-container{position:relative;border-radius:1rem;overflow:hidden;box-shadow:0 8px 24px #0000001f}.preview-image{width:100%;max-height:60vh;object-fit:contain;background:#f9fafb}.clear-preview-btn{position:absolute;top:.75rem;right:.75rem;padding:.625rem;background:#ef4444f2;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #ef444466}.clear-preview-btn:hover{background:#dc2626;transform:scale(1.1)}.clear-preview-btn:active{transform:scale(.95)}.confirm-recognize-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:.75rem;font-size:1.125rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;transition:all .3s;box-shadow:0 4px 12px #10b9814d}.confirm-recognize-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.confirm-recognize-btn:active{transform:translateY(0)}.recognizing-container{text-align:center;padding:3rem 1.5rem;background:#fff;border-radius:1rem;box-shadow:0 4px 12px #0000001a}.recognizing-spinner{display:inline-block;width:60px;height:60px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.recognizing-title{margin-top:1.5rem;font-size:1.125rem;font-weight:600;color:#1f2937}.recognizing-subtitle{margin-top:.5rem;font-size:.95rem;color:#6b7280}.error-alert{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:4px solid #ef4444;border-radius:.75rem;padding:1rem;margin-bottom:1rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-text{color:#991b1b;font-size:.95rem;line-height:1.5}@media(max-width:640px){.upload-button-card{min-height:120px;padding:1rem}.upload-button-icon{width:48px;height:48px}.upload-button-text{font-size:1rem}}@media(prefers-color-scheme:dark){.ai-info-card{background:#667eea1a}.ai-info-text{color:#e5e7eb}.recognizing-container{background:#1f2937}.recognizing-title{color:#f3f4f6}.recognizing-subtitle{color:#9ca3af}}.message-bubble{display:flex;gap:.75rem;margin-bottom:1rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.message-bubble.ai{align-items:flex-start;flex-direction:row}.message-bubble.student{align-items:flex-start;flex-direction:row-reverse}.message-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.message-bubble.ai .message-avatar{background:#fff;box-shadow:0 2px 8px #0000001a}.message-bubble.student .message-avatar{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #00000026}.message-content{max-width:75%;display:flex;flex-direction:column}.message-text{padding:.875rem 1.125rem;border-radius:1rem;font-size:.95rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;position:relative}.message-bubble.ai .message-text{background:#fff;color:#1f2937;border-top-left-radius:.25rem;box-shadow:0 2px 8px #0000001a}.message-bubble.student .message-text{background:#fffffff2;color:#1f2937;border-top-right-radius:.25rem;box-shadow:0 2px 8px #00000026}.evaluation-badge{display:inline-flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .75rem;border-radius:9999px;font-size:.8rem;font-weight:600;width:fit-content}.message-bubble.ai .evaluation-badge{align-self:flex-start}.message-bubble.student .evaluation-badge{align-self:flex-end}.evaluation-badge.good{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.evaluation-badge.partial{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.evaluation-badge.insufficient{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.message-timestamp{font-size:.75rem;color:#ffffffb3;margin-top:.25rem;-webkit-user-select:none;user-select:none}.message-bubble.ai .message-timestamp{text-align:left}.message-bubble.student .message-timestamp{text-align:right}@keyframes typing{0%{width:0}to{width:100%}}.message-text.typing{overflow:hidden;white-space:nowrap;animation:typing 1s steps(40,end)}.typing-cursor{display:inline-block;margin-left:2px;animation:blink .7s infinite;color:#667eea;font-weight:700}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media(max-width:640px){.message-content{max-width:85%}.message-avatar{width:36px;height:36px;font-size:1.25rem}.message-text{padding:.75rem 1rem;font-size:.9rem}.evaluation-badge{padding:.25rem .625rem;font-size:.75rem}}.message-bubble:focus-within{outline:2px solid rgba(255,255,255,.5);outline-offset:4px;border-radius:1rem}.progress-tracker{padding:.75rem 1rem;background:#fffffff2;border-radius:.75rem;box-shadow:0 2px 6px #00000014;margin:0 1rem .75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-section{margin-bottom:.5rem}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.progress-label{font-size:.75rem;font-weight:600;color:#6b7280}.progress-value{font-size:.875rem;font-weight:700;color:#667eea}.progress-bar-container{height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:9999px;transition:width .5s ease-out}.understanding-section{margin-bottom:.5rem}.understanding-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.375rem}.understanding-label{font-size:.75rem;font-weight:600;color:#6b7280}.understanding-value{font-size:.875rem;font-weight:700}.understanding-bar-container{height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden;margin-bottom:.25rem}.understanding-bar-fill{height:100%;border-radius:9999px;transition:width .5s ease-out,background-color .3s ease}.understanding-status{font-size:.7rem;font-weight:600;display:inline-block}.milestones{display:flex;justify-content:space-between;align-items:center;gap:.25rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e5e7eb}.milestone{flex:1;height:24px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#9ca3af;background:#f3f4f6;border-radius:.375rem;transition:all .3s ease}.milestone.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.milestone.current{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 6px #667eea66;transform:scale(1.1);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1.1);opacity:1}50%{transform:scale(1.15);opacity:.9}}@media(max-width:640px){.progress-tracker{padding:.625rem .875rem;margin:0 .75rem .625rem}.progress-label,.understanding-label{font-size:.7rem}.progress-value,.understanding-value{font-size:.8rem}.progress-bar-container,.understanding-bar-container{height:5px}.milestone{height:20px;font-size:.65rem}}.progress-bars{display:flex;flex-direction:column;gap:1rem}.progress-item{display:flex;flex-direction:column;gap:.5rem}.progress-label{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;font-weight:600}.label-text{display:flex;align-items:center;gap:.375rem;color:#374151}.label-icon{font-size:1rem}.label-value{color:#6b7280;font-weight:500}.progress-bar-container{height:10px;background:#e5e7eb;border-radius:9999px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;border-radius:9999px;transition:width .5s ease-out,background .3s ease;position:relative;overflow:hidden}.progress-item.steps .progress-bar-fill{background:linear-gradient(90deg,#667eea,#764ba2)}.progress-item.understanding .progress-bar-fill.low{background:linear-gradient(90deg,#ef4444,#dc2626)}.progress-item.understanding .progress-bar-fill.medium{background:linear-gradient(90deg,#f59e0b,#d97706)}.progress-item.understanding .progress-bar-fill.high{background:linear-gradient(90deg,#10b981,#059669)}.progress-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#ffffff4d,#fff0);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.milestone-indicators{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding:0 .25rem}.milestone-dot{width:12px;height:12px;border-radius:50%;background:#e5e7eb;transition:all .3s ease;position:relative}.milestone-dot.completed{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 0 8px #10b98180;animation:pulse 1.5s ease-in-out infinite}.milestone-dot.current{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 0 12px #667eea99;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.milestone-dot:after{content:attr(data-label);position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:.7rem;color:#6b7280;white-space:nowrap;opacity:0;transition:opacity .2s}.milestone-dot:hover:after{opacity:1}.progress-tracker.compact{padding:.75rem;margin:0 .5rem .5rem}.progress-tracker.compact .progress-bars{gap:.75rem}.progress-tracker.compact .progress-bar-container{height:8px}.progress-tracker.compact .milestone-dot{width:10px;height:10px}@media(max-width:640px){.progress-tracker{padding:.875rem;margin:0 .75rem .75rem}.progress-label{font-size:.8rem}.label-icon{font-size:.9rem}.progress-bar-container{height:8px}.milestone-dot{width:10px;height:10px}.milestone-dot:after{font-size:.65rem;bottom:-18px}}@media(prefers-color-scheme:dark){.progress-tracker{background:#1f2937;box-shadow:0 2px 8px #0000004d}.label-text{color:#e5e7eb}.label-value{color:#9ca3af}.progress-bar-container{background:#374151}.milestone-dot{background:#4b5563}.milestone-dot:after{color:#9ca3af}}.mic-guide-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .3s ease-out;padding:1rem}.mic-guide-modal{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.mic-guide-header{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:2px solid #e5e7eb;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:16px 16px 0 0;position:relative}.mic-guide-icon{width:48px;height:48px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mic-guide-header h2{margin:0;font-size:1.25rem;font-weight:600;flex:1}.mic-guide-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.mic-guide-close:hover{background:#ffffff4d}.mic-guide-content{padding:1.5rem}.guide-section{margin-bottom:1.5rem}.guide-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1f2937}.guide-section.highlight{background:#fef3c7;border:2px solid #fbbf24;border-radius:12px;padding:1rem}.guide-section.highlight h3{color:#92400e}.guide-section.highlight p{margin:.5rem 0 0;color:#78350f;line-height:1.6}.solution-box{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;margin-bottom:1rem;display:flex;gap:1rem}.solution-box.primary{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6}.solution-number{width:36px;height:36px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.solution-box.primary .solution-number{background:linear-gradient(135deg,#3b82f6,#2563eb)}.solution-content{flex:1}.solution-content h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1f2937}.solution-content p{margin:0 0 .75rem;color:#4b5563;line-height:1.5;font-size:.9rem}.open-external-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;box-shadow:0 4px 12px #10b9814d}.open-external-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.open-external-btn:active{transform:translateY(0)}.url-box{display:flex;gap:.5rem;align-items:center;background:#fff;padding:.75rem;border-radius:8px;border:1px solid #d1d5db;margin-bottom:.5rem}.url-box code{flex:1;font-family:Monaco,Courier New,monospace;font-size:.85rem;color:#1f2937;word-break:break-all}.copy-btn{padding:.5rem 1rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.copy-btn:hover{background:#5568d3}.help-text{font-size:.8rem;color:#6b7280;margin:0!important}.browser-guide{background:#fff;padding:1rem;border-radius:8px;border:1px solid #e5e7eb;margin-bottom:.75rem}.browser-guide h4{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#1f2937}.browser-guide ol{margin:0;padding-left:1.5rem;color:#4b5563}.browser-guide li{margin-bottom:.5rem;line-height:1.5;font-size:.9rem}.guide-tip{background:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;padding:1rem;font-size:.9rem;color:#1e40af;line-height:1.6}.guide-tip strong{color:#1e3a8a}.current-protocol{display:inline-block;background:#dbeafe;padding:.125rem .5rem;border-radius:4px;font-family:Monaco,Courier New,monospace;font-size:.85rem;color:#1e40af;margin-left:.5rem}.mic-guide-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end}.close-guide-btn{padding:.75rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.close-guide-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}@media(max-width:640px){.mic-guide-modal{max-height:95vh}.mic-guide-header{padding:1rem}.mic-guide-header h2{font-size:1.1rem}.mic-guide-content{padding:1rem}.solution-box{flex-direction:column}.url-box{flex-direction:column;align-items:stretch}.copy-btn{width:100%}}.input-area{padding:.75rem 1rem;background:#fff;border-top:1px solid rgba(0,0,0,.1);box-shadow:0 -2px 8px #0000000a}.quick-replies{display:flex;gap:.5rem;margin-bottom:.625rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.quick-replies::-webkit-scrollbar{height:3px}.quick-replies::-webkit-scrollbar-track{background:#f3f4f6}.quick-replies::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.quick-reply-btn{padding:.375rem .875rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:9999px;font-size:.8rem;color:#374151;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}.quick-reply-btn:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}.quick-reply-btn:active{transform:translateY(0)}.input-controls{display:flex;flex-direction:column;gap:.5rem}.message-input{width:100%;min-height:60px;max-height:120px;padding:.75rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.95rem;font-family:inherit;line-height:1.5;resize:vertical;outline:none;transition:all .2s;background:#f9fafb}.message-input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.message-input.listening{border-color:#10b981;background:#10b9810d;box-shadow:0 0 0 3px #10b9811a}.message-input::placeholder{color:#9ca3af}.message-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.speech-error{padding:.625rem .875rem;background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:8px;color:#991b1b;font-size:.85rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;line-height:1.5;animation:slideDown .3s ease-out}.speech-error:before{content:"⚠️";font-size:1rem;flex-shrink:0}.permission-help-btn{padding:.375rem .75rem;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.375rem;white-space:nowrap;transition:all .2s;flex-shrink:0}.permission-help-btn:hover{background:#dc2626;transform:translateY(-1px)}.action-buttons{display:flex;gap:.5rem;align-items:center}.voice-btn{padding:.625rem 1rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 6px #10b9814d}.voice-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.voice-btn:active:not(:disabled){transform:translateY(0)}.voice-btn.listening{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef44444d;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 2px 6px #ef44444d}50%{box-shadow:0 4px 16px #ef444499}}.voice-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}.voice-text{font-size:.85rem}.hint-btn{padding:.625rem 1rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;box-shadow:0 2px 6px #fbbf244d;white-space:nowrap}.hint-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #fbbf2466}.hint-btn:active:not(:disabled){transform:translateY(0)}.hint-btn:disabled,.hint-btn.disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}.hint-icon{font-size:1rem}.hint-text{font-size:.85rem}.send-btn{flex:1;padding:.625rem 1.25rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 2px 8px #667eea4d;white-space:nowrap}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background:#e5e7eb;color:#9ca3af;cursor:not-allowed;box-shadow:none}.send-icon,.loading-icon{font-size:1rem}.hint-warning{padding:.5rem .75rem;background:#fef3c7;border:1px solid #fde68a;border-radius:8px;color:#92400e;font-size:.85rem;text-align:center}@media(max-width:640px){.input-area{padding:.625rem}.quick-replies{gap:.375rem;margin-bottom:.5rem}.quick-reply-btn{padding:.375rem .75rem;font-size:.8rem}.message-input{min-height:50px;padding:.625rem;font-size:.9rem}.action-buttons{gap:.375rem}.voice-btn,.hint-btn{padding:.5rem .75rem;font-size:.85rem}.voice-text,.hint-text{display:none}.send-btn{padding:.5rem 1rem;font-size:.9rem}.speech-error{padding:.375rem .625rem;font-size:.8rem}}@media(prefers-color-scheme:dark){.input-area{background:#1f2937;border-top-color:#ffffff1a}.quick-reply-btn{background:#374151;border-color:#4b5563;color:#e5e7eb}.quick-reply-btn:hover{background:#4b5563;border-color:#6b7280}.message-input{background:#374151;border-color:#4b5563;color:#e5e7eb}.message-input:focus{background:#1f2937;border-color:#667eea}.message-input.listening{background:#10b9811a;border-color:#10b981}.message-input::placeholder{color:#6b7280}.speech-error{background:#dc26261a;border-color:#dc26264d;color:#fca5a5}.hint-warning{background:#fbbf241a;border-color:#fbbf244d;color:#fde68a}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-line,.skeleton-avatar,.skeleton-content,.skeleton-bar,.skeleton-stat,.skeleton-title,.skeleton-image,.skeleton-text,.skeleton-icon,.skeleton-badge,.skeleton-status,.skeleton-model-content{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear;border-radius:8px}.message-skeleton{display:flex;gap:.75rem;margin-bottom:1rem;padding:1rem}.message-skeleton.ai{justify-content:flex-start}.message-skeleton.user{justify-content:flex-end}.skeleton-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.skeleton-content{display:flex;flex-direction:column;gap:.5rem;max-width:70%}.skeleton-line{height:14px;border-radius:4px}.skeleton-line.long{width:100%}.skeleton-line.medium{width:75%}.skeleton-line.short{width:50%}.chat-skeleton{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.progress-skeleton{padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.skeleton-bar{height:8px;border-radius:4px;margin-bottom:1rem}.skeleton-stats{display:flex;gap:1rem;justify-content:space-around}.skeleton-stat{height:40px;flex:1;border-radius:8px}.question-card-skeleton{padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:1rem}.skeleton-title{height:24px;width:60%;border-radius:6px}.skeleton-image{height:200px;width:100%;border-radius:8px}.skeleton-text{height:16px;border-radius:4px}.skeleton-text.long{width:90%}.skeleton-text.medium{width:70%}.models-skeleton{padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}.skeleton-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.skeleton-icon{width:32px;height:32px;border-radius:8px}.skeleton-models{display:flex;flex-direction:column;gap:1rem}.model-skeleton{padding:1rem;border:1px solid #e5e7eb;border-radius:10px}.skeleton-model-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.skeleton-badge{height:24px;width:100px;border-radius:12px}.skeleton-status{height:20px;width:80px;border-radius:10px}.skeleton-model-content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0}.card-skeleton{padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;gap:.75rem}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.spinner{width:40px;height:40px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner.small .spinner{width:24px;height:24px;border-width:3px}.loading-spinner.large .spinner{width:60px;height:60px;border-width:5px}.spinner-text{font-size:.9rem;color:#6b7280;margin:0}.loading-dots{display:inline-flex;gap:.25rem;align-items:center}.loading-dots .dot{width:6px;height:6px;background:#667eea;border-radius:50%;animation:dotBounce 1.4s infinite ease-in-out both}.loading-dots .dot:nth-child(1){animation-delay:-.32s}.loading-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes dotBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@media(max-width:640px){.skeleton-content{max-width:85%}.skeleton-image{height:150px}.models-skeleton{padding:1rem}.loading-spinner{padding:1.5rem}}@media(prefers-color-scheme:dark){.skeleton-line,.skeleton-avatar,.skeleton-content,.skeleton-bar,.skeleton-stat,.skeleton-title,.skeleton-image,.skeleton-text,.skeleton-icon,.skeleton-badge,.skeleton-status,.skeleton-model-content{background:linear-gradient(90deg,#374151,#4b5563 20%,#374151 40% 100%)}.progress-skeleton,.question-card-skeleton,.models-skeleton,.card-skeleton{background:#1f2937}.model-skeleton{border-color:#4b5563}.spinner{border-color:#667eea4d;border-top-color:#667eea}.spinner-text{color:#9ca3af}}.error-notification{position:fixed;top:1rem;right:1rem;max-width:400px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;gap:1rem;padding:1rem;z-index:9999;transition:all .3s ease;border-left:4px solid #ef4444}.error-notification.visible{opacity:1;transform:translateY(0)}.error-notification.hidden{opacity:0;transform:translateY(-20px);pointer-events:none}.error-icon-container{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.error-icon{color:#fff}.error-content{flex:1;display:flex;flex-direction:column;gap:.5rem}.error-header{display:flex;justify-content:space-between;align-items:flex-start}.error-title{margin:0;font-size:.95rem;font-weight:600;color:#1f2937}.error-close{padding:.25rem;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.error-close:hover{background:#f3f4f6;color:#6b7280}.error-message{margin:0;font-size:.875rem;color:#4b5563;line-height:1.5}.error-details{margin:0;font-size:.8rem;color:#6b7280;font-family:Monaco,Courier New,monospace;background:#f9fafb;padding:.5rem;border-radius:6px;word-break:break-word}.error-suggestions{margin-top:.5rem;padding:.75rem;background:#fef3c7;border-radius:8px;border:1px solid #fde68a}.suggestions-title{margin:0 0 .5rem;font-size:.8rem;font-weight:600;color:#92400e}.error-suggestions ul{margin:0;padding-left:1.25rem;font-size:.8rem;color:#78350f}.error-suggestions li{margin-bottom:.25rem}.error-retry-btn{margin-top:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;justify-content:center;transition:all .2s;align-self:flex-start}.error-retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.error-retry-btn:active{transform:translateY(0)}@media(max-width:640px){.error-notification{top:.5rem;right:.5rem;left:.5rem;max-width:none}.error-icon-container{width:36px;height:36px}.error-title{font-size:.9rem}.error-message,.error-details{font-size:.8rem}}@media(prefers-color-scheme:dark){.error-notification{background:#1f2937;border-left-color:#ef4444}.error-title{color:#f9fafb}.error-message{color:#d1d5db}.error-details{background:#374151;color:#9ca3af}.error-close{color:#6b7280}.error-close:hover{background:#374151;color:#9ca3af}.error-suggestions{background:#fbbf2426;border-color:#fbbf244d}.suggestions-title{color:#fcd34d}.error-suggestions ul{color:#fde68a}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-notification{animation:slideInDown .3s ease-out}.socratic-chat{display:flex;flex-direction:column;height:calc(100vh - 64px);background:linear-gradient(135deg,#667eea,#764ba2);overflow-y:auto;overflow-x:hidden;position:relative;padding-bottom:1rem;scroll-behavior:smooth}.socratic-chat::-webkit-scrollbar{width:10px;background:#ffffff1a}.socratic-chat::-webkit-scrollbar-track{background:#ffffff0d;border-radius:5px}.socratic-chat::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:5px;border:2px solid rgba(255,255,255,.1)}.socratic-chat::-webkit-scrollbar-thumb:hover{background:#ffffff80}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;box-shadow:0 2px 6px #00000014;z-index:10}.back-button{padding:.375rem .875rem;background:#f3f4f6;border:none;border-radius:.5rem;font-size:.85rem;color:#374151;cursor:pointer;transition:all .2s}.back-button:hover{background:#e5e7eb}.chat-title{font-size:1.1rem;font-weight:700;color:#1f2937;margin:0}.header-spacer{width:70px}.question-card-collapsible{margin:.75rem 1rem .5rem;background:#fff;border-radius:.75rem;box-shadow:0 2px 6px #00000014;overflow:visible;max-height:none}.question-card-summary{display:flex;align-items:center;justify-content:space-between;padding:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom:2px solid #3b82f6;transition:background .2s;font-weight:600}.question-card-summary:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd)}.question-card-summary::-webkit-details-marker{display:none}.question-label{font-size:.9rem;font-weight:700;color:#1e40af;display:flex;align-items:center;gap:.5rem}.collapse-hint{font-size:.75rem;color:#6b7280;font-weight:500;background:#ffffffb3;padding:.25rem .5rem;border-radius:4px}.question-card-content{padding:1rem;background:#f9fafb;max-height:400px;overflow-y:auto}.question-card-content::-webkit-scrollbar{width:6px}.question-card-content::-webkit-scrollbar-track{background:#0000000d;border-radius:3px}.question-card-content::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:3px}.question-card-content::-webkit-scrollbar-thumb:hover{background:#2563eb}.question-text{font-size:1rem;color:#1f2937;line-height:1.6;white-space:pre-wrap;font-weight:500;padding:.5rem;background:#fff;border-radius:8px;border-left:4px solid #3b82f6}.question-image{width:100%;max-height:300px;object-fit:contain;margin-top:.75rem;border-radius:.5rem;border:2px solid #e5e7eb;background:#fff;padding:.5rem}.question-card-collapsible[open] .question-card-summary:before{content:"▼";margin-right:.5rem;font-size:.7rem;color:#6b7280;transition:transform .2s}.question-card-collapsible:not([open]) .question-card-summary:before{content:"▶";margin-right:.5rem;font-size:.7rem;color:#6b7280}.conversation-section-label{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem .5rem;gap:.25rem}.label-icon{font-size:1.5rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.label-text{font-size:.95rem;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.label-hint{font-size:.8rem;color:#ffffffe6;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2)}.messages-container{flex:0 0 auto;overflow-y:visible;overflow-x:hidden;padding:1.25rem 1.25rem 2rem;min-height:250px;background:#fffffff2;margin:0 1rem 1rem;border-radius:1rem;box-shadow:0 4px 12px #0000001a,inset 0 1px 3px #0000000d;border:2px solid rgba(255,255,255,.8);position:relative}.messages-container::-webkit-scrollbar{width:10px;background:#0000000d;border-radius:5px}.messages-container::-webkit-scrollbar-track{background:#0000000d;border-radius:5px;margin:.5rem 0}.messages-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:5px;border:2px solid rgba(255,255,255,.5)}.messages-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#65408b);border-color:#fffc}.thinking-indicator{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;animation:fadeIn .3s ease-in}.thinking-avatar{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.thinking-bubble{background:#fff;padding:1rem;border-radius:.25rem 1rem 1rem;display:flex;align-items:center;gap:.75rem}.thinking-dots{display:flex;gap:.25rem}.thinking-dots span{width:8px;height:8px;border-radius:50%;background:#667eea;animation:bounce 1.4s infinite ease-in-out}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-text{font-size:.9rem;color:#6b7280}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.socratic-chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.loading-spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:1.5rem;font-size:1.25rem;font-weight:600;color:#fff}.loading-subtext{margin-top:.5rem;font-size:.9rem;color:#fffc}.socratic-chat-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-icon{font-size:4rem;margin-bottom:1rem}.socratic-chat-error h3{font-size:1.5rem;color:#fff;margin-bottom:.5rem}.socratic-chat-error p{font-size:1rem;color:#ffffffe6;margin-bottom:2rem;text-align:center}.error-back-btn,.error-retry-btn{padding:.75rem 2rem;margin:.5rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.error-back-btn{background:#fff;color:#667eea}.error-retry-btn{background:#10b981;color:#fff}.socratic-summary{height:100vh;overflow-y:auto;padding:2rem 1rem;background:linear-gradient(135deg,#667eea,#764ba2)}.celebration-header{text-align:center;margin-bottom:2rem}.celebration-icon{font-size:4rem;animation:bounce 1s infinite}.celebration-title{font-size:2rem;font-weight:700;color:#fff;margin:1rem 0 .5rem}.celebration-subtitle{font-size:1rem;color:#ffffffe6}.summary-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.stat-item{background:#fff;padding:1.5rem;border-radius:1rem;text-align:center;box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:2rem;margin-bottom:.5rem}.stat-label{display:block;font-size:.85rem;color:#6b7280;margin-bottom:.25rem}.stat-value{display:block;font-size:1.5rem;font-weight:700;color:#1f2937}.summary-section{background:#fff;padding:1.5rem;border-radius:1rem;margin-bottom:1rem;box-shadow:0 4px 12px #0000001a}.section-title{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:1rem}.encouragement-text,.knowledge-text,.performance-text{font-size:1rem;color:#374151;line-height:1.6}.next-steps-list{list-style:none;padding:0;margin:0}.next-step-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.5rem}.step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#667eea;color:#fff;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}.step-text{font-size:.95rem;color:#374151}.similar-questions-list{list-style:none;padding:0;margin:0}.similar-question-item{padding:.75rem;background:#f9fafb;border-radius:.5rem;margin-bottom:.5rem;font-size:.95rem;color:#374151;border-left:3px solid #667eea}.summary-actions{display:flex;gap:1rem;margin-top:2rem}.summary-btn{flex:1;padding:1rem;border:none;border-radius:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.summary-btn.primary{background:#fff;color:#667eea}.summary-btn.secondary{background:#fff3;color:#fff;border:2px solid white}.summary-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0003}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.summary-stats{grid-template-columns:repeat(2,1fr)}.stat-item{padding:1rem}.stat-icon{font-size:1.5rem}.stat-value{font-size:1.25rem}}.continuous-tutor{display:flex;flex-direction:column;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.progress-navigation{background:#fff;padding:1rem;box-shadow:0 2px 8px #0000001a;z-index:10}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.progress-title{font-size:1.1rem;font-weight:700;color:#1f2937}.progress-count{font-size:.9rem;font-weight:600;color:#667eea;background:#f0f4ff;padding:.25rem .75rem;border-radius:9999px}.question-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:.75rem;scrollbar-width:thin}.question-tabs::-webkit-scrollbar{height:4px}.question-tabs::-webkit-scrollbar-track{background:#f3f4f6;border-radius:2px}.question-tabs::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.question-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.question-tab:hover:not(:disabled){border-color:#667eea;background:#f0f4ff;transform:translateY(-2px)}.question-tab.current{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.question-tab.completed{border-color:#10b981;background:linear-gradient(135deg,#10b981,#059669);color:#fff}.question-tab.locked{opacity:.4;cursor:not-allowed;border-color:#e5e7eb;background:#f9fafb}.tab-icon{display:flex;align-items:center}.tab-text{font-size:.875rem;font-weight:600}.overall-progress{height:6px;background:#e5e7eb;border-radius:9999px;overflow:hidden}.overall-progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:9999px;transition:width .5s ease-out}.current-question-area{flex:1;overflow:hidden}.completion-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.completion-card{background:#fff;padding:3rem 2rem;border-radius:1.5rem;text-align:center;max-width:400px;margin:0 1rem;box-shadow:0 20px 60px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.completion-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease-in-out infinite}.completion-title{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.completion-text{font-size:1rem;color:#6b7280;margin-bottom:2rem;line-height:1.6}.completion-button{width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.completion-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.completion-button:active{transform:translateY(0)}@media(max-width:640px){.progress-navigation{padding:.75rem}.progress-title{font-size:1rem}.progress-count{font-size:.8rem;padding:.2rem .6rem}.question-tab{padding:.5rem .75rem}.tab-text{font-size:.8rem}.completion-card{padding:2rem 1.5rem}.completion-title{font-size:1.25rem}}.learning-history{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem 1rem 5rem}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.history-header h1{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.back-btn,.export-btn{padding:.5rem;background:#fff3;border:none;border-radius:.5rem;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.25rem}.back-btn:hover,.export-btn:hover{background:#ffffff4d}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.stat-card{background:#fff;padding:1rem;border-radius:1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #0000001a}.stat-icon{font-size:1.75rem}.stat-info{flex:1}.stat-value{font-size:1.5rem;font-weight:700;color:#1f2937}.search-bar{background:#fff;padding:.75rem 1rem;border-radius:1rem;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000001a}.search-bar input{flex:1;border:none;outline:none;font-size:.95rem}.search-bar svg{color:#9ca3af}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-card{background:#fff;padding:1rem;border-radius:1rem;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.session-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.session-question{font-size:.95rem;font-weight:600;color:#1f2937;margin-bottom:.5rem;line-height:1.4}.session-meta{display:flex;gap:1rem;margin-bottom:.5rem}.meta-item{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:#6b7280}.meta-item svg{width:.875rem;height:.875rem}.session-tags{display:flex;gap:.5rem;flex-wrap:wrap}.tag{padding:.25rem .625rem;background:#f3f4f6;border-radius:9999px;font-size:.75rem;color:#6b7280}.empty-state{text-align:center;padding:3rem 1rem;color:#fff}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state p{margin:.5rem 0;font-size:1rem}.empty-hint{opacity:.7;font-size:.9rem!important}.history-footer{position:fixed;bottom:0;left:0;right:0;padding:1rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.1)}.clear-all-btn{width:100%;padding:.875rem;background:#ef4444;color:#fff;border:none;border-radius:.75rem;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s}.clear-all-btn:hover{background:#dc2626}.confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-dialog{background:#fff;padding:1.5rem;border-radius:1rem;max-width:400px;width:100%;box-shadow:0 8px 32px #0003}.confirm-dialog h3{margin:0 0 .75rem;font-size:1.25rem;color:#1f2937}.confirm-dialog p{margin:0 0 1.5rem;color:#6b7280;line-height:1.5}.confirm-actions{display:flex;gap:.75rem}.cancel-btn,.confirm-btn{flex:1;padding:.75rem;border:none;border-radius:.5rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#f3f4f6;color:#374151}.confirm-btn{background:#ef4444;color:#fff}.confirm-btn:hover{background:#dc2626}.learning-history-detail{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.delete-btn{padding:.5rem 1rem;background:#ef4444e6;color:#fff;border:none;border-radius:.5rem;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:all .2s}.delete-btn:hover{background:#dc2626}.detail-content{display:flex;flex-direction:column;gap:1rem}.detail-section{background:#fff;padding:1.25rem;border-radius:1rem;box-shadow:0 4px 12px #0000001a}.detail-section h3{margin:0 0 1rem;font-size:1.1rem;color:#1f2937}.question-text{font-size:1rem;color:#374151;line-height:1.6;white-space:pre-wrap}.question-image{width:100%;max-height:300px;object-fit:contain;margin-top:1rem;border-radius:.5rem;border:2px solid #e5e7eb}.messages-list{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.message-item{padding:.75rem;border-radius:.75rem;background:#f9fafb}.message-item.ai{background:#eff6ff;border-left:3px solid #3b82f6}.message-item.student{background:#f0fdf4;border-left:3px solid #10b981}.message-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.message-role{font-size:.8rem;font-weight:600;color:#6b7280}.message-time{font-size:.75rem;color:#9ca3af}.message-content{font-size:.9rem;color:#374151;line-height:1.5;white-space:pre-wrap}.summary-stats{display:flex;gap:1rem;margin-bottom:1rem}.stat{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:#f3f4f6;border-radius:.5rem;font-size:.85rem;color:#374151}.stat svg{width:1rem;height:1rem;color:#6b7280}.summary-text{display:flex;flex-direction:column;gap:.75rem}.summary-text p{margin:0;font-size:.9rem;color:#374151;line-height:1.6}.summary-text strong{color:#1f2937}@media(max-width:640px){.stats-cards{grid-template-columns:1fr}.stat-card{padding:.875rem}.session-meta{flex-wrap:wrap;gap:.5rem}}.math-page{min-height:100vh;background:linear-gradient(180deg,#fef3c7,#fde68a,#fbbf24);padding-bottom:100px}.math-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(251,191,36,.2);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 12px #0000000d}.header-content{display:flex;align-items:center;gap:12px}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fef3c7;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;color:#92400e}.back-btn:hover{background:#fde68a;transform:scale(1.05)}.header-title{display:flex;align-items:center;gap:8px}.title-icon{font-size:28px;animation:rotate 4s linear infinite}@keyframes rotate{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.header-title h1{font-size:20px;font-weight:800;color:#92400e;margin:0}.history-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#a855f7,#ec4899);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #a855f74d}.history-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #a855f766}.input-selection-page{padding:24px 20px;max-width:600px;margin:0 auto}.page-title{text-align:center;margin-bottom:32px}.page-title h2{font-size:24px;font-weight:800;color:#92400e;margin-bottom:8px}.page-title p{font-size:15px;color:#b45309;font-weight:500}.input-methods{display:grid;gap:16px;margin-bottom:24px}.input-method-card{position:relative;background:#fff;border-radius:20px;padding:24px;cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 16px #0000001a;-webkit-tap-highlight-color:transparent}.input-method-card:active{transform:scale(.97)}.card-glow{position:absolute;top:0;left:0;right:0;height:100%;opacity:0;transition:opacity .3s ease;pointer-events:none}.input-method-card.manual .card-glow{background:linear-gradient(135deg,#3b82f6,#2563eb)}.input-method-card.camera .card-glow{background:linear-gradient(135deg,#a855f7,#9333ea)}.input-method-card.upload .card-glow{background:linear-gradient(135deg,#10b981,#059669)}.input-method-card:hover .card-glow{opacity:.1}.card-icon{position:relative;z-index:1;width:64px;height:64px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:16px;transition:all .3s ease}.input-method-card.manual .card-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.input-method-card.camera .card-icon{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed}.input-method-card.upload .card-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.input-method-card:hover .card-icon{transform:scale(1.1) rotate(5deg)}.input-method-card h3{position:relative;z-index:1;font-size:18px;font-weight:700;color:#1f2937;margin-bottom:8px;text-align:center}.input-method-card p{position:relative;z-index:1;font-size:14px;color:#6b7280;text-align:center;margin-bottom:12px}.card-badge{position:relative;z-index:1;display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:12px;font-size:12px;font-weight:700;margin:0 auto;display:block;width:fit-content;box-shadow:0 2px 8px #fbbf244d}.tip-card{display:flex;gap:12px;padding:16px;background:#ffffffe6;border-left:4px solid #f59e0b;border-radius:12px;box-shadow:0 2px 8px #00000014}.tip-icon{flex-shrink:0;color:#f59e0b}.tip-card p{font-size:14px;color:#92400e;margin:0;line-height:1.6}.manual-input-page,.upload-page,.questions-page{padding:24px 20px;max-width:600px;margin:0 auto}.input-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 24px #0000001f}.question-textarea{width:100%;height:300px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;resize:none;font-size:15px;line-height:1.6;transition:border-color .3s ease;font-family:inherit}.question-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.input-actions{display:flex;gap:12px;margin-top:16px}.submit-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.submit-btn:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);cursor:not-allowed;box-shadow:none}.cancel-btn{padding:14px 24px;background:#f3f4f6;color:#374151;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#e5e7eb}.input-tips{margin-top:16px;font-size:13px;color:#6b7280}.input-tips p{margin:4px 0}.image-preview-card{background:#fff;border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 4px 12px #00000014}.image-preview-card h3{font-size:14px;font-weight:700;color:#6b7280;margin-bottom:12px}.preview-image{width:100%;max-height:300px;object-fit:contain;border-radius:12px;border:2px solid #e5e7eb}.success-banner{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left:4px solid #3b82f6;border-radius:12px;margin-bottom:16px}.banner-icon{flex-shrink:0;color:#1e40af}.success-banner div{display:flex;flex-direction:column;gap:4px}.success-banner strong{font-size:16px;font-weight:700;color:#1e40af}.success-banner span{font-size:14px;color:#1e40af}.questions-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.question-item{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px #0000000f}.question-number{font-size:14px;font-weight:700;color:#3b82f6;margin-bottom:8px}.question-content{font-size:15px;color:#374151;line-height:1.6;white-space:pre-wrap}.model-selection-card{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 24px #0000001f}.model-selection-card h3{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:700;color:#1f2937;margin-bottom:16px}.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.model-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .3s ease;-webkit-tap-highlight-color:transparent}.model-btn:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.model-btn.multi{grid-column:span 2;background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff}.model-btn.multi:hover{box-shadow:0 8px 24px #667eea66}.model-btn.claude{border-color:#a855f7}.model-btn.claude:hover{border-color:#a855f7;background:#faf5ff}.model-btn.gpt{border-color:#10b981}.model-btn.gpt:hover{border-color:#10b981;background:#f0fdf4}.model-btn.gemini{border-color:#ef4444}.model-btn.gemini:hover{border-color:#ef4444;background:#fef2f2}.model-emoji{font-size:32px}.model-name{font-size:15px;font-weight:700;color:inherit}.model-desc{font-size:12px;color:inherit;opacity:.8}.model-btn.multi .model-name,.model-btn.multi .model-desc{color:#fff}.model-tip{display:flex;gap:8px;padding:12px;background:#fef3c7;border-radius:12px}.model-tip svg{flex-shrink:0;color:#f59e0b}.model-tip p{font-size:12px;color:#92400e;margin:0;line-height:1.5}@media(max-width:375px){.model-grid{gap:8px}.model-btn{padding:16px 12px}.model-emoji{font-size:28px}.model-name{font-size:14px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}.tutor-assistant-container{display:flex;flex-direction:column;height:calc(100vh - 60px);background:#f9fafb}.messages-container{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.typing-indicator{display:flex;align-items:center;gap:.25rem;padding:1rem;background:#fff;border-radius:1rem;align-self:flex-start;box-shadow:0 2px 8px #0000001a}.typing-dot{width:8px;height:8px;border-radius:50%;background:#3b82f6;animation:typingBounce 1.4s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.input-container{padding:1rem;background:#fff;border-top:1px solid #e5e7eb}.input-wrapper{display:flex;align-items:flex-end;gap:.5rem;max-width:1200px;margin:0 auto}.voice-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.voice-btn:hover{background:#e5e7eb}.voice-btn.listening{background:#ef4444;color:#fff;animation:pulse 1s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.message-input{flex:1;min-height:40px;max-height:120px;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:1.25rem;font-size:.875rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s}.message-input:focus{border-color:#3b82f6}.message-input:disabled{background:#f3f4f6;cursor:not-allowed}.send-btn{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #3b82f666}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn .sparkle{animation:spin 1s linear infinite}@media(max-width:640px){.tutor-assistant-container{height:calc(100vh - 140px)}.messages-container,.input-container{padding:.75rem}}.chinese-page{min-height:100vh;background:linear-gradient(135deg,#fef3c7,#fde68a);padding:1rem;padding-bottom:80px}.chinese-header{text-align:center;padding:2rem 1rem;margin-bottom:1.5rem}.chinese-header h1{font-size:1.75rem;font-weight:700;color:#78350f;margin:0 0 .5rem}.chinese-header p{font-size:.875rem;color:#92400e;margin:0}.chinese-menu{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.menu-card{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.menu-card.writing{border-top:4px solid #f59e0b}.menu-card.reading{border-top:4px solid #10b981}.card-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;color:#78350f}.card-header h2{font-size:1.25rem;font-weight:600;margin:0}.card-desc{font-size:.875rem;color:#6b7280;margin:0 0 1rem}.writing-form,.reading-form{display:flex;flex-direction:column;gap:1rem}.topic-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:1rem;transition:all .2s}.topic-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.writing-types{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.type-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:#f59e0b;background:#fef3c7}.type-btn.active{border-color:#f59e0b;background:linear-gradient(135deg,#fef3c7,#fde68a);box-shadow:0 2px 8px #f59e0b4d}.type-icon{font-size:1.5rem}.type-name{font-size:.875rem;font-weight:500;color:#1f2937}.reading-textarea{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;font-size:.875rem;font-family:inherit;resize:vertical;transition:all .2s}.reading-textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.start-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.start-btn:disabled{opacity:.5;cursor:not-allowed}.hint-box{background:#fff;border-radius:1rem;padding:1.5rem;border-left:4px solid #3b82f6;box-shadow:0 2px 8px #00000014}.hint-box h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .75rem}.hint-box ul{list-style:none;padding:0;margin:0}.hint-box li{padding:.5rem 0;color:#4b5563;font-size:.875rem;line-height:1.5}.hint-box li:before{content:"→ ";color:#3b82f6;font-weight:700;margin-right:.5rem}.chinese-tutor{min-height:100vh;background:#fff}.tutor-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.back-btn{background:#fff;border:none;border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .2s;color:#78350f}.back-btn:hover{background:#fef3c7}.header-info h2{font-size:1.125rem;font-weight:600;color:#78350f;margin:0}.header-info p{font-size:.875rem;color:#92400e;margin:.25rem 0 0}@media(max-width:640px){.chinese-header{padding:1.5rem 1rem}.writing-types{grid-template-columns:1fr}.menu-card{padding:1rem}}.science-page{min-height:100vh;background:linear-gradient(135deg,#dbeafe,#bfdbfe);padding:1rem;padding-bottom:80px}.science-header{text-align:center;padding:2rem 1rem;margin-bottom:1.5rem}.science-header h1{font-size:1.75rem;font-weight:700;color:#1e3a8a;margin:0 0 .5rem}.science-header p{font-size:.875rem;color:#3b82f6;margin:0}.categories-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.category-section{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #00000014}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:3px solid}.category-icon{font-size:1.5rem}.category-header h2{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.experiments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.experiment-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:.75rem;border-left:4px solid;cursor:pointer;transition:all .2s}.experiment-card:hover{background:#fff;transform:translate(4px);box-shadow:0 4px 12px #0000001a}.exp-emoji{font-size:2rem;flex-shrink:0}.exp-info{flex:1}.exp-info h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .25rem}.exp-info p{font-size:.875rem;color:#6b7280;margin:0}.exp-play{color:#3b82f6;flex-shrink:0}.ai-helper-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 4px 12px #0000001a}.helper-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;color:#78350f}.helper-header h3{font-size:1.125rem;font-weight:600;margin:0}.helper-header p{font-size:.875rem;color:#92400e;margin:0}.ask-btn{width:100%;padding:.75rem 1.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.ask-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f59e0b66}.science-tips{background:#fff;border-radius:1rem;padding:1.5rem;border-left:4px solid #10b981;box-shadow:0 2px 8px #00000014}.science-tips h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.science-tips ul{list-style:none;padding:0;margin:0}.science-tips li{padding:.5rem 0;color:#4b5563;font-size:.875rem;line-height:1.5}.science-tips li:before{content:"→ ";color:#10b981;font-weight:700;margin-right:.5rem}.science-tutor{min-height:100vh;background:#fff}.tutor-header{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10;background:#fff}.tutor-header.ai-header{background:linear-gradient(135deg,#fef3c7,#fde68a)}.back-btn{background:#fff;border:none;border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .2s;color:#1f2937;box-shadow:0 2px 4px #0000001a}.back-btn:hover{background:#f3f4f6}.header-info{display:flex;align-items:center;gap:.75rem;flex:1}.header-badge{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;box-shadow:0 2px 8px #00000026}.ai-icon{color:#f59e0b}.header-info h2{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.header-info p{font-size:.875rem;color:#6b7280;margin:.25rem 0 0}@media(max-width:640px){.science-header{padding:1.5rem 1rem}.experiments-grid{grid-template-columns:1fr}.category-section{padding:1rem}}.games-page{min-height:100vh;background:linear-gradient(135deg,#fde68a,#fbbf24);padding:1rem;padding-bottom:80px}.games-header{text-align:center;padding:2rem 1rem;margin-bottom:1.5rem}.trophy-icon{color:#f59e0b;margin-bottom:.5rem;animation:bounce 2s infinite}.games-header h1{font-size:1.75rem;font-weight:700;color:#78350f;margin:.5rem 0}.games-header p{font-size:.875rem;color:#92400e;margin:0}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.game-card{background:#fff;border-radius:1rem;padding:1.5rem;border-left:4px solid;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;gap:1rem;box-shadow:0 4px 12px #0000001a}.game-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.game-card-icon{width:64px;height:64px;border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.game-card-content h3{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.game-card-content p{font-size:.875rem;color:#6b7280;margin:0}.game-play-btn{padding:.75rem;border-radius:.5rem;color:#fff;text-align:center;font-weight:600;transition:all .2s}.game-play-btn:hover{transform:scale(1.05)}.games-stats{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.games-stats h3{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center}.stat-icon{color:#f59e0b;margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.stat-label{font-size:.75rem;color:#6b7280}.game-container{min-height:100vh;background:#fff;display:flex;flex-direction:column}.game-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;color:#fff;position:sticky;top:0;z-index:10}.game-back-btn{background:#fff3;border:none;border-radius:.5rem;padding:.5rem;color:#fff;cursor:pointer;transition:all .2s}.game-back-btn:hover{background:#ffffff4d}.game-title{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:center}.game-icon{font-size:1.5rem}.game-title h2{font-size:1.25rem;font-weight:600;margin:0}.game-score{display:flex;align-items:center;gap:.5rem;background:#fff3;padding:.5rem 1rem;border-radius:1rem;font-weight:600}.quiz-game{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem}.quiz-progress{text-align:center;font-size:.875rem;color:#6b7280}.quiz-question{font-size:1.5rem;font-weight:600;color:#1f2937;text-align:center;padding:2rem;background:#f9fafb;border-radius:1rem}.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.quiz-option{padding:1.5rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.quiz-option:hover:not(:disabled){border-color:#3b82f6;transform:scale(1.05)}.quiz-option.correct{background:#d1fae5;border-color:#10b981}.quiz-option.wrong{background:#fee2e2;border-color:#ef4444}.quiz-complete{text-align:center;font-size:1.5rem;font-weight:600;color:#10b981;animation:celebrate .5s}@keyframes celebrate{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.memory-game{flex:1;padding:2rem}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:500px;margin:0 auto}.memory-card{aspect-ratio:1;background:#3b82f6;border-radius:.75rem;cursor:pointer;position:relative;transform-style:preserve-3d;transition:transform .3s}.memory-card.flipped{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:.75rem;backface-visibility:hidden;font-size:2rem}.card-front{background:#3b82f6;color:#fff;font-weight:700}.card-back{background:#fff;transform:rotateY(180deg)}.puzzle-game{flex:1;padding:2rem}.puzzle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:400px;margin:0 auto}.puzzle-piece{aspect-ratio:1;background:#3b82f6;color:#fff;font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:.5rem;cursor:pointer;transition:all .2s}.puzzle-piece:hover:not(.empty){background:#2563eb;transform:scale(1.05)}.puzzle-piece.empty{background:#e5e7eb;cursor:default}.typing-game{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem;align-items:center}.typing-target{font-size:1.25rem;font-family:monospace;color:#1f2937;background:#f9fafb;padding:2rem;border-radius:.75rem;text-align:center;max-width:600px}.typing-input{width:100%;max-width:600px;padding:1rem;font-size:1.125rem;font-family:monospace;border:2px solid #e5e7eb;border-radius:.5rem;outline:none;transition:border-color .2s}.typing-input:focus{border-color:#3b82f6}.typing-progress{font-size:.875rem;color:#6b7280}.game-complete{text-align:center;font-size:1.5rem;font-weight:600;color:#10b981;padding:2rem;animation:celebrate .5s}@media(max-width:640px){.games-grid,.quiz-options{grid-template-columns:1fr}.memory-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}}.learning-calendar{background:#fff;padding:25px;border-radius:20px;box-shadow:0 5px 20px #0000001a;margin-bottom:30px}.calendar-title{font-size:20px;color:#333;margin-bottom:20px;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px;margin-bottom:15px}.calendar-day{aspect-ratio:1;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;border:2px solid transparent}.calendar-day:hover{transform:scale(1.1);border-color:#667eea;box-shadow:0 4px 12px #667eea4d}.day-label{font-size:14px;font-weight:700}.day-week{font-size:10px;opacity:.7}.calendar-day.level-0{background:#ebedf0;color:#999}.calendar-day.level-1{background:#c6e48b;color:#2d5016}.calendar-day.level-2{background:#7bc96f;color:#1a4d0f}.calendar-day.level-3{background:#239a3b;color:#fff}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:5px;font-size:12px;color:#666}.legend-item{width:20px;height:20px;border-radius:4px}.legend-item.level-0{background:#ebedf0}.legend-item.level-1{background:#c6e48b}.legend-item.level-2{background:#7bc96f}.legend-item.level-3{background:#239a3b}@media(max-width:768px){.calendar-grid{grid-template-columns:repeat(7,1fr);gap:5px}.day-label{font-size:12px}.day-week{font-size:8px}}.achievement-grid-container{background:#fff;padding:30px;border-radius:20px;box-shadow:0 5px 20px #0000001a}.achievements-title{font-size:28px;text-align:center;color:#333;margin-bottom:20px}.achievements-stats{text-align:center;margin-bottom:30px}.stat-item{display:inline-flex;align-items:baseline;gap:5px;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:25px}.stat-number{font-size:32px;font-weight:700}.stat-text{font-size:16px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.achievement-card{background:#f8f9fa;padding:20px;border-radius:15px;display:flex;gap:15px;transition:all .3s;border:2px solid transparent}.achievement-card.unlocked{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;box-shadow:0 5px 20px #f093fb66}.achievement-card.unlocked:hover{transform:translateY(-5px);box-shadow:0 10px 30px #f093fb80}.achievement-card.locked{opacity:.6}.achievement-card.locked:hover{transform:translateY(-3px);border-color:#667eea}.achievement-icon-wrapper{position:relative;flex-shrink:0}.achievement-icon{font-size:48px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%}.achievement-card.locked .achievement-icon{filter:grayscale(100%);opacity:.5}.unlock-badge{position:absolute;bottom:-5px;right:-5px;width:25px;height:25px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:3px solid white;box-shadow:0 2px 8px #0003}.achievement-info{flex:1}.achievement-name{font-size:18px;font-weight:700;margin:0 0 5px}.achievement-card.unlocked .achievement-name{color:#fff}.achievement-desc{font-size:14px;margin:0 0 10px;opacity:.9}.achievement-progress{display:flex;align-items:center;gap:10px}.progress-bar-mini{flex:1;height:8px;background:#0000001a;border-radius:10px;overflow:hidden}.progress-fill-mini{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;transition:width .3s ease}.progress-text{font-size:12px;font-weight:700;color:#667eea}@media(max-width:768px){.achievement-grid{grid-template-columns:1fr}.achievement-card{flex-direction:column;text-align:center}.achievement-icon-wrapper{margin:0 auto}}.storybook-create{max-width:1000px;margin:0 auto;padding:20px}.create-header{text-align:center;margin-bottom:30px}.create-header h2{font-size:32px;color:#333;margin-bottom:10px}.create-header p{font-size:16px;color:#666}.theme-section{background:#fff;padding:25px;border-radius:20px;margin-bottom:25px;box-shadow:0 5px 15px #0000001a}.theme-section h3{font-size:20px;color:#333;margin-bottom:20px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;max-height:300px;overflow-y:auto;padding:5px}.theme-card{background:#f8f9fa;padding:15px;border-radius:12px;text-align:center;cursor:pointer;transition:all .3s;border:3px solid transparent}.theme-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.theme-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.theme-icon{font-size:28px;margin-bottom:8px}.theme-name{font-size:12px;font-weight:700}.style-section{background:#fff;padding:30px;border-radius:20px;margin-bottom:25px;box-shadow:0 5px 20px #00000014}.style-section h3{font-size:22px;color:#333;margin-bottom:20px;font-weight:700}.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:15px;max-height:400px;overflow-y:auto;padding:5px}.style-card{background:linear-gradient(135deg,#f5f7fa,#e0e7ff);padding:20px 10px;border-radius:12px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid transparent;position:relative;overflow:hidden}.style-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f093fb1a,#f5576c1a);opacity:0;transition:opacity .3s}.style-card:hover:before{opacity:1}.style-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 10px 25px #667eea26;border-color:#667eea4d}.style-card.selected{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#f5576c;color:#fff;transform:translateY(-3px);box-shadow:0 8px 25px #f5576c66}.style-card.selected:before{opacity:0}.style-emoji{font-size:30px;margin-bottom:8px;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.style-card.selected .style-emoji{filter:drop-shadow(0 3px 6px rgba(255,255,255,.3));animation:bounce .5s ease}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.style-name{font-size:13px;font-weight:600;line-height:1.3}.style-card.selected .style-name{text-shadow:0 2px 4px rgba(0,0,0,.1)}.style-hint{text-align:center;color:#666;font-size:14px;margin:15px 0 0;padding:12px;background:#f8f9fa;border-radius:10px}.scene-count-section{background:#fff;padding:30px;border-radius:20px;margin-bottom:25px;box-shadow:0 5px 20px #00000014}.scene-count-section h3{font-size:22px;color:#333;margin-bottom:20px;font-weight:700}.scene-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.scene-count-card{background:linear-gradient(135deg,#f5f7fa,#e0e7ff);padding:20px;border-radius:15px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid transparent}.scene-count-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #667eea26;border-color:#667eea4d}.scene-count-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;box-shadow:0 8px 25px #667eea66}.scene-count-value{font-size:20px;font-weight:700;margin-bottom:8px}.scene-count-desc{font-size:14px;opacity:.9;margin-bottom:5px}.scene-count-time{font-size:12px;opacity:.8}.words-section{background:#fff;padding:25px;border-radius:20px;margin-bottom:25px;box-shadow:0 5px 15px #0000001a}.words-section h3{font-size:20px;color:#333;margin-bottom:10px}.hint{font-size:14px;color:#666;margin-bottom:20px}.words-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.word-chip{background:#f0f0f0;padding:12px 16px;border-radius:25px;text-align:center;cursor:pointer;transition:all .3s;font-weight:500;border:2px solid transparent}.word-chip:hover{background:#e0e0e0;transform:scale(1.05)}.word-chip.selected{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff;border-color:#37b24d}.progress-container{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:20px;margin:25px 0;box-shadow:0 8px 30px #667eea59}.progress-header{font-size:20px;font-weight:700;margin-bottom:20px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.2)}.progress-bar{background:#ffffff40;height:35px;border-radius:20px;overflow:hidden;margin-bottom:15px;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{background:linear-gradient(90deg,#51cf66,#37b24d);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:20px;box-shadow:0 2px 8px #37b24d66}.progress-text{text-align:center;font-size:15px;opacity:.95;font-weight:500}.progress-spinner{text-align:center;padding:25px 0}.progress-spinner .spinner{font-size:56px;animation:rotate 2s linear infinite;display:inline-block;margin-bottom:15px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-success{text-align:center;font-size:24px;font-weight:700;padding:25px 0;animation:fadeInScale .5s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.empty-state{text-align:center;padding:40px;color:#999}.empty-state p{margin:5px 0}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5}.empty-state h4{font-size:20px;color:#666;margin-bottom:10px}.go-learn-btn{margin-top:20px;padding:12px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:25px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.go-learn-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea4d}.selected-words-preview{background:#f0f9ff;border:2px solid #0ea5e9;border-radius:15px;padding:20px;margin-bottom:25px}.selected-words-preview h4{color:#0369a1;font-size:16px;margin-bottom:15px}.selected-words-list{display:flex;flex-wrap:wrap;gap:10px}.selected-word-item{background:#fff;border:1px solid #0ea5e9;border-radius:20px;padding:8px 15px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #0000000d}.word-text{font-weight:600;color:#0369a1}.word-phonetic{color:#64748b;font-size:12px}.word-meaning{color:#059669;font-size:13px}.remove-word{background:#ef4444;color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1;transition:all .2s}.remove-word:hover{background:#dc2626;transform:scale(1.1)}.words-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:#666;font-size:14px}.toggle-details-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:15px;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .2s}.toggle-details-btn:hover{background:#e5e7eb}.word-chip{background:#f0f0f0;padding:12px 16px;border-radius:25px;text-align:center;cursor:pointer;transition:all .3s;font-weight:500;border:2px solid transparent;position:relative}.word-main{display:flex;align-items:center;justify-content:center;gap:5px}.word-name{font-size:14px;font-weight:600}.check-mark{color:#fff;font-weight:700}.word-details{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);font-size:11px;line-height:1.3}.word-chip.selected{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff;border-color:#37b24d;transform:scale(1.05)}.word-chip:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #0000001a}.word-chip.disabled{opacity:.5;cursor:not-allowed}.word-chip.disabled:hover{transform:none;box-shadow:none}.error-message{background:#fff3cd;border:2px solid #ffc107;padding:15px;border-radius:10px;color:#856404;text-align:center;margin-bottom:20px}.cost-hint{text-align:center;color:#666;font-size:14px;margin-top:15px;padding:12px;background:#fff3cd;border-radius:10px;border:2px solid #ffc107}.generate-btn{width:100%;max-width:400px;display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto;padding:20px 40px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:50px;font-size:20px;font-weight:700;cursor:pointer;transition:all .3s;box-shadow:0 5px 20px #f5576c4d}.generate-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 30px #f5576c66}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.loading-spinner{animation:spin 1s linear infinite}@media(max-width:768px){.storybook-create{padding:15px}.create-header h2{font-size:24px;margin-bottom:8px}.create-header p{font-size:14px}.theme-section{padding:20px 15px;margin-bottom:20px}.theme-section h3{font-size:18px;margin-bottom:15px}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}.theme-card{padding:15px 10px}.theme-icon{font-size:28px;margin-bottom:8px}.theme-name{font-size:13px}.style-section{padding:20px 15px;margin-bottom:20px}.style-section h3{font-size:18px;margin-bottom:15px}.style-grid{grid-template-columns:repeat(2,1fr);gap:12px}.style-card{padding:20px 10px}.style-emoji{font-size:32px;margin-bottom:8px}.style-name{font-size:13px}.style-hint{font-size:13px;padding:10px;margin:12px 0 0}.scene-count-section{padding:20px 15px;margin-bottom:20px}.scene-count-section h3{font-size:18px;margin-bottom:15px}.scene-count-grid{grid-template-columns:1fr;gap:12px}.scene-count-card{padding:15px}.scene-count-value{font-size:18px}.scene-count-desc{font-size:13px}.scene-count-time{font-size:11px}.words-section{padding:20px 15px;margin-bottom:20px}.words-section h3{font-size:18px}.hint{font-size:13px;margin-bottom:15px}.words-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:8px}.word-chip{padding:10px 12px;font-size:14px}.progress-container{padding:20px 15px;margin:20px 0}.progress-header{font-size:18px;margin-bottom:15px}.progress-bar{height:28px}.progress-text{font-size:14px}.progress-spinner .spinner{font-size:48px}.progress-success{font-size:20px;padding:20px 0}.cost-hint{font-size:13px;padding:10px;margin-top:12px}.generate-btn{max-width:100%;padding:16px 30px;font-size:18px}}@media(max-width:375px){.storybook-create{padding:12px}.create-header h2{font-size:20px}.create-header p{font-size:13px}.theme-section{padding:15px 12px}.theme-section h3{font-size:16px}.theme-grid{grid-template-columns:repeat(2,1fr);gap:8px}.theme-card{padding:12px 8px}.theme-icon{font-size:24px}.theme-name{font-size:12px}.style-section{padding:15px 12px}.style-section h3{font-size:16px}.style-grid{grid-template-columns:1fr;gap:10px}.style-card{padding:18px 10px}.style-emoji{font-size:28px}.style-name{font-size:12px}.style-hint{font-size:12px;padding:8px}.scene-count-section{padding:15px 12px}.scene-count-section h3{font-size:16px}.scene-count-card{padding:12px}.scene-count-value{font-size:16px}.scene-count-desc{font-size:12px}.words-section{padding:15px 12px}.words-section h3{font-size:16px}.words-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:6px}.word-chip{padding:8px 10px;font-size:13px}.selected-words-preview{padding:15px}.selected-word-item{padding:6px 10px;font-size:12px}.word-text{font-size:13px}.word-meaning{font-size:11px}.words-selection-header{flex-direction:column;gap:10px;align-items:flex-start}.model-section{background:#fff;padding:30px;border-radius:20px;margin-bottom:25px;box-shadow:0 5px 20px #00000014}.model-section h3{font-size:22px;color:#333;margin-bottom:20px;font-weight:700}.compare-toggle{display:flex;align-items:center;gap:15px;margin-bottom:25px;padding:15px;background:#f8f9fa;border-radius:12px}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background:linear-gradient(135deg,#667eea,#764ba2)}input:checked+.slider:before{transform:translate(26px)}.toggle-label{font-size:16px;font-weight:600;color:#333}.model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:20px}.model-card{background:linear-gradient(135deg,#f5f7fa,#e0e7ff);padding:25px;border-radius:16px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid transparent;position:relative;overflow:hidden}.model-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #667eea33;border-color:#667eea4d}.model-card.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;transform:translateY(-3px);box-shadow:0 8px 25px #667eea66}.recommended-badge{position:absolute;top:10px;right:10px;background:#ff6b6b;color:#fff;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #ff6b6bb3}70%{box-shadow:0 0 0 10px #ff6b6b00}to{box-shadow:0 0 #ff6b6b00}}.model-icon{font-size:48px;margin-bottom:15px;display:block}.model-name{font-size:20px;font-weight:700;margin-bottom:8px}.model-desc{font-size:14px;opacity:.9;margin-bottom:15px;line-height:1.4}.model-meta{display:flex;justify-content:space-between;font-size:13px;opacity:.8}.compare-info{background:#fff3cd;border:2px solid #ffc107;padding:20px;border-radius:12px;color:#856404}.compare-info p{margin-bottom:10px}.compare-cost{font-size:16px;font-weight:700;color:#dc3545}.progress-container{padding:15px 12px}.progress-header{font-size:16px}.progress-bar{height:24px}.progress-text{font-size:13px}.progress-spinner .spinner{font-size:40px}.progress-success{font-size:18px}.generate-btn{padding:14px 25px;font-size:16px}.cost-hint{font-size:12px;padding:8px}}@media(min-width:769px)and (max-width:1024px){.style-grid{grid-template-columns:repeat(3,1fr);gap:15px}.scene-count-grid{grid-template-columns:repeat(3,1fr)}}.storybook-reader{position:fixed;inset:0;background:linear-gradient(135deg,#667eea,#764ba2);z-index:1000;display:flex;flex-direction:column;padding:20px 20px 120px;overflow-y:auto;box-sizing:border-box}.close-reader-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;background:#ffffff4d;border:none;border-radius:50%;color:#fff;font-size:24px;cursor:pointer;transition:all .3s;z-index:10}.close-reader-btn:hover{background:#ffffff80;transform:scale(1.1)}.story-title{text-align:center;color:#fff;margin-bottom:20px}.story-title h2{font-size:32px;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.book-container{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;touch-action:pan-y}.book-page{background:#fff;max-width:800px;width:100%;border-radius:20px;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:pageFlip .5s ease-out;position:relative}@keyframes pageFlip{0%{transform:rotateY(-10deg);opacity:.8}to{transform:rotateY(0);opacity:1}}.page-image{position:relative;width:100%;min-height:400px;background:#f0f0f0;overflow:hidden}.page-image img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.comparison-images{width:100%;min-height:400px;display:flex;align-items:center;justify-content:center}.images-container{display:flex;gap:20px;width:100%;height:380px;padding:10px}.image-with-model{flex:1;position:relative;height:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.image-with-model:hover{transform:translateY(-5px)}.image-with-model img{width:100%;height:100%;object-fit:cover}.model-badge{position:absolute;top:10px;left:10px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:8px 12px;border-radius:20px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;z-index:2}.model-icon{font-size:16px}.model-name{font-size:11px;white-space:nowrap}.single-model-badge{position:absolute;bottom:40px;right:10px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:8px 12px;border-radius:20px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px;z-index:2}@media(max-width:768px){.images-container{flex-direction:column;gap:10px;padding:5px}.image-with-model{height:200px}.model-badge{top:5px;left:5px;padding:6px 10px;font-size:11px}.single-model-badge{bottom:30px;right:5px;padding:6px 10px;font-size:11px}}.page-number{position:absolute;bottom:10px;right:10px;background:#0009;color:#fff;padding:5px 15px;border-radius:20px;font-size:14px;z-index:2}.image-loading-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#e3e8f7,#d4d9e8);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.skeleton-pulse{width:120px;height:120px;background:linear-gradient(90deg,#fff0,#fff6,#fff0);border-radius:50%;animation:skeletonPulse 1.5s ease-in-out infinite;position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.skeleton-pulse:before{content:"🖼️";font-size:60px;animation:iconFloat 2s ease-in-out infinite}@keyframes skeletonPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.skeleton-text{font-size:16px;color:#667eea;font-weight:600;animation:textFade 1.5s ease-in-out infinite}@keyframes textFade{0%,to{opacity:.5}50%{opacity:1}}.page-text-container{padding:30px;min-height:120px}.page-text{display:flex;align-items:center;justify-content:center;margin-bottom:15px}.page-text p{font-size:20px;line-height:1.8;color:#333;text-align:center;margin:0}.highlight-word{background:linear-gradient(135deg,#ffd93d,#ffb347);padding:2px 6px;border-radius:5px;font-weight:700;color:#333}.translate-btn{display:block;margin:0 auto 15px;padding:10px 25px;background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff;border:none;border-radius:25px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 3px 10px #37b24d4d}.translate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #37b24d66}.translate-btn:disabled{opacity:.6;cursor:not-allowed}.translation-text{background:#51cf661a;border-left:4px solid #51cf66;padding:15px 20px;border-radius:10px;font-size:18px;line-height:1.8;color:#333;text-align:center;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reader-controls{display:flex;justify-content:center;gap:20px;padding:20px}.control-btn{padding:15px 30px;border:none;border-radius:50px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;background:#fff;color:#667eea;box-shadow:0 5px 15px #0003}.control-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #0000004d}.control-btn:disabled{opacity:.3;cursor:not-allowed}.read-btn{background:linear-gradient(135deg,#51cf66,#37b24d);color:#fff}.reading-progress{height:8px;background:#ffffff4d;border-radius:10px;overflow:hidden;margin-top:10px}.progress-fill{height:100%;background:linear-gradient(90deg,#ffd93d,#ff6b6b);transition:width .3s ease;border-radius:10px}@media(max-width:768px){.storybook-reader{padding:10px 10px 100px}.close-reader-btn{top:10px;right:10px;width:36px;height:36px;font-size:20px}.story-title{margin-bottom:15px}.story-title h2{font-size:22px;padding:0 50px}.book-container{padding:10px}.book-page{border-radius:15px}.page-image{height:280px}.skeleton-pulse{width:100px;height:100px}.skeleton-pulse:before{font-size:50px}.skeleton-text{font-size:14px}.page-text-container{padding:20px 15px;min-height:100px}.page-text p{font-size:16px;line-height:1.7}.translate-btn{font-size:13px;padding:8px 20px}.translation-text{font-size:15px;padding:12px 15px;line-height:1.7}.reader-controls{flex-direction:row;gap:10px;padding:15px 10px;flex-wrap:wrap}.control-btn{flex:1;min-width:100px;padding:12px 15px;font-size:14px}.reading-progress{height:6px;margin:5px 10px 0}.book-page:after{content:"👈 滑动翻页 👉";position:absolute;bottom:15px;left:50%;transform:translate(-50%);font-size:12px;color:#ffffffb3;background:#00000080;padding:5px 15px;border-radius:15px;pointer-events:none;animation:fadeInOut 4s ease-in-out infinite;z-index:5}@keyframes fadeInOut{0%,to{opacity:0}25%,75%{opacity:1}}}@media(max-width:375px){.story-title h2{font-size:18px;padding:0 45px}.page-image{height:220px}.skeleton-pulse{width:80px;height:80px}.skeleton-pulse:before{font-size:40px}.skeleton-text{font-size:12px}.page-text-container{padding:15px 12px}.page-text p{font-size:14px;line-height:1.6}.translate-btn{font-size:12px;padding:7px 15px}.translation-text{font-size:13px;padding:10px 12px}.control-btn{font-size:13px;padding:10px 12px;min-width:90px}.highlight-word{padding:1px 4px;font-size:14px}}@media(min-width:769px)and (max-width:1024px){.book-page{max-width:700px}.page-image{height:350px}.page-text p{font-size:18px}.translation-text{font-size:17px}}@media(min-width:1440px){.book-page{max-width:900px}.page-image{height:480px}.page-text p{font-size:22px}.translation-text{font-size:20px}}.storybook-library{max-width:1200px;margin:0 auto;padding:20px}.library-header{text-align:center;margin-bottom:30px}.library-header h2{font-size:32px;color:#333;margin-bottom:10px}.library-header p{font-size:16px;color:#666}.empty-library{text-align:center;padding:80px 20px;background:#fff;border-radius:20px;box-shadow:0 5px 15px #0000001a}.empty-icon{font-size:80px;margin-bottom:20px}.empty-library h3{font-size:24px;color:#333;margin-bottom:10px}.empty-library p{font-size:16px;color:#666}.storybook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}.storybook-card{position:relative;background:#fff;border-radius:15px;overflow:hidden;cursor:pointer;transition:all .3s;box-shadow:0 5px 15px #0000001a}.storybook-card:hover{transform:translateY(-10px);box-shadow:0 15px 35px #0003}.delete-btn{position:absolute;top:10px;right:10px;z-index:10;background:#ffffffe6;border:none;border-radius:50%;width:35px;height:35px;font-size:16px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.delete-btn:hover{background:#ff6b6b;transform:scale(1.1)}.book-cover{position:relative;width:100%;height:200px;overflow:hidden;background:#f0f0f0}.book-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.storybook-card:hover .book-cover img{transform:scale(1.1)}.theme-badge{position:absolute;bottom:10px;left:10px;background:#ffffffe6;padding:5px 12px;border-radius:20px;font-size:20px}.comparison-badge{position:absolute;top:10px;right:10px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700}.book-info{padding:20px}.book-title{font-size:18px;color:#333;margin:0 0 15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-meta{display:flex;gap:15px;margin-bottom:10px;font-size:14px;color:#666}.word-count,.scene-count{display:flex;align-items:center;gap:5px}.book-date{font-size:12px;color:#999}.hover-overlay{position:absolute;inset:0;background:#667eeaf2;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.storybook-card:hover .hover-overlay{opacity:1}.read-icon{font-size:60px;margin-bottom:10px}.read-text{font-size:18px;font-weight:700;color:#fff}@media(max-width:768px){.storybook-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.book-cover{height:150px}.book-info{padding:15px}.book-title{font-size:16px}}.parent-dashboard{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:1rem;padding-bottom:80px}.parent-dashboard.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#6b7280}.loading-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;background:#fff;padding:1.5rem;border-radius:1rem;box-shadow:0 2px 8px #00000014}.header-title h1{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .25rem}.header-title p{font-size:.875rem;color:#6b7280;margin:0}.refresh-btn{background:#f3f4f6;border:none;border-radius:.5rem;padding:.5rem;cursor:pointer;transition:all .2s;color:#6b7280}.refresh-btn:hover{background:#e5e7eb;transform:rotate(180deg)}.time-range-tabs{display:flex;gap:.5rem;margin-bottom:1rem;background:#fff;padding:.5rem;border-radius:.75rem;box-shadow:0 2px 4px #0000000d}.time-range-tabs button{flex:1;padding:.5rem 1rem;border:none;border-radius:.5rem;background:transparent;color:#6b7280;font-weight:500;cursor:pointer;transition:all .2s}.time-range-tabs button.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.time-range-tabs button:hover:not(.active){background:#f3f4f6}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.stat-card{background:#fff;border-radius:1rem;padding:1.25rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.stat-icon{width:48px;height:48px;border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card.blue .stat-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.stat-card.green .stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46}.stat-card.orange .stat-icon{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#92400e}.stat-card.red .stat-icon{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b}.stat-content{flex:1}.stat-value{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 .25rem}.stat-label{font-size:.875rem;color:#6b7280;margin:0}.chart-card{background:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #00000014}.chart-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#1f2937}.chart-header h3{font-size:1.125rem;font-weight:600;margin:0}.empty-chart{height:200px;display:flex;align-items:center;justify-content:center;color:#9ca3af}.activity-card{background:#fff;border-radius:1rem;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 8px #00000014}.activity-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#1f2937}.activity-header h3{font-size:1.125rem;font-weight:600;margin:0}.activity-list{display:flex;flex-direction:column;gap:.75rem}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9fafb;border-radius:.75rem;transition:background .2s}.activity-item:hover{background:#f3f4f6}.activity-icon{width:32px;height:32px;border-radius:.5rem;background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;display:flex;align-items:center;justify-content:center;flex-shrink:0}.activity-content{flex:1}.activity-title{font-size:.875rem;font-weight:500;color:#1f2937;margin:0 0 .25rem}.activity-time{font-size:.75rem;color:#9ca3af;margin:0}.activity-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.empty-activity{padding:2rem;text-align:center;color:#9ca3af}.suggestion-card{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #00000014}.suggestion-card h3{font-size:1.125rem;font-weight:600;color:#78350f;margin:0 0 1rem}.suggestion-card ul{list-style:none;padding:0;margin:0}.suggestion-card li{padding:.75rem;background:#fffc;border-radius:.5rem;margin-bottom:.5rem;color:#92400e;font-size:.875rem;line-height:1.5}.suggestion-card li:last-child{margin-bottom:0}.suggestion-card li:before{content:"• ";color:#f59e0b;font-weight:700;margin-right:.5rem}@media(max-width:640px){.parent-dashboard{padding:.75rem}.dashboard-header{padding:1rem}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.stat-value{font-size:1.25rem}.chart-card,.activity-card,.suggestion-card{padding:1rem}}.recharts-tooltip-wrapper{z-index:100}.recharts-default-tooltip{border-radius:.5rem!important}.wrong-questions-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding-bottom:80px}.wq-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10;box-shadow:0 2px 4px #0000000d}.wq-back-btn,.wq-refresh-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:background .2s}.wq-back-btn:hover,.wq-refresh-btn:hover{background:#f3f4f6}.wq-title{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0}.wq-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem}.stat-card{background:#fff;border-radius:1rem;padding:1rem;text-align:center;box-shadow:0 2px 8px #00000014;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.stat-card.total{border-top:4px solid #3b82f6}.stat-card.unmastered{border-top:4px solid #f59e0b}.stat-card.mastered{border-top:4px solid #10b981}.stat-number{font-size:2rem;font-weight:700;color:#1f2937;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:#6b7280}.wq-filters{display:flex;gap:.75rem;padding:0 1rem 1rem}.filter-group{flex:1;display:flex;align-items:center;gap:.5rem;background:#fff;padding:.75rem;border-radius:.75rem;box-shadow:0 2px 4px #0000000d;color:#6b7280}.filter-select{flex:1;border:none;outline:none;font-size:.875rem;color:#1f2937;font-weight:500;background:transparent;cursor:pointer}.wq-list{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.wq-loading,.wq-empty{text-align:center;padding:3rem 1rem;color:#6b7280}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-text{font-size:1rem;font-weight:500}.wq-card{background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 2px 8px #00000014;transition:all .3s;border-left:4px solid #f59e0b}.wq-card.mastered{border-left-color:#10b981;opacity:.8}.wq-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.wq-question{font-size:1rem;color:#1f2937;margin-bottom:.75rem;line-height:1.6;font-weight:500}.wq-info{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280}.attempts-badge{background:#fef3c7;color:#92400e;padding:.25rem .5rem;border-radius:.375rem;font-weight:600;font-size:.75rem}.wq-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.knowledge-tag{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600}.wq-answers{background:#f9fafb;border-radius:.5rem;padding:.75rem;margin-bottom:.75rem}.answer-row{display:flex;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.answer-row:last-child{margin-bottom:0}.answer-label{font-weight:600;min-width:5rem}.answer-row.wrong .answer-label{color:#dc2626}.answer-row.correct .answer-label{color:#10b981}.answer-value{flex:1;color:#4b5563}.wq-actions{display:flex;gap:.5rem}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.action-btn.redo{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.action-btn.redo:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.action-btn.master{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn.master:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.action-btn.delete{background:#fee2e2;color:#dc2626;flex:0 0 auto;padding:.5rem}.action-btn.delete:hover{background:#fecaca}@media(max-width:640px){.wq-stats{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem}.stat-number{font-size:1.5rem}.wq-filters{flex-direction:column}.wq-actions{flex-wrap:wrap}.action-btn{font-size:.8rem;padding:.4rem .75rem}}
