[data-v-f7c098bd] .header-brand{align-items:center;gap:8px;display:flex}.desktop-only[data-v-f7c098bd]{display:flex}.mobile-only[data-v-f7c098bd]{display:none}@media (width<=768px){.desktop-only[data-v-f7c098bd]{display:none!important}.mobile-only[data-v-f7c098bd]{display:flex}}.header-nav[data-v-f7c098bd]{align-items:center;gap:4px}.header-nav a[data-v-f7c098bd]{color:var(--steel);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;position:relative}.header-nav a[data-v-f7c098bd]:hover{color:#fff;background:#ffffff14}.header-nav a.active[data-v-f7c098bd]{color:#fff}.header-nav a.active[data-v-f7c098bd]:after{content:"";background:var(--red);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.nav-dropdown-wrap[data-v-f7c098bd]{position:relative}.nav-dropdown-btn[data-v-f7c098bd]{color:var(--steel);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:500;transition:color .15s,background .15s;display:inline-flex;position:relative}.nav-dropdown-btn[data-v-f7c098bd]:hover,.nav-dropdown-btn.active[data-v-f7c098bd]{color:#fff;background:#ffffff14}.nav-dropdown-btn.active[data-v-f7c098bd]:after{content:"";background:var(--red);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.dropdown-chevron[data-v-f7c098bd]{color:var(--steel);transition:transform .15s}.nav-dropdown-btn:hover .dropdown-chevron[data-v-f7c098bd],.nav-dropdown-btn.active .dropdown-chevron[data-v-f7c098bd]{color:#fff}.dropdown-chevron.open[data-v-f7c098bd]{transform:rotate(180deg)}.nav-dropdown-menu[data-v-f7c098bd]{background:var(--charcoal);z-index:200;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:2px;min-width:130px;margin-top:6px;padding:6px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000059}.nav-dropdown-menu[data-v-f7c098bd]:before{content:"";height:6px;position:absolute;top:-6px;left:0;right:0}.nav-dropdown-menu a[data-v-f7c098bd]{color:var(--steel);border-radius:6px;padding:7px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:block;position:relative}.nav-dropdown-menu a[data-v-f7c098bd]:after{display:none}.nav-dropdown-menu a[data-v-f7c098bd]:hover{color:#fff;background:#ffffff14}.nav-dropdown-menu a.active[data-v-f7c098bd]{color:#fff;background:#ffffff0f}.header-right[data-v-f7c098bd]{align-items:center;gap:8px}.lang-select[data-v-f7c098bd]{color:var(--steel);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;outline:none;padding:4px 8px;font-size:12px;transition:border-color .15s,color .15s}.lang-select[data-v-f7c098bd]:hover,.lang-select[data-v-f7c098bd]:focus{color:#fff;border-color:#ffffff4d}.lang-select option[data-v-f7c098bd]{background:var(--charcoal);color:#fff}.header-action-btn[data-v-f7c098bd]{color:var(--steel);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px;transition:color .15s,background .15s}.header-action-btn[data-v-f7c098bd]:hover{color:#fff;background:#ffffff14}.hamburger-btn[data-v-f7c098bd]{color:var(--steel);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;padding:6px;transition:color .15s}.hamburger-btn[data-v-f7c098bd]:hover{color:#fff}.mobile-overlay[data-v-f7c098bd]{z-index:99;background:#00000073;position:fixed;inset:56px 0 0}.mobile-menu[data-v-f7c098bd]{background:var(--charcoal);border-left:1px solid #ffffff1a;flex-direction:column;gap:4px;width:260px;height:100%;padding:16px 12px;display:flex;position:absolute;top:0;right:0}.mobile-menu a[data-v-f7c098bd]{color:var(--steel);border-radius:6px;padding:11px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.mobile-menu a[data-v-f7c098bd]:hover,.mobile-menu a.active[data-v-f7c098bd]{color:#fff;background:#ffffff14}.mobile-section-label[data-v-f7c098bd]{color:#ffffff59;text-transform:uppercase;letter-spacing:.06em;padding:8px 12px 2px;font-size:11px;font-weight:600}.mobile-sub[data-v-f7c098bd]{padding-left:20px!important}.mobile-divider[data-v-f7c098bd]{background:#ffffff1a;height:1px;margin:8px 0}.mobile-meta[data-v-f7c098bd]{align-items:center;gap:8px;padding:4px 12px;display:flex}.lang-select-mobile[data-v-f7c098bd]{color:var(--steel);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff26;border-radius:6px;outline:none;padding:4px 8px;font-size:12px}.lang-select-mobile option[data-v-f7c098bd]{background:var(--charcoal);color:#fff}.mobile-logout[data-v-f7c098bd]{color:var(--steel);cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff26;border-radius:6px;margin-top:4px;padding:11px 12px;font-size:14px;transition:color .15s,background .15s}.mobile-logout[data-v-f7c098bd]:hover{color:#fff;background:#ffffff14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--red:#c62828;--red-dark:#8e1a1a;--red-light:#e57373;--red-tint:#fdecea;--charcoal:#37474f;--charcoal-2:#546e7a;--steel:#90a4ae;--steel-light:#cfd8dc;--primary:var(--red);--primary-dark:var(--red-dark);--primary-light:var(--red-tint);--text:var(--charcoal);--text-muted:var(--steel);--border:var(--steel-light);--bg:#eee;--card:#fff;--danger:var(--red);--success:#388e3c;--warning:#f57c00;--radius:8px;--shadow:0 1px 3px #37474f1a, 0 1px 2px #37474f14;--shadow-md:0 4px 12px #37474f1f}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,Noto Sans TC,sans-serif;font-size:14px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.app-layout{flex-direction:column;min-height:100vh;display:flex}.page-content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:24px}.page-content--wide{max-width:none}.app-header{background:var(--charcoal);color:#fff;z-index:100;border-bottom:1px solid #ffffff14;align-items:center;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00000040}.header-brand{letter-spacing:.02em;color:#fff;flex-shrink:0;font-size:16px;font-weight:700;text-decoration:none}.header-brand:hover{color:#fff;text-decoration:none}.header-spacer{flex:1}.header-nav{align-items:center;gap:4px;display:flex}.header-nav a{color:var(--steel);border-radius:6px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;position:relative}.header-nav a:hover{color:#fff;background:#ffffff14;text-decoration:none}.header-nav a.active{color:#fff}.header-nav a.active:after{content:"";background:var(--red);border-radius:1px;height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.header-role-badge{color:#eee;background:#ffffff26;border-radius:20px;padding:3px 8px;font-size:11px}.header-role-badge.internal{background:var(--red)}.header-role-badge.admin{background:var(--charcoal-2)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.card-body{padding:20px}.btn{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{color:var(--text);border-color:var(--border);background:#fff}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover{background:var(--red-dark)}.btn-sm{padding:5px 10px;font-size:12px}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg);color:var(--text)}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:16px}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #c628281f}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--border);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:#f5f5f5}.badge{border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-private{color:#e65100;background:#fff3e0}.badge-public{color:#2e7d32;background:#e8f5e9}.badge-internal{background:var(--red-tint);color:var(--red)}.badge-disclosed{color:#2e7d32;background:#e8f5e9}.badge-not-disclosed{color:var(--steel);background:#eee}.badge-type{background:var(--red-tint);color:var(--red)}.badge-game{color:var(--charcoal-2);background:#eceff1}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.filter-bar .form-input,.filter-bar .form-select{width:auto}.search-input{min-width:220px}.view-toggle{background:var(--bg);border:1px solid var(--border);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.view-toggle button{cursor:pointer;color:var(--text-muted);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.view-toggle button:hover{color:var(--text)}.view-toggle button.active{color:var(--text);background:#fff;font-weight:600;box-shadow:0 1px 3px #37474f2e,0 1px 1px #37474f14}.activity-tooltip{background:var(--charcoal);color:#fff;pointer-events:none;z-index:1000;box-shadow:var(--shadow-md);border-radius:8px;max-width:260px;padding:10px 14px;font-size:12px;line-height:1.7;position:fixed}.activity-tooltip .tt-name{margin-bottom:4px;font-size:13px;font-weight:700}.activity-tooltip .tt-row{color:var(--steel)}.activity-tooltip .tt-row span{color:#eee}.calendar-view{flex-direction:column;height:100%;display:flex}.calendar-nav{flex-shrink:0;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-title{text-align:center;min-width:140px;font-size:17px;font-weight:700}.calendar-scroll{border:1px solid var(--border);border-radius:var(--radius);flex:1;min-height:0;overflow:auto}.calendar-grid{background:#fff;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:700px;display:grid}.cal-day-header{text-align:center;color:var(--text-muted);border-bottom:1px solid var(--border);z-index:1;background:#eee;padding:10px 6px;font-size:12px;font-weight:600;position:sticky;top:0}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top;min-height:110px;padding:6px}.cal-cell:nth-child(7n){border-right:none}.cal-cell.other-month{background:#f5f5f5}.cal-cell.today-cell{background:var(--red-tint)}.cal-date{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.cal-date.today-date{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.cal-event{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;color:#fff;border-radius:3px;margin-bottom:2px;padding:2px 6px;font-size:11px;font-weight:500;overflow:hidden}.cal-event:hover{filter:brightness(1.1)}.cal-more{color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:10px}.cal-more:hover{color:var(--primary)}.cal-node{white-space:nowrap;text-overflow:ellipsis;cursor:default;border-radius:3px;margin-bottom:2px;padding:1px 5px;font-size:10px;overflow:hidden}.cal-node-holiday{color:#92400e;background:#fef3c7}.cal-node-gamenode{color:#5b21b6;background:#ede9fe}.cal-node-competitorevent{color:#991b1b;background:#fee2e2}.cal-node-sportevent{color:#065f46;background:#d1fae5}.read-dot{vertical-align:middle;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;display:inline-block;position:relative;top:-1px}.read-dot-cal{vertical-align:middle;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:4px;display:inline-block;position:relative;top:-1px}.read-dot-gantt{vertical-align:middle;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:5px;display:inline-block;position:relative;top:-1px}.dot-unread{background:#fbbf24}.dot-read{background:#ffffff59;outline:1.5px solid #fff6}.read-dot.dot-read{background:#cbd5e1;outline:none}.detail-header{margin-bottom:16px}.detail-title{margin-bottom:10px;font-size:22px;font-weight:700}.detail-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.event-id-chip{color:#475569;letter-spacing:.03em;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;padding:2px 8px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:600}.date-info{flex-direction:column;gap:5px;margin-bottom:24px;display:flex}.date-row{align-items:baseline;gap:10px;font-size:13px;display:flex}.date-label{min-width:60px;color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:500}.date-range{color:var(--charcoal);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-weight:600}.date-days{color:var(--text-muted);font-size:12px}.content-list{flex-direction:column;gap:12px;display:flex}.content-item{border:1px solid var(--border);background:#fff;border-radius:8px;padding:14px 16px}.content-item.private-item{background:#fff8f0;border-color:#ffcc80}.content-item-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.content-item-body{color:var(--text);white-space:pre-wrap;font-size:14px;line-height:1.7}.content-item-body a{color:var(--primary);word-break:break-all}.lang-tabs{gap:8px;margin-bottom:16px;display:flex}.lang-tab{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:#fff;border-radius:20px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .15s}.lang-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-title{font-size:20px;font-weight:700}.content-editor-header{border-bottom:1px solid var(--border);background:#eee;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.content-item-edit{border-bottom:1px solid var(--border);padding:14px 16px}.content-item-edit:last-child{border-bottom:none}.content-item-edit .row3{grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:10px;display:grid}.actions-col{gap:6px;display:flex}.admin-nav{gap:8px;margin-bottom:24px;display:flex}.admin-nav a{color:var(--text-muted);border:1px solid #0000;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500}.admin-nav a:hover{color:var(--text);background:#e0e0e0;text-decoration:none}.admin-nav a.active{background:var(--red-tint);color:var(--primary);border-color:var(--red-light)}.save-toast{background:var(--charcoal);color:#fff;box-shadow:var(--shadow-md);z-index:1000;border-radius:8px;padding:12px 20px;font-size:13px;font-weight:500;animation:.2s slideUp;position:fixed;bottom:24px;right:24px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 60px #00000040}.login-title{text-align:center;color:var(--text);margin-bottom:4px;font-size:22px;font-weight:800}.login-subtitle{color:var(--text-muted);text-align:center;margin-bottom:28px;font-size:13px}.login-hint{border:1px solid var(--border);color:var(--text-muted);background:#eee;border-radius:6px;margin-top:16px;padding:10px 14px;font-size:12px;line-height:1.6}.login-error{background:var(--red-tint);border:1px solid var(--red-light);color:var(--red);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:13px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.loading-state{text-align:center;color:var(--text-muted);padding:40px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.glossary-note{border:1px solid var(--border);color:var(--text-muted);background:#eee;border-radius:6px;margin-bottom:20px;padding:10px 16px;font-size:13px}@media (width<=768px){.page-content{padding:16px}.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.login-card{padding:28px 20px}}
