:root{font-synthesis:none;text-rendering:optimizelegibility;color:#132b2f;background:#fbfcfb;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #087b7038}::selection{color:#132b2f;background:#ccebe4}:root{--ink:#132b2f;--muted:#64787b;--line:#dce7e6;--green:#087b70;--green-2:#0fa193;--mint:#e5f5f1;--blue:#356fa3;--lav:#f0ecfa;--paper:#fbfcfb;--shadow:0 24px 70px #1d43431a}*{box-sizing:border-box}.app-shell{background:var(--paper);min-height:100vh;color:var(--ink)}button,input,textarea,select{font:inherit}.top-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.store-button{width:42px;height:42px;color:var(--green);cursor:pointer;background:#eef8f5;border:1px solid #c9ddd8;border-radius:12px;place-items:center;display:grid}.store-button:hover{background:#dff2ed}.key-input{color:var(--green);border:1px solid #cbdedb;border-radius:11px;align-items:center;gap:9px;padding:0 12px;display:flex}.key-input input{text-transform:uppercase;border:0;outline:0;width:100%;padding:13px 0;font-size:12px}.activate-button,.logout-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:13px;padding:12px;font-size:11px;font-weight:700}.activate-button:disabled{opacity:.4}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#071d1f8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.credit-modal{background:#fff;border-radius:23px;width:480px;max-width:100%;padding:30px;position:relative;box-shadow:0 40px 120px #0000004d}.modal-close{color:#829492;cursor:pointer;background:0 0;border:0;position:absolute;top:14px;right:16px}.modal-kicker{letter-spacing:.15em;color:var(--green);font-size:9px;font-weight:800}.credit-modal h2{margin:8px 0;font-size:26px}.balance{background:linear-gradient(135deg,#e3f6f1,#f7fbfa);border-radius:14px;align-items:flex-end;gap:7px;padding:17px 20px;display:flex}.balance span{color:#617674;align-self:center;margin-right:auto;font-size:10px}.balance b{font-size:38px;line-height:1}.balance em{color:#6d8381;margin-bottom:5px;font-size:10px;font-style:normal}.credit-modal>p{color:#728583;font-size:10px}.license-detail{grid-template-columns:auto 1fr;gap:9px 18px;margin:18px 3px;font-size:10px;display:grid}.license-detail span{color:#869593}.license-detail b{text-align:right}.admin-drawer{z-index:80;background:#fff;border:1px solid #d8e5e2;border-radius:21px;width:min(440px,100vw - 36px);padding:27px;position:fixed;top:18px;bottom:18px;right:18px;overflow:auto;box-shadow:0 35px 100px #05191b59}.admin-drawer h2{margin:8px 0 16px}.admin-drawer p,.admin-drawer small{color:#718482;font-size:9px;line-height:1.6}.admin-drawer>input,.admin-drawer label input,.admin-drawer select,.admin-drawer textarea{border:1px solid #d8e4e2;border-radius:9px;width:100%;margin:6px 0 11px;padding:10px}.admin-drawer>button:not(.modal-close){background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:9px;width:100%;padding:11px}.admin-drawer label{color:#647875;font-size:9px}.admin-stats{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px;display:grid}.admin-stats span{color:#6f817f;background:#eef7f4;border-radius:10px;flex-direction:column;padding:12px;font-size:8px;display:flex}.admin-stats b{color:var(--green);margin-bottom:3px;font-size:18px}.modal-note{color:#96a4a3;margin-top:14px;font-size:7px;line-height:1.5;display:block}.shop-link{width:100%;color:var(--green);cursor:pointer;background:0 0;border:0;padding:12px}.preview-modal,.shop-modal{background:#fff;border-radius:24px;width:min(820px,100%);max-height:calc(100vh - 30px);padding:28px;position:relative;overflow:auto;box-shadow:0 40px 120px #0000004d}.preview-modal h2,.shop-modal h2{margin:8px 0 18px;font-size:27px}.shop-tabs{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px;display:grid}.shop-tabs button{color:#5d7370;cursor:pointer;background:#f7faf9;border:1px solid #d6e4e1;border-radius:10px;padding:11px}.shop-tabs button.active{border-color:var(--green);color:var(--green);background:#e7f6f1;font-weight:800}.package-choices{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.package-choices button{cursor:pointer;background:#fff;border:1px solid #d7e3e1;border-radius:13px;flex-direction:column;gap:3px;padding:13px;display:flex}.package-choices button.active{border:2px solid var(--green);color:var(--green);background:#eef9f6}.qr-flow{grid-template-columns:230px 1fr;align-items:center;gap:24px;margin:20px 0;display:grid}.qr-flow img{object-fit:contain;border:1px solid #d7e5e2;border-radius:16px;width:100%;max-height:300px}.qr-flow b{font-size:18px}.shop-actions{gap:10px;display:flex}.shop-actions button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:11px;flex:1;padding:13px}.shop-actions button.secondary{color:#456360;background:#eef4f2}.assistant-simulate{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:11px 14px;font-weight:700}.assistant-simulate:disabled{cursor:default;background:#b5c7c4}.assistant-chat{background:#edf8f5;border:1px solid #cfe3df;border-radius:16px;flex-direction:column;gap:8px;margin:-4px 0 20px 254px;padding:16px;display:flex}.assistant-chat>span{color:var(--green);align-items:center;gap:7px;font-weight:800;display:flex}.assistant-chat p{margin:0!important}.assistant-chat b{color:#17383a;overflow-wrap:anywhere;font:700 14px ui-monospace,SFMono-Regular,Consolas,monospace}.assistant-chat small{color:#667d7a!important;margin:0!important}@media (width<=720px){.assistant-chat{margin:-4px 0 20px}}.admin-drawer textarea{resize:vertical;height:150px;font:10px ui-monospace,monospace}.error-banner{color:#a33d35;background:#fff2f0;border:1px solid #f0c4bf;border-radius:9px;margin-top:13px;padding:9px 11px;font-size:10px}.experiment-table{border-collapse:collapse;width:100%;margin:10px 0;font-size:11px}.experiment-table th,.experiment-table td{text-align:center;border:1px solid #dce7e5;padding:6px 8px}.experiment-table th{color:var(--green);background:#eef7f4;font-weight:800}.home-button{color:#526e6b;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin-left:24px;font-weight:700;display:flex;font-size:14px!important}.palette-grid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.palette-grid article{background:#fbfdfc;border:1px solid #d8e5e2;border-radius:14px;position:relative;overflow:hidden}.palette-grid article.active{border:2px solid var(--green);background:#ecf8f5;box-shadow:0 8px 24px #087b701a}.palette-main{text-align:left;color:#294745;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;width:100%;padding:14px 47px 14px 14px;display:flex}.palette-main b{font-size:15px}.palette-main small{color:#728683;font-size:13px}.palette-main>span{min-height:25px;margin-top:5px;display:flex}.palette-main i{border:2px solid #fff;border-radius:50%;width:27px;height:27px;margin-right:-5px;box-shadow:0 2px 7px #0e2f301f}.palette-main em{color:#66827e;border:1px dashed #88a39f;border-radius:50%;place-items:center;width:29px;height:29px;font-style:normal;display:grid;font-size:20px!important}.palette-eye{color:#54736f;cursor:pointer;background:#e8f2f0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:9px;right:8px}.palette-grid article.active .palette-eye{color:var(--green);background:#d8eee8}.diy-palette{background:#f1f8f6;border:1px solid #d4e6e2;border-radius:14px;grid-template-columns:180px 1fr;gap:14px;margin:12px 0 4px;padding:15px;display:grid}.diy-upload{flex-direction:column;gap:8px;display:flex}.diy-upload img{object-fit:cover;border-radius:9px;width:100%;height:96px}.diy-upload button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #bcd6d1;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:11px;display:flex;font-size:13px!important}.diy-palette label{flex-direction:column;gap:6px;display:flex}.diy-palette label>span,.diy-palette label small{font-size:13px!important}.diy-palette textarea{resize:vertical;border:1px solid #cfe0dd;border-radius:9px;height:72px;padding:10px;font:13px ui-monospace,Consolas,monospace}.diy-palette small{color:#a76538}.diy-palette small.valid{color:var(--green)}.type-tabs button em{color:#81918f;font-style:normal;font-size:12px!important}.palette-preview-modal{width:min(860px,100%)}.palette-detail-list{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}.palette-detail-list span{border:1px solid #dce7e5;border-radius:10px;grid-template-columns:25px 1fr;align-items:center;gap:2px 8px;padding:9px;display:grid}.palette-detail-list i{border-radius:50%;grid-row:span 2;width:25px;height:25px}.palette-detail-list b,.palette-detail-list small{font-size:12px!important}.palette-detail-list small{color:#758986}.empty-palette-preview{color:#6c8581;background:#f5faf8;border:1px dashed #cbded9;border-radius:16px;align-content:center;place-items:center;min-height:260px;display:grid}.empty-palette-preview p{margin:10px}.reference-copy small{max-width:430px!important}.input-heading>small{color:#718582;font-size:13px!important}@media (width<=820px){.landing-nav{height:68px;padding:0 16px}.landing-nav nav a{padding:10px 14px;font-size:14px}.landing-hero{grid-template-columns:1fr;gap:42px;min-height:auto;padding:42px 18px 64px}.landing-copy{text-align:center}.landing-copy h1{font-size:48px}.landing-copy>p{font-size:16px}.wake-button{margin:24px auto 0}.hero-video-card{width:min(86vw,410px)}.hero-video-card video{max-height:none}.landing-footer{padding:20px 16px}.landing-footer span{display:none}.landing-footer button{justify-content:center;width:100%}.home-button{margin-left:8px}.palette-grid,.diy-palette{grid-template-columns:1fr}.palette-detail-list{grid-template-columns:1fr 1fr}.type-tabs button em{display:none}.topbar .home-button{font-size:0!important}.topbar .home-button svg{display:block}}@media (width<=480px){.landing-copy h1{font-size:41px}.landing-copy>p{font-size:15px}.landing-nav .wordmark small{display:none}.palette-detail-list{grid-template-columns:1fr}.palette-main{padding-right:44px}.type-tabs{grid-template-columns:1fr}.type-tabs button em{display:block}.reference-copy small{max-width:230px!important}}.workspace-shell{width:100%;max-width:1180px;min-height:100vh;margin:0 auto;overflow:visible}.module-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.module-nav button{min-width:0}.hero.module-two{min-height:auto;padding:34px 28px 50px}.palette-page-heading{border-bottom:1px solid #dce7e4;margin-bottom:22px;padding-bottom:22px}.palette-page-heading>span,.preset-heading>div>span,.diy-palette-controls>div>span{color:var(--green);letter-spacing:.14em;font-weight:800;font-size:13px!important}.palette-page-heading h1{letter-spacing:-.035em;margin:7px 0 8px;font-size:38px}.palette-page-heading p,.diy-palette-controls>div>p{color:#687d7a;margin:0;line-height:1.7}.diy-palette-stage{background:0 0;border:0;border-bottom:1px solid #cbdcd8;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;margin-bottom:26px;padding:0 0 28px;display:grid}.diy-palette-stage.active{border-color:var(--green);box-shadow:none}.diy-palette-preview{min-width:0}.diy-palette-preview img{aspect-ratio:4/3;object-fit:contain;background:#edf3f1;width:100%;height:auto;display:block}.diy-palette-preview>div{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.diy-palette-preview button,.palette-toggle,.reference-example button{color:var(--green);cursor:pointer;background:#fff;border:1px solid #b8d2cd;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-weight:750;display:flex}.diy-palette-preview button:first-child{background:var(--ink);border-color:var(--ink);color:#fff}.diy-palette-controls h2{margin:7px 0;font-size:24px}.analyzed-swatches{background:#f2f8f6;border:1px solid #d6e7e2;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0;padding:12px;list-style:none;display:grid}.analyzed-swatches li{background:#ffffffc7;border:1px solid #0f32321a;border-radius:10px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:9px;display:grid}.analyzed-swatches i{border:1px solid #0f32321f;width:42px;height:42px}.analyzed-swatches span{flex-direction:column;min-width:0;display:flex}.analyzed-swatches b,.analyzed-swatches small{overflow-wrap:anywhere;max-width:100%}.analyzed-swatches b{font:700 13px ui-monospace,Consolas,monospace}.analyzed-swatches small{color:#718582}.manual-palette{flex-direction:column;gap:7px;display:flex}.manual-palette>span{font-weight:750}.manual-palette textarea{resize:vertical;background:#fff;border:1px solid #c9dcd8;min-height:74px;padding:11px;font:14px ui-monospace,Consolas,monospace}.manual-palette small{color:#a15d35}.manual-palette small.valid{color:var(--green)}.preset-heading{justify-content:space-between;align-items:end;margin-bottom:12px;display:flex}.preset-heading h2{margin:5px 0 0;font-size:22px}.preset-heading a{color:var(--green);text-underline-offset:3px}.palette-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.palette-grid article{border-radius:9px}.palette-main{gap:3px;padding:10px 42px 10px 10px}.palette-main>span{min-height:22px;margin-top:3px}.palette-main i{width:24px;height:24px}.palette-eye{border-radius:7px;width:32px;height:32px;top:7px}.palette-toggle{background:#f7faf9;width:100%;margin-top:10px}.current-palette-summary{border-top:1px solid #dce7e4;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 14px;margin-top:24px;padding-top:20px;display:grid}.current-palette-summary>span,.current-palette-summary>small{color:#6f8380}.current-palette-summary>div{justify-content:flex-end;display:flex}.current-palette-summary i{border:2px solid #fff;border-radius:50%;width:30px;height:30px;margin-left:-5px;box-shadow:0 1px 5px #13363626}.current-palette-summary>small{grid-column:2/-1}.palette-next{margin-top:22px}.research-heading{align-items:center}.research-switch{align-items:center;gap:9px;font-weight:750;display:flex}.research-switch input{opacity:0;pointer-events:none;position:absolute}.research-switch i{background:#cbd8d5;border-radius:20px;width:42px;height:24px;position:relative}.research-switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0d2f2f33}.research-switch input:checked+i{background:var(--green)}.research-switch input:checked+i:after{left:21px}.research-policy{color:#526b68;margin:0 0 10px}.research-sources{background:#f5faf8;border:1px solid #d8e5e2;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:11px;display:flex}.research-sources span{background:#fff;border:1px solid #cadcd8;padding:5px 8px}.research-sources b{color:#9b493d;border-top:1px solid #e9cbc5;width:100%;padding-top:8px}.palette-fallback-note{color:#365f59;background:#edf8f5;border:1px solid #c8dfd9;border-radius:10px;margin:0 0 18px;padding:11px 14px;font-size:13px;line-height:1.6}.type-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.type-tabs button{min-width:0}.type-tabs img{aspect-ratio:16/9;object-fit:cover;width:100%}.type-tabs button :is(small,em){text-align:center;text-wrap:balance;word-break:normal;place-items:center;width:100%;min-height:2.9em;line-height:1.45;display:grid}.reference-block{background:0 0;border:1px solid #d7e4e1;border-left:0;border-right:0;gap:12px;margin-top:12px;padding:16px 0;display:grid}.reference-example{grid-template-columns:minmax(160px,220px) minmax(0,1fr);align-items:center;gap:16px;min-height:160px;display:grid}.reference-example img{aspect-ratio:8/5;object-fit:contain;background:#f5f8f7;border:1px solid #d5e2df;width:100%;height:auto;display:block}.reference-example p{color:#647a77;margin:5px 0 10px;line-height:1.55}.reference-preview.reference-case{grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;align-items:center;gap:12px;min-height:160px;display:grid}.reference-preview.reference-case img{aspect-ratio:8/5;object-fit:contain;background:#f5f8f7;border:1px solid #d5e2df;width:100%;height:auto;display:block}.reference-preview.reference-case span{overflow-wrap:anywhere;white-space:normal;max-width:none}.reference-block>.upload-button{justify-self:start}.input-busy{z-index:39;color:var(--green);background:#e9f6f2;border-bottom:1px solid #c8e3dc;justify-content:center;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:750;display:flex;position:sticky;top:145px}.input-busy .spinner{border-color:#087b7040;border-top-color:var(--green)}@media (width<=1000px){.type-tabs,.palette-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.module-nav{gap:5px;padding-left:8px;padding-right:8px}.module-nav button{flex-direction:column;padding:9px 3px}.module-nav button span{font-size:12px!important}.hero.module-two{padding:20px 10px 34px}.diy-palette-stage{grid-template-columns:1fr;padding:0 0 22px}.analyzed-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-heading{flex-direction:column;align-items:flex-start;gap:10px}.reference-example{grid-template-columns:minmax(140px,34%) minmax(0,1fr)}.reference-preview.reference-case{grid-template-columns:minmax(140px,34%) minmax(0,1fr) auto}.current-palette-summary{grid-template-columns:auto 1fr}.current-palette-summary>div{grid-column:1/-1;justify-content:flex-start}.current-palette-summary>small{grid-column:1/-1}}@media (width<=480px){.module-nav button b{width:22px;height:22px}.module-nav button span{line-height:1.25;font-size:11px!important}.diy-palette-preview>div,.analyzed-swatches,.palette-grid,.type-tabs{grid-template-columns:1fr}.type-tabs button :is(small,em){min-height:auto}.palette-page-heading h1{font-size:32px}.diy-palette-controls h2{font-size:21px}.reference-example{grid-template-columns:1fr;min-height:0}.reference-preview.reference-case{grid-template-columns:minmax(0,1fr) auto;min-height:0}.reference-preview.reference-case img{grid-column:1/-1}.reference-block>.upload-button{justify-content:center;width:100%}}.variant-b-journal-gallery{color:#0a0a0a;background:#f6f6f2;height:100dvh;overflow:hidden}.variant-b-journal-gallery .app-header{background:#f6f6f2;border-color:#d8d8d2;min-height:64px;padding-block:7px}.variant-b-journal-gallery .brand-logo-b{box-sizing:border-box;width:168px;height:50px;padding:6px 8px}.variant-b-journal-gallery .top-actions{border-left:1px solid #111;align-self:stretch;gap:0}.variant-b-journal-gallery .help-link,.variant-b-journal-gallery .credit-button,.variant-b-journal-gallery .store-button{color:#111;min-height:42px;box-shadow:none;background:0 0;border:0;border-right:1px solid #111;border-radius:0;justify-content:center;align-items:center;padding-inline:16px;transition:color .18s,background .18s;display:flex}.variant-b-journal-gallery .help-link{font-size:12px;text-decoration:none}.variant-b-journal-gallery .credit-button{font-size:12px}.variant-b-journal-gallery .store-button{padding-inline:10px}.variant-b-journal-gallery .store-button svg{flex:0 0 20px;width:20px;height:20px}.variant-b-journal-gallery .help-link:hover,.variant-b-journal-gallery .credit-button:hover,.variant-b-journal-gallery .store-button:hover{color:#fff;background:#111}.b-workbench-frame{grid-template-columns:minmax(0,1.9fr) minmax(350px,.72fr);height:calc(100dvh - 64px);display:grid}.b-indexed-stage{grid-template-columns:minmax(150px,.28fr) minmax(300px,.72fr) minmax(180px,.34fr);min-width:0;min-height:0;display:grid;position:relative}.b-journal-index{flex-direction:column;align-self:center;gap:1px;padding:24px 10px 24px 18px;display:flex}.b-journal-index button{color:#aaa9a3;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px 1fr;gap:8px;padding:5px 0;font:500 11px/1.18 inherit;transition:color .24s,transform .24s;display:grid}.b-journal-index button span{color:#c6c5bf;letter-spacing:.12em;font-size:9px}.b-journal-index button.active{color:#050505;transform:translate(8px)}.b-journal-index button.active span{color:#050505}.b-journal-index button.b-index-diy,.b-journal-index button.b-index-diy span{color:#1678d2}.b-stage-frame{outline-offset:-6px;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.b-stage-frame:focus-visible{outline:2px solid #111}.b-stage-preview,.b-stage-transition .b-stage-preview{z-index:1;object-fit:cover;pointer-events:none;will-change:transform, filter, opacity;width:min(26vw,340px);height:min(100% - 54px,510px);position:absolute;top:50%;left:50%}.b-stage-frame{--b-stage-offset:clamp(340px, 34vw, 480px)}.b-stage-preview-prev{filter:grayscale();opacity:.18;transform:translate(-50%, calc(-50% - var(--b-stage-offset))) scale(.78);top:50%}.b-stage-preview-next{filter:grayscale();opacity:.18;transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78);bottom:auto}.b-stage-preview-placeholder{color:#2c2c2a;background:#d8d8d2;place-items:center;font:700 22px/1 Georgia,serif;display:grid}.b-stage-transition{z-index:2;position:absolute;inset:0;overflow:hidden}.b-stage-figure{z-index:2;aspect-ratio:2/3;background:#e5e5df;width:min(26vw,340px);max-height:calc(100% - 54px);margin:0;position:relative;overflow:hidden}.b-stage-figure img{object-fit:cover;width:100%;height:100%}.b-stage-preview[data-stage-content=custom],.b-stage-figure[data-stage-content=custom] img{object-fit:contain}.b-bracket{border-block:12px solid #050505;width:44px;height:100px;position:absolute;top:50%;transform:translateY(-50%)}.b-bracket-left{border-left:12px solid #050505;left:4%}.b-bracket-right{border-right:12px solid #050505;right:4%}.b-stage-transition[data-direction="1"] .b-stage-preview-exiting{animation:.68s cubic-bezier(.16,1,.3,1) both b-forward-exiting}.b-stage-transition[data-direction="1"] .b-stage-preview-outgoing{animation:.68s cubic-bezier(.16,1,.3,1) both b-forward-outgoing}.b-stage-transition[data-direction="1"] .b-stage-preview-incoming{animation:.68s cubic-bezier(.16,1,.3,1) both b-forward-incoming}.b-stage-transition[data-direction="1"] .b-stage-preview-entering{animation:.68s cubic-bezier(.16,1,.3,1) both b-forward-entering}.b-stage-transition[data-direction="-1"] .b-stage-preview-exiting{animation:.68s cubic-bezier(.16,1,.3,1) both b-backward-exiting}.b-stage-transition[data-direction="-1"] .b-stage-preview-outgoing{animation:.68s cubic-bezier(.16,1,.3,1) both b-backward-outgoing}.b-stage-transition[data-direction="-1"] .b-stage-preview-incoming{animation:.68s cubic-bezier(.16,1,.3,1) both b-backward-incoming}.b-stage-transition[data-direction="-1"] .b-stage-preview-entering{animation:.68s cubic-bezier(.16,1,.3,1) both b-backward-entering}@keyframes b-forward-exiting{0%{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset))) scale(.78)}to{opacity:0;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset) - 220px)) scale(.62)}}@keyframes b-forward-outgoing{0%{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%)scale(1)}to{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset))) scale(.78)}}@keyframes b-forward-incoming{0%{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78)}to{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%)scale(1)}}@keyframes b-forward-entering{0%{opacity:0;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset) + 220px)) scale(.62)}to{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78)}}@keyframes b-backward-exiting{0%{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78)}to{opacity:0;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset) + 220px)) scale(.62)}}@keyframes b-backward-outgoing{0%{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%)scale(1)}to{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78)}}@keyframes b-backward-incoming{0%{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset))) scale(.78)}to{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%)scale(1)}}@keyframes b-backward-entering{0%{opacity:0;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset) - 220px)) scale(.62)}to{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% - var(--b-stage-offset))) scale(.78)}}.b-stage-empty{aspect-ratio:2/3;background:#ecece7;border:1px solid #bbb;place-items:center;width:min(26vw,340px);display:grid}.b-palette-meta{align-self:center;min-width:0;padding:24px 18px;animation:.34s cubic-bezier(.16,1,.3,1) both b-meta-enter}@keyframes b-meta-enter{0%{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes b-stage-fade{0%{opacity:.35}to{opacity:1}}.b-palette-meta>span{letter-spacing:.16em;font-size:10px}.b-palette-meta h1{overflow-wrap:anywhere;letter-spacing:-.055em;margin:12px 0;font-size:clamp(32px,3.4vw,60px);line-height:.92}.b-palette-meta p{color:#77766f;max-width:24em;font-size:11px;line-height:1.5}.b-swatches{gap:5px;margin-top:18px;display:flex}.b-swatches i{border:1px solid #0000001f;border-radius:50%;width:20px;height:20px}.b-palette-meta .diy-swatches{width:min(100%,240px);margin-top:12px}.b-palette-meta .swatch-toggle-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.b-palette-meta .swatch-btn{cursor:pointer;border:1px solid #0a0a0a2e;border-radius:8px;align-items:flex-end;min-width:0;height:52px;padding:0;display:flex;overflow:hidden;box-shadow:0 4px 12px #141c1914}.b-palette-meta .swatch-btn.selected{border-color:#0b6775;box-shadow:0 0 0 2px #0b67752e,0 5px 14px #141c191a}.b-palette-meta .swatch-label{color:#172421;white-space:nowrap;text-align:center;background:#fafcf8f0;width:100%;padding:4px 2px;font-size:9px;font-weight:700;line-height:1.2;display:block}.b-palette-meta .diy-hint{color:#77766f;margin:10px 0 0;font-size:10px;line-height:1.45}.b-palette-meta .b-replace-palette-image{color:#fff;background:#111;border:1px solid #111;justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;margin-top:12px;padding:12px;font-size:15px;font-weight:700;line-height:1.2;transition:color .18s,background .18s;display:inline-flex;position:relative}.b-palette-meta .b-replace-palette-image:hover{color:#111;background:#f6f6f2}.b-palette-meta .b-replace-palette-image .diy-icon{color:inherit;font-size:16px;line-height:1}.b-control-panel{background:#f6f6f2;border-left:1px solid #b9b9b2;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:14px 16px;display:flex;overflow:hidden}.b-controls{gap:10px;min-height:0;padding:0;display:grid}.b-controls .research-input-section{border:0;box-shadow:none;background:0 0;border-block:3px double #111;border-radius:0;margin-bottom:0;padding:9px 0 11px}.b-controls .control-section{border:0;box-shadow:none;background:0 0;border-top:1px solid #111;border-radius:0;margin-bottom:0;padding:10px 0 0;position:relative}.b-controls .input-heading{margin-bottom:7px}.b-controls .input-heading h3,.b-controls .type-tabs h3,.b-controls .setting-group>span{letter-spacing:.015em;font-family:Georgia,Noto Serif CJK SC,SimSun,serif}.b-controls .example-button{color:#111;background:0 0;border:0;border-bottom:1px solid #111;border-radius:0;padding:3px 8px}.b-controls .research-input{color:#111;min-height:80px;max-height:96px;box-shadow:none;background:#fbfbf7;border:1px solid #8f8f89;border-radius:0}.b-controls .research-input:focus{outline-offset:2px;border-color:#111;outline:1px solid #111}.b-controls .type-tabs h3,.b-controls .setting-group>span{color:#0a0a0a;margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.2}.b-controls .type-pills,.b-controls .setting-group:first-child .pill-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;position:relative}.b-controls .settings-row{grid-template-columns:1fr;gap:8px;margin-top:9px}.b-controls .pill{color:#111;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #aaa9a3;border-radius:0;width:100%;min-width:0;min-height:32px;padding:8px 5px;font-size:10px;line-height:1.2;position:relative;overflow:hidden}.b-controls .pill:after{content:"";transform-origin:0;background:#111;height:2px;transition:transform .2s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.b-controls .pill:hover:after,.b-controls .pill:focus-visible:after{transform:scaleX(1)}.b-controls .pill:hover,.b-controls .pill:focus-visible{z-index:2;color:#111;background:#efefe9;border-color:#111}.b-controls .pill.active{z-index:3;color:#fff;background:#111;border-color:#111}.b-controls .b-hint-anchor{min-width:0;margin:0 0 0 -1px;display:block;position:relative}.b-controls .b-hint-anchor:first-child{margin-left:0}.b-controls .type-pills .b-hint-anchor{position:static}.b-controls .setting-group:first-child .b-hint-anchor{position:relative}.b-controls .setting-group:not(:first-child) .pill-row{gap:0}.b-controls .setting-group:not(:first-child) .pill+.pill{margin-left:-1px}.b-controls .advanced-toggle{color:#111;text-align:left;background:0 0;border:0;border-bottom:1px solid #111;border-radius:0;width:100%;margin-top:8px;padding:7px 0 5px}.b-controls .advanced-settings{background:0 0;border:0;border-top:1px dotted #8f8f89;border-radius:0;margin-top:7px;padding:8px 0 0}.b-control-hint{z-index:30;box-sizing:border-box;color:#111;opacity:0;visibility:hidden;pointer-events:none;background:#fbfbf7;border:1px solid #111;border-radius:0;width:100%;padding:9px;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + 7px);left:0;transform:translateY(-5px);box-shadow:5px 5px #11111124}.b-hint-anchor:hover>.b-control-hint{opacity:1;visibility:visible;transform:translateY(0)}.b-type-hint{text-align:center;grid-template-columns:minmax(0,46%) minmax(0,54%);align-content:center;align-items:center;gap:2px 8px;min-height:112px;padding:8px;display:grid}.b-type-hint img{object-fit:contain;filter:grayscale(.15);border:1px solid #b9b9b2;border-radius:0;grid-row:1/4;place-self:center;width:100%;height:96px}.b-controls .b-control-hint b,.b-controls .b-control-hint small,.b-controls .b-control-hint span{margin:0;display:block}.b-control-hint b{font-size:11px}.b-control-hint small{color:#72827d;font-size:9px}.b-controls .b-type-hint span{color:#425854;font-size:9px;font-weight:400;line-height:1.35}.b-aspect-hint{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;min-height:98px;padding:8px;display:flex;left:0}.b-aspect-hint small{white-space:nowrap;margin:0}.b-aspect-shape{background:0 0;border:2px solid #111;border-radius:0;flex:none;width:min(44px,100%);margin-inline:auto;display:block}.b-aspect-1-1{aspect-ratio:1}.b-aspect-4-3{aspect-ratio:4/3}.b-aspect-3-4{aspect-ratio:3/4;width:34px}.b-aspect-16-9{aspect-ratio:16/9;width:100%;max-width:54px}.b-controls .generate-section{margin-top:4px}.b-controls .generate-button{color:#fff;width:100%;min-height:42px;box-shadow:none;background:#111;border:1px solid #111;border-radius:0;transition:color .18s,background .18s}.b-controls .generate-button:hover:not(:disabled){color:#111;background:#f6f6f2}.b-controls .generate-button:focus-visible{outline-offset:3px;outline:2px solid #111}.b-controls .scientific-notice{margin-block:5px 0}.b-result{background:0 0;min-height:0;padding:0}.b-result .result-placeholder,.b-result .result-stage>img{display:none}.b-result .result-info{margin-top:0}.b-result .adjustment-input{min-height:52px}@media (width<=1180px){.b-workbench-frame{grid-template-columns:minmax(0,1fr) 350px}.b-indexed-stage{grid-template-columns:150px minmax(280px,1fr)}.b-palette-meta{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f6f2e0;max-width:180px;padding:12px;position:absolute;bottom:14px;right:16px}.b-palette-meta h1{font-size:28px}.b-palette-meta p{display:none}}@media (width<=980px){.variant-b-journal-gallery{height:auto;min-height:100dvh;overflow:visible}.b-workbench-frame{height:auto;display:block}.b-indexed-stage{grid-template-columns:1fr;min-height:auto;display:grid}.b-journal-index{scroll-snap-type:x proximity;flex-direction:row;order:2;padding:12px;overflow-x:auto}.b-journal-index button{white-space:nowrap;scroll-snap-align:start;border-bottom:1px solid #d8d8d2;flex:none;padding:8px 10px;display:flex}.b-journal-index button.active{border-color:#050505;transform:none}.b-stage-frame{order:1;min-height:560px}.b-stage-figure,.b-stage-empty{width:min(64vw,360px)}.b-palette-meta{background:0 0;order:3;max-width:none;padding:16px 18px;position:static}.b-palette-meta h1{font-size:42px}.b-palette-meta p{display:block}.b-control-panel{border-top:1px solid #d8d8d2;border-left:0;overflow:visible}}@media (width<=640px){.variant-b-journal-gallery .brand-logo{width:112px}.b-stage-frame{min-height:470px}.b-stage-figure,.b-stage-empty{width:min(70vw,300px)}.b-bracket{border-block-width:9px;width:34px;height:82px}.b-bracket-left{border-left-width:9px;left:4px}.b-bracket-right{border-right-width:9px;right:4px}.b-stage-preview{width:min(70vw,300px)}}@media (prefers-reduced-motion:reduce){.b-stage-transition{animation:.12s linear both b-stage-fade}.b-stage-transition .b-stage-preview{animation:none!important}.b-stage-transition .b-stage-preview-exiting,.b-stage-transition .b-stage-preview-outgoing{opacity:0}.b-stage-transition .b-stage-preview-incoming{opacity:1;filter:grayscale(0);transform:translate(-50%,-50%)scale(1)}.b-stage-transition .b-stage-preview-entering{opacity:.18;filter:grayscale();transform:translate(-50%, calc(-50% + var(--b-stage-offset))) scale(.78)}.b-palette-meta{animation:.12s linear both b-stage-fade}.b-journal-index button{transition:none}.b-journal-index button.active{transform:none}.b-control-hint{transition:none}}.workbench{flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--line,#d9dfdc);background:var(--header-bg,#fff);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.brand{align-items:center;gap:10px;font-family:Noto Serif CJK SC,Source Han Serif SC,SimSun,serif;font-size:20px;font-weight:700;display:flex}.brand-logo{width:178px;height:50px;display:block;overflow:hidden}.brand-logo img{object-fit:contain;width:100%;height:100%;display:block}.brand-mark{background:var(--green,#175c4a);border-radius:7px 7px 11px;width:28px;height:28px;display:inline-block;position:relative}.brand-mark:before,.brand-mark:after{content:"";background:#fff;border-radius:4px;position:absolute}.brand-mark:before{width:14px;height:4px;top:12px;left:7px}.brand-mark:after{width:4px;height:14px;top:7px;left:12px}.top-actions{color:#62706a;align-items:center;gap:12px;font-size:11px;display:flex}.help-link{color:inherit}.credit-button,.store-button{cursor:pointer;font:inherit;color:inherit;background:#fbfcfb;border:1px solid #aebbb5;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;display:flex}.palette-content{padding:16px}.palette-section-header h2{margin:0 0 4px;font-family:Noto Serif CJK SC,SimSun,serif;font-size:18px}.palette-section-header p{color:#68736f;margin:0 0 12px;font-size:12px}.palette-preset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.palette-card{cursor:pointer;text-align:left;font:inherit;background:#fafbf9;border:1px solid #dce2df;border-radius:12px;padding:0;transition:box-shadow .15s;position:relative;overflow:hidden}.palette-card img{object-fit:cover;width:100%;height:80px;display:block}.palette-card b{padding:8px 10px 0;font-size:13px;display:block}.palette-card small{color:#68736f;padding:0 10px 8px;font-size:10px;display:block}.palette-card.active{border:2px solid var(--green,#175c4a);background:#f2f7f4;box-shadow:0 4px 12px #175c4a1f}.palette-card.active:after{content:"✓ 已选";background:var(--green,#175c4a);color:#fff;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700;position:absolute;top:6px;right:6px}.diy-card .palette-upload-control{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:130px;padding:10px;display:flex}.palette-upload-control{cursor:pointer}.diy-icon{color:var(--green,#175c4a);font-size:28px;font-weight:400}.palette-notice{color:#7d8783;margin:12px 0 0;font-size:10px}.diy-error{color:#a53f45;margin:8px 0 0;font-size:12px}.research-controls{padding:16px}.research-input-section{margin-bottom:16px}.input-heading{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.input-heading h3{margin:0;font-size:14px}.example-button{border:1px solid var(--green,#175c4a);color:var(--green,#175c4a);cursor:pointer;background:0 0;border-radius:999px;padding:4px 10px;font-size:11px}.research-input{width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #d8dfdc;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}.control-section{margin-bottom:12px}.type-tabs h3{margin:0 0 8px;font-size:13px}.type-pills{flex-wrap:wrap;gap:6px;display:flex}.pill{color:#53605b;cursor:pointer;font-size:11px;font:inherit;background:#fff;border:1px solid #d7dedb;border-radius:999px;padding:6px 10px}.pill.active{border-color:var(--green,#175c4a);color:var(--green,#175c4a);background:#edf5f1;font-weight:700}.settings-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.setting-group span{color:#52605a;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.pill-row{flex-wrap:wrap;gap:4px;display:flex}.advanced-toggle{color:#5d6a64;cursor:pointer;text-align:center;background:0 0;border:0;width:100%;margin-top:10px;padding:8px;font-size:11px;display:block}.advanced-settings{background:#f9faf9;border:1px solid #e0e5e2;border-radius:10px;margin-top:8px;padding:10px}.expand-toggle{cursor:pointer;align-items:center;gap:6px;margin-top:10px;font-size:12px;display:flex}.generate-section{margin-top:16px}.generate-button{background:var(--green,#175c4a);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:15px;font-weight:700;display:flex}.generate-button:disabled{opacity:.6;cursor:not-allowed}.scientific-notice{color:#7a8580;text-align:center;margin:8px 0 0;font-size:11px}.generation-result{padding:16px}.generation-result img{border:1px solid #d8dfdc;border-radius:8px;width:100%}.result-info{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.save-status{font-size:12px}.save-status.saved{color:var(--green,#175c4a)}.save-status.unsaved{color:#a53f45}.download-button{border:1px solid var(--green,#175c4a);color:var(--green,#175c4a);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;display:flex}.download-button:disabled{opacity:.5;cursor:not-allowed}.adjustment-section{margin-top:12px}.adjustment-input{width:100%;font:inherit;resize:vertical;border:1px solid #d8dfdc;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.5}.adjustment-button{background:var(--green,#175c4a);color:#fff;cursor:pointer;border:0;border-radius:8px;width:100%;margin-top:8px;padding:10px;font-size:12px;font-weight:600}.adjustment-button:disabled{opacity:.5;cursor:not-allowed}.status-banner{background:#f1f5f3;border-radius:10px;align-items:center;gap:8px;padding:16px;font-size:14px;display:flex}.spinner{border:2px solid var(--green,#175c4a);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.result-placeholder{text-align:center;color:#68736f}.placeholder-preview img{opacity:.5;max-width:100%}.error-banner{color:#a53f45;background:#fef2f0;border-radius:8px;margin:10px 0;padding:10px 14px;font-size:12px}@media (width<=640px){.brand-logo{width:112px;height:42px}.brand-logo img{object-position:left center;width:148px;max-width:none}.app-header{flex-wrap:wrap;gap:4px;padding:8px 12px}.brand small,.help-link{display:none}.credit-button{padding:5px 8px;font-size:10px}.store-button{padding:5px 8px}.top-actions{gap:6px}}.research-input:focus-visible,.adjustment-input:focus-visible,.pill:focus-visible{outline-offset:1px;outline:2px solid #175c4a}:focus-visible{outline-offset:2px;outline:2px solid #175c4a}.modal-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}
