.sp{gap:var(--s5);display:grid}.sp-doc{gap:var(--s3);align-content:start;min-width:0;display:grid}.sp-head{justify-content:space-between;align-items:baseline;gap:var(--s3);min-width:0;display:flex}.sp-name{color:var(--ink-0);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sp-plain{min-width:44px;min-height:44px;font-size:var(--step--1);color:var(--ink-1);border-bottom:1px solid var(--brass);flex:none}.sp-plain:hover{color:var(--ink-0)}.sp-facts{font-size:var(--step--1);color:var(--ink-2)}.sp-note,.sp-warn,.sp-single{font-size:var(--step--1);color:var(--ink-1);padding-left:var(--s3);max-width:62ch}.sp-note,.sp-single{border-left:2px solid var(--brass)}.sp-warn{border-left:2px solid var(--warn-surface)}.sp-lock{gap:var(--s2);padding:var(--s3);background:var(--surface-2);border-radius:var(--r-md);display:grid}.sp-lockwhy{font-size:var(--step--1);color:var(--ink-1);max-width:54ch}.sp-lock input{width:100%;max-width:16em;min-height:44px;padding:0 var(--s3);background:var(--surface-0);border:1px solid var(--line-firm);border-radius:var(--r-md);color:var(--ink-0)}.sp-plan{background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.sp-plan li{align-items:baseline;gap:var(--s3);padding:var(--s2) var(--s3);background:var(--surface-1);font-size:var(--step--1);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.sp-planno{color:var(--brass-lo);text-align:right;min-width:1.6em}.sp-planname{color:var(--ink-0);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sp-planpages{color:var(--ink-2);white-space:nowrap}.sp-panel{background:var(--surface-1);border:1px solid var(--line-firm);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--shadow-2);gap:var(--s4);align-content:start;min-width:0;display:grid}.sp-stub{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.sp-num-stub{font-size:var(--step--1);color:var(--brass-lo);letter-spacing:.04em}.sp-dim{font-size:var(--step--1);color:var(--ink-2)}.sp-perf{height:1px;margin:0 calc(-1 * var(--s5));background-image:linear-gradient(90deg, var(--line-firm) 55%, transparent 0);background-size:9px 1px;position:relative}.sp-perf:before,.sp-perf:after{content:"";border-radius:var(--r-full);background:var(--surface-0);border:1px solid var(--line);width:14px;height:14px;position:absolute;top:-7px}.sp-perf:before{left:-7px}.sp-perf:after{right:-7px}.sp-out{font-size:var(--step--1);color:var(--ink-1)}.sp-help{font-size:var(--step--1);color:var(--ink-2);max-width:46ch}.sp-err{font-size:var(--step--1);color:var(--error);max-width:46ch}.sp-working{gap:var(--s3);padding:var(--s4) 0;justify-items:center;display:grid}.sp-stack{width:96px;height:96px;position:relative}.sp-leaf{background:var(--surface-0);border:1px solid var(--line-firm);width:74px;height:96px;box-shadow:var(--shadow-1);transform:translateX(calc(var(--i) * 7px - 24px)) rotate(calc(var(--i) * 1.2deg - 4deg));animation:sp-part .22s var(--ease) both;border-radius:2px;position:absolute;top:0;left:11px}@keyframes sp-part{0%{opacity:0;transform:translate(-24px)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.sp-leaf{animation:none}}.sp-view{border:1px solid var(--line-firm);border-radius:var(--r-md);background:var(--surface-2);width:100%;height:320px}.sp-files{gap:var(--s2);max-height:340px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.sp-file{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-0);transition:border-color var(--dur) var(--ease);grid-template-columns:minmax(0,1fr) auto;display:grid}.sp-file.is-on{border-color:var(--brass)}.sp-pick{text-align:left;align-content:center;justify-items:start;gap:2px;min-width:0;min-height:44px;display:grid}.sp-fname{font-size:var(--step--1);color:var(--ink-0);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.sp-fmeta{font-size:var(--step--2);color:var(--ink-2)}.sp-flinks{gap:var(--s3);flex:none;display:flex}.sp-flinks a{min-width:44px;min-height:44px;font-size:var(--step--1);color:var(--ink-1);border-bottom:1px solid var(--brass);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.sp-flinks a:hover{color:var(--ink-0)}.sp-primary{text-align:center;width:100%;padding:12px var(--s5);background:var(--brass);min-height:48px;color:var(--on-brass);border-radius:var(--r-md);cursor:pointer;transition:background var(--dur) var(--ease), transform var(--dur) var(--ease);font-weight:500;text-decoration:none;display:inline-block}.sp-primary:hover{background:var(--brass-hi)}.sp-primary:active{transform:translateY(1px)}.sp-primary:disabled{opacity:.6;cursor:default}@media (prefers-reduced-motion:reduce){.sp-primary:active{transform:none}}.sp-drawn{color:var(--ink-2);white-space:nowrap}.sp-grid{--sp-gap:36px;padding:0 0 0 var(--sp-gap);column-gap:var(--sp-gap);row-gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(100px,1fr));min-width:0;margin:0;list-style:none;display:grid}.sp-tile{gap:var(--s1);align-content:start;min-width:0;display:grid;position:relative}.sp-sheet{aspect-ratio:17/22;border:1px solid var(--line-firm);background:var(--surface-0);width:100%;box-shadow:var(--shadow-1);display:block;position:relative;overflow:hidden}.sp-sheet img{object-fit:contain;width:100%;height:100%;display:block}.sp-wait{background:var(--surface-2);animation:sp-breathe 1.4s var(--ease) infinite alternate;position:absolute;inset:0}@keyframes sp-breathe{to{opacity:.45}}.sp-size{top:var(--s1);right:var(--s1);z-index:1;padding:0 var(--s1);border-radius:var(--r-sm);background:var(--surface-1);border:1px solid var(--line-firm);font-size:var(--step--2);color:var(--ink-1);pointer-events:none;position:absolute}.sp-no{justify-content:space-between;gap:var(--s2);font-size:var(--step--1);color:var(--ink-2);min-width:0;display:flex}.sp-starts{color:var(--brass-lo);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sp-cut{top:0;bottom:0;left:calc(-.5 * var(--sp-gap) - 22px);width:44px;min-height:44px;color:var(--ink-2);cursor:pointer;z-index:1;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid;position:absolute}.sp-cut-line{border-left:1px dashed var(--line-firm);width:0;transition:border-color var(--dur) var(--ease);position:absolute;top:0;bottom:0;left:50%}.sp-cut-badge{border-radius:var(--r-full);border:1px solid var(--line-firm);background:var(--surface-0);width:32px;height:32px;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease);place-items:center;display:grid;position:relative}.sp-cut-badge svg{width:18px;height:18px}.sp-cut:hover .sp-cut-badge{border-color:var(--brass);color:var(--ink-0)}.sp-cut:focus-visible{outline:none}.sp-cut:focus-visible .sp-cut-badge{outline:2px solid var(--focus);outline-offset:2px}.sp-cut.is-on{color:var(--on-brass)}.sp-cut.is-on .sp-cut-line{border-left:2px solid var(--brass);margin-left:-1px}.sp-cut.is-on .sp-cut-badge{background:var(--brass);border-color:var(--brass)}.sp-tile.is-cut .sp-sheet{border-color:var(--brass)}button.sp-sheet{font:inherit;cursor:zoom-in;padding:0}button.sp-sheet:hover{border-color:var(--brass)}button.sp-sheet:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sp-modal{border:1px solid var(--line-firm);border-radius:var(--r-md);background:var(--surface-1);width:fit-content;min-width:min(92vw,420px);max-width:min(96vw,1400px);max-height:94dvh;color:var(--ink-0);box-shadow:0 18px 48px color-mix(in srgb, var(--ink-0) 32%, transparent);padding:0;overflow:hidden}.sp-modal::backdrop{background:var(--scrim)}.sp-modal-in{gap:var(--s3);max-height:94dvh;padding:var(--s4);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.sp-modal-top,.sp-modal-feet{align-items:center;gap:var(--s3);min-width:0;display:flex}.sp-modal-top{justify-content:space-between}.sp-modal-feet{flex-wrap:wrap;justify-content:space-between}.sp-modal-feet .sp-plain{min-height:44px}.sp-modal-feet .sp-plain:disabled{opacity:.4;cursor:default}.sp-modal-no{align-items:baseline;gap:var(--s3);font-size:var(--step--1);color:var(--ink-1);display:flex}.sp-modal-file{color:var(--brass-lo)}.sp-modal-sheet{background:var(--surface-2);border-radius:var(--r-sm);place-items:center;min-width:0;min-height:0;display:grid}.sp-modal-sheet img{object-fit:contain;background:var(--surface-0);width:auto;max-width:100%;height:auto;max-height:calc(94dvh - 10rem);box-shadow:var(--shadow-1);display:block}.sp-modal-wait{aspect-ratio:17/22;background:var(--surface-2);width:min(60vw,420px)}.sp-cut-toggle{align-items:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border:1px solid var(--brass);border-radius:var(--r-full);background:var(--surface-0);color:var(--ink-0);font:inherit;cursor:pointer;display:inline-flex}.sp-cut-toggle svg{width:18px;height:18px}.sp-cut-toggle.is-on{background:var(--brass);color:var(--on-brass)}@media (width<=640px){.sp-modal{border:0;border-radius:0;width:100vw;max-width:100vw;max-height:100dvh}.sp-modal-in{max-height:100dvh;padding:var(--s3)}.sp-modal-sheet img{max-height:calc(100dvh - 12rem)}.sp-modal-cut{order:3;justify-content:center;width:100%}}.sp-action{bottom:var(--s3);z-index:2;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--surface-1);border:1px solid var(--line-firm);border-radius:var(--r-lg);box-shadow:var(--shadow-2);flex-wrap:wrap;display:flex;position:sticky}.sp-planline{min-width:0;font-size:var(--step--1);color:var(--ink-0);overflow-wrap:anywhere;flex:18em}.sp-action .sp-primary{flex:none;width:auto}.sp-see{flex:none}.sp-result{gap:var(--s4);min-width:0;display:grid}.sp-picks{gap:var(--s3);align-content:start;min-width:0;display:grid}@media (prefers-reduced-motion:reduce){.sp-wait{opacity:.6;animation:none}.sp-cut-line,.sp-cut-badge{transition:none}}@media (width>=861px){.sp-grid{--sp-gap:40px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.sp-result{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.sp-view{height:420px}}@media (width<=860px){.sp-view{display:none}.sp-file{grid-template-columns:minmax(0,1fr)}.sp-flinks{justify-content:flex-end}.sp-action .sp-primary{flex:100%}}
