:root{--ink:#191b1e;--ink2:#43474d;--muted:#8a9099;--faint:#aeb4bc;--paper:#fcfcfb;--hair:#14161c17;--hair-soft:#14161c0e;--page:#eceae3;--sans:"Manrope", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--card-shadow:0 1px 2px #14161c0a, 0 12px 32px -12px #14161c29}.app[data-section=furniture]{--accent-fg:#3a41b0;--accent-bg:#e6e7fb;--accent-dot:#5a62d8;--accent-solid:#4850c9;--accent-ring:#5a62d84d;--accent-soft:#5a62d81f;--tab-active-bg:var(--ink);--card-min:420px}.app[data-section=fabric]{--accent-fg:#9a5a00;--accent-bg:#fbebcd;--accent-dot:#e89a2c;--accent-solid:#c2780f;--accent-ring:#e89a2c4d;--accent-soft:#e89a2c29;--tab-active-bg:var(--ink);--card-min:440px}.app[data-section=prints]{--accent-fg:#0b7a4b;--accent-bg:#dcf3e6;--accent-dot:#1bb873;--accent-solid:#16a86a;--accent-ring:#46c46e4d;--accent-soft:#46c46e29;--tab-active-bg:#163a24;--card-min:460px;--frame:#a8e0b8;--frame-edge:#46c46e}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100vh}#root{min-height:100vh}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{min-height:100vh}.app-header{z-index:30;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hair);background:#eceae3db;position:sticky;top:0}.app-bar{max-width:1240px;margin:0 auto;padding:14px 24px 0}.brandrow{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.brand{letter-spacing:.15em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:16px;font-weight:800}.brand b{color:var(--accent-fg);transition:color .2s}.switcher{border:1px solid var(--hair);background:#e9eaec;border-radius:999px;gap:4px;padding:3px;display:flex}.seg{appearance:none;cursor:pointer;font-family:var(--sans);color:var(--ink2);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 15px;font-size:13px;font-weight:700;line-height:1;transition:background .15s,color .15s,box-shadow .15s}.seg:hover{color:var(--ink)}.seg.active{background:var(--accent-solid);color:#fff;box-shadow:0 1px 2px #14161c38}.seg .sn{font-family:var(--mono);opacity:.62;font-variant-numeric:tabular-nums;margin-left:6px;font-size:10.5px;font-weight:500}.total{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:11px}.search{margin-left:auto;position:relative}.search input{font-family:var(--sans);color:var(--ink);border:1px solid var(--hair);background:#fff;border-radius:999px;outline:none;width:300px;max-width:42vw;padding:9px 14px 9px 34px;font-size:13.5px;font-weight:500;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 1px #14161c05}.search input:focus{border-color:var(--accent-dot);box-shadow:0 0 0 3px var(--accent-ring)}.search .sicon{pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tabs{scrollbar-width:thin;gap:7px;padding:13px 0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{height:6px}.tabs::-webkit-scrollbar-thumb{background:#14161c24;border-radius:999px}.tab{cursor:pointer;border:1px solid var(--hair);color:var(--ink2);font-family:var(--sans);white-space:nowrap;background:#f1f2f4;border-radius:999px;flex:none;align-items:center;gap:7px;padding:7px 13px;font-size:12.5px;font-weight:600;line-height:1;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.tab:hover{border-color:#14161c33}.tab .n{font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.tab.active{background:var(--tab-active-bg);color:#fff;border-color:var(--tab-active-bg)}.tab.active .n{color:#ffffff9e}.dimrow{align-items:center;gap:10px;padding-top:8px;display:flex}.dimrow .lbl{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:10.5px}.wrap{max-width:1240px;margin:0 auto;padding:26px 24px 90px}.cards{grid-template-columns:repeat(auto-fill, minmax(min(var(--card-min), 100%), 1fr));align-items:start;gap:22px;display:grid}.loader{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:30px;font-size:13px;font-weight:600;display:flex}.spin{border:2px solid #14161c26;border-top-color:var(--accent-dot);border-radius:999px;width:16px;height:16px;animation:.7s linear infinite sp}@keyframes sp{to{transform:rotate(360deg)}}.end{text-align:center;color:var(--faint);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;padding:26px 0 0;font-size:10.5px}.feed-empty{text-align:center;color:var(--muted);padding:70px 20px;font-weight:600}.feed-error{color:#c0392b;font-weight:600}@keyframes cardin{0%{opacity:0}to{opacity:1}}.cards>*{animation:.2s both cardin}@media (prefers-reduced-motion:reduce){.cards>*{animation:none}}@media (width<=720px){.app-bar{padding:12px 16px 0}.brandrow{row-gap:10px}.search{order:5;width:100%;margin-left:0}.search input{width:100%;max-width:none}.total{margin-left:auto}}@media (width<=560px){.wrap{padding:20px 14px 70px}.seg{padding:7px 11px;font-size:12.5px}.seg .sn{display:none}}.fcard{background:var(--paper);border:1px solid var(--hair);cursor:pointer;border-radius:18px;justify-self:center;width:100%;max-width:560px;transition:box-shadow .16s,transform .16s;overflow:hidden;box-shadow:0 1px 2px #14161c0a,0 6px 18px -14px #14161c38}.fcard:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.fcard.expanded{cursor:default;max-width:none;box-shadow:var(--card-shadow);grid-column:1/-1;justify-self:stretch;transform:none}.fcard.expanded:hover{transform:none}.fcard .eyebrow{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-size:9.5px;font-weight:600;line-height:1}.fcard .field-label{margin-bottom:7px}.fcard .slot{background:repeating-linear-gradient(135deg,#eef0f3 0 11px,#f5f6f8 11px 22px);border:1.5px dashed #14161c29;border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.fcard .slot-inner{opacity:.62;flex-direction:column;align-items:center;gap:7px;display:flex}.fcard .slot-ring{border:1.5px solid var(--muted);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.fcard .slot-dot{background:var(--muted);border-radius:999px;width:7px;height:7px}.fcard .slot-cap{color:var(--ink2);text-align:center;font-size:14px;font-weight:700}.fcard .slot-sub{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);text-align:center;margin-top:3px;font-size:9px}.fcard .slot.has-img{border:1px solid var(--hair);background:#fff}.fcard .slot-img{object-fit:cover;width:100%;height:100%;display:block}.fcard .kind-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.fcard .kind-pill .pd{border-radius:999px;width:6px;height:6px}.fcard .ghost-tag{color:var(--ink2);border:1px solid var(--hair);text-overflow:ellipsis;white-space:nowrap;background:#f1f2f4;border-radius:999px;align-items:center;max-width:100%;padding:4px 11px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.fcard .state-tag{background:var(--ink);color:#fff;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:6px 11px;font-size:11.5px;font-weight:600;display:inline-flex}.fcard .state-tag .pd{opacity:.85;background:#fff;border-radius:999px;width:6px;height:6px}.fcard .article{font-family:var(--mono);word-break:break-word;font-size:19px;font-weight:700;line-height:1.2}.fcard .code-row{align-items:baseline;gap:7px;margin-top:8px;display:inline-flex}.fcard .code-val{font-family:var(--mono);color:var(--ink2);font-size:13.5px;font-weight:600}.fcard .rule{background:var(--hair);height:1px}.fcard .input{border:1px solid var(--hair);background:#fff;border-radius:9px;align-items:center;min-height:40px;padding:0 13px;display:flex;box-shadow:inset 0 1px 1px #14161c05}.fcard .input.between{justify-content:space-between;gap:10px;padding-right:12px}.fcard .input-val{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.fcard .input-val.mono{font-family:var(--mono);color:var(--ink2);font-size:12.5px}.fcard .input-val.empty{color:var(--faint)}.fcard .swatch{border:1px solid var(--hair);border-radius:5px;flex:none;width:18px;height:18px}.fcard .swatch.universal{background:conic-gradient(from 210deg,#e7c6c6,#e9ddb6,#bfd9c2,#b9c9e2,#d6c2df,#e7c6c6)}.fcard .swatch.empty{border:1.5px dashed var(--faint);background:#f4f5f7}.fcard a.lnk{align-items:center;gap:9px;min-width:0;text-decoration:none;display:flex}.fcard a.lnk:hover .input-val.mono{color:var(--accent-fg);text-decoration:underline}.fcard .grid4{grid-template-columns:repeat(4,1fr);gap:17px 16px;display:grid}.fcard .span2{grid-column:span 2}.fcard .collapsed{gap:18px;height:256px;padding:22px;display:flex}.fcard .collapsed .slot{flex:0 0 188px;align-self:center;width:188px;height:212px}.fcard .cinfo{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.fcard .cinfo .toprow{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;min-height:26px;padding-right:32px;display:flex}.fcard .cgrid{grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:auto;padding-top:14px;display:grid}.fcard .cgrid .v{font-size:14px;font-weight:600}.fcard .cgrid .v.empty{color:var(--faint);font-weight:600}.fcard .chev-btn{border:1px solid var(--hair);width:26px;height:26px;color:var(--muted);background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;transition:background .14s;display:flex;position:absolute;top:0;right:0}.fcard:hover .chev-btn{background:#f1f2f4}.fcard .xrow{display:flex}.fcard .xphoto{border-right:1px solid var(--hair);flex-direction:column;flex:0 0 240px;justify-content:center;width:240px;padding:26px;display:flex}.fcard .xphoto .slot{width:188px;height:256px;margin:0 auto}.fcard .xform{flex-direction:column;flex:1;min-width:0;padding:26px 30px;display:flex}.fcard .xhead{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}@media (width<=760px){.fcard .xrow{flex-direction:column}.fcard .xphoto{border-right:none;border-bottom:1px solid var(--hair);flex:none;width:auto;padding:22px}.fcard .xphoto .slot{width:188px;height:240px}.fcard .grid4{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.fcard .collapsed{gap:14px;height:auto;min-height:256px;padding:18px}.fcard .collapsed .slot{flex-basis:132px;width:132px;height:188px}.fcard .grid4{grid-template-columns:1fr}.fcard .grid4 .span2{grid-column:auto}}.fabcard{--slot:232px;background:var(--paper);border:1px solid var(--hair);border-radius:18px;width:100%;font-family:Arial,Helvetica,sans-serif;transition:box-shadow .16s,transform .16s;overflow:hidden;box-shadow:0 1px 2px #14161c0a,0 6px 18px -14px #14161c38}.fabcard:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.fabcard .mono{font-variant-numeric:tabular-nums;letter-spacing:.01em;font-family:Arial,Helvetica,sans-serif}.fabcard .cardbody{gap:20px;padding:22px;display:flex}.fabcard .cinfo{flex-direction:column;flex:1;min-width:0;display:flex}.fabcard .toprow{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;min-height:26px;display:flex}.fabcard .slot{width:var(--slot);flex:0 0 var(--slot);height:var(--slot);aspect-ratio:1;border:1px solid var(--hair);background:repeating-linear-gradient(135deg,#eef0f3 0 11px,#f5f6f8 11px 22px);border-radius:14px;justify-content:center;align-self:flex-start;align-items:center;display:flex;position:relative;overflow:hidden}.fabcard .slot-img{object-fit:cover;width:100%;height:100%;display:block}.fabcard .slot-inner{opacity:.6;flex-direction:column;align-items:center;gap:7px;display:flex}.fabcard .slot-ring{border:1.5px solid var(--muted);border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.fabcard .slot-dot{background:var(--muted);border-radius:999px;width:7px;height:7px}.fabcard .slot-cap{color:var(--ink2);font-size:14px;font-weight:700}.fabcard .eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-family:Arial,Helvetica,sans-serif;font-size:9.5px;font-weight:700;line-height:1}.fabcard .kind-pill{background:var(--accent-bg);color:var(--accent-fg);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.fabcard .kind-pill .pd{background:var(--accent-dot);border-radius:999px;width:6px;height:6px}.fabcard .ghost-tag{color:var(--ink2);border:1px solid var(--hair);text-overflow:ellipsis;white-space:nowrap;background:#f1f2f4;border-radius:999px;align-items:center;max-width:100%;padding:4px 11px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.fabcard .article{word-break:break-word;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;line-height:1.25}.fabcard .cgrid{grid-template-columns:1fr 1fr;gap:13px 16px;margin-top:16px;display:grid}.fabcard .cgrid .v{word-break:break-word;font-size:14px;font-weight:700}.fabcard .cgrid .v.empty{color:var(--faint);font-weight:600}@media (width<=560px){.fabcard .cardbody{flex-direction:column;gap:16px;padding:18px}.fabcard .slot{flex:none;width:100%;max-width:320px;height:auto}}.pframe{--tile:#e2e3ec;--tile-edge:#b7bbca;--panel:#fcfdfc;--green-ink:#163a24;--green-ink2:#1b3a26;background:var(--frame);border:2px solid var(--frame-edge);cursor:pointer;border-radius:20px;justify-self:center;width:100%;max-width:600px;padding:16px;transition:box-shadow .16s,transform .16s}.pframe:hover{box-shadow:var(--card-shadow);transform:translateY(-2px)}.pframe.expanded{cursor:default;max-width:none;box-shadow:var(--card-shadow);grid-column:1/-1;justify-self:stretch;transform:none}.pframe.expanded:hover{transform:none}.pframe .ptile{background:var(--tile);border:1.5px dashed var(--tile-edge);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.pframe .ptile .ti{opacity:.5;flex-direction:column;align-items:center;gap:6px;display:flex}.pframe .ptile .ring{border:1.5px solid var(--muted);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.pframe .ptile .dot{background:var(--muted);border-radius:999px;width:6px;height:6px}.pframe .ptile .cap{color:var(--green-ink2);text-align:center;font-size:13.5px;font-weight:700}.pframe .ptile.has-img{border:1px solid var(--hair);background:#fff}.pframe .ptile-img{object-fit:contain;width:100%;height:100%;display:block}.pframe .ptile-tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--green-ink2);background:#fcfdfceb;border-radius:6px;padding:3px 7px;font-size:9px;font-weight:700;position:absolute;bottom:8px;left:8px}.pframe .eyebrow{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--faint);font-size:9.5px;font-weight:600;line-height:1}.pframe .pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.pframe .pill.lg{gap:7px;padding:6px 13px 6px 11px;font-size:13px}.pframe .pill .pd{border-radius:999px;flex:none;width:6px;height:6px}.pframe .pill.lg .pd{width:7px;height:7px}.pframe .collapsed{gap:16px;display:flex}.pframe .collapsed .ptile{aspect-ratio:1;flex:0 0 168px;align-self:flex-start;width:168px}.pframe .cinfo{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.pframe .toprow{flex-wrap:wrap;align-items:center;gap:9px;min-height:26px;padding-right:30px;display:flex}.pframe .pnum{font-family:var(--mono);color:var(--faint);font-size:17px;font-weight:700}.pframe .pname{letter-spacing:-.015em;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:19px;font-weight:800;overflow:hidden}.pframe .cgrid{grid-template-columns:1fr 1fr;gap:13px 16px;margin-top:16px;display:grid}.pframe .cell .v{color:var(--ink);align-items:center;gap:8px;margin-top:6px;font-size:14px;font-weight:700;display:flex}.pframe .cell .v.empty{color:var(--faint);font-weight:600}.pframe .swatch{border:1px solid var(--hair);border-radius:5px;flex:none;width:16px;height:16px}.pframe .chev-btn{border:1px solid var(--hair);width:26px;height:26px;color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0}.pframe .xrow{gap:16px;display:flex}.pframe .xtiles{flex-direction:column;flex:0 0 280px;align-self:flex-start;gap:16px;width:280px;display:flex}.pframe .xtiles .ptile{aspect-ratio:1}.pframe .ppanel{background:var(--panel);border:1px solid var(--hair);border-radius:16px;flex:1;min-width:0;padding:24px 26px;position:relative}.pframe .ppanel .toptag{background:var(--ink);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:16px;right:16px}.pframe .ppanel .toptag .pd{opacity:.85;background:#fff;border-radius:999px;width:6px;height:6px}.pframe .phead{align-items:baseline;gap:9px;padding-right:110px;display:flex}.pframe .phead .pnum{font-size:20px}.pframe .phead .pname{font-size:23px}.pframe .rule{background:var(--hair);height:1px;margin:20px 0}.pframe .fgrid{grid-template-columns:1fr 1fr;gap:17px 22px;display:grid}.pframe .field{min-width:0}.pframe .field.full{grid-column:1/-1}.pframe .field .fv{color:var(--ink);word-break:break-word;margin-top:6px;font-size:15px;font-weight:500;line-height:1.35}.pframe .field .fv.mono{font-family:var(--mono);font-size:13.5px;font-weight:600}.pframe .field .fv.empty{color:var(--faint)}.pframe .field .fv .swatch{width:18px;height:18px}.pframe .pchips{flex-wrap:wrap;gap:7px;margin-top:9px;display:flex}.pframe .pchip{border:1px solid var(--hair);font-family:var(--mono);color:var(--ink2);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:5px 11px 5px 8px;font-size:12px;font-weight:600;display:inline-flex}.pframe .pchip .sq{border:1px solid var(--hair);background:#dfe2e7;border-radius:3px;width:12px;height:12px}.pframe .linkrow{flex-wrap:wrap;gap:9px;margin-top:9px;display:flex}.pframe .plink{border:1px solid var(--hair);background:#f3f4f6;border-radius:8px;align-items:center;gap:7px;max-width:100%;padding:7px 11px;text-decoration:none;display:inline-flex}.pframe .plink:hover{background:#eceef0}.pframe .plink span{font-family:var(--mono);color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.pframe .place{border:1px solid var(--hair);background:#fff;border-radius:12px;margin-top:12px;padding:15px 16px}.pframe .place-head{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px;display:flex}.pframe .place-name{color:var(--ink);font-size:14px;font-weight:700}.pframe .place-colors{font-family:var(--mono);color:var(--ink2);border:1px solid var(--hair);background:#f1f2f4;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600}.pframe .widthrow{align-items:baseline;gap:8px;margin-bottom:11px;display:flex}.pframe .widthrow .l{color:var(--ink2);font-size:13.5px;font-weight:600}.pframe .widthrow .v{font-family:var(--mono);color:var(--ink);font-size:14.5px;font-weight:600}.pframe .widthrow .u{color:var(--faint);font-size:12px}.pframe .otable{border:1px solid var(--hair);border-radius:10px;overflow:hidden}.pframe .otable .hr,.pframe .otable .row{grid-template-columns:1.2fr 1fr;display:grid}.pframe .otable .hr{border-bottom:1px solid var(--hair);background:#f4f6f4}.pframe .otable .hr div{padding:7px 12px}.pframe .otable .hr div+div,.pframe .otable .row div+div{border-left:1px solid var(--hair-soft)}.pframe .otable .row{border-top:1px solid var(--hair-soft)}.pframe .otable .row:first-child{border-top:none}.pframe .otable .row .sz{color:var(--ink);padding:9px 12px;font-size:13.5px;font-weight:600}.pframe .otable .row .of{font-family:var(--mono);color:var(--ink2);padding:9px 12px;font-size:13.5px}.pframe .otable .row .of.empty{color:var(--faint)}.pframe .note{background:#f6f4ef;border:1px solid #ece7dc;border-radius:11px;margin-top:18px;padding:12px 15px}.pframe .note .nt{color:var(--ink2);white-space:pre-wrap;font-size:14px;line-height:1.4}.pframe .preview-lay{font-family:var(--mono);color:var(--ink2);font-size:12px}@media (width<=860px){.pframe .xrow{flex-direction:column}.pframe .xtiles{flex-direction:row;flex:none;width:auto}.pframe .xtiles .ptile{aspect-ratio:1;flex:1}}@media (width<=560px){.pframe .collapsed{flex-direction:column}.pframe .collapsed .ptile{flex:none;width:100%;max-width:320px}.pframe .cgrid,.pframe .fgrid{grid-template-columns:1fr}.pframe .xtiles{flex-direction:column}}
