/*! tailwindcss v4.3.2 | 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.\!container{width:100%!important}@media (width>=40rem){.\!container{max-width:40rem!important}}@media (width>=48rem){.\!container{max-width:48rem!important}}@media (width>=64rem){.\!container{max-width:64rem!important}}@media (width>=80rem){.\!container{max-width:80rem!important}}@media (width>=96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.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}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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,)}.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,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--color-primary:#1e88e5;--color-primary-dark:#1565c0;--color-accent:#f39c12;--color-success:#2ecc71;--color-bg:#f7fcff;--color-card:#fff;--color-text:#1a1a2e;--color-text-secondary:#64748b;--color-border:#dbeafe}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;font-family:PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif}#root{min-height:100vh}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{border:1px solid var(--color-border);border-radius:10px;outline:none;width:100%;padding:10px 14px;font-size:15px;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{opacity:.5}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-slide-up{animation:.4s ease-out slideUp}.animate-scale-in{animation:.3s ease-out scaleIn}.animate-pulse-custom{animation:2s ease-in-out infinite pulse}.nce-note-content{color:#374151;font-size:16px;line-height:2}.nce-note-content h2{color:#1f2937;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:none;border-bottom:3px solid #3b82f6;border-radius:8px;margin:28px 0 16px;padding:14px 18px;font-size:20px;font-weight:700}.nce-note-content h3{color:#1f2937;background:#f8fafc;border-left:5px solid #3b82f6;border-radius:0 6px 6px 0;margin:24px 0 14px;padding:10px 16px;font-size:18px;font-weight:600}.nce-note-content h4{color:#475569;background:#f1f5f9;border-left:4px solid #64748b;border-radius:6px;margin:20px 0 12px;padding:8px 14px;font-size:16px;font-weight:600}.nce-note-content p{margin:14px 0;font-size:16px;line-height:1.9}.nce-note-content blockquote{color:#1e40af;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border-left:5px solid #0ea5e9;border-radius:0 10px 10px 0;margin:20px 0;padding:18px 24px;font-size:15px}.nce-note-content blockquote p{margin:10px 0;font-size:15px}.nce-note-content blockquote p:first-child{margin-top:0}.nce-note-content blockquote p:last-child{margin-bottom:0}.nce-note-content table{border-collapse:collapse;border:1px solid #cbd5e1;border-radius:8px;width:100%;margin:20px 0;font-size:14px;overflow:hidden;box-shadow:0 2px 8px #00000014}.nce-note-content thead{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.nce-note-content thead th{text-align:left;color:#fff;border:1px solid #5a67d8;padding:14px 18px;font-size:14px;font-weight:600}.nce-note-content tbody tr{background:#fff;transition:background .2s}.nce-note-content tbody tr:nth-child(2n){background:#f9fafb}.nce-note-content tbody tr:hover{background:#f0f4ff}.nce-note-content tbody td{vertical-align:top;border:1px solid #e2e8f0;padding:14px 18px;font-size:14px}.nce-note-content tbody td,.nce-note-content thead th{border-left:1px solid #cbd5e1;border-right:1px solid #cbd5e1}.nce-note-content tbody tr:first-child td{border-top:1px solid #cbd5e1}.nce-note-content tbody tr:last-child td{border-bottom:1px solid #cbd5e1}.nce-note-content tbody tr[data-row-group="0"]{background:linear-gradient(90deg,#eff6ff 0%,#fff 100%)}.nce-note-content tbody tr[data-row-group="1"]{background:linear-gradient(90deg,#fef3c7 0%,#fff 100%)}.nce-note-content tbody tr[data-row-group="2"]{background:linear-gradient(90deg,#ecfdf5 0%,#fff 100%)}.nce-note-content tbody tr[data-row-group="3"]{background:linear-gradient(90deg,#fce7f3 0%,#fff 100%)}.nce-note-content tbody tr[data-row-group="0"]:hover,.nce-note-content tbody tr[data-row-group="1"]:hover,.nce-note-content tbody tr[data-row-group="2"]:hover,.nce-note-content tbody tr[data-row-group="3"]:hover{background:#f0f4ff}.nce-note-content tbody tr[data-row-group="0"] th[rowspan]{color:#1e40af;vertical-align:middle;background:#dbeafe;border-left:4px solid #3b82f6;font-weight:700}.nce-note-content tbody tr[data-row-group="1"] th[rowspan]{color:#92400e;vertical-align:middle;background:#fde68a;border-left:4px solid #f59e0b;font-weight:700}.nce-note-content tbody tr[data-row-group="2"] th[rowspan]{color:#065f46;vertical-align:middle;background:#a7f3d0;border-left:4px solid #10b981;font-weight:700}.nce-note-content tbody tr[data-row-group="3"] th[rowspan]{color:#9d174d;vertical-align:middle;background:#fbcfe8;border-left:4px solid #ec4899;font-weight:700}.nce-note-content ul,.nce-note-content ol{margin:14px 0;padding-left:28px}.nce-note-content li{margin:10px 0;font-size:15px;line-height:1.8}.nce-note-content ul li{list-style-type:disc}.nce-note-content ol li{list-style-type:decimal}.nce-note-content strong{color:#1f2937;font-weight:700}.nce-note-content em{color:#4b5563;font-style:italic}.nce-note-content a{color:#3b82f6;font-weight:500;text-decoration:none;transition:color .2s}.nce-note-content a:hover{color:#2563eb;text-decoration:underline}.nce-note-content code{color:#dc2626;background:#f3f4f6;border-radius:5px;padding:3px 8px;font-family:Monaco,Menlo,monospace;font-size:14px}.nce-note-content hr{border:none;border-top:2px solid #e5e7eb;margin:28px 0}.nce-note-content img{border-radius:10px;max-width:100%;margin:16px 0}.nce-note-content .highlight-sentence{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-left:5px solid #f59e0b;border-radius:10px;margin:20px 0;padding:18px 24px}.nce-note-content .highlight-sentence p{margin:8px 0;font-size:16px}.nce-note-content .example-box{background:#f0fdf4;border:2px solid #86efac;border-radius:10px;margin:20px 0;padding:18px}.nce-note-content .example-box:before{content:"例句";color:#166534;margin-bottom:12px;font-size:14px;font-weight:700;display:block}.nce-note-content .note-tip{color:#713f12;background:#fef9c3;border:2px solid #fde047;border-radius:10px;margin:14px 0;padding:14px 18px;font-size:14px}.nce-note-content span.nce-hidden-word{padding:0 2px;font-weight:700;color:#dc2626!important;background-color:#0000!important}.nce-note-content>h2,.nce-note-content>h3{margin-top:32px}.nce-note-content>h2:first-child{margin-top:0}.nce-note-content .show_answer,.nce-note-content span.show_answer,.nce-note-content [class*=show_answer],.nce-note-content .d-inline-block{color:#dc2626!important;min-width:auto!important;box-shadow:none!important;background:0 0!important;border:none!important;border-bottom:2px dashed #dc2626!important;padding:0 4px!important;font-weight:600!important;display:inline!important}div.nce-note-content span[class*=show_answer],div.nce-note-content span.d-inline-block,div.nce-note-content [class*=border-bottom]{color:#dc2626!important;background:0 0!important;border:none!important;border-bottom:2px dashed #dc2626!important}.exercise-content .show_answer,.exercise-content span.show_answer,.exercise-content [class*=show_answer],.exercise-content .d-inline-block{color:#dc2626!important;background:0 0!important;border:none!important;border-bottom:2px dashed #dc2626!important;min-width:auto!important;padding:0 4px!important;font-weight:600!important;display:inline!important}@media (width<=1099px){.nce-lesson-toc{display:none!important}.nce-lesson-toc+main{padding-left:0!important}}.nce-intro-overview,.nce-intro-notes{color:#334155;font-size:15px}.nce-intro-overview p,.nce-intro-notes p{margin:14px 0;font-size:15px;line-height:1.9}.nce-intro-overview h2,.nce-intro-notes h2{color:#1e293b;border-bottom:2px solid var(--nce-accent,#667eea);margin:32px 0 14px;padding-bottom:10px;font-size:20px;font-weight:700;position:relative}.nce-intro-overview h2:before,.nce-intro-notes h2:before{content:"";background:var(--nce-accent,#667eea);vertical-align:middle;border-radius:2px;width:5px;height:18px;margin-right:10px;display:inline-block}.nce-intro-overview h3,.nce-intro-notes h3{color:#1e293b;border-left:4px solid var(--nce-accent,#667eea);background:linear-gradient(90deg, var(--nce-accent,#667eea)10, transparent 60%);border-radius:0 6px 6px 0;margin:26px 0 12px;padding:6px 8px 6px 12px;font-size:17px;font-weight:600}.nce-intro-overview h4,.nce-intro-notes h4{color:#475569;border-left:3px solid #cbd5e1;margin:20px 0 10px;padding-left:10px;font-size:15px;font-weight:600}.nce-intro-overview blockquote,.nce-intro-notes blockquote{border-left:5px solid var(--nce-accent,#667eea);color:#475569;background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border-radius:0 10px 10px 0;margin:22px 0;padding:18px 24px;font-size:15px;position:relative}.nce-intro-overview blockquote:before,.nce-intro-notes blockquote:before{content:"\"";color:var(--nce-accent,#667eea);opacity:.25;font-family:Georgia,serif;font-size:48px;line-height:1;position:absolute;top:-8px;left:8px}.nce-intro-overview blockquote p,.nce-intro-notes blockquote p{margin:8px 0;font-size:15px;line-height:1.85}.nce-intro-overview blockquote sub,.nce-intro-notes blockquote sub{text-align:right;color:#94a3b8;margin-top:10px;font-size:13px;display:block}.nce-intro-overview ul,.nce-intro-notes ul,.nce-intro-overview ol,.nce-intro-notes ol{margin:14px 0;padding-left:28px}.nce-intro-overview ul li,.nce-intro-notes ul li{margin:8px 0;line-height:1.85;list-style-type:disc}.nce-intro-overview ol li,.nce-intro-notes ol li{margin:8px 0;line-height:1.85;list-style-type:decimal}.nce-intro-overview table,.nce-intro-notes table{border-collapse:collapse;border-radius:10px;width:100%;margin:20px 0;font-size:14px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.nce-intro-overview table.table-bordered,.nce-intro-notes table.table-bordered,.nce-intro-overview table.table-striped,.nce-intro-notes table.table-striped{border:1px solid #e2e8f0}.nce-intro-overview thead,.nce-intro-notes thead{background:linear-gradient(135deg, var(--nce-accent,#667eea) 0%, var(--nce-accent,#667eea)dd 100%)}.nce-intro-overview thead th,.nce-intro-notes thead th{text-align:left;color:#fff;border:1px solid #ffffff26;padding:14px 18px;font-size:14px;font-weight:600}.nce-intro-overview tbody tr,.nce-intro-notes tbody tr{background:#fff;transition:background .2s}.nce-intro-overview tbody tr:nth-child(2n),.nce-intro-notes tbody tr:nth-child(2n){background:#f8fafc}.nce-intro-overview tbody tr:hover,.nce-intro-notes tbody tr:hover{background:#f1f5f9}.nce-intro-overview tbody td,.nce-intro-notes tbody td,.nce-intro-overview tbody th,.nce-intro-notes tbody th{vertical-align:top;border:1px solid #e2e8f0;padding:14px 18px;font-size:14px}.nce-intro-overview abbr,.nce-intro-notes abbr{cursor:help;color:inherit;border-bottom:1px dashed #94a3b8;text-decoration:none}.nce-intro-overview a,.nce-intro-notes a{color:var(--nce-accent,#667eea);border-bottom:1px solid #0000;font-weight:500;text-decoration:none;transition:border-color .2s}.nce-intro-overview a:hover,.nce-intro-notes a:hover{border-bottom-color:var(--nce-accent,#667eea)}.nce-intro-overview img,.nce-intro-notes img{border-radius:10px;max-width:100%;height:auto;margin:18px 0;box-shadow:0 2px 8px #0000000f}.nce-intro-overview .alert,.nce-intro-notes .alert{border-left:5px solid;border-radius:10px;margin:20px 0;padding:16px 20px}.nce-intro-overview .alert-info,.nce-intro-notes .alert-info{color:#0c4a6e;background:#e0f2fe;border-left-color:#0ea5e9}.nce-intro-overview .alert-warning,.nce-intro-notes .alert-warning{color:#78350f;background:#fef3c7;border-left-color:#f59e0b}.nce-intro-overview .alert-success,.nce-intro-notes .alert-success{color:#14532d;background:#dcfce7;border-left-color:#22c55e}.nce-intro-overview hr,.nce-intro-notes hr{border:none;border-top:2px dashed #e2e8f0;margin:28px 0}.nce-intro-overview code,.nce-intro-notes code{color:#475569;background:#f1f5f9;border-radius:5px;padding:2px 8px;font-family:Monaco,Menlo,monospace;font-size:13px}.nce-intro-overview sup,.nce-intro-notes sup{color:#94a3b8;vertical-align:super;font-size:.75em}.nce-intro-overview sub,.nce-intro-notes sub{color:#94a3b8;vertical-align:sub;font-size:.75em}.nce-intro-overview .table-responsive,.nce-intro-notes .table-responsive{border-radius:10px;margin:16px 0;overflow-x:auto}.nce-intro-overview .img-fluid,.nce-intro-notes .img-fluid{text-align:center;max-width:100%;height:auto}.nce-intro-overview>h2:first-child,.nce-intro-notes>h2:first-child{margin-top:0}.nce-intro-overview>p:first-child,.nce-intro-notes>p:first-child{color:#1e293b;font-size:16px;font-weight:500}@media (width<=768px){.nce-intro-overview h2,.nce-intro-notes h2{font-size:17px}.nce-intro-overview h3,.nce-intro-notes h3{font-size:15px}.nce-intro-overview table,.nce-intro-notes table{font-size:12px}.nce-intro-overview tbody td,.nce-intro-notes tbody td,.nce-intro-overview tbody th,.nce-intro-notes tbody th,.nce-intro-overview thead th,.nce-intro-notes thead th{padding:8px 10px;font-size:12px}}@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-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}:root{--pure-primary:#1e88e5;--pure-primary-dark:#1565c0;--pure-accent:#fbbf24;--pure-accent-dark:#f59e0b;--pure-success:#22c55e;--pure-error:#ef4444;--pure-text:#fff;--pure-text-dim:#ffffffd9;--pure-text-muted:#fff9;--pure-bg-overlay:#ffffff26;--pure-bg-card:#ffffff1f;--pure-border:#ffffff40;--pure-card-padding:24px;--pure-section-gap:24px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes celebrate{0%{opacity:0;transform:scale(0)rotate(-10deg)}50%{transform:scale(1.2)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.pure-session-runner{min-height:100vh;color:var(--pure-text);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;align-items:center;padding:32px 24px;display:flex}.phase-container{flex-direction:column;flex:1;width:100%;max-width:560px;animation:.3s fadeInUp;display:flex}.phase-1,.phase-2,.phase-3a,.phase-3b,.phase-4,.phase-5{text-align:center;align-items:center;gap:var(--pure-section-gap);background:var(--pure-bg-card);border-radius:24px;flex-direction:column;padding:32px 28px;display:flex;box-shadow:0 8px 32px #00000026}.phase-title{color:var(--pure-text);letter-spacing:.5px;margin:0;font-size:22px;font-weight:700}.phase-hint{color:var(--pure-text-muted);margin:0;font-size:14px}.phase-prompt{color:var(--pure-text-dim);margin:0;font-size:18px;line-height:1.6}.phase-prompt strong{color:var(--pure-accent);font-weight:700}.phase-prompt.hint{color:var(--pure-text-muted);font-size:14px}.spelling-tag{color:var(--pure-accent);background:#fbbf2440;border-radius:12px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.sentence-box{background:var(--pure-bg-overlay);border:1px solid var(--pure-border);border-radius:16px;width:100%;padding:20px 24px}.sentence-box.large{padding:28px 32px}.sentence-box.small{opacity:.7;padding:14px 18px}.sentence-en{color:var(--pure-text);margin:0 0 8px;font-size:22px;font-style:italic;font-weight:500;line-height:1.4}.sentence-cn{color:var(--pure-text-dim);margin:0;font-size:16px}.hint-sentence{color:var(--pure-text-muted);margin-top:8px;font-size:12px;font-style:normal}.word-audio-row{background:#00000026;border-radius:16px;align-items:center;gap:16px;padding:12px 24px;display:inline-flex}.word-audio-row.center{justify-content:center}.phase-word{color:var(--pure-text);letter-spacing:2px;font-size:36px;font-weight:800}.phase-word.large{font-size:48px}.bold{font-weight:700}.tts-btn{background:var(--pure-accent);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:all .2s;display:flex}.tts-btn:hover{background:var(--pure-accent-dark);transform:scale(1.1)}.tts-secondary-btn{background:var(--pure-bg-overlay);border:1px solid var(--pure-border);color:var(--pure-text);cursor:pointer;border-radius:24px;padding:10px 20px;font-size:14px;transition:all .2s}.tts-secondary-btn:hover{background:#ffffff40}.tts-inline{opacity:.7;margin-left:6px;font-size:14px}.letter-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0;display:flex}.letter-box{background:var(--pure-bg-overlay);width:52px;height:60px;color:var(--pure-text-muted);-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;font-size:30px;font-weight:700;transition:all .3s;display:flex}.letter-box.active{background:var(--pure-accent);color:#1e293b;transform:scale(1.15);box-shadow:0 4px 12px #fbbf2480}.letter-box.clickable{cursor:pointer;border:2px solid var(--pure-border)}.letter-box.clickable:hover{border-color:var(--pure-accent);transform:scale(1.05)}.letter-box.speaking{background:var(--pure-accent);color:#1e293b;animation:.6s ease-in-out infinite alternate letter-pulse;transform:scale(1.15);box-shadow:0 4px 16px #fbbf2499}.letter-box.clicked{background:var(--pure-bg-overlay);color:var(--pure-accent);border:2px solid var(--pure-accent);opacity:.6}@keyframes letter-pulse{0%{box-shadow:0 4px 16px #fbbf2466}to{box-shadow:0 4px 24px #fbbf24cc}}.option-grid{grid-template-columns:1fr 1fr;gap:14px;width:100%;margin-top:8px;display:grid}.option-btn{background:var(--pure-bg-overlay);border:2px solid var(--pure-border);color:var(--pure-text);cursor:pointer;text-align:center;word-break:break-word;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:72px;padding:18px 14px;font-size:16px;font-weight:600;line-height:1.4;transition:all .2s;display:flex}.option-btn:hover:not(:disabled){background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.option-btn:active:not(:disabled){transform:translateY(0)scale(.98)}.option-btn.correct{background:var(--pure-success);border-color:var(--pure-success);color:#fff;animation:.5s successPulse}.option-btn.wrong{background:var(--pure-error);border-color:var(--pure-error);color:#fff}.option-btn.revealed{border-color:var(--pure-success);background:#22c55e66;border-style:dashed}.option-btn:disabled{opacity:.5;cursor:not-allowed}.hint-text{color:var(--pure-accent);margin:0;font-size:14px;font-weight:600}.reveal-text{color:var(--pure-success);margin:0;font-size:15px;font-weight:600;animation:.3s fadeInUp}.action-row{gap:12px;width:100%;margin-top:8px;display:flex}.btn-replay{background:var(--pure-bg-overlay);border:1px solid var(--pure-border);color:var(--pure-text);cursor:pointer;border-radius:12px;padding:12px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-replay:hover{background:#ffffff40}.btn-next{cursor:pointer;border:none;border-radius:12px;flex:1;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.btn-next.primary,.btn-submit.primary{background:var(--pure-accent);color:#1e293b}.btn-next.primary:hover{background:var(--pure-accent-dark);transform:translateY(-1px)}.btn-submit{cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.btn-speak{background:var(--pure-bg-overlay);border:1px solid var(--pure-border);color:var(--pure-text);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:16px;transition:all .2s}.btn-speak:hover{background:#ffffff40}.btn-retry{background:var(--pure-accent);color:#1e293b;cursor:pointer;border:none;border-radius:12px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .2s}.btn-retry:hover{background:var(--pure-accent-dark)}.word-meta{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.phonetic{color:var(--pure-text-dim);font-size:16px;font-style:italic}.meaning{color:var(--pure-text);font-size:16px;font-weight:500}.input-wrapper{width:100%;max-width:360px}.spelling-input{text-align:center;letter-spacing:5px;background:var(--pure-bg-overlay);border:2px solid var(--pure-border);width:100%;color:var(--pure-text);border-radius:14px;outline:none;padding:18px;font-size:26px;font-weight:600;transition:all .2s}.spelling-input:focus{border-color:var(--pure-accent);background:#fff3}.spelling-input.shake{border-color:var(--pure-error);animation:.4s shake}.spelling-input.border-green{border-color:var(--pure-success);background:#22c55e33}.feedback-retry{flex-direction:column;align-items:center;gap:12px;animation:.3s fadeInUp;display:flex}.feedback-final{font-size:16px;animation:.3s fadeInUp}.text-red{color:var(--pure-error);font-weight:700}.text-green{color:var(--pure-success);font-weight:700}.hint-bar{color:var(--pure-text-dim);background:#ffffff1a;border-radius:10px;padding:12px 18px;font-size:14px;animation:.3s fadeInUp}.hint-bar strong{color:var(--pure-accent)}.phase-6,.phase-6-invisible{clip:rect(0 0 0 0);pointer-events:none;visibility:hidden;border:0;width:0;height:0;margin:0;padding:0;position:absolute;overflow:hidden}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.loading-spinner{border:4px solid var(--pure-bg-overlay);border-top-color:var(--pure-accent);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}.loading-state p{color:var(--pure-text-dim);font-size:16px}.complete-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:32px;animation:.5s fadeInUp;display:flex}.complete-icon{margin-bottom:24px;font-size:80px;animation:.6s forwards celebrate}.complete-state h2{color:var(--pure-text);margin-bottom:32px;font-size:28px;font-weight:700}.stats{gap:32px;margin-bottom:32px;display:flex}.stat-item{flex-direction:column;align-items:center;gap:8px;display:flex}.stat-value{color:var(--pure-accent);font-size:48px;font-weight:700}.stat-label{color:var(--pure-text-dim);font-size:14px}.btn-restart{background:var(--pure-accent);color:#1e293b;cursor:pointer;border:none;border-radius:12px;padding:14px 32px;font-size:16px;font-weight:600;transition:all .2s}.btn-restart:hover{background:var(--pure-accent-dark);transform:translateY(-2px);box-shadow:0 4px 12px #fbbf2466}.review-header{color:var(--pure-accent);letter-spacing:.5px;background:#fbbf2426;border-radius:12px;padding:8px 16px;font-size:14px;font-weight:700}.review-mode-block{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}@media (width<=480px){.pure-session-runner{padding:20px 16px}.phase-1,.phase-2,.phase-3a,.phase-3b,.phase-4,.phase-5{border-radius:18px;gap:20px;padding:24px 20px}.phase-title{font-size:19px}.phase-word{font-size:28px}.phase-word.large{font-size:36px}.sentence-en{font-size:18px}.letter-box{width:40px;height:48px;font-size:22px}.spelling-input{letter-spacing:3px;padding:14px;font-size:20px}.option-grid{grid-template-columns:1fr 1fr;gap:10px}.option-btn{min-height:60px;padding:14px 10px;font-size:14px}.action-row{flex-direction:column}.btn-replay{width:100%}.stats{gap:20px}.stat-value{font-size:36px}}
