.sh{--desk:#e9ebee;--win:#fff;--win-2:#f7f8f9;--win-3:#eef0f2;--main:#f2f3f5;--ink:#15171a;--ink-2:#4b5059;--ink-3:#5e636c;--line:#10121617;--line-2:#10121629;--accent:#2b4bf2;--accent-hover:#1f3ad6;--accent-soft:#eceffe;--accent-ink:#1d36c4;--ok:#0e7f52;--ok-bg:#e3f6ec;--warn:#8a5a00;--warn-bg:#fff3d6;--work:#5b2ed6;--work-bg:#f0ebfe;--bad:#c2311f;--bad-bg:#fdebe7;--coral:#ff6b4a;--green:#1fc77e;--yellow:#ffc21a;--violet:#6a3bf0;--sky:#38b6ff;--cobalt:#2448e8;--pink:#ff7aa2;--teal:#14b8a6;--graphite:#2f333a;--lime:#a3e635;--ledge-a:#dadde2;--ledge-b:#c7cbd2;--shadow-card:0 0 0 1px #10121612, 0 1px 2px #1012160d;--shadow-pop:0 0 0 1px #10121614, 0 24px 48px -18px #10121659;--shadow-tile:0 1px 0 #11131c14, 0 5px 0 -2px #11131c1a, 0 12px 20px -12px #11131c59;--dock-bg:#fffc;--font:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:linear-gradient(to right, var(--win-2) 251px, var(--line) 251px 252px, var(--main) 252px);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;grid-template-columns:252px minmax(0,1fr);width:100%;min-height:100dvh;font-size:15px;line-height:1.5;display:grid}html[data-theme=dark] .sh{--desk:#0b0c0e;--win:#17191d;--win-2:#121417;--win-3:#22252a;--main:#0e1013;--ink:#eef0f3;--ink-2:#b9bec7;--ink-3:#9aa0aa;--line:#ffffff14;--line-2:#ffffff26;--accent:#5b76ff;--accent-hover:#7088ff;--accent-soft:#5b76ff29;--accent-ink:#a9b7ff;--ok:#4fd69a;--ok-bg:#4fd69a21;--warn:#f5c451;--warn-bg:#f5c45121;--work:#b8a1ff;--work-bg:#a082ff29;--bad:#ff8b77;--bad-bg:#ff786424;--graphite:#3a3f47;--ledge-a:#2b2f35;--ledge-b:#22252a;--shadow-card:0 0 0 1px #ffffff12, 0 1px 2px #0006;--shadow-pop:0 0 0 1px #ffffff1a, 0 24px 48px -18px #000c;--shadow-tile:0 1px 0 #0000004d, 0 5px 0 -2px #00000059, 0 12px 20px -12px #000000b3;--dock-bg:#1c1f24d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){html:not([data-theme]) .sh{--desk:#0b0c0e;--win:#17191d;--win-2:#121417;--win-3:#22252a;--main:#0e1013;--ink:#eef0f3;--ink-2:#b9bec7;--ink-3:#9aa0aa;--line:#ffffff14;--line-2:#ffffff26;--accent:#5b76ff;--accent-hover:#7088ff;--accent-soft:#5b76ff29;--accent-ink:#a9b7ff;--ok:#4fd69a;--ok-bg:#4fd69a21;--warn:#f5c451;--warn-bg:#f5c45121;--work:#b8a1ff;--work-bg:#a082ff29;--bad:#ff8b77;--bad-bg:#ff786424;--graphite:#3a3f47;--ledge-a:#2b2f35;--ledge-b:#22252a;--shadow-card:0 0 0 1px #ffffff12, 0 1px 2px #0006;--shadow-pop:0 0 0 1px #ffffff1a, 0 24px 48px -18px #000c;--shadow-tile:0 1px 0 #0000004d, 0 5px 0 -2px #00000059, 0 12px 20px -12px #000000b3;--dock-bg:#1c1f24d1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}.sh *,.sh :before,.sh :after{box-sizing:border-box}.sh h1:where(:not(.aikit-start *)),.sh h2:where(:not(.aikit-start *)),.sh h3:where(:not(.aikit-start *)),.sh h4:where(:not(.aikit-start *)),.sh p:where(:not(.aikit-start *)){margin:0}.sh h1,.sh h2,.sh h3,.sh h4{letter-spacing:-.02em;font-weight:600;line-height:1.15}.sh a:where(:not(.aikit-start *)){color:inherit;text-decoration:none}.sh button:where(:not(.aikit-start *)){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.sh input:where(:not(.aikit-start *)),.sh select:where(:not(.aikit-start *)){font:inherit;color:inherit}.sh .si{flex:none;width:18px;height:18px;display:block}.sh .mono{font-family:var(--mono);letter-spacing:-.01em}.sh .muted{color:var(--ink-3)}.sh :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.sh .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sh-side{background:var(--win-2);border-right:1px solid var(--line);flex-direction:column;height:100dvh;padding:14px 12px 0;display:flex;position:sticky;top:0;overflow-y:auto}.sh-brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 14px;font-size:17px;font-weight:650;display:flex}.sh-mark{color:#fff;background:linear-gradient(160deg,#2f333a,#17191d);border-radius:9px;place-items:center;width:30px;height:30px;display:grid;box-shadow:inset 0 1px #ffffff24}.sh-mark .si{stroke-width:2.6px;width:20px;height:20px}.sh-ws{background:var(--win);box-shadow:var(--shadow-card);text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;margin-bottom:14px;padding:8px 10px;display:flex}.sh-ws .av{width:28px;height:28px;font:600 12px var(--font);color:#fff;background:var(--cobalt);border-radius:8px;flex:none;place-items:center;display:grid}.sh-ws .nm{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13.5px;font-weight:600;line-height:1.2;overflow:hidden}.sh-ws .nm small{color:var(--ink-3);font-size:12px;font-weight:450;display:block}.sh-nav{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sh-nav a{min-height:38px;color:var(--ink);border-radius:9px;align-items:center;gap:11px;padding:0 10px;font-size:14.5px;font-weight:500;display:flex}.sh-nav a:hover{background:var(--win-3)}.sh-nav a .si{color:var(--ink-3)}.sh-nav a .n{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12.5px}.sh-nav a .n.need{color:#fff;background:var(--accent);border-radius:9px;padding:0 7px;font-weight:600;line-height:18px}.sh-nav a[aria-current=page]{background:var(--win);box-shadow:var(--shadow-card);font-weight:600}.sh-nav a[aria-current=page] .si{color:var(--accent)}.sh-nav .sub{border-left:1px solid var(--line-2);margin:2px 0 6px 20px;padding:0 0 0 12px;list-style:none}.sh-nav .sub a{gap:10px;min-height:34px;font-size:14px}.sh-nav .sub a span.lbl{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sh-nav .sub a.new{color:var(--accent-ink);font-weight:550}.sh-nav .sub li.sub-hint{color:var(--ink-2);padding:4px 10px 2px;font-size:14px;line-height:1.4}.sh-nav .sub a.new .si{color:var(--accent);width:16px;height:16px}.sh-nav .sub a[aria-current=page]{background:var(--accent);color:#fff;box-shadow:none}.sh-nav .sub a[aria-current=page] .n,.sh-nav .sub a.new[aria-current=page],.sh-nav .sub a.new[aria-current=page] .si{color:#fff}.sh-mini{flex:none;gap:2px;display:inline-flex}.sh-mini i{background:var(--c);border-radius:2px;width:6px;height:14px;display:block}.sh-side .sp{flex:1;min-height:16px}.sh-acct{border-top:1px solid var(--line);align-items:center;gap:10px;margin:8px -12px 0;padding:12px 20px;display:flex}.sh-acct .av{background:var(--ink);width:34px;height:34px;color:var(--win);font:600 13px var(--font);border-radius:50%;flex:none;place-items:center;display:grid}.sh-acct b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;line-height:1.2;display:block;overflow:hidden}.sh-acct small{color:var(--ink-3);font-size:12px}.sh-acct .who{flex:1;min-width:0}.sh-classic{color:var(--ink-2);border:1px dashed var(--line-2);border-radius:9px;align-items:center;gap:8px;margin:6px 0 2px;padding:8px 10px;font-size:13px;display:flex}.sh-classic:hover{background:var(--win-3)}.sh-classic .si{width:15px;height:15px}.sh-main{flex-direction:column;min-width:0;display:flex;position:relative}.sh-top{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--win-2) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:1fr minmax(280px,480px) 1fr;align-items:center;gap:16px;height:58px;padding:0 20px 0 28px;display:grid;position:sticky;top:0}.sh-crumb{color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;min-width:0;font-size:14px;display:flex;overflow:hidden}.sh-crumb b{color:var(--ink);text-overflow:ellipsis;font-weight:600;overflow:hidden}.sh-crumb a:hover{color:var(--ink)}.sh-crumb .si{width:14px;height:14px}.sh-crumb .sh-back{min-height:36px;color:var(--accent-ink);white-space:nowrap;border-radius:9px;flex:0 auto;align-items:center;gap:4px;min-width:0;max-width:65%;margin-left:-6px;padding:0 10px 0 6px;font-weight:600;display:inline-flex}.sh-crumb .sh-back span{text-overflow:ellipsis;overflow:hidden}.sh-crumb .sh-back .si{flex:none;transform:rotate(180deg)}.sh-crumb .sh-back:hover{background:var(--win-3);color:var(--ink)}.sh-crumb .sh-back:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sh-crumb .sh-crumb-div{background:var(--line-2);flex:none;width:1px;height:18px;margin:0 6px 0 2px}.sh-tr{justify-content:flex-end;align-items:center;gap:6px;display:flex}.sh-tr .clock{font:500 13px var(--mono);color:var(--ink-2);white-space:nowrap;margin-right:4px}.sh-ib{width:38px;height:38px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid;position:relative}.sh-ib:hover{background:var(--win-3);color:var(--ink)}.sh-ib .pip{background:var(--accent);border:2px solid var(--win-2);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:9px}.sh-phone-only{display:none!important}.sh-search{position:relative}.sh-gs{background:var(--win);border:1px solid var(--line-2);height:38px;color:var(--ink-3);border-radius:10px;align-items:center;gap:10px;padding:0 6px 0 12px;display:flex;box-shadow:0 1px 2px #1012160d}.sh-gs:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sh-gs input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;height:100%;font-size:14px}.sh-gs input::placeholder{color:var(--ink-3)}.sh-kbd{font:500 11.5px/1 var(--mono);background:var(--win-3);color:var(--ink-2);border:1px solid var(--line);border-radius:6px;padding:4px 6px}.sh-results{background:var(--win);box-shadow:var(--shadow-pop);z-index:40;border-radius:12px;max-height:min(70dvh,520px);padding:6px;position:absolute;top:44px;left:0;right:0;overflow-y:auto}.sh-results h6{font:600 11px/1 var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:8px 10px 4px}.sh-results a{border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sh-results a:hover,.sh-results a.on{background:var(--win-3)}.sh-results a b{font-size:14px;font-weight:550;display:block}.sh-results a small{color:var(--ink-3);font-size:12.5px;display:block}.sh-results .empty{color:var(--ink-3);padding:14px 10px;font-size:14px}.sh-content{flex:1;width:100%;max-width:1240px;padding:28px 32px 140px}.sh .btn{min-height:40px;font:550 14px/1.1 var(--font);white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.sh .btn .si{width:16px;height:16px}.sh .btn-p{background:var(--accent);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #10121633}.sh .btn-p:hover{background:var(--accent-hover)}.sh .btn-g{background:var(--win);color:var(--ink);border-color:var(--line-2);box-shadow:0 1px 2px #1012160d}.sh .btn-g:hover{background:var(--win-2);border-color:var(--ink-3)}.sh .btn-q{color:var(--ink-2)}.sh .btn-q:hover{background:var(--win-3);color:var(--ink)}.sh .btn-sm{border-radius:9px;min-height:34px;padding:0 12px;font-size:13px}.sh .btn-lg{border-radius:12px;min-height:48px;padding:0 22px;font-size:15.5px}.sh .btn[disabled]{opacity:.55;cursor:default}.sh .link{color:var(--accent-ink);align-items:center;gap:4px;font-size:13.5px;font-weight:550;display:inline-flex}.sh .link:hover{text-underline-offset:3px;text-decoration:underline}.sh .link .si{width:14px;height:14px}.sh .chip{white-space:nowrap;border-radius:8px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12.5px;font-weight:550;display:inline-flex}.sh .chip .si{width:14px;height:14px}.sh .chip.used{background:var(--accent-soft);color:var(--accent-ink)}.sh a.chip.used:hover{text-decoration:underline}.sh .chip.solo{background:var(--win-3);color:var(--ink-2)}.sh .chip.ok{background:var(--ok-bg);color:var(--ok)}.sh .chip.soon{background:var(--win-3);color:var(--ink-2)}.sh .sc{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:0 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.sh .sc:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.sh .sc.need{background:var(--accent-soft);color:var(--accent-ink)}.sh .sc.wait{background:var(--warn-bg);color:var(--warn)}.sh .sc.work{background:var(--work-bg);color:var(--work)}.sh .sc.done{background:var(--ok-bg);color:var(--ok)}.sh button.sc{cursor:pointer;border:1px solid #0000}.sh button.sc[aria-pressed=true]{border-color:currentColor}.sh .sc .si{width:12px;height:12px}.sh .sc .n{font-variant-numeric:tabular-nums;opacity:.85}.sh .dot{white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:550;display:inline-flex}.sh .dot:before{content:"";background:var(--d,var(--ink-3));border-radius:50%;width:7px;height:7px}.sh .dot.live{--d:var(--ok)}.sh .dot.draft{--d:#8b93a1}.sh .dot.preview:before{background:0 0;box-shadow:inset 0 0 0 2px #8b93a1}.sh .dot.down{--d:#c2410c}.sh .card{background:var(--win);box-shadow:var(--shadow-card);border-radius:14px;min-width:0}.sh .card-h{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px;display:flex}.sh .card-h h2{letter-spacing:-.01em;font-size:15.5px;font-weight:600}.sh .card-h .n{color:var(--ink-3);font-size:13px}.sh .card-h .r{margin-left:auto}.sh .card-b{padding:18px 20px}.sh .ph{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.sh .ph .eb{font:500 13px var(--mono);color:var(--ink-3);margin-bottom:6px}.sh .ph h1{letter-spacing:-.03em;font-size:32px}.sh .ph .sub{color:var(--ink-2);margin-top:6px;font-size:15px}.sh .ph .acts{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.sh .ph .ttl{align-items:center;gap:12px;display:flex}.sh .showing{background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;display:flex}.sh .showing b{font-weight:650}.sh .showing a,.sh .showing button{text-underline-offset:3px;margin-left:auto;font-weight:600;text-decoration:underline}.sh .t{--c:var(--graphite);--on:#fff;background:var(--c);color:var(--on);border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff47,inset 0 -1px #0000001f,0 4px 10px -5px #11131c73}.sh .t .si{stroke-width:2.2px;width:20px;height:20px}.sh .t.s{border-radius:9px;width:30px;height:30px}.sh .t.s .si{width:16px;height:16px}.sh .t.l{border-radius:15px;width:56px;height:56px}.sh .t.l .si{width:26px;height:26px}.sh .t.is-soon{filter:saturate(.35);opacity:.85}.sh .c-coral{--c:var(--coral);--on:#11131c}.sh .c-green{--c:var(--green);--on:#11131c}.sh .c-yellow{--c:var(--yellow);--on:#11131c}.sh .c-violet{--c:var(--violet);--on:#fff}.sh .c-sky{--c:var(--sky);--on:#11131c}.sh .c-cobalt{--c:var(--cobalt);--on:#fff}.sh .c-pink{--c:var(--pink);--on:#11131c}.sh .c-teal{--c:var(--teal);--on:#11131c}.sh .c-graphite{--c:var(--graphite);--on:#fff}.sh .c-lime{--c:var(--lime);--on:#11131c}.sh .badge{background:var(--accent);color:#fff;min-width:22px;height:22px;font:600 12px/18px var(--font);text-align:center;border:2px solid var(--win);border-radius:11px;padding:0 6px;position:absolute;top:-7px;right:-7px}.sh .bt{background:var(--c);width:196px;height:164px;color:var(--on);box-shadow:var(--shadow-tile), inset 0 1px 0 #ffffff4d;border-radius:20px;flex-direction:column;justify-content:space-between;padding:30px 16px 16px;transition:transform .15s;display:flex;position:relative}.sh a.bt:hover{transform:translateY(-2px)}.sh .bt:before{content:"";background:var(--win-2);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:10px;left:50%;box-shadow:inset 0 2px 2px #00000040}.sh .bt .si{stroke-width:2.1px;width:34px;height:34px}.sh .bt .tn{font:600 17px/1.2 var(--font);letter-spacing:-.01em}.sh .bt .badge{border-color:var(--win-2);top:-8px;right:-8px}.sh .bt.add{border:2px dashed var(--line-2);box-shadow:none;color:var(--ink-2);text-align:center;background:0 0;justify-content:center;align-items:center;gap:8px}.sh .bt.add:before{display:none}.sh .bt.add .pl{background:var(--win);width:44px;height:44px;box-shadow:var(--shadow-card);color:var(--accent);border-radius:12px;place-items:center;display:grid}.sh .bt.add .pl .si{width:22px;height:22px}.sh .bt.add b{font-size:15px}.sh .bt.add small{color:var(--ink-3);font-size:12.5px}.sh .ledge{background:linear-gradient(var(--ledge-a), var(--ledge-b));border-radius:4px;height:14px;position:relative;box-shadow:inset 0 1px #ffffff80,0 10px 18px -10px #10121673}.sh .shelfrow{align-items:flex-end;gap:14px;padding:0 12px;display:flex}.sh-dock{background:var(--dock-bg);-webkit-backdrop-filter:blur(24px)saturate(170%);backdrop-filter:blur(24px)saturate(170%);min-width:220px;box-shadow:0 0 0 1px var(--line), 0 18px 40px -14px #10121659;z-index:30;border-radius:22px;justify-content:center;align-items:flex-end;gap:4px;padding:9px 10px 7px;display:flex;position:fixed;bottom:18px;left:calc(50vw + 126px);transform:translate(-50%)}.sh-dock .lab{white-space:nowrap;font:600 10.5px/1 var(--font);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);background:var(--main);box-shadow:var(--shadow-card);border-radius:6px;padding:3px 8px;position:absolute;top:-11px;left:14px}.sh-dk{border-radius:12px;flex-direction:column;align-items:center;gap:4px;width:72px;padding-top:2px;display:flex}.sh-dk .t{border-radius:13px;width:46px;height:46px;transition:transform .15s}.sh-dk:hover .t{transform:translateY(-3px)}.sh-dk .t .si{width:22px;height:22px}.sh-dk .nm{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-size:11.5px;font-weight:500;overflow:hidden}.sh-dk .run{background:0 0;border-radius:50%;width:4px;height:4px}.sh-dk.on .run{background:var(--accent);border-radius:2px;width:16px}.sh-dk .badge{border-color:var(--win)}.sh-dk .t.add{border:1.5px dashed var(--line-2);box-shadow:none;color:var(--ink-3);background:0 0}.sh .home-grid{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.sh .row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 20px;display:flex}.sh .row:first-child{border-top:0}.sh .row .tx{flex:1;min-width:0}.sh .row .tx b{font-size:14.5px;font-weight:600;display:block}.sh .row .tx b a:hover{text-underline-offset:3px;text-decoration:underline}.sh .row .tx small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:13px;display:block;overflow:hidden}.sh .row .act{flex:none;align-items:center;gap:8px;display:flex}.sh .row .chev{color:var(--ink-3);display:none}.sh .filters{flex-wrap:wrap;gap:6px;display:flex}.sh .hshelf{border-top:1px solid var(--line);padding:16px 20px 18px}.sh .hshelf:first-child{border-top:0}.sh .hshelf .hd{align-items:center;gap:8px;margin-bottom:14px;display:flex}.sh .hshelf .hd b{font-size:14.5px;font-weight:600}.sh .hshelf .hd small{color:var(--ink-3);font-size:13px}.sh .hshelf .hd .link{margin-left:auto}.sh .hshelf .shelfrow{flex-wrap:nowrap;gap:8px;padding:8px 6px 0;overflow-x:auto}.sh .tt{text-align:center;flex-direction:column;flex:none;align-items:center;gap:6px;width:84px;padding-bottom:6px;display:flex}.sh .tt span.nm{font-size:12.5px;font-weight:500;line-height:1.25}.sh .hshelf .ledge{height:10px}.sh .projects{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.sh .proj{box-shadow:var(--shadow-card);background:var(--win);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.sh .proj:hover{box-shadow:var(--shadow-card), 0 10px 24px -14px #10121659}.sh .proj .thumb{background:linear-gradient(135deg,#14213d,#1f3a6e);height:128px;position:relative;overflow:hidden}.sh .proj .thumb img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.sh .proj .thumb .ph-ic{color:#ffffffbf;place-items:center;display:grid;position:absolute;inset:0}.sh .proj .thumb .ph-ic .si{width:34px;height:34px}.sh .proj{position:relative}.sh .proj .meta{flex-direction:column;flex:1;gap:4px;padding:12px 14px 14px;display:flex}.sh .proj .proj-link{color:inherit;text-decoration:none}.sh .proj .proj-link:after{content:"";border-radius:12px;position:absolute;inset:0}.sh .proj .proj-link:focus-visible{outline:none}.sh .proj .proj-link:focus-visible:after{box-shadow:0 0 0 2px var(--accent)}.sh .proj .why{z-index:1;box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;margin-top:6px;padding:5px 10px;font-size:12.5px;font-weight:600;line-height:1.3;text-decoration:none;display:flex;position:relative}.sh .proj .why .si{flex:none;width:13px;height:13px}.sh .proj a.why:hover{text-decoration:underline}.sh .proj a.why:focus-visible{outline-offset:2px;outline:2px solid}.sh .proj .why.need{background:var(--accent-soft);color:var(--accent-ink)}.sh .proj .why.wait{background:var(--warn-bg);color:var(--warn)}.sh .proj .why.work{background:var(--work-bg);color:var(--work)}.sh .proj .why.none{visibility:hidden}.sh .proj .why.done{background:var(--ok-bg);color:var(--ok)}.sh .proj .meta b{font-size:14.5px;font-weight:600}.sh .proj .meta .kind{color:var(--ink-3);align-items:center;gap:6px;font-size:12.5px;display:flex}.sh .proj .meta .kind .si{width:14px;height:14px}.sh .proj .meta .url{font:12.5px var(--mono);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sh .proj .meta .ft{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.sh .proj.new{border:2px dashed var(--line-2);box-shadow:none;text-align:center;background:0 0;justify-content:center;align-items:center;gap:10px;min-height:230px;padding:24px}.sh .proj.new .ics{gap:6px;display:flex}.sh .proj.new b{font-size:15px}.sh .proj.new p{color:var(--ink-3);max-width:240px;font-size:13.5px}.sh .proj.new.connect{background:var(--win);box-shadow:var(--shadow-card);border:0}.sh .proj.new.connect:hover{box-shadow:0 0 0 1.5px var(--accent)}.sh .empty{align-items:flex-start;gap:16px;padding:26px 22px;display:flex}.sh .empty .tx b{margin-bottom:4px;font-size:15px;display:block}.sh .empty .tx p{color:var(--ink-2);max-width:520px;font-size:14px}.sh .empty .tx .btns{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.sh .card.empty,.sh .card .empty{isolation:isolate;position:relative;overflow:hidden}.sh .card.empty:after,.sh .card .empty:after{content:"";z-index:-1;pointer-events:none;background:var(--ink);opacity:.05;width:120px;height:120px;position:absolute;bottom:-16px;right:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12c-2-2.7-3.8-4-5.5-4a4 4 0 0 0 0 8c1.7 0 3.5-1.3 5.5-4s3.8-4 5.5-4a4 4 0 0 1 0 8c-1.7 0-3.5-1.3-5.5-4z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 12c-2-2.7-3.8-4-5.5-4a4 4 0 0 0 0 8c1.7 0 3.5-1.3 5.5-4s3.8-4 5.5-4a4 4 0 0 1 0 8c-1.7 0-3.5-1.3-5.5-4z'/%3E%3C/svg%3E") 50%/contain no-repeat}.sh .card .empty .empty:after{display:none}@media (max-width:640px){.sh .card.empty:after,.sh .card .empty:after{display:none}}.sh .hint{background:var(--accent-soft);color:var(--accent-ink);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;line-height:1.45;display:flex}.sh .hint .si{margin-top:2px}.sh .hint b{color:inherit;font-weight:650}.sh .kit-stage{background:var(--win);box-shadow:var(--shadow-card);border-radius:16px;margin-bottom:20px;padding:30px 26px 22px}.sh .kit-shelf{flex-wrap:wrap;gap:28px 18px;padding:8px 10px 0;display:flex}.sh .kit-col{flex-direction:column;gap:10px;width:196px;display:flex}.sh .kit-col .under{flex-direction:column;align-items:flex-start;gap:6px;min-height:64px;display:flex}.sh .kit-col .under .cnt{font-size:13.5px;font-weight:550}.sh .kit-col .chip{white-space:normal;max-width:100%;height:auto;min-height:28px;padding:5px 10px;line-height:1.3}.sh .used-card{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.sh .used-card .txt{flex:220px;min-width:0}.sh .kit-col .under .cnt a:hover{text-decoration:underline}.sh .kit-col .tools{flex-wrap:wrap;gap:4px;display:flex}.sh .kit-col .tools button{width:32px;height:32px;color:var(--ink-3);border-radius:8px;place-items:center;display:grid}.sh .kit-col .tools button:hover{background:var(--win-3);color:var(--ink)}.sh .kit-col .tools button .si{width:16px;height:16px}.sh .kit-col .tools button.on{color:var(--accent)}.sh .shelf-ledge{margin:-2px 0 0}.sh .ready{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.sh .ready .card{flex-direction:column;gap:8px;padding:16px;display:flex}.sh .ready .ics{gap:6px;display:flex}.sh .ready b{font-size:15px}.sh .ready p{color:var(--ink-2);font-size:13.5px}.sh .shelf-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.sh .shelf-card{flex-direction:column;gap:14px;padding:18px 20px 20px;display:flex}.sh .shelf-card .hd{align-items:center;gap:10px;display:flex}.sh .shelf-card .hd b{font-size:16px}.sh .shelf-card .hd small{color:var(--ink-3);font-size:13px}.sh .swatches{flex-wrap:wrap;gap:6px;display:flex}.sh .swatches button{background:var(--c);border-radius:8px;width:26px;height:26px;box-shadow:inset 0 0 0 1px #00000014}.sh .swatches button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.sh .field{flex-direction:column;gap:6px;display:flex}.sh .field label{font-size:13px;font-weight:600}.sh .input{border:1px solid var(--line-2);background:var(--win);height:40px;color:var(--ink);border-radius:10px;width:100%;padding:0 12px;font-size:14.5px}.sh .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.sh-scrim{z-index:60;background:#0a0c106b;justify-content:flex-end;display:flex;position:fixed;inset:0}.sh-sheet{background:var(--win);width:min(440px,100vw);height:100dvh;box-shadow:var(--shadow-pop);color:var(--ink);flex-direction:column;display:flex}.sh-sheet .sh-hd{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:20px 22px;display:flex}.sh-sheet .sh-hd small{color:var(--ink-3);font-size:12.5px;display:block}.sh-sheet .sh-hd h2{font-size:20px}.sh-sheet .sh-hd .x{margin-left:auto}.sh-sheet .sh-bd{flex-direction:column;flex:1;gap:10px;padding:20px 22px;display:flex;overflow-y:auto}.sh-sheet .sh-bd h3{margin-top:8px;font-size:15.5px}.sh-sheet .sh-bd .note{color:var(--ink-3);margin-bottom:4px;font-size:13px}.sh-sheet .sh-ft{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.sh .opt{border:1px solid var(--line-2);background:var(--win);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.sh .opt:hover{border-color:var(--ink-3)}.sh .opt.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--accent-soft)}.sh .opt b{font-size:14.5px;display:block}.sh .opt small{color:var(--ink-3);font-size:12.5px;display:block}.sh .opt input{accent-color:var(--accent);flex:none;width:18px;height:18px}.sh .opt[aria-disabled=true]{opacity:.6;cursor:default}.sh-pick-list{flex-direction:column;gap:6px;display:flex}.sh-pick-list .opt .t{flex:none}.sh .cat-search{background:var(--win);border:1px solid var(--line-2);height:46px;color:var(--ink-3);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:0 14px;display:flex}.sh .cat-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.sh .cat-search input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:15px}.sh .segs{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.sh .seg{background:var(--win);min-height:36px;box-shadow:var(--shadow-card);color:var(--ink-2);border-radius:10px;align-items:center;gap:6px;padding:0 13px;font-size:14px;font-weight:550;display:inline-flex}.sh .seg:hover{color:var(--ink)}.sh .seg[aria-pressed=true]{background:var(--ink);color:var(--win);box-shadow:none}.sh .seg .n{opacity:.7;font-size:12px}.sh .sec-h{flex-wrap:wrap;align-items:baseline;gap:10px;margin:6px 0 12px;display:flex}.sh .sec-h h2{font-size:19px}.sh .sec-h small{color:var(--ink-3);font-size:13.5px}.sh .sec-h .r{margin-left:auto}.sh .tool-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:30px;display:grid}.sh .tcard{background:var(--win);box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.sh .tcard:hover{box-shadow:var(--shadow-card), 0 12px 26px -16px #10121666}.sh .tcard .pv{aspect-ratio:16/7;background:var(--win-3);display:block;position:relative;overflow:hidden}.sh .tcard .pv img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.sh .tcard .bd{flex-direction:column;flex:1;gap:8px;padding:14px 16px 16px;display:flex}.sh .tcard .tc-cat{min-height:24px;color:var(--ink-3);font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;padding:0;font-size:11.5px;font-weight:650;display:inline-flex}.sh .tcard .tc-cat:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.sh .tcard .tc-cat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .tcard .nm{align-items:center;gap:10px;display:flex}.sh .tcard .nm b{font-size:15.5px;font-weight:600}.sh .tcard .nm a:hover b{text-underline-offset:3px;text-decoration:underline}.sh .tcard p{color:var(--ink-2);font-size:13.5px;line-height:1.45}.sh .tcard .ft{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.sh .tcard .ft .r{margin-left:auto}.sh .frame{background:var(--win);box-shadow:var(--shadow-card);border-radius:10px 10px 0 0;flex-direction:column;display:flex;position:absolute;inset:10px 10px 0;overflow:hidden}.sh .frame .fb{border-bottom:1px solid var(--line);height:22px;color:var(--ink-2);align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.sh .frame .fb i{background:var(--c);border-radius:3px;width:8px;height:8px}.sh .frame .fbody{background:repeating-linear-gradient(135deg, transparent 0 10px, var(--win-2) 10px 20px);flex:1;place-items:center;display:grid}.sh .frame .fbody .t{transform:scale(1.1)}.sh .soon-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin-bottom:18px;display:grid}.sh .soon{background:var(--win);box-shadow:var(--shadow-card);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.sh .soon .tx{flex:1;min-width:0}.sh .soon .tx b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.sh .soon .tx small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.sh .crumbs{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;font-size:14px;display:flex}.sh .crumbs a{color:var(--accent-ink);font-weight:550}.sh .crumbs .si{width:14px;height:14px}.sh .td-hero{background:var(--win);box-shadow:var(--shadow-card);border-radius:16px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;margin-bottom:20px;padding:22px;display:grid}.sh .td-pv{background:var(--win-3);aspect-ratio:16/11;border-radius:14px;position:relative;overflow:hidden}.sh .td-pv img{object-fit:cover;object-position:top left;width:100%;height:100%}.sh .td-pv .cap{background:var(--win);box-shadow:var(--shadow-card);border-radius:9px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:550;display:inline-flex;position:absolute;bottom:14px;left:14px}.sh .td-pv .cap .si{width:14px;height:14px}.sh .td-info{flex-direction:column;gap:14px;display:flex}.sh .td-info .hd{align-items:center;gap:14px;display:flex}.sh .td-info .hd small{color:var(--ink-3);font-size:13px}.sh .td-info .hd h1{letter-spacing:-.03em;font-size:28px}.sh .td-info .lead{color:var(--ink-2);font-size:16px}.sh .td-box{background:var(--win-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;font-size:13.5px;display:flex}.sh .td-box .chips{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sh .td-acts{flex-wrap:wrap;gap:10px;display:flex}.sh .td-acts .btn{flex:180px}.sh .td-note{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.sh .feat{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px 24px;display:grid}.sh .feat li{color:var(--ink-2);align-items:flex-start;gap:10px;font-size:14px;display:flex}.sh .feat li .ic{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;display:grid}.sh .feat li .ic .si{width:15px;height:15px}.sh ul.feat,.sh ul.plain{margin:0;padding:0;list-style:none}.sh ul.plain li{color:var(--ink-2);padding:3px 0 3px 16px;font-size:14px;position:relative}.sh ul.plain li:before{content:"";background:var(--ink-3);border-radius:50%;width:5px;height:5px;position:absolute;top:12px;left:2px}.sh .two{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.sh .tabsx{border-bottom:1px solid var(--line-2);gap:26px;margin-bottom:20px;display:flex;overflow-x:auto}.sh .tabsx a{color:var(--ink-3);white-space:nowrap;align-items:center;gap:7px;padding:0 2px 12px;font-size:14.5px;font-weight:500;display:flex}.sh .tabsx a:hover{color:var(--ink)}.sh .tabsx a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2.5px 0 var(--accent);font-weight:600}.sh .tabsx a .n{color:var(--accent-ink);background:var(--accent-soft);border-radius:8px;padding:0 6px;font-size:12px}.sh .tabsx a .si{width:14px;height:14px}.sh .ptools{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.sh .ptool{flex-direction:column;gap:12px;padding:18px;display:flex}.sh .ptool .hd{align-items:center;gap:12px;display:flex}.sh .ptool .hd b{font-size:16px}.sh .ptool .big{align-items:baseline;gap:10px;display:flex}.sh .ptool .big strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:32px;font-weight:650}.sh .ptool .big span{color:var(--ink-2);font-size:13.5px;line-height:1.3}.sh .ptool .lines{border-top:1px solid var(--line)}.sh .ptool .lines div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.sh .ptool .lines div span:last-child{color:var(--ink-3);white-space:nowrap}.sh .ptool .chips{flex-wrap:wrap;gap:6px;display:flex}.sh .phero{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:20px;display:flex}.sh .phero .pthumb{width:160px;height:96px;box-shadow:var(--shadow-card);color:#ffffffb3;background:linear-gradient(135deg,#14213d,#1f3a6e);border-radius:12px;flex:none;place-items:center;display:grid;overflow:hidden}.sh .phero .pthumb img{object-fit:cover;object-position:top;width:100%;height:100%}.sh .phero h1{letter-spacing:-.03em;font-size:28px}.sh .phero .meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;font-size:13.5px;display:flex}.sh .phero .acts{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.sh .plist .row .t{flex:none}.sh .list-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.sh .list-tools .cat-search{flex:260px;height:42px;margin:0}.sh .select{border:1px solid var(--line-2);background:var(--win);height:42px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14px}.sh-toast{background:var(--ink);color:var(--win);z-index:80;box-shadow:var(--shadow-pop);border-radius:10px;padding:10px 16px;font-size:14px;font-weight:550;position:fixed;bottom:110px;left:50%;transform:translate(-50%)}.sh-tabbar,.sh-drawer-scrim{display:none}@media (max-width:1100px){.sh .home-grid,.sh .td-hero{grid-template-columns:1fr}.sh-tr .clock{display:none}}@media (max-width:860px){.sh{grid-template-columns:minmax(0,1fr)}.sh-side{z-index:70;visibility:hidden;width:min(300px,86vw);box-shadow:var(--shadow-pop);transition:transform .22s,visibility 0s linear .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.sh.drawer-open .sh-side{visibility:visible;transition:transform .22s;transform:none}.sh.drawer-open .sh-drawer-scrim{z-index:65;background:#0a0c106b;display:block;position:fixed;inset:0}.sh-top{grid-template-columns:auto 1fr auto;gap:8px;height:56px;padding:0 10px}.sh-top .sh-crumb,.sh-top .sh-search.desk{display:none}.sh-top.has-back .pbrand{display:none!important}.sh-top .sh-crumb.has-back{display:flex}.sh-top .sh-crumb.has-back>:not(.sh-back){display:none}.sh-top .sh-crumb.has-back .sh-back{max-width:100%;min-height:44px;font-size:15px}.sh-phone-only{display:flex!important}.sh-top .pbrand{align-items:center;gap:8px;font-size:17px;font-weight:650;display:flex}.sh-top .pbrand .sh-mark{width:28px;height:28px}.sh-top .av{background:var(--ink);width:34px;height:34px;color:var(--win);font:600 12.5px var(--font);border-radius:50%;place-items:center;display:grid}.sh-psearch{background:var(--win-2);border-bottom:1px solid var(--line);z-index:25;padding:10px;position:fixed;top:56px;left:0;right:0}.sh-psearch .sh-results{top:54px;left:10px;right:10px}.sh-content{padding:18px 16px 120px}.sh{background:var(--main)}.sh-top .theme-toggle{display:none}.sh-tr{gap:2px}.sh-ib{width:36px;height:36px}.sh .kit-col .tools button,.sh .kit-col .tools a{width:28px!important;height:28px!important}.sh .kit-col .tools{gap:0}.sh .empty{flex-direction:column;gap:12px;padding:20px 16px}.sh .ph h1{font-size:27px}.sh .ph .acts{width:100%;margin-left:0}.sh-dock{display:none}.sh-tabbar{z-index:30;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:var(--dock-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.sh-tabbar a,.sh-tabbar button{color:var(--ink-2);flex-direction:column;align-items:center;gap:3px;min-height:52px;font-size:11.5px;font-weight:550;display:flex}.sh-tabbar .t{border-radius:11px;width:38px;height:38px}.sh-tabbar .t .si{width:19px;height:19px}.sh-tabbar .t.plain{background:var(--win-3);color:var(--ink-2);box-shadow:none}.sh-tabbar [aria-current=page]{color:var(--accent-ink)}.sh-tabbar [aria-current=page] .t.plain{background:var(--accent);color:#fff}.sh-tabbar .badge{min-width:20px;height:20px;font-size:11px;line-height:16px;top:-6px;right:-8px}.sh-tabbar .nm{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.sh .row{align-items:flex-start;gap:12px;padding:12px 14px}.sh .row.nav{position:relative}.sh .row.nav .tx b a:after{content:"";position:absolute;inset:0}.sh .row.nav .act{display:none}.sh .row.nav .chev{align-self:center;display:block}.sh .row .tx small{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.sh .card-h,.sh .hshelf{padding:14px}.sh .kit-stage{padding:20px 12px 16px}.sh .kit-shelf{justify-content:center;gap:22px 12px;padding:8px 4px 0}.sh .kit-col{width:calc(50% - 6px)}.sh .kit-col .bt{border-radius:16px;width:100%;height:132px;padding:26px 12px 12px}.sh .kit-col .bt .si{width:28px;height:28px}.sh .kit-col .bt .tn{font-size:15px}.sh .two{grid-template-columns:1fr}.sh .td-hero{gap:18px;padding:14px}.sh .td-info .hd h1{font-size:24px}.sh .phero .pthumb{width:100%;height:140px}.sh .phero .acts{margin-left:0}.sh .tool-grid,.sh .projects{grid-template-columns:1fr}.sh-sheet{width:100vw}.sh-toast{bottom:96px}}@media (prefers-reduced-motion:reduce){.sh *,.sh-side{transition:none!important}}.sh .si.flip{transform:rotate(180deg)}.sh .kit-col .tools button[disabled]{opacity:.35;cursor:default}@media (hover:hover) and (min-width:861px){.sh .kit-col .tools{opacity:0;transition:opacity .15s}.sh .kit-col:hover .tools,.sh .kit-col:focus-within .tools{opacity:1}}@media (max-width:860px){.sh .home-projects .proj{flex-direction:row;align-items:center}.sh .home-projects .proj .thumb{border-radius:10px;flex:none;width:92px;height:72px;margin:10px 0 10px 10px}.sh .home-projects .proj .meta .url,.sh .home-projects .proj .why.none{display:none}.sh .home-projects .proj.new{flex-direction:column;min-height:0;padding:18px}.sh .home-projects .proj.new .ics{display:none}}.sh .tcard .pv picture,.sh .td-pv picture{display:contents}.sh .td-pv{aspect-ratio:16/10}.sh .td-pv-link{border-radius:inherit;display:block;position:absolute;inset:0}.sh .td-pv-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.sh .pg{margin-bottom:20px}.sh .pg figure{margin:0}.sh .pg-h{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.sh .pg-h h2{margin-bottom:4px;font-size:18px}.sh .pg-h .muted{max-width:60ch}.sh .pg-date{color:var(--ink-2);background:var(--win-3);border-radius:9px;flex:none;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:550;display:inline-flex}.sh .pg-date .si{width:14px;height:14px}.sh .pg-stage{background:var(--win-3);border-radius:14px;grid-template-columns:minmax(0,1fr) 220px;align-items:end;gap:24px;padding:22px;display:grid}.sh .pg-desk{background:var(--win);box-shadow:var(--shadow-pop);border-radius:10px;overflow:hidden}.sh .pg-bar{background:var(--win-2);border-bottom:1px solid var(--line);align-items:center;gap:6px;height:24px;padding:0 10px;display:flex}.sh .pg-bar i{background:var(--line-2);border-radius:50%;width:8px;height:8px}.sh .pg-desk img,.sh .pg-phone img{width:100%;height:auto;display:block}.sh .pg-phone{background:var(--graphite);box-shadow:var(--shadow-pop);border-radius:30px;padding:8px}.sh .pg-phone a{aspect-ratio:390/600;border-radius:23px;display:block;overflow:hidden}.sh .pg-phone img{object-fit:cover;object-position:top;height:100%}.sh .pg-desk a:focus-visible,.sh .pg-phone a:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.sh .pg-cap{color:var(--ink-2);margin:14px 2px 0;font-size:14px}.sh .pg-cap b{color:var(--ink);font-weight:600}.sh .pg-strip{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:18px;display:grid}.sh .pg-thumb{border:1px solid var(--line);background:var(--win);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:8px;display:flex}.sh .pg-thumb:hover{border-color:var(--line-2)}.sh .pg-thumb:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sh .pg-thumb[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.sh .pg-mini{aspect-ratio:16/10;background:var(--win-3);border-radius:7px;display:block;overflow:hidden}.sh .pg-mini img{object-fit:cover;object-position:top left;width:100%;height:100%;display:block}.sh .pg-name{align-items:center;gap:8px;padding:0 2px 2px;font-size:13px;font-weight:600;line-height:1.3;display:flex}.sh .pg-sw{flex:none;display:inline-flex}.sh .pg-sw i{width:12px;height:12px;box-shadow:0 0 0 2px var(--win);border-radius:50%}.sh .pg-sw i+i{margin-left:-4px}@media (max-width:860px){.sh .pg-h{flex-direction:column;gap:10px}.sh .pg-stage{grid-template-columns:1fr;justify-items:center;gap:18px;padding:14px}.sh .pg-desk{width:100%}.sh .pg-phone{width:200px}.sh .pg-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.sh .gs-h{padding:24px 28px 4px}.sh .gs-h h2{letter-spacing:-.015em;font-size:19px}.sh .gs-h p{color:var(--ink-2);margin-top:4px;font-size:14.5px}.sh .gs-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:20px 28px 26px;list-style:none;display:grid}.sh .gs-steps li{background:var(--win-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:14px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;display:flex;position:relative}.sh .gs-steps li b{margin-top:6px;font-size:15.5px;font-weight:600}.sh .gs-steps li p{color:var(--ink-2);flex:1;margin-bottom:8px;font-size:14px}.sh .gs-n{width:26px;height:26px;font:600 13px var(--font);color:var(--ink-2);background:var(--win);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:50%;place-items:center;display:grid;position:absolute;top:18px;right:18px}.sh .gs-n .si{width:15px;height:15px}.sh .gs-steps li.done .gs-n{background:var(--ok-bg);color:var(--ok);box-shadow:none}.sh .gs-tiles{gap:6px;display:flex}.sh .gs-btns{flex-wrap:wrap;gap:8px;display:flex}.sh .gs-kits{flex-wrap:wrap;gap:6px;display:flex}.sh .gs-kits .chip{background:var(--win);min-height:34px;color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;border:0;padding:0 12px;font-family:inherit;font-size:13px}.sh .gs-kits .chip:hover{color:var(--ink)}.sh .gs-kits .chip.on{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.sh .gs-kits .chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .gs-kit-tools{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 8px;display:flex}.sh .gs-kit-tools small{color:var(--ink-2);font-size:13px}.sh .gs-f{border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 28px;font-size:14px;display:flex}.sh .gs-f>.si{width:16px;height:16px;color:var(--ink-3)}.sh .hshelf .shelfrow{scrollbar-width:none}.sh .hshelf .shelfrow::-webkit-scrollbar{display:none}.sh-top .av.sh-phone-only{flex:none;justify-content:center;align-items:center;margin-left:2px}@media (max-width:860px){.sh-content{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.sh .gs-h{padding:18px 16px 0}.sh .gs-steps{grid-template-columns:1fr;gap:12px;padding:16px}.sh .gs-steps li{padding:16px}.sh .gs-steps li .btn{width:100%}.sh .gs-f{padding:14px 16px}}@media (min-width:861px) and (max-width:1100px){.sh .gs-steps{grid-template-columns:1fr}}.sh .td-more{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:stretch;gap:20px;margin-bottom:28px;display:grid}.sh .td-what{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.sh .td-col{padding:24px 26px}.sh .td-what h2,.sh .td-know h2{letter-spacing:-.01em;margin-bottom:16px;font-size:17px}.sh .td-what .feat{grid-template-columns:1fr;gap:14px}.sh .td-what .feat li{color:var(--ink);font-size:14.5px;line-height:1.45}.sh .td-best{border-left:1px solid var(--line);background:var(--win-2);border-radius:0 14px 14px 0}.sh ul.best,.sh ul.notfor{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.sh ul.best li{color:var(--ink);align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.45;display:flex}.sh ul.best li .si{width:16px;height:16px;color:var(--accent);flex:none;margin-top:2px}.sh .td-know{padding:24px 26px}.sh .td-know ul.plain li{padding-top:4px;padding-bottom:4px;line-height:1.5}.sh .td-know h3{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);border-top:1px solid var(--line);margin:18px 0 10px;padding-top:16px;font-size:12px;font-weight:600}.sh ul.notfor{gap:8px}.sh ul.notfor li{color:var(--ink-2);align-items:flex-start;gap:8px;font-size:14px;line-height:1.45;display:flex}.sh ul.notfor li .si{width:15px;height:15px;color:var(--ink-3);flex:none;margin-top:2px}@media (max-width:1100px){.sh .td-more{grid-template-columns:1fr}}@media (max-width:860px){.sh .td-what{grid-template-columns:1fr}.sh .td-col,.sh .td-know{padding:18px 16px}.sh .td-best{border-left:0;border-top:1px solid var(--line);border-radius:0 0 14px 14px}}.sh .td-more{grid-template-columns:1fr;gap:16px}.sh .td-know{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:0;display:grid}.sh .td-not{border-left:1px solid var(--line)}.sh .td-what .feat{grid-template-columns:1fr}.sh-dock.no-pins{min-width:0;padding:9px 12px 7px}@media (max-width:860px){.sh .td-know{grid-template-columns:1fr;padding:0}.sh .td-not{border-left:0;border-top:1px solid var(--line)}}.sh .phero .meta .client{color:var(--ink-2);align-items:center;gap:6px;display:inline-flex}.sh .phero .meta .client:before{content:"";background:var(--ink-3);border-radius:50%;width:4px;height:4px}@media (max-width:860px){.sh .phero .pthumb.empty{display:none}.sh .phero .acts{width:100%}.sh .phero .acts .btn{flex:1 1 0}.sh .tabsx{scrollbar-width:none;gap:22px;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.sh .tabsx::-webkit-scrollbar{display:none}.sh .td-pv .cap{padding:5px 8px;font-size:12px;bottom:10px;left:10px}}.sh .soon{align-items:flex-start}.sh .soon .btn{align-self:center}.sh .soon .tx b{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box}.sh .soon .tx small{margin-top:2px}.sh .td-acts .td-open{flex-basis:100%}.sh .hshelf .ledge{display:none}.sh .hshelf .shelfrow{padding-bottom:2px}:root[data-theme=dark] .sh .tcard .pv img,:root[data-theme=dark] .sh .td-pv img,:root[data-theme=dark] .sh .pg-desk img{filter:brightness(.9)}:root[data-theme=dark] .sh .tcard .pv{box-shadow:inset 0 -1px 0 var(--line)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sh .tcard .pv img,:root:not([data-theme=light]) .sh .td-pv img,:root:not([data-theme=light]) .sh .pg-desk img{filter:brightness(.9)}}.sh-ib.sh-report{white-space:nowrap;border:1px solid var(--line-2);flex:none;gap:7px;width:auto;height:36px;padding:0 12px 0 10px;font-size:13.5px;font-weight:550;display:inline-flex}.sh-ib.sh-report .si{width:16px;height:16px}@media (max-width:1360px){.sh-ib.sh-report{border:0;width:38px;height:38px;padding:0;display:grid}.sh-ib.sh-report .lbl{display:none}}@media (max-width:760px){.sh-ib.sh-report{width:36px;height:36px}}.sh-dock{transition:opacity .18s,transform .18s}body:has(.sh-content textarea:focus,.sh-content input[type=text]:focus) .sh-dock{opacity:0;pointer-events:none;transform:translate(-50%)translateY(12px)}@media (prefers-reduced-motion:reduce){.sh-dock{transition:none}}.sh{--sh-bottom:0px}.sh.has-dock{--sh-bottom:100px}.sh-content{padding-bottom:calc(var(--sh-bottom) + 24px)}.sh:not(.has-dock) .sh-content{padding-bottom:64px}.sh-dockbar{height:var(--sh-bottom);z-index:29;background:var(--main);border-top:1px solid var(--line);position:fixed;bottom:0;left:252px;right:0}.sh-dock{box-shadow:0 0 0 1px var(--line), 0 6px 18px -10px #10121647;padding:6px 10px 4px;bottom:9px}.sh-dk .t{width:42px;height:42px}html:has(.sh-dock){scroll-padding-bottom:124px}.sh:has(.cpf-detail){--sh-bottom:0px}.sh:has(.cpf-detail) .sh-dockbar{display:none}body.ak-side-open .sh-dockbar{display:none}@media (max-width:860px){.sh,.sh.has-dock{--sh-bottom:calc(69px + env(safe-area-inset-bottom))}.sh:has(.cpf-detail){--sh-bottom:calc(69px + env(safe-area-inset-bottom))}.sh-dockbar{display:none}.sh-content,.sh:not(.has-dock) .sh-content{padding-bottom:calc(var(--sh-bottom) + 24px)}html:has(.sh-tabbar){scroll-padding-bottom:93px}}.sh-toast{bottom:calc(var(--sh-bottom) + 16px)}@media (min-width:861px){.sh-top{grid-template-columns:fit-content(380px) minmax(220px,1fr) auto}.sh-top .sh-search.desk{justify-self:center;width:100%;max-width:480px}.sh.has-dock .sh-dock{box-shadow:0 4px 14px -8px #1012164d}}.sh .cat-filters{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.sh .cat-filters .segs{margin-bottom:0}.sh .cf-row{flex-direction:column;gap:8px;display:flex}.sh .cf-two{flex-flow:wrap;align-items:flex-end;gap:12px 28px}.sh .cf-type,.sh .cf-ind{flex-direction:column;gap:8px;min-width:0;max-width:100%;display:flex}.sh .cf-row,.sh .cat-filters{min-width:0;max-width:100%}.sh .cf-l{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:650}.sh .seg .si{width:15px;height:15px}.sh .cat-select{min-height:36px;color:var(--ink);background:var(--win) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b93a1' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;box-shadow:var(--shadow-card);appearance:none;border:0;border-radius:10px;max-width:100%;padding:0 34px 0 12px;font-size:14px;font-weight:550}.sh .cat-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .cf-hint{color:var(--ink-3);font-size:12.5px}.sh .cat-group{margin-bottom:18px}.sh .cg-h{flex-wrap:wrap;align-items:baseline;gap:8px;margin:4px 0 10px;display:flex}.sh .cg-h h3{font-size:15px;font-weight:650}.sh .cg-h small{color:var(--ink-3);font-size:13px}.sh .cg-more{color:var(--accent-ink);align-items:center;gap:4px;min-height:32px;margin-left:auto;font-size:13px;font-weight:600;display:inline-flex}.sh .cg-more:hover{text-underline-offset:3px;text-decoration:underline}.sh .cg-more .si{width:14px;height:14px}.sh .cat-group .tool-grid{margin-bottom:12px}.sh .soon-h{border-top:1px solid var(--line);margin-top:18px;padding-top:22px}.sh .soon-list{background:var(--win);box-shadow:var(--shadow-card);border-radius:14px;margin:0 0 10px;padding:0;list-style:none;overflow:hidden}.sh .soon-row+.soon-row{border-top:1px solid var(--line)}.sh .soon-row.open{background:var(--win-2)}.sh .sr-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:13px 18px;display:grid}.sh .sr-tx{min-width:0}.sh .sr-nm{color:var(--ink);font-size:14.5px;font-weight:600}.sh .sr-nm:hover{text-underline-offset:3px;text-decoration:underline}.sh .sr-tx p{color:var(--ink-2);margin-top:2px;font-size:13.5px;line-height:1.45}.sh .sr-acts{grid-template-columns:214px 136px 96px 132px;place-items:center start;gap:6px;display:grid}.sh .sr-acts>.btn:last-child{justify-self:end}.sh .soon-row.open .sr-more .si{transform:rotate(180deg)}.sh .sr-feat{flex-direction:column;gap:10px;padding:2px 18px 16px;display:flex}.sh .sr-feat h4{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-size:12px;font-weight:650}.sh .sr-feat ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sh .sr-feat li{color:var(--ink);gap:8px;font-size:13.5px;line-height:1.45;display:flex}.sh .sr-feat li .si{width:15px;height:15px;color:var(--ok);flex:none;margin-top:2px}.sh .sr-feat>p{color:var(--ink-2);font-size:13.5px}.sh .sr-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:13px;display:flex}.sh .sr-meta b{color:var(--ink);font-weight:600}.sh .soon-all{margin-bottom:8px}.sh .chip.type-standalone,.sh .chip.type-module{background:var(--win-3);color:var(--ink-2)}.sh .chip.type-both{background:var(--accent-soft);color:var(--accent-ink)}@media (max-width:860px){.sh .sr-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:12px 14px}.sh .sr-acts{flex-wrap:wrap;justify-content:flex-start;display:flex}.sh .sr-acts>.btn:last-child{justify-self:auto}.sh .sr-slot{display:none}.sh .sr-feat{padding:0 14px 14px}.sh .cf-two{flex-direction:column;align-items:stretch}.sh .cat-select{width:100%}}.sh .tcard .ft>.chip{align-self:flex-start}@media (max-width:640px){.sh .cat-filters .segs{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;padding:2px 2px 6px;overflow-x:auto}.sh .cat-filters .segs::-webkit-scrollbar{display:none}.sh .cat-filters .seg{flex:none}.sh .cat-filters{gap:10px}.sh .cat-filters .segs{-webkit-mask-image:linear-gradient(90deg,#000 86%,#0000);mask-image:linear-gradient(90deg,#000 86%,#0000)}.sh .cg-h{flex-wrap:nowrap}.sh .cg-h h3,.sh .cg-more{white-space:nowrap}}.sh .show-tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin:-2px 0 26px;display:flex;overflow-x:auto}.sh .show-tabs::-webkit-scrollbar{display:none}.sh .show-tab{min-height:42px;color:var(--ink-2);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;gap:7px;margin-bottom:-1px;padding:0 14px;font-size:14.5px;font-weight:600;display:inline-flex}.sh .show-tab:hover{color:var(--ink)}.sh .show-tab[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent)}.sh .show-tab .n{background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 8px;font-size:12.5px;font-weight:650}.sh .show-tab[aria-pressed=true] .n{background:var(--accent-soft);color:var(--accent-ink)}.sh .show-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px 8px 0 0}@media (max-width:640px){.sh .show-tabs{gap:0}.sh .show-tab{gap:6px;padding:0 9px;font-size:14px}.sh .show-tab .n{padding:1px 6px;font-size:12px}}.sh-kit-row{align-items:center;gap:2px;display:flex}.sh-kit-row>a{flex:1;min-width:0}.sh-kit-tg{min-width:44px;min-height:34px;color:var(--ink-3);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;justify-content:flex-end;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.sh-kit-tg:hover{background:var(--win-3);color:var(--ink)}.sh-kit-tg:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sh-kit-tg .n{font-variant-numeric:tabular-nums;font-size:12.5px}.sh-kit-tg .si{width:14px;height:14px;transition:transform .15s}.sh-kit-tg .si.up{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.sh-kit-tg .si{transition:none}}.sh-kit-tools{border-left:1px solid var(--line-2);margin:0 0 4px 14px;padding:0 0 0 10px;list-style:none}.sh-nav .sh-kit-tools a{min-height:32px;color:var(--ink-2);gap:9px;font-size:13.5px;font-weight:450}.sh-nav .sh-kit-tools a:hover{color:var(--ink)}.sh-kit-dot{background:var(--tc,var(--ink-3));border-radius:3px;flex:none;width:8px;height:8px}.sh .btn-bad{background:var(--bad);color:#fff}.sh .btn-bad:hover{filter:brightness(.94)}.sh .si.flip-v{transform:rotate(180deg)}.sh .kx-menu{z-index:130;background:var(--win);min-width:236px;max-width:min(320px,100vw - 16px);max-height:calc(100dvh - 16px);box-shadow:var(--shadow-pop);color:var(--ink);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:fixed;overflow-y:auto}.sh .kx-menu button{min-height:38px;font:500 14px/1.2 var(--font);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.sh .kx-menu button .si{width:16px;height:16px;color:var(--ink-3);flex:none}.sh .kx-menu button .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sh .kx-menu button:hover,.sh .kx-menu button:focus-visible{background:var(--win-3);outline:0}.sh .kx-menu button:focus-visible{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 45%, transparent)}.sh .kx-menu button.off{color:var(--ink-3);cursor:default}.sh .kx-menu button.off:hover{background:0 0}.sh .kx-menu button.bad,.sh .kx-menu button.bad .si{color:var(--bad)}.sh .kx-menu button.bad:hover,.sh .kx-menu button.bad:focus-visible{background:var(--bad-bg)}.sh .kx-menu .kx-hint{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.sh .kx-menu .kx-more{margin-left:2px}.sh .kx-menu .kx-ck{color:var(--accent)!important}.sh .kx-menu .kx-back{color:var(--ink-2);font-weight:600}.sh .kx-sep{background:var(--line);flex:none;height:1px;margin:5px 6px}.sh .kx-sw{border-radius:4px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}@media (hover:none){.sh .kx-menu button{min-height:44px}}.kx-scrim{z-index:140;background:#0a0c106b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.sh .kx-dlg{background:var(--win);width:min(420px,100%);color:var(--ink);box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;gap:14px;padding:20px 22px;display:flex}.sh .kx-dlg form{flex-direction:column;gap:14px;display:flex}.sh .kx-dlg h2{font-size:18px}.sh .kx-note{color:var(--ink-2);margin:0;font-size:13.5px}.sh .kx-acts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.sh .kx-tool{-webkit-touch-callout:none}.sh .kx-lifted{opacity:.4}.sh .kx-drop-before,.sh .kx-drop-after{position:relative}.sh .kx-drop-before:before,.sh .kx-drop-after:after{content:"";background:var(--accent);pointer-events:none;z-index:2;border-radius:2px;height:2px;position:absolute;left:4px;right:4px}.sh .kx-drop-before:before{top:-1px}.sh .kx-drop-after:after{bottom:-1px}.sh .tile-row .kx-drop-before:before,.sh .tile-row .kx-drop-after:after{width:3px;height:auto;inset:4px auto 22px}.sh .tile-row .kx-drop-before:before{left:-7px}.sh .tile-row .kx-drop-after:after{right:-7px}.sh [data-drop=can]{outline:1.5px dashed var(--line-2);outline-offset:-1px;border-radius:10px}.sh [data-drop=move],.sh [data-drop=copy]{outline:2px solid var(--accent);outline-offset:-1px;background:var(--accent-soft);border-radius:10px}.sh [data-drop=self]{outline:1.5px dashed var(--line-2);border-radius:10px}.sh .kx-draghint{left:50%;bottom:calc(var(--sh-bottom,0px) + 18px);z-index:125;background:var(--ink);color:var(--win);box-shadow:var(--shadow-pop);pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13.5px;font-weight:550;display:inline-flex;position:fixed;transform:translate(-50%)}.sh .kx-draghint .si{width:15px;height:15px}.sh .kx-draghint kbd{font:600 12px/1 var(--font);background:color-mix(in srgb, var(--win) 18%, transparent);border-radius:5px;padding:3px 6px}.sh-kit-row,.sh-kit-tools li{position:relative}.sh-kx-more{background:var(--win-3);width:28px;height:28px;color:var(--ink-2);cursor:pointer;opacity:0;pointer-events:none;border:0;border-radius:7px;flex:none;place-items:center;display:inline-grid}.sh-kx-more .si{width:16px;height:16px}.sh-kx-more:hover{background:var(--line-2);color:var(--ink)}.sh-kx-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sh-kit-row>.sh-kx-more{position:absolute;top:50%;right:50px;transform:translateY(-50%)}.sh-kit-tools li>.sh-kx-more{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.sh-kit-row:hover .sh-kx-more,.sh-kit-tools li:hover .sh-kx-more,.sh-kx-more:focus-visible,.sh-kx-more[aria-expanded=true]{opacity:1;pointer-events:auto}.sh-kit-tools li:hover>a .lbl,.sh-kit-row:hover>a .lbl{padding-right:30px}@media (hover:none){.sh-kit-tools li{align-items:center;display:flex}.sh-nav .sh-kit-tools li>a{flex:1;min-width:0}.sh-kx-more,.sh-kit-row>.sh-kx-more,.sh-kit-tools li>.sh-kx-more{opacity:1;pointer-events:auto;width:40px;height:40px;color:var(--ink-3);background:0 0;position:static;transform:none}.sh-kit-tools li:hover>a .lbl,.sh-kit-row:hover>a .lbl{padding-right:0}}.sh-toast.has-act{align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;display:inline-flex}.sh-toast .sh-toast-act{background:color-mix(in srgb, var(--win) 16%, transparent);color:var(--win);font:650 13.5px/1 var(--font);cursor:pointer;white-space:nowrap;border:0;border-radius:7px;padding:6px 10px}.sh-toast .sh-toast-act:hover{background:color-mix(in srgb, var(--win) 26%, transparent)}.sh-toast .sh-toast-act:focus-visible{outline:2px solid var(--win);outline-offset:1px}.sh .shelf-card .hd>a{min-width:0;color:var(--ink);align-items:center;gap:10px;display:inline-flex}.sh .shelf-card .hd>a:hover b{text-underline-offset:3px;text-decoration:underline}.sh .shelf-card .hd .sh-kx-more{opacity:1;pointer-events:auto;color:var(--ink-3);background:0 0;width:36px;height:36px;margin-left:4px}.sh .shelf-card .hd .sh-kx-more:hover{background:var(--win-3);color:var(--ink)}.sh .tile-row{border-radius:10px;flex-wrap:wrap;gap:14px 12px;min-height:76px;padding-top:6px;display:flex}.sh .tile-row .tl{width:64px;color:var(--ink-2);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:2px 0;font-size:12px;font-weight:500;line-height:1.2;display:flex}.sh .tile-row .tl>span:last-child{text-overflow:ellipsis;white-space:nowrap;width:100%;display:block;overflow:hidden}.sh .tile-row .tl:hover{color:var(--ink)}.sh .tile-row .tl:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .tile-row .empty-row{color:var(--ink-3);align-self:center;font-size:13.5px}.sh .shelf-card .ft{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;font-size:13px;display:flex}.sh .ph .kits-tip{color:var(--ink-3);margin-top:4px;font-size:13.5px}.sh .kits-tip .tip-touch{display:none}@media (hover:none){.sh .kits-tip .tip-mouse{display:none}.sh .kits-tip .tip-touch{display:inline}.sh .kx-menu .kx-hint{display:none}}.sh-kit-tools{border-left-color:color-mix(in srgb, var(--kc,var(--line-2)) 55%, transparent);border-left-width:2px}.sh .shelf-card{border-top:3px solid var(--kc,transparent)}@media (max-width:699px){.sh .kx-menu{max-width:none;max-height:76dvh;padding:18px 8px calc(10px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;inset:auto 0 0!important}.sh .kx-menu:before{content:"";background:var(--line-2);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:7px;left:50%}.sh .kx-menu button{min-height:48px;font-size:15.5px}.sh-kit-tools .sh-kx-more{opacity:.55!important}}.sh .sh-am{position:relative}.sh .sh-am-up{margin:8px -12px 0}.sh .sh-am-up>.sh-acct{text-align:left;width:100%;font:inherit;color:inherit;border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;min-height:44px;margin:0;padding:12px 20px}.sh .sh-am-up>.sh-acct:hover,.sh .sh-am-up>.sh-acct[aria-expanded=true]{background:var(--win-3)}.sh .sh-am-up>.sh-acct>.si{color:var(--ink-3);flex:none}.sh .sh-am>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sh .sh-am-down{flex:none;margin-left:2px}.sh .sh-am-down>.av{cursor:pointer;background:var(--ink);width:34px;height:34px;color:var(--win);font:600 12.5px var(--font);border:0;border-radius:50%;place-items:center;display:grid}.sh .sh-am-pop{z-index:60;background:var(--win);border:1px solid var(--line-2);min-width:200px;box-shadow:var(--shadow-pop), 0 8px 24px #00000059;border-radius:12px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute}.sh .sh-am-up .sh-am-pop{bottom:calc(100% + 6px);left:12px;right:12px}.sh .sh-am-down .sh-am-pop{top:calc(100% + 12px);right:0}.sh .sh-am-pop>button.sh-am-item{margin-top:5px;position:relative}.sh .sh-am-pop>button.sh-am-item:before{content:"";border-top:1px solid var(--line);position:absolute;top:-4px;left:6px;right:6px}.sh .sh-am .sh-am-item{width:100%;min-height:44px;font:500 14px var(--font);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 12px;text-decoration:none;display:flex}.sh .sh-am-item:hover{background:var(--win-3)}.sh .sh-am-item:focus-visible{background:var(--win-3);outline:2px solid var(--accent);outline-offset:-2px}.sh .sh-am-item .si{color:var(--ink-2);flex:none}.sh .sh-am-item:disabled{opacity:.6;cursor:progress}.sh .sh-am-err{color:var(--bad);margin:4px 8px 6px;font-size:13px}.sh .ideas{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.sh .ideas-h{margin:0;font-size:19px}.sh .ideas-toggle{min-height:44px;font:inherit;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:0 4px;font-weight:650;display:inline-flex}.sh .ideas-toggle:disabled{cursor:default}.sh .ideas-toggle .si{transition:transform .15s;transform:rotate(-90deg)}.sh .ideas-toggle[aria-expanded=true] .si{transform:none}.sh .ideas-toggle .n{background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink-2);border-radius:99px;padding:1px 8px;font-size:12.5px;font-weight:650}.sh .ideas-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .ideas-note{color:var(--ink-2);margin:2px 4px 14px;font-size:14px}.sh .idea-chip{vertical-align:middle;white-space:nowrap;background:var(--win-3);color:var(--ink-2);margin:4px 0 2px;font-size:12px}.sh .soon-row .sr-acts{flex-wrap:nowrap}@media (max-width:640px){.sh .soon-row .sr-acts{flex-wrap:wrap}.sh .soon-row .sr-acts .sr-more{margin-left:auto}}.sh .kind-tabs{grid-template-columns:1fr 1fr;gap:12px;margin:4px 0 22px;display:grid}.sh .kind-tab{text-align:left;border:1.5px solid var(--line);background:var(--win-2,transparent);color:var(--ink-2);border-radius:14px;align-items:flex-start;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.sh .kind-tab:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--ink)}.sh .kind-tab[aria-selected=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.sh .kind-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sh .kt-ic{background:var(--win-3);width:38px;height:38px;color:var(--ink-2);border-radius:10px;flex:none;place-items:center;display:grid}.sh .kind-tab[aria-selected=true] .kt-ic{background:var(--accent);color:#fff}.sh .kt-tx{gap:3px;min-width:0;display:grid}.sh .kt-tx b{align-items:center;gap:8px;font-size:16px;font-weight:750;display:flex}.sh .kt-tx b .n{background:color-mix(in srgb, var(--ink) 9%, transparent);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 8px;font-size:12.5px;font-weight:650}.sh .kt-tx small{color:var(--ink-3);font-size:13px;line-height:1.4}.sh .tc-pair{color:var(--accent-ink,var(--accent));align-items:center;gap:6px;margin:-4px 0 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.sh .tc-pair:hover{text-decoration:underline}.sh .tc-pair .si{width:14px;height:14px}@media (max-width:640px){.sh .kind-tabs{grid-template-columns:1fr;gap:8px}.sh .kind-tab{gap:10px;padding:10px 12px}.sh .kt-ic{width:32px;height:32px}.sh .kt-tx b{font-size:15px}.sh .kt-tx small{font-size:12.5px}}.sh .gs2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.sh .gs2-card{flex-direction:column;gap:10px;padding:26px;display:flex}.sh .gs2-card h2{letter-spacing:-.015em;font-size:21px}.sh .gs2-card>p{color:var(--ink-2);max-width:52ch;min-height:3em;font-size:14.5px;line-height:1.5}.sh .gs2-tag{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-ink);border-radius:99px;align-self:flex-start;padding:3px 9px;font-size:11.5px;font-weight:700}.sh .gs2-tag.proj{background:var(--ok-bg);color:var(--ok)}.sh .gs2-pic{align-items:stretch;gap:10px;height:168px;margin:4px 0 14px;display:flex}.sh .gs2-kit{background:var(--win-2);min-width:0;box-shadow:inset 0 0 0 1px var(--line-2), 0 3px 0 -1px var(--line-2);border-radius:12px;flex-direction:column;flex:1;align-self:center;gap:8px;padding:12px;display:flex}.sh .gs2-kit b{font-size:13px;font-weight:600}.sh .gs2-tiles{flex-wrap:wrap;gap:6px;display:flex}.sh .gs2-kit.next{min-height:92px;box-shadow:none;border:1.5px dashed var(--line-2);color:var(--ink-3);text-align:center;background:0 0;flex:.8;justify-content:center;align-self:center;align-items:center;gap:4px;font-size:13px}.sh .gs2-site{background:var(--win-2);box-shadow:inset 0 0 0 1px var(--line-2);border-radius:12px;flex-direction:column;flex:1;justify-content:flex-start;gap:6px;padding:0 10px 10px;display:flex;overflow:hidden}.sh .gs2-site .bar{background:var(--win-3);gap:5px;margin:0 -10px 4px;padding:8px 10px;display:flex}.sh .gs2-site .bar i{background:var(--line-2);border-radius:50%;width:7px;height:7px}.sh .gs2-site .mod{background:var(--win);border-radius:9px;align-items:center;gap:9px;padding:6px 8px;font-size:13px;display:flex}.sh .gs2-site .mod.add{border:1.5px dashed var(--line-2);color:var(--ink-3);background:0 0;padding:8px}.sh .gs2-site .mod.add .si{width:15px;height:15px}.sh .gs2-ft{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:auto;display:flex}.sh .gs2-done{color:var(--ok);align-items:center;gap:6px;font-size:13.5px;display:inline-flex}.sh .gs2-more{color:var(--ink-2);margin-top:14px;font-size:14px}.sh .gs2-more a{color:var(--accent-ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);font-weight:550}@media (max-width:860px){.sh .gs2{grid-template-columns:1fr}.sh .gs2-card{padding:20px}.sh .gs2-pic{height:auto;min-height:0}.sh .gs2-kit{align-self:stretch}.sh .gs2-kit .t.s{width:30px;height:30px}.sh .gs2-tiles{flex-wrap:nowrap;gap:5px}}@media (max-width:480px){.sh .gs2-kit.next,.sh .gs2-kit:nth-child(n+3){display:none}.sh .gs2-ft .btn{flex:100%;justify-content:center}.sh .gs2-ft .link{margin:0 auto}}.ki-scrim{justify-content:center;align-items:center;padding:24px}.ki-scrim .sh-sheet.kit-ideas{border-radius:18px;width:min(920px,100%);height:auto;max-height:calc(100dvh - 48px);overflow:hidden}.kit-ideas .ki-lead{color:var(--ink-2);font-size:14.5px}.kit-ideas .ki-q{border:0;min-width:0;margin:6px 0 0;padding:0}.kit-ideas .ki-q legend{margin-bottom:8px;padding:0;font-size:13.5px;font-weight:600}.kit-ideas .ki-q legend span{color:var(--ink-3);font-weight:400}.kit-ideas .ki-chips{flex-wrap:wrap;gap:6px;display:flex}.kit-ideas .chip{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;min-height:32px;font-size:13px}.kit-ideas .chip:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-3)}.kit-ideas .chip.on{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1.5px var(--accent)}.kit-ideas .ki-h3{font-weight:600;margin-top:10px!important;font-size:13.5px!important}.kit-ideas .ki-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.kit-ideas .ki-card{background:var(--win-2);height:100%;box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;border-radius:12px;flex-direction:column;gap:6px;padding:14px 14px 14px 16px;display:flex;position:relative}.kit-ideas .ki-card:hover{box-shadow:inset 0 0 0 1px var(--ink-3)}.kit-ideas .ki-card.on{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.kit-ideas .ki-card:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.kit-ideas .ki-card input{width:18px;height:18px;accent-color:var(--accent);position:absolute;top:14px;right:14px}.kit-ideas .ki-card b{padding-right:26px;font-size:15px}.kit-ideas .ki-card small{color:var(--ink-3);font-size:12.5px;line-height:1.4}.kit-ideas .ki-card ul{gap:5px;margin:4px 0 0;padding:0;list-style:none;display:grid}.kit-ideas .ki-card li{align-items:center;gap:8px;font-size:13.5px;display:flex}.kit-ideas .ki-card li a{color:var(--ink-2)}.kit-ideas .ki-card li a:hover{color:var(--ink);text-decoration:underline}.kit-ideas .ki-dot{background:var(--tc);border-radius:3px;flex:none;width:10px;height:10px}.kit-ideas .ki-empty{margin-top:6px;font-size:14px}.kit-ideas .ki-empty summary{cursor:pointer;color:var(--accent-ink);font-weight:550}.kit-ideas .ki-empty form{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.kit-ideas .ki-empty .input{flex:1;min-width:200px}.kit-ideas .sh-ft{justify-content:space-between;align-items:center}@media (max-width:640px){.ki-scrim{align-items:stretch;padding:0}.ki-scrim .sh-sheet.kit-ideas{border-radius:0;max-height:100dvh}}.sh-nav a.sh-lib{color:var(--accent-ink);box-shadow:inset 3px 0 0 var(--accent);border-radius:4px 9px 9px 4px;font-weight:600}.sh-nav a.sh-lib .si{color:var(--accent)}.sh-nav a.sh-lib[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent), var(--shadow-card)}.sh .kit-fill{background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--kc,var(--accent));border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px;padding:12px 16px;font-size:14.5px;display:flex}.sh .kit-fill>.si{color:var(--kc,var(--accent))}.sh .kit-fill>span{flex:1;min-width:200px}.sh .kit-fill a:not(.btn){color:var(--ink);text-underline-offset:3px;text-decoration:underline}.kit-ideas:focus{outline:none}.sh .gs2-kit.real{color:var(--ink);text-decoration:none}.sh .gs2-kit.real:hover{box-shadow:inset 0 0 0 1px var(--ink-3), 0 3px 0 -1px var(--line-2)}.sh .gs2-kit.real b small{color:var(--ink-3);margin-left:4px;font-weight:500}.sh a.gs2-kit.next{text-decoration:none}.sh a.gs2-kit.next:hover{color:var(--accent-ink);border-color:var(--accent)}.sh a.gs2-done{text-decoration:none}.sh .cat-sort{color:var(--ink-3);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.sh .cat-sort select{font:500 13.5px var(--font);color:var(--ink);background:var(--win);border:1px solid var(--line-2);border-radius:8px;min-height:34px;padding:6px 28px 6px 10px}
