:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color-scheme:dark;font-synthesis:none;background:#eff7f6;color:#eee;--muted:#9d9e9e;--border:#ffffff18}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #ddc696;outline-offset:5px}button{color:inherit}a{color:inherit;text-underline-offset:4px}[hidden]{display:none!important}
.artboard{position:fixed;inset:0;overflow:hidden;background:#eff7f6;isolation:isolate}.artboard>svg,.artboard>canvas{display:block;width:100%;height:100%}.artboard>svg{position:absolute;inset:0}
.glass{background:#171c22d9;color:#f5f2eb;border:1px solid #ffffff24;box-shadow:0 4px 24px #0000000c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.corner-tools{position:fixed;z-index:3;right:max(24px,env(safe-area-inset-right));top:max(24px,env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;gap:10px;transition:opacity 1.2s}.icon-button{width:44px;height:44px;border-radius:50%;padding:0;display:grid;place-items:center}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;display:block}.icon-button .dots-icon{fill:currentColor;stroke:none}.icon-button .slider-handles{stroke-width:3.5}.icon-button:hover{background:#353c43}.icon-button[aria-pressed=true]{color:#e8d7b2;background:#394047;border-color:#dac9a36b}.immersed .corner-tools{opacity:0;pointer-events:none}
.first-light{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;color:#476a72;font-size:14px;background:#eff7f6;transition:opacity .7s ease}.first-light.arrived{opacity:0}
.loading-motif{display:grid;justify-items:center;gap:20px}.loading-mark{display:block;width:clamp(80px,16vw,104px);height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:.9;stroke-linejoin:round}.loading-label{color:#68767c;font-size:14px;font-weight:400;letter-spacing:.16em;padding-left:.16em}.loading-orbit,.loading-counter,.loading-breathe{transform-origin:48px 48px}.loading-orbit{animation:loading-turn 16s linear infinite}.loading-counter{animation:loading-turn 12s linear infinite reverse}.loading-breathe{animation:loading-breathe 3.6s ease-in-out infinite}.loading-center{fill:currentColor;stroke:none;opacity:.55}
@keyframes loading-turn{to{transform:rotate(360deg)}}
@keyframes loading-breathe{0%,100%{transform:scale(.86);opacity:.4}50%{transform:scale(1.06);opacity:.85}}
@media(prefers-reduced-motion:reduce){.loading-orbit,.loading-counter,.loading-breathe{animation:none}.loading-breathe{opacity:.6}}
.error-state,.boot-error{position:fixed;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);padding:24px 28px;background:#171c21f5;border:1px solid #ffffff30;color:#eee;max-width:min(440px,calc(100vw - 40px));font-size:16px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:400px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);height:fit-content;min-height:320px;border:1px solid #ffffff20;border-radius:16px;background:#171b20f5;color:#eee;box-shadow:0 20px 80px #0003;padding:0;overscroll-behavior:contain;font-size:14px;line-height:1.6}dialog::backdrop{background:#0b0e112b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:26px 26px 22px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#171b20;z-index:1}.sheet-header h2{font-family:"Songti SC",serif;font-size:24px;letter-spacing:.16em;font-weight:400;margin:6px 0 0}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--muted)}.close-button{border:0;background:none;font-size:28px;font-weight:200;width:44px;height:44px;border-radius:50%;margin-right:-10px}.close-button:hover{background:#ffffff0a}.sheet-content{padding:8px 26px 24px}.save-moment{display:flex;align-items:center;gap:12px;width:100%;padding:22px 0;background:transparent;border:0;text-align:left}.save-moment small{font-size:12px;color:var(--muted)}.save-moment>span:last-child{margin-left:auto;font-size:18px}.settings-section{border-top:1px solid var(--border)}summary{cursor:pointer;list-style:none;position:relative;padding:19px 24px 19px 0;font-size:14px;letter-spacing:.06em;user-select:none}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:2px;color:var(--muted);font-size:18px;font-weight:300}details[open]>summary:after{content:'−'}details[open]>summary{color:#e1c897}.control-section{border-top:1px solid var(--border);padding-bottom:4px}.control-section summary{color:var(--muted);padding:14px 24px 14px 0}.control-section[open]{padding-bottom:18px}.control-help,.method-note,.credits,.shortcut,#evolution-help,#evolution-status,#flow-search-status,#junction-help,#junction-status{font-size:12px;color:var(--muted);line-height:1.8}.method-note>span{display:none}.range-control{margin-top:18px}.range-control label{display:flex;justify-content:space-between;font-size:14px}.range-control output{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.range-control input{width:100%;margin:14px 0 0;accent-color:#cdb98d}input[type=checkbox]{width:18px;height:18px;accent-color:#cdb98d;flex-shrink:0}input[type=number],select{color:#eee;background:#252a30;border:1px solid #ffffff18;border-radius:6px;padding:10px 12px;max-width:100%;font-size:14px}select{width:100%;cursor:pointer}.toggle,.continuity-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0}.continuity-switch{justify-content:flex-start}.continuity-bar,.junction-bar,.evolution-bar{margin-bottom:18px}.continuity-bar label,.evolution-controls>label:not(.continuity-switch){display:block;margin:18px 0 8px}.continuity-bar select,.evolution-controls select{margin-top:8px}.switch{display:none}.palette-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.palette{border:1px solid transparent;background:#ffffff05;border-radius:6px;padding:9px 0;font-size:12px}.palette[aria-pressed=true]{border-color:#c9b78f}.palette i{display:block;width:20px;height:20px;margin:0 auto 7px;border-radius:50%;border:1px solid #ffffff26;background:#0c2036}.palette[data-theme=jade] i{background:#123e3b}.palette[data-theme=paper] i{background:#f3f2ee}.palette[data-theme=copper] i{background:#28162f}.palette[data-theme=porcelain] i{background:#eff7f6}.palette[data-theme=cinnabar] i{background:#f3e8d8}.palette[data-theme=indigo] i{background:#20263e}.palette[data-theme=pine] i{background:#202923}.reset,#randomize,.transition-panel button{background:#ffffff08;border:1px solid #ffffff18;border-radius:6px;padding:10px 12px;font-size:12px}.reset,#randomize{margin:10px 8px 6px 0}.about p{font-size:16px;line-height:1.9}.about p.credits,.about p.shortcut{font-size:12px}.shortcut{border-top:1px solid var(--border);padding-top:16px}.technical p{font-size:12px;word-break:break-word;color:var(--muted)}.transition-panel h3{font-size:14px;font-weight:400}.transition-endpoints>div{margin-top:20px}.transition-endpoints span{display:block;color:var(--muted);font-size:12px;margin:5px 0 10px}.transition-progress{display:flex;gap:10px;align-items:center;margin:20px 0}.transition-progress input{width:100%;min-width:0}.transition-progress output{font-size:12px}.transition-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.transition-examples{display:flex;flex-wrap:wrap;gap:5px}#morph-status{font-size:12px;color:var(--muted)}.ab-lab>summary{font-size:12px;padding-top:0}.ab-lab{margin-bottom:16px}
@media(max-width:600px){.signature{left:24px;top:max(26px,env(safe-area-inset-top))}.signature h1{font-size:18px}.signature>span{font-size:12px}.corner-button{right:20px;top:max(22px,env(safe-area-inset-top))}.art-actions{bottom:max(24px,env(safe-area-inset-bottom))}dialog{inset:auto 8px 8px;width:calc(100vw - 16px);max-width:none;max-height:85dvh;border-radius:18px}.sheet-header{padding:22px}.sheet-content{padding:4px 22px 22px}.immersed .art-actions{opacity:.7}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.immersed .signature,.immersed .art-actions,.immersed .corner-button{opacity:1}}

/* The parameter surface overlays the artwork; it never resizes the canvas. */
.parameter-overlay{position:fixed;z-index:2;left:24px;right:24px;bottom:24px;border-radius:14px;padding:0;max-height:52dvh;overflow:hidden}.parameter-heading{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--border)}.parameter-heading h2{font-size:14px;font-weight:500;letter-spacing:.08em;margin:0}.parameter-heading>span{font-size:12px;color:#a7aeb3}.parameter-heading .close-button{margin-left:auto;width:32px;height:32px;font-size:24px}.parameter-columns{display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr;padding:18px 0;max-height:calc(52dvh - 56px);overflow:auto}.parameter-columns .control-section{border-top:0;min-width:0;padding:0 20px;margin:0}.parameter-columns .control-section+.control-section{border-left:1px solid #ffffff25}.parameter-columns h3.construction-title{margin-top:26px}.parameter-columns h3{font-size:12px;font-weight:400;color:#aeb4b9;letter-spacing:.1em;margin:0 0 16px}.parameter-columns .range-control:first-child{margin-top:0}.parameter-columns select{font-size:14px}.parameter-columns .range-control{margin-top:14px}.parameter-columns input[type=range]{margin-top:10px}.parameter-columns .toggle{font-size:12px}.parameter-columns .palette-row{gap:5px}.parameter-columns .palette{font-size:12px}.parameter-columns .palette i{width:16px;height:16px}.parameter-columns .control-section>select{width:100%}.menu-action{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 0;background:none;border:0;text-align:left;font-size:14px;border-bottom:1px solid var(--border)}.sheet-header h2{font-family:inherit;font-size:17px;letter-spacing:.04em;margin:0;font-weight:400}
#history-dialog{width:min(1000px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);inset:24px 24px auto auto;min-height:250px}#history-title{display:flex;gap:16px;align-items:center}#history-count{font-size:12px;letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums}.history-notice{font-size:12px;color:var(--muted);padding:0 24px;margin:18px 0}.history-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:0 24px 24px}.history-card{border:1px solid #ffffff18;border-radius:8px;overflow:hidden;min-width:0;margin:0;background:#ffffff03}.history-image{display:block;width:100%;aspect-ratio:1.4;object-fit:contain}.history-card figcaption{padding:11px 12px 12px}.history-card .history-name{display:block;font-size:12px;color:#dce0e2;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-card .history-time{font-size:12px;color:var(--muted);display:block;margin:4px 0 9px}.history-downloads{display:flex;gap:8px}.history-downloads button{background:none;border:1px solid #ffffff26;border-radius:5px;min-height:34px;padding:5px 10px;color:#eee;font-size:12px;flex:1}.history-downloads button:hover{background:#ffffff0c}.history-downloads button:disabled{opacity:.4}.history-empty{color:var(--muted);padding:30px;text-align:center;font-size:14px}.history-error{font-size:12px;color:#e5b39b;grid-column:1/-1}
@media(max-width:900px){.parameter-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 0}.parameter-columns .control-section:nth-child(3){border-left:0;grid-column:auto}.history-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.corner-tools{top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));gap:8px}.parameter-overlay{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));max-height:62dvh}.parameter-columns{max-height:calc(62dvh - 56px)}.parameter-columns .control-section{padding:0 14px}.parameter-heading{padding-left:14px}.parameter-heading>span{font-size:12px}.parameter-columns select{padding:8px 6px;font-size:12px}.parameter-columns .range-control label{font-size:12px}.parameter-columns .palette-row{grid-template-columns:repeat(4,minmax(0,1fr))}#history-dialog{width:calc(100vw - 16px);inset:auto 8px 8px;max-height:85dvh}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}.history-notice{padding:0 16px}}
@media(prefers-reduced-motion:reduce){.parameter-auto>span,.parameter-auto>span:before{transition:none}}

