
      @import url('https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Noto+Serif+SC:wght@400;700;900&display=swap');

      :root { 
        --bg: #fff; --bg-alt: #f4f4f4; --text: #000; 
        --border: 1px solid #000; --border-color: #000; --gray: #777;
        --font: 'Noto Serif SC', 'PingFang SC', serif;
        --font-num: 'Space Mono', 'Courier New', monospace;
      }
      :root[data-theme="dark"] {
        --bg: #111; --bg-alt: #1a1a1a; --text: #eee; 
        --border: 1px solid #555; --border-color: #555; --gray: #aaa;
      }
      @media (prefers-color-scheme: dark) {
        :root:not([data-theme="light"]) { 
          --bg: #111; --bg-alt: #1a1a1a; --text: #eee; 
          --border: 1px solid #555; --border-color: #555; --gray: #aaa;
        }
      }

      * { box-sizing: border-box; margin: 0; padding: 0; border-radius: 0 !important; }
      body { font-family: var(--font); background: var(--bg); color: var(--text); line-height: 1.6; transition: background 0.3s, color 0.3s; }
      
      .num-font { font-family: var(--font-num) !important; letter-spacing: 0.5px; }

      .container { max-width: 1200px; margin: 0 auto; padding: 2rem; min-height: 100vh; display: flex; flex-direction: column; position: relative; }
      

      /* --- 全局加载 文字动效 (保持字形清晰，呈现颜色交替呼吸感) --- */
      .shimmer-text {
        background: none !important;
        -webkit-text-fill-color: initial !important; /* 覆盖可能继承的透明度 */
        animation: textLoadingColor 1.2s infinite alternate ease-in-out !important;
        display: inline-block;
      }
      
      @keyframes textLoadingColor {
        0% { color: var(--gray); opacity: 0.6; }
        50% { color: #6366f1; opacity: 0.9; } /* 保留了原版的一抹靛蓝色调 */
        100% { color: var(--text); opacity: 1; }
      }
      /* --------------------------- */

      /* --- Header & 动态 Brand 调整 --- */
      header { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 2px solid var(--text); padding-bottom: 1rem; margin-bottom: 2rem; flex-wrap: wrap; gap: 1rem; }
      
      .site-brand-container {
        flex: 1 1 90px;
        min-width: 90px;
        overflow: hidden;
        position: relative;
        cursor: pointer;
        display: flex;
        align-items: flex-end;
        height: 2.2rem;
      }
      
      h1.site-brand {
        font-weight: 900; letter-spacing: 2px; margin: 0; text-transform: uppercase;
        position: relative;
        width: 100%;
        line-height: 1.2;
        white-space: nowrap;
      }

      .brand-default { display: inline-block; transition: opacity 0.3s; }
      .brand-expanded {
        position: absolute; left: 0; bottom: 0; opacity: 0; transition: opacity 0.3s; white-space: nowrap;
      }

      .site-brand-container.is-active .brand-default,
      .site-brand-container:hover .brand-default { opacity: 0; }

      .site-brand-container.is-active .brand-expanded,
      .site-brand-container:hover .brand-expanded { opacity: 1; }

      header nav { display: flex; gap: 1.5rem; flex-wrap: wrap; align-items: center; justify-content: flex-end; flex-shrink: 0; }
      header nav a { color: var(--text); text-decoration: none; font-weight: bold; position: relative; display: flex; align-items: center; }
      header nav a:hover::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 100%; height: 2px; background: var(--text); }
      
      .theme-btn { cursor: pointer; background: none; border: none; padding: 0; color: var(--text); display: flex; align-items: center; transition: transform 0.2s; }
      .theme-btn:hover { transform: scale(1.1); }
      
      input, select, textarea, button { padding: 0.8rem; border: var(--border); background: transparent; color: var(--text); font-family: inherit; width: 100%; outline: none; }
      input#u_id, input#n_a_id, input#e_a_id, input[type="month"] { font-family: var(--font-num); }
      select option { background-color: var(--bg); color: var(--text); }
      button { cursor: pointer; text-transform: uppercase; font-weight: bold; width: auto; transition: all 0.2s; }
      button:hover, button.invert { background: var(--text); color: var(--bg); transform: scale(1.02); }
      button:disabled { opacity: 0.5; cursor: not-allowed; transform: scale(1) !important; }
      
      .masonry { column-count: 1; column-gap: 1.5rem; width: 100%; }
      @media (min-width: 600px) { .masonry { column-count: 2; } }
      @media (min-width: 900px) { .masonry { column-count: 3; } }
      
      .feed-masonry { display: flex; gap: 1.5rem; width: 100%; align-items: flex-start; }
      .feed-masonry-col { flex: 1; display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
      .feed-masonry-col .masonry-item { margin-bottom: 0; }

      .masonry-item { break-inside: avoid; margin-bottom: 1.5rem; display: block; background: var(--bg-alt); border: var(--border); overflow: hidden; position: relative; box-shadow: 4px 4px 15px rgba(0,0,0,0.08); transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; }
      :root[data-theme="dark"] .masonry-item { box-shadow: 4px 4px 15px rgba(0,0,0,0.6); }
      .masonry-item:hover { transform: scale(1.02); box-shadow: 8px 8px 20px rgba(0,0,0,0.15); z-index: 10; }
      :root[data-theme="dark"] .masonry-item:hover { box-shadow: 8px 8px 20px rgba(0,0,0,0.8); }
      .masonry-item img { width: 100%; display: block; transition: transform 0.3s; }
      .masonry-item .meta { padding: 1rem; border-top: var(--border); }
      
      .masonry-album-badge { position: absolute; top: 0; right: 0; background: var(--text); color: var(--bg); padding: 0.2rem 0.6rem; font-size: 0.75rem; font-weight: bold; letter-spacing: 1px; z-index: 2; }

      .photo-detail-container { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 3rem; }
      .photo-detail-img { flex: 2; cursor: zoom-in; position: relative; display: flex; justify-content: center; align-items: flex-start; }
      .photo-detail-img img { max-width: 100%; max-height: 80vh; object-fit: contain; display: block; border: var(--border); box-shadow: 8px 8px 0 var(--border-color); }
      .photo-detail-info { flex: 1; display: flex; flex-direction: column; }
      
      .photo-detail-info a:not(.tag-chip) { color: var(--text) !important; text-decoration: underline !important; }
      .tag-chip { display: inline-block; padding: 0.2rem 0.5rem; border: var(--border); font-size: 0.8rem; margin: 0.2rem; cursor: pointer; text-decoration: none !important; color: inherit; transition: transform 0.2s, background 0.2s; }
      .tag-chip:hover { background: var(--text) !important; color: var(--bg) !important; transform: scale(1.05); z-index: 10; position: relative; }

      .info-row { margin-bottom: 0.5rem; padding-bottom: 0.5rem; font-size: 0.95rem; position: relative; }
      .info-row::after { content: ''; position: absolute; bottom: 0; left: 0; width: 40px; height: 2px; background: var(--text); }
      @media (min-width: 768px) { .photo-detail-container { flex-direction: row; } }

      /* --- 杂志风专辑封面设计 (Magazine Cover Style) --- */
      .mag-masonry { column-count: 1; column-gap: 2rem; width: 100%; }
      @media (min-width: 768px) { .mag-masonry { column-count: 2; } }
      @media (min-width: 1024px) { .mag-masonry { column-count: 3; } }

      .mag-card {
        break-inside: avoid; margin-bottom: 2rem; position: relative; display: block; overflow: hidden;
        cursor: pointer; text-decoration: none; border: none !important; background: var(--bg-alt);
        box-shadow: 0 10px 30px rgba(0,0,0,0.05); border-radius: 0;
        transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s;
      }
      :root[data-theme="dark"] .mag-card { box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
      
      .mag-card:hover { transform: translateY(-8px); box-shadow: 0 20px 40px rgba(0,0,0,0.15); z-index: 10; }
      :root[data-theme="dark"] .mag-card:hover { box-shadow: 0 20px 40px rgba(0,0,0,0.8); }
      
      .mag-card img.cover { width: 100%; display: block; object-fit: cover; transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
      .mag-card:hover img.cover { transform: scale(1.06); }
      
      .mag-overlay {
        position: absolute; top: 0; left: 0; right: 0; bottom: 0;
        background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 50%, transparent 100%);
        display: flex; flex-direction: column; justify-content: flex-end;
        padding: 2.5rem 2rem; color: #ffffff !important; z-index: 2; 
        transition: padding 0.5s;
      }
      .mag-card:hover .mag-overlay { padding-bottom: 3rem; }
      
      .mag-vol { font-family: var(--font-num); font-size: 0.85rem; letter-spacing: 3px; opacity: 0.8; margin-bottom: 0.5rem; font-weight: bold; }
      .mag-title { font-size: 2.2rem; font-weight: 900; line-height: 1.1; margin-bottom: 0.8rem; font-family: var(--font); text-transform: uppercase; letter-spacing: 1px; }
      .mag-desc { font-size: 0.95rem; opacity: 0.8; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
      
      .mag-card.no-cover { min-height: 350px; border: var(--border) !important; }
      .mag-card.no-cover .mag-overlay { background: var(--text); color: var(--bg) !important; }
      /* ------------------------------------------- */

      .album-header-box { display: flex; flex-direction: column; gap: 2rem; margin-bottom: 3rem; }
      .album-header-box img.cover { width: 100%; max-height: 50vh; object-fit: cover; border: var(--border); display: block; box-shadow: 8px 8px 0 var(--border-color); }
      .album-header-box .album-info { display: flex; flex-direction: column; justify-content: center; }
      @media (min-width: 768px) {
        .album-header-box.vertical-layout { flex-direction: row; align-items: flex-start; }
        .album-header-box.vertical-layout img.cover { flex: 1; max-width: 45%; max-height: 70vh; object-fit: contain; }
        .album-header-box.vertical-layout .album-info { flex: 1.5; padding-top: 1rem; }
      }

      .modal-overlay, .lightbox-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 10000; backdrop-filter: blur(4px); }
      .modal-box { background: var(--bg); border: 2px solid var(--text); padding: 2rem; min-width: 320px; max-width: 90%; text-align: center; box-shadow: 8px 8px 0 var(--border-color); max-height: 90vh; overflow-y: auto;}
      .modal-box.wide { width: 700px; max-width: 95vw; }
      
      .lightbox-overlay { background: rgba(0,0,0,0.9); flex-direction: column; cursor: zoom-out; }
      .lightbox-content { text-align: center; max-width: 95vw; cursor: default; }
      .lightbox-content img { max-width: 100%; max-height: 75vh; border: 2px solid #fff; box-shadow: 0 0 30px rgba(0,0,0,0.8); }
      
      .sys-toast { position: fixed; top: 2rem; left: 50%; transform: translateX(-50%); background: var(--text); color: var(--bg); padding: 0.6rem 1.2rem; font-weight: bold; z-index: 10001; opacity: 0; pointer-events: none; transition: opacity 0.4s; box-shadow: 4px 4px 0 var(--border-color); }
      
      .loader { width: 50px; aspect-ratio: 1; color: var(--text); border: 2px solid; box-sizing: border-box; --c:radial-gradient(farthest-side,#0000 calc(100% - 3px),currentColor calc(100% - 2px) 98%,#0000); background: var(--c),var(--c); background-size: 23px 23px; background-position: 0 0,12px 12px; animation: l4 1s infinite; margin: 2rem auto; display: none; }
      @keyframes l4{ 100% {background-position: -23px 0px,12px 35px} }
      #sentinel { height: 20px; width: 100%; }

      .admin-tabs { display: flex; gap: 0.5rem; margin-bottom: 2rem; border-bottom: 2px solid var(--text); padding-bottom: 1rem; overflow-x: auto; flex-shrink: 0; }
      .admin-tabs button { flex: 1; min-width: 120px; }
      .admin-tabs button.active { background: var(--text); color: var(--bg); }
      .tab-content { display: none; }
      .tab-content.active { display: block; animation: fadeIn 0.3s; }
      @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
      
      .upload-toggle { position: relative; display: flex; width: 280px; background: var(--bg-alt); border: 2px solid var(--text); height: 40px; cursor: pointer; user-select: none; margin-bottom: 2rem; }
      .upload-toggle input { display: none; }
      .upload-toggle .slider { position: absolute; top: 0; left: 0; width: 50%; height: 100%; background: var(--text); transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1); z-index: 1; }
      .upload-toggle input:checked ~ .slider { transform: translateX(100%); }
      .upload-toggle span { flex: 1; text-align: center; line-height: 36px; font-size: 0.9rem; font-weight: bold; z-index: 2; transition: color 0.3s; color: var(--text); }
      .upload-toggle input:not(:checked) ~ .lbl-url { color: var(--bg); }
      .upload-toggle input:checked ~ .lbl-r2 { color: var(--bg); }

      .star-rating { color: #f1c40f; letter-spacing: 2px; }
      .star-input { display: inline-flex; gap: 0.5rem; font-size: 1.5rem; color: var(--gray); cursor: pointer; }
      
      .photo-list-item { display: flex; align-items: center; justify-content: space-between; padding: 1rem; border: var(--border); background: var(--bg-alt); margin-bottom: 0.5rem; transition: transform 0.2s, box-shadow 0.2s; }
      .photo-list-item:hover { transform: scale(1.01); box-shadow: 4px 4px 10px rgba(0,0,0,0.1); z-index: 5; position: relative; }
      .photo-list-item img { width: 60px; height: 60px; object-fit: cover; border: 1px solid var(--gray); margin-right: 1rem; cursor: crosshair; }
      
      .selector-item { display:flex; align-items:center; gap:0.5rem; border:1px solid var(--border-color); padding:0.5rem; cursor:pointer; background: var(--bg); transition: transform 0.2s; }
      .selector-item:hover { transform: scale(1.02); z-index: 5; position: relative; }
      .selector-item input[type="checkbox"] { width: auto !important; margin: 0; }
      
      .logout-btn { position: fixed; bottom: 2rem; right: 2rem; background: var(--text); color: var(--bg); padding: 0.8rem 1.2rem; font-weight: bold; border: 2px solid var(--border-color); text-decoration: none; text-transform: uppercase; z-index: 9900; transition: transform 0.2s; }
      .logout-btn:hover { transform: scale(1.05); }

      .sort-opt { background: var(--bg); color: var(--text); border: none; border-bottom: 1px solid var(--border-color) !important; padding: 0.8rem 1rem; text-align: left; cursor: pointer; transition: background 0.2s, color 0.2s; font-weight: bold; font-family: inherit; font-size: 0.9rem; display: block; width: 100%; }
      .sort-opt:last-child { border-bottom: none !important; }
      .sort-opt:hover { background: var(--text) !important; color: var(--bg) !important; transform: none !important; }
    