/* Shared app typography and actions. Brand and navigation remain distinct. */
:root{--ui-font:Arial,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--ui-action-height:48px;--ui-action-radius:12px}
html body{font-family:var(--ui-font)!important;font-size:14px;line-height:1.5}
button,input,select,textarea{font-family:var(--ui-font)!important;letter-spacing:normal}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
.primary,.secondary,#register-submit,.furniture-footer .primary,.furniture-project-sheet .primary{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-action-height)!important;padding:12px 16px!important;border-radius:var(--ui-action-radius)!important;font-size:14px!important;font-weight:600!important;line-height:22px!important;text-align:center;text-decoration:none}
.primary,#register-submit{background:#181818;color:#fff}
.secondary{background:#fff;border:1px solid #dededb;color:#242424}
.primary.compact,.secondary.compact{min-height:40px!important;padding:8px 14px!important;font-size:13px!important;line-height:20px!important}
button:disabled{cursor:default;opacity:.48!important}
button:focus-visible,a:focus-visible{outline:2px solid #65765a;outline-offset:3px}
.icon,.register-close,.furniture-favorite{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;line-height:1}
.icon svg,.register-close svg,.furniture-favorite svg{display:block;flex-shrink:0;width:20px;height:20px}
.product-header h1,.model-header h1,.composition-header strong,.creator-header strong,#catalog .detail-header strong{font-family:var(--ui-font)!important;font-size:16px!important;font-weight:600!important;line-height:24px!important;letter-spacing:normal!important}
.composition-heading h2,.furniture-project-sheet h2{font-size:18px!important;line-height:26px!important;font-weight:600!important;letter-spacing:normal!important}
.card-title h3,.furniture-name-main{font-family:var(--ui-font)!important;font-size:14px!important;font-weight:600!important;line-height:21px!important;letter-spacing:normal!important}
.furniture-name-series{font-size:12px;line-height:18px;color:#787b75}
input:not([type=checkbox]):not([type=radio]),textarea{font-size:16px}
.primary svg,.secondary svg{width:20px;height:20px;flex-shrink:0}
.auth-entry #live-auth-form > button:is([name="action"],[data-act="register-open"]){font-size:14px!important;line-height:22px!important;font-weight:600!important;min-height:48px!important;height:48px!important}
/* Compact, quiet filter typography; exclude form fields and primary actions. */
.unified-filter-scroll .choice-trigger,.unified-filter-scroll .style-trigger,.furniture-filters select,.furniture-filters .choice-trigger{
 font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif!important;font-size:13px!important;font-weight:500!important;line-height:20px!important;letter-spacing:0!important;
 box-sizing:border-box;height:36px!important;min-height:36px!important;padding:0 12px!important;gap:6px!important;border:1px solid transparent!important;border-radius:18px!important;background-color:#f3f3f0!important;color:#55594f!important;white-space:nowrap;
}
.unified-filter-scroll .choice-trigger,.unified-filter-scroll .style-trigger,.furniture-filters .choice-trigger{display:inline-flex!important;align-items:center!important;justify-content:space-between!important}
.unified-filter-scroll .choice-trigger::after,.unified-filter-scroll .style-trigger::after,.furniture-filters .choice-trigger::after{content:'';display:block;flex:0 0 14px;width:14px!important;height:14px!important;margin:0!important;border:0!important;transform:none!important;opacity:.7;background:center/14px 14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666b60' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.unified-filter-scroll .choice-trigger[data-filter-active=true],.unified-filter-scroll .style-trigger.has-selection{color:#242b20!important;background-color:#e9ece4!important;border-color:#dce2d5!important}
.furniture-filters select{appearance:none;padding-right:32px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666b60' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:14px;background-position:right 12px center}
@media(hover:hover){.unified-filter-scroll .choice-trigger:hover,.unified-filter-scroll .style-trigger:hover,.furniture-filters select:hover{background-color:#eaece6!important}}

/* 0.1 shared typography — aligned with RN build13. Keep device framing and flows intact. */
:root{--type-title:26px;--type-heading:18px;--type-card:16px;--type-body:14px;--type-secondary:13px;--type-caption:12px;--type-muted:#777;--space-copy:8px}
body .nav button{font-size:var(--type-caption)!important;line-height:18px!important}
body .primary,body .secondary,body .primary.compact,body .secondary.compact,body .library-section-action{font-size:var(--type-body)!important;line-height:20px!important;font-weight:500!important}
body .library-section-heading h2,body .composition-heading h2,body .publication-form h2{font-size:var(--type-heading)!important;line-height:26px!important;letter-spacing:normal!important;font-weight:600!important}
body .card-title h3,body .furniture-name-main,body .library-card-copy strong{font-size:var(--type-card)!important;line-height:24px!important;letter-spacing:normal!important;font-weight:600!important;overflow-wrap:anywhere}
body .caption-heading{gap:12px;align-items:center}
body .caption-heading .card-title{min-width:0;flex:1;text-align:start}
body .caption-description{font-size:var(--type-secondary)!important;line-height:20px!important;color:var(--type-muted);margin-top:var(--space-copy)}
body .library-card-copy{min-width:0}
body .model-library-grid .library-card-copy strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .library-empty-card strong,body .publication-empty h2{font-size:var(--type-card)!important;line-height:24px!important;font-weight:600!important}
body .library-empty-card p,body .publication-empty p{font-size:var(--type-secondary)!important;line-height:20px!important;font-weight:400!important;color:var(--type-muted)!important}
body[data-page=designer] .live-chat-heading strong{font-size:var(--type-title)!important;line-height:34px!important}
body[data-page=designer] .chat-intro-turn p,body[data-page=designer] .live-message>p{font-size:var(--type-body)!important;line-height:22px!important}
body[data-page=designer] .chat-intro-turn small,body[data-page=designer] .live-message>small{font-size:var(--type-secondary)!important;line-height:20px!important;color:var(--type-muted)!important}
body[data-page=designer] .composer-hint{font-size:var(--type-caption)!important;line-height:18px!important;color:var(--type-muted)!important}
body[data-page=designer] .chat-page-subtitle{font-size:var(--type-secondary)!important;line-height:20px!important}
body .publication-note,body .task-issue,body .generation-card-caption,body .furniture-name-series{font-size:var(--type-caption)!important;line-height:18px!important}
body .publication-form textarea,body .publication-form input:not([type=checkbox]):not([type=radio]){font-size:16px;line-height:24px}

/* New designs have an explicit cover state, not a blank model placeholder. */
body .design-cover-empty{display:flex!important;align-items:center;justify-content:center;color:var(--type-muted);font-size:14px;line-height:22px;text-align:center}
body .has-design-task .design-cover-empty>span{visibility:hidden}
