:root{--bg-gradient-start: #e8e8e8;--bg-gradient-end: #d0d0d0;--card-bg: #ffffff;--section-bg: #f8f8f8;--bg-secondary: #eeeeee;--item-bg: #ffffff;--popover-bg: #ffffff;--text-primary: #2a2a2a;--text-secondary: #6b6b6b;--text-muted: #8a8a8a;--primary-color: #4a4a4a;--accent-gradient-start: #6a6a6a;--accent-gradient-end: #4a4a4a;--border-color: #d4d4d4;--shadow-color: rgba(0, 0, 0, .08);--shadow-hover: rgba(0, 0, 0, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .15);--input-bg: #ffffff;--input-border: #d4d4d4;--input-focus: #5a5a5a;--overlay-lightest: rgba(0, 0, 0, .05);--overlay-lighter: rgba(0, 0, 0, .08);--overlay-light: rgba(0, 0, 0, .1);--overlay-medium: rgba(0, 0, 0, .2);--overlay-strong: rgba(0, 0, 0, .3);--overlay-heavy: rgba(0, 0, 0, .5);--overlay-intense: rgba(0, 0, 0, .7);--overlay-opaque: rgba(0, 0, 0, .9);--highlight-subtle: rgba(255, 255, 255, .05);--highlight-soft: rgba(255, 255, 255, .1);--highlight-medium: rgba(255, 255, 255, .2);--highlight-strong: rgba(255, 255, 255, .3);--bg-glass: rgba(255, 255, 255, .95);--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 50%;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--danger-color: #e74c3c;--danger-hover: #c0392b;--success-color: #27ae60;--warning-color: #faa61a;--info-color: #3498db;--accent-blue: #0071eb;--accent-green: #43b581;--rarity-ur: #e91e8c;--rarity-ur-light: #ffb3d9;--rarity-ur-bg: linear-gradient(135deg, #fdeebb, #ffc8b2, #ffb7c5, #dcb5ff, #fdeebb);--rarity-ur-text: #4a0028;--rarity-ssr: #ffd54f;--rarity-ssr-text: #5d4037;--rarity-sr: #ba68c8;--rarity-sr-text: #ffffff;--rarity-r: #6495ed;--rarity-r-text: #ffffff;--rarity-n: #b0bec5;--rarity-n-text: #37474f;--primary-alpha-10: rgba(0, 113, 235, .1);--primary-alpha-15: rgba(0, 113, 235, .15);--primary-alpha-20: rgba(0, 113, 235, .2);--primary-alpha-30: rgba(0, 113, 235, .3);--danger-alpha-10: rgba(231, 76, 60, .1);--danger-alpha-15: rgba(231, 76, 60, .15);--danger-alpha-25: rgba(231, 76, 60, .25);--danger-alpha-40: rgba(231, 76, 60, .4);--island-stamina: #3498db;--island-points: #9b59b6;--island-success: #2ecc71;--surface-card: #ffffff;--surface-elevated: #f5f5f5;--surface-border: #e0e0e0;--text-on-surface: #4a4a4a;--z-base: 1;--z-dropdown: 100;--z-sticky: 500;--z-navbar: 1000;--z-overlay: 1500;--z-modal: 2000;--z-toast: 9000;--z-max: 9999}body.dark-mode{--bg-gradient-start: #1a1a1a;--bg-gradient-end: #0a0a0a;--card-bg: #2a2a2a;--section-bg: #1f1f1f;--bg-secondary: #252525;--item-bg: #2a2a2a;--popover-bg: #2a2a2a;--text-primary: #e8e8e8;--text-secondary: #a8a8a8;--text-muted: #808080;--primary-color: #c0c0c0;--accent-gradient-start: #5a5a5a;--accent-gradient-end: #3a3a3a;--border-color: #3a3a3a;--shadow-color: rgba(0, 0, 0, .4);--shadow-hover: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .6);--input-bg: #1f1f1f;--input-border: #3a3a3a;--input-focus: #6a6a6a;--danger-color: #e74c3c;--danger-hover: #c0392b;--success-color: #27ae60;--warning-color: #faa61a;--info-color: #3498db;--accent-blue: #7289da;--accent-green: #43b581;--rarity-ur: #e91e8c;--rarity-ur-light: #ffb3d9;--rarity-ur-bg: linear-gradient(135deg, #fdeebb, #ffc8b2, #ffb7c5, #dcb5ff, #fdeebb);--rarity-ur-text: #4a0028;--rarity-ssr: #ffd54f;--rarity-ssr-text: #5d4037;--rarity-sr: #ba68c8;--rarity-sr-text: #ffffff;--rarity-r: #6495ed;--rarity-r-text: #ffffff;--rarity-n: #b0bec5;--rarity-n-text: #37474f;--primary-alpha-10: rgba(114, 137, 218, .1);--primary-alpha-15: rgba(114, 137, 218, .15);--primary-alpha-20: rgba(114, 137, 218, .2);--primary-alpha-30: rgba(114, 137, 218, .3);--danger-alpha-10: rgba(231, 76, 60, .1);--danger-alpha-15: rgba(231, 76, 60, .18);--danger-alpha-25: rgba(231, 76, 60, .3);--danger-alpha-40: rgba(231, 76, 60, .45);--island-stamina: #3498db;--island-points: #9b59b6;--island-success: #2ecc71;--surface-card: #2f3136;--surface-elevated: #3d4148;--surface-border: #4f545c;--text-on-surface: #b9bbbe;--bg-glass: rgba(0, 0, 0, .95)}body[data-theme=accent]{--primary-color: #0071eb;--primary-hover: #0056b3;--primary-light: #4da3ff;--accent-color: #27ae60;--accent-hover: #229954;--warning-color: #f39c12;--bg-primary: #f5f5f5;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--bg-elevated: #ffffff;--bg-input: #ffffff;--text-primary: #1a1a1a;--text-secondary: #4a4a4a;--text-muted: #666666;--text-dim: #999999;--text-link: #0071eb;--border-color: #e0e0e0;--border-light: #d0d0d0;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .05);--shadow-md: 0 .25rem .5rem rgba(0, 0, 0, .08);--shadow-lg: 0 .5rem 1rem rgba(0, 0, 0, .12);--shadow-xl: 0 1rem 2rem rgba(0, 0, 0, .15);--spacing-xs: .5rem;--spacing-sm: .75rem}body[data-theme=accent].dark-mode{--primary-color: #7289da;--primary-hover: #5b6eae;--primary-light: #8ea1e1;--accent-color: #43b581;--accent-hover: #3ca374;--danger-color: #f04747;--danger-hover: #d84040;--bg-primary: #36393f;--bg-secondary: #2f3136;--bg-tertiary: #202225;--bg-elevated: #3d4148;--bg-input: #40444b;--text-primary: #ffffff;--text-secondary: #dcddde;--text-muted: #b9bbbe;--text-dim: #72767d;--text-link: #7289da;--border-color: #4f545c;--border-light: #5c6067;--shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .2);--shadow-md: 0 .25rem .5rem rgba(0, 0, 0, .3);--shadow-lg: 0 .5rem 1rem rgba(0, 0, 0, .4);--shadow-xl: 0 1rem 2rem rgba(0, 0, 0, .5);--spacing-xs: .5rem;--spacing-sm: .75rem}@media(max-width:480px){body[data-theme=accent]{--spacing-lg: 1rem;--spacing-xl: 1.5rem}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.gallerypic-body{background:var(--bg-secondary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.gallerypic-page{max-width:1440px;margin:0 auto;padding:2rem 1rem 3rem}.gallerypic-header{margin-bottom:2rem;text-align:center}.gallerypic-header h1{margin:0;color:var(--text-primary);font-size:2.5rem;font-weight:700}.gallery-status{grid-column:1 / -1;margin:0 auto 1.5rem;color:var(--text-secondary);text-align:center}.gallery-status[hidden]{display:none}.gallery-status.error{color:var(--danger-color)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.gallery-item{display:block;width:100%;min-height:0;padding:0;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.gallery-item:hover{transform:translateY(-3px);border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.gallery-item:focus-visible,.gallery-modal-close:focus-visible{outline:3px solid var(--primary-color);outline-offset:3px}.gallery-item-image{display:block;width:100%;aspect-ratio:1;object-fit:cover}.gallery-modal{position:fixed;inset:0;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:1rem;background:var(--overlay-opaque)}.gallery-modal.active{display:flex}.gallery-modal.hidden{display:none}.gallery-modal-content{position:relative;max-width:min(100%,1200px)}.gallery-modal-image{display:block;max-width:100%;max-height:90vh;border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}.gallery-modal-close{position:absolute;top:-2.75rem;right:0;width:2.5rem;height:2.5rem;border:0;border-radius:50%;background:#0f172acc;color:#fff;font-size:2rem;line-height:1;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.gallery-modal-close:hover{background:#0f172a;color:#fff}@media(max-width:640px){.gallerypic-page{padding-inline:.75rem}.gallerypic-header h1{font-size:2rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}}
