:root {
  --green: #24765e;
  --green-dark: #203f32;
  --green-soft: #edf3eb;
  --ink: #202e27;
  --muted: #536258;
  --line: #e9ebe4;
  --paper: #f7f8f4;
  --white: #fff;
  --amber: #795319;
  --red: #9e3a34;
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-size: 16px;
  line-height: 1.65;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
.seo-page { max-width: 1100px; margin: 0 auto; padding: 32px 20px; }
.seo-page nav { margin-bottom: 24px; }
.seo-page h1 { font-size: 28px; margin-bottom: 18px; }
.seo-list { list-style: none; padding: 0; display: grid; gap: 12px; }
.seo-list li { padding: 18px; background: white; border: 1px solid var(--line); border-radius: 8px; }
.seo-list a { color: var(--green); font-weight: 600; }
button, input, select, textarea { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button { color: inherit; background: transparent; border: 0; }
a { color: inherit; text-decoration: none; }
button:disabled { opacity: .45; cursor: not-allowed; }
button, a { touch-action: manipulation; }
button, a, input, textarea, select { outline-offset: 4px; }
:focus-visible { outline: 2px solid #569b7f; }
input, textarea, select { min-width: 0; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin: 0; }
.icon { width: 19px; height: 19px; flex: 0 0 auto; vertical-align: middle; }
.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; }
.muted { color: var(--muted); }
.small { font-size: 14px; }
.block { display: block; margin-top: 5px; }
.pre-wrap { white-space: pre-wrap; overflow-wrap: anywhere; }
.green-text { color: var(--green); }
.red-text { color: var(--red); }
.amber-text { color: var(--amber) !important; }
.eyebrow { font-size: 14px; font-family: Arial, sans-serif; letter-spacing: 2px; color: #61695f; font-weight: 500; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 43px; padding: 11px 21px; border: 1px solid transparent; border-radius: 7px; line-height: 1.4; font-size: 15px; font-weight: 500; white-space: nowrap; transition: background .18s, box-shadow .18s, transform .18s; }
.button .icon { width: 17px; height: 17px; }
.button.primary { background: var(--green); color: white; }
.button.primary:hover:not(:disabled) { background: #1d634e; box-shadow: 0 4px 14px #24765e1c; }
.button.secondary { background: white; border-color: #dde2d7; color: #46614c; }
.button.secondary:hover:not(:disabled) { background: #f4f6ee; border-color: #c6d2c0; }
.button.dark { background: var(--green-dark); color: #fff; }
.button.dark:hover { background: #172f24; transform: translateY(-1px); }
.button.danger { color: white; background: var(--red); }
.full { width: 100%; }
.small-button { padding: 7px 13px; min-height: 34px; font-size: 14px; border-radius: 5px; }
.small-button .icon { width: 15px; height: 15px; }
.text-button, .text-link { display: inline-flex; align-items: center; gap: 6px; color: var(--green); font-size: 14px; padding: 0; }
.text-button:hover, .text-link:hover { color: #174d39; }
.text-button .icon, .text-link .icon { width: 15px; height: 15px; }
.icon-button { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; }
.icon-button:hover { background: #f1f4eb; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: 218px; padding: 29px 19px 16px; background: #fff; border-right: 1px solid var(--line); display: flex; flex-direction: column; overflow-y: auto; scrollbar-width: none; }
.sidebar::-webkit-scrollbar { display: none; }
.brand { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 0; }
.sidebar > .brand { width: 100%; align-items: flex-start; padding: 0 14px; }
.sidebar > .brand small { text-align: left; }
.brand-heading { display: inline-flex; align-items: center; justify-content: center; gap: 10px; }
.brand img { flex: 0 0 auto; width: 37px; height: 37px; }
.brand-name { font-size: 26px; font-weight: 750; letter-spacing: 2px; line-height: 1.25; }
.brand small { display: block; width: 100%; text-align: center; font-size: 13px; font-weight: 400; letter-spacing: .3px; color: #62675e; }
.nav-label { margin: 36px 13px 12px; font-size: 14px; color: #63665e; }
.nav-label span { margin-left: 5px; font-size: 13px; letter-spacing: 1.1px; font-family: Arial, sans-serif; }
.sidebar nav { display: grid; gap: 5px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 13px; height: 43px; padding: 0 14px; border-radius: 6px; font-size: 14px; color: #61695e; transition: color .2s, background .2s; }
.nav-item .icon { width: 18px; height: 18px; stroke-width: 1.6; }
.nav-item:hover { background: #f4f6f0; }
.nav-item.active { background: #eaf1e7; color: #2c6d50; font-weight: 600; }
.nav-item.active::before { content: ''; position: absolute; left: -19px; top: 12px; height: 20px; width: 3px; background: #387e5e; border-radius: 0 3px 3px 0; }
.nav-dot { width: 5px; height: 5px; border-radius: 100%; background: #a3b58c; margin-left: auto; }
.nav-divider { height: 1px; background: var(--line); margin: 25px 12px 0; flex: 0 0 auto; }
.nav-divider + .nav-label { margin-top: 23px; }
.sidebar-bottom { margin-top: auto; padding-top: 27px; }
.creator-box { padding: 18px 13px 13px; border: 1px solid #e9ecdf; border-radius: 8px; background: #f6f7ef; }
.creator-icon { margin-bottom: 12px; display: flex; width: 28px; height: 28px; background: #e8eedd; color: #576d41; align-items: center; justify-content: center; border-radius: 7px; }
.creator-icon .icon { width: 17px; height: 17px; }
.creator-box strong { font-size: 14px; font-weight: 500; }
.creator-box p { font-size: 14px; line-height: 1.6; color: #65685a; margin: 7px 0 14px; }
.creator-box .button { font-size: 14px; min-height: 33px; padding: 7px; }
.creator-box .button .icon { width: 14px; }
.support-link { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #64685f; width: 100%; padding: 19px 11px 0; }
.support-link .icon { width: 15px; height: 15px; }
.support-link .icon:last-child { width: 11px; margin-left: auto; }
.sidebar-version { display: block; color: #656861; font-size: 13px; font-family: Arial, sans-serif; letter-spacing: 1.15px; margin: 18px 12px 0; }
.workspace { margin-left: 218px; min-height: 100vh; display: flex; flex-direction: column; }
.topbar { height: 76px; padding: 0 33px; background: #ffffffdb; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.breadcrumbs { display: flex; align-items: center; gap: 13px; white-space: nowrap; font-size: 14px; color: #63675d; }
.breadcrumbs > .icon { width: 11px; height: 11px; stroke-width: 1; color: #62675e; }
.breadcrumbs strong { color: #5e6b57; font-weight: 500; }
.topbar-tools { display: flex; align-items: center; gap: 19px; }
.global-search { width: 305px; display: flex; align-items: center; gap: 10px; border-radius: 6px; background: #f4f6f0; border: 1px solid #edf0e6; padding: 9px 12px; color: #62675d; }
.global-search .icon { width: 16px; height: 16px; }
.global-search input { border: 0; background: transparent; font-size: 14px; flex: 1; outline: none; width: 100%; color: var(--ink); }
.global-search input::placeholder { color: #62665c; }
.global-search kbd { border: 1px solid #dde2d4; font-size: 14px; width: 17px; text-align: center; height: 17px; border-radius: 3px; color: #63675c; }
.notification-button { position: relative; color: #606958; }
.notification-button .icon { width: 18px; height: 18px; }
.notification-button i { width: 4px; height: 4px; border: 1px solid #fff; background: #9bac84; position: absolute; right: 9px; top: 8px; border-radius: 50%; }
.toolbar-divider { height: 20px; width: 1px; background: var(--line); margin-left: -6px; }
.user-menu { display: flex; align-items: center; gap: 9px; font-size: 14px; max-width: 175px; }
.user-menu > span:not(.avatar) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.user-menu .icon { width: 12px; height: 12px; color: #63675d; }
.avatar { background: #e9eede; border: 1px solid #dce4d0; color: #5b6a49; font-size: 14px; width: 30px; height: 30px; border-radius: 50%; display: inline-flex; justify-content: center; align-items: center; flex: 0 0 auto; }
.login-link { padding: 8px 0; color: var(--green); white-space: nowrap; font-size: 14px; }
.mobile-menu { display: none; }
#main { width: 100%; max-width: 1530px; margin: 0 auto; padding: 29px 33px 0; flex: 1; outline: none; }
.hero { min-height: 350px; display: grid; grid-template-columns: 49% 51%; background: #e8ecde; border: 1px solid #e1e7d5; border-radius: 11px; overflow: hidden; position: relative; }
.hero-content { padding: 31px 0 28px 34px; position: relative; z-index: 2; }
.hero-eyebrow { font-size: 14px; letter-spacing: 2px; color: #5e6b53; display: flex; align-items: center; gap: 7px; }
.hero-eyebrow i { width: 5px; height: 5px; background: #7e9a62; border-radius: 1px; transform: rotate(45deg); }
.hero h1 { font-size: clamp(25px, 2.35vw, 37px); line-height: 1.45; letter-spacing: 1px; font-weight: 650; color: #32482f; margin-top: 17px; }
.hero h1 span { color: #546c48; }
.hero-content > p { font-size: 14px; line-height: 1.9; color: #626958; margin-top: 13px; }
.hero-actions { display: flex; align-items: center; gap: 13px; margin-top: 21px; }
.hero-actions .button { padding: 10px 16px; min-height: 39px; font-size: 14px; border-radius: 5px; gap: 14px; }
.hero-actions .icon { width: 15px; height: 15px; }
.hero-secondary { border-color: #cdd6bf; background: transparent; color: #5c6c4d; }
.hero-secondary:hover { background: #dfe6d4; }
.hero-stats { display: flex; gap: 24px; margin-top: 26px; align-items: center; }
.hero-stats > div { display: flex; align-items: baseline; gap: 7px; }
.hero-stats strong { font-family: "Segoe UI", Arial, sans-serif; font-size: 23px; font-weight: 600; color: #556d44; }
.hero-stats strong small { font-size: 15px; margin-left: 3px; }
.hero-stats span { font-size: 13px; color: #616a56; }
.hero-stats > i { width: 1px; height: 17px; background: #d3ddc7; }
.hero-visual { position: relative; min-width: 0; }
.hero-visual > img { position: absolute; height: 100%; width: 138%; max-width: none; object-fit: cover; left: -22%; object-position: center 45%; mix-blend-mode: multiply; }
.hero-visual-tag { position: absolute; right: 27px; top: 25px; display: flex; align-items: center; gap: 6px; border: 1px solid #cad4ba; border-radius: 20px; padding: 6px 12px; font-size: 13px; color: #5f6954; }
.hero-visual-tag i { width: 4px; height: 4px; border-radius: 50%; background: #8ea374; }
.hero-index { position: absolute; bottom: 23px; right: 27px; font-family: Arial, sans-serif; font-size: 13px; letter-spacing: 1.3px; color: #9caa8b; display: flex; gap: 12px; }
.hero-index b { font-weight: 400; color: #728565; }
.announcement { display: flex; gap: 10px; align-items: center; margin-top: 17px; background: #f0f2e9; border-radius: 5px; padding: 12px 15px; font-size: 14px; color: #636658; }
.announcement > .icon { width: 14px; height: 14px; color: #5f694f; }
.announcement strong { font-size: 14px; color: #5e6a4d; font-weight: 500; white-space: nowrap; }
.announcement > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.announcement > button { color: #5f6852; margin-left: auto; white-space: nowrap; display: flex; align-items: center; gap: 5px; font-size: 13px; }
.announcement > button .icon { width: 11px; height: 11px; }
.content-section { margin-top: 30px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 20px; }
.section-heading h2 { font-size: 21px; font-weight: 600; letter-spacing: .4px; }
.section-heading p { color: #63665c; font-size: 14px; margin-top: 8px; }
.section-heading > .text-link { font-size: 14px; color: #606858; gap: 8px; }
.section-heading > .text-link .icon { width: 14px; height: 14px; }
.heading-dot { color: #546e45; padding-left: 3px; font-size: 25px; }
.filter-panel { padding: 6px 18px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.filter-row { display: flex; align-items: flex-start; gap: 17px; padding: 13px 0; border-bottom: 1px dashed #eceee5; }
.filter-row:last-child { border: 0; }
.filter-label { font-size: 14px; color: #64685c; padding-top: 6px; white-space: nowrap; }
.filter-values { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 13px; flex: 1; }
.filter-chip { font-size: 14px; padding: 5px 10px; border-radius: 4px; min-height: 25px; color: #606757; white-space: nowrap; transition: background .15s; }
.filter-chip:hover { background: #f1f4eb; }
.filter-chip.selected { background: #edf2e5; color: #4f6e45; font-weight: 500; }
.filter-more { font-size: 14px; color: #616658; display: flex; align-items: center; gap: 3px; padding: 4px; margin-left: auto; }
.filter-more .icon { width: 11px; height: 11px; }
.filter-more.expanded .icon { transform: rotate(180deg); }
.more-cities { display: none; }
.more-cities.expanded { display: contents; }
.sort-bar { margin: 23px 0 17px; display: flex; align-items: center; justify-content: space-between; font-size: 14px; }
.sort-options { display: flex; align-items: center; gap: 24px; }
.sort-options button { padding: 0 0 9px; font-size: 14px; color: #616659; position: relative; }
.sort-options button.active { color: #4c703e; font-weight: 600; }
.sort-options button > span { position: absolute; width: 16px; height: 2px; background: #4f7541; bottom: 0; left: calc(50% - 8px); border-radius: 2px; }
.result-count { display: flex; gap: 5px; align-items: center; color: #64685e; padding-bottom: 8px; font-size: 13px; }
.result-count strong { color: #566b4a; font-weight: 500; }
.result-count > span { display: inline-flex; border: 1px solid #e1e6d6; border-radius: 4px; color: #5d6a50; padding: 4px; margin-left: 12px; background: white; }
.result-count .icon { width: 12px; height: 12px; }
.model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 19px; }
.model-card { background: #fff; border: 1px solid #e5e9dd; border-radius: 8px; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; min-width: 0; }
.model-card:hover { transform: translateY(-3px); box-shadow: 0 7px 22px #334b2910; border-color: #d1ddc4; }
.card-image-wrap { position: relative; aspect-ratio: 1.6; overflow: hidden; background: #edf0e5; border-bottom: 1px solid #ecefe5; }
.model-visual { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: hidden; }
.model-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; }
.model-card:hover .model-visual img { transform: none; }
.image-category { position: absolute; top: 12px; left: 12px; font-size: 13px; padding: 4px 7px; color: #616955; border: 1px solid #e6ecdf; border-radius: 4px; background: #fdfef7d9; pointer-events: none; }
.favorite-button { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; position: absolute; right: 11px; top: 11px; color: #616a58; background: #ffffffb5; border: 1px solid #eef2e5; }
.favorite-button .icon { width: 12px; height: 12px; }
.favorite-button:hover { color: var(--green); background: #fff; }
.favorite-button.saved { color: #576c42; background: white; }
.favorite-button.saved .icon { fill: #d9e6c9; stroke: #78915f; }
.format-tag { position: absolute; left: 12px; bottom: 10px; color: #fff; background: #7c8b71ca; font-family: Arial, sans-serif; font-size: 13px; padding: 3px 6px; letter-spacing: .4px; border-radius: 3px; }
.aerial-badge { position: absolute; right: 10px; bottom: 10px; color: white; background: #48694fb8; font-size: 13px; padding: 3px 5px; border-radius: 3px; }
.aerial-badge .icon { width: 11px; height: 11px; }
.model-card-body { padding: 14px 13px 0; }
.model-title { font-size: 14px; font-weight: 500; line-height: 1.7; height: 37px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.model-title:hover { color: var(--green); }
.model-meta { display: flex; align-items: center; justify-content: space-between; gap: 4px; color: #64685d; font-size: 13px; margin: 11px 0 13px; }
.model-meta > span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.model-meta i { font-style: normal; padding: 0 2px; }
.model-meta .icon { width: 10px; height: 10px; }
.card-bottom { display: flex; gap: 4px; align-items: center; justify-content: space-between; padding: 11px 0; border-top: 1px solid #f0f2e9; }
.card-author { min-width: 0; display: inline-flex; gap: 5px; align-items: center; font-size: 13px; color: #606857; white-space: nowrap; }
.mini-avatar { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; border-radius: 50%; background: #e7ecde; color: #616756; font-size: 13px; flex: 0 0 auto; }
.card-price { color: #596c49; white-space: nowrap; }
.card-price b { font-family: "Segoe UI", Arial, sans-serif; font-size: 15px; font-weight: 600; }
.card-price small { font-size: 13px; font-weight: 400; color: #616859; }
.demand-section { margin-top: 35px; }
.demand-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.demand-card { padding: 19px 18px 0; background: white; border: 1px solid #e5e9dd; border-radius: 8px; min-width: 0; transition: border-color .2s, transform .2s; }
.demand-card:hover { border-color: #cad9bd; transform: translateY(-2px); }
.demand-card-top { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.demand-category { display: inline-flex; align-items: center; gap: 6px; color: #606659; font-size: 13px; }
.demand-category .icon { width: 13px; height: 13px; color: #606952; }
.badge { display: inline-flex; gap: 5px; align-items: center; font-size: 13px; font-weight: 400; padding: 4px 8px; border-radius: 4px; line-height: 1.4; white-space: nowrap; }
.badge.green { background: #edf3e7; color: #586c47; }
.badge.amber { background: #faf1df; color: #7a6234; }
.badge.red { background: #f9ebe6; color: #8a5c4d; }
.badge.blue { background: #e9f0f4; color: #536876; }
.badge.gray { background: #f1f2ed; color: #616659; }
.badge.outline { border: 1px solid #dbe2d0; color: #5e6851; }
.demand-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; height: 38px; font-size: 14px; line-height: 1.7; font-weight: 500; margin-top: 15px; }
.demand-title:hover { color: var(--green); }
.demand-meta { display: flex; align-items: center; gap: 6px; color: #61675a; font-size: 13px; margin-top: 10px; }
.demand-meta .icon { width: 10px; height: 10px; }
.demand-meta i { font-style: normal; margin: 0 2px; }
.demand-reward { display: flex; align-items: flex-end; justify-content: space-between; margin: 18px 0; }
.demand-reward > div { display: flex; align-items: baseline; gap: 7px; }
.demand-reward > div > span { font-size: 13px; color: #63685b; }
.demand-reward strong { font-size: 22px; font-family: "Segoe UI", Arial, sans-serif; color: #79623f; font-weight: 500; }
.demand-reward strong small { font-family: inherit; font-size: 13px; font-weight: 400; color: #6a6354; margin-left: 5px; }
.deadline { display: flex; align-items: center; gap: 4px; color: #636659; font-size: 13px; padding-bottom: 3px; }
.deadline .icon { width: 11px; height: 11px; }
.demand-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 6px; border-top: 1px solid #f0f2e9; padding: 12px 0; }
.demand-card-bottom > span { display: flex; gap: 6px; align-items: center; font-size: 13px; color: #616759; }
.demand-card-bottom > a { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: #5a6a4c; }
.demand-card-bottom .icon { width: 12px; height: 12px; }
.contributor-banner { margin: 31px 0 0; padding: 25px 30px; border: 1px solid #e5e9d8; background: #edf0e4; border-radius: 8px; display: flex; align-items: center; gap: 25px; position: relative; overflow: hidden; }
.contributor-banner h2 { font-size: 18px; color: #5d6b4d; font-weight: 500; margin-top: 8px; }
.contributor-banner p { margin-top: 8px; color: #606756; font-size: 14px; }
.contributor-banner .eyebrow { font-size: 13px; color: #606754; }
.contributor-banner > a { margin-left: auto; background: #f8faf0; color: #5b694b; border-color: #dae1cc; font-size: 14px; }
.contributor-illustration { position: relative; width: 62px; height: 62px; display: grid; place-items: center; transform: rotate(-8deg); }
.contributor-illustration > .icon:first-child { width: 60px; height: 60px; stroke-width: .8; color: #5f6852; fill: #d9e2ca; }
.contributor-illustration > .icon:last-child { width: 22px; height: 22px; position: absolute; right: -7px; top: -8px; fill: #cbd9b5; color: #5e684d; stroke-width: 1; }
.footer { padding: 30px 33px 23px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; color: #64685e; font-size: 13px; }
.footer > span { display: inline-flex; gap: 12px; align-items: center; }
.footer i { width: 1px; height: 9px; background: #d5dcc9; }
.footer > div { display: flex; align-items: center; gap: 18px; order: 2; }
.footer button { color: #64685e; font-size: 13px; padding: 0; }
.footer .footer-registration { flex: 1 1 auto; order: 1; flex-wrap: wrap; justify-content: center; gap: 6px 18px; text-align: center; }
.footer-registration a:hover { color: var(--green); text-decoration: underline; }
.footer .footer-contacts { flex: 0 0 100%; order: -1; flex-wrap: wrap; justify-content: center; gap: 24px 40px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.footer-contact { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0; }
.footer-contact > a { flex: 0 0 auto; }
.footer-contact img { width: 128px; height: 128px; object-fit: contain; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
.footer-contact figcaption { display: flex; flex-direction: column; gap: 5px; text-align: left; }
.footer-contact strong { color: var(--ink); font-size: 15px; font-weight: 600; }
.footer-contact small { font-size: 12px; color: var(--muted); }
.environment-dot { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; }
.environment-dot::before { content: ''; width: 4px; height: 4px; background: #a7b78f; border-radius: 50%; }
.page-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 6px 0 28px; }
.page-heading .eyebrow { font-size: 13px; color: #64685a; }
.page-heading h1 { font-size: 25px; font-weight: 600; letter-spacing: .4px; margin-top: 13px; line-height: 1.5; }
.page-heading p { font-size: 14px; line-height: 1.8; color: #616659; margin-top: 10px; }
.page-heading > .button { font-size: 14px; }
.search-summary { color: #5e6b54; font-size: 14px; display: flex; gap: 25px; margin-bottom: 20px; padding: 12px 0; }
.search-summary .text-button { font-size: 14px; }
.pagination { display: flex; gap: 7px; align-items: center; justify-content: center; margin-top: 30px; }
.pagination button { display: grid; place-items: center; min-width: 31px; height: 31px; border: 1px solid #e1e7d6; background: #fff; border-radius: 5px; font-size: 14px; color: #5f6953; }
.pagination button.current { background: #788e63; color: #fff; border-color: #788e63; }
.pagination .icon { width: 12px; height: 12px; }
.demo-footnote { margin-top: 25px; text-align: center; font-size: 13px; color: #64685c; }
.empty-state { grid-column: 1 / -1; padding: 65px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.empty-state > div { width: 70px; height: 70px; display: grid; place-items: center; background: #f0f3e8; border-radius: 20px; color: #5f6756; transform: rotate(-6deg); }
.empty-state > div .icon { width: 35px; height: 35px; stroke-width: 1; }
.empty-state h3 { font-size: 18px; font-weight: 500; margin-top: 23px; }
.empty-state > p { font-size: 14px; color: #64695c; margin-top: 10px; line-height: 1.8; }
.empty-state > .button { margin-top: 24px; font-size: 14px; min-height: 37px; }
.panel { background: #fff; border: 1px solid #e6eade; border-radius: 9px; overflow: hidden; }
.panel h2 { font-size: 18px; font-weight: 500; }
.panel-heading { padding: 22px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #eff1e8; gap: 15px; }
.panel-heading h2 { font-size: 16px; }
.panel-heading .text-link { font-size: 14px; }
.info-banner { display: flex; align-items: center; gap: 16px; margin-top: 30px; padding: 23px; border: 1px solid #e6eadc; border-radius: 8px; background: #eff3e7; color: #5d6c4d; font-size: 14px; }
.info-banner > .icon { width: 27px; height: 27px; }
.info-banner div { display: flex; flex-direction: column; gap: 8px; }
.info-banner strong { color: #586b46; font-weight: 500; }
.info-banner span { color: #606956; font-size: 14px; line-height: 1.8; }
.info-banner.compact { margin: 0 0 22px; padding: 16px; }
.info-banner.compact .icon { width: 18px; height: 18px; }
.back-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #5f6656; margin: 3px 0 23px; }
.back-link .icon { width: 14px; height: 14px; }
.detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 26px; }
.title-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.detail-heading h1 { font-size: 26px; font-weight: 550; line-height: 1.6; margin-top: 12px; }
.detail-heading p { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #64695c; margin-top: 14px; flex-wrap: wrap; }
.detail-heading p i { font-style: normal; margin: 0 5px; color: #63665e; }
.detail-heading > .button { font-size: 14px; }
.resource-detail { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: 23px; align-items: start; }
.resource-detail > div { min-width: 0; }
.gallery-panel { padding: 18px; }
.gallery-tabs { display: flex; align-items: center; gap: 24px; padding: 0 3px 17px; }
.gallery-tabs button { font-size: 14px; color: #606956; position: relative; padding: 5px 0; }
.gallery-tabs button.active { color: #4c6f3e; font-weight: 500; }
.gallery-tabs button.active::after { content: ''; height: 2px; width: 15px; background: #76915e; position: absolute; bottom: -9px; left: calc(50% - 7px); }
.gallery-tabs > span { margin-left: auto; font-size: 13px; color: #616658; display: flex; align-items: center; gap: 5px; }
.gallery-tabs > span .icon { width: 13px; height: 13px; }
.gallery-main { width: 100%; aspect-ratio: 1.65; overflow: hidden; position: relative; border-radius: 6px; background: #edf0e7; padding: 0; }
.gallery-main > img { width: 100%; height: 100%; object-fit: contain; }
.gallery-main > span { position: absolute; bottom: 12px; right: 12px; color: #5e6952; background: #ffffffe3; border-radius: 5px; padding: 6px 9px; font-size: 13px; display: flex; align-items: center; gap: 5px; }
.gallery-main > span .icon { width: 11px; height: 11px; }
.gallery-thumbnails { display: flex; gap: 10px; margin-top: 13px; flex-wrap: wrap; }
.gallery-thumbnails button { padding: 2px; border: 1px solid #e9eddf; border-radius: 5px; width: 85px; height: 57px; }
.gallery-thumbnails button.selected { border-color: #97ad7f; }
.gallery-thumbnails img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; }
.description-panel { padding: 25px; margin-bottom: 23px; }
.gallery-panel + .description-panel { margin-top: 23px; }
.description-panel > h2 { font-size: 17px; border-left: 3px solid #89a571; padding-left: 10px; margin-bottom: 22px; }
.description-panel > p { font-size: 14px; color: #616858; line-height: 2.2; }
.description-panel > h3 { font-size: 14px; font-weight: 500; margin-top: 25px; }
.notice-box { display: flex; align-items: flex-start; gap: 10px; padding: 14px 15px; margin-top: 20px; background: #f5f6ee; border: 1px solid #ecefdf; border-radius: 6px; color: #646958; font-size: 14px; line-height: 1.9; }
.notice-box > .icon { width: 15px; height: 15px; color: #616a53; margin-top: 2px; }
.rules-list { padding-left: 18px; font-size: 14px; line-height: 2.4; color: #63695a; }
.detail-sidebar { position: sticky; top: 22px; }
.basic-info { padding: 23px 21px 21px; }
.basic-info h2 { font-size: 16px; display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.basic-info h2 span { font-size: 13px; color: #616759; font-family: Arial, sans-serif; letter-spacing: 1px; }
.basic-info dl { margin: 22px 0; }
.basic-info dl > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px dashed #ecf0e2; font-size: 14px; }
.basic-info dt { color: #626859; flex: 0 0 auto; }
.basic-info dd { color: #5b6a4d; margin: 0; text-align: right; overflow-wrap: anywhere; max-width: 67%; }
.download-box { padding-top: 5px; }
.download-box > span { font-size: 14px; color: #616956; }
.detail-price { color: #526d3f; display: flex; align-items: baseline; gap: 7px; margin: 13px 0 22px; }
.detail-price strong { font-family: "Segoe UI", Arial, sans-serif; font-size: 33px; font-weight: 550; }
.detail-price small { font-size: 14px; color: #5f6755; }
.download-box > p { display: flex; justify-content: center; align-items: center; gap: 4px; font-size: 13px; color: #5f6657; margin-top: 14px; }
.download-box > p .icon { width: 11px; height: 11px; }
.response-status { margin-bottom: 14px; }
.detail-help { margin-top: 18px; display: flex; align-items: center; gap: 12px; padding: 16px; background: #f0f3e8; border-radius: 7px; color: #5f6952; }
.detail-help > .icon { width: 24px; height: 24px; }
.detail-help strong { font-size: 14px; font-weight: 400; display: block; margin-bottom: 7px; color: #606a53; }
.detail-help .text-button { font-size: 13px; color: #5c6c4a; }
.demand-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 30px; background: #f5f7ef; border-radius: 7px; padding: 22px; gap: 15px; }
.demand-facts > div { display: flex; gap: 10px; align-items: center; }
.demand-facts > div > .icon { width: 22px; height: 22px; color: #5d6852; }
.demand-facts span { font-size: 13px; color: #616759; }
.demand-facts strong { display: block; color: #5b6a4e; font-size: 14px; font-weight: 400; margin-top: 8px; }
.process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 26px 0 10px; }
.process-steps b { display: block; color: #606657; font-family: Georgia, serif; font-size: 28px; font-style: italic; font-weight: 400; margin-bottom: 17px; }
.process-steps strong { font-size: 14px; color: #5c6c4e; font-weight: 500; }
.process-steps p { font-size: 13px; color: #61685a; line-height: 1.9; margin-top: 9px; }
.publish-layout { display: grid; grid-template-columns: minmax(0, 1fr) 225px; gap: 25px; align-items: start; }
.form-section { padding: 25px; margin-bottom: 20px; }
.form-section-title { display: flex; align-items: center; gap: 11px; margin-bottom: 24px; }
.form-section-title > span { font-family: "Segoe UI", sans-serif; font-size: 14px; border: 1px solid #dce5cf; background: #f1f5e9; color: #5e6b4d; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 7px; }
.form-section-title h2 { font-size: 16px; font-weight: 500; }
.publish-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
.publish-type { display: flex; flex-direction: column; align-items: center; padding: 20px 5px; border: 1px solid #e4ead9; border-radius: 7px; position: relative; }
.publish-type.selected { border-color: #9db78a; background: #f1f5e9; }
.publish-type > .icon { width: 23px; height: 23px; color: #5f6955; margin-bottom: 13px; }
.publish-type strong { font-size: 14px; color: #5a6c4b; font-weight: 400; }
.publish-type small { margin-top: 7px; font-size: 13px; color: #5f6656; }
.publish-type > span { background: #8aa774; color: white; width: 17px; height: 17px; display: grid; place-items: center; border-radius: 0 5px 0 5px; position: absolute; top: 0; right: 0; }
.publish-type > span .icon { width: 12px; height: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 22px; }
.field { display: flex; flex-direction: column; gap: 9px; min-width: 0; margin-bottom: 20px; }
.form-grid > .field { margin-bottom: 0; }
.field > label { font-size: 14px; color: #5d6951; }
.field em, .upload-section em { font-size: 14px; font-style: normal; margin-left: 4px; color: #5f694f; }
.field input, .field textarea, .field select { background: #fcfdf8; border: 1px solid #e2e8d7; border-radius: 5px; color: #5b6c4c; padding: 12px; width: 100%; font-size: 14px; line-height: 1.6; }
.field input::placeholder, .field textarea::placeholder { color: #63685b; font-size: 14px; }
.field input:focus, .field textarea:focus, .field select:focus { outline: 0; border-color: #91ae79; box-shadow: 0 0 0 3px #96ae7b0d; }
.field input:disabled { background: #f3f5ed; color: #636959; }
.field select { cursor: pointer; }
.field textarea { resize: vertical; min-height: 90px; }
.field small { font-size: 13px; color: #62685a; line-height: 1.7; }
.wide-field, .field:has(input.wide) { grid-column: 1 / -1; }
.file-upload-box { background: #f7f9f2; padding: 15px; border: 1px dashed #d9e2cc; border-radius: 6px; margin-top: 25px; }
.file-upload-label { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.file-upload-label > .icon { width: 25px; height: 25px; color: #5f6a53; }
.file-upload-label > div { flex: 1; }
.file-upload-label strong { display: block; color: #5e6b50; font-size: 14px; font-weight: 400; }
.file-upload-label > div > span { display: block; color: #606656; font-size: 13px; margin-top: 7px; line-height: 1.6; }
.file-upload-label .button { font-size: 13px; }
.upload-section { margin-top: 27px; }
.upload-section > h3 { font-size: 14px; font-weight: 400; color: #5f6b51; }
.upload-section > p { font-size: 13px; color: #616858; margin-top: 8px; }
.upload-area { margin-top: 13px; min-height: 115px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px dashed #d9e3cb; border-radius: 6px; background: #fafbf6; color: #5f6954; cursor: pointer; }
.upload-area > .icon { width: 24px; height: 24px; stroke-width: 1; }
.upload-area > strong { font-weight: 400; font-size: 14px; margin-top: 10px; }
.upload-area > span { font-size: 13px; color: #63695a; margin-top: 5px; }
.upload-preview-list { display: flex; flex-wrap: wrap; gap: 9px; }
.upload-preview { position: relative; height: 64px; width: 90px; padding: 4px; border: 1px solid #dce6cf; border-radius: 5px; margin-top: 12px; }
.upload-preview img { width: 100%; height: 100%; object-fit: cover; }
.upload-preview > button { position: absolute; top: -5px; right: -5px; width: 18px; height: 18px; background: #8eaa76; color: white; border-radius: 50%; display: grid; place-items: center; padding: 0; }
.upload-preview > button .icon { width: 11px; height: 11px; }
.file-preview { width: auto; height: auto; display: flex; align-items: center; gap: 7px; font-size: 14px; padding: 8px 20px 8px 10px; color: #5d6a4d; }
.upload-wait { margin-top: 12px; display: flex; align-items: center; gap: 6px; font-size: 14px; color: #5f6b52; }
.upload-wait .loader { width: 15px; height: 15px; }
.publish-submit { padding: 0 25px 25px; }
.check-label { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: #616a56; line-height: 1.9; margin: 21px 0; }
.check-label input { width: 13px; height: 13px; margin: 3px 0 0; flex-shrink: 0; accent-color: #799561; }
.check-label .text-button { font-size: inherit; line-height: inherit; }
.submit-row { border-top: 1px solid #edf1e4; padding-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.submit-row .small { font-size: 13px; }
.submit-row .button { font-size: 14px; }
.form-error { color: #875c4d; font-size: 14px; margin-top: 15px; line-height: 1.8; }
.form-error:empty { display: none; }
.publish-tips { padding: 23px 10px 0; position: sticky; top: 25px; }
.tips-icon { display: grid; place-items: center; width: 37px; height: 37px; background: #eaf0df; border: 1px solid #e0e8d4; color: #5d694e; border-radius: 10px; margin-bottom: 20px; }
.publish-tips h3 { color: #5c6a4e; font-size: 18px; font-weight: 500; }
.publish-tips > p { font-size: 14px; line-height: 2; color: #61685a; margin-top: 10px; }
.publish-tips ol { list-style: none; counter-reset: tips; padding: 0; margin: 30px 0 0; }
.publish-tips li { counter-increment: tips; position: relative; padding-left: 25px; margin-bottom: 28px; }
.publish-tips li::before { content: '0' counter(tips); position: absolute; top: 0; left: 0; color: #62685a; font-size: 14px; }
.publish-tips strong { display: block; font-size: 14px; color: #5f6a52; font-weight: 400; margin-bottom: 9px; }
.publish-tips li span { display: block; font-size: 13px; color: #63695a; line-height: 1.9; }
.publish-tips .text-link { font-size: 14px; color: #5e6b4f; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 19px; margin: 24px 0; }
.stat-card { padding: 23px 19px; border: 1px solid #e5ebdb; border-radius: 8px; background: #fff; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.stat-card > div { min-width: 0; }
.stat-card > div > span { font-size: 14px; color: #5f6755; }
.stat-card strong { font-family: "Segoe UI", sans-serif; display: block; font-size: 29px; line-height: 1.3; font-weight: 500; color: #5a6c4a; margin-top: 13px; }
.stat-card small { display: block; color: #5f6657; font-size: 13px; line-height: 1.8; margin-top: 11px; }
.stat-icon { display: grid; place-items: center; background: #f1f5e9; color: #606a55; width: 32px; height: 32px; border-radius: 8px; flex-shrink: 0; }
.stat-icon .icon { width: 17px; height: 17px; }
.stat-card.highlight { background: #eaf0df; border-color: #dde7ce; }
.stat-card.highlight strong { color: #536d3c; }
.stat-card.highlight .stat-icon { background: #dfe9cf; color: #5b684c; }
.hello-wave { margin-left: 12px; color: #606b51; font-size: 28px; font-weight: 400; }
.dashboard-notice { display: flex; align-items: center; gap: 12px; background: #eff3e6; border: 1px solid #e7ecdb; padding: 15px; border-radius: 7px; color: #606956; font-size: 14px; }
.dashboard-notice > .icon { width: 15px; height: 15px; }
.dashboard-notice .text-button { margin-left: auto; white-space: nowrap; font-size: 13px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 23px; align-items: start; }
.quick-panel { padding: 22px; }
.quick-panel > h2 { font-size: 16px; margin-bottom: 12px; }
.quick-link { display: flex; align-items: center; gap: 11px; padding: 18px 0; border-bottom: 1px solid #eff3e6; }
.quick-link > span { width: 34px; height: 34px; border-radius: 8px; background: #f0f5e7; color: #5d6951; display: grid; place-items: center; }
.quick-link > span .icon { width: 18px; height: 18px; }
.quick-link strong { display: block; font-size: 14px; font-weight: 400; color: #5e6b4f; }
.quick-link small { display: block; margin-top: 7px; font-size: 13px; color: #616759; }
.quick-link > .icon { margin-left: auto; width: 12px; height: 12px; color: #616957; }
.balance-note { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; background: #f5f8ed; padding: 15px; border-radius: 6px; margin-top: 22px; font-size: 14px; color: #616a56; gap: 10px; }
.balance-note strong { font-size: 18px; font-weight: 500; color: #5e6b4f; }
.balance-note small { width: 100%; font-size: 13px; color: #63695a; }
.panel-tabs { display: flex; gap: 28px; padding: 0 23px; border-bottom: 1px solid #eaf0e0; }
.panel-tabs > a { font-size: 14px; padding: 21px 0; color: #616956; position: relative; display: flex; gap: 8px; align-items: center; white-space: nowrap; }
.panel-tabs > a.active { color: #566b43; font-weight: 500; }
.panel-tabs > a.active::after { content: ''; position: absolute; bottom: -1px; left: 0; right: 0; height: 2px; border-radius: 3px; background: #8ca874; }
.panel-tabs span { font-size: 13px; background: #f0f5e6; color: #5e6951; padding: 2px 5px; border-radius: 4px; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; text-align: left; font-size: 14px; }
th { padding: 17px 22px; background: #fafbf6; color: #61685a; font-size: 13px; font-weight: 400; white-space: nowrap; }
td { padding: 17px 22px; color: #616a55; border-bottom: 1px solid #edf2e3; }
tr:last-child td { border-bottom: 0; }
tr:hover td { background: #fdfefb; }
.table-resource { display: flex; align-items: center; gap: 13px; min-width: 220px; }
.table-resource > img { width: 59px; height: 43px; object-fit: cover; border-radius: 5px; background: #edf2e4; }
.table-resource > span { max-width: 290px; }
.table-resource strong { color: #5a6b4a; font-size: 14px; font-weight: 400; line-height: 1.8; display: block; }
.table-resource small { font-size: 13px; color: #5f6656; margin-top: 5px; display: block; }
.table-title { color: #5a6b48; font-size: 14px; line-height: 1.8; display: inline-block; min-width: 160px; max-width: 360px; }
.table-title:hover { color: #4f6e38; }
.table-actions { display: flex; align-items: center; gap: 12px; white-space: nowrap; }
.table-actions .text-button { font-size: 14px; }
.table-actions .button { font-size: 13px; min-height: 30px; padding: 6px 10px; }
.review-materials { display: grid; gap: 9px; min-width: 210px; max-width: 320px; }
.review-cloud-url { font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.review-extraction-code { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; }
.review-extraction-code b { overflow-wrap: anywhere; }
.review-extraction-code .text-button { font-size: 13px; }
.modal.admin-edit-modal { width: 820px; }
.admin-edit-modal .upload-section { border-top: 1px solid #eaf0e0; padding-top: 20px; margin-top: 24px; }
.admin-edit-modal .admin-sort-image { width: 120px; height: auto; flex: 0 0 120px; cursor: grab; }
.admin-sort-image > img { display: block; height: 78px; border-radius: 3px; user-select: none; }
.admin-sort-image[draggable="false"] { cursor: default; }
.admin-sort-image.dragging { opacity: .45; }
.admin-sort-image.drag-over { outline: 3px solid #24765e; outline-offset: 2px; }
.admin-sort-image:focus-visible { outline: 2px solid #24765e; outline-offset: 2px; }
.admin-image-position { position: absolute; top: 6px; left: 6px; background: #245840; color: white; border-radius: 3px; padding: 1px 6px; font-size: 12px; pointer-events: none; }
.admin-image-order { display: flex; gap: 4px; margin-top: 5px; }
.admin-image-order button { flex: 1; min-height: 32px; border: 1px solid #dce6cf; border-radius: 4px; background: #f5f8ee; color: #315943; font-size: 13px; cursor: pointer; }
.admin-image-order button:disabled { opacity: .4; cursor: default; }
.table-empty { display: flex; align-items: center; flex-direction: column; justify-content: center; gap: 16px; min-height: 190px; color: #62695a; font-size: 14px; }
.table-empty .icon { width: 31px; height: 31px; stroke-width: 1; }
.ledger-note { max-width: 370px; font-size: 13px; line-height: 1.9; }
.mall-summary { display: grid; grid-template-columns: 1fr 1.15fr; gap: 21px; }
.mall-balance { background: #e8efdc; border: 1px solid #e0e8d1; padding: 28px; border-radius: 9px; }
.mall-balance > span { color: #5e6b4f; font-size: 14px; display: flex; align-items: center; gap: 9px; }
.mall-balance > span .icon { width: 17px; height: 17px; }
.mall-balance > strong { font-family: "Segoe UI", sans-serif; font-weight: 500; color: #566d3f; font-size: 41px; display: block; margin-top: 15px; }
.mall-balance strong small { font-size: 14px; font-weight: 400; margin-left: 10px; }
.mall-balance > div { display: flex; gap: 25px; margin-top: 20px; }
.mall-balance > div > span { color: #606952; font-size: 13px; }
.mall-balance > div b { margin-left: 10px; font-weight: 400; color: #5c6a4c; }
.mall-guide { border: 1px solid #e7edda; border-radius: 9px; padding: 30px; background: #f0f4e8; position: relative; overflow: hidden; }
.mall-guide .eyebrow { color: #606754; font-size: 13px; }
.mall-guide h2 { color: #5d6b4e; font-size: 21px; font-weight: 400; margin-top: 17px; position: relative; z-index: 1; }
.mall-guide p { color: #606757; font-size: 14px; line-height: 2; margin-top: 17px; }
.mall-guide > .icon { width: 150px; height: 150px; color: #d9e4c6; position: absolute; right: -20px; bottom: -30px; stroke-width: .7; transform: rotate(-15deg); }
.demo-warning { display: flex; align-items: flex-start; gap: 9px; padding: 15px 17px; background: #f7f1e3; border: 1px solid #eee6d2; color: #6e644e; font-size: 14px; border-radius: 6px; margin-top: 22px; line-height: 1.9; }
.demo-warning > .icon { width: 15px; height: 15px; margin-top: 2px; color: #716650; }
.demo-warning strong { color: #726446; font-weight: 500; }
.package-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.package-card { min-width: 0; padding: 22px 16px; background: #fff; border: 1px solid #e5ecd9; border-radius: 8px; position: relative; }
.package-card.recommended { border-color: #9fb98a; background: #f8faf3; }
.payment-order-number { display: inline-block; max-width: 220px; overflow-wrap: anywhere; font-size: 12px; }
.payment-order-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.recommend-label { position: absolute; right: 0; top: 0; color: white; background: #93ad7c; padding: 5px 13px; font-size: 13px; border-radius: 0 7px 0 7px; }
.package-name { color: #5e6853; font-size: 14px; }
.package-points { margin-top: 26px; display: flex; align-items: baseline; gap: 8px; }
.package-points strong { font-family: "Segoe UI", sans-serif; font-size: 39px; font-weight: 500; color: #596c48; }
.package-points span { color: #606a55; font-size: 14px; }
.package-card > p { color: #606758; font-size: 13px; margin-top: 13px; }
.package-price { border-top: 1px solid #ecf1e1; padding-top: 20px; margin-top: 25px; display: flex; align-items: baseline; gap: 5px; }
.package-price small { font-size: 13px; color: #5f6855; }
.package-price b { color: #5b6b4b; font-family: "Segoe UI", sans-serif; font-size: 25px; font-weight: 400; }
.package-price span { color: #62695a; font-size: 13px; }
.package-card > .button { margin-top: 20px; font-size: 14px; }
.trial-card { display: flex; align-items: center; gap: 20px; padding: 23px; border: 1px solid #e5ecd9; border-radius: 8px; margin: 20px 0 30px; background: #f1f5e7; }
.trial-symbol { width: 40px; height: 40px; background: #e8efda; color: #5d6a4f; border-radius: 11px; display: grid; place-items: center; }
.trial-card h3 { font-size: 15px; color: #5c6a4d; font-weight: 400; }
.trial-card p { font-size: 13px; color: #606757; margin-top: 8px; }
.trial-card > .button { margin-left: auto; font-size: 14px; }
.account-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 25px; align-items: start; }
.profile-card { text-align: center; padding: 32px 25px; display: flex; flex-direction: column; align-items: center; }
.large-avatar { width: 75px; height: 75px; border-radius: 50%; background: #e9f0dc; color: #5d6a51; border: 1px solid #e0eacd; font-size: 28px; display: inline-flex; align-items: center; justify-content: center; }
.profile-card h2 { font-size: 19px; margin: 18px 0 13px; }
.profile-card > p { color: #5f6856; font-size: 14px; line-height: 2; margin: 23px 0 25px; }
.profile-card > .small { font-size: 13px; color: #63695b; }
.form-bottom { display: flex; justify-content: flex-end; padding-top: 24px; }
.form-bottom .button { font-size: 14px; }
.logout-button { color: #7d5e52; font-size: 14px; border: 1px solid #ece3d9; }
.modal-open { overflow: hidden; }
.modal-overlay { position: fixed; inset: 0; z-index: 100; background: #1e352f66; backdrop-filter: blur(5px); display: flex; align-items: center; justify-content: center; padding: 30px; overflow-y: auto; animation: fade-in .18s; }
.modal { position: relative; background: #fff; border: 1px solid #ecf0e3; width: 480px; padding: 30px; border-radius: 13px; box-shadow: 0 20px 80px #1f392c25; max-width: 100%; max-height: calc(100dvh - 60px); overflow-y: auto; }
.modal-close { position: absolute; top: 12px; right: 12px; color: #606856; z-index: 2; }
.modal-close .icon { width: 16px; height: 16px; }
.modal-heading { padding: 9px 0 20px; }
.modal-heading > .icon { width: 26px; height: 26px; color: #5d6850; margin-bottom: 18px; stroke-width: 1.25; }
.modal-heading h2 { font-size: 22px; font-weight: 500; line-height: 1.5; padding-right: 10px; }
.modal-heading > p { color: #616958; font-size: 14px; line-height: 2; margin-top: 12px; }
.modal-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 26px; }
.modal-actions .button { font-size: 14px; min-height: 39px; }
.modal .notice-box { margin-top: 0; }
.modal .check-label { font-size: 14px; }
.confirm-resource { display: flex; gap: 15px; align-items: center; padding: 13px; border: 1px solid #e9efde; border-radius: 7px; margin-bottom: 20px; background: #fbfcf7; }
.confirm-resource img { width: 85px; height: 64px; object-fit: cover; background: #f0f4e7; border-radius: 5px; }
.confirm-resource strong { color: #5f6b50; font-size: 14px; font-weight: 400; line-height: 1.9; }
.confirm-resource p { color: #606857; font-size: 13px; margin-top: 8px; }
.confirm-balance { padding: 17px; background: #f2f6e8; border-radius: 6px; color: #5f6a54; font-size: 14px; margin-bottom: 20px; }
.confirm-balance strong { color: #5b6c4c; font-family: "Segoe UI", sans-serif; font-size: 20px; font-weight: 500; margin: 0 5px; }
.success-heading { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 15px; }
.success-heading > span { width: 55px; height: 55px; border-radius: 50%; background: #edf4e3; color: #5c6b4f; display: grid; place-items: center; margin-bottom: 20px; }
.success-heading > span .icon { width: 27px; height: 27px; }
.download-result .button { margin-top: 13px; font-size: 14px; }
.download-result > p { line-height: 1.9; }
.copy-code { display: flex; justify-content: space-between; align-items: center; padding: 15px; border-radius: 6px; background: #f5f8ee; font-size: 14px; color: #606a56; margin-top: 12px; }
.copy-code b { color: #5b694d; margin-left: 8px; }
.copy-code .text-button { font-size: 14px; }
.wide-modal { width: 650px; }
.small-modal { width: 330px; }
.image-modal { width: 1000px; padding: 20px; background: #f0f3e9; }
.enlarged-image { width: 100%; max-height: calc(100dvh - 110px); object-fit: contain; border-radius: 8px; }
.rules-content h3 { font-size: 14px; font-weight: 500; color: #5c694e; margin: 20px 0 12px; }
.rules-content p { font-size: 14px; line-height: 2.2; color: #606757; }
.response-item { border: 1px solid #e7eedb; border-radius: 8px; padding: 20px; margin-top: 15px; }
.response-item > div { display: flex; align-items: center; gap: 10px; }
.response-item > div strong { font-size: 14px; color: #5c6b4e; font-weight: 400; }
.response-item .badge { margin-left: auto; }
.response-item > p { font-size: 14px; line-height: 2; color: #606857; margin: 16px 0; }
.response-item > .button { float: right; }
.notification-list { max-height: 55vh; overflow-y: auto; }
.notification-list > article { display: flex; align-items: flex-start; gap: 12px; padding: 20px 0; border-top: 1px solid #eef2e5; position: relative; }
.notification-symbol { color: #5e6953; display: grid; place-items: center; width: 30px; height: 30px; background: #f0f5e6; border-radius: 8px; flex-shrink: 0; }
.notification-symbol .icon { width: 14px; height: 14px; }
.notification-list strong { font-size: 14px; font-weight: 500; color: #5d6a4f; }
.notification-list p { font-size: 14px; line-height: 1.9; color: #606956; margin-top: 9px; }
.notification-list small { font-size: 13px; color: #606558; display: block; margin-top: 11px; }
.notification-list article > i { position: absolute; top: 25px; right: 0; width: 5px; height: 5px; background: #aac391; border-radius: 50%; }
.user-popup { display: flex; flex-direction: column; align-items: center; padding-top: 10px; gap: 15px; }
.user-popup h2 { font-size: 21px; font-weight: 400; margin-top: 5px; }
.user-popup > p { color: #606a56; font-size: 14px; margin-bottom: 10px; }
.user-popup > p b { color: #5c6c4f; margin-left: 8px; font-size: 21px; font-family: "Segoe UI", sans-serif; font-weight: 500; }
.user-popup > .button { font-size: 14px; }
.user-popup > .text-button { margin-top: 5px; font-size: 14px; }
.auth-modal { width: 790px; padding: 0; }
.auth-layout { display: grid; grid-template-columns: 40% 60%; }
.auth-brand { padding: 37px 27px; background: #e9efdd; position: relative; min-height: 520px; overflow: hidden; display: flex; flex-direction: column; }
.auth-brand .brand { padding: 0; }
.auth-brand .brand-name { font-size: 25px; }
.auth-brand .brand small { font-size: 13px; }
.auth-brand > h2 { font-size: 25px; line-height: 1.8; margin-top: 45px; font-weight: 400; color: #5c6c4c; z-index: 1; }
.auth-brand > img { position: absolute; top: 190px; left: -73px; width: 460px; max-width: none; mix-blend-mode: multiply; }
.auth-brand > span { font-family: Arial, sans-serif; font-size: 13px; letter-spacing: 1.4px; color: #606a56; margin-top: auto; z-index: 1; padding-top: 25px; }
.auth-form { padding: 43px 35px 30px; }
.auth-form > .eyebrow { font-size: 13px; color: #5f6655; }
.auth-form > h2 { font-size: 25px; font-weight: 500; margin-top: 13px; }
.auth-form > p { margin-top: 11px; font-size: 14px; color: #606757; }
.auth-tabs { display: flex; border-bottom: 1px solid #e9efdd; margin: 27px 0 25px; gap: 25px; }
.auth-tabs > button { font-size: 14px; color: #606857; padding: 0 0 13px; position: relative; }
.auth-tabs > button.active { color: #586b4a; }
.auth-tabs > button.active::after { content: ''; position: absolute; left: 0; bottom: -1px; height: 2px; width: 100%; background: #9bb587; }
.auth-form .field { margin-bottom: 19px; }
.auth-form form > .button { margin-top: 5px; font-size: 14px; background: #709257; }
.auth-form .check-label { font-size: 13px; flex-wrap: wrap; gap: 5px; }
.demo-login { border-top: 1px dashed #e8eedb; margin-top: 26px; padding-top: 18px; }
.demo-login > span { font-size: 13px; color: #5f6656; }
.demo-login > div { display: flex; align-items: center; gap: 17px; margin-top: 13px; }
.demo-login .button { font-size: 14px; min-height: 33px; padding: 8px 14px; }
.demo-login .text-button { font-size: 13px; color: #5c6750; }
#toast-root { position: fixed; z-index: 200; top: 23px; left: 50%; transform: translateX(-50%); pointer-events: none; display: flex; flex-direction: column; gap: 10px; }
.toast { padding: 13px 21px; background: #fff; border: 1px solid #d8e5c8; border-radius: 8px; box-shadow: 0 6px 24px #3d58241a; color: #5a6c4b; font-size: 14px; display: flex; align-items: center; gap: 10px; max-width: 85vw; width: max-content; line-height: 1.8; animation: toast-in .25s; }
.toast > span { overflow-wrap: anywhere; }
.toast .icon { width: 16px; height: 16px; }
.toast.error { color: #7d5e4f; border-color: #eaded0; }
.initial-loader, .page-loader { min-height: 70vh; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 20px; color: #5e6950; font-size: 14px; }
.loader { display: inline-block; width: 25px; height: 25px; border: 2px solid #e0ead3; border-top-color: #a1b98c; border-radius: 50%; animation: spin .7s linear infinite; }
.loading { position: relative; opacity: .6; pointer-events: none; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
/* Keep business information readable at desktop density. */
.nav-item { font-size: 15px; color: #606a58; }
.creator-box p { font-size: 14px; color: #606855; }
.creator-box .button { font-size: 14px; }
.support-link { font-size: 14px; }
.breadcrumbs { font-size: 14px; color: #62695a; }
.global-search { width: 320px; }
.global-search input { font-size: 14px; }
.user-menu { font-size: 14px; }
.login-link { font-size: 15px; }
.hero-eyebrow { font-size: 14px; }
.hero-content > p { font-size: 14px; color: #5e6854; }
.hero-actions .button { font-size: 14px; min-height: 42px; }
.hero-stats span { font-size: 14px; }
.announcement { font-size: 14px; color: #626957; }
.announcement strong { font-size: 14px; color: #5c694b; }
.announcement > button { font-size: 14px; }
.section-heading p { font-size: 14px; color: #616a57; }
.section-heading > .text-link { font-size: 14px; color: #5c6a4e; }
.filter-label { font-size: 14px; color: #616956; }
.filter-chip { font-size: 14px; color: #5e6952; }
.filter-chip.selected { color: #4b6f39; }
.filter-more { font-size: 14px; }
.sort-options button { font-size: 14px; color: #5f6954; }
.result-count { font-size: 14px; }
.model-title { font-size: 15px; height: 44px; line-height: 1.7; }
.model-card-body { padding: 16px 14px 0; }
.model-meta { font-size: 14px; color: #616a56; }
.model-meta .icon { width: 11px; height: 11px; }
.card-author { font-size: 13px; color: #616a55; }
.card-price b { font-size: 18px; color: #546d3c; }
.card-price small { font-size: 13px; color: #606956; }
.card-bottom { padding: 13px 0; }
.image-category { font-size: 13px; }
.format-tag { font-size: 13px; }
.demand-title { font-size: 16px; height: 47px; }
.demand-meta { font-size: 14px; color: #616a54; }
.demand-category { font-size: 14px; }
.demand-reward > div > span { font-size: 14px; }
.demand-reward strong { font-size: 25px; }
.demand-reward strong small { font-size: 14px; }
.deadline { font-size: 14px; }
.demand-card-bottom > span { font-size: 13px; }
.demand-card-bottom > a { font-size: 14px; }
.contributor-banner p { font-size: 14px; }
.contributor-banner > a { font-size: 14px; }
.footer { font-size: 14px; }
.footer button, .environment-dot { font-size: 13px; }
.page-heading p { font-size: 14px; color: #5e6852; }
.page-heading > .button { font-size: 14px; }
.field > label { font-size: 14px; }
.field input, .field textarea, .field select { font-size: 14px; }
.field small { font-size: 14px; }
.check-label { font-size: 14px; }
.publish-type strong { font-size: 15px; }
.publish-type small { font-size: 14px; }
.basic-info dl > div { font-size: 14px; }
.basic-info dd { color: #5a6c48; }
.description-panel > p { color: #5d6a51; }
.gallery-tabs button { font-size: 14px; }
.detail-heading p { font-size: 14px; }
.stat-card > div > span { font-size: 14px; }
.stat-card small { font-size: 14px; }
.table-resource strong, .table-title { font-size: 14px; }
th { font-size: 14px; }
td { font-size: 14px; }
.table-resource small { font-size: 13px; }
.ledger-note { font-size: 14px; }
.text-button, .text-link { font-size: 14px; }
@media (min-width: 1600px) {
  :root { font-size: 17px; }
  .sidebar { width: 235px; padding-left: 22px; padding-right: 22px; }
  .workspace { margin-left: 235px; }
  #main { padding: 35px 40px 0; }
  .topbar { padding: 0 40px; }
  .hero { min-height: 390px; }
  .hero-content { padding: 38px 0 30px 42px; }
  .hero h1 { font-size: 38px; }
  .hero-content > p { font-size: 14px; }
  .hero-actions { margin-top: 25px; }
  .hero-stats { margin-top: 32px; }
  .model-title { font-size: 15px; height: 44px; }
  .model-meta { font-size: 14px; }
  .card-author { font-size: 13px; }
  .card-price b { font-size: 17px; }
  .model-grid { gap: 23px; }
  .model-card-body { padding: 17px 17px 0; }
  .nav-item { font-size: 15px; height: 46px; }
  .sidebar-bottom { padding-top: 30px; }
}
@media (max-width: 1250px) {
  .sidebar { width: 195px; padding-left: 14px; padding-right: 14px; }
  .workspace { margin-left: 195px; }
  .brand-name { font-size: 24px; }
  .brand img { width: 33px; height: 33px; }
  .brand small { font-size: 13px; }
  .nav-label { font-size: 14px; }
  .nav-label span { font-size: 13px; }
  .nav-item.active::before { left: -14px; }
  #main { padding-left: 25px; padding-right: 25px; }
  .topbar { padding: 0 25px; }
  .global-search { width: 265px; }
  .hero-content { padding-left: 25px; }
  .hero h1 { font-size: 29px; }
  .hero-actions { gap: 9px; }
  .hero-actions .button { padding: 10px 12px; font-size: 14px; gap: 8px; }
  .hero-stats { gap: 16px; }
  .hero-stats > div { gap: 5px; }
  .hero-stats span { font-size: 13px; }
  .hero-visual > img { width: 160%; left: -36%; }
  .hero-visual-tag { font-size: 13px; right: 20px; }
  .filter-values { gap: 6px 8px; }
  .filter-chip { padding: 5px 8px; }
  .model-grid { gap: 14px; }
  .card-author { font-size: 13px; }
  .card-author .mini-avatar { width: 16px; height: 16px; font-size: 13px; }
  .model-card-body { padding: 12px 11px 0; }
  .demand-grid { gap: 14px; }
  .demand-card { padding-left: 14px; padding-right: 14px; }
  .demand-reward strong { font-size: 20px; }
  .demand-reward > div { gap: 4px; }
  .resource-detail { grid-template-columns: minmax(0, 1fr) 250px; gap: 18px; }
  .basic-info { padding: 20px 17px; }
  .dashboard-grid { grid-template-columns: minmax(0, 1fr) 245px; gap: 18px; }
  .stats-grid { gap: 13px; }
  .stat-card { padding: 20px 16px; }
  .stat-icon { width: 26px; height: 26px; }
  .stat-icon .icon { width: 15px; height: 15px; }
  .stat-card > div > span { font-size: 14px; }
  .stat-card small { font-size: 13px; }
  .publish-layout { grid-template-columns: minmax(0, 1fr) 190px; gap: 20px; }
  td, th { padding-left: 17px; padding-right: 17px; }
}
@media (max-width: 1050px) {
  .sidebar { width: 180px; padding-left: 10px; padding-right: 10px; }
  .workspace { margin-left: 180px; }
  .nav-item.active::before { left: -10px; }
  .nav-item { gap: 11px; font-size: 14px; }
  .brand-heading { gap: 8px; }
  .brand-name { font-size: 23px; }
  .brand small { font-size: 13px; }
  .brand img { width: 31px; height: 31px; }
  .nav-label span { display: none; }
  .global-search { width: 220px; }
  .global-search input { font-size: 13px; }
  .topbar-tools { gap: 11px; }
  .user-menu > span:not(.avatar) { display: none; }
  .hero { min-height: 335px; grid-template-columns: 55% 45%; }
  .hero h1 { font-size: 27px; }
  .hero-content > p { font-size: 14px; }
  .hero-stats { margin-top: 25px; gap: 13px; }
  .hero-stats strong { font-size: 21px; }
  .hero-stats > div { flex-direction: column; gap: 2px; }
  .hero-visual > img { width: 180%; left: -57%; object-position: center 20%; }
  .hero-visual-tag { right: 13px; font-size: 13px; padding: 5px 7px; }
  .hero-index { right: 15px; font-size: 13px; gap: 6px; }
  .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
  .model-title { font-size: 14px; }
  .demand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demand-section .demand-card:last-child:nth-child(3) { display: none; }
  .demand-reward > div { gap: 7px; }
  .contributor-banner { padding: 23px; gap: 18px; }
  .contributor-banner h2 { font-size: 16px; }
  .contributor-banner p { font-size: 13px; }
  .contributor-illustration { width: 43px; height: 43px; }
  .contributor-illustration > .icon:first-child { width: 43px; height: 43px; }
  .contributor-banner > a { padding: 10px; font-size: 13px; }
  .page-heading h1 { font-size: 24px; }
  .page-heading p { font-size: 14px; }
  .page-heading > .button { font-size: 14px; padding: 10px 14px; }
  .publish-layout { grid-template-columns: 1fr; }
  .publish-tips { display: none; }
  .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stat-card small { font-size: 13px; }
  .stat-card > div > span { font-size: 14px; }
  .stat-icon { width: 33px; height: 33px; }
  .stat-icon .icon { width: 18px; height: 18px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .quick-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
  .quick-panel > h2 { grid-column: 1 / -1; margin-bottom: 0; }
  .quick-link { border: 0; }
  .quick-link > .icon, .balance-note { display: none; }
  .quick-link small { font-size: 13px; }
  .resource-detail { grid-template-columns: minmax(0, 1fr) 235px; gap: 15px; }
  .gallery-panel { padding: 12px; }
  .gallery-tabs { gap: 17px; }
  .gallery-tabs button { font-size: 14px; }
  .gallery-tabs > span { display: none; }
  .gallery-main { aspect-ratio: 1.3; }
  .gallery-thumbnails button { width: 60px; height: 45px; }
  .detail-heading h1 { font-size: 22px; }
  .detail-heading > .button { font-size: 13px; padding: 9px 12px; }
  .basic-info h2 span { display: none; }
  .basic-info dl > div { font-size: 13px; }
  .demand-facts { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .package-card { padding: 23px 18px; }
  .package-points strong { font-size: 32px; }
  .package-card > p { font-size: 13px; line-height: 1.9; min-height: 30px; }
  .package-price small { font-size: 13px; }
  .package-card > .button { font-size: 13px; padding: 10px 8px; }
  .package-grid { gap: 12px; }
  .mall-guide h2 { font-size: 18px; }
  .account-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 18px; }
  .account-layout .form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .sidebar { width: 70px; padding: 25px 10px 16px; overflow: visible; }
  .workspace { margin-left: 70px; }
  .brand { justify-content: center; padding: 0; }
  .sidebar > .brand { align-items: center; padding: 0; }
  .sidebar .brand-name { display: none; }
  .sidebar .brand-heading { gap: 0; }
  .sidebar .brand small { display: none; }
  .brand img { width: 34px; height: 34px; }
  .nav-label { height: 22px; margin: 20px 0 9px; font-size: 0; }
  .nav-label::after { content: ''; display: block; width: 16px; height: 1px; background: #dfe5d5; margin: 10px auto; }
  .nav-item { width: 42px; margin: 0 auto; height: 41px; padding: 0; justify-content: center; }
  .nav-item > span, .nav-dot { display: none; }
  .nav-item > .icon { width: 19px; height: 19px; }
  .nav-divider { margin: 23px 4px 0; }
  .nav-divider + .nav-label { display: none; }
  .nav-divider + .nav-label + nav { margin-top: 20px; }
  .sidebar-bottom { padding-top: 22px; }
  .creator-box, .support-link > span, .support-link > .icon:last-child, .sidebar-version { display: none; }
  .support-link { justify-content: center; padding: 10px 0; }
  .support-link > .icon { width: 19px; height: 19px; }
  .hero { grid-template-columns: 55% 45%; }
  .hero h1 { font-size: 26px; }
  .hero-visual > img { width: 192%; left: -65%; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 18px; }
  .hero-actions .button { min-height: 34px; padding: 8px 12px; }
  .hero-stats { margin-top: 19px; }
  .hero { min-height: 370px; }
  .hero-visual-tag { display: none; }
  .hero-index { writing-mode: vertical-rl; font-size: 13px; }
  .filter-panel { padding-left: 13px; padding-right: 13px; }
  .filter-row { gap: 10px; }
  .filter-values { gap: 5px; }
  .filter-chip { padding: 5px 7px; font-size: 13px; }
  .model-grid { gap: 13px; }
  .model-card-body { padding: 12px 10px 0; }
  .card-author { font-size: 13px; }
  .model-meta { font-size: 13px; }
  .model-meta .icon { width: 9px; height: 9px; }
  .image-category { font-size: 13px; top: 9px; left: 9px; padding: 3px 5px; }
  .favorite-button { right: 8px; top: 8px; width: 23px; height: 23px; }
  .contributor-banner p { max-width: 240px; line-height: 1.9; }
  .contributor-illustration { display: none; }
  .contributor-banner { gap: 13px; }
  .contributor-banner h2 { font-size: 15px; }
  .topbar { padding-left: 23px; padding-right: 23px; gap: 10px; }
  .global-search { width: 200px; padding: 8px 10px; }
  .topbar-tools { gap: 9px; }
  .breadcrumbs { gap: 8px; font-size: 14px; }
  .toolbar-divider { display: none; }
  .footer { padding-left: 25px; padding-right: 25px; font-size: 13px; flex-wrap: wrap; justify-content: center; gap: 13px; }
  .footer button, .environment-dot { font-size: 13px; }
  .quick-link { flex-direction: column; align-items: flex-start; gap: 10px; }
  .resource-detail { grid-template-columns: 1fr; }
  .detail-sidebar { position: static; }
  .basic-info dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 25px; }
  .basic-info h2 span { display: inline; }
  .gallery-main { aspect-ratio: 1.65; }
  .gallery-thumbnails button { width: 80px; height: 55px; }
  .detail-price { margin-bottom: 18px; }
  .basic-info dl > div { font-size: 14px; }
  .detail-help { display: none; }
  .detail-heading { align-items: flex-start; gap: 13px; }
  .detail-heading h1 { font-size: 22px; }
  .detail-heading > .button { margin-top: 32px; font-size: 0; padding: 9px; }
  .detail-heading > .button .icon { width: 17px; height: 17px; }
  .detail-heading > .button > span { display: none; }
  .process-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .demand-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .demand-facts > div { gap: 7px; }
  .demand-facts > div > .icon { width: 18px; height: 18px; }
  .mall-summary { grid-template-columns: 1fr 1fr; }
  .mall-balance, .mall-guide { padding: 23px; }
  .mall-balance > div { flex-direction: column; gap: 10px; }
  .account-layout { grid-template-columns: 1fr; }
  .profile-card { display: none; }
  .account-layout .form-grid { grid-template-columns: 1fr 1fr; }
  .auth-modal { width: 480px; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-brand { display: none; }
  .auth-form { padding: 36px; }
}
@media (max-width: 600px) {
  .sidebar { transform: translateX(-100%); width: 218px; padding: 25px 18px; overflow-y: auto; transition: transform .2s; box-shadow: 10px 0 60px #2039272a; }
  .menu-open .sidebar { transform: translateX(0); }
  .sidebar .brand { align-items: flex-start; padding: 0 13px; }
  .sidebar .brand-name { display: block; }
  .sidebar .brand-heading { gap: 8px; }
  .sidebar .brand small { display: block; }
  .sidebar .brand img { width: 35px; height: 35px; }
  .nav-label { margin: 25px 12px 10px; height: auto; font-size: 14px; }
  .nav-label::after { display: none; }
  .nav-item { width: 100%; justify-content: flex-start; padding: 0 13px; }
  .nav-item > span, .nav-dot { display: inline; }
  .nav-item.active::before { left: -18px; }
  .nav-divider + .nav-label { display: block; }
  .nav-divider + .nav-label + nav { margin-top: 0; }
  .creator-box, .support-link > span, .support-link > .icon:last-child, .sidebar-version { display: block; }
  .support-link { justify-content: flex-start; padding: 18px 10px 0; }
  .workspace { margin-left: 0; }
  .topbar { height: 63px; padding: 0 16px; }
  .mobile-menu { display: inline-flex; margin-left: -6px; width: 29px; }
  .mobile-menu .icon { width: 18px; height: 18px; }
  .breadcrumbs { gap: 6px; font-size: 14px; }
  .breadcrumbs > span, .breadcrumbs > .icon { display: none; }
  .topbar-tools { gap: 10px; }
  .global-search { width: 175px; padding: 8px 9px; }
  .global-search input { font-size: 13px; }
  .global-search kbd { display: none; }
  .notification-button { display: none; }
  .user-menu { padding: 0; gap: 4px; }
  .user-menu > .icon { display: none; }
  .avatar { width: 27px; height: 27px; font-size: 14px; }
  .login-link { font-size: 13px; }
  #main { padding: 18px 16px 0; }
  .hero { min-height: 325px; grid-template-columns: 61% 39%; border-radius: 9px; }
  .hero-content { padding: 25px 0 20px 20px; }
  .hero-eyebrow { font-size: 13px; letter-spacing: 1.3px; gap: 6px; }
  .hero h1 { font-size: 26px; letter-spacing: .2px; margin-top: 16px; line-height: 1.5; white-space: nowrap; }
  .hero-content > p { font-size: 13px; line-height: 1.9; margin-top: 12px; }
  .hero-actions { margin-top: 18px; }
  .hero-actions .button { font-size: 13px; min-height: 31px; padding: 7px 12px; gap: 14px; }
  .hero-actions .icon { width: 13px; height: 13px; }
  .hero-secondary { display: none; }
  .hero-stats { gap: 15px; margin-top: 25px; }
  .hero-stats > div { gap: 5px; }
  .hero-stats strong { font-size: 20px; }
  .hero-stats span { font-size: 13px; }
  .hero-stats > i { height: 22px; }
  .hero-visual { opacity: .8; }
  .hero-visual > img { width: 245%; height: 72%; left: -130%; top: 22%; object-fit: cover; object-position: center; }
  .hero-index { font-size: 13px; right: 10px; bottom: 16px; gap: 5px; }
  .announcement { margin-top: 13px; padding: 11px; gap: 7px; font-size: 13px; }
  .announcement > .icon { width: 12px; height: 12px; }
  .announcement strong { font-size: 13px; }
  .announcement > button { display: none; }
  .section-heading { margin-bottom: 16px; }
  .section-heading h2 { font-size: 19px; }
  .section-heading p { font-size: 13px; line-height: 1.8; margin-top: 5px; }
  .section-heading > .text-link { font-size: 13px; gap: 4px; white-space: nowrap; }
  .section-heading > .text-link .icon { width: 12px; height: 12px; }
  .content-section { margin-top: 26px; }
  .filter-panel { padding: 3px 12px; border-radius: 7px; }
  .filter-row { padding: 11px 0; gap: 8px; }
  .filter-label { font-size: 13px; padding-top: 6px; }
  .filter-values { gap: 4px; }
  .filter-chip { font-size: 13px; padding: 4px 7px; min-height: 24px; }
  .filter-more { font-size: 13px; }
  .sort-bar { margin: 18px 0 15px; }
  .sort-options { gap: 22px; }
  .sort-options button { font-size: 13px; }
  .result-count { font-size: 13px; padding-bottom: 7px; }
  .result-count > span { display: none; }
  .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 12px; }
  .card-image-wrap { aspect-ratio: 1.6; }
  .model-card-body { padding: 11px 10px 0; }
  .model-title { font-size: 14px; height: 34px; line-height: 1.7; }
  .model-meta { font-size: 13px; margin: 9px 0 11px; gap: 2px; }
  .model-meta > span { gap: 3px; }
  .model-meta i { padding: 0; }
  .card-bottom { padding: 10px 0; gap: 3px; }
  .card-author { font-size: 13px; gap: 4px; }
  .card-author .mini-avatar { width: 16px; height: 16px; font-size: 13px; }
  .card-price b { font-size: 14px; }
  .card-price small { font-size: 13px; }
  .demand-grid { grid-template-columns: 1fr; gap: 13px; }
  .demand-card { padding: 17px 17px 0; }
  .demand-section .demand-card:last-child:nth-child(3) { display: block; }
  .demand-title { font-size: 15px; height: auto; min-height: 23px; }
  .demand-category { font-size: 13px; }
  .demand-meta { font-size: 13px; margin-top: 12px; }
  .demand-reward > div > span { font-size: 13px; }
  .demand-reward strong { font-size: 25px; }
  .deadline { font-size: 13px; }
  .demand-card-bottom > span { font-size: 13px; }
  .demand-card-bottom > a { font-size: 14px; }
  .contributor-banner { padding: 21px 18px; flex-wrap: wrap; gap: 17px; }
  .contributor-banner h2 { font-size: 16px; }
  .contributor-banner p { font-size: 13px; max-width: 100%; }
  .contributor-banner > a { margin-left: 0; min-height: 33px; padding: 8px 12px; }
  .footer { padding: 25px 16px 20px; font-size: 13px; }
  .footer > div { gap: 17px; }
  .footer .footer-contacts { gap: 20px 16px; }
  .footer-contact { flex: 0 1 128px; flex-direction: column; gap: 10px; min-width: 0; }
  .footer-contact figcaption { text-align: center; }
  .footer-contact figcaption span { font-size: 12px; }
  .footer-contact small { font-size: 11px; }
  .page-heading { align-items: flex-start; margin-top: 4px; gap: 10px; }
  .page-heading .eyebrow { font-size: 13px; letter-spacing: 1.4px; }
  .page-heading h1 { font-size: 23px; margin-top: 11px; }
  .page-heading p { font-size: 13px; line-height: 1.9; margin-top: 9px; max-width: 270px; }
  .page-heading > .button { font-size: 13px; gap: 4px; min-height: 32px; padding: 8px; margin-top: 27px; }
  .page-heading > .button .icon { width: 12px; height: 12px; }
  .page-heading:has(> .button) h1 { font-size: 21px; }
  .page-heading:has(> .button) > div { max-width: 72%; }
  .page-heading:has(> .button) p { max-width: 240px; }
  .empty-state { padding: 50px 15px; }
  .empty-state h3 { font-size: 16px; }
  .empty-state > p { font-size: 14px; }
  .demo-footnote { font-size: 13px; line-height: 1.9; }
  .info-banner { padding: 17px; gap: 12px; }
  .info-banner span { font-size: 13px; }
  .info-banner > .icon { width: 22px; height: 22px; }
  .detail-heading h1 { font-size: 21px; }
  .detail-heading p { font-size: 13px; gap: 6px; line-height: 1.9; }
  .detail-heading p i { margin: 0 2px; }
  .detail-heading p .mini-avatar { width: 17px; height: 17px; font-size: 13px; }
  .badge { font-size: 13px; padding: 4px 6px; }
  .gallery-tabs { gap: 25px; padding-bottom: 15px; }
  .gallery-main { aspect-ratio: 1.35; }
  .gallery-thumbnails button { width: 72px; height: 49px; }
  .gallery-main > span { font-size: 13px; padding: 5px 7px; }
  .description-panel { padding: 22px 19px; }
  .description-panel > p { font-size: 14px; }
  .description-panel > h2 { font-size: 16px; }
  .notice-box { font-size: 13px; padding: 12px; gap: 8px; }
  .basic-info { padding: 23px; }
  .basic-info dl { gap: 0 20px; }
  .basic-info dl > div { font-size: 13px; }
  .demand-facts { padding: 16px 12px; gap: 10px; }
  .demand-facts > div { flex-direction: column; align-items: flex-start; gap: 10px; }
  .demand-facts strong { font-size: 13px; }
  .demand-facts span { font-size: 13px; }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; }
  .process-steps strong { font-size: 14px; }
  .process-steps p { font-size: 13px; }
  .form-section { padding: 21px 18px; }
  .form-section-title h2 { font-size: 15px; }
  .form-grid { gap: 19px 15px; }
  .field > label { font-size: 14px; }
  .field input, .field select, .field textarea { padding: 10px; font-size: 14px; }
  .field input::placeholder, .field textarea::placeholder { font-size: 13px; }
  .field small { font-size: 13px; }
  .publish-types { gap: 10px; }
  .publish-type { padding: 18px 4px; }
  .publish-type strong { font-size: 14px; }
  .publish-type small { font-size: 13px; }
  .file-upload-label { gap: 10px; flex-wrap: wrap; }
  .file-upload-label > .icon { width: 20px; height: 20px; }
  .file-upload-label > div { min-width: 180px; }
  .file-upload-label .button { font-size: 13px; margin-left: 30px; min-height: 28px; }
  .publish-submit { padding: 0 18px 20px; }
  .check-label { font-size: 13px; }
  .submit-row { flex-direction: column; align-items: flex-start; gap: 15px; }
  .submit-row .button { width: 100%; }
  .dashboard-notice { font-size: 13px; line-height: 1.8; gap: 9px; padding: 12px; }
  .dashboard-notice .text-button { display: none; }
  .stats-grid { gap: 12px; margin: 18px 0; }
  .stat-card { padding: 18px 13px; gap: 7px; }
  .stat-card > div > span { font-size: 13px; }
  .stat-card strong { font-size: 26px; margin-top: 10px; }
  .stat-card small { font-size: 13px; }
  .stat-icon { width: 26px; height: 26px; border-radius: 6px; }
  .stat-icon .icon { width: 14px; height: 14px; }
  .quick-panel { padding: 20px; gap: 10px; }
  .quick-link strong { font-size: 14px; }
  .quick-link small { font-size: 13px; line-height: 1.8; }
  .quick-link > span { width: 30px; height: 30px; }
  .quick-link > span .icon { width: 16px; height: 16px; }
  .panel-heading { padding: 20px 17px; }
  .panel-heading h2 { font-size: 15px; }
  .panel-heading .small { font-size: 13px; }
  .panel-tabs { gap: 22px; padding: 0 17px; overflow-x: auto; }
  .panel-tabs > a { font-size: 14px; padding: 18px 0; }
  th { font-size: 13px; padding: 14px 17px; }
  td { font-size: 13px; padding: 15px 17px; }
  .table-resource strong { font-size: 13px; }
  .mall-summary { grid-template-columns: 1fr; gap: 15px; }
  .mall-guide { display: none; }
  .mall-balance { padding: 23px; }
  .mall-balance > div { flex-direction: row; }
  .mall-balance > strong { font-size: 37px; }
  .demo-warning { font-size: 13px; padding: 13px; }
  .package-grid { grid-template-columns: 1fr; gap: 17px; }
  .package-card { padding: 25px; }
  .package-name { font-size: 14px; }
  .package-points { margin-top: 20px; }
  .package-points strong { font-size: 36px; }
  .package-card > p { min-height: auto; font-size: 14px; }
  .package-price { margin-top: 22px; }
  .package-price small { font-size: 14px; }
  .package-card > .button { font-size: 14px; }
  .recommend-label { font-size: 14px; padding: 6px 15px; }
  .trial-card { padding: 19px; gap: 12px; flex-wrap: wrap; }
  .trial-symbol { width: 33px; height: 33px; border-radius: 9px; }
  .trial-card h3 { font-size: 14px; }
  .trial-card p { font-size: 13px; }
  .trial-card > .button { margin-left: 45px; font-size: 13px; min-height: 31px; padding: 8px 12px; }
  .account-layout .form-grid { grid-template-columns: 1fr; }
  .modal-overlay { padding: 17px; }
  .modal { padding: 25px 20px; max-height: calc(100dvh - 34px); border-radius: 10px; }
  .modal-heading h2 { font-size: 20px; }
  .modal-heading > p { font-size: 14px; }
  .modal-heading > .icon { width: 24px; height: 24px; margin-bottom: 16px; }
  .modal-close { top: 8px; right: 8px; }
  .modal-actions { gap: 10px; margin-top: 23px; }
  .modal-actions > .button { font-size: 14px; padding: 10px 13px; }
  .modal .notice-box { font-size: 13px; }
  .modal .check-label { font-size: 13px; }
  .confirm-resource { padding: 11px; gap: 12px; }
  .confirm-resource img { width: 70px; height: 53px; }
  .confirm-resource strong { font-size: 14px; }
  .image-modal { padding: 12px; }
  .auth-modal { padding: 0; }
  .auth-form { padding: 37px 25px 27px; }
  .auth-form > h2 { font-size: 24px; }
  .auth-form > p { font-size: 14px; }
  .auth-form .field input { padding: 12px; font-size: 14px; }
  .auth-form .field > label { font-size: 14px; }
  .auth-form .demo-login > div { gap: 20px; }
  .rules-content p { font-size: 14px; }
  .rules-content h3 { font-size: 14px; }
  .toast { font-size: 14px; padding: 11px 14px; }
  .hero { display: block; min-height: 345px; }
  .hero-content { width: 100%; padding: 25px 22px 22px; }
  .hero h1 { font-size: 25px; }
  .hero-content > p { font-size: 14px; }
  .hero-visual { position: absolute; width: 255px; height: 185px; bottom: 0; right: -45px; opacity: .8; }
  .hero-visual > img { width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; }
  .hero-stats { gap: 12px; }
  .hero-stats > div { background: #e8ecdeed; border-radius: 4px; padding: 2px 3px; }
  .hero-stats span { font-size: 13px; }
  .hero-index { display: none; }
  .filter-chip { font-size: 13px; }
  .model-title { font-size: 14px; height: 40px; }
  .model-meta { font-size: 13px; }
  .model-meta > span:first-child > .icon { display: none; }
  .model-meta > span { gap: 2px; }
  .card-author { font-size: 13px; }
  .card-price b { font-size: 16px; }
  .card-price small { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
@media (max-height: 1000px) and (min-width: 601px) { .creator-box { display: none; } .sidebar-bottom { padding-top: 14px; } }
@media (max-height: 800px) and (min-width: 801px) {
  .sidebar { padding-top: 23px; }
  .nav-label { margin-top: 25px; }
  .nav-item { height: 38px; }
  .nav-divider { margin-top: 20px; }
  .nav-divider + .nav-label { margin-top: 19px; }
}

/* Readable type scale: never shrink business copy to fit a small viewport. */
.sidebar { width: 240px; }
.workspace { margin-left: 240px; }
.small, .auth-note { font-size: 14px; line-height: 1.8; }
.eyebrow { color: #536258; line-height: 1.6; }
.nav-item { font-size: 16px; min-height: 45px; height: auto; padding-top: 9px; padding-bottom: 9px; color: #3d5043; }
.nav-item.active { color: #1e6047; font-weight: 600; }
.nav-label { font-size: 13px; color: #536258; }
.nav-label span { font-size: 11px; }
.brand small { font-size: 12px; line-height: 1.6; }
.creator-box strong { font-size: 15px; }
.creator-box p, .support-link { font-size: 14px; }
.sidebar-version { font-size: 11px; color: #536258; letter-spacing: .5px; }
.breadcrumbs, .breadcrumbs strong { font-size: 14px; color: #4c6051; }
.topbar-tools, .global-search, .user-menu { min-width: 0; }
.global-search { width: min(360px, 32vw); }
.global-search input { font-size: 16px; }
.global-search input::placeholder { color: #5a685e; opacity: 1; font-size: 14px; }
.login-link, .user-menu { font-size: 15px; }
.button { min-height: 44px; font-size: 15px; font-weight: 600; }
.small-button { min-height: 38px; font-size: 14px; }
.text-button, .text-link { font-size: 14px; }
.hero-content > p { font-size: 16px; color: #42543b; }
.hero-eyebrow, .hero-stats span { font-size: 14px; color: #42543b; }
.hero-actions { flex-wrap: wrap; }
.hero-actions .button { min-height: 44px; font-size: 15px; }
.hero-stats { flex-wrap: wrap; gap: 15px; }
.hero-stats > div { flex-wrap: wrap; row-gap: 0; }
.hero-visual-tag { font-size: 13px; color: #46593b; }
.announcement { font-size: 14px; line-height: 1.8; color: #4b5942; align-items: flex-start; }
.announcement strong, .announcement > button { font-size: 14px; }
.announcement > span { white-space: normal; overflow: visible; }
.announcement > .icon { margin-top: 5px; flex-shrink: 0; }
.section-heading h2 { font-size: 23px; color: var(--ink); font-weight: 600; }
.section-heading p, .section-heading > .text-link { font-size: 14px; color: #4b6050; }
.filter-label, .filter-more { font-size: 14px; color: #4b6050; }
.filter-chip { font-size: 14px; min-height: 36px; padding: 6px 10px; color: #3c5140; }
.filter-chip.selected { color: #205f44; font-weight: 600; }
.sort-options button { font-size: 14px; color: #4d6050; }
.result-count { font-size: 13px; color: #536258; }
/* Keep empty tracks: one resource must remain a thumbnail, not fill the row. */
.model-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.model-title, .demand-title { font-size: 16px; font-weight: 600; line-height: 1.65; height: auto; min-height: 3.3em; color: var(--ink); }
.model-card-body { padding: 17px 16px 0; }
.model-meta { font-size: 13px; color: #506049; flex-wrap: wrap; row-gap: 5px; }
.model-meta > span { white-space: normal; }
.card-author { font-size: 13px; color: #506049; white-space: normal; overflow-wrap: anywhere; }
.mini-avatar { width: 24px; height: 24px; font-size: 13px; color: #445936; }
.card-bottom { flex-wrap: wrap; gap: 8px; padding: 13px 0; }
.card-price b { font-size: 20px; color: #216343; }
.card-price small { font-size: 13px; color: #506049; }
.image-category { font-size: 13px; color: #435337; background: #ffffffed; }
.format-tag, .aerial-badge { font-size: 13px; background: #435b40; }
.favorite-button { width: 34px; height: 34px; color: #3d5838; background: #ffffffed; }
.favorite-button .icon { width: 17px; height: 17px; }
.badge { font-size: 13px; font-weight: 500; }
.demand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.demand-category, .demand-meta { font-size: 14px; color: #4b5e3e; }
.demand-meta { flex-wrap: wrap; }
.demand-reward { flex-wrap: wrap; gap: 10px; }
.demand-reward > div > span, .demand-reward strong small, .deadline { font-size: 13px; color: #5e4c31; }
.demand-reward strong { font-size: 25px; color: #795319; }
.demand-card-bottom { flex-wrap: wrap; gap: 12px; }
.demand-card-bottom > span, .demand-card-bottom > a { font-size: 14px; }
.contributor-banner h2 { font-size: 20px; font-weight: 600; }
.contributor-banner p { font-size: 14px; line-height: 1.8; }
.contributor-banner > a { font-size: 14px; }
.footer, .footer button, .environment-dot { font-size: 13px; color: #536258; }
.page-heading h1 { font-size: 28px; }
.page-heading p { font-size: 15px; max-width: none; color: #4b6050; }
.page-heading > .button { font-size: 14px; }
.description-panel > p, .rules-list, .rules-content p { font-size: 16px; line-height: 1.9; color: #45563e; }
.description-panel > h3, .rules-content h3 { font-size: 17px; font-weight: 600; }
.notice-box, .modal .notice-box, .info-banner, .info-banner span, .demo-warning { font-size: 14px; line-height: 1.85; }
.detail-heading p, .back-link, .gallery-tabs button, .basic-info dl > div { font-size: 14px; }
.basic-info dt { color: #4b6050; }
.basic-info dd { color: #2f4c34; }
.detail-heading h1 { font-size: 27px; }
.basic-info h2, .description-panel > h2, .panel h2 { font-size: 19px; font-weight: 600; }
.download-box > p { font-size: 13px; }
.demand-facts strong, .demand-facts span, .process-steps p { font-size: 14px; line-height: 1.85; }
.process-steps strong { font-size: 16px; }
.field > label { font-size: 15px; font-weight: 500; color: #354f3b; }
.field input, .field select, .field textarea, .auth-form .field input { font-size: 16px; color: #243d2b; background: #fff; border-color: #bdcbbb; padding: 12px; }
.field input::placeholder, .field textarea::placeholder { font-size: 14px; color: #5a6a58; opacity: 1; }
.field input:disabled { color: #4e6048; background: #f1f4ed; opacity: 1; -webkit-text-fill-color: #4e6048; }
.field small { font-size: 13px; color: #53654b; line-height: 1.85; overflow-wrap: anywhere; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px #24765e1a; }
.check-label, .modal .check-label { font-size: 14px; color: #485c40; }
.check-label input { width: 18px; height: 18px; margin-top: 4px; accent-color: var(--green); }
.form-section > p { margin-bottom: 20px; }
.form-error { color: #9e3a34; font-size: 14px; font-weight: 500; }
.upload-section > p, .upload-area > span, .publish-tips li span, .file-upload-label > div > span { font-size: 14px; }
.publish-type strong, .upload-section > h3 { font-size: 16px; font-weight: 500; }
.publish-type small { font-size: 13px; }
.stat-card > div > span { font-size: 15px; }
.stat-card small, .quick-link small, .balance-note small { font-size: 13px; }
.quick-link strong { font-size: 16px; }
.dashboard-notice { font-size: 14px; flex-wrap: wrap; }
table, td { font-size: 14px; line-height: 1.8; }
th { font-size: 14px; font-weight: 600; color: #405738; }
.table-resource strong, .table-title { font-size: 15px; font-weight: 500; }
.table-resource small, .ledger-note { font-size: 13px; }
.table-actions .button, .table-actions .text-button { font-size: 14px; }
.table-actions .button { min-height: 38px; }
.profile-card > p, .notification-list p { font-size: 15px; }
.notification-list strong { font-size: 16px; }
.notification-list small { font-size: 13px; }
.auth-modal { width: 860px; }
.auth-layout { grid-template-columns: 36% 64%; }
.auth-form { padding: 36px 34px 30px; }
.auth-form > h2 { font-size: 26px; font-weight: 600; line-height: 1.5; }
.auth-form > p { font-size: 15px; color: #4b6050; }
.auth-form > .eyebrow { font-size: 12px; color: #536258; }
.auth-tabs { margin: 22px 0; }
.auth-tabs > button { font-size: 16px; color: #4e6244; font-weight: 500; }
.auth-tabs > button.active { color: #205f44; font-weight: 600; }
.auth-form .field > label { font-size: 15px; }
.auth-form .field { margin-bottom: 17px; }
.auth-form .check-label { font-size: 14px; flex-wrap: nowrap; align-items: flex-start; }
.auth-form form > .button { font-size: 16px; min-height: 48px; background: var(--green); }
.auth-form > .auth-note { font-size: 13px; line-height: 1.85; margin-top: 18px; }
.auth-brand > h2 { font-size: 24px; font-weight: 500; color: #3e5732; }
.auth-brand .brand small { font-size: 12px; }
.email-code-row { display: flex; align-items: flex-end; gap: 10px; margin-bottom: 10px; }
.auth-form .email-code-row > .field { flex: 1; min-width: 0; margin-bottom: 0; }
.email-code-button { flex: 0 0 auto; padding-left: 12px; padding-right: 12px; min-height: 52px; min-width: 116px; white-space: nowrap; }
.email-code-status { margin: 0 0 16px; overflow-wrap: anywhere; }
.demo-login > span, .demo-login .text-button { font-size: 14px; color: #4e6244; }
.demo-login .button { font-size: 14px; min-height: 42px; }
.demo-login > div { flex-wrap: wrap; gap: 12px; }
.toast { font-size: 15px; color: #285d3c; }
.toast.error { color: #9e3a34; }
.recommend-label, .publish-type > span, .upload-preview > button { background: #3a6946; color: #fff; }
.pagination button.current { background: #456536; border-color: #456536; color: #fff; }
@media (max-width: 1250px) {
  .model-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .demand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .demand-section .demand-card:last-child:nth-child(3) { display: block; }
}
@media (max-width: 1050px) {
  .model-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .sidebar { width: 70px; }
  .workspace { margin-left: 70px; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-modal { width: 540px; }
  .demand-grid { grid-template-columns: 1fr; }
  .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidebar .nav-item { min-height: 44px; }
  .demand-facts, .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .sidebar { width: 240px; }
  .workspace { margin-left: 0; }
  .nav-item { font-size: 16px; }
  .topbar { height: auto; min-height: 72px; padding: 12px 16px; flex-wrap: wrap; gap: 8px; }
  .breadcrumbs { font-size: 14px; }
  .topbar-tools { width: 100%; gap: 12px; }
  .global-search { width: auto; flex: 1; }
  .global-search input { font-size: 16px; }
  .global-search input::placeholder { font-size: 13px; }
  .login-link { font-size: 14px; min-height: 44px; }
  .user-menu > span:not(.avatar) { max-width: 90px; }
  .hero { min-height: 400px; }
  .hero h1 { font-size: 29px; white-space: normal; }
  .hero-content > p { font-size: 15px; }
  .hero-content { padding: 25px 22px; }
  .hero-stats { gap: 12px; align-items: flex-start; }
  .hero-stats > div { flex-direction: column; gap: 0; align-items: flex-start; }
  .hero-stats span { font-size: 13px; }
  .hero-stats strong { font-size: 24px; }
  .hero-visual { opacity: .45; width: 205px; height: 160px; }
  .announcement { font-size: 14px; }
  .announcement strong { font-size: 14px; }
  .section-heading { align-items: flex-start; flex-wrap: wrap; }
  .section-heading h2 { font-size: 22px; }
  .section-heading p, .section-heading > .text-link { font-size: 14px; }
  .filter-row { flex-wrap: wrap; gap: 6px 12px; }
  .filter-label { width: 100%; padding-top: 0; font-size: 14px; }
  .filter-values { gap: 5px; }
  .filter-chip { font-size: 14px; padding: 6px 9px; }
  .sort-bar { flex-wrap: wrap; gap: 12px; }
  .sort-options { flex-wrap: wrap; gap: 18px; }
  .sort-options button { font-size: 14px; }
  .result-count { font-size: 13px; }
  .model-card-body { padding: 15px 14px 0; }
  .model-meta, .card-author, .card-price small { font-size: 13px; }
  .page-heading { flex-wrap: wrap; }
  .page-heading h1, .page-heading:has(> .button) h1 { font-size: 25px; }
  .page-heading p { font-size: 15px; max-width: none; }
  .page-heading:has(> .button) > div { max-width: 100%; }
  .page-heading > .button { font-size: 14px; margin-top: 6px; }
  .footer, .footer button, .environment-dot { font-size: 13px; }
  .account-layout .form-grid { grid-template-columns: 1fr; }
  .form-section { padding: 22px 18px; }
  .detail-heading h1 { font-size: 24px; }
  .basic-info dl { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .auth-form { padding: 36px 23px 26px; }
  .auth-form > h2 { font-size: 25px; }
  .modal .notice-box, .modal .check-label { font-size: 14px; }
}
@media (max-width: 480px) {
  .model-grid { grid-template-columns: 1fr; }
  .model-title { min-height: 0; }
  .model-meta { font-size: 14px; }
  .card-author { font-size: 14px; }
  .form-grid { grid-template-columns: 1fr; }
}

/* Compact point packages: all five share one desktop row, with readable narrow-screen fallbacks. */
.package-card { padding: 22px 16px; }
.package-card .recommend-label { font-size: 11px; padding: 4px 9px; }
.package-card .package-points { margin-top: 18px; gap: 6px; }
.package-card .package-points strong { font-size: 32px; }
.package-card > p { min-height: 42px; margin-top: 10px; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.package-card .package-price { margin-top: 16px; padding-top: 14px; gap: 4px; flex-wrap: wrap; }
.package-card .package-price b { font-size: 22px; }
.package-card > .button { margin-top: 16px; padding: 10px 8px; font-size: 13px; gap: 6px; }
@media (max-width: 1200px) {
  .package-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
  .package-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 480px) {
  .package-grid { grid-template-columns: 1fr; }
}
