:root{--paper: #faf8f2;--ink: #2f2a26;--faint: #6b5d54;--fainter: #8a7b6f;--rule: #d9d1c3;--rule-soft: #e8e2d4;--accent: #8a3a5a;--indigo: #264b6b;--indigo-deep: #1a3a5c;--body: clamp(15px, .92vw + 12px, 17px);--serif: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", serif;--sans: -apple-system, "Hiragino Kaku Gothic ProN", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--overlay-text: var(--faint);--overlay-text-secondary: var(--fainter);--overlay-btn-bg: var(--rule-soft);--overlay-btn-text: var(--ink);--overlay-btn-border: var(--rule);--overlay-btn-active-bg: var(--ink);--overlay-btn-active-text: var(--paper)}:root[data-tone=morning]{--paper: #f3f4ee;--ink: #2a2c30;--faint: #5e5e60;--fainter: #8a8a8e;--rule: #cfd0c8;--rule-soft: #e0e1d8}:root[data-tone=day]{--paper: #faf8f2;--ink: #2f2a26;--faint: #6b5d54;--fainter: #8a7b6f;--rule: #d9d1c3;--rule-soft: #e8e2d4}:root[data-tone=dusk]{--paper: #f6efe2;--ink: #3a2a26;--faint: #6e564a;--fainter: #9a8276;--rule: #d6c5a8;--rule-soft: #e8d8b8}:root[data-tone=night]{--paper: #1a1815;--ink: #d8d2c4;--faint: #a89e8e;--fainter: #7a7062;--rule: #3a342c;--rule-soft: #2a2620}.Mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.OnDot:before{content:"";display:inline-block;width:3px;height:3px;background:var(--accent);border-radius:50%;vertical-align:2px;margin-right:8px}.Panel{background:var(--paper);padding:12px}.Panel--bordered{border:1px solid var(--rule);border-radius:16px}.Panel--sm{padding:8px}.Panel--md{padding:12px}.Panel--lg{padding:16px}.Panel--scroll{overflow-y:auto}.PanelHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid var(--rule);margin-bottom:12px}.PanelHeader__title-block{display:flex;align-items:baseline;gap:8px;min-width:0}.PanelHeader__title{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink);line-height:1.3;letter-spacing:.08em;padding-left:10px;position:relative}.PanelHeader__title:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:2px;background:var(--ink)}.PanelHeader__subtitle{font-size:11px;color:var(--faint);font-family:var(--mono);letter-spacing:.02em}.PanelHeader__actions{display:flex;gap:4px;flex-shrink:0}.Section{padding-left:8px}.Section+.Section{margin-top:16px}.Section__title{font-size:10px;font-weight:500;color:var(--faint);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px;padding-left:8px;position:relative;line-height:1.4;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.Section__title:before{content:"";position:absolute;left:0;top:1px;bottom:1px;width:2px;background:var(--faint)}.Section__title-block{display:flex;align-items:baseline;gap:8px;min-width:0}.Section__summary{font-family:var(--mono);font-size:10px;font-weight:400;color:var(--fainter);letter-spacing:.02em;text-transform:none}.Section__actions{display:flex;align-items:center;flex-shrink:0;text-transform:none;letter-spacing:normal}.Field{display:flex;flex-direction:column;gap:4px}.Field+.Field{margin-top:8px}.Field--inline{flex-direction:row;align-items:center;gap:12px}.Field__label{font-size:11px;color:var(--faint);line-height:1.4}.Field--inline .Field__label{flex:0 0 88px}.Field__hint{font-size:10px;color:var(--fainter);font-family:var(--mono);letter-spacing:.02em}.Field__input{font-size:12px;padding:5px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font-family:var(--mono);width:88px;transition:border-color .12s cubic-bezier(.4,0,.2,1),box-shadow .12s cubic-bezier(.4,0,.2,1)}.Field__input:hover{border-color:var(--faint)}.Field__input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #264b6b1f}.Field--full .Field__input{width:100%}.Action{background:transparent;border:1px solid var(--rule);color:var(--ink);padding:5px 14px;font-size:12px;font-family:inherit;line-height:1.2;border-radius:7px;cursor:pointer;transition:border-color .12s cubic-bezier(.4,0,.2,1),background-color .12s cubic-bezier(.4,0,.2,1),transform 80ms cubic-bezier(.4,0,.2,1)}.Action:hover{border-color:var(--ink);background-color:#00000006}.Action:active{background-color:#0000000f;transform:translateY(.5px)}.Action:focus-visible{outline:2px solid var(--indigo);outline-offset:1px}.Action--primary{border-color:var(--ink);font-weight:500}.Action--sm{font-size:11px;padding:4px 11px;border-radius:6px}.Action:disabled{color:var(--fainter);border-color:var(--rule-soft);background:transparent;cursor:not-allowed;pointer-events:none}.StatusLine{font-size:11px;color:var(--faint);line-height:1.4}.StatusLine--saving{animation:StatusLine-pulse 1.6s cubic-bezier(.4,0,.4,1) infinite}.StatusLine--saving:after{content:" …";letter-spacing:.1em}@keyframes StatusLine-pulse{0%,to{opacity:1}50%{opacity:.45}}.StatusLine--error{font-weight:500;color:var(--ink);border-left:2px solid var(--ink);padding-left:8px}@media (prefers-reduced-motion: reduce){.StatusLine--saving{animation:none}}.Slider{display:flex;align-items:center;gap:12px;padding:4px 0}.Slider__label{font-size:11px;color:var(--faint);flex:0 0 88px;line-height:1.4}.Slider__track{position:relative;flex:1;height:1px;background:var(--rule);cursor:pointer;padding:8px 0;margin:-8px 0;background-clip:content-box;transition:background-color .12s cubic-bezier(.4,0,.2,1)}.Slider__track:hover,.Slider__track:focus-visible{background-color:var(--faint)}.Slider__track:focus-visible{outline:2px solid var(--indigo);outline-offset:4px;border-radius:1px}.Slider__track:before,.Slider__track:after{content:"";position:absolute;top:50%;width:1px;height:7px;background:var(--rule);transform:translateY(-50%)}.Slider__track:before{left:0}.Slider__track:after{right:0}.Slider__fill{position:absolute;height:1px;background:var(--ink);top:50%;left:0;transform:translateY(-50%);transition:height .12s cubic-bezier(.4,0,.2,1);pointer-events:none}.Slider__handle{position:absolute;width:2px;height:14px;background:var(--ink);top:50%;transform:translate(-1px,-50%);transition:width .12s cubic-bezier(.4,0,.2,1),height .12s cubic-bezier(.4,0,.2,1),transform .12s cubic-bezier(.4,0,.2,1);pointer-events:none}.Slider__track:hover .Slider__handle{width:3px;transform:translate(-1.5px,-50%)}.Slider.is-dragging .Slider__fill{height:2px}.Slider.is-dragging .Slider__handle{width:4px;height:16px;transform:translate(-2px,-50%)}.Slider__value{font-family:var(--mono);font-size:12px;color:var(--ink);flex:0 0 auto;min-width:36px;text-align:right;letter-spacing:.02em;transition:font-weight .12s}.Slider.is-dragging .Slider__value{font-weight:500}.Slider__unit{font-family:var(--mono);font-size:10px;color:var(--fainter);flex:0 0 auto;min-width:32px;letter-spacing:.02em}.Slider--stack{flex-direction:column;align-items:stretch;gap:4px}.Slider--stack .Slider__head{display:flex;justify-content:space-between;align-items:baseline}.Slider--stack .Slider__label{flex:0 0 auto}.Accordion{border:1px solid var(--rule);border-radius:8px;background:var(--paper);overflow:hidden}.Accordion+.Accordion{margin-top:8px}.Accordion__head-row{display:flex;align-items:center}.Accordion__trigger{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:10px 14px;background:transparent;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background-color .12s cubic-bezier(.4,0,.2,1)}.Accordion__trigger:hover{background-color:#00000006}.Accordion__trigger:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.Accordion__actions{display:flex;gap:4px;flex-shrink:0;padding-right:12px}.Accordion__chevron{width:10px;height:10px;flex-shrink:0;color:var(--faint);font-size:9px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1)}.Accordion[data-open=true] .Accordion__chevron{transform:rotate(90deg)}.Accordion__title{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--ink);letter-spacing:0;flex:1;line-height:1.3}.Accordion__summary{font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.02em;flex-shrink:0}.Accordion__body{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .24s cubic-bezier(.4,0,.2,1),visibility 0s linear .24s}.Accordion[data-open=true] .Accordion__body{max-height:9999px;visibility:visible;transition:max-height .24s cubic-bezier(.4,0,.2,1),visibility 0s}.Accordion__body-inner{padding:10px 14px 14px;border-top:1px solid var(--rule)}.Accordion--panel .Accordion__trigger{padding:12px 16px}.Accordion--panel .Accordion__title{font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink);letter-spacing:.08em;line-height:1.3}.Accordion--panel .Accordion__body-inner{padding:12px 16px 16px}.Accordion--sub .Accordion__trigger{padding:8px 12px}.Accordion--sub .Accordion__title{font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:0;color:var(--faint)}.Accordion--sub .Accordion__body-inner{padding:8px 12px 12px}@media (prefers-reduced-motion: reduce){.Accordion__chevron,.Accordion__body{transition:none}}.fixed-lock{pointer-events:none}.fixed-lock .Accordion__head-row{pointer-events:auto}.Dropdown{position:relative;display:inline-flex;flex-direction:column}.Dropdown__trigger{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;width:100%;min-width:0;padding:6px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font-family:inherit;font-size:12px;cursor:pointer;text-align:left;line-height:1.4;min-height:28px;transition:border-color .12s cubic-bezier(.4,0,.2,1),box-shadow .12s cubic-bezier(.4,0,.2,1)}.Dropdown__trigger:hover{border-color:var(--faint)}.Dropdown__trigger:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #264b6b1f}.Dropdown[data-open=true] .Dropdown__trigger{border-color:var(--ink);box-shadow:0 0 0 3px #264b6b1f}.Dropdown__trigger:disabled{color:var(--fainter);border-color:var(--rule-soft);background:transparent;cursor:not-allowed}.Dropdown__value{flex:1;min-width:0;white-space:normal;word-break:break-word;overflow-wrap:break-word}.Dropdown__placeholder{color:var(--fainter)}.Dropdown__chevron{flex-shrink:0;width:10px;height:10px;color:var(--faint);font-size:9px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1);margin-top:2px}.Dropdown[data-open=true] .Dropdown__chevron{transform:rotate(180deg)}.Dropdown__menu{position:fixed;background:var(--paper);border:1px solid var(--rule);border-radius:8px;box-shadow:0 8px 24px #00000014;display:flex;flex-direction:column;padding:4px;gap:1px;z-index:9000;overflow-y:auto;animation:Dropdown-open .18s cubic-bezier(.4,0,.2,1);outline:none}.Dropdown__menu--flip-up{animation:Dropdown-open-up .18s cubic-bezier(.4,0,.2,1)}@keyframes Dropdown-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes Dropdown-open-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.Dropdown__option{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:12px;color:var(--ink);text-align:left;line-height:1.4;white-space:normal;word-break:break-word;transition:background-color .12s cubic-bezier(.4,0,.2,1)}.Dropdown__option:hover,.Dropdown__option--focused{background-color:#0000000a}.Dropdown__option:focus-visible{outline:none}.Dropdown__option--selected{color:var(--ink);font-weight:500}.Dropdown__option:disabled{color:var(--fainter);cursor:not-allowed}.Dropdown__option-mark{flex-shrink:0;width:10px;height:10px;display:inline-flex;align-items:center;justify-content:center;margin-top:4px}.Dropdown__option--selected .Dropdown__option-mark:before{content:"";display:block;width:3px;height:3px;background:var(--accent);border-radius:50%}.Dropdown__option-label{flex:1;min-width:0}@media (prefers-reduced-motion: reduce){.Dropdown__chevron,.Dropdown__menu{animation:none;transition:none}}.ColorPicker-trigger{display:inline-block;position:relative}.ColorPickerInline{display:inline-flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border:1px solid var(--rule);border-radius:6px;cursor:pointer;background:var(--paper);font-family:inherit;color:var(--ink);transition:border-color .12s cubic-bezier(.4,0,.2,1)}.ColorPickerInline:hover:not(:disabled){border-color:var(--ink)}.ColorPickerInline:focus-visible{outline:2px solid var(--indigo, var(--ink));outline-offset:1px}.ColorPickerInline:disabled{cursor:not-allowed;opacity:.5}.ColorPickerInline__chip{width:18px;height:18px;border:1px solid var(--rule);border-radius:4px;flex-shrink:0;display:inline-block}.ColorPickerInline__hex{font-family:var(--mono);font-size:12px;color:var(--ink);letter-spacing:.04em}.ColorPicker{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:14px;background:var(--paper);border:1px solid var(--rule);padding:14px;border-radius:16px;box-shadow:0 8px 24px #00000014;box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.ColorPicker__canvas{display:flex;gap:8px}.ColorPicker__sv{flex:1;height:180px;position:relative;cursor:crosshair;border:1px solid var(--rule);border-radius:8px;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.ColorPicker__sv-axis{position:absolute;top:0;right:0;bottom:0;left:0;cursor:inherit}.ColorPicker__sv-axis:focus-visible{outline:2px solid var(--indigo, var(--ink));outline-offset:-2px}.ColorPicker__sv-marker{position:absolute;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--paper);box-shadow:0 0 0 1px var(--ink),inset 0 0 0 1px var(--paper);transform:translate(-50%,-50%);pointer-events:none}.ColorPicker__hue{width:14px;height:180px;position:relative;cursor:ns-resize;border:1px solid var(--rule);border-radius:8px;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(to bottom,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.ColorPicker__hue:focus-visible{outline:2px solid var(--indigo, var(--ink));outline-offset:1px}.ColorPicker__hue-marker{position:absolute;left:-3px;right:-3px;height:2px;background:var(--ink);transform:translateY(-1px);pointer-events:none}.ColorPicker__hex{display:flex;align-items:center;gap:8px}.ColorPicker__hex-label{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:var(--faint);width:28px}.ColorPicker__hex-wrap{flex:1;position:relative}.ColorPicker__hex-wrap:before{content:"#";position:absolute;left:8px;top:50%;transform:translateY(-50%);font-family:var(--mono);font-size:13px;color:var(--fainter);pointer-events:none;letter-spacing:.04em}.ColorPicker__hex-input{width:100%;box-sizing:border-box;font-family:var(--mono);font-size:13px;letter-spacing:.04em;padding:5px 10px 5px 24px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);transition:border-color .12s cubic-bezier(.4,0,.2,1),box-shadow .12s cubic-bezier(.4,0,.2,1)}.ColorPicker__hex-input:hover{border-color:var(--faint)}.ColorPicker__hex-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #264b6b1f}.ColorPicker__channels{display:flex;flex-direction:column;gap:6px}.ColorPicker__channel{display:flex;align-items:center;gap:8px;padding:4px 0}.ColorPicker__channel-label{font-family:var(--mono);font-size:10px;color:var(--faint);width:14px;letter-spacing:.04em;line-height:1.4}.ColorPicker__channel-track{flex:1;height:4px;background:var(--rule);position:relative;cursor:pointer;border-radius:2px;-webkit-user-select:none;user-select:none;touch-action:none}.ColorPicker__channel-track:focus-visible{outline:2px solid var(--indigo, var(--ink));outline-offset:2px}.ColorPicker__channel-track--hue{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.ColorPicker__channel-handle{position:absolute;width:3px;height:12px;top:-4px;background:var(--ink);box-shadow:0 0 0 1px var(--paper);transform:translate(-1.5px);border-radius:1px;pointer-events:none}.ColorPicker__channel-value{font-family:var(--mono);font-size:11px;color:var(--ink);width:36px;text-align:right;letter-spacing:.02em}.ColorPicker__foot{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--rule)}.ColorPicker__foot--no-meta{justify-content:flex-end}.ColorPicker__foot-actions{display:flex;gap:4px}@media (prefers-reduced-motion: reduce){.ColorPickerInline,.ColorPicker__hex-input,.ColorPicker__channel-track{transition:none}}.ColorPicker__head{display:flex;gap:1px;background:var(--rule)}.ColorPicker__tab{flex:1;padding:6px 8px;font-size:10px;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);background:var(--paper);border:none;cursor:pointer;text-align:center;line-height:1.4;transition:color .12s cubic-bezier(.4,0,.2,1),background-color .12s cubic-bezier(.4,0,.2,1)}.ColorPicker__tab:hover:not(.ColorPicker__tab--active){color:var(--ink);background-color:#00000005}.ColorPicker__tab:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.ColorPicker__tab--active{color:var(--ink);font-weight:500;background:var(--paper);box-shadow:inset 0 -2px 0 var(--ink)}.PantoneFind{display:flex;align-items:center;gap:8px}.PantoneFind__label{font-size:10px;font-family:var(--mono);letter-spacing:.06em;color:var(--faint);width:32px;flex-shrink:0}.PantoneFind__input{flex:1;font-family:var(--mono);font-size:12px;padding:4px 8px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);color:var(--ink);outline:none}.PantoneFind__input:focus{border-color:var(--ink)}.PantoneFamilyFilter{display:flex;gap:1px;background:var(--rule);font-size:10px;font-family:var(--mono);letter-spacing:.04em;overflow-x:auto}.PantoneFamilyFilter__btn{padding:3px 8px;background:var(--paper);color:var(--faint);border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;font:inherit;letter-spacing:inherit}.PantoneFamilyFilter__btn:hover:not(.PantoneFamilyFilter__btn--active){color:var(--ink)}.PantoneFamilyFilter__btn:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.PantoneFamilyFilter__btn--active{background:var(--ink);color:var(--paper)}.PantoneList{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.PantoneRow{display:flex;align-items:center;gap:12px;padding:10px 14px;cursor:pointer;position:relative;border-radius:8px;transition:outline-color .12s cubic-bezier(.4,0,.2,1);outline:1px solid transparent;outline-offset:-1px;background:transparent;border:none;width:100%;text-align:left;font:inherit}.PantoneRow:hover{outline-color:#00000040}.PantoneRow:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.PantoneRow--selected{outline-color:var(--ink)!important;outline-width:2px;outline-offset:-2px}.PantoneRow__code{font-family:var(--mono);font-size:11px;letter-spacing:.04em;flex:0 0 60px;line-height:1.4}.PantoneRow__name{font-size:12px;flex:1;line-height:1.4}.PantoneList__count{font-size:10px;font-family:var(--mono);color:var(--fainter);text-align:right;margin:0}@media (prefers-reduced-motion: reduce){.ColorPicker__tab,.PantoneRow{transition:none}}.ColorPicker__finder{display:flex;flex-direction:column;gap:12px}.ColorPicker__finder-toggle{display:flex;gap:1px;background:var(--rule)}.ColorPicker__finder-toggle button{flex:1;padding:4px;background:var(--paper);color:var(--faint);border:none;cursor:pointer;font-size:10px;font-family:var(--mono);letter-spacing:.06em}.ColorPicker__finder-toggle button.ColorPicker__finder-toggle-btn--active{background:var(--ink);color:var(--paper)}.ColorPicker__finder-toggle button:disabled{cursor:not-allowed;opacity:.5}.ColorPicker__finder-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.ColorPicker__finder-meta-label{font-size:10px;font-family:var(--mono);letter-spacing:.04em;color:var(--faint)}.RandomGrid{position:relative;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow:hidden}.RandomGrid__chip{position:relative;height:32px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border:none;border-radius:8px;transition:outline-color .12s cubic-bezier(.4,0,.2,1);outline:1px solid transparent;outline-offset:-1px}.RandomGrid__chip:hover{outline-color:#00000040}.RandomGrid__chip:focus-visible{outline:2px solid var(--indigo);outline-offset:-2px}.RandomGrid__chip--selected{outline-color:var(--ink);outline-width:2px;outline-offset:-2px}.RandomGrid__chip-hex{font-family:var(--mono);font-size:11px;letter-spacing:.04em}.RandomGrid__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(ellipse 60% 80% at 20% 25%,#d6a878 0%,transparent 60%),radial-gradient(ellipse 70% 60% at 80% 50%,#8a4a3a 0%,transparent 65%),radial-gradient(ellipse 80% 70% at 50% 80%,#2c3a4a 0%,transparent 60%),radial-gradient(ellipse 50% 60% at 75% 20%,#b8a878 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 30% 70%,#6b5848 0%,transparent 60%),linear-gradient(135deg,#d6a878,#8a4a3a,#2c3a4a 70%,#1a2530);background-size:220% 220%;background-position:0% 0%;filter:blur(28px);transform:scale(1.15)}.RandomGrid.is-mixing .RandomGrid__overlay{opacity:1;animation:rg-flow 1s cubic-bezier(.4,0,.4,1)}.RandomGrid.is-separating .RandomGrid__overlay{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.4,1)}@keyframes rg-flow{0%{background-position:0% 0%;filter:blur(32px);transform:scale(1.18)}40%{background-position:50% 40%;filter:blur(36px);transform:scale(1.22)}to{background-position:100% 100%;filter:blur(24px);transform:scale(1.12)}}.RandomGrid.is-mixing .RandomGrid__chip,.RandomGrid.is-separating .RandomGrid__chip{opacity:0;filter:blur(8px);transform:translateY(3px) scale(.97)}.RandomGrid.is-settling .RandomGrid__chip{opacity:0;filter:blur(8px);transform:translateY(3px) scale(.97);animation:rg-emerge .8s cubic-bezier(.25,.46,.45,.94) forwards}.RandomGrid.is-settling .RandomGrid__chip:nth-child(2){animation-delay:60ms}.RandomGrid.is-settling .RandomGrid__chip:nth-child(3){animation-delay:.12s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(4){animation-delay:.18s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(5){animation-delay:.24s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(6){animation-delay:.3s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(7){animation-delay:.36s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(8){animation-delay:.42s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(9){animation-delay:.48s}.RandomGrid.is-settling .RandomGrid__chip:nth-child(10){animation-delay:.54s}@keyframes rg-emerge{to{opacity:1;filter:blur(0);transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.RandomGrid.is-mixing .RandomGrid__overlay,.RandomGrid.is-separating .RandomGrid__overlay{animation:none;transition:none;opacity:0}.RandomGrid.is-settling .RandomGrid__chip{animation:none;opacity:1;filter:none;transform:none}}.SegmentedControl{display:inline-flex;border:1px solid var(--rule);border-radius:6px;overflow:hidden;background:var(--paper)}.SegmentedControl__option{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;border-left:1px solid var(--rule);color:var(--faint);font-family:var(--sans);font-size:12px;line-height:1.4;cursor:pointer;transition:color .12s cubic-bezier(.4,0,.2,1),background-color .12s cubic-bezier(.4,0,.2,1);white-space:nowrap}.SegmentedControl__option:first-child{border-left:none}.SegmentedControl__option:hover{color:var(--ink);background-color:#00000006}.SegmentedControl__option:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--indigo)}.SegmentedControl__option--selected{color:var(--ink);font-weight:500;background-color:#00000008}.SegmentedControl__option--selected:before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:var(--accent);flex-shrink:0}.SegmentedControl__option:disabled{color:var(--rule);cursor:not-allowed;pointer-events:none}.SegmentedControl--sm .SegmentedControl__option{padding:5px 10px;font-size:11px}.SegmentedControl__option-glyph{font-family:var(--mono);font-size:13px;line-height:1}.WeaveStructureDiagram{display:inline-grid;border:1px solid var(--rule);background:var(--rule);gap:1px}.WeaveStructureDiagram__cell{width:10px;height:10px;background:var(--paper)}.WeaveStructureDiagram__cell--up{background:var(--ink)}.WeaveStructureDiagram--boundary .WeaveStructureDiagram__cell--boundary-r{box-shadow:inset 2px 0 0 var(--rule-soft)}.WeaveStructureDiagram--boundary .WeaveStructureDiagram__cell--boundary-b{box-shadow:inset 0 2px 0 var(--rule-soft)}.WeaveStructureDiagram__caption{font-family:var(--mono);font-size:10px;color:var(--fainter);letter-spacing:.02em;margin-top:4px}.WeaveStructureDiagram--edit{border:1.5px solid var(--ink);cursor:pointer}.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell,.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell--up{transition:box-shadow .1s cubic-bezier(.4,0,.2,1)}.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell:hover,.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell--up:hover{box-shadow:inset 0 0 0 2px var(--rule-soft)}.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell:focus-visible,.WeaveStructureDiagram--edit .WeaveStructureDiagram__cell--up:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--indigo)}.WeaveStructureDiagram__scroll{max-width:100%;overflow-x:auto}.WeaveStructureDiagram__edit-label{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);font-weight:500}.WeaveStructureDiagram__edit-label:before{content:"● ";color:var(--ink);font-size:8px}.WeaveStructureDiagram__size-field{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--faint)}.WeaveStructureDiagram__size-field input[type=number]{width:40px;font-size:12px;padding:4px 6px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font-family:var(--mono);text-align:center}.WeaveStructureDiagram__size-field input[type=number]:hover{border-color:var(--faint)}.WeaveStructureDiagram__size-field input[type=number]:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #264b6b1f}.WeaveStructureDiagram__size-field .WeaveStructureDiagram__size-sep{color:var(--fainter);font-family:var(--mono)}[data-canvas-bg=dark]{--overlay-text: var(--fainter);--overlay-text-secondary: var(--rule);--overlay-btn-bg: rgba(255, 255, 255, .15);--overlay-btn-text: var(--rule-soft);--overlay-btn-border: rgba(255, 255, 255, .25);--overlay-btn-active-bg: var(--rule-soft);--overlay-btn-active-text: var(--ink)}html,body,#root{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.action{background:transparent;border:1px solid var(--rule);color:var(--ink);padding:6px 14px;font-size:.92em;font-family:inherit;border-radius:4px;cursor:pointer;line-height:1.2;transition:border-color .12s ease}.action:hover{border-color:var(--ink)}.action.primary{border-color:var(--ink);font-weight:500}.action:disabled{color:var(--fainter);border-color:var(--rule-soft);cursor:not-allowed}.on-dot:before{content:"";display:inline-block;width:3px;height:3px;background:var(--accent);border-radius:50%;vertical-align:2px;margin-right:6px}@media screen{.print-img-area-fit-width img,.print-img-area-fit-height img{max-width:100%;max-height:50vh;object-fit:contain;display:block;margin:0 auto}}@media print{@page{size:A4 portrait;margin:12mm}html,body,#root{height:100%!important;margin:0!important}.no-print,nav{display:none!important}.print-dialog-overlay{position:static!important;inset:auto!important;z-index:auto!important;background:none!important;display:block!important;height:100%!important}.print-dialog-box{background:#fff!important;box-shadow:none!important;border-radius:0!important;max-width:none!important;max-height:none!important;width:100%!important;height:100%!important;overflow:visible!important}.print-dialog-content{padding:0!important;background:#fff!important;overflow:visible!important;flex:1 1 0!important;height:100%!important;display:flex!important;flex-direction:column!important}.print-content{display:flex!important;flex-direction:column!important;height:100%!important;overflow:visible!important}.print-img-area{flex:1 1 0!important;min-height:0!important;overflow:hidden!important}.print-img-area-fit-width{align-items:flex-start!important;justify-content:center!important}.print-img-area-fit-width img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;box-sizing:border-box!important}.print-img-area-fit-height{flex:0 0 auto!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}.print-img-area-fit-height img{display:block!important;margin:0 auto!important;height:212mm!important;max-height:212mm!important;width:auto!important;max-width:100%!important;object-fit:contain!important;box-sizing:border-box!important}.print-content--no-stripes .print-img-area-fit-height img{height:258mm!important;max-height:258mm!important}.print-img-area-actual{flex:0 0 auto!important}.print-content--chips{display:block!important;height:auto!important;overflow:visible!important}body{background:#fff;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}#root{overflow:visible}}
