:root{--bg: #f8f6f2;--bg-warm: #f3eee7;--bg-deep: #efe9e0;--surface: #ffffff;--surface-2: #fcfaf7;--ink: #232323;--ink-2: #57514a;--ink-3: #867e73;--ink-4: #a9a094;--line: #e7e1d7;--line-strong: #d8d0c3;--accent: #b46c57;--accent-deep: #96543f;--accent-soft: #f4e8e2;--accent-soft-2: #ecd9d0;--ok: #55745c;--ok-soft: #eaf0ea;--warn: #94743f;--warn-soft: #f6efdf;--danger: #a4513f;--danger-soft: #f8e9e5;--shadow-xs: 0 1px 2px rgba(35, 35, 35, .04);--shadow-sm: 0 2px 8px -4px rgba(35, 35, 35, .16);--shadow-md: 0 18px 40px -28px rgba(35, 35, 35, .5);--shadow-lg: 0 40px 80px -50px rgba(35, 35, 35, .55);--radius-xs: 6px;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Segoe UI", sans-serif;--container: 1280px;--gutter: 40px;--header-h: 74px;--ease: cubic-bezier(.22, .61, .36, 1)}@media (max-width: 1024px){:root{--gutter: 24px;--header-h: 66px}}@media (max-width: 560px){:root{--gutter: 16px}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-family:var(--font-serif);font-weight:500;letter-spacing:.01em;color:var(--ink)}p{margin:0}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}::selection{background:var(--accent-soft-2);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-60px;left:24px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:var(--radius-sm);transition:top .2s var(--ease)}.skip-link:focus{top:12px}.container{width:100%;max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}.serif{font-family:var(--font-serif)}.muted{color:var(--ink-3)}.nowrap{white-space:nowrap}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-240% 0}to{background-position:240% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.demo-bar{background:var(--ink);color:#f3ece4;font-size:12px;letter-spacing:.04em}.demo-bar__inner{max-width:var(--container);margin:0 auto;padding:7px var(--gutter);display:flex;align-items:center;gap:10px;justify-content:center;text-align:center}.demo-bar__dot{width:6px;height:6px;border-radius:50%;background:#e0a48f;flex:none}.demo-bar a{text-decoration:underline;text-underline-offset:3px;color:#f3ece4}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.1);backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid var(--line)}.site-header__inner{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter);height:var(--header-h);display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:14px;flex:none}.brand__name{font-family:var(--font-serif);font-size:23px;letter-spacing:.14em;line-height:1;color:var(--ink)}.brand__sub{display:flex;flex-direction:column;gap:2px;padding-left:14px;border-left:1px solid var(--line-strong);font-size:10px;line-height:1.35;letter-spacing:.08em;color:var(--ink-3)}.site-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.site-nav__link{position:relative;padding:8px 16px;font-size:15px;color:var(--ink-2);border-radius:var(--radius-sm);transition:color .2s var(--ease)}.site-nav__link:hover,.site-nav__link[aria-current=page]{color:var(--ink)}.site-nav__link[aria-current=page]:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1.5px;background:var(--accent)}.header-actions{display:flex;align-items:center;gap:10px;flex:none}.icon-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2);transition:background .2s var(--ease),color .2s var(--ease)}.icon-btn:hover{background:var(--bg-deep);color:var(--ink)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:15px;border:1px solid var(--accent-soft-2)}.user-menu{position:relative}.user-menu__panel{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:8px;z-index:60;animation:rise .18s var(--ease)}.user-menu__head{padding:8px 10px 10px;border-bottom:1px solid var(--line);margin-bottom:6px}.user-menu__name{font-size:14px;font-weight:500}.user-menu__email{font-size:12px;color:var(--ink-3);word-break:break-all}.user-menu__item{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--ink-2);text-align:left}.user-menu__item:hover{background:var(--surface-2);color:var(--ink)}.mobile-nav-toggle{display:none}.mobile-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:none}.mobile-sheet[data-open=true]{display:block}.mobile-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#23232352;animation:fade-in .2s var(--ease)}.mobile-sheet__panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,340px);background:var(--bg);padding:22px 22px 32px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-lg);overflow-y:auto}.mobile-sheet__link{padding:14px 6px;font-size:17px;font-family:var(--font-serif);border-bottom:1px solid var(--line)}.site-footer{margin-top:96px;border-top:1px solid var(--line);background:var(--bg)}.site-footer__inner{max-width:var(--container);margin:0 auto;padding:48px var(--gutter) 24px}.site-footer__top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:start}.site-footer__tagline{margin-top:14px;font-size:13px;color:var(--ink-3);line-height:1.9;max-width:34ch}.site-footer__nav{display:flex;gap:30px;justify-content:flex-end;flex-wrap:wrap;font-size:14px;color:var(--ink-2)}.site-footer__nav a:hover{color:var(--accent-deep)}.site-footer__bottom{margin-top:40px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink-4)}.site-footer__legal{display:flex;gap:20px;flex-wrap:wrap}.site-footer__legal a:hover{color:var(--ink-2)}@media (max-width: 900px){.site-nav{display:none}.mobile-nav-toggle{display:inline-flex}.site-footer__top{grid-template-columns:1fr;gap:24px}.site-footer__nav{justify-content:flex-start}}@media (max-width: 560px){.brand__sub,.header-actions .header-cta{display:none}.site-footer{margin-top:64px}}.btn{--btn-h: 44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--btn-h);padding:0 22px;border-radius:var(--radius-sm);font-size:14.5px;letter-spacing:.02em;border:1px solid transparent;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);white-space:nowrap}.btn--pill{border-radius:var(--radius-pill)}.btn--primary{background:var(--accent);color:#fdf8f5;box-shadow:0 6px 16px -10px #b46c57e6}.btn--primary:hover:not(:disabled){background:var(--accent-deep)}.btn--outline{border-color:var(--line-strong);color:var(--ink);background:transparent}.btn--outline:hover:not(:disabled){border-color:var(--ink-3);background:var(--surface)}.btn--soft{background:var(--accent-soft);color:var(--accent-deep)}.btn--soft:hover:not(:disabled){background:var(--accent-soft-2)}.btn--ghost{color:var(--ink-2);padding:0 14px}.btn--ghost:hover:not(:disabled){background:var(--bg-deep);color:var(--ink)}.btn--danger{color:var(--danger);border-color:#e8cbc3;background:var(--surface)}.btn--danger:hover:not(:disabled){background:var(--danger-soft)}.btn--sm{--btn-h: 36px;padding:0 16px;font-size:13px}.btn--xs{--btn-h: 30px;padding:0 12px;font-size:12.5px;gap:6px}.btn--block{width:100%}.btn:disabled,.btn[aria-disabled=true]{background:var(--bg-deep);border-color:var(--line);color:var(--ink-4);box-shadow:none;opacity:1;cursor:not-allowed}.btn__spinner{width:14px;height:14px;border-radius:50%;border:1.5px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent-deep);font-size:13.5px}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.section-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3);transition:color .2s var(--ease),gap .2s var(--ease)}.section-link:hover{color:var(--accent-deep);gap:10px}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:12px;line-height:1;white-space:nowrap;transition:all .18s var(--ease)}.chip--link:hover{border-color:var(--accent-soft-2);color:var(--accent-deep);background:var(--accent-soft)}.chip--active{background:var(--accent);border-color:var(--accent);color:#fdf8f5}.chip--filter{height:32px;padding:0 15px;font-size:13px}.chip--removable{padding-right:7px}.chip__close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;color:inherit;opacity:.7}.chip__close:hover{opacity:1;background:#23232314}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:var(--radius-xs);font-size:11.5px;letter-spacing:.02em;background:var(--bg-deep);color:var(--ink-2);white-space:nowrap}.badge--ok{background:var(--ok-soft);color:var(--ok)}.badge--warn{background:var(--warn-soft);color:var(--warn)}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--accent{background:var(--accent-soft);color:var(--accent-deep)}.badge--outline{background:transparent;border:1px solid var(--line);color:var(--ink-3)}.dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}.asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}.asset-grid--five{grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 20px}.asset-card{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0}.asset-card__media{position:relative;display:block;aspect-ratio:4 / 5;border-radius:var(--radius);overflow:hidden;background:linear-gradient(120deg,var(--bg-warm) 20%,#f7f2ea 40%,var(--bg-warm) 60%);background-size:240% 100%;animation:shimmer 1.6s linear infinite}.asset-card__link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.asset-card__media[data-loaded=true]{animation:none;background:var(--bg-warm)}.asset-card__img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .5s var(--ease),transform .7s var(--ease)}.asset-card__img[data-loaded=true]{opacity:1}.asset-card:hover .asset-card__img{transform:scale(1.035)}.asset-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#1c181457,#1c181400 42%);opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.asset-card:hover .asset-card__overlay{opacity:1}.asset-card__badge{position:absolute;top:10px;left:10px;z-index:2}.asset-card__fav{position:absolute;right:10px;bottom:10px;z-index:2;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffffeb;color:var(--ink-2);box-shadow:0 2px 10px -4px #0006;transition:transform .2s var(--ease),color .2s var(--ease),background .2s var(--ease)}.asset-card__fav--sm{width:28px;height:28px;right:7px;bottom:7px}.asset-card__fav:hover{transform:scale(1.08);color:var(--accent)}.asset-card__fav[data-active=true]{color:var(--accent);background:#fff}.asset-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-card__code{font-size:13px;letter-spacing:.04em;color:var(--ink-2);font-variant-numeric:tabular-nums}.asset-card__heart{color:var(--ink-4);display:inline-flex;transition:color .2s var(--ease),transform .2s var(--ease)}.asset-card__heart:hover{color:var(--accent);transform:scale(1.1)}.asset-card__heart[data-active=true]{color:var(--accent)}.asset-card__tags{display:flex;gap:5px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}.asset-card__tags .chip{height:22px;padding:0 8px;font-size:11px;background:var(--bg-deep);border-color:transparent;color:var(--ink-3)}.asset-card--compact .asset-card__media{aspect-ratio:1 / 1.18;border-radius:var(--radius-sm)}.asset-card--compact .asset-card__code{font-size:12px}.skeleton{background:linear-gradient(110deg,#efe9e1 8%,#f7f2ec,#efe9e1 44%);background-size:240% 100%;animation:shimmer 1.5s linear infinite;border-radius:var(--radius)}.skeleton-card{display:flex;flex-direction:column;gap:10px}.skeleton-card__img{aspect-ratio:4 / 5;width:100%}.skeleton-card__img--sm{aspect-ratio:1 / 1.2}.skeleton-card__line{height:11px;border-radius:4px;width:60%}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 24px;text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--surface-2)}.state-block--plain{border:0;background:transparent}.state-block__icon{width:52px;height:52px;border-radius:50%;background:var(--bg-deep);color:var(--ink-3);display:flex;align-items:center;justify-content:center}.state-block__title{font-family:var(--font-serif);font-size:19px}.state-block__desc{font-size:13.5px;color:var(--ink-3);max-width:42ch;line-height:1.8}.state-block__actions{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap;justify-content:center}.inline-loading{display:flex;align-items:center;gap:10px;padding:28px 0;color:var(--ink-3);font-size:13px}.spinner{width:16px;height:16px;border-radius:50%;border:1.6px solid var(--line-strong);border-top-color:var(--accent);animation:spin .9s linear infinite}.field{display:flex;flex-direction:column;gap:7px}.field__label{font-size:12.5px;color:var(--ink-2);letter-spacing:.04em}.field__hint{font-size:12px;color:var(--ink-3);line-height:1.6}.field__error{font-size:12px;color:var(--danger)}.input,.select,.textarea{width:100%;height:42px;padding:0 13px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font-size:14px;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.textarea{height:auto;min-height:84px;padding:10px 13px;line-height:1.7;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b46c571f}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.select{-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 24 24' fill='none' stroke='%23867e73' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.select--bare{height:34px;border-color:transparent;background-color:transparent;font-size:13px;color:var(--ink-2);padding-left:6px}.select--bare:hover{border-color:var(--line-strong);background-color:var(--surface)}.search-box{display:flex;align-items:center;gap:10px;height:44px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-3);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #b46c571a}.search-box input{flex:1;min-width:0;border:0;background:transparent;font-size:14px;color:var(--ink)}.search-box input:focus{outline:none}.search-box__clear{color:var(--ink-4);display:inline-flex}.search-box__clear:hover{color:var(--ink-2)}.checkbox{display:flex;align-items:center;gap:9px;padding:6px 4px;font-size:13.5px;color:var(--ink-2);cursor:pointer;border-radius:var(--radius-xs);width:100%;text-align:left;transition:color .15s var(--ease),background .15s var(--ease)}.checkbox:hover{color:var(--ink);background:var(--surface-2)}.checkbox__box{width:16px;height:16px;border:1px solid var(--line-strong);border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;color:transparent;transition:all .15s var(--ease)}.checkbox[aria-checked=true] .checkbox__box{background:var(--accent);border-color:var(--accent);color:#fff}.checkbox__count{margin-left:auto;font-size:11.5px;color:var(--ink-4);font-variant-numeric:tabular-nums}.switch{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--ink-2)}.switch__track{width:38px;height:22px;border-radius:999px;background:var(--line-strong);position:relative;transition:background .2s var(--ease);flex:none}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s var(--ease)}.switch[aria-checked=true] .switch__track{background:var(--accent)}.switch[aria-checked=true] .switch__track:after{transform:translate(16px)}.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:44px}.pagination__item{min-width:34px;height:34px;padding:0 10px;border-radius:var(--radius-xs);font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;justify-content:center;transition:background .18s var(--ease),color .18s var(--ease);font-variant-numeric:tabular-nums}.pagination__item:hover:not(:disabled):not([aria-current=page]){background:var(--bg-deep)}.pagination__item[aria-current=page]{background:var(--accent);color:#fdf8f5}.pagination__item:disabled{color:var(--ink-4);cursor:not-allowed}.pagination__ellipsis{color:var(--ink-4);padding:0 4px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#1e1a166b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade-in .18s var(--ease)}.modal{width:min(100%,460px);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:28px;animation:rise .22s var(--ease);max-height:86vh;overflow-y:auto}.modal__title{font-size:20px;margin-bottom:8px}.modal__desc{font-size:13.5px;color:var(--ink-3);line-height:1.8;margin-bottom:18px}.modal__actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(100%,470px);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slide-in .26s var(--ease)}@keyframes slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 16px;border-bottom:1px solid var(--line)}.drawer__body{flex:1;overflow-y:auto;padding:20px 24px 28px;display:flex;flex-direction:column;gap:18px}.drawer__foot{padding:16px 24px;border-top:1px solid var(--line);display:flex;gap:10px;background:var(--surface-2)}.toast-stack{position:fixed;left:50%;bottom:32px;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--ink);color:#f7f2ec;padding:10px 18px;border-radius:var(--radius-pill);font-size:13px;box-shadow:var(--shadow-md);animation:rise .2s var(--ease);max-width:78vw;text-align:center}.toast--success{background:#3c5a45}.toast--error{background:#8e4636}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}.breadcrumb a:hover{color:var(--ink)}.breadcrumb__sep{color:var(--ink-4)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;font-weight:500;color:var(--ink-3);font-size:12px;letter-spacing:.04em;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2);white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tbody tr{transition:background .15s var(--ease)}.table tbody tr:hover{background:var(--surface-2)}.table__thumb{width:40px;height:50px;object-fit:cover;border-radius:4px;background:var(--bg-deep)}.table__code{font-variant-numeric:tabular-nums;letter-spacing:.03em}.row-selected{background:var(--accent-soft)!important}.divider{height:1px;background:var(--line);border:0;margin:0}.notice{display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);font-size:13px;color:var(--ink-2);line-height:1.75}.notice--ok{border-color:color-mix(in srgb,var(--ok) 32%,transparent);background:var(--ok-soft);color:var(--ok)}.notice--warn{background:var(--warn-soft);border-color:#e6d8bd;color:#7a5c2d}.notice--accent{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent-deep)}.publish-blockers{margin:0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--danger) 6%,var(--surface));display:flex;flex-direction:column;gap:8px}.publish-blockers__title{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--danger)}.publish-blockers ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.publish-blockers li{position:relative;padding-left:16px;font-size:12.5px;color:var(--danger);line-height:1.6}.publish-blockers li:before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:currentColor}.rights-verify{padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-2);display:flex;flex-direction:column;gap:8px}.rights-verify__status{display:flex;align-items:center;gap:10px}.notice--danger{background:var(--danger-soft);border-color:#eccfc7;color:var(--danger)}.notice--info{background:var(--accent-soft);border-color:var(--accent-soft-2);color:var(--accent-deep)}.notice__icon{flex:none;margin-top:2px}@media (max-width: 1100px){.asset-grid,.asset-grid--five{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.asset-grid,.asset-grid--five{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}.asset-card__fav{width:30px;height:30px}.state-block{padding:44px 18px}.modal{padding:22px}}.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px;align-items:center;padding:66px 0 46px}.hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:22px}.hero__eyebrow:before{content:"";width:26px;height:1px;background:var(--accent)}.hero__title{font-size:clamp(38px,4.3vw,60px);line-height:1.22;letter-spacing:.02em}.hero__title-accent{position:relative;display:inline-block}.hero__title-accent:after{content:"";position:absolute;left:-2px;right:-2px;bottom:4px;height:8px;background:var(--accent-soft-2);z-index:-1;border-radius:2px}.hero__desc{margin-top:22px;font-size:14.5px;line-height:2;color:var(--ink-2);max-width:34ch}.hero__search{margin-top:28px;display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:6px 6px 6px 18px;max-width:500px;box-shadow:var(--shadow-xs);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.hero__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px #b46c571a}.hero__search input{flex:1;min-width:0;border:0;background:transparent;font-size:14.5px;padding:8px 0}.hero__search input:focus{outline:none}.hero__hot{margin-top:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}.hero__hot .chip{height:24px;font-size:11.5px;background:transparent;border-color:var(--line)}.collage{position:relative;min-height:460px;isolation:isolate}.collage__arch{position:absolute;left:8%;top:2%;width:62%;height:82%;border-radius:46% 46% 10px 10px;background:radial-gradient(120% 90% at 50% 20%,#f6e4da,#f2ece2 55%,#f2ece200);z-index:-1}.collage__frame{position:absolute;background:#fff;padding:8px;border-radius:10px;box-shadow:0 26px 50px -34px #322820a6,0 2px 6px #3228200f;overflow:hidden}.collage__frame img{width:100%;height:100%;object-fit:cover;border-radius:4px}.collage__frame--a{left:0;top:12%;width:34%;height:54%;transform:rotate(-3.4deg)}.collage__frame--b{left:25%;top:0;width:47%;height:78%;transform:rotate(1.2deg);z-index:2}.collage__frame--c{right:2%;top:16%;width:27%;height:32%;transform:rotate(4.5deg);z-index:3}.collage__frame--d{right:6%;bottom:1%;width:30%;height:36%;transform:rotate(-2.5deg);z-index:3}.collage__vertical{position:absolute;right:-6px;top:4%;writing-mode:vertical-rl;font-family:var(--font-serif);font-size:13px;letter-spacing:.32em;color:var(--ink-3);z-index:4}.collage__seal{position:absolute;right:10px;top:47%;width:22px;height:22px;border:1px solid var(--accent);border-radius:3px;color:var(--accent);font-size:10px;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);z-index:4;letter-spacing:0}.collage__script{position:absolute;left:4%;bottom:6%;font-family:"Segoe Script","Bradley Hand",var(--font-serif);font-style:italic;font-size:13px;color:var(--accent);opacity:.72;transform:rotate(-8deg);z-index:4;line-height:1.6}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}.category-card{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}.category-card:hover{border-color:var(--accent-soft-2);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.category-card__thumb{width:66px;height:82px;border-radius:6px;overflow:hidden;flex:none;background:var(--bg-deep)}.category-card__thumb img{width:100%;height:100%;object-fit:cover}.category-card__body{min-width:0;flex:1}.category-card__title{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-serif);font-size:19px;letter-spacing:.08em}.category-card__en{font-family:var(--font-sans);font-size:9px;letter-spacing:.22em;color:var(--ink-4);text-transform:uppercase}.category-card__desc{margin-top:6px;font-size:12px;color:var(--ink-3);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.section{margin-top:76px}.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.section__title{display:flex;align-items:baseline;gap:14px;font-size:26px;letter-spacing:.06em}.section__sub{font-size:12.5px;color:var(--ink-3);letter-spacing:.02em}.topic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.topic-card{position:relative;display:block;aspect-ratio:16 / 10;border-radius:var(--radius);overflow:hidden;background:var(--bg-deep)}.topic-card img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.topic-card:hover img{transform:scale(1.05)}.topic-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#1a1612d1 6%,#1a16123d 52%,#1a16120d)}.topic-card__body{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fbf6f0}.topic-card__title{font-family:var(--font-serif);font-size:19px;letter-spacing:.06em;display:flex;align-items:center;justify-content:space-between;gap:10px}.topic-card__desc{margin-top:5px;font-size:11.5px;color:#fbf6f0c7;line-height:1.6}.topic-card__count{margin-top:8px;font-size:11px;color:#fbf6f09e;letter-spacing:.06em}.steps-band{margin-top:76px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0;background:linear-gradient(180deg,#f3eee780,#f8f6f200)}.steps-band__head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:30px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;counter-reset:step}.step{position:relative;padding-top:22px;border-top:1px solid var(--line-strong)}.step__num{font-family:var(--font-serif);font-size:13px;color:var(--accent);letter-spacing:.2em}.step__title{margin-top:8px;font-size:17px;font-family:var(--font-serif)}.step__desc{margin-top:8px;font-size:13px;color:var(--ink-3);line-height:1.85}.cta-band{margin-top:72px;padding:44px 40px;border-radius:var(--radius-lg);background:linear-gradient(115deg,#f4ece3,#f7f3ec 60%,#f2ebe2);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.cta-band__title{font-size:24px;letter-spacing:.05em}.cta-band__desc{margin-top:8px;font-size:13px;color:var(--ink-2)}@media (max-width: 1100px){.hero{grid-template-columns:1fr;gap:36px;padding-top:40px}.collage{min-height:380px;max-width:560px}.category-grid,.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.hero{padding:28px 0 32px}.collage{min-height:300px}.collage__vertical,.collage__script{display:none}.section{margin-top:52px}.section__title{font-size:21px}.steps{grid-template-columns:1fr;gap:22px}.cta-band{padding:26px 20px}.topic-grid{grid-template-columns:1fr}}.page-head{padding:40px 0 26px;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}.page-head__title{font-size:36px;letter-spacing:.08em}.page-head__desc{margin-top:10px;font-size:13.5px;color:var(--ink-3);max-width:52ch;line-height:1.9}.page-head__search{flex:1;min-width:260px;max-width:480px;display:flex;gap:10px}.library-layout{display:grid;grid-template-columns:244px minmax(0,1fr);gap:32px;padding-bottom:40px;align-items:start}.filters{position:sticky;top:calc(var(--header-h) + 20px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:6px 14px 14px;max-height:calc(100vh - var(--header-h) - 44px);overflow-y:auto}.filter-group{padding:12px 0;border-bottom:1px solid var(--line)}.filter-group:last-of-type{border-bottom:0}.filter-group__head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 2px;font-size:13.5px;color:var(--ink);letter-spacing:.06em}.filter-group__count{font-size:11px;color:var(--ink-4)}.filter-group__body{margin-top:6px;display:flex;flex-direction:column;gap:1px}.filter-actions{display:flex;gap:8px;padding-top:14px}.filter-actions .btn{flex:1}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line)}.dimension-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;flex:1 1 240px;min-width:0}.dimension-tabs::-webkit-scrollbar{display:none}.toolbar__right{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:12.5px;color:var(--ink-3);flex:0 0 auto}@media (max-width: 640px){.toolbar__right{margin-left:0;flex-wrap:wrap}}.toolbar__count strong{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 0 0;font-size:12px;color:var(--ink-3)}.library-results{margin-top:24px;min-width:0}.mobile-filter-trigger{display:none}@media (max-width: 1024px){.library-layout{grid-template-columns:minmax(0,1fr)}.filters{display:none}.mobile-filter-trigger{display:inline-flex}}.mobile-filter-panel{padding:8px 4px 20px}.detail-page{padding-top:24px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:52px;margin-top:26px;align-items:start}.detail-media{position:relative;border-radius:var(--radius-lg);background:var(--bg-warm);overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:420px;max-height:76vh}.detail-media img{width:100%;height:100%;max-height:76vh;object-fit:contain;display:block}.detail-media__zoom{position:absolute;right:14px;bottom:14px;background:#ffffffeb;border-radius:var(--radius-pill);padding:7px 14px;font-size:12px;color:var(--ink-2);display:inline-flex;align-items:center;gap:6px;box-shadow:var(--shadow-sm)}.detail-media__zoom:hover{color:var(--ink)}.detail-info{padding-top:6px}.detail-title{font-size:30px;letter-spacing:.08em}.detail-id{margin-top:10px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3);letter-spacing:.08em}.detail-id__copy{display:inline-flex;color:var(--ink-4)}.detail-id__copy:hover{color:var(--accent)}.detail-tags{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}.detail-tags .chip{height:28px;padding:0 12px;background:var(--accent-soft);border-color:transparent;color:var(--accent-deep)}.spec-table{margin-top:24px;border-top:1px solid var(--line)}.spec-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:start}.spec-row__label{color:var(--ink-3);font-size:13px}.spec-row__value{color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.detail-actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}.detail-actions .btn{flex:1;min-width:150px}.download-note{margin-top:10px;font-size:12px;color:var(--ink-3);display:flex;align-items:center;gap:6px}.detail-notes{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.detail-notes__title{font-size:14px;letter-spacing:.08em;margin-bottom:10px}.detail-notes__list{display:flex;flex-direction:column;gap:7px;font-size:12.5px;color:var(--ink-3);line-height:1.75}.detail-notes__list li{display:flex;gap:8px}.detail-notes__list li:before{content:"";width:4px;height:4px;border-radius:50%;background:var(--accent);margin-top:9px;flex:none}.detail-report{margin-top:18px;display:flex;justify-content:flex-end}.report-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-3);background:none;border:0;padding:0;cursor:pointer;font-family:inherit;letter-spacing:inherit}.report-link:hover{color:var(--danger)}.similar-section{margin-top:64px;padding-top:30px;border-top:1px solid var(--line)}@media (max-width: 1024px){.detail-grid{grid-template-columns:1fr;gap:28px}.detail-media{max-height:62vh;min-height:300px}}@media (max-width: 560px){.detail-title{font-size:24px}.spec-row{grid-template-columns:76px minmax(0,1fr)}}.collections-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;padding-bottom:40px;align-items:start}.collection-side{position:sticky;top:calc(var(--header-h) + 20px);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px}.collection-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--ink-2);text-align:left;transition:background .15s var(--ease),color .15s var(--ease)}.collection-item:hover{background:var(--surface-2);color:var(--ink)}.collection-item[aria-current=true]{background:var(--accent-soft);color:var(--accent-deep)}.collection-item__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-item__count{font-size:11.5px;color:var(--ink-4);font-variant-numeric:tabular-nums}.collection-item[aria-current=true] .collection-item__count{color:var(--accent)}.collection-side__new{margin-top:10px;padding:10px 12px}.collection-side__note{margin-top:14px;padding:12px;font-size:11.5px;color:var(--ink-4);line-height:1.75;border-top:1px solid var(--line)}.collections-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.collections-head__title{font-size:34px;letter-spacing:.08em}.collections-head__desc{margin-top:10px;font-size:13.5px;color:var(--ink-3)}.collections-quote{font-family:var(--font-serif);font-size:13px;color:var(--accent);line-height:1.9;text-align:right;opacity:.78;transform:rotate(-3deg);max-width:220px}.collections-toolbar{display:flex;gap:12px;align-items:center;margin-top:26px;flex-wrap:wrap}.collections-toolbar .search-box{flex:1;min-width:220px}.collections-toolbar .select{width:auto;min-width:120px}.collection-actions{display:flex;gap:4px;margin-left:auto}.collections-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px 18px;margin-top:24px}.fav-item{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}.fav-item__media{position:relative;aspect-ratio:1 / 1.2;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-deep)}.fav-item__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.fav-item:hover .fav-item__media img{transform:scale(1.03)}.fav-item__row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2)}.fav-item__menu{margin-left:auto;color:var(--ink-4);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px}.fav-item__menu:hover{background:var(--bg-deep);color:var(--ink)}.fav-item__unavailable{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:repeating-linear-gradient(135deg,#f2ede5,#f2ede5 8px,#efe9e0 8px,#efe9e0 16px);color:var(--ink-3);font-size:11.5px;text-align:center;padding:12px}.menu-pop{position:absolute;right:0;top:calc(100% + 4px);min-width:160px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:5px;z-index:30;animation:rise .16s var(--ease)}.menu-pop button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:5px;font-size:12.5px;color:var(--ink-2);text-align:left}.menu-pop button:hover{background:var(--surface-2);color:var(--ink)}.menu-pop button.danger{color:var(--danger)}@media (max-width: 1200px){.collections-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1024px){.collections-layout{grid-template-columns:1fr}.collection-side{position:static}.collections-quote{display:none}}@media (max-width: 760px){.collections-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 10px}}.guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding:40px 0 20px;align-items:start}.guide-toc{position:sticky;top:calc(var(--header-h) + 28px)}.guide-toc__label{font-size:11px;letter-spacing:.24em;color:var(--ink-4);margin-bottom:16px}.guide-toc__list{display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--line)}.guide-toc__link{display:flex;align-items:center;gap:10px;padding:9px 0 9px 18px;margin-left:-1px;border-left:1px solid transparent;font-size:13px;color:var(--ink-3);transition:color .2s var(--ease),border-color .2s var(--ease)}.guide-toc__link:hover{color:var(--ink)}.guide-toc__link[data-active=true]{color:var(--accent-deep);border-left-color:var(--accent)}.guide-toc__link:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.4}.guide-toc__aside{margin-top:36px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-serif);font-size:12.5px;line-height:2.1;color:var(--ink-3);background:var(--surface-2)}.guide-hero{padding-bottom:32px;border-bottom:1px solid var(--line)}.guide-hero__title{font-size:clamp(32px,3.4vw,44px);letter-spacing:.06em}.guide-hero__desc{margin-top:16px;font-size:14px;color:var(--ink-2);line-height:2;max-width:62ch}.guide-sections{display:flex;flex-direction:column;gap:56px;margin-top:44px}.guide-section__eyebrow{font-size:11px;letter-spacing:.24em;color:var(--accent)}.guide-section__title{margin-top:8px;font-size:25px;letter-spacing:.06em}.guide-section__body{margin-top:14px;font-size:14px;color:var(--ink-2);line-height:2;max-width:68ch}.guide-section__body p+p{margin-top:10px}.guide-list{margin-top:14px;display:flex;flex-direction:column;gap:10px}.guide-list li{display:flex;gap:12px;font-size:13.5px;color:var(--ink-2);line-height:1.95}.guide-list__num{flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-size:11px;display:inline-flex;align-items:center;justify-content:center;margin-top:4px}.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:30px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.guide-step{padding:24px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.guide-step:last-child{border-right:0}.guide-step__num{font-family:var(--font-serif);font-size:26px;color:var(--accent);letter-spacing:.04em;line-height:1}.guide-step__title{font-size:15.5px;font-family:var(--font-serif)}.guide-step__desc{font-size:12.5px;color:var(--ink-3);line-height:1.85}.guide-step__media{margin-top:auto;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:var(--bg-deep)}.guide-step__media img{width:100%;height:100%;object-fit:cover}.guide-step__tags{display:flex;gap:4px;flex-wrap:wrap}.guide-callout{margin-top:22px;display:flex;gap:14px;padding:18px 20px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-soft-2);color:var(--accent-deep)}.guide-callout__title{font-size:14px;letter-spacing:.04em}.guide-callout__text{margin-top:5px;font-size:12.5px;line-height:1.85;color:#8a5342}.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin-top:22px}.faq-item{border-top:1px solid var(--line);padding-top:4px}.faq-item__q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:13px 0;font-size:13.5px;color:var(--ink);text-align:left}.faq-item__q:hover{color:var(--accent-deep)}.faq-item__chevron{color:var(--ink-4);transition:transform .25s var(--ease);flex:none}.faq-item[data-open=true] .faq-item__chevron{transform:rotate(180deg)}.faq-item__a{padding:0 0 16px;font-size:12.5px;color:var(--ink-3);line-height:1.9;animation:rise .2s var(--ease)}.guide-cta{margin-top:44px;display:flex;justify-content:center}@media (max-width: 1024px){.guide-layout{grid-template-columns:1fr;gap:24px}.guide-toc{position:static}.guide-toc__list{flex-direction:row;flex-wrap:wrap;gap:8px;border-left:0}.guide-toc__link{border:1px solid var(--line);border-radius:var(--radius-pill);padding:7px 14px;margin-left:0}.guide-toc__link[data-active=true]{background:var(--accent-soft);border-color:var(--accent-soft-2)}.guide-toc__aside{display:none}.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-step{border-bottom:1px solid var(--line)}.guide-step:nth-child(2n){border-right:0}}@media (max-width: 760px){.faq-grid,.guide-steps{grid-template-columns:1fr}.guide-step{border-right:0}}.auth-shell{min-height:calc(100vh - var(--header-h) - 140px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;max-width:var(--container);margin:0 auto;padding:48px var(--gutter) 64px}.auth-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-warm);display:none}.auth-card{width:min(100%,400px);margin:0 auto;padding:20px 0}.auth-card__title{font-size:30px;letter-spacing:.08em}.auth-card__desc{margin-top:10px;font-size:13px;color:var(--ink-3);line-height:1.9}.auth-form{margin-top:26px;display:flex;flex-direction:column;gap:16px}.auth-foot{margin-top:22px;font-size:13px;color:var(--ink-3);display:flex;gap:6px;justify-content:center}.auth-demo{margin-top:24px;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);font-size:12px;color:var(--ink-3);line-height:1.8}@media (min-width: 1024px){.auth-shell{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px}.auth-visual{display:block}}.error-page{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:60px 20px}.error-page__code{font-family:var(--font-serif);font-size:68px;color:var(--accent-soft-2);letter-spacing:.1em;line-height:1}.error-page__title{font-size:24px}.error-page__desc{font-size:13.5px;color:var(--ink-3);max-width:46ch;line-height:1.9}.admin-shell{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--bg)}.admin-side{border-right:1px solid var(--line);background:var(--surface);padding:22px 14px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}.admin-brand{padding:0 10px 20px;border-bottom:1px solid var(--line);margin-bottom:14px}.admin-brand__name{font-family:var(--font-serif);font-size:21px;letter-spacing:.14em}.admin-brand__sub{font-size:10px;letter-spacing:.2em;color:var(--ink-4);margin-top:4px}.admin-nav__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px;color:var(--ink-2);transition:background .15s var(--ease),color .15s var(--ease)}.admin-nav__item:hover{background:var(--surface-2);color:var(--ink)}.admin-nav__item[aria-current=page]{background:var(--accent-soft);color:var(--accent-deep)}.admin-side__foot{margin-top:auto;padding:14px 10px 4px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-4);line-height:1.8}.admin-main{min-width:0;display:flex;flex-direction:column}.admin-topbar{height:60px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:0 28px;position:sticky;top:0;z-index:20}.admin-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2)}.admin-content{padding:28px 28px 56px;max-width:1360px;width:100%}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.admin-head__title{font-size:26px;letter-spacing:.08em}.admin-head__desc{margin-top:8px;font-size:12.5px;color:var(--ink-3)}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px 18px;display:flex;align-items:center;gap:14px}.stat-card__icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);color:var(--ink-2);flex:none}.stat-card__label{font-size:12px;color:var(--ink-3)}.stat-card__value{font-family:var(--font-serif);font-size:22px;line-height:1.2;font-variant-numeric:tabular-nums}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.admin-toolbar .search-box{flex:1;min-width:200px;border-radius:var(--radius-sm);height:38px}.admin-toolbar .select{width:auto;min-width:118px;height:38px;font-size:13px}.admin-pager{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}.admin-pager__pages{display:flex;gap:4px}.bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--accent-soft);border:1px solid var(--accent-soft-2);border-radius:var(--radius-sm);margin-bottom:12px;font-size:12.5px;color:var(--accent-deep);flex-wrap:wrap}.tag-manager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tag-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px}.tag-group__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tag-group__title{font-size:15px;font-family:var(--font-serif);letter-spacing:.06em}.tag-row-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.tag-row-item:last-child{border-bottom:0}.tag-row-item__usage{margin-left:auto;font-size:11.5px;color:var(--ink-4);font-variant-numeric:tabular-nums}.log-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.log-row{display:grid;grid-template-columns:150px 170px 120px minmax(0,1fr);gap:16px;padding:12px 16px;border-bottom:1px solid var(--line);font-size:12.5px;align-items:center}.log-row:last-child{border-bottom:0}.log-row--head{background:var(--surface-2);color:var(--ink-3);font-size:12px}.log-row__time{color:var(--ink-3);font-variant-numeric:tabular-nums}.log-row__detail{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-drop{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:26px 22px;text-align:center;background:var(--surface-2);display:flex;flex-direction:column;gap:10px;align-items:center}.import-drop[data-drag=true]{border-color:var(--accent);background:var(--accent-soft)}.import-result{margin-top:14px;max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12px}.import-result__row{display:flex;gap:10px;padding:7px 12px;border-bottom:1px solid var(--line)}.import-result__row:last-child{border-bottom:0}.import-result__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-drawer-preview{position:relative;flex:none;height:300px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-deep)}.admin-drawer-preview img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.permission-grid{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;background:var(--surface-2)}.permission-grid__row{display:flex;align-items:center;gap:10px}.permission-grid__label{width:76px;font-size:12.5px;color:var(--ink-2);flex:none}.permission-grid .select{height:34px;font-size:12.5px;background-color:var(--surface)}@media (max-width: 1100px){.admin-shell{grid-template-columns:1fr}.admin-side{position:fixed;inset:0 auto 0 0;width:248px;height:100vh;height:100dvh;z-index:70;transform:translate(-105%);transition:transform .25s var(--ease);box-shadow:var(--shadow-lg)}.admin-side--open{transform:none}.admin-side-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#23232361}.admin-menu-btn{display:inline-flex}.admin-topbar{padding:0 14px;gap:10px}.admin-content{padding:20px 16px 40px}.stat-row,.stat-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}.tag-manager{grid-template-columns:1fr}.log-row{grid-template-columns:110px 1fr;gap:6px 12px}}@media (max-width: 560px){.stat-row,.stat-row--four{grid-template-columns:1fr}.admin-crumb{display:none}.admin-daterange{flex-wrap:wrap}}@media (max-width: 760px){.admin-head{flex-direction:column;align-items:stretch}.table-wrap{overflow-x:auto}.table{min-width:720px}}.admin-table__desc{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.admin-shell,body.admin-area{--accent: #4d6b53;--accent-deep: #3c5542;--accent-soft: #e9efe9;--accent-soft-2: #d6e1d8}.admin-shell .btn--primary,body.admin-area .btn--primary{box-shadow:0 6px 16px -10px #4d6b538c}.mono{font-family:ui-monospace,SF Mono,Cascadia Mono,Consolas,monospace;letter-spacing:.01em}.admin-topbar{justify-content:flex-start}.admin-crumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3)}.admin-crumb a{color:var(--ink-3)}.admin-crumb a:hover{color:var(--ink)}.admin-crumb [aria-current=page]{color:var(--ink);font-weight:500}.admin-topbar__right{margin-left:auto;display:flex;align-items:center;gap:14px}.admin-menu-btn,.admin-side-backdrop{display:none}.stat-row--four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card--link{text-decoration:none;color:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.stat-card--link:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.stat-card--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stat-card__go{color:var(--ink-4);flex:none;align-self:flex-start}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:18px 20px;margin-bottom:16px}.panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.panel__title{font-size:16px;font-family:var(--font-serif);letter-spacing:.06em;display:flex;align-items:center;gap:8px}.panel__count{min-width:19px;height:19px;padding:0 5px;border-radius:var(--radius-pill);background:var(--danger);color:#fdf8f5;font-family:var(--font-sans);font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.panel__more{display:inline-flex;align-items:center;gap:2px;font-size:12.5px;color:var(--ink-3)}.panel__more:hover{color:var(--accent-deep)}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.todo-item{display:flex;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line)}.todo-item:last-child{border-bottom:0}.todo-item__icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);display:flex;align-items:center;justify-content:center;flex:none}.todo-item__body{flex:1;min-width:0}.todo-item__title{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.todo-item__desc{margin:4px 0 0;font-size:12.5px;color:var(--ink-3);line-height:1.6}.table-wrap--flush{border:0;border-radius:0;background:transparent}.table__ellipsis{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--ink-2)}.table__asset{display:flex;align-items:center;gap:8px}.table__thumb--missing{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-4)}.chip-group{display:flex;gap:8px;flex-wrap:wrap}.drawer-section{padding:14px 0;border-bottom:1px solid var(--line)}.drawer-section:last-child{border-bottom:0}.drawer-section__title{font-size:14px;font-family:var(--font-serif);letter-spacing:.05em;margin-bottom:10px}.feedback-asset{display:flex;gap:12px;align-items:center}.feedback-asset img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-deep)}.feedback-asset__missing{width:64px;height:64px;border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--ink-4);display:flex;align-items:center;justify-content:center}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline__item{position:relative;margin-left:5px;padding:0 0 14px 20px;border-left:1px solid var(--line-strong)}.timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.timeline__dot{position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--accent)}.timeline__dot--start{background:var(--ok)}.timeline__dot--muted{background:var(--line-strong)}.timeline__head{display:flex;gap:10px;flex-wrap:wrap;font-size:12.5px;font-variant-numeric:tabular-nums}.timeline__detail{margin:4px 0 0;font-size:12.5px;color:var(--ink-2);line-height:1.7}.admin-daterange{display:flex;align-items:center;gap:6px;font-size:12.5px}.admin-daterange .input{height:38px;width:142px;font-size:12.5px}.log-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:0 0 8px}.log-detail__grid dt{font-size:12px;color:var(--ink-3);margin-bottom:4px}.log-detail__grid dd{margin:0;font-size:13px}.log-detail__detail{margin:0;font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px}@media (max-width: 1100px){.admin-menu-btn{display:inline-flex}.stat-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.admin-crumb{display:none}.stat-row--four{grid-template-columns:1fr}.admin-topbar__right>.badge{display:none}}
