@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Noto+Sans+TC:wght@400;500;700&display=swap";.user-menu[data-v-2b500e2d]{position:relative;padding-bottom:8px;margin-bottom:-8px}.user-trigger[data-v-2b500e2d]{border:0;background:transparent;color:#fff;font-size:15px;opacity:.95;cursor:pointer;padding:0}.user-dropdown[data-v-2b500e2d]{position:absolute;right:0;top:calc(100% - 2px);min-width:132px;display:flex;flex-direction:column;border:1px solid rgba(221,191,152,.8);border-radius:10px;background:#fff9f0;box-shadow:0 12px 24px #22170c2e;overflow:hidden;z-index:20;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.user-menu:hover .user-dropdown[data-v-2b500e2d],.user-menu:focus-within .user-dropdown[data-v-2b500e2d]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.dropdown-item[data-v-2b500e2d]{border:0;background:transparent;color:#5c4128;font-size:13px;text-align:left;padding:9px 12px;cursor:pointer}.dropdown-item[data-v-2b500e2d]:hover,.dropdown-item[data-v-2b500e2d]:focus-visible{background:#f8e4c6;outline:none}.dropdown-logout[data-v-2b500e2d]{width:100%}.theme-toggle-btn[data-v-2b500e2d]{border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#ffffff1f;color:#fff;font-size:12px;font-weight:700;padding:6px 10px;cursor:pointer}.theme-toggle-btn[data-v-2b500e2d]:hover{background:#fff3}.locale-menu[data-v-2b500e2d]{position:relative}.locale-trigger[data-v-2b500e2d]{border:0;background:transparent;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;outline:none;cursor:pointer;padding:0}.locale-icon[data-v-2b500e2d]{width:20px;height:20px;object-fit:contain;display:block}.locale-trigger:hover .locale-icon[data-v-2b500e2d]{opacity:.9}.locale-trigger:focus-visible .locale-icon[data-v-2b500e2d],.locale-menu:hover .locale-icon[data-v-2b500e2d]{opacity:.9;transform:scale(1.06)}.locale-icon[data-v-2b500e2d]{transition:transform .14s ease,opacity .14s ease}.locale-dropdown[data-v-2b500e2d]{position:absolute;right:0;top:calc(100% + 8px);min-width:120px;border:1px solid rgba(221,191,152,.8);border-radius:10px;background:#fff9f0;box-shadow:0 10px 20px #22170c29;padding:6px;display:grid;gap:4px;z-index:30}.locale-option[data-v-2b500e2d]{border:0;border-radius:8px;background:transparent;color:#5c4128;font-size:12px;font-weight:600;text-align:left;padding:7px 9px;cursor:pointer}.locale-option[data-v-2b500e2d]:hover{background:#f8e4c6}.locale-option.is-active[data-v-2b500e2d]{background:#f3dbc0}.locale-fade-enter-active[data-v-2b500e2d],.locale-fade-leave-active[data-v-2b500e2d]{transition:opacity .18s ease,transform .18s ease}.locale-fade-enter-from[data-v-2b500e2d],.locale-fade-leave-to[data-v-2b500e2d]{opacity:0;transform:translateY(-4px)}.reference-link[data-v-0a66e8f5]{text-decoration:underline}.home-shell[data-v-1a36b59c]{display:grid;gap:16px}.home-hero[data-v-1a36b59c]{position:relative;overflow:hidden}.home-hero[data-v-1a36b59c]:after{content:"";position:absolute;right:-34px;top:-34px;width:156px;height:156px;border-radius:50%;background:radial-gradient(circle,#ff9e3a6b,#ff9e3a00);pointer-events:none}.hero-kicker[data-v-1a36b59c]{margin:0;color:#896447;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}.home-hero h1[data-v-1a36b59c],.contact-card h2[data-v-1a36b59c]{margin:6px 0 0}.home-hero p[data-v-1a36b59c]{color:#5d4e40;line-height:1.75}.hero-cta[data-v-1a36b59c]{margin-top:10px}.contact-card[data-v-1a36b59c]{display:grid;gap:12px}.contact-header[data-v-1a36b59c]{display:flex;justify-content:space-between;gap:12px;align-items:start}.contact-subtitle[data-v-1a36b59c]{margin:8px 0 0;color:#715f4d}.toggle-btn[data-v-1a36b59c],.copy-btn[data-v-1a36b59c]{border:1px solid #dfbf95;border-radius:999px;background:#fff8eb;color:#5b4025;font-weight:700;cursor:pointer}.toggle-btn[data-v-1a36b59c]{padding:8px 12px;font-size:12px}.contact-list[data-v-1a36b59c]{margin:0;padding:0;list-style:none;display:grid;gap:8px}.contact-item[data-v-1a36b59c]{border:1px solid #ecd9bf;border-radius:12px;background:#fffaf3;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;transition:border-color .16s ease,background-color .16s ease}.contact-item.is-dragging[data-v-1a36b59c]{opacity:.65}.contact-item.is-drop-target[data-v-1a36b59c]{border-color:#d7ae79;background:#fff5e7}.contact-icon[data-v-1a36b59c]{width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#ffe9c8,#ffd59d);color:#6f4a1e;font-weight:800;font-size:13px}.contact-info[data-v-1a36b59c]{display:grid;gap:2px}.contact-info strong[data-v-1a36b59c]{color:#3a2919}.contact-info span[data-v-1a36b59c]{color:#735f4b;font-size:13px}.copy-btn[data-v-1a36b59c]{padding:7px 12px;font-size:12px}.contact-actions[data-v-1a36b59c]{display:flex;gap:6px}.link-btn-mini[data-v-1a36b59c]{border:1px solid #dfbf95;border-radius:999px;background:#fff8eb;color:#5b4025;font-weight:700;cursor:pointer;padding:7px 12px;font-size:12px}.link-btn-mini[data-v-1a36b59c]:hover{background:#fff2dd}html[data-theme=dark] .contact-subtitle[data-v-1a36b59c],html[data-theme=dark] .contact-info span[data-v-1a36b59c]{color:var(--muted)}html[data-theme=dark] .contact-info strong[data-v-1a36b59c],html[data-theme=dark] .contact-card h2[data-v-1a36b59c]{color:var(--text)}html[data-theme=dark] .contact-item[data-v-1a36b59c],html[data-theme=dark] .toggle-btn[data-v-1a36b59c],html[data-theme=dark] .copy-btn[data-v-1a36b59c],html[data-theme=dark] .link-btn-mini[data-v-1a36b59c]{background:color-mix(in srgb,var(--surface) 94%,#000 6%);border-color:color-mix(in srgb,var(--border) 88%,#000 12%);color:var(--text)}html[data-theme=dark] .contact-item.is-drop-target[data-v-1a36b59c]{border-color:color-mix(in srgb,var(--accent) 50%,var(--border) 50%);background:color-mix(in srgb,var(--surface) 84%,var(--accent) 16%)}html[data-theme=dark] .contact-icon[data-v-1a36b59c]{background:color-mix(in srgb,var(--accent) 65%,#1b140f 35%);color:#f8eee2}html[data-theme=dark] .link-btn-mini[data-v-1a36b59c]:hover,html[data-theme=dark] .toggle-btn[data-v-1a36b59c]:hover,html[data-theme=dark] .copy-btn[data-v-1a36b59c]:hover{background:color-mix(in srgb,var(--surface) 82%,var(--accent) 18%)}.collapse-fade-enter-active[data-v-1a36b59c],.collapse-fade-leave-active[data-v-1a36b59c]{transition:opacity .22s ease,transform .22s ease,max-height .22s ease;overflow:hidden}.collapse-fade-enter-from[data-v-1a36b59c],.collapse-fade-leave-to[data-v-1a36b59c]{opacity:0;transform:translateY(-6px);max-height:0}.collapse-fade-enter-to[data-v-1a36b59c],.collapse-fade-leave-from[data-v-1a36b59c]{opacity:1;transform:translateY(0);max-height:400px}@media(max-width:768px){.contact-header[data-v-1a36b59c]{flex-direction:column;align-items:stretch}}.form-grid[data-v-7504a40e] input,.form-grid[data-v-7504a40e] button,.form-grid[data-v-7504a40e] a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.form-grid[data-v-7504a40e] input:hover{border-color:#d3b18a}.form-grid[data-v-7a015cef] input,.form-grid[data-v-7a015cef] button,.form-grid[data-v-7a015cef] a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.form-grid[data-v-7a015cef] input:hover{border-color:#d3b18a}.account-skeleton-card[data-v-f1da5d47]{margin-top:12px;border-radius:12px;padding:14px}.student-verify-card[data-v-f1da5d47]{background:#fffaf1bf;border:1px solid #efd5b0;border-radius:12px;padding:14px;transition:border-color .16s ease,background-color .16s ease}.student-verify-card[data-v-f1da5d47]:hover{border-color:#ddb587;background:#fff5e5cc}.select-input[data-v-f1da5d47]{height:40px;border-radius:10px;border:1px solid #efd4ae;padding:0 12px;outline:none;background:#fffefb;transition:border-color .16s ease,box-shadow .16s ease}.select-input[data-v-f1da5d47]:focus{border-color:#0e7c86;box-shadow:0 0 0 3px #0e7c861f}.email-linkage-row[data-v-f1da5d47],.email-editor-header[data-v-f1da5d47]{display:flex;align-items:center;justify-content:space-between;gap:10px}.email-toggle-btn[data-v-f1da5d47],.email-apply-btn[data-v-f1da5d47]{min-width:120px}.email-apply-btn[data-v-f1da5d47]:hover:not(:disabled){border-color:#d0a477}.hint.is-valid[data-v-f1da5d47]{color:#1f7a62}.hint.is-invalid[data-v-f1da5d47]{color:#b0473d}.profile-view-shell[data-v-e56461ae]{padding:24px}.profile-hero[data-v-e56461ae]{border:1px solid #e8d5bc;border-radius:16px;background:#fffaf4;padding:16px;display:flex;justify-content:space-between;gap:12px;align-items:start}.profile-kicker[data-v-e56461ae]{margin:0;color:#957457;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.profile-hero h1[data-v-e56461ae]{margin:4px 0 0;font-size:28px;color:#322317}.profile-subtitle[data-v-e56461ae]{margin:8px 0 0;color:#6f5f4f;font-size:14px}.refresh-btn[data-v-e56461ae]{border:1px solid #dfbe96;border-radius:999px;background:linear-gradient(180deg,#fff5e7,#f8e0bd);color:#5a4027;font-weight:700;padding:8px 14px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.refresh-btn[data-v-e56461ae]:hover:not(:disabled){border-color:#cea97f;background:#fff0db}.refresh-btn[data-v-e56461ae]:disabled{opacity:.6;cursor:not-allowed}.status-pill[data-v-e56461ae]{margin:12px 0 0;border:1px solid #e8d7bf;border-radius:12px;background:#fffcf7e6;color:#6c5948;min-height:38px;display:flex;align-items:center;padding:0 12px;font-size:13px}.profile-layout[data-v-e56461ae]{margin-top:14px;display:grid;gap:12px}.profile-card[data-v-e56461ae]{border:1px solid #ead9c1;border-radius:14px;background:#fffefa;padding:14px;transition:border-color .16s ease,background-color .16s ease}.profile-card[data-v-e56461ae]:hover{border-color:#dfc09d}.profile-skeleton-card[data-v-e56461ae]{min-height:180px}.profile-main[data-v-e56461ae]{display:grid;gap:8px}.profile-fields[data-v-e56461ae]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.section-title[data-v-e56461ae]{margin:0 0 4px;color:#3d2b1b;font-size:15px}.profile-row[data-v-e56461ae]{border:1px solid #efdfc9;border-radius:10px;background:#fff8ee;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;transition:background-color .16s ease,border-color .16s ease}.profile-row[data-v-e56461ae]:hover{border-color:#e2bf95;background:#fff2df}.label[data-v-e56461ae]{color:#7f6a54;font-size:13px}.value[data-v-e56461ae]{color:#352619;font-size:14px}.empty-state[data-v-e56461ae]{margin-top:14px;border:1px dashed #e8d6be;border-radius:12px;padding:14px;text-align:center;color:#856f58;background:#fffcf5cc}@media(max-width:900px){.profile-view-shell[data-v-e56461ae]{padding:18px}.profile-hero[data-v-e56461ae]{flex-direction:column}.profile-row[data-v-e56461ae]{flex-direction:column;align-items:flex-start}.profile-fields[data-v-e56461ae]{grid-template-columns:1fr}}.forum-shell[data-v-a93fd49f]{padding:26px}.forum-hero[data-v-a93fd49f]{display:flex;justify-content:space-between;gap:18px;border:1px solid #efd8b6;border-radius:18px;padding:18px;background:#fffaf3;box-shadow:none}.forum-kicker[data-v-a93fd49f]{margin:0 0 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9c7d5d;font-weight:700}h1[data-v-a93fd49f]{margin:0;font-size:32px;line-height:1.1;color:#34241a}.forum-lead[data-v-a93fd49f]{margin:8px 0 0;font-size:14px;color:#6d5f54}.hero-metrics[data-v-a93fd49f]{min-width:190px;display:grid;gap:10px}.hero-chip[data-v-a93fd49f]{border:1px solid #e7d1b4;border-radius:12px;padding:10px 12px;background:#fffef9}.hero-chip span[data-v-a93fd49f]{display:block;font-size:11px;color:#8f7d6d;margin-bottom:4px}.hero-chip strong[data-v-a93fd49f]{font-size:18px;color:#3e2a1d}.forum-toolbar[data-v-a93fd49f]{display:flex;align-items:center;gap:10px;margin:14px 0 6px}.refresh-btn[data-v-a93fd49f]{border:1px solid #e7c8a0;border-radius:999px;background:#fff8ef;color:#5d4229;font-size:13px;font-weight:700;padding:8px 14px;cursor:pointer;white-space:nowrap;box-shadow:none;transition:background-color .16s ease,border-color .16s ease}.refresh-btn[data-v-a93fd49f]:hover:not(:disabled){border-color:#d9ad78;background:#ffeed8}.refresh-btn[data-v-a93fd49f]:disabled{opacity:.65;cursor:not-allowed}.message-pill[data-v-a93fd49f]{margin:0;flex:1;min-height:38px;display:flex;align-items:center;border:1px solid #ead6bd;border-radius:12px;padding:0 12px;font-size:13px;color:#6c5946;background:#fffcf7e6}.message-pill.is-empty[data-v-a93fd49f]{color:#8c7a69}.campus-list[data-v-a93fd49f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.campus-card[data-v-a93fd49f]{border:1px solid #efdcc4;border-radius:16px;padding:18px;background:#fffdf9;box-shadow:none;transition:border-color .16s ease,background-color .16s ease}.campus-card[data-v-a93fd49f]:hover{border-color:#e2bf95;background:#fffaf2}.campus-card-header[data-v-a93fd49f]{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.campus-title[data-v-a93fd49f]{margin:0;font-size:22px;line-height:1.15;color:#2f1e12}.campus-meta[data-v-a93fd49f]{font-size:12px;color:#8d7864;letter-spacing:.04em;white-space:nowrap}.campus-description[data-v-a93fd49f]{margin:10px 0 14px;color:#5f5348;font-size:14px;min-height:20px}.campus-description.is-muted[data-v-a93fd49f]{color:#948474}.campus-stats[data-v-a93fd49f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.stat-item[data-v-a93fd49f]{border:1px solid #f1dfc7;border-radius:12px;background:#fffaf2;padding:10px 12px}.stat-item.post[data-v-a93fd49f]{background:#fffaf2}.stat-item.student[data-v-a93fd49f]{background:#fffef8}.stat-label[data-v-a93fd49f]{display:block;font-size:12px;color:#887462;margin-bottom:4px}.stat-value[data-v-a93fd49f]{font-size:24px;line-height:1;color:#38271b}.campus-owner[data-v-a93fd49f]{margin:14px 0 0;font-size:12px;color:#867160}.campus-enter-btn[data-v-a93fd49f]{margin-top:14px;width:100%;border:1px solid #e7c8a0;border-radius:11px;background:#fff4e4;color:#5f4228;font-size:13px;font-weight:700;letter-spacing:.02em;padding:9px 10px;cursor:pointer;box-shadow:none;transition:border-color .16s ease,background-color .16s ease}.campus-enter-btn[data-v-a93fd49f]:hover{border-color:#ddb585;background:#fff1dd}.campus-enter-btn[data-v-a93fd49f]:active{background:#ffedd4}.campus-skeleton-card[data-v-a93fd49f]{min-height:180px;align-content:start}.empty-tip[data-v-a93fd49f]{margin:18px 0 0;border:1px dashed #e7d3bb;border-radius:12px;padding:16px;text-align:center;color:#8b7a6a;background:#fffcf6b3}.pagination-row[data-v-a93fd49f]{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:12px}.page-btn[data-v-a93fd49f]{border:1px solid #dcc2a3;border-radius:999px;background:#fff4e5;color:#59442d;min-width:84px;padding:8px 12px;font-weight:700;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.page-btn[data-v-a93fd49f]:hover:not(:disabled){border-color:#cfa47a;background:#ffefd9}.page-btn[data-v-a93fd49f]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:860px){.forum-shell[data-v-a93fd49f]{padding:18px}.forum-hero[data-v-a93fd49f]{flex-direction:column}h1[data-v-a93fd49f]{font-size:28px}.forum-toolbar[data-v-a93fd49f]{flex-direction:column;align-items:stretch}.campus-list[data-v-a93fd49f]{grid-template-columns:1fr}}.page-text[data-v-a93fd49f]{min-width:110px;text-align:center;color:#6f5d4c;font-size:13px}.campus-posts-shell[data-v-09648b0b]{padding:24px}.posts-hero[data-v-09648b0b]{border:1px solid #e9d5bc;border-radius:16px;background:#fffaf4;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start}.back-btn[data-v-09648b0b],.refresh-btn[data-v-09648b0b],.publish-btn[data-v-09648b0b],.details-btn[data-v-09648b0b],.page-btn[data-v-09648b0b]{border:1px solid #ddbf98;border-radius:999px;background:#fff6e8;color:#5f452e;font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.back-btn[data-v-09648b0b]:hover,.refresh-btn[data-v-09648b0b]:hover,.publish-btn[data-v-09648b0b]:hover,.details-btn[data-v-09648b0b]:hover,.page-btn[data-v-09648b0b]:hover{border-color:#d2a577;background:#ffefd9}.hero-content h1[data-v-09648b0b]{margin:2px 0 0;font-size:30px;line-height:1.15;color:#2f2013}.hero-kicker[data-v-09648b0b]{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#997958;font-weight:700}.hero-subtitle[data-v-09648b0b]{margin:10px 0 0;color:#6f5f51;font-size:14px}.hero-side-metrics[data-v-09648b0b]{display:grid;gap:10px;min-width:150px}.metric-pill[data-v-09648b0b]{border:1px solid #e7d2b8;border-radius:10px;padding:10px 12px;background:#fffef9}.metric-pill span[data-v-09648b0b]{display:block;font-size:11px;color:#8f7b66;margin-bottom:4px}.metric-pill strong[data-v-09648b0b]{color:#382619;font-size:17px}.toolbar-row[data-v-09648b0b]{display:flex;gap:10px;align-items:center;margin-top:14px}.status-pill[data-v-09648b0b]{margin:0;flex:1;min-height:40px;border:1px solid #e9d6be;border-radius:10px;background:#fffef9;display:flex;align-items:center;padding:0 12px;color:#6d5a48;font-size:13px}.publish-panel[data-v-09648b0b]{margin-top:14px;border:1px solid #e7d2b8;border-radius:12px;background:#fffdf9;padding:14px}.publish-header[data-v-09648b0b]{display:flex;justify-content:space-between;align-items:center;gap:8px}.publish-header h2[data-v-09648b0b]{margin:0;font-size:18px;color:#392719}.publish-login-status[data-v-09648b0b]{font-size:12px;color:#8a7561}.publish-login-status.is-online[data-v-09648b0b]{color:#1f7a62;font-weight:700}.publish-form-grid[data-v-09648b0b]{margin-top:10px;display:grid;gap:10px}.publish-input[data-v-09648b0b],.publish-textarea[data-v-09648b0b]{width:100%;border:1px solid #e5ceb0;border-radius:8px;background:#fffefb;padding:10px 12px;color:#423325;font-size:14px}.publish-textarea[data-v-09648b0b]{min-height:120px;resize:vertical;font-family:inherit}.publish-actions[data-v-09648b0b]{margin-top:10px;display:flex;gap:10px;align-items:center}.publish-btn[data-v-09648b0b]:disabled,.refresh-btn[data-v-09648b0b]:disabled,.page-btn[data-v-09648b0b]:disabled{opacity:.55;cursor:not-allowed}.publish-hint[data-v-09648b0b]{margin:0;color:#6d5a48;font-size:13px}.post-list[data-v-09648b0b]{margin-top:14px;display:grid;gap:12px}.post-card[data-v-09648b0b]{border:1px solid #eddbc2;border-radius:12px;padding:16px;background:#fffdf9;transition:border-color .16s ease,background-color .16s ease}.post-card[data-v-09648b0b]:hover{border-color:#e4c29a;background:#fff9f1}.post-skeleton-card[data-v-09648b0b]{min-height:170px}.post-header[data-v-09648b0b]{display:flex;justify-content:space-between;gap:12px;align-items:start}.post-title[data-v-09648b0b]{margin:0;color:#2f2013;font-size:20px;line-height:1.25}.author-tag[data-v-09648b0b]{margin:0;border:1px solid #edd8bc;border-radius:999px;padding:5px 9px;background:#fffbf5;color:#7b6652;font-size:12px;white-space:nowrap}.author-link[data-v-09648b0b]{color:#7b4a12;font-weight:700;text-decoration:underline}.post-preview[data-v-09648b0b]{margin:10px 0 12px;color:#605447;font-size:14px;line-height:1.6;line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.post-meta-row[data-v-09648b0b]{display:flex;gap:8px}.post-actions-row[data-v-09648b0b]{margin-top:12px;display:flex;align-items:center;gap:10px}.delete-link[data-v-09648b0b]{border:0;background:transparent;color:#b33d2f;font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.meta-chip[data-v-09648b0b]{border:1px solid #e8d1b2;border-radius:999px;background:#fff6e8;color:#6f5539;font-size:12px;font-weight:600;padding:5px 10px}.empty-state[data-v-09648b0b]{margin-top:14px;border:1px dashed #e7d4bc;border-radius:12px;padding:16px;text-align:center;color:#887562;background:#fffef9}.pagination-row[data-v-09648b0b]{margin-top:16px;display:flex;justify-content:center;align-items:center;gap:10px}.page-indicator[data-v-09648b0b]{min-width:120px;text-align:center;color:#6f5c49;font-size:13px}@media(max-width:900px){.campus-posts-shell[data-v-09648b0b]{padding:18px}.posts-hero[data-v-09648b0b]{grid-template-columns:1fr}.hero-content h1[data-v-09648b0b]{font-size:26px}.toolbar-row[data-v-09648b0b],.publish-header[data-v-09648b0b],.publish-actions[data-v-09648b0b]{flex-direction:column;align-items:stretch}.post-header[data-v-09648b0b]{flex-direction:column}.author-tag[data-v-09648b0b]{width:fit-content}}.post-details-shell[data-v-8086e7d7]{padding:26px}.detail-hero[data-v-8086e7d7]{border:1px solid #e8d2b7;border-radius:18px;background:#fffaf4;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.back-btn[data-v-8086e7d7]{border:1px solid #dcb98f;border-radius:999px;background:#fff5e7;color:#5f4328;font-size:12px;font-weight:700;padding:8px 12px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.back-btn[data-v-8086e7d7]:hover{border-color:#d1a574;background:#ffeed8}.hero-kicker[data-v-8086e7d7]{margin:0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#94785e;font-weight:700}.detail-hero h1[data-v-8086e7d7]{margin:3px 0 0;color:#2f2114;font-size:28px}.hero-subtitle[data-v-8086e7d7]{margin:8px 0 0;color:#6f5d4b;font-size:14px}.status-pill[data-v-8086e7d7]{margin:0;border:1px solid #e9d6bf;border-radius:12px;background:#fffcf8e6;color:#6a5847;min-height:40px;padding:0 12px;display:flex;align-items:center;font-size:13px}.post-detail-card[data-v-8086e7d7]{margin-top:14px;border:1px solid #e8d3ba;border-radius:16px;padding:18px;position:relative;background:#fffefa;box-shadow:none;transition:border-color .16s ease,background-color .16s ease}.post-detail-card[data-v-8086e7d7]:hover{border-color:#e2bf97;background:#fffaf4}.post-header[data-v-8086e7d7]{display:flex;justify-content:space-between;gap:12px;align-items:start}.post-header h2[data-v-8086e7d7]{margin:0;color:#2f2013;font-size:24px;line-height:1.25}.author-tag[data-v-8086e7d7]{margin:0;border:1px solid #ead7be;border-radius:999px;padding:5px 10px;background:#fffaf3;color:#7b6754;font-size:12px;white-space:nowrap}.author-link[data-v-8086e7d7]{color:#7b4a12;font-weight:700;text-decoration:underline}.author-link[data-v-8086e7d7]:hover{color:#5e360a}.post-body[data-v-8086e7d7]{margin:12px 0;color:#5f5347;line-height:1.7;white-space:pre-wrap}.post-meta[data-v-8086e7d7],.reply-meta[data-v-8086e7d7]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.delete-meta-link[data-v-8086e7d7]{margin-left:auto}.meta-chip[data-v-8086e7d7]{border:1px solid #e7cfb0;border-radius:999px;background:#fff4e2;color:#6e5236;font-size:12px;font-weight:600;padding:5px 10px}.reply-section[data-v-8086e7d7]{margin-top:16px;border:1px solid #ecd9c0;border-radius:16px;padding:16px;background:#fffef9}.reply-header[data-v-8086e7d7]{display:flex;align-items:center;justify-content:space-between;gap:10px}.reply-header h3[data-v-8086e7d7]{margin:0;color:#332418}.reply-count[data-v-8086e7d7]{color:#7c6853;font-size:13px}.reply-list[data-v-8086e7d7]{margin-top:12px;display:grid;gap:10px}.reply-compose[data-v-8086e7d7]{margin-top:12px;border:1px solid #ebd8c0;border-radius:12px;background:#fffdf9;padding:12px}.reply-compose-header[data-v-8086e7d7]{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#4a3523;font-size:13px}.reply-login-status[data-v-8086e7d7]{color:#8b7661;font-size:12px}.reply-login-status.is-online[data-v-8086e7d7]{color:#1f7a62;font-weight:700}.reply-compose-textarea[data-v-8086e7d7]{margin-top:8px;width:100%;min-height:96px;border:1px solid #e5ceb0;border-radius:10px;background:#fffefb;padding:10px 12px;color:#423325;font-size:14px;font-family:inherit;resize:vertical}.reply-compose-actions[data-v-8086e7d7]{margin-top:8px;display:flex;align-items:center;gap:10px}.reply-submit-btn[data-v-8086e7d7]{border:1px solid #dcb78c;border-radius:999px;background:linear-gradient(180deg,#fff4e3,#f8dfbd);color:#5f4124;font-size:13px;font-weight:700;padding:8px 14px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.reply-submit-btn[data-v-8086e7d7]:hover:not(:disabled){border-color:#d4ab7d;background:#ffecd0}.reply-submit-btn[data-v-8086e7d7]:disabled{opacity:.55;cursor:not-allowed}.reply-compose-hint[data-v-8086e7d7]{margin:0;color:#6d5a48;font-size:13px}.delete-link[data-v-8086e7d7]{border:0;background:transparent;color:#b33d2f;font-size:13px;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.reply-card[data-v-8086e7d7]{border:1px solid #ecd8bf;border-radius:12px;padding:12px;background:#fffefb;transition:border-color .16s ease,background-color .16s ease}.reply-card[data-v-8086e7d7]:hover{border-color:#e2bf95;background:#fff8ef}.reply-skeleton-card[data-v-8086e7d7]{min-height:94px}.reply-card-header[data-v-8086e7d7]{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.reply-author[data-v-8086e7d7],.reply-time[data-v-8086e7d7]{margin:0;font-size:12px;color:#816a54}.reply-content[data-v-8086e7d7]{margin:8px 0 10px;color:#5f5348;line-height:1.6;white-space:pre-wrap}.empty-state[data-v-8086e7d7]{margin-top:12px;border:1px dashed #e5d1b8;border-radius:12px;padding:14px;text-align:center;color:#87715b;background:#fffcf6cc}.pagination-row[data-v-8086e7d7]{margin-top:12px;display:flex;justify-content:center;align-items:center;gap:10px}.page-btn[data-v-8086e7d7]{border:1px solid #dcc09f;border-radius:999px;background:#fff3e2;color:#5d432a;min-width:84px;padding:8px 12px;font-weight:700;cursor:pointer}.page-btn[data-v-8086e7d7]:disabled{opacity:.5;cursor:not-allowed}.page-indicator[data-v-8086e7d7]{min-width:120px;text-align:center;color:#6e5b49;font-size:13px}.reply-auto-load-sentinel[data-v-8086e7d7]{margin-top:10px;border:1px dashed #dfc5a6;border-radius:10px;text-align:center;color:#7a644f;background:#fff7ebd9;padding:10px 12px;font-size:13px}.delete-dialog-mask[data-v-8086e7d7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d12086b;display:flex;align-items:center;justify-content:center;padding:18px;z-index:50}.delete-dialog-card[data-v-8086e7d7]{width:min(100%,460px);border:1px solid #e1c39f;border-radius:14px;background:#fffbf5;box-shadow:none;padding:16px}.delete-dialog-card h3[data-v-8086e7d7]{margin:0;color:#412d1a}.delete-dialog-text[data-v-8086e7d7]{margin:10px 0 0;color:#6f5944;white-space:pre-wrap;line-height:1.6}.delete-dialog-actions[data-v-8086e7d7]{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.danger-btn[data-v-8086e7d7]{border:1px solid #b24a38;border-radius:999px;background:#c65a4a;color:#fff;font-weight:700;padding:8px 14px;cursor:pointer}.danger-btn[data-v-8086e7d7]:disabled{opacity:.6;cursor:not-allowed}.fade-pop-enter-active[data-v-8086e7d7],.fade-pop-leave-active[data-v-8086e7d7]{transition:opacity .22s ease}.fade-pop-enter-active .delete-dialog-card[data-v-8086e7d7],.fade-pop-leave-active .delete-dialog-card[data-v-8086e7d7]{transition:transform .22s ease,opacity .22s ease}.fade-pop-enter-from[data-v-8086e7d7],.fade-pop-leave-to[data-v-8086e7d7]{opacity:0}.fade-pop-enter-from .delete-dialog-card[data-v-8086e7d7],.fade-pop-leave-to .delete-dialog-card[data-v-8086e7d7]{opacity:0;transform:translateY(8px) scale(.98)}@media(max-width:900px){.post-details-shell[data-v-8086e7d7]{padding:18px}.detail-hero[data-v-8086e7d7]{grid-template-columns:1fr}.status-pill[data-v-8086e7d7]{min-height:36px}.post-header[data-v-8086e7d7]{flex-direction:column}.reply-compose-header[data-v-8086e7d7],.reply-compose-actions[data-v-8086e7d7]{flex-direction:column;align-items:stretch}.post-delete-corner[data-v-8086e7d7]{position:static;margin-bottom:10px;display:flex;justify-content:flex-end}}:root{--primary: #ff7a00;--primary-dark: #e65100;--accent: #0e7c86;--bg: #fff8ee;--surface: #fffefa;--text: #2f2822;--muted: #6e665e;--border: #efd4ae;--bg-glow-warm: rgba(255, 122, 0, .18);--bg-glow-cool: rgba(14, 124, 134, .08);--bg-glow-soft: rgba(255, 205, 145, .28);--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 1px 2px rgba(47, 40, 34, .04);--shadow-hover: 0 1px 2px rgba(47, 40, 34, .04)}html[data-theme=light]{--bg: #fff8ee;--surface: #fffefa;--text: #2f2822;--muted: #6e665e;--border: #efd4ae;--bg-glow-warm: rgba(255, 122, 0, .18);--bg-glow-cool: rgba(14, 124, 134, .08);--bg-glow-soft: rgba(255, 205, 145, .28)}html[data-theme=dark]{--bg: #28211b;--surface: #342a22;--text: #f8eee2;--muted: #d5c0aa;--border: #685241;--bg-glow-warm: rgba(255, 146, 46, .22);--bg-glow-cool: rgba(22, 136, 152, .2);--bg-glow-soft: rgba(255, 206, 143, .2)}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:Space Grotesk,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:var(--text);background:var(--bg);position:relative;overflow-x:hidden;isolation:isolate;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body:before,body:after{content:"";position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;pointer-events:none;z-index:-2}body:before{background:radial-gradient(circle at 15% 12%,var(--bg-glow-warm) 0,rgba(245,124,0,0) 36%),radial-gradient(circle at 86% 18%,var(--bg-glow-cool) 0,rgba(21,101,192,0) 40%);filter:blur(2px)}body:after{z-index:-1;background:linear-gradient(180deg,#ffffff3d,#fff0)}html[data-theme=dark] body:after{background:linear-gradient(180deg,#14100c6b,#14100c00)}a{color:inherit;text-decoration:none}.container{width:min(100%,1000px);margin:0 auto;padding:0 16px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:28px;padding-bottom:28px;animation:content-in .42s ease}.header{background:var(--primary);color:#fff;border-bottom:1px solid rgba(255,255,255,.2);box-shadow:none}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:64px}.brand{font-size:22px;font-weight:700;letter-spacing:.02em}.header-nav{display:flex;align-items:center;gap:14px}.nav-link,.link-btn{color:#fff;font-size:15px;opacity:.95}.nav-link:hover,.link-btn:hover{opacity:1}.link-btn{border:0;background:transparent;cursor:pointer;padding:0}.footer{background:#322e2b;color:#ece1d4;margin-top:auto}.footer-inner{padding-top:12px;padding-bottom:12px;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-inner p{margin:0;line-height:1.5}.panel,.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.panel,.auth-card,.campus-card{transition:border-color .18s ease,background-color .18s ease}.panel:hover,.auth-card:hover,.campus-card:hover{transform:none;box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--border) 82%,var(--accent) 18%)}.auth-card{max-width:520px;margin:0 auto}h1,h2{margin-top:0}.form-grid{display:grid;gap:10px}label{font-size:14px;color:var(--muted)}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--border);outline:none;background:var(--surface);color:var(--text)}input::placeholder,textarea::placeholder{color:var(--muted)}input,select{height:40px;padding:0 12px}textarea{padding:10px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0e7c861f}.inline-row{display:flex;gap:10px}.primary-btn,.secondary-btn{border:0;border-radius:var(--radius-sm);cursor:pointer;padding:10px 14px;font-weight:600}.primary-btn{background:var(--primary);color:#fff}.primary-btn:disabled,.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.secondary-btn{background:var(--accent);color:#fff;min-width:108px}.primary-btn:hover,.secondary-btn:hover{filter:brightness(.98)}html[data-theme=dark] .forum-hero,html[data-theme=dark] .hero-chip,html[data-theme=dark] .message-pill,html[data-theme=dark] .campus-card,html[data-theme=dark] .stat-item,html[data-theme=dark] .empty-tip,html[data-theme=dark] .posts-hero,html[data-theme=dark] .status-pill,html[data-theme=dark] .publish-panel,html[data-theme=dark] .post-card,html[data-theme=dark] .author-tag,html[data-theme=dark] .meta-chip,html[data-theme=dark] .empty-state,html[data-theme=dark] .detail-hero,html[data-theme=dark] .post-detail-card,html[data-theme=dark] .reply-section,html[data-theme=dark] .reply-compose,html[data-theme=dark] .reply-card,html[data-theme=dark] .reply-auto-load-sentinel,html[data-theme=dark] .profile-hero,html[data-theme=dark] .profile-card,html[data-theme=dark] .profile-row,html[data-theme=dark] .student-verify-card,html[data-theme=dark] .select-input,html[data-theme=dark] .contact-item,html[data-theme=dark] .toggle-btn,html[data-theme=dark] .copy-btn,html[data-theme=dark] .link-btn-mini{background:color-mix(in srgb,var(--surface) 94%,#000 6%)!important;border-color:color-mix(in srgb,var(--border) 88%,#000 12%)!important;color:var(--text)!important}html[data-theme=dark] .forum-kicker,html[data-theme=dark] .hero-kicker,html[data-theme=dark] .profile-kicker,html[data-theme=dark] .stat-label,html[data-theme=dark] .campus-meta,html[data-theme=dark] .campus-owner,html[data-theme=dark] .reply-time,html[data-theme=dark] .reply-author,html[data-theme=dark] .label,html[data-theme=dark] .hint,html[data-theme=dark] .page-text,html[data-theme=dark] .page-indicator,html[data-theme=dark] .profile-subtitle,html[data-theme=dark] .forum-lead,html[data-theme=dark] .hero-subtitle,html[data-theme=dark] .contact-subtitle,html[data-theme=dark] .reply-count,html[data-theme=dark] .publish-hint,html[data-theme=dark] .reply-compose-hint,html[data-theme=dark] .status-pill,html[data-theme=dark] .author-tag{color:var(--muted)!important}html[data-theme=dark] .panel h1,html[data-theme=dark] .panel h2,html[data-theme=dark] .panel h3,html[data-theme=dark] .auth-card h1,html[data-theme=dark] .auth-card h2,html[data-theme=dark] .auth-card h3,html[data-theme=dark] .campus-title,html[data-theme=dark] .post-title,html[data-theme=dark] .post-header h2,html[data-theme=dark] .section-title,html[data-theme=dark] .value,html[data-theme=dark] .post-body,html[data-theme=dark] .post-preview,html[data-theme=dark] .reply-content,html[data-theme=dark] .campus-description,html[data-theme=dark] .meta-chip,html[data-theme=dark] .hero-chip strong,html[data-theme=dark] .stat-value{color:var(--text)!important}html[data-theme=dark] .author-link{color:#ffd09c!important}.skeleton{position:relative;overflow:hidden;background:#efe5d8}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.46) 50%,transparent 100%);animation:skeleton-shimmer 1.25s ease-in-out infinite}.skeleton-line{height:10px;border-radius:999px}.skeleton-line.is-short{width:36%}.skeleton-line.is-medium{width:62%}.skeleton-line.is-long{width:88%}.skeleton-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:14px;display:grid;gap:8px}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.hint{margin:4px 0;font-size:14px;color:var(--muted)}.profile-grid p{margin:8px 0}.divider{margin:18px 0;border-top:1px solid var(--border)}@keyframes content-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.container{width:min(100%,960px)}}@media(max-width:768px){.main-content{padding-top:18px;padding-bottom:20px}.header-inner{min-height:58px;flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}.header-nav{width:100%;justify-content:space-between;gap:10px;flex-wrap:wrap}.footer-inner{flex-direction:column;gap:6px}.panel,.auth-card{border-radius:12px;padding:16px}}@media(max-width:375px){.container{padding:0 12px}.brand{font-size:20px}.nav-link,.link-btn{font-size:14px}.panel,.auth-card{padding:14px}}html[data-theme=dark] .header{border-bottom-color:#ffffff1a}html[data-theme=dark] .panel,html[data-theme=dark] .auth-card{box-shadow:0 20px 40px #0000004d}html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#3a2f25;color:var(--text);border-color:#725a46}html[data-theme=dark] .footer{background:#201915;color:#ddc8b0}html[data-theme=dark] .header{background:#b85d00}html[data-theme=dark] .home-hero:after{background:radial-gradient(circle,#ffaf5842,#ffaf5800)}html[data-theme=dark] .hero-kicker,html[data-theme=dark] .contact-subtitle,html[data-theme=dark] .home-hero p,html[data-theme=dark] .contact-info span{color:#d8c4ad}html[data-theme=dark] .contact-item{background:#3b3027;border-color:#705946}html[data-theme=dark] .toggle-btn,html[data-theme=dark] .copy-btn{background:#45372c;border-color:#7a604a;color:#f8eee0}html[data-theme=dark] .contact-icon{background:linear-gradient(180deg,#c98439,#b06d29);color:#fff5e8}html[data-theme=dark] .skeleton{background:#524136}html[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%)}@media(prefers-color-scheme:dark){html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}}@media(prefers-reduced-motion:reduce){*{animation-duration:0ms!important;transition-duration:0ms!important}}
