:root{--font-sans:"Segoe UI","Noto Sans TC",sans-serif;--bg:#eef3f7;--bg-accent:radial-gradient(circle at top left,rgba(55,130,199,0.14),transparent 32%),radial-gradient(circle at bottom right,rgba(42,171,152,0.12),transparent 38%),linear-gradient(180deg,#f7fafc,#ebf1f5);--surface:rgba(255,255,255,0.88);--surface-strong:rgba(255,255,255,0.96);--surface-soft:rgba(246,249,251,0.86);--surface-border:rgba(20,60,92,0.1);--text:#193345;--text-strong:#102431;--text-muted:#5e7487;--primary:#18679d;--primary-strong:#0f4e78;--primary-soft:rgba(24,103,157,0.08);--danger:#bd4c5d;--danger-soft:rgba(189,76,93,0.1);--success:#157a66;--success-soft:rgba(21,122,102,0.1);--shadow-lg:0 20px 60px rgba(26,56,80,0.12);--shadow-md:0 10px 30px rgba(26,56,80,0.08);--shadow-sm:0 6px 18px rgba(26,56,80,0.06);--radius:9px;--radius-lg:12px;--radius-xl:16px}:root[data-theme=dark]{--bg:#09131b;--bg-accent:radial-gradient(circle at top left,rgba(30,96,148,0.22),transparent 30%),radial-gradient(circle at bottom right,rgba(28,120,112,0.18),transparent 36%),linear-gradient(180deg,#081118,#0c1822);--surface:rgba(11,24,35,0.9);--surface-strong:rgba(12,27,39,0.96);--surface-soft:rgba(16,32,45,0.86);--surface-border:rgba(132,175,206,0.12);--text:#edf5fb;--text-strong:#ffffff;--text-muted:#94a8b7;--primary:#4da9dd;--primary-strong:#75c9ff;--primary-soft:rgba(77,169,221,0.14);--danger:#ff8fa0;--danger-soft:rgba(255,143,160,0.12);--success:#4fd1a7;--success-soft:rgba(79,209,167,0.12);--shadow-lg:0 24px 70px rgba(0,0,0,0.32);--shadow-md:0 12px 36px rgba(0,0,0,0.24);--shadow-sm:0 8px 18px rgba(0,0,0,0.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg-accent);color:var(--text);font-family:var(--font-sans);transition:background .28s ease,color .28s ease}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none}img{max-width:100%}.page-frame{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:20px 0 40px}.forum-shell{display:grid;grid-template-columns:252px minmax(0,1fr) 320px;grid-gap:18px;gap:18px;align-items:start}.shell-main{min-width:0}.surface{background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.surface.soft{background:var(--surface-soft)}.main-panel,.panel,.rail-panel,.sidebar{padding:16px}.shell-rail,.shell-sidebar{position:-webkit-sticky;position:sticky;top:16px}.empty-state,.feed-stack,.forum-header,.meta-list,.nav-section,.panel-stack,.rail-list,.shell-rail,.shell-sidebar,.stack,.table-list{display:grid;grid-gap:14px;gap:14px}.forum-header{padding:18px}.author-chip,.between,.forum-header-top,.post-header,.row,.split-header,.toolbar{display:flex;align-items:center;gap:12px}.between,.forum-header-top,.post-header,.split-header{justify-content:space-between}.forum-header-top{flex-wrap:wrap}.brand-block{display:grid;grid-gap:8px;gap:8px}.brand-title{font-size:1.35rem;font-weight:800;color:var(--text-strong);letter-spacing:.01em}.brand-subtitle,.helper-text,.hero-subtitle,.muted{color:var(--text-muted)}.hero-title{font-size:clamp(1.8rem,3.8vw,2.6rem);line-height:1.05}.card-title,.hero-title{margin:0;color:var(--text-strong)}.card-title{font-size:1rem;font-weight:700}.micro-title{margin:0;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.micro-title,.pill,.tag{font-size:.82rem;font-weight:700}.pill,.tag{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-strong)}.tag.success{background:var(--success-soft);color:var(--success)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.danger-button,.ghost-button,.icon-button,.nav-link,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:0 14px;border-radius:10px;transition:transform .14s ease,background .14s ease,color .14s ease,border-color .14s ease,box-shadow .14s ease,opacity .14s ease}.primary-button{background:linear-gradient(135deg,var(--primary) 0,var(--primary-strong) 100%);color:#fff;box-shadow:0 12px 26px rgba(24,103,157,.22)}.ghost-button,.icon-button,.nav-link,.secondary-button{background:var(--primary-soft);color:var(--text)}.danger-button{background:var(--danger-soft);color:var(--danger)}.danger-button:hover,.ghost-button:hover,.icon-button:hover,.nav-link:hover,.primary-button:hover,.secondary-button:hover,.table-row:hover{transform:translateY(-1px)}.danger-button:active,.ghost-button:active,.icon-button:active,.pressable:active,.primary-button:active,.secondary-button:active{transform:scale(.95)}.nav-link{justify-content:space-between;width:100%;min-height:52px;padding:14px;border:1px solid transparent;text-align:left}.nav-link strong{display:block;font-size:.96rem}.nav-link span{display:block;color:var(--text-muted);font-size:.8rem}.nav-link.active{background:rgba(24,103,157,.16);border-color:rgba(24,103,157,.18);color:var(--text-strong)}.board-list,.nav-list{display:grid;grid-gap:10px;gap:10px}.board-chip{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:10px;background:rgba(24,103,157,.06);border:1px solid transparent;transition:transform .14s ease,border-color .14s ease,background .14s ease}.board-chip:hover{transform:translateY(-1px);border-color:rgba(24,103,157,.15);background:rgba(24,103,157,.1)}.search-bar{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--surface-soft);border:1px solid var(--surface-border);box-shadow:var(--shadow-sm)}.search-bar input{flex:1 1;min-width:0;border:none;background:transparent;color:var(--text);outline:none}.search-bar button{min-width:92px}.admin-grid,.detail-grid,.forum-columns,.main-panel,.profile-grid,.section-grid,.stats-grid{display:grid;grid-gap:16px;gap:16px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid,.forum-columns,.profile-grid,.section-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{display:grid;grid-gap:8px;gap:8px;padding:16px;border-radius:10px;background:rgba(24,103,157,.05);border:1px solid rgba(24,103,157,.09)}.metric-value{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--text-strong)}.table-row{display:grid;grid-gap:8px;gap:8px;padding:14px;border-radius:10px;background:rgba(24,103,157,.05);border:1px solid transparent;transition:transform .14s ease,background .14s ease,border-color .14s ease}.table-row:hover{background:rgba(24,103,157,.08);border-color:rgba(24,103,157,.12)}.post-card{display:grid;grid-gap:14px;gap:14px;padding:16px}.post-header{align-items:flex-start}.author-chip{align-items:center}.avatar{width:48px;height:48px;border-radius:12px;background:rgba(24,103,157,.12);overflow:hidden;flex-shrink:0}.avatar.small{width:36px;height:36px;border-radius:10px}.avatar img,.avatar.small img{width:100%;height:100%;object-fit:cover;display:block}.post-body{white-space:pre-wrap;line-height:1.72;word-break:break-word}.image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.image-frame{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--surface-border);min-height:160px;background:rgba(24,103,157,.06)}.image-frame img{width:100%;height:100%;display:block;object-fit:cover}.toolbar{flex-wrap:wrap}.icon-button{min-width:92px;min-height:38px}.icon-button.active{background:rgba(24,103,157,.18)}.rank-list{grid-gap:10px}.rank-list,.rank-row{display:grid;gap:10px}.rank-row{grid-template-columns:28px minmax(0,1fr) auto;grid-gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(24,103,157,.05)}.rank-index{width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:rgba(24,103,157,.14);color:var(--primary-strong);font-weight:800;font-size:.9rem}.list-divider{width:100%;height:1px;background:var(--surface-border)}.input,.policy-box,.select,.textarea{width:100%;border-radius:12px;border:1px solid var(--surface-border);background:var(--surface-soft);color:var(--text);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input,.select{min-height:44px;padding:0 14px}.textarea{min-height:140px;padding:14px;resize:vertical}.policy-box{max-height:220px;overflow:auto;padding:14px}.input:hover,.policy-box:hover,.select:hover,.textarea:hover{border-color:rgba(24,103,157,.25)}.input:focus,.policy-box:focus-within,.search-bar:focus-within,.select:focus,.textarea:focus{border-color:rgba(24,103,157,.38);box-shadow:0 0 0 4px rgba(24,103,157,.1)}.form-grid{display:grid;grid-gap:14px;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:18px}.notice-list{display:grid;grid-gap:12px;gap:12px}.notice-card{padding:14px;border-radius:14px;background:rgba(24,103,157,.05);border:1px solid rgba(24,103,157,.08)}.segmented{display:inline-flex;flex-wrap:wrap;gap:8px}.segment-button{min-height:36px;padding:0 12px;border-radius:999px;background:rgba(24,103,157,.08);color:var(--text)}.segment-button.active{background:linear-gradient(135deg,var(--primary) 0,var(--primary-strong) 100%);color:#fff}.skeleton{position:relative;overflow:hidden;background:rgba(255,255,255,.34);border-radius:var(--radius)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);animation:shimmer 1.4s infinite}:root[data-theme=dark] .skeleton{background:rgba(255,255,255,.06)}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)}.welcome-overlay{position:fixed;inset:0;display:grid;place-items:center;background:rgba(5,12,18,.36);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40}.welcome-card{width:min(560px,calc(100% - 32px));padding:28px;border-radius:18px;background:var(--surface-strong);border:1px solid var(--surface-border);box-shadow:var(--shadow-lg);animation:welcome-sequence 2.25s ease forwards}.empty-state{text-align:center;padding:28px 16px}.like-bounce{animation:like-bounce .42s cubic-bezier(.34,1.56,.64,1)}@keyframes shimmer{to{transform:translateX(100%)}}@keyframes like-bounce{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes welcome-sequence{0%{opacity:0;transform:scale(.97)}18%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:translateY(-12px) scale(1.02)}}@media (max-width:1260px){.forum-shell{grid-template-columns:236px minmax(0,1fr)}.shell-rail{position:static;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:960px){.forum-shell{grid-template-columns:1fr}.shell-rail,.shell-sidebar{position:static}.detail-grid,.form-grid.three,.form-grid.two,.forum-columns,.profile-grid,.section-grid.three,.section-grid.two,.shell-rail,.stats-grid{grid-template-columns:1fr}}@media (max-width:720px){.page-frame{width:min(100% - 18px,1440px);padding-top:14px}.between,.forum-header-top,.post-header,.split-header{align-items:flex-start;flex-direction:column}.image-grid{grid-template-columns:1fr}}