.archive-app-page{
    position:fixed;
    inset:0;
    z-index:110;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    background:var(--ui-color);
    transform:translate3d(18px,0,0);
    transition:opacity .22s ease,transform .27s cubic-bezier(.2,.72,.24,1),visibility 0s linear .27s;
  }
  .archive-app-page.active{transform:translate3d(0,0,0);transition-delay:0s}
  .archive-header{
    position:relative;
    z-index:5;
    flex:0 0 auto;
    padding:calc(env(safe-area-inset-top) + var(--system-status-offset) + 12px) var(--side-pad) 2px;
  }
  .archive-header-title{
    width:fit-content;
    max-width:100%;
    margin:0 auto;
    padding:0;
    color:rgb(var(--ui-ink-rgb));
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:10.5px;
    font-weight:400;
    line-height:38px;
    letter-spacing:.24em;
    text-indent:.24em;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    transition:transform .14s ease,opacity .14s ease;
  }
  .archive-header-title:active{transform:scale(.985);opacity:.78}
  .archive-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-width:none;
    padding:10px var(--side-pad) calc(34px + env(safe-area-inset-bottom));
  }
  .archive-scroll::-webkit-scrollbar{display:none}
  .archive-stage{
    position:relative;
    width:min(100%,560px);
    min-height:600px;
    margin:0 auto;
    padding:17px 4px 24px;
  }
  .archive-entry{
    position:relative;
    z-index:2;
    isolation:isolate;
    color:var(--text-main);
    cursor:pointer;
    outline:none;
    -webkit-tap-highlight-color:transparent;
  }
  .archive-entry:focus-visible{outline:1px solid color-mix(in srgb,rgb(var(--ui-ink-rgb)) 25%,transparent);outline-offset:5px}
  .archive-entry-title{
    color:rgb(var(--ui-ink-rgb));
    font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif;
    font-weight:400;
  }
  .archive-micro-label{
    position:absolute;
    z-index:4;
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:7.5px;
    font-weight:400;
    line-height:1;
    letter-spacing:.15em;
    color:var(--text-secondary);
    opacity:.62;
    white-space:nowrap;
    pointer-events:none;
  }
  .archive-role-label{left:27px;top:12px}
  .archive-user-label{right:15px;top:11px}
  .archive-passer-label{right:5px;top:8px}

  .archive-role-folder{
    width:calc(100% - 27px);
    min-height:218px;
    margin-left:27px;
    padding:38px 18px 18px 20px;
    border:var(--app-shell-border);
    border-radius:12px 27px 24px 22px;
    background-color:var(--ui-surface-background);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    transform:rotate(-.7deg);
    transition:transform .16s ease,box-shadow .16s ease;
    overflow:visible;
  }
  .archive-role-folder::before{
    content:"";
    position:absolute;
    z-index:-1;
    left:17px;
    top:-15px;
    width:108px;
    height:32px;
    border:var(--app-shell-border);
    border-bottom:0;
    border-radius:18px 22px 0 0;
    background-color:var(--ui-surface-background);
    box-shadow:-1.5px -1.5px 3px rgba(var(--highlight-tint-rgb),.22);
  }
  .archive-role-folder:active{transform:rotate(-.7deg) translateY(1px) scale(.992);box-shadow:var(--app-shell-shadow-active)}
  .archive-role-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 126px;
    gap:13px;
    align-items:end;
  }
  .archive-role-copy{min-width:0;padding:14px 0 18px 2px;align-self:center}
  .archive-role-folder .archive-entry-title{font-size:31px;line-height:1;letter-spacing:.015em}
  .archive-role-photo{
    position:relative;
    width:118px;
    height:151px;
    justify-self:end;
    margin:0 2px 5px 0;
    transform:rotate(3.7deg);
    border:var(--app-shell-border);
    border-radius:6px 6px 10px 8px;
    background-color:var(--placeholder-bg);
    background-image:radial-gradient(circle,var(--placeholder-dot) 1.25px,transparent 1.5px);
    background-size:10px 10px;
    box-shadow:var(--ui-media-shadow);
    overflow:hidden;
  }
  .archive-role-pin{
    position:absolute;
    right:15px;
    top:-6px;
    width:17px;
    height:17px;
    border-radius:50%;
    background:var(--ui-color);
    border:var(--app-shell-border);
    box-shadow:var(--app-shell-shadow);
  }
  .archive-role-pin::after{content:"";position:absolute;inset:5px;border-radius:50%;background:color-mix(in srgb,var(--ui-color) 64%,rgb(var(--ui-ink-rgb)))}

  .archive-user-slip{
    width:calc(100% - 24px);
    min-height:104px;
    margin:39px 0 0 14px;
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
    align-items:center;
    padding:11px 17px 11px 10px;
    border:var(--app-shell-border);
    border-radius:52px 13px 11px 52px;
    background-color:var(--ui-surface-background);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    transform:rotate(.5deg);
    transition:transform .16s ease,box-shadow .16s ease;
  }
  .archive-user-slip:active{transform:rotate(.5deg) translateX(1px) scale(.993);box-shadow:var(--app-shell-shadow-active)}
  .archive-user-capsule{
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .archive-user-portrait{
    width:60px;
    height:60px;
    margin:0;
    flex:0 0 60px;
    color:var(--home-icon-color);
  }
  .archive-user-copy{min-width:0}
  .archive-user-slip .archive-entry-title{font-size:21px;line-height:1.05;letter-spacing:.015em}

  .archive-passer-cluster{
    width:calc(100% - 30px);
    min-height:218px;
    margin:42px 0 0 10px;
    padding:30px 22px 20px 24px;
    display:grid;
    grid-template-columns:122px minmax(0,1fr);
    gap:21px;
    align-items:center;
    border:var(--app-shell-border);
    border-radius:24px 13px 25px 20px;
    background-color:var(--ui-surface-background);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    transform:rotate(-.35deg);
    overflow:visible;
    transition:transform .16s ease,box-shadow .16s ease;
  }
  .archive-passer-cluster::before{
    content:"";
    position:absolute;
    z-index:-1;
    right:19px;
    top:-14px;
    width:94px;
    height:30px;
    border:var(--app-shell-border);
    border-bottom:0;
    border-radius:18px 18px 0 0;
    background-color:var(--ui-surface-background);
    box-shadow:-1.5px -1.5px 3px rgba(var(--highlight-tint-rgb),.20);
  }
  .archive-passer-cluster:active{transform:rotate(-.35deg) translateY(1px) scale(.993);box-shadow:var(--app-shell-shadow-active)}
  .archive-passer-cluster:active .archive-passer-card{box-shadow:var(--app-shell-shadow-active)}
  .archive-passer-stack{position:relative;width:122px;height:170px}
  .archive-passer-card{
    position:absolute;
    width:84px;
    height:112px;
    padding:8px 8px 18px;
    border:var(--app-shell-border);
    border-radius:7px 7px 11px 8px;
    background-color:var(--ui-surface-background);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    transition:box-shadow .15s ease;
  }
  .archive-passer-card::before{
    content:"";
    position:absolute;
    inset:8px 8px 18px;
    border-radius:3px;
    background-color:var(--placeholder-bg);
    background-image:radial-gradient(circle,var(--placeholder-dot) 1.15px,transparent 1.4px);
    background-size:9px 9px;
  }
  .archive-passer-card::after{
    position:absolute;
    right:8px;
    bottom:6px;
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:6.5px;
    line-height:1;
    letter-spacing:.12em;
    color:var(--text-secondary);
    opacity:.48;
  }
  .archive-passer-card:nth-child(1)::after{content:"01"}
  .archive-passer-card:nth-child(2)::after{content:"02"}
  .archive-passer-card:nth-child(3)::after{content:"03"}
  .archive-passer-card:nth-child(1){left:0;top:25px;transform:rotate(-8deg)}
  .archive-passer-card:nth-child(2){right:0;top:0;transform:rotate(7deg)}
  .archive-passer-card:nth-child(3){left:24px;bottom:0;transform:rotate(-1deg)}
  .archive-passer-cluster .archive-entry-title{font-size:25px;line-height:1.02;letter-spacing:.015em}
  .archive-end-mark{
    width:fit-content;
    margin:17px auto 0;
    text-align:center;
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:7px;
    font-weight:400;
    line-height:1;
    letter-spacing:.18em;
    color:var(--text-secondary);
    opacity:.42;
    pointer-events:none;
  }

  :root[data-theme-texture="solid"] .archive-role-folder,
  :root[data-theme-texture="solid"] .archive-role-photo,
  :root[data-theme-texture="solid"] .archive-user-slip,
  :root[data-theme-texture="solid"] .archive-passer-card,
  :root[data-theme-texture="solid"] .archive-passer-cluster,
  :root[data-theme-texture="glass"] .archive-role-folder,
  :root[data-theme-texture="glass"] .archive-role-photo,
  :root[data-theme-texture="glass"] .archive-user-slip,
  :root[data-theme-texture="glass"] .archive-passer-card,
  :root[data-theme-texture="glass"] .archive-passer-cluster{
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  :root[data-theme-texture="solid"] .archive-user-slip{box-shadow:none}
  @media (max-width:360px){
    .archive-header,.archive-scroll{padding-left:12px;padding-right:12px}
    .archive-stage{min-height:570px}
    .archive-role-folder{width:calc(100% - 22px);margin-left:22px;padding-left:17px;padding-right:14px}
    .archive-role-layout{grid-template-columns:minmax(0,1fr) 108px;gap:8px}
    .archive-role-folder .archive-entry-title{font-size:28px}
    .archive-role-photo{width:103px;height:139px}
    .archive-user-slip{width:calc(100% - 20px);margin-left:10px;grid-template-columns:66px minmax(0,1fr);gap:12px;padding-left:8px;border-radius:49px 13px 11px 49px}
    .archive-user-capsule{width:auto;height:auto;margin:0;padding:0}
    .archive-user-portrait{width:56px;height:56px;flex-basis:56px}
    .archive-passer-cluster{width:calc(100% - 10px);grid-template-columns:108px minmax(0,1fr);gap:14px;margin-left:5px;padding-left:17px;padding-right:14px}
    .archive-passer-stack{width:108px}
    .archive-passer-card{width:76px;height:104px}
    .archive-passer-card:nth-child(3){left:21px}
  }
  @media (prefers-reduced-motion:reduce){.archive-app-page,.archive-header-title,.archive-role-folder,.archive-user-slip,.archive-passer-cluster,.archive-passer-card{transition:none}}


  /* 档案二、三级页面：单一最终样式源。 */
  .archive-profile-page,
  .archive-add-page{
    position:fixed;
    inset:0;
    z-index:112;
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:hidden;
    background:var(--ui-color);
    transform:translate3d(18px,0,0);
    transition:opacity .22s ease,transform .27s cubic-bezier(.2,.72,.24,1),visibility 0s linear .27s;
    --archive-accent:#f0b8c4;
    --archive-accent-line:color-mix(in srgb,var(--archive-accent) 52%,rgb(var(--ui-ink-rgb)) 6%);
    --archive-avatar-placeholder-bg:var(--placeholder-bg);
    --archive-avatar-placeholder-dot:var(--placeholder-dot);
    --archive-avatar-placeholder-mark:var(--placeholder-mark);
    --archive-frame-source-hue:347deg;
    --archive-avatar-frame-filter:
      hue-rotate(calc(var(--home-png-theme-hue) - var(--archive-frame-source-hue)))
      saturate(var(--home-png-theme-saturation))
      brightness(var(--home-png-theme-brightness));
  }
  .archive-profile-page.active,
  .archive-add-page.active{
    transform:translate3d(0,0,0);
    transition-delay:0s;
  }
  .archive-profile-page[data-archive-category="role"],
  .archive-add-page[data-archive-category="role"]{
    --archive-accent:#b8c9e8;
    --archive-frame-source-hue:219deg;
  }
  .archive-profile-page[data-archive-category="passerby"],
  .archive-add-page[data-archive-category="passerby"]{
    --archive-accent:#abd9cd;
    --archive-frame-source-hue:165deg;
  }

  .archive-profile-topbar,
  .archive-add-topbar{
    position:relative;
    z-index:8;
    isolation:isolate;
    flex:0 0 auto;
    min-height:64px;
    padding:calc(env(safe-area-inset-top) + var(--system-status-offset) + 12px) var(--side-pad) 10px;
    display:grid;
    grid-template-columns:35px minmax(0,1fr) 35px;
    align-items:center;
    gap:10px;
    overflow:visible;
    background:var(--ui-color);
  }
  .archive-profile-topbar::before,
  .archive-add-topbar::before{
    content:"";
    position:absolute;
    z-index:0;
    left:max(var(--side-pad),18px);
    right:max(var(--side-pad),18px);
    bottom:-1px;
    height:1px;
    pointer-events:none;
    background:linear-gradient(90deg,
      transparent 0%,
      color-mix(in srgb,var(--archive-accent-line) 18%,transparent) 13%,
      color-mix(in srgb,var(--archive-accent-line) 44%,transparent) 34%,
      color-mix(in srgb,var(--archive-accent-line) 52%,transparent) 50%,
      color-mix(in srgb,var(--archive-accent-line) 44%,transparent) 66%,
      color-mix(in srgb,var(--archive-accent-line) 18%,transparent) 87%,
      transparent 100%);
  }
  .archive-profile-topbar::after,
  .archive-add-topbar::after{
    content:"";
    position:absolute;
    z-index:0;
    left:0;
    right:0;
    bottom:-38px;
    height:40px;
    pointer-events:none;
    background:linear-gradient(to bottom,
      var(--ui-color) 0%,
      color-mix(in srgb,var(--ui-color) 92%,transparent) 18%,
      color-mix(in srgb,var(--ui-color) 67%,transparent) 48%,
      color-mix(in srgb,var(--ui-color) 26%,transparent) 76%,
      transparent 100%);
  }
  .archive-profile-topbar > *,
  .archive-add-topbar > *{
    position:relative;
    z-index:1;
  }

  .archive-profile-back,
  .archive-add-back,
  .archive-profile-star,
  .archive-add-heart{
    appearance:none;
    -webkit-appearance:none;
    width:35px;
    height:35px;
    min-width:35px;
    margin:0;
    padding:0;
    border:0;
    border-radius:50%;
    background:transparent;
    color:rgb(var(--ui-ink-rgb));
    box-shadow:none;
    display:grid;
    place-items:center;
    justify-self:center;
    transition:transform .14s ease,opacity .14s ease;
  }
  .archive-profile-back:active,
  .archive-add-back:active,
  .archive-profile-star:active,
  .archive-add-heart:active{
    transform:scale(.9);
    opacity:.72;
  }
  .archive-profile-back .lucide-icon,
  .archive-add-back .lucide-icon{
    width:22px;
    height:22px;
  }
  .archive-profile-star .lucide-icon,
  .archive-add-heart .lucide-icon{
    width:20px;
    height:20px;
  }
  .archive-profile-back .lucide-icon,
  .archive-add-back .lucide-icon,
  .archive-profile-star .lucide-icon,
  .archive-add-heart .lucide-icon,
  .archive-document-action .lucide-icon{
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .archive-title-stack,
  .archive-entry-title-stack{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  .archive-title-stack{
    justify-content:center;
    gap:3px;
    line-height:1;
  }
  .archive-title-stack-center{
    align-items:center;
    text-align:center;
  }
  .archive-title-stack-left{
    align-items:flex-start;
    text-align:left;
  }
  .archive-title-cn,
  .archive-entry-title-cn{
    display:block;
    min-width:0;
  }
  .archive-title-en,
  .archive-entry-title-en{
    display:block;
    min-width:0;
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-weight:400;
    line-height:1;
    white-space:nowrap;
  }

  .archive-header-title.archive-title-stack{
    width:fit-content;
    min-height:42px;
    line-height:1;
    letter-spacing:0;
    text-indent:0;
  }
  .archive-header-title .archive-title-cn{
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:15px;
    font-weight:400;
    letter-spacing:.18em;
    text-indent:.18em;
  }
  .archive-header-title .archive-title-en{
    color:var(--text-secondary);
    font-size:7px;
    letter-spacing:.18em;
    text-indent:.18em;
    opacity:.58;
  }
  .archive-entry-title-stack{
    gap:5px;
  }
  .archive-entry-title-en{
    color:var(--text-secondary);
    font-size:7.5px;
    letter-spacing:.15em;
    opacity:.58;
  }
  .archive-passer-copy{
    min-width:0;
    padding-right:5px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    text-align:right;
  }
  .archive-passer-copy .archive-entry-title-stack{
    width:100%;
    align-items:flex-end;
    text-align:right;
  }

  .archive-profile-title,
  .archive-add-title{
    width:100%;
    min-width:0;
    margin:0;
    padding:0 0 0 2px;
    border:0;
    background:transparent;
    box-shadow:none;
    color:rgb(var(--ui-ink-rgb));
    justify-self:stretch;
    align-items:flex-start;
    text-align:left;
    line-height:1;
    letter-spacing:0;
    text-indent:0;
    overflow:visible;
  }
  .archive-profile-title.archive-title-stack,
  .archive-add-title.archive-title-stack{
    gap:4px;
  }
  .archive-profile-title .archive-title-cn,
  .archive-add-title .archive-title-cn{
    font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif;
    font-size:15px;
    font-weight:400;
    line-height:1;
    letter-spacing:.12em;
  }
  .archive-profile-title .archive-title-en,
  .archive-add-title .archive-title-en{
    color:var(--text-secondary);
    font-size:7px;
    letter-spacing:.15em;
    opacity:.58;
  }

  .archive-profile-viewport{
    position:relative;
    z-index:1;
    flex:1 1 auto;
    min-height:0;
    overflow:visible;
    touch-action:none;
    outline:none;
  }
  .archive-profile-placeholder{
    position:absolute;
    left:50%;
    top:46%;
    transform:translate(-50%,-50%);
    max-width:82vw;
    color:color-mix(in srgb,rgb(var(--ui-ink-rgb)) 48%,transparent);
    font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif;
    font-size:15px;
    font-weight:400;
    line-height:1.6;
    letter-spacing:.05em;
    text-align:center;
    white-space:nowrap;
  }
  .archive-profile-placeholder[hidden]{
    display:none;
  }
  .archive-profile-orbit{
    position:absolute;
    inset:0;
    overflow:visible;
    perspective:1100px;
  }
  .archive-orbit-card{
    --archive-orbit-x:0px;
    --archive-orbit-y:0px;
    --archive-orbit-rotation:0deg;
    --archive-extract-x:0px;
    --archive-extract-y:0px;
    --archive-extract-scale:1;
    position:absolute;
    left:auto;
    right:-18vw;
    top:48.5%;
    width:min(420px,96vw);
    aspect-ratio:3 / 2;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    transform-origin:50% 50%;
    transform:
      translate3d(
        calc(var(--archive-orbit-x) + var(--archive-extract-x)),
        calc(-50% + var(--archive-orbit-y) + var(--archive-extract-y)),
        0
      )
      rotate(var(--archive-orbit-rotation))
      scale(var(--archive-extract-scale));
    will-change:transform;
    transition:transform .46s cubic-bezier(.22,.86,.28,1);
    pointer-events:auto;
    cursor:pointer;
  }
  .archive-profile-orbit.is-dragging .archive-orbit-card{
    transition:none;
  }
  .archive-profile-orbit.is-extracting,
  .archive-profile-orbit.is-extracting .archive-orbit-card{
    pointer-events:none;
  }
  .archive-orbit-card.is-extracting{
    --archive-extract-x:-26vw;
    --archive-extract-y:-6px;
    --archive-extract-scale:1.035;
    transition:transform .42s cubic-bezier(.18,.82,.2,1);
  }

  .archive-orbit-frame,
  .archive-add-preview-frame{
    position:absolute;
    inset:0;
    z-index:3;
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    pointer-events:none;
    user-select:none;
    -webkit-user-select:none;
    -webkit-user-drag:none;
    filter:var(--archive-avatar-frame-filter);
    transition:filter .18s ease;
  }
  .archive-orbit-photo,
  .archive-add-preview-photo{
    position:absolute;
    z-index:1;
    left:18.55%;
    top:23.65%;
    width:69.15%;
    height:64.35%;
    overflow:hidden;
    border-radius:10% / 13.5%;
    background-color:var(--archive-avatar-placeholder-bg);
    background-image:radial-gradient(circle,var(--archive-avatar-placeholder-dot) 1.3px,transparent 1.55px);
    background-size:12px 12px;
    background-position:center;
    color:var(--archive-avatar-placeholder-mark);
  }
  .archive-orbit-photo.has-photo,
  .archive-add-preview-photo.has-photo{
    background-image:var(--archive-photo);
    background-size:cover;
    background-position:center;
  }
  .archive-photo-placeholder{
    position:absolute;
    z-index:1;
    left:50%;
    top:50%;
    width:46%;
    height:58%;
    transform:translate(-50%,-48%);
    display:block;
    color:var(--archive-avatar-placeholder-mark);
    fill:currentColor;
    opacity:.92;
    pointer-events:none;
  }
  .archive-orbit-photo.has-photo .archive-photo-placeholder,
  .archive-add-preview-photo.has-photo .archive-photo-placeholder{
    display:none;
  }
  .archive-orbit-photo::after{
    content:"";
    position:absolute;
    z-index:2;
    left:0;
    right:0;
    bottom:0;
    height:48%;
    pointer-events:none;
    background:linear-gradient(to top,rgba(0,0,0,.30),rgba(0,0,0,.08) 58%,transparent);
    opacity:0;
  }
  .archive-orbit-photo.has-photo::after{
    opacity:1;
  }
  .archive-orbit-copy{
    position:absolute;
    z-index:4;
    left:7.5%;
    right:7.5%;
    bottom:8.5%;
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    text-align:left;
    pointer-events:none;
  }
  .archive-orbit-person-name{
    width:100%;
    overflow:hidden;
    color:rgb(var(--ui-ink-rgb));
    font-family:var(--global-font-family);
    font-size:20px;
    font-weight:600;
    line-height:1.06;
    letter-spacing:.015em;
    white-space:nowrap;
    text-overflow:ellipsis;
    text-shadow:none;
  }
  .archive-orbit-signature{
    width:100%;
    overflow:hidden;
    color:color-mix(in srgb,rgb(var(--ui-ink-rgb)) 62%,transparent);
    font-family:var(--global-font-family);
    font-size:11px;
    font-weight:400;
    line-height:1.25;
    letter-spacing:.015em;
    white-space:nowrap;
    text-overflow:ellipsis;
    text-shadow:none;
  }
  .archive-orbit-photo.has-photo .archive-orbit-person-name{
    color:#fff;
    text-shadow:0 1px 2px rgba(0,0,0,.22);
  }
  .archive-orbit-photo.has-photo .archive-orbit-signature{
    color:rgba(255,255,255,.88);
    text-shadow:0 1px 2px rgba(0,0,0,.18);
  }
  .archive-orbit-signature:empty{
    display:none;
  }

  .archive-add-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-width:none;
    padding:8px var(--side-pad) calc(34px + env(safe-area-inset-bottom));
  }
  .archive-add-scroll::-webkit-scrollbar{
    display:none;
  }
  .archive-add-content{
    width:min(100%,560px);
    margin:0 auto;
  }
  .archive-add-preview{
    position:relative;
    width:100%;
    min-height:250px;
    display:grid;
    place-items:center;
    padding:5px 0 13px;
  }
  .archive-add-preview-stage{
    position:relative;
    width:min(404px,104vw);
    aspect-ratio:3 / 2;
    transform:rotate(-1.2deg);
  }
  .archive-add-preview-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(145deg,rgba(255,255,255,.18),transparent 40%,rgba(var(--shadow-deep-rgb),.035));
    pointer-events:none;
  }

  .archive-manuscript{
    width:min(100%,560px);
    margin:1px auto 0;
    padding:0;
  }
  .archive-manuscript-group{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin:0 0 18px;
    padding:15px;
    border:var(--app-shell-border);
    border-radius:22px;
    background-color:var(--ui-surface-background);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    overflow:visible;
  }
  .archive-manuscript-title{
    margin:0 0 1px;
    padding:0 3px;
    color:var(--text-main);
    font-family:var(--global-font-family);
    font-size:11px;
    font-weight:500;
    line-height:1;
    letter-spacing:.035em;
  }
  .archive-ink-row,
  .archive-ink-row.is-multiline{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
    padding:0;
    border:0;
    background:transparent;
  }
  .archive-ink-label,
  .archive-ink-row.is-multiline .archive-ink-label{
    align-self:auto;
    padding:0 0 0 3px;
    color:var(--text-secondary);
    font-family:var(--global-font-family);
    font-size:10.5px;
    font-weight:400;
    line-height:1.1;
    letter-spacing:0;
  }
  .archive-ink-input,
  .archive-ink-textarea{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-width:0;
    margin:0;
    border:var(--app-shell-border);
    border-radius:17px;
    background-color:var(--ui-surface-background);
    color:var(--text-main);
    box-shadow:var(--app-shell-shadow);
    backdrop-filter:var(--ui-surface-backdrop);
    -webkit-backdrop-filter:var(--ui-surface-backdrop);
    outline:none;
    font-family:var(--global-font-family);
    font-size:12px;
    font-weight:400;
    line-height:1.45;
    user-select:text;
    -webkit-user-select:text;
    transition:transform .14s ease,box-shadow .16s ease;
  }
  .archive-ink-input{
    min-height:44px;
    padding:0 14px;
  }
  .archive-ink-textarea{
    min-height:82px;
    padding:12px 14px;
    resize:none;
    overflow:hidden;
  }
  .archive-ink-input:focus,
  .archive-ink-textarea:focus{
    transform:translateY(-1px);
    box-shadow:var(--app-shell-shadow);
  }
  .archive-ink-input::placeholder,
  .archive-ink-textarea::placeholder{
    color:color-mix(in srgb,var(--text-secondary) 55%,transparent);
  }
  .archive-ink-row.is-required-missing .archive-ink-input{
    animation:archive-required-pulse .34s ease 2;
  }
  @keyframes archive-required-pulse{
    50%{
      transform:translateX(2px);
      box-shadow:var(--app-shell-shadow-active);
    }
  }

  .archive-avatar-editor-field{
    margin:0 0 14px;
  }
  .archive-avatar-editor-field .editor-field-label{
    font-family:var(--global-font-family);
  }
  .archive-ink-label-row{
    width:100%;
    min-height:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .archive-ink-label-row > .archive-ink-label{
    flex:1 1 auto;
    min-width:0;
  }
  .archive-setting-stack{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .archive-document-action{
    appearance:none;
    -webkit-appearance:none;
    width:28px;
    height:28px;
    flex:0 0 28px;
    margin:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:color-mix(in srgb,rgb(var(--ui-ink-rgb)) 42%,transparent);
    display:grid;
    place-items:center;
    opacity:.68;
    transform:none;
    transition:transform .14s ease,opacity .14s ease,color .14s ease;
  }
  .archive-document-action .lucide-icon{
    width:15px;
    height:15px;
    stroke-width:1.5;
  }
  .archive-document-action:active{
    transform:scale(.92);
    opacity:1;
  }
  .archive-document-action.is-importing{
    opacity:.35;
    pointer-events:none;
  }
  .archive-document-action.is-imported{
    color:rgb(var(--ui-ink-rgb));
    opacity:.72;
  }
  .archive-editor-footer{
    width:min(100%,560px);
    margin:0 auto;
    padding:0 0 4px;
  }
  .archive-delete-action{
    min-height:44px;
    margin:0;
    color:color-mix(in srgb,#b43d4d 72%,rgb(var(--ui-ink-rgb)));
  }
  .archive-delete-action[data-confirm="1"]{
    color:#a12438;
  }
  .archive-hidden-file{
    display:none;
  }
  :root[data-theme-texture="solid"] .archive-manuscript-group,
  :root[data-theme-texture="solid"] .archive-ink-input,
  :root[data-theme-texture="solid"] .archive-ink-textarea,
  :root[data-theme-texture="glass"] .archive-manuscript-group,
  :root[data-theme-texture="glass"] .archive-ink-input,
  :root[data-theme-texture="glass"] .archive-ink-textarea{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }

  @media (max-width:360px){
    .archive-profile-topbar,
    .archive-add-topbar,
    .archive-add-scroll{
      padding-left:12px;
      padding-right:12px;
    }
    .archive-profile-title .archive-title-cn,
    .archive-add-title .archive-title-cn{
      font-size:14px;
    }
    .archive-profile-title .archive-title-en,
    .archive-add-title .archive-title-en{
      font-size:6.5px;
    }
    .archive-orbit-card{
      width:min(396px,110vw);
    }
    .archive-profile-page .archive-orbit-person-name{
      font-size:18px;
    }
    .archive-profile-page .archive-orbit-signature{
      font-size:10.5px;
    }
    .archive-add-preview{
      min-height:230px;
    }
    .archive-add-preview-stage{
      width:min(382px,108vw);
    }
    .archive-manuscript-group{
      padding:13px;
      border-radius:20px;
    }
  }
  @media (max-height:700px){
    .archive-add-preview{
      min-height:215px;
    }
    .archive-add-preview-stage{
      width:min(350px,96vw);
    }
  }
  @media (prefers-reduced-motion:reduce){
    .archive-profile-page,
    .archive-add-page,
    .archive-orbit-card,
    .archive-profile-back,
    .archive-add-back,
    .archive-profile-star,
    .archive-add-heart,
    .archive-document-action,
    .archive-ink-input,
    .archive-ink-textarea{
      transition:none;
    }
    .archive-ink-row.is-required-missing .archive-ink-input{
      animation:none;
    }
  }
