*,:before,:after{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}button,[role=button],input,select,label{touch-action:manipulation}.swatch,.dropdown-item,.seq-chip,.step-pip,.color-chip,.saved-item{cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:var(--r-xs)}button:focus:not(:focus-visible){outline:none}:root{--bg:#e8e2d6;--surface:#f1ede4;--surface-2:#f7f4ec;--surface-3:#ede8dc;--thread-warp:#14161c08;--thread-weft:#1c254006;--ink:#14161c;--ink-2:#45443f;--ink-3:#5e5c57;--ink-ph:#64605a;--primary:#1c2540;--primary-hover:#121933;--primary-active:#0c1226;--primary-subtle:#e3e4ea;--primary-on:#f4eee2;--primary-glow:#1c254033;--secondary:#121933;--secondary-subtle:#e3e4ea;--rail:#121933;--gold:#c9ac74;--gold-deep:#a8874f;--gold-subtle:#f3ede0;--gold-glow:#a8874f42;--gold-ink:#6f5730;--accent:#6f5730;--accent-hover:#56421f;--accent-subtle:#f3ede0;--accent-on:#f4eee2;--accent-glow:#6f573033;--ok:#3d6b4a;--ok-bg:#e8efe7;--err:#9b3b2c;--err-bg:#f6e7e2;--warn:#7a5c18;--warn-bg:#f3ebd5;--border:#d6cfc0;--border-2:#e2dcce;--border-3:#beb5a2;--sh-xs:none;--sh-sm:0 10px 28px #14161c12;--sh:0 18px 50px #14161c1a;--sh-lg:0 40px 90px #14161c29;--sh-primary:none;--sh-accent:none;--sh-card:0 10px 28px #14161c0f;--r-xs:2px;--r-sm:2px;--r:3px;--r-lg:4px;--r-xl:4px;--r-pill:2px;--t-fast:.12s;--t:.2s;--t-slow:.34s;--ease:cubic-bezier(.22, 1, .36, 1);--font:"IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;--font-display:"Cormorant Garamond", "Noto Serif Thai", Georgia, serif;--font-ui:"IBM Plex Sans Thai", "Noto Sans Thai", system-ui, sans-serif;--micro-size:.66rem;--micro-track:.24em;--paper-grid:#faf7f0;--paper-grid-line:#e4dccb;--scrim:#0c0f1c94}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1326;--surface:#151d38;--surface-2:#1c2540;--surface-3:#232c4b;--thread-warp:#c9ac7408;--thread-weft:#c9ac7405;--ink:#f1ede4;--ink-2:#c9c4b8;--ink-3:#9a968c;--ink-ph:#a19d93;--primary:#8e9cd0;--primary-hover:#a6b2dc;--primary-active:#bcc5e6;--primary-subtle:#1e2747;--primary-on:#0e1326;--primary-glow:#8e9cd047;--secondary:#a6b2dc;--secondary-subtle:#1e2747;--rail:#080c1a;--gold:#c9ac74;--gold-deep:#c9ac74;--gold-subtle:#24200f;--gold-glow:#c9ac7442;--gold-ink:#e3ce9f;--accent:#c9ac74;--accent-hover:#dcc28e;--accent-subtle:#24200f;--accent-on:#0e1326;--accent-glow:#c9ac743d;--ok:#7cbf8c;--ok-bg:#12271a;--err:#ee8a7e;--err-bg:#2c1917;--warn:#d9bb68;--warn-bg:#262012;--border:#2a3355;--border-2:#202844;--border-3:#3e4a73;--sh-xs:none;--sh-sm:0 10px 28px #0006;--sh:0 18px 50px #00000075;--sh-lg:0 40px 90px #0009;--sh-primary:none;--sh-accent:none;--sh-card:0 10px 28px #0000005c;--paper-grid:#faf7f0;--paper-grid-line:#e4dccb;--scrim:#04060eb8}}:root[data-theme=dark]{--bg:#0e1326;--surface:#151d38;--surface-2:#1c2540;--surface-3:#232c4b;--thread-warp:#c9ac7408;--thread-weft:#c9ac7405;--ink:#f1ede4;--ink-2:#c9c4b8;--ink-3:#9a968c;--ink-ph:#a19d93;--primary:#8e9cd0;--primary-hover:#a6b2dc;--primary-active:#bcc5e6;--primary-subtle:#1e2747;--primary-on:#0e1326;--primary-glow:#8e9cd047;--secondary:#a6b2dc;--secondary-subtle:#1e2747;--rail:#080c1a;--gold:#c9ac74;--gold-deep:#c9ac74;--gold-subtle:#24200f;--gold-glow:#c9ac7442;--gold-ink:#e3ce9f;--accent:#c9ac74;--accent-hover:#dcc28e;--accent-subtle:#24200f;--accent-on:#0e1326;--accent-glow:#c9ac743d;--ok:#7cbf8c;--ok-bg:#12271a;--err:#ee8a7e;--err-bg:#2c1917;--warn:#d9bb68;--warn-bg:#262012;--border:#2a3355;--border-2:#202844;--border-3:#3e4a73;--sh-xs:none;--sh-sm:0 10px 28px #0006;--sh:0 18px 50px #00000075;--sh-lg:0 40px 90px #0009;--sh-primary:none;--sh-accent:none;--sh-card:0 10px 28px #0000005c;--paper-grid:#faf7f0;--paper-grid-line:#e4dccb;--scrim:#04060eb8}body{background-color:var(--bg);background-image:repeating-linear-gradient(90deg, var(--thread-warp) 0 1px, transparent 1px 24px), repeating-linear-gradient(0deg, var(--thread-weft) 0 1px, transparent 1px 24px);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;min-height:100dvh;font-size:15px;line-height:1.65}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes section-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes slide-right{0%{transform:translate(0)}50%{transform:translate(4px)}to{transform:translate(0)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.panel{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--sh-card);padding:22px 24px;position:relative;overflow:hidden}.panel+.panel{margin-top:14px}.panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.panel-title{font-family:var(--font);color:var(--ink);letter-spacing:-.005em;font-size:clamp(1.35rem,2.2vw,1.72rem);font-weight:300;line-height:1.18}.panel-sub{color:var(--ink-3);max-width:62ch;margin-top:8px;font-size:.8rem;line-height:1.65}.micro{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);font-weight:500;display:block}.badge{border-radius:var(--r-sm);border:1px solid var(--border);color:var(--primary);white-space:nowrap;letter-spacing:.01em;border:1px solid var(--border);background:0 0;flex-shrink:0;align-items:center;padding:5px 11px;font-size:.72rem;font-weight:800;display:inline-flex}.badge-green,.badge-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.badge-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.step-hint{border-radius:var(--r-sm);background:var(--warn-bg);color:var(--ink-2);border:1px solid var(--border);align-items:flex-start;gap:8px;margin:0 20px 16px;padding:10px 16px;font-size:.8rem;line-height:1.5;display:flex}.step-hint svg{opacity:.75;flex-shrink:0;margin-top:1px}.step-hint-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.step-hint-ok svg{opacity:.9}.empty-state{text-align:center;color:var(--ink-3);padding:48px 20px}.empty-icon{filter:none;margin-bottom:12px;font-size:2.4rem;display:block}.empty-sub{color:var(--ink-ph);margin-top:6px;font-size:.78rem}.coming-soon{min-height:240px;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:.95rem;display:flex}.coming-soon span{font-size:2.6rem}.toolbar{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.toolbar-sep{background:var(--border);align-self:center;width:1px;height:28px;margin:0 3px}.toolbar-group{flex-wrap:wrap;gap:4px;display:flex}.tbtn.tbtn-icon{justify-content:center;width:44px;padding:0;font-size:1.02rem}.tbtn.tbtn-cta{border:0;border-bottom:1px solid var(--gold);height:auto;color:var(--ink);letter-spacing:.12em;box-shadow:none;background:0 0;border-radius:0;align-self:center;margin-left:auto;padding:0 2px 6px}.tbtn.tbtn-cta:hover:not(:disabled){border-bottom-color:var(--gold-ink);color:var(--gold-ink);background:0 0}.toolbar-more{position:relative}.toolbar-more>summary{list-style:none}.toolbar-more>summary::-webkit-details-marker{display:none}.toolbar-more[open]>summary{color:var(--primary);background:var(--primary-subtle);border-color:var(--border-3)}.toolbar-more-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);min-width:210px;box-shadow:var(--sh-lg);animation:fade-up .14s var(--ease) both;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.toolbar-more-menu .tbtn{width:100%;box-shadow:none;background:0 0;border-color:#0000;justify-content:flex-start}.toolbar-more-menu .tbtn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border);transform:none}.sys-dialog{max-width:min(560px,94vw)}.sys-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.sys-stat{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.sys-num{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:1.5rem;font-weight:800;line-height:1.1}.sys-cap{color:var(--ink-2);font-size:.72rem}.sys-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sys-list li{border-bottom:1px solid var(--border);flex-direction:column;gap:1px;padding-bottom:6px;display:flex}.sys-list li:last-child{border-bottom:0;padding-bottom:0}.sys-list-main{color:var(--ink);font-size:.86rem;font-weight:700}.sys-list-sub{color:var(--ink-2);font-size:.74rem}.report-form{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);flex-direction:column;gap:6px;margin:10px 0;padding:12px;display:flex}.report-form label{color:var(--ink-2);font-size:.76rem;font-weight:700}.report-form textarea{resize:vertical;font-family:var(--font)}.report-error{color:var(--err);margin:0;font-size:.78rem}.report-done{border-radius:var(--r-sm);background:var(--ok-bg);border:1px solid var(--ok);color:var(--ok);margin:10px 0;padding:10px 12px;font-size:.82rem}.sys-badge{vertical-align:middle;margin-left:8px}.sys-closed{color:var(--ink-ph);font-weight:600}.sys-mod{align-self:flex-start;min-height:32px;margin-top:4px;padding:4px 10px;font-size:.74rem}.sys-error{border-radius:var(--r-sm);background:var(--err-bg);border:1px solid var(--err);color:var(--err);margin:0 0 10px;padding:10px 12px;font-size:.82rem}.demo-bar{background:var(--warn-bg);border:1px solid var(--border-2);border-radius:var(--r-sm);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;padding:8px 14px;font-size:.8rem;display:flex}.toolbar-fields{display:contents}.tbtn.tbtn-mobile{display:none}.toolbar-field{min-width:0;max-width:100%;color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:5px;font-size:.78rem;display:flex}.toolbar-field input{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:56px;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums lining-nums;text-align:center;padding:5px 6px}.toolbar-field-unit{color:var(--ink-ph)}.toolbar-field-hint{color:var(--accent,var(--ink-2));font:inherit;cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:.74rem;text-decoration:underline}.toolbar-field-note{min-width:0;color:var(--ink-ph);flex:auto;font-size:.72rem}.dye-dialog{max-width:min(680px,94vw)}.dye-order{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dye-order li{align-items:center;gap:8px;display:flex}.dye-swatch{border-radius:var(--r-xs);border:1px solid var(--border-3);vertical-align:middle;flex-shrink:0;width:20px;height:20px;margin:0 4px;display:inline-block}.dye-hex{color:var(--ink-2);font-variant-numeric:tabular-nums lining-nums;flex:1;font-size:.78rem}.dye-step{border-top:1px solid var(--border)}.dye-preview{border:1px solid var(--border-3);border-radius:var(--r-sm);width:100%;height:auto;image-rendering:pixelated;background:#fff;margin:8px 0;display:block}.tbtn{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);min-width:44px;height:44px;color:var(--ink-2);font-size:.82rem;font-family:var(--font);cursor:pointer;transition:color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), transform 80ms var(--ease);white-space:nowrap;align-items:center;gap:5px;padding:0 13px;font-weight:600;line-height:1;display:inline-flex}.tbtn:hover:not(:disabled){color:var(--ink);background:var(--surface-2);border-color:var(--ink-3)}.tbtn:active:not(:disabled){background:var(--surface-3)}.tbtn:disabled{opacity:.25;cursor:not-allowed}.tbtn-danger{color:var(--err)!important;border-color:var(--border)!important}.tbtn-danger:hover:not(:disabled){background:var(--err-bg)!important;border-color:var(--err)!important}.tbtn-active{color:var(--primary)!important;background:var(--primary-subtle)!important;border-color:var(--primary)!important;box-shadow:none!important}.dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh);animation:fade-up .14s var(--ease) both;flex-wrap:wrap;gap:7px;margin-bottom:10px;padding:12px;display:flex}.dropdown-item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);min-height:44px;color:var(--ink);font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform 80ms var(--ease), box-shadow var(--t-fast) var(--ease);align-items:center;padding:9px 16px;font-size:.86rem;font-weight:600;display:flex}.dropdown-item:hover{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary);box-shadow:var(--sh-xs);transform:scale(1.02)}.dropdown-empty{color:var(--ink-ph);padding:8px 12px;font-size:.82rem}.palette-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.palette{flex-wrap:wrap;flex:1;gap:7px;display:flex}.swatch{border-radius:var(--r-sm);outline-offset:2px;cursor:pointer;width:30px;height:30px;transition:transform var(--t-fast) var(--ease), outline-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);box-shadow:var(--sh-xs);border:2px solid #0000;outline:2.5px solid #0000;flex-shrink:0}.swatch:hover{box-shadow:var(--sh-sm);transform:scale(1.2)}.swatch-active{outline-color:var(--ink);transform:scale(1.12);box-shadow:0 0 0 3px #14161c29}.swatch-custom{cursor:pointer;border-color:var(--border);background:conic-gradient(red 0deg,#ff0 60deg,#0f0 120deg,#0ff 180deg,#00f 240deg,#f0f 300deg,red 360deg);justify-content:center;align-items:center;display:flex;position:relative}.swatch-custom input[type=color]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.fabric-color-row{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:8px;display:flex}.fabric-color-label{color:var(--ink-3);font-size:.74rem;font-weight:700}.fabric-swatch{border-radius:var(--r-xs);border:1px solid var(--border);outline-offset:2px;cursor:pointer;width:26px;height:26px;transition:transform var(--t-fast) var(--ease), outline-color var(--t-fast) var(--ease);outline:2.5px solid #0000;padding:0}.fabric-swatch:hover{transform:scale(1.15)}.fabric-swatch.active{outline-color:var(--ink);transform:scale(1.08)}.fabric-swatch-custom{color:#fff;background:conic-gradient(red 0deg,#ff0 60deg,#0f0 120deg,#0ff 180deg,#00f 240deg,#f0f 300deg,red 360deg);justify-content:center;align-items:center;display:flex;position:relative}.fabric-swatch-custom input[type=color]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.current-color-preview{border-radius:var(--r-sm);border:2px solid var(--border);width:36px;height:36px;box-shadow:var(--sh-sm);transition:box-shadow var(--t) var(--ease);flex-shrink:0}.weave-grid-wrap{align-items:stretch;gap:5px;display:flex}.row-numbers{flex-direction:column;flex-shrink:0;width:20px;padding:1px 0;display:flex}.row-num{color:var(--ink-ph);font-size:.6rem;font-weight:700;font-family:var(--font);font-variant-numeric:tabular-nums lining-nums;flex:1;justify-content:flex-end;align-items:center;padding-right:2px;line-height:1;display:flex}.weave-grid{background:var(--paper-grid);border:1px solid var(--border-3);border-radius:var(--r-sm);cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:none;min-width:0;box-shadow:var(--sh-sm);flex:1;gap:0;display:grid;overflow:hidden}.weave-cell{background:var(--paper-grid);border-right:.5px solid var(--paper-grid-line);border-bottom:.5px solid var(--paper-grid-line);transition:background 60ms linear}.weave-cell:hover{filter:brightness(.84)}.copy-sel-overlay{pointer-events:none;border:2px solid var(--secondary);z-index:2;background:#2e39742e;border-radius:1px;position:absolute;box-shadow:inset 0 0 0 1px #ffffff73}.col-numbers-row{gap:5px;margin-top:2px;display:flex}.col-numbers-offset{flex-shrink:0;width:20px}.col-numbers{flex:1;min-width:0;display:flex}.col-num{text-align:center;color:var(--ink-ph);font-size:.55rem;font-weight:700;font-family:var(--font);font-variant-numeric:tabular-nums lining-nums;flex:1;line-height:1}.grid-legend{text-align:center;color:var(--ink-ph);letter-spacing:.01em;margin-top:6px;font-size:.7rem}.shrink-warning{border-radius:var(--r-sm);background:var(--warn-bg);border:1px solid var(--warn);color:var(--warn);margin-top:10px;padding:10px 14px;font-size:.8rem;line-height:1.5}.ai-preview-status{color:var(--ink);margin-bottom:16px;font-size:.9rem;line-height:1.5}.ai-preview-error{color:var(--err)}.ai-preview-img{border-radius:var(--r-sm);width:100%;margin-bottom:16px;display:block}.grid-area{position:relative}.grid-viewport{touch-action:none;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:72vh;overflow:auto}.grid-canvas{min-width:100%}.zoom-controls{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--sh-sm);z-index:5;flex-direction:column;align-items:center;gap:4px;padding:5px;display:flex;position:absolute;bottom:12px;right:12px}.zoom-btn{border:1px solid var(--border);border-radius:var(--r-xs);background:var(--surface);width:44px;height:44px;color:var(--ink-2);font-size:1.05rem;font-weight:700;font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);justify-content:center;align-items:center;display:flex}.zoom-btn:hover{background:var(--surface-2);color:var(--ink)}.zoom-btn:active{background:var(--primary-subtle);color:var(--primary)}.zoom-level{color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;font-size:.6rem;font-weight:800;line-height:1}.design-toolbar,.sheet-scrim,.sheet-handle,.color-sheet{display:none}.sheet-title{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);margin-bottom:12px;font-weight:500}.wizard-progress{margin-bottom:20px;display:flex}.wstep{font-family:var(--font);cursor:default;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:7px;padding:8px 4px;display:flex;position:relative}.wstep-done{cursor:pointer}.wstep:disabled{opacity:.55}.wstep:after{content:"";background:var(--border);width:calc(100% - 40px);height:2px;transition:background var(--t) var(--ease);position:absolute;top:23px;left:calc(50% + 20px)}.wstep:last-child:after{display:none}.wstep-done:after{background:var(--gold)}.wstep-num{background:var(--surface);border:1.5px solid var(--border);width:30px;height:30px;color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;z-index:1;transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease), box-shadow var(--t) var(--ease);border-radius:50%;justify-content:center;align-items:center;font-size:.78rem;font-weight:800;display:flex;position:relative}.wstep-label{color:var(--ink-3);font-size:.68rem;font-weight:700;line-height:1.2}.wstep-active .wstep-num{background:var(--primary);border-color:var(--primary);color:var(--primary-on);box-shadow:0 0 0 4px var(--primary-glow)}.wstep-active .wstep-label{color:var(--primary)}.wstep-done .wstep-num{background:var(--gold-subtle);border-color:var(--gold);color:var(--gold-deep)}.wstep-done .wstep-label{color:var(--gold-deep)}.wizard-body{animation:section-enter .2s var(--ease) both;min-height:180px}.wizard-nav{justify-content:space-between;align-items:center;gap:10px;margin-top:20px;display:flex}.wizard-next{margin-left:auto}.lift-guide{flex-direction:column;gap:6px;margin-top:4px;display:flex}.lift-head{align-items:center;gap:14px;padding:0 14px;display:flex}.lift-head-num{color:var(--ink-ph);text-align:center;font-size:.66rem;font-weight:700}.lift-row{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);animation:lift-row-cycle var(--cycle) linear infinite;animation-delay:calc(var(--i) * var(--row-time));align-items:center;gap:14px;padding:10px 14px;display:flex}.lift-row-label{width:62px;color:var(--ink-2);font-variant-numeric:tabular-nums lining-nums;flex-shrink:0;font-size:.78rem;font-weight:700}.lift-dots{flex:1;justify-content:center;display:flex}.lift-cell{justify-content:center;width:52px;display:flex}.lift-dot{border:2px solid var(--border-3);background:var(--surface);width:18px;height:18px;transition:transform var(--t) var(--ease);border-radius:50%}.lift-dot-up{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px var(--gold-glow);transform:translateY(-2px)}.lift-row-action{text-align:right;width:74px;color:var(--gold-ink);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:600}@keyframes lift-row-cycle{0%,9%{background:var(--gold-subtle);border-color:var(--gold)}13%,to{background:var(--surface);border-color:var(--border-2)}}.summary-hero{text-align:center;margin-bottom:20px}.summary-hero-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.45rem;font-weight:800;line-height:1.3}.summary-hero-sub{color:var(--ink-3);margin:2px 0 14px;font-size:.76rem}.summary-hero-stat{text-align:center;background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:14px;padding:22px 16px 18px}.hero-stat-main{justify-content:center;align-items:baseline;gap:8px;display:flex}.hero-stat-num{font-family:var(--font-display);color:var(--primary);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(2.8rem,9vw,4rem);font-weight:800;line-height:1}.hero-stat-unit{color:var(--ink-3);font-size:1.1rem;font-weight:700}.hero-stat-label{color:var(--ink-3);margin-top:8px;font-size:.78rem;font-weight:600;display:block}.summary-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.schip{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r);min-width:76px;box-shadow:var(--sh-xs);flex-direction:column;align-items:center;gap:1px;padding:10px 14px;display:flex}.schip-value{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:1.15rem;font-weight:800;line-height:1.2}.schip-label{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);font-weight:500}.schip-gold{background:var(--gold-subtle);border-color:var(--gold)}.schip-gold .schip-value{color:var(--gold-deep)}.btn-export{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-height:48px;color:var(--ink-2);font-family:var(--font);cursor:pointer;box-shadow:var(--sh-xs);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform 80ms var(--ease), box-shadow var(--t-fast) var(--ease);align-items:center;gap:8px;padding:0 20px;font-size:.88rem;font-weight:700;display:inline-flex}.btn-export:hover{background:var(--surface-2);border-color:var(--border-3);box-shadow:var(--sh-sm);transform:translateY(-1px)}.btn-export:active{transform:scale(.97)}.btn-export-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-on);box-shadow:var(--sh-primary)}.btn-export-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-export-danger:hover{background:var(--err-bg);border-color:var(--err);color:var(--err)}.library-panel{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--sh);animation:fade-up .14s var(--ease) both;margin-bottom:10px;overflow:hidden}.library-section{border-bottom:1px solid var(--border-2);padding:12px 14px}.library-section:last-child{border-bottom:none}.library-section-title{font-size:var(--micro-size);color:var(--ink-ph);text-transform:uppercase;letter-spacing:var(--micro-track);margin-bottom:11px;font-weight:500}.pattern-library-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pattern-lib-item{border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;background:var(--surface-3);transition:border-color .12s var(--ease), transform .1s var(--ease), box-shadow .12s var(--ease);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.pattern-lib-thumb-wrap{aspect-ratio:4/3;background:var(--surface-3);width:100%;position:relative;overflow:hidden}.pattern-lib-item:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 6px 18px #00000029}.pattern-lib-item:active{transform:translateY(0)}.pattern-lib-item:focus{outline:none}.pattern-lib-item.selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary)}.pattern-lib-thumb{object-fit:cover;width:100%;height:100%;display:block}.pattern-lib-name{text-align:center;color:var(--ink-2);letter-spacing:.01em;padding:7px 8px;font-size:.78rem;font-weight:700}.pattern-lib-check{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:6px;right:6px;box-shadow:0 1px 4px #0000004d}.pattern-lib-check svg{width:13px;height:13px}.photo-upload-area{border:1.5px dashed var(--border-3);border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);flex-direction:row;align-items:center;gap:10px;padding:10px 14px;display:flex}.photo-upload-area:hover{border-color:var(--primary);background:var(--primary-subtle)}.photo-upload-area>span{color:var(--ink-2);font-size:.82rem;font-weight:600}.photo-hint{display:none}.preview-wrap{border:1px solid var(--border);border-radius:var(--r);animation:fade-up .18s var(--ease) both;box-shadow:var(--sh-sm);margin-top:14px;overflow:hidden}.preview-title-row{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 14px;display:flex}.preview-title{color:var(--ink-2);font-size:.82rem;font-weight:700}.preview-note{color:var(--ink-3);font-size:.72rem}.preview-canvas{width:100%;height:auto;image-rendering:pixelated;display:block}.dialog{background:var(--surface);color:var(--ink);border-radius:var(--r-xl);width:calc(100vw - 48px);min-width:310px;max-width:400px;box-shadow:var(--sh-lg);animation:pop-in .22s var(--ease) both;border:1px solid var(--border-2);margin:auto;padding:28px}.dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(8px)saturate(140%)}.dialog h3{font-family:var(--font);color:var(--ink);letter-spacing:-.005em;margin-bottom:22px;font-size:1.4rem;font-weight:300}.dialog-input{border:0;border-bottom:1px solid var(--border);width:100%;font-family:var(--font);color:var(--ink);background:var(--bg);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);border-radius:0;outline:none;margin-bottom:16px;padding:12px 2px;font-size:.95rem}.dialog-input:focus{border-bottom-color:var(--gold-ink);box-shadow:none}.dialog-btns{justify-content:flex-end;gap:8px;display:flex}.btn-primary,.btn-gold,.btn-outline,.btn-danger-outline{border-radius:var(--r-sm);height:48px;font-family:var(--font);letter-spacing:.1em;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:.82rem;display:inline-flex}.btn-primary,.btn-gold{transition:background var(--t) var(--ease), color var(--t) var(--ease), filter var(--t) var(--ease);border:none;font-weight:500}.btn-outline,.btn-danger-outline{border:1px solid var(--border);transition:color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);background:0 0;font-weight:500}.btn-primary{background:var(--primary);color:var(--primary-on)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-gold{color:#14161c;background:#c9ac74}.btn-gold:hover:not(:disabled){color:#14161c;background:#b79a62}.btn-primary:active:not(:disabled),.btn-gold:active:not(:disabled){filter:brightness(.94)}.btn-primary:disabled,.btn-gold:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--ink-2)}.btn-outline:hover{color:var(--ink);border-color:var(--ink-3)}.btn-danger-outline{color:var(--err);border-color:var(--border)}.btn-danger-outline:hover{background:var(--err-bg);border-color:var(--err)}.fields{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;max-width:420px;display:flex}.field label{font-size:var(--micro-size);color:var(--ink-ph);letter-spacing:var(--micro-track);text-transform:uppercase;font-weight:500}.field input[type=number]{border:0;border-bottom:1px solid var(--border);height:48px;font-family:var(--font);color:var(--ink);transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);font-variant-numeric:tabular-nums lining-nums;background:0 0;border-radius:0;outline:none;width:100%;padding:0 2px;font-size:1rem}.field input[type=number]:hover{border-bottom-color:var(--ink-3)}.field input[type=number]:focus{border-bottom-color:var(--gold-ink);box-shadow:none}.field input[type=number]::placeholder{color:var(--ink-ph);font-size:.875rem;font-weight:400}.field-error{color:var(--err);margin-top:4px;font-size:.76rem;font-weight:600}.select-group{flex-wrap:wrap;gap:8px;display:flex}.select-btn{border:1px solid var(--border);border-radius:var(--r-sm);height:44px;color:var(--ink-3);font-family:var(--font);cursor:pointer;transition:color var(--t) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease);white-space:nowrap;background:0 0;padding:0 18px;font-size:.85rem;font-weight:400}.select-btn:active{background:var(--surface-3)}.select-btn:hover{border-color:var(--ink-3);color:var(--ink)}.select-btn.active{background:var(--primary);border-color:var(--primary);color:var(--primary-on);box-shadow:none;font-weight:500}.calc-section{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r);margin-bottom:12px;padding:18px}.calc-section-title{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;margin-bottom:16px;font-size:.92rem;font-weight:700;display:flex}.calc-num{background:var(--primary);width:26px;min-width:26px;height:26px;color:var(--primary-on);box-shadow:var(--sh-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.76rem;font-weight:800;display:inline-flex}.result-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);animation:fade-up .2s var(--ease) both;box-shadow:var(--sh-xs);margin-top:16px;padding:16px}.result-step{background:var(--surface-2);border-radius:var(--r-sm);margin-bottom:6px;padding:10px 13px}.step-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.step-label{color:var(--ink-3);font-size:.79rem}.step-value{color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;font-size:.92rem;font-weight:700}.step-note{color:var(--ink-ph);margin-top:3px;font-size:.72rem;display:block}.step-arrow{text-align:center;color:var(--ink-ph);margin:2px 0 6px;font-size:.9rem;line-height:1}.result-hl{background:var(--primary-subtle);border:1px solid var(--primary);border-radius:var(--r);box-shadow:none;align-items:stretch;gap:0;margin-top:14px;padding:22px 24px;display:flex}.hl-item{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.hl-num{font-family:var(--font-display);color:var(--accent);letter-spacing:-.06em;font-variant-numeric:tabular-nums lining-nums;font-size:clamp(3.4rem,14vw,5rem);font-weight:900;line-height:1}.hl-unit{color:var(--ink-3);letter-spacing:.01em;font-size:.8rem;font-weight:600}.hl-sep{background:var(--border);width:1px;margin:8px 20px}.calc-actions{gap:10px;margin-top:10px;display:flex}.calc-actions .btn-primary{padding:0 32px;font-size:.97rem}.color-legend{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.legend-item{color:var(--ink-2);align-items:center;gap:7px;font-size:.82rem;display:flex}.legend-dot{border-radius:var(--r-xs);width:14px;height:14px;box-shadow:var(--sh-xs);flex-shrink:0}.chart-scroll{border-radius:var(--r-sm);overflow-x:auto}.chart-table{border-collapse:collapse;width:100%;min-width:360px;font-size:.8rem}.chart-table thead tr{border-bottom:2px solid var(--border)}.chart-table th{background:var(--surface-3);color:var(--ink-3);text-align:left;white-space:nowrap;letter-spacing:.04em;text-transform:uppercase;padding:10px 11px;font-size:.72rem;font-weight:700}.chart-table td{border-bottom:1px solid var(--border-2);vertical-align:middle;padding:8px 11px}.chart-table tbody tr{transition:background var(--t-fast) var(--ease)}.chart-table tbody tr:hover td{background:var(--primary-subtle)}.chart-table tr.row-empty td{opacity:.38}.td-num{color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums lining-nums;width:36px;font-weight:700}.td-visual{width:40%}.seg-bar{border-radius:var(--r-xs);background:var(--border);gap:1px;width:100%;min-width:90px;height:16px;display:flex;overflow:hidden}.seg-block{min-width:2px}.td-seq{white-space:nowrap}.seq-text{color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;font-size:.76rem}.td-sod{text-align:center;white-space:nowrap;color:var(--primary);font-variant-numeric:tabular-nums lining-nums;font-weight:700}.row-dots{align-items:center;gap:4px;display:flex}.row-dot{width:12px;height:12px;box-shadow:var(--sh-xs);border-radius:50%;flex-shrink:0}.muted{color:var(--ink-ph);font-size:.78rem}.threading-diagram{margin-top:18px}.diagram-title{color:var(--ink-2);margin-bottom:12px;font-size:.82rem;font-weight:700}.diagram-scroll{max-height:60vh;padding-bottom:8px;overflow:auto}.threading-svg{display:block}.diagram-source{color:var(--ok);font-size:.78rem;font-weight:600}.tying-scroll{border:1px solid var(--border);border-radius:var(--r-sm);max-height:60vh;overflow:auto}.tying-table{border-collapse:separate;border-spacing:0;table-layout:fixed}.tying-table th,.tying-table td{width:14px;height:14px;margin:0;padding:0}.tying-colhead{z-index:2;background:var(--surface-3);color:var(--ink-3);text-align:center;border-bottom:1px solid var(--border);border-left:1px solid var(--border-3);font-size:9px;font-weight:600;position:sticky;top:0}.tying-rowhead{z-index:1;background:var(--surface-3);width:26px;min-width:26px;color:var(--ink-3);text-align:right;border-right:1px solid var(--border);padding-right:4px;font-size:8px;font-weight:500;position:sticky;left:0}.tying-corner{z-index:3;background:var(--surface-3);border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:26px;min-width:26px;position:sticky;top:0;left:0}.tying-cell{background:var(--surface-2)}.tying-table tbody tr:nth-child(2n) td.tying-cell:not(.bound){background:var(--surface-3)}.tying-cell.group-start{border-left:1px solid var(--border-3)}.tying-cell.bound{background:var(--gold-deep);border-radius:2px}.threading-diagrams{flex-direction:column;gap:28px;margin-top:20px;display:flex}.diagram-section-title{color:var(--ink-2);border-bottom:1px solid var(--border-2);flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;padding-bottom:6px;font-size:.84rem;font-weight:700;display:flex}.diagram-note{color:var(--ink-3);font-size:.74rem;font-weight:400}.diagram-more{color:var(--ink-3);margin-top:6px;padding-left:2px;font-size:.74rem}.lift-table{border-collapse:collapse;min-width:200px;font-size:.8rem}.lift-th-sod,.lift-th-shaft{color:var(--ink-3);text-align:center;border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 12px;font-size:.72rem;font-weight:700}.lift-th-sod{text-align:left;padding-left:8px}.lift-td-sod{color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;text-align:left;padding:5px 8px;font-size:.72rem;font-weight:700}.lift-td{text-align:center;color:var(--ink-ph);font-variant-numeric:tabular-nums lining-nums;padding:5px 12px;font-size:.8rem}.lift-td.lift-active{color:var(--primary);background:var(--primary-subtle);border-radius:4px;font-weight:800}.lift-row-even td{background:var(--surface)}.lift-row-odd td{background:var(--surface-2)}.lift-row-even .lift-td.lift-active,.lift-row-odd .lift-td.lift-active{background:var(--primary-subtle)}.threading-info-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.tinfo-card{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-sm);transition:background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.tinfo-card:hover{background:var(--primary-subtle);box-shadow:var(--sh-xs)}.tinfo-label{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);font-weight:500}.tinfo-value{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:1.02rem;font-weight:800}.threading-seq{margin-top:16px}.seq-title{color:var(--ink-2);font-size:.8rem;font-weight:700}.seq-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.seq-chip{background:var(--primary-subtle);width:32px;height:32px;color:var(--primary);border-radius:var(--r-xs);font-variant-numeric:tabular-nums lining-nums;border:1px solid var(--border);transition:transform var(--t-fast) var(--ease);justify-content:center;align-items:center;font-size:.76rem;font-weight:600;display:inline-flex}.seq-chip:hover{transform:scale(1.14)}.seq-chip.muted{background:var(--surface-2);color:var(--ink-ph);border-color:var(--border-2)}.summary-section{border-bottom:1px solid var(--border-2);margin-bottom:20px;padding-bottom:20px}.summary-section:last-of-type{border-bottom:none;margin-bottom:0}.summary-section-title{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);align-items:center;gap:8px;margin-bottom:14px;font-weight:500;display:flex}.saved-name{color:var(--ink-3);font-style:italic;font-weight:400}.summary-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.scard{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r);transition:background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), transform 80ms var(--ease);flex-direction:column;gap:5px;padding:14px;display:flex}.scard:hover{background:var(--surface);box-shadow:var(--sh-sm);transform:translateY(-2px)}.scard-label{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);font-weight:500}.scard-value{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:1.02rem;font-weight:800}.scard-highlight{background:var(--primary-subtle);border-color:var(--primary);box-shadow:var(--sh-accent)}.scard-highlight:hover{filter:brightness(.98)}.scard-highlight .scard-value{color:var(--primary);font-size:1.12rem}.color-dots-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.color-chip{border-radius:var(--r-xs);width:24px;height:24px;box-shadow:var(--sh-xs);transition:transform var(--t-fast) var(--ease)}.color-chip:hover{transform:scale(1.2)}.notes-section{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r);margin-bottom:18px;padding:14px 16px}.note-title{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);margin-bottom:10px;font-weight:500}.notes-list{flex-direction:column;gap:6px;list-style:none;display:flex}.notes-list li{border-radius:var(--r-sm);padding:7px 11px;font-size:.82rem;line-height:1.5}.note-ok{color:var(--ok);background:var(--ok-bg)}.note-warn{color:var(--warn);background:var(--warn-bg)}.note-info{color:var(--accent);background:var(--accent-subtle)}.summary-actions{flex-wrap:wrap;gap:10px;display:flex}.summary-pattern-img-wrap{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--paper-grid);width:fit-content;max-width:100%;box-shadow:var(--sh-sm);margin:0 auto;position:relative;overflow:hidden}.summary-pattern-img{width:auto;max-width:100%;height:auto;max-height:400px;image-rendering:pixelated;display:block}.summary-pattern-pct{color:var(--primary);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#faf7f0e0;padding:2px 8px;font-size:.72rem;font-weight:800;position:absolute;bottom:8px;right:10px}.summary-grid-3{grid-template-columns:repeat(3,1fr)}@media (width<=860px){.summary-grid-3{grid-template-columns:repeat(2,1fr)}}.saved-list{flex-direction:column;gap:9px;display:flex}.saved-item{background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--r-sm);min-height:48px;transition:background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), transform 80ms var(--ease);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.88rem;display:flex}.saved-item:hover{background:var(--primary-subtle);box-shadow:var(--sh-xs);transform:translate(3px)}@media (width<=860px){.calc-section{padding:14px 12px}.result-box{padding:12px}.hl-num{font-size:clamp(2.6rem,12vw,3.8rem)}.mobile-design{animation:fade-in .18s var(--ease) backwards}.btn-text{display:none}.btn-text-short{display:inline}.mobile-design{padding-top:0;padding-left:0;padding-right:0}.mobile-design .panel.pattern-designer{box-shadow:none;border-left:none;border-right:none;border-radius:0;padding:12px 0 0}.mobile-design .panel.pattern-designer:after{display:none}.mobile-design .panel-header,.mobile-design .toolbar,.mobile-design .palette-row,.mobile-design .dropdown-menu,.mobile-design .library-panel,.mobile-design .grid-legend,.mobile-design .preview-wrap{padding-left:12px;padding-right:12px}.mobile-design .panel-sub{display:none}.mobile-design .panel-header{margin-bottom:10px}.mobile-design .panel-title{font-size:.92rem}.mobile-design{min-height:0;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex;overflow:hidden}.mobile-design .panel.pattern-designer{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-design .grid-area{flex-direction:column;flex:1;min-height:0;margin-top:6px;display:flex}.mobile-design .grid-viewport{flex:1;min-height:0;max-height:none}.mobile-design .grid-legend{margin-top:4px;margin-bottom:4px}.mobile-design .step-nav{display:none}.mobile-design .row-numbers{width:20px}.mobile-design .row-num{padding-right:3px;font-size:.57rem}.mobile-design .col-num{font-size:.5rem}.mobile-design .weave-grid{border-left:none;border-right:none;border-radius:0}.mobile-design .tbtn-panel,.mobile-design .toolbar-more{display:none}.mobile-design .tbtn.tbtn-mobile{display:inline-flex}.mobile-design .toolbar-fields{display:none}.mobile-design .toolbar-fields.is-open{border-top:1px solid var(--border-2);flex-wrap:wrap;flex-basis:100%;gap:5px;padding-top:6px;display:flex}.mobile-design .palette-row{display:none}.mobile-design .design-toolbar{background:var(--surface);border-top:1px solid var(--border-2);flex-shrink:0;gap:4px;padding:6px 10px;display:flex}.dtool{border-radius:var(--r-sm);min-height:54px;color:var(--ink-3);font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;font-size:.64rem;font-weight:700;display:flex}.dtool:active{background:var(--surface-3)}.dtool-active{background:var(--primary-subtle);color:var(--primary)}.dtool-swatch{border:2px solid var(--surface);width:22px;height:22px;box-shadow:0 0 0 1.5px var(--border-3), var(--sh-xs);border-radius:50%}.dtool-label{line-height:1}.sheet-scrim{z-index:110;animation:fade-in .16s var(--ease) both;background:#2b211873;display:block;position:fixed;inset:0}.sheet-handle{background:var(--border-3);border-radius:2px;width:40px;height:4px;margin:2px auto 12px;display:block}.mobile-design .library-panel,.mobile-design .dropdown-menu,.mobile-design .preview-wrap,.mobile-design .color-sheet{z-index:120;background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:74dvh;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));animation:sheet-up .24s var(--ease) both;border:none;margin:0;display:block;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 40px #2b211838}.mobile-design .dropdown-menu{flex-direction:column;align-items:stretch}.mobile-design .color-sheet .palette{flex-wrap:wrap;gap:12px;overflow:visible}.mobile-design .palette{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.mobile-design .palette::-webkit-scrollbar{display:none}.mobile-design .swatch{flex-shrink:0;width:44px;height:44px}.mobile-design .current-color-preview{width:44px;height:44px}.mobile-design .toolbar{gap:4px;margin-bottom:8px}.mobile-design .tbtn{min-height:44px;padding:0 12px;font-size:.87rem}.summary-grid,.threading-info-grid{grid-template-columns:repeat(2,1fr)}.pattern-library-grid{grid-template-columns:repeat(2,1fr);gap:10px}.result-hl{flex-direction:column;align-items:flex-start;gap:10px}.hl-sep{display:none}}@media (width<=480px){.summary-grid{grid-template-columns:repeat(2,1fr)}.toolbar{gap:3px}.tbtn{padding:0 9px;font-size:.78rem}}.btn-text-short{display:none}.ws{--ws-cloth:url(/patterns/lai-nak.jpg);--ws-sprite:url(/marketplace/thai-textile-collection.png);--ws-scrim:linear-gradient(160deg, #0c112299 0%, #0c1122e0 100%);--ws-out:cubic-bezier(.16, 1, .3, 1);background:var(--bg);min-height:100dvh;color:var(--ink);font-family:var(--font);padding:clamp(18px,3vw,34px) clamp(16px,4vw,40px) clamp(40px,6vw,72px)}.ws-page{max-width:1240px;margin:0 auto}.ws ::selection{background:var(--gold);color:var(--ink)}.ws :focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}.ws-eyebrow{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);margin-bottom:12px;font-weight:500;display:block}.ws-h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(1.5rem,3.2vw,2.2rem);font-weight:300;line-height:1.22}.ws-h3{letter-spacing:-.005em;text-wrap:balance;margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:300;line-height:1.28}.ws-p{max-width:48ch;color:var(--ink-3);text-wrap:pretty;margin:14px 0 0;font-size:.95rem;line-height:1.78}.ws-btn{border-radius:var(--r-sm);min-height:52px;font-family:var(--font);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 28px;font-size:.82rem;font-weight:500;display:inline-flex}.ws-btn-solid{background:var(--primary);color:var(--primary-on)}.ws-btn-solid:hover{background:var(--primary-hover)}.ws-btn-ghost{color:var(--ink-2);border-color:var(--border);background:0 0}.ws-btn-ghost:hover{border-color:var(--ink-3);color:var(--ink)}.ws-btn:active{filter:brightness(.95)}.ws-btn-lg{min-height:58px;padding:0 38px}.ws-link{border:0;border-bottom:1px solid var(--gold);min-height:44px;color:var(--ink);font-family:var(--font);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--t) var(--ease), border-color var(--t) var(--ease);background:0 0;align-items:center;gap:9px;margin-top:18px;padding:0 0 4px;font-size:.8rem;font-weight:500;display:inline-flex}.ws-link:hover{color:var(--gold-ink);border-bottom-color:var(--gold-ink)}.ws-link svg{transition:transform var(--t) var(--ease)}.ws-link:hover svg{transform:translate(4px)}.ws-topbar{justify-content:space-between;align-items:center;gap:16px;padding:0 4px clamp(16px,2.4vw,26px);display:flex}.ws-topbar-brand{font-family:var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--ink);font-size:.94rem}.ws-topbar-cta{border:0;border-bottom:1px solid var(--gold);min-height:44px;color:var(--ink);font-family:var(--font);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color var(--t) var(--ease), border-color var(--t) var(--ease);background:0 0;align-items:center;gap:8px;padding:0 0 4px;font-size:.72rem;font-weight:500;display:inline-flex}.ws-topbar-cta:hover{color:var(--gold-ink);border-bottom-color:var(--gold-ink)}.ws-hero{background:var(--surface);min-height:min(72svh,620px);box-shadow:var(--sh-lg);border-radius:var(--r-lg);animation:ws-panel-in .8s var(--ws-out) both;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);display:grid;overflow:hidden}@keyframes ws-panel-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.ws-hero-cloth{background:var(--ws-scrim), var(--ws-cloth) center/cover no-repeat, #121933;color:#f4eee2;flex-direction:column;justify-content:flex-end;gap:18px;min-height:300px;padding:clamp(30px,3.4vw,46px);display:flex;position:relative}.ws-hero-cloth-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex;position:absolute;top:clamp(26px,3vw,40px);left:clamp(30px,3.4vw,46px);right:clamp(30px,3.4vw,46px)}.ws-wordmark{font-family:var(--font-display);letter-spacing:.42em;text-transform:uppercase;font-size:.82rem}.ws-est{letter-spacing:.26em;text-transform:uppercase;color:#f4eee280;font-size:.6rem}.ws-rule{background:var(--gold);width:38px;height:1px;display:block}.ws-hero-cloth-foot{flex-direction:column;gap:20px;display:flex}.ws-hero-cloth-line{white-space:nowrap;font-family:var(--font-display);color:#f4eee2;margin:0;font-size:clamp(1.9rem,3.4vw,2.7rem);font-style:italic;font-weight:300;line-height:1.18}.ws-hero-cloth-tag{letter-spacing:.3em;text-transform:uppercase;color:#f4eee280;margin:0;font-size:.66rem}.ws-hero-body{flex-direction:column;justify-content:center;padding:clamp(34px,4vw,62px);display:flex}.ws-hero-head{letter-spacing:-.015em;text-wrap:balance;max-width:20ch;margin:0;font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:300;line-height:1.3}.ws-hero-lede{max-width:46ch;color:var(--ink-3);text-wrap:pretty;margin:18px 0 0;font-size:.95rem;line-height:1.78}.ws-hero-ctas{flex-wrap:wrap;gap:12px;margin-top:clamp(26px,3vw,36px);display:flex}.ws-hero-note{color:var(--ink-ph);margin:16px 0 0;font-size:.75rem}.ws-sec{padding:clamp(56px,8vw,108px) 4px 0}.ws-spec{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(30px,5vw,76px);display:grid}.ws-spec-plate{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin:0;padding:clamp(20px,2.6vw,30px) clamp(22px,2.8vw,34px) clamp(16px,2vw,22px)}.ws-spec-row{border-bottom:1px solid var(--border-2);justify-content:space-between;align-items:baseline;gap:18px;padding:16px 0;display:flex}.ws-spec-row:first-child{padding-top:0}.ws-spec-row dt{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);font-weight:500}.ws-spec-row dd{align-items:baseline;gap:7px;margin:0;display:flex}.ws-spec-row b{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(1.7rem,3.2vw,2.4rem);font-weight:400;line-height:1}.ws-spec-row span{color:var(--ink-3);font-size:.78rem}.ws-spec-foot{color:var(--ink-ph);margin:0;padding-top:16px;font-size:.74rem}.ws-caps{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px 26px;margin:26px 0 0;padding:22px 0 0;list-style:none;display:flex}.ws-caps li{color:var(--ink-2);align-items:center;gap:9px;font-size:.84rem;display:flex}.ws-caps li:before{content:"";background:var(--gold-deep);flex-shrink:0;width:5px;height:5px}.ws-bands{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,3vw,40px);display:grid}.ws-band{background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-lg);flex-direction:column;display:flex;overflow:hidden}.ws-band-cloth{aspect-ratio:3/2;background-image:var(--ws-sprite);filter:saturate(.88)brightness(.94);transition:filter .42s var(--ws-out);background-repeat:no-repeat;background-size:300% 200%}.ws-band:hover .ws-band-cloth{filter:none}.ws-band-body{padding:clamp(22px,2.6vw,32px)}.ws-swatches .ws-h2{margin-bottom:clamp(20px,2.6vw,30px)}.ws-swatch-strip{scroll-snap-type:x mandatory;scrollbar-width:none;gap:clamp(12px,1.6vw,20px);margin:0;padding:2px 0 4px;list-style:none;display:flex;overflow-x:auto}.ws-swatch-strip::-webkit-scrollbar{display:none}.ws-swatch-strip>li{scroll-snap-align:start;flex:0 0 clamp(190px,24vw,268px)}.ws-swatch{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.ws-swatch-img{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--r-sm);background-image:var(--ws-sprite);transition:border-color .24s var(--ws-out);background-repeat:no-repeat;background-size:300% 200%;display:block}.ws-swatch:hover .ws-swatch-img{border-color:var(--gold-deep)}.ws-swatch-cap{align-items:baseline;gap:8px;margin-top:12px;display:flex}.ws-swatch-cap b{color:var(--ink);font-size:.88rem;font-weight:500}.ws-swatch-cap i{color:var(--ink-ph);font-size:.74rem;font-style:normal}.ws-close{text-align:center;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-top:clamp(56px,8vw,108px);padding:clamp(52px,7vw,92px) clamp(24px,4vw,48px)}.ws-close-h{letter-spacing:-.015em;text-wrap:balance;margin:0 0 clamp(22px,3vw,30px);font-size:clamp(1.7rem,4vw,2.7rem);font-weight:300;line-height:1.22}.ws-close .ws-hero-note{margin-top:18px}.ws-foot{border-top:1px solid var(--border);color:var(--ink-ph);justify-content:center;align-items:center;gap:10px;margin-top:clamp(30px,4vw,48px);padding-top:24px;font-size:.74rem;display:flex}@media (width<=860px){.ws-hero{grid-template-columns:1fr;min-height:0}.ws-hero-cloth{min-height:340px}.ws-spec{grid-template-columns:1fr}}@media (width<=560px){.ws-hero-ctas{flex-direction:column;align-items:stretch}.ws-caps{gap:10px 20px}}@media (prefers-reduced-motion:reduce){.ws-hero{animation-name:ws-fade-only}.ws-link:hover svg{transform:none}}@keyframes ws-fade-only{0%{opacity:0}to{opacity:1}}.studio-shell{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.studio-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;height:58px;box-shadow:var(--sh-xs);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex;position:relative}.studio-header:after{content:"";background:var(--gold);opacity:.5;height:1px;position:absolute;bottom:-1px;left:0;right:0}.studio-brand{cursor:pointer;border-radius:var(--r-sm);transition:background var(--t-fast) var(--ease);background:0 0;border:none;flex-shrink:0;align-items:center;gap:9px;padding:5px 10px 5px 5px;display:inline-flex}.studio-brand:hover{background:var(--surface-2)}.studio-brand-icon{flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.studio-brand-name{color:var(--ink);letter-spacing:.34em;text-transform:uppercase;white-space:nowrap;font-family:Cormorant Garamond,Georgia,serif;font-size:1.05rem;font-weight:500;line-height:1}.studio-project{flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.studio-project-name{border-radius:var(--r-pill);cursor:pointer;max-width:100%;min-height:36px;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:5px 13px;display:inline-flex}.studio-project-name:hover{background:var(--surface-2);border-color:var(--border-2)}.studio-project-name svg{opacity:.4;flex-shrink:0}.spn-text{font-family:var(--font);color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:700;overflow:hidden}.spn-unsaved{color:var(--ink-ph);font-weight:500}.studio-save-btn{border-radius:var(--r-pill);background:var(--primary);min-height:36px;color:var(--primary-on);font-family:var(--font);cursor:pointer;box-shadow:var(--sh-primary);transition:background var(--t-fast) var(--ease), transform 80ms var(--ease);border:none;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:.82rem;font-weight:700;display:inline-flex}.studio-save-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.studio-save-btn:active{transform:scale(.97)}.ssb-text{white-space:nowrap}.studio-auth-btn{border:1px solid var(--border-2);border-radius:var(--r-pill);max-width:190px;min-height:36px;color:var(--ink);font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;flex-shrink:0;align-items:center;gap:6px;padding:0 13px;font-size:.82rem;font-weight:700;display:inline-flex}.studio-auth-btn:hover{background:var(--surface-2);border-color:var(--primary)}.studio-auth-btn:active{transform:scale(.97)}.studio-auth-btn svg{opacity:.65;flex-shrink:0}.sab-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.studio-icon-btn{border:1px solid var(--border-2);width:36px;height:36px;color:var(--ink-2);cursor:pointer;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.studio-icon-btn:hover{background:var(--surface-2);color:var(--primary);border-color:var(--primary)}.studio-icon-btn:active{transform:scale(.94)}.settings-dialog{max-width:520px}.set-section{border-top:1px solid var(--border-2);padding:14px 0}.set-section:first-of-type{border-top:none;padding-top:4px}.set-heading{font-family:var(--font);font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);margin:0 0 10px;font-weight:500}.set-note{color:var(--ink-2);margin:0 0 10px;font-size:.8rem;line-height:1.55}.set-actions{flex-wrap:wrap;gap:8px;display:flex}.set-choices{flex-wrap:wrap;gap:6px;display:flex}.set-danger:not(:disabled):hover{border-color:var(--err);color:var(--err)}.set-danger:disabled{opacity:.45;cursor:not-allowed}.studio-body{flex:1;min-height:0;display:flex;overflow:hidden}.studio-sidebar{background:var(--rail);border-right:0;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:74px;padding:8px 0;display:flex;overflow:hidden}.sbar-btn{color:#efe8da9e;cursor:pointer;-webkit-tap-highlight-color:transparent;width:100%;min-height:58px;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:0;border-left:1px solid #0000;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:9px 4px;display:flex}.sbar-btn:hover{color:#f4eee2}.sbar-active{color:#f4eee2!important;border-left-color:var(--gold)!important}.sbar-btn{counter-increment:sbar;position:relative}.studio-sidebar{counter-reset:sbar}.sbar-btn:after{content:counter(sbar, decimal-leading-zero);font-family:var(--font-display);letter-spacing:.14em;color:#c9ac748c;font-size:.58rem;line-height:1}.sbar-active:after{color:var(--gold)}.sbar-btn:not([class*=sbar-]):after,.sbar-sep~.sbar-btn:after{content:none}.sbar-badge{border-radius:var(--r-xs);color:#14161c;font-variant-numeric:tabular-nums;background:#c9ac74;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.6rem;font-weight:800;line-height:1;display:grid;position:absolute;top:7px;right:9px}.sbar-label{font-family:var(--font);letter-spacing:.02em;text-align:center;white-space:nowrap;font-size:.63rem;font-weight:700;line-height:1}.sbar-sep{background:var(--border-2);flex-shrink:0;width:30px;height:1px;margin:5px 0}.studio-content{min-width:0;min-height:0;animation:section-enter .2s var(--ease) both;flex-direction:column;flex:1;display:flex;overflow:hidden}.studio-content-design{padding:0;overflow:hidden}.design-split{height:100%;display:flex}.design-canvas{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-width:0;padding:16px 0 16px 20px;overflow:hidden auto}.design-right{border-left:1px solid var(--border-2);background:var(--surface-2);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex-shrink:0;gap:16px;width:clamp(260px,28vw,360px);padding:16px;display:flex;overflow-y:auto}.dpreview-2d,.dpreview-3d{border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;padding:18px 0 4px}.dpreview-2d:first-child{border-top:0;padding-top:4px}.dpreview-title{font-size:var(--micro-size);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-ph);margin:0 0 12px;font-weight:500}.p2d-canvas{border-radius:var(--r-sm);width:100%;height:auto;image-rendering:pixelated;display:block}.dpreview-loading{height:280px;color:var(--ink-3);justify-content:center;align-items:center;font-size:.85rem;display:flex}.studio-content-padded{scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:20px 24px;display:block;overflow:hidden auto}.studio-content-blueprint{padding:0}.blueprint-split{height:100%;display:flex}.blueprint-chart{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;min-width:0;padding:20px 24px;overflow-y:auto}.blueprint-calc{border-left:1px solid var(--border-2);background:var(--surface-2);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-shrink:0;width:clamp(280px,30vw,400px);padding:20px;overflow-y:auto}.studio-bottom-nav{display:none}.gallery-sample{border-top:1px solid var(--border-2);flex-direction:column;gap:11px;width:min(100%,250px);margin-top:30px;padding-top:24px;display:flex}.gallery-sample-label{color:var(--ink-3);text-align:center}.gallery-card-sample{cursor:default}@media (width<=860px){.studio-sidebar,.studio-brand-name{display:none}.studio-header{height:52px;padding:0 12px}.studio-body{overflow:hidden}.studio-content-padded{padding:12px 12px calc(76px + env(safe-area-inset-bottom,0px));height:100%;overflow-y:auto}.studio-content-design{padding:0 0 calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;height:100%;display:flex;overflow:hidden}.design-split{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.design-canvas{flex-direction:column;flex:1;min-height:0;padding:0;display:flex;overflow:hidden}.design-right{display:none}.blueprint-split{height:auto;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;overflow:hidden auto}.blueprint-chart{padding:12px;overflow:visible}.blueprint-calc{border-left:none;border-top:1px solid var(--border-2);width:100%;padding:12px}.studio-bottom-nav{background:var(--rail);height:72px;padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);z-index:100;border-top:0;display:flex;position:fixed;bottom:0;left:0;right:0}.sbnav-btn{cursor:pointer;border-radius:var(--r-sm);-webkit-tap-highlight-color:transparent;min-height:56px;transition:background var(--t-fast) var(--ease);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px 8px;display:flex;position:relative}.sbnav-btn:active{background:#ffffff0f}.sbnav-icon{border-radius:var(--r-xs);color:#efe8da99;width:46px;height:28px;transition:color var(--t) var(--ease);justify-content:center;align-items:center;display:flex}.sbnav-active .sbnav-icon{color:#f4eee2;background:0 0}.sbnav-label{font-family:var(--font);color:#efe8da99;letter-spacing:.01em;transition:color var(--t-fast) var(--ease);font-size:.63rem;font-weight:600;line-height:1.2}.sbnav-active .sbnav-label{color:#f4eee2;font-weight:600}.sbnav-active{box-shadow:inset 0 2px 0 var(--gold)}.ssb-text,.sab-text{display:none}}@media (width<=480px){.studio-header{gap:8px;padding:0 10px}}@keyframes gallery-sheen{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery-masthead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.gallery-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;padding-bottom:11px;font-size:1.6rem;font-weight:700;line-height:1.2;position:relative;letter-spacing:-.005em!important;font-weight:300!important}.gallery-title:after{content:"";background:var(--gold);border-radius:2px;width:44px;height:2px;position:absolute;bottom:0;left:0}.gallery-session{border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface-2);align-items:center;gap:8px;padding:4px 6px 4px 10px;display:flex}.gallery-session:empty{display:none}.gallery-session-avatar{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;width:30px;height:30px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.gallery-session-email{text-overflow:ellipsis;white-space:nowrap;max-width:140px;color:var(--ink-2);font-size:.78rem;font-weight:600;overflow:hidden}.gallery-signout-btn{height:44px;padding:0 14px;font-size:.76rem}.gallery-session-edit{min-height:44px;font-family:var(--font);cursor:pointer;border-radius:var(--r-pill);transition:background var(--t-fast) var(--ease);background:0 0;border:none;align-items:center;gap:8px;padding:2px 4px;display:flex}.gallery-session-edit:hover{background:var(--surface-3)}.gallery-session-edit:hover .gallery-session-email{color:var(--primary)}.gallery-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.gallery-bar-end{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.btn-text-link{min-height:44px;font:inherit;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:0;border-bottom:1.5px solid #0000;padding:6px 2px;font-size:.86rem;font-weight:600}.btn-text-link:hover{color:var(--primary);border-bottom-color:var(--primary)}.gallery-toolbar{border-bottom:1px solid var(--border-2);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:20px;display:flex}.gallery-search{flex:240px;max-width:340px;margin-bottom:0}.gallery-sort{border:1.5px solid var(--border);border-radius:var(--r-pill);background:var(--surface);height:44px;color:var(--ink-2);font:inherit;cursor:pointer;transition:border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease);padding:0 14px;font-size:.86rem;font-weight:600}.gallery-sort:hover{border-color:var(--border-3);color:var(--ink)}.gallery-fav-toggle[aria-pressed=true],.gallery-fav-toggle.active{background:var(--gold-subtle);border-color:var(--gold-deep);color:var(--gold-deep);box-shadow:none}.gallery-card-fav-badge{border:1px solid var(--gold);width:26px;height:26px;color:var(--gold-deep);-webkit-backdrop-filter:blur(6px);background:#f7f4eceb;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;bottom:12px;right:12px}.member-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.member-card{border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-xs);animation:fade-up .3s var(--ease) both;animation-delay:calc(var(--i,0) * 45ms);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), transform var(--t) var(--ease);flex-direction:column;gap:12px;padding:16px;display:flex}.member-card:hover{border-color:var(--border-3);box-shadow:var(--sh-sm);transform:translateY(-2px)}.member-card-head{align-items:center;gap:10px;display:flex}.member-avatar{flex-shrink:0;width:40px;height:40px;font-size:1rem}.member-id{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.member-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:800;overflow:hidden}.member-meta{color:var(--ink-3);font-variant-numeric:tabular-nums lining-nums;font-size:.74rem;font-weight:600}.member-works{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.member-works li{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface-3);overflow:hidden}.member-works img{object-fit:cover;width:100%;height:100%;display:block}.member-card-foot{margin-top:auto;display:flex}.member-contact{color:var(--ok);align-self:center;font-size:.84rem;font-weight:700}.member-contact-btn{justify-content:center;width:100%;height:44px;padding:0 14px;font-size:.78rem}.member-skeleton{aspect-ratio:auto;height:150px}.detail-secondary-actions{gap:8px;margin-bottom:14px;display:flex}.detail-mini-btn{height:44px;padding:0 14px;font-size:.8rem}.detail-fav-on{color:var(--gold-deep);border-color:var(--gold-deep);background:var(--gold-subtle)}.mp-howto{margin:-8px 0 18px}.mp-howto>summary{min-height:44px;color:var(--ink-3);cursor:pointer;transition:color var(--t-fast) var(--ease);border-bottom:1.5px solid #0000;align-items:center;font-size:.82rem;font-weight:600;display:inline-flex}.mp-howto>summary:hover{color:var(--primary)}.mp-howto>summary:before{content:"›";transition:transform var(--t) var(--ease);margin-right:8px;font-size:1.15em;line-height:1;display:inline-block}.mp-howto[open]>summary:before{transform:rotate(90deg)}.mp-howto-steps{color:var(--ink-2);animation:fade-up .16s var(--ease) both;flex-direction:column;gap:6px;padding:4px 0 10px;font-size:.82rem;line-height:1.6;display:flex}.mp-howto-steps strong{color:var(--gold-ink);font-weight:600}.mp-flow-hint{color:var(--ink-3);margin-bottom:12px;font-size:.78rem;line-height:1.6}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:240px;display:grid;overflow-y:auto}.pick-item{border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);flex-direction:column;gap:6px;padding:8px;display:flex}.pick-item img{aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm);width:100%;display:block}.pick-item span{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font);color:var(--ink-2);text-align:center;font-size:.72rem;font-weight:700;overflow:hidden}.pick-item:hover{border-color:var(--gold)}.pick-item.active{border-color:var(--gold-deep);box-shadow:0 0 0 3px var(--gold-glow)}.pick-item.active span{color:var(--gold-deep)}.gallery-card-commission .gallery-card-thumb-wrap{background:var(--gold-subtle)}@media (width<=860px){dialog.dialog{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100vw;max-width:none;max-height:88dvh;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));animation:sheet-up .26s var(--ease) both;margin:auto 0 0;overflow-y:auto}}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;display:grid}.gallery-card{border:1px solid var(--border-2);border-radius:var(--r-lg);cursor:pointer;background:var(--surface);text-align:left;box-shadow:var(--sh-xs);animation:fade-up .26s var(--ease) both;animation-delay:calc(var(--i,0) * 35ms);transition:border-color .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);flex-direction:column;padding:0;display:flex;overflow:hidden}.gallery-card:hover{border-color:var(--gold);box-shadow:0 10px 26px var(--gold-glow), var(--sh-sm);transform:translateY(-3px)}.gallery-card:active{transform:translateY(-1px)}.gallery-card-thumb-wrap{aspect-ratio:4/3;background:var(--surface-3);width:100%;padding:10px;position:relative;overflow:hidden}.gallery-card-thumb{object-fit:cover;border-radius:var(--r-sm);width:100%;height:100%;transition:transform .24s var(--ease);display:block}.gallery-card:hover .gallery-card-thumb{transform:scale(1.035)}.gallery-card-kind-badge,.gallery-card-sold-badge{border-radius:var(--r-pill);letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);padding:4px 11px;font-size:.66rem;font-weight:800;position:absolute;top:12px}.gallery-card-kind-badge{color:var(--gold-ink);border:1px solid var(--gold);background:#f7f4eceb;left:12px}.gallery-card-sold-badge{color:#fff;background:#14161ce0;border:1px solid #f1ede42e;right:12px}.gallery-card-body{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.gallery-card-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.02rem;font-weight:700;line-height:1.3;overflow:hidden}.gallery-card-price{font-family:var(--font-display);color:var(--gold-ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums lining-nums;font-size:1.18rem;font-weight:800}.gallery-card-footer{border-top:1px solid var(--border-2);align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.gallery-card-avatar{background:var(--primary-subtle);width:22px;height:22px;color:var(--primary);font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:flex}.gallery-card-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:.72rem;overflow:hidden}.sk{border-radius:var(--r-sm);background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);animation:1.4s ease-in-out infinite gallery-sheen;animation-delay:calc(var(--i,0) * 60ms);background-size:200% 100%}.section-skeleton{flex-direction:column;gap:12px;display:flex}.sk-title{width:200px;height:30px;margin-bottom:6px}.sk-hint{width:100%;max-width:480px;height:20px}.sk-row{width:100%;height:36px}.sk-field{width:100%;max-width:420px;height:48px}.sk-block{border-radius:var(--r);width:100%;height:180px}.sk-hero{border-radius:var(--r-lg);width:100%;max-width:520px;height:220px;margin:0 auto}.sk-chip-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sk-chip{border-radius:var(--r);width:84px;height:58px}.sk-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;display:grid}.sk-card{aspect-ratio:3/4;border-radius:var(--r-lg)}.sk-design-layout,.sk-chat-layout{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:16px;display:grid}.sk-design-canvas{min-height:520px}.sk-design-side,.sk-chat-thread{flex-direction:column;gap:12px;display:flex}.sk-chat-list{min-height:420px}.gallery-skeleton-card{aspect-ratio:3/4;cursor:default;border-color:var(--border-2);background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);animation:1.4s ease-in-out infinite gallery-sheen;animation-delay:calc(var(--i,0) * 70ms);background-size:200% 100%}.eyebrow{color:var(--gold-ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.74rem;font-weight:800}.market-demo,.chat{border:1px solid var(--border-2);border-radius:var(--r-xl);background:var(--surface);min-height:540px;box-shadow:var(--sh-sm);overflow:hidden}.market-demo{background:var(--surface);padding:clamp(16px,3.3vw,34px)}.market-hero{border-radius:var(--r-lg);min-height:280px;color:var(--primary-on);background:var(--secondary);grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);margin-bottom:27px;display:grid;position:relative;overflow:hidden}.market-hero:before{content:"";opacity:.52;background:repeating-linear-gradient(90deg,#0000 0 17px,#ffffff1a 17px 18px),repeating-linear-gradient(0deg,#0000 0 17px,#ffffff0f 17px 18px);position:absolute;inset:0}.market-hero-copy{z-index:1;padding:clamp(26px,4vw,47px);position:relative}.market-hero .eyebrow{color:var(--gold);margin-bottom:10px}.market-hero h2{color:#fff;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2.05rem,4vw,3.25rem);font-weight:600;line-height:1}.market-hero h2 em{color:var(--gold);font-weight:400}.market-hero-copy>p:not(.eyebrow){color:#f1ede4c7;max-width:450px;margin:17px 0 23px;font-size:.9rem;line-height:1.7}.market-hero-cta{min-height:42px;box-shadow:none}.market-hero-cta span,.market-demo-detail-actions span{margin-left:8px;font-size:1.1em}.market-hero-art{place-items:center;display:grid;position:relative;overflow:hidden}.market-hero-art:after{content:"";border:1px solid #fff3;border-radius:50%;width:270px;height:270px;position:absolute;transform:translate(65px,32px)}.market-hero-sun{background:var(--gold);border-radius:50%;width:77px;height:77px;position:absolute;top:37px;right:62px;box-shadow:0 0 0 16px #c9ac741f}.market-hero-textile{z-index:1;border:9px solid var(--surface-2);background:repeating-linear-gradient(45deg, var(--err) 0 13px, var(--gold) 13px 26px, var(--primary) 26px 39px, var(--surface-2) 39px 52px);width:174px;height:174px;position:relative;overflow:hidden;transform:rotate(-8deg);box-shadow:13px 14px #00000029}.market-hero-textile:before,.market-hero-textile:after{content:"";border:4px solid #ffffffc7;position:absolute;inset:22px;transform:rotate(45deg)}.market-hero-textile:after{border-color:var(--secondary);inset:55px}.market-hero-art small{z-index:2;color:var(--gold);letter-spacing:.13em;text-align:right;font-size:.57rem;font-weight:800;line-height:1.35;position:absolute;bottom:20px;right:20px}.market-toolbar{border-bottom:1px solid var(--border-2);grid-template-columns:minmax(210px,1fr) auto auto;align-items:center;gap:13px;padding-bottom:22px;display:grid}.market-search{border:1px solid var(--border);border-radius:var(--r-pill);min-width:0;height:44px;color:var(--ink-3);transition:border-color var(--t), box-shadow var(--t);background:#fff;align-items:center;padding:0 13px;display:flex}.market-search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.market-search svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:18px;height:18px;margin-right:8px}.market-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:.83rem}.market-search input::placeholder{color:var(--ink-ph)}.market-demo-filters{border-radius:var(--r-pill);background:var(--surface-3);gap:3px;padding:4px;display:flex}.market-filter,.market-sort{border-radius:var(--r-pill);min-height:35px;color:var(--ink-3);font:inherit;cursor:pointer;transition:all var(--t);background:0 0;border:0;font-size:.76rem;font-weight:700}.market-filter{padding:0 12px}.market-filter:hover{color:var(--ink)}.market-filter.active{color:var(--primary);box-shadow:var(--sh-xs);background:#fff}.market-sort{color:var(--ink-2);white-space:nowrap;align-items:center;gap:8px;padding:0 4px;display:flex}.market-sort span{color:var(--gold-deep);font-size:1rem}.market-section-head{justify-content:space-between;align-items:end;gap:16px;margin:27px 0 16px;display:flex}.market-section-head p{color:var(--gold-deep);margin:0 0 2px;font-size:.73rem;font-weight:800}.market-section-head h3{color:var(--ink);font-family:var(--font-display);margin:0;font-size:1.55rem;line-height:1.1}.market-section-head>span{color:var(--ink-3);font-size:.76rem}.market-demo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.market-demo-card{border:1px solid var(--border-2);border-radius:var(--r);animation:fade-up .38s var(--ease) both;animation-delay:var(--card-delay);transition:transform var(--t), box-shadow var(--t), border-color var(--t);background:#fff;position:relative;overflow:hidden}.market-demo-card:hover{z-index:1;border-color:var(--gold);box-shadow:var(--sh-lg);transform:translateY(-5px)}.market-card-heart{z-index:2;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;width:34px;height:34px;transition:background var(--t), transform var(--t);background:#13193c54;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.market-card-heart:hover{background:#13193c8c;transform:scale(1.08)}.market-card-heart.is-favorite{color:var(--err);background:var(--surface-2)}.market-card-heart svg,.market-demo-card footer svg{stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:16px;height:16px}.market-demo-textile{background-image:linear-gradient(#0d122a0a,#0d122a4d),url(/marketplace/thai-textile-collection.png);background-position:center, var(--sprite-position);cursor:pointer;background-size:cover,300%;border:0;width:100%;height:185px;display:block;position:relative;overflow:hidden}.market-demo-textile.is-custom{background-position:50%;background-size:cover}.market-demo-textile:before{content:"";opacity:.35;background:repeating-linear-gradient(90deg,#ffffff29 0 1px,#0000 1px 17px),repeating-linear-gradient(0deg,#00000014 0 1px,#0000 1px 16px);position:absolute;inset:0}.market-demo-textile:after{content:"";border:3px solid #ffffff80;position:absolute;inset:25px 35px;transform:rotate(45deg)}.market-demo-textile span{z-index:1;border-radius:var(--r-pill);color:#fff;background:#14173252;border:1px solid #ffffff52;padding:4px 9px;font-size:.67rem;font-weight:800;position:absolute;top:12px;left:12px}.market-demo-textile b{z-index:1;color:var(--primary-on);text-shadow:0 2px 3px #0003;font-size:2.4rem;position:absolute;bottom:28%;right:31%}.market-demo-textile.motif-stripe:after{border-width:14px;border-color:#ffffffa6;inset:-22px;transform:rotate(-37deg)}.market-demo-textile.motif-flower:after{border-radius:50%;inset:40px 38%;transform:none;box-shadow:0 -48px 0 -14px #ffffffba,45px -16px 0 -14px #ffffffba,28px 39px 0 -14px #ffffffba,-28px 39px 0 -14px #ffffffba,-45px -16px 0 -14px #ffffffba}.market-demo-textile.motif-check:after{background:repeating-conic-gradient(#fff9 0 25%, transparent 0 50%) 50%/40px 40px;border:0;inset:26px;transform:none}.market-demo-textile.motif-wave:after{border:8px double #ffffffc7;border-left:0;border-right:0;border-radius:50%;inset:55px -10px;transform:rotate(-10deg)}.market-demo-textile.motif-star:after{border-width:5px;inset:32px 27%;transform:rotate(45deg);box-shadow:0 0 0 18px #ffffff24}.market-demo-card-body{padding:15px 16px 16px}.market-card-meta{color:var(--ink-3);gap:5px;font-size:.69rem;display:flex}.market-demo-card h3{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 3px;font-size:1rem;line-height:1.45;overflow:hidden}.market-demo-card p{color:var(--ink-3);margin:0;font-size:.75rem}.market-demo-card p strong{color:var(--ink-2);font-weight:700}.market-demo-card footer{border-top:1px solid var(--border-2);color:var(--ink-3);justify-content:space-between;align-items:center;margin-top:13px;padding-top:11px;font-size:.73rem;display:flex}.market-demo-card footer>strong{color:var(--gold-deep);font-size:.95rem}.market-demo-card footer>span{align-items:center;gap:4px;display:flex}.market-demo-card footer svg{width:14px;height:14px}.market-empty{color:var(--ink-3);text-align:center;padding:46px 20px}.market-notice{border:1px solid var(--ok);border-radius:var(--r-sm);color:var(--ok);background:var(--ok-bg);align-items:center;gap:9px;margin-top:20px;padding:11px 13px;font-size:.8rem;font-weight:700;display:flex}.market-notice>span{color:#fff;background:var(--ok);border-radius:50%;place-items:center;width:19px;height:19px;font-size:.7rem;display:grid}.market-notice button{width:24px;height:24px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;margin-left:auto;padding:0;font-size:1.1rem}.market-demo-detail{z-index:3;border:1px solid var(--gold);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:var(--sh-lg);animation:slide-right .35s var(--ease);grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:24px;padding:12px 17px 12px 12px;display:grid;position:sticky;bottom:16px}.market-detail-swatch{border-radius:var(--r-sm);color:#fff;background:linear-gradient(135deg, var(--color-one), var(--color-two), var(--color-three));place-items:center;width:66px;height:66px;font-size:1.35rem;display:grid;overflow:hidden}.market-detail-copy{min-width:0}.market-demo-detail h3{color:var(--ink);margin:4px 0 1px;font-size:1rem}.market-demo-detail p{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;overflow:hidden}.market-demo-detail-actions{align-items:center;gap:14px;display:flex}.market-demo-detail-actions>strong{color:var(--gold-deep);white-space:nowrap}.market-demo-detail-actions .btn-gold{min-height:40px;font-size:.78rem}.market-detail-close{border:1px solid var(--border);width:23px;height:23px;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:50%;place-items:center;padding:0;font-size:1.05rem;line-height:1;display:grid;position:absolute;top:-8px;right:-7px}.chat{grid-template-columns:minmax(210px,.75fr) minmax(0,1.55fr);display:grid}.chat-list{border-right:1px solid var(--border-2);background:var(--surface-2);max-height:640px;padding:24px 14px;overflow:auto}.chat-list h2{margin-bottom:20px}.chat-contact{border-radius:var(--r);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 10px;display:grid}.chat-contact.active{background:var(--gold-subtle)}.chat-contact strong,.chat-contact small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-contact strong{color:var(--ink);font-size:.84rem}.chat-contact small,.chat-contact time{color:var(--ink-3);margin-top:3px;font-size:.7rem}.chat-avatar{width:38px;height:38px;color:var(--primary-on);background:var(--gold-ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.chat-avatar.alt{background:var(--gold-ink)}.chat-thread{flex-direction:column;min-height:540px;display:flex}.chat-thread>header{border-bottom:1px solid var(--border-2);align-items:center;gap:10px;padding:16px 20px;display:flex}.chat-thread>header h2{font-size:1rem}.chat-thread>header p{color:var(--ink-3);margin:2px 0 0;font-size:.75rem}.chat-thread>header .btn-outline{min-height:34px;margin-left:auto;padding:0 10px;font-size:.72rem}.chat-listing{background:var(--gold-subtle);border-radius:var(--r-sm);color:var(--ink-2);justify-content:space-between;margin:14px 20px 0;padding:10px 12px;font-size:.81rem;display:flex}.chat-listing strong{color:var(--gold-deep)}.chat-messages{flex-direction:column;flex:1;gap:9px;padding:20px;display:flex;overflow:auto}.chat-bubble{border-radius:var(--r-lg) var(--r-lg) var(--r-lg) 0;background:var(--surface-3);max-width:min(78%,420px);color:var(--ink);padding:10px 12px}.chat-bubble.mine{border-radius:var(--r-lg) var(--r-lg) 0 var(--r-lg);background:var(--gold);color:#14161c;align-self:flex-end}.chat-bubble p{margin:0;font-size:.88rem;line-height:1.5}.chat-bubble time{text-align:right;opacity:.72;margin-top:4px;font-size:.65rem;display:block}.chat-bubble.chat-guide{background:var(--surface-2);border:1px solid var(--border-2);max-width:min(94%,580px)}.chat-guide>strong{color:var(--ink);margin-bottom:8px;font-size:.86rem;display:block}.chat-guide ul{flex-direction:column;gap:7px;margin:0;padding-left:17px;display:flex}.chat-guide li{color:var(--ink-2);font-size:.83rem;line-height:1.55}.chat-avatar-guide{background:var(--primary)}.chat-compose{border-top:1px solid var(--border-2);gap:9px;padding:14px 20px;display:flex}.chat-compose input{border:1px solid var(--border);border-radius:var(--r);min-width:0;color:var(--ink);background:var(--surface);font:inherit;flex:1;padding:11px 12px}.chat-compose input:focus{outline:2px solid var(--gold);outline-offset:1px}.chat-compose .btn-primary:disabled{opacity:.5;cursor:not-allowed}.chat-tag{border:1px solid var(--border-3);border-radius:var(--r-xs);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;margin-left:6px;padding:1px 5px;font-size:.58rem;font-style:normal;font-weight:700;display:inline-block}.chat-compose-sample{border-top:1px solid var(--border-2);margin:0;padding:14px 20px}.chat-badge{border-radius:var(--r-xs);background:var(--primary);min-width:20px;height:20px;color:var(--primary-on);font-variant-numeric:tabular-nums;place-items:center;padding:0 6px;font-size:.68rem;font-weight:800;display:grid}.chat-note{color:var(--ink-3);margin:2px 2px 0;font-size:.76rem;line-height:1.55}.chat-note-error{color:var(--warn)}@media (width<=780px){.sk-design-layout,.sk-chat-layout{grid-template-columns:1fr}.sk-design-canvas{min-height:360px}.market-hero{grid-template-columns:1fr}.market-hero-art{opacity:.52;width:220px;height:220px;position:absolute;bottom:-45px;right:-22px}.market-hero-copy{padding-right:150px}.market-hero-copy>p:not(.eyebrow){max-width:330px}.market-toolbar{grid-template-columns:1fr auto}.market-demo-filters{grid-area:2/1/auto/-1;justify-self:start}.market-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.market-demo-detail{grid-template-columns:56px minmax(0,1fr)}.market-detail-swatch{width:56px;height:56px}.market-demo-detail-actions{grid-column:1/-1;justify-content:flex-end}.chat{grid-template-columns:1fr}.chat-list{border-right:0;border-bottom:1px solid var(--border-2);max-height:none}.chat-thread{min-height:420px}}@media (width<=490px){.market-demo{padding:12px}.market-hero{min-height:295px}.market-hero-copy{padding:26px 24px}.market-hero-copy>p:not(.eyebrow){max-width:270px}.market-hero-art{opacity:.35;bottom:-64px;right:-56px}.market-toolbar{grid-template-columns:1fr}.market-sort{display:none}.market-demo-grid{gap:10px}.market-demo-textile{height:134px}.market-demo-textile span{font-size:.58rem}.market-demo-card-body{padding:11px}.market-demo-card h3{font-size:.87rem}.market-card-meta,.market-demo-card p{font-size:.64rem}.market-demo-card footer{margin-top:9px;padding-top:8px}.market-demo-detail-actions{flex-direction:column;align-items:stretch;gap:7px}.market-demo-detail-actions .btn-gold{width:100%}}.gallery-empty{text-align:center;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:56px 24px;display:flex}.gallery-empty-compact{padding:32px 16px}.gallery-empty-mark{color:var(--gold);opacity:.9}.gallery-empty-title{font-family:var(--font-display);color:var(--ink-2);letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.gallery-empty-title-error{color:var(--err)}.gallery-empty-sub{max-width:40ch;color:var(--ink-3);font-size:.84rem;line-height:1.6}.auth-tabs{gap:8px;margin-bottom:16px;display:flex}.auth-error{color:var(--err);margin:-8px 0 16px;font-size:.8rem;font-weight:600}.auth-notice{color:var(--ok);background:var(--ok-bg);border-radius:var(--r-sm);margin:-8px 0 16px;padding:8px 10px;font-size:.8rem;font-weight:600}h3.mp-dialog-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;font-size:1.3rem;font-weight:700}.gallery-detail-frame{border:1px solid var(--gold);border-radius:var(--r-sm);background:var(--surface-2);margin-bottom:4px;padding:10px}.gallery-detail-frame img{border-radius:var(--r-sm);width:100%;display:block}.gallery-price-lockup{align-items:baseline;gap:8px;margin:16px 0 6px;display:flex}.gallery-price-num{font-family:var(--font-display);color:var(--gold-deep);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums;font-size:2.1rem;font-weight:800;line-height:1}.gallery-price-kind{color:var(--ink-3);font-size:.82rem;font-weight:700}.gallery-detail-meta{color:var(--ink-3);margin-bottom:12px;font-size:.8rem}.gallery-detail-license{color:var(--ink-2);margin-bottom:16px;font-size:.85rem;line-height:1.6}.gallery-contact-box{border:1px solid var(--ok);border-radius:var(--r-sm);background:var(--ok-bg);color:var(--ok);flex-direction:column;gap:2px;margin-bottom:16px;padding:14px 16px;font-size:.86rem;line-height:1.6;display:flex}.gallery-contact-box strong{font-weight:800}.status-pill{border:1px solid var(--border-2);border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-3);vertical-align:1px;align-items:center;margin-left:6px;padding:1px 9px;font-size:.66rem;font-weight:800;display:inline-flex}textarea.dialog-input{resize:vertical;min-height:72px;font-family:var(--font)}.kind-choice-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.kind-choice-card{border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--surface);text-align:left;cursor:pointer;min-height:76px;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.kind-choice-card:hover{border-color:var(--gold);background:var(--gold-subtle)}.kind-choice-card.active{border-color:var(--gold-deep);background:var(--gold-subtle);box-shadow:0 0 0 3px var(--gold-glow)}.kind-choice-title{color:var(--ink);font-size:.9rem;font-weight:800}.kind-choice-card.active .kind-choice-title{color:var(--gold-deep)}.kind-choice-desc{color:var(--ink-3);font-size:.72rem;line-height:1.4}.mylistings-list{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.mylistings-row{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.mylistings-row-main{align-items:flex-start;gap:10px;min-width:0;display:flex}.mylistings-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.mylistings-row-name{color:var(--ink);font-size:.88rem;font-weight:700}.mylistings-row-meta{color:var(--ink-3);font-size:.74rem}.mylistings-interest-btn{align-self:flex-start;height:44px;margin-top:6px;padding:0 14px;font-size:.78rem}.mylistings-people-list{flex-direction:column;gap:8px;display:flex}.mylistings-person{border-top:1px solid var(--border);padding-top:8px}.mylistings-person:first-child{border-top:none;padding-top:0}.mylistings-person-name{font-weight:800}.profile-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#fff;width:54px;height:54px;font-family:var(--font-display);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex}.profile-meta{color:var(--ink-3);margin-top:4px;font-size:.78rem}.profile-listings{flex-direction:column;gap:8px;max-height:320px;margin-bottom:16px;display:flex;overflow-y:auto}.profile-listing-row{border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface-2);min-height:56px;font-family:var(--font);text-align:left;cursor:pointer;transition:border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);align-items:center;gap:12px;padding:8px 10px;display:flex}.profile-listing-row:hover{border-color:var(--gold);background:var(--gold-subtle)}.profile-listing-thumb{border-radius:var(--r-sm);flex-shrink:0;width:40px;height:40px}.profile-listing-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-size:.86rem;font-weight:700;overflow:hidden}.profile-listing-price{color:var(--gold-deep);white-space:nowrap;font-variant-numeric:tabular-nums lining-nums;font-size:.78rem;font-weight:800}.link-btn{color:var(--accent);font-family:var(--font);font-size:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin:-8px -2px;padding:8px 2px;font-weight:700;text-decoration:underline}.link-btn:hover{color:var(--accent-hover)}.pay-qr-wrap{border:1px solid var(--border-2);border-radius:var(--r);background:var(--surface-2);flex-direction:column;align-items:center;gap:8px;margin:14px 0 16px;padding:18px;display:flex}.pay-qr{border-radius:var(--r-sm);background:#fff}.pay-qr-label{color:var(--ink-3);font-size:.74rem;font-weight:700}.pay-steps{color:var(--ink-2);flex-direction:column;gap:8px;margin:0 0 14px;padding-left:22px;font-size:.86rem;line-height:1.6;display:flex}.pay-disclaimer{border:1px solid var(--warn);border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);margin-bottom:16px;padding:12px 14px;font-size:.78rem;line-height:1.6}.auth-page{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:none;border-radius:0;margin:0;padding:0}.auth-page::backdrop{background:var(--bg)}.auth-shell{grid-template-columns:minmax(320px,1fr) 1.25fr;height:100%;display:grid}.auth-brand-pane{background:linear-gradient(160deg, #0c11229e 0%, #0c1122db 100%), url(/patterns/lai-nak.jpg) center/cover no-repeat, var(--secondary);color:var(--primary-on);flex-direction:column;justify-content:center;gap:14px;padding:clamp(28px,5vw,64px);display:flex;position:relative}.auth-brand-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex;position:absolute;top:clamp(24px,4vw,44px);left:clamp(28px,5vw,64px);right:clamp(28px,5vw,64px)}.auth-wordmark{font-family:var(--font-display);letter-spacing:.42em;text-transform:uppercase;color:var(--primary-on);font-size:.82rem}.auth-est{letter-spacing:.26em;text-transform:uppercase;color:#f4eee280;font-size:.62rem}.auth-rule{background:var(--gold);width:38px;height:1px;margin-bottom:4px}.auth-label{margin-bottom:2px}.auth-label+.dialog-input{margin-bottom:22px;padding-top:6px;padding-bottom:9px}.auth-brand-mark{color:var(--gold)}.auth-brand-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--primary-on);font-size:clamp(2.2rem,4vw,3rem);font-weight:400;line-height:1.1}.auth-brand-tag{color:#f4eee2b8;max-width:36ch;font-size:.95rem;line-height:1.75}.auth-points{flex-direction:column;gap:12px;margin-top:14px;list-style:none;display:flex}.auth-points li{color:#f4eee2b8;align-items:baseline;gap:10px;font-size:.86rem;line-height:1.6;display:flex}.auth-point-dash{background:var(--gold);border-radius:2px;flex-shrink:0;width:18px;height:2px;transform:translateY(-4px)}.auth-form-pane{justify-content:center;align-items:center;padding:clamp(20px,4vw,48px);display:flex;position:relative;overflow-y:auto}.auth-close{height:44px;padding:0 16px;font-size:.82rem;position:absolute;top:16px;right:16px}.auth-card{flex-direction:column;gap:14px;width:100%;max-width:420px;display:flex}.auth-title{font-family:var(--font-display);color:var(--ink);letter-spacing:-.015em;font-size:1.7rem;font-weight:700;line-height:1.2}.auth-sub{color:var(--ink-3);margin-top:-8px;font-size:.86rem}.auth-card .dialog-input{margin-bottom:0}.auth-card .auth-tabs{margin-bottom:2px}.auth-card .auth-error,.auth-card .auth-notice{margin:0}.auth-submit{justify-content:center;width:100%}.auth-switch{color:var(--ink-3);text-align:center;font-size:.84rem}@media (width<=860px){.auth-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.auth-brand-pane{justify-content:flex-start;gap:8px;padding:20px 20px 22px}.auth-brand-name{font-size:1.6rem}.auth-brand-tag{font-size:.82rem}.auth-points{display:none}.auth-form-pane{align-items:flex-start;padding-top:28px}.auth-close{top:10px;right:10px}}.panel-header-actions{align-items:center;gap:10px;display:flex}.weaving-mode{background:var(--bg);width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--ink);border:none;border-radius:0;margin:0;padding:0}.weaving-mode::backdrop{background:var(--bg)}.wm-shell{height:100%;padding:18px clamp(16px, 5vw, 64px) calc(18px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:center;gap:18px;display:flex}.wm-header{justify-content:space-between;align-items:center;width:100%;display:flex}.wm-progress{color:var(--ink-2);font-variant-numeric:tabular-nums lining-nums;font-size:.95rem;font-weight:800}.wm-close{height:44px;padding:0 18px;font-size:.85rem}.wm-row-num{font-family:var(--font-display);color:var(--primary);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(4rem,18vh,8rem);font-weight:800;line-height:1}.wm-seg-bar{border-radius:var(--r-sm);background:var(--border);width:100%;max-width:900px;height:clamp(64px,14vh,120px);box-shadow:var(--sh-sm);gap:3px;display:flex;overflow:hidden}.wm-seg-block{justify-content:center;align-items:center;min-width:6px;display:flex}.wm-seg-count{color:#fff;text-shadow:0 1px 3px #0000008c;font-variant-numeric:tabular-nums lining-nums;font-size:clamp(.9rem,3vh,1.4rem);font-weight:800}.wm-seg-count-empty{color:var(--ink-3);text-shadow:none}.wm-sequence{color:var(--ink-2);font-variant-numeric:tabular-nums lining-nums;text-align:center;font-size:clamp(1rem,2.6vh,1.4rem);font-weight:700}.wm-nav{gap:14px;width:100%;max-width:900px;margin-top:auto;display:flex}.wm-nav-btn{border:1.5px solid var(--border);border-radius:var(--r);background:var(--surface);min-height:76px;color:var(--ink);font-family:var(--font);cursor:pointer;transition:background var(--t-fast) var(--ease), transform 80ms var(--ease);flex:1;font-size:1.15rem;font-weight:800}.wm-nav-btn:active:not(:disabled){transform:scale(.98)}.wm-nav-btn:disabled{opacity:.3;cursor:not-allowed}.wm-nav-next{background:var(--primary);border-color:var(--primary);color:var(--primary-on);box-shadow:var(--sh-primary)}.wm-hint{color:var(--ink-ph);text-align:center;font-size:.74rem}@media print{.toolbar,.palette-row,.weave-grid,.preview-wrap,.summary-actions,.btn-primary,.btn-gold,.btn-outline,.btn-danger-outline,.studio-header,.studio-sidebar,.studio-bottom-nav{display:none!important}.studio-shell{height:auto!important;overflow:visible!important}.studio-body{display:block!important;overflow:visible!important}.studio-content,.studio-content-padded{height:auto!important;padding:0!important;overflow:visible!important}.panel{page-break-inside:avoid;border:1px solid #ddd;box-shadow:none!important}.panel:after{display:none!important}body{color:#000;background:#fff}}.prof-panel{flex-direction:column;gap:34px;display:flex}.prof-hero{border:1px solid var(--border-2);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-card);position:relative;overflow:hidden}.prof-hero-cloth{pointer-events:none;background:linear-gradient(180deg, var(--primary-subtle), transparent);height:168px;position:absolute;inset:0 0 auto}.prof-hero-cloth img{object-fit:cover;opacity:.17;width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 0%,#0000008c 55%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000008c 55%,#0000 100%)}.prof-hero-cloth:after{content:"";background:repeating-linear-gradient(90deg, var(--thread-warp) 0 1px, transparent 1px 13px), repeating-linear-gradient(0deg, var(--thread-weft) 0 1px, transparent 1px 13px);position:absolute;inset:0}.prof-hero-body{align-items:flex-start;gap:18px;padding:26px 24px 18px;display:flex;position:relative}.prof-avatar{border-radius:var(--r);background:var(--primary);width:72px;height:72px;color:var(--gold);font-family:var(--font-display);box-shadow:var(--sh-primary);flex-shrink:0;place-items:center;font-size:2rem;font-weight:700;line-height:1;display:grid;position:relative}.prof-avatar:after{content:"";border-radius:inherit;background:repeating-linear-gradient(90deg,#c9ac7429 0 1px,#0000 1px 6px),repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 6px);position:absolute;inset:0}.prof-id{flex:1;min-width:0}.prof-name{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;text-wrap:balance;font-size:1.62rem;font-weight:700;line-height:1.2}.prof-sub{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:.82rem;display:flex}.prof-role{color:var(--primary);font-weight:800}.prof-dot{color:var(--border-3)}.prof-admin{border-radius:var(--r-pill);background:var(--gold-subtle);border:1px solid var(--gold);color:var(--gold-ink);padding:1px 9px;font-size:.66rem;font-weight:800}.prof-facts{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:11px 22px;max-width:620px;margin-top:15px;display:grid}.prof-facts dt{color:var(--ink-3);font-size:.72rem;font-weight:700}.prof-facts dd{color:var(--ink);overflow-wrap:anywhere;margin-top:2px;font-size:.86rem;font-weight:600}.prof-edit{flex-shrink:0;height:44px}.prof-thread{background:linear-gradient(90deg, transparent, var(--gold) 10%, var(--gold-deep) 50%, var(--gold) 90%, transparent);opacity:.85;height:2px;margin:6px 24px 0}.prof-tally{flex-wrap:wrap;padding:17px 24px 21px;list-style:none;display:flex}.prof-tally li{border-left:1px solid var(--border-2);flex-direction:column;flex:116px;gap:3px;padding-left:18px;display:flex}.prof-tally li:first-child{border-left:0;padding-left:0}.prof-tally-n{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:1.72rem;font-weight:800;line-height:1.05}.prof-tally-l{color:var(--ink-3);font-size:.72rem;font-weight:700}.prof-section{flex-direction:column;display:flex}.prof-heading{font-family:var(--font);color:var(--ink);letter-spacing:-.005em;align-items:center;gap:9px;margin-bottom:15px;font-size:1.14rem;font-weight:300;display:flex}.prof-count{border-radius:var(--r-pill);background:var(--primary-subtle);color:var(--primary);font-family:var(--font);font-variant-numeric:tabular-nums lining-nums;padding:2px 9px;font-size:.7rem;font-weight:800}.prof-rows{flex-direction:column;gap:8px;display:flex}.prof-row{text-align:left;border:1px solid var(--border-2);border-radius:var(--r-sm);background:var(--surface);width:100%;min-height:64px;animation:fade-up .26s var(--ease);transition:border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), transform var(--t) var(--ease);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px 15px 9px 9px;display:grid}.prof-row:hover{border-color:var(--border-3);box-shadow:var(--sh-sm);transform:translateY(-1px)}.prof-row:active{box-shadow:none;transform:translateY(0)}.prof-row-thumb{border-radius:var(--r-xs);border:1px solid var(--border-2);width:52px;height:52px;display:block}.prof-row-main{flex-direction:column;gap:3px;min-width:0;display:flex}.prof-row-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:700;overflow:hidden}.prof-row-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:5px;font-size:.74rem;display:flex}.prof-row-end{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:5px;display:flex}.prof-row-price{color:var(--ink);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;font-size:.88rem;font-weight:800}.prof-state{border-radius:var(--r-pill);background:var(--ok-bg);color:var(--ok);white-space:nowrap;padding:2px 9px;font-size:.66rem;font-weight:800}.prof-state-closed{background:var(--surface-3);color:var(--ink-3)}.prof-row-skeleton{width:100%;height:64px}.prof-cloths{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:6px;list-style:none;display:flex;overflow-x:auto}.prof-cloth{scroll-snap-align:start;width:120px;animation:fade-up .26s var(--ease);flex:none}.prof-cloth img{border-radius:var(--r-sm);border:1px solid var(--border-2);width:120px;height:120px;transition:transform var(--t) var(--ease), box-shadow var(--t) var(--ease);display:block}.prof-cloth:hover img{box-shadow:var(--sh-sm);transform:translateY(-2px)}.prof-cloth-name{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:.76rem;font-weight:700;display:block;overflow:hidden}.prof-empty{border:1px dashed var(--border-3);border-radius:var(--r-sm);background:var(--surface-2);flex-direction:column;align-items:flex-start;gap:13px;padding:22px;display:flex}.prof-empty-text{max-width:62ch;color:var(--ink-2);text-wrap:pretty;font-size:.84rem;line-height:1.65}.prof-empty-page{text-align:center;border-style:solid;align-items:center;gap:15px;padding:56px 24px}.prof-error{border-radius:var(--r-sm);background:var(--err-bg);color:var(--err);align-items:center;gap:10px;padding:11px 14px;font-size:.82rem;font-weight:600;display:flex}@media (width<=620px){.prof-panel{gap:26px}.prof-hero-body{flex-wrap:wrap;gap:14px;padding:20px 16px 14px}.prof-avatar{width:60px;height:60px;font-size:1.7rem}.prof-name{font-size:1.36rem}.prof-edit{justify-content:center;width:100%}.prof-thread{margin:4px 16px 0}.prof-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;margin-top:12px}.prof-hero-cloth{height:124px}.prof-tally{gap:14px 0;padding:15px 16px 18px}.prof-tally li{flex:45%}.prof-tally li:nth-child(odd){border-left:0;padding-left:0}.prof-tally-n{font-size:1.45rem}.prof-row{gap:11px;padding:8px 12px 8px 8px}.prof-row-thumb{width:46px;height:46px}}.stagger>*{animation:fade-up .3s var(--ease) both}.stagger>:nth-child(2){animation-delay:45ms}.stagger>:nth-child(3){animation-delay:90ms}.stagger>:nth-child(4){animation-delay:.135s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.225s}.stagger>:nth-child(n+7){animation-delay:.27s}
