@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";.app-header[data-v-06a8813f]{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-inner[data-v-06a8813f]{max-width:1200px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}.header-left[data-v-06a8813f]{display:flex;align-items:center;gap:32px}.site-logo[data-v-06a8813f]{font-size:18px;font-weight:800;color:var(--color-accent);text-decoration:none;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.logo-icon[data-v-06a8813f]{width:26px;height:26px;flex-shrink:0}.site-logo[data-v-06a8813f]:hover{opacity:.85}.header-nav[data-v-06a8813f]{display:flex;gap:20px}.nav-link[data-v-06a8813f]{font-size:14px;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .15s}.nav-link[data-v-06a8813f]:hover,.nav-link.router-link-active[data-v-06a8813f]{color:var(--color-text)}.nav-link-external[data-v-06a8813f]:after{content:"↗";font-size:10px;margin-left:2px;opacity:.6}.header-right[data-v-06a8813f]{display:flex;align-items:center;gap:14px}.user-nickname[data-v-06a8813f]{font-size:14px;font-weight:600;color:var(--color-text)}.identity-overlay[data-v-06a8813f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:flex-end;padding:64px 24px 0}.identity-form[data-v-06a8813f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px;width:280px;display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 32px #0003}.identity-form .form-group[data-v-06a8813f]{display:flex;flex-direction:column;gap:6px}.identity-form .form-label[data-v-06a8813f]{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.identity-form .form-input[data-v-06a8813f]{padding:8px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;outline:none;transition:border-color .2s}.identity-form .form-input[data-v-06a8813f]:focus{border-color:var(--color-accent)}.identity-form .form-actions[data-v-06a8813f]{display:flex;gap:8px}@media (max-width: 600px){.header-nav[data-v-06a8813f]{display:none}.identity-overlay[data-v-06a8813f]{justify-content:center;padding:64px 16px 0}.identity-form[data-v-06a8813f]{width:100%;max-width:320px}}.app[data-v-e455e296]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-e455e296]{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}.post-card[data-v-e679aaa4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:24px;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;gap:14px}.post-card[data-v-e679aaa4]:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 8px 24px #0000001f}.card-header[data-v-e679aaa4]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-title[data-v-e679aaa4]{font-size:17px;font-weight:700;color:var(--color-text);margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px}.card-badges[data-v-e679aaa4]{display:flex;gap:6px}.card-footer[data-v-e679aaa4]{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--color-text-secondary);padding-top:4px;border-top:1px solid var(--color-border)}.card-info[data-v-e679aaa4]{display:flex;align-items:center;gap:8px}.player-count[data-v-e679aaa4]{font-weight:600;color:var(--color-accent)}.separator[data-v-e679aaa4]{color:var(--color-border);font-size:10px}.author-name[data-v-e679aaa4]{color:var(--color-text-secondary)}.author-ip[data-v-e679aaa4]{color:var(--color-text-muted);font-size:11px}.time-ago[data-v-e679aaa4]{font-size:12px;color:var(--color-text-muted)}.card-join[data-v-e679aaa4]{display:flex;margin-bottom:-6px}.btn-join[data-v-e679aaa4]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 14px;background:#66c0f414;color:#66c0f4;border:1px solid rgba(102,192,244,.2);border-radius:10px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.btn-join[data-v-e679aaa4]:hover{background:#66c0f429;border-color:#66c0f473}.badge-dc[data-v-e679aaa4]{background:#0077ff26;color:#4da6ff;border:1px solid rgba(0,119,255,.3);font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;letter-spacing:.5px}.post-filter[data-v-520e3709]{display:flex;align-items:flex-end;gap:16px;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;flex-wrap:wrap}.filter-group[data-v-520e3709]{display:flex;flex-direction:column;gap:4px;min-width:120px}.filter-label[data-v-520e3709]{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-select[data-v-520e3709]{min-width:120px}@media (max-width: 600px){.post-filter[data-v-520e3709]{flex-direction:column;align-items:stretch}.filter-group[data-v-520e3709],.filter-select[data-v-520e3709]{width:100%}}.post-list-page[data-v-c3ff8118]{display:flex;flex-direction:column;gap:28px;padding-top:8px}.page-header[data-v-c3ff8118]{display:flex;align-items:center;justify-content:space-between}.page-title[data-v-c3ff8118]{font-size:26px;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.5px}.post-grid[data-v-c3ff8118]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.loading-state[data-v-c3ff8118],.empty-state[data-v-c3ff8118]{text-align:center;padding:80px 20px;color:var(--color-text-secondary);font-size:15px}.pagination[data-v-c3ff8118]{display:flex;align-items:center;justify-content:center;gap:6px;padding:28px 0}@media (max-width: 768px){.post-grid[data-v-c3ff8118]{grid-template-columns:1fr}}.login-page[data-v-901c3bdb]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px)}.login-card[data-v-901c3bdb]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:48px;text-align:center;max-width:400px;width:100%}.login-icon[data-v-901c3bdb]{margin-bottom:16px}.login-title[data-v-901c3bdb]{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 8px}.login-subtitle[data-v-901c3bdb]{color:var(--color-text-secondary);margin:0 0 32px;font-size:14px}.identity-form[data-v-901c3bdb]{display:flex;flex-direction:column;gap:16px;text-align:left}.form-group[data-v-901c3bdb]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-901c3bdb]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-input[data-v-901c3bdb]{padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;outline:none;transition:border-color .2s}.form-input[data-v-901c3bdb]:focus{border-color:var(--color-accent)}.btn-full[data-v-901c3bdb]{width:100%;padding:12px;font-size:15px;margin-top:4px}.hint-text[data-v-901c3bdb]{text-align:center;font-size:12px;color:var(--color-text-muted);margin:0}.post-create-page[data-v-691f333a]{max-width:640px;margin:0 auto;padding-top:8px}.page-title[data-v-691f333a]{font-size:26px;font-weight:800;color:var(--color-text);margin:0 0 28px;letter-spacing:-.5px}.create-form[data-v-691f333a]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:36px;display:flex;flex-direction:column;gap:24px}.form-row[data-v-691f333a]{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-row-2[data-v-691f333a]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3[data-v-691f333a]{grid-template-columns:1fr 1fr 1fr}.form-group[data-v-691f333a]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-691f333a]{font-size:14px;font-weight:600;color:var(--color-text)}.form-error[data-v-691f333a]{font-size:12px;color:var(--color-danger)}.error-banner[data-v-691f333a]{background:#ef444414;border:1px solid var(--color-danger);color:var(--color-danger);padding:14px 18px;border-radius:12px;font-size:14px}.join-link-preview[data-v-691f333a]{background:var(--color-bg);border:1px solid var(--color-accent);border-radius:12px;padding:16px}.preview-label[data-v-691f333a]{font-size:12px;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.5px}.preview-row[data-v-691f333a]{display:flex;align-items:center;gap:8px;margin-top:8px}.preview-link[data-v-691f333a]{flex:1;font-size:13px;color:var(--color-accent);word-break:break-all;text-decoration:none}.preview-link[data-v-691f333a]:hover{text-decoration:underline}.btn-steam[data-v-691f333a]{background:#1b2838;color:#66c0f4;border:1px solid #66c0f4;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease}.btn-steam[data-v-691f333a]:hover{background:#66c0f4;color:#1b2838}.form-actions[data-v-691f333a]{display:flex;justify-content:flex-end;gap:12px;padding-top:12px}@media (max-width: 600px){.form-row[data-v-691f333a],.form-row-2[data-v-691f333a],.form-row-3[data-v-691f333a]{grid-template-columns:1fr}.create-form[data-v-691f333a]{padding:24px}}.chat-input-container[data-v-94ae860c]{display:flex;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--color-border)}.nickname-input[data-v-94ae860c]{width:90px;min-width:70px;padding:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:13px;outline:none;transition:border-color .2s;flex-shrink:0}.nickname-input[data-v-94ae860c]:focus{border-color:var(--color-accent)}.nickname-input[data-v-94ae860c]::placeholder{color:var(--color-text-muted)}.chat-input[data-v-94ae860c]{flex:1;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;outline:none;transition:border-color .2s}.chat-input[data-v-94ae860c]:focus{border-color:var(--color-accent)}.chat-input[data-v-94ae860c]:disabled{opacity:.5;cursor:not-allowed}.chat-input[data-v-94ae860c]::placeholder{color:var(--color-text-muted)}.send-button[data-v-94ae860c]{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.send-button[data-v-94ae860c]:hover:not(:disabled){opacity:.85}.send-button[data-v-94ae860c]:disabled{opacity:.4;cursor:not-allowed}.chat-room[data-v-b81ae780]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;height:600px}.chat-header[data-v-b81ae780]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.chat-title[data-v-b81ae780]{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.connection-status[data-v-b81ae780]{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.connection-status[data-v-b81ae780]:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.connection-status.online[data-v-b81ae780]:before{background:var(--color-success)}.messages-container[data-v-b81ae780]{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.chat-loading[data-v-b81ae780],.chat-empty[data-v-b81ae780]{text-align:center;color:var(--color-text-muted);padding:40px 20px;font-size:14px}.message-item[data-v-b81ae780]{display:flex;flex-direction:column}.system-message[data-v-b81ae780]{align-items:center}.system-msg-text[data-v-b81ae780]{font-size:12px;color:var(--color-text-muted);background:#ffffff0d;padding:4px 12px;border-radius:12px}.my-message[data-v-b81ae780]{align-items:flex-end}.other-message[data-v-b81ae780]{align-items:flex-start}.message-header[data-v-b81ae780]{margin-bottom:2px}.sender-name[data-v-b81ae780]{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.message-bubble[data-v-b81ae780]{max-width:75%;padding:10px 14px;border-radius:12px;position:relative}.my-message .message-bubble[data-v-b81ae780]{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.other-message .message-bubble[data-v-b81ae780]{background:var(--color-surface-elevated);color:var(--color-text);border-bottom-left-radius:4px}.message-content[data-v-b81ae780]{margin:0;font-size:14px;line-height:1.5;word-break:break-word}.message-time[data-v-b81ae780]{font-size:10px;opacity:.7;margin-top:4px;display:block;text-align:right}.nickname-hint[data-v-b81ae780]{text-align:center;font-size:12px;color:var(--color-text-muted);padding:6px 20px 0}.chat-closed-banner[data-v-b81ae780]{text-align:center;font-size:13px;color:#ff6b6b;background:#ff6b6b1a;padding:10px 20px;border-top:1px solid var(--color-border);font-weight:600}.loading-state[data-v-da6ec903]{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.post-detail[data-v-da6ec903]{width:100%}.detail-layout[data-v-da6ec903]{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.post-info-card[data-v-da6ec903]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:28px}.post-header[data-v-da6ec903]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.post-title[data-v-da6ec903]{font-size:24px;font-weight:800;color:var(--color-text);margin:0;flex:1;letter-spacing:-.5px}.post-meta-grid[data-v-da6ec903]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.meta-item[data-v-da6ec903]{display:flex;flex-direction:column;gap:4px}.meta-label[data-v-da6ec903]{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.player-control[data-v-da6ec903]{display:flex;align-items:center;gap:8px}.btn-player[data-v-da6ec903]{width:28px;height:28px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-player[data-v-da6ec903]:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-player[data-v-da6ec903]:disabled{opacity:.3;cursor:not-allowed}.player-count[data-v-da6ec903]{font-size:16px;font-weight:600;color:var(--color-text)}.author-info[data-v-da6ec903]{display:flex;align-items:center;gap:6px;color:var(--color-text)}.author-avatar-sm[data-v-da6ec903]{width:20px;height:20px;border-radius:50%}.author-ip[data-v-da6ec903]{color:var(--color-text-muted);font-size:12px}.join-link-section[data-v-da6ec903]{margin-bottom:20px}.join-link-row[data-v-da6ec903]{display:flex;align-items:center;gap:8px;margin-top:6px}.join-link-text[data-v-da6ec903]{flex:1;background:var(--color-bg);padding:8px 12px;border-radius:6px;font-size:13px;color:var(--color-accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.join-link-text[data-v-da6ec903]:hover{text-decoration:underline}.btn-steam[data-v-da6ec903]{background:#1b2838;color:#66c0f4;border:1px solid #66c0f4;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease}.btn-steam[data-v-da6ec903]:hover{background:#66c0f4;color:#1b2838}.author-actions[data-v-da6ec903]{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--color-border)}@media (max-width: 900px){.detail-layout[data-v-da6ec903]{grid-template-columns:1fr}}.board-page[data-v-8562f327]{display:flex;flex-direction:column;gap:16px;padding-top:8px}.board-header[data-v-8562f327]{display:flex;align-items:center;justify-content:space-between}.board-title[data-v-8562f327]{font-size:22px;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.5px}.board-table-wrap[data-v-8562f327]{overflow-x:auto}.board-table[data-v-8562f327]{width:100%;border-collapse:collapse;font-size:13px}.board-table thead th[data-v-8562f327]{padding:10px 12px;font-weight:600;font-size:12px;color:var(--color-text-secondary);text-align:left;border-bottom:1px solid var(--color-border-strong);white-space:nowrap;-webkit-user-select:none;user-select:none}.board-table tbody td[data-v-8562f327]{padding:9px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.board-row[data-v-8562f327]{cursor:pointer;transition:background .12s ease}.board-row[data-v-8562f327]:hover{background:var(--color-surface-hover)}.board-empty[data-v-8562f327]{text-align:center;padding:60px 20px!important;color:var(--color-text-secondary);font-size:14px}.col-no[data-v-8562f327]{width:60px;text-align:center;color:var(--color-text-secondary);font-size:12px}.col-title[data-v-8562f327]{min-width:200px}.article-title-text[data-v-8562f327]{color:var(--color-text)}.comment-count[data-v-8562f327]{margin-left:6px;color:var(--color-blue);font-weight:700;font-size:12px}.col-author[data-v-8562f327]{width:140px;white-space:nowrap}.author-nick[data-v-8562f327]{font-weight:500;color:var(--color-text);font-size:12px}.author-ip[data-v-8562f327]{color:var(--color-text-tertiary);font-size:11px;margin-left:2px}.col-views[data-v-8562f327]{width:60px;text-align:center;color:var(--color-text-secondary);font-size:12px}.col-date[data-v-8562f327]{width:80px;text-align:center;color:var(--color-text-secondary);font-size:12px;white-space:nowrap}.board-pagination[data-v-8562f327]{display:flex;align-items:center;justify-content:center;gap:4px;padding:20px 0}.page-btn[data-v-8562f327]{min-width:32px;height:32px;padding:0 6px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.page-btn[data-v-8562f327]:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.page-btn[data-v-8562f327]:disabled{opacity:.3;cursor:not-allowed}.page-btn-active[data-v-8562f327]{background:var(--color-blue);color:#fff;font-weight:700}.page-btn-active[data-v-8562f327]:hover{background:var(--color-blue-hover);color:#fff}@media (max-width: 600px){.col-no[data-v-8562f327],.col-views[data-v-8562f327]{display:none}.col-author[data-v-8562f327]{width:80px}.board-table[data-v-8562f327]{font-size:12px}.board-table thead th[data-v-8562f327],.board-table tbody td[data-v-8562f327]{padding:8px}}.board-create-page[data-v-1cf4fee8]{max-width:640px;margin:0 auto;padding-top:8px}.page-title[data-v-1cf4fee8]{font-size:22px;font-weight:800;color:var(--color-text);margin:0 0 24px;letter-spacing:-.5px}.create-form[data-v-1cf4fee8]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:28px;display:flex;flex-direction:column;gap:20px}.form-row-2[data-v-1cf4fee8]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group[data-v-1cf4fee8]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-1cf4fee8]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-input[data-v-1cf4fee8],.form-textarea[data-v-1cf4fee8]{width:100%;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.form-input[data-v-1cf4fee8]:focus,.form-textarea[data-v-1cf4fee8]:focus{border-color:var(--color-blue)}.form-input[data-v-1cf4fee8]::placeholder,.form-textarea[data-v-1cf4fee8]::placeholder{color:var(--color-text-tertiary)}.form-textarea[data-v-1cf4fee8]{resize:vertical;min-height:200px;line-height:1.7}.form-error[data-v-1cf4fee8]{font-size:12px;color:var(--color-red-text)}.error-banner[data-v-1cf4fee8]{background:#ef444414;border:1px solid var(--color-red);color:var(--color-red-text);padding:12px 16px;border-radius:8px;font-size:13px}.form-actions[data-v-1cf4fee8]{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}@media (max-width: 600px){.form-row-2[data-v-1cf4fee8]{grid-template-columns:1fr}.create-form[data-v-1cf4fee8]{padding:20px}}.loading-state[data-v-c96fef75]{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.board-detail-page[data-v-c96fef75]{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding-top:8px}.article-card[data-v-c96fef75]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.article-header[data-v-c96fef75]{padding:24px 24px 16px;border-bottom:1px solid var(--color-border)}.article-title[data-v-c96fef75]{font-size:20px;font-weight:700;color:var(--color-text);margin:0 0 12px;line-height:1.4}.article-meta[data-v-c96fef75]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary);flex-wrap:wrap}.meta-author[data-v-c96fef75]{display:inline-flex;align-items:center;gap:3px}.author-nick[data-v-c96fef75]{font-weight:600;color:var(--color-text);font-size:13px}.author-ip[data-v-c96fef75]{color:var(--color-text-tertiary);font-size:11px}.meta-divider[data-v-c96fef75]{color:var(--color-border-strong)}.article-content[data-v-c96fef75]{padding:24px;min-height:120px;font-size:14px;line-height:1.7;color:var(--color-text);word-break:break-word}.article-content p[data-v-c96fef75]{margin:0}.article-actions[data-v-c96fef75]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--color-border)}.action-right[data-v-c96fef75]{display:flex;gap:8px}.edit-form[data-v-c96fef75]{padding:24px;display:flex;flex-direction:column;gap:16px}.edit-error[data-v-c96fef75]{padding:10px 14px;background:var(--color-red-subtle);color:var(--color-red-text);border-radius:8px;font-size:13px}.edit-form .form-group[data-v-c96fef75]{display:flex;flex-direction:column;gap:6px}.edit-form .form-label[data-v-c96fef75]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.edit-form .form-input[data-v-c96fef75],.edit-form .form-textarea[data-v-c96fef75]{width:100%;padding:10px 14px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;font-family:inherit;outline:none}.edit-form .form-input[data-v-c96fef75]:focus,.edit-form .form-textarea[data-v-c96fef75]:focus{border-color:var(--color-blue)}.edit-form .form-textarea[data-v-c96fef75]{resize:vertical;min-height:200px;line-height:1.7}.edit-actions[data-v-c96fef75]{display:flex;justify-content:flex-end;gap:8px}.comments-section[data-v-c96fef75]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.comments-header[data-v-c96fef75]{display:flex;align-items:center;gap:6px;padding:16px 24px;border-bottom:1px solid var(--color-border)}.comments-title[data-v-c96fef75]{font-size:14px;font-weight:700;color:var(--color-text)}.comments-count[data-v-c96fef75]{font-size:14px;font-weight:700;color:var(--color-blue)}.comments-empty[data-v-c96fef75]{padding:40px 24px;text-align:center;color:var(--color-text-secondary);font-size:13px}.comment-item[data-v-c96fef75]{padding:14px 24px;border-bottom:1px solid var(--color-border)}.comment-item[data-v-c96fef75]:last-child{border-bottom:none}.comment-header[data-v-c96fef75]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.comment-author[data-v-c96fef75]{display:inline-flex;align-items:center;gap:3px}.comment-right[data-v-c96fef75]{display:flex;align-items:center;gap:10px}.comment-date[data-v-c96fef75]{font-size:11px;color:var(--color-text-tertiary)}.comment-delete-btn[data-v-c96fef75]{font-size:11px;color:var(--color-text-tertiary);background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .15s ease}.comment-delete-btn[data-v-c96fef75]:hover{color:var(--color-red-text);background:var(--color-red-subtle)}.comment-content[data-v-c96fef75]{font-size:13px;line-height:1.6;color:var(--color-text);word-break:break-word}.comment-form[data-v-c96fef75]{border-top:1px solid var(--color-border);padding:16px 24px}.comment-form-top[data-v-c96fef75]{display:flex;gap:10px;margin-bottom:10px}.comment-input-field[data-v-c96fef75]{width:160px;padding:7px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:13px;outline:none;transition:border-color .2s}.comment-input-field[data-v-c96fef75]:focus{border-color:var(--color-blue)}.comment-input-field[data-v-c96fef75]::placeholder{color:var(--color-text-tertiary)}.comment-form-bottom[data-v-c96fef75]{display:flex;gap:10px;align-items:flex-end}.comment-textarea[data-v-c96fef75]{flex:1;padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:13px;font-family:inherit;resize:vertical;min-height:70px;outline:none;transition:border-color .2s}.comment-textarea[data-v-c96fef75]:focus{border-color:var(--color-blue)}.comment-textarea[data-v-c96fef75]::placeholder{color:var(--color-text-tertiary)}.comment-submit-btn[data-v-c96fef75]{align-self:flex-end;height:70px;min-width:70px}@media (max-width: 600px){.article-header[data-v-c96fef75],.article-content[data-v-c96fef75],.article-actions[data-v-c96fef75],.comments-header[data-v-c96fef75],.comment-item[data-v-c96fef75],.comment-form[data-v-c96fef75]{padding-left:16px;padding-right:16px}.article-title[data-v-c96fef75]{font-size:17px}.comment-form-top[data-v-c96fef75]{flex-direction:column}.comment-input-field[data-v-c96fef75]{width:100%}.comment-form-bottom[data-v-c96fef75]{flex-direction:column}.comment-submit-btn[data-v-c96fef75]{width:100%;height:auto;min-width:auto}}:root{--color-bg: #0B0B0F;--color-bg-elevated: #111114;--color-surface: #1C1C22;--color-surface-hover: #222228;--color-surface-elevated: #28282F;--color-surface-overlay: rgba(0, 0, 0, .55);--color-border: rgba(255, 255, 255, .06);--color-border-strong: rgba(255, 255, 255, .1);--color-border-focus: var(--color-blue);--color-text: #ECECF1;--color-text-secondary: #8E8E9A;--color-text-tertiary: #56565F;--color-text-inverse: #0B0B0F;--color-blue: #3182F6;--color-blue-hover: #1B6BEB;--color-blue-active: #1360DE;--color-blue-subtle: rgba(49, 130, 246, .12);--color-blue-subtle-hover: rgba(49, 130, 246, .18);--color-green: #30D158;--color-green-subtle: rgba(48, 209, 88, .12);--color-green-text: #5AD97E;--color-red: #FF453A;--color-red-hover: #E63B31;--color-red-subtle: rgba(255, 69, 58, .12);--color-red-text: #FF6961;--color-yellow: #FFD60A;--color-yellow-subtle: rgba(255, 214, 10, .1);--color-yellow-text: #FFD426;--color-purple: #BF5AF2;--color-purple-subtle: rgba(191, 90, 242, .12);--color-purple-text: #CA7DF5;--color-cyan: #5AC8FA;--color-cyan-subtle: rgba(90, 200, 250, .12);--color-cyan-text: #70D1FC;--color-orange: #FF9F0A;--color-orange-subtle: rgba(255, 159, 10, .1);--color-orange-text: #FFB340;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-28: 28px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--space-80: 80px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-4xl: 34px;--leading-tight: 1.3;--leading-normal: 1.55;--leading-relaxed: 1.7;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .35);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .4);--shadow-card: 0 2px 12px rgba(0, 0, 0, .2);--shadow-float: 0 8px 28px rgba(0, 0, 0, .35);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--container-max: 1080px;--container-narrow: 680px;--container-wide: 1280px;--header-height: 56px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--weight-regular);background:var(--color-bg);color:var(--color-text);line-height:var(--leading-normal);min-height:100vh;min-height:100dvh;overflow-x:hidden}a{color:var(--color-blue);text-decoration:none;transition:color var(--transition-base),opacity var(--transition-base)}a:hover{color:var(--color-blue-hover)}ul,ol{list-style:none}img,svg{max-width:100%;display:block}button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit}input,textarea,select{font-family:inherit}table{border-collapse:collapse;border-spacing:0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-24) 0}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--color-text);letter-spacing:-.02em}h1{font-size:var(--text-4xl);letter-spacing:-.03em}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg);font-weight:var(--weight-semibold)}h5{font-size:var(--text-md);font-weight:var(--weight-semibold)}h6{font-size:var(--text-base);font-weight:var(--weight-semibold)}p{color:var(--color-text);line-height:var(--leading-normal)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-blue{color:var(--color-blue)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}small,.caption{font-size:var(--text-xs);color:var(--color-text-secondary);line-height:var(--leading-normal)}.label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-6);display:block}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-10) var(--space-20);border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;white-space:nowrap;line-height:1;user-select:none;-webkit-user-select:none;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-blue-hover)}.btn-primary:active:not(:disabled){background:var(--color-blue-active)}.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-hover)}.btn-danger{background:var(--color-red);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-red-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.btn-ghost-blue{background:transparent;color:var(--color-blue)}.btn-ghost-blue:hover:not(:disabled){background:var(--color-blue-subtle)}.btn-subtle{background:var(--color-blue-subtle);color:var(--color-blue)}.btn-subtle:hover:not(:disabled){background:var(--color-blue-subtle-hover)}.btn-xs{padding:var(--space-4) var(--space-10);font-size:var(--text-xs);border-radius:var(--radius-xs)}.btn-sm{padding:var(--space-8) var(--space-16);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-16) var(--space-32);font-size:var(--text-md);border-radius:var(--radius-md)}.btn-xl{padding:var(--space-20) var(--space-40);font-size:var(--text-lg);border-radius:var(--radius-md)}.btn-block{width:100%}.btn-icon{padding:var(--space-10);border-radius:var(--radius-sm);aspect-ratio:1}.btn-icon.btn-sm{padding:var(--space-8)}.form-group{display:flex;flex-direction:column;gap:var(--space-6)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-12) var(--space-16);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);font-family:inherit;outline:none;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-subtle);background:var(--color-bg-elevated)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238E8E9A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-16) center;padding-right:var(--space-40);cursor:pointer}.form-select option{background:var(--color-surface);color:var(--color-text)}.form-textarea{resize:vertical;min-height:100px;line-height:var(--leading-relaxed)}.form-input-sm,.form-select-sm{padding:var(--space-8) var(--space-12);font-size:var(--text-sm);border-radius:var(--radius-xs)}.form-input.is-error,.form-select.is-error,.form-textarea.is-error{border-color:var(--color-red)}.form-input.is-error:focus,.form-select.is-error:focus,.form-textarea.is-error:focus{box-shadow:0 0 0 3px var(--color-red-subtle)}.form-error{font-size:var(--text-xs);color:var(--color-red-text);margin-top:var(--space-4)}.form-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-4)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-24);transition:background var(--transition-base),box-shadow var(--transition-base)}.card-bordered{border:1px solid var(--color-border)}.card-shadow{box-shadow:var(--shadow-card)}.card-elevated{background:var(--color-surface-elevated)}.card-interactive{cursor:pointer}.card-interactive:hover{background:var(--color-surface-hover)}.card-interactive:active{transform:scale(.99)}.card-sm{padding:var(--space-16);border-radius:var(--radius-md)}.card-lg{padding:var(--space-32);border-radius:var(--radius-xl)}.card-header{margin-bottom:var(--space-20);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.card-footer{margin-top:var(--space-20);padding-top:var(--space-16);border-top:1px solid var(--color-border)}.badge{display:inline-flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap;letter-spacing:.01em}.badge-recruiting{background:var(--color-green-subtle);color:var(--color-green-text)}.badge-closed{background:#8e8e9a1a;color:var(--color-text-secondary)}.badge-started,.badge-info{background:var(--color-blue-subtle);color:var(--color-blue)}.badge-expired,.badge-danger{background:var(--color-red-subtle);color:var(--color-red-text)}.badge-ascension{font-weight:800;font-size:13px;padding:5px 12px;border-radius:6px;letter-spacing:-.02em;border:1px solid transparent;transition:all .2s ease}.badge-asc-0{background:#8e8e9a1a;color:#8e8e9a;border-color:#8e8e9a26}.badge-asc-1,.badge-asc-2,.badge-asc-3{background:#30d1581a;color:#5ad97e;border-color:#30d15833}.badge-asc-4,.badge-asc-5,.badge-asc-6{background:#3182f61a;color:#5a9eff;border-color:#3182f633}.badge-asc-7,.badge-asc-8{background:#bf5af21a;color:#ca7df5;border-color:#bf5af233}.badge-asc-9{background:#ff9f0a1a;color:#ffb340;border-color:#ff9f0a40;box-shadow:0 0 6px #ff9f0a26}.badge-asc--1{background:#7878821f;color:var(--color-text-secondary);border-color:#78788240}.badge-asc-10{background:linear-gradient(135deg,#ff453a26,#ffd60a1f);color:#ff6961;border-color:#ff453a4d;box-shadow:0 0 10px #ff453a40,0 0 20px #ff453a1a;text-shadow:0 0 8px rgba(255,69,58,.4)}.badge-purple{background:var(--color-purple-subtle);color:var(--color-purple-text)}.badge-mode,.badge-warning{background:var(--color-yellow-subtle);color:var(--color-yellow-text)}.badge-cyan{background:var(--color-cyan-subtle);color:var(--color-cyan-text)}.badge-orange{background:var(--color-orange-subtle);color:var(--color-orange-text)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-24);width:100%}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--space-24);width:100%}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--space-24);width:100%}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8,.gap-sm{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.gap-md,.gap-16{gap:var(--space-16)}.gap-20{gap:var(--space-20)}.gap-lg,.gap-24{gap:var(--space-24)}.gap-32,.gap-xl{gap:var(--space-32)}.mt-auto{margin-top:auto}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh;min-height:100dvh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.chat-container{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-20);overflow-y:auto;flex:1}.chat-message{display:flex;gap:var(--space-10);max-width:80%;animation:chatFadeIn .25s ease}.chat-message-self{align-self:flex-end;flex-direction:row-reverse}.chat-message-other{align-self:flex-start}.chat-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-surface-elevated);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);overflow:hidden}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-bubble{padding:var(--space-12) var(--space-16);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-normal);word-break:break-word}.chat-message-self .chat-bubble{background:var(--color-blue);color:#fff;border-bottom-right-radius:var(--radius-xs)}.chat-message-other .chat-bubble{background:var(--color-surface);color:var(--color-text);border-bottom-left-radius:var(--radius-xs)}.chat-meta{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-4)}.chat-message-self .chat-meta{text-align:right}.chat-system{align-self:center;max-width:none;padding:var(--space-8) var(--space-16);background:var(--color-surface);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-secondary)}.chat-input-area{display:flex;align-items:flex-end;gap:var(--space-10);padding:var(--space-16) var(--space-20);background:var(--color-bg-elevated);border-top:1px solid var(--color-border)}.chat-input-area .form-input{flex:1;border-radius:var(--radius-full);padding:var(--space-10) var(--space-20)}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.divider{width:100%;height:1px;background:var(--color-border);border:none;margin:var(--space-16) 0}.divider-thick{height:8px;background:var(--color-bg)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#ffffff26}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}::selection{background:var(--color-blue);color:#fff}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-base)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-slow)}.slide-up-enter-from{opacity:0;transform:translateY(12px)}.slide-up-leave-to{opacity:0;transform:translateY(-8px)}.slide-right-enter-active,.slide-right-leave-active{transition:all var(--transition-slow)}.slide-right-enter-from{opacity:0;transform:translate(-16px)}.slide-right-leave-to{opacity:0;transform:translate(16px)}.scale-enter-active,.scale-leave-active{transition:all var(--transition-base)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 37%,var(--color-surface) 63%);background-size:400% 100%;animation:skeleton 1.8s ease infinite;border-radius:var(--radius-sm)}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin .8s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-surface-overlay);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--space-32);max-width:480px;width:calc(100% - var(--space-48));max-height:calc(100vh - var(--space-64));overflow-y:auto;box-shadow:var(--shadow-xl);z-index:var(--z-modal)}.modal-header{margin-bottom:var(--space-24)}.modal-header h2,.modal-header h3{margin-bottom:var(--space-8)}.modal-footer{margin-top:var(--space-24);display:flex;gap:var(--space-10);justify-content:flex-end}.toast{position:fixed;bottom:var(--space-32);left:50%;transform:translate(-50%);padding:var(--space-12) var(--space-24);background:var(--color-surface-elevated);color:var(--color-text);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-float);z-index:var(--z-toast);animation:toastIn .3s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-64) var(--space-24);text-align:center;color:var(--color-text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-16);opacity:.3}.empty-state-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-8)}.empty-state-desc{font-size:var(--text-sm);color:var(--color-text-tertiary);max-width:320px}.list-item{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-16) var(--space-20);transition:background var(--transition-fast);cursor:pointer;border-radius:var(--radius-md)}.list-item:hover{background:var(--color-surface-hover)}.list-item+.list-item{border-top:1px solid var(--color-border)}.list-item-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-surface-elevated);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--text-lg)}.list-item-content{flex:1;min-width:0}.list-item-title{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text)}.list-item-desc{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2)}.list-item-trailing{font-size:var(--text-sm);color:var(--color-text-secondary);flex-shrink:0}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.tab{padding:var(--space-12) var(--space-16);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-tertiary);border:none;background:none;cursor:pointer;position:relative;transition:color var(--transition-base)}.tab:hover{color:var(--color-text-secondary)}.tab.is-active{color:var(--color-text);font-weight:var(--weight-semibold)}.tab.is-active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--color-blue);border-radius:1px}.tabs-pill{display:flex;gap:var(--space-6);border:none;background:var(--color-surface);padding:var(--space-4);border-radius:var(--radius-sm)}.tabs-pill .tab{border-radius:var(--radius-xs);padding:var(--space-8) var(--space-16)}.tabs-pill .tab.is-active{background:var(--color-surface-elevated)}.tabs-pill .tab.is-active:after{display:none}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-surface-elevated);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--text-lg)}.avatar-xl{width:72px;height:72px;font-size:var(--text-xl)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--space-6) var(--space-12);background:var(--color-surface-elevated);color:var(--color-text);font-size:var(--text-xs);border-radius:var(--radius-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast);box-shadow:var(--shadow-md)}.tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(-8px)}@media (max-width: 1024px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){:root{--text-4xl: 28px;--text-3xl: 24px;--text-2xl: 20px;--text-xl: 18px}.container,.container-narrow,.container-wide{padding:0 var(--space-16)}.card{padding:var(--space-20);border-radius:var(--radius-md)}.card-lg{padding:var(--space-24)}.modal{padding:var(--space-24);border-radius:var(--radius-lg);width:calc(100% - var(--space-32))}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.chat-message{max-width:88%}.btn-stack-mobile{flex-direction:column;width:100%}.btn-stack-mobile .btn{width:100%}.hide-mobile{display:none!important}}@media (max-width: 480px){:root{--text-4xl: 24px;--text-3xl: 22px;--text-2xl: 18px}.container,.container-narrow,.container-wide{padding:0 var(--space-16)}.card{padding:var(--space-16)}}.show-mobile{display:none!important}@media (max-width: 768px){.show-mobile{display:flex!important}}:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media print{body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ddd}}
