:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;background-color:#f0f2f5}#app{width:100%;margin:0;padding:0}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.collapse-btn{background:none;border:none;cursor:pointer;font-size:12px;color:#666;padding:0;margin-right:8px;transition:color .2s;line-height:1}.collapse-btn:hover{color:#1890ff}.field-header{display:flex;align-items:center}.collapsed-title{margin-left:8px;font-weight:500;color:#1890ff;font-size:14px}.collapsible-group{border:1px solid #e8e8e8;border-radius:4px;overflow:hidden;background-color:#fff}.group-header{display:flex;align-items:center;padding:12px 16px;background-color:#fafafa;cursor:pointer;border-bottom:1px solid #e8e8e8;transition:background-color .2s}.group-header:hover{background-color:#f5f5f5}.group-arrow{font-size:12px;color:#666;margin-right:8px;transition:color .2s}.group-header:hover .group-arrow{color:#1890ff}.group-title{font-weight:600;color:#333;font-size:16px}.group-content{padding:16px}.image-upload-container[data-v-3edd5ff5]{margin-top:5px}.image-preview[data-v-3edd5ff5]{position:relative;display:inline-block;border:1px solid #ddd;border-radius:8px;overflow:hidden}.image-preview img[data-v-3edd5ff5]{max-width:200px;max-height:200px;display:block}.remove-img-btn[data-v-3edd5ff5]{position:absolute;top:5px;right:5px;background:#fffc;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-weight:700;color:#e74c3c}.upload-box[data-v-3edd5ff5]{border:2px dashed #cbd5e1;border-radius:8px;padding:20px;text-align:center;background:#f8fafc;transition:all .2s}.upload-box[data-v-3edd5ff5]:hover{border-color:#3b82f6;background:#eff6ff}.upload-btn[data-v-3edd5ff5]{cursor:pointer;color:#2c3e50;font-weight:600;display:block;padding:8px 12px;border:2px solid #2c3e50;border-radius:255px 15px 225px/15px 225px 15px 255px;box-shadow:2px 2px #2c3e50;transition:transform .1s,box-shadow .1s}.upload-btn[data-v-3edd5ff5]:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #2c3e50;background:#f8fafc}.textarea-input[data-v-3edd5ff5]{resize:vertical;min-height:100px;padding-bottom:24px}.textarea-wrapper[data-v-3edd5ff5]{position:relative;width:100%}.word-count[data-v-3edd5ff5]{position:absolute;bottom:8px;right:8px;font-size:.75rem;color:#94a3b8;background:#fffc;padding:2px 6px;border-radius:4px;pointer-events:none;transition:all .2s;opacity:.6}.word-count.has-content[data-v-3edd5ff5]{color:#64748b;opacity:1}.field-container[data-v-3edd5ff5]{margin-bottom:16px;font-family:Inter,sans-serif;transition:all .2s}.root-field[data-v-3edd5ff5]{border:none;padding:0}.complex-type[data-v-3edd5ff5]{border:none;margin-left:0;padding:0}.field-header[data-v-3edd5ff5]{font-size:1.1em;margin-bottom:12px;background:#f8fafc;padding:8px 12px;border-left:4px solid #2c3e50;border-radius:2px;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s}.level-1[data-v-3edd5ff5]{border-left-color:#2c3e50;background:#f8fafc}.level-2[data-v-3edd5ff5]{border-left-color:#3b82f6;background:#f1f5f9;font-size:1em}.level-3[data-v-3edd5ff5]{border-left-color:#10b981;background:#ecfdf5;font-size:.95em}.level-4[data-v-3edd5ff5],.level-5[data-v-3edd5ff5],.level-6[data-v-3edd5ff5]{border-left-color:#94a3b8;background:#f8fafc;font-size:.9em}.clickable-header[data-v-3edd5ff5]{cursor:pointer}.clickable-header[data-v-3edd5ff5]:hover{background:#f1f5f9}.header-left[data-v-3edd5ff5]{display:flex;align-items:center;gap:8px}.label[data-v-3edd5ff5]{font-weight:700;color:#2c3e50;font-size:14px;font-family:Noto Sans SC,sans-serif}.children[data-v-3edd5ff5]{margin-left:0;padding-left:0}.is-image .is-image-row[data-v-3edd5ff5]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.primitive-type[data-v-3edd5ff5]{display:flex;flex-direction:column}.primitive-type.inline-mode[data-v-3edd5ff5]{flex-direction:row;align-items:center;gap:12px}.primitive-type.inline-mode .input-label[data-v-3edd5ff5]{margin-bottom:0;white-space:nowrap}.input-label[data-v-3edd5ff5]{font-size:.9rem;color:#64748b;margin-bottom:8px;font-weight:600}.text-input[data-v-3edd5ff5]{padding:8px 0;border:none;border-bottom:2px dashed #cbd5e1;background:transparent;width:100%;font-size:1rem;color:#334155;transition:all .2s;border-radius:0}.text-input[data-v-3edd5ff5]:focus{border-bottom-color:#3b82f6;border-bottom-style:solid;outline:none;background:#3b82f605}.array-item[data-v-3edd5ff5]{position:relative;border:1px solid #f1f5f9;margin-bottom:8px;background:#fff;padding:10px 12px;border-radius:6px;box-shadow:0 1px 2px #00000008}.array-header[data-v-3edd5ff5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.8rem;color:#94a3b8;border-bottom:1px dashed #f1f5f9;padding-bottom:4px;border-left:3px solid transparent;padding-left:8px}.add-btn[data-v-3edd5ff5]{width:100%;padding:6px 12px;background:#fff;border:1.5px solid #2c3e50;border-radius:255px 15px 225px/15px 225px 15px 255px;color:#2c3e50;cursor:pointer;transition:all .2s;font-weight:600;font-size:.9rem;margin-top:8px;text-align:center;box-shadow:2px 2px #2c3e50}.add-btn[data-v-3edd5ff5]:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #2c3e50;background:#f8fafc}.add-btn[data-v-3edd5ff5]:active{transform:translate(2px,2px);box-shadow:1px 1px #2c3e50}.delete-btn[data-v-3edd5ff5]{background:transparent;color:#e74c3c;border:1px solid #e74c3c;border-radius:4px;font-size:1rem;cursor:pointer;padding:4px 8px;transition:all .1s;font-weight:600}.delete-btn[data-v-3edd5ff5]:hover{background:#e74c3c;color:#fff}.chat-overlay[data-v-db74d2fa]{position:fixed;bottom:80px;right:20px;width:350px;height:500px;background:#fff;border-radius:12px;box-shadow:0 5px 20px #0003;z-index:1000;border:2px solid #2c3e50;font-family:Noto Sans SC,sans-serif;animation:slideUp-db74d2fa .3s ease-out}.chat-window[data-v-db74d2fa]{display:flex;flex-direction:column;height:100%;overflow:hidden}@keyframes slideUp-db74d2fa{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chat-header[data-v-db74d2fa]{padding:10px 15px;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;align-items:center}.chat-header h3[data-v-db74d2fa]{margin:0;font-size:1.1em}.close-btn[data-v-db74d2fa]{background:transparent;border:none;color:#fff;font-size:1.5em;cursor:pointer;line-height:1}.chat-messages[data-v-db74d2fa]{flex:1;padding:15px;overflow-y:auto;display:flex;flex-direction:column;gap:15px;background:#fdfbf7}.message[data-v-db74d2fa]{display:flex;gap:10px;max-width:90%}.message.user[data-v-db74d2fa]{flex-direction:row-reverse;align-self:flex-end}.avatar[data-v-db74d2fa]{width:30px;height:30px;border-radius:50%;background:#ddd;display:flex;align-items:center;justify-content:center;font-size:1.2em;flex-shrink:0;border:1px solid #999}.message.assistant .avatar[data-v-db74d2fa]{background:#e1f5fe;border-color:#4fc3f7}.message.user .avatar[data-v-db74d2fa]{background:#fff9c4;border-color:#fbc02d}.bubble[data-v-db74d2fa]{background:#fff;padding:8px 12px;border-radius:10px;border:1px solid #ccc;font-size:.95em;line-height:1.4;word-wrap:break-word;box-shadow:2px 2px #0000000d}.message.user .bubble[data-v-db74d2fa]{background:#e8f5e9;border-color:#a5d6a7;border-top-right-radius:2px}.message.assistant .bubble[data-v-db74d2fa]{background:#fff;border-top-left-radius:2px}.chat-input-area[data-v-db74d2fa]{padding:10px;border-top:1px solid #eee;display:flex;gap:10px;background:#fff}textarea[data-v-db74d2fa]{flex:1;resize:none;height:40px;padding:8px;border:2px solid #ddd;border-radius:8px;font-family:inherit;outline:none}textarea[data-v-db74d2fa]:focus{border-color:#2c3e50}button[data-v-db74d2fa]{padding:0 15px;background:#2c3e50;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;font-family:inherit}button[data-v-db74d2fa]:disabled{background:#ccc;cursor:wait}.bubble[data-v-db74d2fa] p{margin:0 0 5px}.bubble[data-v-db74d2fa] p:last-child{margin-bottom:0}.bubble[data-v-db74d2fa] ul,.bubble[data-v-db74d2fa] ol{margin:5px 0;padding-left:20px}.modal-overlay[data-v-38f9cffe]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-modal[data-v-38f9cffe]{width:90%;max-width:450px;background:#fdfbf7;padding:30px;border-radius:12px;border:3px solid #2c3e50;box-shadow:10px 10px #0003;font-family:Noto Sans SC,sans-serif;text-align:left}h3[data-v-38f9cffe]{text-align:center;font-size:1.8em;margin-bottom:25px;border-bottom:2px dashed #ccc;padding-bottom:10px}.form-group[data-v-38f9cffe]{margin-bottom:20px}label[data-v-38f9cffe]{display:block;font-weight:700;margin-bottom:8px;font-size:1.1em}.required[data-v-38f9cffe]{color:#e74c3c}.modal-input[data-v-38f9cffe]{width:100%;padding:12px;box-sizing:border-box;font-size:1em;border:2px solid #2c3e50;border-radius:8px;outline:none;font-family:inherit;background:#fffc}.tips[data-v-38f9cffe]{font-size:.85em;color:#666;margin-top:5px}.tips a[data-v-38f9cffe]{color:#2980b9;text-decoration:none;border-bottom:1px dashed #2980b9}.modal-actions[data-v-38f9cffe]{text-align:center;margin-top:30px}.modal-btn[data-v-38f9cffe]{padding:10px 30px;border:2px solid #2c3e50;background:transparent;font-family:inherit;font-size:1.2em;cursor:pointer;border-radius:8px;transition:transform .1s}.modal-btn.confirm[data-v-38f9cffe]{background:#27ae60;color:#fff;border-color:#27ae60}.modal-btn[data-v-38f9cffe]:hover{transform:scale(1.05)}.modal-overlay[data-v-af6b64e0]{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.login-modal[data-v-af6b64e0]{width:90%;max-width:400px;background:#fdfbf7;padding:30px;border-radius:12px;border:3px solid #2c3e50;box-shadow:10px 10px #0003;font-family:Noto Sans SC,sans-serif;text-align:center;position:relative}.close-btn[data-v-af6b64e0]{position:absolute;top:10px;right:15px;background:transparent;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1}.close-btn[data-v-af6b64e0]:hover{color:#333}h3[data-v-af6b64e0]{font-size:1.8em;margin-bottom:25px;border-bottom:2px dashed #ccc;padding-bottom:10px}.error-msg[data-v-af6b64e0]{color:#e74c3c;background:#fadbd8;padding:10px;border-radius:5px;margin-bottom:15px;border:1px dashed #e74c3c}.wechat-login-container[data-v-af6b64e0]{padding:20px 0}.qrcode-img[data-v-af6b64e0]{width:200px;height:200px;border:1px solid #ddd;padding:5px;background:#fff}.scan-tips[data-v-af6b64e0]{font-size:1.1em;font-weight:700;margin-top:15px}.scan-subtips[data-v-af6b64e0]{font-size:.9em;color:#666;margin-top:5px}.modal-overlay[data-v-fbf9b17a]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:3000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-content[data-v-fbf9b17a]{width:90%;max-width:500px;background:#fff;padding:30px;border-radius:12px;border:3px solid #2c3e50;box-shadow:10px 10px #0003;font-family:Noto Sans SC,sans-serif;text-align:center}h3[data-v-fbf9b17a]{font-size:1.8em;margin-top:0;margin-bottom:25px;color:#2c3e50;border-bottom:2px dashed #ccc;padding-bottom:10px}.instruction-box[data-v-fbf9b17a]{border:2px solid #cbd5e1;border-radius:8px;padding:12px;margin-bottom:12px;background:#f8fafc;color:#334155;font-size:1rem;text-align:left;line-height:1.4}.close-btn[data-v-fbf9b17a]{margin-top:20px;padding:10px 30px;border:2px solid #2c3e50;background:#27ae60;color:#fff;font-family:inherit;font-size:1.1em;cursor:pointer;border-radius:8px;font-weight:700;transition:transform .1s}.close-btn[data-v-fbf9b17a]:hover{transform:scale(1.05)}.toast-item[data-v-2ba2175d]{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:12px;background:#fff;box-shadow:0 10px 25px #0000001a;border:1px solid rgba(0,0,0,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin-bottom:10px;min-width:200px;max-width:400px;pointer-events:auto}.toast-item.success[data-v-2ba2175d]{border-left:4px solid #10b981}.toast-item.error[data-v-2ba2175d]{border-left:4px solid #ef4444}.toast-item.warning[data-v-2ba2175d]{border-left:4px solid #f59e0b}.toast-item.info[data-v-2ba2175d]{border-left:4px solid #3b82f6}.toast-icon[data-v-2ba2175d]{font-size:1.2rem}.toast-message[data-v-2ba2175d]{color:#1e293b;font-size:.9rem;font-weight:500}.toast-enter-active[data-v-2ba2175d],.toast-leave-active[data-v-2ba2175d]{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.toast-enter-from[data-v-2ba2175d]{opacity:0;transform:translate(100px) scale(.9)}.toast-leave-to[data-v-2ba2175d]{opacity:0;transform:translate(50px) scale(.9)}.app-container[data-v-0d4806d3]{min-height:100vh;background-color:#f0f2f5;padding:40px 20px;font-family:Noto Sans SC,sans-serif;position:relative;display:flex;justify-content:center}.side-nav[data-v-0d4806d3]{position:fixed;left:40px;top:100px;width:160px;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px;border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000000d;display:flex;flex-direction:column;gap:15px;z-index:100}.nav-title[data-v-0d4806d3]{font-size:.85rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}.nav-links[data-v-0d4806d3]{display:flex;flex-direction:column;gap:8px}.nav-link[data-v-0d4806d3]{font-size:.95rem;color:#475569;cursor:pointer;transition:all .2s;padding:6px 12px;border-radius:8px;font-weight:500}.nav-link[data-v-0d4806d3]:hover{background:#f1f5f9;color:#2c3e50;transform:translate(4px)}.toolbar[data-v-0d4806d3]{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end}.toolbar-content[data-v-0d4806d3]{display:flex;flex-direction:column;gap:12px;background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a}.separator[data-v-0d4806d3]{height:1px;background:#0000001a;margin:4px 10px}button[data-v-0d4806d3]{background:#fff;border:2px solid #2c3e50;border-radius:255px 15px 225px/15px 225px 15px 255px;padding:10px 20px;text-align:left;font-family:inherit;font-weight:600;font-size:1rem;box-shadow:3px 3px #2c3e50;transition:transform .1s,box-shadow .1s;cursor:pointer;display:flex;align-items:center;gap:8px;color:#2c3e50}button[data-v-0d4806d3]:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px #2c3e50;background:#f8fafc}button[data-v-0d4806d3]:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #2c3e50}button[data-v-0d4806d3]:disabled{background:#e2e8f0;border-color:#94a3b8;color:#94a3b8;box-shadow:none;cursor:not-allowed}button.active[data-v-0d4806d3]{background:#e0f2fe;border-color:#0284c7;color:#0284c7;box-shadow:3px 3px #0284c7}.paper-container[data-v-0d4806d3]{width:100%;max-width:850px;margin:0 auto;padding:60px 80px;background:#fff;min-height:800px;box-shadow:0 10px 30px #0000001a;border-radius:2px;background-image:linear-gradient(#e1ded5 1px,transparent 1px),linear-gradient(90deg,#e1ded5 1px,transparent 1px);background-size:24px 24px;position:relative}.paper-header[data-v-0d4806d3]{text-align:center;margin-bottom:40px}.paper-header h1[data-v-0d4806d3]{font-size:2.4rem;color:#1e293b;margin:0 0 10px;border-bottom:3px solid #1e293b;display:inline-block;padding-bottom:6px;letter-spacing:-.5px}.subtitle[data-v-0d4806d3]{margin-top:16px;color:#64748b;font-size:.9rem}.subtitle code[data-v-0d4806d3]{background:#fffc;border:1px dashed #cbd5e1;padding:2px 6px;border-radius:4px;color:#475569}.form-row[data-v-0d4806d3]{display:flex;gap:20px;margin-bottom:20px}.form-row[data-v-0d4806d3]>*{flex:1}.date-and-major-row[data-v-0d4806d3]{display:flex;align-items:flex-end}.date-group[data-v-0d4806d3]{display:flex;gap:12px;flex:1}.date-group[data-v-0d4806d3]>*{width:60px;flex:none}.date-group[data-v-0d4806d3]>*:first-child{width:80px}.form-section[data-v-0d4806d3]{display:flex;flex-direction:column;gap:10px}textarea[data-v-0d4806d3]{width:100%;height:600px;padding:20px;border:2px dashed #cbd5e1;border-radius:8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px;line-height:1.6;resize:vertical;background-color:#fffc;outline:none;color:#334155}textarea[data-v-0d4806d3]:focus{border-color:#3b82f6;background-color:#fff}@media(max-width:1250px){.side-nav[data-v-0d4806d3]{display:none}}@media(max-width:1100px){.app-container[data-v-0d4806d3]{padding-top:80px}.toolbar[data-v-0d4806d3]{top:10px;right:10px;flex-direction:row}.toolbar-content[data-v-0d4806d3]{flex-direction:row;align-items:center}.separator[data-v-0d4806d3]{width:2px;height:24px;margin:0 8px}.paper-container[data-v-0d4806d3]{padding:40px}}.toast-container[data-v-0d4806d3]{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;pointer-events:none}body{margin:0;padding:0}
