@font-face{font-family:Folk Pro B;src:url(/fonts/A-OTF-Folk-Pro-B.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--color-navy: #0d1929;--color-gold: #ffc700;--color-white: #f5f5f5;--color-slate: #3d4f5c;--color-charcoal: #1a2332;--color-gold-50: #fff9e6;--color-gold-100: #ffebb3;--color-gold-200: #ffe080;--color-gold-300: #ffd54d;--color-gold-400: #ffcc1a;--color-gold-500: #ffc700;--color-gold-600: #e6b300;--color-gold-700: #b38900;--color-gold-800: #806200;--color-bg-primary: #0d1929;--color-bg-secondary: #1a2332;--color-bg-tertiary: #3d4f5c;--color-bg-elevated: #283544;--color-bg-overlay: #0a1118;--color-text-primary: #f5f5f5;--color-text-secondary: #b8c5d0;--color-text-tertiary: #8896a4;--color-text-disabled: #5a6872;--color-text-inverse: #0d1929;--color-accent: #ffc700;--color-accent-hover: #e6b300;--color-accent-active: #b38900;--color-border-primary: #3d4f5c;--color-border-secondary: #2a3a47;--color-border-focus: #ffc700;--color-success: #4ade80;--color-success-hover: #22c55e;--color-success-bg: rgba(74, 222, 128, .15);--color-success-text: #86efac;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-bg: rgba(239, 68, 68, .15);--color-error-text: #fca5a5;--color-warning: #fbbf24;--color-warning-hover: #f59e0b;--color-warning-bg: rgba(251, 191, 36, .15);--color-warning-text: #fde047;--overlay-dark-10: rgba(13, 25, 41, .1);--overlay-dark-20: rgba(13, 25, 41, .2);--overlay-dark-30: rgba(13, 25, 41, .3);--overlay-dark-50: rgba(13, 25, 41, .5);--overlay-dark-80: rgba(13, 25, 41, .8);--overlay-dark-90: rgba(13, 25, 41, .9);--overlay-light-05: rgba(245, 245, 245, .05);--overlay-light-10: rgba(245, 245, 245, .1);--overlay-light-15: rgba(245, 245, 245, .15);--overlay-light-20: rgba(245, 245, 245, .2);--overlay-gold-10: rgba(255, 199, 0, .1);--overlay-gold-20: rgba(255, 199, 0, .2);--overlay-gold-30: rgba(255, 199, 0, .3);--overlay-gold-40: rgba(255, 199, 0, .4);--gradient-gold: linear-gradient(135deg, #ffc700 0%, #e6b300 50%, #b38900 100%);--gradient-gold-subtle: linear-gradient(135deg, #ffcc1a 0%, #ffc700 100%);--gradient-navy-charcoal: linear-gradient(135deg, #0d1929 0%, #1a2332 100%);--gradient-overlay: linear-gradient(180deg, transparent 0%, rgba(13, 25, 41, .8) 100%);--color-cyan: #7dd3e8;--color-cyan-hover: #5bc0d8;--color-cyan-light: #a5e4f3;--glow-cyan: 0 0 20px rgba(125, 211, 232, .3);--glow-cyan-sm: 0 0 12px rgba(125, 211, 232, .2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .6);--shadow-gold: 0 4px 12px rgba(255, 199, 0, .4);--shadow-gold-lg: 0 8px 24px rgba(255, 199, 0, .5);--font-display: "Folk Pro B", "Exo 2", "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}::selection{background:var(--color-cyan);color:#0d1929}::-moz-selection{background:var(--color-cyan);color:#0d1929}a{color:inherit;text-decoration:none}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease}button:disabled{opacity:.6;cursor:not-allowed}h1,h2,h3,button,.btn{font-family:var(--font-display)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(125,211,232,.03) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(0,212,170,.02) 0%,transparent 50%);pointer-events:none;z-index:0}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-cyan)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-cyan)}.header{background:linear-gradient(180deg,var(--color-bg-elevated) 0%,var(--color-bg-secondary) 100%);border-bottom:1px solid var(--color-border-primary);box-shadow:0 4px 24px #0000004d;position:sticky;top:0;z-index:100}.header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--color-cyan) 50%,transparent 100%);opacity:.6}.header-container{max-width:1400px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{text-decoration:none;color:inherit;flex-shrink:0;display:flex;align-items:center;gap:12px}.header-logo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(125,211,232,.5))}.brand h1{font-size:24px;font-weight:800;margin:0;color:var(--color-text-primary);font-family:var(--font-display);transition:color .2s ease}.nucleus-text{color:var(--color-cyan)}.brand:hover h1{color:var(--color-text-primary)}.brand:hover .nucleus-text{color:var(--color-cyan-light)}.nav{display:flex;gap:8px;flex:1}.nav-link{padding:10px 20px;font-size:16px;font-weight:600;font-family:var(--font-display);color:var(--color-text-secondary);text-decoration:none;border-radius:8px;transition:all .2s ease}.nav-link:hover{background:var(--overlay-light-05);color:var(--color-text-primary)}.nav-link.active{background:var(--color-cyan);color:#0d1929}.nav-link-admin{color:var(--color-error)}.nav-link-admin:hover{background:var(--color-error-bg);color:var(--color-error-hover)}.nav-link-admin.active{background:var(--color-error);color:var(--color-text-primary)}.auth-section{flex-shrink:0}.user-menu,.auth-links{display:flex;align-items:center;gap:12px}.btn{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary:hover{background:var(--color-bg-tertiary);transform:translateY(-1px)}.user-dropdown{position:relative}.user-dropdown-trigger{cursor:pointer}.user-dropdown-menu{position:absolute;top:100%;right:0;padding-top:8px;z-index:1000;min-width:160px;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:8px;box-shadow:0 4px 16px #0000004d;overflow:hidden;animation:dropdownFadeIn .2s ease}.user-dropdown-item{display:block;width:100%;padding:10px 16px;font-size:14px;font-weight:600;font-family:var(--font-display);color:var(--color-text-primary);background:none;border:none;border-radius:0;text-align:left;cursor:pointer;transition:background .15s ease;text-decoration:none}.user-dropdown-item:hover{background:var(--overlay-light-05)}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.btn-discord{background:linear-gradient(135deg,#5865f2,#4752c4);border:2px solid #7289DA;color:#fff!important;padding:10px 20px;font-size:14px;font-weight:600;font-family:var(--font-display);border-radius:8px;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-discord:hover{background:linear-gradient(135deg,#6872f2,#5865f2);border-color:#99aaf5;transform:translateY(-1px)}.btn-nucleus{background:linear-gradient(135deg,#1a3a52,#0d2538);border:2px solid var(--color-cyan);color:#fff!important;padding:10px 20px;font-size:14px;font-weight:600;font-family:var(--font-display);border-radius:8px;text-decoration:none;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.btn-nucleus:hover{background:linear-gradient(135deg,#1f4562,#143048);border-color:var(--color-cyan-light);transform:translateY(-1px)}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 968px){.btn-nucleus,.btn-discord{font-size:13px;padding:8px 16px}}@media (max-width: 768px){.header-container{flex-wrap:wrap;gap:16px}.brand h1{font-size:20px}.nav{order:3;width:100%;justify-content:center}.nav-link{flex:1;text-align:center;padding:8px 12px;font-size:14px}.header-actions{gap:8px}.btn-nucleus,.btn-discord{font-size:12px;padding:8px 12px}.auth-section{margin-left:auto}}@property --border-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.post-card{display:block;text-decoration:none;color:inherit;border-radius:8px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.post-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.post-card:hover:before{opacity:1;animation-play-state:running}.post-card-image{position:relative;width:100%;padding-top:56.25%;background:var(--color-bg-tertiary);overflow:hidden}.post-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.post-card-image img.csp-thumbnail{object-fit:contain;image-rendering:crisp-edges;background:var(--color-bg-tertiary)}.post-card-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gradient-gold);color:var(--color-text-inverse);font-size:14px;font-weight:500}.post-card-info{padding:12px 16px}.post-card-title{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-card-stats{display:flex;align-items:center;gap:12px;margin-top:8px}.post-card-likes{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-secondary)}.post-card-likes .heart-icon{color:#dc2626;font-size:14px}.post-card-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;flex-shrink:0}.post-card-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-gold);color:var(--color-text-inverse);font-size:10px;font-weight:700}.post-card-downloads{font-size:13px;color:var(--color-text-secondary)}.post-grid-container{width:100%}.posts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:24px;max-width:1400px;margin:0 auto}.load-more{display:flex;justify-content:center;padding:32px 24px}.load-more-button{padding:12px 32px;font-size:15px;font-weight:600;color:var(--color-text-inverse);background:var(--color-cyan);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.load-more-button:hover:not(:disabled){background:var(--color-cyan-hover);transform:translateY(-1px);box-shadow:var(--glow-cyan)}.load-more-button:disabled{opacity:.6;cursor:not-allowed}.post-grid-loading,.post-grid-error,.post-grid-empty{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-tertiary);font-size:16px}.post-grid-error{color:var(--color-error)}@media (max-width: 1200px){.posts-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:20px}}@media (max-width: 968px){.posts-grid{grid-template-columns:repeat(2,1fr);gap:20px;padding:20px}}@media (max-width: 640px){.posts-grid{grid-template-columns:repeat(2,1fr);gap:16px;padding:16px}}.sort-selector{display:flex;align-items:center;gap:12px;padding:12px 0}.sort-label{font-size:14px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.sort-dropdown{padding:8px 32px 8px 12px;font-size:14px;font-weight:500;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px}.sort-dropdown:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-hover)}.sort-dropdown:focus{outline:none;border-color:#4a9eff;box-shadow:0 0 0 3px #4a9eff1a}.sort-dropdown option{padding:8px;background-color:var(--color-bg-primary);color:var(--color-text-primary)}.recent-activity{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:8px;padding:16px;position:sticky;top:24px}.recent-activity-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.recent-activity-loading,.recent-activity-empty{color:var(--color-text-tertiary);font-size:13px;padding:8px 0}.recent-activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border-secondary)}.activity-item:last-child{border-bottom:none;padding-bottom:0}.activity-item:first-child{padding-top:0}.activity-avatar{flex-shrink:0;width:24px;height:24px;border-radius:50%;object-fit:cover;margin-top:1px}.activity-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;border-radius:50%;margin-top:1px}.activity-icon-comment{background:#7dd3e826;color:var(--color-cyan, #7dd3e8)}.activity-icon-post{background:var(--overlay-gold-10);color:var(--color-gold)}.activity-content{flex:1;min-width:0}.activity-text{margin:0;font-size:13px;line-height:1.4;color:var(--color-text-secondary)}.activity-username{font-weight:600;color:var(--color-text-primary)}.activity-post-link{color:var(--color-accent);text-decoration:none;font-weight:500}.activity-post-link:hover{text-decoration:underline}.activity-comment-preview{margin:4px 0 0;font-size:12px;color:var(--color-text-tertiary);font-style:italic;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.activity-time{font-size:11px;color:var(--color-text-disabled);margin-top:2px;display:inline-block}@media (max-width: 968px){.recent-activity{display:none}}.homepage{min-height:100vh;background:var(--color-bg-primary)}.homepage-controls{max-width:1400px;margin:0 auto;padding:24px 24px 0;display:flex;justify-content:flex-start;align-items:center}.homepage-layout{display:flex;max-width:1400px;margin:0 auto;padding:0 24px;gap:24px}.homepage-main{flex:1;min-width:0}.homepage-main .post-grid-container{width:100%}.homepage-main .posts-grid{max-width:none;padding:24px 0}.homepage-sidebar{width:280px;flex-shrink:0;padding-top:24px}@media (max-width: 968px){.homepage-layout{padding:0}.homepage-sidebar{display:none}.homepage-main .posts-grid{padding:20px}}@media (max-width: 640px){.homepage-main .posts-grid{padding:16px}}.homepage-header{text-align:center;padding:64px 32px 32px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.homepage-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.homepage-header p{font-size:18px;color:var(--color-text-tertiary);margin:0}.description-editor{border:1px solid var(--overlay-light-10);border-radius:8px;overflow:hidden;background:var(--overlay-dark-30);transition:border-color .2s}.description-editor:focus-within{border-color:var(--color-accent)}.description-editor.disabled{opacity:.6;pointer-events:none}.editor-tabs{display:flex;background:var(--color-bg-secondary);border-bottom:1px solid var(--overlay-light-10);padding:0 4px}.editor-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-tertiary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;text-transform:uppercase;letter-spacing:.5px}.editor-tab:hover{color:var(--color-text-primary);background:var(--overlay-light-05)}.editor-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.editor-toolbar{display:flex;align-items:center;gap:2px;padding:6px 8px;background:var(--color-bg-secondary);border-bottom:1px solid var(--overlay-light-10);flex-wrap:wrap}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:1px solid transparent;border-radius:4px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:700;transition:all .15s;padding:0;font-family:inherit}.toolbar-btn:hover{background:var(--overlay-light-10);color:var(--color-text-primary);border-color:var(--overlay-light-10)}.toolbar-btn:active{background:var(--overlay-gold-20);color:var(--color-accent)}.toolbar-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.toolbar-divider{width:1px;height:20px;background:var(--overlay-light-10);margin:0 4px}.toolbar-hint{margin-left:auto;font-size:11px;color:var(--color-text-disabled);letter-spacing:.3px}.description-editor .editor-textarea{width:100%;min-height:250px;padding:16px;background:transparent;border:none;color:var(--color-text-primary);font-size:15px;font-family:DM Sans,sans-serif;line-height:1.7;resize:vertical;outline:none;box-sizing:border-box;border-radius:0}.description-editor .editor-textarea::placeholder{color:var(--color-text-disabled)}.description-editor .editor-textarea:focus{outline:none;border:none}.editor-preview{min-height:250px;padding:16px;color:var(--color-text-secondary);font-size:15px;line-height:1.7;overflow-y:auto}.editor-preview-empty{color:var(--color-text-disabled);font-style:italic}.markdown-body{color:var(--color-text-secondary);font-size:15px;line-height:1.7;word-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--color-text-primary);margin:20px 0 10px;font-weight:700}.markdown-body h1:first-child,.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body h1{font-size:1.4em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:0 0 12px}.markdown-body p:last-child{margin-bottom:0}.markdown-body a{color:var(--color-accent);text-decoration:none;word-break:break-all;transition:color .15s}.markdown-body a:hover{text-decoration:underline;color:var(--color-text-primary)}.markdown-body ul,.markdown-body ol{padding-left:24px;margin:8px 0}.markdown-body li{margin:4px 0}.markdown-body strong{color:var(--color-text-primary);font-weight:700}.markdown-body em{font-style:italic}.markdown-body code{background:var(--overlay-light-10);padding:2px 6px;border-radius:3px;font-size:.9em;font-family:Consolas,Monaco,monospace}.markdown-body pre{background:var(--overlay-dark-50);padding:12px 16px;border-radius:6px;overflow-x:auto;margin:12px 0;border:1px solid var(--overlay-light-10)}.markdown-body pre code{background:none;padding:0;border-radius:0}.markdown-body blockquote{border-left:3px solid var(--color-accent);padding-left:14px;margin:12px 0;color:var(--color-text-tertiary)}.markdown-body hr{border:none;border-top:1px solid var(--overlay-light-10);margin:16px 0}.markdown-body .youtube-embed{position:relative;width:100%;padding-bottom:56.25%;margin:12px 0}.markdown-body .youtube-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:8px}.markdown-body table{border-collapse:collapse;width:100%;margin:12px 0}.markdown-body th,.markdown-body td{border:1px solid var(--overlay-light-10);padding:8px 12px;text-align:left}.markdown-body th{background:var(--overlay-light-05);color:var(--color-text-primary);font-weight:600}.link-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:linkDialogFadeIn .15s ease}@keyframes linkDialogFadeIn{0%{opacity:0}to{opacity:1}}.link-dialog{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:10px;padding:24px;width:440px;max-width:90vw;box-shadow:0 20px 60px #00000080}.link-dialog h4{margin:0 0 20px;color:var(--color-text-primary);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.link-dialog-field{margin-bottom:14px}.link-dialog-field label{display:block;font-size:12px;font-weight:600;color:var(--color-text-tertiary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.link-dialog-field input{width:100%;padding:10px 12px;background:var(--overlay-dark-30);border:1px solid var(--overlay-light-10);border-radius:6px;color:var(--color-text-primary);font-size:14px;font-family:inherit;box-sizing:border-box;transition:border-color .2s}.link-dialog-field input:focus{outline:none;border-color:var(--color-accent)}.link-dialog-field input::placeholder{color:var(--color-text-disabled)}.link-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.link-dialog-actions button{padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s;border:none}.link-dialog-cancel{background:var(--overlay-light-10);color:var(--color-text-secondary)}.link-dialog-cancel:hover{background:var(--overlay-light-15);color:var(--color-text-primary)}.link-dialog-insert{background:var(--color-accent);color:var(--color-text-inverse)}.link-dialog-insert:hover{background:var(--color-accent-hover)}.link-dialog-insert:disabled{opacity:.5;cursor:not-allowed}.post-page{flex:1;min-height:0;overflow:hidden;background:var(--color-bg-primary);padding:0;color:var(--color-text-secondary)}.post-page *{color:inherit}.back-link{display:inline-block;padding:16px 32px;color:var(--color-text-tertiary)!important;font-weight:500;text-decoration:none;transition:color .2s ease;font-size:14px}.post-layout{display:grid;grid-template-columns:1fr 1.2fr;height:100%;gap:0;overflow:hidden}.post-info-column{background:var(--color-bg-secondary);padding:40px 48px;overflow-y:auto;direction:rtl;scrollbar-width:thin;scrollbar-color:rgba(125,211,232,.25) transparent;border-right:1px solid var(--color-border-primary)}.post-info-column>*{direction:ltr}.post-info-column::-webkit-scrollbar{width:6px}.post-info-column::-webkit-scrollbar-track{background:transparent}.post-info-column::-webkit-scrollbar-thumb{background:#7dd3e833;border-radius:3px}.post-info-column::-webkit-scrollbar-thumb:hover{background:#7dd3e866}.post-media-column{background:var(--color-bg-primary);padding:40px;display:flex;flex-direction:column;gap:20px;overflow:hidden}.post-header{margin-bottom:32px}.post-info-column .post-title{font-size:42px!important;font-weight:700;margin:0 0 24px;color:var(--color-text-primary)!important;line-height:1.15}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:15px;color:var(--color-text-tertiary)!important;margin-bottom:16px}.post-meta span{display:inline-flex;align-items:center;color:var(--color-text-tertiary)!important}.post-author{color:var(--color-text-secondary)!important}.author-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:8px;flex-shrink:0}.author-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-gold);color:var(--color-text-inverse)!important;font-size:14px;font-weight:700}.author-link{color:var(--color-accent)!important;text-decoration:none;transition:color .2s ease}.author-link:hover{color:var(--color-text-primary)!important;text-decoration:underline}.author-socials{display:flex;gap:10px;margin-bottom:12px;align-items:center}.social-link{text-decoration:none;transition:all .2s ease;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;height:32px;border-radius:6px;background:var(--overlay-light-05);border:1px solid var(--overlay-light-10);white-space:nowrap}.social-text{font-size:14px;font-weight:500;color:inherit!important}.social-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.social-link.twitter{background:#1d9bf01a;border-color:#1d9bf033}.social-link.twitter:hover{background:#1d9bf033;border-color:#1d9bf066}.social-link.discord{background:#5865f21a;border-color:#5865f233}.social-link.discord:hover{background:#5865f233;border-color:#5865f266}.social-link.youtube{background:#ff00001a;border-color:#f003}.social-link.youtube:hover{background:#f003;border-color:#f006}.social-link.patreon{background:#ff424d1a;border-color:#ff424d33}.social-link.patreon:hover{background:#ff424d33;border-color:#ff424d66}.social-link.bluesky{background:#0085ff1a;border-color:#0085ff33}.social-link.bluesky:hover{background:#0085ff33;border-color:#0085ff66}.post-category-badge{display:inline-block;padding:6px 14px;background:var(--color-accent);color:var(--color-text-inverse);border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.post-info-column section{margin-bottom:32px}.post-info-column h2{font-size:20px;font-weight:600;margin:0 0 16px;color:var(--color-text-primary)!important}.post-info-column h3{font-size:16px;font-weight:600;margin:0 0 12px;color:var(--color-text-secondary)!important;text-transform:uppercase;letter-spacing:.5px;font-size:13px}.post-description{font-size:15px;line-height:1.7;color:var(--color-text-secondary)!important}.post-description a{color:var(--color-accent)!important;text-decoration:none;word-break:break-all}.post-description a:hover{text-decoration:underline;color:var(--color-text-primary)!important}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-block;padding:6px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;font-size:13px;color:var(--color-text-secondary)!important;text-decoration:none;transition:all .2s ease;cursor:pointer}.tag:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)!important;transform:translateY(-1px)}.tag.category-tag{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)!important;font-weight:600}.tag.category-tag:hover{opacity:.85}.files-container{background:var(--color-bg-overlay);border-radius:4px;border:1px solid var(--color-border-secondary);padding:12px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6}.file-hover-preview{position:fixed;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:6px;padding:8px;z-index:10000;pointer-events:none;opacity:0;transition:opacity .15s ease;box-shadow:var(--shadow-xl);white-space:nowrap}.download-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border-primary);display:flex;flex-direction:column;gap:12px}.download-button{padding:16px 48px;font-size:16px;font-weight:600;color:var(--color-text-inverse);background:var(--color-cyan);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-block;min-width:200px}.download-button:hover{background:var(--color-cyan-hover);transform:translateY(-1px);box-shadow:var(--glow-cyan)}.edit-button{padding:14px 48px;font-size:15px;font-weight:600;color:var(--color-cyan)!important;background:#7dd3e81a;border:1px solid rgba(125,211,232,.3);border-radius:8px;text-align:center;text-decoration:none;transition:all .2s ease;display:inline-block;min-width:200px}.edit-button:hover{background:#7dd3e833;border-color:var(--color-cyan);color:var(--color-text-primary)!important;transform:translateY(-1px)}.screenshot-main{flex:1 1 0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg-overlay);border-radius:8px;overflow:hidden;border:1px solid var(--color-border-primary)}.screenshot-main img{width:100%;height:100%;max-height:100%;object-fit:contain;display:block}.screenshot-thumbnails{display:flex;gap:12px;flex-wrap:wrap}.screenshot-thumb{width:120px;height:80px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease;background:var(--color-bg-overlay)}.screenshot-thumb:hover{border-color:var(--color-text-disabled)}.screenshot-thumb.active{border-color:var(--color-accent)}.screenshot-thumb img{width:100%;height:100%;object-fit:cover;display:block}.screenshot-placeholder{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-overlay);border-radius:8px;border:1px solid var(--color-border-primary);color:var(--color-text-disabled)!important;font-size:16px}.screenshot-placeholder span{color:var(--color-text-disabled)!important}.screenshot-main-csp img,.screenshot-thumb-csp img{image-rendering:crisp-edges;object-fit:contain}.loading,.error{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:18px;color:var(--color-text-tertiary)!important}.error{color:var(--color-error)!important;flex-direction:column;gap:16px}@media (max-width: 1200px){.post-layout{grid-template-columns:1fr 1fr}}@media (max-width: 968px){.post-layout{grid-template-columns:1fr;height:auto;overflow:visible}.post-media-column{min-height:400px;overflow:visible}.post-info-column{direction:ltr;border-right:none;border-bottom:1px solid var(--color-border-primary);overflow-y:visible;scrollbar-width:auto}}@media (max-width: 640px){.post-info-column,.post-media-column{padding:24px 20px}.post-title{font-size:24px}.screenshot-thumbnails{gap:8px}.screenshot-thumb{width:80px;height:54px}.file-row{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.file-info-column{width:100%;flex-direction:column;align-items:flex-start}.file-images-column{width:100%;justify-content:flex-start}.character-mods-grid,.stage-mods-grid{grid-template-columns:1fr;gap:16px}}.mods-included-section{margin-top:32px;margin-bottom:32px}.mods-included-section h3{font-weight:600;margin:0 0 16px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.mods-included-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.character-mod-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s;position:relative;overflow:hidden}.character-mod-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;pointer-events:none;z-index:1}.character-mod-card:hover{transform:translateY(-2px)}.character-mod-card:hover:before{opacity:1;animation-play-state:running}.character-mod-csp{width:100%;display:flex;justify-content:center;align-items:center;background:var(--color-bg-secondary);border-radius:4px;padding:8px}.character-mod-csp img{width:136px;height:188px;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.character-mod-info{display:flex;flex-direction:column;gap:8px}.character-mod-name{font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}.character-mod-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.character-mod-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.character-mod-stock{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.character-mod-nucleus-btn{flex:1;text-align:center;padding:8px 12px;font-size:12px;white-space:nowrap;background:linear-gradient(135deg,#1a2f42,#243447);border:2px solid #4a9eff;color:#fff!important;border-radius:6px;font-weight:600;transition:all .2s;text-decoration:none}.character-mod-nucleus-btn:hover{background:linear-gradient(135deg,#1f3749,#2a3e52);border-color:#5dadff;transform:translateY(-1px);box-shadow:0 4px 16px #4a9eff4d}@media (max-width: 968px){.mods-included-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.mods-included-grid{grid-template-columns:1fr;gap:16px}}.stage-mod-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px;transition:all .2s;position:relative;overflow:hidden}.stage-mod-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;pointer-events:none;z-index:1}.stage-mod-card:hover{transform:translateY(-2px)}.stage-mod-card:hover:before{opacity:1;animation-play-state:running}.stage-mod-screenshot{width:100%;border-radius:4px;overflow:hidden;background:var(--color-bg-secondary)}.stage-mod-screenshot img{width:100%;height:auto;display:block;object-fit:cover}.stage-mod-info{display:flex;flex-direction:column;gap:8px}.stage-mod-name{font-size:16px;font-weight:600;color:var(--color-text-primary);text-align:center}.stage-mod-filename{font-size:12px;color:var(--color-text-tertiary);text-align:center;font-family:Courier New,monospace}.stage-mod-nucleus-btn{width:100%;text-align:center;padding:10px 16px;font-size:13px;background:linear-gradient(135deg,#1a2f42,#243447);border:2px solid #4a9eff;color:#fff!important;border-radius:6px;font-weight:600;transition:all .2s;text-decoration:none}.stage-mod-nucleus-btn:hover{background:linear-gradient(135deg,#1f3749,#2a3e52);border-color:#5dadff;transform:translateY(-1px);box-shadow:0 4px 16px #4a9eff4d}.effect-mod-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;transition:all .2s;position:relative;overflow:hidden}.effect-mod-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;pointer-events:none;z-index:1}.effect-mod-card:hover{transform:translateY(-2px)}.effect-mod-card:hover:before{opacity:1;animation-play-state:running}.effect-mod-preview{width:100%;display:flex;justify-content:center;align-items:center;background:var(--color-bg-secondary);border-radius:4px;padding:8px}.effect-mod-preview img{max-width:100%;max-height:188px;object-fit:contain}.effect-mod-info{display:flex;flex-direction:column;gap:8px}.effect-mod-name{font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.badge-effect-type{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.3)}.effect-mod-nucleus-btn{width:100%;text-align:center;padding:8px 12px;font-size:12px;white-space:nowrap;background:linear-gradient(135deg,#1a2f42,#243447);border:2px solid #4a9eff;color:#fff!important;border-radius:6px;font-weight:600;transition:all .2s;text-decoration:none}.effect-mod-nucleus-btn:hover{background:linear-gradient(135deg,#1f3749,#2a3e52);border-color:#5dadff;transform:translateY(-1px);box-shadow:0 4px 16px #4a9eff4d}.patch-mod-card{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:12px;transition:all .2s;position:relative;overflow:hidden}.patch-mod-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;pointer-events:none;z-index:1}.patch-mod-card:hover{transform:translateY(-2px)}.patch-mod-card:hover:before{opacity:1;animation-play-state:running}.patch-mod-screenshot{width:100%;border-radius:4px;overflow:hidden;background:var(--color-bg-secondary)}.patch-mod-screenshot img{width:100%;height:auto;display:block;object-fit:cover}.patch-mod-info{display:flex;flex-direction:column;gap:8px}.patch-mod-name{font-size:16px;font-weight:600;color:var(--color-text-primary);text-align:center}.patch-mod-filename{font-size:12px;color:var(--color-text-tertiary);text-align:center;font-family:Courier New,monospace}.patch-mod-nucleus-btn{width:100%;text-align:center;padding:10px 16px;font-size:13px;background:linear-gradient(135deg,#1a2f42,#243447);border:2px solid #4a9eff;color:#fff!important;border-radius:6px;font-weight:600;transition:all .2s;text-decoration:none}.patch-mod-nucleus-btn:hover{background:linear-gradient(135deg,#1f3749,#2a3e52);border-color:#5dadff;transform:translateY(-1px);box-shadow:0 4px 16px #4a9eff4d}.like-button{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--color-border-primary);border-radius:4px;padding:4px 10px;cursor:pointer;color:var(--color-text-tertiary)!important;font-size:13px;transition:all .2s ease}.like-button:hover:not(:disabled){border-color:#dc2626;color:#dc2626!important}.like-button.liked{border-color:#dc2626;color:#dc2626!important}.like-button:disabled{opacity:.5;cursor:default}.like-heart{font-size:16px;line-height:1;transition:transform .2s ease}.like-button:hover:not(:disabled) .like-heart{transform:scale(1.2)}.like-button.liked .like-heart{color:#dc2626!important}.like-count{font-size:13px}.comments-section{margin-top:40px;padding-top:24px;border-top:1px solid var(--color-border-primary)}.comments-section h3{font-size:16px;font-weight:600;margin:0 0 16px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px}.comment-form{margin-bottom:24px}.comment-input{width:100%;box-sizing:border-box;background:var(--color-bg-overlay);border:1px solid var(--color-border-primary);border-radius:6px;padding:12px;color:var(--color-text-primary)!important;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease}.comment-input:focus{outline:none;border-color:var(--color-accent)}.comment-input::placeholder{color:var(--color-text-disabled)!important}.comment-form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.comment-char-count{font-size:12px;color:var(--color-text-disabled)!important}.comment-submit-btn{padding:8px 20px;background:var(--color-accent);color:var(--color-text-inverse)!important;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.comment-submit-btn:hover:not(:disabled){background:var(--color-accent-hover)}.comment-submit-btn:disabled{opacity:.5;cursor:default}.comment-login-prompt{font-size:14px;color:var(--color-text-tertiary)!important;margin-bottom:24px}.comment-login-prompt a{color:var(--color-accent)!important;text-decoration:none}.comment-login-prompt a:hover{text-decoration:underline}.comments-list{display:flex;flex-direction:column;gap:16px}.comment{background:var(--color-bg-overlay);border:1px solid var(--color-border-primary);border-radius:6px;padding:12px 16px}.comment-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.comment-author{font-weight:600;font-size:13px;color:var(--color-accent)!important;text-decoration:none}.comment-author:hover{text-decoration:underline}.comment-date{font-size:12px;color:var(--color-text-disabled)!important}.comment-delete-btn{margin-left:auto;background:none;border:none;color:var(--color-text-disabled)!important;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s ease}.comment-delete-btn:hover{color:var(--color-error)!important}.comment-content{font-size:14px;line-height:1.6;color:var(--color-text-secondary)!important;white-space:pre-wrap;word-break:break-word;margin:0}.load-more-comments-btn{width:100%;padding:10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:4px;color:var(--color-text-secondary)!important;font-size:13px;cursor:pointer;margin-top:12px;transition:all .2s ease}.load-more-comments-btn:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-cyan)}.load-more-comments-btn:disabled{opacity:.5;cursor:default}.no-comments{text-align:center;font-size:14px;color:var(--color-text-disabled)!important;padding:24px 0}.edit-post-page{min-height:100vh;background:var(--color-bg-primary);padding:0}.edit-header{padding:20px 40px;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.edit-header .back-link{display:inline-block;color:var(--color-text-tertiary);font-weight:500;text-decoration:none;transition:color .2s ease;font-size:14px;margin-bottom:8px}.edit-header .back-link:hover{color:var(--color-text-primary)}.edit-header h1{font-size:32px;margin:10px 0 0;color:var(--color-text-primary)}.edit-form{width:100%}.edit-main-content{display:grid;grid-template-columns:1fr 350px;gap:0;max-width:1400px;margin:0 auto}.edit-fields-column{background:var(--color-bg-secondary);padding:40px;border-right:1px solid var(--color-border-primary)}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-group input[type=text],.form-group textarea,.form-group select{width:100%;padding:12px;background:var(--overlay-dark-30);border:1px solid var(--overlay-light-10);border-radius:6px;color:var(--color-text-primary);font-size:16px;font-family:inherit;transition:border-color .2s}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.form-group select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.form-group input[type=text]:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:100px}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{opacity:.6;cursor:not-allowed}.tags-input-wrapper{display:flex;gap:10px;align-items:center}.tags-input-wrapper input{flex:1}.tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag.editable{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--overlay-gold-20);border:1px solid var(--overlay-gold-40);border-radius:20px;color:var(--color-accent);font-size:14px}.tag-remove{background:none;border:none;color:var(--color-accent);font-size:20px;line-height:1;cursor:pointer;padding:0;margin:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.tag-remove:hover{background:var(--overlay-gold-30)}.tag-remove:disabled{opacity:.5;cursor:not-allowed}.read-only-field{padding:12px;background:var(--overlay-dark-20);border:1px solid var(--overlay-light-05);border-radius:6px}.category-badge{display:inline-block;padding:6px 12px;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:6px;color:var(--color-text-inverse);font-size:14px;font-weight:600}.help-text{color:var(--overlay-light-15);font-size:14px;margin:0;line-height:1.5}.files-summary{margin-top:12px;display:flex;flex-direction:column;gap:8px}.file-summary-item{display:flex;align-items:center;gap:10px;padding:8px;background:var(--overlay-dark-20);border-radius:6px}.file-icon{font-size:18px}.file-name{color:var(--color-text-primary);font-size:14px;font-weight:500;flex:1}.file-meta{color:var(--overlay-light-15);font-size:13px}.form-actions{display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--overlay-light-05)}.save-feedback{font-size:.9rem;font-weight:500;animation:fadeIn .2s ease}.save-success{color:var(--color-success)}.save-error{color:var(--color-error)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.delete-section{margin-top:40px;padding:24px;background:var(--color-error-bg);border:1px solid rgba(239,68,68,.3);border-radius:12px}.delete-section h3{color:var(--color-error);font-size:18px;margin:0 0 12px}.delete-section .help-text{color:var(--color-text-secondary);margin-bottom:16px}.delete-confirm{margin-top:16px;padding:16px;background:var(--overlay-dark-30);border-radius:8px}.confirm-text{color:var(--color-error);font-weight:600;margin:0 0 12px}.confirm-actions{display:flex;gap:12px}.edit-screenshots-column{display:flex;flex-direction:column;gap:24px;background:var(--color-bg-primary);padding:40px 30px}.edit-screenshots-column h3{font-size:18px;color:var(--color-text-primary);margin:0 0 12px;font-weight:600}.screenshots-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:12px 0}.screenshot-compact-item{aspect-ratio:16 / 9;overflow:hidden;border-radius:8px;border:1px solid var(--overlay-light-10);background:var(--overlay-dark-30)}.screenshot-compact-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.screenshot-compact-item:hover img{transform:scale(1.05)}.no-screenshots{padding:40px;text-align:center;background:var(--overlay-dark-20);border:1px solid var(--overlay-light-05);border-radius:8px;color:var(--color-text-tertiary)}.screenshots-reorder-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.screenshot-reorder-item{display:flex;align-items:center;gap:10px}.screenshot-reorder-controls{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.screenshot-reorder-index{font-size:12px;color:var(--color-text-tertiary);line-height:1}.btn-icon{background:var(--overlay-light-10);border:1px solid var(--overlay-light-10);color:var(--color-text-secondary);border-radius:4px;width:28px;height:24px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,opacity .15s}.btn-icon:hover:not(:disabled){background:var(--overlay-light-20);color:var(--color-text-primary)}.btn-icon:disabled{opacity:.3;cursor:default}.post-meta-info{padding:20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.post-meta-info h3{font-size:18px;color:var(--color-text-primary);margin:0 0 16px}.meta-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--overlay-light-05)}.meta-item:last-child{border-bottom:none}.meta-label{color:var(--color-text-secondary);font-size:14px;font-weight:500}.meta-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.badge-approved{padding:4px 12px;background:var(--color-success-bg);border:1px solid rgba(34,197,94,.4);border-radius:12px;color:var(--color-success);font-size:12px;font-weight:600}.badge-pending{padding:4px 12px;background:var(--color-warning-bg);border:1px solid rgba(251,191,36,.4);border-radius:12px;color:var(--color-warning);font-size:12px;font-weight:600}.btn{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-gold)}.btn-primary:disabled{background:var(--color-bg-elevated);opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--overlay-light-05);color:var(--color-text-primary);border:1px solid var(--overlay-light-10)}.btn-secondary:hover{background:var(--overlay-light-15);border-color:var(--overlay-light-20);transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-danger{background:var(--color-error);color:var(--color-text-primary)}.btn-danger:hover{background:var(--color-error-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.btn-danger:disabled{background:var(--color-error-hover);opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-small{padding:8px 16px;font-size:13px}@media (max-width: 1024px){.edit-main-content{grid-template-columns:1fr}.edit-screenshots-column{order:2}.screenshots-compact{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.edit-header{padding:16px 20px}.edit-fields-column{padding:24px 20px;border-right:none;border-bottom:1px solid var(--color-border-primary)}.edit-screenshots-column{padding:24px 20px}.screenshots-compact{grid-template-columns:repeat(2,1fr)}.form-actions,.confirm-actions{flex-direction:column}.form-actions .btn,.confirm-actions .btn{width:100%}}.character-assets-section{margin-top:24px;padding:20px;background:var(--overlay-gold-10);border:1px solid var(--overlay-gold-20);border-radius:8px}.character-assets-list{display:flex;flex-direction:column;gap:16px;margin-top:12px}.character-asset-item{padding:16px;background:var(--overlay-dark-30);border:1px solid var(--overlay-light-05);border-radius:8px}.character-asset-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--overlay-light-05)}.character-asset-header strong{color:var(--color-text-primary);font-size:16px}.badge-safe{padding:4px 12px;background:var(--color-success-bg);border:1px solid rgba(34,197,94,.4);border-radius:12px;color:var(--color-success);font-size:12px;font-weight:600}.badge-unsafe{padding:4px 12px;background:var(--color-error-bg);border:1px solid rgba(239,68,68,.4);border-radius:12px;color:var(--color-error-text);font-size:12px;font-weight:600}.badge-color{padding:4px 12px;border-radius:12px;color:var(--color-text-inverse);font-size:12px;font-weight:600}.current-asset{display:flex;align-items:center;justify-content:center;min-height:120px;padding:12px;background:var(--overlay-dark-30);border:2px dashed var(--overlay-light-10);border-radius:8px}.current-asset-preview{border-radius:6px;border:1px solid var(--overlay-light-15);background:var(--overlay-dark-30);object-fit:contain}.no-asset-preview{color:var(--color-text-disabled);font-size:14px;font-style:italic}.asset-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:8px;background:var(--overlay-dark-20);border:1px solid var(--overlay-light-05);border-radius:6px}.asset-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--overlay-dark-30);border:2px solid var(--overlay-light-10);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:90px}.asset-option:hover{background:var(--overlay-gold-10);border-color:var(--overlay-gold-40);transform:translateY(-2px)}.asset-option.selected{background:var(--overlay-gold-20);border-color:var(--color-accent);box-shadow:0 0 8px var(--overlay-gold-40)}.asset-option:disabled{opacity:.5;cursor:not-allowed}.asset-option.none-option{background:var(--color-error-bg);border-color:#ef44444d;color:var(--color-text-secondary);font-size:13px;font-weight:600}.asset-option.none-option:hover{background:#ef444433;border-color:#ef444480}@media (max-width: 768px){.character-asset-controls{grid-template-columns:1fr}.asset-selector{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.cards-management-section{margin-top:30px;padding-top:30px;border-top:1px solid var(--color-border-primary)}.section-header-flex label{margin:0 0 5px}.card-box{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;transition:border-color .2s ease}.btn-edit-assets{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-secondary)}.btn-delete-card{background:#ef444426;color:var(--color-error-text);border-color:#ef44444d}.no-cards-message{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);background:var(--color-bg-primary);border:2px dashed var(--color-border-primary);border-radius:8px}.asset-thumb{aspect-ratio:1;border:2px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);cursor:pointer;transition:all .2s ease;padding:0;overflow:hidden}.modal-box{background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-secondary);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}.card-preview-stock{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-elevated);border-left:1px solid var(--color-border-primary)}.files-container{background:var(--color-bg-primary);border-radius:4px;border:1px solid var(--color-border-secondary);padding:12px;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6}.file-row{position:relative;padding:2px 0;transition:background .1s ease}.file-row:hover{background:var(--overlay-gold-10)}.file-name{color:var(--color-text-secondary);font-family:Courier New,Courier,monospace;font-size:13px;cursor:default;white-space:pre}.folder-name{color:var(--color-accent);font-weight:600}.file-hover-preview{position:fixed;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:6px;padding:8px;z-index:10000;pointer-events:none;opacity:0;transition:opacity .15s ease;box-shadow:var(--shadow-lg);white-space:nowrap}.file-row:hover .file-hover-preview{opacity:1}.file-hover-preview img{display:block}.file-csp{width:68px;height:94px;object-fit:contain;image-rendering:pixelated}.file-stock{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}.file-image{max-width:300px;max-height:300px;object-fit:contain}.upload-page{min-height:100vh;background:var(--color-bg-primary);padding:24px 20px}.upload-container{max-width:1100px;margin:0 auto}.upload-container h1{font-size:24px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.progress-steps{display:flex;gap:4px;margin-bottom:20px;background:var(--color-bg-secondary);border-radius:6px;padding:4px;border:1px solid var(--color-border-primary)}.progress-step{flex:1;text-align:center;font-size:13px;font-weight:600;color:var(--color-text-tertiary);padding:8px 12px;border-radius:4px;transition:all .2s ease}.progress-step.active{color:#0d1929;background:var(--color-cyan)}.progress-step.completed{color:var(--color-success);background:#4ade801a}.error-message{padding:10px 16px;background:var(--color-error-bg);color:var(--color-error);border-radius:6px;margin-bottom:16px;font-weight:500;font-size:14px}.upload-step{display:flex;flex-direction:column;gap:16px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:24px}.file-drop-zone{border:2px dashed var(--color-border-primary);border-radius:8px;padding:32px 20px;text-align:center;background:var(--color-bg-primary);transition:all .2s ease;cursor:pointer}.file-drop-zone:hover{border-color:var(--color-cyan);background:#7dd3e80f}.file-drop-zone.drag-active{border-color:var(--color-cyan);background:#7dd3e81f}.file-input-hidden{display:none}.file-input-label{cursor:pointer;display:block}.files-empty p:first-child{font-size:32px;margin:0 0 8px}.files-empty p:nth-child(2){font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.files-selected{text-align:left}.files-selected ul{list-style:none;padding:0;margin:8px 0}.files-selected li{padding:6px 10px;background:var(--color-bg-elevated);border-radius:4px;margin:3px 0;font-family:monospace;font-size:13px}.processed-summary{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border-primary)}.processed-summary-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.costume-badges{display:flex;flex-wrap:wrap;gap:6px}.costume-badge-group{display:inline-flex;border-radius:12px;overflow:hidden;border:1px solid rgba(125,211,232,.2)}.badge-costume-name{padding:4px 10px;background:#7dd3e814;color:var(--color-text-primary);font-size:12px;font-weight:500;border-radius:0}.badge-costume-color{padding:4px 10px;color:#fff;font-size:12px;font-weight:600;border-radius:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.processed-match-status{gap:10px}.match-tag{font-size:12px;font-weight:600}.match-tag-success{color:var(--color-success)}.match-tag-none{color:var(--color-text-tertiary)}.hint{font-size:13px;color:var(--color-text-tertiary);margin:4px 0 0}.upload-options{padding:12px 16px;background:var(--color-bg-tertiary);border-radius:6px}.upload-step .btn-primary{align-self:flex-end}.review-details-step{display:flex;flex-direction:column;gap:16px}.review-details-step>h2{font-size:20px;font-weight:600;margin:0;color:var(--color-text-primary)}.step-description{color:var(--color-text-tertiary);margin:-8px 0 0;font-size:14px}.screenshots-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px}.screenshots-section h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:0 0 6px}.screenshots-section>.hint{color:var(--color-text-tertiary);font-size:13px;margin:0 0 12px}.screenshots-preview-top{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.screenshot-required-warning{color:var(--color-error, #ef4444);font-size:13px;margin:8px 0 0;font-weight:500}.review-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.post-details-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px}.post-details-section h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;color:var(--color-text-tertiary)}.form-group{margin-bottom:14px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-weight:600;margin-bottom:5px;color:var(--color-text-primary);font-size:14px}.form-input,.form-textarea,.form-select{width:100%;padding:9px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-cyan);box-shadow:0 0 0 2px #7dd3e826}.form-textarea{resize:vertical}.category-tags-preview{border-top:1px solid var(--color-border-primary);padding-top:16px}.category-tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.category-tag-badge{display:inline-block;padding:6px 12px;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:4px;font-size:13px;font-weight:600;color:var(--color-text-inverse)!important}.category-tags-hint{font-style:italic}.tags-display{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.tag-bubble{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#7dd3e826;color:var(--color-cyan);border:1px solid rgba(125,211,232,.3);border-radius:12px;font-size:13px;font-weight:500}.tag-remove{background:none;border:none;color:var(--color-cyan);font-size:16px;font-weight:700;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease;opacity:.7}.tag-remove:hover{opacity:1;background:#7dd3e833}.tag-input-row{display:flex;gap:8px;align-items:center}.tag-input-row .form-input{flex:1}.screenshots-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-bottom:8px}.screenshot-item{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:var(--color-bg-elevated)}.screenshot-item img{width:100%;height:100%;object-fit:cover}.screenshot-remove{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:var(--color-error);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;line-height:1}.screenshot-remove:hover{background:var(--color-error-hover)}.screenshot-upload{margin-top:4px}.screenshot-upload label{display:inline-block;cursor:pointer;font-size:13px}.character-files-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:16px}.section-header-flex{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-header-flex h3{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.upload-page .cards-grid{display:grid;grid-template-columns:repeat(2,200px);gap:20px;justify-content:center}.upload-page .card-box{background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:10px;overflow:hidden;transition:all .2s ease;display:flex;flex-direction:column}.upload-page .card-box:hover{border-color:#7dd3e84d}.upload-page .card-box-csp{position:relative;width:100%;aspect-ratio:136 / 188;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.card-csp-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.card-csp-empty{color:var(--color-text-disabled);font-size:12px;text-align:center;padding:12px}.card-csp-edit-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;font-size:13px;font-weight:600;opacity:0;transition:opacity .15s ease}.upload-page .card-box-csp:hover .card-csp-edit-hint{opacity:1}.upload-page .card-box-info{padding:12px 14px 8px;display:flex;flex-direction:column;gap:5px}.upload-page .card-box-title{font-size:15px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-page .card-box-meta{display:flex;gap:6px;flex-wrap:wrap}.upload-page .card-box-file{font-size:10px;color:var(--color-text-tertiary);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-color{padding:4px 10px;border-radius:10px;color:var(--color-text-inverse);font-size:12px;font-weight:600}.card-box-bottom{padding:10px 14px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--color-border-primary);margin-top:auto}.card-stock-btn{width:40px;height:40px;border-radius:6px;border:2px solid var(--color-border-primary);background:var(--color-bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .15s ease;padding:2px}.card-stock-btn:hover,.card-stock-btn.active{border-color:var(--color-cyan)}.card-stock-img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.card-stock-empty{font-size:8px;color:var(--color-text-disabled);text-align:center;line-height:1.1}.btn-delete-card{padding:4px 10px;font-size:11px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .15s ease;border:1px solid rgba(239,68,68,.2);background:transparent;color:var(--color-text-tertiary);white-space:nowrap}.btn-delete-card:hover:not(:disabled){background:var(--color-error-bg);color:var(--color-error-text);border-color:#ef444466}.btn-delete-card:disabled{opacity:.5;cursor:not-allowed}.inline-asset-editor{border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary);padding:12px;animation:slideDown .15s ease}.upload-page .asset-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-border-primary)}.upload-page .asset-editor-header h4{margin:0;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.upload-page .close-editor{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-text-inverse);font-size:13px;font-weight:600;cursor:pointer;padding:6px 20px;border-radius:4px;transition:all .15s ease}.upload-page .close-editor:hover{opacity:.85}.asset-select-group{margin-bottom:12px}.asset-select-group label{display:block;font-size:11px;color:var(--color-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.asset-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px}.asset-thumb{aspect-ratio:1;border:2px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);cursor:pointer;transition:all .15s ease;padding:0;overflow:hidden}.asset-thumb:hover:not(:disabled){border-color:var(--color-border-secondary)}.asset-thumb.selected{border-color:var(--color-cyan);box-shadow:0 0 0 2px #7dd3e84d}.asset-thumb:disabled{opacity:.5;cursor:not-allowed}.asset-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:10px}.files-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:20px}.files-section h3{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;color:var(--color-text-tertiary)}.review-details-actions{display:flex;gap:10px;justify-content:flex-end}.btn{padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--color-cyan);color:#0d1929}.btn-primary:hover:not(:disabled){background:var(--color-cyan-hover);transform:translateY(-1px)}.review-details-actions .btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.review-details-actions .btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-elevated)}.btn-large{padding:12px 32px;font-size:15px}.btn-small{padding:6px 12px;font-size:13px}.badge{padding:3px 8px;border-radius:10px;font-size:12px;font-weight:600}.badge-character{background:#7dd3e81f;color:var(--color-cyan)}.badge-safe{padding:3px 8px;background:var(--color-success-bg);border:1px solid rgba(34,197,94,.4);border-radius:10px;color:var(--color-success);font-size:11px;font-weight:600}.badge-warning{padding:3px 8px;background:var(--color-warning-bg);border:1px solid rgba(234,179,8,.4);border-radius:10px;color:var(--color-warning);font-size:11px;font-weight:600}.processing-step{text-align:center;padding:48px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.spinner{width:48px;height:48px;border:4px solid var(--color-border-primary);border-top:4px solid var(--color-cyan);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.processing-step h2{font-size:20px;font-weight:600;margin:0 0 6px}.processing-step p{color:var(--color-text-secondary);font-size:14px}.success-step{text-align:center;padding:48px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.success-icon{width:56px;height:56px;border-radius:50%;background:var(--color-success);color:var(--color-text-primary);font-size:32px;line-height:56px;margin:0 auto 16px}.success-step h2{font-size:22px;font-weight:700;margin:0 0 8px;color:var(--color-text-primary)}.success-step p{font-size:14px;color:var(--color-text-secondary);margin:4px 0}.success-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}.success-message{color:var(--color-success);font-size:13px;margin:0}.modal-box{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border-primary)}.modal-header h2{margin:0;font-size:16px;color:var(--color-text-primary)}.modal-close-btn{background:none;border:none;color:var(--color-text-tertiary);font-size:24px;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;line-height:1}.modal-form{padding:16px 20px}.modal-form .form-group{margin-bottom:14px}.modal-form label{display:block;font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:5px}.modal-form input[type=text],.modal-form select{width:100%;padding:9px 12px;background:var(--overlay-dark-30);border:1px solid var(--overlay-light-10);border-radius:6px;color:var(--color-text-primary);font-size:14px;font-family:inherit;transition:border-color .2s}.modal-form select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.modal-form select option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modal-form input[type=text]:focus,.modal-form select:focus{outline:none;border-color:var(--color-cyan)}.modal-actions{display:flex;gap:10px;margin-top:16px;border-top:1px solid var(--color-border-primary);padding-top:16px}.modal-form .help-text{color:var(--overlay-light-15);font-size:13px;margin:12px 0 0;text-align:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;font-size:14px}.checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer}@media (max-width: 768px){.upload-page{padding:16px 12px}.review-details-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.progress-steps{font-size:12px}.review-details-actions,.success-actions{flex-direction:column}.btn{width:100%}.screenshots-preview{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.admin-page{min-height:100vh;background:var(--color-bg-primary);padding:24px 32px}.admin-container{max-width:1400px;margin:0 auto}.subtitle{font-size:18px;color:var(--color-text-secondary);margin:0}.error-message{padding:16px;background:var(--color-error-bg);color:var(--color-error-text);border-radius:8px;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;font-weight:500}.loading{text-align:center;padding:60px 20px;font-size:18px;color:var(--color-text-secondary)}.empty-state{text-align:center;padding:60px 20px;background:var(--color-bg-secondary);border-radius:12px;box-shadow:var(--shadow-md)}.empty-icon{width:80px;height:80px;border-radius:50%;background:var(--color-success);color:#fff;font-size:48px;line-height:80px;margin:0 auto 24px}.empty-state h2{font-size:24px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.empty-state p{font-size:16px;color:var(--color-text-secondary);margin:0}.pending-posts-list{display:flex;flex-direction:column;gap:24px}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.list-header h2{font-size:24px;font-weight:600;margin:0;color:var(--color-text-primary)}.pending-post-card{background:var(--color-bg-secondary);border-radius:12px;box-shadow:var(--shadow-md);border:2px solid var(--color-border-primary);transition:all .2s ease;overflow:hidden}.pending-post-card:hover,.pending-post-card.expanded{border-color:var(--color-accent)}.post-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:var(--color-bg-secondary);color:var(--color-text-primary)}.post-header-clickable{display:flex;gap:20px;flex:1;cursor:pointer;align-items:center;transition:background .2s ease;min-width:0}.post-header-clickable:hover{opacity:.9}.post-header-actions{display:flex;gap:12px;flex-shrink:0;margin-left:20px}.post-thumbnail{flex-shrink:0;width:120px;height:90px;border-radius:8px;overflow:hidden;background:var(--color-bg-tertiary)}.post-thumbnail img{width:100%;height:100%;object-fit:cover}.post-header-info{flex:1;min-width:0}.post-title{font-size:20px;font-weight:600;margin:0 0 8px;color:var(--color-text-primary)}.post-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--color-text-secondary)}.meta-item strong{color:var(--color-text-primary);margin-right:4px}.expand-icon{font-size:20px;color:var(--color-accent);margin-left:auto;flex-shrink:0}.post-expanded-content{padding:24px;border-top:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);color:var(--color-text-primary)}.post-edit-form{padding:24px 0;color:var(--color-text-primary)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.form-input,.form-textarea,.form-select{width:100%;padding:12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:16px;font-family:inherit;transition:border-color .2s;color:var(--color-text-primary);background:var(--color-bg-secondary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-accent)}.form-textarea{resize:vertical;font-family:inherit}.tags-display{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag{padding:6px 12px;background:var(--color-bg-elevated);border-radius:12px;font-size:13px;color:var(--color-text-primary)}.tag.editable{padding-right:6px;display:inline-flex;align-items:center;gap:6px}.tag-remove{background:none;border:none;color:var(--color-text-primary);font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.tag-remove:hover{background:var(--overlay-light-10)}.tag-input-row{display:flex;gap:10px;align-items:center}.tag-input-row input{flex:1}.edit-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.post-view-content{padding:24px 0;background:var(--color-bg-tertiary);color:var(--color-text-primary)}.content-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--color-border-primary)}.content-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.content-section h4{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 12px}.content-section p{margin:0;color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap}.post-tags{display:flex;flex-wrap:wrap;gap:8px}.post-view-content .tag{background:var(--color-bg-elevated);color:var(--color-text-primary)}.screenshots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.screenshot-preview{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;border:1px solid var(--color-border-primary)}.files-list{display:flex;flex-direction:column;gap:12px}.file-item{padding:12px;background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-primary)}.file-info{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.file-name{font-family:monospace;font-weight:600;font-size:14px;color:var(--color-text-primary)}.file-char{color:var(--color-text-secondary);font-size:14px}.file-assets-preview{display:flex;gap:12px;margin-top:8px}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.badge-safe{background:var(--color-success-bg);color:var(--color-success-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-unsafe{background:var(--color-error-bg);color:var(--color-error-text)}.badge-color{background-color:var(--color);color:var(--color-text-inverse)}.asset-csp{width:68px;height:auto;border-radius:6px;border:1px solid var(--color-border-primary)}.asset-stock{width:48px;height:auto;border-radius:4px;border:1px solid var(--color-border-primary)}.character-assets-section{background:var(--color-bg-secondary);padding:20px;border-radius:8px;border:1px solid var(--color-accent);color:var(--color-text-primary)}.character-assets-section h4{margin-top:0;color:var(--color-text-primary)}.character-asset-item{padding:20px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:16px}.character-asset-item:last-child{margin-bottom:0}.character-asset-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--color-border-primary)}.character-name-color{display:flex;align-items:center;gap:10px}.character-name-color strong{color:var(--color-text-primary);font-size:16px}.character-asset-controls{display:grid;grid-template-columns:1fr 1fr;gap:24px}.asset-control{display:flex;flex-direction:column;gap:12px}.asset-control label{font-size:13px;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.current-asset{display:flex;align-items:center;justify-content:center;min-height:120px;padding:12px;background:var(--color-bg-secondary);border:2px dashed var(--color-border-primary);border-radius:8px}.current-asset-preview{border-radius:6px;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);object-fit:contain}.current-asset-preview.csp-preview{width:102px;height:141px}.current-asset-preview.stock-preview{width:72px;height:72px}.no-asset-preview{color:var(--color-text-tertiary);font-size:14px;font-style:italic}.asset-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-height:300px;overflow-y:auto;padding:8px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px}.asset-option{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;background:var(--color-bg-elevated);border:2px solid var(--color-border-primary);border-radius:6px;cursor:pointer;transition:all .2s ease;min-height:90px}.asset-option:hover{background:var(--overlay-gold-20);border-color:var(--color-accent);transform:translateY(-2px)}.asset-option.selected{background:var(--overlay-gold-30);border-color:var(--color-accent);box-shadow:0 0 8px var(--overlay-gold-20)}.asset-option.none-option{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-text-primary);font-size:13px;font-weight:600}.asset-option.none-option:hover{background:#ef444440;border-color:var(--color-error-hover)}.asset-option-preview{max-width:60px;max-height:60px;object-fit:contain;border-radius:4px}.asset-option-label{font-size:10px;color:var(--color-text-secondary);text-align:center;word-break:break-word;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.edit-actions{display:flex;gap:12px;padding-top:20px;padding-bottom:20px;border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);margin-top:20px;margin-bottom:20px}.btn{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-small{padding:8px 16px;font-size:14px}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-gold)}.btn-approve{background:var(--color-success);color:#fff}.btn-approve:hover:not(:disabled){background:var(--color-success-hover);transform:translateY(-1px);box-shadow:0 4px 8px #4ade804d}.btn-reject{background:var(--color-error);color:#fff}.btn-reject:hover:not(:disabled){background:var(--color-error-hover);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}@media (max-width: 1024px){.character-asset-controls{grid-template-columns:1fr}}@media (max-width: 768px){.admin-page{padding:24px 16px}.admin-container{padding:0}.list-header{flex-direction:column;align-items:flex-start;gap:12px}.list-header h2{font-size:20px}.pending-post-card{margin:0 -20px;border-radius:0;border-left:none;border-right:none}.post-header{flex-direction:column;align-items:stretch;gap:12px}.post-header-clickable{flex-direction:column;align-items:flex-start}.post-header-actions{margin-left:0;justify-content:stretch}.post-header-actions .btn{flex:1}.post-thumbnail{width:100%;height:180px}.expand-icon{margin-left:auto}.post-title{font-size:18px}.post-meta{flex-direction:column;gap:6px}.screenshots-grid{grid-template-columns:1fr}.edit-actions{flex-direction:column}.edit-actions .btn{width:100%}.asset-selector{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.cards-management-section{margin-top:20px;padding:20px;background:var(--color-bg-secondary);border-radius:8px;position:relative}.cards-management-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:1;animation:travellingBorder 2s linear infinite;z-index:1;pointer-events:none}.section-header-flex{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:20px}.section-header-flex h4{margin:0 0 5px;color:var(--color-text-primary)}.help-text{color:var(--color-text-secondary);font-size:13px;margin:0;line-height:1.5}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.card-box{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:8px;overflow:hidden;transition:border-color .2s ease}.card-box:hover{border-color:var(--color-border-secondary)}.card-box-preview{width:100%;height:200px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden}.card-box-preview img{width:100%;height:100%;object-fit:contain}.no-preview-placeholder{color:var(--color-text-tertiary);font-size:14px}.card-box-info{padding:15px}.card-box-title{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:8px}.card-box-meta{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.card-box-file{font-size:12px;color:var(--color-text-tertiary);word-break:break-all}.badge-type{background:var(--color-accent);color:var(--color-text-inverse);padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.card-box-actions{padding:0 15px 15px;display:flex;gap:8px}.btn-edit-assets,.btn-delete-card{flex:1;padding:8px 12px;font-size:13px;border-radius:4px;cursor:pointer;transition:all .2s ease;border:1px solid}.btn-edit-assets{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}.btn-edit-assets:hover{background:var(--color-bg-elevated)}.btn-delete-card{background:var(--color-error-bg);color:var(--color-error-text);border-color:var(--color-error)}.btn-delete-card:hover{background:#ef444440}.no-cards-message{text-align:center;padding:60px 20px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border:2px dashed var(--color-border-primary);border-radius:8px}.inline-asset-editor{border-top:1px solid var(--color-border-primary);background:var(--color-bg-secondary);padding:15px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.asset-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.asset-editor-header h4{margin:0;font-size:14px;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.5px}.close-editor{background:none;border:none;color:var(--color-text-tertiary);font-size:24px;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.close-editor:hover{color:var(--color-text-primary)}.asset-select-group{margin-bottom:20px}.asset-select-group:last-child{margin-bottom:0}.asset-select-group label{display:block;font-size:13px;color:var(--color-text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.asset-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.asset-thumb{aspect-ratio:1;border:2px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .2s ease;padding:0;overflow:hidden}.asset-thumb:hover{border-color:var(--color-border-secondary)}.asset-thumb.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--overlay-gold-30)}.asset-thumb img{width:100%;height:100%;object-fit:contain;display:block}.asset-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:11px}.asset-thumb-error{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark-80);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--color-bg-secondary);border-radius:8px;border:1px solid var(--color-border-primary);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:20px;border-bottom:1px solid var(--color-border-primary);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:20px;color:var(--color-text-primary)}.modal-close-btn{background:none;border:none;color:var(--color-text-tertiary);font-size:28px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease;line-height:1}.modal-close-btn:hover{color:var(--color-text-primary)}.modal-form{padding:20px}.modal-actions{display:flex;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.modal-actions .btn{flex:1}.card-preview-dual{display:flex;width:100%;height:100%;gap:4px}.card-preview-csp{flex:3;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary)}.card-preview-csp img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.card-preview-stock{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border-left:1px solid var(--color-border-primary)}.card-preview-stock img{width:60px;height:60px;object-fit:contain;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.card-preview-stock .no-preview-placeholder{font-size:11px}@media (max-width: 768px){.cards-grid{grid-template-columns:1fr}.section-header-flex{flex-direction:column}.asset-options-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.moderation-flags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;padding:6px 10px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:6px;font-size:13px}.moderation-label{font-weight:600;color:var(--color-error-text)}.moderation-category{padding:2px 8px;background:var(--color-error);color:#fff;border-radius:4px;font-size:12px;font-weight:600}.bulk-detect-section{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:12px;padding:24px;margin-bottom:32px}.bulk-detect-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.bulk-detect-header h2{font-size:20px;font-weight:600;margin:0 0 4px;color:var(--color-text-primary)}.bulk-detect-header .subtitle{font-size:14px;color:var(--color-text-secondary);margin:0}.bulk-detect-progress{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.bulk-progress-label{font-size:14px;color:var(--color-text-secondary);margin-bottom:8px}.bulk-progress-label strong{color:var(--color-text-primary)}.bulk-progress-track{width:100%;height:8px;background:var(--color-bg-tertiary);border-radius:4px;overflow:hidden}.bulk-progress-fill{height:100%;background:var(--color-accent);border-radius:4px;transition:width .3s ease}.bulk-detect-results{margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border-primary)}.bulk-results-summary{display:flex;gap:16px;flex-wrap:wrap;font-size:15px;color:var(--color-text-secondary);margin-bottom:16px}.bulk-results-summary strong{color:var(--color-text-primary)}.bulk-results-table{width:100%;border-collapse:collapse;font-size:14px}.bulk-results-table th,.bulk-results-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--color-border-primary);color:var(--color-text-primary)}.bulk-results-table th{font-weight:600;color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.bulk-row-error td{color:var(--color-error-text)}@media (max-width: 640px){.bulk-detect-header{flex-direction:column;align-items:flex-start}.bulk-detect-header .btn{width:100%}.bulk-results-summary{flex-direction:column;gap:4px}}.user-management-page{max-width:1400px;margin:0 auto;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{margin:0;color:var(--color-text-primary);font-size:1.4rem}.total-count{color:var(--color-text-tertiary);font-size:.9rem;margin:0}.filters-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:280px}.search-box input{width:100%;padding:.65rem 1rem;border:1px solid var(--color-border-primary);border-radius:8px;font-size:.95rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.search-box input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.filter-buttons{display:flex;gap:.4rem}.filter-buttons button{padding:.65rem 1.25rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;cursor:pointer;font-size:.85rem;transition:all .2s;color:var(--color-text-secondary)}.filter-buttons button:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.filter-buttons button.active{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.users-table-container{background:var(--color-bg-secondary);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:2rem}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border-primary)}.users-table th{padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.users-table th:first-child{width:32px;padding-right:0}.users-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border-secondary);font-size:.9rem}.users-table tbody tr:hover{background:var(--color-bg-elevated)}.users-table tbody tr.banned-row{background:var(--color-error-bg)}.users-table tbody tr.banned-row:hover{background:#ef444433}.users-table tbody tr.expanded-row{background:var(--color-bg-elevated);border-bottom:none}.users-table tbody tr.expanded-row td{border-bottom:none}.expand-cell{width:32px;padding-right:0!important;text-align:center}.expand-arrow{display:inline-block;transition:transform .2s;color:var(--color-text-tertiary);font-size:.75rem}.expand-arrow.open{transform:rotate(90deg)}.username-cell{font-weight:500;color:var(--color-text-primary)}.email-cell{color:var(--color-text-secondary);font-size:.85rem}.ban-reason{margin-left:.5rem;color:var(--color-error);cursor:help;font-size:.9rem}.role-badge,.status-badge{display:inline-block;padding:.2rem .65rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.role-badge.admin{background:var(--overlay-gold-30);color:var(--color-accent)}.role-badge.user{background:var(--color-bg-elevated);color:var(--color-text-tertiary)}.status-badge.active{background:var(--color-success-bg);color:var(--color-success-text)}.status-badge.banned{background:var(--color-error-bg);color:var(--color-error-text)}.actions-cell{white-space:nowrap}.action-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.btn-small{padding:.35rem .7rem;border:none;border-radius:6px;font-size:.78rem;cursor:pointer;transition:all .15s;white-space:nowrap;font-weight:500}.btn-small:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-warning{background:var(--color-warning);color:var(--color-text-inverse)}.btn-warning:hover:not(:disabled){background:var(--color-warning-hover)}.btn-success{background:var(--color-success);color:var(--color-text-inverse)}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-error-hover)}.btn-danger-outline{background:transparent;border:1px solid var(--color-error);color:var(--color-error-text)}.btn-danger-outline:hover:not(:disabled){background:var(--color-error-bg)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tertiary)}.details-row{background:var(--color-bg-elevated)!important}.details-row td{padding:0!important;border-bottom:2px solid var(--color-border-primary)!important}.user-details-panel{padding:1rem 1.5rem 1.25rem 3rem}.details-loading{color:var(--color-text-tertiary);font-size:.9rem;padding:.5rem 0}.details-grid{display:flex;gap:1rem;flex-wrap:wrap}.detail-card{display:flex;flex-direction:column;align-items:center;padding:.6rem 1.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:8px;min-width:90px}.detail-card.ban-detail,.detail-card.bio-detail{align-items:flex-start;min-width:200px;max-width:350px}.detail-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.detail-value-text{font-size:.85rem;color:var(--color-text-primary);line-height:1.4;margin-top:.25rem}.detail-label{font-size:.68rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:.15rem}.detail-sub{font-size:.75rem;color:var(--color-text-tertiary);margin-top:.25rem}.ban-detail{border-color:#ef44444d;background:var(--color-error-bg)}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination button{padding:.6rem 1.25rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--color-text-primary);font-size:.9rem}.pagination button:hover:not(:disabled){background:var(--color-bg-elevated)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.page-info{color:var(--color-text-secondary);font-size:.85rem}.loading,.error,.no-users{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dark-50);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-bg-secondary);border-radius:12px;padding:2rem;max-width:500px;width:90%;box-shadow:var(--shadow-lg)}.modal-content h2{margin:0 0 1rem;color:var(--color-text-primary)}.modal-content p{margin:0 0 1rem;color:var(--color-text-secondary)}.modal-content textarea{width:100%;padding:.75rem;border:1px solid var(--color-border-primary);border-radius:8px;font-family:inherit;font-size:1rem;resize:vertical;margin-bottom:1rem;background:var(--color-bg-primary);color:var(--color-text-primary)}.modal-content textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s}@media (max-width: 1024px){.users-table th:nth-child(3),.users-table td:nth-child(3){display:none}}@media (max-width: 768px){.user-management-page{padding:1rem}.filters-bar{flex-direction:column}.search-box{min-width:0}.filter-buttons{flex-wrap:wrap}.filter-buttons button{flex:1;min-width:0;padding:.5rem .75rem;font-size:.8rem}.users-table th:nth-child(3),.users-table td:nth-child(3),.users-table th:nth-child(6),.users-table td:nth-child(6){display:none}.action-buttons,.details-grid{flex-direction:column}.detail-card.ban-detail,.detail-card.bio-detail{max-width:100%}.user-details-panel{padding-left:1rem}}.activity-page{max-width:960px;margin:0 auto;padding:32px 24px}.activity-header{margin-bottom:24px}.activity-header h2{margin:0 0 4px;color:var(--color-text-primary);font-size:1.5rem;font-weight:700}.activity-subtitle{margin:0;color:var(--color-text-tertiary);font-size:.85rem}.activity-filters{margin-bottom:20px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.filter-pill{padding:6px 16px;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:6px;cursor:pointer;font-size:.82rem;transition:all .2s;color:var(--color-text-secondary);font-weight:500}.filter-pill:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.filter-pill.active{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.filter-pill.active.field-title{background:#3b82f6;border-color:#3b82f6;color:#fff}.filter-pill.active.field-description{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text-inverse)}.filter-pill.active.field-tags{background:#a855f7;border-color:#a855f7;color:#fff}.date-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:6px}.date-nav-btn{padding:6px 14px;border:1px solid var(--color-border-secondary);background:var(--color-bg-elevated);border-radius:6px;cursor:pointer;transition:all .2s;color:var(--color-text-secondary);font-size:.82rem;font-weight:500}.date-nav-btn:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-accent);color:var(--color-accent)}.date-nav-btn:disabled{opacity:.3;cursor:not-allowed}.date-nav-current{font-size:.95rem;font-weight:600;color:var(--color-text-primary);text-align:center;flex:1}.date-jump{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-top:none;border-radius:0 0 8px 8px;margin-bottom:24px}.date-jump-input{padding:5px 10px;border:1px solid var(--color-border-secondary);background:var(--color-bg-elevated);border-radius:4px;color:var(--color-text-primary);font-size:.82rem;font-family:inherit;color-scheme:dark}.date-jump-input:focus{outline:none;border-color:var(--color-accent)}.date-jump-btn{padding:5px 14px;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse);border-radius:4px;cursor:pointer;font-size:.82rem;font-weight:600;transition:all .2s}.date-jump-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.link-btn{background:none;border:none;color:var(--color-accent);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.link-btn:hover{color:var(--color-accent-hover)}.activity-loading,.activity-error{text-align:center;padding:48px 24px;color:var(--color-text-secondary);font-size:1rem}.activity-error{color:var(--color-error)}.activity-empty{text-align:center;padding:60px 24px;color:var(--color-text-tertiary);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px}.activity-empty .empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.3}.activity-empty p{margin:0 0 6px;font-size:1rem;color:var(--color-text-secondary)}.activity-empty span{font-size:.85rem}.edits-feed{display:flex;flex-direction:column;gap:10px}.edit-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;padding:14px 16px;cursor:pointer;transition:all .2s;border-left:3px solid transparent}.edit-card:hover{background:var(--color-bg-elevated)}.edit-card.expanded{background:var(--color-bg-elevated);border-color:var(--color-border-secondary)}.edit-card.field-title{border-left-color:#3b82f6}.edit-card.field-description{border-left-color:var(--color-accent)}.edit-card.field-tags{border-left-color:#a855f7}.edit-card.field-author{border-left-color:#fbbf24}.edit-card-header{display:flex;align-items:center;gap:12px}.edit-field-badge{flex-shrink:0}.field-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;font-weight:700;font-size:.8rem}.field-icon.field-title{background:#3b82f626;color:#60a5fa}.field-icon.field-description{background:var(--overlay-gold-30);color:var(--color-accent)}.field-icon.field-tags{background:#a855f726;color:#c084fc}.field-icon.field-author{background:#fbbf2426;color:#fbbf24}.edit-info{flex:1;min-width:0}.edit-summary{font-size:.88rem;color:var(--color-text-primary);line-height:1.4}.edit-username{color:var(--color-accent)}.edit-field-name{font-weight:500}.edit-post-title{color:var(--color-text-secondary);font-style:italic}.edit-meta{display:flex;gap:10px;margin-top:2px;font-size:.75rem;color:var(--color-text-tertiary)}.expand-indicator{flex-shrink:0;color:var(--color-text-tertiary);font-size:.65rem;padding:4px}.edit-preview{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-primary);font-size:.8rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-old{color:var(--color-error-text);text-decoration:line-through;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.preview-arrow{color:var(--color-text-tertiary);flex-shrink:0}.preview-new{color:var(--color-success-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.edit-diff{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-primary)}.edit-diff.inline-diff{display:flex;align-items:stretch;gap:12px}.edit-diff.side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}.diff-panel{flex:1;border-radius:6px;padding:10px 14px;min-width:0}.diff-panel.old{background:#ef444414;border:1px solid rgba(239,68,68,.15)}.diff-panel.new{background:#4ade8014;border:1px solid rgba(74,222,128,.15)}.diff-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.diff-panel.old .diff-label{color:var(--color-error-text)}.diff-panel.new .diff-label{color:var(--color-success-text)}.diff-content{font-size:.85rem;color:var(--color-text-primary);line-height:1.5;word-break:break-word}.diff-content.description-content{white-space:pre-wrap;max-height:300px;overflow-y:auto}.diff-arrow{display:flex;align-items:center;color:var(--color-text-tertiary);font-size:1.1rem;flex-shrink:0}.tag-diff{display:flex;flex-wrap:wrap;gap:6px}.tag-chip{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.78rem;font-weight:500}.tag-chip.removed{background:#ef44441f;color:var(--color-error-text);text-decoration:line-through}.tag-chip.added{background:#4ade801f;color:var(--color-success-text)}.tag-chip.kept{background:var(--color-bg-tertiary);color:var(--color-text-tertiary)}.line-diff{border-radius:6px;overflow:hidden;border:1px solid var(--color-border-primary);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.8rem;line-height:1.6}.diff-line{display:flex;padding:1px 12px;min-height:1.6em}.diff-prefix{flex-shrink:0;width:1.2em;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.diff-text{white-space:pre-wrap;word-break:break-word}.diff-line.diff-removed{background:#ef44441a}.diff-line.diff-removed .diff-prefix,.diff-line.diff-removed .diff-text{color:var(--color-error-text)}.diff-line.diff-added{background:#4ade801a}.diff-line.diff-added .diff-prefix,.diff-line.diff-added .diff-text{color:var(--color-success-text)}.diff-line.diff-context{color:var(--color-text-tertiary)}.diff-line.diff-separator{color:var(--color-text-tertiary);font-style:italic;padding:2px 12px;background:var(--color-bg-tertiary);border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary);justify-content:center;font-size:.72rem}.full-text-toggle{margin-top:12px}.full-text-toggle summary{cursor:pointer;color:var(--color-text-tertiary);font-size:.78rem;padding:4px 0;-webkit-user-select:none;user-select:none}.full-text-toggle summary:hover{color:var(--color-text-secondary)}.full-text-toggle .side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}@media (max-width: 768px){.full-text-toggle .side-by-side{grid-template-columns:1fr}}.diff-section{padding:6px 0}@media (max-width: 768px){.activity-page{padding:16px 12px}.activity-header h2{font-size:1.25rem}.date-nav{flex-wrap:wrap;gap:8px;padding:12px 14px}.date-nav-current{order:-1;width:100%;font-size:.88rem;flex:unset}.date-nav-btn{flex:1}.date-jump{padding:8px 14px}.edit-diff.side-by-side{grid-template-columns:1fr}.edit-diff.inline-diff{flex-direction:column}.diff-arrow{display:none}.edit-preview{flex-direction:column;align-items:flex-start}.preview-old,.preview-new{max-width:100%}.preview-arrow{display:none}.edits-feed{gap:8px}.edit-card{padding:12px 14px}}.post-transfer-page{max-width:1400px;margin:0 auto;padding:2rem}.owner-filter{min-width:180px}.owner-filter input{width:100%;padding:.65rem 1rem;border:1px solid var(--color-border-primary);border-radius:8px;font-size:.95rem;background:var(--color-bg-secondary);color:var(--color-text-primary)}.owner-filter input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.transfer-table-container{background:var(--color-bg-secondary);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;margin-bottom:2rem}.transfer-table{width:100%;border-collapse:collapse}.transfer-table thead{background:var(--color-bg-tertiary);border-bottom:2px solid var(--color-border-primary)}.transfer-table th{padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.transfer-table td{padding:.85rem 1rem;border-bottom:1px solid var(--color-border-secondary);font-size:.9rem}.transfer-table tbody tr:hover{background:var(--color-bg-elevated)}.transfer-table tbody tr.selected-row{background:var(--overlay-gold-20)}.transfer-table tbody tr.selected-row:hover{background:var(--overlay-gold-30)}.checkbox-cell{width:40px;text-align:center}.checkbox-cell input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer;width:16px;height:16px}.title-cell{font-weight:500;color:var(--color-text-primary)}.post-title-text{margin-right:.5rem}.legacy-badge{display:inline-block;padding:.15rem .45rem;border-radius:9999px;font-size:.65rem;font-weight:600;background:#a855f726;color:#c084fc;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle}.owner-cell{color:var(--color-text-secondary)}.original-poster-cell{color:var(--color-text-secondary);font-size:.85rem}.wp-col{color:var(--color-text-tertiary);font-size:.85rem}.post-transfer-page .status-badge{display:inline-block;padding:.2rem .65rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.post-transfer-page .status-badge.approved{background:var(--color-success-bg);color:var(--color-success-text)}.post-transfer-page .status-badge.pending{background:var(--overlay-gold-30);color:var(--color-accent)}.post-transfer-page .status-badge.rejected{background:var(--color-error-bg);color:var(--color-error-text)}.no-posts{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:1rem}.transfer-panel{position:sticky;bottom:1rem;background:var(--color-bg-secondary);border:2px solid var(--color-accent);border-radius:12px;padding:1.25rem 1.5rem;margin-top:1.5rem;box-shadow:0 -4px 20px #0000004d;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;z-index:10}.selection-count{font-weight:600;color:var(--color-accent);white-space:nowrap;font-size:.95rem}.transfer-target{flex:1;min-width:250px}.user-search-wrapper{position:relative}.user-search-wrapper input{width:100%;padding:.6rem 1rem;border:1px solid var(--color-border-primary);border-radius:8px;font-size:.9rem;background:var(--color-bg-primary);color:var(--color-text-primary)}.user-search-wrapper input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.searching-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--color-text-tertiary)}.user-search-dropdown{position:absolute;bottom:100%;left:0;right:0;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:8px;box-shadow:var(--shadow-md);z-index:20;max-height:240px;overflow-y:auto;margin-bottom:4px}.user-search-item{padding:.6rem 1rem;cursor:pointer;transition:background .15s;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.user-search-item:hover{background:var(--color-bg-elevated)}.user-search-name{font-weight:500;color:var(--color-text-primary)}.user-search-email{font-size:.8rem;color:var(--color-text-tertiary)}.selected-user-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--overlay-gold-30);border-radius:8px;color:var(--color-accent);font-weight:600;font-size:.95rem}.remove-user{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:1.2rem;line-height:1;opacity:.7;padding:0}.remove-user:hover{opacity:1}.btn-transfer{padding:.7rem 1.5rem;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-transfer:hover:not(:disabled){background:var(--color-accent-hover)}.btn-transfer:disabled{opacity:.5;cursor:not-allowed}.transfer-confirm-list{list-style:none;padding:0;margin:1rem 0;max-height:300px;overflow-y:auto}.transfer-confirm-item{padding:.6rem 0;border-bottom:1px solid var(--color-border-secondary);display:flex;flex-direction:column;gap:.2rem}.transfer-confirm-item:last-child{border-bottom:none}.confirm-title{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.confirm-arrow{font-size:.8rem;color:var(--color-text-tertiary)}.recent-transfers{margin-top:2rem}.recent-transfers-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.5rem 0;-webkit-user-select:none;user-select:none}.recent-transfers-header h3{margin:0;color:var(--color-text-secondary);font-size:1rem}.recent-transfers-header .expand-arrow{display:inline-block;transition:transform .2s;color:var(--color-text-tertiary);font-size:.75rem}.recent-transfers-header .expand-arrow.open{transform:rotate(90deg)}.recent-transfers-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.transfer-entry{padding:.75rem 1rem;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:8px;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.transfer-entry-title{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.transfer-entry-detail{font-size:.85rem;color:var(--color-text-secondary)}.transfer-entry-meta{font-size:.78rem;color:var(--color-text-tertiary);margin-left:auto}@media (max-width: 1024px){.wp-col,.original-poster-cell{display:none}.transfer-table th:nth-child(4){display:none}}@media (max-width: 768px){.post-transfer-page{padding:1rem}.transfer-panel{flex-direction:column;position:static;align-items:stretch}.transfer-target{min-width:0}.transfer-entry{flex-direction:column;align-items:flex-start;gap:.25rem}.transfer-entry-meta{margin-left:0}.transfer-table th:nth-child(6),.transfer-table td:nth-child(6),.transfer-table th:nth-child(8),.transfer-table td:nth-child(8){display:none}}.ann-admin{max-width:800px;margin:0 auto;padding:1.5rem 0}.ann-loading,.ann-error,.ann-empty{color:var(--color-text-tertiary);font-size:.9rem;padding:2rem 0;text-align:center}.ann-error{color:var(--color-error)}.ann-admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.ann-admin-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-text-primary)}.ann-new-btn{padding:.5rem 1rem;background:var(--color-gold);color:var(--color-text-inverse);border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.ann-new-btn:hover{background:var(--color-gold-600)}.ann-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.ann-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.ann-form-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.ann-form-tabs{display:flex;gap:4px;background:var(--color-bg-tertiary);border-radius:6px;padding:2px}.ann-tab{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--color-text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.ann-tab.active{background:var(--color-bg-secondary);color:var(--color-text-primary)}.ann-input{width:100%;padding:.6rem .8rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.9rem;background:var(--color-bg-primary);color:var(--color-text-primary);margin-bottom:.75rem;box-sizing:border-box}.ann-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.ann-textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.85rem;font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);resize:vertical;min-height:120px;box-sizing:border-box}.ann-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.ann-preview{border:1px solid var(--color-border-primary);border-radius:6px;padding:.8rem;min-height:120px;background:var(--color-bg-primary)}.ann-preview .markdown-body{font-size:.85rem}.ann-form-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.75rem}.ann-pin-label{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer}.ann-pin-label input[type=checkbox]{accent-color:var(--color-gold)}.ann-form-actions{display:flex;gap:8px}.ann-cancel-btn{padding:.45rem 1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s}.ann-cancel-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.ann-save-btn{padding:.45rem 1.2rem;border:none;border-radius:6px;background:var(--color-gold);color:var(--color-text-inverse);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.ann-save-btn:hover{background:var(--color-gold-600)}.ann-save-btn:disabled,.ann-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.ann-list{display:flex;flex-direction:column;gap:12px}.ann-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:10px;padding:1rem 1.25rem}.ann-card.pinned{border-color:#d4af3740}.ann-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.ann-card-title-row{display:flex;align-items:center;gap:8px;min-width:0}.ann-pin-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gold);background:#d4af371f;padding:2px 6px;border-radius:3px;flex-shrink:0}.ann-card-title{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary);line-height:1.3}.ann-card-actions{display:flex;gap:6px;flex-shrink:0}.ann-action-btn{padding:3px 10px;border:1px solid var(--color-border-primary);border-radius:4px;background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;color:var(--color-text-secondary)}.ann-action-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.ann-action-btn.pin{color:var(--color-gold);border-color:#d4af374d}.ann-action-btn.pin:hover{background:#d4af3714}.ann-action-btn.unpin{color:var(--color-text-tertiary)}.ann-action-btn.delete{color:var(--color-error);border-color:#ef44444d}.ann-action-btn.delete:hover{background:#ef444414}.ann-card-content{margin-bottom:8px}.ann-card-content .markdown-body{font-size:.85rem;color:var(--color-text-secondary)}.ann-card-meta{display:flex;gap:12px;font-size:.75rem;color:var(--color-text-disabled)}.ann-edited{font-style:italic}@media (max-width: 768px){.ann-admin{padding:1rem}.ann-card-header{flex-direction:column;gap:8px}}.et-admin{max-width:1000px;margin:0 auto;padding:1.5rem 0}.et-loading,.et-error,.et-empty{color:var(--color-text-tertiary);font-size:.9rem;padding:2rem 0;text-align:center}.et-error{color:var(--color-error)}.et-admin-header{display:flex;align-items:center;gap:12px;margin-bottom:1.5rem}.et-admin-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-text-primary)}.et-count{font-size:.8rem;color:var(--color-text-tertiary);flex:1}.et-new-btn{padding:.5rem 1rem;background:var(--color-gold);color:var(--color-text-inverse);border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.et-new-btn:hover{background:var(--color-gold-600)}.et-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.et-form h3{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.et-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.et-form-group{margin-bottom:.75rem}.et-form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px}.et-input{width:100%;padding:.5rem .7rem;border:1px solid var(--color-border-primary);border-radius:6px;font-size:.85rem;background:var(--color-bg-primary);color:var(--color-text-primary);box-sizing:border-box}.et-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-20)}.et-hint{margin:4px 0 0;font-size:.75rem;color:var(--color-text-disabled)}.et-char-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.et-char-btn{padding:4px 10px;border:1px solid var(--color-border-primary);border-radius:4px;background:transparent;color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;transition:all .15s}.et-char-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.et-char-btn.selected{background:var(--color-gold);color:var(--color-text-inverse);border-color:var(--color-gold)}.et-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:1rem}.et-cancel-btn{padding:.45rem 1rem;border:1px solid var(--color-border-primary);border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s}.et-cancel-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.et-save-btn{padding:.45rem 1.2rem;border:none;border-radius:6px;background:var(--color-gold);color:var(--color-text-inverse);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.et-save-btn:hover{background:var(--color-gold-600)}.et-save-btn:disabled,.et-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.et-table-wrap{overflow-x:auto}.et-table{width:100%;border-collapse:collapse;font-size:.85rem}.et-table th{text-align:left;padding:8px 12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-secondary)}.et-table td{padding:10px 12px;border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-secondary);vertical-align:middle}.et-table tr:hover td{background:var(--color-bg-secondary)}.et-tag-name{font-weight:600;color:var(--color-text-primary)!important}.et-slug{font-family:monospace;font-size:.8rem;color:var(--color-text-disabled)!important}.et-sort{text-align:center;width:80px}.et-sort-controls{display:flex;align-items:center;justify-content:center;gap:4px}.et-sort-num{font-size:.8rem;color:var(--color-text-disabled);min-width:20px;text-align:center}.et-move-btn{padding:2px 6px;border:1px solid var(--color-border-primary);border-radius:3px;background:transparent;color:var(--color-text-tertiary);font-size:.6rem;cursor:pointer;transition:all .15s;line-height:1}.et-move-btn:hover:not(:disabled){border-color:var(--color-text-tertiary);color:var(--color-text-primary);background:var(--color-bg-tertiary)}.et-move-btn:disabled{opacity:.25;cursor:not-allowed}.et-chars{display:flex;flex-wrap:wrap;gap:4px}.et-char-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.72rem;font-weight:500;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.et-actions{display:flex;gap:6px;white-space:nowrap}.et-action-btn{padding:3px 10px;border:1px solid var(--color-border-primary);border-radius:4px;background:transparent;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s;color:var(--color-text-secondary)}.et-action-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.et-action-btn.delete{color:var(--color-error);border-color:#ef44444d}.et-action-btn.delete:hover{background:#ef444414}@media (max-width: 768px){.et-admin{padding:1rem}.et-form-row{grid-template-columns:1fr}.et-table{font-size:.8rem}}.admin-layout{min-height:calc(100vh - 80px);background:var(--color-bg-primary);--color-accent: #00e5ff;--color-accent-hover: #00b8d4;--color-accent-active: #0097a7;--overlay-gold-10: rgba(0, 229, 255, .1);--overlay-gold-20: rgba(0, 229, 255, .2);--overlay-gold-30: rgba(0, 229, 255, .3);--overlay-gold-40: rgba(0, 229, 255, .4);--shadow-gold: 0 4px 12px rgba(0, 229, 255, .4);--shadow-gold-lg: 0 8px 24px rgba(0, 229, 255, .5)}.admin-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);padding:0}.admin-header-top{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;flex-wrap:wrap;gap:20px}.admin-header h1{margin:0;color:var(--color-text-primary);font-size:1.75rem}.admin-stats-bar{display:flex;gap:12px}.stat-card{display:flex;flex-direction:column;align-items:center;padding:10px 20px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:8px;min-width:88px;gap:2px}.stat-value{font-size:1.4rem;font-weight:700;color:var(--color-text-primary);line-height:1.2}.stat-value.pending{color:var(--color-warning)}.stat-value.edits{color:var(--color-accent)}.stat-label{font-size:.7rem;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.admin-tabs{display:flex;gap:0;padding:0 24px;border-top:1px solid var(--color-border-primary)}.admin-tabs .tab{display:flex;align-items:center;gap:.5rem;padding:14px 20px;text-decoration:none;color:var(--color-text-secondary);border-bottom:2px solid transparent;transition:all .2s;font-weight:500;font-size:.9rem}.admin-tabs .tab:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.admin-tabs .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;border-radius:10px;background:var(--color-accent);color:var(--color-text-inverse)}.admin-content{padding:0}@media (max-width: 768px){.admin-header-top{flex-direction:column;align-items:flex-start;padding:16px 16px 12px;gap:12px}.admin-stats-bar{width:100%;justify-content:space-between}.stat-card{flex:1;min-width:0;padding:8px 10px}.stat-value{font-size:1.2rem}.admin-tabs{padding:0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tabs .tab{padding:10px 14px;font-size:.85rem;white-space:nowrap}}.search-page{min-height:100vh;background:var(--color-bg-primary);color:var(--color-text-primary)}.search-page *{color:inherit}.search-header{padding:24px 32px 16px;border-bottom:1px solid var(--color-border-secondary)}.back-link{display:inline-block;margin-bottom:12px;color:var(--color-text-tertiary)!important;text-decoration:none;font-size:14px;transition:color .2s ease}.back-link:hover{color:var(--color-text-primary)!important}.search-header h1{font-size:32px;font-weight:700;margin:0;color:var(--color-text-primary)!important}.search-controls{max-width:1400px;margin:24px auto 0;padding:24px;background:var(--color-bg-secondary);border-radius:8px}.search-form{display:flex;gap:12px;margin-bottom:20px}.search-input{flex:1;padding:12px 16px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:6px;color:var(--color-text-primary)!important;font-size:15px;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--color-cyan)}.search-input::placeholder{color:var(--color-text-disabled)}.search-button{padding:12px 32px;background:var(--color-cyan);color:var(--color-text-inverse)!important;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.search-button:hover{background:var(--color-cyan-hover)}.filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:200px}.filter-group label{font-size:13px;font-weight:600;color:var(--color-text-secondary)!important;text-transform:uppercase;letter-spacing:.5px}.filter-select{padding:10px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:6px;color:var(--color-text-primary)!important;font-size:14px;cursor:pointer;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:var(--color-cyan)}.clear-filters-button{padding:10px 20px;background:var(--color-border-secondary);border:1px solid var(--color-border-primary);border-radius:6px;color:var(--color-text-secondary)!important;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.clear-filters-button:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)!important}.active-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-secondary)}.active-filters-label{font-size:13px;font-weight:600;color:var(--color-text-tertiary)!important}.filter-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:var(--color-cyan);color:var(--color-text-inverse)!important;border-radius:4px;font-size:13px;font-weight:500}.filter-tag button{background:none;border:none;color:var(--color-text-inverse)!important;font-size:18px;line-height:1;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.filter-tag button:hover{opacity:.7}@media (max-width: 968px){.search-header{padding:20px 24px 12px}.search-header h1{font-size:28px}.search-controls{margin:20px auto 0;padding:20px}.filters{flex-direction:column;align-items:stretch}.filter-group{min-width:auto}}@media (max-width: 640px){.search-header{padding:16px 20px 12px}.search-header h1{font-size:24px}.search-controls{margin:16px auto 0;padding:16px}.search-form{flex-direction:column}}.categories-page{flex:1;background:var(--color-bg-primary);padding:32px 24px;display:flex;align-items:center;justify-content:center;overflow:hidden}.categories-container{max-width:1200px;width:100%}.categories-header{text-align:center;margin-bottom:48px}.categories-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.categories-header p{font-size:18px;color:var(--color-text-tertiary);margin:0}.categories-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}.category-card:nth-child(1){grid-column:2 / span 2}.category-card:nth-child(2){grid-column:4 / span 2}.category-card:nth-child(3){grid-column:1 / span 2}.category-card:nth-child(4){grid-column:3 / span 2}.category-card:nth-child(5){grid-column:5 / span 2}.category-card:nth-child(6){grid-column:2 / span 2}.category-card:nth-child(7){grid-column:4 / span 2}.category-card{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-primary) 100%);border:none;border-radius:12px;padding:32px;text-decoration:none;box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;text-align:center;position:relative;overflow:hidden}.category-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.category-card:hover:before{opacity:1;animation-play-state:running}.category-icon{width:80px;height:80px;margin:0 auto 20px;background:var(--color-bg-tertiary);border:2px solid var(--color-border-secondary);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.category-icon img{width:100%;height:100%;object-fit:contain}.category-name{font-size:24px;font-weight:600;margin:0 0 12px;color:var(--color-text-primary)}.category-description{font-size:15px;color:var(--color-text-tertiary);margin:0;line-height:1.5}@media (max-width: 968px){.categories-grid{grid-template-columns:repeat(2,1fr);gap:20px}.category-card:nth-child(1),.category-card:nth-child(2),.category-card:nth-child(3),.category-card:nth-child(4),.category-card:nth-child(5),.category-card:nth-child(6),.category-card:nth-child(7){grid-column:span 1}.category-card:nth-child(7){grid-column:1 / -1;max-width:50%;justify-self:center}.categories-header h1{font-size:36px}}@media (max-width: 640px){.categories-page{padding:24px 16px;flex:1 0 auto;overflow:auto}.categories-grid{grid-template-columns:1fr;gap:16px}.category-card:nth-child(1),.category-card:nth-child(2),.category-card:nth-child(3),.category-card:nth-child(4),.category-card:nth-child(5),.category-card:nth-child(6),.category-card:nth-child(7){grid-column:span 1;max-width:100%}.categories-header h1{font-size:28px}.category-card{padding:24px}.category-icon{width:64px;height:64px}.category-name{font-size:20px}}.characters-page{min-height:100vh;background:var(--color-bg-primary);padding:32px 24px}.characters-container{max-width:1400px;margin:0 auto}.characters-header{text-align:center;margin-bottom:48px}.characters-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.characters-header p{font-size:18px;color:var(--color-text-tertiary);margin:0}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.character-card{background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:12px;padding:20px;text-decoration:none;transition:all .3s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.character-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.character-card:hover{background:var(--color-bg-tertiary);transform:translateY(-4px)}.character-card:hover:before{opacity:1;animation-play-state:running}.character-card-all .character-placeholder{background:linear-gradient(135deg,#7dd3e814,#7dd3e808);border:1px solid rgba(125,211,232,.15)}.character-csp{width:136px;height:188px;object-fit:contain;border-radius:8px;margin-bottom:16px;background:var(--color-bg-overlay)}.character-placeholder{width:136px;height:188px;background:linear-gradient(135deg,#2a3d50,#1f2f3f);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:2px solid rgba(61,79,92,.5)}.character-initial{font-size:48px;font-weight:700;color:var(--color-cyan);opacity:.6}.character-name{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary);text-align:center}@media (max-width: 968px){.characters-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.characters-header h1{font-size:36px}.character-csp,.character-placeholder{width:102px;height:141px}.character-initial{font-size:40px}}@media (max-width: 640px){.characters-page{padding:24px 16px}.characters-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.characters-header h1{font-size:28px}.character-card{padding:16px}.character-csp,.character-placeholder{width:68px;height:94px}.character-initial{font-size:32px}.character-name{font-size:14px}}.character-page{min-height:100vh;background:var(--color-bg-primary);padding:32px 24px}.character-container{max-width:1400px;margin:0 auto}.character-header{text-align:center;margin-bottom:48px}.back-link{display:inline-block;margin-bottom:16px;color:var(--color-text-tertiary);text-decoration:none;font-size:14px;transition:color .2s ease}.back-link:hover{color:var(--color-text-primary)}.character-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.character-header p{font-size:18px;color:var(--color-text-tertiary);margin:0}.admin-controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.btn-toggle-hidden{padding:10px 20px;background:var(--color-accent);color:var(--color-text-inverse);border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-toggle-hidden:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn-detect-duplicates{padding:10px 20px;background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-secondary);border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-detect-duplicates:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px)}.btn-detect-duplicates:disabled{opacity:.6;cursor:not-allowed}.character-extras{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px}.extras-label{font-size:14px;color:var(--color-text-tertiary);font-weight:500}.extras-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--color-border-secondary);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:13px;text-decoration:none;transition:all .2s ease}.extras-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-bg-tertiary)}.csp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}.csp-card{background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:12px;overflow:hidden;text-decoration:none;transition:all .3s ease;cursor:pointer;position:relative}.csp-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.csp-card:hover{transform:translateY(-4px)}.csp-card:hover:before{opacity:1;animation-play-state:running}.btn-hide-csp{position:absolute;top:8px;right:8px;padding:6px 12px;background:var(--color-error);color:var(--color-text-primary);border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;opacity:0;transition:opacity .2s ease;z-index:10}.csp-card:hover .btn-hide-csp{opacity:1}.btn-hide-csp:hover{background:var(--color-error-hover)}.btn-unhide-csp{position:absolute;top:8px;right:8px;padding:6px 12px;background:var(--color-success);color:var(--color-text-inverse);border:none;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;opacity:0;transition:opacity .2s ease;z-index:10}.csp-card:hover .btn-unhide-csp{opacity:1}.btn-unhide-csp:hover{background:var(--color-success-hover)}.csp-card-hidden{opacity:.5;border-color:var(--color-error);border-width:3px;background:#ef444426}.csp-card-hidden:hover{opacity:.8}.csp-card-hidden .btn-unhide-csp{opacity:1}.csp-hidden-badge,.csp-auto-hidden-badge{position:absolute;bottom:8px;left:8px;padding:2px 8px;font-size:11px;font-weight:600;border-radius:4px;z-index:5}.csp-hidden-badge{background:var(--color-error);color:var(--color-text-primary)}.csp-auto-hidden-badge{background:#b45309;color:#fff}.csp-image-wrapper{position:relative}.csp-image{width:100%;aspect-ratio:136 / 188;object-fit:contain;display:block;background:var(--color-bg-overlay)}.csp-placeholder{width:100%;aspect-ratio:136 / 188;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;color:var(--color-text-disabled);font-size:14px}.csp-info{padding:16px;display:flex;flex-direction:column;gap:6px}.csp-title{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csp-color{font-size:14px;color:var(--color-accent);font-weight:500}.csp-downloads{font-size:13px;color:var(--color-text-tertiary)}.loading,.error,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--color-text-tertiary);font-size:18px;gap:16px}.error{color:var(--color-error)}.upload-link{padding:12px 24px;background:var(--color-accent);color:var(--color-text-inverse);text-decoration:none;border-radius:6px;font-weight:600;transition:all .2s ease}.upload-link:hover{background:var(--color-accent-hover);transform:translateY(-1px)}@media (max-width: 968px){.csp-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px}.character-header h1{font-size:36px}}@media (max-width: 640px){.character-page{padding:24px 16px}.csp-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.character-header h1{font-size:28px}.csp-info{padding:12px}.csp-title{font-size:14px}}.character-page .pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem;padding-bottom:2rem}.character-page .pagination button{padding:.6rem 1.25rem;border:1px solid var(--color-border-primary);background:var(--color-bg-secondary);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--color-text-primary);font-size:.9rem}.character-page .pagination button:hover:not(:disabled){background:var(--color-bg-elevated)}.character-page .pagination button:disabled{opacity:.5;cursor:not-allowed}.character-page .page-info{color:var(--color-text-secondary);font-size:.85rem}.stages-page{min-height:100vh;background:var(--color-bg-primary);padding:2rem 0}.stages-container{max-width:1400px;margin:0 auto;padding:0 2rem}.stages-header{margin-bottom:3rem}.stages-header .back-link{display:inline-block;color:var(--color-accent);text-decoration:none;margin-bottom:1rem;font-size:1rem;transition:color .2s}.stages-header .back-link:hover{color:var(--color-accent-hover)}.stages-header h1{font-size:2.5rem;color:var(--color-text-primary);margin-bottom:.5rem;font-weight:700}.stages-header p{color:var(--color-text-secondary);font-size:1.1rem}.stages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stage-card{background:var(--color-bg-secondary);border-radius:12px;padding:1rem;text-align:center;text-decoration:none;transition:all .3s ease;border:2px solid transparent;cursor:pointer;position:relative;overflow:hidden}.stage-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.stage-card:hover{background:var(--color-bg-tertiary);transform:translateY(-5px)}.stage-card:hover:before{opacity:1;animation-play-state:running}.stage-card-all .stage-placeholder{background:linear-gradient(135deg,#7dd3e814,#7dd3e808);border:1px solid rgba(125,211,232,.15)}.stage-preview{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:1rem;background:var(--overlay-dark-20)}.stage-placeholder{width:100%;height:150px;background:linear-gradient(135deg,#2a3d50,#1f2f3f);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;border:2px solid rgba(61,79,92,.5)}.stage-initial{font-size:4rem;color:var(--color-cyan);opacity:.6;font-weight:700;text-transform:uppercase}.stage-name{color:var(--color-text-primary);font-size:1.1rem;font-weight:600;margin:0}@media (max-width: 768px){.stages-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.stages-header h1{font-size:2rem}.stage-preview,.stage-placeholder{height:120px}.stage-initial{font-size:3rem}}.extras-page{min-height:100vh;background:var(--color-bg-primary);padding:32px 24px}.extras-container{max-width:1400px;margin:0 auto}.extras-header{text-align:center;margin-bottom:48px}.extras-header .back-link{display:inline-block;margin-bottom:16px;color:var(--color-text-tertiary);text-decoration:none;font-size:14px;transition:color .2s ease}.extras-header .back-link:hover{color:var(--color-text-primary)}.extras-header h1{font-size:48px;font-weight:700;margin:0 0 16px;color:var(--color-text-primary)}.extras-header p{font-size:18px;color:var(--color-text-tertiary);margin:0}.extras-character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.extras-character-card{background:var(--color-bg-secondary);border:none;border-radius:12px;padding:20px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.extras-character-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.extras-character-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.extras-character-card:hover:before{opacity:1;animation-play-state:running}.extras-character-csp{width:136px;height:188px;object-fit:contain;border-radius:8px;margin-bottom:16px;background:var(--color-bg-overlay)}.extras-character-placeholder{width:136px;height:188px;background:linear-gradient(135deg,#2a3d50,#1f2f3f);border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;border:2px solid rgba(61,79,92,.5)}.extras-character-initial{font-size:48px;font-weight:700;color:#4a9eff}.extras-character-name{font-size:16px;font-weight:600;margin:0;color:var(--color-text-primary);text-align:center}.extras-character-count{font-size:13px;color:var(--color-text-tertiary);margin:6px 0 0}@media (max-width: 968px){.extras-character-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.extras-header h1{font-size:36px}.extras-character-csp,.extras-character-placeholder{width:102px;height:141px}.extras-character-initial{font-size:40px}}@media (max-width: 640px){.extras-page{padding:24px 16px}.extras-character-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.extras-header h1{font-size:28px}.extras-character-card{padding:16px}.extras-character-csp,.extras-character-placeholder{width:68px;height:94px}.extras-character-initial{font-size:32px}.extras-character-name{font-size:14px}}.char-extras-page{min-height:100vh;background:var(--color-bg-primary);padding:32px 24px}.char-extras-container{max-width:1200px;margin:0 auto}.char-extras-header{margin-bottom:32px}.char-extras-header .back-link{color:var(--color-text-tertiary);text-decoration:none;font-size:14px;display:inline-block;margin-bottom:16px;transition:color .2s}.char-extras-header .back-link:hover{color:var(--color-text-primary)}.char-extras-title-row{display:flex;align-items:center;gap:24px}.char-extras-csp{width:80px;height:110px;object-fit:contain;border-radius:8px;background:var(--color-bg-overlay)}.char-extras-title-row h1{font-size:36px;font-weight:700;color:var(--color-text-primary);margin:0}.char-extras-subtitle{font-size:16px;color:var(--color-text-tertiary);margin:4px 0 0}.char-extras-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.char-extras-type-card{background:var(--color-bg-secondary);border:none;border-radius:12px;padding:24px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.char-extras-type-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;padding:2px;background:conic-gradient(from var(--border-angle),transparent 0%,var(--color-cyan) 10%,var(--color-cyan-light) 15%,transparent 25%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .3s ease;animation:travellingBorder 2s linear infinite paused;z-index:1}.char-extras-type-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.char-extras-type-card:hover:before{opacity:1;animation-play-state:running}@keyframes travellingBorder{0%{--border-angle: 0deg}to{--border-angle: 360deg}}.char-extras-type-name{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.char-extras-type-count{font-size:14px;color:var(--color-text-tertiary);margin:4px 0 0}.char-extras-type-all{border:1px solid var(--color-cyan, #0ff)}@media (max-width: 968px){.char-extras-title-row h1{font-size:28px}.char-extras-csp{width:60px;height:83px}}@media (max-width: 640px){.char-extras-page{padding:24px 16px}.char-extras-title-row{gap:16px}.char-extras-title-row h1{font-size:24px}.char-extras-type-grid{grid-template-columns:1fr 1fr;gap:12px}.char-extras-type-card{padding:16px}.char-extras-type-name{font-size:16px}}.extra-type-page{min-height:100vh;background:var(--color-bg-primary);padding:32px 24px}.extra-type-container{max-width:1200px;margin:0 auto}.extra-type-header{margin-bottom:24px}.extra-type-header .back-link{color:var(--color-text-tertiary);text-decoration:none;font-size:14px;display:inline-block;margin-bottom:16px;transition:color .2s}.extra-type-header .back-link:hover{color:var(--color-text-primary)}.extra-type-title-row{display:flex;align-items:center;gap:24px}.extra-type-csp{width:80px;height:110px;object-fit:contain;border-radius:8px;background:var(--color-bg-overlay)}.extra-type-title-row h1{font-size:36px;font-weight:700;color:var(--color-text-primary);margin:0}.extra-type-subtitle{font-size:16px;color:var(--color-text-tertiary);margin:4px 0 0}@media (max-width: 968px){.extra-type-title-row h1{font-size:28px}.extra-type-csp{width:60px;height:83px}}@media (max-width: 640px){.extra-type-page{padding:24px 16px}.extra-type-title-row{gap:16px}.extra-type-title-row h1{font-size:24px}}.profile-page{min-height:100vh;background:var(--color-bg-primary);padding:40px 20px 60px}.profile-container{max-width:1200px;margin:0 auto}.profile-page .back-link{display:inline-block;color:var(--color-text-secondary);text-decoration:none;font-weight:600;font-size:14px;margin-bottom:20px;transition:color .2s ease}.profile-page .back-link:hover{color:var(--color-accent)}.profile-card{background:var(--color-bg-secondary);border-radius:12px;padding:40px;margin-bottom:32px;box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary)}.profile-card-top{display:flex;align-items:center;gap:24px}.profile-avatar{width:96px;height:96px;border-radius:50%;background:var(--gradient-gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;overflow:hidden}.profile-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar-letter{font-size:40px;font-weight:700;color:var(--color-text-inverse);line-height:1}.profile-avatar-editable{cursor:pointer}.profile-avatar-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;opacity:0;transition:opacity .2s ease;border-radius:50%}.profile-avatar-editable:hover .profile-avatar-overlay{opacity:1}.profile-identity{flex:1;min-width:0}.profile-username{font-size:28px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px;line-height:1.2}.profile-join-date{color:var(--color-text-tertiary);font-size:14px;margin:0}.profile-stats{display:flex;gap:24px;flex-shrink:0}.profile-stat{text-align:center}.profile-stat-value{display:block;font-size:22px;font-weight:700;color:var(--color-text-primary);line-height:1}.profile-stat-label{display:block;font-size:13px;color:var(--color-text-tertiary);margin-top:4px}.profile-card-bottom{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-secondary)}.profile-bio{color:var(--color-text-secondary);font-size:15px;line-height:1.6;margin:0 0 20px}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}.social-link{text-decoration:none;transition:all .2s ease;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:6px;background:var(--overlay-light-05);border:1px solid var(--color-border-secondary);white-space:nowrap;font-size:14px;font-weight:500;color:var(--color-text-secondary)}.social-link img{width:18px;height:18px;object-fit:contain;flex-shrink:0}.social-text{color:inherit}.social-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm);color:var(--color-text-primary)}.social-link.discord:hover{background:#5865f21f;border-color:#5865f240}.social-link.youtube:hover{background:#ff00001a;border-color:#f003}.social-link.bluesky:hover{background:#0085ff1a;border-color:#0085ff33}.social-link.twitter:hover{background:#1d9bf01a;border-color:#1d9bf033}.social-link.patreon:hover{background:#ff424d1a;border-color:#ff424d33}.edit-profile-btn{margin-top:20px;padding:10px 24px;font-size:14px;font-weight:600;border:1px solid var(--color-border-primary);border-radius:8px;cursor:pointer;transition:all .2s ease;background:transparent;color:var(--color-text-secondary)}.edit-profile-btn:hover{background:var(--overlay-light-10);color:var(--color-text-primary);border-color:var(--color-accent)}.edit-form{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border-secondary)}.edit-form .form-group{margin-bottom:20px}.edit-form label{display:block;font-weight:600;font-size:14px;margin-bottom:8px;color:var(--color-text-primary)}.edit-form input,.edit-form textarea{width:100%;padding:12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:15px;font-family:inherit;background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:border-color .2s ease,box-shadow .2s ease}.edit-form input:focus,.edit-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-10)}.edit-form textarea{resize:vertical;min-height:80px}.char-count{display:block;text-align:right;font-size:12px;color:var(--color-text-tertiary);margin-top:4px}.edit-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.edit-form-grid .form-group{margin-bottom:0}.form-actions{display:flex;gap:12px;margin-top:24px}.profile-page .btn{padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.profile-page .btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.profile-page .btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.profile-page .btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.profile-page .btn-secondary:hover{background:var(--color-border-primary)}.profile-posts{background:var(--color-bg-secondary);border-radius:12px;padding:40px;box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary)}.profile-posts-header{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}.profile-posts-header h2{font-size:24px;font-weight:700;margin:0;color:var(--color-text-primary)}.posts-count{color:var(--color-text-tertiary);font-size:14px}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.no-posts{text-align:center;padding:60px 20px;color:var(--color-text-tertiary)}.no-posts p{margin-bottom:24px;font-size:16px}.profile-page.loading,.profile-page.error{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:18px;color:var(--color-text-secondary)}.profile-page.error{flex-direction:column;gap:20px}.profile-posts .pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.profile-posts .pagination button{padding:.6rem 1.25rem;border:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);border-radius:8px;cursor:pointer;transition:all .2s;color:var(--color-text-primary);font-size:.9rem}.profile-posts .pagination button:hover:not(:disabled){background:var(--color-bg-elevated)}.profile-posts .pagination button:disabled{opacity:.5;cursor:not-allowed}.profile-posts .page-info{color:var(--color-text-secondary);font-size:.85rem}@media (max-width: 768px){.profile-page{padding:24px 16px 40px}.profile-card{padding:24px}.profile-card-top{flex-direction:column;text-align:center}.profile-identity{width:100%}.profile-stats{justify-content:center}.profile-card-bottom{text-align:center}.social-links{justify-content:center}.edit-form-grid{grid-template-columns:1fr}.profile-posts{padding:24px}.posts-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%;text-align:center}.profile-posts-header{flex-direction:column;gap:4px}}.auth-page{min-height:100vh;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;padding:40px 20px}.auth-container{max-width:450px;width:100%;background:var(--color-bg-secondary);border-radius:12px;padding:40px;box-shadow:var(--shadow-md)}.auth-header{margin-bottom:32px}.auth-header .back-link{display:inline-block;color:var(--color-accent);text-decoration:none;font-weight:600;margin-bottom:24px;transition:color .2s ease}.auth-header .back-link:hover{color:var(--color-accent-hover)}.auth-header h1{font-size:32px;font-weight:700;margin:0 0 8px;color:var(--color-text-primary)}.auth-header p{color:var(--color-text-secondary);margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .form-group{display:flex;flex-direction:column}.auth-form label{font-weight:600;margin-bottom:8px;color:var(--color-text-primary)}.auth-form input{padding:12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:16px;font-family:inherit;transition:border-color .2s ease;background:var(--color-bg-tertiary);color:var(--color-text-primary)}.auth-form input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--overlay-gold-10)}.auth-form input:disabled{background:var(--color-bg-secondary);color:var(--color-text-disabled);cursor:not-allowed}.btn{padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-large{padding:16px 24px;font-size:18px;width:100%;margin-top:8px}.auth-footer{margin-top:24px;text-align:center;padding-top:24px;border-top:1px solid var(--color-border-primary)}.auth-footer p{color:var(--color-text-secondary);margin:0}.auth-link{color:var(--color-accent);text-decoration:none;font-weight:600;transition:color .2s ease}.auth-link:hover{color:var(--color-accent-hover)}.dev-notice{margin-top:24px;padding:16px;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:8px}.dev-notice p{margin:4px 0;font-size:14px;color:var(--color-warning-text)}.dev-notice strong{color:var(--color-accent)}.success-message{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success-text);padding:20px;border-radius:8px;margin:20px 0;text-align:center}.success-message p{margin:12px 0;line-height:1.6}.success-message .email-highlight{font-weight:600;color:var(--color-success)}.success-message .note{font-size:14px;color:var(--color-success-text);background:var(--overlay-dark-20);padding:12px;border-radius:6px;margin:16px 0}.success-message .btn{margin:8px 4px}.error-message{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error-text);padding:16px;border-radius:8px;margin:16px 0;text-align:center}.error-message p{margin:8px 0}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-elevated);transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none}.forgot-password-link{display:block;text-align:right;margin-top:-8px;margin-bottom:16px;font-size:14px}.auth-subtitle{color:var(--color-text-secondary);margin-bottom:24px;text-align:center}.loading{text-align:center;padding:40px;color:var(--color-text-secondary);font-size:18px}@media (max-width: 480px){.auth-container{padding:24px}.auth-header h1{font-size:24px}}.announcements-sidebar{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:8px;padding:16px;position:sticky;top:24px}.announcements-sidebar-title{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.announcements-loading,.announcements-empty{color:var(--color-text-tertiary);font-size:13px;padding:8px 0}.announcements-list{display:flex;flex-direction:column;gap:0}.announcement-item{padding:10px 0;border-bottom:1px solid var(--color-border-secondary)}.announcement-item:last-child{border-bottom:none;padding-bottom:0}.announcement-item:first-child{padding-top:0}.announcement-item.pinned{background:#d4af370d;margin:0 -16px;padding:10px 16px;border-radius:4px}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px}.announcement-title{margin:0;font-size:13px;font-weight:600;color:var(--color-text-primary);line-height:1.3;display:flex;align-items:center;gap:6px}.pin-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-gold);background:#d4af371f;padding:1px 5px;border-radius:3px;flex-shrink:0}.announcement-time{font-size:11px;color:var(--color-text-disabled);white-space:nowrap;flex-shrink:0}.announcement-content{font-size:12px;color:var(--color-text-secondary);line-height:1.5}.announcement-content .markdown-body{font-size:12px}.announcement-content .markdown-body p{margin:0 0 4px}.announcement-content .markdown-body p:last-child{margin-bottom:0}.announcement-author{font-size:11px;color:var(--color-text-disabled);margin-top:4px;display:inline-block}@media (max-width: 968px){.announcements-sidebar{display:none}}.download-page{min-height:100vh;background:var(--color-bg-primary)}.download-layout{display:flex;max-width:1100px;margin:0 auto;padding:0 24px;gap:24px}.download-main{flex:1;min-width:0;max-width:720px;padding:2rem 0 4rem}.download-sidebar{width:280px;flex-shrink:0;padding-top:2rem}.dl-article p{color:var(--color-text-secondary);line-height:1.75;margin:0 0 1.25rem;font-size:.95rem}.dl-article h2{font-size:1.15rem;font-weight:700;color:var(--color-text-primary);margin:0 0 1rem}.dl-article hr{border:none;border-top:1px solid var(--color-border-secondary);margin:2.5rem 0}.dl-intro{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.dl-logo{width:56px;height:56px;border-radius:12px}.dl-intro h1{font-size:1.6rem;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2}.dl-sub{margin:.15rem 0 0!important;font-size:.85rem!important;color:var(--color-text-tertiary)!important}.dl-cta-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.dl-download-btn{display:inline-block;padding:.55rem 1.4rem;background:var(--color-gold);color:var(--color-text-inverse);font-weight:700;font-size:.9rem;border-radius:6px;text-decoration:none;transition:background .15s}.dl-download-btn:hover{background:var(--color-gold-600)}.dl-meta{font-size:.8rem;color:var(--color-text-tertiary)}.dl-list{list-style:none;padding:0;margin:0 0 1.5rem}.dl-list li{position:relative;padding-left:1.1rem;margin-bottom:.65rem;font-size:.9rem;color:var(--color-text-secondary);line-height:1.6}.dl-list li:before{content:"";position:absolute;left:0;top:.55rem;width:5px;height:5px;border-radius:50%;background:#22d3ee}.dl-list li strong{color:var(--color-text-primary)}.dl-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000000e0;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.dl-lightbox-img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 8px 48px #0009;cursor:default;object-fit:contain}.dl-lightbox-close{position:fixed;top:1rem;right:1.25rem;background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;line-height:1;opacity:.7;transition:opacity .15s}.dl-lightbox-close:hover{opacity:1}.dl-zoomable{cursor:zoom-in}.dl-screenshot{width:100%;border-radius:8px;display:block;margin:1.5rem 0 2rem}.dl-gallery-wrap{overflow-x:auto;margin:0 -24px;padding:0 24px;scrollbar-width:thin;scrollbar-color:var(--color-border-primary) transparent}.dl-gallery-wrap::-webkit-scrollbar{height:6px}.dl-gallery-wrap::-webkit-scrollbar-track{background:transparent}.dl-gallery-wrap::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:3px}.dl-gallery{display:flex;gap:12px;padding-bottom:12px}.dl-gallery-item{flex:0 0 280px;aspect-ratio:16 / 10;border-radius:8px;overflow:hidden;transition:opacity .2s}.dl-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.dl-gallery-item:hover{opacity:.85}.dl-footer-links{font-size:.85rem;color:var(--color-text-tertiary)}.dl-footer-links a{color:#22d3ee;text-decoration:none}.dl-footer-links a:hover{text-decoration:underline}@media (max-width: 968px){.download-layout{padding:0}.download-sidebar{display:none}.download-main{padding:2rem 24px 4rem}}@media (max-width: 480px){.download-main{padding:1.5rem 16px 3rem}.dl-gallery-wrap{margin:0 -16px;padding:0 16px}.dl-gallery-item{flex:0 0 240px}}*{box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-primary)}#root{max-width:100%;margin:0;padding:0}
