:root{--color-bg-page: #131417;--color-bg-frame: #1a1c21;--color-bg-card: #262a32;--color-border: #383d47;--color-border-strong: #4d535f;--color-text-primary: #f6f7f8;--color-text-secondary: #c8ccd4;--color-text-muted: #9ba0aa;--color-accent: #6f9bf5;--color-accent-contrast: #ffffff;--color-accent-bg: #24365c;--color-accent-on-bg: #9dbcff;--color-ink: #e8ecf3;--color-ink-contrast: #131417;--color-ink-disabled: #4d535f;--color-neutral-bg: #2f333b;--color-danger: #f37c71;--color-alert: #ff5449;--color-success: #5fc164;--color-warning: #e3b341;--tt-hue-0: #6f9bf5;--tt-hue-1: #4caf7d;--tt-hue-2: #a78bfa;--tt-hue-3: #e0a458;--tt-hue-4: #4fb8b0;--tt-hue-5: #e08fc0;--tt-hue-6: #c9b23c;--tt-hue-7: #8b93f0;color-scheme:dark}:root{font-size:16px}:root[data-font-size=small]{font-size:15px}:root[data-font-size=large]{font-size:18px}:root[data-theme=light]{--color-bg-page: #f0f1f4;--color-bg-frame: #ffffff;--color-bg-card: #f5f6f8;--color-border: #e1e3e8;--color-border-strong: #c9ccd3;--color-text-primary: #16181c;--color-text-secondary: #454a52;--color-text-muted: #5c616b;--color-accent: #2f5fc4;--color-accent-contrast: #ffffff;--color-accent-bg: #e8f0fe;--color-accent-on-bg: #2f5fc4;--color-ink: #1e2b45;--color-ink-contrast: #ffffff;--color-ink-disabled: #b9c0cc;--color-neutral-bg: #eef0f3;--color-danger: #c4382d;--color-alert: #e0301e;--color-success: #2e7d32;--color-warning: #9a6700;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Pretendard,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;background:var(--color-bg-page);color:var(--color-text-primary);word-break:keep-all;overflow-wrap:break-word}.nowrap-unit{white-space:nowrap}.app-container{min-height:100vh;min-height:100dvh;min-height:var(--app-vh, 100dvh);display:flex;align-items:center;justify-content:center}.app-frame{position:relative;width:100%;max-width:420px;height:100vh;height:100dvh;height:var(--app-vh, 100dvh);max-height:900px;background:var(--color-bg-frame);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);box-shadow:0 12px 32px #0006}@media(max-width:480px){.app-frame{max-height:none;border:none;box-shadow:none}}.screen-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.screen-header-left{display:flex;align-items:center;gap:8px;color:var(--color-text-muted)}.screen-title{font-size:1.0625rem;font-weight:700;letter-spacing:-.3px;color:var(--color-text-primary)}.screen-title.screen-title-brand{white-space:nowrap;font-weight:800;color:var(--color-ink)}.brand-mark{display:inline-block;width:.74em;height:.74em;vertical-align:-.01em;margin-right:.08em}.brand-mark-done{stroke:var(--color-accent)}.brand-mark-now{stroke:#f2b33d}.brand-mark-rest{stroke:#2a3f6b}:root[data-theme=light] .brand-mark-rest{stroke:#dbe6fb}.back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--color-text-secondary);cursor:pointer}.avatar-btn{width:28px;height:28px;border-radius:50%;background:var(--color-bg-card);color:var(--color-text-secondary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.account-menu{position:relative;flex-shrink:0}.account-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:6px;box-shadow:0 8px 24px #00000040;z-index:20}.account-menu-item{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:6px;background:none;border:none;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.account-menu-item:hover:not(:disabled){background:var(--color-neutral-bg)}.account-menu-item:disabled{color:var(--color-text-muted);cursor:not-allowed}.account-menu-item.danger{color:var(--color-danger)}.account-menu-item-admin{color:var(--color-ink);font-weight:700}.account-menu-divider{height:1px;margin:6px 4px;background:var(--color-border)}.settings-theme-btn{flex:1;padding:10px;border-radius:10px;border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer}.settings-theme-btn.active{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);color:var(--color-ink);background:var(--color-bg-frame);font-weight:700}.language-switcher{display:flex;gap:6px}.language-switcher-btn{padding:5px 10px;border-radius:999px;border:1px solid var(--color-border);background:none;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer}.language-switcher-btn.active{border-color:var(--color-ink);color:var(--color-ink-contrast);background:var(--color-ink)}.settings-field-hint{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;margin:0 0 10px}@keyframes settings-highlight-pulse{0%,to{box-shadow:0 0 0 0 transparent;transform:scale(1);border-color:var(--color-border)}50%{box-shadow:0 0 0 5px var(--color-accent-bg);transform:scale(1.015);border-color:var(--color-accent)}}.settings-highlight{animation:settings-highlight-pulse .7s ease-in-out 3}@media(prefers-reduced-motion:reduce){.settings-highlight{animation:none;border-color:var(--color-accent)}}.prompt-bar{display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-bg-frame);flex-shrink:0}.prompt-bar-pill{flex:1;min-width:0;display:flex;align-items:center;border:1px solid var(--color-border-strong);border-radius:18px;padding:8px 12px;background:var(--color-bg-card);text-align:left;cursor:pointer}.prompt-bar-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:.875rem;font-family:inherit;color:var(--color-text-primary);resize:none;overflow-y:auto;line-height:1.4;max-height:120px}.prompt-bar-input:disabled{color:var(--color-text-muted)}.prompt-send-btn{width:32px;height:32px;border-radius:50%;background:var(--color-ink);color:var(--color-ink-contrast);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-size:1.0625rem}.prompt-send-btn:disabled{background:var(--color-ink-disabled);cursor:not-allowed}.auth-page{flex:1;display:flex;flex-direction:column;overflow-y:auto}.auth-body{flex:1;padding:24px 20px;display:flex;flex-direction:column;justify-content:center}.auth-heading{font-size:1.6875rem;font-weight:800;text-align:center;margin:0 0 8px;color:var(--color-text-primary)}.auth-subheading{line-height:1.5;font-size:.875rem;color:var(--color-text-muted);text-align:center;margin:0 0 32px}.auth-unofficial-badge{align-self:center;margin:0 0 12px;padding:4px 10px;border:1px solid var(--color-border-strong);border-radius:999px;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-align:center}.auth-field{margin-bottom:20px}.auth-remember-field{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:.875rem;color:var(--color-text-secondary);cursor:pointer}.auth-remember-field input{width:16px;height:16px;accent-color:var(--color-ink);cursor:pointer}.auth-field label{display:block;margin-bottom:6px;line-height:1.4;font-size:.875rem;color:var(--color-text-secondary)}.auth-field input,.auth-field textarea,.auth-field select{width:100%;padding:13px 14px;border:1px solid var(--color-border-strong);border-radius:10px;font-size:.9375rem;font-family:inherit;background:var(--color-bg-card);color:var(--color-text-primary)}.auth-field textarea{resize:vertical;line-height:1.5}:root[data-theme=light] .auth-page .auth-field input,:root[data-theme=light] .auth-page .auth-submit-btn--secondary{border-color:#a9adb6}:root[data-theme=light] .auth-page .auth-divider:before,:root[data-theme=light] .auth-page .auth-divider:after{background:#a9adb6}.auth-consent-field{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin:0 -8px 8px;border-radius:10px;font-size:.875rem;line-height:1.5;color:var(--color-text-secondary);cursor:pointer}.auth-consent-field input{flex-shrink:0;width:16px;height:16px;margin-top:3px;accent-color:var(--color-ink);cursor:pointer}.auth-consent-link{padding:0;font-size:inherit;text-decoration:underline}.auth-consent-needed{margin:8px 0 0;text-align:center}.auth-consent-needed--alert{color:var(--color-danger)}.auth-consent-field--nudge{background:color-mix(in srgb,var(--color-danger) 12%,transparent);box-shadow:0 0 0 2px var(--color-danger);color:var(--color-text-primary)}.auth-submit-btn:disabled,.auth-submit-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px}.auth-submit-btn{width:100%;padding:14px;margin-top:14px;background:var(--color-ink);color:var(--color-ink-contrast);border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer}.auth-divider{display:flex;align-items:center;gap:10px;margin:28px 0;font-size:.8125rem;color:var(--color-text-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-border-strong)}.auth-submit-btn--secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border-strong)}.auth-code-hint{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 12px}.auth-toggle-link--block{display:block;width:100%;margin-top:18px;text-align:center}.suspended-facts{margin:0 0 14px}.suspended-facts dd{white-space:pre-wrap;overflow-wrap:anywhere}.suspended-appeal{margin:0 0 20px;display:flex;flex-direction:column;gap:8px}.auth-body .suspended-delete{margin:12px 0 0}.auth-toggle-text{margin-top:28px;text-align:center;font-size:.875rem;color:var(--color-text-muted)}.auth-toggle-link{background:none;border:none;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:none;color:var(--color-accent);cursor:pointer}.auth-toggle-link:hover,.auth-toggle-link:focus-visible{text-decoration:underline}.auth-toggle-link:disabled{color:var(--color-text-muted);cursor:default}.auth-error{color:var(--color-danger);font-size:.875rem;margin:4px 0 0}.home-page{flex:1;display:flex;flex-direction:column;overflow:hidden}.home-body{flex:1;overflow-y:auto;padding:16px}.career-support-note{background:var(--color-neutral-bg);border:1px solid var(--color-border-strong);border-radius:12px;color:var(--color-text-primary);font-size:.9375rem;line-height:1.6;margin:0 0 12px;padding:14px 16px}.home-error{color:var(--color-danger);font-size:.875rem;margin:0 0 12px;white-space:pre-wrap}.load-error{padding:28px 20px;text-align:center}.load-error p{margin:0 0 12px;font-size:.875rem;color:var(--color-text-secondary);white-space:pre-wrap}.app-connect-error{flex:1;display:flex;align-items:center;justify-content:center}.load-error-retry{padding:8px 16px;border-radius:10px;border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text-primary);font-size:.8125rem;font-weight:600;cursor:pointer}.home-stale-note{margin:8px 0 0;font-size:.75rem;color:var(--color-text-muted)}.home-greeting{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 10px}.home-subgreeting{font-size:1rem;font-weight:700;margin:0;color:var(--color-text-primary)}.home-subgreeting-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px;margin:0 0 16px}.home-grade-fix-link.home-no-courses-link{display:block;margin:6px 0 0 23px;font-size:.8125rem;color:var(--color-accent)}.home-grade-fix-link{flex-shrink:0;background:none;border:none;padding:0;font-size:.75rem;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.home-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:14px;margin-bottom:12px}.change-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--color-accent);background:var(--color-accent-bg);border-radius:12px;padding:14px;margin-bottom:12px}.change-card h3{margin:0;font-size:.9375rem;line-height:1.4}.change-source{margin:0;font-size:.75rem;color:var(--color-text-muted)}.change-list,.change-updates{list-style:none;margin:0;padding:0}.change-list{display:flex;flex-direction:column;gap:8px}.change-list li{display:flex;flex-direction:column;gap:2px;font-size:.8125rem}.change-what{color:var(--color-text-secondary)}.change-delta{font-weight:700;color:var(--color-text-primary)}.change-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:.6875rem;font-weight:700}.change-tag--good{background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success)}.change-tag--bad{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.change-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:none;color:var(--color-text-secondary);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.change-updates{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--color-text-secondary)}.change-actions{display:flex;gap:8px}.change-actions .post-btn{flex:1}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton{background:var(--color-border);border-radius:6px;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-text{height:14px}.skeleton-greeting{width:55%;height:12px;margin-bottom:10px}.skeleton-subgreeting{width:70%;height:16px;margin-bottom:12px}.skeleton-card{display:flex;flex-direction:column;gap:10px}.skeleton-label{width:35%}.skeleton-credit{width:50%;height:28px}.skeleton-bar{width:100%;height:8px;border-radius:999px}.skeleton-row{width:90%}.home-card-label{font-size:.8125rem;line-height:1.4;font-weight:700;color:var(--color-text-muted);margin:0 0 10px}.home-card-row{display:flex;align-items:flex-start;gap:8px;line-height:1.5;font-size:.875rem;color:var(--color-text-secondary)}.multiline-text{white-space:pre-line}.home-card-row svg{flex-shrink:0;margin-top:1px;color:var(--color-text-muted)}.home-card-row.shortfall-danger svg{color:var(--color-danger)}.home-card-row.shortfall-ok svg{color:var(--color-success)}.home-credit-value{margin-bottom:10px}.home-credit-number{font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.5px;font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.home-credit-total{margin-left:2px;font-size:.9375rem;color:var(--color-text-muted)}.home-progress-track{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.home-progress-fill{height:100%;background:var(--color-accent)}.grad-remaining-text{margin:8px 0 0;font-size:.8125rem;color:var(--color-text-secondary)}.grad-category-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.grad-category-row .home-card-label{margin:0}.grad-category-value{font-size:.875rem;font-weight:700;color:var(--color-text-secondary)}.grad-category-value.satisfied{color:var(--color-success)}.grad-empty-notice{border-color:transparent;background:var(--color-neutral-bg)}.grad-empty-notice-text{margin:0 0 12px;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.6}.grad-trust-badge{display:inline-block;margin-left:8px;padding:1px 8px;border:1px solid var(--color-border-strong);border-radius:999px;font-size:.6875rem;font-weight:500;line-height:1.5;vertical-align:middle;color:var(--color-text-muted)}.grad-trust-badge.warn{color:var(--color-warning);border-color:var(--color-warning)}.grad-trust-badge.none{color:var(--color-danger);border-color:var(--color-danger)}.grad-trust-tag{margin-left:4px;font-size:.75rem;color:var(--color-warning)}.grad-trust-reason{margin:6px 0 0;font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.grad-basis-line{display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 12px;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.grad-basis-line strong{color:var(--color-text-secondary)}.grad-warning-card{border-color:color-mix(in srgb,var(--color-danger) 40%,var(--color-border))}.grad-warning-card .home-card-label{display:flex;align-items:center;gap:6px;color:var(--color-danger)}.grad-warning-lead{margin:0 0 6px;font-size:.875rem;font-weight:600}.grad-warning-list{margin:0 0 8px;padding-left:18px;font-size:.8125rem;line-height:1.6}.courses-warning-note{margin:0 0 12px;font-size:.8125rem;color:var(--color-danger)}.grad-near-graduation{margin:0 0 12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-warning) 45%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-warning) 8%,var(--color-bg-frame));font-size:.8125rem;line-height:1.5;color:var(--color-text-primary)}.grad-near-graduation p{margin:0}.grad-near-save-btn{margin-top:8px;padding:7px 12px;border:1px solid var(--color-ink);border-radius:8px;background:var(--color-bg-frame);color:var(--color-text-primary);font-size:.8125rem;font-weight:700;cursor:pointer}.grad-report-btn{align-self:center;margin:4px auto 16px;padding:8px 14px;border:1px solid var(--color-border-strong);border-radius:999px;background:transparent;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer}.grad-print-box{margin:8px 0 4px;text-align:center}.grad-print-btn{width:100%;padding:12px;border:1px solid var(--color-ink);border-radius:10px;background:var(--color-bg-frame);color:var(--color-text-primary);font-size:.9375rem;font-weight:700;cursor:pointer}.grad-print-box .grad-flex-note{margin-top:6px}.grad-print-sheet{display:none}@media print{@page{size:A4;margin:14mm 14mm 12mm}body.grad-printing{background:#fff!important}body.grad-printing>*:not(.grad-print-sheet){display:none!important}body.grad-printing .grad-print-sheet{display:block;color:#111;background:#fff;font-size:10pt;line-height:1.45;-webkit-print-color-adjust:exact;print-color-adjust:exact}.grad-print-sheet h1{margin:0 0 4pt;font-size:17pt}.grad-print-sheet h2{margin:12pt 0 4pt;font-size:11pt}.grad-print-sheet section{break-inside:avoid}.gps-header{padding-bottom:8pt;border-bottom:1.5pt solid #111}.gps-meta{margin:0;color:#333}.gps-fill{display:flex;gap:28pt;margin:8pt 0 0}.gps-fill span:after{content:"";display:inline-block;width:110pt;margin-left:6pt;border-bottom:.75pt solid #555}.gps-summary{margin-top:10pt;padding:8pt 10pt;border:1pt solid #999;border-radius:4pt}.gps-remaining{margin:0 0 5pt;font-size:14pt;font-weight:700}.gps-bar{height:7pt;border-radius:4pt;background:#e5e5e5;overflow:hidden}.gps-bar>div{height:100%;background:#333}.gps-total-line{margin:5pt 0 0}.gps-trust{margin-top:8pt}.gps-trust p{margin:0}.gps-trust ul{margin:3pt 0 0;padding-left:14pt;color:#333;font-size:9pt}.gps-basis{margin:0;padding-left:14pt;color:#444;font-size:8.5pt}.gps-basis li+li{margin-top:2pt}.gps-trust-level{font-weight:700}.gps-table{width:100%;border-collapse:collapse}.gps-table th,.gps-table td{padding:4pt 6pt;border-bottom:.5pt solid #bbb;text-align:left;vertical-align:top}.gps-table th{border-bottom:1pt solid #111;font-size:9pt;color:#333}.gps-num{white-space:nowrap;font-variant-numeric:tabular-nums}.gps-parts{display:block;color:#444;font-size:8.5pt}.gps-total td{border-top:1pt solid #111;border-bottom:none;font-weight:700}.gps-met{color:#1a6b35;white-space:nowrap}.gps-short{font-weight:700;white-space:nowrap}.gps-note{margin:4pt 0 0;color:#444;font-size:8.5pt}.gps-checklist{margin:0;padding:0;list-style:none}.gps-checklist li{padding:2pt 0}.gps-checklist li>span{display:inline-block;min-width:76pt;margin-right:6pt}.gps-check{color:#444}.gps-footer{margin-top:14pt;padding-top:6pt;border-top:.5pt solid #999;color:#444;font-size:8pt}}.grad-trust-more{margin:4px 0 0;font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.grad-trust-more summary{cursor:pointer}.grad-trust-more ul{margin:4px 0 0;padding-left:18px}.grad-overflow-note{margin:6px 0 0;font-size:.75rem;color:var(--color-text-muted)}.grad-flex-note{margin:8px 0 0;font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.grad-micro-item+.grad-micro-item{margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border)}.grad-micro-convergence{margin:0 0 12px;font-size:.8125rem;line-height:1.5}.grad-micro-name{margin:0;font-size:.875rem;font-weight:600}.grad-subcheck-row{display:flex;align-items:center;gap:8px;margin-top:8px}.grad-subcheck-label{margin:0;font-size:.75rem;color:var(--color-text-secondary)}.grad-cert-row{display:flex;align-items:flex-start;gap:10px}.grad-cert-check{flex-shrink:0;width:18px;height:18px;margin-top:1px;border-radius:50%;border:1.5px solid var(--color-border-strong);background:transparent;display:flex;align-items:center;justify-content:center}.grad-cert-check.satisfied{border-color:var(--color-success);background:var(--color-success);color:var(--color-bg-frame)}.grad-cert-row .home-card-label{font-size:.9375rem;color:var(--color-text-primary);margin-bottom:4px}.grad-cert-desc{margin:0;font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.grad-shortfall-box{background:color-mix(in srgb,var(--color-danger) 7%,var(--color-bg-frame));border:1px solid color-mix(in srgb,var(--color-danger) 25%,var(--color-border));border-radius:12px;padding:14px;margin-bottom:12px;font-size:.875rem;color:var(--color-text-primary)}.grad-shortfall-box p:last-child{margin:0}.grad-shortfall-list{margin:0;padding-left:18px}.grad-shortfall-list li{margin-bottom:4px}.grad-shortfall-list li:last-child{margin-bottom:0}.grad-designated summary{cursor:pointer;margin-top:6px}.grad-designated-list{margin:8px 0 0;padding-left:18px;font-size:13px}.grad-designated-list li{margin-bottom:4px}.grad-shortfall-box .home-card-label{color:var(--color-danger)}.grad-shortfall-box.ok{background:color-mix(in srgb,var(--color-success) 7%,var(--color-bg-frame));border-color:color-mix(in srgb,var(--color-success) 30%,var(--color-border))}.grad-shortfall-box.ok .home-card-label{color:var(--color-success)}.home-quick-label{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);margin:12px 0 10px}.home-quick-label:first-child{margin-top:0}.home-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.home-quick-btn.locked,.bottom-tab.locked{opacity:.4}.home-quick-btn{position:relative;display:flex;flex-direction:row;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-size:.875rem;font-weight:500;text-align:left;color:var(--color-text-primary);background:none;border:1px solid var(--color-border);border-radius:10px;cursor:pointer}.home-quick-btn svg{flex-shrink:0;color:var(--color-text-secondary)}.home-quick-btn:hover:not(:disabled){background:var(--color-bg-card)}.home-quick-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.home-quick-btn:disabled svg{color:var(--color-text-muted)}.bottom-tab-bar{display:flex;align-items:center;justify-content:space-around;padding:6px 10px 10px;border-top:1px solid var(--color-border);background:var(--color-bg-frame);flex-shrink:0}.bottom-tab{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:none;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer}.bottom-tab.active{color:var(--color-ink)}.bottom-tab-chat{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-top:-16px;border-radius:50%;border:none;background:var(--color-ink);color:var(--color-ink-contrast);cursor:pointer}.bottom-tab-chat.active{box-shadow:0 0 0 3px var(--color-neutral-bg)}.bottom-tab-empty{width:42px;height:42px}.bottom-tab-bar.chat-only{justify-content:center;border-top:none;background:transparent;padding-top:18px}.app-frame>.bottom-tab-bar.chat-only{position:absolute;left:0;right:0;bottom:0;pointer-events:none}.app-frame>.bottom-tab-bar.chat-only .bottom-tab-chat{pointer-events:auto;box-shadow:0 4px 14px #0003}.app-frame.floating-chat .home-body,.app-frame.floating-chat .courses-body{padding-bottom:72px}.home-header-actions{position:relative;display:flex;align-items:center;margin-left:auto;margin-right:6px}.home-edit-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:none;color:var(--color-text-muted);cursor:pointer}.home-edit-btn:hover{background:var(--color-neutral-bg);color:var(--color-ink)}.home-edit-hint{position:absolute;top:calc(100% + 6px);right:-40px;z-index:20;display:flex;align-items:center;gap:8px;width:max-content;max-width:240px;padding:10px 12px;border-radius:10px;font-size:.8125rem;line-height:1.4;background:var(--color-ink);color:var(--color-ink-contrast);box-shadow:0 4px 14px #00000026}.home-edit-hint:before{content:"";position:absolute;top:-6px;right:51px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--color-ink)}.home-edit-btn.hinted{background:var(--color-neutral-bg);color:var(--color-ink);box-shadow:0 0 0 2px var(--color-ink)}.home-edit-hint-close{background:none;border:none;color:inherit;font-size:1rem;line-height:1;cursor:pointer;padding:0}.home-edit-body{display:flex;flex-direction:column;gap:14px}.home-edit-body .onb-float-action .home-error{margin:0 0 8px;padding:8px 12px;border-radius:10px;background:var(--color-bg-card);border:1px solid var(--color-border)}.home-edit-preview{margin:10px 0 4px;border:1px solid var(--color-border);border-radius:12px}.home-edit-preview .bottom-tab-chat{cursor:default}.home-edit-preview-empty{border:1.5px dashed var(--color-border-strong)}.home-edit-slot{touch-action:none;-webkit-user-select:none;user-select:none;position:relative;cursor:grab}.home-edit-slot.home-edit-preview-empty{cursor:pointer}.home-edit-preview .home-edit-slot:not(.home-edit-preview-empty){color:var(--color-text-primary)}.home-edit-slot.selected{color:var(--color-ink);background:var(--color-neutral-bg);box-shadow:0 0 0 2px var(--color-ink)}.home-edit-slot:not(.dragging){transition:transform .12s,box-shadow .12s,background .12s}.home-edit-slot.dragging{z-index:2;cursor:grabbing;opacity:.85;background:var(--color-bg-card);box-shadow:0 4px 12px #0000002e}.home-edit-slot.drop-target{background:var(--color-neutral-bg);color:var(--color-ink);border-color:transparent;box-shadow:0 0 0 3px var(--color-ink);transform:scale(1.2)}.home-edit-menu{margin-top:10px}.home-edit-menu .home-edit-slot.drop-target{transform:scale(1.04)}.home-edit-menu .home-edit-slot.drop-target svg{color:var(--color-ink)}.home-edit-group-label{margin:14px 0 6px;font-size:.8125rem;font-weight:700;color:var(--color-text-muted)}.home-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.home-edit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-card)}.home-edit-row-name{display:flex;align-items:center;gap:8px;font-size:.9rem}.home-edit-row{cursor:pointer}.home-edit-row.disabled{opacity:.45;cursor:default}.home-edit-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-ink)}.home-edit-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.home-edit-toggle>span{display:flex;flex-direction:column;gap:2px}.home-edit-toggle .home-card-label{margin:0}.home-edit-toggle input{width:20px;height:20px;flex-shrink:0;accent-color:var(--color-ink)}.bottom-tab-disabled{opacity:.4;cursor:not-allowed}.chat-page{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-messages-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-bubble{max-width:80%;padding:10px 14px;border-radius:10px;background:var(--color-bg-card)}.chat-bubble.user{align-self:flex-end;background:var(--color-neutral-bg)}.chat-bubble.assistant{background:none;padding-left:4px;padding-right:4px}.chat-bubble .message-sender{font-size:.8125rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:4px}.chat-bubble .message-text{white-space:pre-wrap;line-height:1.5;font-size:.9375rem;color:var(--color-text-primary)}.chat-bubble .message-time{font-size:.75rem;color:var(--color-text-muted);margin-top:4px}.message-citations{margin-top:8px;font-size:.75rem;color:var(--color-text-muted)}.citations-toggle{background:none;border:none;padding:2px 0;color:var(--color-text-muted);font-size:.75rem;cursor:pointer}.message-citations ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.message-citations li{padding:6px 10px;border-radius:8px;background:var(--color-neutral-bg);line-height:1.5}.chat-disclaimer{padding:0 16px 12px;line-height:1.5;font-size:.75rem;color:var(--color-text-muted);text-align:center;flex-shrink:0}.typing-dots{display:flex;gap:4px;padding:6px 0 2px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-text-muted);animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.courses-page{flex:1;display:flex;flex-direction:column;overflow:hidden}.courses-body{flex:1;overflow-y:auto;padding:16px}.courses-year-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.courses-year-tab{font-size:.8125rem;padding:6px 10px;border-radius:14px;border:1px solid var(--color-border);background:none;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.courses-year-tabs--fill .courses-year-tab{flex:1 1 auto;text-align:center}.courses-year-tab.active{background:var(--color-ink);color:var(--color-ink-contrast);border-color:var(--color-ink)}.courses-semester-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:14px}.courses-semester-nav{border:none;background:none;color:var(--color-text-muted);font-size:1.125rem;line-height:1;padding:4px 6px;cursor:pointer}.courses-semester-nav:disabled{color:var(--color-border);cursor:default}.courses-semester-toggle{display:flex;gap:6px}.courses-semester-btn{font-size:.8125rem;padding:6px 14px;border-radius:14px;border:1px solid var(--color-border);background:none;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.courses-semester-btn.active{background:var(--color-bg-frame);color:var(--color-ink);border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);font-weight:700}.courses-summary-row{display:flex;gap:8px;margin-bottom:14px}.courses-summary-stat{flex:1;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;padding:10px 12px}.courses-summary-stat .home-card-label{font-weight:500;margin-bottom:4px}.courses-summary-row-total .courses-summary-stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;background:none;border-color:transparent;padding:2px 12px}.courses-summary-row-total .home-card-label{margin:0;font-size:.75rem}.courses-summary-row-total .courses-summary-value{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.courses-summary-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;margin:0;color:var(--color-text-primary)}.courses-section-label{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);margin:28px 0 10px}.courses-timetable{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;padding:10px;margin-bottom:16px;overflow-x:auto}.courses-timetable-grid{display:grid;grid-template-columns:20px repeat(5,1fr);gap:3px;font-size:.6875rem;min-width:260px}.courses-timetable-corner{height:100%}.courses-timetable-daylabel{text-align:center;color:var(--color-text-muted);padding-bottom:4px}.courses-timetable-periodlabel{color:var(--color-text-muted);text-align:center;display:flex;align-items:center;justify-content:center}.courses-timetable-cell{min-height:26px;border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;padding:2px;color:var(--color-text-muted)}.courses-timetable-cell.filled{background:var(--color-neutral-bg);color:var(--color-text-primary)}.courses-timetable-cell.tt-c0{background:color-mix(in srgb,var(--tt-hue-0) 22%,var(--color-bg-card));color:var(--tt-hue-0)}.courses-timetable-cell.tt-c1{background:color-mix(in srgb,var(--tt-hue-1) 22%,var(--color-bg-card));color:var(--tt-hue-1)}.courses-timetable-cell.tt-c2{background:color-mix(in srgb,var(--tt-hue-2) 22%,var(--color-bg-card));color:var(--tt-hue-2)}.courses-timetable-cell.tt-c3{background:color-mix(in srgb,var(--tt-hue-3) 22%,var(--color-bg-card));color:var(--tt-hue-3)}.courses-timetable-cell.tt-c4{background:color-mix(in srgb,var(--tt-hue-4) 22%,var(--color-bg-card));color:var(--tt-hue-4)}.courses-timetable-cell.tt-c5{background:color-mix(in srgb,var(--tt-hue-5) 22%,var(--color-bg-card));color:var(--tt-hue-5)}.courses-timetable-cell.tt-c6{background:color-mix(in srgb,var(--tt-hue-6) 22%,var(--color-bg-card));color:var(--tt-hue-6)}.courses-timetable-cell.tt-c7{background:color-mix(in srgb,var(--tt-hue-7) 22%,var(--color-bg-card));color:var(--tt-hue-7)}.courses-empty{font-size:.875rem;color:var(--color-text-muted);margin:0 0 12px}.courses-list{display:flex;flex-direction:column;margin-bottom:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-card);overflow:hidden}.courses-list-item{display:flex;align-items:center;gap:8px;padding:10px 12px}.courses-list-item+.courses-list-item{border-top:1px solid var(--color-border)}.courses-list>.courses-empty{margin:0;padding:14px 12px}.courses-list>.skeleton{margin:14px 12px}.courses-list-item-info{flex:1;min-width:0}.courses-list-item-name{font-size:.875rem;font-weight:500;margin:0;color:var(--color-text-primary)}.courses-superseded-badge{display:inline-block;margin-left:6px;background:var(--color-border);color:var(--color-text-muted);font-size:.6875rem;font-weight:700;border-radius:999px;padding:1px 7px;vertical-align:middle}.courses-list-item-meta{font-size:.75rem;color:var(--color-text-muted);margin:2px 0 0}.courses-retake-notice{border:1px solid transparent;background:var(--color-neutral-bg);border-radius:10px;padding:10px 12px;margin-bottom:14px}.courses-retake-notice .courses-section-label{margin:0 0 6px}.courses-retake-list{display:flex;flex-direction:column;gap:6px}.courses-retake-item{background:var(--color-bg-card);border-radius:8px;padding:8px 10px}.courses-grade-select{font-size:.8125rem;padding:4px 6px;border-radius:6px;border:1px solid var(--color-border-strong);background:var(--color-bg-frame);color:var(--color-text-primary);flex-shrink:0}.courses-major-select{margin-top:4px;max-width:100%;font-size:.75rem;padding:2px 4px;border-radius:6px;border:1px solid var(--color-border-strong);background:var(--color-bg-frame);color:var(--color-text-secondary)}.courses-delete-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;flex-shrink:0;display:flex;align-items:center}.courses-add-form{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;padding:14px}.courses-add-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.courses-add-mode-toggle{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:6px;position:relative}.courses-add-mode-toggle button{font-size:.8125rem;padding:6px 10px;border-radius:14px;border:1px solid var(--color-border);background:none;color:var(--color-text-muted);white-space:nowrap;text-align:center;cursor:pointer}.courses-add-mode-toggle>button,.courses-add-mode-toggle>.courses-pdf-hint-wrap{flex:1 1 auto}.courses-pdf-hint-wrap>button{width:100%}@media(max-width:360px){.courses-body{padding:14px 12px}.courses-add-form{padding:12px 10px}.courses-add-mode-toggle{gap:4px}.courses-add-mode-toggle button{padding:6px 8px;font-size:.75rem}}.courses-add-mode-toggle button.active{background:var(--color-neutral-bg);color:var(--color-text-primary);border-color:var(--color-border-strong);font-weight:700}.courses-pdf-hint-wrap{position:static}.courses-pdf-hint-bubble{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--color-ink);color:var(--color-ink-contrast);font-size:.75rem;font-weight:700;padding:6px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 2px 8px #00000040}.courses-pdf-hint-bubble:after{content:"";position:absolute;top:100%;right:14px;border:5px solid transparent;border-top-color:var(--color-ink)}.courses-delete-all-btn{display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 14px;margin:20px auto 0;font-size:.8125rem;font-weight:500;background:none;color:var(--color-danger);border:none;border-radius:10px;cursor:pointer}.courses-delete-all-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger) 10%,var(--color-bg-frame))}.courses-search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border-strong);border-radius:18px;padding:8px 12px;margin-bottom:10px;color:var(--color-text-muted)}.courses-search-box input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--color-text-primary);font-family:inherit}.courses-search-results{display:flex;flex-direction:column;gap:6px}.search-entry{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:10px 14px;border:1px solid var(--color-border-strong);border-radius:18px;background:transparent;color:var(--color-text-muted);font-family:inherit;font-size:.875rem;text-align:left;cursor:pointer}.search-entry svg{flex-shrink:0}.search-entry span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;background:var(--color-bg-frame)}.search-screen[hidden]{display:none}.search-screen--enter{animation:search-screen-slide-in .25s ease-out}@keyframes search-screen-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.search-screen--enter{animation:none}}.search-screen-bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.search-screen-back{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer}.search-screen-field{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:18px;color:var(--color-text-muted)}.search-screen-field svg{flex-shrink:0}.search-screen-field input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:inherit;font-size:1rem;color:var(--color-text-primary)}.search-screen-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer}.search-screen-body{flex:1;overflow-y:auto;padding:16px}.search-screen-hint{margin:0 0 12px;font-size:.8125rem;line-height:1.5;color:var(--color-text-muted);word-break:keep-all}.search-screen-count{margin:0 0 10px;font-size:.8125rem;color:var(--color-text-muted)}.courses-search-result{display:flex;flex-direction:column;align-items:flex-start;gap:2px;border:1px solid var(--color-border);background:var(--color-bg-frame);border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left}.courses-manual-fields .auth-field{margin-bottom:12px}.courses-manual-hint{font-size:.8125rem;color:var(--color-text-muted);line-height:1.5;margin:0 0 12px}.courses-manual-only-note{font-size:.8125rem;color:var(--color-text-muted);margin:0}.courses-catalog-back{display:block;width:100%;margin-top:8px;padding:4px 0;background:none;border:none;font-family:inherit;text-align:center;cursor:pointer}.community-write-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:12px;padding:12px;background:var(--color-ink);color:var(--color-ink-contrast);border:none;border-radius:10px;font-size:.9375rem;font-weight:700;cursor:pointer;position:sticky;bottom:0;box-shadow:0 -4px 12px #00000026}.notice-pin{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:10px 12px;border:none;border-radius:12px;background:var(--color-bg-card);color:var(--color-text-primary);font-family:inherit;font-size:.8125rem;text-align:left;cursor:pointer}.notice-pin--unread{display:block;padding:12px 14px 8px;background:var(--color-accent-bg);cursor:default}.notice-pin-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.notice-pin-count{font-weight:600}.notice-pin-all{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:0;border:none;background:none;font-family:inherit;font-size:.75rem;color:var(--color-text-muted);cursor:pointer}.notice-pin-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 0;border:none;background:none;font-family:inherit;font-size:.875rem;color:var(--color-text-primary);text-align:left;cursor:pointer}.notice-pin-row i{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color-danger, #e5484d)}.notice-pin-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-pin-row em{flex-shrink:0;font-style:normal;font-size:.75rem;color:var(--color-text-muted)}.notice-pin-rest{padding:4px 0;border:none;background:none;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.notice-head-actions{display:inline-flex;align-items:center;gap:12px}.notice-markall{height:30px;padding:0}.notice-row{gap:5px}.notice-row:not(.notice-row--new) .post-title{font-weight:600;color:var(--color-text-secondary)}.notice-cat{--post-cat: var(--color-accent);font-size:.8125rem;font-weight:700;color:var(--color-accent-on-bg)}.notice-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--color-ink);color:var(--color-ink-contrast)}.notice-avatar>svg{width:18px;height:18px}.notice-avatar-badge{position:absolute;right:-3px;bottom:-3px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:2px solid var(--color-bg-frame);border-radius:50%;background:var(--color-accent);color:#fff}.notice-avatar-badge svg{width:10px;height:10px}.post-body.notice-body{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.notice-pin-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-pin-more{flex-shrink:0;font-size:.75rem;color:var(--color-text-muted)}.notice-pin--empty .notice-pin-title{color:var(--color-text-muted)}.notice-pin--empty .notice-pin-more{display:inline-flex;align-items:center;gap:2px;color:var(--color-accent);font-weight:600}.home-quick-dot{position:absolute;top:9px;right:10px;width:7px;height:7px;border-radius:50%;background:var(--color-danger, #e5484d)}.notice-readonly-note{margin:24px 0 0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.community-write-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.community-sanction-banner{display:flex;gap:8px;align-items:flex-start;background:color-mix(in srgb,var(--color-warning) 15%,var(--color-bg-frame));border:1px solid var(--color-warning);border-radius:8px;padding:10px 12px;margin-bottom:16px}.community-sanction-banner svg{flex-shrink:0;margin-top:1px;color:var(--color-warning)}.community-sanction-banner p{margin:0;font-size:.8125rem;color:var(--color-text-primary);line-height:1.5}.community-sanction-banner b,.community-sanction-banner strong{color:var(--color-warning)}.community-sanction-full{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:32px 0}.community-sanction-icon{width:64px;height:64px;border-radius:50%;background:color-mix(in srgb,var(--color-alert) 18%,var(--color-bg-frame));display:flex;align-items:center;justify-content:center;color:var(--color-alert)}.community-sanction-heading{font-size:1.125rem;font-weight:800;color:var(--color-text-primary);margin:0}.community-sanction-detail{font-size:.875rem;color:var(--color-text-secondary);line-height:1.6;margin:0}.community-sanction-reason-box{width:100%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;padding:12px 14px;font-size:.8125rem;color:var(--color-text-secondary);text-align:left}.community-sanction-reason-box b,.community-sanction-reason-box strong{color:var(--color-text-primary)}.community-sanction-footer{font-size:.75rem;color:var(--color-text-muted);margin:4px 0 0}.community-write-form{margin-top:14px}.community-badge{display:inline-block;flex-shrink:0;margin-left:6px;font-size:.6875rem;font-weight:700;border-radius:999px;padding:1px 7px;vertical-align:middle;color:var(--color-accent-contrast)}.community-badge-pending{background:#af9f4c}.community-badge-approved{background:var(--color-success)}.community-badge-rejected{background:#8b4c4c}.community-badge-closed{background:var(--color-border-strong);color:var(--color-text-primary)}.community-detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:12px 0 4px}.community-detail-title{font-size:1.125rem;font-weight:700;margin:0;color:var(--color-text-primary);overflow-wrap:break-word}.community-detail-meta-divider{padding-bottom:14px;border-bottom:1px solid var(--color-border)}.community-detail-body-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:16px;min-height:72px;margin-bottom:10px}.student-sanction-dialog{max-height:100%;overflow-y:auto}.community-detail-meta{font-size:.8125rem;color:var(--color-text-muted);margin:0 0 16px}.community-author-link{background:none;border:none;padding:0;font:inherit;color:var(--color-accent);text-decoration:underline;cursor:pointer}.community-detail-body{font-size:.9375rem;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0 0 20px}.community-badge-accepted{background:var(--color-success)}.community-badge-study{background:#397f59}.community-badge-project{background:#394967}:root[data-theme=light] .community-badge-study{background:#b6d061;color:var(--color-text-primary)}:root[data-theme=light] .community-badge-rejected{background:#e88d87;color:var(--color-text-primary)}.community-badge-capacity{background:none;border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-weight:600}.community-close-btn{display:block;width:100%;margin-bottom:10px;padding:12px;background:var(--color-ink);color:var(--color-ink-contrast);border:none;border-radius:10px;font-size:.875rem;font-weight:700;cursor:pointer}.community-close-btn:disabled{opacity:.6;cursor:not-allowed}.community-owner-actions{display:flex;gap:8px;margin-bottom:20px}.community-outline-btn{flex:1;padding:10px;background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border-strong);border-radius:10px;font-size:.8125rem;font-weight:700;cursor:pointer}.community-outline-btn:disabled{opacity:.6;cursor:not-allowed}.community-outline-btn.community-danger{color:var(--color-danger);border-color:var(--color-danger)}.community-section-label{font-size:.8125rem;font-weight:700;color:var(--color-text-muted);margin:0 0 10px}.community-applicant-msg{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5;margin:4px 0 6px}.community-applicant-actions{display:flex;gap:8px;margin-top:8px}.community-act-btn{flex:1;padding:8px;border-radius:8px;font-size:.8125rem;font-weight:700;cursor:pointer;border:none}.community-act-btn:disabled{opacity:.6;cursor:not-allowed}.community-act-reject{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border-strong)}.community-act-sanction{background:var(--color-alert);color:#fff}.community-contact-box{margin-top:8px;padding:8px 10px;background:var(--color-neutral-bg);border-radius:8px;font-size:.8125rem;color:var(--color-text-primary)}.community-contact-box b,.community-contact-box strong{color:var(--color-text-primary)}.contact-relay-hint{margin:6px 0 0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.contact-block-link{margin-top:6px;padding:2px 0;background:none;border:none;font:inherit;font-size:.75rem;color:var(--color-danger);text-decoration:underline;cursor:pointer}.contact-blocked-note{margin:8px 0 0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.dept-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.dept-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 11px;border-radius:999px;background:var(--color-neutral-bg);border:1px solid var(--color-border);font-size:.8125rem;color:var(--color-text-primary)}.dept-chip button{border:none;background:none;padding:0 2px;font-size:.875rem;line-height:1;color:var(--color-text-muted);cursor:pointer}.dept-chip-add{display:inline-flex;align-items:center;gap:4px;padding:6px 11px;border-radius:999px;border:1px dashed var(--color-border-strong);background:none;font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.courses-body.community-body{padding:0;display:flex;flex-direction:column}.community-pad{padding:16px}.community-tabs{position:sticky;top:0;z-index:2;display:flex;gap:22px;padding:0 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg-frame);flex-shrink:0}.community-tab{position:relative;padding:14px 0 12px;border:none;background:none;font-family:inherit;font-size:.9375rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.community-tab.active{color:var(--color-text-primary)}.community-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--color-text-primary)}.community-tab .tab-dot{position:absolute;top:11px;right:-9px;width:6px;height:6px;border-radius:50%;background:var(--color-danger, #e5484d)}.community-alerts{padding:14px 20px 0}.community-alerts .community-sanction-banner,.community-alerts .home-error{margin:0 0 4px}.community-tools{display:flex;gap:8px;padding:16px 20px 0}.community-tools .search-entry{flex:1;min-width:0;height:42px;margin:0;border:none;border-radius:12px;background:var(--color-neutral-bg)}.community-tools .search-entry span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.community-filter{flex-shrink:0;height:42px;padding:0 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.community-filter.active{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-ink-contrast)}.community-body .notice-pin{width:auto;margin:10px 20px 0;padding:11px 14px;border:none;border-radius:12px;background:var(--color-accent-bg)}.notice-pin-label{flex-shrink:0;font-weight:700;color:var(--color-accent-on-bg)}.post-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 20px 4px}.post-list-head h3{margin:0;font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.post-list-head h3 em,.post-section-head h3 em{margin-left:5px;font-style:normal;font-weight:500;color:var(--color-text-muted)}.post-write-btn{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 14px 0 11px;border:none;border-radius:999px;background:var(--color-ink);color:var(--color-ink-contrast);font-family:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}.post-write-btn:disabled{background:var(--color-ink-disabled);cursor:not-allowed}.post-empty{margin:0;padding:28px 20px;font-size:.875rem;color:var(--color-text-muted)}.post-list{display:flex;flex-direction:column}.post-row{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:16px 20px;border:none;border-bottom:1px solid var(--color-border);background:none;font-family:inherit;text-align:left;color:inherit;cursor:pointer}.post-row:last-child{border-bottom:none}.post-row--static{cursor:default}button.post-row:active{background:var(--color-neutral-bg)}.post-over{display:flex;align-items:center;gap:8px;min-width:0;font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.post-cat{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.post-cat:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--post-cat, var(--color-text-muted))}.post-cat--study{--post-cat: var(--color-success)}.post-cat--project{--post-cat: var(--tt-hue-2)}.post-mydept{flex-shrink:0;padding:2px 7px;border-radius:6px;background:var(--color-accent-bg);color:var(--color-accent-on-bg);font-size:.6875rem;font-weight:700}.post-state{margin-left:auto;flex-shrink:0;font-weight:700}.post-state--open{color:var(--color-accent)}.post-state--soon{color:var(--color-danger)}.post-state--off{color:var(--color-text-muted);font-weight:600}.post-title{font-size:1rem;font-weight:700;line-height:1.4;color:var(--color-text-primary);overflow-wrap:anywhere}.post-row--closed .post-title,.post-row--closed .post-excerpt{color:var(--color-text-muted)}.post-excerpt{font-size:.875rem;line-height:1.5;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.post-dept{display:block;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-meta-label{margin-right:6px;color:var(--color-text-muted)}.post-meta-sep{width:2px;height:2px;border-radius:50%;background:var(--color-text-muted);opacity:.6}.post-status{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:.75rem;font-weight:700}.post-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.post-status--wait{color:var(--color-warning)}.post-status--ok{color:var(--color-success)}.post-status--no{color:var(--color-danger)}.post-status--mute{color:var(--color-text-muted)}.post-status--end{margin-left:auto}.post-new-apps{align-self:flex-start;margin-top:2px;padding:6px 10px;border-radius:8px;background:var(--color-accent-bg);color:var(--color-accent-on-bg);font-size:.8125rem;font-weight:700}.post-contact-line{margin-top:2px;padding:9px 12px;border-radius:10px;background:var(--color-neutral-bg);font-size:.8125rem;color:var(--color-text-secondary);overflow-wrap:anywhere}.post-tag{flex-shrink:0;padding:2px 7px;border-radius:6px;background:var(--color-neutral-bg);color:var(--color-text-secondary);font-size:.6875rem;font-weight:700}.post-quote{margin:4px 0 0;padding:10px 12px;border-radius:10px;background:var(--color-neutral-bg);font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary);overflow-wrap:anywhere}.post-quote b{color:var(--color-text-primary)}.post-quote--answer{background:var(--color-accent-bg);white-space:pre-wrap}.post-note{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:var(--color-neutral-bg);font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.post-detail{display:flex;flex-direction:column;padding:22px 20px 32px}.post-detail>.home-error{margin:0 0 12px}.post-owner-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border-radius:12px;background:var(--color-neutral-bg);font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary)}.post-detail .post-over{margin-bottom:10px}.post-detail-title{margin:0 0 16px;font-size:1.375rem;font-weight:800;line-height:1.35;letter-spacing:-.01em;color:var(--color-text-primary);overflow-wrap:anywhere}.post-author{display:flex;align-items:center;gap:10px}.post-avatar{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-text-secondary);font-size:.8125rem;font-weight:800}.post-author-text{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.post-author-name{padding:0;border:none;background:none;font-family:inherit;font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.post-author-sub{font-size:.75rem;color:var(--color-text-muted)}.post-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:20px 0 22px;padding:16px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.post-fact--wide{grid-column:1 / -1}.post-fact dt{margin-bottom:4px;font-size:.75rem;color:var(--color-text-muted)}.post-fact dd{margin:0;font-size:.875rem;font-weight:600;line-height:1.5;color:var(--color-text-primary)}.post-fact dd .post-mydept{margin-left:6px;vertical-align:1px}.post-body{margin:0;font-size:.9375rem;line-height:1.75;color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:anywhere}.post-detail .admin-reject-reason{margin-top:16px}.post-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:32px 0 6px}.post-section-head h3{margin:0;font-size:1rem;font-weight:800;color:var(--color-text-primary)}.post-section-sub{font-size:.75rem;color:var(--color-text-muted)}.post-section-desc{margin:4px 0 0;font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.post-detail .post-empty{padding:8px 0}.post-reapply{display:flex;flex-direction:column;gap:10px;margin-top:12px}.more-menu{position:relative;margin-left:auto}.more-menu-btn{display:grid;place-items:center;width:36px;height:36px;border:none;border-radius:50%;background:none;color:var(--color-text-muted);cursor:pointer}.more-menu-btn[aria-expanded=true]{background:var(--color-neutral-bg);color:var(--color-text-primary)}.more-menu-list{position:absolute;top:calc(100% + 6px);right:0;z-index:5;display:flex;flex-direction:column;width:196px;padding:6px;border-radius:14px;background:var(--color-bg-frame);box-shadow:0 10px 30px #0f141e2e,0 0 0 1px var(--color-border)}.more-menu-list button{padding:11px 12px;border:none;border-radius:9px;background:none;font-family:inherit;font-size:.875rem;text-align:left;color:var(--color-text-primary);cursor:pointer}.more-menu-list button:hover:not(:disabled){background:var(--color-neutral-bg)}.more-menu-list button:disabled{color:var(--color-text-muted);cursor:not-allowed}.more-menu-list button.danger{color:var(--color-danger)}.more-menu-hint{margin:-4px 12px 6px;font-size:.6875rem;line-height:1.5;color:var(--color-text-muted)}.applicant-list{display:flex;flex-direction:column}.applicant-row{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid var(--color-border)}.applicant-row:last-child{border-bottom:none}.applicant-main{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}.applicant-top{display:flex;align-items:center;gap:6px;min-width:0}.applicant-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:700;color:var(--color-text-primary)}.applicant-msg{margin:0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.applicant-date{font-size:.75rem;color:var(--color-text-muted)}.applicant-actions{display:flex;gap:8px;margin-top:4px}.applicant-report{align-self:flex-start;padding:2px 0;border:none;background:none;font-family:inherit;font-size:.75rem;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.post-btn{height:38px;padding:0 16px;border-radius:10px;font-family:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}.post-btn:disabled{opacity:.55;cursor:not-allowed}.post-btn--ink{border:none;background:var(--color-ink);color:var(--color-ink-contrast)}.post-btn--outline{border:1px solid var(--color-border-strong);background:none;color:var(--color-text-primary)}.post-btn--danger{border:1px solid var(--color-danger);background:none;color:var(--color-danger)}.post-btn--text{border:none;background:none;color:var(--color-text-muted)}.post-btn--block{width:100%}.post-btn--lg{height:48px;border-radius:12px;font-size:.9375rem}.post-input{width:100%;box-sizing:border-box;padding:12px 14px;border:none;border-radius:12px;background:var(--color-neutral-bg);font-family:inherit;font-size:.875rem;line-height:1.6;color:var(--color-text-primary);resize:none}.post-input::placeholder{color:var(--color-text-muted)}.post-input:focus-visible,.post-write-body:focus-visible{outline:2px solid var(--color-accent);outline-offset:0}.post-dock{position:sticky;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:12px 16px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-frame)}.community-body .community-contact-box{border:none;border-radius:10px;background:var(--color-neutral-bg)}.post-write{display:flex;flex:1;flex-direction:column}.post-write-inner{display:flex;flex-direction:column;padding:18px 20px 28px}.post-write-inner>.home-error,.post-write-inner>.community-sanction-banner{margin:0 0 12px}.post-write-note{margin:0 0 18px;font-size:.8125rem;line-height:1.55;color:var(--color-text-muted)}.post-write-title{padding:4px 0 12px;border:none;border-bottom:1px solid var(--color-border);border-radius:0;background:none;font-family:inherit;font-size:1.25rem;font-weight:800;color:var(--color-text-primary)}.post-write-title:focus-visible{outline:none;border-bottom-color:var(--color-text-primary)}.post-write-title::placeholder,.post-write-body::placeholder{color:var(--color-text-muted);font-weight:600}.post-write-count{align-self:flex-end;margin-top:6px;font-size:.6875rem;color:var(--color-text-muted)}.post-write-body{min-height:150px;margin-top:12px;padding:14px 16px;border:none;border-radius:14px;background:var(--color-neutral-bg);font-family:inherit;font-size:.9375rem;line-height:1.7;color:var(--color-text-primary);resize:vertical}.post-write-group{margin:28px 0 6px;font-size:.8125rem;font-weight:700;color:var(--color-text-muted)}.post-write-help{margin:0;font-size:.75rem;line-height:1.55;color:var(--color-text-muted)}.post-write-inner>.post-write-help{margin-top:12px}.write-settings{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.write-set,.write-set-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.write-set{min-height:58px;padding:10px 0;border-bottom:1px solid var(--color-border)}.write-set--stack{flex-direction:column;align-items:stretch;gap:10px;padding:14px 0}.write-set-label{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.write-set-label small{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.seg{display:inline-flex;flex-shrink:0;padding:3px;border-radius:10px;background:var(--color-neutral-bg)}.seg button{height:32px;padding:0 12px;border:none;border-radius:8px;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.seg button.active{background:var(--color-bg-frame);color:var(--color-text-primary);box-shadow:0 1px 3px #0f141e24}.stepper{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.stepper button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border-strong);border-radius:50%;background:none;font-family:inherit;font-size:1rem;line-height:1;color:var(--color-text-secondary);cursor:pointer}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper input{width:44px;padding:4px 0;border:none;background:none;font-family:inherit;font-size:.9375rem;font-weight:700;text-align:right;color:var(--color-text-primary);-moz-appearance:textfield}.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-unit{margin-right:4px;font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.date-pick{position:relative;display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.date-pick-value{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.date-pick-value.empty{font-weight:500;color:var(--color-text-muted)}.date-pick-value:after{content:" ›";color:var(--color-text-muted)}.date-pick-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.date-pick-clear{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border:none;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-text-muted);cursor:pointer}.write-set .dept-chips{margin-top:0}.write-set .dept-chip{height:32px;box-sizing:border-box;padding:0 8px 0 12px;border:none;font-weight:600}.write-set .dept-chip button{display:grid;place-items:center}.write-set .dept-chip-add{height:32px;font-weight:600}.post-over-end{margin-left:auto;flex-shrink:0;font-weight:500}.post-pre{white-space:pre-wrap;overflow-wrap:anywhere}.post-quote-label{display:block;margin-bottom:2px;font-size:.75rem;color:var(--color-accent-on-bg)}.post-tip{margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--color-neutral-bg);font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.post-tip b{color:var(--color-text-primary)}.post-tip ul{margin:4px 0 0;padding-left:18px}.post-empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:64px 24px;text-align:center}.post-empty-state p{margin:4px 0 0;font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.post-empty-state>span:not(.post-empty-icon){font-size:.8125rem;line-height:1.5;color:var(--color-text-muted)}.post-empty-state .post-write-btn{margin-top:8px}.post-empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-text-muted)}.settings-page{padding:20px 0 32px}.settings-group{margin-bottom:24px}.settings-group-title{margin:0 20px 8px;font-size:.75rem;font-weight:700;color:var(--color-text-muted)}.settings-group-note{margin:8px 20px 0;font-size:.75rem;line-height:1.55;color:var(--color-text-muted)}.settings-panel{margin:0 16px;padding:14px 16px;border-radius:14px;background:var(--color-neutral-bg)}.settings-list{margin:0 16px;border-radius:14px;background:var(--color-neutral-bg);overflow:hidden}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:52px;box-sizing:border-box;padding:10px 16px;border:none;border-bottom:1px solid var(--color-border);background:none;font-family:inherit;font-size:.9375rem;text-align:left;color:var(--color-text-primary)}.settings-row:last-child{border-bottom:none}button.settings-row{cursor:pointer}.settings-row--stack{flex-direction:column;align-items:stretch;gap:10px;padding:14px 16px}.settings-row--danger{font-weight:600;color:var(--color-danger)}.settings-row-danger-title{font-weight:700;color:var(--color-danger)}.settings-row-value{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:.875rem;font-weight:600;color:var(--color-text-secondary);text-align:right}.settings-chevron{color:var(--color-text-muted);transition:transform .15s}.settings-chevron.open{transform:rotate(90deg)}.settings-inline{display:flex;gap:8px}.settings-inline input{flex:1;min-width:0;height:42px;box-sizing:border-box;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-bg-frame);font-family:inherit;font-size:.9375rem;color:var(--color-text-primary)}.settings-inline .post-btn{height:42px}.settings-help{margin:0;font-size:.75rem;line-height:1.55;color:var(--color-text-muted)}.settings-help--ok{color:var(--color-success)}.settings-row .home-error{margin:0}.settings-stack{display:flex;flex-direction:column;gap:10px}.settings-text-btn{align-self:flex-start;padding:2px 0;border:none;background:none;font-family:inherit;font-size:.8125rem;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.settings-text-btn:disabled{color:var(--color-text-muted);text-decoration:none;cursor:default}.settings-check{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--color-ink);color:var(--color-ink-contrast)}.settings-themes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-theme-card{display:flex;flex-direction:column;gap:8px;padding:0;border:none;background:none;font-family:inherit;font-size:.8125rem;font-weight:700;color:var(--color-text-secondary);cursor:pointer}.settings-theme-card.active{color:var(--color-text-primary)}.settings-theme-preview{display:flex;flex-direction:column;gap:6px;height:76px;box-sizing:border-box;padding:12px;border:2px solid transparent;border-radius:12px}.settings-theme-card.active .settings-theme-preview{border-color:var(--color-ink)}.settings-theme-preview i{display:block;height:7px;border-radius:4px}.settings-theme-preview i.strong{width:50%}.settings-theme-preview--light{background:#fff;box-shadow:inset 0 0 0 1px #e1e3e8}.settings-theme-preview--light i{background:#e8eaee}.settings-theme-preview--light i.strong{background:#1e2b45}.settings-theme-preview--dark{background:#1a1c21;box-shadow:inset 0 0 0 1px #383d47}.settings-theme-preview--dark i{background:#2f333b}.settings-theme-preview--dark i.strong{background:#e8ecf3}.settings-fonts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.settings-font-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:64px;padding:10px 0;border:1.5px solid transparent;border-radius:12px;background:var(--color-bg-frame);font-family:inherit;color:var(--color-text-secondary);cursor:pointer}.settings-font-card.active{border-color:var(--color-ink);color:var(--color-text-primary)}.settings-font-card span{font-size:.75rem;font-weight:600}.settings-font-sample{line-height:1;font-weight:800;color:var(--color-text-primary)}.settings-font-sample--small{font-size:15px}.settings-font-sample--medium{font-size:19px}.settings-font-sample--large{font-size:23px}.profile-id{display:flex;align-items:center;gap:14px;padding:0 20px 22px}.profile-id-avatar{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--color-neutral-bg);color:var(--color-text-secondary)}.profile-id-text{min-width:0}.profile-id-text b{display:block;font-size:1.125rem;font-weight:800;color:var(--color-text-primary);overflow-wrap:anywhere}.profile-id-text span{display:block;margin-top:2px;font-size:.8125rem;color:var(--color-text-muted)}.profile-roadmap-list{background:var(--color-bg-frame)}.career-body{display:flex;flex-direction:column}.career-progress{display:flex;align-items:center;gap:10px;padding:14px 20px 0;flex-shrink:0}.career-progress-bar{flex:1;height:4px;border-radius:4px;background:var(--color-neutral-bg);overflow:hidden}.career-progress-bar i{display:block;height:100%;border-radius:4px;background:var(--color-ink);transition:width .2s}.career-progress-step{font-size:.75rem;font-weight:700;color:var(--color-text-muted)}.career-steps{display:flex;align-items:center;gap:6px;margin:0;padding:11px 16px;border-bottom:1px solid var(--color-border);list-style:none;font-size:.75rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;overflow:hidden}.career-step{display:inline-flex;align-items:center;gap:5px}.career-step-num{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--color-neutral-bg);font-size:.6875rem;font-weight:800;color:var(--color-text-muted)}.career-step.done .career-step-num{background:var(--color-success);color:#fff}.career-step.now{color:var(--color-text-primary)}.career-step.now .career-step-num{background:var(--color-ink);color:var(--color-ink-contrast)}.career-steps-line{flex:1;min-width:6px;height:1px;background:var(--color-border-strong)}.career-question,.career-candidates,.career-roadmap{padding:6px 4px 16px}.career-q-title{margin:8px 0;font-size:1.3125rem;font-weight:800;line-height:1.4;letter-spacing:-.01em;color:var(--color-text-primary)}.career-q-sub{margin:0 0 18px;font-size:.8125rem;line-height:1.55;color:var(--color-text-muted)}.career-options{display:flex;flex-direction:column;gap:8px}.career-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1.5px solid transparent;border-radius:14px;background:var(--color-neutral-bg);font-family:inherit;font-size:.9375rem;font-weight:600;line-height:1.45;text-align:left;color:var(--color-text-primary);cursor:pointer}.career-option.active{border-color:var(--color-ink);background:var(--color-bg-frame)}.career-option-check{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;box-sizing:border-box;border:1.5px solid var(--color-border-strong);border-radius:50%;color:transparent}.career-option.active .career-option-check{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-contrast)}.career-dock{display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-frame);flex-shrink:0}.career-dock-row{display:flex;align-items:center;gap:10px}.career-dock-main{flex:1}.career-text-btn{flex-shrink:0;height:48px;padding:0 6px;border:none;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);cursor:pointer}.career-dock-hint{margin:0;font-size:.75rem;line-height:1.5;text-align:center;color:var(--color-text-muted)}.career-text-link{display:block;margin:20px auto 0;border:none;background:none;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.career-edit{padding:4px 4px 12px}.career-edit-intro-body{margin:4px 0 6px;font-size:.8125rem;line-height:1.6;color:var(--color-text-muted)}.career-edit-question{padding:18px 0;border-bottom:1px solid var(--color-border)}.career-edit-question:last-child{border-bottom:none}.career-edit-question-title{display:block;margin-bottom:10px;font-size:.9375rem;font-weight:700;line-height:1.45;color:var(--color-text-primary)}.career-chips{display:flex;flex-wrap:wrap;gap:6px}.career-pick{padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:999px;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;line-height:1.35;text-align:left;color:var(--color-text-secondary);cursor:pointer}.career-pick.active{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-contrast)}.career-answers{margin-bottom:14px;padding:12px 14px;border-radius:14px;background:var(--color-neutral-bg)}.career-answers-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:.8125rem;font-weight:700;color:var(--color-text-primary)}.career-answers-head button,.career-answers-toggle{padding:2px 0;border:none;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.career-answers-toggle{margin-top:8px;font-size:.75rem}.career-chip{padding:5px 10px;border-radius:999px;background:var(--color-bg-frame);font-size:.75rem;font-weight:600;line-height:1.4;color:var(--color-text-secondary)}.career-answers-none{margin:0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}.career-chips--clamp{max-height:58px;overflow:hidden}.career-recommend-bar{padding:10px 12px 0;border-top:1px solid var(--color-border);background:var(--color-bg-frame);flex-shrink:0}.career-recommend-bar+.chat-input-bar,.career-recommend-bar+form{border-top:none}.career-recommend-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--color-neutral-bg)}.career-recommend-text{flex:1;min-width:0}.career-recommend-text b{display:block;font-size:.875rem;color:var(--color-text-primary)}.career-recommend-text span{display:block;margin-top:2px;font-size:.75rem;line-height:1.45;color:var(--color-text-muted)}.career-recommend-btn{flex-shrink:0;height:38px;padding:0 14px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-bg-frame);font-family:inherit;font-size:.8125rem;font-weight:700;color:var(--color-text-primary);white-space:nowrap;cursor:pointer}.career-recommend-btn:disabled{opacity:.55;cursor:not-allowed}.career-recommend-card.ready{background:var(--color-ink)}.career-recommend-card.ready .career-recommend-text b{color:var(--color-ink-contrast)}.career-recommend-card.ready .career-recommend-text span{color:var(--color-ink-contrast);opacity:.78}.career-recommend-card.ready .career-recommend-btn{border:none;background:var(--color-ink-contrast);color:var(--color-ink)}.career-candidate-list{margin:0;padding:0;list-style:none}.career-candidate{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--color-border)}.career-candidate:last-child{border-bottom:none}.career-candidate-num{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--color-neutral-bg);font-size:.8125rem;font-weight:800;color:var(--color-text-secondary)}.career-candidate-main{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}.career-candidate-title{margin:0;font-size:1.0625rem;font-weight:800;color:var(--color-text-primary)}.career-candidate-reasoning{margin:0;font-size:.875rem;line-height:1.65;color:var(--color-text-secondary)}.career-roadmap-hero{margin:8px 0 4px;font-size:.8125rem;font-weight:700;color:var(--color-text-muted)}.career-roadmap-title{margin:0 0 6px;font-size:1.375rem;font-weight:800;color:var(--color-text-primary)}.career-roadmap-stats{margin:0 0 16px;font-size:.8125rem;color:var(--color-text-secondary)}.career-roadmap-stats strong{color:var(--color-text-primary)}.career-roadmap-note{margin:0 0 18px;padding:12px 14px;border-radius:12px;background:var(--color-neutral-bg);font-size:.8125rem;line-height:1.6;color:var(--color-text-secondary)}.career-roadmap-group{position:relative;padding:0 0 18px 22px}.career-roadmap-group:before{content:"";position:absolute;left:5px;top:8px;bottom:-4px;width:2px;background:var(--color-border)}.career-roadmap-group:last-child:before{display:none}.career-roadmap-group:after{content:"";position:absolute;left:0;top:4px;width:12px;height:12px;box-sizing:border-box;border:2px solid var(--color-ink);border-radius:50%;background:var(--color-bg-frame)}.career-roadmap-label{display:block;margin-bottom:4px;font-size:.875rem;font-weight:800;color:var(--color-text-primary)}.career-roadmap-item{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--color-border)}.career-roadmap-item:last-child{border-bottom:none}.career-roadmap-course{font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.career-roadmap-reason{font-size:.8125rem;line-height:1.55;color:var(--color-text-secondary)}.career-roadmap-syllabus{align-self:flex-start;margin-top:4px;font-size:.75rem;font-weight:600;color:var(--color-accent);text-decoration:none}.career-roadmap-syllabus:after{content:" ›"}.career-roadmap-syllabus:hover{text-decoration:underline}.community-post-list{display:flex;flex-direction:column;gap:8px}.community-post-list-item{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;border:1px solid var(--color-border);background:var(--color-bg-frame);border-radius:8px;padding:8px 10px;cursor:pointer;text-align:left}.community-post-list-row{display:flex;align-items:center;gap:4px;min-width:0}.community-post-list-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.admin-sub-tabs{display:flex;gap:6px;margin-bottom:16px}.admin-sub-tab{padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--color-border-strong);background:none;color:var(--color-text-muted);cursor:pointer}.admin-sub-tab.active{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-text-muted)}.admin-post-title{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);margin:0;overflow-wrap:break-word}.admin-reject-reason{font-size:.8125rem;color:var(--color-text-secondary);background:var(--color-bg-frame);border-radius:8px;padding:8px 10px;margin:0 0 10px}.admin-reject-reason b,.admin-reject-reason strong{color:var(--color-danger)}.admin-stat-value{font-size:2rem;font-weight:800;color:var(--color-text-primary)}.admin-stat-value.placeholder{color:var(--color-text-muted)}.admin-stat-label{font-size:.75rem;font-weight:700;color:var(--color-text-muted);margin:0 0 6px}.courses-category-select{width:100%;padding:13px 14px;border:1px solid var(--color-border-strong);border-radius:10px;font-size:.9375rem;background:var(--color-bg-card);color:var(--color-text-primary)}.courses-schedule-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.courses-schedule-row select{padding:6px 8px;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-bg-frame);color:var(--color-text-primary);font-size:.875rem}.courses-schedule-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center}.courses-schedule-add{display:flex;align-items:center;gap:4px;margin-top:2px;padding:6px 10px;border:1px dashed var(--color-border-strong);border-radius:8px;background:none;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer}.courses-pdf-help{border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-frame);padding:10px 12px;margin-bottom:10px}.courses-pdf-help summary{font-size:.8125rem;line-height:1.4;font-weight:700;color:var(--color-accent);cursor:pointer}.courses-pdf-help-intro{margin:10px 0 0;font-size:.75rem;color:var(--color-text-secondary)}.courses-pdf-help-doctype{margin:10px 0 0;font-size:.8125rem;font-weight:700;color:var(--color-text-primary)}.courses-pdf-help-doctype:first-of-type{margin-top:10px}.courses-pdf-help-divider{margin:10px 0 0;font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-align:center}.courses-pdf-help-steps{margin:8px 0;padding-left:18px;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.6}.courses-pdf-help-steps li+li{margin-top:6px}.courses-pdf-help-note{margin:0;font-size:.75rem;color:var(--color-text-muted);line-height:1.5}.courses-pdf-upload-btn{display:flex;align-items:center;justify-content:center;padding:12px;border:1px dashed var(--color-border-strong);border-radius:10px;background:var(--color-bg-frame);color:var(--color-accent);font-size:.875rem;font-weight:600;cursor:pointer;text-align:center}.courses-pdf-upload-loading{display:flex;align-items:center;gap:8px}.courses-pdf-spinner{width:15px;height:15px;border:2px solid var(--color-border);border-top-color:var(--color-ink);border-radius:50%;animation:career-spin .8s linear infinite}.courses-pdf-warnings{margin-bottom:8px}.auth-submit-btn+.courses-pdf-warnings{margin-top:14px;margin-bottom:0}.auth-submit-btn+.courses-pdf-warnings .courses-pdf-warning-item:last-child{margin-bottom:0}.courses-import-method-toggle{display:flex;gap:6px;margin-bottom:12px}.courses-import-method-toggle button{flex:1;font-size:.8125rem;font-weight:600;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:none;color:var(--color-text-muted);cursor:pointer;text-align:center}.courses-import-method-toggle button.active{background:var(--color-neutral-bg);color:var(--color-text-primary);border-color:var(--color-border-strong);font-weight:700}.courses-pdf-paste{display:flex;flex-direction:column;gap:8px}.courses-pdf-paste-textarea{width:100%;min-height:140px;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-bg-frame);color:var(--color-text-primary);font-size:.875rem;font-family:inherit;resize:vertical}.courses-pdf-warning-item{display:flex;align-items:flex-start;gap:6px;color:var(--color-warning);font-size:.8125rem;line-height:1.5;margin:0 0 6px}.courses-pdf-warning-item svg{flex-shrink:0;margin-top:2px}.courses-pdf-pf-section{border:1px solid color-mix(in srgb,var(--color-danger) 45%,var(--color-border));background:color-mix(in srgb,var(--color-danger) 8%,var(--color-bg-frame));border-radius:10px;padding:10px 12px;margin-bottom:10px}.courses-pdf-pf-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.courses-pdf-pf-title{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:700;color:var(--color-text-primary)}.courses-pdf-pf-badge{background:var(--color-danger);color:var(--color-accent-contrast);font-size:.6875rem;font-weight:700;border-radius:999px;padding:1px 7px}.courses-pdf-pf-progress{font-size:.75rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.courses-pdf-pf-desc{margin:0 0 8px;font-size:.75rem;color:var(--color-text-secondary);line-height:1.5}.courses-pdf-pf-list{display:flex;flex-direction:column;gap:6px}.courses-pdf-pf-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-card)}.courses-pdf-pf-item.resolved{border-color:color-mix(in srgb,var(--color-accent) 55%,var(--color-border))}.courses-pdf-pf-item-info{flex:1;min-width:0}.courses-pdf-pf-item-name{margin:0;font-size:.8125rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.courses-pdf-pf-item-meta{margin:1px 0 0;font-size:.6875rem;color:var(--color-text-muted)}.courses-pdf-pf-toggle-group{flex:none;display:flex;border:1px solid var(--color-border-strong);border-radius:999px;overflow:hidden}.courses-pdf-pf-toggle-group button{border:none;padding:5px 10px;background:var(--color-bg-frame);color:var(--color-text-muted);font-size:.6875rem;font-weight:700;font-family:inherit;cursor:pointer}.courses-pdf-pf-toggle-group button.active-f{background:var(--color-danger);color:var(--color-accent-contrast)}.courses-pdf-pf-toggle-group button.active-np{background:var(--color-ink);color:var(--color-ink-contrast)}.courses-pdf-pf-note{margin:8px 0 0;font-size:.6875rem;color:var(--color-text-muted);line-height:1.5}.courses-pdf-grade-tag{display:inline-block;padding:6px 8px;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.8125rem;font-weight:700;text-align:center}.courses-pdf-grade-tag.is-f{border-color:var(--color-danger);color:var(--color-danger)}.courses-pdf-grade-tag.is-np{border-color:var(--color-accent);color:var(--color-accent)}.courses-pdf-table{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto;margin-bottom:12px}.courses-pdf-row{padding:8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-frame)}.courses-pdf-row.excluded{opacity:.45}.courses-pdf-row-main{display:flex;align-items:center;gap:8px}.courses-pdf-row-main .courses-pdf-name{flex:1;min-width:0}.courses-pdf-row-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.courses-pdf-meta-field{display:flex;flex-direction:column;gap:3px}.courses-pdf-meta-label{font-size:.6875rem;color:var(--color-text-muted)}.courses-pdf-meta-category{flex:1 1 100px}.courses-pdf-meta-credits{flex:0 1 60px}.courses-pdf-meta-year,.courses-pdf-meta-semester,.courses-pdf-meta-grade{flex:0 1 70px}.courses-pdf-row input[type=text],.courses-pdf-row input[type=number],.courses-pdf-row select{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.8125rem;font-family:inherit}.courses-pdf-category-missing{border-color:var(--color-danger)}.onb-dots{display:flex;gap:5px;flex:1;justify-content:center}.onb-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border-strong)}.onb-dot.active{background:var(--color-ink);width:16px;border-radius:3px}.onb-dot.done{background:var(--color-ink);opacity:.5}.onb-q-title{font-size:1.25rem;line-height:1.4;font-weight:800;margin:0 0 6px;letter-spacing:-.2px}.onb-q-sub{font-size:.875rem;color:var(--color-text-muted);margin:0 0 24px;line-height:1.5}.onb-option-list{display:flex;flex-direction:column;gap:10px}.onb-option-card{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-bg-card);cursor:pointer;text-align:left;color:var(--color-text-primary);font-family:inherit;width:100%}.onb-option-card:hover:not(:disabled),.onb-option-card.active{background:var(--color-neutral-bg)}.onb-option-card.selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);background:var(--color-neutral-bg)}.onb-kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.onb-micro-chosen{margin-bottom:14px}.onb-micro-group{margin:0 0 14px}.onb-micro-row{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-top:6px;border:1px solid var(--color-border);border-radius:10px;font-size:.875rem;cursor:pointer}.onb-micro-row input{width:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--color-ink)}.onb-micro-row.checked{border-color:var(--color-ink);background:var(--color-neutral-bg)}.onb-option-card:focus-visible,.onb-college-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.onb-option-card:disabled{opacity:.4;cursor:not-allowed}.onb-option-title{font-size:.9375rem;line-height:1.4;font-weight:500}.onb-option-caption{font-size:.8125rem;line-height:1.4;color:var(--color-text-muted)}.onb-option-card.selected .onb-option-caption{color:var(--color-text-secondary)}.onb-option-card:disabled .onb-option-caption{color:var(--color-danger)}.onb-option-note{font-size:.75rem;color:var(--color-text-muted)}mark.search-hit{background:none;color:var(--color-accent-on-bg, var(--color-accent));font-weight:700}.dept-pair{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-bg-frame)}.dept-pair-head{margin:0 2px;font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary)}.dept-pair-head strong{color:var(--color-text-primary)}.dept-cohort{align-self:flex-start;margin-bottom:2px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:var(--color-ink);color:var(--color-ink-contrast)}.dept-cohort.old{background:var(--color-border-strong);color:var(--color-text-primary)}.onb-option-item{display:flex;flex-direction:column;gap:6px}.onb-successor-shortcut{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid var(--color-ink);border-radius:10px;background:none;color:var(--color-ink);font-family:inherit;font-size:.8125rem;font-weight:500;cursor:pointer}.onb-successor-shortcut:hover{background:var(--color-neutral-bg);color:var(--color-ink)}.onb-q-sub-note{margin-top:-6px;font-size:.8125rem}.onb-field-group{margin-bottom:18px}.leave-choice{border:1px solid var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);border-radius:12px;background:var(--color-neutral-bg)}.leave-choice .onb-option-card{width:100%;border:none;box-shadow:none;background:none;cursor:default}.leave-choice-body{display:flex;flex-direction:column;gap:14px;padding:0 16px 14px}.leave-period{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--color-border)}.leave-period-head{display:flex;align-items:center;justify-content:space-between}.leave-period-name{font-size:.8125rem;font-weight:700;color:var(--color-text-secondary)}.leave-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.9375rem;line-height:1.4;color:var(--color-text-primary)}.leave-sentence .onb-select{width:auto;padding:8px 28px 8px 10px;font-size:.9375rem;font-weight:700;background-color:var(--color-bg-frame)}.leave-summary{margin:0;padding:9px 11px;border-radius:8px;background:var(--color-bg-frame);font-size:.8125rem;line-height:1.5;color:var(--color-text-secondary)}.leave-summary strong{color:var(--color-text-primary)}.leave-text-btn{align-self:flex-start;padding:4px 0;border:none;background:none;font:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.leave-text-btn.danger{font-weight:500;color:var(--color-danger)}.onb-field-label{display:block;font-size:.8125rem;font-weight:700;color:var(--color-text-muted);margin-bottom:8px}.onb-select{width:100%;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:10px;font-size:.9375rem;background:var(--color-bg-card);color:var(--color-text-primary);font-family:inherit}select.onb-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ba0aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}:root[data-theme=light] select.onb-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%233a3d42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.onb-chip-row{display:flex;gap:8px;flex-wrap:wrap}.onb-chip{flex:1;min-width:70px;padding:12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;font-family:inherit}.onb-chip.selected{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink);background:var(--color-neutral-bg);color:var(--color-ink);font-weight:700}.onb-chip:disabled{opacity:.35;cursor:not-allowed}.onb-hint{margin:8px 0 0;font-size:.8125rem;color:var(--color-text-muted);line-height:1.5}.onb-summary-list{display:flex;flex-direction:column;gap:10px}.onb-summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 14px;background:var(--color-bg-card);border-radius:10px;border:1px solid var(--color-border)}.onb-summary-key{font-size:.8125rem;color:var(--color-text-muted);flex-shrink:0;margin-right:12px}.onb-summary-val{font-size:.875rem;font-weight:700}.onb-summary-val-warning{color:var(--color-danger)}.onb-summary-row-editable{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left}.onb-summary-row-editable:hover{border-color:var(--color-text-muted)}.onb-summary-row-right{display:flex;align-items:center;gap:8px;color:var(--color-text-muted)}.onb-done-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:40px 0}.onb-done-circle{width:56px;height:56px;border-radius:50%;background:var(--color-success);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.6875rem}.onb-done-title{font-size:1.125rem;font-weight:800;margin:4px 0 0}.onb-done-sub{font-size:.875rem;color:var(--color-text-muted)}.onb-float-action{position:sticky;bottom:0}.onb-float-action .auth-submit-btn{box-shadow:0 4px 14px #0000002e}.onb-float-action .auth-submit-btn:not(:disabled){border:1.5px solid var(--color-text-primary)}.onb-float-action .auth-submit-btn:disabled{opacity:1;background:var(--color-ink-disabled)}.onb-later-link{float:right;margin-left:12px;line-height:1.75rem}.onb-skip-link{display:block;margin:16px auto 0;padding:4px;background:none;border:none;font-size:.75rem;color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.screen-header-right{display:flex;align-items:center;gap:8px}.career-chat-messages{display:flex;flex-direction:column;gap:12px}.import-toast{position:absolute;top:64px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);display:flex;align-items:center;justify-content:center;gap:6px;background:color-mix(in srgb,var(--color-success) 15%,var(--color-bg-card));border:1px solid var(--color-success);color:var(--color-success);font-size:.8125rem;font-weight:400;white-space:nowrap;text-align:center;padding:9px 16px;border-radius:20px;box-shadow:0 4px 16px #0000004d;z-index:50}.career-result-banner{display:flex;align-items:center;justify-content:center;width:100%;padding:10px;margin-bottom:10px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-neutral-bg);color:var(--color-text-primary);font-size:.8125rem;font-weight:700;cursor:pointer}.career-confirm-loading{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.career-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-ink);border-radius:50%;animation:career-spin .8s linear infinite}@keyframes career-spin{to{transform:rotate(360deg)}}.career-confirm-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:40}.career-confirm-modal{width:100%;background:var(--color-bg-frame);border:1px solid var(--color-border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}.career-confirm-title{font-size:.9375rem;font-weight:700;color:var(--color-text-primary)}.career-confirm-body{font-size:.8125rem;color:var(--color-text-muted);line-height:1.6;margin:0}.career-confirm-cancel{width:100%;padding:11px;border-radius:10px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:.8125rem;cursor:pointer}.chat-bubble .message-text.md{white-space:normal}.chat-bubble .md-p{margin:0 0 6px}.chat-bubble .md-heading{margin:8px 0 4px;font-weight:700;font-size:1rem}.chat-bubble .md-list{margin:0 0 6px;padding-left:20px}.chat-bubble .md-list li{margin:2px 0}.chat-bubble .md-rule{border:0;border-top:1px solid var(--color-border, rgba(255, 255, 255, .12));margin:8px 0}.chat-bubble .md-table-wrap{overflow-x:auto;margin:0 0 6px}.chat-bubble .md-table{border-collapse:collapse;font-size:.875rem;line-height:1.4}.chat-bubble .md-table th,.chat-bubble .md-table td{border:1px solid var(--color-border, rgba(255, 255, 255, .12));padding:4px 8px;text-align:left;vertical-align:top}.chat-bubble .md-table th{font-weight:700;white-space:nowrap}.chat-bubble .message-text.md>:first-child{margin-top:0}.chat-bubble .message-text.md>:last-child{margin-bottom:0}.chat-bubble .message-citations .message-text{font-size:inherit;color:inherit;margin:2px 0 6px}.chat-bubble .message-citations .md-heading{font-size:inherit;margin:4px 0 2px}.chat-bubble .message-citations .md-table{font-size:.75rem}.bottom-tab{position:relative}.bottom-tab-dot{position:absolute;top:6px;right:calc(50% - 18px);width:8px;height:8px;border-radius:50%;background:var(--color-danger, #e5484d)}.courses-year-tab{position:relative}.courses-year-tab .tab-dot{display:inline-block;width:6px;height:6px;margin-left:4px;border-radius:50%;background:var(--color-danger, #e5484d);vertical-align:super}.onb-college-hint{margin:0 0 8px;line-height:1.5;font-size:.8125rem;color:var(--color-text-secondary)}.onb-college-tree{display:flex;flex-direction:column;gap:8px}.onb-college-head{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;border:1px solid var(--color-border-strong, rgba(255, 255, 255, .2));border-radius:10px;background:var(--color-bg-card);color:var(--color-text-primary);font-size:.9375rem;font-weight:600;text-align:left;cursor:pointer}.onb-college-head.open{border-color:var(--color-ink)}.onb-college-name{flex:1}.onb-college-count{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.onb-college-chevron{color:var(--color-text-secondary)}.onb-college-body{margin:8px 0 4px 10px}.admin-trend-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:14px}.admin-composition-name{font-size:.8125rem;color:var(--color-text-primary)}.admin-trend-total{display:flex;align-items:baseline;gap:4px}.admin-trend-unit{font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.admin-trend-readout{min-height:1.5em;margin:4px 0 8px;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary)}.trend-chart{display:block;width:100%;height:auto;touch-action:manipulation}.trend-chart-grid{stroke:var(--color-border);stroke-width:1}.trend-chart-baseline{stroke:var(--color-border-strong);stroke-width:1}.trend-chart-axis{fill:var(--color-text-muted);font-size:10px;font-variant-numeric:tabular-nums}.trend-chart-col{outline:none;cursor:pointer}.trend-chart-hit{fill:transparent}.trend-chart-bar{fill:var(--color-accent);opacity:.75;transition:opacity .12s}.trend-chart-col.active .trend-chart-bar{opacity:1}.trend-chart-focus{fill:none;stroke:none}.trend-chart--line{touch-action:pan-y;cursor:crosshair}.trend-chart--line:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:4px}.trend-chart-line{fill:none;stroke:var(--color-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-chart-area{fill:var(--color-accent);opacity:.1}.trend-chart-cursor{stroke:var(--color-text-muted);stroke-width:1}.trend-chart-dot{fill:var(--color-accent);stroke:var(--color-bg-card);stroke-width:2}.trend-chart-col:focus-visible .trend-chart-focus{stroke:var(--color-accent);stroke-width:2}.admin-trend-table{margin-top:8px;font-size:.8125rem}.admin-trend-table summary{cursor:pointer;font-weight:600;color:var(--color-text-secondary)}.admin-trend-table table{width:100%;margin-top:8px;border-collapse:collapse}.admin-trend-table th,.admin-trend-table td{padding:6px 4px;border-top:1px solid var(--color-border);text-align:left;font-weight:400;font-variant-numeric:tabular-nums}.admin-trend-table thead th{font-weight:700;color:var(--color-text-muted)}.admin-trend-table td,.admin-trend-table thead th:last-child{text-align:right}@media(prefers-reduced-motion:reduce){.trend-chart-bar{transition:none}}.admin-page{position:relative}.courses-body.admin-body-flush{padding:0;display:flex;flex-direction:column}.admin-pad{padding:16px}.admin-tabs{position:static}.admin-tab-count{margin-left:5px;font-size:.75rem;font-weight:700;color:var(--color-danger)}.admin-list{border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.admin-list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 14px;border:none;border-bottom:1px solid var(--color-border);background:var(--color-bg-frame);font-family:inherit;font-size:.9375rem;color:var(--color-text-primary);text-align:left;cursor:pointer}.admin-list-row:last-child{border-bottom:none}.admin-list-row:hover{background:var(--color-bg-card)}.admin-list-row>svg:last-child{flex-shrink:0;color:var(--color-text-muted)}.admin-list-icon{display:flex;color:var(--color-text-secondary)}.admin-list-name{flex:1;min-width:0;font-weight:600}.admin-list-value{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums}.admin-list-sub{min-width:64px;text-align:right;font-size:.75rem;color:var(--color-text-muted)}.admin-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--color-alert);color:#fff;font-size:.75rem;font-weight:700}.admin-done{display:flex;align-items:center;gap:8px;margin:0;padding:13px 14px;border-radius:14px;background:var(--color-bg-card);font-size:.875rem;color:var(--color-text-secondary)}.admin-done svg{color:var(--color-success)}.admin-hero{display:block;width:100%;padding:16px 16px 12px;border:none;border-radius:14px;background:var(--color-bg-card);font-family:inherit;color:var(--color-text-primary);text-align:left;cursor:pointer}.admin-hero-top{display:flex;align-items:center;justify-content:space-between}.admin-hero-top .admin-stat-label{margin:0}.admin-hero-more{display:inline-flex;align-items:center;gap:2px;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.admin-hero-num{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:6px 0 10px;font-size:.9375rem;color:var(--color-text-secondary)}.admin-hero-num b{font-size:2rem;font-weight:800;letter-spacing:-.02em;color:var(--color-text-primary)}.admin-compare{margin-left:4px;font-style:normal;font-size:.8125rem;font-weight:600;color:var(--color-text-muted)}.admin-compare.up{color:var(--color-success)}.admin-compare.warn{color:var(--color-danger)}.admin-trend-total .admin-compare{margin-left:8px}.admin-spark{display:flex;align-items:flex-end;gap:4px;height:44px}.admin-spark i{flex:1;border-radius:2px;background:var(--color-border-strong)}.admin-spark i.week{background:color-mix(in srgb,var(--color-accent) 55%,var(--color-bg-card))}.admin-spark i.today{background:var(--color-accent)}.admin-axis{display:flex;justify-content:space-between;margin-top:4px;font-size:.75rem;color:var(--color-text-muted)}.admin-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.admin-mini>div{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:12px;background:var(--color-bg-card)}.admin-mini span{font-size:.75rem;color:var(--color-text-muted)}.admin-mini b{font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}.admin-mini small{font-size:.6875rem;line-height:1.4;color:var(--color-text-muted)}.admin-filter{margin-bottom:10px}.admin-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.admin-chips button{height:30px;padding:0 12px;border:1px solid var(--color-border-strong);border-radius:15px;background:none;font-family:inherit;font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.admin-chips button.on{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-ink-contrast)}.trend-chart-prev{fill:none;stroke:var(--color-text-muted);stroke-width:1.5;stroke-dasharray:3 3;pointer-events:none}.admin-legend{display:flex;gap:14px;margin:10px 0 0;font-size:.75rem;color:var(--color-text-muted)}.admin-legend span{display:inline-flex;align-items:center;gap:5px}.admin-legend i.bar{width:10px;height:10px;border-radius:2px;background:var(--color-accent)}.admin-legend i.bar.b{background:var(--color-border-strong)}.admin-legend i.line{width:14px;border-top:2px dashed var(--color-text-muted)}.admin-card{margin-bottom:10px;padding:16px;border-radius:14px;background:var(--color-bg-card)}.admin-card .admin-stat-label{margin:0 0 4px}.admin-card-note{margin:10px 0 0;font-size:.8125rem;line-height:1.6;color:var(--color-text-muted)}.admin-card-note b{color:var(--color-text-primary)}.admin-vs{display:flex;flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none}.admin-vs li{display:grid;grid-template-columns:92px 1fr 64px;align-items:center;gap:10px;font-size:.8125rem;color:var(--color-text-secondary)}.admin-vs-bar{display:flex;gap:2px;height:10px;overflow:hidden;border-radius:5px}.admin-vs-bar i.a{background:var(--color-accent)}.admin-vs-bar i.b{background:var(--color-border-strong)}.admin-vs-n{text-align:right;font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.admin-hist{display:flex;align-items:flex-end;gap:6px;height:96px;margin-top:12px}.admin-hist span{display:flex;flex:1;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%}.admin-hist i{width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--color-border-strong)}.admin-hist span.on i{background:var(--color-accent)}.admin-hist em{font-style:normal;font-size:.6875rem;color:var(--color-text-muted)}.admin-group{margin-bottom:10px;padding:4px 14px 8px;border:1px solid var(--color-border);border-radius:14px}.admin-group ul{margin:0;padding:0;list-style:none}.admin-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:10px 0;border:none;border-bottom:1px solid var(--color-border);background:none;font-family:inherit;color:var(--color-text-primary);cursor:pointer}.admin-group-head:disabled{cursor:default}.admin-group-head span{flex:1;text-align:left;font-size:.9375rem;font-weight:700}.admin-group-head b{font-size:.875rem}.admin-group-head svg{color:var(--color-text-muted);transition:transform .15s}.admin-group-head[aria-expanded=true] svg{transform:rotate(90deg)}.admin-feature-row{display:grid;grid-template-columns:1fr 64px 84px;align-items:center;gap:10px;padding:9px 0;font-size:.8125rem}.admin-feature-name{color:var(--color-text-primary);overflow-wrap:anywhere}.admin-feature-bar{display:block;height:6px;overflow:hidden;border-radius:3px;background:var(--color-neutral-bg)}.admin-feature-bar i{display:block;height:100%;border-radius:3px;background:var(--color-accent)}.admin-feature-n{text-align:right;line-height:1.3;color:var(--color-text-secondary)}.admin-feature-n b{font-size:.875rem;color:var(--color-text-primary)}.admin-feature-n small{display:block;font-size:.6875rem;color:var(--color-text-muted)}.admin-composition-total{margin:0 0 10px;font-size:.875rem;color:var(--color-text-secondary)}.admin-composition-total b{font-size:1.125rem;color:var(--color-text-primary)}.admin-composition-table{width:100%;border-collapse:collapse;font-size:.8125rem}.admin-composition-table th,.admin-composition-table td{padding:9px 0;border-top:1px solid var(--color-border);text-align:left;font-weight:400;vertical-align:middle}.admin-composition-table thead th{padding-top:0;border-top:none;font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.admin-composition-table tbody th{padding-right:12px}.admin-composition-table tbody th .admin-composition-name{display:block;margin-bottom:6px}.admin-composition-table .num{width:84px;text-align:right;line-height:1.35}.admin-composition-table .num small{display:block;font-size:.6875rem;font-weight:500;color:var(--color-text-muted)}.admin-composition-table tr.other .admin-composition-name{color:var(--color-text-muted)}.admin-rows{display:flex;flex-direction:column}.admin-row{gap:4px}.admin-row-top{display:flex;align-items:center;gap:8px}.admin-row-top .post-meta{margin-left:auto}.admin-detail{flex:1;padding:16px 16px 20px;overflow-y:auto}.admin-detail-title{margin:4px 0 12px;font-size:1.125rem;font-weight:800;line-height:1.4;color:var(--color-text-primary);overflow-wrap:anywhere}.admin-detail-link{display:inline-flex;align-items:center;gap:2px;height:32px;margin-top:4px;padding:0}.admin-section{display:block;margin:20px 0 8px;font-size:.8125rem;font-weight:700;color:var(--color-text-primary)}.admin-section.first{margin-top:0}.admin-section small{margin-left:6px;font-weight:500;color:var(--color-text-muted)}.admin-body{margin:0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.admin-body--lead{margin-top:14px;font-size:.9375rem;color:var(--color-text-primary)}.admin-inquiry-sanction{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.admin-inquiry-sanction .post-btn{flex-shrink:0}.ai-result{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-bg-card)}.ai-result:before{content:"제안";font-size:.6875rem;font-weight:700;color:var(--color-text-muted)}.ai-result--warn{border-color:var(--color-warning);color:var(--color-warning)}.ai-result--danger{border-color:var(--color-danger);color:var(--color-danger)}mark.ai-mark{background:color-mix(in srgb,var(--color-warning) 35%,transparent);color:inherit;border-radius:3px;padding:0 2px}.ai-suggest{display:flex;flex-direction:column;gap:4px;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--color-bg-card);border:1px solid var(--color-border);font-size:.8125rem}.ai-suggest b{font-size:.875rem}.ai-compare{width:100%;border-collapse:collapse;font-size:.8125rem}.ai-compare th,.ai-compare td{padding:8px 6px;border-bottom:1px solid var(--color-border);text-align:right}.ai-compare th:first-child,.ai-compare td:first-child{text-align:left}.ai-compare th{color:var(--color-text-muted);font-weight:500}.ai-note{font-size:.75rem;color:var(--color-text-muted);margin:6px 0 0}.admin-draft-actions{margin-top:10px}.admin-appeal{display:flex;flex-direction:column;gap:6px;margin-top:10px}.admin-note-line{margin-top:10px}.admin-reasons{margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.admin-reasons li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--color-border)}.admin-reasons b{font-size:.875rem;font-weight:600;overflow-wrap:anywhere}.admin-reasons span{font-size:.75rem;color:var(--color-text-muted)}.admin-person{padding:14px;border-radius:12px;background:var(--color-bg-card)}.admin-person-top{display:flex;flex-direction:column;gap:2px}.admin-person-top b{font-size:.9375rem}.admin-person-top span{font-size:.8125rem;color:var(--color-text-secondary)}.admin-person-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 12px;margin:12px 0 0}.admin-person-stats dt{font-size:.6875rem;color:var(--color-text-muted)}.admin-person-stats dd{margin:2px 0 0;font-size:.875rem;font-weight:700}.admin-person-sanctions{display:flex;flex-direction:column;gap:8px;margin:12px 0 0;padding:12px 0 0;list-style:none;border-top:1px solid var(--color-border)}.admin-person-sanctions li{display:flex;flex-direction:column;gap:2px}.admin-dock{display:flex;gap:8px;flex-shrink:0;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-frame)}.admin-dock .post-btn{flex:1}.admin-textarea{resize:vertical;font-size:.875rem;line-height:1.55}.admin-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.admin-actions.left{justify-content:flex-start;margin-top:8px}.admin-post{padding:16px 0;border-bottom:1px solid var(--color-border)}.admin-post:first-child{padding-top:0}.admin-post-heading{margin:6px 0 4px}.admin-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin:12px 0 0;padding:12px;border-radius:12px;background:var(--color-bg-card)}.admin-facts dt{font-size:.6875rem;color:var(--color-text-muted)}.admin-facts dd{margin:2px 0 0;font-size:.8125rem;font-weight:600;overflow-wrap:anywhere}.admin-reject{margin-top:12px;padding:12px;border:1px solid var(--color-border-strong);border-radius:12px}.admin-reject .admin-actions{margin-top:8px}.admin-more{position:relative}.admin-more-btn{display:flex;padding:2px;border:none;background:none;color:var(--color-text-muted);cursor:pointer}.admin-confirm{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding:12px 14px;border-radius:12px;background:var(--color-bg-card);font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.admin-confirm b{color:var(--color-text-primary)}.admin-confirm .admin-actions{margin-top:4px}.admin-sheet-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;background:#00000080}.admin-sheet{display:flex;flex-direction:column;width:100%;max-height:90%;border-radius:18px 18px 0 0;background:var(--color-bg-frame)}.admin-sheet-head{position:relative;display:flex;align-items:center;justify-content:space-between;padding:18px 16px 10px}.admin-sheet-head b{font-size:1rem}.admin-sheet-head .post-btn{height:30px;padding:0 4px}.admin-sheet-grip{position:absolute;top:7px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--color-border-strong)}.admin-sheet-body{flex:1;min-height:0;padding:6px 16px 12px;overflow-y:auto}.admin-sheet-foot{padding:12px 16px 16px;border-top:1px solid var(--color-border)}.admin-sheet-note{margin:0 0 14px;padding:10px 12px;border-radius:10px;background:var(--color-neutral-bg);font-size:.8125rem;color:var(--color-text-secondary)}.admin-sheet-warn{margin:12px 0 0;font-size:.8125rem;color:var(--color-danger)}.admin-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-choice button{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--color-border-strong);border-radius:12px;background:none;font-family:inherit;text-align:left;color:var(--color-text-primary);cursor:pointer}.admin-choice button b{font-size:.875rem}.admin-choice button span{font-size:.75rem;line-height:1.4;color:var(--color-text-muted)}.admin-choice button.on{padding:11px;border:2px solid var(--color-ink);background:var(--color-neutral-bg)}.admin-seg-full{display:flex;width:100%;box-sizing:border-box}.admin-seg-full button{flex:1}.account-avatar-dot{position:absolute;top:-1px;right:-1px;width:9px;height:9px;border:2px solid var(--color-bg-frame);border-radius:50%;background:var(--color-alert);pointer-events:none}.account-menu-item-admin{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-menu-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--color-alert);color:#fff;font-size:.75rem;font-weight:700}
