:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.chat-app[data-v-0fab5a0f]{background-color:#f3f4f6;border-radius:16px;width:1000px;max-width:100%;height:760px;max-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;animation:.3s cubic-bezier(.16,1,.3,1) popIn-0fab5a0f;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes popIn-0fab5a0f{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.chat-lock-overlay[data-v-0fab5a0f]{z-index:10000;-webkit-backdrop-filter:blur(20px)saturate(150%);background:#ffffff80;border-radius:16px;justify-content:center;align-items:center;animation:.3s fadeIn-0fab5a0f;display:flex;position:absolute;inset:0}@keyframes fadeIn-0fab5a0f{0%{opacity:0}to{opacity:1}}.lock-content[data-v-0fab5a0f]{text-align:center;background:#ffffffe6;border:1px solid #0000000d;border-radius:20px;padding:40px 60px;transform:translateY(-20px);box-shadow:0 10px 40px #0000001a}.lock-icon[data-v-0fab5a0f]{margin-bottom:16px;font-size:48px;animation:2s ease-in-out infinite floatLock-0fab5a0f}@keyframes floatLock-0fab5a0f{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.lock-content h2[data-v-0fab5a0f]{color:#1f2937;margin:0 0 10px;font-size:20px;font-weight:600}.lock-content p[data-v-0fab5a0f]{color:#6b7280;margin:0;font-size:14px}.floating-ball[data-v-0fab5a0f]{color:#fff;cursor:pointer;z-index:999;background:linear-gradient(135deg,#3b82f6,#60a5fa);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;transition:all .3s;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:0 4px 20px #3b82f666}.floating-ball[data-v-0fab5a0f]:hover{transform:scale(1.1);box-shadow:0 6px 24px #3b82f699}.chat-overlay[data-v-0fab5a0f]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;box-sizing:border-box;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sidebar[data-v-0fab5a0f]{background-color:#f7f7f9;border-right:1px solid #e5e7eb;flex-direction:column;width:260px;min-width:220px;display:flex}.user-info[data-v-0fab5a0f]{border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:10px;height:64px;padding:0 16px;display:flex}.avatar[data-v-0fab5a0f]{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:500;display:flex}.user-avatar[data-v-0fab5a0f]{color:#fff;background:linear-gradient(to top right,#3b82f6,#60a5fa)}.user-detail[data-v-0fab5a0f]{flex:1;min-width:0}.user-name[data-v-0fab5a0f]{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.user-sub[data-v-0fab5a0f]{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.close-btn[data-v-0fab5a0f]{color:#9ca3af;cursor:pointer;flex-shrink:0;font-size:16px;transition:color .2s}.close-btn[data-v-0fab5a0f]:hover{color:#ef4444}.search-box[data-v-0fab5a0f]{flex-shrink:0;padding:12px}.search-input-wrap[data-v-0fab5a0f]{background-color:#e5e7eb;border-radius:8px;align-items:center;padding:6px 10px;display:flex}.search-input-wrap input[data-v-0fab5a0f]{background:0 0;border:none;outline:none;width:100%;font-size:12px}.chat-list[data-v-0fab5a0f]{flex:1;margin-top:4px;padding:0 8px 12px;overflow-y:auto}.chat-item[data-v-0fab5a0f]{cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 10px;transition:background .2s;display:flex}.chat-item[data-v-0fab5a0f]:hover{background-color:#e5e7eb99}.chat-item.active[data-v-0fab5a0f]{background-color:#e5e7ebcc}.group-avatar[data-v-0fab5a0f]{background-color:#fff;border:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:1px;padding:1px;display:grid;position:relative;overflow:hidden}.grid-img[data-v-0fab5a0f]{object-fit:cover;width:100%;height:100%}.more-num[data-v-0fab5a0f]{color:#fff;background:#00000073;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;inset:0}.model-avatar[data-v-0fab5a0f]{background-color:#fff;border:1px solid #e5e7eb;padding:5px}.model-avatar img[data-v-0fab5a0f]{object-fit:contain;width:100%;height:100%}.chat-info[data-v-0fab5a0f]{flex:1;min-width:0}.chat-top[data-v-0fab5a0f]{justify-content:space-between;align-items:center;margin-bottom:3px;display:flex}.chat-name[data-v-0fab5a0f]{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.chat-time[data-v-0fab5a0f]{color:#9ca3af;flex-shrink:0;font-size:10px}.chat-desc[data-v-0fab5a0f]{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:11px;overflow:hidden}.main-chat[data-v-0fab5a0f]{background-color:#fff;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-header[data-v-0fab5a0f]{z-index:10;border-bottom:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:relative}.header-title[data-v-0fab5a0f]{align-items:center;gap:8px;display:flex}.title-text[data-v-0fab5a0f]{color:#1f2937;font-size:15px;font-weight:600}.title-count[data-v-0fab5a0f]{color:#9ca3af;font-size:12px}.header-actions[data-v-0fab5a0f]{color:#9ca3af;cursor:pointer;gap:20px;font-size:18px;display:flex}.member-panel[data-v-0fab5a0f]{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:260px;max-height:320px;padding:12px;position:absolute;top:60px;right:20px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.member-panel h3[data-v-0fab5a0f]{color:#1f2937;margin:0 0 8px;font-size:14px}.member-list[data-v-0fab5a0f]{flex-direction:column;gap:6px;display:flex}.member-item[data-v-0fab5a0f]{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px;display:flex}.member-item[data-v-0fab5a0f]:hover{background:#f3f4f6}.member-icon[data-v-0fab5a0f]{border-radius:6px;width:28px;height:28px}.member-info[data-v-0fab5a0f]{flex:1;min-width:0}.member-name[data-v-0fab5a0f]{font-size:12px;font-weight:500}.member-skill[data-v-0fab5a0f]{color:#9ca3af;white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.message-container[data-v-0fab5a0f]{background-color:#fff;flex:1;min-width:0;padding:16px 24px;overflow-y:auto}.message-container[data-v-0fab5a0f]::-webkit-scrollbar{width:6px}.message-container[data-v-0fab5a0f]::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.empty-state[data-v-0fab5a0f]{color:#9ca3af;justify-content:center;align-items:center;height:100%;display:flex}.empty-state p[data-v-0fab5a0f]{margin:0;font-size:14px}.message-row[data-v-0fab5a0f]{align-items:flex-start;gap:12px;width:100%;min-width:0;margin-bottom:24px;display:flex}.msg-right[data-v-0fab5a0f]{flex-direction:row-reverse}.msg-left[data-v-0fab5a0f]{flex-direction:row}.msg-avatar[data-v-0fab5a0f]{background-color:#fff;border:1px solid #f3f4f6;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:4px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0000000d}.msg-avatar img[data-v-0fab5a0f]{object-fit:contain;width:100%;height:100%}.user-msg-avatar[data-v-0fab5a0f]{color:#fff;background-color:#1f2937;border:none;padding:0;font-size:16px}.msg-content-wrap[data-v-0fab5a0f]{flex-direction:column;align-items:flex-start;min-width:0;max-width:70%;display:flex}.msg-right .msg-content-wrap[data-v-0fab5a0f]{align-items:flex-end}.msg-name[data-v-0fab5a0f]{color:#9ca3af;margin-bottom:4px;margin-left:4px;font-size:11px}.msg-bubble-wrap[data-v-0fab5a0f]{align-items:flex-end;gap:8px;width:100%;min-width:0;max-width:100%;display:flex}.msg-left .msg-bubble-wrap[data-v-0fab5a0f]{flex-direction:row;justify-content:flex-start}.msg-right .msg-bubble-wrap[data-v-0fab5a0f]{flex-direction:row-reverse;justify-content:flex-start}.msg-time[data-v-0fab5a0f]{color:#b0b5c0;white-space:nowrap;flex-shrink:0;font-size:10px}.msg-bubble[data-v-0fab5a0f]{word-break:break-word;overflow-wrap:anywhere;text-align:left;border:1px solid;border-radius:12px;width:fit-content;max-width:100%;padding:10px 16px;font-size:14px;line-height:1.6}.bubble-ai[data-v-0fab5a0f]{color:#374151;background-color:#fff;border-color:#f3f4f6;border-top-left-radius:4px}.bubble-user[data-v-0fab5a0f]{color:#111827;background-color:#95ec69;border-color:#95ec69;border-top-right-radius:4px}.msg-actions[data-v-0fab5a0f]{opacity:.3;gap:8px;margin-bottom:2px;transition:opacity .2s;display:flex}.msg-bubble-wrap:hover .msg-actions[data-v-0fab5a0f]{opacity:1}.msg-actions span[data-v-0fab5a0f]{cursor:pointer;color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 4px;font-size:12px}.msg-actions span[data-v-0fab5a0f]:hover{color:#1f2937;background:#e5e7eb}.markdown-body[data-v-0fab5a0f] p{margin:0 0 8px}.markdown-body[data-v-0fab5a0f] p:last-child{margin:0}.markdown-body[data-v-0fab5a0f] pre{background:#f1f5f9;border-radius:8px;max-width:100%;margin:8px 0;padding:10px;font-family:monospace;overflow-x:auto}.markdown-body[data-v-0fab5a0f] code{background:#f1f5f9;border-radius:4px;padding:2px 4px;font-family:monospace;font-size:13px}.markdown-body[data-v-0fab5a0f] ul,.markdown-body[data-v-0fab5a0f] ol{margin:8px 0;padding-left:20px}.markdown-body[data-v-0fab5a0f] strong{font-weight:600}.markdown-body[data-v-0fab5a0f] img{border-radius:8px;max-width:100%;height:auto}.msg-image-wrap[data-v-0fab5a0f]{border:1px solid #e5e7eb;border-radius:12px;max-width:250px;margin-bottom:6px;overflow:hidden}.msg-image[data-v-0fab5a0f]{width:100%;height:auto;display:block}.typing-bubble[data-v-0fab5a0f]{background-color:#fff;border:1px solid #f3f4f6;border-radius:4px 16px 16px;align-items:center;gap:4px;padding:12px 16px;display:flex}.dot[data-v-0fab5a0f]{background-color:#9ca3af;border-radius:50%;width:6px;height:6px;animation:1s infinite bounce-0fab5a0f}.dot[data-v-0fab5a0f]:nth-child(2){animation-delay:.2s}.dot[data-v-0fab5a0f]:nth-child(3){animation-delay:.4s}@keyframes bounce-0fab5a0f{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chat-footer[data-v-0fab5a0f]{background-color:#fff;border-top:1px solid #f3f4f6;flex-shrink:0;padding:16px;position:relative}.mention-popup[data-v-0fab5a0f]{z-index:30;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:220px;margin-bottom:8px;padding:8px;position:absolute;bottom:100%;left:16px;box-shadow:0 -4px 16px #0000001a}.mention-tip[data-v-0fab5a0f]{color:#9ca3af;margin-bottom:4px;padding:4px 6px;font-size:12px}.mention-item[data-v-0fab5a0f]{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px;font-size:13px;display:flex}.mention-item[data-v-0fab5a0f]:hover{background:#f3f4f6}.mention-icon[data-v-0fab5a0f]{border-radius:6px;width:24px;height:24px}.emoji-popup[data-v-0fab5a0f]{z-index:30;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap;gap:8px;width:260px;margin-bottom:8px;padding:10px;display:flex;position:absolute;bottom:100%;left:50px;box-shadow:0 -4px 16px #0000001a}.emoji-item[data-v-0fab5a0f]{cursor:pointer;font-size:20px;transition:transform .1s}.emoji-item[data-v-0fab5a0f]:hover{transform:scale(1.3)}.attachment-preview[data-v-0fab5a0f]{background:#f7f7f9;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin-bottom:8px;padding:8px 10px;display:flex}.preview-img[data-v-0fab5a0f]{border-radius:6px;width:80px;height:auto}.preview-file[data-v-0fab5a0f]{color:#374151;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;overflow:hidden}.remove-attach[data-v-0fab5a0f]{color:#ef4444;cursor:pointer;padding:0 4px;font-size:14px}.input-box-wrap[data-v-0fab5a0f]{background-color:#f7f7f9;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;padding:10px;transition:all .2s;display:flex}.input-box-wrap[data-v-0fab5a0f]:focus-within{background-color:#fff;border-color:#d1d5db;box-shadow:0 0 0 1px #d1d5db}.chat-textarea[data-v-0fab5a0f]{resize:none;color:#374151;background:0 0;border:none;outline:none;width:100%;min-height:24px;max-height:120px;padding:0 4px;font-family:inherit;font-size:14px}.input-actions[data-v-0fab5a0f]{justify-content:space-between;align-items:flex-end;margin-top:4px;padding:0 4px;display:flex}.action-icons[data-v-0fab5a0f]{color:#9ca3af;align-items:center;gap:16px;margin-bottom:2px;font-size:18px;display:flex}.btn-group[data-v-0fab5a0f]{align-items:center;gap:8px;display:flex}.send-btn[data-v-0fab5a0f]{color:#fff;cursor:pointer;background-color:#07c160;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.send-btn[data-v-0fab5a0f]:hover:not(:disabled){background-color:#06ad56}.send-btn[data-v-0fab5a0f]:disabled{cursor:not-allowed;background-color:#d1d5db}.stop-btn[data-v-0fab5a0f]{background-color:#ef4444!important}.stop-btn[data-v-0fab5a0f]:hover:not(:disabled){background-color:#dc2626!important}.stop-btn[data-v-0fab5a0f]:disabled{cursor:not-allowed;opacity:.6;background-color:#fca5a5!important}.hidden-file[data-v-0fab5a0f]{display:none}.slide-fade-enter-active[data-v-0fab5a0f]{transition:all .2s}.slide-fade-leave-active[data-v-0fab5a0f]{transition:all .15s}.slide-fade-enter-from[data-v-0fab5a0f],.slide-fade-leave-to[data-v-0fab5a0f]{opacity:0;transform:translateY(-6px)}.discuss-mode-bar[data-v-0fab5a0f]{align-items:center;gap:10px;margin-bottom:8px;display:flex}.discuss-btn[data-v-0fab5a0f]{cursor:pointer;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:6px 12px;font-size:12px;transition:all .2s}.discuss-btn[data-v-0fab5a0f]:hover{background:#e5e7eb}.discuss-btn.active[data-v-0fab5a0f]{color:#fff;background:#ef4444;border-color:#ef4444;animation:2s infinite pulse-0fab5a0f}.discuss-tip[data-v-0fab5a0f]{color:#ef4444;font-size:12px}@keyframes pulse-0fab5a0f{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.mic-btn[data-v-0fab5a0f]{cursor:pointer;font-size:16px;transition:transform .2s}.mic-btn[data-v-0fab5a0f]:hover{transform:scale(1.2)}.mic-btn.recording[data-v-0fab5a0f]{animation:1.5s infinite mic-pulse-0fab5a0f}@keyframes mic-pulse-0fab5a0f{0%{filter:drop-shadow(0 0 2px #ef4444)}50%{filter:drop-shadow(0 0 8px #ef4444)}to{filter:drop-shadow(0 0 2px #ef4444)}}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{background:#000;width:100%;height:100%;overflow:hidden}a{color:inherit;text-decoration:none}.kick-overlay{z-index:10000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.kick-modal{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:320px;margin:0 20px;padding:32px 28px;box-shadow:0 30px 80px #00000059}.kick-icon{margin-bottom:12px;font-size:42px}.kick-modal h3{color:#111;margin:0 0 10px;font-size:18px;font-weight:700}.kick-modal p{color:#666;margin:0 0 20px;font-size:14px;line-height:1.6}.kick-btn{color:#fff;cursor:pointer;background:#111;border:none;border-radius:12px;width:100%;padding:12px;font-size:15px;font-weight:600;transition:background .2s}.kick-btn:hover{background:#333}.verify-page[data-v-6c3e6ec8]{z-index:9999;background:#f9f7f8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.verify-box[data-v-6c3e6ec8]{text-align:center}.loading-spinner[data-v-6c3e6ec8]{border:3px solid #0000001a;border-top-color:#111;border-radius:50%;width:32px;height:32px;margin:0 auto 16px;animation:.8s linear infinite spin-6c3e6ec8}@keyframes spin-6c3e6ec8{to{transform:rotate(360deg)}}.tip[data-v-6c3e6ec8]{color:#666;font-size:14px}.error-text[data-v-6c3e6ec8]{color:#f36;font-size:14px;font-weight:500}.fate[data-v-cc03cae4]{font-size:small}.app[data-v-cc03cae4]{width:100vw;height:100vh;font-family:Helvetica Neue,Arial,sans-serif;position:fixed;inset:0;overflow:hidden}.navbar[data-v-cc03cae4]{box-sizing:border-box;z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);color:#1a1e26;background:#f9f7f81a;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;transition:all .6s;display:flex;position:fixed;top:0;left:0}.navbar.navbar-dark[data-v-cc03cae4]{-webkit-backdrop-filter:none;color:#fff;background:0 0;border-bottom:1px solid #0000}.nav-logo[data-v-cc03cae4]{letter-spacing:-.03em;cursor:pointer;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-cc03cae4]:hover{opacity:.7}.nav-links[data-v-cc03cae4]{gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-cc03cae4]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-cc03cae4]:after{content:"";background:linear-gradient(90deg,#5b8cff,#c06eff);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.navbar-dark .nav-links span[data-v-cc03cae4]:after{background:linear-gradient(90deg,#7aa2ff,#ff8dc9)}.nav-links span[data-v-cc03cae4]:hover:after{width:100%;left:0}.nav-contact[data-v-cc03cae4]{border:1px solid;border-radius:999px;transition:all .25s;padding:6px 16px!important}.navbar-dark .nav-contact[data-v-cc03cae4]:hover{color:#1a1e26;background:#fff;border-color:#fff}.navbar:not(.navbar-dark) .nav-contact[data-v-cc03cae4]:hover{color:#3b6eff;background:#eef2ff;border-color:#5b8cff80}.nav-contact[data-v-cc03cae4]:after{display:none}.scroll-wrapper[data-v-cc03cae4]{scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;width:100vw;height:100vh;overflow:hidden auto}.scroll-wrapper[data-v-cc03cae4]::-webkit-scrollbar{display:none}.stage[data-v-cc03cae4]{width:100%}.page[data-v-cc03cae4]{width:100vw;position:relative;overflow:hidden}.page-1[data-v-cc03cae4]{background:#000;height:100vh}.page-2[data-v-cc03cae4]{background:radial-gradient(at 30% 20%,#ffdee466,#0000 55%),#f9f7f8;height:auto;min-height:100vh}.page-3[data-v-cc03cae4]{background:radial-gradient(at 20% 30%,#ffd2e68c,#0000 50%),radial-gradient(at 80% 25%,#ffead273,#0000 55%),radial-gradient(at 50% 40%,#dce6ff59,#0000 60%),linear-gradient(#fff 0%,#fefcfa 100%);height:100vh}.home-root[data-v-cc03cae4]{width:100%;height:100%;position:relative;overflow:hidden}.page2-root[data-v-cc03cae4]{color:#222}.page3-root[data-v-cc03cae4]{color:#222;box-sizing:border-box;padding:30px 6% 0}.home-video[data-v-cc03cae4]{z-index:1;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.home-gradient[data-v-cc03cae4]{z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#f9f7f8b3 50%,#f9f7f8 100%);height:45vh;position:absolute;top:55%;left:0;right:0}.text-group[data-v-cc03cae4]{z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:42%;position:absolute;top:22%;left:40px}.home-title[data-v-cc03cae4]{letter-spacing:-.02em;color:#fff;margin-bottom:28px;font-size:clamp(42px,7vw,96px);font-weight:600;line-height:1}.home-typewriter[data-v-cc03cae4]{text-align:left;letter-spacing:.01em;color:#fff;max-width:560px;font-size:clamp(18px,2vw,26px);font-weight:400;line-height:1.45}.home-cursor[data-v-cc03cae4]{background:#fff;width:2px;height:1.1em;margin-left:4px;animation:1s step-end infinite blink-cc03cae4;display:inline-block}@keyframes blink-cc03cae4{0%,to{opacity:1}50%{opacity:0}}.page2-container[data-v-cc03cae4]{box-sizing:border-box;z-index:10;justify-content:space-between;align-items:flex-start;gap:60px;width:100%;padding:120px 8% 80px;display:flex;position:relative}.left-panel[data-v-cc03cae4]{flex:1;max-width:520px}.left-panel .home-title[data-v-cc03cae4]{color:#111;margin-bottom:20px;font-size:clamp(32px,5vw,64px)}.left-panel .home-typewriter[data-v-cc03cae4]{color:#555;margin-bottom:30px;font-size:16px;font-style:italic}.page2-cursor[data-v-cc03cae4]{background:#555!important}.info-section[data-v-cc03cae4]{background:#fff;border:1px solid #0000000a;border-radius:16px;margin-bottom:30px;padding:24px;box-shadow:0 4px 20px #00000008}.info-header[data-v-cc03cae4]{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.info-name[data-v-cc03cae4]{color:#111;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.info-sub[data-v-cc03cae4]{color:#7aa2ff;margin-left:8px;font-size:14px;font-weight:500}.info-age[data-v-cc03cae4]{color:#888;font-family:monospace;font-size:14px}.info-links[data-v-cc03cae4]{color:#555;border-top:1px dashed #eee;flex-wrap:wrap;gap:16px;padding-top:12px;font-size:14px;display:flex}.section-block[data-v-cc03cae4]{margin-bottom:30px}.section-title[data-v-cc03cae4]{color:#111;align-items:center;margin-bottom:16px;font-size:18px;font-weight:600;display:flex}.section-title[data-v-cc03cae4]:after{content:"";background:#0000001a;flex:1;height:1px;margin-left:16px}.timeline[data-v-cc03cae4]{border-left:2px solid #0000001a;flex-direction:column;gap:10px;padding-left:12px;display:flex}.timeline-item[data-v-cc03cae4]{align-items:center;gap:16px;display:flex;position:relative}.timeline-item[data-v-cc03cae4]:before{content:"";background:#7aa2ff;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:-17px;transform:translateY(-50%)}.timeline-item .date[data-v-cc03cae4]{color:#666;min-width:130px;font-family:monospace;font-size:13px}.timeline-item .school[data-v-cc03cae4]{color:#222;font-size:14px;font-weight:500}.skill-tags-container[data-v-cc03cae4]{flex-direction:column;gap:20px;display:flex}.skill-group-title[data-v-cc03cae4]{color:#666;margin:0 0 10px;font-size:14px;font-weight:600}.tags-wrapper[data-v-cc03cae4]{flex-wrap:wrap;gap:10px;display:flex}.tech-tag[data-v-cc03cae4]{color:#2b4c7e;cursor:default;background:#f4f6fa;border:1px solid #2b4c7e14;border-radius:8px;padding:6px 14px;font-size:13.5px;font-weight:500;transition:all .2s}.tech-tag[data-v-cc03cae4]:hover{background:#eef2f9;transform:translateY(-1px);box-shadow:0 4px 12px #2b4c7e1a}.right-panel[data-v-cc03cae4]{flex-direction:column;flex:1;gap:20px;max-width:540px;display:flex}.course-card[data-v-cc03cae4]{background:#fff;border:1px solid #00000008;border-radius:20px;width:100%;padding:30px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000000a}.course-card[data-v-cc03cae4]:before{content:"";background:linear-gradient(135deg,#7aa2ff26,#0000);border-radius:50%;width:150px;height:150px;position:absolute;top:-50px;right:-50px}.course-header[data-v-cc03cae4]{border-bottom:1px solid #eee;justify-content:space-between;align-items:flex-end;margin-bottom:20px;padding-bottom:12px;display:flex}.course-header h3[data-v-cc03cae4]{color:#111;margin:0;font-size:20px;font-weight:700}.course-badge[data-v-cc03cae4]{color:#2b4c7e;background:#eef2f9;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.course-category[data-v-cc03cae4]{margin-bottom:16px}.course-category[data-v-cc03cae4]:last-child{margin-bottom:0}.course-category h4[data-v-cc03cae4]{color:#333;align-items:center;gap:8px;margin:0 0 6px;font-size:15px;font-weight:600;display:flex}.course-category .num[data-v-cc03cae4]{color:#7aa2ff;font-family:monospace;font-size:13px;font-weight:700}.course-category p[data-v-cc03cae4]{color:#666;margin:0;font-size:13px;line-height:1.6}.eval-card[data-v-cc03cae4]{background:linear-gradient(135deg,#fff 0%,#f4f7fc 100%);border:1px solid #00000008;border-radius:20px;width:100%;padding:30px;box-shadow:0 10px 30px #0000000a}.eval-header[data-v-cc03cae4]{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.eval-header h3[data-v-cc03cae4]{color:#111;margin:0;font-size:20px;font-weight:700}.eval-icon[data-v-cc03cae4]{font-size:24px}.eval-content p[data-v-cc03cae4]{color:#444;margin:0 0 16px;font-size:14px;line-height:1.7}.eval-list[data-v-cc03cae4]{color:#444;margin:0 0 16px;padding-left:20px;font-size:14px;line-height:1.8}.eval-list li[data-v-cc03cae4]{margin-bottom:4px}.eval-list strong[data-v-cc03cae4]{color:#111}.eval-extra[data-v-cc03cae4]{color:#666;border-top:1px dashed #eee;margin-bottom:16px;padding-top:16px;font-size:13.5px}.motto-box[data-v-cc03cae4]{background:linear-gradient(135deg,#7aa2ff1a,#ff7ac11a);border-left:3px solid #7aa2ff;border-radius:0 12px 12px 0;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.quote-icon[data-v-cc03cae4]{color:#7aa2ff;font-family:serif;font-size:36px;font-weight:700;line-height:.8}.motto-text[data-v-cc03cae4]{flex-direction:column;gap:4px;display:flex}.motto-label[data-v-cc03cae4]{color:#666;font-size:13px;font-weight:500}.motto[data-v-cc03cae4]{color:#111;letter-spacing:.5px;font-family:monospace;font-size:18px;font-weight:700}.bg-wrap[data-v-cc03cae4]{z-index:2;pointer-events:none;opacity:0;transition:opacity .8s;position:absolute;inset:0}.bg-wrap.show[data-v-cc03cae4]{opacity:1}.bg-dots[data-v-cc03cae4]{position:absolute;inset:0}.dot[data-v-cc03cae4]{background:#46464680;border-radius:50%;animation:ease-in-out infinite floatDot-cc03cae4;position:absolute}@keyframes floatDot-cc03cae4{0%{opacity:.3;transform:translate(0,0)}50%{opacity:.75;transform:translate(24px,-18px)}to{opacity:.3;transform:translate(0,0)}}.bg-lines[data-v-cc03cae4]{position:absolute;inset:0}.line[data-v-cc03cae4]{background:linear-gradient(90deg,#0000,#50505066,#0000);height:1px;animation:ease-in-out infinite floatLine-cc03cae4;position:absolute}@keyframes floatLine-cc03cae4{0%{opacity:.2;transform:translate(0,0)rotate(0)}50%{opacity:.55;transform:translate(30px,-10px)rotate(2deg)}to{opacity:.2;transform:translate(0,0)rotate(0)}}.page3-top[data-v-cc03cae4]{z-index:3;justify-content:space-between;gap:40px;padding-top:10vh;display:flex;position:relative}.page3-top-left[data-v-cc03cae4]{flex:1;max-width:60%}.tag[data-v-cc03cae4]{color:#444;background:#e9e9e9;border-radius:999px;margin-bottom:16px;padding:6px 14px;font-size:14px;display:inline-block}.page3-top-left h2[data-v-cc03cae4]{text-align:left;margin:0 0 18px;font-size:clamp(28px,3.6vw,44px);font-weight:700}.page3-top-left p[data-v-cc03cae4]{color:#444;text-align:left;max-width:640px;margin:10px 0;font-size:15px;line-height:1.7}.page3-top-right[data-v-cc03cae4]{flex-direction:column;flex:0 0 240px;align-items:flex-end;gap:14px;display:flex}.mail-line[data-v-cc03cae4]{font-size:20px;font-weight:500}.like-btn[data-v-cc03cae4]{color:#f36;cursor:pointer;background:0 0;border:1px solid #f36;border-radius:999px;padding:7px 16px;font-size:14px;transition:all .2s}.like-btn[data-v-cc03cae4]:hover{color:#fff;background:#f36}.emoji-wrap[data-v-cc03cae4]{z-index:1;pointer-events:auto;height:1300px;position:absolute;inset:0}.brand-name[data-v-cc03cae4]{letter-spacing:-.04em;color:#222;z-index:2;white-space:nowrap;margin:0;font-size:clamp(70px,14vw,220px);font-weight:900;line-height:1;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.float-emoji[data-v-cc03cae4]{cursor:pointer;transition:transform .2s;animation:ease-in-out infinite emojiFloat-cc03cae4;position:absolute}.float-emoji[data-v-cc03cae4]:hover{transform:scale(1.15)}.float-emoji.bounce[data-v-cc03cae4]{animation:.36s emojiBounce-cc03cae4}@keyframes emojiFloat-cc03cae4{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(4deg)}}@keyframes emojiBounce-cc03cae4{0%{transform:translateY(0)scale(1)}30%{transform:translateY(-30px)scale(1.25)}60%{transform:translateY(-8px)scale(1.05)}to{transform:translateY(0)scale(1)}}.page-4[data-v-cc03cae4]{background:radial-gradient(at 20% 30%,#ffd2e68c,#0000 50%),radial-gradient(at 80% 25%,#ffead273,#0000 55%),radial-gradient(at 50% 40%,#dce6ff59,#0000 60%),linear-gradient(#fff 0%,#fefcfa 100%);height:auto}.page4-content[data-v-cc03cae4]{box-sizing:border-box;-webkit-backdrop-filter:blur(20px);background-color:#0f0f0fd9;justify-content:space-between;align-items:flex-start;gap:40px;width:100%;padding:50px 6% 40px;display:flex}.footer-left[data-v-cc03cae4]{flex-direction:column;gap:16px;display:flex}.footer-brand-line[data-v-cc03cae4]{align-items:center;gap:12px;display:flex}.footer-brand[data-v-cc03cae4]{color:#fff;letter-spacing:.05em;font-size:24px;font-weight:800}.footer-slogan[data-v-cc03cae4]{color:#a0a0a0;font-size:14px}.footer-contact[data-v-cc03cae4]{flex-direction:column;gap:10px;margin-top:8px;display:flex}.contact-item[data-v-cc03cae4]{color:#a0a0a0;align-items:center;gap:8px;font-size:14px;display:flex}.contact-item .icon[data-v-cc03cae4]{opacity:.8;font-size:16px}.footer-right[data-v-cc03cae4]{flex-direction:column;align-items:flex-end;gap:30px;display:flex}.qr-group[data-v-cc03cae4]{gap:20px;display:flex}.qr-box[data-v-cc03cae4]{flex-direction:column;align-items:center;gap:8px;display:flex}.qr-img[data-v-cc03cae4]{object-fit:cover;border:1px solid #333;border-radius:8px;width:80px;height:80px}.qr-box span[data-v-cc03cae4]{color:#a0a0a0;font-size:12px}.footer-bottom-info[data-v-cc03cae4]{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.statement[data-v-cc03cae4]{color:#777;text-align:right;margin:0;font-size:12px}.beian-links[data-v-cc03cae4]{align-items:center;gap:12px;display:flex}.beian-links a[data-v-cc03cae4]{color:#777;font-size:12px;text-decoration:none;transition:color .3s}.beian-links a[data-v-cc03cae4]:hover{color:#fff}.divider[data-v-cc03cae4]{color:#444;margin:0 4px;font-size:12px}.police-link[data-v-cc03cae4]{align-items:center;gap:4px;display:flex}.police-icon[data-v-cc03cae4]{opacity:.8;width:14px;height:14px;transition:opacity .3s}.police-link:hover .police-icon[data-v-cc03cae4]{opacity:1}.dots[data-v-cc03cae4]{z-index:99;flex-direction:column;gap:12px;display:flex;position:fixed;top:50%;right:32px;transform:translateY(-50%)}.dots span[data-v-cc03cae4]{cursor:pointer;background:#0003;border-radius:50%;width:10px;height:10px;transition:all .3s}.dots span.active[data-v-cc03cae4]{background:#111}.auth-overlay[data-v-cc03cae4]{z-index:9999;-webkit-backdrop-filter:blur(40px)saturate(150%);touch-action:none;overscroll-behavior:none;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-modal[data-v-cc03cae4]{text-align:center;width:100%;max-width:320px;padding:20px;animation:.5s ease-out fadeUp-cc03cae4}@keyframes fadeUp-cc03cae4{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.auth-modal h2[data-v-cc03cae4]{color:#fff;letter-spacing:-.5px;text-transform:uppercase;text-shadow:0 2px 4px #0003;margin-bottom:20px;font-size:18px;font-weight:600}.input-wrap[data-v-cc03cae4]{background:#fff;border:1px solid #0000000d;border-radius:999px;align-items:center;padding:6px 6px 6px 20px;transition:box-shadow .3s,border-color .3s;display:flex;box-shadow:0 20px 50px #0000004d}.input-wrap[data-v-cc03cae4]:focus-within{box-shadow:0 15px 35px #0006}.input-wrap.is-error[data-v-cc03cae4]{border-color:#f36;animation:.4s shake-cc03cae4;box-shadow:0 0 0 4px #ff336626,0 15px 35px #0000004d}.auth-input[data-v-cc03cae4]{color:#111;background:0 0;border:none;outline:none;flex:1;font-size:16px}.auth-input[data-v-cc03cae4]::placeholder{color:#aaa}.auth-input[data-v-cc03cae4]:disabled{opacity:.5}.auth-btn[data-v-cc03cae4]{color:#fff;cursor:pointer;background:#111;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:transform .2s,background .2s;display:flex}.auth-btn[data-v-cc03cae4]:hover:not(:disabled){background:#333;transform:scale(1.05)}.auth-btn[data-v-cc03cae4]:disabled{opacity:.7;cursor:not-allowed}.btn-spinner[data-v-cc03cae4]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin-cc03cae4}@keyframes spin-cc03cae4{to{transform:rotate(360deg)}}.error-text[data-v-cc03cae4]{color:#f36;margin-top:16px;font-size:13px;font-weight:500;animation:.3s shake-cc03cae4}@keyframes shake-cc03cae4{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}[data-v-be2c0b44]{box-sizing:border-box}.awards-page[data-v-be2c0b44]{color:#1a1e2b;-webkit-font-smoothing:antialiased;background:#f5f7fc;width:100vw;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.bg-canvas[data-v-be2c0b44]{z-index:0;pointer-events:none;background:radial-gradient(120% 90% at 15% 5%,#fff 0%,#0000 55%),radial-gradient(100% 80% at 90% 20%,#f2f4ff 0%,#0000 60%),radial-gradient(90% 90% at 50% 100%,#f8f6ff 0%,#0000 65%),linear-gradient(160deg,#fbfcff 0%,#f4f6fd 40%,#f8f7ff 100%);position:fixed;inset:0;overflow:hidden}.bg-orb[data-v-be2c0b44]{filter:blur(100px);opacity:.35;will-change:transform, opacity;border-radius:50%;position:absolute}.orb-1[data-v-be2c0b44]{background:radial-gradient(circle,#7896ff59,#0000 70%);width:46vw;height:46vw;animation:22s ease-in-out infinite alternate float1-be2c0b44;top:-12%;left:-8%}.orb-2[data-v-be2c0b44]{background:radial-gradient(circle,#b482ff47,#0000 70%);width:40vw;height:40vw;animation:26s ease-in-out infinite alternate float2-be2c0b44;top:35%;right:-14%}.orb-3[data-v-be2c0b44]{background:radial-gradient(circle,#ff96c838,#0000 70%);width:34vw;height:34vw;animation:30s ease-in-out infinite alternate float3-be2c0b44;bottom:-16%;left:28%}@keyframes float1-be2c0b44{0%{opacity:.3;transform:translate(0)scale(1)}to{opacity:.45;transform:translate(6vw,4vh)scale(1.12)}}@keyframes float2-be2c0b44{0%{opacity:.25;transform:translate(0)scale(1)}to{opacity:.4;transform:translate(-5vw,-6vh)scale(1.08)}}@keyframes float3-be2c0b44{0%{opacity:.2;transform:translate(0)scale(1)}to{opacity:.35;transform:translate(4vw,-3vh)scale(1.15)}}.bg-noise[data-v-be2c0b44]{opacity:.018;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:8s steps(6,end) infinite noiseShift-be2c0b44;position:absolute;inset:-50%}@keyframes noiseShift-be2c0b44{0%{transform:translate(0)}20%{transform:translate(-2%,1%)}40%{transform:translate(1%,-2%)}60%{transform:translate(-1%,2%)}80%{transform:translate(2%,1%)}to{transform:translate(0)}}.navbar[data-v-be2c0b44]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#fcfdffa6;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex;position:fixed;top:0;left:0}.nav-logo[data-v-be2c0b44]{letter-spacing:-.03em;cursor:pointer;color:#1a1e2b;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-be2c0b44]:hover{opacity:.7}.nav-links[data-v-be2c0b44]{color:#7a7f95;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-be2c0b44]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-be2c0b44]:after{content:"";background:linear-gradient(90deg,#5b8cff,#c06eff);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-be2c0b44]:hover{color:#1a1e2b}.nav-links span[data-v-be2c0b44]:hover:after{width:100%;left:0}.nav-links span.active[data-v-be2c0b44]{color:#3b6eff;font-weight:600}.nav-links span.active[data-v-be2c0b44]:after{width:100%;left:0}.nav-contact[data-v-be2c0b44]{color:#1a1e2b;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-be2c0b44]:hover{color:#3b6eff;background:#eef2ff;border-color:#5b8cff80}.nav-contact[data-v-be2c0b44]:after{display:none}.awards-container[data-v-be2c0b44]{z-index:10;gap:72px;max-width:1180px;margin:0 auto;padding:140px 44px 90px;display:flex;position:relative}.header-section[data-v-be2c0b44]{flex:0 0 38%;align-self:flex-start;position:sticky;top:140px}.main-title[data-v-be2c0b44]{letter-spacing:-.04em;color:#1a1e2b;margin:0 0 22px;font-size:clamp(46px,5.4vw,76px);font-weight:800;line-height:1.05}.gradient-text[data-v-be2c0b44]{background:linear-gradient(120deg,#3b6eff 0%,#8a5cff 45%,#ff6ebc 100%) 0 0/200% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:6s ease-in-out infinite shine-be2c0b44}@keyframes shine-be2c0b44{0%,to{background-position:0%}50%{background-position:100%}}.subtitle[data-v-be2c0b44]{color:#6b7188;margin-bottom:36px;font-size:15px;line-height:1.7}.stats[data-v-be2c0b44]{border-top:1px solid #00000014;gap:40px;margin-bottom:36px;padding-top:22px;display:flex}.stat-item[data-v-be2c0b44]{flex-direction:column;display:flex}.stat-num[data-v-be2c0b44]{color:#1a1e2b;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:30px;font-weight:700}.stat-label[data-v-be2c0b44]{color:#8a90a6;margin-top:4px;font-size:12px}.add-btn[data-v-be2c0b44]{color:#3b6eff;cursor:pointer;background:#fff;border:1px solid #3b6eff4d;border-radius:999px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #3b6eff0f}.add-btn[data-v-be2c0b44]:before{content:"";opacity:0;background:linear-gradient(120deg,#3b6eff14,#ff6ebc14);transition:opacity .3s;position:absolute;inset:0}.add-btn[data-v-be2c0b44]:hover{color:#2a5ae0;border-color:#3b6eff;transform:translateY(-1px);box-shadow:0 8px 22px -6px #3b6eff4d}.add-btn[data-v-be2c0b44]:hover:before{opacity:1}.add-btn .plus[data-v-be2c0b44]{font-size:18px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.add-btn:hover .plus[data-v-be2c0b44]{transform:rotate(90deg)}.timeline-section[data-v-be2c0b44]{flex:1;padding-left:30px;position:relative}.timeline-line[data-v-be2c0b44]{transform-origin:top;will-change:transform;background:linear-gradient(#3b6eff66,#0000000f 70%,#0000);width:1.5px;transition:transform .15s linear;position:absolute;top:8px;bottom:0;left:0}.timeline-line[data-v-be2c0b44]:after{content:"";background:linear-gradient(#5b8cff,#0000);border-radius:3px;width:3px;height:60px;animation:4s ease-in-out infinite lineFlow-be2c0b44;position:absolute;top:0;left:-1px}@keyframes lineFlow-be2c0b44{0%,to{opacity:.9;top:0}50%{opacity:.3;top:calc(100% - 60px)}}.award-item[data-v-be2c0b44]{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transition-delay:var(--delay,0s);gap:20px;margin-bottom:36px;display:flex;position:relative;transform:translateY(18px)}.award-item.revealed[data-v-be2c0b44]{opacity:1;transform:translateY(0)}.award-date[data-v-be2c0b44]{color:#8a90a6;flex:0 0 76px;padding-top:6px;font-family:JetBrains Mono,monospace;font-size:13px;transition:color .25s}.award-item:hover .award-date[data-v-be2c0b44]{color:#3b6eff}.award-dot[data-v-be2c0b44]{background:#c5cada;border-radius:50%;width:8px;height:8px;transition:all .35s;position:absolute;top:10px;left:-34px}.award-item:hover .award-dot[data-v-be2c0b44]{background:#5b8cff;transform:scale(1.15);box-shadow:0 0 0 4px #5b8cff26,0 0 14px #5b8cff99}.award-content[data-v-be2c0b44]{cursor:pointer;will-change:transform;transform-style:preserve-3d;background:#fff;border:1px solid #0000000f;border-radius:16px;flex:1;align-items:stretch;gap:20px;padding:20px;transition:background .3s,border-color .3s,box-shadow .35s,transform .35s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;box-shadow:0 2px 10px #00000008}.award-content[data-v-be2c0b44]:hover{border-color:#5b8cff47;box-shadow:0 20px 44px -20px #3b6eff66}.card-spotlight[data-v-be2c0b44]{pointer-events:none;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%), #5b8cff1a, transparent 70%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.award-content:hover .card-spotlight[data-v-be2c0b44]{opacity:1}.award-text[data-v-be2c0b44]{z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.award-header[data-v-be2c0b44]{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.award-header h3[data-v-be2c0b44]{color:#1a1e2b;word-break:break-word;margin:0;font-size:17px;font-weight:600;line-height:1.4;transition:color .25s}.award-content:hover .award-header h3[data-v-be2c0b44]{color:#2a5ae0}.award-tag[data-v-be2c0b44]{color:#3b6eff;white-space:nowrap;background:#eef2ff;border:1px solid #3b6eff2e;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:11px;transition:all .25s}.award-content:hover .award-tag[data-v-be2c0b44]{background:#e3ebff;border-color:#3b6eff66}.award-level[data-v-be2c0b44]{color:#e04a9a;margin:0 0 6px;font-size:14px;font-weight:500}.award-desc[data-v-be2c0b44]{color:#6b7188;margin:0;font-size:13px;line-height:1.6}.award-actions[data-v-be2c0b44]{opacity:0;gap:8px;margin-top:14px;transition:opacity .3s,transform .3s;display:flex;transform:translateY(4px)}.award-content:hover .award-actions[data-v-be2c0b44]{opacity:1;transform:translateY(0)}.mini-btn[data-v-be2c0b44]{color:#7a7f95;cursor:pointer;background:#fff;border:1px solid #0000001a;border-radius:999px;padding:4px 12px;font-size:12px;transition:all .2s}.mini-btn.edit[data-v-be2c0b44]:hover{color:#3b6eff;background:#eef2ff;border-color:#3b6eff73}.mini-btn.delete[data-v-be2c0b44]:hover{color:#e5484d;background:#fff0f0;border-color:#e5484d73}.award-thumb[data-v-be2c0b44]{background:#f8f9fd;border:1px solid #0000000f;border-radius:12px;flex:0 0 112px;width:112px;height:112px;transition:border-color .3s,transform .35s;position:relative;overflow:hidden}.award-content:hover .award-thumb[data-v-be2c0b44]{border-color:#5b8cff4d}.thumb-skeleton[data-v-be2c0b44]{z-index:0;background:linear-gradient(110deg,#f0f2f8 0%,#f8f9fd 40%,#f0f2f8 80%) 0 0/200% 100%;border-radius:12px;animation:1.4s linear infinite skeletonShine-be2c0b44;position:absolute;inset:0}@keyframes skeletonShine-be2c0b44{0%{background-position:100% 0}to{background-position:-100% 0}}.thumb-img[data-v-be2c0b44]{object-fit:cover;cursor:zoom-in;opacity:0;z-index:1;width:100%;height:100%;transition:opacity .4s,transform .45s cubic-bezier(.22,1,.36,1);display:block;position:relative}.thumb-img.loaded[data-v-be2c0b44]{opacity:1}.thumb-img[data-v-be2c0b44]:hover{transform:scale(1.08)}.award-thumb.no-image[data-v-be2c0b44]{background:linear-gradient(135deg,#eef2ff,#faf0ff);border-style:dashed;border-color:#00000014;justify-content:center;align-items:center;display:flex}.thumb-placeholder[data-v-be2c0b44]{opacity:.4;-webkit-user-select:none;user-select:none;font-size:30px}.award-item.empty .award-content[data-v-be2c0b44]{cursor:default;box-shadow:none;background:0 0;border-style:dashed}.award-item.empty .award-content[data-v-be2c0b44]:hover{box-shadow:none;border-color:#0000000f;transform:none}.award-item.empty h3[data-v-be2c0b44]{color:#8a90a6}.award-item.future .award-dot[data-v-be2c0b44]{background:#d0d4e2}.award-item.future:hover .award-dot[data-v-be2c0b44]{background:#ff8dc9;box-shadow:0 0 0 4px #ff8dc926,0 0 14px #ff8dc999}.modal-overlay[data-v-be2c0b44]{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#14162059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-be2c0b44]{background:#fff;border:1px solid #0000000f;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:34px;overflow-y:auto;box-shadow:0 30px 80px -20px #141e3c40}.modal-content h3[data-v-be2c0b44]{color:#1a1e2b;letter-spacing:-.01em;margin:0 0 24px;font-size:21px}.input-group[data-v-be2c0b44]{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.input-group label[data-v-be2c0b44]{color:#7a7f95;font-size:12.5px}.input-group input[data-v-be2c0b44]{color:#1a1e2b;background:#f8f9fd;border:1px solid #00000014;border-radius:10px;outline:none;padding:11px 15px;font-family:inherit;font-size:14px;transition:all .25s}.input-group input[data-v-be2c0b44]::placeholder{color:#a8adc0}.input-group input[data-v-be2c0b44]:focus{background:#fff;border-color:#3b6eff99;box-shadow:0 0 0 3px #3b6eff1a}.upload-box[data-v-be2c0b44]{cursor:pointer;background:#f8f9fd;border:1.5px dashed #0000001f;border-radius:12px;justify-content:center;align-items:center;min-height:132px;transition:all .25s;display:flex;position:relative;overflow:hidden}.upload-box[data-v-be2c0b44]:hover{background:#f3f6ff;border-color:#3b6eff80}.upload-box.has-image[data-v-be2c0b44]{border-style:solid;border-color:#00000014}.upload-box.dragging[data-v-be2c0b44]{background:#eef2ff;border-color:#3b6eff;box-shadow:inset 0 0 24px #3b6eff1a}.upload-preview[data-v-be2c0b44]{object-fit:contain;width:100%;max-height:240px;display:block}.upload-placeholder[data-v-be2c0b44]{text-align:center;padding:20px}.upload-icon[data-v-be2c0b44]{color:#a8adc0;margin-bottom:8px;font-size:22px}.upload-placeholder p[data-v-be2c0b44]{color:#7a7f95;margin:0;font-size:13px}.upload-sub[data-v-be2c0b44]{color:#a8adc0!important;margin-top:4px!important;font-size:11px!important}.remove-img-btn[data-v-be2c0b44]{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;transition:all .2s;display:flex;position:absolute;top:8px;right:8px}.remove-img-btn[data-v-be2c0b44]:hover{background:#e5484d;transform:rotate(90deg)}.upload-hint[data-v-be2c0b44]{color:#3b6eff;margin:6px 0 0;font-size:12px}.modal-actions[data-v-be2c0b44]{justify-content:flex-end;gap:14px;margin-top:26px;display:flex}.modal-actions button[data-v-be2c0b44]{cursor:pointer;border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .25s}.cancel-btn[data-v-be2c0b44]{color:#7a7f95;background:0 0}.cancel-btn[data-v-be2c0b44]:hover{color:#1a1e2b;background:#0000000d}.submit-btn[data-v-be2c0b44]{color:#fff;background:linear-gradient(120deg,#3b6eff,#5b8cff);font-weight:600;box-shadow:0 6px 20px -6px #3b6eff80}.submit-btn[data-v-be2c0b44]:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px #3b6eff99}.submit-btn[data-v-be2c0b44]:disabled{opacity:.5;cursor:not-allowed;transform:none}.preview-overlay[data-v-be2c0b44]{z-index:1100;background:#141620e0;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}.preview-loader[data-v-be2c0b44]{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.preview-spinner[data-v-be2c0b44]{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-be2c0b44}@keyframes spin-be2c0b44{to{transform:rotate(360deg)}}.preview-overlay img[data-v-be2c0b44]{z-index:2;object-fit:contain;opacity:0;border-radius:12px;max-width:90vw;max-height:86vh;transition:opacity .35s;position:relative;box-shadow:0 40px 100px #00000080}.preview-overlay img.loaded[data-v-be2c0b44]{opacity:1;animation:.35s cubic-bezier(.22,1,.36,1) zoomIn-be2c0b44}@keyframes zoomIn-be2c0b44{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.preview-close[data-v-be2c0b44]{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #fff6;border-radius:50%;width:42px;height:42px;font-size:17px;transition:all .25s;position:fixed;top:22px;right:26px}.preview-close[data-v-be2c0b44]:hover{color:#1a1e2b;background:#fff;border-color:#fff;transform:rotate(90deg)}.toast-host[data-v-be2c0b44]{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%)}.toast[data-v-be2c0b44]{color:#1a1e2b;white-space:nowrap;background:#fff;border:1px solid #00000014;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:500;display:inline-flex;box-shadow:0 12px 32px -12px #00000040}.toast-dot[data-v-be2c0b44]{background:#b0b0b6;border-radius:50%;width:6px;height:6px}.toast-info .toast-dot[data-v-be2c0b44]{background:#3b6eff}.toast-success .toast-dot[data-v-be2c0b44]{background:#2f9e7c}.toast-error .toast-dot[data-v-be2c0b44]{background:#d94a4a}.toast-enter-active[data-v-be2c0b44],.toast-leave-active[data-v-be2c0b44]{transition:opacity .3s,transform .35s cubic-bezier(.22,1,.36,1)}.toast-enter-from[data-v-be2c0b44],.toast-leave-to[data-v-be2c0b44]{opacity:0;transform:translateY(-12px)scale(.96)}.modal-enter-active[data-v-be2c0b44],.modal-leave-active[data-v-be2c0b44]{transition:opacity .28s}.modal-enter-active .modal-content[data-v-be2c0b44],.modal-leave-active .modal-content[data-v-be2c0b44]{transition:opacity .28s,transform .38s cubic-bezier(.22,1,.36,1)}.modal-enter-from[data-v-be2c0b44],.modal-leave-to[data-v-be2c0b44]{opacity:0}.modal-enter-from .modal-content[data-v-be2c0b44],.modal-leave-to .modal-content[data-v-be2c0b44]{opacity:0;transform:translateY(16px)scale(.85)}.fade-enter-active[data-v-be2c0b44],.fade-leave-active[data-v-be2c0b44]{transition:opacity .25s}.fade-enter-from[data-v-be2c0b44],.fade-leave-to[data-v-be2c0b44]{opacity:0}@media (width<=1024px){.awards-container[data-v-be2c0b44]{gap:48px}}@media (width<=900px){.navbar[data-v-be2c0b44]{padding:0 20px}.nav-links[data-v-be2c0b44]{display:none}.awards-container[data-v-be2c0b44]{flex-direction:column;gap:40px;padding:110px 20px 70px}.header-section[data-v-be2c0b44]{position:static}.modal-content[data-v-be2c0b44]{padding:26px 20px}.award-content[data-v-be2c0b44]{flex-direction:column}.award-thumb[data-v-be2c0b44]{flex:none;width:100%;height:180px}.award-actions[data-v-be2c0b44]{opacity:1;transform:none}.bg-orb[data-v-be2c0b44]{filter:blur(80px)}}@media (width<=480px){.awards-container[data-v-be2c0b44]{padding:100px 16px 60px}.main-title[data-v-be2c0b44]{font-size:42px}.stats[data-v-be2c0b44]{gap:28px}}@media (prefers-reduced-motion:reduce){.bg-orb[data-v-be2c0b44],.bg-noise[data-v-be2c0b44],.timeline-line[data-v-be2c0b44]:after,.gradient-text[data-v-be2c0b44]{animation:none!important}.award-item[data-v-be2c0b44]{opacity:1;transition:none;transform:none}.thumb-skeleton[data-v-be2c0b44]{animation:none}}@media (hover:none){.award-content[data-v-be2c0b44]{transform:none!important}.card-spotlight[data-v-be2c0b44]{display:none}}[data-v-cec7c037]{box-sizing:border-box}.projects-page[data-v-cec7c037]{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#f6f5f2;width:100vw;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.bg-canvas[data-v-cec7c037]{z-index:0;pointer-events:none;background:radial-gradient(110% 90% at 12% 0,#fffdf9 0%,#0000 55%),radial-gradient(90% 80% at 95% 18%,#f5f7fb 0%,#0000 60%),radial-gradient(80% 90% at 50% 100%,#fdf6f0 0%,#0000 65%),linear-gradient(170deg,#faf9f6 0%,#f6f4f0 50%,#f9f5ef 100%);position:fixed;inset:0;overflow:hidden}.bg-orb[data-v-cec7c037]{filter:blur(110px);opacity:.26;will-change:transform, opacity;border-radius:50%;position:absolute}.orb-1[data-v-cec7c037]{background:radial-gradient(circle,#f0aa8266,#0000 70%);width:42vw;height:42vw;animation:25s ease-in-out infinite alternate floatA-cec7c037;top:-10%;left:-8%}.orb-2[data-v-cec7c037]{background:radial-gradient(circle,#82a0e64d,#0000 70%);width:38vw;height:38vw;animation:29s ease-in-out infinite alternate floatB-cec7c037;bottom:-14%;right:-10%}@keyframes floatA-cec7c037{0%{opacity:.22;transform:translate(0)scale(1)}to{opacity:.38;transform:translate(5vw,4vh)scale(1.1)}}@keyframes floatB-cec7c037{0%{opacity:.18;transform:translate(0)scale(1)}to{opacity:.32;transform:translate(-4vw,-5vh)scale(1.12)}}.bg-noise[data-v-cec7c037]{opacity:.02;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:9s steps(6,end) infinite noiseShift-cec7c037;position:absolute;inset:-50%}@keyframes noiseShift-cec7c037{0%,to{transform:translate(0)}50%{transform:translate(-1%,1.5%)}}.navbar[data-v-cec7c037]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#faf9f6a6;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex;position:fixed;top:0;left:0}.nav-logo[data-v-cec7c037]{letter-spacing:-.03em;cursor:pointer;color:#1a1a1a;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-cec7c037]:hover{opacity:.7}.nav-links[data-v-cec7c037]{color:#7a7a80;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-cec7c037]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-cec7c037]:after{content:"";background:linear-gradient(90deg,#d98a5a,#8aa0e0);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-cec7c037]:hover{color:#1a1a1a}.nav-links span[data-v-cec7c037]:hover:after{width:100%;left:0}.nav-links span.active[data-v-cec7c037]{color:#1a1a1a;font-weight:600}.nav-links span.active[data-v-cec7c037]:after{width:100%;left:0}.nav-contact[data-v-cec7c037]{color:#1a1a1a;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-cec7c037]:hover{color:#c4743f;background:#fdf3ec;border-color:#d98a5a73}.nav-contact[data-v-cec7c037]:after{display:none}.projects-container[data-v-cec7c037]{z-index:10;max-width:1080px;margin:0 auto;padding:140px 44px 120px;position:relative}.header-section[data-v-cec7c037]{border-bottom:1px solid #0000001a;margin-bottom:36px;padding-bottom:36px}.title-wrap[data-v-cec7c037]{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.main-title[data-v-cec7c037]{letter-spacing:-.05em;color:#1a1a1a;text-transform:uppercase;margin:0;font-family:Inter,Helvetica Neue,sans-serif;font-size:clamp(52px,8vw,96px);font-weight:900;line-height:.92}.year-label[data-v-cec7c037]{letter-spacing:.1em;color:#8a8a90;text-transform:uppercase;white-space:nowrap;padding-bottom:10px;font-family:JetBrains Mono,Courier New,monospace;font-size:12px;font-weight:600}.header-bottom[data-v-cec7c037]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.subtitle[data-v-cec7c037]{color:#5e5e64;max-width:440px;margin:0;font-size:15px;line-height:1.75}.add-btn[data-v-cec7c037]{color:#c4743f;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d98a5a59;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;position:relative;box-shadow:0 2px 10px #d98a5a14}.add-btn[data-v-cec7c037]:hover{background:#fdf3ec;border-color:#d98a5a;transform:translateY(-1px);box-shadow:0 10px 24px -8px #d98a5a59}.add-btn .plus[data-v-cec7c037]{font-size:17px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.add-btn:hover .plus[data-v-cec7c037]{transform:rotate(90deg)}.filter-bar[data-v-cec7c037]{margin-bottom:56px}.filter-tabs[data-v-cec7c037]{background:#fff;border:1px solid #00000012;border-radius:999px;flex-wrap:wrap;gap:4px;padding:5px;display:inline-flex;box-shadow:0 2px 10px #00000008}.filter-tab[data-v-cec7c037]{color:#7a7a80;cursor:pointer;letter-spacing:.01em;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:8px 20px;font-size:13px;font-weight:600;transition:color .25s,background .25s;position:relative}.filter-tab[data-v-cec7c037]:hover{color:#1a1a1a}.filter-tab.active[data-v-cec7c037]{color:#fff;background:linear-gradient(120deg,#d98a5a,#c4743f);box-shadow:0 4px 14px -4px #c4743f73}.state-box[data-v-cec7c037]{text-align:center;color:#8a8a90;padding:100px 20px;font-size:15px}.state-box .err[data-v-cec7c037]{color:#c33;margin-bottom:16px}.loader[data-v-cec7c037]{border:3px solid #e5e2da;border-top-color:#c4743f;border-radius:50%;width:26px;height:26px;margin:0 auto 16px;animation:.8s linear infinite spin-cec7c037}@keyframes spin-cec7c037{to{transform:rotate(360deg)}}.empty-box[data-v-cec7c037]{text-align:center;background:#fff;border:1.5px dashed #ddd;border-radius:20px;padding:100px 20px}.empty-icon[data-v-cec7c037]{margin-bottom:14px;font-size:44px}.empty-box h3[data-v-cec7c037]{margin:0 0 8px;font-size:19px;font-weight:800}.empty-box p[data-v-cec7c037]{color:#8a8a90;margin:0;font-size:14px}.timeline[data-v-cec7c037]{padding:10px 0;position:relative}.timeline-axis[data-v-cec7c037]{background:linear-gradient(#0000 0,#d8d4cb 40px calc(100% - 40px),#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-group[data-v-cec7c037]{margin-bottom:70px;position:relative}.group-label[data-v-cec7c037]{z-index:2;justify-content:center;align-items:baseline;gap:12px;margin-bottom:40px;display:flex;position:relative}.group-label span[data-v-cec7c037]{background:#f6f5f2;padding:6px 18px}.group-year[data-v-cec7c037]{color:#1a1a1a;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:900}.group-count[data-v-cec7c037]{color:#9a9aa0;font-family:monospace;font-size:12px}.project-row[data-v-cec7c037]{justify-content:flex-start;margin-bottom:50px;padding-right:50%;display:flex;position:relative}.project-row.is-right[data-v-cec7c037]{justify-content:flex-end;padding-left:50%;padding-right:0}.project-card[data-v-cec7c037]{cursor:pointer;background:#fff;border:1px solid #0000000f;border-radius:20px;flex-direction:column;width:100%;max-width:440px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000008}.project-card[data-v-cec7c037]:hover{border-color:#d98a5a40;transform:translateY(-6px);box-shadow:0 24px 48px -20px #503c2838}.card-cover[data-v-cec7c037]{justify-content:center;align-items:center;height:200px;display:flex;position:relative;overflow:hidden}.deco-symbol[data-v-cec7c037]{color:#0003;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:64px;font-weight:900;transition:transform .5s cubic-bezier(.22,1,.36,1),color .4s}.project-card:hover .deco-symbol[data-v-cec7c037]{color:#0000004d;transform:scale(1.08)}.cover-overlay[data-v-cec7c037]{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;z-index:2;background:#1e140a59;justify-content:center;align-items:center;transition:opacity .35s;display:flex;position:absolute;inset:0}.cover-overlay span[data-v-cec7c037]{color:#fff;letter-spacing:.03em;border:1.5px solid #ffffffb3;border-radius:999px;padding:10px 22px;font-size:13px;font-weight:700;transition:transform .35s cubic-bezier(.22,1,.36,1);transform:translateY(10px)}.project-card:hover .cover-overlay[data-v-cec7c037]{opacity:1}.project-card:hover .cover-overlay span[data-v-cec7c037]{transform:translateY(0)}.card-actions[data-v-cec7c037]{z-index:3;gap:6px;display:flex;position:absolute;top:12px;right:12px}.mini-btn[data-v-cec7c037]{color:#1a1a1a;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.02em;background:#fffffff0;border:none;border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;transition:all .2s}.mini-btn[data-v-cec7c037]:hover{color:#fff;background:#c4743f}.mini-btn.danger[data-v-cec7c037]:hover{background:#c33}.card-info[data-v-cec7c037]{flex-direction:column;flex:1;padding:22px;display:flex}.card-meta[data-v-cec7c037]{justify-content:space-between;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11.5px;display:flex}.card-category[data-v-cec7c037]{color:#c4743f;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.card-date[data-v-cec7c037]{color:#9a9aa0}.card-title[data-v-cec7c037]{letter-spacing:-.015em;color:#1a1a1a;margin:0 0 8px;font-size:20px;font-weight:800;line-height:1.3}.card-desc[data-v-cec7c037]{color:#66666c;flex:1;margin:0 0 18px;font-size:13.5px;line-height:1.65}.card-tech[data-v-cec7c037]{flex-wrap:wrap;gap:6px;display:flex}.card-tech span[data-v-cec7c037]{color:#5a5a60;background:#f4f2ec;border-radius:6px;padding:4px 9px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;transition:background .25s,color .25s}.project-card:hover .card-tech span[data-v-cec7c037]{color:#a65a2c;background:#fdf3ec}.node-dot[data-v-cec7c037]{z-index:3;background:#c4743f;border:3px solid #f6f5f2;border-radius:50%;width:12px;height:12px;transition:box-shadow .3s,transform .3s;position:absolute;top:22px;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #c4743f4d}.project-row:hover .node-dot[data-v-cec7c037]{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 0 0 2px #c4743f80,0 0 16px #c4743f66}.project-row[data-v-cec7c037]:after{content:"";background:#d8d4cb;width:30px;height:1px;position:absolute;top:22px;right:50%}.project-row.is-right[data-v-cec7c037]:after{left:50%;right:auto}.timeline-end[data-v-cec7c037]{z-index:2;flex-direction:column;align-items:center;margin-top:20px;display:flex;position:relative}.end-line[data-v-cec7c037]{background:#d8d4cb;width:2px;height:30px}.end-text[data-v-cec7c037]{letter-spacing:.2em;color:#aaa;background:#f6f5f2;margin-top:4px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.ghost-btn[data-v-cec7c037]{color:#5a5a60;cursor:pointer;background:0 0;border:1.5px solid #00000026;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:500;transition:all .2s}.ghost-btn[data-v-cec7c037]:hover{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.primary-btn[data-v-cec7c037]{color:#fff;cursor:pointer;background:linear-gradient(120deg,#d98a5a,#c4743f);border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 6px 20px -6px #c4743f80}.primary-btn[data-v-cec7c037]:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px #c4743f99}.primary-btn[data-v-cec7c037]:disabled{opacity:.4;cursor:not-allowed;transform:none}.icon-btn[data-v-cec7c037]{color:#8a8a90;cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;transition:all .2s}.icon-btn[data-v-cec7c037]:hover{color:#1a1a1a;background:#f0eee9}.detail-overlay[data-v-cec7c037]{z-index:1000;background:#f6f5f2;position:fixed;inset:0;overflow:hidden auto}.detail-navbar[data-v-cec7c037]{background:#faf9f6e6;border-bottom:1px solid #e5e2da;box-shadow:0 4px 20px #00000005}.back-arrow[data-v-cec7c037]{margin-right:8px;font-size:20px}.detail-navbar .nav-logo[data-v-cec7c037]:hover{color:#c4743f;transition:all .2s}.detail-container[data-v-cec7c037]{max-width:1000px;margin:0 auto;padding:140px 40px 80px}.detail-header[data-v-cec7c037]{text-align:center;margin-bottom:60px}.detail-badge[data-v-cec7c037]{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(120deg,#d98a5a,#c4743f);border-radius:999px;margin-bottom:20px;padding:6px 16px;font-size:12px;font-weight:700;display:inline-block;box-shadow:0 4px 14px -4px #c4743f80}.detail-title[data-v-cec7c037]{letter-spacing:-.03em;color:#1a1a1a;margin:0 0 16px;font-size:clamp(36px,5vw,56px);font-weight:900;line-height:1.15}.detail-date[data-v-cec7c037]{color:#8a8a90;letter-spacing:.1em;margin-bottom:30px;font-family:JetBrains Mono,monospace;font-size:13px}.detail-tech-stack[data-v-cec7c037]{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.detail-tech-stack span[data-v-cec7c037]{color:#5a5a60;background:#eeeae1;border-radius:999px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.detail-content-grid[data-v-cec7c037]{grid-template-columns:1fr 1fr;gap:60px;display:grid}.detail-block[data-v-cec7c037]{margin-bottom:50px}.detail-block h2[data-v-cec7c037]{text-transform:uppercase;letter-spacing:.02em;color:#1a1a1a;border-bottom:2px solid #1a1a1a;margin-bottom:20px;padding-bottom:10px;font-size:20px;font-weight:800}.detail-left p[data-v-cec7c037]{color:#44444a;font-size:15px;line-height:1.85}.feature-list[data-v-cec7c037]{margin:0;padding:0;list-style:none}.feature-list li[data-v-cec7c037]{color:#44444a;margin-bottom:14px;padding-left:22px;font-size:14px;line-height:1.65;position:relative}.bullet[data-v-cec7c037]{background:#c4743f;border-radius:2px;width:8px;height:8px;transition:transform .25s;position:absolute;top:8px;left:0}.feature-list li:hover .bullet[data-v-cec7c037]{transform:rotate(45deg)}.dark-box[data-v-cec7c037]{color:#fff;background:linear-gradient(150deg,#1e1c1a 0%,#2a2622 100%);border-radius:20px;padding:36px;box-shadow:0 20px 50px -20px #1e140a66}.dark-box h2[data-v-cec7c037]{color:#fff;border-bottom-color:#ffffff26}.arch-item[data-v-cec7c037]{gap:18px;margin-bottom:26px;display:flex}.arch-item[data-v-cec7c037]:last-child{margin-bottom:0}.arch-icon[data-v-cec7c037]{color:#d98a5a;background:#ffffff14;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:800;display:flex}.arch-text h4[data-v-cec7c037]{color:#fff;letter-spacing:.02em;margin:0 0 6px;font-size:15px;font-weight:700}.arch-text p[data-v-cec7c037]{color:#aaa;margin:0;font-size:13.5px;line-height:1.65}.slide-up-enter-active[data-v-cec7c037],.slide-up-leave-active[data-v-cec7c037]{transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .3s}.slide-up-enter-from[data-v-cec7c037],.slide-up-leave-to[data-v-cec7c037]{opacity:0;transform:translateY(100%)}.modal-overlay[data-v-cec7c037]{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#16141259;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-cec7c037]{background:#fff;border:1px solid #0000000f;border-radius:20px;width:100%;max-width:600px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 30px 80px -20px #50321e40}.modal-head[data-v-cec7c037]{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;display:flex}.modal-head h3[data-v-cec7c037]{letter-spacing:-.01em;color:#1a1a1a;margin:0;font-size:21px;font-weight:800}.input-row[data-v-cec7c037]{gap:18px;margin-bottom:18px;display:flex}.input-row .input-group[data-v-cec7c037]{flex:1}.input-group[data-v-cec7c037]{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.input-group label[data-v-cec7c037]{color:#6a6a70;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.input-group input[data-v-cec7c037],.input-group select[data-v-cec7c037],.input-group textarea[data-v-cec7c037]{color:#1a1a1a;background:#f8f7f4;border:1px solid #00000014;border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:15px;transition:all .25s}.input-group input[data-v-cec7c037]::placeholder,.input-group textarea[data-v-cec7c037]::placeholder{color:#a8a8ae}.input-group input[data-v-cec7c037]:focus,.input-group select[data-v-cec7c037]:focus,.input-group textarea[data-v-cec7c037]:focus{background:#fff;border-color:#c4743f99;box-shadow:0 0 0 3px #c4743f1a}.input-group textarea[data-v-cec7c037]{resize:vertical}.modal-actions[data-v-cec7c037]{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}@media (width<=900px){.navbar[data-v-cec7c037]{padding:0 20px}.nav-links[data-v-cec7c037]{display:none}.projects-container[data-v-cec7c037],.detail-container[data-v-cec7c037]{padding:110px 20px 80px}.header-bottom[data-v-cec7c037]{flex-direction:column;align-items:flex-start;gap:18px}.title-wrap[data-v-cec7c037]{flex-direction:column;align-items:flex-start;gap:10px}.main-title[data-v-cec7c037]{letter-spacing:-2px}.timeline-axis[data-v-cec7c037]{left:16px;transform:none}.project-row[data-v-cec7c037]{justify-content:flex-start;padding-left:50px;padding-right:0}.project-row.is-right[data-v-cec7c037]{justify-content:flex-start;padding-left:50px}.node-dot[data-v-cec7c037]{left:16px;transform:translate(-50%,-50%)}.project-row[data-v-cec7c037]:after{width:24px;left:16px;right:auto}.project-row.is-right[data-v-cec7c037]:after{left:16px}.group-label[data-v-cec7c037]{justify-content:flex-start;padding-left:50px}.project-card[data-v-cec7c037]{max-width:100%}.detail-content-grid[data-v-cec7c037]{grid-template-columns:1fr;gap:0}.dark-box[data-v-cec7c037]{padding:28px 20px}.detail-header[data-v-cec7c037]{text-align:left}.detail-tech-stack[data-v-cec7c037]{justify-content:flex-start}.input-row[data-v-cec7c037]{flex-direction:column;gap:0}.modal-content[data-v-cec7c037]{padding:24px 20px}.filter-tab[data-v-cec7c037]{padding:7px 14px;font-size:12px}}@media (width<=480px){.main-title[data-v-cec7c037]{font-size:46px}.filter-tabs[data-v-cec7c037]{justify-content:flex-start;width:100%}}.project-gallery-block[data-v-cec7c037]{border-top:2px solid #1a1a1a;margin-top:20px;padding-top:30px}.gallery-head[data-v-cec7c037]{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.gallery-head h2[data-v-cec7c037]{text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:20px;font-weight:800}.upload-gallery-btn[data-v-cec7c037]{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(120deg,#d98a5a,#c4743f);border:none;border-radius:999px;padding:8px 16px;font-size:12px;font-weight:700;transition:all .2s;box-shadow:0 4px 14px -4px #c4743f66}.upload-gallery-btn[data-v-cec7c037]:hover{transform:translateY(-1px);box-shadow:0 8px 20px -4px #c4743f80}.gallery-state[data-v-cec7c037]{text-align:center;color:#8a8a90;background:#fff;border:1.5px dashed #ddd;border-radius:16px;padding:40px 20px;font-size:14px}.gallery-state.empty[data-v-cec7c037]{color:#aaa}.gallery-grid[data-v-cec7c037]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.gallery-item[data-v-cec7c037]{background:#fff;border:1px solid #0000000f;border-radius:14px;margin:0;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;overflow:hidden}.gallery-item[data-v-cec7c037]:hover{transform:translateY(-4px);box-shadow:0 16px 32px -12px #503c282e}.gallery-img[data-v-cec7c037]{aspect-ratio:4/3;cursor:zoom-in;position:relative;overflow:hidden}.gallery-img img[data-v-cec7c037]{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block}.gallery-item:hover .gallery-img img[data-v-cec7c037]{transform:scale(1.06)}.gallery-delete[data-v-cec7c037]{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;width:26px;height:26px;font-size:12px;transition:opacity .2s,background .2s,transform .2s;position:absolute;top:8px;right:8px}.gallery-item:hover .gallery-delete[data-v-cec7c037]{opacity:1}.gallery-delete[data-v-cec7c037]:hover{background:#c33;transform:rotate(90deg)}.gallery-uploading[data-v-cec7c037]{color:#c4743f;margin-top:10px;font-family:JetBrains Mono,monospace;font-size:12px}.img-preview-overlay[data-v-cec7c037]{z-index:1200;background:#0a0a0af0;flex-direction:column;justify-content:center;align-items:center;padding:40px;animation:.25s fadeIn-cec7c037;display:flex;position:fixed;inset:0}@keyframes fadeIn-cec7c037{0%{opacity:0}to{opacity:1}}.img-preview-overlay img[data-v-cec7c037]{object-fit:contain;border-radius:12px;max-width:90vw;max-height:80vh;box-shadow:0 30px 80px #0009}.img-preview-close[data-v-cec7c037]{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #ffffff4d;border-radius:50%;width:42px;height:42px;font-size:18px;transition:all .2s;position:fixed;top:20px;right:24px}.img-preview-close[data-v-cec7c037]:hover{color:#1a1a1a;background:#fff;border-color:#fff;transform:rotate(90deg)}@media (width<=900px){.gallery-grid[data-v-cec7c037]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.project-gallery-block[data-v-cec7c037]{padding-top:24px}.img-preview-overlay[data-v-cec7c037]{padding:20px}.img-preview-close[data-v-cec7c037]{top:12px;right:12px}}@media (prefers-reduced-motion:reduce){.bg-orb[data-v-cec7c037],.bg-noise[data-v-cec7c037]{animation:none!important}}[data-v-85c57200]{box-sizing:border-box}.experience-page[data-v-85c57200]{color:#23201b;-webkit-font-smoothing:antialiased;background:#f7f6f1;width:100vw;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.bg-canvas[data-v-85c57200]{z-index:0;pointer-events:none;background:radial-gradient(110% 90% at 12% 0,#fdfbf6 0%,#0000 55%),radial-gradient(90% 80% at 95% 18%,#f4f2ea 0%,#0000 60%),linear-gradient(170deg,#faf8f3 0%,#f4f1ea 55%,#f7f3ec 100%);position:fixed;inset:0;overflow:hidden}.bg-grid[data-v-85c57200]{background-image:linear-gradient(#3c322809 1px,#0000 1px),linear-gradient(90deg,#3c322809 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 80%);mask-image:radial-gradient(#000 40%,#0000 80%)}.bg-orb[data-v-85c57200]{filter:blur(110px);opacity:.28;will-change:transform, opacity;border-radius:50%;position:absolute}.orb-1[data-v-85c57200]{background:radial-gradient(circle,#78c8aa52,#0000 70%);width:44vw;height:44vw;animation:24s ease-in-out infinite alternate floatA-85c57200;top:-10%;left:-10%}.orb-2[data-v-85c57200]{background:radial-gradient(circle,#ffbe8247,#0000 70%);width:38vw;height:38vw;animation:28s ease-in-out infinite alternate floatB-85c57200;bottom:-14%;right:-10%}@keyframes floatA-85c57200{0%{opacity:.25;transform:translate(0)scale(1)}to{opacity:.4;transform:translate(5vw,4vh)scale(1.1)}}@keyframes floatB-85c57200{0%{opacity:.2;transform:translate(0)scale(1)}to{opacity:.35;transform:translate(-4vw,-5vh)scale(1.12)}}.bg-noise[data-v-85c57200]{opacity:.025;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:9s steps(6,end) infinite noiseShift-85c57200;position:absolute;inset:-50%}@keyframes noiseShift-85c57200{0%,to{transform:translate(0)}50%{transform:translate(-1%,1.5%)}}.navbar[data-v-85c57200]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#faf8f3b3;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex;position:fixed;top:0;left:0}.nav-logo[data-v-85c57200]{letter-spacing:-.03em;cursor:pointer;color:#23201b;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-85c57200]:hover{opacity:.7}.nav-links[data-v-85c57200]{color:#7a746a;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-85c57200]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-85c57200]:after{content:"";background:linear-gradient(90deg,#2f9e7c,#e8a54b);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-85c57200]:hover{color:#23201b}.nav-links span[data-v-85c57200]:hover:after{width:100%;left:0}.nav-links span.active[data-v-85c57200]{color:#23201b;font-weight:600}.nav-links span.active[data-v-85c57200]:after{width:100%;left:0}.nav-contact[data-v-85c57200]{color:#23201b;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-85c57200]:hover{color:#2f9e7c;background:#f0f7f3;border-color:#2f9e7c73}.nav-contact[data-v-85c57200]:after{display:none}.exp-container[data-v-85c57200]{z-index:10;max-width:1180px;margin:0 auto;padding:140px 44px 100px;position:relative}.header-section[data-v-85c57200]{margin-bottom:56px;position:relative}.title-wrap[data-v-85c57200]{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.main-title[data-v-85c57200]{letter-spacing:-.04em;margin:0;font-weight:800;line-height:.9}.main-title .serif[data-v-85c57200]{color:#23201b;font-family:Georgia,serif;font-size:clamp(56px,8vw,104px);font-weight:700}.main-title .italic[data-v-85c57200]{background:linear-gradient(120deg,#2f9e7c 0%,#6bc3a0 50%,#e8a54b 100%);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;font-family:Georgia,serif;font-size:clamp(56px,8vw,104px);font-style:italic;font-weight:400;animation:7s ease-in-out infinite shine-85c57200}@keyframes shine-85c57200{0%,to{background-position:0%}50%{background-position:100%}}.year-label[data-v-85c57200]{letter-spacing:.08em;color:#8a8275;text-transform:uppercase;white-space:nowrap;padding-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.header-bottom[data-v-85c57200]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.subtitle[data-v-85c57200]{color:#5c574c;max-width:460px;margin:0;font-size:15px;line-height:1.75}.add-btn[data-v-85c57200]{color:#2f9e7c;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #2f9e7c59;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 2px 10px #2f9e7c14}.add-btn[data-v-85c57200]:hover{background:#f0faf6;border-color:#2f9e7c;transform:translateY(-1px);box-shadow:0 10px 24px -8px #2f9e7c59}.add-btn .plus[data-v-85c57200]{font-size:17px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.add-btn:hover .plus[data-v-85c57200]{transform:rotate(90deg)}.title-underline[data-v-85c57200]{transform-origin:0;background:linear-gradient(90deg,#23201b 0% 30%,#0000 100%);height:1px;margin-top:32px;animation:1.1s cubic-bezier(.22,1,.36,1) forwards underlineGrow-85c57200}@keyframes underlineGrow-85c57200{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.state-box[data-v-85c57200]{text-align:center;color:#8a8275;padding:100px 20px;font-size:15px}.state-box .err[data-v-85c57200]{color:#c33;margin-bottom:16px}.loader[data-v-85c57200]{border:3px solid #e5e0d5;border-top-color:#2f9e7c;border-radius:50%;width:26px;height:26px;margin:0 auto 16px;animation:.8s linear infinite spin-85c57200}@keyframes spin-85c57200{to{transform:rotate(360deg)}}.archive-layout[data-v-85c57200]{grid-template-columns:280px 1fr;align-items:start;gap:40px;display:grid}.archive-index[data-v-85c57200]{gap:10px;display:flex;position:sticky;top:100px}.index-rail[data-v-85c57200]{background:#0000000d;border-radius:3px;flex-shrink:0;width:3px;position:relative}.index-thumb[data-v-85c57200]{background:linear-gradient(#2f9e7c,#6bc3a0);border-radius:3px;width:3px;transition:transform .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1);position:absolute;top:0;left:0;box-shadow:0 0 10px #2f9e7c66}.index-list[data-v-85c57200]{flex-direction:column;flex:1;gap:4px;margin:0;padding:0;list-style:none;display:flex}.index-item[data-v-85c57200]{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;transition:background .25s,transform .3s;display:flex}.index-item[data-v-85c57200]:hover{background:#fff9;border-color:#0000000d}.index-item.active[data-v-85c57200]{background:#fff;border-color:#2f9e7c40;transform:translate(2px);box-shadow:0 8px 24px -14px #1e3c2833}.index-year[data-v-85c57200]{color:#8a8275;letter-spacing:.06em;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;transition:color .25s}.index-item.active .index-year[data-v-85c57200]{color:#2f9e7c}.index-title[data-v-85c57200]{color:#23201b;letter-spacing:-.01em;font-size:14px;font-weight:600;line-height:1.35}.index-company[data-v-85c57200]{color:#8a8275;font-size:12px}.index-item.future[data-v-85c57200]{opacity:.6}.archive-panel[data-v-85c57200]{min-height:480px;position:relative}.archive-card[data-v-85c57200]{background:#fffdf8;border:1px solid #3c322814;border-radius:16px;padding:34px 38px 26px;position:relative;box-shadow:inset 0 1px #ffffffe6,0 20px 50px -24px #3c32282e}.archive-card[data-v-85c57200]:before{content:"";pointer-events:none;background-image:linear-gradient(#3c322806 1px,#0000 1px),linear-gradient(90deg,#3c322806 1px,#0000 1px);background-size:24px 24px;border-radius:16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 100%);mask-image:linear-gradient(#000 0% 100%)}.fold-corner[data-v-85c57200]{filter:drop-shadow(-2px 2px 3px #3c32280f);pointer-events:none;background:linear-gradient(225deg,#f4ecd8 50%,#0000 50%);border-top-right-radius:16px;width:36px;height:36px;position:absolute;top:0;right:0}.card-top[data-v-85c57200]{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.card-no[data-v-85c57200]{letter-spacing:.14em;color:#b0a794;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.card-top-actions[data-v-85c57200]{gap:8px;display:flex}.mini-btn[data-v-85c57200]{color:#7a746a;cursor:pointer;background:#fff;border:1px solid #00000014;border-radius:999px;padding:5px 13px;font-size:12px;transition:all .2s}.mini-btn[data-v-85c57200]:hover{color:#2f9e7c;background:#f0faf6;border-color:#2f9e7c73}.mini-btn.danger[data-v-85c57200]:hover{color:#d94a4a;background:#fff0f0;border-color:#d94a4a73}.card-head[data-v-85c57200]{z-index:1;position:relative}.meta[data-v-85c57200]{align-items:center;gap:10px;margin-bottom:12px;display:flex}.type-tag[data-v-85c57200]{text-transform:uppercase;letter-spacing:.08em;color:#c07a2e;background:#fff6ec;border:1px solid #e8a54b4d;border-radius:999px;padding:3px 10px;font-size:10.5px;font-weight:700}.date[data-v-85c57200]{color:#8a8275;letter-spacing:.04em;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600}.card-title[data-v-85c57200]{letter-spacing:-.02em;color:#23201b;margin:0 0 8px;font-size:clamp(26px,3vw,34px);font-weight:800;line-height:1.15}.card-company[data-v-85c57200]{color:#7a746a;margin:0;font-size:15px;font-weight:500}.dashed-rule[data-v-85c57200]{background-image:linear-gradient(90deg,#3c322833 50%,#0000 50%);background-size:10px 1px;height:1px;margin:24px 0}.card-details[data-v-85c57200]{z-index:1;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex;position:relative}.card-details li[data-v-85c57200]{color:#3d382f;gap:16px;font-size:14.5px;line-height:1.7;display:flex}.card-details .num[data-v-85c57200]{color:#b0a794;letter-spacing:.06em;flex-shrink:0;padding-top:5px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.card-details .txt[data-v-85c57200]{flex:1}.card-foot[data-v-85c57200]{text-align:center;letter-spacing:.18em;color:#b8b0a0;border-top:1px dashed #3c32281a;margin-top:30px;padding-top:16px;font-family:JetBrains Mono,monospace;font-size:10.5px}.inline-editor[data-v-85c57200]{background:#faf6ec;border:1px dashed #2f9e7c59;border-radius:12px;margin-top:24px;padding:22px}.editor-grid[data-v-85c57200]{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.field[data-v-85c57200]{flex-direction:column;gap:6px;display:flex}.field.full[data-v-85c57200]{margin-bottom:14px}.field label[data-v-85c57200]{color:#7a746a;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}.field input[data-v-85c57200],.field textarea[data-v-85c57200]{color:#23201b;resize:vertical;background:#fff;border:1px solid #00000014;border-radius:8px;outline:none;padding:10px 13px;font-family:inherit;font-size:14px;transition:all .25s}.field input[data-v-85c57200]:focus,.field textarea[data-v-85c57200]:focus{border-color:#2f9e7c99;box-shadow:0 0 0 3px #2f9e7c1a}.editor-actions[data-v-85c57200]{justify-content:flex-end;gap:10px;display:flex}.ghost-btn.small[data-v-85c57200],.primary-btn.small[data-v-85c57200]{padding:8px 18px;font-size:13px}.ghost-btn[data-v-85c57200]{color:#5c574c;cursor:pointer;background:0 0;border:1.5px solid #00000026;border-radius:999px;font-weight:500;transition:all .2s}.ghost-btn[data-v-85c57200]:hover{color:#fff;background:#23201b;border-color:#23201b}.primary-btn[data-v-85c57200]{color:#fff;cursor:pointer;background:linear-gradient(120deg,#2f9e7c,#3fb892);border:none;border-radius:999px;font-weight:600;transition:all .2s;box-shadow:0 6px 20px -6px #2f9e7c80}.primary-btn[data-v-85c57200]:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px #2f9e7c99}.primary-btn[data-v-85c57200]:disabled{opacity:.5;cursor:not-allowed;transform:none}.archive-empty[data-v-85c57200]{text-align:center;background:#fffdf8;border:1.5px dashed #3c322826;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;min-height:380px;padding:40px;display:flex}.empty-mark[data-v-85c57200]{color:#d6cebf;margin-bottom:14px;font-size:46px}.archive-empty h3[data-v-85c57200]{color:#5c574c;margin:0 0 8px;font-size:18px}.archive-empty p[data-v-85c57200]{color:#8a8275;margin:0;font-size:13.5px}.slide-swap-enter-active[data-v-85c57200],.slide-swap-leave-active[data-v-85c57200]{transition:opacity .32s,transform .4s cubic-bezier(.22,1,.36,1)}.slide-swap-enter-from[data-v-85c57200]{opacity:0;transform:translate(24px)}.slide-swap-leave-to[data-v-85c57200]{opacity:0;transform:translate(-24px)}.expand-enter-active[data-v-85c57200],.expand-leave-active[data-v-85c57200]{transition:opacity .3s,transform .35s cubic-bezier(.22,1,.36,1)}.expand-enter-from[data-v-85c57200],.expand-leave-to[data-v-85c57200]{opacity:0;transform:translateY(-8px)}.toast-host[data-v-85c57200]{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:84px;left:50%;transform:translate(-50%)}.toast[data-v-85c57200]{color:#23201b;white-space:nowrap;background:#fff;border:1px solid #00000014;border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:13.5px;font-weight:500;display:inline-flex;box-shadow:0 12px 32px -12px #00000040}.toast-dot[data-v-85c57200]{background:#b0b0b6;border-radius:50%;width:6px;height:6px}.toast-info .toast-dot[data-v-85c57200]{background:#3b6eff}.toast-success .toast-dot[data-v-85c57200]{background:#2f9e7c}.toast-error .toast-dot[data-v-85c57200]{background:#d94a4a}.toast-enter-active[data-v-85c57200],.toast-leave-active[data-v-85c57200]{transition:opacity .3s,transform .35s cubic-bezier(.22,1,.36,1)}.toast-enter-from[data-v-85c57200],.toast-leave-to[data-v-85c57200]{opacity:0;transform:translateY(-12px)scale(.96)}@media (width<=900px){.navbar[data-v-85c57200]{padding:0 20px}.nav-links[data-v-85c57200]{display:none}.exp-container[data-v-85c57200]{padding:110px 20px 80px}.title-wrap[data-v-85c57200]{flex-direction:column;align-items:flex-start;gap:8px}.main-title .serif[data-v-85c57200],.main-title .italic[data-v-85c57200]{font-size:64px}.header-bottom[data-v-85c57200]{flex-direction:column;align-items:flex-start;gap:18px}.archive-layout[data-v-85c57200]{grid-template-columns:1fr;gap:24px}.archive-index[data-v-85c57200]{padding-bottom:6px;position:static;overflow-x:auto}.index-rail[data-v-85c57200]{display:none}.index-list[data-v-85c57200]{flex-direction:row;gap:10px}.index-item[data-v-85c57200]{background:#fff9;border-color:#0000000d;flex-shrink:0;min-width:160px}.archive-card[data-v-85c57200]{padding:26px 22px 20px}.editor-grid[data-v-85c57200]{grid-template-columns:1fr}}@media (width<=480px){.main-title .serif[data-v-85c57200],.main-title .italic[data-v-85c57200]{font-size:48px}.card-title[data-v-85c57200]{font-size:22px}.card-details li[data-v-85c57200]{font-size:13.5px}}@media (prefers-reduced-motion:reduce){.bg-orb[data-v-85c57200],.bg-noise[data-v-85c57200],.bg-grid[data-v-85c57200],.main-title .italic[data-v-85c57200],.title-underline[data-v-85c57200],.index-thumb[data-v-85c57200],.slide-swap-enter-active[data-v-85c57200],.slide-swap-leave-active[data-v-85c57200]{transition:none!important;animation:none!important}}[data-v-db99add5]{box-sizing:border-box}.gallery-page[data-v-db99add5]{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#f6f5f2;width:100vw;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.bg-canvas[data-v-db99add5]{z-index:0;pointer-events:none;background:radial-gradient(110% 90% at 12% 0,#fffdfa 0%,#0000 55%),radial-gradient(90% 80% at 95% 18%,#f5f6f9 0%,#0000 60%),radial-gradient(80% 90% at 50% 100%,#fdf8f2 0%,#0000 65%),linear-gradient(170deg,#faf9f7 0%,#f6f4f1 50%,#f8f5f0 100%);position:fixed;inset:0;overflow:hidden}.bg-orb[data-v-db99add5]{filter:blur(110px);opacity:.24;will-change:transform, opacity;border-radius:50%;position:absolute}.orb-1[data-v-db99add5]{background:radial-gradient(circle,#e6b49659,#0000 70%);width:42vw;height:42vw;animation:26s ease-in-out infinite alternate floatA-db99add5;top:-10%;left:-8%}.orb-2[data-v-db99add5]{background:radial-gradient(circle,#96a5c847,#0000 70%);width:38vw;height:38vw;animation:30s ease-in-out infinite alternate floatB-db99add5;bottom:-14%;right:-10%}@keyframes floatA-db99add5{0%{opacity:.2;transform:translate(0)scale(1)}to{opacity:.35;transform:translate(5vw,4vh)scale(1.1)}}@keyframes floatB-db99add5{0%{opacity:.16;transform:translate(0)scale(1)}to{opacity:.3;transform:translate(-4vw,-5vh)scale(1.12)}}.bg-noise[data-v-db99add5]{opacity:.02;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:9s steps(6,end) infinite noiseShift-db99add5;position:absolute;inset:-50%}@keyframes noiseShift-db99add5{0%,to{transform:translate(0)}50%{transform:translate(-1%,1.5%)}}.navbar[data-v-db99add5]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#faf9f7a6;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex;position:fixed;top:0;left:0}.nav-logo[data-v-db99add5]{letter-spacing:-.03em;cursor:pointer;color:#1a1a1a;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-db99add5]:hover{opacity:.7}.nav-links[data-v-db99add5]{color:#7a7a80;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-db99add5]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-db99add5]:after{content:"";background:linear-gradient(90deg,#b08060,#8a9ac0);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-db99add5]:hover{color:#1a1a1a}.nav-links span[data-v-db99add5]:hover:after{width:100%;left:0}.nav-links span.active[data-v-db99add5]{color:#1a1a1a;font-weight:600}.nav-links span.active[data-v-db99add5]:after{width:100%;left:0}.nav-contact[data-v-db99add5]{color:#1a1a1a;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-db99add5]:hover{color:#8a5a3a;background:#faf4ee;border-color:#b0806073}.nav-contact[data-v-db99add5]:after{display:none}.gallery-container[data-v-db99add5]{z-index:10;max-width:1080px;margin:0 auto;padding:140px 44px 120px;position:relative}.header-section[data-v-db99add5]{border-bottom:1px solid #0000001a;margin-bottom:56px;padding-bottom:36px}.title-wrap[data-v-db99add5]{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.main-title[data-v-db99add5]{letter-spacing:-.03em;color:#1a1a1a;text-transform:uppercase;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,8vw,96px);font-weight:400;line-height:.95}.year-label[data-v-db99add5]{letter-spacing:.1em;color:#8a8a90;text-transform:uppercase;white-space:nowrap;padding-bottom:10px;font-family:JetBrains Mono,Courier New,monospace;font-size:12px;font-weight:600}.header-bottom[data-v-db99add5]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.subtitle[data-v-db99add5]{color:#5e5e64;max-width:440px;margin:0;font-size:15px;line-height:1.75}.add-btn[data-v-db99add5]{color:#8a5a3a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #b0806059;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;position:relative;box-shadow:0 2px 10px #b0806014}.add-btn[data-v-db99add5]:hover{background:#faf4ee;border-color:#b08060;transform:translateY(-1px);box-shadow:0 10px 24px -8px #b0806059}.add-btn .plus[data-v-db99add5]{font-size:17px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.add-btn:hover .plus[data-v-db99add5]{transform:rotate(90deg)}.state-box[data-v-db99add5]{text-align:center;color:#8a8a90;padding:100px 20px;font-size:15px}.state-box .err[data-v-db99add5]{color:#c33;margin-bottom:16px}.loader[data-v-db99add5]{border:3px solid #e5e2da;border-top-color:#b08060;border-radius:50%;width:26px;height:26px;margin:0 auto 16px;animation:.8s linear infinite spin-db99add5}@keyframes spin-db99add5{to{transform:rotate(360deg)}}.empty-box[data-v-db99add5]{text-align:center;background:#fff;border:1.5px dashed #ddd;border-radius:20px;padding:100px 20px}.empty-icon[data-v-db99add5]{margin-bottom:14px;font-size:44px}.empty-box h3[data-v-db99add5]{margin:0 0 8px;font-size:19px;font-weight:800}.empty-box p[data-v-db99add5]{color:#8a8a90;margin:0;font-size:14px}.timeline[data-v-db99add5]{padding:10px 0;position:relative}.timeline-axis[data-v-db99add5]{background:linear-gradient(#0000 0,#d8d4cb 40px calc(100% - 40px),#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-group[data-v-db99add5]{margin-bottom:60px;position:relative}.group-label[data-v-db99add5]{z-index:2;justify-content:center;align-items:baseline;gap:10px;margin-bottom:40px;display:flex;position:relative}.group-label span[data-v-db99add5]{background:#f6f5f2;padding:6px 18px}.group-year[data-v-db99add5]{color:#1a1a1a;letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700}.group-month[data-v-db99add5]{letter-spacing:-.02em;color:#1a1a1a;font-family:Georgia,serif;font-size:26px;font-weight:900}.group-count[data-v-db99add5]{color:#9a9aa0;font-family:monospace;font-size:12px}.photo-row[data-v-db99add5]{opacity:0;animation:.6s cubic-bezier(.22,1,.36,1) forwards rowIn-db99add5;animation-delay:var(--delay,0s);justify-content:flex-start;margin-bottom:40px;padding-right:50%;display:flex;position:relative;transform:translateY(16px)}@keyframes rowIn-db99add5{to{opacity:1;transform:translateY(0)}}.photo-row.is-right[data-v-db99add5]{justify-content:flex-end;padding-left:50%;padding-right:0}.day-card[data-v-db99add5]{background:#fff;border:1px solid #0000000f;border-radius:16px;width:100%;max-width:440px;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .3s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000008}.day-card[data-v-db99add5]:hover{border-color:#b0806033;transform:translateY(-5px);box-shadow:0 24px 48px -22px #503c2838}.day-header[data-v-db99add5]{background:#faf9f6;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.day-date[data-v-db99add5]{color:#1a1a1a;font-family:JetBrains Mono,monospace;font-size:13.5px;font-weight:600}.day-count[data-v-db99add5]{color:#9a9aa0;font-size:12px}.photo-grid[data-v-db99add5]{background:#f0eee9;gap:2px;display:grid}.photo-grid.grid-1[data-v-db99add5]{grid-template-columns:1fr}.photo-grid.grid-2[data-v-db99add5],.photo-grid.grid-4[data-v-db99add5]{grid-template-columns:repeat(2,1fr)}.photo-grid.grid-multi[data-v-db99add5]{grid-template-columns:repeat(3,1fr)}.grid-item[data-v-db99add5]{cursor:pointer;aspect-ratio:1;background:#f0eee9;position:relative;overflow:hidden}.grid-skeleton[data-v-db99add5]{z-index:0;background:linear-gradient(110deg,#f0eee9 0%,#faf9f6 40%,#f0eee9 80%) 0 0/200% 100%;animation:1.4s linear infinite skeletonShine-db99add5;position:absolute;inset:0}@keyframes skeletonShine-db99add5{0%{background-position:100% 0}to{background-position:-100% 0}}.grid-img[data-v-db99add5]{object-fit:cover;opacity:0;z-index:1;width:100%;height:100%;transition:opacity .4s,transform .45s cubic-bezier(.22,1,.36,1);display:block;position:relative}.grid-img.loaded[data-v-db99add5]{opacity:1}.grid-item:hover .grid-img[data-v-db99add5]{transform:scale(1.05)}.photo-grid.grid-1 .grid-item[data-v-db99add5]{aspect-ratio:auto;max-height:500px}.photo-grid.grid-1 .grid-img[data-v-db99add5]{object-fit:contain;background:#faf9f6}.hover-overlay[data-v-db99add5]{opacity:0;z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#0006 50%,#000000d9 100%);flex-direction:column;justify-content:flex-end;padding:12px;transition:opacity .3s;display:flex;position:absolute;inset:0}.grid-item:hover .hover-overlay[data-v-db99add5]{opacity:1}.hover-content h4[data-v-db99add5]{color:#fff;letter-spacing:-.01em;margin:0 0 4px;font-size:14px;font-weight:600}.hover-content p[data-v-db99add5]{color:#ffffffd9;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.single-caption[data-v-db99add5]{z-index:2;background:#fff;border-top:1px dashed #00000014;padding:16px 20px;position:relative}.single-caption h3[data-v-db99add5]{color:#1a1a1a;letter-spacing:-.01em;margin:0 0 6px;padding-left:12px;font-size:16px;font-weight:700;position:relative}.single-caption h3[data-v-db99add5]:before{content:"";background:#b08060;border-radius:2px;width:3px;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.single-caption p[data-v-db99add5]{color:#66666c;margin:0;padding-left:12px;font-size:13.5px;line-height:1.65}.delete-btn[data-v-db99add5]{color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;transition:all .25s;display:flex;position:absolute;top:8px;right:8px}.grid-item:hover .delete-btn[data-v-db99add5]{opacity:1}.delete-btn[data-v-db99add5]:hover{background:#c33;transform:rotate(90deg)}.node-dot[data-v-db99add5]{z-index:3;background:#b08060;border:3px solid #f6f5f2;border-radius:50%;width:11px;height:11px;transition:box-shadow .3s,transform .3s;position:absolute;top:24px;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #b0806040}.photo-row:hover .node-dot[data-v-db99add5]{transform:translate(-50%,-50%)scale(1.15);box-shadow:0 0 0 2px #b0806073,0 0 14px #b0806059}.photo-row[data-v-db99add5]:after{content:"";background:#d8d4cb;width:30px;height:1px;position:absolute;top:24px;right:50%}.photo-row.is-right[data-v-db99add5]:after{left:50%;right:auto}.timeline-end[data-v-db99add5]{z-index:2;flex-direction:column;align-items:center;margin-top:20px;display:flex;position:relative}.end-line[data-v-db99add5]{background:#d8d4cb;width:2px;height:30px}.end-text[data-v-db99add5]{letter-spacing:.2em;color:#aaa;background:#f6f5f2;margin-top:4px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.ghost-btn[data-v-db99add5]{color:#5a5a60;cursor:pointer;background:0 0;border:1.5px solid #00000026;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:500;transition:all .2s}.ghost-btn[data-v-db99add5]:hover{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.primary-btn[data-v-db99add5]{color:#fff;cursor:pointer;background:linear-gradient(120deg,#b08060,#8a5a3a);border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 6px 20px -6px #8a5a3a80}.primary-btn[data-v-db99add5]:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px #8a5a3a99}.primary-btn[data-v-db99add5]:disabled{opacity:.4;cursor:not-allowed;transform:none}.icon-btn[data-v-db99add5]{color:#8a8a90;cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;transition:all .2s}.icon-btn[data-v-db99add5]:hover{color:#1a1a1a;background:#f0eee9}.modal-overlay[data-v-db99add5]{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#16141259;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-db99add5]{background:#fff;border:1px solid #0000000f;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 30px 80px -20px #50321e40}.modal-head[data-v-db99add5]{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;display:flex}.modal-head h3[data-v-db99add5]{letter-spacing:-.01em;color:#1a1a1a;margin:0;font-size:21px;font-weight:800}.dropzone[data-v-db99add5]{text-align:center;cursor:pointer;background:#f8f7f4;border:1.5px dashed #0000001f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:34px 20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.dropzone[data-v-db99add5]:hover{background:#faf4ee;border-color:#b0806099}.dropzone.has-file[data-v-db99add5]{border-style:solid;border-color:#00000014;padding:0}.dropzone.dragging[data-v-db99add5]{background:#faf4ee;border-color:#b08060;box-shadow:inset 0 0 24px #b080601a}.dz-icon[data-v-db99add5]{color:#a8a8ae;margin-bottom:8px;font-size:26px}.dz-title[data-v-db99add5]{color:#3a3a40;margin:0 0 4px;font-size:14px;font-weight:600}.dz-sub[data-v-db99add5]{color:#a8a8ae;margin:0;font-size:12px}.hidden-input[data-v-db99add5]{display:none}.dz-preview[data-v-db99add5]{object-fit:contain;width:100%;max-height:280px;display:block}.file-name[data-v-db99add5]{color:#66666c;word-break:break-all;margin:10px 0 0;font-family:JetBrains Mono,monospace;font-size:12px}.input-group[data-v-db99add5]{flex-direction:column;gap:7px;margin-top:18px;display:flex}.input-group label[data-v-db99add5]{color:#6a6a70;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.optional[data-v-db99add5]{color:#b0b0b6;text-transform:none;font-weight:400}.input-group input[data-v-db99add5],.input-group textarea[data-v-db99add5]{color:#1a1a1a;background:#f8f7f4;border:1px solid #00000014;border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:15px;transition:all .25s}.input-group input[data-v-db99add5]::placeholder,.input-group textarea[data-v-db99add5]::placeholder{color:#a8a8ae}.input-group input[data-v-db99add5]:focus,.input-group textarea[data-v-db99add5]:focus{background:#fff;border-color:#b0806099;box-shadow:0 0 0 3px #b080601a}.input-group textarea[data-v-db99add5]{resize:vertical}.modal-actions[data-v-db99add5]{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.preview-overlay[data-v-db99add5]{z-index:1100;background:#0a0a0af2;justify-content:center;align-items:center;padding:60px 40px;display:flex;position:fixed;inset:0}.preview-close[data-v-db99add5]{color:#fff;cursor:pointer;z-index:1101;background:0 0;border:1.5px solid #ffffff4d;border-radius:50%;width:44px;height:44px;font-size:18px;transition:all .2s;position:fixed;top:24px;right:28px}.preview-close[data-v-db99add5]:hover{color:#1a1a1a;background:#fff;border-color:#fff;transform:rotate(90deg)}.preview-inner[data-v-db99add5]{flex-direction:column;align-items:center;max-width:88vw;max-height:88vh;display:flex;position:relative}.preview-loader[data-v-db99add5]{z-index:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview-spinner[data-v-db99add5]{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin-db99add5}.preview-inner img[data-v-db99add5]{object-fit:contain;opacity:0;z-index:2;max-width:88vw;max-height:74vh;transition:opacity .35s;position:relative;box-shadow:0 30px 80px #0009}.preview-inner img.loaded[data-v-db99add5]{opacity:1;animation:.35s cubic-bezier(.22,1,.36,1) zoomIn-db99add5}@keyframes zoomIn-db99add5{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.preview-caption[data-v-db99add5]{text-align:center;color:#fff;max-width:720px;margin-top:22px}.preview-meta[data-v-db99add5]{letter-spacing:.15em;color:#888;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:12px}.preview-caption h3[data-v-db99add5]{margin:0 0 8px;font-size:20px;font-weight:700}.preview-caption p[data-v-db99add5]{color:#bbb;margin:0;font-size:14px;line-height:1.7}.modal-enter-active[data-v-db99add5],.modal-leave-active[data-v-db99add5]{transition:opacity .28s}.modal-enter-active .modal-content[data-v-db99add5],.modal-leave-active .modal-content[data-v-db99add5]{transition:opacity .28s,transform .32s cubic-bezier(.22,1,.36,1)}.modal-enter-from[data-v-db99add5],.modal-leave-to[data-v-db99add5]{opacity:0}.modal-enter-from .modal-content[data-v-db99add5],.modal-leave-to .modal-content[data-v-db99add5]{opacity:0;transform:translateY(16px)scale(.97)}.fade-enter-active[data-v-db99add5],.fade-leave-active[data-v-db99add5]{transition:opacity .25s}.fade-enter-from[data-v-db99add5],.fade-leave-to[data-v-db99add5]{opacity:0}@media (width<=900px){.navbar[data-v-db99add5]{padding:0 20px}.nav-links[data-v-db99add5]{display:none}.gallery-container[data-v-db99add5]{padding:110px 20px 80px}.header-bottom[data-v-db99add5]{flex-direction:column;align-items:flex-start;gap:18px}.title-wrap[data-v-db99add5]{flex-direction:column;align-items:flex-start;gap:10px}.main-title[data-v-db99add5]{letter-spacing:-2px}.timeline-axis[data-v-db99add5]{left:16px;transform:none}.photo-row[data-v-db99add5]{justify-content:flex-start;padding-left:36px;padding-right:0}.photo-row.is-right[data-v-db99add5]{justify-content:flex-start;padding-left:36px}.node-dot[data-v-db99add5]{left:16px;transform:translate(-50%,-50%)}.photo-row[data-v-db99add5]:after{width:20px;left:16px;right:auto}.photo-row.is-right[data-v-db99add5]:after{left:16px}.group-label[data-v-db99add5]{justify-content:flex-start;padding-left:36px}.day-card[data-v-db99add5]{max-width:100%}.modal-content[data-v-db99add5]{padding:24px 20px}.preview-overlay[data-v-db99add5]{padding:40px 20px}.preview-close[data-v-db99add5]{top:12px;right:12px}.preview-inner img[data-v-db99add5]{max-height:70vh}}@media (width<=480px){.main-title[data-v-db99add5]{font-size:clamp(40px,12vw,56px)}}@media (prefers-reduced-motion:reduce){.bg-orb[data-v-db99add5],.bg-noise[data-v-db99add5],.photo-row[data-v-db99add5],.preview-inner[data-v-db99add5]{animation:none!important}.photo-row[data-v-db99add5]{opacity:1;transform:none}.grid-skeleton[data-v-db99add5]{animation:none}.hover-overlay[data-v-db99add5]{transition:none}}[data-v-2374771d]{box-sizing:border-box}.resources-page[data-v-2374771d]{color:#1a1e26;-webkit-font-smoothing:antialiased;background:#f6f7f9;width:100vw;min-height:100vh;font-family:Inter,Helvetica Neue,Arial,sans-serif;position:relative;overflow-x:hidden}.bg-canvas[data-v-2374771d]{z-index:0;pointer-events:none;background:radial-gradient(110% 90% at 12% 0,#fdfefe 0%,#0000 55%),radial-gradient(90% 80% at 95% 18%,#f4f8f6 0%,#0000 60%),radial-gradient(80% 90% at 50% 100%,#f5f8fc 0%,#0000 65%),linear-gradient(170deg,#fafbfc 0%,#f5f7f8 50%,#f8faf9 100%);position:fixed;inset:0;overflow:hidden}.bg-orb[data-v-2374771d]{filter:blur(110px);opacity:.24;will-change:transform, opacity;border-radius:50%;position:absolute}.orb-1[data-v-2374771d]{background:radial-gradient(circle,#96b9dc59,#0000 70%);width:42vw;height:42vw;animation:26s ease-in-out infinite alternate floatA-2374771d;top:-10%;left:-8%}.orb-2[data-v-2374771d]{background:radial-gradient(circle,#a0d2be4d,#0000 70%);width:38vw;height:38vw;animation:30s ease-in-out infinite alternate floatB-2374771d;bottom:-14%;right:-10%}@keyframes floatA-2374771d{0%{opacity:.2;transform:translate(0)scale(1)}to{opacity:.35;transform:translate(5vw,4vh)scale(1.1)}}@keyframes floatB-2374771d{0%{opacity:.16;transform:translate(0)scale(1)}to{opacity:.3;transform:translate(-4vw,-5vh)scale(1.12)}}.bg-noise[data-v-2374771d]{opacity:.018;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:9s steps(6,end) infinite noiseShift-2374771d;position:absolute;inset:-50%}@keyframes noiseShift-2374771d{0%,to{transform:translate(0)}50%{transform:translate(-1%,1.5%)}}.navbar[data-v-2374771d]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);background:#fafbfca6;border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex;position:fixed;top:0;left:0}.nav-logo[data-v-2374771d]{letter-spacing:-.03em;cursor:pointer;color:#1a1e26;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-2374771d]:hover{opacity:.7}.nav-links[data-v-2374771d]{color:#7a7f8e;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-2374771d]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-2374771d]:after{content:"";background:linear-gradient(90deg,#6a9bd8,#6ab89a);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-2374771d]:hover{color:#1a1e26}.nav-links span[data-v-2374771d]:hover:after{width:100%;left:0}.nav-links span.active[data-v-2374771d]{color:#1a1e26;font-weight:600}.nav-links span.active[data-v-2374771d]:after{width:100%;left:0}.nav-contact[data-v-2374771d]{color:#1a1e26;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-2374771d]:hover{color:#3a8a6a;background:#eef6f2;border-color:#6ab89a73}.nav-contact[data-v-2374771d]:after{display:none}.resources-container[data-v-2374771d]{z-index:10;max-width:1080px;margin:0 auto;padding:140px 44px 120px;position:relative}.header-section[data-v-2374771d]{border-bottom:1px solid #0000001a;margin-bottom:36px;padding-bottom:36px}.title-wrap[data-v-2374771d]{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.main-title[data-v-2374771d]{letter-spacing:-.04em;color:#1a1e26;text-transform:uppercase;margin:0;font-family:JetBrains Mono,Courier New,monospace;font-size:clamp(48px,7.5vw,88px);font-weight:700;line-height:.95}.year-label[data-v-2374771d]{letter-spacing:.1em;color:#8a90a0;text-transform:uppercase;white-space:nowrap;padding-bottom:10px;font-family:JetBrains Mono,Courier New,monospace;font-size:12px;font-weight:600}.header-bottom[data-v-2374771d]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.subtitle[data-v-2374771d]{color:#5e6470;max-width:480px;margin:0;font-size:15px;line-height:1.75}.add-btn[data-v-2374771d]{color:#3a7a9a;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #3a7a9a59;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex;position:relative;box-shadow:0 2px 10px #3a7a9a14}.add-btn[data-v-2374771d]:hover{background:#eef6f8;border-color:#3a7a9a;transform:translateY(-1px);box-shadow:0 10px 24px -8px #3a7a9a59}.add-btn .plus[data-v-2374771d]{font-size:17px;line-height:1;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.add-btn:hover .plus[data-v-2374771d]{transform:rotate(90deg)}.filter-bar[data-v-2374771d]{margin-bottom:40px}.filter-tabs[data-v-2374771d]{background:#fff;border:1px solid #00000012;border-radius:999px;flex-wrap:wrap;gap:4px;padding:5px;display:inline-flex;box-shadow:0 2px 10px #00000008}.filter-tab[data-v-2374771d]{color:#7a7f8e;cursor:pointer;letter-spacing:.01em;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:8px 20px;font-size:13px;font-weight:600;transition:color .25s,background .25s,box-shadow .25s;position:relative}.filter-tab em[data-v-2374771d]{color:#a0a5b0;margin-left:4px;font-family:JetBrains Mono,monospace;font-style:normal;font-weight:500}.filter-tab[data-v-2374771d]:hover{color:#1a1e26}.filter-tab.active[data-v-2374771d]{color:#fff;background:linear-gradient(120deg,#5a8fd0,#3a7a9a);box-shadow:0 4px 14px -4px #3a7a9a73}.filter-tab.active em[data-v-2374771d]{color:#ffffffb3}.state-box[data-v-2374771d]{text-align:center;color:#8a90a0;padding:100px 20px;font-size:15px}.state-box .err[data-v-2374771d]{color:#c33;margin-bottom:16px}.loader[data-v-2374771d]{border:3px solid #e5e7ec;border-top-color:#5a8fd0;border-radius:50%;width:26px;height:26px;margin:0 auto 16px;animation:.8s linear infinite spin-2374771d}@keyframes spin-2374771d{to{transform:rotate(360deg)}}.empty-box[data-v-2374771d]{text-align:center;background:#fff;border:1.5px dashed #ddd;border-radius:20px;padding:100px 20px}.empty-icon[data-v-2374771d]{margin-bottom:14px;font-size:44px}.empty-box h3[data-v-2374771d]{margin:0 0 8px;font-size:19px;font-weight:800}.empty-box p[data-v-2374771d]{color:#8a90a0;margin:0;font-size:14px}.empty-box code[data-v-2374771d]{color:#3a7a9a;background:#eef2f0;border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:13px}.file-list[data-v-2374771d]{position:relative}.list-head[data-v-2374771d]{color:#8a90a0;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #00000014;grid-template-columns:1fr 120px 180px 200px;gap:20px;padding:0 20px 14px;font-family:JetBrains Mono,monospace;font-size:11.5px;font-weight:600;display:grid}.file-row[data-v-2374771d]{cursor:pointer;opacity:0;animation:.55s cubic-bezier(.22,1,.36,1) forwards rowIn-2374771d;animation-delay:var(--delay,0s);border-radius:14px;grid-template-columns:1fr 120px 180px 200px;align-items:center;gap:20px;margin-top:4px;padding:16px 20px;transition:background .3s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;display:grid;transform:translateY(10px)}@keyframes rowIn-2374771d{to{opacity:1;transform:translateY(0)}}.file-row[data-v-2374771d]:hover{background:#fff;transform:translate(6px);box-shadow:0 12px 30px -16px #283c502e}.col-name[data-v-2374771d]{align-items:center;gap:14px;min-width:0;display:flex}.file-icon[data-v-2374771d]{background:#f0f2f5;border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);display:flex}.file-row:hover .file-icon[data-v-2374771d]{transform:rotate(-6deg)scale(1.05)}.icon-zip[data-v-2374771d]{background:#fdf2dc}.icon-img[data-v-2374771d]{background:#e5f4ec}.icon-pdf[data-v-2374771d]{background:#fbe5e2}.icon-doc[data-v-2374771d]{background:#e6edfa}.icon-xls[data-v-2374771d]{background:#e7f6e7}.icon-ppt[data-v-2374771d]{background:#f8e7e0}.icon-default[data-v-2374771d]{background:#f0f2f5}.file-text[data-v-2374771d]{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.file-name[data-v-2374771d]{color:#1a1e26;word-break:break-all;letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;transition:color .25s}.file-row:hover .file-name[data-v-2374771d]{color:#3a7a9a}.file-ext[data-v-2374771d]{color:#6a7080;letter-spacing:.04em;border:1px solid #0000001a;border-radius:4px;padding:1px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.col-size[data-v-2374771d],.col-time[data-v-2374771d]{color:#6a7080;font-family:JetBrains Mono,monospace;font-size:13px}.col-action[data-v-2374771d]{justify-content:flex-end;display:flex}.download-btn[data-v-2374771d]{color:#3a7a9a;cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:#fff;border:1px solid #3a7a9a4d;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .25s;display:inline-flex}.download-btn[data-v-2374771d]:hover{color:#1f5a76;background:#eef6f8;border-color:#3a7a9a;transform:translateY(-1px);box-shadow:0 6px 16px -6px #3a7a9a59}.timeline-end[data-v-2374771d]{flex-direction:column;align-items:center;margin-top:40px;display:flex;position:relative}.end-line[data-v-2374771d]{background:#d8dce4;width:2px;height:30px}.end-text[data-v-2374771d]{letter-spacing:.2em;color:#a0a5b0;background:#f6f7f9;margin-top:4px;padding:6px 14px;font-family:JetBrains Mono,monospace;font-size:11px}.modal-overlay[data-v-2374771d]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#16141259;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content[data-v-2374771d]{background:#fff;border:1px solid #0000000f;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 30px 80px -20px #50321e40}.modal-head[data-v-2374771d]{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:14px;display:flex}.modal-head h3[data-v-2374771d]{letter-spacing:-.01em;color:#1a1e26;margin:0;font-size:21px;font-weight:800}.dropzone[data-v-2374771d]{text-align:center;cursor:pointer;background:#f8f9fa;border:1.5px dashed #0000001f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:150px;padding:34px 20px;transition:all .25s;display:flex;position:relative;overflow:hidden}.dropzone[data-v-2374771d]:hover{background:#eef6f8;border-color:#3a7a9a99}.dropzone.has-file[data-v-2374771d]{border-style:solid;border-color:#00000014;padding:20px}.dropzone.dragging[data-v-2374771d]{background:#eef6f8;border-color:#3a7a9a;box-shadow:inset 0 0 24px #3a7a9a1a}.dz-icon[data-v-2374771d]{color:#a8a8ae;margin-bottom:8px;font-size:26px}.dz-title[data-v-2374771d]{color:#3a3a40;margin:0 0 4px;font-size:14px;font-weight:600}.dz-sub[data-v-2374771d]{color:#a8a8ae;margin:0;font-size:12px}.hidden-input[data-v-2374771d]{display:none}.dz-file-info[data-v-2374771d]{background:#fff;border:1px solid #0000000d;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 18px;display:flex}.file-icon-large[data-v-2374771d]{font-size:24px}.file-name-large[data-v-2374771d]{color:#1a1e26;word-break:break-all;text-align:left;font-size:14px;font-weight:600}.modal-actions[data-v-2374771d]{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.ghost-btn[data-v-2374771d]{color:#5e6470;cursor:pointer;background:0 0;border:1.5px solid #00000026;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:500;transition:all .2s}.ghost-btn[data-v-2374771d]:hover{color:#fff;background:#1a1e26;border-color:#1a1e26}.primary-btn[data-v-2374771d]{color:#fff;cursor:pointer;background:linear-gradient(120deg,#5a8fd0,#3a7a9a);border:none;border-radius:999px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 6px 20px -6px #3a7a9a80}.primary-btn[data-v-2374771d]:hover{transform:translateY(-1px);box-shadow:0 10px 26px -6px #3a7a9a99}.primary-btn[data-v-2374771d]:disabled{opacity:.4;cursor:not-allowed;transform:none}.icon-btn[data-v-2374771d]{color:#8a8a90;cursor:pointer;background:0 0;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;transition:all .2s}.icon-btn[data-v-2374771d]:hover{color:#1a1a1a;background:#f0eee9}@media (width<=900px){.navbar[data-v-2374771d]{padding:0 20px}.nav-links[data-v-2374771d]{display:none}.resources-container[data-v-2374771d]{padding:110px 20px 80px}.title-wrap[data-v-2374771d]{flex-direction:column;align-items:flex-start;gap:10px}.main-title[data-v-2374771d]{letter-spacing:-2px}.list-head[data-v-2374771d]{display:none}.file-row[data-v-2374771d]{background:#fff;border:1px solid #0000000f;grid-template-columns:1fr;gap:12px;padding:16px 14px}.col-size[data-v-2374771d]:before{content:"大小：";color:#a0a5b0}.col-time[data-v-2374771d]:before{content:"时间：";color:#a0a5b0}.col-action[data-v-2374771d]{flex-wrap:wrap;justify-content:flex-start}.download-btn[data-v-2374771d]{justify-content:center;width:100%;margin-top:8px;padding:10px;margin-left:0!important}.filter-tab[data-v-2374771d]{padding:7px 14px;font-size:12px}.modal-content[data-v-2374771d]{padding:24px 20px}}@media (width<=480px){.main-title[data-v-2374771d]{font-size:42px}.filter-tabs[data-v-2374771d]{justify-content:flex-start;width:100%}}@media (prefers-reduced-motion:reduce){.bg-orb[data-v-2374771d],.bg-noise[data-v-2374771d]{animation:none!important}.file-row[data-v-2374771d]{opacity:1;animation:none;transform:none}}.modal-enter-active[data-v-2374771d],.modal-leave-active[data-v-2374771d]{transition:opacity .28s}.modal-enter-active .modal-content[data-v-2374771d],.modal-leave-active .modal-content[data-v-2374771d]{transition:opacity .28s,transform .32s cubic-bezier(.22,1,.36,1)}.modal-enter-from[data-v-2374771d],.modal-leave-to[data-v-2374771d]{opacity:0}.modal-enter-from .modal-content[data-v-2374771d],.modal-leave-to .modal-content[data-v-2374771d]{opacity:0;transform:translateY(16px)scale(.97)}[data-v-cd654ef3]{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body[data-v-cd654ef3]{background:#fff}.app-container[data-v-cd654ef3]{color:#1e293b;background-color:#fff;flex-direction:column;height:100vh;display:flex;overflow:hidden}.navbar[data-v-cd654ef3]{z-index:999;-webkit-backdrop-filter:blur(16px)saturate(160%);backdrop-filter:blur(16px)saturate(160%);background:#fafbfca6;border-bottom:1px solid #0000000d;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;height:68px;padding:0 44px;display:flex}.nav-logo[data-v-cd654ef3]{letter-spacing:-.03em;cursor:pointer;color:#1a1e26;font-size:20px;font-weight:800;transition:opacity .2s}.nav-logo[data-v-cd654ef3]:hover{opacity:.7}.nav-links[data-v-cd654ef3]{color:#7a7f8e;gap:26px;font-size:14px;font-weight:500;display:flex}.nav-links span[data-v-cd654ef3]{cursor:pointer;padding:4px 0;transition:color .25s;position:relative}.nav-links span[data-v-cd654ef3]:after{content:"";background:linear-gradient(90deg,#6a9bd8,#6ab89a);border-radius:2px;width:0;height:1.5px;transition:width .3s,left .3s;position:absolute;bottom:-2px;left:50%}.nav-links span[data-v-cd654ef3]:hover{color:#1a1e26}.nav-links span[data-v-cd654ef3]:hover:after{width:100%;left:0}.nav-links span.active[data-v-cd654ef3]{color:#1a1e26;font-weight:600}.nav-links span.active[data-v-cd654ef3]:after{width:100%;left:0}.nav-contact[data-v-cd654ef3]{color:#1a1e26;background:#fff;border:1px solid #0000001a;border-radius:999px;transition:all .25s;padding:6px 16px!important}.nav-contact[data-v-cd654ef3]:hover{color:#3a8a6a;background:#eef6f2;border-color:#6ab89a73}.nav-contact[data-v-cd654ef3]:after{display:none}.main-content[data-v-cd654ef3]{flex-direction:column;flex:1;width:100%;max-width:1600px;margin:0 auto;padding:20px 40px;display:flex;overflow:hidden}.top-toolbar[data-v-cd654ef3]{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.toolbar-left[data-v-cd654ef3]{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.toolbar-right[data-v-cd654ef3]{align-items:center;display:flex}.sub-tabs[data-v-cd654ef3]{gap:8px;display:flex}.sub-tab-btn[data-v-cd654ef3]{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding:7px 18px;font-size:14px;font-weight:500;transition:all .2s}.sub-tab-btn[data-v-cd654ef3]:hover{color:#0f172a;background:#f8fafc;transform:translateY(-1px)}.sub-tab-btn[data-v-cd654ef3]:active{transform:translateY(1px)}.sub-tab-btn.active[data-v-cd654ef3]{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0;font-weight:600;box-shadow:0 1px 3px #00000005}.list-actions-inline[data-v-cd654ef3]{border-left:1px solid #e2e8f0;align-items:center;gap:16px;padding-left:20px;display:flex}.jump-box[data-v-cd654ef3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;padding:2px 8px;transition:border-color .2s;display:flex}.jump-box[data-v-cd654ef3]:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px #3b82f61a}.jump-label[data-v-cd654ef3]{color:#64748b;font-size:13px}.jump-box input[data-v-cd654ef3]{color:#0f172a;text-align:center;background:0 0;border:none;outline:none;width:50px;font-family:monospace;font-size:14px}.jump-box input[data-v-cd654ef3]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.jump-box input[data-v-cd654ef3]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.action-text-btn[data-v-cd654ef3]{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:14px;transition:all .2s}.action-text-btn[data-v-cd654ef3]:hover{color:#0f172a;background:#f1f5f9}.action-text-btn[data-v-cd654ef3]:active{transform:scale(.96)}.bookmark-toggle[data-v-cd654ef3]{align-items:center;gap:4px;display:flex}.bookmark-toggle.active[data-v-cd654ef3]{color:#d97706;background:#fffbeb;font-weight:600}.bookmark-count[data-v-cd654ef3]{color:#fff;background:#f59e0b;border-radius:10px;padding:1px 5px;font-family:monospace;font-size:11px}.category-filter[data-v-cd654ef3]{align-items:center;gap:6px;display:flex}.encouragement-text[data-v-cd654ef3]{color:#10b981;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;padding:4px 12px;font-size:13px;font-weight:500;display:flex;box-shadow:0 1px 2px #10b9810d}.fade-text-enter-active[data-v-cd654ef3],.fade-text-leave-active[data-v-cd654ef3]{transition:opacity .25s,transform .25s}.fade-text-enter-from[data-v-cd654ef3],.fade-text-leave-to[data-v-cd654ef3]{opacity:0;transform:translateY(-4px)}.voice-setting[data-v-cd654ef3]{align-items:center;gap:8px;display:flex}.voice-label[data-v-cd654ef3]{color:#64748b;font-size:13px;font-weight:500}.voice-select[data-v-cd654ef3]{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;outline:none;max-width:200px;padding:6px 12px;font-size:13px;transition:all .2s}.voice-select[data-v-cd654ef3]:hover{background:#fff;border-color:#cbd5e1}.voice-select[data-v-cd654ef3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.tab-pane[data-v-cd654ef3]{flex-direction:column;height:100%;animation:.3s ease-out pane-fade-in-cd654ef3;display:flex;overflow:hidden}@keyframes pane-fade-in-cd654ef3{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.loading-state[data-v-cd654ef3],.error-state[data-v-cd654ef3]{color:#64748b;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 0;display:flex}.error-state[data-v-cd654ef3]{color:#ef4444}.loader[data-v-cd654ef3]{border:3px solid #e5e2da;border-top-color:#3b82f6;border-radius:50%;width:26px;height:26px;margin:0 auto 16px;animation:.8s linear infinite spin-cd654ef3}@keyframes spin-cd654ef3{to{transform:rotate(360deg)}}.list-pane.flex-row-layout[data-v-cd654ef3]{flex-direction:row;gap:20px;height:100%;display:flex;overflow:hidden}.left-table-section[data-v-cd654ef3]{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.list-container[data-v-cd654ef3]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;width:100%;transition:box-shadow .2s;position:relative;overflow:hidden}.list-container[data-v-cd654ef3]:hover{box-shadow:0 4px 12px #00000005}.no-scrollbar[data-v-cd654ef3]{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar[data-v-cd654ef3]::-webkit-scrollbar{width:0;height:0;display:none}.table-wrapper[data-v-cd654ef3]{flex-direction:column;width:100%;min-width:0;height:100%;display:flex}.table-header[data-v-cd654ef3],.table-row[data-v-cd654ef3]{align-items:center;width:100%;padding:0 12px;display:flex}.col-index[data-v-cd654ef3]{flex-shrink:0;justify-content:center;width:42px;display:flex}.col-word[data-v-cd654ef3]{flex-shrink:0;align-items:center;width:130px;min-width:0;padding-right:4px;display:flex}.col-phonetic[data-v-cd654ef3]{color:#475569;flex-shrink:0;justify-content:center;width:100px;min-width:0;padding-right:4px;font-family:Lucida Sans Unicode,sans-serif;display:flex}.col-pos[data-v-cd654ef3]{color:#64748b;flex-shrink:0;justify-content:center;width:62px;font-weight:500;display:flex}.col-meaning[data-v-cd654ef3]{color:#0f172a;flex-shrink:0;align-items:center;width:120px;min-width:0;padding-right:12px;font-weight:500;display:flex}.col-mnemonic[data-v-cd654ef3]{color:#64748b;flex:1;align-items:center;min-width:110px;padding-right:12px;display:flex}.col-example[data-v-cd654ef3]{color:#334155;flex:1.2;align-items:center;min-width:150px;padding-right:12px;font-weight:500;display:flex}.col-translation[data-v-cd654ef3]{color:#94a3b8;flex:1;align-items:center;min-width:110px;padding-right:12px;display:flex}.col-category[data-v-cd654ef3]{flex-shrink:0;justify-content:center;align-items:center;width:120px;display:flex}.col-action[data-v-cd654ef3]{flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:54px;display:flex}.category-tags[data-v-cd654ef3]{flex-wrap:wrap;gap:2px}.category-tags .word-category[data-v-cd654ef3]{padding:1px 6px;font-size:10.5px}.table-header[data-v-cd654ef3]{color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0;flex-shrink:0;height:50px;font-size:13.5px;font-weight:600}.table-header>div[data-v-cd654ef3]{transition:color .2s}.table-header>div[data-v-cd654ef3]:hover{color:#0f172a}.table-header .col-index[data-v-cd654ef3],.table-header .col-word[data-v-cd654ef3],.table-header .col-phonetic[data-v-cd654ef3],.table-header .col-pos[data-v-cd654ef3],.table-header .col-meaning[data-v-cd654ef3],.table-header .col-mnemonic[data-v-cd654ef3],.table-header .col-example[data-v-cd654ef3],.table-header .col-translation[data-v-cd654ef3],.table-header .col-category[data-v-cd654ef3],.table-header .col-action[data-v-cd654ef3]{text-align:center;justify-content:center;padding-right:0}.table-body[data-v-cd654ef3]{scroll-behavior:smooth;flex:1;overflow:hidden auto}.table-row[data-v-cd654ef3]{border-bottom:1px solid #f1f5f9;height:64px;transition:background .2s,transform .2s}.table-row[data-v-cd654ef3]:last-child{border-bottom:none}.table-row[data-v-cd654ef3]:hover{background:#fafbfc}.sticky-right[data-v-cd654ef3]{z-index:10;background:#fff;transition:background .2s;position:sticky;right:0;box-shadow:-4px 0 10px -5px #00000014}.table-row:hover .sticky-right[data-v-cd654ef3]{background:#fafbfc}.table-header.sticky-right[data-v-cd654ef3]{background:#f8fafc}.index-text[data-v-cd654ef3]{color:#94a3b8;font-family:monospace;font-size:14px;font-weight:600;transition:color .2s}.table-row:hover .index-text[data-v-cd654ef3]{color:#64748b}.word-text[data-v-cd654ef3]{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.audio-btn[data-v-cd654ef3]{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:4px;transition:all .2s;display:flex}.audio-btn[data-v-cd654ef3]:hover{color:#3b82f6;background:#eff6ff;transform:scale(1.1)}.audio-btn[data-v-cd654ef3]:active{transform:scale(.9)}.audio-btn.large[data-v-cd654ef3]{color:#64748b;padding:8px}.audio-btn.large[data-v-cd654ef3]:hover{color:#0f172a;background:#e2e8f0}.word-phonetic[data-v-cd654ef3],.word-pos[data-v-cd654ef3],.meaning-text[data-v-cd654ef3],.text-muted[data-v-cd654ef3],.ex-en[data-v-cd654ef3],.ex-zh[data-v-cd654ef3]{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:14px;line-height:1.5;display:block;overflow:hidden}.word-phonetic-lg[data-v-cd654ef3]{color:#64748b;font-family:Lucida Sans Unicode,Segoe UI,sans-serif;font-size:20px;font-weight:400}.word-category[data-v-cd654ef3]{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.cat-cet4[data-v-cd654ef3]{color:#0369a1;background:#e0f2fe}.cat-cet6[data-v-cd654ef3]{color:#6d28d9;background:#ede9fe}.cat-kaoyan[data-v-cd654ef3]{color:#b45309;background:#fef3c7}.cat-普通[data-v-cd654ef3]{color:#475569;background:#f1f5f9}.col-meaning[data-v-cd654ef3]{cursor:pointer;transition:opacity .2s}.col-meaning[data-v-cd654ef3]:active{opacity:.7}.meaning-container[data-v-cd654ef3]{border-radius:4px;align-items:center;width:100%;height:28px;display:flex;position:relative;overflow:hidden}.meaning-text[data-v-cd654ef3]{z-index:1;transition:opacity .3s}.meaning-text.is-hidden[data-v-cd654ef3]{opacity:0}.frosted-glass[data-v-cd654ef3]{-webkit-backdrop-filter:blur(4px);z-index:2;background:#f1f5f999;transition:all .2s;position:absolute;inset:0}.col-meaning:hover .frosted-glass[data-v-cd654ef3]{background:#e2e8f0cc}.icon-btn[data-v-cd654ef3]{cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.bookmark-btn[data-v-cd654ef3]{color:#cbd5e1;opacity:0}.table-row:hover .bookmark-btn[data-v-cd654ef3]{opacity:1}.bookmark-btn[data-v-cd654ef3]:hover{color:#f59e0b;background:#fffbeb;transform:scale(1.1)}.bookmark-btn[data-v-cd654ef3]:active{transform:scale(.9)}.bookmark-btn.is-active[data-v-cd654ef3]{opacity:1;color:#f59e0b}.bookmark-btn.is-active svg[data-v-cd654ef3]{fill:#f59e0b}.bookmark-btn.pop svg[data-v-cd654ef3]{animation:.3s cubic-bezier(.175,.885,.32,1.275) bookmark-pop-cd654ef3}@keyframes bookmark-pop-cd654ef3{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.right-game-section[data-v-cd654ef3]{flex-direction:column;flex-shrink:0;gap:16px;width:300px;height:100%;padding-right:4px;display:flex;overflow-y:auto}.game-card[data-v-cd654ef3]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;flex-shrink:0;transition:box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 20px #00000005}.game-card[data-v-cd654ef3]:hover{box-shadow:0 6px 24px #0000000a}.game-header[data-v-cd654ef3]{background:#f8fafc;border-bottom:1px solid #f1f5f9;padding:12px 14px}.game-header h3[data-v-cd654ef3]{color:#0f172a;margin-bottom:4px;font-size:14px;font-weight:700}.game-header p[data-v-cd654ef3]{color:#64748b;font-size:11px;line-height:1.4}.game-board[data-v-cd654ef3]{flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.game-col[data-v-cd654ef3]{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.game-item[data-v-cd654ef3]{color:#1e293b;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;word-break:break-all;background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:6px 4px;font-size:12px;line-height:1.2;transition:all .2s;display:flex}.en-item[data-v-cd654ef3]{justify-content:flex-start;padding-left:8px;font-family:Segoe UI,sans-serif;font-weight:600}.zh-item[data-v-cd654ef3]{justify-content:flex-end;padding-right:8px}.game-item[data-v-cd654ef3]:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.game-item[data-v-cd654ef3]:active{transform:translateY(1px)}.game-item.is-selected[data-v-cd654ef3]{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.game-item.is-error[data-v-cd654ef3]{color:#b91c1c;background:#fef2f2;border-color:#ef4444;animation:.4s ease-in-out shake-cd654ef3}@keyframes shake-cd654ef3{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.game-item.is-matched[data-v-cd654ef3]{color:#166534;cursor:default;opacity:.4;pointer-events:none;background:#f0fdf4;border-color:#bbf7d0}.game-footer[data-v-cd654ef3]{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;display:flex}.progress-text[data-v-cd654ef3]{color:#64748b;white-space:nowrap;font-size:11px;font-weight:500}.win-text[data-v-cd654ef3]{color:#10b981;white-space:nowrap;font-size:11.5px;font-weight:600}.game-footer .btn-dark.sm[data-v-cd654ef3]{white-space:nowrap;padding:5px 10px;font-size:12px}.sudoku-card[data-v-cd654ef3]{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-shrink:0;padding:12px}.sudoku-header[data-v-cd654ef3]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sudoku-header h3[data-v-cd654ef3]{color:#0f172a;font-size:13px;font-weight:700}.sudoku-status[data-v-cd654ef3]{color:#64748b;font-size:11px}.sudoku-grid[data-v-cd654ef3]{background:#cbd5e1;border-radius:6px;grid-template-columns:repeat(10,1fr);gap:1px;margin-bottom:8px;padding:1px;display:grid}.sudoku-cell[data-v-cd654ef3]{aspect-ratio:1;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:600;line-height:1;transition:background .1s;display:flex;overflow:hidden}.sudoku-cell.given[data-v-cd654ef3]{color:#1e293b;cursor:default;background:#f1f5f9;font-weight:700}.sudoku-cell.editable[data-v-cd654ef3]{color:#3b82f6;background:#fff}.sudoku-cell.selected[data-v-cd654ef3]{background:#eff6ff;outline:1.5px solid #3b82f6}.sudoku-cell.error[data-v-cd654ef3]{color:#b91c1c;background:#fee2e2}.sudoku-footer[data-v-cd654ef3]{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;display:flex}.sudoku-buttons button[data-v-cd654ef3]{cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;margin-left:4px;padding:3px 8px;font-size:11px;transition:background .15s}.sudoku-buttons button[data-v-cd654ef3]:hover{background:#e2e8f0}.sudoku-numpad[data-v-cd654ef3]{flex-wrap:wrap;gap:3px;display:flex}.numpad-btn[data-v-cd654ef3]{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:5px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;transition:all .1s;display:flex}.numpad-btn[data-v-cd654ef3]:hover{background:#f1f5f9;border-color:#94a3b8}.vocab-pane[data-v-cd654ef3]{scrollbar-width:none;-ms-overflow-style:none;overflow-y:auto}.vocab-pane[data-v-cd654ef3]::-webkit-scrollbar{display:none}.vocab-layout[data-v-cd654ef3]{align-items:flex-start;gap:40px;display:flex}.vocab-wrapper[data-v-cd654ef3]{flex:1;max-width:720px}.vocab-top-bar[data-v-cd654ef3]{border-bottom:1px solid #f8fafc;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.vocab-stats[data-v-cd654ef3]{color:#64748b;flex-wrap:wrap;align-items:center;gap:12px;font-size:15px;display:flex}.vocab-stats strong[data-v-cd654ef3]{color:#0f172a;font-weight:600}.stat-correct[data-v-cd654ef3]{color:#10b981;font-weight:600}.stat-wrong[data-v-cd654ef3]{color:#ef4444;font-weight:600}.divider[data-v-cd654ef3]{color:#e2e8f0}.difficulty-tag[data-v-cd654ef3]{border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.diff-普通[data-v-cd654ef3]{color:#475569;background:#f1f5f9}.diff-cet4[data-v-cd654ef3]{color:#0369a1;background:#e0f2fe}.diff-cet6[data-v-cd654ef3]{color:#6d28d9;background:#ede9fe}.diff-kaoyan[data-v-cd654ef3]{color:#b45309;background:#fef3c7}.start-state[data-v-cd654ef3]{text-align:left;padding:40px 0}.start-state p[data-v-cd654ef3]{color:#475569;margin-bottom:24px;font-size:16px}.btn-dark[data-v-cd654ef3]{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:6px;padding:10px 24px;font-size:15px;font-weight:500;transition:background .2s,transform .2s}.btn-dark[data-v-cd654ef3]:hover{background:#1e293b;transform:translateY(-1px)}.btn-dark[data-v-cd654ef3]:active{transform:translateY(1px)}.btn-dark.sm[data-v-cd654ef3]{padding:8px 16px;font-size:14px}.word-header-area[data-v-cd654ef3]{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:16px;margin-bottom:32px;padding:8px 0;display:flex}.word-text-large[data-v-cd654ef3]{color:#0f172a;letter-spacing:-.5px;font-size:36px;font-weight:700;line-height:1.4}.options-list[data-v-cd654ef3]{background:#f8fafc;border-radius:8px;flex-direction:column;gap:1px;margin-bottom:24px;display:flex;overflow:hidden}.option-row[data-v-cd654ef3]{text-align:left;cursor:pointer;background:#fff;border:1px solid #f1f5f9;align-items:center;padding:18px 24px;transition:all .15s;display:flex}.option-row[data-v-cd654ef3]:hover:not(.is-disabled){background:#f8fafc;transform:translate(4px)}.option-row[data-v-cd654ef3]:active:not(.is-disabled){transform:translate(2px)}.opt-letter[data-v-cd654ef3]{color:#94a3b8;width:24px;margin-right:16px;font-size:16px;font-weight:600}.opt-text[data-v-cd654ef3]{color:#1e293b;flex:1;font-size:16px;font-weight:500}.status-icon[data-v-cd654ef3]{color:#10b981;font-size:16px;font-weight:700}.status-icon.error[data-v-cd654ef3]{color:#ef4444}.option-row.is-correct[data-v-cd654ef3]{background:#f0fdf4;border-color:#bbf7d0}.option-row.is-correct .opt-text[data-v-cd654ef3]{color:#166534}.option-row.is-correct .opt-letter[data-v-cd654ef3]{color:#16a34a}.option-row.is-wrong[data-v-cd654ef3]{background:#fef2f2;border-color:#fecaca}.option-row.is-wrong .opt-text[data-v-cd654ef3]{color:#991b1b}.option-row.is-wrong .opt-letter[data-v-cd654ef3]{color:#dc2626}.option-row.is-disabled[data-v-cd654ef3]{cursor:default;opacity:.6}.option-row.is-correct.is-disabled[data-v-cd654ef3],.option-row.is-wrong.is-disabled[data-v-cd654ef3]{opacity:1}.feedback-row[data-v-cd654ef3]{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding-top:16px;font-size:15px;font-weight:500;display:flex}.text-success[data-v-cd654ef3]{color:#10b981}.text-error[data-v-cd654ef3]{color:#ef4444}.vocab-prediction[data-v-cd654ef3]{border-top:1px solid #f1f5f9;margin-top:40px;padding-top:24px}.prediction-title[data-v-cd654ef3]{color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:20px;font-size:14px;font-weight:600}.prediction-row[data-v-cd654ef3]{gap:40px;display:flex}.pred-item[data-v-cd654ef3]{flex-direction:column;gap:4px;display:flex}.pred-label[data-v-cd654ef3]{color:#64748b;font-size:14px}.pred-value[data-v-cd654ef3]{color:#0f172a;font-size:26px;font-weight:700}.pred-value .unit[data-v-cd654ef3]{color:#94a3b8;font-size:14px;font-weight:400}.vocab-review-panel[data-v-cd654ef3]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;flex-shrink:0;width:300px;max-height:600px;display:flex;overflow:hidden}.review-header[data-v-cd654ef3]{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.review-header h4[data-v-cd654ef3]{color:#0f172a;font-size:15px;font-weight:700}.review-count[data-v-cd654ef3]{color:#64748b;font-size:13px}.review-list[data-v-cd654ef3]{flex-direction:column;flex:1;gap:4px;padding:8px;display:flex;overflow-y:auto}.review-item[data-v-cd654ef3]{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;transition:all .15s;display:flex}.review-item[data-v-cd654ef3]:hover{transform:translate(2px)}.review-correct[data-v-cd654ef3]{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.review-wrong[data-v-cd654ef3]{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.review-word[data-v-cd654ef3]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.review-mark[data-v-cd654ef3]{margin-left:6px;font-weight:700}.review-empty[data-v-cd654ef3]{color:#94a3b8;text-align:center;padding:20px 0;font-size:13px}.word-detail-overlay[data-v-cd654ef3]{z-index:2000;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.word-detail-card[data-v-cd654ef3]{background:#fff;border-radius:16px;width:500px;max-width:90vw;max-height:80vh;padding:28px 32px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0003}.detail-close[data-v-cd654ef3]{cursor:pointer;color:#94a3b8;background:0 0;border:none;font-size:18px;position:absolute;top:14px;right:16px}.detail-close[data-v-cd654ef3]:hover{color:#0f172a}.detail-header[data-v-cd654ef3]{border-bottom:1px solid #f1f5f9;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:12px;display:flex}.detail-word[data-v-cd654ef3]{color:#0f172a;font-size:26px;font-weight:700}.detail-row[data-v-cd654ef3]{border-bottom:1px dashed #f1f5f9;gap:12px;padding:6px 0;font-size:14px;line-height:1.7;display:flex}.detail-label[data-v-cd654ef3]{color:#94a3b8;flex-shrink:0;width:50px;font-weight:600}.essay-pane[data-v-cd654ef3]{flex-direction:column;height:100%;display:flex;overflow:hidden}.essay-split-layout[data-v-cd654ef3]{align-items:stretch;gap:24px;height:100%;display:flex;overflow:hidden}.essay-left-col[data-v-cd654ef3]{scrollbar-width:thin;flex:1;min-width:0;padding-bottom:24px;overflow-y:auto}.essay-left-col[data-v-cd654ef3]::-webkit-scrollbar{width:6px}.essay-left-col[data-v-cd654ef3]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.essay-right-col[data-v-cd654ef3]{scrollbar-width:thin;flex-direction:column;flex-shrink:0;width:460px;display:flex;overflow-y:auto}.essay-right-col[data-v-cd654ef3]::-webkit-scrollbar{width:6px}.essay-right-col[data-v-cd654ef3]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.essay-card[data-v-cd654ef3]{background:#fff;border:1px solid #e9eef3;border-radius:16px;padding:28px 32px;transition:box-shadow .2s;box-shadow:0 4px 16px #00000005}.essay-card[data-v-cd654ef3]:hover{box-shadow:0 8px 28px #0000000a}.essay-header[data-v-cd654ef3]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.essay-title[data-v-cd654ef3]{color:#0f172a;letter-spacing:-.3px;align-items:center;gap:10px;font-size:22px;font-weight:700;display:flex}.essay-title .badge[data-v-cd654ef3]{color:#3a8a6a;letter-spacing:.2px;background:#eef6f2;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.copy-btn[data-v-cd654ef3]{color:#475569;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:7px 18px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.copy-btn[data-v-cd654ef3]:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.copy-btn[data-v-cd654ef3]:active{transform:scale(.97)}.essay-section[data-v-cd654ef3]{margin-bottom:24px}.essay-section[data-v-cd654ef3]:last-child{margin-bottom:0}.essay-section-label[data-v-cd654ef3]{color:#94a3b8;text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.essay-section-label[data-v-cd654ef3]:after{content:"";background:#f1f5f9;flex:1;height:1px}.essay-audio-btn[data-v-cd654ef3]{cursor:pointer;color:#94a3b8;text-transform:none;letter-spacing:0;background:0 0;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.essay-audio-btn[data-v-cd654ef3]:hover{color:#3b82f6;background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.essay-audio-btn[data-v-cd654ef3]:active{transform:translateY(1px)}.essay-audio-btn svg[data-v-cd654ef3]{flex-shrink:0}.essay-paragraph[data-v-cd654ef3]{color:#1e293b;letter-spacing:.2px;text-align:left;font-family:Georgia,Times New Roman,serif;font-size:15.5px;line-height:1.85}.essay-paragraph .placeholder[data-v-cd654ef3]{color:#b45309;background:#fef9e7;border-bottom:1.5px dashed #f59e0b;border-radius:4px;padding:0 4px;font-weight:600;transition:background .2s}.essay-paragraph .placeholder[data-v-cd654ef3]:hover{background:#fef3c7}.essay-paragraph.zh[data-v-cd654ef3]{color:#334155;text-align:left;background:#fafbfc;border-left:3px solid #94a3b8;border-radius:12px;padding:18px 22px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.9}.essay-paragraph.zh .placeholder[data-v-cd654ef3]{color:#3a8a6a;background:#eef6f2;border-bottom:1.5px dashed #6ab89a}.essay-note[data-v-cd654ef3]{color:#94a3b8;text-align:left;border-top:1px solid #f1f5f9;align-items:flex-start;gap:8px;margin-top:24px;padding-top:18px;font-size:13px;display:flex}.essay-note .icon[data-v-cd654ef3]{font-size:16px;line-height:1.4}.dictation-card[data-v-cd654ef3]{background:#fff;border:1px solid #e9eef3;border-radius:16px;flex-direction:column;gap:14px;padding:24px;display:flex;box-shadow:0 4px 16px #00000005}.dictation-header[data-v-cd654ef3]{justify-content:space-between;align-items:center;display:flex}.dictation-header h3[data-v-cd654ef3]{color:#0f172a;font-size:18px;font-weight:600}.dictation-textarea[data-v-cd654ef3]{resize:vertical;background:#fcfcfd;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;min-height:220px;padding:14px;font-family:Georgia,serif;font-size:14px;line-height:1.7;transition:border-color .2s,box-shadow .2s;overflow-y:hidden}.dictation-textarea[data-v-cd654ef3]:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dictation-actions[data-v-cd654ef3]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.report-card[data-v-cd654ef3]{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:12px;flex-direction:column;gap:14px;margin-top:6px;padding:18px;display:flex}.report-title[data-v-cd654ef3]{color:#0f172a;font-size:16px;font-weight:700}.report-stats[data-v-cd654ef3]{gap:10px;display:flex}.stat-box[data-v-cd654ef3]{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1;padding:12px 8px}.stat-num[data-v-cd654ef3]{color:#0f172a;font-size:22px;font-weight:800;line-height:1.2}.stat-name[data-v-cd654ef3]{color:#64748b;margin-top:4px;font-size:12px}.report-section[data-v-cd654ef3]{flex-direction:column;gap:6px;display:flex}.report-section-title[data-v-cd654ef3]{color:#475569;font-size:13px;font-weight:600}.diff-box[data-v-cd654ef3]{background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-height:200px;padding:12px;font-family:Georgia,serif;font-size:13.5px;line-height:1.9;overflow-y:auto}.diff-token[data-v-cd654ef3]{border-radius:3px;margin-right:4px;padding:0 2px;display:inline-block}.diff-matched[data-v-cd654ef3]{color:#166534}.diff-missing[data-v-cd654ef3]{color:#dc2626;background:#fee2e2;text-decoration:line-through}.missing-list[data-v-cd654ef3]{flex-wrap:wrap;gap:6px;display:flex}.missing-word[data-v-cd654ef3]{color:#b91c1c;background:#fee2e2;border-radius:999px;padding:2px 8px;font-family:Segoe UI,sans-serif;font-size:12.5px}.report-tip[data-v-cd654ef3]{color:#0f172a;background:#eff6ff;border-radius:8px;padding:8px 12px;font-size:13px}
