:root{--color-primary: #006aa7;--color-primary-dark: #004d7a;--color-primary-light: #3d8fc4;--color-primary-bg: #e8f4fa;--color-accent: #fecc00;--color-text: #1a1a2e;--color-text-muted: #64748b;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-border: #e2e8f0;--color-warning-bg: #fffbeb;--color-warning-border: #fcd34d;--header-height: 3.5rem;--sidebar-width: 280px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:var(--color-text);background:var(--color-surface-2);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100dvh}#app{min-height:100dvh}a{color:var(--color-primary)}.prose h3{margin:1.5rem 0 .75rem;font-size:1rem;font-weight:600}.prose h3:first-child{margin-top:0}.prose h2{margin:1.5rem 0 .875rem;font-size:1.0625rem;font-weight:600}.prose h2:first-child{margin-top:0}.prose p{margin:0 0 .75rem}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.5rem}.prose ul{list-style:none;padding-left:0}.prose ul li{margin-bottom:.5rem}.prose ul li:before{content:"- "}.prose ul li>p{display:inline;margin:0}.prose li{margin-bottom:.375rem}.prose hr{border:none;border-top:1px solid var(--color-border);margin:1.25rem 0}.prose .dialogue-line{margin-bottom:.5rem}.prose .translation-title{font-size:.875rem;font-weight:600;color:var(--color-text-muted)}.prose .alphabet{font-family:Georgia,serif;font-size:1.125rem;letter-spacing:.08em;padding:.75rem 1rem;background:var(--color-surface-2);border-radius:var(--radius-sm)}.prose .example{padding:.5rem .875rem;background:var(--color-primary-bg);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose table,.prose .grammar-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9375rem;margin:.875rem 0 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-surface);box-shadow:0 1px 3px #006aa70f}.prose table thead,.prose .grammar-table thead{background:linear-gradient(180deg,var(--color-primary-bg) 0%,#e0f0f9 100%)}.prose table th,.prose table td,.prose .grammar-table th,.prose .grammar-table td{padding:.6875rem 1rem;text-align:left;vertical-align:middle}.prose table th,.prose .grammar-table th{font-weight:600;font-size:.8125rem;letter-spacing:.02em;color:var(--color-primary-dark);border-bottom:2px solid rgba(0,106,167,.15)}.prose table td,.prose .grammar-table td{border-bottom:1px solid var(--color-border);color:var(--color-text)}.prose table tbody tr:last-child td,.prose .grammar-table tbody tr:last-child td{border-bottom:none}.prose table tbody tr:nth-child(2n),.prose .grammar-table tbody tr:nth-child(2n){background:#f8fafcd9}.prose table tbody tr:hover,.prose .grammar-table tbody tr:hover{background:var(--color-primary-bg)}.prose table tbody tr,.prose .grammar-table tbody tr{transition:background-color .15s ease}.prose .table-audio-cell{width:3.5rem;text-align:center;vertical-align:middle}.prose .table-audio-cell .audio-player--compact{justify-content:center}.prose .content-image{max-width:100%;height:auto;border-radius:var(--radius-sm)}.prose .content-image--table,.prose .table-image-cell img,.prose td img,.prose th img{display:block;max-width:100%;max-height:5rem;width:auto;margin:0 auto;object-fit:contain}.prose .table-image-cell{min-width:4.5rem;text-align:center;vertical-align:middle}.prose .text-segment__exercise{margin:1.25rem 0;padding:1rem 1.125rem;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}.prose .text-segment__exercise-title{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-primary-dark)}.prose .text-segment__exercise-body p:last-child,.prose .text-segment__exercise-body ol:last-child,.prose .text-segment__exercise-body ul:last-child{margin-bottom:0}.prose .text-segment__exercise .audio-embed-host{margin:.75rem 0}.prose .phrase-list{display:flex;flex-direction:column;gap:.75rem}.prose .phrase-item{padding:.875rem 1rem;background:var(--color-surface-2);border-radius:var(--radius-md)}.prose .phrase-sv{margin:0 0 .25rem;font-weight:500;font-size:1.0625rem;color:var(--color-primary-dark)}.prose .phrase-zh{margin:0;font-size:.875rem;color:var(--color-text-muted)}.prose .answer-block{margin:.75rem 0 1.25rem;padding:.75rem 1rem;background:var(--color-surface-2);border-radius:var(--radius-sm);font-size:.875rem}.prose .answer-block summary{cursor:pointer;font-weight:500;color:var(--color-primary)}.prose .blank-line{display:inline-block;min-width:5em;height:1.1em;vertical-align:baseline;border-bottom:1px solid var(--color-text)}.prose .blank-line--sm{min-width:3em}.prose .blank-line--md{min-width:6em}.prose .blank-line--lg{min-width:10em}.prose .blank-line--xl{min-width:14em}.prose .blank-line--block{display:block;width:100%;min-width:0;margin:.375rem 0}.prose .laxor-block{margin:1.5rem 0 0;padding:1rem 1.125rem 1.125rem;background:linear-gradient(160deg,#fffbeb,#fefce8);border:1px solid #fde68a;border-left:4px solid var(--color-accent);border-radius:var(--radius-md)}.prose .laxor-block__header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.875rem;padding-bottom:.625rem;border-bottom:1px dashed #fcd34d}.prose .laxor-block__label{font-size:1.0625rem;font-weight:700;color:var(--color-primary-dark);letter-spacing:.03em}.prose .laxor-block__label-zh{font-size:.8125rem;font-weight:500;color:var(--color-text-muted)}.prose .laxor-block__body{font-size:.9375rem;line-height:1.65}.prose .laxor-block__prompt{margin:0 0 .75rem;color:var(--color-text)}.prose .laxor-block__hint{margin:0 0 .75rem;font-size:.8125rem;color:var(--color-text-muted)}.prose .laxor-block__writing{display:flex;flex-direction:column;gap:.25rem}.prose .laxor-block__writing .blank-line--block{border-bottom-color:#ca8a04;opacity:.75}@media(max-width:640px){.prose table,.prose .grammar-table{font-size:.8125rem}.prose table th,.prose table td,.prose .grammar-table th,.prose .grammar-table td{padding:.5rem .75rem}.prose .table-audio-cell{width:3rem}}
