/* Shared presentation rules across public, member and staff pages.
   Functional states (stock, payment, permissions and Devlog colors) remain local. */
:root { --ui-radius:16px; --ui-radius-small:10px; --ui-gap:24px; }
.unified-page { overflow-wrap:break-word; }
.unified-page :is(.panel,.farm-card,.work-card,.devlog-card,.article-comment,.journal-entry) { border-radius:var(--ui-radius); border-color:var(--line); box-shadow:none; background:var(--white); color:var(--ink); }
.unified-page :is(.panel,.farm-card,.journal-entry) { padding:28px; }
.unified-page :is(.page-head,.portal-intro,.works-hero) { margin-bottom:28px; border-bottom:1px solid var(--line); }
.unified-page :is(.page-head h1,.portal-heading h1,.works-hero h1) { font-size:clamp(30px,3.8vw,52px); line-height:1.45; letter-spacing:-.025em; }
.unified-page :is(.page-head p,.portal-heading p,.works-hero-copy>p) { color:var(--muted); line-height:1.85; font-size:15px; }
.unified-page .section { margin-top:48px; margin-bottom:48px; }
.unified-page .section-head { gap:20px; align-items:center; margin-bottom:24px; }
.unified-page :is(.section-head h2,.project-devlogs h2) { font-size:28px; margin:6px 0; }
.unified-page .section-head>.muted { font-size:13px; max-width:420px; }
.unified-page :is(.grid,.detail-grid,.work-detail) { gap:var(--ui-gap); }
.unified-page .panel h2 { font-size:24px; line-height:1.5; }
.unified-page .panel h3 { font-size:18px; line-height:1.6; }
.unified-page :is(input,select,textarea) { max-width:100%; }
.unified-page .field>span { font-size:13px; font-weight:500; }
.unified-page .field :is(input,select,textarea):focus { border-color:var(--yellow); box-shadow:0 0 0 3px #f4d13f25; }
.unified-page .button { border-radius:var(--ui-radius-small); }
.unified-page .button:focus-visible,.unified-page a:focus-visible { outline:3px solid var(--yellow); outline-offset:3px; }
.unified-page .button.ghost, [data-theme=dark] .unified-page .button.ghost { background:var(--surface); color:var(--ink); border-color:var(--line); }
.unified-page .button.ghost:hover, [data-theme=dark] .unified-page .button.ghost:hover { background:var(--surface-strong); border-color:var(--muted); }
.unified-page .button:disabled { opacity:.5; cursor:not-allowed; }
.unified-page :is(.filters,.work-tabs) { gap:10px; }
.unified-page :is(.filters,.work-tabs) .chip { background:var(--white); color:var(--ink); }
.unified-page :is(.filters,.work-tabs) .chip.active { background:var(--yellow); color:#191919; border-color:var(--yellow); }
.unified-page :is(.card,.work-card,.devlog-card,.farm-card) { transition:transform .18s,border-color .18s,box-shadow .18s; }
.unified-page :is(a.card,a.work-card,a.devlog-card,.farm-card):hover { transform:translateY(-3px); border-color:var(--muted); box-shadow:var(--shadow); }
.unified-page .empty { border-radius:var(--ui-radius); background:var(--surface); padding:40px 24px; }
.unified-page .table-wrap { border-radius:var(--ui-radius); }
.unified-page .table-wrap th { background:var(--surface); }
.unified-page details>summary { cursor:pointer; }
/* Product: gallery, buying controls and specifications form three clear groups. */
.product-detail-layout { align-items:start; }
.product-gallery { min-width:0; }
.product-gallery .product-image { background:var(--surface); border:1px solid var(--line); border-radius:var(--ui-radius); aspect-ratio:1; object-fit:contain; }
.product-gallery .thumbs { gap:10px; margin-top:14px; }
.product-gallery .thumbs button { border-radius:var(--ui-radius-small); overflow:hidden; border:1px solid var(--line); padding:5px; background:var(--white); }
.product-gallery .thumbs button:hover,.product-gallery .thumbs button:focus-visible { border-color:var(--yellow); }
.product-purchase-panel { border:1px solid var(--line); border-radius:var(--ui-radius); background:var(--white); padding:28px; }
.product-purchase-panel>h2 { font-size:30px; margin:12px 0 18px; }
.product-purchase-panel>p { color:var(--muted); line-height:1.9; }
.product-selection { border-top:1px solid var(--line); padding-top:22px; margin-top:24px; }
.product-selection h3 { font-size:17px; margin:0 0 18px; }
.product-selection .price { font-size:30px; margin:16px 0 8px; }
.product-buy-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.product-buy-actions .button { flex:1; min-width:130px; }
.unified-page .product-specifications { padding:22px; margin-top:28px; background:var(--surface); }
/* Reading surfaces retain natural image proportions and a comfortable line length. */
.article-reading-shell { max-width:1000px; margin-inline:auto; }
.article-reading-shell .article-cover { width:100%; max-height:650px; object-fit:contain; background:var(--surface); border-radius:var(--ui-radius); border:1px solid var(--line); margin:24px 0; }
.article-reading-body { max-width:780px; margin:30px auto; font-size:16px; line-height:2; white-space:pre-wrap; overflow-wrap:anywhere; }
.article-reading-shell>.section { max-width:780px; margin-inline:auto; padding-top:20px; border-top:1px solid var(--line); }
.unified-page #article-discussion { max-width:1000px; margin-inline:auto; }
.unified-page :is(.article-comment,.journal-entry) { margin-bottom:18px; }
.unified-page .article-comment .row { flex-wrap:wrap; gap:12px; }
.unified-page .comment-reply { margin-left:28px; border-left:3px solid var(--yellow); }
.unified-page #comment-form { background:var(--surface); margin-top:24px; }
/* Portfolio and project pages use the same navigation, surfaces and spacing. */
.unified-page .works-hero { padding:32px; background:var(--surface); border:1px solid var(--line); border-radius:var(--ui-radius); min-height:0; }
.unified-page .works-counter { border-color:var(--line); }
.unified-page .work-tabs { display:flex; flex-wrap:wrap; padding:16px; border-radius:14px; background:var(--surface); border:1px solid var(--line); }
.unified-page .work-card-image { border-radius:12px; overflow:hidden; background:var(--surface); }
.unified-page .work-card-copy { padding:20px; }
.unified-page .work-card-copy h3 { font-size:20px; }
.unified-page .work-card-copy p { color:var(--muted); line-height:1.8; }
.unified-page .work-detail { align-items:start; }
.unified-page .work-visual,.unified-page .work-description { min-width:0; border-radius:var(--ui-radius); }
.unified-page .work-description { padding:28px; background:var(--white); border:1px solid var(--line); }
.unified-page .work-description h2 { font-size:25px; }
.unified-page .work-description .prose { font-size:15px; line-height:1.95; }
.unified-page .music-player { padding:22px; border-radius:var(--ui-radius); margin-top:18px; border:1px solid var(--line); background:var(--surface); }
.unified-page .portal-intro { padding:28px 0; }
.unified-page .project-portal { min-height:460px; border-radius:var(--ui-radius); }
.unified-page .portal-copy h2 { font-size:30px; }
.unified-page .portal-note { margin-block:28px; border-radius:var(--ui-radius); padding:24px; background:var(--surface); }
.unified-page .project-release { border-left:4px solid var(--yellow); }
.unified-page .project-release .project-actions { gap:12px; margin:20px 0; flex-wrap:wrap; }
.unified-page .devlog-card { padding:22px; }
.unified-page .devlog-card .journal-image { border-radius:10px; }
.unified-page .devlog-counts { gap:12px; }
.unified-page .devlog-counts>span { border-radius:10px; background:var(--surface); padding:12px; }
.unified-page .journal-entry .journal-body { line-height:1.95; max-width:900px; }
.unified-page .journal-entry .journal-image { border-radius:10px; }
.unified-page .form-wrap { max-width:560px; border-radius:var(--ui-radius); padding:34px; }
.unified-page .form-wrap h1 { font-size:30px; }
@media(min-width:1000px) { .product-gallery { position:sticky; top:24px; } }
@media(max-width:760px) {
 :root { --ui-gap:18px; }
 .unified-page :is(.panel,.farm-card,.journal-entry) { padding:20px; }
 .unified-page :is(.page-head h1,.portal-heading h1,.works-hero h1) { font-size:30px; }
 .unified-page .section { margin-block:32px; }
 .unified-page .section-head { align-items:flex-start; flex-wrap:wrap; gap:12px; }
 .unified-page :is(.section-head h2,.project-devlogs h2) { font-size:24px; }
 .product-purchase-panel { padding:20px; }
 .product-purchase-panel>h2 { font-size:25px; }
 .article-reading-body { font-size:15px; line-height:1.95; margin-block:24px; }
 .unified-page .comment-reply { margin-left:14px; }
 .unified-page .works-hero { padding:22px; }
 .unified-page .work-tabs { flex-wrap:nowrap; overflow-x:auto; padding:10px; }
 .unified-page .work-tabs>* { flex-shrink:0; }
 .unified-page .work-detail { grid-template-columns:1fr; }
 .unified-page .work-description { padding:22px; }
 .unified-page .project-portal { min-height:380px; }
 .unified-page .portal-copy { padding:24px; }
 .unified-page .portal-copy h2 { font-size:27px; }
 .unified-page .portal-note { flex-wrap:wrap; gap:14px; padding:20px; }
 .unified-page .devlog-card { padding:18px; }
 .unified-page .devlog-counts>span { padding:10px; }
 .unified-page .form-wrap { padding:24px; }
}
@media(prefers-reduced-motion:reduce) { .unified-page *, .unified-page *::before,.unified-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media(max-width:760px) {
 .unified-page .devlog-card { padding:14px; }
 .unified-page .devlog-counts { gap:7px; }
 .unified-page .devlog-counts>span { padding:9px 5px; font-size:9px; letter-spacing:0; white-space:nowrap; }
 .unified-page .devlog-counts b { font-size:21px; }
}
.payment-panel .order-customer-actions:not(:empty) { margin:20px 0 0; padding-top:20px; border-top:1px solid var(--line); flex-wrap:wrap; }
.comment-composer[hidden], #open-comment[hidden] { display: none; }
.comment-composer-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.comment-composer-heading h3 { margin: 0; font-size: 1.1rem; }
.comment-composer-close { display: inline-grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--ink); font-size: 24px; line-height: 1; cursor: pointer; transition: background .18s ease, border-color .18s ease; }
.comment-composer-close:hover { background: var(--surface); border-color: var(--ink); }
.comment-composer-close:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.notification-history-actions { display: flex; justify-content: center; margin-top: 24px; }
/* Compact page introductions and browsing controls. */
.unified-page .page-head { padding:24px 0 20px; margin-bottom:20px; min-height:0; }
.unified-page .page-head:not(:has(.prose)):not(.work-detail-head) { min-height:0; padding-right:108px; }
.unified-page .page-head:not(:has(.prose)):not(.work-detail-head)::after { width:88px; height:78px; top:24px; }
.unified-page .page-head .breadcrumb { margin:0 0 10px; }
.unified-page :is(.page-head h1,.portal-heading h1,.works-hero h1) { font-size:clamp(26px,2.6vw,36px); line-height:1.4; margin:0 0 8px; }
.unified-page :is(.page-head p,.portal-heading p,.works-hero-copy>p) { font-size:14px; line-height:1.7; margin:0; }
.unified-page .page-head .eyebrow { margin:0 0 8px; }
.unified-page .page-head .prose { margin-block:0; }
.unified-page .page-head .badge { margin:6px 0; }
.unified-page .catalog-controls { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:10px 24px; padding:18px 20px; margin-bottom:20px; }
.unified-page .catalog-controls>:is(.eyebrow,h2,.filters) { grid-column:1; margin:0; }
.unified-page .catalog-controls>.eyebrow { font-size:9px; }
.unified-page .catalog-controls>h2 { font-size:18px; line-height:1.5; }
.unified-page .catalog-controls .filters { gap:8px; padding:0; }
.unified-page .catalog-controls>.list-sort { grid-column:2; grid-row:1 / span 4; align-self:center; margin:0; padding:0; width:auto; }
.unified-page .catalog-controls .list-sort .field { margin:0; width:100%; }
.unified-page .catalog-controls .list-sort select { min-height:42px; padding-block:9px; }
.unified-page .portal-intro { padding:24px 0 16px; margin-bottom:18px; }
.unified-page .portal-intro>.eyebrow { margin-bottom:10px; }
.unified-page .portal-heading { gap:16px; align-items:center; }
.unified-page .portal-index { margin-top:16px; padding-top:12px; }
.unified-page .works-hero { grid-template-columns:minmax(0,1fr) 140px; padding:20px 24px; gap:20px; margin-bottom:18px; }
.unified-page .works-hero-copy>.eyebrow { margin-bottom:10px; }
.unified-page .works-counter { margin-top:10px; gap:8px; }
.unified-page .works-counter b { font-size:24px; letter-spacing:-1px; }
.unified-page .works-hero>.portal-art { display:block; min-height:130px; height:130px; border:0; background:transparent; }
.unified-page .works-hero .portal-art .orbit { width:110px; height:110px; }
.unified-page .works-hero .portal-art .orbit-two { width:82px; height:82px; }
.unified-page .works-hero .portal-art .orbit-three { width:55px; height:55px; }
.unified-page .works-hero .portal-art i { width:48px; height:48px; }
.unified-page .works-hero .portal-art b { font-size:18px; }
.unified-page .work-tabs { padding:10px 12px; margin-block:0 20px; }
.unified-page .works-section { margin-top:24px; padding-top:0; }
.unified-page .project-release { padding:20px 24px; }
.unified-page .project-release>.eyebrow { margin-bottom:8px; }
.unified-page .project-release h2 { margin:0 0 8px; font-size:22px; }
.unified-page .project-release p { margin:0; }
.unified-page .project-release .project-actions { margin:12px 0; }
.unified-page .project-devlogs { margin-top:28px; padding-top:0; }
.unified-page .account-tabs { margin-bottom:22px; gap:8px; }
.unified-page .notification-center-head { margin-bottom:18px; }
.unified-page .notification-center-head .eyebrow { margin-bottom:8px; }
.unified-page .notification-center-head h2 { margin:0 0 6px; }
@media(max-width:760px) {
 .unified-page .page-head { padding:20px 0 16px; margin-bottom:18px; }
 .unified-page .page-head:not(:has(.prose)):not(.work-detail-head) { padding-right:0; }
 .unified-page .page-head:not(:has(.prose)):not(.work-detail-head)::after { width:46px; height:40px; top:12px; opacity:.4; }
 .unified-page :is(.page-head h1,.portal-heading h1,.works-hero h1) { font-size:26px; }
 .unified-page .catalog-controls { grid-template-columns:minmax(0,1fr); padding:16px; gap:10px; }
 .unified-page .catalog-controls>.list-sort { grid-column:1; grid-row:auto; }
 .unified-page .catalog-controls .list-sort .field { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; }
 .unified-page .catalog-controls .list-sort .field>span { margin:0; }
 .unified-page .catalog-controls .filters { padding-bottom:4px; }
 .unified-page .works-hero { grid-template-columns:minmax(0,1fr); padding:18px; }
 .unified-page .works-hero>.portal-art { display:none; }
 .unified-page .portal-intro { padding:20px 0 14px; }
 .unified-page .portal-heading { grid-template-columns:1fr; gap:6px; }
 .unified-page .project-release { padding:18px; }
}
/* Keep browse controls beside results on wide screens. */
.unified-page .catalog-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:start; }
.unified-page .catalog-layout>.catalog-controls { grid-column:2; grid-row:1; display:flex; flex-direction:column; gap:14px; padding:20px; margin:0; position:sticky; top:24px; }
.unified-page .catalog-layout>.catalog-results { grid-column:1; grid-row:1; min-width:0; }
.unified-page .catalog-results>p:first-child { margin-top:0; }
.unified-page .catalog-results>.grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.unified-page .catalog-layout .catalog-controls .filters { flex-wrap:wrap; overflow:visible; gap:8px; }
.unified-page .catalog-layout .catalog-controls .filters+.filters { border-top:1px solid var(--line); padding-top:14px; }
.unified-page .catalog-layout .catalog-controls>.list-sort { align-self:stretch; border-top:1px solid var(--line); padding-top:14px; }
.unified-page .catalog-layout .catalog-controls .list-sort .field { display:block; }
@media(max-width:1100px) and (min-width:901px) {
 .unified-page .catalog-layout { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }
 .unified-page .catalog-results>.grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .unified-page .catalog-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .unified-page .catalog-layout>.catalog-controls { grid-column:1; grid-row:1; position:static; padding:16px; }
 .unified-page .catalog-layout>.catalog-results { grid-column:1; grid-row:2; }
 .unified-page .catalog-layout .catalog-controls .filters { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
 .unified-page .catalog-layout .catalog-controls .filters>* { flex-shrink:0; }
 .unified-page .catalog-layout .catalog-controls .list-sort .field { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:12px; }
 .unified-page .catalog-results>.grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
}
/* Portfolio navigation and project release details share the right sidebar. */
.unified-page .content-sidebar-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:24px; align-items:start; }
.unified-page .content-sidebar-layout>.content-sidebar { grid-column:2; grid-row:1; position:sticky; top:24px; min-width:0; margin:0; }
.unified-page .content-sidebar-layout>.sidebar-results { grid-column:1; grid-row:1; min-width:0; margin:0; padding:0; }
.unified-page .works-sidebar-layout .work-tabs { margin:0; padding:16px; flex-direction:column; align-items:stretch; gap:8px; }
.unified-page .works-sidebar-layout .work-tabs .chip { text-align:left; padding:11px 14px; }
.unified-page .works-sidebar-layout .works-section:first-child { margin-top:0; }
.unified-page .works-sidebar-layout .works-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.unified-page .project-sidebar-layout .project-release { padding:20px; }
.unified-page .project-sidebar-layout .project-actions { flex-direction:column; align-items:stretch; }
.unified-page .project-sidebar-layout .project-actions .button { justify-content:center; text-align:center; }
.unified-page .project-sidebar-layout .section-head { flex-wrap:wrap; gap:8px; }
.unified-page .project-sidebar-layout .section-head>.muted { margin:0; max-width:none; }
.unified-page .project-sidebar-layout .devlog-card { padding:16px; }
.unified-page .project-sidebar-layout .devlog-counts { gap:8px; }
.unified-page .project-sidebar-layout .devlog-counts>span { padding:8px; }
@media(max-width:1100px) and (min-width:901px) {
 .unified-page .content-sidebar-layout { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }
 .unified-page .works-sidebar-layout .works-grid,.unified-page .project-sidebar-layout .grid.three { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .unified-page .content-sidebar-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
 .unified-page .content-sidebar-layout>.content-sidebar { grid-column:1; grid-row:1; position:static; }
 .unified-page .content-sidebar-layout>.sidebar-results { grid-column:1; grid-row:2; }
 .unified-page .works-sidebar-layout .work-tabs { flex-direction:row; flex-wrap:nowrap; overflow-x:auto; padding:10px; }
 .unified-page .works-sidebar-layout .work-tabs .chip { padding:9px 12px; }
 .unified-page .works-sidebar-layout .works-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; }
 .unified-page .project-sidebar-layout .project-actions { flex-direction:row; flex-wrap:wrap; }
}
.contact-left { display:grid; gap:20px; min-width:0; }
.contact-map { display:block; width:100%; height:280px; border:1px solid var(--line); border-radius:12px; margin:16px 0; background:var(--surface); }
.contact-location .button { max-width:100%; white-space:normal; }
@media(max-width:760px) { .contact-map { height:240px; } }
/* Order states: pastel surfaces with contrasting text in both themes. */
.order-status-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.badge.order-status { background:var(--status-bg,#eceff3); color:var(--status-ink,#485466); border:1px solid var(--status-border,#d7dde5); font-weight:600; }
.order-status-transfer { --status-bg:#def3fc; --status-ink:#236480; --status-border:#b9e2f3; }
.order-status-cash { --status-bg:#dff4e4; --status-ink:#27633a; --status-border:#bbdfc6; }
.order-status-delivered { --status-bg:#e0eaff; --status-ink:#315698; --status-border:#bed0f4; }
.order-status-unpaid { --status-bg:#fff4cb; --status-ink:#795c10; --status-border:#efdea0; }
.order-status-cancelled,.order-status-rejected { --status-bg:#ffe3e3; --status-ink:#993d43; --status-border:#efbfc3; }
.order-status-review { --status-bg:#ffead7; --status-ink:#925526; --status-border:#efcfae; }
.order-status-reserved { --status-bg:#eee5fc; --status-ink:#69508c; --status-border:#d8c8ed; }
.order-status-preparing { --status-bg:#f7e3f1; --status-ink:#884e76; --status-border:#e8c4dc; }
.order-status-shipped { --status-bg:#def3ef; --status-ink:#286d62; --status-border:#b7ded5; }
.order-status-paid { --status-bg:#eaf2dc; --status-ink:#506a2d; --status-border:#d0dfb7; }
.order-status-expired { --status-bg:#ece9e5; --status-ink:#686057; --status-border:#d8d1c9; }
.order-status-refunded { --status-bg:#e8e7fa; --status-ink:#5a5289; --status-border:#cfcbeb; }
.order-status-refund_review { --status-bg:#fff0de; --status-ink:#8b5c2a; --status-border:#ebd3b5; }
.order-status-refund_transfer { --status-bg:#e2f1f8; --status-ink:#3e647d; --status-border:#bdd9e8; }
.order-payment-method:empty { display:none; }
.order-payment-method:not(:empty) { margin:0 0 14px; }
/* Shared centered confirmation and message dialogs. */
dialog.site-message-dialog { position:fixed; inset:0; margin:auto; width:min(440px,calc(100% - 32px)); max-height:calc(100dvh - 48px); padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--white); color:var(--ink); box-shadow:0 20px 80px #0003; overflow:auto; }
.site-message-dialog::backdrop { background:#1118; backdrop-filter:blur(4px); }
.site-message-dialog .eyebrow { margin:0 0 12px; }
.site-message-dialog h2 { margin:0 0 12px; font-size:23px; line-height:1.5; }
.site-message-dialog #site-message-body { margin:0; color:var(--muted); font-size:15px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.site-message-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.site-message-actions .button { min-width:96px; border-radius:10px; }
.site-message-actions .ghost { background:var(--surface); color:var(--ink); border-color:var(--line); }
.site-message-dialog [hidden] { display:none; }
.site-message-input { display:block; margin-top:18px; }
.site-message-input input { width:100%; margin-top:8px; }
.site-message-dialog button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
@media(prefers-reduced-motion:no-preference) { .site-message-dialog[open] { animation:message-appear .18s ease-out; } }
@keyframes message-appear { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:560px) { dialog.site-message-dialog { padding:24px 20px; } .site-message-actions .button { flex:1; } }

/* Search suggestions share the public search results and substring matching. */
.search-autocomplete{position:relative;min-width:0;width:100%}.search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px #0002;max-height:360px;overflow:auto;padding:6px}.search-suggestions[hidden]{display:none}.search-suggestions a{display:block;padding:12px;border-radius:8px;overflow-wrap:anywhere}.search-suggestions a:hover,.search-suggestions a[aria-selected=true]{background:var(--paper);box-shadow:inset 3px 0 var(--yellow)}.search-suggestions strong{display:block;font-size:14px}.search-suggestions small{display:block;font-size:12px;line-height:1.6;margin-top:3px}.search-suggestions p{padding:12px;margin:0;font-size:13px;color:var(--muted)}
@media(max-width:700px){.search-form .search-autocomplete{grid-column:1/-1;flex-basis:100%}}

.image-viewer{position:fixed;inset:0;margin:auto;width:min(960px,calc(100% - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:16px;background:var(--white);border:1px solid var(--line);border-radius:16px;overflow:auto;color:var(--ink)}.image-viewer::backdrop{background:#101310b8;backdrop-filter:blur(5px)}.image-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.image-viewer-header strong{font-size:15px;overflow-wrap:anywhere}.image-viewer-close{width:40px;height:40px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:26px;line-height:1}.image-viewer>img{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}.image-viewer>img[hidden],.image-viewer-status[hidden]{display:none}.image-viewer-status{padding:40px 15px;text-align:center;color:var(--muted)}

.product-channels{margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}.product-channels h3{font-size:15px;margin-bottom:12px}.product-channel-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-channel-links a{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--white);font-size:14px}.product-channel-links a:hover{border-color:var(--yellow);background:var(--paper)}.product-channel-links a span:last-child{margin-left:auto}.product-channel-links img,.purchase-channel-setting img{width:28px;height:28px;object-fit:contain;border-radius:5px;flex-shrink:0}.purchase-channel-settings{border:1px solid var(--line);border-radius:12px;padding:18px;margin:22px 0}.purchase-channel-settings legend{font-weight:600}.purchase-channel-setting{display:grid;grid-template-columns:170px minmax(0,1fr);gap:14px;align-items:center;border-top:1px solid var(--line);padding-top:12px}.purchase-channel-setting>label:first-child{display:flex;align-items:center;gap:10px}.purchase-channel-setting input[type=checkbox]{width:18px;height:18px;accent-color:var(--yellow)}@media(max-width:600px){.purchase-channel-setting{grid-template-columns:1fr;gap:8px}.product-channel-links{grid-template-columns:1fr}}

.discussion-count{color:var(--muted);margin:0 0 12px;font-size:14px}.discussion-disclosure{margin-bottom:20px}.discussion-disclosure>summary{list-style:none;width:fit-content;cursor:pointer}.discussion-disclosure>summary::-webkit-details-marker{display:none}.discussion-disclosure>summary::marker{content:''}.discussion-disclosure .disclosure-close-label{display:none}.discussion-disclosure[open] .disclosure-open-label{display:none}.discussion-disclosure[open] .disclosure-close-label{display:inline}.discussion-content{padding-top:20px}

.discussion-preview{margin:0 0 18px}.discussion-preview-card{margin-bottom:10px}.discussion-preview-card .review-body{margin:12px 0 0;overflow-wrap:anywhere}.discussion-preview [data-preview-pause]{font-size:12px}.discussion-preview-current{min-width:0}
.discussion-preview-enter{animation:discussion-preview-in .4s ease-out both}
@keyframes discussion-preview-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.discussion-preview-enter{animation:none}}

[data-infinity-row].infinity-row{display:block;overflow:hidden;padding:12px 4px 22px;min-width:0;scroll-snap-type:none}.infinity-track{display:flex;gap:24px;align-items:stretch;will-change:transform}.infinity-track>*{flex:0 0 calc((100% - 48px)/3);min-width:0;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.recommendations .infinity-track>*{flex-basis:280px}.infinity-track>*.auto-highlight,.infinity-track>*:hover,.infinity-track>*:focus-visible{transform:translateY(-6px);border-color:var(--yellow);box-shadow:0 10px 24px #00000014,0 0 0 1px var(--yellow)}.infinity-track>*.auto-highlight img{transform:scale(1.025);transition:transform .4s ease}.infinity-track>*>img{max-width:100%}@media(max-width:900px){.infinity-track>*{flex-basis:calc((100% - 24px)/2)}}@media(max-width:560px){.infinity-track>*{flex-basis:85%}.recommendations .infinity-track>*{flex-basis:85%}}@media(prefers-reduced-motion:reduce){.infinity-track>*,.infinity-track img{transition:none!important}.infinity-track>*.auto-highlight{transform:none}}

.infinity-row{cursor:grab;touch-action:pan-y pinch-zoom}.infinity-row a,.infinity-row img{touch-action:pan-y pinch-zoom;-webkit-user-drag:none}.infinity-row.is-dragging,.infinity-row.is-dragging *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}.infinity-row.is-dragging .infinity-track>*{transition:none;transform:none;box-shadow:none}

#home-product-hero{cursor:grab;touch-action:pan-y pinch-zoom}#home-product-hero a,#home-product-hero img{touch-action:pan-y pinch-zoom;-webkit-user-drag:none}#home-product-hero.hero-dragging,#home-product-hero.hero-dragging *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}

.studio-collections-grid.infinity-row .infinity-track>.collection-card{flex-basis:calc((100% - 72px)/4)}@media(max-width:1100px){.studio-collections-grid.infinity-row .infinity-track>.collection-card{flex-basis:calc((100% - 24px)/2)}}@media(max-width:560px){.studio-collections-grid.infinity-row .infinity-track>.collection-card{flex-basis:85%}}
.studio-collections-grid .collection-card[data-collection-style="1"],.studio-collections-grid .collection-card[data-collection-style="4"]{background:var(--surface);color:var(--ink);border-color:var(--line)}

.promptpay-qr{display:block;width:100%;max-width:420px;height:auto;max-height:none;object-fit:contain;background:#fff;border-radius:12px;margin:16px auto;}
.policy-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.policy-links [aria-current]{background:var(--yellow);color:#171717}.policy-document{max-width:900px;margin:24px auto;line-height:1.95;overflow-wrap:anywhere}.policy-document h2{font-size:20px;line-height:1.55;margin:32px 0 12px}.policy-document p{white-space:normal;margin:0 0 18px}.policy-document section+section{border-top:1px solid var(--line);margin-top:28px;padding-top:4px}.policy-contact{max-width:900px;margin:20px auto 40px}.policy-editor{border-top:1px solid var(--line);padding:20px 0}.policy-editor summary{font-weight:700;cursor:pointer}.policy-editor textarea{min-height:360px;margin-top:12px;line-height:1.8}