.parameter-auto{display:flex;align-items:center;gap:10px;font-size:12px;color:#b7bec3;cursor:pointer;position:relative}.parameter-auto input{position:absolute;right:0;opacity:0;width:32px;height:20px;margin:0}.parameter-auto>span{display:block;width:32px;height:18px;border-radius:20px;background:#ffffff20;transition:background .2s}.parameter-auto>span:before{content:"";display:block;width:12px;height:12px;border-radius:50%;margin:3px;background:#b0b5b9;transition:transform .2s,background .2s}.parameter-auto input:checked+span{background:#d7c39866}.parameter-auto input:checked+span:before{transform:translateX(14px);background:#f0dfb9}.parameter-auto input:focus-visible+span{outline:2px solid #f0dfb9;outline-offset:4px}.history-restore{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.history-restore:after{content:"载入参数";position:absolute;bottom:10px;left:50%;transform:translateX(-50%);padding:4px 10px;border-radius:20px;background:#171b20dd;color:#eee;font-size:12px;opacity:0;transition:opacity .2s;white-space:nowrap}.history-restore:hover:after,.history-restore:focus-visible:after{opacity:1}

.parameter-heading #randomize{margin:0;padding:6px 11px;font-size:12px;border-color:#ffffff26;background:#ffffff08;flex-shrink:0}.parameter-heading #randomize:hover{background:#ffffff14}@media(max-width:600px){.parameter-heading{gap:12px}}

.parameter-overlay,#information,#history-dialog{background:#171c22ad;backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);box-shadow:0 12px 48px #0002}
.sheet-header{background:#171c2280;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
dialog::backdrop{background:#0b0e1114;backdrop-filter:none;-webkit-backdrop-filter:none}
.evolution-section .evolution-bar{margin:0}.evolution-section .evolution-controls>label:first-child{margin-top:0}.evolution-section label{font-size:12px}
@media(min-width:901px) and (max-width:1200px){.parameter-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 0}.parameter-columns .control-section:nth-child(4){border-left:0;grid-column:1/-1}.evolution-section .evolution-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;align-items:end}.evolution-section .evolution-controls>label{margin:0}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.parameter-overlay,#information,#history-dialog{background:#171c22cc}}

.close-button{display:grid;place-items:center;padding:0;line-height:1;flex-shrink:0}.close-button svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}

/* Quiet controls remain translucent on both light and dark patterns. */
.corner-tools .icon-button{background:#171c2266;border-color:#ffffff30;box-shadow:0 2px 12px #0000000a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background .25s,border-color .25s}
.corner-tools .icon-button:hover,.corner-tools .icon-button:focus-visible{background:#171c22a6;border-color:#ffffff50}
.corner-tools .icon-button[aria-pressed=true]{background:#39404799;border-color:#dac9a36b}
.information-sheet{width:460px;min-height:0;max-height:calc(100dvh - 32px)}
.information-sheet .sheet-header h2{font-family:inherit;font-size:18px;letter-spacing:.02em;margin:0}
.information-sheet .sheet-content{padding:22px 26px 28px}
.information-intro{font-size:16px;line-height:1.85;color:#e3e6e6;margin:0 0 26px}
.information-credits{border-top:1px solid #ffffff24;padding-top:22px}
.information-credits h3{font-size:14px;font-weight:400;letter-spacing:.06em;margin:0 0 22px;color:#d5c5a8}
.credit-entry+.credit-entry{margin-top:24px}
.credit-context{display:block;font-size:14px;color:#aab2b7;margin-bottom:6px;line-height:1.6}
.credit-entry>a{font-size:16px;line-height:1.5;text-decoration-color:#ffffff40;text-underline-offset:4px}
.credit-entry>a:hover{text-decoration-color:currentColor}
.credit-entry p{margin:7px 0 0;font-size:14px;line-height:1.65;color:#bcc4c9}
.information-source{margin:26px 0 0;padding-top:20px;border-top:1px solid #ffffff24;font-size:14px;color:#b6bfc4}
@media(max-width:600px){.information-sheet{inset:auto 8px 8px;width:calc(100vw - 16px);max-height:85dvh}.information-sheet .sheet-content{padding:20px 22px 24px}}

/* Public filing link for the Alibaba-hosted variant. */
.filing-footer { position: fixed; z-index: 2; inset: auto 0 max(8px, env(safe-area-inset-bottom)); text-align: center; pointer-events: none; font: 10px/1.5 system-ui, sans-serif; }
.filing-footer a { pointer-events: auto; color: #ddd; background: #171b2280; border-radius: 3px; padding: 2px 6px; text-decoration: none; }
.filing-footer a:hover, .filing-footer a:focus-visible { color: white; text-decoration: underline; }
