:root{--bg-app:#f8f8fc;--bg-surface:#fff;--bg-subtle:#f6f4fb;--bg-purple-soft:#f3efff;--text-primary:#121a33;--text-secondary:#59627a;--text-muted:#8a91a6;--border-default:#e5e7ef;--border-soft:#ececf3;--brand:#7447e8;--brand-hover:#6538da;--brand-soft:#eee8ff;--brand-border:#b99cff;--shadow-soft:0 4px 18px #1c143c0d;--shadow-card:0 8px 30px #1c143c12;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--ink:var(--text-primary);--ink-2:var(--text-secondary);--ink-3:var(--text-muted);--rule:var(--border-soft);--surface:var(--bg-app);--white:var(--bg-surface);--accent:var(--brand);--accent-2:var(--brand-hover);--accent-light:var(--brand-soft);--save-ok:#37a86b;--saving:#e08a1e;--err:#d14343;--fs-xs:11px;--fs-sm:13px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--background:var(--surface);--foreground:var(--ink);--muted:var(--ink-2);--border:var(--rule);--shadow-sm:var(--shadow-soft);--shadow-md:var(--shadow-card);--radius:18px;--radius-sm:12px}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100%;min-height:100%;overflow-x:clip}body{color:var(--ink);background:var(--surface);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--ink-3)}.small{font-size:var(--fs-xs)}.grow{flex:1}h1,h2,h3{color:var(--text-primary);letter-spacing:-.02em;font-weight:650}h1{letter-spacing:-.03em;font-size:clamp(28px,2.6vw,40px);font-weight:700;line-height:1.12}h2{letter-spacing:-.015em;font-size:22px}h3{font-size:17px}body{position:relative}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60vw 50vh at 100% -5%,#7447e80f,#0000 60%),radial-gradient(50vw 40vh at -5% 100%,#7447e80a,#0000 55%);position:fixed;inset:0}button{font:inherit;font-size:var(--fs-sm);cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--white);border-radius:3px;padding:6px 14px;transition:background .15s}button:hover:not(:disabled){background:#333}button:disabled{opacity:.35;cursor:default}button.secondary{background:var(--white);color:var(--ink);border-color:var(--rule)}button.secondary:hover:not(:disabled){background:var(--accent-light)}.btn-link{font-size:var(--fs-sm);border:1px solid var(--ink);background:var(--ink);color:var(--white);border-radius:3px;margin-top:10px;padding:8px 16px;display:inline-block}.btn-link:hover{background:#333;text-decoration:none}.btn-danger{background:var(--err);border-color:var(--err);color:var(--white)}.btn-danger:hover:not(:disabled){background:#991b1b}.pattern-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.icon-link{border:1px solid var(--rule);background:var(--white);width:30px;height:30px;color:var(--ink);cursor:pointer;border-radius:6px;place-items:center;padding:0;font-size:14px;display:inline-grid}.icon-link:hover{background:var(--surface);text-decoration:none}.icon-link.danger:hover{color:var(--err);border-color:var(--err)}.modal-backdrop{z-index:60;background:#00000059;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--white);border:1px solid var(--rule);border-radius:10px;width:100%;max-width:380px;padding:20px}.modal h3{font-size:var(--fs-lg);margin-bottom:6px;font-weight:500}label{font-size:var(--fs-sm);color:var(--ink);margin:14px 0;font-weight:500;display:block}[hidden]{display:none!important}input,select,textarea{width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink);border:1px solid var(--border-default,var(--rule));background:var(--white);border-radius:10px;outline:none;margin-top:6px;padding:11px 14px;font-weight:400;transition:border-color .15s,box-shadow .15s;display:block}textarea{resize:vertical;min-height:72px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft,#eee8ff)}input::placeholder,textarea::placeholder{color:var(--text-muted,#8a91a6)}input[type=color]{cursor:pointer;width:40px;height:34px;padding:2px}.row{align-items:center;gap:8px;display:flex}.row.spaced{justify-content:space-between}.auth{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--white);border:1px solid var(--rule);border-radius:6px;width:100%;max-width:360px;padding:28px}.card h1{font-size:var(--fs-xl);letter-spacing:-.02em;font-weight:500}.message{background:var(--surface);border:1px solid var(--rule);font-size:var(--fs-sm);color:var(--ink-2);border-radius:3px;margin-top:16px;padding:8px 12px}.auth-heading{font-size:var(--fs-lg,18px);margin:6px 0 2px;font-weight:600}.auth-primary{background:var(--brand);border-color:var(--brand);width:100%;margin-top:4px;padding:9px 14px}.auth-primary:hover:not(:disabled){background:#5f39c8;border-color:#5f39c8}.auth-links{font-size:var(--fs-sm);color:var(--ink-2);flex-direction:column;gap:8px;margin-top:16px;display:flex}.auth-links a{color:var(--brand);text-decoration:none}.auth-links a:hover{text-decoration:underline}.link-btn{width:auto;font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.topbar{background:var(--bg-surface);border-bottom:1px solid var(--border-soft);z-index:30;align-items:center;gap:12px;height:62px;padding:0 28px;display:flex;position:sticky;top:0}.topbar strong,.topbar a{font-size:var(--fs-md);letter-spacing:-.02em;font-weight:600}.topbar-logo{border-right:1px solid var(--rule);align-items:center;margin-right:4px;padding-right:14px;display:inline-flex}.topbar-logo .brandmark-logo{height:30px}.topbar-name{min-width:0;max-width:min(420px,40vw);font-size:var(--fs-md);letter-spacing:-.02em;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-weight:600;display:inline-flex}.topbar-name:hover:not(:disabled),.topbar-name:focus-visible{color:var(--ink);background:0 0;border:0}.topbar-name:hover .ellipsis{text-underline-offset:2px;text-decoration:underline}.topbar-name .ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-name-pencil{color:var(--brand);flex:none;font-size:12px}.topbar-name-input{border:1px solid var(--brand);background:var(--white);min-width:0;max-width:360px;color:var(--ink);font-size:var(--fs-md);letter-spacing:-.02em;border-radius:8px;padding:5px 10px;font-weight:600}.topbar-name-input:focus{box-shadow:0 0 0 2px var(--brand-soft);outline:none}.brandmark-logo{width:auto;max-width:100%;height:30px;display:block}.auth-brand{margin:0 0 6px}.auth-brand .brandmark-logo{width:220px;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.content{max-width:920px;margin:0 auto;padding:44px 28px 80px}.content h1{letter-spacing:-.03em;margin-bottom:4px;font-size:clamp(28px,2.6vw,40px);font-weight:700;line-height:1.12}.body-text{color:var(--text-secondary);font-size:16px;line-height:1.6}.route-lede{max-width:46ch;margin:4px 0 20px}.feature-icon{background:var(--brand-soft);width:48px;height:48px;color:var(--brand);border-radius:14px;place-items:center;margin-bottom:4px;display:grid}.route-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px;display:grid}@media (max-width:720px){.route-cards{grid-template-columns:1fr}}.route-card{border:1px solid var(--border-soft);background:var(--bg-surface);box-shadow:var(--shadow-soft);border-radius:20px;flex-direction:column;gap:10px;padding:28px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.route-card:hover{border-color:var(--brand-border);box-shadow:var(--shadow-card)}.route-card h2{margin:4px 0 0;font-size:20px;font-weight:650}.route-card p{margin:0}.route-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.route-badge{font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:999px;padding:4px 10px;font-weight:600}.route-cta{box-shadow:none;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-self:flex-start;align-items:center;margin-top:auto;padding:11px 20px;font-size:15px;font-weight:600;transition:background .16s,border-color .16s;display:inline-flex}.route-cta-dark{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.route-cta-dark:hover{background:#0b1226}.route-cta-soft{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-border)}.route-cta-soft:hover{background:#e4dbff}.route-note{margin-top:16px}.pat-name{align-items:center;gap:10px;min-width:0;display:flex}.pat-date{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;width:148px}.pat-date-short{display:none}.acct-menu{flex:none;position:relative}.acct-btn{border:1px solid var(--border-default,var(--rule));background:var(--white);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:10px;place-items:center;padding:0;display:inline-grid}.acct-btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.acct-dropdown{z-index:40;background:var(--white);border:1px solid var(--border-default,var(--rule));min-width:180px;box-shadow:var(--shadow-card,0 8px 30px #1c143c1f);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.acct-dropdown form{margin:0}.acct-item{text-align:left;width:100%;color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-weight:500;display:block}.acct-item:hover:not(:disabled){background:var(--brand-soft);text-decoration:none}.acct-item-danger{color:var(--err)}.acct-item-danger:hover:not(:disabled){background:#fdecec}@media (max-width:560px){.topbar{padding:0 16px}.content{padding:24px 16px 64px}.patterns-heading{margin-top:32px}.list li{gap:10px;padding:12px}.pat-date{width:74px}.pat-date-full{display:none}.pat-date-short{display:inline}}.pat-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:700}.pat-tag.graph{color:var(--brand);background:var(--brand-soft)}.pat-tag.pro{color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-soft)}.patterns-heading{margin-top:44px;margin-bottom:12px}.gs{position:relative}.gs-hero{margin-bottom:12px;padding-right:128px;position:relative}.gs-title{letter-spacing:-.03em;margin:0 0 3px;font-size:clamp(22px,1.9vw,28px);font-weight:700;line-height:1.1}.gs-hero .body-text{font-size:14px}.gs-steps{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.gs-step{font-size:var(--fs-sm);color:var(--text-muted)}.gs-step.active{color:var(--text-secondary)}.gs-step.active strong{color:var(--brand);background:var(--brand-soft);border-radius:999px;margin-right:6px;padding:3px 10px;font-weight:600}.gs-track{background:var(--border-default);border-radius:2px;width:34px;height:2px}.gs-num{width:22px;height:22px;font-size:var(--fs-xs);color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:50%;place-items:center;display:grid}.gs-hero-art{filter:drop-shadow(0 8px 16px #1c143c1f);font-size:46px;line-height:1;position:absolute;top:-4px;right:-4px}.gs-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.gs-photomode .gs-hero,.gs-photomode .gs-tip,.gs-photomode .gs-photo-intro,.gs-photomode .gs-card:not(.gs-card-photo){display:none}.gs-photomode .gs-cards{grid-template-columns:1fr}.gs-photomode .gs-card-photo{box-shadow:none;background:0 0;border:0;padding:0}.gs-photomode .pt-wrap{max-width:none}@media (max-width:820px){.gs-cards{grid-template-columns:1fr}.gs-hero{padding-right:0}.gs-hero-art{display:none}}.gs-card{border:1px solid var(--border-soft);background:var(--bg-surface);box-shadow:var(--shadow-soft);border-radius:18px;flex-direction:column;gap:8px;padding:16px 20px;display:flex}.gs-card h2{margin:0;font-size:18px;font-weight:650}.gs-card .feature-icon{border-radius:11px;width:34px;height:34px;margin-bottom:0}.gs-card>.body-text{margin:0}.gs-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gs-field{font-size:var(--fs-sm);color:var(--text-secondary);flex-direction:column;gap:4px;font-weight:500;display:flex}.gs-field input{width:100%;padding:8px 12px}.gs-block{flex-direction:column;gap:8px;display:flex}.gs-label{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:500}.segment{background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:12px;gap:3px;width:max-content;padding:3px;display:inline-flex}.segment-option{color:var(--text-secondary);font-size:var(--fs-sm);box-shadow:none;background:0 0;border:0;border-radius:9px;padding:7px 16px;font-weight:500;transition:background .16s,color .16s}.segment-option.active{background:var(--bg-surface);color:var(--brand);box-shadow:var(--shadow-soft)}.gs-defaults{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gs-stitch{padding:9px 12px}.gs-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.gs-stitch{width:100%}.gs-create{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:2px;padding:11px 22px;font-size:16px;font-weight:600;transition:background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 6px 16px #7447e833}.gs-create:hover{background:var(--brand-hover);box-shadow:0 8px 20px #7447e842}.gs-caption{font-size:var(--fs-sm);color:var(--text-muted);text-align:center;margin:0}.gs-link{color:var(--brand);font-size:inherit;cursor:pointer;box-shadow:none;background:0 0;border:0;padding:0;font-weight:500}.gs-link:hover{background:0 0;text-decoration:underline}.gs-nstep{border-top:1px solid var(--border-soft);flex-direction:column;gap:7px;padding:10px 0;display:flex}.gs-nstep:first-of-type{border-top:0;padding-top:2px}.gs-nhead{font-size:var(--fs-sm);color:var(--text-primary);align-items:center;gap:8px;font-weight:600;display:flex}.gs-badge{background:var(--brand-soft);width:22px;height:22px;color:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.gs-nhead-sub{color:var(--text-muted);font-weight:500}.gs-step-desc{font-size:var(--fs-sm);color:var(--text-muted);margin:-3px 0 1px}.gs-sizes{grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:8px;display:grid}.gs-size{border:1px solid var(--border-soft);background:var(--bg-surface);cursor:pointer;text-align:center;box-shadow:none;border-radius:12px;flex-direction:column;align-items:center;gap:3px;margin:0;padding:12px 8px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex;position:relative}.gs-size:hover:not(:disabled){background:var(--bg-surface);border-color:var(--brand-border)}.gs-size.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.gs-size.on:hover:not(:disabled){background:var(--brand-soft)}.gs-size-icon{color:var(--brand);line-height:0}.gs-size-name{color:var(--text-primary);font-size:13px;font-weight:600}.gs-size-dim{color:var(--text-muted);font-size:11px}.gs-size-check{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:grid;position:absolute;top:6px;right:6px}.gs-lib2{border:1px solid var(--border-soft);background:var(--bg-subtle);border-radius:14px;padding:12px 14px}.gs-lib2+.gs-lib2{margin-top:12px}.gs-lib2-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.gs-lib2-title{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.gs-lib2-count{color:var(--text-muted);white-space:nowrap;font-size:12px}.gs-lib2-desc{margin:4px 0 0}.gs-lib2 .pt-stitches,.gs-review{margin-top:10px}.pt-stitch-sw{border:1px solid #121a331f;border-radius:6px;flex:none;width:20px;height:20px;display:inline-block}.gs-chip-static{cursor:default}.gs-chip-static:hover{border-color:var(--brand)}.gs-hint{font-size:var(--fs-sm);color:var(--text-muted);margin:0}.gs-gauge-note,.pt-gauge-note{opacity:.85;margin-top:2px;font-size:11px;font-style:italic}.gs-tip{text-align:center;background:var(--bg-purple-soft);border:1px solid var(--border-soft);font-size:var(--fs-sm);color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:10px 16px;display:flex}.gp-details{border:1px solid var(--rule);background:var(--surface);border-radius:10px;flex-direction:column;gap:12px;margin:12px 0;padding:14px;display:flex}.gp-branding{border-top:1px solid var(--rule);flex-direction:column;gap:6px;margin-top:4px;padding-top:12px;display:flex}.gp-branding-h{font-size:13px;font-weight:700}.gp-check{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.gp-check input{width:auto;margin:0}.gp-logo-up{cursor:pointer}.gp-colours-lbl{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:600}.gp-colours-list{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;display:grid}.gp-colour{align-items:center;gap:8px;margin:0;display:flex}.gp-colour-sw{border:1px solid var(--border-soft);cursor:pointer;background:0 0;border-radius:8px;flex:none;width:34px;height:34px;padding:0}.gp-colour-name{flex:1;margin:0;padding:7px 10px}.graph-upgrade{border:1px solid var(--rule);background:var(--surface);border-radius:12px;margin-top:26px;padding:18px}.graph-upgrade h3{margin:0 0 4px;font-size:17px;font-weight:600}.graph-upgrade button{margin-top:10px}.gp-actions{flex-direction:column;gap:12px;margin-top:12px;display:flex}.gp-actions>*{margin:0!important}.gp-actions>button{align-self:flex-start}.pub-size{border:1px solid var(--border-soft,var(--rule));background:var(--brand-soft,var(--bg-subtle));border-radius:12px;margin:14px 0;padding:14px 16px}.pub-size-head{flex-direction:column;gap:2px;margin-bottom:10px;display:flex}.pub-size-head strong{color:var(--text-primary,var(--ink));font-size:14px}.pub-size-fields{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.pub-size-fields label{flex-direction:column;gap:4px;max-width:130px;margin:0;font-size:12px;font-weight:500;display:flex}.pub-size-fields .times{color:var(--text-muted);align-self:center;padding-bottom:9px}.pub-cols{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}@media (max-width:720px){.pub-cols{grid-template-columns:1fr}}.pub-card{border:1px solid var(--rule);background:var(--surface);border-radius:12px;padding:16px}.pub-card h3{margin:0 0 8px;font-size:14px;font-weight:600}.pub-list{flex-direction:column;gap:6px;margin:6px 0 0;padding:0;list-style:none;display:flex}.pub-list li{font-size:var(--fs-sm);color:var(--ink)}.pub-list li.off{color:var(--ink-3)}.pub-tick{color:#2e7d32;width:16px;display:inline-block}.pub-list li.off .pub-tick{color:var(--ink-3)}.pub-add{color:var(--accent);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border:0;padding:2px 0}.pub-add:hover{text-decoration:underline}.list{background:var(--white);border:1px solid var(--rule);border-radius:6px;margin-top:16px;list-style:none;overflow:hidden}.list li{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.list li:last-child{border-bottom:none}.badge{font-size:var(--fs-xs);color:var(--ink-3)}.badge.saving{color:var(--saving)}.badge.saved{color:var(--save-ok)}.badge.error{color:var(--err)}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.builder{grid-template-columns:276px 1fr;align-items:start;min-height:calc(100vh - 62px);display:grid}.sn-progress{border-bottom:1px solid var(--border-soft,var(--rule));margin-bottom:4px;padding:4px 12px 12px}.sn-progress-top{color:var(--text-primary,var(--ink));justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.sn-progress-count{color:var(--text-muted);font-weight:500}.sn-progress-bar{background:var(--bg-subtle,#f1f1f6);border-radius:999px;height:6px;overflow:hidden}.sn-progress-bar span{background:var(--brand,#7447e8);border-radius:999px;height:100%;transition:width .25s;display:block}.side{background:var(--white);border-right:1px solid var(--rule);flex-direction:column;gap:2px;padding:14px 12px;display:flex}.sn-group{flex-direction:column;gap:2px;padding:8px 0;display:flex}.sn-group+.sn-group{border-top:1px solid var(--border-soft,var(--rule))}.sn-group-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted,var(--ink-3));margin:0;padding:2px 12px 8px;font-weight:700}.sn-row{text-align:left;width:100%;color:var(--text-primary,var(--ink));font-size:var(--fs-sm);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:9px 12px;transition:background .12s,color .12s;display:flex}.sn-row:hover:not(:disabled){background:var(--bg-subtle,var(--surface))}.sn-row.sn-active{background:var(--brand-soft,var(--accent-light))}.sn-row.sn-active .sn-label{color:var(--brand,var(--accent));font-weight:650}.sn-row.sn-locked{cursor:default}.sn-row.sn-todo .sn-label,.sn-row.sn-locked .sn-label{color:var(--text-muted,var(--ink-2))}.sn-status{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:inline-grid}.sn-status-todo{border:1.6px solid var(--border-default,#cfd0db)}.sn-status-locked{border:1.6px solid var(--border-default,#cfd0db);color:var(--text-muted)}.sn-status-done{color:#2e7d32;background:#dff3e2}.sn-status-active{background:var(--brand-soft,var(--accent-light))}.sn-dot{background:var(--brand,var(--accent));border-radius:50%;width:11px;height:11px}.sn-num{background:var(--bg-subtle,#f1f1f6);width:28px;height:28px;color:var(--text-muted,var(--ink-2));border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.sn-row.sn-active .sn-num{background:var(--brand-soft,var(--accent-light));color:var(--brand,var(--accent))}.sn-label{flex:auto;min-width:0}.sn-opt{background:var(--bg-subtle,#f1f1f6);color:var(--text-muted,var(--ink-3));text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex:none;padding:3px 9px;font-size:10px;font-weight:700}.ui-intro{max-width:1040px}.ui-name{color:var(--text-primary);margin:-4px 0 8px;font-weight:650}.ui-lede{max-width:760px}.ui-imported{border:1px solid var(--border-soft);background:var(--bg-subtle);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:16px 0;padding:14px 16px;display:flex}.ui-imported-lbl{font-size:var(--fs-sm);color:var(--text-primary);font-weight:650}.ui-chips{flex-wrap:wrap;gap:8px;display:flex}.ui-chip{background:var(--brand-soft);color:var(--brand);font-size:var(--fs-sm);border:1px solid var(--border-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.ui-chip-ok{color:#1f7a44;background:#e7f6ec;border-color:#bfe6cd}.ui-imported-note{color:var(--text-muted);margin-left:auto;font-size:11px}.ui-cols{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0;display:grid}@media (max-width:720px){.ui-cols{grid-template-columns:1fr}.ui-imported-note{flex-basis:100%;margin-left:0}}.ui-card{border:1px solid var(--border-soft);background:var(--bg-surface);border-radius:14px;padding:16px 18px}.ui-card-lbl{color:var(--text-primary);margin:0 0 12px;font-size:15px;font-weight:650}.ui-ready,.ui-next{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ui-ready li,.ui-next li{align-items:flex-start;gap:10px;display:flex}.ui-ready strong,.ui-next strong{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600;display:block}.ui-sub{color:var(--text-muted);margin-top:1px;font-size:12px;display:block}.ui-tick{color:#fff;background:#2fa563;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.ui-tick-opt{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-soft)}.ui-step{background:var(--brand-soft);width:22px;height:22px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.ui-after{border-top:1px solid var(--border-soft);color:var(--text-muted);margin:14px 0 0;padding-top:12px;font-size:12px}.ui-info{background:var(--brand-soft);font-size:var(--fs-sm);color:var(--text-secondary);border-radius:12px;align-items:center;gap:10px;margin:0 0 16px;padding:10px 14px;display:flex}.ui-info-i{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:12px;font-style:italic;font-weight:700;display:inline-grid}.ui-actions{align-items:center;gap:16px;display:flex}.ui-once{margin-right:auto}.ui-skip{box-shadow:none;color:var(--brand);cursor:pointer;background:0 0;border:0;margin:0;padding:6px 4px;font-weight:600}.ui-skip:hover{background:0 0;text-decoration:underline}.ps-h2{letter-spacing:-.01em;margin-bottom:8px;font-size:30px;font-weight:750}.ps-lede{max-width:60ch;margin-bottom:0}.ps-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.ps-header-text{min-width:0}.ps-tip{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:14px;flex:none;gap:12px;width:min(280px,40%);padding:14px 16px;display:flex}.ps-tip-ic{color:var(--brand);flex:none}.ps-tip-title{color:var(--text-primary);font-size:13px;font-weight:700}.ps-tip-body{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.45}.field-help{color:var(--text-muted,var(--ink-3));margin-top:6px;font-size:12px;font-weight:400;display:block}.field-count{color:var(--text-muted,var(--ink-3));text-align:right;margin-top:6px;font-size:12px;display:block}@media (max-width:720px){.ps-header{flex-direction:column}.ps-tip{width:100%}}.ps-step>label{margin:20px 0}.ps-name{display:block}.fld-lbl{align-items:center;gap:7px;display:inline-flex}.fld-ic{color:var(--brand);display:inline-flex}.ps-about{min-height:104px}.ps-about-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ps-ai-btn{border:1px solid var(--brand-border);background:var(--brand-soft);width:auto;color:var(--brand);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.ps-ai-btn:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.ps-ai-btn:disabled{opacity:.5;cursor:default}.ps-ai-spin{border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite pt-spin}.ps-ai-err{color:var(--err);margin-top:6px;font-size:12px;display:block}.ps-ai-undo{width:auto;color:var(--brand);cursor:pointer;background:0 0;border:0;margin:6px 0 0;padding:0;font-size:12px;font-weight:600}.ps-ai-undo:hover:not(:disabled){background:0 0;text-decoration:underline}.ps-construction{border:1px solid var(--border-soft);background:var(--brand-soft,var(--bg-subtle));border-radius:16px;flex-wrap:wrap;align-items:center;gap:20px;margin:6px 0 8px;padding:20px 22px;display:flex}.ps-metric{align-items:center;gap:13px;display:flex}.ps-metric-ic{background:var(--bg-surface,#fff);width:42px;height:42px;color:var(--brand);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ps-metric-txt{flex-direction:column;gap:2px;display:flex}.ps-metric-lbl{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.ps-metric-val{color:var(--text-primary);font-size:18px;font-weight:700}.ps-from{color:var(--brand);font-size:11px}.ps-vsep{background:var(--border-soft);align-self:stretch;width:1px;min-height:44px}.ps-editgraph{border:1px solid var(--border-default,var(--border-soft));background:var(--bg-surface,#fff);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;border-radius:12px;align-items:center;gap:8px;margin:0 0 0 auto;padding:11px 16px;font-weight:600;display:inline-flex}.ps-editgraph:hover{border-color:var(--brand-border,var(--brand));color:var(--brand)}.ps-editgraph .fld-ic,.ps-editgraph svg{color:var(--brand)}.ps-note{border-top:1px solid var(--border-soft);color:var(--text-muted);flex-basis:100%;align-items:flex-start;gap:8px;margin:6px 0 0;padding-top:14px;font-size:12px;display:flex}.ps-note-ic{color:var(--brand);flex:none;margin-top:1px}.pd-quickadd{flex-wrap:wrap;gap:6px;margin:8px 0 2px;display:flex}.pd-chip{border:1px solid var(--border,#d9d9e3);background:var(--surface,#fff);color:var(--text,#222);cursor:pointer;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:500;line-height:1;transition:background .12s,border-color .12s,color .12s}.pd-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light,#efeaff);color:var(--accent-2,var(--accent))}.pd-chip.on{border-color:var(--brand-border,var(--accent));background:var(--brand-soft,var(--accent-light,#efeaff));color:var(--accent-2,var(--accent))}.pd-chip.on:hover{border-color:var(--accent);background:var(--brand-soft,var(--accent-light,#efeaff));color:var(--accent-2,var(--accent))}.side-upgrade{border:1px dashed var(--brand,var(--accent));background:var(--brand-soft,var(--accent-light,#efeaff));color:var(--accent-2,var(--accent));font-size:var(--fs-sm);text-align:center;cursor:pointer;border-radius:12px;margin:12px 4px 0;padding:10px 12px;font-weight:600}.side-upgrade:hover{background:var(--accent);color:#fff}.mode-pill{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--rule);color:var(--ink-3);border-radius:999px;padding:2px 8px;font-weight:600}.mode-pill.graph{color:var(--accent-2,var(--accent));background:var(--accent-light,#efeaff);border-color:#0000}.panel{max-width:1440px;padding:8px 32px 48px}.section{border-bottom:1px solid var(--rule);max-width:820px;margin-bottom:24px;padding-bottom:24px}.section.rb-step{max-width:none;padding:14px 24px}.section.cd-step{max-width:none;padding:8px 24px 32px}.section:last-child{border-bottom:none}.section h2{font-size:var(--fs-xl);letter-spacing:-.02em;margin:2px 0 4px;font-weight:500}.eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:6px;font-weight:600}.opt{font-weight:400;font-size:var(--fs-xs);color:var(--ink-3)}.note{margin-top:12px}.block-toast{color:#7a5b12;font-size:var(--fs-sm);cursor:pointer;background:#fff7e6;border:1px solid #f2d79a;border-radius:12px;margin-bottom:12px;padding:11px 16px;font-weight:500}button.is-locked{border:1px solid var(--border-default);background:var(--bg-subtle);color:var(--text-muted);box-shadow:none;cursor:not-allowed;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:600;display:inline-flex}button.is-locked:hover:not(:disabled){background:var(--bg-subtle)}.builder-foot{border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:16px;display:flex}.builder-foot-top{border-top:0;border-bottom:1px solid var(--rule);margin-top:0;margin-bottom:8px;padding-top:0;padding-bottom:8px}.field-row,.field-row-3{gap:16px;display:grid}.field-row{grid-template-columns:1fr 1fr}.field-row-3{grid-template-columns:1fr 1fr 1fr}@media (max-width:640px){.builder,.field-row,.field-row-3{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--rule);z-index:5;flex-flow:wrap;align-items:center;gap:4px;max-width:100%;padding:6px 8px;position:sticky;top:62px;overflow-x:visible}.sn-group{flex-flow:wrap;gap:4px;padding:0}.sn-group+.sn-group{border-top:0}.sn-group-title{display:none}.sn-row{white-space:nowrap;border-radius:8px;gap:8px;padding:6px 10px}.sn-num{width:22px;height:22px;font-size:11px}.sn-status,.sn-opt{display:none}.side-upgrade{white-space:nowrap;flex:none;margin:0}}.color-field{align-items:center;gap:10px;margin-top:6px;display:flex}.size-field{align-items:center;gap:8px;display:flex}.size-field .times{color:var(--ink-3)}.logo-upload{border:1.5px dashed var(--rule);text-align:center;cursor:pointer;background:var(--white);border-radius:4px;margin:6px 0 0;padding:24px;font-weight:400;transition:border-color .15s;display:block}.logo-upload:hover{border-color:var(--ink-2)}.logo-upload-label{font-size:var(--fs-sm);color:var(--ink-2)}.logo-preview{border:1px solid var(--rule);object-fit:contain;background:var(--white);border-radius:4px;width:72px;height:72px;margin:0 auto 8px;display:block}.yp-addrow{justify-content:space-between;align-items:center;gap:12px;margin:18px 0 4px;display:flex}.yp-count{font-size:var(--fs-sm);color:var(--text-muted)}.yarn-list{flex-direction:column;gap:14px;margin-top:12px;display:flex}.yarn-card{border:1px solid var(--rule);background:var(--white);border-radius:14px;flex-direction:column;padding:22px 24px;display:flex}.yc-top{align-items:flex-start;gap:22px;display:flex}.yc-swatch-col{text-align:center;flex-direction:column;flex:none;align-items:center;gap:5px;width:96px;display:flex}.yc-swatch-input{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:14px;width:72px;height:72px;padding:0}.yc-swatch-input::-webkit-color-swatch-wrapper{padding:0}.yc-swatch-input::-webkit-color-swatch{border:none;border-radius:13px}.yc-swatch-input::-moz-color-swatch{border:none;border-radius:13px}.yc-hex{color:var(--ink-2);font-size:12px}.yc-change{color:var(--accent-2,var(--accent));cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:500}.yc-change:hover{text-decoration:underline}.yc-varieg{flex-direction:column;align-items:center;gap:4px;display:flex}.yc-varieg-preview{margin-bottom:4px;display:inline-flex}.yc-varieg-preview .swatch{border-radius:8px}.yc-vc{align-items:center;gap:4px;display:inline-flex}.yc-name{flex:auto;min-width:0}.yc-name input{margin-top:6px}.yc-top-actions{align-items:center;gap:8px;padding-top:26px;display:flex}.yc-del{color:#c0392b;border-color:#f0c9c4}.yc-del:hover:not(:disabled){background:#fdecea;border-color:#e2a49c}.yc-div{border:0;border-top:1px solid var(--rule);width:100%;margin:18px 0}.yc-row2{grid-template-columns:auto 1fr 1fr .72fr;align-items:end;gap:18px;display:grid}.yc-varieg-check{white-space:nowrap;align-self:center}.yc-help-i{border:1px solid var(--rule);width:16px;height:16px;color:var(--ink-2);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:inline-flex}.yc-lower{align-items:flex-start;gap:24px;margin-top:20px;display:flex}.yc-lower-left{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.yc-btnrow{flex-wrap:wrap;gap:12px;display:flex}.yc-photo{border-left:1px solid var(--rule);flex:none;width:300px;padding-left:24px}.yc-subs{border-top:1px solid var(--rule);flex-direction:column;gap:8px;margin-top:18px;padding-top:16px;display:flex}.yc-subs-lbl{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.pill-dark{background:var(--accent,#6b4eff);color:#fff;font-size:var(--fs-sm);border:0;border-radius:12px;align-items:center;gap:8px;padding:11px 20px;font-weight:600;display:inline-flex}.pill-dark:hover{background:var(--accent-2,#5a3ff0)}@media (max-width:680px){.yc-top{flex-wrap:wrap}.yc-row2{grid-template-columns:1fr 1fr}.yc-lower{flex-direction:column}.yc-photo{border-left:0;border-top:1px solid var(--rule);width:100%;padding-top:16px;padding-left:0}.sub-row{grid-template-columns:1fr 1fr auto}}.swatch{border:1px solid var(--rule);border-radius:3px;flex:none;display:inline-flex;overflow:hidden}.swatch.varieg{flex-direction:row}.swatch.varieg>span{flex:1 1 0;align-self:stretch;min-width:0}.field-cap{font-size:var(--fs-sm);color:var(--ink);margin-bottom:6px;font-weight:500;display:block}.color-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.vc{align-items:center;gap:4px;display:inline-flex}.inline-check{font-weight:400;font-size:var(--fs-sm);color:var(--ink-2);align-items:center;gap:6px;margin:0;display:inline-flex}input[type=checkbox]{width:auto;margin:0;display:inline-block}button.icon{padding:4px 9px;line-height:1}.yp-drop{text-align:center;border:1.5px dashed var(--brand-border,#c9bff5);background:var(--bg-subtle,#f7f7fb);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;transition:border-color .14s,background .14s;display:flex}.yp-drop:hover,.yp-drop:focus-visible,.yp-drop.drag{border-color:var(--accent);background:var(--brand-soft,#efeaff);outline:none}.yp-icon{background:var(--brand-soft,#efeaff);width:46px;height:46px;color:var(--accent-2,var(--accent));border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.yp-title{color:var(--ink);font-size:14px;font-weight:600}.yp-sub{color:var(--ink-2);font-size:12px;line-height:1.35}.yp-btn{background:var(--accent,#6b4eff);color:#fff;cursor:pointer;border:0;border-radius:10px;align-items:center;gap:8px;margin-top:2px;padding:9px 16px;font-size:13px;font-weight:600;transition:background .14s;display:inline-flex}.yp-btn:hover:not(:disabled){background:var(--accent-2,#5a3ff0)}.yp-btn:disabled{opacity:.6;cursor:default}.yp-help{color:var(--ink-2);font-size:11px}.yp-filled{border:1px solid var(--border-soft,var(--rule));background:var(--white);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.yp-thumb{border:1px solid var(--rule);object-fit:cover;border-radius:9px;flex:none;width:52px;height:52px}.yp-filled-meta{flex-direction:column;gap:3px;min-width:0;display:flex}.yp-filename{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:600;overflow:hidden}.yp-actions{gap:8px;margin-top:3px;display:flex}.yp-remove{color:#c0392b}.yp-err{color:#c0392b;margin-top:6px;display:block}.subs{margin-top:14px}.sub-row{grid-template-columns:1fr 1fr 1fr auto;gap:8px;margin-top:6px;display:grid}.sub-row input{margin-top:0}.totals-bar{margin-top:18px;padding:22px 24px}.ykey{flex-direction:column;gap:16px;display:flex}.ykey-head{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.ykey-icon{background:var(--accent-light,#efeaff);width:44px;height:44px;color:var(--accent-2,var(--accent));border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ykey-headings{flex:260px;min-width:0}.ykey-title{color:var(--ink);margin:0;font-size:17px;font-weight:600}.ykey-sub{color:var(--ink-2);margin:3px 0 0;font-size:13px}.ykey-summary{border:1px solid var(--border-soft,var(--rule));background:var(--bg-subtle,#f7f7fb);border-radius:12px;flex:none;align-items:center;gap:16px;padding:10px 18px;display:inline-flex}.ykey-sum-item{color:var(--ink-2);white-space:nowrap;font-size:14px}.ykey-sum-item strong{color:var(--ink);font-weight:700}.ykey-sum-sep{background:var(--rule);align-self:stretch;width:1px}.ykey-sum-skeins strong{color:var(--accent-2,var(--accent))}.ykey-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.ykey-card{border:1px solid var(--border-soft,var(--rule));background:var(--white);border-radius:12px;align-items:center;gap:12px;padding:11px 13px;display:flex}.ykey-card .swatch{border-radius:9px}.ykey-card-meta{flex-direction:column;gap:2px;min-width:0;display:flex}.ykey-card-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.ykey-card-sk{color:var(--ink-2);font-size:13px}.yarn-card.yc-new{animation:2.6s forwards yc-new-ring;position:relative}.yc-new-badge{background:var(--accent,#6b4eff);color:#fff;letter-spacing:.01em;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;animation:2.6s forwards yc-new-badge-fade;position:absolute;top:-10px;left:14px}@keyframes yc-new-ring{0%,65%{border-color:var(--accent);box-shadow:0 0 0 3px var(--brand-soft,#6b4eff2e)}to{border-color:var(--rule);box-shadow:0 0 #0000}}@keyframes yc-new-badge-fade{0%,70%{opacity:1}to{opacity:0}}.pill-row{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.pill{background:var(--white);color:var(--ink);border:1px solid var(--rule);font-size:var(--fs-sm);border-radius:999px;padding:5px 14px}.pill:hover:not(:disabled){background:var(--accent-light)}.pill.active{background:var(--ink);color:var(--white);border-color:var(--ink)}.stitch-name{font-weight:500;font-size:var(--fs-sm)}.tag{font-size:var(--fs-xs);background:var(--accent-light);color:var(--ink-2);border-radius:3px;padding:2px 6px}.ss-eyebrow{letter-spacing:.06em;color:var(--brand);margin:0 0 8px;font-size:12px;font-weight:700}.ss-title{margin:0 0 6px}.ss-sub{color:var(--text-muted);margin:0 0 18px}.ss-key{background:var(--brand-soft,#efeaff);border:1px solid var(--brand-border,#d9ccf7);border-radius:14px;margin-bottom:16px;padding:16px 18px}.ss-key-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ss-key-label{letter-spacing:.05em;color:var(--brand);font-size:12px;font-weight:700}.ss-key-count{color:var(--text-secondary,#555);font-size:13px;font-weight:600}.ss-key-empty{color:var(--text-muted);margin:10px 0 0;font-size:14px}.ss-key-help{color:var(--text-muted);margin:10px 0 0;font-size:12px}.ss-chips{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.ss-chip{background:var(--bg-surface,#fff);border:1px solid var(--brand-border,#d9ccf7);border-radius:10px;align-items:center;gap:8px;padding:6px 8px 6px 6px;display:inline-flex}.ss-chip-sym{border:1px solid var(--border-soft);background:var(--bg-subtle,#f6f4fb);min-width:30px;height:30px;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;font-weight:700;display:inline-flex}.ss-chip-name{color:var(--text-primary);font-size:14px;font-weight:600}.ss-chip-x{cursor:pointer;color:var(--text-muted);background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:13px}.ss-chip-x:hover{color:#c0392b;background:#0000000d}.ss-badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.ss-badge-custom{background:var(--brand-soft,#efeaff);color:var(--brand)}.ss-badge-tech{background:var(--bg-subtle,#f1eefb);color:var(--text-secondary,#555)}.ss-badge-skill{color:#1f8a4c;background:#eafaf0}.ss-skill-intermediate{color:#2a63c6;background:#eaf2ff}.ss-skill-advanced{color:#c0392b;background:#fdecec}.ss-searchrow{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.ss-search{flex:320px;align-items:center;display:flex}.ss-search input{border:1px solid var(--border-soft);background:var(--bg-surface,#fff);border-radius:10px;width:100%;padding:11px 12px}.ss-addown{border:1.5px solid var(--brand);background:var(--bg-surface,#fff);color:var(--brand);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:8px;padding:11px 16px;font-weight:600;display:inline-flex}.ss-addown:hover{background:var(--brand-soft,#efeaff)}.ss-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.ss-filter{border:1px solid var(--border-soft);background:var(--bg-surface,#fff);color:var(--text-secondary,#555);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}.ss-filter.on{background:var(--brand);border-color:var(--brand);color:#fff}.ss-noresults{color:var(--text-muted);padding:20px 0}.ss-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}@media (max-width:900px){.ss-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.ss-grid{grid-template-columns:1fr}}.ss-card{background:var(--bg-surface,#fff);border:1.5px solid var(--brand-border,#e5ddf7);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:8px;padding:16px;transition:background .17s,color .17s,border-color .17s,box-shadow .17s;display:flex}.ss-card.on{background:var(--brand-soft,#efeaff);border-color:var(--brand)}.ss-card:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.ss-card:hover{background:var(--brand);border-color:var(--brand);color:#fff}.ss-card:hover .ss-card-name,.ss-card:hover .ss-card-desc{color:#fff}.ss-card:hover .ss-card-sym{color:#fff;background:#ffffff2e;border-color:#ffffff80}.ss-card:hover .ss-badge{color:#fff;background:#ffffff38}.ss-card:hover .ss-cardbtn{color:#fff;border-color:#fff9}.ss-card:hover .ss-check{color:#fff;border-color:#fff}.ss-card:hover .ss-check.on{color:var(--brand);background:#fff}.ss-card-top{justify-content:space-between;align-items:flex-start;display:flex}.ss-star{color:#f5b400;margin:2px auto 0 6px;font-size:15px;line-height:1}.ss-card-sym{border:1px solid var(--border-soft);background:var(--bg-subtle,#f6f4fb);min-width:40px;height:40px;color:var(--text-primary);border-radius:10px;justify-content:center;align-items:center;padding:0 6px;font-size:18px;font-weight:700;display:inline-flex}.ss-check{border:2px solid var(--border-strong,#c9c9d6);color:#0000;background:var(--bg-surface,#fff);border-radius:7px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:800;display:inline-flex}.ss-check.on{background:var(--brand);border-color:var(--brand);color:#fff}.ss-card-name{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.ss-card-desc{color:var(--text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;min-height:4.2em;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.ss-card-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.ss-card-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.ss-cardbtn{border:1px solid var(--brand-border,#d9ccf7);color:var(--brand);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.ss-cardbtn:hover{background:#ffffff26}.ss-cant{border:1px solid var(--border-soft);background:var(--bg-surface,#fff);border-radius:14px;align-items:center;gap:14px;margin-bottom:8px;padding:16px 18px;display:flex}.ss-cant-ic{border:1.5px solid var(--brand);width:40px;height:40px;color:var(--brand);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.ss-cant-txt{flex-direction:column;flex:auto;gap:2px;display:flex}.ss-cant-txt strong{color:var(--text-primary)}.ss-cant-btn{color:var(--brand);cursor:pointer;background:0 0;border:0;flex:none;font-size:14px;font-weight:700}.ss-cant-btn:hover{text-decoration:underline}.ss-modal{width:100%;max-width:560px}.ss-form{flex-direction:column;gap:12px;margin-top:8px;display:flex}.ss-form-row{flex-wrap:wrap;gap:12px;display:flex}.ss-form-field{color:var(--text-secondary,#555);flex-direction:column;flex:200px;gap:4px;font-size:13px;font-weight:600;display:flex}.ss-form-field input,.ss-form-field select{border:1px solid var(--border-soft);border-radius:8px;padding:9px 10px;font-weight:400}.ss-form-sym{flex:0 0 140px}.ss-form-err{color:#c0392b;margin:0;font-size:13px}.ss-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.ss-form-save{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-weight:700}.ss-form-share{border-top:1px solid var(--border-soft);flex-direction:column;gap:4px;margin-top:4px;padding-top:12px;display:flex}.ss-linkbtn{color:var(--brand);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.ss-form-msg{color:var(--brand);margin:4px 0 0;font-size:13px}.rb-addbar{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.inline-num{font-weight:500;font-size:var(--fs-sm);align-items:center;gap:8px;margin:0;display:inline-flex}.inline-num input{width:72px;margin:0}.rb-frame{background:var(--white);border:0;margin-top:8px;overflow-x:auto}.rb-stack{flex-direction:column;display:flex}.rb-row{height:var(--cellh,20px);content-visibility:auto;contain-intrinsic-size:auto 20px;align-items:center;display:flex}.rb-row button.icon{padding:1px 7px}.rb-row.prompt{background:#fffbe6}.rb-num{width:26px;font-family:monospace;font-size:var(--fs-xs);color:var(--ink-3);flex:none;place-items:center;display:grid}.rb-llabel,.rb-rlabel{font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 8px;display:flex}.rb-llabel{text-align:right;justify-content:flex-end;width:34px}.rb-llabel span,.rb-rlabel span{color:var(--ink-3)}.rb-legend{font-size:var(--fs-xs);color:var(--ink-3);margin:2px 0 8px;padding-left:4px}.rb-legend span{color:var(--ink-2);font-weight:600}.rb-rlabel{width:44px;padding:0 4px}.rb-menucol{flex:none;justify-content:center;align-items:center;width:40px;display:flex}.rb-delcol{flex:none;justify-content:center;align-items:center;width:30px;display:flex}.rb-del{box-shadow:none;color:var(--ink-3);background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:13px;line-height:1}.rb-del:hover:not(:disabled){color:#fff;background:var(--err)}.rb-cc-dir{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.rb-history{gap:6px;margin-left:auto;display:inline-flex}.rb-hist-btn{font-size:var(--fs-sm);margin:0;padding:8px 12px;font-weight:500;line-height:1}.rb-clear{margin-left:0}.rb-startover{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-border);margin:0;font-weight:600}.rb-startover:hover:not(:disabled){background:var(--brand);color:#fff;border-color:var(--brand)}.rb-selectall-lbl{width:60px;font-size:var(--fs-xs);color:var(--ink-2);flex:none;align-items:center;padding-left:2px;font-weight:500;display:flex}.rb-fill-hint{margin-top:2px}.rb-mid{flex:none;align-items:center;display:flex}.rb-cells{display:flex}.rb-cell{width:var(--cell,26px);height:var(--cellh,20px);background:var(--white);color:var(--ink);font-size:min(11px, calc(var(--cell,26px) * .5), calc(var(--cellh,20px) * .72));border:0;border-radius:0;flex:none;place-items:center;padding:0;font-weight:600;line-height:1;display:grid;overflow:hidden;box-shadow:inset -1px -1px #fff}.rb-cell.empty{color:var(--ink-3);background:var(--surface)}.rb-cell.sym2{font-size:min(11px, calc(var(--cell,26px) * .42), calc(var(--cellh,20px) * .68));letter-spacing:-.4px;font-weight:600}.rb-cell.sel{z-index:1;position:relative;box-shadow:inset 0 0 0 2px var(--brand)!important}.rb-cell.hl{position:relative}.rb-cell.hl:after{content:"";pointer-events:none;background:#7447e847;position:absolute;inset:0}.rb-selhint{z-index:60;background:var(--text-primary,#121a33);color:#fff;max-width:calc(100vw - 32px);font-size:var(--fs-sm,13px);text-align:center;pointer-events:none;border-radius:999px;padding:9px 16px;line-height:1.35;animation:.18s ease-out rb-selhint-in,.4s ease-in 3.1s forwards rb-selhint-out;position:fixed;top:96px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #121a3347}.rb-selhint strong{font-weight:700}@keyframes rb-selhint-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@keyframes rb-selhint-out{to{opacity:0}}.rb-selbar{z-index:55;background:var(--text-primary,#121a33);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:7px 8px 7px 16px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #121a3347}.rb-selbar-count{font-size:var(--fs-sm);white-space:nowrap;font-weight:600}.rb-selbar-edit{background:var(--brand);color:#fff;font-size:var(--fs-sm);cursor:pointer;border:0;border-radius:999px;margin:0;padding:7px 14px;font-weight:600}.rb-selbar-edit:hover{background:var(--brand-hover)}.rb-selbar .secondary{color:#fff;font-size:var(--fs-sm);background:0 0;border:1px solid #ffffff59;border-radius:999px;margin:0;padding:7px 14px}.rb-selbar .secondary:hover{background:#ffffff1f}.rb-check{flex:none;place-items:center;width:20px;margin:0;display:grid}.rb-check input{cursor:pointer}.rb-assignbar{z-index:20;background:var(--accent-light,#f4efe6);border:1px solid var(--rule);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0;padding:10px 14px;display:flex;position:sticky;top:62px}.rb-assign-actions{gap:8px;margin-left:auto;display:flex}.rb-assign-title,.rb-assign-hint,.rb-assign-lbl{width:100%}.rb-assign-hint{margin:-4px 0 0}.rb-assign-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:4px 0 -4px;font-size:11px;font-weight:700}.rb-assign-lbl .opt{margin-left:4px}.rb-tb-sentinel{height:1px;margin-bottom:-1px}.rb-edittb{z-index:30;background:var(--white);border:1px solid var(--rule);border-radius:14px;flex-direction:column;gap:10px;margin:6px 0 12px;padding:12px 16px;transition:box-shadow .16s,border-color .16s;display:flex;position:sticky;top:62px}.rb-edittb[data-pinned=true]{border-color:#0000;box-shadow:0 8px 24px #121a3324}.rb-tb-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.rb-tb-title{color:var(--ink);align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.rb-tb-badge{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.rb-tb-headright{align-items:center;gap:6px;display:flex}.rb-tb-link{color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-size:13px;font-weight:600}.rb-tb-link:hover:not(:disabled){background:var(--brand-soft);text-decoration:none}.rb-tb-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.rb-tb-field{flex-direction:column;gap:4px;display:flex}.rb-tb-lbl{color:var(--text-secondary);font-size:12px;font-weight:600}.rb-tb-help{min-width:120px;color:var(--text-secondary);flex:140px;margin:0 0 8px;font-size:13px;line-height:1.35}.rb-tb-help.warn{color:#c0392b;font-weight:600}.rb-tb-apply{background:var(--brand);color:#fff;white-space:nowrap;cursor:pointer;border:0;border-radius:10px;margin-left:auto;padding:11px 22px;font-size:14px;font-weight:700;transition:background .15s,opacity .15s}.rb-tb-apply:hover:not(:disabled){background:#5b34d6}.rb-tb-apply:disabled{opacity:.5;cursor:not-allowed}.rb-sel{position:relative}.rb-sel-trigger{background:var(--white);border:1.5px solid var(--rule);width:220px;max-width:44vw;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s;display:flex}.rb-sel-trigger:hover:not(:disabled){background:var(--white);color:var(--ink);border-color:var(--brand)}.rb-sel-trigger[aria-expanded=true]{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.rb-sel-trigger:disabled{opacity:.55;cursor:not-allowed}.rb-sel-cur{white-space:nowrap;align-items:center;gap:8px;display:flex;overflow:hidden}.rb-sel-nm{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rb-sel-keep{color:var(--text-secondary)}.rb-sel-caret{width:16px;height:16px;color:var(--text-secondary);flex:none}.rb-sel-sw{border-radius:5px;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000001f}.rb-sel-menu{z-index:70;background:var(--white);border:1px solid var(--rule);border-radius:10px;min-width:100%;padding:6px;position:absolute;top:calc(100% + 4px);left:0;overflow:visible;box-shadow:0 12px 30px #121a332e}.rb-sel-list{max-height:240px;overflow-y:auto}.rb-sel-opt{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;display:flex}.rb-sel-opt:hover:not(:disabled){background:var(--brand-soft)}.rb-sel-opt-keep{color:var(--text-secondary);font-style:italic}.rb-sel-add{border-top:1px solid var(--rule);margin-top:4px;padding-top:6px}@media (max-width:640px){.rb-sel-trigger{width:100%;max-width:none}.rb-tb-field{flex:100%}.rb-tb-apply{width:100%;margin-left:0}}.rb-canvas-create{border:1px dashed var(--rule);border-radius:var(--radius,12px);background:var(--surface);margin:8px 0 4px;padding:22px 24px}.rb-canvas-create h3{font-size:var(--fs-lg);margin-bottom:4px;font-weight:600}.rb-canvas-create .rb-fill{margin-top:14px}.rb-cc-size{align-items:flex-end;gap:12px;margin-top:14px;display:flex}.rb-cc-size .inline-num input{width:96px}.rb-cc-x{font-size:var(--fs-lg);color:var(--ink-3);padding-bottom:6px}.rb-cc-photo{border-top:1px solid var(--rule);flex-direction:column;align-items:flex-start;gap:4px;margin-top:18px;padding-top:16px;display:flex}.pt-wrap{flex-direction:column;gap:18px;width:100%;max-width:560px;margin-top:6px;display:flex;position:relative}.pt-step{flex-direction:column;gap:8px;display:flex}.pt-steplabel{font-size:var(--fs-sm);color:var(--ink);font-weight:600}.pt-drop{text-align:center;border:1.5px dashed var(--brand-border);cursor:pointer;background:#fdfcff;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:260px;padding:40px 24px;transition:border-color .16s,background .16s;display:flex}.pt-drop:hover{border-color:var(--brand);background:var(--brand-soft)}.pt-drop-icon{font-size:34px}.pt-drop p{max-width:380px;margin:0}.pt-rechoose{cursor:pointer}.pt-link{color:var(--accent);font-size:var(--fs-sm);font-weight:500}.pt-stage-wrap{padding:14px}.pt-stage{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;width:100%;line-height:0;display:block;position:relative;overflow:visible}.pt-img{-webkit-user-drag:none;border-radius:10px;width:100%;height:auto;display:block}.pt-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pt-quad{fill:#7b61ff24;stroke:#fff;stroke-width:.5px;vector-effect:non-scaling-stroke}.pt-dim{fill:#12102880}.pt-cropbox{fill:none;stroke:#fff;stroke-width:.7px;vector-effect:non-scaling-stroke}.pt-handle{z-index:5;background:var(--brand,#7447e8);width:24px;height:24px;box-shadow:0 0 0 1.5px var(--brand,#7447e8), 0 2px 6px #00000073;cursor:grab;touch-action:none;border:3px solid #fff;border-radius:50%;margin:-12px 0 0 -12px;padding:0;position:absolute}.pt-handle:hover{background:var(--brand-hover,#6538da)}.pt-handle:active{cursor:grabbing}.pt-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pt-stage-crop{cursor:move}.pt-dtcards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pt-dtcard{text-align:left;border:1px solid var(--rule);background:var(--white);color:var(--ink);cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.pt-dtcard:hover:not(.on){background:var(--white);color:var(--ink);border-color:var(--brand)}.pt-dtcard.on:hover{background:var(--brand-soft);color:var(--ink)}.pt-seg button:hover:not(.on),.pt-units button:hover:not(.on){background:var(--brand-soft);color:var(--brand)}.pt-sect-action:hover:not(:disabled),.pt-more-toggle:hover:not(:disabled){background:0 0}.pt-dtcard.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.pt-dtcard-title{font-size:13px;font-weight:700}.pt-dtcard.on .pt-dtcard-title{color:var(--brand)}.pt-dtcard-desc{color:var(--text-muted,var(--ink-2));font-size:12px;line-height:1.35}@media (max-width:560px){.pt-dtcards{grid-template-columns:1fr}}.pt-sizes{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;display:grid}.pt-size{border:1px solid var(--border-soft);background:var(--bg-surface);cursor:pointer;box-shadow:none;border-radius:10px;flex-direction:column;align-items:center;gap:2px;margin:0;padding:10px 8px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex;position:relative}.pt-size:hover:not(:disabled){background:var(--bg-surface);border-color:var(--brand-border)}.pt-size.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.pt-size-name{color:var(--text-primary);text-align:center;font-size:12px;font-weight:600;line-height:1.15}.pt-size-dim{color:var(--text-muted);font-size:11px}.pt-size-sts{color:var(--text-muted);opacity:.85;font-size:10px}.pt-size-rec{background:var(--brand);color:#fff;letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:9px;font-weight:700;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.pt-sizeslider{border:1px solid var(--border-soft);background:var(--bg-surface);border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:12px 14px;display:flex}.pt-sizeslider-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pt-sizeslider-lbl{color:var(--text-primary);font-size:13px;font-weight:700}.pt-sizeslider-val{color:var(--brand);font-size:12px;font-weight:600}.pt-range{width:100%;accent-color:var(--brand);cursor:pointer}.pt-range:disabled{opacity:.5;cursor:default}.pt-sizeslider-ends{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.pt-sizeslider-rec{color:var(--brand);font-weight:600}.pt-sizeslider.over{background:#fdf3f3;border-color:#d64545}.pt-range.over{accent-color:#d64545}.pt-sizeslider-val.over{color:#c0392b}.pt-sizeslider-warn{color:#c0392b;margin:0;font-size:12px;line-height:1.35}.pt-cropsize{flex-direction:column;gap:4px;display:flex}.pt-cropsize-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pt-cropsize input[type=range]{width:100%}.pt-toggle{border:1px solid var(--rule);background:var(--surface);font-size:var(--fs-sm);cursor:pointer;border-radius:10px;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;display:flex}.pt-toggle input{flex:none;margin-top:2px}.pt-colours{flex-direction:column;gap:8px;display:flex}.pt-colour{align-items:center;gap:10px;display:flex}.pt-sw{border:1px solid var(--rule);border-radius:7px;flex:none;width:30px;height:30px}.pt-arrow{color:var(--ink-3)}.pt-select{min-width:150px;margin:0}.pt-count{font-size:var(--fs-xs);color:var(--ink-3)}.pt-conf{font-size:var(--fs-xs);color:#2e7d32;margin-left:auto;font-weight:600}.pt-conf.low{color:#b26a00}.pt-sw-out{border-width:2px}.pt-select{border:1px solid var(--accent);background:var(--white);border-radius:8px;padding:5px 8px}.pt-addall{align-self:flex-start}.pt-bg{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pt-bg-sw{cursor:pointer;width:24px;height:24px}.pt-bg-sw.on{outline:2px solid var(--accent);outline-offset:1px}.pt-colhead{font-size:var(--fs-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em;gap:10px;font-weight:600;display:flex}.pt-colhead-a{flex:none;width:76px}.pt-colhead-b{flex:1}.pt-sw-sm{border-radius:5px;width:20px;height:20px}.pt-edit{cursor:pointer;flex:none;width:34px;height:34px;display:inline-block;position:relative}.pt-swatch-edit{border:2px solid var(--accent);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow-sm,0 1px 2px #0000001f);background:0 0;border-radius:8px;margin:0;padding:0}.pt-swatch-edit::-webkit-color-swatch-wrapper{padding:2px}.pt-swatch-edit::-webkit-color-swatch{border:0;border-radius:5px}.pt-swatch-edit::-moz-color-swatch{border:0;border-radius:5px}.pt-edit-pencil{background:var(--accent);color:#fff;text-align:center;pointer-events:none;border-radius:50%;width:16px;height:16px;font-size:9px;line-height:16px;position:absolute;bottom:-5px;right:-5px;box-shadow:0 1px 2px #00000040}.pt-edit-hint{margin-top:2px}.pt-edit-pencil-inline{background:var(--accent);color:#fff;text-align:center;vertical-align:middle;border-radius:50%;width:15px;height:15px;font-size:9px;line-height:15px;display:inline-block}.pt-picker{flex:1;min-width:150px;position:relative}.pt-pick-btn{border:1px solid var(--rule);background:var(--white);width:100%;color:var(--ink);cursor:pointer;text-align:left;font-size:var(--fs-sm);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;display:flex}.pt-pick-btn:hover{border-color:var(--accent)}.pt-pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pt-new-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);background:var(--accent-light,#efeaff);border-radius:4px;flex:none;padding:1px 5px;font-size:9px;font-weight:700}.pt-caret{color:var(--ink-3);flex:none}.pt-pick-backdrop{z-index:20;position:fixed;inset:0}.pt-pick-pop{z-index:21;background:var(--white);border:1px solid var(--rule);max-height:260px;box-shadow:var(--shadow-md,0 8px 24px #00000024);border-radius:10px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.pt-pick-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;font-size:var(--fs-sm);background:0 0;border:0;border-radius:7px;align-items:center;gap:8px;padding:7px 8px;display:flex}.pt-pick-item:hover{background:var(--surface)}.pt-pick-item.on{background:var(--accent-light,#efeaff);font-weight:600}.pt-pick-div{font-size:var(--fs-xs);color:var(--ink-3);padding:6px 8px 2px}.pt-name-input{width:118px;font-size:var(--fs-sm);flex:none;margin:0;padding:5px 8px}.pt-conf{white-space:nowrap}.pt-remove{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:0;font-size:12px;line-height:1}.pt-remove:hover:not(:disabled){color:#fff;background:var(--err,#d14343)}.pt-remove:disabled{opacity:.3;cursor:default}.pt-rec{border:1px solid var(--accent);background:var(--accent-light,#efeaff);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.pt-rec-alt{flex-basis:100%;margin-top:-2px}.pt-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.pt-rotnote{color:var(--accent-2,var(--accent));margin-top:-2px}.pt-rec.warn{background:#fff7e0;border-color:#d9a400}.pt-motif-note{background:var(--surface);border-radius:8px;padding:8px 12px}.pt-busy{z-index:10;font-size:var(--fs-sm);color:var(--ink);background:#ffffffd1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.pt-spinner{border:3px solid var(--accent-light,#efeaff);border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite pt-spin}@keyframes pt-spin{to{transform:rotate(360deg)}}.rb-phototools{background:var(--brand-soft);border:1px solid var(--border-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 10px;padding:8px 12px;display:flex}.rb-palette{background:var(--bg-subtle);border:1px solid var(--border-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 10px;padding:8px 12px;display:flex}.rb-palette-lbl{font-size:var(--fs-sm);color:var(--text-secondary);font-weight:600}.rb-palette-sw{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.rb-pal-chip{box-shadow:none;cursor:pointer;background:0 0;border:0;margin:0;padding:0;line-height:0}.rb-pal-dot{border:1px solid #121a3326;border-radius:7px;width:24px;height:24px;display:block;box-shadow:0 1px 2px #121a331f}.rb-pal-chip:hover .rb-pal-dot{outline:2px solid var(--brand);outline-offset:1px}.rb-palette-sep{background:var(--border-soft);align-self:stretch;width:1px;margin:0 2px}.rb-palette-all{align-items:center;gap:6px;display:inline-flex}.rb-pal-allstitch{width:auto;margin:0;padding:6px 10px}.rb-pal-addst{margin:0;padding:6px 10px}.rb-modal-backdrop{z-index:60;background:#12102866;position:fixed;inset:0}.rb-stitchmodal{z-index:61;background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:16px;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);max-height:calc(100vh - 40px);padding:18px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 16px 40px #121a3347}.rb-stitchmodal-head{color:var(--text-primary);font-size:17px;font-weight:650}.rb-stitchmodal-list{flex-direction:column;gap:6px;display:flex}.rb-stitchmodal-item{border:1px solid var(--border-soft);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;box-shadow:none;border-radius:10px;align-items:center;gap:10px;margin:0;padding:8px 10px;display:flex}.rb-stitchmodal-item:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-soft)}.rb-stitchmodal-item:disabled{opacity:.6;cursor:default}.rb-stitchmodal-name{text-align:left;flex:1}.rb-stitchmodal-tick{font-size:var(--fs-xs);color:var(--brand);font-weight:600}.rb-stitchmodal-item.added .rb-stitchmodal-tick{color:var(--text-muted)}.rb-phototools-lbl{font-size:var(--fs-sm);color:var(--brand);align-items:center;gap:6px;margin-right:2px;font-weight:600;display:inline-flex}.rb-phototool{border:1px solid var(--brand-border);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-sm);cursor:pointer;box-shadow:none;border-radius:999px;margin:0;padding:6px 14px;font-weight:500;transition:background .14s,color .14s,border-color .14s}.rb-phototool:hover{border-color:var(--brand);color:var(--brand)}.rb-phototool.on{background:var(--brand);border-color:var(--brand);color:#fff}.rb-fade{align-items:center;gap:8px;margin:0;display:inline-flex}.rb-fade input[type=range]{width:160px}.rb-frame{position:relative}.rb-overlay{pointer-events:none;z-index:3;position:absolute;top:0;left:80px}.rb-overlay img{object-fit:fill;image-rendering:auto;width:100%;height:100%;display:block}.rb-compare-panel{flex-direction:column;gap:6px;margin-top:12px;display:flex}.rb-compare-cap{font-weight:500}.rb-compare-panel img{border:1px solid var(--rule);border-radius:8px;width:100%;max-width:320px;display:block}.rb-resize-wrap{display:inline-flex;position:relative}.rb-resize-btn{color:var(--brand);background:var(--brand-soft);border-color:var(--brand-border);margin:0;font-weight:600}.rb-resize-btn:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.rb-resize-pop{z-index:41;background:var(--bg-surface);border:1px solid var(--border-soft);width:300px;box-shadow:var(--shadow-md,0 12px 32px #121a332e);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.rb-resize-head{color:var(--text-primary);font-size:15px;font-weight:650}.rb-resize-fields{align-items:flex-end;gap:10px;display:flex}.rb-resize-fields .gs-field{flex:1}.rb-resize-x{color:var(--text-muted);padding-bottom:9px}.rb-resize-lock{font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.pop-replaceall{width:100%;font-size:var(--fs-xs);justify-content:center;align-items:center;gap:6px;margin-top:8px;display:flex}.pop-swatch-inline{border:1px solid var(--rule);vertical-align:middle;border-radius:4px;width:14px;height:14px;display:inline-block}.rb-bulk{border:1px solid var(--rule);background:var(--surface);border-radius:8px;margin:6px 0 4px}.rb-bulk>summary{cursor:pointer;font-size:var(--fs-sm);padding:10px 14px;font-weight:500;list-style:none}.rb-bulk>summary::-webkit-details-marker{display:none}.rb-bulk>summary:before{content:"＋ ";color:var(--ink-3)}.rb-bulk[open]>summary:before{content:"－ "}.rb-bulk-body{flex-direction:column;gap:12px;padding:4px 14px 14px;display:flex}.rb-fill{flex-direction:column;gap:8px;display:flex}.rb-fill-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rb-assignbar .rb-fill-row{width:100%}.rb-addcol{border:1px dashed var(--accent);background:var(--white);color:var(--accent-2,var(--accent));font-size:var(--fs-xs);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0;padding:3px 8px 3px 6px;font-weight:500;display:inline-flex}.rb-addcol:hover:not(:disabled){background:var(--accent-light,#efeaff);color:var(--accent-2,var(--accent))}.rb-addcol-wrap{display:inline-flex;position:relative}.rb-addcol-sw{background:linear-gradient(135deg,#e24b8b,#7b61ff,#4bb0e2);border-radius:4px;flex:none;width:16px;height:16px}.cpop-backdrop{z-index:40;position:fixed;inset:0}.cpop{z-index:41;background:var(--white);border:1px solid var(--rule);width:232px;box-shadow:var(--shadow-md,0 8px 24px #00000029);border-radius:12px;flex-direction:column;gap:10px;max-height:calc(100vh - 20px);padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.cpop.cpop-up{top:auto;bottom:calc(100% + 6px)}.cpop-sv{cursor:crosshair;touch-action:none;border-radius:8px;width:100%;height:132px;position:relative}.cpop-sv-dot{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;box-shadow:0 0 0 1px #0006}.cpop-hue{appearance:none;cursor:pointer;background:0 0;border-radius:8px;width:100%;height:16px;margin:0}.cpop-hue::-webkit-slider-runnable-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:8px;height:16px}.cpop-hue::-moz-range-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:8px;height:16px}.cpop-hue::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:2px solid #555;border-radius:50%;width:18px;height:18px;margin-top:-1px;box-shadow:0 1px 3px #00000059}.cpop-hue::-moz-range-thumb{cursor:pointer;background:#fff;border:2px solid #555;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #00000059}.cpop-foot{align-items:center;gap:8px;display:flex}.cpop-prev{border:1px solid var(--rule);border-radius:6px;flex:none;width:28px;height:28px}.cpop-hex{text-transform:lowercase;flex:1;min-width:0;margin:0;padding:5px 8px;font-family:monospace}.cpop-name{width:100%;font-size:var(--fs-sm);margin:0;padding:7px 10px}.cpop-actions{justify-content:flex-end;gap:8px;display:flex}.rb-addstitch{border:1px dashed var(--accent);background:var(--white);color:var(--accent-2,var(--accent));font-size:var(--fs-xs);cursor:pointer;border-radius:999px;width:auto;margin:0;padding:3px 8px;font-weight:500}.rb-chip{font-size:var(--fs-xs);background:var(--white);color:var(--ink);border:1px solid var(--rule);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.rb-chip.on{border-color:var(--ink);background:var(--ink);color:var(--white)}.rb-chip .pop-st-sym{font-weight:700}.rb-layout{align-items:flex-start;gap:12px;margin-top:8px;display:flex}.rb-main{flex:1;min-width:0}.rb-ruler{align-items:flex-end;height:16px;display:flex}.rb-ruler .rb-num,.rb-ruler .rb-llabel,.rb-ruler .rb-rlabel{padding:0 8px}.rb-ticks{flex:1;min-width:0;display:flex}.rb-tick{width:var(--cell,26px);text-align:center;font-size:var(--fs-xs);color:var(--ink-3);white-space:nowrap;flex:none;font-family:monospace;overflow:visible}.rb-tick.m5{color:var(--ink-2);font-weight:600}.rb-colhead{align-items:center;min-height:24px;margin:12px 0;display:flex}.rb-colhead .rb-check input{width:15px;height:15px;margin:0}.rb-colchecks{flex:1;min-width:0;display:flex}.rb-colcheck{width:var(--cell,26px);flex:none;place-items:center;display:grid}.rb-colcheck input{cursor:pointer;width:12px;height:12px;margin:0}.rb-minimap{border:1px solid var(--rule);background:var(--white);border-radius:6px;flex:none;align-self:flex-start;width:148px;padding:6px}.mm-head{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:2px 4px 6px}.mm-row{background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;width:100%;padding:2px 4px;display:flex}.mm-row:hover{background:var(--surface)}.mm-num{text-align:right;width:16px;color:var(--ink-3);flex:none;font-family:monospace;font-size:9px}.mm-bar{border:.5px solid #0000001a;border-radius:2px;flex:1;min-width:0;height:10px;display:flex;overflow:hidden}.mm-seg{flex:1}.mm-icon{text-align:center;flex:none;width:12px;font-size:9px}.rb-note{font-size:var(--fs-xs);color:var(--ink-3)}.rb-menu{z-index:50;background:var(--white);border:1px solid var(--rule);border-radius:8px;width:184px;padding:4px;position:fixed;box-shadow:0 8px 24px #0000001f}.rm-item{text-align:left;width:100%;color:var(--ink);font-size:var(--fs-sm);background:0 0;border:none;border-radius:6px;padding:7px 10px;display:block}.rm-item:hover:not(:disabled){background:var(--surface)}.rm-item:disabled{opacity:.4}.rm-item.danger{color:var(--err)}.rm-divider{background:var(--rule);height:1px;margin:4px 0}@media (max-width:720px){.rb-layout{flex-direction:column}.rb-minimap{width:100%}}.warn-bar{color:var(--err);font-size:var(--fs-sm);background:#fcebeb;border:.5px solid #f09595;border-radius:4px;padding:6px 10px}.inline-prompt{padding:4px 0}.prompt-title{font-size:var(--fs-sm);margin-bottom:6px;font-weight:500}.rb-stats{border-top:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:12px;display:flex}.pop-backdrop{z-index:40;position:fixed;inset:0}.cell-pop{z-index:50;background:var(--white);border:1px solid var(--rule);border-radius:8px;width:252px;padding:12px;position:fixed;box-shadow:0 8px 24px #0000001f}.pop-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:6px 0 4px}.pop-colours{flex-wrap:wrap;gap:6px;display:flex}.pop-csw{border:1px solid var(--rule);border-radius:4px;width:24px;height:24px;padding:0}.pop-csw.on{outline:2px solid var(--ink);outline-offset:1px}.pop-stitches{flex-direction:column;gap:4px;max-height:168px;display:flex;overflow-y:auto}.pop-st{text-align:left;background:var(--white);color:var(--ink);border:1px solid var(--rule);font-size:var(--fs-sm);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.pop-st:hover:not(:disabled){background:var(--brand-soft,#eee8ff);color:var(--ink);border-color:var(--brand-border,#b99cff)}.pop-st.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.pop-st-sym{border:1px solid var(--rule);border-radius:4px;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.pop-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.pop-warn{color:#8a5a00;font-size:var(--fs-xs);background:#fff7e6;border:1px solid #f0c98a;border-radius:8px;align-items:center;gap:8px;margin-bottom:2px;padding:6px 10px;font-weight:500;display:flex}.pop-warn-confirm{justify-content:space-between}.pop-warn-go{color:#fff;font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;box-shadow:none;background:#8a5a00;border:0;border-radius:6px;margin:0;padding:3px 9px;font-weight:600}.pop-warn-go:hover:not(:disabled){background:#6f4800}.rb-assign-warn{flex-basis:100%;margin-bottom:0}.bb-frame{border:1px solid var(--rule);background:var(--surface);border-radius:6px;margin-top:12px;padding:8px}.bb-grid{gap:0;width:100%;display:grid}.bb-body,.bb-cell,.bb-gap{border:.5px solid #00000014;place-items:center;min-width:0;min-height:0;font-size:9px;line-height:1;display:grid;overflow:hidden}.bb-body{color:#ffffffb3;background:var(--white);opacity:.4}.bb-cell{color:#ffffffd9;cursor:pointer;border-radius:0;padding:0}.bb-cell.empty{background:repeating-linear-gradient(45deg,#fff,#fff 3px,#f0f0f0 3px 6px)}.bb-cell:hover{outline:1px solid var(--ink);outline-offset:-1px}.bb-gap{background:0 0;border-color:#0000}.bb-legend{flex-wrap:wrap;gap:14px;margin-top:14px;display:flex}.bb-leg-item{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.bb-borders{border:1px solid var(--rule);background:var(--white);border-radius:12px;flex-direction:column;gap:8px;margin-top:12px;padding:16px 18px;display:flex}.bb-border-item{color:var(--ink-2);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.bb-border-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.bb-border-head>.swatch{border-radius:5px}.bb-border-notes{resize:none;min-height:52px;overflow:hidden}.rb-instructions{margin-top:18px;display:block}.rb-video,.bb-video,.db-video{margin-top:14px;display:block}.rb-video-lbl,.bb-video-lbl,.db-video-lbl{font-size:var(--fs-sm);color:var(--text-secondary,var(--ink));margin-bottom:8px;display:block}.rb-video-lbl>span[aria-hidden],.bb-video-lbl>span[aria-hidden],.db-video-lbl>span[aria-hidden]{color:var(--brand);margin-right:6px}.db-howto{border:1px solid var(--border-soft,var(--rule));background:var(--bg-subtle,#f6f4fb);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:10px 12px;display:flex}.db-howto-info{flex-direction:column;gap:2px;min-width:0;display:flex}.db-howto-has{align-items:center;gap:10px;display:flex}.db-howto-thumb{object-fit:cover;border:1px solid var(--rule);border-radius:8px;width:56px;height:56px}.db-howto-btns{gap:8px;display:flex}.db-howto-btn{cursor:pointer}.db-howto-remove{color:#c0392b}.db-howto-drop{border:1.5px dashed var(--brand-border,#c9bff5);background:var(--bg-surface,#fff);color:var(--brand,var(--accent));cursor:pointer;border-radius:10px;flex:none;padding:9px 14px;font-size:13px;font-weight:600}.db-dircallout{border:1px solid var(--border-soft,var(--rule));background:var(--bg-subtle,#f6f4fb);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.db-dircallout.ready{border-color:var(--brand,var(--accent));background:var(--brand-soft,#efeaff)}.db-dircallout-txt{min-width:200px;color:var(--text-primary,var(--ink));flex:1;font-size:13px}.db-dircallout-btns{flex:none;gap:8px;display:flex}.db-dircallout-btns button{padding:9px 16px;font-weight:600}.db-panel{border:1px solid var(--rule);background:var(--white);border-radius:6px;flex-direction:column;gap:10px;margin:12px 0;padding:12px;display:flex}.db-colours{flex-wrap:wrap;gap:6px;display:flex}.db-cell{background:var(--white);color:#fff;border:.5px solid #00000014;border-radius:0;place-items:center;min-width:0;min-height:0;padding:0;font-size:11px;line-height:1;display:grid;overflow:hidden}.db-cell .db-faint{color:#0000002e}.db-cell.active{cursor:pointer}.db-cell.active:hover{outline:1px solid var(--ink);outline-offset:-1px}.db-cell.clash{outline:2px solid var(--err);outline-offset:-2px}.db-cell.first{outline:2px solid var(--ink);outline-offset:-2px}.db-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.db-list-item{flex-direction:column;gap:4px;display:flex}.db-instr{font-size:var(--fs-xs);color:var(--ink-2);margin:2px 0 0 26px;padding:0;line-height:1.5}.db-item{border:1px solid var(--rule);background:var(--white);border-radius:6px;flex-direction:column;gap:10px;padding:12px;display:flex}.db-item-head{align-items:center;gap:10px;display:flex}.db-instr-edit .db-instr{margin-left:20px}.db-instr-edit .db-instr li{margin-bottom:4px}.db-instr-edit .db-instr input{margin-top:2px}.db-cell.ghost{opacity:.55;outline:1px dashed var(--ink);outline-offset:-1px}.ce-block{border:1px solid var(--rule);background:var(--white);border-radius:6px;margin-top:12px;padding:14px}input[type=range]{background:0 0;border:none;height:24px;padding:0}.ce-palette{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.ce-swatch{flex-direction:column;align-items:center;gap:6px;width:96px;display:flex}.ce-chip{border:1px solid var(--rule);border-radius:8px;width:64px;height:64px}.ce-swatch button{width:100%}.pcp-panel{border:1px solid var(--border-soft);background:var(--brand-soft,var(--bg-subtle));border-radius:16px;grid-template-columns:1fr 260px;gap:26px;margin:8px 0 4px;padding:22px 24px;display:grid}.pcp-panel-active{display:block}.pcp-panel-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.pcp-panel-ic{background:var(--bg-surface,#fff);width:40px;height:40px;color:var(--brand);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.pcp-panel-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:650}.pcp-panel-sub{color:var(--text-muted);margin:2px 0 0;font-size:13px}.pcp-drop{text-align:center;border:1.5px dashed var(--brand-border,#c9bff5);background:var(--bg-surface,#fff);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:26px 18px;transition:border-color .14s,background .14s;display:flex}.pcp-drop:hover,.pcp-drop:focus-visible,.pcp-drop.over{border-color:var(--brand);background:var(--brand-soft,#efeaff);outline:none}.pcp-drop-ic{background:var(--brand-soft,#efeaff);width:48px;height:48px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.pcp-drop-title{color:var(--text-primary);font-size:15px;font-weight:650}.pcp-drop-sub{color:var(--text-muted);font-size:13px}.pcp-drop-help{color:var(--text-muted);font-size:11px}.pcp-tips{border-left:1px solid var(--border-soft);flex-direction:column;gap:10px;padding-left:24px;display:flex}.pcp-tips-title{font-size:var(--fs-sm);color:var(--text-primary);font-weight:650}.pcp-tips-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.pcp-tips-list li{color:var(--text-primary);align-items:center;gap:9px;font-size:13px;display:flex}.pcp-tick{background:var(--brand-soft,#efeaff);width:20px;height:20px;color:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (max-width:720px){.pcp-panel{grid-template-columns:1fr;gap:18px}.pcp-tips{border-left:0;border-top:1px solid var(--border-soft);padding-top:16px;padding-left:0}}.pcp-wrap{touch-action:none;max-width:100%;margin-top:8px;display:inline-block;position:relative}.pcp-img{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;max-width:100%;max-height:360px;display:block}.pcp-puck{pointer-events:none;border:4px solid #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000059,0 2px 6px #00000059}.pcp-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.pcp-swatch{border:1px solid var(--rule);border-radius:6px;flex:none;width:40px;height:40px}.pcp-replace{cursor:pointer;color:var(--ink-3);font-size:var(--fs-xs);margin-left:auto;text-decoration:underline}.ypc-modal{max-width:480px;max-height:90vh;overflow-y:auto}.ypc-lede{margin:0 0 12px}.ypc-varieg{margin:0 0 10px}.ypc-imgwrap{text-align:center}.ypc-imgwrap .pcp-img{max-height:300px}.ypc-pick-hex{min-width:120px}.ypc-suggest,.ypc-chosen{flex-direction:column;gap:6px;margin-top:14px;display:flex}.ypc-suggest-row,.ypc-chosen-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ypc-sw{border:1px solid var(--rule);cursor:pointer;border-radius:7px;width:30px;height:30px;padding:0}.ypc-sw:hover{outline:2px solid var(--accent);outline-offset:1px}.ypc-autofill{margin-left:4px}.ypc-chip{border:1px solid var(--rule);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 8px;font-size:12px;display:inline-flex}.ypc-chip-sw{border:1px solid var(--rule);border-radius:4px;width:14px;height:14px}.ypc-chip-x{color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:12px;line-height:1}.ypc-chip-x:hover{color:#c0392b}.ypc-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.ypc-keep{align-items:center;gap:8px;display:inline-flex}.ypc-cur-sw{border:1px solid var(--rule);border-radius:5px;width:16px;height:16px}.fp-grid{grid-template-columns:repeat(3,1fr);gap:12px;max-width:560px;margin-top:6px;display:grid}@media (max-width:560px){.fp-grid{grid-template-columns:1fr}}.fp-slot{flex-direction:column;display:flex}.fp-img{object-fit:cover;border:1px solid var(--rule);border-radius:4px;width:100%;height:120px;margin-bottom:6px;display:block}.fp-img-empty{background:var(--surface);color:var(--ink-3);place-items:center;display:grid}.fp-actions{align-items:center;gap:4px;display:flex}.fp-actions .grow{margin-left:auto}.fp-actions button.secondary{padding:2px 8px;font-size:.75rem}.cov-layout{grid-template-columns:300px 1fr;align-items:start;gap:20px;margin-top:12px;display:grid}@media (max-width:820px){.cov-layout{grid-template-columns:1fr}}.cov-controls{flex-direction:column;gap:8px;display:flex}.cov-preview{position:sticky;top:74px}.cov-photos-section{border-top:1px solid var(--rule);margin-top:24px;padding-top:20px}.cov-photos-section .fp-grid{max-width:680px}.cov-scrim{z-index:0;pointer-events:none;position:absolute;inset:0}.cov-header>:not(.cov-scrim){z-index:1;position:relative}.cov-headimg-thumb{object-fit:cover;border:1px solid var(--rule);border-radius:4px;width:100%;height:80px;margin-bottom:6px;display:block}.cov-range{color:#555;align-items:center;gap:10px;font-size:.82rem;display:flex}.cov-range input[type=range]{flex:1}.cov-accent-note{align-items:center;gap:8px;margin:2px 0 4px;display:flex}.req{color:#c0392b;text-transform:uppercase;letter-spacing:.04em;font-size:.72em;font-weight:500}.cov-page{border:1px solid var(--rule);background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 2px 10px #0000000f}.cov-header{align-items:center;gap:14px;padding:22px 20px;display:flex}.cov-header.logo-left{flex-direction:row}.cov-head-text{flex:1;min-width:0}.cov-logo{object-fit:cover;background:#fff;border-radius:50%;flex:none;width:54px;height:54px}.cov-logo-ph{background:repeating-linear-gradient(#edcc85 0 6px,#e69973 6px 12px,#f5e6cc 12px 18px);border:1px solid #0000001f}.cov-title{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.05}.cov-sub{font-size:var(--fs-sm);margin-top:4px}.cov-by{font-size:var(--fs-xs);margin-top:6px}.cov-socials{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.cov-chip-row{font-size:var(--fs-xs);align-items:center;gap:5px;display:inline-flex}.cov-chip{color:#fff;border-radius:3px;place-items:center;width:15px;height:15px;font-size:8px;font-weight:700;display:inline-grid}.ph-frame{background:#eee;border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden}.ph-cover{object-fit:cover;width:100%;height:100%;display:block}.ph-blur{filter:blur(12px);background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.2)}.ph-full{object-fit:contain;width:100%;height:100%;display:block;position:relative}.cph-fit{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cov-photostage{width:100%;margin:10px 0;position:relative}.cov-pslot{box-sizing:border-box;padding:3px;position:absolute}.cov-photo{object-fit:cover;background:#eee;border-radius:4px;width:100%;height:100%}.cov-photo.empty{color:var(--ink-3);font-size:var(--fs-xs);border:1px dashed var(--rule);place-items:center;display:grid}.cph-editor{flex-direction:column;gap:10px;max-width:680px;display:flex}.cph-rowctl{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cph-rowlabel{min-width:42px}.cph-rowrm{font-size:var(--fs-xs);margin-left:auto;padding:2px 8px}.cph-stage{border-radius:6px;width:100%;position:relative}.cph-slot{box-sizing:border-box;padding:3px;position:absolute}.cph-slot.draggable{cursor:grab}.cph-slot.dragging{opacity:.4}.cph-img{object-fit:cover;border-radius:4px;width:100%;height:100%;display:block}.cph-loading{background:var(--surface);color:var(--ink-3);place-items:center;display:grid}.cph-tools{opacity:0;justify-content:center;gap:4px;transition:opacity .12s;display:flex;position:absolute;bottom:3px;left:3px;right:3px}.cph-slot:hover .cph-tools{opacity:1}.cph-btn{color:#fff;background:#000000a8;border:0;border-radius:4px;padding:2px 7px;font-size:12px;line-height:1}.cph-btn:disabled{opacity:.3}.cph-add{width:100%;height:100%;color:var(--ink-3);background:var(--surface);border:1px dashed var(--rule);cursor:pointer;border-radius:4px;place-items:center;font-size:26px;display:grid}.cph-add:hover{border-color:var(--ink-3);color:var(--ink)}@media (hover:none){.cph-tools{opacity:1}}.cov-body{padding:8px 18px 18px}.cov-sec{font-size:var(--fs-xs);letter-spacing:.08em;border-bottom:1px solid var(--rule);margin-bottom:6px;padding-bottom:4px;font-weight:700}.cov-about{font-size:var(--fs-sm);margin-bottom:8px;line-height:1.5}.debug{margin-top:24px}.debug pre{background:var(--ink);color:#e5e7eb;font-size:var(--fs-xs);border-radius:3px;margin-top:8px;padding:12px;overflow:auto}body{background:var(--surface)}button:not([class]),.btn-link,.pill-dark{background:var(--brand);color:#fff;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-weight:600;transition:background .16s,box-shadow .16s;display:inline-flex;box-shadow:0 6px 16px #7447e833}button:not([class]):hover:not(:disabled),.btn-link:hover,.pill-dark:hover{background:var(--brand-hover);box-shadow:0 8px 20px #7447e842}button:not([class]):disabled{background:var(--brand);opacity:.4;box-shadow:none}button.secondary{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);box-shadow:none;border-radius:12px;padding:10px 16px;transition:background .16s,border-color .16s,color .16s}button.secondary:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand-border);color:var(--brand)}button.icon{border-radius:10px;padding:8px 12px}.icon-link{border:1px solid var(--rule);box-shadow:none;background:#fff}.icon-link:hover{background:var(--accent-light);border-color:var(--accent-light);color:var(--accent)}input[type=text],input[type=url],input[type=number],input[type=email],input[type=search],input[type=password],input[type=date],input:not([type]),select,textarea{border:1px solid var(--border-default);background:var(--bg-surface);box-shadow:none;border-radius:12px;padding:11px 14px;font-size:15px;transition:border-color .16s,box-shadow .16s}textarea{padding:12px 14px}input[type=text]:focus,input[type=url]:focus,input[type=number]:focus,input[type=email]:focus,input[type=search]:focus,input[type=password]:focus,input[type=date]:focus,input:not([type]):focus,select:focus,textarea:focus{border-color:var(--brand-border);box-shadow:0 0 0 4px var(--brand-soft);outline:none}.section,.yarn-card,.modal,.db-item,.bb-border-item,.rb-bulk,.ce-block,.db-panel,.cov-page,.cell-pop,.rb-menu,.rb-assignbar,.cov-photos-section,.totals-bar{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-surface);box-shadow:var(--shadow-soft)}.section{padding:28px}.cov-photos-section{padding:24px}.pill,.rb-chip{border:1px solid var(--rule);box-shadow:none;background:#fff;border-radius:999px}.pill.active,.rb-chip.on{background:var(--accent-light);color:var(--accent);border-color:var(--accent-light);box-shadow:none}.rb-chip:hover:not(:disabled){background:var(--brand-soft,#eee8ff);color:var(--ink);border-color:var(--brand-border,#b99cff)}.rb-chip.on:hover:not(:disabled){background:var(--brand,#7447e8);color:#fff;border-color:var(--brand,#7447e8)}.topbar,.side{box-shadow:none;background:#fff}.topbar{border-bottom:1px solid var(--rule)}.side{border-right:1px solid var(--rule)}.cd-h2{letter-spacing:-.01em;margin-bottom:2px;font-size:22px;font-weight:750}.cd-lede{max-width:70ch;margin-bottom:12px}.cd-grid{grid-template-columns:minmax(240px,300px) minmax(380px,1fr) minmax(280px,320px);align-items:start;gap:14px;display:grid}.cd-left,.cd-right{flex-direction:column;gap:14px;min-width:0;display:flex}.cd-card{border:1px solid var(--border-soft);background:var(--bg-surface);border-radius:14px;padding:14px 16px}.cd-card-muted{opacity:.85}.cd-card-head{color:var(--text-primary);align-items:center;gap:8px;width:100%;margin-bottom:12px;font-size:14px;font-weight:650;display:flex}.cd-card-toggle{cursor:pointer;background:0 0;border:0;margin:0;padding:0}.cd-chev{color:var(--text-muted);margin-left:auto}.cd-step-head{gap:10px}.cd-badge{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:inline-grid}.cd-upload-btn{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:9px;margin-left:auto;padding:7px 12px;font-size:12px;font-weight:600}.cd-upload-btn:disabled{opacity:.6}.cd-layouts{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.cd-layoutbar{align-items:center;gap:14px;margin-bottom:12px;padding:8px 14px;display:flex}.cd-layoutbar-lbl{color:var(--text-primary);flex:none;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.cd-layouts-row{flex-wrap:wrap;flex:1;gap:8px;display:flex}.cd-layoutbar .cd-layout{gap:3px;width:86px;padding:5px 5px 4px}.cd-layoutbar .cd-layout-lbl{font-size:10px}.cd-layout{border:1.5px solid var(--border-soft);background:var(--bg-surface);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;transition:border-color .12s,background .12s;display:flex}.cd-layout:hover{background:var(--bg-subtle)}.cd-layout.on{border-color:var(--brand);background:var(--brand-soft)}.cd-layout-thumb{background:#e7e6ef;border-radius:5px;width:100%;position:relative;overflow:hidden}.cd-layout-cell{background:#b9b6cc;border:1px solid #fff;border-radius:2px;position:absolute}.cd-layout.on .cd-layout-cell{background:var(--brand-border)}.cd-layout-lbl{color:var(--text-muted);font-size:11px;font-weight:500}.cd-lib{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cd-photos-card{position:relative}.cd-dragnote{background:var(--brand-soft);border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.cd-dragnote-ic{color:var(--brand);flex:none;margin-top:1px}.cd-dragnote strong{color:var(--brand);font-size:13px;display:block}.cd-dragnote span{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.cd-thumb{aspect-ratio:4/3;border:1px solid var(--border-soft);background:var(--bg-subtle);cursor:grab;border-radius:9px;padding:0;position:relative;overflow:hidden}.cd-thumb:active{cursor:grabbing}.cd-thumb-drag{color:#fff;opacity:0;pointer-events:none;background:#402d829e;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:600;transition:opacity .12s;display:flex;position:absolute;inset:0}.cd-thumb:hover .cd-thumb-drag{opacity:1}.cd-thumb img{object-fit:cover;width:100%;height:100%;display:block}.cd-thumb.used{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cd-thumb-tick{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid;position:absolute;top:4px;left:4px}.cd-thumb-x{color:#fff;background:#0000008c;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid;position:absolute;top:4px;right:4px}.cd-thumb-add{color:var(--text-muted);border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:18px;display:flex}.cd-thumb-add span{font-size:10px}.cd-lib-hint{margin-top:8px}.cd-err{color:#c0392b;margin-top:6px;display:block}.cd-canvas-wrap{justify-content:center;display:flex;position:sticky;top:12px}.cd-page{border:1px solid var(--border-soft);width:100%;max-width:640px;box-shadow:var(--shadow-soft);background:#fff;border-radius:12px;overflow:hidden}.cd-header{align-items:center;gap:20px;min-height:128px;padding:24px 28px;display:flex;position:relative}.cd-header.logo-left{flex-direction:row}.cd-header:not(.logo-left):not(.logo-center){flex-direction:row-reverse}.cd-header.logo-center{text-align:center;flex-direction:column}.cd-head-text{flex:1;min-width:0}.cd-el{cursor:pointer;text-align:inherit;background:0 0;border:0;border-radius:5px;width:fit-content;max-width:100%;margin:0 -4px;padding:2px 4px;display:block}.cd-header.logo-center .cd-el{margin-inline:auto}.cd-el:hover{background:#ffffff26}.cd-el.sel{outline-offset:1px;outline:2px solid #ffffffd9}.cd-title{font-size:30px;font-weight:700;line-height:1.05}.cd-sub{letter-spacing:.08em;text-transform:uppercase;margin-top:6px;font-size:12px}.cd-by{margin-top:8px;font-size:13px;font-style:italic}.cd-links{flex-wrap:wrap;gap:14px;margin-top:12px;display:flex}.cd-link{align-items:center;gap:6px;font-size:12px;display:inline-flex}.cd-link-ic{color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-grid}.cd-logo{cursor:pointer;background:#fff;border:0;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}.cd-logo img{object-fit:contain;width:100%;height:100%}.cd-logo-ph{background:repeating-linear-gradient(45deg,#eee,#eee 4px,#e3e3e3 4px 8px);width:100%;height:100%}.cd-logo-square{border-radius:6px}.cd-logo-circle{border-radius:50%}.cd-logo-rectangle{border-radius:4px}.cd-logo.sel{outline:2px solid var(--brand);outline-offset:2px}.cd-stage{background:0 0;width:100%;position:relative}.cd-frame{cursor:pointer;background:#e7e6ef;position:absolute;overflow:hidden}.cd-frame-blank{border:1.5px dashed var(--border-default,#d7d8e0);background:0 0}.cd-frame-blank .cd-frame-empty{opacity:0;transition:opacity .12s}.cd-frame-blank:hover .cd-frame-empty,.cd-frame-blank.sel .cd-frame-empty{opacity:1}.cd-frame-img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.cd-frame.sel{outline:3px solid var(--brand);outline-offset:-3px;box-shadow:0 0 0 3px var(--brand-soft), inset 0 0 0 1px #fff;z-index:2;cursor:grab}.cd-frame.sel:after{content:"Selected";background:var(--brand);color:#fff;letter-spacing:.03em;pointer-events:none;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.cd-hint{color:var(--brand);margin-top:8px;font-weight:500;display:block}.cd-chooser{max-width:460px}.cd-chooser-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-height:320px;margin:12px 0 4px;display:grid;overflow-y:auto}.cd-chooser-item{aspect-ratio:1;border:1px solid var(--border-soft);background:var(--bg-subtle);cursor:pointer;border-radius:9px;padding:0;position:relative;overflow:hidden}.cd-chooser-item img{object-fit:cover;width:100%;height:100%;display:block}.cd-chooser-item.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.cd-chooser-tick{background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid;position:absolute;top:4px;right:4px}.cd-chooser-foot{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}.cd-frame-empty{color:var(--text-muted);place-items:center;font-size:12px;font-weight:500;display:grid;position:absolute;inset:0}.cd-about{text-align:center;cursor:pointer;background:#faf7f1;border-top:1px solid #f0efe6;padding:18px 28px 24px}.cd-about-h{letter-spacing:.14em;font-size:11px;font-weight:700}.cd-about p{color:#444;max-width:46ch;margin:8px auto 0;font-size:13px}.cd-lbl{color:var(--text-primary);margin-bottom:8px;font-size:12px;font-weight:600;display:block}.cd-colrow{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cd-colrow-lbl{color:var(--text-primary);font-size:13px}.cd-swatches{align-items:center;gap:5px;display:flex}.cd-sw{border:1px solid var(--border-default);cursor:pointer;border-radius:7px;width:22px;height:22px;padding:0;position:relative}.cd-sw.on{box-shadow:0 0 0 2px var(--brand)}.cd-sw-tick{color:#fff;text-shadow:0 0 2px #0009;place-items:center;height:100%;font-size:11px;display:grid}.cd-sw-custom{overflow:hidden}.cd-sw-rainbow{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:6px;position:absolute;inset:0}.cd-sw-custom input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.cd-field{margin:12px 0 0;font-size:13px;font-weight:500;display:block}.cd-field textarea{min-height:120px}.cd-author{color:var(--text-primary);margin-top:6px;font-size:13px;font-weight:400}.cd-logo-row,.cd-photo-tools,.cd-selphoto-btns{flex-wrap:wrap;gap:8px;display:flex}.cd-photo-tools{margin-top:12px}.cd-photo-tools button,.cd-selphoto-btns button{border-radius:10px;padding:10px 18px;font-size:13px}.cd-danger{color:#c0392b}.cd-seg-row{align-items:center;gap:10px;margin-top:12px;display:flex}.cd-seg-lbl{color:var(--text-muted);flex:none;width:58px;font-size:12px}.cd-seg{border:1px solid var(--border-default);border-radius:9px;flex:1;display:flex;overflow:hidden}.cd-seg button{border:0;border-right:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;flex:1;padding:6px 4px;font-size:12px;font-weight:500}.cd-seg button:last-child{border-right:0}.cd-seg button.on{background:var(--brand-soft);color:var(--brand);font-weight:650}.cd-slider{color:var(--text-muted);align-items:center;gap:10px;margin-top:12px;font-size:12px;display:flex}.cd-slider input[type=range]{flex:1;margin:0}.cd-slider-val{text-align:right;width:44px;color:var(--text-primary);font-weight:600}.cd-selphoto{align-items:center;gap:12px;display:flex}.cd-selphoto-thumb{object-fit:cover;border:1px solid var(--border-soft);border-radius:9px;flex:none;width:56px;height:56px}.cd-selphoto-empty{background:var(--bg-subtle)}.cd-photo-tools button{border:1px solid var(--border-default);background:var(--bg-surface);min-width:64px;color:var(--text-primary);cursor:pointer;border-radius:9px;flex:1;padding:7px 8px;font-size:12px;font-weight:500}.cd-photo-tools button.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.cd-toggle{color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;margin:8px 0 0;font-size:12px;font-weight:400;display:flex}.cd-toggle input{width:auto;margin:0}@media (max-width:1100px){.cd-grid{grid-template-columns:260px minmax(0,1fr)}.cd-right{flex-flow:wrap;grid-column:1/-1}.cd-right .cd-card{flex:300px}}@media (max-width:760px){.cd-grid{grid-template-columns:1fr}.cd-canvas-wrap{position:static}}.pt-uploaded{border:1px solid var(--border-soft,var(--rule));background:var(--bg-surface,#fff);border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;display:flex}.pt-uploaded-thumb{object-fit:cover;border:1px solid var(--rule);border-radius:9px;flex:none;width:44px;height:44px}.pt-uploaded-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.pt-uploaded-check{color:#fff;background:#2e7d32;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;display:inline-grid}.pt-uploaded-change{cursor:pointer;margin:0 0 0 auto}.pt-viewtoggle{grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 6px;display:grid}.pt-viewtoggle button{border:1px solid var(--border-default,var(--rule));background:var(--bg-surface,#fff);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:inline-flex}.pt-viewtoggle button:hover:not(:disabled):not(.on){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.pt-viewtoggle button.on,.pt-viewtoggle button.on:hover{background:var(--brand,var(--accent));border-color:var(--brand,var(--accent));color:#fff}.pt-viewtoggle button:disabled{opacity:.5;cursor:default}.pt-tab-ic{flex:none;width:16px;height:16px}.pt-crophint{background:var(--brand-soft,#efeaf9);color:var(--ink);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:13px;display:flex}.pt-crophint-ic{width:18px;height:18px;color:var(--brand);flex:none}.pt-view-hint{text-align:center;margin:0 0 8px}.pt-preview-stage{border:1px solid var(--border-soft,var(--rule));background:#f0eef7;border-radius:10px;position:relative;overflow:hidden}.pt-preview-canvas{image-rendering:auto;width:100%;height:auto;display:block}.pt-preview-badge{color:#fff;background:#1c1d26c7;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:10px;left:10px}.pt-preview-updating{background:var(--brand,#6b4eff);color:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:10px;right:10px}.pt-preview-repos{color:#fff;background:#1c1d26b8;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.pt-repos-hint{color:#fff;pointer-events:none;background:#1c1d26b8;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:600;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.pt-optcard{border:1px solid var(--border-soft,var(--rule));border-radius:10px;margin:8px 0;padding:10px 12px}.pt-detailguide{background:var(--brand-soft,#efeaff);border-radius:12px;align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;display:flex}.pt-detailguide-ic{border:1.5px solid var(--brand,var(--accent));width:20px;height:20px;color:var(--brand,var(--accent));border-radius:50%;flex:none;place-items:center;font-size:12px;font-style:italic;font-weight:700;display:inline-grid}.pt-detailguide strong{color:var(--brand,var(--accent));margin-bottom:2px;font-size:13px;display:block}.pt-detailguide span{color:var(--ink-2,#555);font-size:12px}.pt-live{color:#2e7d32;text-transform:none;letter-spacing:0;align-items:center;gap:6px;margin-left:10px;font-size:11px;font-weight:500;display:inline-flex}.pt-live-dot{background:#2e7d32;border-radius:50%;width:8px;height:8px}.pt-updating{color:var(--brand,var(--accent));font-weight:500}.pt-palsummary{border:1px solid var(--border-soft,var(--rule));border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px;display:flex}.pt-palswatches{flex-wrap:wrap;flex:1;gap:14px;display:flex}.pt-palsw{flex-direction:column;align-items:center;gap:2px;display:flex}.pt-palsw-dot{border:1px solid var(--rule);border-radius:50%;width:40px;height:40px}.pt-palsw-pct{color:var(--ink);font-size:12px;font-weight:700}.pt-palsw-count{color:var(--ink-2,#777);font-size:10px}.pt-reviewbtn{border:1px solid var(--brand-border,var(--brand));background:var(--bg-surface,#fff);color:var(--brand,var(--accent));cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:600;display:inline-flex}.pt-editor{border:1px solid var(--border-soft,var(--rule));background:var(--bg-subtle,#f7f7fb);border-radius:12px;margin-top:12px;padding:16px}.pt-editor-head strong{color:var(--ink);font-size:14px}.pt-editor-head .muted{margin:2px 0 12px;display:block}.pt-erow{border-top:1px solid var(--border-soft,var(--rule));flex-wrap:wrap;align-items:center;gap:10px;padding:10px 4px;display:flex}.pt-erow-img{border:1px solid var(--rule);border-radius:8px;flex:none;width:34px;height:34px}.pt-erow-arrow{display:none}.pt-erow-yarn{flex:none;align-items:center;gap:8px;display:inline-flex}.pt-erow-yarn .pt-picker{max-width:150px}.pt-erow-yarn .pt-pick-name{text-overflow:ellipsis;white-space:nowrap;max-width:96px;overflow:hidden}.pt-erow-name{flex:200px;min-width:180px}.pt-erow-name-static{min-width:180px;color:var(--ink);flex:200px;padding:8px 2px;font-size:13px}.pt-erow-count{color:var(--ink-2,#777);text-align:right;flex:none;margin-left:auto;font-size:12px}.pt-erow-x{color:var(--ink-3,#999);cursor:pointer;background:0 0;border:0;font-size:13px}.pt-erow-x:hover:not(:disabled){color:#c0392b}.pt-editor-actions,.pt-colcount{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.pt-colcount{margin-top:10px}.pt-create{background:var(--brand,var(--accent));color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:18px;padding:14px;font-size:15px;font-weight:700;display:block}.pt-create:disabled{opacity:.55;cursor:default}.pt-create-note{text-align:center;margin-top:8px}.pt-opt-tag{color:var(--text-muted);background:var(--bg-muted,var(--brand-soft));vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600}.pt-stitches{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.pt-stitch{border:1px solid var(--border-soft);background:var(--bg-surface);cursor:pointer;border-radius:10px;align-items:center;gap:8px;margin:0;padding:8px 12px;transition:border-color .14s,background .14s,box-shadow .14s;display:flex}.pt-stitch:hover{border-color:var(--brand-border)}.pt-stitch.on{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.pt-stitch-sym{background:var(--bg-muted,#f2f0f7);min-width:24px;height:24px;color:var(--text-primary);border-radius:6px;justify-content:center;align-items:center;padding:0 4px;font-size:14px;font-weight:700;display:inline-flex}.pt-stitch-name{color:var(--text-primary);font-size:13px;font-weight:600}.pt-stitch-add,.pt-stitch-custom{flex-direction:column;gap:6px;margin-top:14px;display:flex}.pt-stitch-addrow{flex-wrap:wrap;gap:8px;display:flex}.pt-stitch-chip{border:1px dashed var(--brand-border);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0;padding:6px 10px;font-size:12px;font-weight:600;transition:background .14s,border-color .14s;display:inline-flex}.pt-stitch-chip:hover{background:var(--brand-soft);border-color:var(--brand)}.pt-stitch-chip .pt-stitch-sym{min-width:20px;height:20px;font-size:12px}.pt-stitch-plus{color:var(--brand);font-weight:700}.pt-stitch-customrow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pt-stitch-cname{flex:200px;min-width:160px}.pt-stitch-csym{flex:0 0 90px;width:90px}@media (max-width:560px){.pt-erow-head{display:none}.pt-erow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pt-erow-name,.pt-erow-name-static{flex-basis:100%;order:5}.pt-erow-count{text-align:left}}.canvas-locked-card{border:1px solid var(--rule);border-radius:var(--radius,18px);background:var(--white);text-align:center;margin-top:16px;padding:26px 20px}.canvas-locked-icon{background:var(--brand-soft);border-radius:50%;place-items:center;width:60px;height:60px;margin:0 auto 8px;font-size:28px;display:inline-grid}.canvas-locked-card h2{margin:4px 0 10px;font-size:20px}.canvas-locked-card p{max-width:34ch;margin:0 auto 10px}.canvas-locked-btn{margin-top:8px}.step-loading{text-align:center;color:var(--text-muted,var(--ink-2));padding:40px 0;font-size:13px}.builder-skeleton{flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:60vh;display:flex}.builder-spinner{border:3px solid var(--brand-soft,#ece4fb);border-top-color:var(--brand);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite builder-spin}@keyframes builder-spin{to{transform:rotate(360deg)}}.pt-setup{flex-direction:column;gap:0;display:flex}.pt-setup-main{grid-template-columns:minmax(0,1.85fr) minmax(300px,1fr);align-items:start;gap:18px;display:grid}.pt-preview-col{flex-direction:column;align-self:start;gap:8px;min-width:0;display:flex;position:sticky;top:12px}.pt-preview-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pt-tools-bar{justify-content:center;margin:0 auto}.pt-tools-lbl{color:var(--text-secondary);margin-left:2px;font-size:12px;font-weight:600}.pt-sizebadge{color:var(--ink);background:var(--white);border:1px solid var(--rule);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.pt-versions{margin:4px 0 2px}.pt-versions-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.pt-versions-head strong{color:var(--ink);font-size:14px}.pt-versions-row{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pt-version{background:var(--white);border:1.5px solid var(--rule);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 6px 8px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.pt-version:hover:not(:disabled){border-color:var(--brand);background:var(--white)}.pt-version.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.pt-version-thumb{aspect-ratio:4/3;background:var(--bg-subtle,#f6f4fb);border-radius:8px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.pt-version-thumb canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.pt-version-load{background:linear-gradient(90deg,#0000,#0000000f,#0000);animation:1.1s infinite pt-version-shimmer;position:absolute;inset:0}@keyframes pt-version-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.pt-version-lbl{color:var(--ink);font-size:12px;font-weight:700}.pt-version.on .pt-version-lbl{color:var(--brand)}.pt-version-hint{font-size:11px;line-height:1.1}.pt-version-note{margin-top:8px}.pt-versions-editnote{color:var(--text-secondary);background:var(--brand-soft);border-radius:10px;align-items:flex-start;gap:8px;margin:10px 0 0;padding:9px 12px;font-size:12.5px;line-height:1.4;display:flex}.pt-versions-editnote svg{width:16px;height:16px;color:var(--brand);flex:none;margin-top:1px}.pt-versions-editnote strong{color:var(--ink)}@media (max-width:560px){.pt-version-hint{display:none}.pt-version-lbl{font-size:11px}}.pt-stageport{background:var(--bg-subtle,#f6f4fb);border:1px solid var(--rule);border-radius:14px;justify-content:center;align-items:center;height:min(60vh,560px);padding:10px;display:flex;overflow:auto}.pt-stagezoom{transform-origin:50%;justify-content:center;align-items:center;max-width:100%;display:flex}.pt-stageport .pt-preview-canvas,.pt-stageport .pt-img{width:auto;max-width:100%;height:auto;max-height:calc(min(60vh,560px) - 24px)}.pt-stageport .pt-stage{max-height:calc(min(60vh,560px) - 24px)}.pt-preview-controls{justify-content:space-between;align-items:center;gap:12px;display:flex}.pt-gridtoggle{color:var(--ink);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.pt-gridtoggle input{width:auto;margin:0}.pt-zoom{gap:6px;display:inline-flex}.pt-zoom button{min-width:34px}.pt-preview-note{margin:0}.pt-settings-col{flex-direction:column;gap:14px;min-width:0;display:flex}.pt-sect{border:1px solid var(--rule);background:var(--white);border-radius:14px;padding:12px 14px}.pt-sect-h{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.pt-sect-action{width:auto;color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.pt-sect-action:hover{text-decoration:underline}.pt-units{border:1px solid var(--rule);border-radius:8px;display:inline-flex;overflow:hidden}.pt-units button{background:var(--white);color:var(--ink-2,var(--text-muted));cursor:pointer;border:0;padding:3px 10px;font-size:12px;font-weight:600}.pt-units button.on{background:var(--brand);color:#fff}.pt-sizeinfo{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;font-size:13px;display:flex}.pt-sizeinfo .over{color:#c02626;font-weight:600}.pt-seg{border:1px solid var(--rule);border-radius:10px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.pt-seg button{background:var(--white);color:var(--ink);cursor:pointer;border:0;padding:8px 10px;font-size:13px;font-weight:600}.pt-seg button+button{border-left:1px solid var(--rule)}.pt-seg button.on,.pt-seg button.on:hover{background:var(--brand-soft);color:var(--brand)}.pt-simplify{align-items:center;gap:8px;margin-top:8px;display:flex}.pt-simplify .muted{margin-right:auto}.pt-more-toggle{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex}.pt-more{flex-direction:column;gap:12px;margin-top:10px;display:flex}.pt-more-stitch{flex-direction:column;gap:8px;display:flex}.pt-footer{z-index:6;background:var(--white);border-top:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:18px 16px;display:flex;position:sticky;bottom:0}.pt-footer-note{font-size:var(--fs-md);margin:0}.pt-footer-actions{flex:none;align-items:center;gap:10px;display:flex}.pt-usebtn{background:var(--brand);border-color:var(--brand);color:#fff;white-space:nowrap;border-radius:12px;padding:11px 22px;font-weight:700}.pt-usebtn:hover:not(:disabled){background:#5f39c8;border-color:#5f39c8}.pt-usebtn:disabled{opacity:.55}.stagehdr{align-items:center;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.stagehdr-item{align-items:center;gap:6px;min-width:0;display:flex}.stagehdr-btn{font:inherit;color:var(--text-muted,var(--ink-2));cursor:default;background:0 0;border:0;align-items:center;gap:8px;padding:4px 6px;display:inline-flex}button.stagehdr-btn{cursor:pointer}.stagehdr-num{background:var(--bg-subtle,#efeaf9);width:22px;height:22px;color:var(--text-muted,var(--ink-2));border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.stagehdr-label{white-space:nowrap;font-size:13px;font-weight:600}.stagehdr-item.current .stagehdr-num{background:var(--brand);color:#fff}.stagehdr-item.current .stagehdr-label{color:var(--ink)}.stagehdr-item.done .stagehdr-num{background:var(--brand-soft);color:var(--brand)}.stagehdr-item.done .stagehdr-label{color:var(--ink)}.stagehdr-line{background:var(--rule);flex:none;width:26px;height:2px}.pt-setup-head{margin-bottom:12px}.builder-foot .stagehdr{justify-content:center;margin:0}.pt-setup-head h2{margin:0 0 2px;font-size:20px;font-weight:700}@media (max-width:560px){.stagehdr-item.todo .stagehdr-label,.stagehdr-line{display:none}}@media (max-width:900px){.pt-setup-main{grid-template-columns:1fr}.pt-preview-col{position:static}.pt-stageport{height:min(48vh,420px)}.pt-stageport .pt-preview-canvas,.pt-stageport .pt-img,.pt-stageport .pt-stage{max-height:calc(min(48vh,420px) - 24px)}.pt-footer{flex-direction:column-reverse;align-items:stretch;gap:8px}.pt-usebtn{width:100%}}.gauge-bar{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:14px;align-items:center;gap:14px;margin:4px 0 18px;padding:12px 16px;display:flex}.gs-photomode .gauge-bar{display:none}.gauge-bar-icon{background:var(--white);width:40px;height:40px;color:var(--brand);box-shadow:var(--shadow-soft);border-radius:11px;flex:none;place-items:center;display:grid}.gauge-bar-text{flex:auto;min-width:0}.gauge-bar-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.gauge-bar-dims{color:var(--text-secondary);flex-wrap:wrap;gap:4px 18px;margin-top:3px;font-size:13px;display:flex}.gauge-bar-dims strong{color:var(--text-primary);font-weight:700}.gauge-bar-sub{color:var(--text-muted);margin:3px 0 0;font-size:12px}.gauge-bar-edit{border-radius:10px;flex:none;font-weight:600}.gauge-badge{letter-spacing:.02em;background:var(--white);color:var(--brand);border:1px solid var(--brand-border);border-radius:999px;align-items:center;padding:2px 9px;font-size:11px;font-weight:700;display:inline-flex}.gauge-badge.custom{background:var(--brand);color:#fff;border-color:var(--brand)}.gauge-badge.sm{padding:1px 7px;font-size:10px}.rb-toolbar,.pt-gaugerow,.ps-gaugerow{margin:0 0 10px;display:flex}.pt-gaugerow{margin:10px 0 16px}.gauge-chip{border:1px solid var(--brand-border);background:var(--bg-purple-soft,var(--brand-soft));color:var(--text-primary);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.gauge-chip:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand)}.gauge-chip-icon{color:var(--brand);place-items:center;display:inline-grid}.gauge-chip-dims{color:var(--text-secondary);font-weight:500}.gauge-chip-edit{color:var(--brand);font-weight:700}.gauge-backdrop{align-items:stretch}.gauge-modal{flex-direction:column;max-width:640px;max-height:92vh;padding:0;display:flex;overflow:hidden}.gauge-modal-head{border-bottom:1px solid var(--border-soft);align-items:flex-start;gap:12px;padding:20px 22px 12px;display:flex}.gauge-modal-head h3{font-size:var(--fs-xl);margin:0;font-weight:650}.gauge-intro{max-width:52ch;margin:4px 0 0}.gauge-x{background:var(--white);width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border-default);border-radius:8px;flex:none;margin-left:auto;padding:0;font-size:14px;line-height:1}.gauge-x:hover:not(:disabled){background:var(--surface);color:var(--text-primary)}.gauge-modal-body{padding:16px 22px;overflow-y:auto}.gauge-modeseg{max-width:100%}.gauge-std-line{text-align:center;color:var(--text-muted);margin:8px 0 4px;font-size:12px}.gauge-standard{flex-direction:column;gap:14px;margin-top:10px;display:flex}.gauge-startcard{align-items:flex-start;gap:12px;display:flex}.gauge-startcard-icon{background:var(--brand-soft);width:44px;height:44px;color:var(--brand);border-radius:12px;flex:none;place-items:center;display:grid}.gauge-startcard-title{font-size:var(--fs-lg);margin:2px 0 4px;font-weight:650}.gauge-startcard-desc{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.gauge-stdpanel{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:14px;padding:18px 20px}.gauge-stdpanel-title{letter-spacing:.08em;color:var(--text-secondary);margin:0 0 12px;font-size:11px;font-weight:700}.gauge-stdpanel-grid{grid-template-columns:1fr 1fr;display:grid}.gauge-stdpanel-grid>div{text-align:center;flex-direction:column;gap:3px;padding:0 12px;display:flex}.gauge-stdpanel-grid>div+div{border-left:1px solid var(--brand-border)}.gauge-stdpanel-lbl{color:var(--text-secondary);font-size:13px}.gauge-stdpanel-val{color:var(--text-primary);font-size:30px;font-weight:750;line-height:1.05}.gauge-stdpanel-alt{color:var(--text-muted);font-size:13px}.gauge-vary{color:var(--text-secondary);margin:0;font-size:13px}.gauge-info{border:1px solid var(--border-default);background:var(--white);color:var(--text-secondary);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;display:flex}.gauge-info-ic{flex:none;line-height:1.3}.gauge-info strong{color:var(--text-primary);font-weight:650}.gauge-h4{font-size:var(--fs-lg);margin:14px 0 4px;font-weight:600}.gauge-measure{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:18px;margin:12px 0;display:grid}.gauge-figure{background:var(--surface);border-radius:12px;margin:0;position:relative;overflow:hidden}.gauge-img{width:100%;height:auto;display:block}.gauge-img-lbl{min-width:3.6em;color:var(--brand);text-align:center;pointer-events:none;white-space:nowrap;background:#fff;border-radius:7px;padding:3px 10px;font-size:clamp(12px,3vw,16px);font-weight:800;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 5px #1c143c38}.gauge-img-lbl-h{top:16%;left:51%}.gauge-img-lbl-v{top:48%;left:13.5%}.gauge-steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.gauge-steps li{color:var(--text-primary);align-items:flex-start;gap:10px;font-size:13px;display:flex}.gauge-stepn{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:inline-grid}.gauge-tip{background:var(--brand-soft);color:var(--text-secondary);border-radius:10px;gap:8px;margin:4px 0 14px;padding:10px 12px;font-size:12px;display:flex}.gauge-arearow{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0;display:flex}.gauge-field-lbl{color:var(--text-primary);font-size:13px;font-weight:600}.gauge-areaseg{width:max-content;max-width:100%}.gauge-areaseg button{padding:6px 14px}.gauge-inputs{grid-template-columns:1fr 1fr;gap:14px;margin:8px 0 4px;display:grid}.gauge-field{color:var(--text-secondary);flex-direction:column;gap:5px;margin:0;font-size:13px;font-weight:500;display:flex}.gauge-field input{width:100%;padding:9px 12px}.gauge-field input[aria-invalid=true]{border-color:var(--err)}.gauge-err{color:var(--err);font-size:11px;font-weight:500}.gauge-result{background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:12px;margin:14px 0 6px;padding:14px 16px}.gauge-result-title{color:var(--text-primary);margin:0 0 8px;font-size:12px;font-weight:700}.gauge-result-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gauge-result-grid>div{flex-direction:column;gap:1px;display:flex}.gauge-result-lbl{color:var(--text-secondary);font-size:12px}.gauge-result-val{font-size:var(--fs-lg);color:var(--text-primary);font-weight:700}.gauge-result-alt{color:var(--text-muted);font-size:12px}.gauge-switch{color:var(--brand);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:13px;font-weight:600}.gauge-switch:hover:not(:disabled){background:0 0;text-decoration:underline}.gauge-modal-foot{border-top:1px solid var(--border-soft);background:var(--white);align-items:center;gap:12px;padding:14px 22px;display:flex}.gauge-foot-note{flex:auto;min-width:0;margin:0}.gauge-foot-actions{flex:none;align-items:center;gap:8px;display:flex}.gauge-reset{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:13px;font-weight:600}.gauge-reset:hover:not(:disabled){color:var(--brand);background:0 0;text-decoration:underline}@media (max-width:560px){.gauge-bar{flex-wrap:wrap}.gauge-bar-edit{width:100%}.gauge-measure{grid-template-columns:1fr;gap:12px}.gauge-inputs{grid-template-columns:1fr}.gauge-modal-foot{flex-direction:column;align-items:stretch}.gauge-foot-actions{justify-content:flex-end}}
