@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";.app-header[data-v-c81d5820]{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-c81d5820]{max-width:1200px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between}.header-left[data-v-c81d5820]{display:flex;align-items:center;gap:32px}.site-logo[data-v-c81d5820]{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-c81d5820]{width:26px;height:26px;flex-shrink:0}.site-logo[data-v-c81d5820]:hover{opacity:.85}.header-nav[data-v-c81d5820]{display:flex;gap:20px}.nav-link[data-v-c81d5820]{font-size:14px;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:color .15s}.nav-link[data-v-c81d5820]:hover,.nav-link.router-link-active[data-v-c81d5820]{color:var(--color-text)}.nav-link-external[data-v-c81d5820]:after{content:"↗";font-size:10px;margin-left:2px;opacity:.6}.header-right[data-v-c81d5820]{display:flex;align-items:center;gap:14px}.lang-dropdown[data-v-c81d5820]{position:relative}.btn-lang[data-v-c81d5820]{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}.btn-lang[data-v-c81d5820]:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.lang-menu[data-v-c81d5820]{position:absolute;top:100%;right:0;margin-top:4px;min-width:120px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;padding:4px 0;box-shadow:0 4px 16px #00000040;z-index:200}.lang-item[data-v-c81d5820]{padding:8px 14px;font-size:13px;color:var(--color-text);cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.lang-item[data-v-c81d5820]:hover{background:#ffffff0f}.lang-item.selected[data-v-c81d5820]{color:var(--color-primary, #5865f2);font-weight:600}.btn-steam-header[data-v-c81d5820]{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;background:#1b2838;color:#66c0f4;border:1px solid rgba(102,192,244,.25);border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:all .15s}.btn-steam-header[data-v-c81d5820]:hover{background:#2a475e;border-color:#66c0f4;color:#fff}.user-nickname[data-v-c81d5820]{font-size:14px;font-weight:600;color:var(--color-text)}.settings-dropdown[data-v-c81d5820]{position:relative;display:flex;align-items:center;gap:14px}.identity-form[data-v-c81d5820]{position:absolute;top:100%;right:0;margin-top:8px;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 #00000040;z-index:201}.identity-backdrop[data-v-c81d5820]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199}.identity-form .form-group[data-v-c81d5820]{display:flex;flex-direction:column;gap:6px}.identity-form .form-label[data-v-c81d5820]{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.identity-form .form-input[data-v-c81d5820]{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-c81d5820]:focus{border-color:var(--color-accent)}.identity-form .form-actions[data-v-c81d5820]{display:flex;gap:8px}@media (max-width: 600px){.header-nav[data-v-c81d5820]{display:none}.identity-form[data-v-c81d5820]{right:-60px}}.app[data-v-741ef6cd]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-741ef6cd]{flex:1;padding:24px;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}.app-popup[data-v-741ef6cd]{height:100vh;overflow:hidden}.popup-content[data-v-741ef6cd]{flex:1;min-height:0}.post-card[data-v-e1fbbccc]{position:relative;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-e1fbbccc]:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 8px 24px #0000001f}.post-card.is-alarming[data-v-e1fbbccc]{border-color:#f5a524;box-shadow:0 0 0 2px #f5a52459,0 8px 24px #f5a5242e;animation:alarm-pulse-e1fbbccc 1.1s ease-in-out infinite}@keyframes alarm-pulse-e1fbbccc{0%,to{box-shadow:0 0 0 2px #f5a52459,0 8px 24px #f5a5242e}50%{box-shadow:0 0 0 4px #f5a5248c,0 8px 28px #f5a52452}}.alarm-ribbon[data-v-e1fbbccc]{display:flex;align-items:center;gap:6px;padding:6px 12px;margin:-8px -8px 4px;background:linear-gradient(90deg,#f5a5242e,#f5a5240f);color:#f5a524;border:1px solid rgba(245,165,36,.35);border-radius:10px;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.alarm-dot[data-v-e1fbbccc]{width:8px;height:8px;border-radius:50%;background:#f5a524;box-shadow:0 0 6px #f5a524cc;animation:alarm-blink-e1fbbccc .9s ease-in-out infinite}@keyframes alarm-blink-e1fbbccc{0%,to{opacity:1}50%{opacity:.3}}.card-header[data-v-e1fbbccc]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-title[data-v-e1fbbccc]{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-e1fbbccc]{display:flex;gap:6px}.card-footer[data-v-e1fbbccc]{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-e1fbbccc]{display:flex;align-items:center;gap:8px}.player-count[data-v-e1fbbccc]{font-weight:600;color:var(--color-accent)}.separator[data-v-e1fbbccc]{color:var(--color-border);font-size:10px}.author-name[data-v-e1fbbccc]{color:var(--color-text-secondary)}.author-ip[data-v-e1fbbccc]{color:var(--color-text-muted);font-size:11px}.time-ago[data-v-e1fbbccc]{font-size:12px;color:var(--color-text-muted)}.card-join[data-v-e1fbbccc]{display:flex;margin-bottom:-6px}.btn-join[data-v-e1fbbccc]{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-e1fbbccc]:hover{background:#66c0f429;border-color:#66c0f473}.badge-dc[data-v-e1fbbccc]{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}.badge-jp[data-v-e1fbbccc]{background:#bc002d26;color:#ff4d6a;border:1px solid rgba(188,0,45,.3);font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;letter-spacing:.5px}.post-filter[data-v-eb83508f]{display:flex;flex-direction:column;gap:0;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.filter-row[data-v-eb83508f]{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.filter-tail[data-v-eb83508f]{display:flex;align-items:center;gap:12px;margin-left:auto;padding-bottom:4px}.alarm-toggle[data-v-eb83508f]{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.alarm-toggle[data-v-eb83508f]:hover{border-color:#f5a524;color:#f5a524}.alarm-toggle.active[data-v-eb83508f]{background:#f5a5241f;border-color:#f5a5248c;color:#f5a524}.alarm-toggle.ringing[data-v-eb83508f]{animation:alarm-toggle-pulse-eb83508f 1s ease-in-out infinite}@keyframes alarm-toggle-pulse-eb83508f{0%,to{box-shadow:0 0 #f5a52480}50%{box-shadow:0 0 0 6px #f5a52400}}.realtime-badge[data-v-eb83508f]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.realtime-dot[data-v-eb83508f]{width:6px;height:6px;border-radius:50%;background:#5865f2;animation:pulse-eb83508f 2s infinite}@keyframes pulse-eb83508f{0%,to{opacity:1}50%{opacity:.3}}.filter-group[data-v-eb83508f]{display:flex;flex-direction:column;gap:4px;min-width:120px}.filter-label[data-v-eb83508f]{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.dropdown[data-v-eb83508f]{position:relative}.dropdown-trigger[data-v-eb83508f]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:120px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:14px;cursor:pointer;transition:border-color .15s;-webkit-user-select:none;user-select:none}.dropdown-trigger[data-v-eb83508f]:hover{border-color:var(--color-border-strong, #555)}.chevron[data-v-eb83508f]{color:var(--color-text-secondary, #888);transition:transform .2s ease;flex-shrink:0}.chevron.open[data-v-eb83508f]{transform:rotate(180deg)}.dropdown-menu[data-v-eb83508f]{position:absolute;top:100%;left:0;margin-top:4px;min-width:100%;background:var(--color-surface, #1a1a2e);border:1px solid var(--color-border, #333);border-radius:10px;padding:4px 0;box-shadow:0 4px 16px #00000040;z-index:100}.dropdown-item[data-v-eb83508f]{padding:8px 14px;font-size:13px;color:var(--color-text, #eee);cursor:pointer;transition:background .1s;-webkit-user-select:none;user-select:none}.dropdown-item[data-v-eb83508f]:hover{background:#ffffff0f}.dropdown-item.selected[data-v-eb83508f]{color:var(--color-primary, #5865f2);font-weight:600}.dropdown-check[data-v-eb83508f]{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:13px;color:var(--color-text, #eee);transition:background .1s;-webkit-user-select:none;user-select:none}.dropdown-check[data-v-eb83508f]:hover{background:#ffffff0f}.dropdown-check input[type=checkbox][data-v-eb83508f]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #5865f2)}.mode-section-label[data-v-eb83508f]{padding:6px 14px 2px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-muted, #666)}.range-panel[data-v-eb83508f]{margin-top:16px;padding:16px;background:var(--color-bg, #f7f8fa);border-radius:10px;border:1px solid var(--color-border, #eee)}.range-header[data-v-eb83508f]{display:flex;align-items:center;margin-bottom:12px}.range-badge[data-v-eb83508f]{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--color-primary, #5865f2);color:#fff}.dual-range[data-v-eb83508f]{position:relative;height:32px;display:flex;align-items:center}.range-track[data-v-eb83508f]{position:absolute;left:0;right:0;height:6px;background:var(--color-border, #ddd);border-radius:3px;pointer-events:none}.range-fill[data-v-eb83508f]{position:absolute;height:100%;background:var(--color-primary, #5865f2);border-radius:3px;transition:left .1s,width .1s}.range-input[data-v-eb83508f]{position:absolute;width:100%;height:6px;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;pointer-events:none;outline:none;margin:0}.range-input[data-v-eb83508f]::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--color-primary, #5865f2);box-shadow:0 2px 6px #00000026;pointer-events:all;cursor:pointer;transition:box-shadow .15s,transform .15s}.range-input[data-v-eb83508f]::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 10px #5865f259}.range-input[data-v-eb83508f]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--color-primary, #5865f2);box-shadow:0 2px 6px #00000026;pointer-events:all;cursor:pointer}.range-ticks[data-v-eb83508f]{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-secondary, #999);margin-top:4px;padding:0 2px}.slide-enter-active[data-v-eb83508f],.slide-leave-active[data-v-eb83508f]{transition:all .25s ease;overflow:hidden}.slide-enter-from[data-v-eb83508f],.slide-leave-to[data-v-eb83508f]{opacity:0;max-height:0;margin-top:0;padding-top:0;padding-bottom:0}.slide-enter-to[data-v-eb83508f],.slide-leave-from[data-v-eb83508f]{opacity:1;max-height:150px}@media (max-width: 600px){.filter-row[data-v-eb83508f]{flex-direction:column;align-items:stretch}.filter-group[data-v-eb83508f],.dropdown-trigger[data-v-eb83508f]{width:100%}}.post-list-page[data-v-9aed4b46]{display:flex;flex-direction:column;gap:28px;padding-top:8px}.page-header[data-v-9aed4b46]{display:flex;align-items:center;justify-content:space-between}.page-title[data-v-9aed4b46]{font-size:26px;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.5px}.post-grid[data-v-9aed4b46]{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;min-height:400px}.loading-state[data-v-9aed4b46],.empty-state[data-v-9aed4b46]{text-align:center;padding:80px 20px;color:var(--color-text-secondary);font-size:15px}.pagination[data-v-9aed4b46]{display:flex;align-items:center;justify-content:center;gap:6px;padding:28px 0}@media (max-width: 768px){.post-grid[data-v-9aed4b46]{grid-template-columns:1fr}}.login-page[data-v-97205824]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px)}.login-card[data-v-97205824]{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-97205824]{margin-bottom:16px}.login-title[data-v-97205824]{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 8px}.login-subtitle[data-v-97205824]{color:var(--color-text-secondary);margin:0 0 32px;font-size:14px}.identity-form[data-v-97205824]{display:flex;flex-direction:column;gap:16px;text-align:left}.form-group[data-v-97205824]{display:flex;flex-direction:column;gap:6px}.form-label[data-v-97205824]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-input[data-v-97205824]{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-97205824]:focus{border-color:var(--color-accent)}.btn-full[data-v-97205824]{width:100%;padding:12px;font-size:15px;margin-top:4px}.hint-text[data-v-97205824]{text-align:center;font-size:12px;color:var(--color-text-muted);margin:0}.post-create-page[data-v-6e3d1e53]{max-width:600px;margin:0 auto;padding-top:8px}.page-title[data-v-6e3d1e53]{font-size:24px;font-weight:800;color:var(--color-text);margin:0 0 24px;letter-spacing:-.5px}.create-form[data-v-6e3d1e53]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:20px}.form-group[data-v-6e3d1e53]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-6e3d1e53]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-hint[data-v-6e3d1e53]{font-size:12px;font-weight:400;color:var(--color-text-muted);margin-left:4px}.form-input[data-v-6e3d1e53],.form-select[data-v-6e3d1e53]{height:46px;padding:0 14px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:14px;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.form-input[data-v-6e3d1e53]:focus,.form-select[data-v-6e3d1e53]:focus{border-color:var(--color-accent)}.form-input[data-v-6e3d1e53]::placeholder{color:var(--color-text-muted)}.form-input[data-v-6e3d1e53]:-webkit-autofill,.form-input[data-v-6e3d1e53]:-webkit-autofill:hover,.form-input[data-v-6e3d1e53]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-bg) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text)}.input-with-action[data-v-6e3d1e53]{display:flex;gap:8px}.input-with-action .form-input[data-v-6e3d1e53]{flex:1}.btn-steam-inline[data-v-6e3d1e53]{display:flex;align-items:center;gap:6px;padding:0 16px;height:46px;background:#1b2838;color:#66c0f4;border:1.5px solid rgba(102,192,244,.25);border-radius:12px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:all .15s}.btn-steam-inline[data-v-6e3d1e53]:hover{background:#2a475e;border-color:#66c0f4;color:#fff}.form-row-3[data-v-6e3d1e53]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.form-error[data-v-6e3d1e53]{font-size:12px;color:var(--color-danger)}.error-banner[data-v-6e3d1e53]{background:#ef444414;border:1px solid var(--color-danger);color:var(--color-danger);padding:12px 16px;border-radius:12px;font-size:14px}.form-actions[data-v-6e3d1e53]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.btn-dc[data-v-6e3d1e53]{background:#1a4fa0;color:#fff;border:none;font-weight:600}.btn-dc[data-v-6e3d1e53]:hover{background:#133d80}@media (max-width: 600px){.create-form[data-v-6e3d1e53]{padding:24px}.form-row-3[data-v-6e3d1e53]{grid-template-columns:1fr 1fr}.form-row-3 .form-group[data-v-6e3d1e53]:last-child{grid-column:span 2}}.loading-state[data-v-d20423d5]{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.post-detail[data-v-d20423d5]{width:100%}.detail-layout[data-v-d20423d5]{max-width:700px;margin:0 auto}.post-info-card[data-v-d20423d5]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:28px}.post-header[data-v-d20423d5]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.post-title[data-v-d20423d5]{font-size:24px;font-weight:800;color:var(--color-text);margin:0;flex:1;letter-spacing:-.5px}.post-meta-grid[data-v-d20423d5]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.meta-item[data-v-d20423d5]{display:flex;flex-direction:column;gap:4px}.meta-label[data-v-d20423d5]{font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.player-control[data-v-d20423d5]{display:flex;align-items:center;gap:8px}.btn-player[data-v-d20423d5]{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-d20423d5]:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-player[data-v-d20423d5]:disabled{opacity:.3;cursor:not-allowed}.player-count[data-v-d20423d5]{font-size:16px;font-weight:600;color:var(--color-text)}.author-info[data-v-d20423d5]{display:flex;align-items:center;gap:6px;color:var(--color-text)}.author-avatar-sm[data-v-d20423d5]{width:20px;height:20px;border-radius:50%}.author-ip[data-v-d20423d5]{color:var(--color-text-muted);font-size:12px}.join-link-section[data-v-d20423d5]{margin-bottom:20px}.join-link-row[data-v-d20423d5]{display:flex;align-items:center;gap:8px;margin-top:6px}.join-link-text[data-v-d20423d5]{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-d20423d5]:hover{text-decoration:underline}.btn-steam[data-v-d20423d5]{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-d20423d5]:hover{background:#66c0f4;color:#1b2838}.author-actions[data-v-d20423d5]{display:flex;justify-content:flex-end;align-items:center;padding-top:16px;border-top:1px solid var(--color-border)}.actions-right[data-v-d20423d5]{display:flex;align-items:center;gap:6px}.action-btn[data-v-d20423d5]{padding:7px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:background .15s ease,opacity .15s ease}.action-btn[data-v-d20423d5]:active{transform:scale(.97)}.action-muted[data-v-d20423d5]{background:var(--color-bg, #f2f3f5);color:var(--color-text-secondary, #8b95a1)}.action-muted[data-v-d20423d5]:hover{background:var(--color-border, #e5e8eb);color:var(--color-text, #333)}.action-close[data-v-d20423d5]{background:#ef44441a;color:#ef4444}.action-close[data-v-d20423d5]:hover{background:#ef44442e}.source-badge[data-v-d20423d5]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#3b82f60f;border:1px solid rgba(59,130,246,.15);border-radius:10px;margin-bottom:16px}.source-tag[data-v-d20423d5]{background:#3b82f6;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;letter-spacing:.5px}.source-tag-jp[data-v-d20423d5]{background:#bc002d}.source-link[data-v-d20423d5]{font-size:13px;color:#3b82f6;text-decoration:none;font-weight:500}.source-link[data-v-d20423d5]:hover{text-decoration:underline}.edit-form[data-v-d20423d5]{padding:4px;display:flex;flex-direction:column;gap:16px}.edit-error[data-v-d20423d5]{padding:10px 14px;background:#ef444414;color:var(--color-danger);border-radius:8px;font-size:13px}.edit-row-3[data-v-d20423d5]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.edit-form .form-group[data-v-d20423d5]{display:flex;flex-direction:column;gap:6px}.edit-form .form-label[data-v-d20423d5]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.edit-form .form-input[data-v-d20423d5],.edit-form .form-select[data-v-d20423d5]{width:100%;padding:var(--space-12, 10px) var(--space-16, 14px);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-sm, 8px);color:var(--color-text);font-size:14px;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.edit-form .form-input[data-v-d20423d5]:focus,.edit-form .form-select[data-v-d20423d5]:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px var(--color-blue-subtle);background:var(--color-bg-elevated)}.edit-actions[data-v-d20423d5]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media (max-width: 600px){.edit-row-3[data-v-d20423d5]{grid-template-columns:1fr}}.chat-enter-card[data-v-d20423d5]{display:flex;align-items:center;gap:14px;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:20px 24px;margin-top:16px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.chat-enter-card[data-v-d20423d5]:hover{border-color:var(--color-accent);background:var(--color-surface-elevated, var(--color-surface))}.chat-enter-icon[data-v-d20423d5]{color:var(--color-accent);flex-shrink:0}.chat-enter-text[data-v-d20423d5]{flex:1;display:flex;flex-direction:column;gap:2px}.chat-enter-title[data-v-d20423d5]{font-size:16px;font-weight:700;color:var(--color-text)}.chat-enter-desc[data-v-d20423d5]{font-size:13px;color:var(--color-text-muted)}.chat-enter-arrow[data-v-d20423d5]{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.chat-enter-card:hover .chat-enter-arrow[data-v-d20423d5]{transform:translate(3px);color:var(--color-accent)}.board-page[data-v-15260703]{display:flex;flex-direction:column;gap:16px;padding-top:8px}.board-header[data-v-15260703]{display:flex;align-items:center;justify-content:space-between}.board-title[data-v-15260703]{font-size:22px;font-weight:800;color:var(--color-text);margin:0;letter-spacing:-.5px}.board-table-wrap[data-v-15260703]{overflow-x:auto}.board-table[data-v-15260703]{width:100%;border-collapse:collapse;font-size:13px}.board-table thead th[data-v-15260703]{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-15260703]{padding:9px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text);vertical-align:middle}.board-row[data-v-15260703]{cursor:pointer;transition:background .12s ease}.board-row[data-v-15260703]:hover{background:var(--color-surface-hover)}.board-empty[data-v-15260703]{text-align:center;padding:60px 20px!important;color:var(--color-text-secondary);font-size:14px}.col-no[data-v-15260703]{width:60px;text-align:center;color:var(--color-text-secondary);font-size:12px}.col-title[data-v-15260703]{min-width:200px}.article-title-text[data-v-15260703]{color:var(--color-text)}.comment-count[data-v-15260703]{margin-left:6px;color:var(--color-blue);font-weight:700;font-size:12px}.col-author[data-v-15260703]{width:140px;white-space:nowrap}.author-nick[data-v-15260703]{font-weight:500;color:var(--color-text);font-size:12px}.author-ip[data-v-15260703]{color:var(--color-text-tertiary);font-size:11px;margin-left:2px}.col-views[data-v-15260703]{width:60px;text-align:center;color:var(--color-text-secondary);font-size:12px}.col-date[data-v-15260703]{width:80px;text-align:center;color:var(--color-text-secondary);font-size:12px;white-space:nowrap}.board-pagination[data-v-15260703]{display:flex;align-items:center;justify-content:center;gap:4px;padding:20px 0}.page-btn[data-v-15260703]{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-15260703]:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.page-btn[data-v-15260703]:disabled{opacity:.3;cursor:not-allowed}.page-btn-active[data-v-15260703]{background:var(--color-blue);color:#fff;font-weight:700}.page-btn-active[data-v-15260703]:hover{background:var(--color-blue-hover);color:#fff}@media (max-width: 600px){.col-no[data-v-15260703],.col-views[data-v-15260703]{display:none}.col-author[data-v-15260703]{width:80px}.board-table[data-v-15260703]{font-size:12px}.board-table thead th[data-v-15260703],.board-table tbody td[data-v-15260703]{padding:8px}}.board-create-page[data-v-704d8496]{max-width:600px;margin:0 auto;padding-top:8px}.page-title[data-v-704d8496]{font-size:24px;font-weight:800;color:var(--color-text);margin:0 0 24px;letter-spacing:-.5px}.create-form[data-v-704d8496]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:20px}.form-row-2[data-v-704d8496]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-group[data-v-704d8496]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-704d8496]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.form-hint[data-v-704d8496]{font-size:12px;font-weight:400;color:var(--color-text-muted);margin-left:4px}.form-input[data-v-704d8496],.form-textarea[data-v-704d8496]{width:100%;height:46px;padding:0 14px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;color:var(--color-text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.form-input[data-v-704d8496]:focus,.form-textarea[data-v-704d8496]:focus{border-color:var(--color-accent)}.form-input[data-v-704d8496]::placeholder,.form-textarea[data-v-704d8496]::placeholder{color:var(--color-text-muted)}.form-textarea[data-v-704d8496]{height:auto;padding:14px;resize:vertical;min-height:200px;line-height:1.7}.form-error[data-v-704d8496]{font-size:12px;color:var(--color-danger)}.error-banner[data-v-704d8496]{background:#ef444414;border:1px solid var(--color-danger);color:var(--color-danger);padding:12px 16px;border-radius:12px;font-size:14px}.form-actions[data-v-704d8496]{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media (max-width: 600px){.form-row-2[data-v-704d8496]{grid-template-columns:1fr}.create-form[data-v-704d8496]{padding:24px}}.loading-state[data-v-879e9a9f]{text-align:center;padding:60px 20px;color:var(--color-text-secondary)}.board-detail-page[data-v-879e9a9f]{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:20px;padding-top:8px}.article-card[data-v-879e9a9f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.article-header[data-v-879e9a9f]{padding:24px 24px 16px;border-bottom:1px solid var(--color-border)}.article-title[data-v-879e9a9f]{font-size:20px;font-weight:700;color:var(--color-text);margin:0 0 12px;line-height:1.4}.article-meta[data-v-879e9a9f]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary);flex-wrap:wrap}.meta-author[data-v-879e9a9f]{display:inline-flex;align-items:center;gap:3px}.author-nick[data-v-879e9a9f]{font-weight:600;color:var(--color-text);font-size:13px}.author-ip[data-v-879e9a9f]{color:var(--color-text-tertiary);font-size:11px}.meta-divider[data-v-879e9a9f]{color:var(--color-border-strong)}.article-content[data-v-879e9a9f]{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-879e9a9f]{margin:0}.article-actions[data-v-879e9a9f]{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--color-border)}.action-right[data-v-879e9a9f]{display:flex;gap:8px}.edit-form[data-v-879e9a9f]{padding:24px;display:flex;flex-direction:column;gap:16px}.edit-error[data-v-879e9a9f]{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-879e9a9f]{display:flex;flex-direction:column;gap:6px}.edit-form .form-label[data-v-879e9a9f]{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.edit-form .form-input[data-v-879e9a9f],.edit-form .form-textarea[data-v-879e9a9f]{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-879e9a9f]:focus,.edit-form .form-textarea[data-v-879e9a9f]:focus{border-color:var(--color-blue)}.edit-form .form-textarea[data-v-879e9a9f]{resize:vertical;min-height:200px;line-height:1.7}.edit-actions[data-v-879e9a9f]{display:flex;justify-content:flex-end;gap:8px}.comments-section[data-v-879e9a9f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.comments-header[data-v-879e9a9f]{display:flex;align-items:center;gap:6px;padding:16px 24px;border-bottom:1px solid var(--color-border)}.comments-title[data-v-879e9a9f]{font-size:14px;font-weight:700;color:var(--color-text)}.comments-count[data-v-879e9a9f]{font-size:14px;font-weight:700;color:var(--color-blue)}.comments-empty[data-v-879e9a9f]{padding:40px 24px;text-align:center;color:var(--color-text-secondary);font-size:13px}.comment-item[data-v-879e9a9f]{padding:14px 24px;border-bottom:1px solid var(--color-border)}.comment-item[data-v-879e9a9f]:last-child{border-bottom:none}.comment-header[data-v-879e9a9f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.comment-author[data-v-879e9a9f]{display:inline-flex;align-items:center;gap:3px}.comment-right[data-v-879e9a9f]{display:flex;align-items:center;gap:10px}.comment-date[data-v-879e9a9f]{font-size:11px;color:var(--color-text-tertiary)}.comment-delete-btn[data-v-879e9a9f]{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-879e9a9f]:hover{color:var(--color-red-text);background:var(--color-red-subtle)}.comment-content[data-v-879e9a9f]{font-size:13px;line-height:1.6;color:var(--color-text);word-break:break-word}.comment-form[data-v-879e9a9f]{border-top:1px solid var(--color-border);padding:16px 24px}.comment-form-top[data-v-879e9a9f]{display:flex;gap:10px;margin-bottom:10px}.comment-input-field[data-v-879e9a9f]{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-879e9a9f]:focus{border-color:var(--color-blue)}.comment-input-field[data-v-879e9a9f]::placeholder{color:var(--color-text-tertiary)}.comment-form-bottom[data-v-879e9a9f]{display:flex;gap:10px;align-items:flex-end}.comment-textarea[data-v-879e9a9f]{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-879e9a9f]:focus{border-color:var(--color-blue)}.comment-textarea[data-v-879e9a9f]::placeholder{color:var(--color-text-tertiary)}.comment-submit-btn[data-v-879e9a9f]{align-self:flex-end;height:70px;min-width:70px}@media (max-width: 600px){.article-header[data-v-879e9a9f],.article-content[data-v-879e9a9f],.article-actions[data-v-879e9a9f],.comments-header[data-v-879e9a9f],.comment-item[data-v-879e9a9f],.comment-form[data-v-879e9a9f]{padding-left:16px;padding-right:16px}.article-title[data-v-879e9a9f]{font-size:17px}.comment-form-top[data-v-879e9a9f]{flex-direction:column}.comment-input-field[data-v-879e9a9f]{width:100%}.comment-form-bottom[data-v-879e9a9f]{flex-direction:column}.comment-submit-btn[data-v-879e9a9f]{width:100%;height:auto;min-width:auto}}.chat-input-container[data-v-90696369]{display:flex;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--color-border)}.nickname-input[data-v-90696369]{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-90696369]:focus{border-color:var(--color-accent)}.nickname-input[data-v-90696369]::placeholder{color:var(--color-text-muted)}.chat-input[data-v-90696369]{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-90696369]:focus{border-color:var(--color-accent)}.chat-input[data-v-90696369]:disabled{opacity:.5;cursor:not-allowed}.chat-input[data-v-90696369]::placeholder{color:var(--color-text-muted)}.send-button[data-v-90696369]{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-90696369]:hover:not(:disabled){opacity:.85}.send-button[data-v-90696369]:disabled{opacity:.4;cursor:not-allowed}.chat-room[data-v-45787400]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;height:600px}.chat-header[data-v-45787400]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border)}.chat-title[data-v-45787400]{font-size:16px;font-weight:600;color:var(--color-text);margin:0}.connection-status[data-v-45787400]{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:6px}.connection-status[data-v-45787400]:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.connection-status.online[data-v-45787400]:before{background:var(--color-success)}.messages-container[data-v-45787400]{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:8px}.chat-loading[data-v-45787400],.chat-empty[data-v-45787400]{text-align:center;color:var(--color-text-muted);padding:40px 20px;font-size:14px}.message-item[data-v-45787400]{display:flex;flex-direction:column}.system-message[data-v-45787400]{align-items:center}.system-msg-text[data-v-45787400]{font-size:12px;color:var(--color-text-muted);background:#ffffff0d;padding:4px 12px;border-radius:12px}.my-message[data-v-45787400]{align-items:flex-end}.other-message[data-v-45787400]{align-items:flex-start}.message-header[data-v-45787400]{margin-bottom:2px}.sender-name[data-v-45787400]{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.message-bubble[data-v-45787400]{max-width:75%;padding:10px 14px;border-radius:12px;position:relative}.my-message .message-bubble[data-v-45787400]{background:var(--color-accent);color:#fff;border-bottom-right-radius:4px}.other-message .message-bubble[data-v-45787400]{background:var(--color-surface-elevated);color:var(--color-text);border-bottom-left-radius:4px}.message-content[data-v-45787400]{margin:0;font-size:14px;line-height:1.5;word-break:break-word}.message-time[data-v-45787400]{font-size:10px;opacity:.7;margin-top:4px;display:block;text-align:right}.nickname-hint[data-v-45787400]{text-align:center;font-size:12px;color:var(--color-text-muted);padding:6px 20px 0}.chat-closed-banner[data-v-45787400]{text-align:center;font-size:13px;color:#ff6b6b;background:#ff6b6b1a;padding:10px 20px;border-top:1px solid var(--color-border);font-weight:600}.chat-popup[data-v-cde44c4d]{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.chat-popup-header[data-v-cde44c4d]{padding:12px 16px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.chat-popup-title[data-v-cde44c4d]{font-size:14px;font-weight:700;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-popup-body[data-v-cde44c4d]{flex:1;display:flex;flex-direction:column;min-height:0}.chat-popup-body[data-v-cde44c4d] .chat-room{height:100%;border:none;border-radius:0}.chat-popup-loading[data-v-cde44c4d]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:14px}: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-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 5000s ease-in-out 0s}.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='10' height='16' viewBox='0 0 10 16' fill='none'%3E%3Cpath d='M2 6L5 3L8 6' stroke='%238E8E9A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M2 10L5 13L8 10' stroke='%238E8E9A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%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}}
