.boot-loading[data-v-af4a867f]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 20px}.boot-loading h2[data-v-af4a867f]{font-size:var(--text-2xl);color:var(--color-wood-dark);font-family:var(--font-calligraphy);letter-spacing:.06em}.boot-spinner[data-v-af4a867f]{width:32px;height:32px;border:3px solid rgba(62,39,35,.12);border-top-color:var(--color-jade-dark);border-radius:4px;animation:boot-spin-af4a867f .8s linear infinite}@keyframes boot-spin-af4a867f{to{transform:rotate(360deg)}}.ink-icon[data-v-3b68041e]{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ink-icon[data-v-3b68041e] svg{width:100%;height:100%;display:block}.nav-bar[data-v-e27cb85c]{position:fixed;top:20px;left:20px;z-index:var(--z-modal);display:flex;align-items:center;gap:0;background:#fff6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:8px;border:1px solid rgba(255,255,255,.6);box-shadow:0 2px 12px #0000000f;overflow:hidden;-webkit-user-select:none;user-select:none}.nav-btn[data-v-e27cb85c]{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:none;background:transparent;color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .22s ease,color .22s ease;font-family:var(--font-body);min-height:unset;outline:none}.nav-btn[data-v-e27cb85c]:focus-visible{outline:2px solid var(--color-accent);outline-offset:-4px;border-radius:4px}.nav-btn[data-v-e27cb85c]:hover{background:#80cbc42e;color:var(--color-wood-dark)}.nav-btn[data-v-e27cb85c]:active{background:#80cbc447}.nav-btn-home[data-v-e27cb85c]{padding:9px 12px;border-left:1px solid rgba(0,0,0,.08)}[data-theme=dark] .nav-bar[data-v-e27cb85c]{background:#1e1c2880;border-color:#ffffff14;box-shadow:0 2px 14px #00000040}[data-theme=dark] .nav-btn[data-v-e27cb85c]{color:var(--color-text-primary)}[data-theme=dark] .nav-btn[data-v-e27cb85c]:hover{background:#80cbc41f}[data-theme=dark] .nav-btn-home[data-v-e27cb85c]{border-left-color:#ffffff14}@media(max-width:640px){.nav-bar[data-v-e27cb85c]{top:12px;left:12px}.nav-btn[data-v-e27cb85c]{padding:7px 10px;font-size:12px;gap:4px}.nav-btn-home[data-v-e27cb85c]{padding:7px 10px}}.study-panel[data-v-db2d81a5]{position:relative;background:linear-gradient(180deg,#ffffff59,#e0f2f133 30%,#e0f2f114 70%,#ffffff4d),#f5f5dcbf;border:4px solid rgba(62,39,35,.35);border-radius:4px;padding:40px 34px;display:grid;gap:32px;box-shadow:inset 0 0 16px #ffffff59,inset 0 2px 4px #ffffff40,0 6px 24px #3e27231f,0 2px 8px #3e27231a;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:panel-unfold-db2d81a5 .5s cubic-bezier(.22,.61,.36,1) both}@keyframes panel-unfold-db2d81a5{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.scroll-rod[data-v-db2d81a5]{position:absolute;left:-8px;right:-8px;height:10px;background:linear-gradient(180deg,#5d4037 0%,var(--color-wood-dark) 40%,#4e342e 60%,var(--color-wood-dark) 100%);border-radius:5px;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff1a;display:flex;align-items:center;justify-content:center}.scroll-rod-top[data-v-db2d81a5]{top:-6px}.scroll-rod-bottom[data-v-db2d81a5]{bottom:-6px}.rod-knob[data-v-db2d81a5]{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#7d5e4e,var(--color-wood-dark) 70%);box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffff26;flex-shrink:0}.ink-ambience[data-v-db2d81a5]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:2px;overflow:hidden;pointer-events:none}.ink-wash[data-v-db2d81a5]{position:absolute;border-radius:50%;filter:blur(60px);opacity:.08}.ink-wash-1[data-v-db2d81a5]{width:240px;height:240px;top:-90px;right:-70px;background:radial-gradient(circle,var(--color-wood-dark),transparent 70%)}.ink-wash-2[data-v-db2d81a5]{width:200px;height:200px;bottom:-50px;left:-60px;background:radial-gradient(circle,rgba(128,203,196,.8),transparent 70%)}.ink-wash-3[data-v-db2d81a5]{width:140px;height:140px;top:40%;right:-40px;background:radial-gradient(circle,rgba(196,75,60,.5),transparent 70%);opacity:.05}.corner-actions[data-v-db2d81a5]{position:absolute;top:clamp(10px,1.5vw,16px);right:clamp(10px,1.5vw,16px);z-index:10}.user-card[data-v-db2d81a5]{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border:2px solid rgba(62,39,35,.25);border-radius:6px;background:linear-gradient(135deg,#fffffff0,#f8f4ece0);cursor:pointer;box-shadow:inset 0 1px #ffffffb3,0 2px 6px #3e27231a;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease,border-color .25s ease}.user-card[data-v-db2d81a5]:hover{transform:translateY(-2px);border-color:#5b8c8599;box-shadow:inset 0 1px #ffffffb3,0 4px 12px #3e272324}.user-card[data-v-db2d81a5]:active{transform:scale(.97)}.user-avatar[data-v-db2d81a5]{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-jade-dark),#3f6f68);color:var(--color-bg-rice);border:2px solid var(--color-wood-dark);overflow:hidden;position:relative;box-shadow:inset 0 1px #ffffff4d,0 1px 3px #3e272333}.user-avatar img[data-v-db2d81a5]{width:100%;height:100%;object-fit:cover}.user-avatar-fb[data-v-db2d81a5]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-calligraphy);font-size:18px;font-weight:700;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.15)}.user-status-dot[data-v-db2d81a5]{position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:var(--color-success);border:2px solid var(--color-bg-rice);z-index:1}.user-avatar-guest[data-v-db2d81a5]{background:linear-gradient(135deg,#8a7a63,#6b5d49);border-color:#3e272366;border-style:dashed}.user-meta[data-v-db2d81a5]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.user-name[data-v-db2d81a5]{font-family:var(--font-calligraphy);font-size:15px;font-weight:700;color:var(--color-wood-dark);line-height:1.2;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role[data-v-db2d81a5]{font-style:normal;font-size:11px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.04em}.user-role-action[data-v-db2d81a5]{color:var(--color-jade-dark);font-weight:700}.user-card-chevron[data-v-db2d81a5]{flex-shrink:0;color:var(--color-text-muted);transition:transform .2s ease}.user-card:hover .user-card-chevron[data-v-db2d81a5]{transform:translate(2px);color:var(--color-jade-dark)}.study-hero[data-v-db2d81a5]{position:relative;z-index:1;text-align:center;display:grid;gap:10px;padding-bottom:10px}.study-hero h1[data-v-db2d81a5]{font-family:var(--font-calligraphy);font-size:clamp(1.625rem,5.5vw,3.8rem);font-weight:700;color:var(--color-wood-dark);letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,255,255,.6),0 2px 4px rgba(62,39,35,.1);margin:0;line-height:1.3}.hero-subtitle[data-v-db2d81a5]{font-family:var(--font-calligraphy);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;letter-spacing:.08em}.hero-seal[data-v-db2d81a5]{position:absolute;top:-6px;right:6px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-family:var(--font-calligraphy);font-size:14px;font-weight:900;color:var(--color-accent);border:2px solid var(--color-accent);border-radius:4px;transform:rotate(8deg);opacity:.75;letter-spacing:.06em;box-shadow:inset 0 0 0 1px #c44b3c33,0 1px 3px #c44b3c26}.study-grid[data-v-db2d81a5]{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.jade-card[data-v-db2d81a5]{display:flex;align-items:center;gap:14px;padding:20px 22px;border:3px solid var(--color-wood-dark);border-radius:4px;background:linear-gradient(135deg,#ffffff73,#e0f2f14d 40%,#ffffff59),var(--color-jade-light);cursor:pointer;text-align:left;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #3e272314,0 2px 4px #3e272314,0 4px 12px #3e27230f;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease,background .25s ease;will-change:transform}.jade-card[data-v-db2d81a5]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.5) 42%,transparent 48%);transform:translate(-120%);transition:transform .5s ease;pointer-events:none;z-index:0}.jade-card[data-v-db2d81a5]:hover:before{transform:translate(120%)}.jade-card[data-v-db2d81a5]:hover{transform:translateY(-4px) scale(1.02);box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #3e272314,0 6px 16px #3e27231f,0 10px 28px #3e27231a;background:linear-gradient(135deg,#ffffff8c,#e0f2f166 40%,#ffffff73),var(--color-jade-light)}.jade-card[data-v-db2d81a5]:active{transform:translateY(0) scale(.97);transition:transform .08s ease,box-shadow .08s ease;box-shadow:inset 0 1px #ffffff80,0 1px 3px #3e27231a}.jade-card-primary[data-v-db2d81a5]{grid-column:1 / -1;padding:34px 30px;border-color:#3e272359;background:linear-gradient(135deg,#ffffff59,#80cbc426 40%,#ffffff4d),#f5f5dc99;animation:jade-breathe-db2d81a5 4s ease-in-out infinite}@keyframes jade-breathe-db2d81a5{0%,to{box-shadow:inset 0 1px #ffffffb3,inset 0 -1px #3e272314,0 2px 4px #3e272314,0 4px 12px #3e27230f}50%{box-shadow:inset 0 1px #fffc,inset 0 -1px #3e27230f,0 2px 6px #3e27231a,0 6px 18px #80cbc426}}.jade-card-primary[data-v-db2d81a5]:hover{animation:none}.jade-card-primary .jade-title[data-v-db2d81a5]{font-size:var(--text-xl)}.primary-arrow[data-v-db2d81a5]{margin-left:auto;font-size:28px;font-weight:300;color:#3e272359;transition:transform .3s ease,color .3s ease;position:relative;z-index:1}.jade-card-primary:hover .primary-arrow[data-v-db2d81a5]{transform:translate(6px);color:var(--color-jade-dark)}.jade-icon[data-v-db2d81a5]{width:52px;height:52px;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-bg-rice);position:relative;z-index:1;border:2px solid rgba(62,39,35,.25);box-shadow:inset 0 1px #ffffff4d,0 2px 4px #3e272333;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.jade-card:hover .jade-icon[data-v-db2d81a5]{transform:scale(1.06);box-shadow:inset 0 1px #ffffff59,0 3px 8px #3e272340}.jade-icon-play[data-v-db2d81a5]{background:linear-gradient(135deg,var(--color-accent),#d4654e);width:70px;height:70px}.jade-icon-settings[data-v-db2d81a5]{background:linear-gradient(135deg,#6d7d8b,#8a9aa8)}.jade-icon-announce[data-v-db2d81a5]{background:linear-gradient(135deg,#4a7a4c,#5e9e60)}.jade-icon-feedback[data-v-db2d81a5]{background:linear-gradient(135deg,#7b5ea7,#9680c0)}.jade-icon-gallery[data-v-db2d81a5]{background:linear-gradient(135deg,#c49a3c,#d9b96a)}.jade-body[data-v-db2d81a5]{display:grid;gap:6px;flex:1;position:relative;z-index:1;min-width:0}.jade-title[data-v-db2d81a5]{font-family:var(--font-calligraphy);font-size:var(--text-lg);font-weight:700;color:var(--color-wood-dark);line-height:1.25;letter-spacing:.04em}.jade-desc[data-v-db2d81a5]{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:1.5}.jade-recent[data-v-db2d81a5]{font-size:var(--text-xs);color:var(--color-jade-dark);font-weight:600;font-family:var(--font-number);letter-spacing:.02em;padding-top:2px;border-top:1px solid rgba(128,203,196,.2)}.jade-recent-empty[data-v-db2d81a5]{color:var(--color-text-muted);font-family:inherit;font-weight:500}.jade-recent-continue[data-v-db2d81a5]{cursor:pointer;transition:opacity .15s ease}.jade-recent-continue[data-v-db2d81a5]:hover{opacity:.7;text-decoration:underline}@media(max-width:900px){.study-grid[data-v-db2d81a5]{grid-template-columns:repeat(2,1fr)}.jade-card-primary[data-v-db2d81a5]{grid-column:1 / -1}}@media(max-width:640px){.study-panel[data-v-db2d81a5]{padding:clamp(20px,3vw,28px) clamp(14px,2vw,18px);gap:16px;border-width:3px}.study-hero h1[data-v-db2d81a5]{font-size:clamp(1.6rem,4vw,2rem);letter-spacing:.08em}.hero-seal[data-v-db2d81a5]{width:40px;height:40px;font-size:11px;top:-2px}.study-grid[data-v-db2d81a5]{grid-template-columns:1fr}.jade-card-primary[data-v-db2d81a5]{grid-column:1}.jade-icon[data-v-db2d81a5]{width:42px;height:42px}.jade-icon-play[data-v-db2d81a5]{width:48px;height:48px}.user-card[data-v-db2d81a5]{padding:4px 10px 4px 4px;gap:8px}.user-avatar[data-v-db2d81a5]{flex-basis:34px;width:34px;height:34px}.user-status-dot[data-v-db2d81a5]{width:8px;height:8px}.user-name[data-v-db2d81a5]{max-width:90px;font-size:13px}.ink-wash-1[data-v-db2d81a5]{width:140px;height:140px;top:-50px;right:-40px}.ink-wash-2[data-v-db2d81a5]{width:100px;height:100px;bottom:-30px;left:-30px}.ink-wash-3[data-v-db2d81a5]{width:80px;height:80px}.scroll-rod[data-v-db2d81a5]{display:none}}[data-theme=dark] .study-panel[data-v-db2d81a5]{background:linear-gradient(180deg,#ffffff0f,#e0f2f10a 30%,#e0f2f105 70%,#ffffff0d),#1e1b16d9;border-color:#d4af3733;box-shadow:inset 0 0 16px #ffffff0a,inset 0 2px 4px #ffffff08,0 6px 24px #0000004d,0 2px 8px #00000040}[data-theme=dark] .scroll-rod[data-v-db2d81a5]{background:linear-gradient(180deg,#3a2a22,#4a382e 40%,#35241c 60%,#4a382e);box-shadow:0 1px 3px #00000080,inset 0 1px #ffffff0d}[data-theme=dark] .rod-knob[data-v-db2d81a5]{background:radial-gradient(circle at 40% 35%,#8a6c5c,#3a2a22 70%);box-shadow:0 2px 4px #00000080,inset 0 1px #ffffff14}[data-theme=dark] .ink-wash[data-v-db2d81a5]{opacity:.04}[data-theme=dark] .study-hero h1[data-v-db2d81a5]{color:var(--color-text-primary);text-shadow:0 1px 0 rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.2)}[data-theme=dark] .hero-seal[data-v-db2d81a5]{color:var(--color-accent-light);border-color:var(--color-accent-light);opacity:.7;box-shadow:inset 0 0 0 1px #d4af3733,0 1px 3px #d4af3726}[data-theme=dark] .user-card[data-v-db2d81a5]{background:linear-gradient(135deg,#ffffff14,#ffffff0a);border-color:#d4af3733;box-shadow:inset 0 1px #ffffff0a,0 2px 6px #00000040}[data-theme=dark] .user-name[data-v-db2d81a5]{color:var(--color-text-primary)}[data-theme=dark] .user-role[data-v-db2d81a5],[data-theme=dark] .user-card-chevron[data-v-db2d81a5]{color:var(--color-text-muted)}[data-theme=dark] .user-card:hover .user-card-chevron[data-v-db2d81a5]{color:var(--color-jade)}[data-theme=dark] .user-avatar-guest[data-v-db2d81a5]{border-color:#d4af3733}[data-theme=dark] .user-status-dot[data-v-db2d81a5]{border-color:#2e2e36}[data-theme=dark] .jade-card[data-v-db2d81a5]{background:linear-gradient(135deg,#ffffff0f,#e0f2f10d 40%,#ffffff0a),#28302ca6;border-color:#d4af3733;box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #00000026,0 2px 4px #0003,0 4px 12px #00000026}[data-theme=dark] .jade-card[data-v-db2d81a5]:before{background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 42%,transparent 48%)}[data-theme=dark] .jade-card[data-v-db2d81a5]:hover{background:linear-gradient(135deg,#ffffff1a,#e0f2f114 40%,#ffffff14),#323a36b3;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0003,0 6px 16px #0000004d,0 10px 28px #00000040}[data-theme=dark] .jade-card[data-v-db2d81a5]:active{box-shadow:inset 0 1px #ffffff0d,0 1px 3px #0000004d}[data-theme=dark] .jade-card-primary[data-v-db2d81a5]{background:linear-gradient(135deg,#ffffff0d,#80cbc41a 40%,#ffffff0a),#32372d8c;border-color:#d4af3740}@keyframes jade-breathe-dark-db2d81a5{0%,to{box-shadow:inset 0 1px #ffffff0f,inset 0 -1px #0003,0 2px 4px #0003,0 4px 12px #00000026}50%{box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #00000026,0 2px 6px #0000004d,0 6px 18px #80cbc41f}}[data-theme=dark] .jade-card-primary[data-v-db2d81a5]{animation:jade-breathe-dark-db2d81a5 4s ease-in-out infinite}[data-theme=dark] .jade-card-primary[data-v-db2d81a5]:hover{animation:none}[data-theme=dark] .jade-icon[data-v-db2d81a5]{border-color:#d4af3733;box-shadow:inset 0 1px #ffffff14,0 2px 4px #0000004d}[data-theme=dark] .jade-title[data-v-db2d81a5]{color:var(--color-text-primary)}[data-theme=dark] .jade-recent[data-v-db2d81a5]{color:var(--color-jade-light);border-color:#5db8a626}[data-theme=dark] .jade-recent-empty[data-v-db2d81a5]{color:var(--color-text-muted)}[data-theme=dark] .primary-arrow[data-v-db2d81a5]{color:#d4af374d}[data-theme=dark] .jade-card-primary:hover .primary-arrow[data-v-db2d81a5]{color:var(--color-jade-light)}@media(max-width:640px){[data-theme=dark] .study-panel[data-v-db2d81a5]{border-width:3px}}.layout[data-v-df0035e0],.layout.game-layout[data-v-bf0751de]{width:100%}.loading-overlay[data-v-bd54a824]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#ffffff8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:auto}.loading-spinner[data-v-bd54a824]{width:36px;height:36px;border:3px solid rgba(62,39,35,.1);border-top-color:var(--color-jade-dark);border-radius:4px;animation:loading-spin-bd54a824 .75s linear infinite}.loading-text[data-v-bd54a824]{font-size:var(--text-sm);color:var(--color-wood-dark);font-family:var(--font-body);letter-spacing:.04em}@keyframes loading-spin-bd54a824{to{transform:rotate(360deg)}}[data-theme=dark] .loading-overlay[data-v-bd54a824]{background:#14121e99}[data-theme=dark] .loading-spinner[data-v-bd54a824]{border-color:#ffffff14;border-top-color:var(--color-jade)}[data-theme=dark] .loading-text[data-v-bd54a824]{color:var(--color-text-primary)}.loading-fade-enter-active[data-v-bd54a824]{transition:opacity .18s ease}.loading-fade-leave-active[data-v-bd54a824]{transition:opacity .15s ease}.loading-fade-enter-from[data-v-bd54a824],.loading-fade-leave-to[data-v-bd54a824]{opacity:0}.toast-container[data-v-6178cbfa]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-item[data-v-6178cbfa]{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;font-size:13px;font-weight:500;line-height:1.4;max-width:320px;box-shadow:0 4px 16px #21263124;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;transition:opacity .28s ease,transform .28s ease}.toast-success[data-v-6178cbfa]{background:#2e8250eb;color:#fff;border:1px solid rgba(255,255,255,.15)}.toast-info[data-v-6178cbfa]{background:#fffffff0;color:#1e293b;border:1px solid rgba(120,140,165,.25)}.toast-warn[data-v-6178cbfa]{background:#c07820eb;color:#fff;border:1px solid rgba(255,255,255,.15)}.toast-item.leaving[data-v-6178cbfa]{opacity:0;transform:translate(24px)}.toast-enter-active[data-v-6178cbfa]{transition:all .28s ease-out}.toast-leave-active[data-v-6178cbfa]{transition:all .24s ease-in}.toast-enter-from[data-v-6178cbfa]{opacity:0;transform:translate(40px)}.toast-leave-to[data-v-6178cbfa]{opacity:0;transform:translate(24px)}.update-overlay[data-v-56cd1a5b]{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#1e1c188c;z-index:300;padding:clamp(12px,3vw,20px);animation:fade-in-56cd1a5b .2s ease}.update-modal[data-v-56cd1a5b]{width:min(460px,calc(100vw - 24px));max-height:82vh;max-height:82dvh;overflow-y:auto;background:#ffffffeb;border-radius:4px;padding:clamp(16px,3vw,26px);border:1px solid #d1c7b7;box-shadow:0 18px 50px #14100859;display:flex;flex-direction:column;gap:14px;animation:modal-unroll-56cd1a5b .26s cubic-bezier(.22,.61,.36,1)}.update-head[data-v-56cd1a5b]{display:flex;align-items:center;gap:10px}.update-badge[data-v-56cd1a5b]{background:linear-gradient(135deg,#b03a2e,#8a2b20);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:2px 8px;border-radius:3px}.update-head h3[data-v-56cd1a5b]{margin:0;font-size:1.05rem;color:#2a2118;flex:1}.update-version[data-v-56cd1a5b]{color:#8a7a63;font-size:.8rem;border:1px solid #d1c7b7;padding:2px 8px;border-radius:999px;white-space:nowrap}.update-body[data-v-56cd1a5b]{color:#4a3f30;font-size:.92rem;line-height:1.7;white-space:pre-wrap}.update-actions[data-v-56cd1a5b]{display:flex;justify-content:flex-end}.btn-primary[data-v-56cd1a5b]{padding:10px 22px;border:none;border-radius:4px;background:linear-gradient(135deg,#8a2b20,#b03a2e);color:#fff;font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer;transition:filter .18s ease}.btn-primary[data-v-56cd1a5b]:hover{filter:brightness(1.1)}[data-theme=dark] .update-modal[data-v-56cd1a5b]{background:#2a2826f2;border-color:#c8beaa33}[data-theme=dark] .update-head h3[data-v-56cd1a5b]{color:#efe6d6}[data-theme=dark] .update-body[data-v-56cd1a5b]{color:#cfc4b0}[data-theme=dark] .update-version[data-v-56cd1a5b]{color:#b3a78f;border-color:#c8beaa40}@keyframes fade-in-56cd1a5b{0%{opacity:0}to{opacity:1}}@keyframes modal-unroll-56cd1a5b{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.layout-wide[data-v-3706462e]{width:min(1080px,100%);padding:0;min-height:auto}@media(max-width:900px){.layout-wide[data-v-3706462e]{width:100%}}.layout-full[data-v-3706462e]{width:100%}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}:root{--color-bg-rice: #f4efe6;--color-bg-book: #ede8dd;--color-jade-light: #e0f2f1;--color-jade-dark: #80cbc4;--color-gold-dark: #c9a84c;--color-indigo-dark: #5b7ab8;--color-accent-dark: #c44b3c;--color-wood-dark: #4a4136;--color-bg: #f4efe6;--color-bg-alt: #ede8dd;--color-surface: rgba(255, 255, 255, .6);--color-surface-elevated: rgba(255, 255, 255, .75);--color-surface-glass: rgba(255, 255, 255, .55);--color-card: linear-gradient( 180deg, rgba(255, 255, 255, .65) 0%, rgba(252, 249, 244, .55) 100% );--color-card-hover: linear-gradient( 180deg, rgba(255, 255, 255, .78) 0%, rgba(254, 251, 246, .68) 100% );--color-input: rgba(244, 239, 230, .75);--color-input-focus: #fefcf8;--color-text-primary: #333333;--color-text-secondary: #4a4136;--color-text-muted: #8c7a60;--color-text-inverse: #f4efe6;--color-accent: #c44b3c;--color-accent-hover: #a83a2d;--color-accent-light: rgba(196, 75, 60, .08);--color-accent-glow: rgba(196, 75, 60, .18);--color-accent-text: #ffffff;--color-jade: #4a9c8c;--color-jade-hover: #3a7d6f;--color-jade-light: rgba(74, 156, 140, .08);--color-jade-glow: rgba(74, 156, 140, .18);--color-jade-text: #2d6b5e;--color-indigo: #5b7ab8;--color-indigo-hover: #4a6598;--color-indigo-light: rgba(91, 122, 184, .08);--color-indigo-glow: rgba(91, 122, 184, .18);--color-indigo-text: #3d5280;--color-amber: #d4893c;--color-amber-hover: #b87230;--color-amber-light: rgba(212, 137, 60, .08);--color-amber-glow: rgba(212, 137, 60, .18);--color-amber-text: #8b5a20;--color-gold: #c9a84c;--color-gold-light: rgba(201, 168, 76, .12);--color-gold-text: #8b7230;--color-danger: #c44b3c;--color-danger-hover: #a83a2d;--color-danger-light: rgba(196, 75, 60, .06);--color-danger-text: #a83a2d;--color-success: #5b8c5a;--color-success-light: rgba(91, 140, 90, .08);--color-success-text: #3d6b3c;--color-warning: #c49a3c;--color-warning-light: rgba(196, 154, 60, .08);--color-warning-text: #8b6a20;--color-border-ink: #d1c7b7;--color-border: rgba(180, 170, 150, .35);--color-border-light: rgba(180, 170, 150, .2);--color-border-elevated: rgba(160, 150, 130, .4);--hsk-1: #5b8c5a;--hsk-1-light: rgba(91, 140, 90, .1);--hsk-1-text: #3d6b3c;--hsk-2: #3d5a80;--hsk-2-light: rgba(61, 90, 128, .1);--hsk-2-text: #2a4365;--hsk-3: #c49a3c;--hsk-3-light: rgba(196, 154, 60, .1);--hsk-3-text: #8b6a20;--book-hsk: #4a7a6e;--book-hsk-light: rgba(74, 122, 110, .1);--book-hsk-text: #2f5c52;--book-tongguan: #8a5a7c;--book-tongguan-light: rgba(138, 90, 124, .1);--book-tongguan-text: #6a3f5c;--color-orb-a: radial-gradient(circle, #c4a07a, rgba(196, 160, 122, 0));--color-orb-b: radial-gradient(circle, #8a9ab0, rgba(138, 154, 176, 0));--color-orb-c: radial-gradient(circle, #a0b8a0, rgba(160, 184, 160, 0));--color-orb-d: radial-gradient(circle, #c4907a, rgba(196, 144, 122, 0));--color-orb-e: radial-gradient(circle, #7aacb0, rgba(122, 172, 176, 0));--gradient-hero: linear-gradient(135deg, #f4efe6 0%, #ede4d6 50%, #e5dcc8 100%);--gradient-accent: linear-gradient(135deg, #c44b3c, #d4654e);--gradient-jade: linear-gradient(135deg, #4a9c8c, #5db8a6);--gradient-indigo: linear-gradient(135deg, #5b7ab8, #7b9ad4);--gradient-amber: linear-gradient(135deg, #d4893c, #e8a860);--gradient-gold: linear-gradient(135deg, #c9a84c, #ddc070);--gradient-card: linear-gradient( 180deg, rgba(255, 255, 255, .65) 0%, rgba(248, 244, 236, .55) 100% );--gradient-glass: linear-gradient( 135deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .2) 100% );--glass-bg: rgba(255, 255, 255, .6);--glass-border: #d1c7b7;--glass-shadow: 0 4px 16px rgba(51, 51, 51, .06);--glass-blur: blur(10px);--font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "SimSun", serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "SimSun", serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-number: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-calligraphy: "KaiTi", "STKaiti", "SimSun", "FangSong", "STFangsong", serif;--font-pinyin: "Times New Roman", "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--text-xs: clamp(.7rem, 1.2vw, .72rem);--text-sm: clamp(.82rem, 1.4vw, .85rem);--text-base: clamp(.94rem, 1.6vw, 1rem);--text-lg: clamp(1.1rem, 2vw, 1.15rem);--text-xl: clamp(1.3rem, 2.4vw, 1.4rem);--text-2xl: clamp(1.55rem, 3vw, 1.7rem);--text-3xl: clamp(1.9rem, 3.6vw, 2.1rem);--text-hero: clamp(2.4rem, 5vw, 3.1rem);--radius-sm: 4px;--radius-md: 4px;--radius-lg: 4px;--radius-xl: 4px;--radius-full: 999px;--shadow-sm: 0 2px 8px rgba(51, 51, 51, .05);--shadow-md: 0 6px 18px rgba(51, 51, 51, .07);--shadow-lg: 0 14px 28px rgba(51, 51, 51, .08);--shadow-xl: 0 24px 48px rgba(51, 51, 51, .1);--shadow-glow: 0 0 30px rgba(196, 75, 60, .12);--shadow-stamp: 0 2px 4px rgba(51, 51, 51, .18), 0 0 0 1px rgba(196, 75, 60, .25);--shadow-card: 0 4px 12px rgba(51, 51, 51, .05);--shadow-card-hover: 0 8px 24px rgba(51, 51, 51, .1);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--transition-stamp: .28s cubic-bezier(.18, .89, .32, 1.15);--space-xs: 4px;--space-sm: 8px;--space-md: 14px;--space-lg: 22px;--space-xl: 32px;--space-2xl: 44px;--content-max: 820px;--content-narrow: 560px;--z-base: 1;--z-overlay: 10;--z-modal: 100;--z-toast: 200;--bg-0: #e5dcc8;--bg-1: #ddd5c0;--bg-2: #ede4d6;--ink-0: #333333;--ink-1: #4a4136;--line-0: rgba(255, 255, 255, .4);--panel-0: rgba(255, 255, 255, .6);--panel-1: rgba(255, 255, 255, .48);--accent-0: #333333;--accent-1: #4a4136;--shadow-soft: 0 14px 26px rgba(51, 51, 51, .1);--shadow-strong: 0 24px 48px rgba(51, 51, 51, .14);--color-primary: #c44b3c;--color-primary-light: #d4654e;--color-muted: #8c7a60;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-bg: #1e1e24;--color-bg-alt: #26262e;--color-surface: rgba(30, 30, 36, .7);--color-surface-elevated: rgba(38, 38, 46, .82);--color-surface-glass: rgba(30, 30, 36, .55);--color-card: linear-gradient(180deg, rgba(38, 38, 46, .7) 0%, rgba(30, 30, 36, .6) 100%);--color-card-hover: linear-gradient( 180deg, rgba(45, 45, 54, .78) 0%, rgba(36, 36, 44, .68) 100% );--color-input: rgba(40, 40, 50, .55);--color-input-focus: rgba(50, 50, 62, .7);--color-text-primary: #e8e0d0;--color-text-secondary: #c4b8a0;--color-text-muted: #908878;--color-text-inverse: #1e1e24;--color-accent: #e87860;--color-accent-hover: #f09078;--color-accent-light: rgba(232, 120, 96, .12);--color-accent-glow: rgba(232, 120, 96, .22);--color-accent-text: #ffffff;--color-jade: #5db8a6;--color-jade-hover: #6ecab8;--color-jade-light: rgba(93, 184, 166, .1);--color-jade-glow: rgba(93, 184, 166, .2);--color-jade-text: #80d4c4;--color-indigo: #7b9ad4;--color-indigo-hover: #90b0e8;--color-indigo-light: rgba(123, 154, 212, .1);--color-indigo-glow: rgba(123, 154, 212, .2);--color-indigo-text: #a0c0f0;--color-amber: #e8a860;--color-amber-hover: #f0b878;--color-amber-light: rgba(232, 168, 96, .1);--color-amber-glow: rgba(232, 168, 96, .2);--color-amber-text: #f0c880;--color-gold: #d4b860;--color-gold-light: rgba(212, 184, 96, .12);--color-gold-text: #ddc880;--color-gold-dark: #d4b860;--color-indigo-dark: #7b9ad4;--color-accent-dark: #e87860;--color-danger: #e87860;--color-danger-hover: #f09078;--color-danger-light: rgba(232, 120, 96, .08);--color-danger-text: #f0a090;--color-success: #6aaa6a;--color-success-light: rgba(106, 170, 106, .1);--color-success-text: #8ac88a;--color-warning: #d4aa50;--color-warning-light: rgba(212, 170, 80, .1);--color-warning-text: #e0c070;--color-border-ink: rgba(200, 190, 170, .18);--color-border: rgba(180, 170, 150, .16);--color-border-light: rgba(160, 150, 130, .1);--color-border-elevated: rgba(200, 190, 170, .2);--color-orb-a: radial-gradient(circle, #6a5040, rgba(106, 80, 64, 0));--color-orb-b: radial-gradient(circle, #4a5a80, rgba(74, 90, 128, 0));--color-orb-c: radial-gradient(circle, #4a6a5a, rgba(74, 106, 90, 0));--color-orb-d: radial-gradient(circle, #6a4050, rgba(106, 64, 80, 0));--color-orb-e: radial-gradient(circle, #3a6070, rgba(58, 96, 112, 0));--gradient-hero: linear-gradient(135deg, #1e1e24 0%, #26262e 50%, #22222a 100%);--gradient-accent: linear-gradient(135deg, #e87860, #f09078);--gradient-jade: linear-gradient(135deg, #5db8a6, #6ecab8);--gradient-indigo: linear-gradient(135deg, #7b9ad4, #90b0e8);--gradient-amber: linear-gradient(135deg, #e8a860, #f0b878);--gradient-gold: linear-gradient(135deg, #d4b860, #e0cc78);--gradient-card: linear-gradient(180deg, rgba(38, 38, 46, .7) 0%, rgba(30, 30, 36, .6) 100%);--gradient-glass: linear-gradient( 135deg, rgba(255, 255, 255, .06) 0%, rgba(255, 255, 255, .01) 100% );--glass-bg: rgba(30, 30, 36, .6);--glass-border: rgba(255, 255, 255, .06);--glass-shadow: 0 4px 16px rgba(0, 0, 0, .3);--glass-blur: blur(10px);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 6px 18px rgba(0, 0, 0, .3);--shadow-lg: 0 14px 28px rgba(0, 0, 0, .35);--shadow-xl: 0 24px 48px rgba(0, 0, 0, .4);--shadow-glow: 0 0 30px rgba(232, 120, 96, .2);--shadow-stamp: 0 2px 4px rgba(0, 0, 0, .4), 0 0 0 1px rgba(232, 120, 96, .35);--shadow-card: 0 4px 12px rgba(0, 0, 0, .25);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .35);--bg-0: #1e1e24;--bg-1: #26262e;--bg-2: #2e2e36;--ink-0: #e8e0d0;--ink-1: #c4b8a0;--line-0: rgba(255, 255, 255, .06);--panel-0: rgba(30, 30, 36, .7);--panel-1: rgba(24, 24, 30, .6);--accent-0: #e8e0d0;--accent-1: #c4b8a0;--shadow-soft: 0 14px 26px rgba(0, 0, 0, .3);--shadow-strong: 0 24px 48px rgba(0, 0, 0, .4);--color-primary: #e87860;--color-primary-light: #f09078;--color-muted: #908878}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-bg) url(/student/bg-ink-landscape.webp) center / cover no-repeat fixed;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition-slow);min-height:100vh;min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:.02em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:background var(--transition-base),color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}input,select,textarea{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background:var(--color-input);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:clamp(8px,1.5vw,12px) clamp(10px,2vw,14px);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);background:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-light)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238c7a60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:var(--color-border-light);border-radius:var(--radius-full);padding:0;border:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-surface-elevated);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition-fast)}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]:focus{box-shadow:none}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:clamp(18px,3vw,22px);height:clamp(18px,3vw,22px);border:2px solid var(--color-border-elevated);border-radius:5px;padding:0;cursor:pointer;position:relative;flex-shrink:0;transition:all var(--transition-fast)}input[type=checkbox]:checked{background:var(--color-accent);border-color:var(--color-accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus{box-shadow:0 0 0 3px var(--color-accent-light)}.close-btn{width:clamp(32px,5vw,36px);height:clamp(32px,5vw,36px);border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;color:var(--color-text-muted);font-size:20px;font-weight:400;border:1px solid var(--color-border-light);cursor:pointer;flex-shrink:0;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease,color .2s ease}.close-btn:hover{background:var(--color-danger-light);color:var(--color-danger-text);border-color:#c44b3c40;transform:rotate(90deg)}.close-btn:active{transform:rotate(90deg) scale(.88);transition:transform .07s ease}.spring-btn{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s cubic-bezier(.34,1.56,.64,1),border-color .2s ease,background .2s ease,color .2s ease}.spring-btn:active{transform:scale(.94);transition:transform .07s ease,box-shadow .07s ease}.lift-btn:hover{transform:translateY(-3px)}.lift-btn:active{transform:translateY(1px) scale(.96);transition:transform .07s ease,box-shadow .07s ease}.shine-sweep{position:relative;overflow:hidden}.shine-sweep:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,252,247,.5) 45%,transparent 50%);transform:translate(-120%);transition:transform .55s ease;pointer-events:none;z-index:1}.shine-sweep:hover:before{transform:translate(120%)}.deep-shadow{box-shadow:0 2px 4px #2c24160a,0 6px 14px #2c24160f,0 14px 28px #2c24160d}.deep-shadow:hover{box-shadow:0 4px 8px #2c24160f,0 10px 22px #2c241617,0 22px 44px #2c241614}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px}[data-theme=dark] body:before{opacity:.04}[data-theme=dark] body{background:linear-gradient(#121218bf,#121218bf),url(/student/bg-ink-landscape.webp) center / cover no-repeat fixed}@keyframes breathe-glow{0%,to{box-shadow:0 0 0 0 var(--color-accent-glow),0 4px 8px #2c24160f,0 10px 22px #2c241617,0 22px 44px #2c241614}50%{box-shadow:0 0 0 8px #c44b3c14,0 4px 12px #2c241614,0 12px 28px #2c24161c,0 28px 52px #2c24161a}}@supports (padding-bottom: env(safe-area-inset-bottom)){.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}}.scroll-y{overflow-y:auto;-webkit-overflow-scrolling:touch}.scroll-y::-webkit-scrollbar{width:4px}.scroll-y::-webkit-scrollbar-track{background:transparent}.scroll-y::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.panel{width:100%;position:relative;z-index:1;background:#fff9;border:1px solid #d1c7b7;border-radius:4px;padding:clamp(16px,3vw,28px);box-shadow:0 2px 8px #3333330a,0 8px 20px #3333330f,inset 0 1px #ffffff80;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:panel-rise .36s cubic-bezier(.22,.61,.36,1)}[data-theme=dark] .panel{background:#1e1e2499;border-color:#c8beaa26;box-shadow:0 2px 8px #00000026,0 8px 20px #0003,inset 0 1px #ffffff08}.panel h2{margin:0 0 clamp(12px,2vw,18px);color:#333;font-family:var(--font-display);font-size:clamp(24px,3.5vw,34px);font-weight:700;letter-spacing:.03em}[data-theme=dark] .panel h2{color:#e8e0d0}@keyframes panel-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.generic-head,.levels-head{display:flex;align-items:center;justify-content:space-between;gap:clamp(8px,1.5vw,12px);flex-wrap:wrap}.generic-head h2,.levels-head h2{margin:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1c1866;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;z-index:200;padding:clamp(12px,3vw,20px);animation:fade-in .2s ease}.modal{background:#fff9;border-radius:4px;padding:clamp(16px,3vw,28px);width:min(440px,calc(100vw - 24px));max-height:85vh;max-height:85dvh;overflow-y:auto;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:clamp(10px,2vw,14px);animation:modal-unroll .26s cubic-bezier(.22,.61,.36,1);border:1px solid #d1c7b7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch}[data-theme=dark] .modal{background:#1e1e2499;border-color:#c8beaa26}@keyframes modal-unroll{0%{opacity:0;transform:scale(.92,.88);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}}@supports not (clip-path: inset(0 0 0 0)){@keyframes modal-unroll{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}}.modal.warn{border:1.5px solid rgba(196,75,60,.35);box-shadow:var(--shadow-xl),0 0 0 1px #c44b3c14}.modal.paper{position:relative;overflow:hidden;background:linear-gradient(180deg,#fffdfaf5,#f8f4ece6);box-shadow:var(--shadow-xl),0 0 0 1px #c44b3c0f}.overlay-solid{backdrop-filter:none;-webkit-backdrop-filter:none;background:#1a181699}.modal.paper:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(180,170,150,.28);border-radius:2px;pointer-events:none}.modal.paper>*{position:relative;z-index:1}[data-theme=dark] .modal.paper{background:linear-gradient(180deg,#26262ecc,#1e1e24a8)}[data-theme=dark] .modal.paper:before{border-color:#ffffff14}.paper-head{display:flex;align-items:center;gap:14px}.paper-seal{flex-shrink:0;width:46px;height:46px;display:grid;place-items:center;font-family:var(--font-calligraphy);font-size:24px;font-weight:700;line-height:1;color:#fff;background:var(--gradient-accent);border-radius:4px;box-shadow:var(--shadow-stamp);animation:paper-seal-in .42s cubic-bezier(.18,.89,.32,1.15) both}@keyframes paper-seal-in{0%{opacity:0;transform:scale(1.6) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(-3deg)}}.paper-head-text h3{font-family:var(--font-calligraphy);font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;color:var(--color-text-primary);letter-spacing:.12em;line-height:1.2}.paper-head-sub{margin:4px 0 0;font-family:var(--font-calligraphy);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:.14em}.paper-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px}.paper-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:1px;align-items:center;padding:10px 12px;border:1px solid var(--color-border-light);border-top:2px solid transparent;border-radius:4px;background:#ffffff8c;animation:paper-rise .42s both;animation-delay:var(--d, 0ms)}.paper-stat-icon{grid-row:1 / span 2;width:32px;height:32px;display:grid;place-items:center;border-radius:50%}.paper-stat-value{font-family:var(--font-number);font-size:var(--text-lg);font-weight:700;line-height:1.1;color:var(--color-text-primary)}.paper-stat-label{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.paper-stat[data-accent=indigo]{border-top-color:var(--color-indigo)}.paper-stat[data-accent=indigo] .paper-stat-icon{color:var(--color-indigo);background:var(--color-indigo-light)}.paper-stat[data-accent=amber]{border-top-color:var(--color-amber)}.paper-stat[data-accent=amber] .paper-stat-icon{color:var(--color-amber);background:var(--color-amber-light)}.paper-stat[data-accent=jade]{border-top-color:var(--color-jade)}.paper-stat[data-accent=jade] .paper-stat-icon{color:var(--color-jade);background:var(--color-jade-light)}.paper-stat[data-accent=cinnabar]{border-top-color:var(--color-accent)}.paper-stat[data-accent=cinnabar] .paper-stat-icon{color:var(--color-accent);background:var(--color-accent-light)}@keyframes paper-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.paper-progress{display:flex;flex-direction:column;gap:6px}.paper-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--color-text-muted)}.paper-progress-count{font-family:var(--font-number);font-weight:700;color:var(--color-text-secondary)}.paper-progress-track{height:8px;border-radius:4px;background:#3e272314;overflow:hidden}.paper-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--color-jade),var(--color-jade-dark));transition:width var(--transition-base)}[data-theme=dark] .paper-stat{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .paper-progress-track{background:#ffffff1a}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1c1873;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;z-index:300;padding:clamp(12px,3vw,20px)}.modal-box{background:#fff9;border-radius:4px;padding:clamp(16px,3vw,28px);width:min(440px,calc(100vw - 24px));max-height:85vh;max-height:85dvh;overflow-y:auto;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:14px;border:1px solid #d1c7b7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-overflow-scrolling:touch}[data-theme=dark] .modal-box{background:#1e1e2499;border-color:#c8beaa26}.preview-box{border:1px solid rgba(160,140,110,.22);border-radius:clamp(14px,2.5vw,20px);padding:clamp(12px,2vw,16px);background:linear-gradient(180deg,#faf6eeb3,#f2ece28c);box-shadow:inset 0 1px #fff9}[data-theme=dark] .preview-box{background:linear-gradient(180deg,#221c2e99,#1c182680);box-shadow:inset 0 1px #ffffff08}.preview-box ul,.preview-box ol{margin:8px 0;padding-left:clamp(14px,2vw,18px);max-height:280px;overflow:auto}.preview-box li{white-space:normal;word-break:break-word;line-height:1.5}.preview-box .me-row{background:var(--color-gold-light);border-radius:6px;padding:2px 6px;font-weight:600}.preview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:clamp(12px,2vw,16px)}button{cursor:pointer;border:2px solid rgba(62,39,35,.2);border-radius:4px;font-size:var(--text-sm);font-weight:600;background:#ffffffa6;color:var(--ink-0);padding:clamp(6px,1.2vw,10px) clamp(14px,2.5vw,20px);min-height:clamp(34px,5vw,40px);transition:opacity .15s ease,background .15s ease,transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;touch-action:manipulation;box-shadow:inset 0 1px #ffffff80,0 1px 3px #3e27231a}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){background:#ffffffe6;border-color:#3e272359;box-shadow:inset 0 1px #ffffff80,0 3px 8px #3e27231f}button:active:not(:disabled){transform:scale(.96);box-shadow:inset 0 1px #ffffff4d,0 1px 2px #3e272314}[data-theme=dark] button{background:#ffffff0f;color:var(--ink-0);border-color:#a08c6e33;box-shadow:none}[data-theme=dark] button:hover:not(:disabled){background:#ffffff1f;border-color:#a08c6e59;box-shadow:0 2px 8px #00000040}button.ghost{background:transparent;color:var(--ink-1);border-color:#8c785a38;padding:clamp(6px,1.2vw,10px) clamp(12px,2vw,18px);min-height:clamp(34px,5vw,40px)}button.ghost:hover:not(:disabled){background:#8c785a0f}button.ghost.active{background:var(--color-accent-light);color:var(--color-accent);border-color:#c44b3c4d}button.danger{background:var(--color-danger);color:#fff;padding:clamp(6px,1.2vw,10px) clamp(12px,2vw,18px);min-height:clamp(34px,5vw,40px)}button.danger:hover:not(:disabled){background:var(--color-danger-hover)}button.back{background:transparent;color:var(--ink-1);border-color:#8c785a29;margin-top:14px;padding:clamp(6px,1.2vw,10px) clamp(12px,2vw,18px);min-height:clamp(34px,5vw,40px)}button.tiny{font-size:var(--text-xs);padding:4px 10px;min-height:30px;border-radius:var(--radius-sm)}.btn-primary{background:var(--color-jade-dark);color:#1f3d38;border:2px solid var(--color-wood-dark);padding:clamp(8px,1.5vw,12px) clamp(16px,3vw,24px);border-radius:4px;font-weight:700;display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:clamp(38px,6vw,44px);box-shadow:inset 0 1px #ffffff4d,0 2px 6px #3e272333;letter-spacing:.04em}.btn-primary:hover:not(:disabled){background:#9ad9d3;box-shadow:inset 0 1px #ffffff59,0 4px 12px #3e272340}.btn-primary:active:not(:disabled){transform:scale(.96);box-shadow:inset 0 1px #fff3,0 1px 3px #3e272326}.btn-ghost{background:transparent;color:var(--ink-1);border:2px solid rgba(62,39,35,.2);padding:clamp(8px,1.5vw,12px) clamp(14px,2.5vw,20px);border-radius:4px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:clamp(38px,6vw,44px)}.btn-ghost:hover:not(:disabled){background:#3e27230a;border-color:#3e272359}.btn-danger{background:transparent;color:var(--color-danger-text);border:1px solid rgba(196,75,60,.25);padding:clamp(8px,1.5vw,12px) clamp(14px,2.5vw,20px);border-radius:var(--radius-md);font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:clamp(38px,6vw,44px)}.btn-danger:hover:not(:disabled){background:var(--color-danger-light);border-color:#c44b3c66}.row-actions{display:flex;flex-wrap:wrap;gap:clamp(6px,1vw,8px);align-items:center}.tip{font-size:var(--text-sm);color:var(--color-muted);margin:4px 0}.progress-table-wrap{max-height:360px;overflow:auto;border-radius:var(--radius-md);border:1px solid rgba(140,120,90,.16);-webkit-overflow-scrolling:touch}.progress-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);text-align:left}.progress-table th,.progress-table td{padding:clamp(6px,1vw,10px);border-bottom:1px solid rgba(140,120,90,.1);white-space:nowrap}.progress-table th{background:#f5f1eab3;font-weight:600;position:sticky;top:0;z-index:1}[data-theme=dark] .progress-table th{background:#1e1a28cc}.levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:clamp(10px,2vw,14px)}.level-grid{display:grid;gap:clamp(10px,2vw,14px)}.level-tile{display:flex;flex-direction:column;gap:8px;padding:clamp(12px,2vw,16px);border:none;border-radius:clamp(14px,2.5vw,18px);background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:all .2s ease;text-align:left;font-size:var(--text-sm);animation:tile-stamp .34s cubic-bezier(.18,.89,.32,1.15) backwards;box-shadow:0 4px 12px #0000000d;min-height:100px}@keyframes tile-stamp{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}[data-theme=dark] .level-tile{background:#1e1a2a99}.level-tile:hover:not(:disabled):not(.opening){transform:translateY(-3px);box-shadow:0 8px 24px #00000017;background:#ffffffd9}[data-theme=dark] .level-tile:hover:not(:disabled):not(.opening){background:#241e32cc}.level-tile:active:not(:disabled){transform:scale(.97);transition:transform .08s ease}.level-tile.opening{opacity:.5;pointer-events:none}.level-tile.placeholder{visibility:hidden}.tile-order-badge{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted)}.tile-icon-wrap,.tile-icon-fallback{width:clamp(32px,5vw,40px);height:clamp(32px,5vw,40px);border-radius:var(--radius-sm);overflow:hidden;display:grid;place-items:center;background:#e6e1d7cc}.tile-icon-wrap img{width:100%;height:100%;object-fit:cover}.tile-title{font-weight:700;font-size:var(--text-base);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:var(--text-xs)}.tile-book-badge{padding:2px 8px;border-radius:6px;background:var(--color-accent-light);color:var(--color-accent-hover);font-weight:600}.tile-score{display:flex;align-items:center;gap:3px;color:var(--color-gold-text);font-weight:600}.tile-hsk1 .tile-order-badge{color:var(--hsk-1)}.tile-hsk2 .tile-order-badge{color:var(--hsk-2)}.tile-hsk3 .tile-order-badge{color:var(--hsk-3)}label{display:flex;flex-direction:column;gap:4px;font-size:var(--text-sm);font-weight:600;color:var(--ink-1);text-align:left}input,select,textarea{padding:clamp(8px,1.5vw,12px);border:1.5px solid rgba(140,120,90,.25);border-radius:var(--radius-sm);font-size:var(--text-base);font-family:inherit;background:#fcf9f2b3;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.progress-modal-summary{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.5vw,12px);margin-bottom:12px}.pms-item{padding:clamp(10px,2vw,14px);background:#f5f1ea99;border-radius:var(--radius-md);text-align:center}[data-theme=dark] .pms-item{background:#221c2e80}.pms-value{font-size:clamp(18px,3vw,22px);font-weight:700;font-family:var(--font-number)}.pms-label{font-size:var(--text-xs);color:var(--color-muted)}.progress-mode-badge{padding:2px 8px;border-radius:6px;font-size:var(--text-xs);font-weight:600}.progress-mode-badge.match3{background:var(--hsk-2-light);color:var(--hsk-2-text)}.progress-mode-badge.linkup{background:var(--hsk-1-light);color:var(--hsk-1-text)}.progress-mode-badge.radical-combo{background:var(--color-jade-light);color:var(--color-jade-text)}.progress-mode-badge.radical-compose{background:var(--color-amber-light);color:var(--color-amber-text)}.progress-mode-badge.picto{background:var(--color-gold-light);color:var(--color-gold-text)}.progress-state-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.progress-state-dot.completed{background:var(--color-success)}.progress-state-dot.draft{background:var(--color-warning)}.message{position:fixed;bottom:clamp(16px,3vw,24px);left:50%;transform:translate(-50%);background:var(--ink-0);color:var(--color-text-inverse);padding:clamp(8px,1.5vw,12px) clamp(16px,3vw,24px);border-radius:var(--radius-full);font-size:var(--text-sm);z-index:500;box-shadow:var(--shadow-xl);max-width:calc(100vw - 32px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:toast-in .28s cubic-bezier(.18,.89,.32,1.15)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px) scale(.92)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.screen-fade-enter-active,.screen-fade-leave-active{transition:opacity .12s ease-out}.screen-fade-enter-from,.screen-fade-leave-to{opacity:0}@keyframes skeleton-pulse{0%,to{opacity:.35}50%{opacity:.7}}.skeleton{background:linear-gradient(110deg,#c8b9a04d,#e6dac380 40%,#c8b9a04d);background-size:200% 100%;animation:skeleton-pulse 1.6s ease-in-out infinite,shimmer 2s linear infinite;border-radius:var(--radius-md)}[data-theme=dark] .skeleton{background:linear-gradient(110deg,#3c322866,#50443780 40%,#3c322866);background-size:200% 100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:480px){.panel{border-radius:clamp(18px,4vw,24px);padding:clamp(12px,3vw,16px)}.modal,.modal-box{border-radius:clamp(14px,3.5vw,20px);padding:clamp(14px,3vw,18px);width:calc(100vw - 16px)}.preview-grid{grid-template-columns:1fr}.levels{grid-template-columns:1fr;gap:10px}.level-tile{min-height:90px}.progress-modal-summary{grid-template-columns:1fr 1fr;gap:8px}.message{left:8px;right:8px;transform:none;max-width:none;text-align:center;border-radius:var(--radius-md)}@keyframes toast-in-mobile{0%{opacity:0;transform:translateY(12px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.message{animation:toast-in-mobile .28s cubic-bezier(.18,.89,.32,1.15)}}@media(min-width:481px)and (max-width:768px){.levels{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.preview-grid{grid-template-columns:1fr;gap:14px}}@media(hover:none)and (pointer:coarse){button,.btn-primary,.btn-ghost,.btn-danger,.level-tile{min-height:44px}.close-btn{width:44px;height:44px}input,select,textarea{font-size:16px}}.layout{position:relative;width:min(820px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:clamp(16px,3vw,28px);padding-bottom:calc(clamp(16px,3vw,28px) + env(safe-area-inset-bottom));display:grid;align-content:center}.layout:before,.layout:after{content:"";position:fixed;inset:auto;width:clamp(200px,32vw,340px);height:clamp(200px,32vw,340px);border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.22;z-index:0}.layout:before{top:10vh;right:-80px;background:radial-gradient(circle,rgba(128,203,196,.25),rgba(128,203,196,.06),transparent 70%)}.layout:after{bottom:6vh;left:-100px;background:radial-gradient(circle,rgba(196,75,60,.12),rgba(62,39,35,.04),transparent 70%)}[data-theme=dark] .layout:before{background:radial-gradient(circle,rgba(128,203,196,.12),rgba(128,203,196,.03),transparent 70%);opacity:.16}[data-theme=dark] .layout:after{background:radial-gradient(circle,rgba(224,112,80,.08),rgba(62,39,35,.06),transparent 70%);opacity:.14}@media(max-width:480px){.layout:before,.layout:after{width:150px;height:150px;filter:blur(70px);opacity:.16}.layout:before{top:6vh;right:-50px}.layout:after{bottom:3vh;left:-60px}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes heartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes stamp-down{0%{opacity:0;transform:scale(1.15);filter:brightness(1.3)}50%{opacity:1;transform:scale(.94)}65%{transform:scale(1.03)}80%{transform:scale(.98)}to{opacity:1;transform:scale(1);filter:brightness(1)}}@keyframes ink-spread{0%{clip-path:circle(0% at 50% 50%);opacity:0}to{clip-path:circle(100% at 50% 50%);opacity:1}}@keyframes ink-fill{0%{background-size:0% 100%}to{background-size:var(--fill-pct, 100%) 100%}}@keyframes wash-spread{0%{background-size:0% 100%;background-position:0 0}to{background-size:100% 100%;background-position:0 0}}@keyframes count-up{0%{--num: 0}to{--num: var(--target, 100)}}@keyframes trophy-bounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.25)}65%{transform:scale(1.08)}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes ink-ripple{0%{transform:scale(0);opacity:.25}to{transform:scale(4);opacity:0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--color-accent-glow),0 0 8px #c44b3c14}50%{box-shadow:0 0 12px var(--color-accent-glow),0 0 24px #c44b3c2e}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes orb-breathe{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.15);opacity:.85}}@keyframes stagger-in{0%{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes card-float-3d{0%,to{transform:translateY(0) rotateX(0) rotateY(0)}25%{transform:translateY(-4px) rotateX(1deg) rotateY(-1deg)}75%{transform:translateY(-4px) rotateX(-.5deg) rotateY(1deg)}}@keyframes draw-line{0%{stroke-dashoffset:var(--line-length, 100)}to{stroke-dashoffset:0}}.entering{animation:stamp-down .34s cubic-bezier(.18,.89,.32,1.15)}.stamp-in{animation:stamp-down .36s cubic-bezier(.18,.89,.32,1.15)}.trophy-in{animation:trophy-bounce .5s cubic-bezier(.18,.89,.32,1.3)}.float-item{animation:float 3s ease-in-out infinite}.gradient-flow{background-size:200% 200%;animation:gradient-flow 4s ease infinite}.stagger-children>*{opacity:0;animation:stagger-in .4s cubic-bezier(.18,.89,.32,1.15) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.36s}.stagger-children>*:nth-child(8){animation-delay:.42s}.bg-orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:480px){.layout:before,.layout:after{animation:none}}.editor-dark{--ed-sidebar-bg: var(--ad-surface-1);--ed-sidebar-surface: var(--ad-surface-2);--ed-sidebar-hover: var(--ad-surface-3);--ed-sidebar-border: var(--ad-hairline);--ed-sidebar-text: var(--color-text-primary);--ed-sidebar-muted: var(--color-text-muted);--ed-sidebar-accent: var(--color-accent);--ed-sidebar-accent-bg: var(--color-accent-light);--ed-content-bg: var(--ad-canvas);--ed-card-bg: var(--ad-surface-1);--ed-card-border: var(--ad-hairline);--ed-card-shadow: 0 1px 2px rgba(0, 0, 0, .04);--ed-card-hover-shadow: 0 4px 16px rgba(0, 0, 0, .08);--ed-text-primary: var(--color-text-primary);--ed-text-secondary: var(--color-text-secondary);--ed-text-muted: var(--color-text-muted);--ed-input-bg: var(--ad-surface-2);--ed-input-border: var(--ad-hairline);--ed-input-focus: var(--color-accent);--ed-input-focus-ring: var(--color-accent-light);--ed-accent: var(--color-accent);--ed-accent-hover: var(--color-accent-hover);--ed-accent-text: #fff;--ed-accent-bg: var(--color-accent-light);--ed-danger: #d93a3a;--ed-danger-hover: #c12828;--ed-danger-bg: rgba(217, 58, 58, .06);--ed-danger-border: rgba(217, 58, 58, .16);--ed-success: var(--color-success);--ed-warning: var(--color-warning);--ed-hanzi: #c44b3c;--ed-hanzi-bg: rgba(196, 75, 60, .08);--ed-hanzi-border: rgba(196, 75, 60, .2);--ed-pinyin: #3d5a80;--ed-pinyin-bg: rgba(61, 90, 128, .08);--ed-pinyin-border: rgba(61, 90, 128, .2);--ed-english: #5b8c5a;--ed-english-bg: rgba(91, 140, 90, .08);--ed-english-border: rgba(91, 140, 90, .2);--ed-radius-sm: var(--radius-sm);--ed-radius-md: var(--radius-md);--ed-radius-lg: var(--radius-lg);--ed-transition: var(--transition-fast)}[data-theme=dark] .editor-dark{--ed-sidebar-bg: rgba(26, 22, 36, .95);--ed-sidebar-surface: rgba(30, 26, 40, .78);--ed-sidebar-hover: rgba(40, 34, 50, .7);--ed-sidebar-border: rgba(120, 100, 80, .2);--ed-content-bg: #1a1620;--ed-card-bg: rgba(30, 26, 40, .85);--ed-card-border: rgba(120, 100, 80, .18);--ed-card-shadow: 0 2px 8px rgba(0, 0, 0, .2);--ed-card-hover-shadow: 0 4px 16px rgba(0, 0, 0, .3);--ed-input-bg: rgba(40, 34, 52, .5);--ed-input-border: rgba(120, 100, 80, .25);--ed-hanzi-bg: rgba(224, 112, 80, .1);--ed-pinyin-bg: rgba(90, 120, 160, .1);--ed-english-bg: rgba(106, 170, 106, .1)}.editor-dark{background:var(--ed-content-bg);color:var(--ed-text-primary);transition:background .4s ease}.editor-app{min-height:100vh;min-height:100dvh}.editor-app-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.editor-content{flex:1;min-width:0;overflow-y:auto;padding:clamp(14px,2.5vw,24px) clamp(16px,3vw,28px);-webkit-overflow-scrolling:touch}.editor-content::-webkit-scrollbar{width:5px}.editor-content::-webkit-scrollbar-track{background:transparent}.editor-content::-webkit-scrollbar-thumb{background:#78645033;border-radius:3px}.editor-content::-webkit-scrollbar-thumb:hover{background:#78645059}.editor-dark button{font-family:inherit;font-size:var(--text-sm);font-weight:500;padding:clamp(6px,1.2vw,8px) clamp(12px,2vw,16px);border-radius:var(--ed-radius-sm);border:1px solid rgba(160,140,110,.2);background:linear-gradient(180deg,#fcf9f2d6,#f2ece2c7);color:var(--ed-text-primary);cursor:pointer;transition:background var(--ed-transition),border-color var(--ed-transition),color var(--ed-transition),box-shadow var(--ed-transition),transform var(--ed-transition);min-height:clamp(36px,6vw,40px);display:inline-flex;align-items:center;gap:6px;box-shadow:0 1px 2px #2c24160a;touch-action:manipulation}[data-theme=dark] .editor-dark button{background:linear-gradient(180deg,#262030cc,#1e1a28bf);border-color:#7864502e}.editor-dark button:hover:not(:disabled){background:linear-gradient(180deg,#fffcf7eb,#faf4ecd9);border-color:#8c6e5059;box-shadow:0 2px 6px #2c241614}[data-theme=dark] .editor-dark button:hover:not(:disabled){background:linear-gradient(180deg,#2c2636d9,#241e2ecc);border-color:#b48c644d}.editor-dark button:active:not(:disabled){transform:scale(.985);background:#e6dfd4e6}.editor-dark button:disabled{opacity:.4;cursor:not-allowed}.editor-dark button.primary{background:linear-gradient(180deg,#d4654e,#c44b3c);border-color:#c44b3c;color:#fff;font-weight:600;box-shadow:0 2px 6px #c44b3c40}.editor-dark button.primary:hover:not(:disabled){background:linear-gradient(180deg,#e07050,#d4654e);border-color:#d4654e;box-shadow:0 3px 10px #c44b3c59}.editor-dark button.ghost{background:transparent;border-color:transparent;color:var(--ed-text-secondary);box-shadow:none}.editor-dark button.ghost:hover:not(:disabled){background:#8c785a14;color:var(--ed-text-primary);box-shadow:none}.editor-dark button.danger{background:var(--ed-danger-bg);border-color:var(--ed-danger-border);color:var(--ed-danger)}.editor-dark button.danger:hover:not(:disabled){background:#d93a3a1f;border-color:#d93a3a4d}.editor-dark input:not(.sidebar-input),.editor-dark textarea:not(.sidebar-textarea){font-family:inherit;font-size:var(--text-base);padding:clamp(8px,1.5vw,12px) clamp(10px,2vw,14px);border-radius:var(--ed-radius-sm);border:1.5px solid var(--ed-input-border);background:var(--ed-input-bg);color:var(--ed-text-primary);outline:none;transition:border-color var(--ed-transition),box-shadow var(--ed-transition),background var(--ed-transition);width:100%;box-sizing:border-box}.editor-dark input:not(.sidebar-input):focus,.editor-dark textarea:not(.sidebar-textarea):focus{border-color:var(--ed-input-focus);background:#fffcf7f2;box-shadow:0 0 0 3px var(--ed-input-focus-ring),0 2px 8px #2c24160f}.editor-dark input:not(.sidebar-input)::placeholder,.editor-dark textarea:not(.sidebar-textarea)::placeholder{color:var(--ed-text-muted)}.editor-dark select{font-family:inherit;font-size:var(--text-sm);padding:8px 10px;border-radius:var(--ed-radius-sm);border:1.5px solid var(--ed-input-border);background:var(--ed-input-bg);color:var(--ed-text-primary);outline:none;cursor:pointer;transition:border-color var(--ed-transition),box-shadow var(--ed-transition)}.editor-dark select:focus{border-color:var(--ed-input-focus);box-shadow:0 0 0 3px var(--ed-input-focus-ring)}@media(max-width:640px){.editor-app-layout{flex-direction:column}.editor-content{padding:clamp(10px,3vw,16px);flex:1;height:auto}}@media(hover:none)and (pointer:coarse){.editor-dark button{min-height:44px}.editor-dark input,.editor-dark textarea,.editor-dark select{font-size:16px}}
