@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&family=Bangers&display=swap";.sidebar-mask[data-v-37d2b5a8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background:#140c0473}.mask-enter-active[data-v-37d2b5a8],.mask-leave-active[data-v-37d2b5a8]{transition:opacity .25s ease}.mask-enter-from[data-v-37d2b5a8],.mask-leave-to[data-v-37d2b5a8]{opacity:0}.portal-sidebar[data-v-37d2b5a8]{position:fixed;top:0;left:0;bottom:0;z-index:1050;display:flex;flex-direction:column;width:var(--sidebar-width);background:linear-gradient(180deg,#ff9233,#ff8a1f);color:#fff;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 18px #5a2a022e}.portal-sidebar.open[data-v-37d2b5a8]{transform:translate(0)}.brand-block[data-v-37d2b5a8]{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:22px 16px 18px;cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-collapse-btn[data-v-37d2b5a8]{display:none;position:absolute;top:8px;right:8px;width:28px;height:28px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:#ffffff2e;color:#fff;font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease}.sidebar-collapse-btn[data-v-37d2b5a8]:hover{background:#ffffff61}.brand-mark[data-v-37d2b5a8]{font-size:30px;line-height:1;filter:drop-shadow(0 2px 4px rgba(60,20,0,.35))}.brand-name[data-v-37d2b5a8]{margin-top:8px;font-size:18px;font-weight:900;letter-spacing:2px;color:#fff;text-shadow:0 2px 0 rgba(90,42,2,.35)}.brand-sub[data-v-37d2b5a8]{font-size:10px;font-weight:700;letter-spacing:3px;color:#ffffffd9}.portal-nav[data-v-37d2b5a8]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:4px 12px 10px;scrollbar-width:thin}.portal-link[data-v-37d2b5a8]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:#33302c;color:#fff;text-decoration:none;font-size:14px;font-weight:500;box-shadow:0 2px #461e0047;transition:background .15s ease,transform .15s ease;cursor:pointer}.portal-link[data-v-37d2b5a8]:hover{background:#454039;transform:translateY(-1px)}.portal-link.active[data-v-37d2b5a8],.portal-link.router-link-active[data-v-37d2b5a8]{background:#ff8a1f;color:#222;font-weight:700;box-shadow:0 2px #5a2a0259}.portal-link-icon[data-v-37d2b5a8]{font-size:16px;width:20px;text-align:center;flex-shrink:0}.portal-link-title[data-v-37d2b5a8]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-badge[data-v-37d2b5a8]{min-width:20px;padding:1px 6px;border-radius:10px;background:#fc3;color:#222;font-size:11px;font-weight:700;text-align:center;box-shadow:inset 0 -1px #5a2a0233}.sidebar-footer[data-v-37d2b5a8]{padding:10px 12px 12px;border-top:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;gap:8px;background:#5a2a0214}.tool-zone[data-v-37d2b5a8]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tool-zone[data-v-37d2b5a8]:has(.tool-btn--review){grid-template-columns:1fr}.tool-btn[data-v-37d2b5a8]{padding:7px 6px;border:1px solid rgba(255,255,255,.55);border-radius:8px;background:#ffffff29;color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:background .15s ease}.tool-btn[data-v-37d2b5a8]:hover{background:#ffffff52}.tool-btn--primary[data-v-37d2b5a8]{background:#ff8a1f;border-color:#5a2a0240;color:#222;font-weight:700}.tool-btn--primary[data-v-37d2b5a8]:hover{background:#ff9233}.tool-btn--ghost[data-v-37d2b5a8]{background:transparent}.tool-btn--review[data-v-37d2b5a8]{border-color:#fc3;color:#fc3;font-weight:700}.tool-btn--review[data-v-37d2b5a8]:hover{background:#ffcc3340}.user-zone[data-v-37d2b5a8]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px 0}.user-id[data-v-37d2b5a8]{display:flex;align-items:center;gap:8px;min-width:0}.user-avatar[data-v-37d2b5a8]{font-size:20px}.user-meta[data-v-37d2b5a8]{min-width:0}.user-nick[data-v-37d2b5a8]{font-size:13px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.user-uid[data-v-37d2b5a8]{font-size:11px;color:#ffffffe6}.user-zone .tool-btn--ghost[data-v-37d2b5a8]{padding:6px 10px;flex-shrink:0}.auth-zone[data-v-37d2b5a8]{display:grid;grid-template-columns:1fr 1fr;gap:6px}.sidebar-copy[data-v-37d2b5a8]{font-size:10px;text-align:center;color:#fffc}@media(min-width:1025px){.sidebar-mask[data-v-37d2b5a8]{display:none}.portal-sidebar[data-v-37d2b5a8]{transform:translate(calc(var(--sb-w) - var(--sidebar-width)));transition:transform var(--sb-dur, .3s) cubic-bezier(.4,0,.2,1)}.sidebar-collapse-btn[data-v-37d2b5a8]{display:inline-flex}}@media(prefers-reduced-motion:reduce){.portal-sidebar[data-v-37d2b5a8],.mask-enter-active[data-v-37d2b5a8],.mask-leave-active[data-v-37d2b5a8]{transition:none}}.toast-container[data-v-58384497]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:10px}.toast[data-v-58384497]{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:8px;background:#fff;box-shadow:0 4px 12px #00000026;min-width:300px;animation:slideIn-58384497 .3s ease}.toast-success[data-v-58384497]{border-left:4px solid #52c41a}.toast-error[data-v-58384497]{border-left:4px solid #ff4d4f}.toast-warning[data-v-58384497]{border-left:4px solid #faad14}.toast-info[data-v-58384497]{border-left:4px solid #1890ff}.toast-icon[data-v-58384497]{font-size:18px}.toast-message[data-v-58384497]{flex:1;font-size:14px;color:#333}.toast-close[data-v-58384497]{background:none;border:none;font-size:18px;cursor:pointer;color:#999;padding:0;line-height:1}.toast-close[data-v-58384497]:hover{color:#333}.toast-enter-active[data-v-58384497],.toast-leave-active[data-v-58384497]{transition:all .3s ease}.toast-enter-from[data-v-58384497],.toast-leave-to[data-v-58384497]{opacity:0;transform:translate(100%)}@keyframes slideIn-58384497{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@property --sb-w{syntax: "<length>"; inherits: true; initial-value: 0px;}:root{--ui-orange: #FF9233;--ui-orange-deep: #FF8A1F;--ui-orange-bright: #FF9F40;--ui-coal: #33302C;--ui-paper: #F5F1E9;--ui-ink-strong: #2A2A2A;--ui-ink: #55524D;--ui-ink-deep: #222222;--ui-purple-deep: #3B1068;--ui-purple-mid: #7E2DC2;--ui-purple-neon: #D46EFF;--ui-purple-card: #5A1A8C;--ui-yellow: #FFCC33;--ui-blue: #25B1FF;--ui-new: #FFB800;--sidebar-width: 232px;--ui-grad: linear-gradient(135deg, #FF9233, #FF8A1F);--ui-surface: #FFFFFF;--ui-surface-warm: #FFF8EF;--ui-wash: #FFF0DE;--ui-line: #E8E0D2;--ui-line-strong: #D8CDB9;--ui-text-deep: #222222;--ui-text: #55524D;--ui-text-soft: #8B857A;--ui-text-faint: #ABA49A;--ui-orange-soft: #FF92331A}*{margin:0;padding:0;box-sizing:border-box}html{background:#f5f1e9;scrollbar-gutter:stable;overflow-anchor:none}body{font-family:Noto Sans SC,sans-serif;background:#f5f1e9;min-height:100vh}.app-container{display:flex;flex-direction:column;width:100%;background:#f5f1e9;position:relative;z-index:1;--sb-w: var(--sidebar-width);--sb-dur: .3s}.app-container.app-collapsed{--sb-w: 0px}.plaza-content-container{max-width:1400px;margin:0 auto;padding:12px 0 24px;width:100%}.plaza-filter-tabs{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #E8E8E8}.filter-tab{padding:8px 20px;border:none;background:transparent;border-radius:20px;font-size:14px;font-weight:500;color:#555;cursor:pointer;transition:all .2s ease}.filter-tab:hover{background:#f0f0f0}.filter-tab.active{background:#fb7299;color:#fff}.filter-sort{margin-left:auto;display:flex;gap:8px}.sort-btn{padding:6px 16px;border:1px solid #E8E8E8;background:#fff;border-radius:16px;font-size:13px;color:#666;cursor:pointer;transition:all .2s ease}.sort-btn.active{border-color:#fb7299;color:#fb7299}.content-section{margin-bottom:40px}.main-content-row{display:flex;gap:20px;align-items:flex-start}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:18px;font-weight:600;display:flex;align-items:center;gap:8px}.section-title.file-title{color:#00a1d6}.section-title.post-title{color:#fb7299}.section-more{font-size:13px;color:#999;text-decoration:none;transition:color .2s ease}.section-more:hover{color:#fb7299}.files-grid-container{flex:1;min-width:0}.card-grid{display:grid;gap:16px}.card-grid:not(.file-grid-3col){grid-template-columns:repeat(6,1fr)}.card-grid.file-grid-3col{grid-template-columns:repeat(4,1fr)}.file-card,.post-card{background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.file-card:hover,.post-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.card-cover{position:relative;width:100%;padding-top:62.5%;overflow:hidden}.file-cover{background:linear-gradient(135deg,#667eea,#764ba2)}.post-cover{background:linear-gradient(135deg,#f093fb,#f5576c)}.card-type-badge{position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;color:#fff}.file-badge{background:#00a1d6}.post-badge{background:#fb7299}.card-info{padding:12px}.card-title{font-size:14px;font-weight:500;color:#222;margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.card-meta{display:flex;gap:12px;font-size:12px;color:#999}@media(max-width:1400px){.card-grid:not(.file-grid-3col){grid-template-columns:repeat(5,1fr)}.card-grid.file-grid-3col{grid-template-columns:repeat(3,1fr)}}@media(max-width:1200px){.card-grid:not(.file-grid-3col){grid-template-columns:repeat(4,1fr)}.card-grid.file-grid-3col{grid-template-columns:repeat(3,1fr)}}@media(max-width:1000px){.card-grid.file-grid-3col{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}.app-container{position:relative;min-height:100vh;background:#f5f1e9}.app-main{display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sb-w)}.sidebar-expand-btn{display:none;position:fixed;top:12px;left:12px;z-index:1060;width:36px;height:36px;align-items:center;justify-content:center;padding:0;border:2px solid rgba(255,255,255,.85);border-radius:10px;background:linear-gradient(135deg,#ff9233,#ff8a1f);color:#fff;font-size:17px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #5a2a0259;transition:transform .15s ease,box-shadow .15s ease}.sidebar-expand-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px #5a2a0273}.expand-btn-enter-active{transition:opacity .18s ease .28s,transform .18s ease .28s}.expand-btn-leave-active{transition:opacity .12s ease}.expand-btn-enter-from,.expand-btn-leave-to{opacity:0;transform:translate(-8px)}@media(min-width:1025px){.sidebar-expand-btn{display:inline-flex}.app-main{overflow-x:clip;overflow-y:visible;transition:margin-left var(--sb-dur, .3s) cubic-bezier(.4,0,.2,1)}}.mobile-topbar{position:fixed;top:0;left:0;right:0;z-index:1030;height:56px;display:flex;align-items:center;gap:10px;padding:0 14px;background:linear-gradient(90deg,#ff8a1f,#ff9233);color:#fff;box-shadow:0 2px 8px #5a2a0238}.hamburger-btn{width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:8px;background:#ffffff29;color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:background .15s ease}.hamburger-btn:hover{background:#ffffff4d}.mobile-brand{font-size:16px;font-weight:900;letter-spacing:1px;text-shadow:0 1px 2px rgba(90,42,2,.3)}.main-content{flex:1;display:flex;flex-direction:column}.site-footer{height:26px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px;color:#77726b;background:#efe9de;border-top:1px solid #E3DCCE;flex-shrink:0}.site-footer .icp-link{color:#77726b;text-decoration:none}.site-footer .icp-link:hover{color:#ff8a1f;text-decoration:underline}.page-enter-active,.page-leave-active{transition:opacity .28s ease,transform .28s ease}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0;transform:translateY(-6px)}@media(prefers-reduced-motion:reduce){.page-enter-active,.page-leave-active{transition:none}.page-enter-from,.page-leave-to{opacity:1;transform:none}.app-main,.expand-btn-enter-active,.expand-btn-leave-active{transition:none}}@media(max-width:1024px){.app-main{margin-left:0;padding-top:56px}}@media(min-width:1025px){.mobile-topbar{display:none}}
