

:root{--page:#eceef2;--surface:#f7f8f9;--ink:#262b33;--muted:#808389;--line:#d5d8dd;--green:#636b7a;--green-soft:#e1e5eb;--accent:#d96140;--navy:#1e242f;--work-h:clamp(625px,calc(100vh - 249px),805px);font-family:-apple-system,BlinkMacSystemFont,"Inter","Noto Sans CJK SC","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--page);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;opacity:.055;pointer-events:none;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;line-height:1.3;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.32}button,input,select,summary{outline-offset:4px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green)}button{transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s}button:not(:disabled):active{transform:translateY(1px)}a{color:inherit}[hidden]{display:none!important}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:middle}.icon.small{width:15px;height:15px}.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:10px;letter-spacing:.8px}.app-shell{max-width:1600px;margin:auto;padding:0 44px}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-family:"Arial Black","Inter",Arial,sans-serif;font-size:31px;font-weight:900;letter-spacing:-1.5px}.brand-period{color:var(--accent)}.brand-mark{width:33px;height:33px;color:var(--green);flex:none}.registration{fill:none;stroke:currentColor;stroke-width:1.5}.brand-label{font-family:monospace;letter-spacing:1px;font-weight:400;font-size:8px;line-height:1.55;border-left:1px solid #c3c7cd;padding-left:15px;margin-left:8px;color:#73777d}.header-right{display:flex;align-items:center;gap:32px;font-size:12px}.privacy{display:flex;align-items:center;gap:7px;color:#6f747c;font-size:11px}.privacy .icon{width:15px;height:15px}.text-button{display:inline-flex;align-items:center;gap:8px;font-size:11px;padding:6px 2px;white-space:nowrap}.text-button:hover{color:var(--accent)}.hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 0 29px}.eyebrow{font:9px/1.5 "SFMono-Regular",Consolas,monospace;letter-spacing:1.65px;color:var(--green);display:flex;align-items:center;gap:8px}.eyebrow>span{width:15px;height:1px;background:var(--green)}h1{font-size:clamp(29px,3.05vw,48px);letter-spacing:-1.8px;line-height:1.35;margin:8px 0 11px;font-weight:750}h1 .hero-accent{color:var(--accent);position:relative;white-space:nowrap}h1 .hero-accent svg{position:absolute;width:100%;height:9px;bottom:-5px;left:0;fill:none;stroke:var(--accent);stroke-width:1.7;opacity:.58}h1+p{font-size:12px;color:#7f8288;margin:0;letter-spacing:.1px}.hero-actions{display:flex;align-items:center;flex-direction:column;gap:11px;padding-top:17px}.hero-actions>span{font-size:9px;color:#888b91}.primary{display:flex;align-items:center;justify-content:center;gap:12px;background:var(--navy);color:#f6f7f9;border:1px solid var(--navy);border-radius:7px;min-height:44px;padding:12px 24px;font-weight:500;font-size:13px;letter-spacing:.3px}.primary:hover:not(:disabled){background:#343c4b;border-color:#343c4b;box-shadow:0 4px 12px #1e242f17}.upload-main{min-width:160px;min-height:46px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 354px;gap:22px}.preview-column{min-width:0;display:flex;flex-direction:column;gap:12px}.preview-card{height:calc(var(--work-h) - 66px);border:1px solid var(--line);border-radius:11px;overflow:hidden;display:flex;flex-direction:column;background:var(--surface)}.preview-head,.preview-foot{height:51px;min-height:51px;display:flex;align-items:center;justify-content:space-between;padding:0 19px}.preview-head{border-bottom:1px solid var(--line)}.live-label{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.4px}.live-label .mono{margin-left:6px;color:#92969c;font-size:8px}.status-dot{display:inline-block;width:5px;height:5px;background:#727b8b;border-radius:50%;flex:none}.toolbar{display:flex;align-items:center;gap:2px}.icon-button{height:30px;min-width:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;padding:5px}.icon-button:hover:not(:disabled){background:#e4e6ea}.toolbar .icon-button .icon{width:15px;height:15px}.divider{width:1px;height:13px;background:var(--line);margin:0 10px}.reset-button{color:#7f8288;font-size:10px;gap:5px}.stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e1e5eb;background-image:radial-gradient(#b4bac34f .7px,transparent .7px);background-size:9px 9px;isolation:isolate;outline:none}.stage:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 48% 43%,#ffffff88,transparent 75%);pointer-events:none;z-index:-1}.stage-corner{position:absolute;width:12px;height:12px;border-color:#9ea3ac;border-style:solid;border-width:0;opacity:.55;z-index:0}.stage-corner.tl{top:24px;left:24px;border-top-width:1px;border-left-width:1px}.stage-corner.tr{top:24px;right:24px;border-top-width:1px;border-right-width:1px}.stage-corner.bl{bottom:24px;left:24px;border-bottom-width:1px;border-left-width:1px}.stage-corner.br{bottom:24px;right:24px;border-bottom-width:1px;border-right-width:1px}.stage-note{position:absolute;top:42px;left:36px;line-height:1.7;font-size:8px;color:#7b818c;letter-spacing:1.3px;z-index:0}.stage-note span{opacity:.6}.stage-inks{position:absolute;right:36px;top:44px;display:flex;gap:0;opacity:.75}.stage-inks span{width:14px;height:14px;border-radius:50%;margin-left:-3px;mix-blend-mode:multiply}.stamp-positioner{position:relative;display:flex;align-items:center;justify-content:center;transform-origin:center;z-index:1;transition:transform .3s cubic-bezier(.2,.65,.3,1);will-change:transform}.stamp-wrap{transform:rotate(-6deg);filter:drop-shadow(0 15px 13px #292f3a22) drop-shadow(0 2px 1px #2e354224);line-height:0;transition:filter .3s}.stamp-wrap canvas{display:block;max-width:none;cursor:grab;touch-action:none;user-select:none}.stamp-wrap canvas.dragging{cursor:grabbing}.happy-seal{position:absolute;right:42px;bottom:64px;display:flex;align-items:center;flex-direction:column;width:94px;height:94px;border:1px solid #bd78588c;border-radius:50%;justify-content:center;color:#be7c5e;transform:rotate(14deg);z-index:0}.happy-seal span{font-family:monospace;font-size:7px;letter-spacing:1.7px}.happy-seal svg{height:31px;width:31px;stroke:currentColor;stroke-width:1.3;fill:none;margin:4px 0}.stage-bottom{position:absolute;left:36px;right:36px;bottom:33px;display:flex;justify-content:space-between;align-items:center;z-index:0;color:#80858d}.print-info{font-size:8px;letter-spacing:1.2px}.crop-tip{font-size:9px;color:#8f949c}.drop-overlay{position:absolute;inset:12px;background:#eef0f4f5;border:2px dashed var(--green);border-radius:8px;z-index:8;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--green)}.drop-overlay .icon{height:32px;width:32px}.drop-overlay strong{font-size:22px;font-weight:600}.drop-overlay span{font-size:12px}.stage.drag-over .drop-overlay{display:flex}.render-indicator{position:absolute;bottom:24px;left:50%;transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;border:1px solid #ced3db;background:#f7f8f9ed;border-radius:30px;padding:7px 12px;font-size:10px;white-space:nowrap;display:flex;align-items:center;gap:7px;z-index:5;transition:.2s;box-shadow:0 4px 10px #13171d0a}.render-indicator.visible{opacity:1;transform:translateX(-50%) translateY(0)}.render-indicator span{height:9px;width:9px;border:1.5px solid #c6cad3;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}.preview-foot{height:58px;min-height:58px;border-top:1px solid var(--line);padding:0 17px}.segmented{display:flex;align-items:center;border:1px solid #dde0e4;border-radius:6px;background:#ebedf0;padding:3px;gap:3px}.segmented button{flex:1;font-size:10px;border-radius:4px;min-height:29px;padding:7px 11px;color:#787d85;display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.segmented button:hover{color:var(--ink)}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #252a3214}.zoom-tools{display:flex;align-items:center;gap:3px}.zoom-label{padding:6px;min-width:36px;color:#747880;font-size:11px}.zoom-tools .icon-button{height:25px;min-width:25px}.examples-row{height:54px;display:flex;align-items:center;gap:22px;padding:2px 0;min-width:0}.examples-label{font-size:10px;color:#797d85;flex:none;line-height:1.55}.examples-label span{display:block;font-family:monospace;font-size:7px;letter-spacing:1px;color:#a3a7ae;margin-top:3px}.example-list{display:flex;gap:9px;min-width:0;overflow-x:auto;scrollbar-width:none}.example-list::-webkit-scrollbar{display:none}.example-button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:#f2f4f7;padding:5px 10px 5px 5px;min-width:91px;white-space:nowrap;font-size:10px;text-align:left}.example-button img{width:31px;height:32px;object-fit:cover;border-radius:3px;filter:saturate(.7)}.example-button small{display:block;font-size:7px;letter-spacing:.6px;color:#91959d;margin-top:2px}.example-button:hover,.example-button.active{border-color:#777f8d;background:#f2f4f7}.controls-panel{height:var(--work-h);border:1px solid var(--line);border-radius:11px;background:var(--surface);display:flex;flex-direction:column;overflow:hidden}.source-row{display:flex;align-items:center;padding:16px 18px;gap:11px;min-height:77px}.source-row>img{width:40px;height:43px;object-fit:cover;border-radius:4px;border:1px solid #ced2d9}.source-details{flex:1;min-width:0}.source-details strong{display:block;font-weight:500;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-details>span{display:block;font-family:monospace;font-size:8px;color:#92959b;margin-top:5px}.source-change{color:#787c84}.tabs{display:flex;padding:0 16px;border-bottom:1px solid var(--line);flex:none;height:43px}.tabs button{flex:1;position:relative;font-size:11px;color:#84888e;padding:7px 1px 14px;white-space:nowrap}.tabs button span{font-family:monospace;font-size:8px;position:relative;top:-4px;margin-left:4px;opacity:.6}.tabs button.active{color:var(--ink);font-weight:600}.tabs button.active:after{content:"";height:2px;position:absolute;left:9px;right:9px;bottom:-1px;background:var(--green)}.panel-scroll{flex:1;overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#c6cad1 transparent;overscroll-behavior:contain}.panel-scroll::-webkit-scrollbar{width:4px}.panel-scroll::-webkit-scrollbar-thumb{background:#c6cad1;border-radius:4px}.tab-panel{padding:19px 19px 23px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:5px}.section-heading h2{font-size:11px;font-weight:500;letter-spacing:.2px;margin:0}.section-heading>span{font-size:7px;color:#969ba3;letter-spacing:.8px}.palette-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.palette{border:1px solid #d9dce2;border-radius:6px;text-align:left;padding:10px 11px 9px;min-height:66px;background:#f5f6f8;position:relative}.palette:hover{background:#ebeef2;border-color:#a8aeb9}.palette.active{border-color:#596375;background:#e8ebf0;box-shadow:inset 0 0 0 .5px #596375}.palette-colors{display:flex;margin-bottom:7px}.palette-colors i{height:15px;width:23px;border-radius:3px;margin-right:3px;border:1px solid #00000005}.palette-name{display:flex;justify-content:space-between;align-items:center;font-size:10px;line-height:1;color:#585d65}.palette-name small{font-family:monospace;font-size:7px;color:#9399a3;letter-spacing:.4px}.palette-check{position:absolute;right:6px;top:6px;display:none;width:13px;height:13px;color:#566070}.palette.active .palette-check{display:block}.palette .palette-colors{max-width:calc(100% - 10px)}.custom-ink-header{display:flex;justify-content:space-between;align-items:center;margin:19px 0 8px}.custom-ink-header label{font-size:10px}.custom-ink-header span{font-size:8px;color:#9499a2}.ink-editors{display:flex;gap:8px}.ink-editor{flex:1;min-width:0;border:1px solid #dbdee3;border-radius:5px;padding:6px 5px;display:flex;align-items:center;justify-content:center;gap:5px}.ink-editor.muted{opacity:.35}.ink-editor input[type=color]{-webkit-appearance:none;appearance:none;width:22px;height:22px;border:0;background:none;cursor:pointer;padding:0;overflow:hidden;border-radius:50%;flex:none}.ink-editor input[type=color]::-webkit-color-swatch-wrapper{padding:0}.ink-editor input[type=color]::-webkit-color-swatch{border:0;border-radius:50%}.ink-editor input[type=color]::-moz-color-swatch{border:0;border-radius:50%}.ink-editor>span{font-family:monospace;font-size:8px;color:#838993}.ink-eye{display:flex;padding:1px;color:#8d939d}.ink-eye .icon{width:11px;height:11px}.section-rule{height:1px;background:var(--line);margin:19px 0}.field-label{font-size:10px;display:block;margin:14px 0 8px;font-weight:500}.section-heading+.field-label{margin-top:0}.select-wrap{position:relative;display:flex}.select-wrap select{appearance:none;-webkit-appearance:none;width:100%;height:37px;border:1px solid #d7dbe1;background:#fafafb;border-radius:5px;color:#494e57;padding:8px 29px 8px 10px;font-size:10px;cursor:pointer}.select-wrap>.icon{position:absolute;right:10px;top:11px;pointer-events:none;color:#828790}.field-help{font-size:9px;line-height:1.75;margin:8px 0 16px;color:#8b9098}.range-field{margin:17px 0 18px}.range-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:11px;gap:8px}.range-head label{font-size:10px;font-weight:500}.range-number{display:inline-flex;align-items:center;border:1px solid #dee1e5;border-radius:4px;background:#f0f2f5;font-family:monospace;font-size:9px;line-height:1.2;min-width:44px;padding-right:5px;color:#6e747f}.range-number input{appearance:textfield;-moz-appearance:textfield;border:none;outline:none;background:transparent;font-family:inherit;font-size:9px;width:35px;text-align:right;padding:3px 3px 3px 1px;color:#535b68}.range-number input::-webkit-inner-spin-button,.range-number input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.range-number:focus-within{outline:1px solid var(--green);outline-offset:1px}.range-input{-webkit-appearance:none;appearance:none;display:block;width:100%;height:4px;border-radius:4px;outline:none;margin:0;background:linear-gradient(to right,#666f7e 0%,#666f7e var(--value,50%),#dadee4 var(--value,50%),#dadee4 100%);cursor:pointer}.range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;background:#f7f8fa;border:2px solid #666f7e;border-radius:50%;box-shadow:0 1px 3px #262d3921;cursor:grab}.range-input::-moz-range-thumb{width:10px;height:10px;background:#f7f8fa;border:2px solid #666f7e;border-radius:50%;cursor:grab}.range-input:active::-webkit-slider-thumb{background:#666f7e;cursor:grabbing}.range-hint{font-size:8px;color:#9ba0a8;margin:10px 0 0}.outline-button{min-height:34px;border:1px solid #d3d7de;border-radius:5px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;padding:9px 12px;background:#f1f3f6;width:100%}.outline-button:hover{border-color:#8f97a4;background:#e9ebf0}.outline-button>span{font-family:monospace;font-size:8px;color:#9aa0a9;letter-spacing:.1px;margin-left:auto}.outline-button>.icon{width:15px;height:15px}.surprise-button{margin-top:22px}.pattern-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:21px}.pattern-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #d8dbe1;background:#f5f6f8;border-radius:5px;padding:9px 2px 7px;font-size:8px;color:#808691}.pattern-button.active{border-color:#6d7788;background:#e6e9ee;color:#373f4d}.pattern-preview{width:25px;height:25px;display:block;color:#828892}.pattern-preview.dots{background-image:radial-gradient(currentColor 1.2px,transparent 1.2px);background-size:5px 5px}.pattern-preview.lines{background:repeating-linear-gradient(135deg,transparent 0px,transparent 3px,currentColor 3px,currentColor 4px)}.pattern-preview.cross{background:repeating-linear-gradient(90deg,transparent 0 4px,currentColor 4px 5px),repeating-linear-gradient(0deg,transparent 0 4px,currentColor 4px 5px)}.pattern-preview.diamond{background:repeating-conic-gradient(currentColor 0% 25%,transparent 0% 50%) 50% / 6px 6px;transform:rotate(45deg) scale(.75)}.pattern-preview.stochastic{background-image:radial-gradient(currentColor .7px,transparent .7px),radial-gradient(currentColor 1px,transparent 1px),radial-gradient(currentColor .6px,transparent .6px);background-size:6px 7px,9px 7px,3px 5px;background-position:1px 2px,3px 1px,0 3px}.advanced{border-top:1px solid var(--line);margin:18px 0}.advanced>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:10px;color:#717885;padding:14px 0;cursor:pointer}.advanced>summary::-webkit-details-marker{display:none}.advanced[open]>summary>.icon{transform:rotate(45deg)}.advanced-body{padding-bottom:1px}.advanced-body .range-field:first-child{margin-top:4px}.toggle-row{display:flex;align-items:center;position:relative;justify-content:space-between;gap:15px;min-height:48px;margin:8px 0;font-size:11px;cursor:pointer}.toggle-row>span:first-child{display:block;flex:1}.toggle-row small{display:block;font-size:8px;color:#90959e;margin-top:4px}.toggle-row>input{position:absolute;width:34px;height:20px;right:0;opacity:0;cursor:pointer;z-index:1;margin:0}.toggle{width:31px;height:18px;border-radius:14px;background:#d2d6dc;position:relative;transition:.2s;flex:none}.toggle:after{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;background:#fbfbfc;border-radius:50%;box-shadow:0 1px 2px #262b3310;transition:.2s}.toggle-row input:checked+.toggle{background:#677080}.toggle-row input:checked+.toggle:after{transform:translateX(13px)}.toggle-row input:focus-visible+.toggle{outline:2px solid var(--green);outline-offset:3px}.toggle-row input:disabled+.toggle{opacity:.4;cursor:not-allowed}.ratio-options{margin:0 0 16px}.ratio-options>button{padding:9px 4px;font-size:8px;gap:5px;flex-direction:column}.ratio-shape{display:block;border:1px solid currentColor;border-radius:1px;height:16px;width:13px}.ratio-shape.square{width:15px;height:15px;margin-top:1px}.ratio-shape.landscape{width:19px;height:14px;margin-top:2px}.paper-options{display:flex;gap:7px}.paper-option{border:1px solid #d8dce2;border-radius:5px;display:flex;align-items:center;gap:5px;justify-content:center;font-size:8px;color:#7c838f;flex:1;padding:7px 3px}.paper-option i{width:14px;height:14px;display:block;border-radius:50%;border:1px solid #7d818920}.paper-option.active{border-color:#6e798c;background:#ebeef2}.text-input{background:#fafafb;width:100%;height:36px;border:1px solid #d7dbe1;border-radius:5px;color:#4a505b;padding:7px 10px;font-size:10px;min-width:0}.text-input:disabled{opacity:.5}.field-columns{display:flex;gap:10px}.field-columns>div{min-width:0;flex:1}.denom-inputs{display:flex;gap:5px}.denom-inputs input:first-child{width:57%}.denom-inputs input:last-child{width:43%}input[type=date]{padding-right:3px;font-size:9px;min-width:0}.crop-buttons{display:flex;gap:7px}.crop-buttons .outline-button{flex:1;padding:9px 3px}.export-area{flex:none;border-top:1px solid var(--line);padding:10px 18px 12px;background:#f2f3f6;box-shadow:0 -7px 18px #5c698003}.export-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;color:#808691;font-family:monospace;font-size:8px}.export-meta>span{display:flex;align-items:center;gap:6px}.export-meta .icon-button{height:24px;min-width:24px}.export-button{width:100%;justify-content:space-between;font-size:12px;padding:12px 15px;min-height:42px}.export-button .icon{width:17px;height:17px}.export-note{display:block;text-align:center;color:#959ba5;font-size:8px;letter-spacing:.5px;margin-top:8px}.bottom-bar{min-height:55px;display:flex;align-items:center;justify-content:space-between;color:#888e97;font-size:9px;padding:4px 0 8px;gap:15px}.bottom-bar>span{display:flex;gap:7px;align-items:center}.bottom-bar>span .icon{color:#7284a3}.bottom-bar .mono{font-size:7px;color:#a8acb4;margin-left:7px;letter-spacing:.8px}.bottom-bar>div{display:flex;align-items:center;gap:10px}.bottom-bar .text-button{font-size:9px;color:#888e97;gap:5px}.bottom-bar .text-button:hover{color:#4b5565}.bottom-bar .icon.small{width:12px;height:12px}.modal{border:1px solid #ced2d9;border-radius:13px;background:var(--surface);color:var(--ink);padding:25px 30px 26px;max-width:510px;width:calc(100vw - 36px);max-height:calc(100dvh - 50px);box-shadow:0 22px 100px #24272d40;overflow:auto;scrollbar-width:thin;scrollbar-color:#afb5c0 transparent}.modal::backdrop{background:#272b3155;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head .eyebrow{font-size:8px;letter-spacing:1.3px}.modal-head .icon-button{margin-right:-6px;color:#828893}.modal h2{font-size:25px;letter-spacing:-.7px;line-height:1.4;margin:14px 0 9px;font-weight:650}.modal-intro{font-size:11px;color:#838992;line-height:1.9;margin:0 0 20px}.help-step{display:flex;gap:15px;margin:18px 0}.help-step>span{font-family:monospace;color:var(--accent);font-size:12px;letter-spacing:1px;padding-top:3px}.help-step h3{font-size:12px;font-weight:600;margin:0 0 5px}.help-step p{font-size:11px;color:#7e848e;line-height:1.8;margin:0}.help-note{background:#eaecf0;padding:14px 16px;border-radius:6px;margin:21px 0;color:#838993;font-size:10px;line-height:1.9}.help-note strong{font-weight:500;color:#5b626f}.help-note p{margin:6px 0}.help-note .credits{font-size:8px;border-top:1px solid #d6dae0;padding-top:8px;margin-top:10px;color:#9298a1}.modal-full{width:100%;margin-top:20px}.export-layouts{display:flex;gap:10px;margin-bottom:17px}.export-layouts button{flex:1;border:1px solid #d6dae1;border-radius:6px;padding:14px 7px 10px;display:flex;align-items:center;gap:8px;flex-direction:column;font-size:10px;color:#878e9b}.export-layouts button.active{border-color:#657082;background:#e6e9ee;color:#445064}.sheet-icon{height:38px;width:42px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:0 5px}.sheet-icon i{display:block;border:1px dashed currentColor;background:#adb6c54d}.sheet-icon.single{width:30px;display:block;padding:0 2px}.sheet-icon.single i{height:100%}.sheet-icon.six{grid-template-columns:repeat(3,1fr);width:52px;padding:0}.export-modal .field-columns{margin-bottom:16px}.export-modal .toggle-row{margin:12px 0;font-size:11px}.export-dimensions{font-size:10px;text-align:center;background:#e6e9ee;padding:11px;border-radius:5px;color:#667080;margin-top:16px}.center{text-align:center;margin-bottom:0}.small-modal{max-width:420px}.small-modal h2{font-size:23px}.modal-actions{display:flex;gap:10px;margin-top:22px}.modal-actions>button{flex:1}.modal-actions .outline-button{font-size:12px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,15px);z-index:30;display:flex;gap:9px;align-items:center;background:#292f39;color:#eceef2;border:1px solid #4a525f;border-radius:7px;box-shadow:0 6px 22px #1e242f20;padding:12px 18px;font-size:11px;line-height:1.6;max-width:min(530px,calc(100vw - 30px));width:max-content;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8a4d39;border-color:#a26d52}.toast .icon{width:16px;height:16px}.ready-pulse{animation:pulse 1s infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.3}}@media(min-width:1500px){.app-shell{padding:0 64px}.workspace{grid-template-columns:minmax(0,1fr) 376px;gap:26px}.tab-panel{padding-left:22px;padding-right:22px}.hero{padding-top:31px;padding-bottom:31px}.stage-note{left:43px}.stage-inks{right:44px}.happy-seal{right:54px;bottom:74px}}@media(max-width:1190px){.app-shell{padding:0 28px}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:17px}.live-label .mono{display:none}.stage-note{left:28px;font-size:7px;top:35px}.stage-inks{right:26px;top:35px}.happy-seal{right:25px;bottom:62px;width:77px;height:77px;opacity:.65}.happy-seal span{font-size:6px}.happy-seal svg{height:25px;width:25px}.stage-bottom{left:28px;right:28px}.crop-tip{display:none}.examples-row{gap:12px}.example-list{gap:7px}.example-button{padding-right:7px;min-width:76px;font-size:9px;gap:6px}.examples-label{font-size:9px}.examples-label span{font-size:6px}.example-button img{width:27px;height:30px}.tab-panel{padding-left:16px;padding-right:16px}.hero-actions>span{font-size:8px}.hero h1{letter-spacing:-1px}.hero{gap:16px}}@media(max-width:900px){:root{--work-h:740px}.app-shell{padding:0 23px;max-width:760px}.topbar{height:76px}.brand-label{display:none}.header-right{gap:18px}.hero{padding:26px 0;align-items:flex-start}.hero h1{font-size:32px;letter-spacing:-1px}.hero .eyebrow{font-size:7px;letter-spacing:1.2px}.hero-actions{padding-top:18px}.upload-main{min-width:115px;padding:11px 13px;font-size:11px;gap:7px;min-height:42px}.hero-actions>span{display:none}.hero h1+p{font-size:10px}.workspace{grid-template-columns:1fr;gap:20px}.preview-card{height:630px}.stage-note{font-size:8px}.controls-panel{height:auto;max-height:none;overflow:visible}.panel-scroll{max-height:650px;min-height:360px}.source-row{padding:13px 20px}.tab-panel{padding:22px}.palette-grid{grid-template-columns:repeat(4,1fr);gap:10px}.palette{min-height:72px}.palette-colors i{width:19px;height:18px}.palette-name{font-size:10px}.palette-name small{display:none}.ink-editors{max-width:360px}.palette .palette-colors{max-width:100%}.custom-ink-header{justify-content:flex-start;gap:15px}.controls-panel .export-area{border-radius:0 0 11px 11px;padding:12px 22px 14px}.export-button{height:45px}.controls-panel .tabs{height:48px}.controls-panel .tabs button{font-size:12px}.controls-panel .tabs button.active:after{left:17px;right:17px}.panel-scroll{overscroll-behavior:auto}.examples-row{margin-top:0;height:54px}.example-list{flex:1;gap:9px}.example-button{flex:1;min-width:90px;font-size:10px}.example-button img{width:29px;height:32px}.example-button small{font-size:7px}.examples-label{font-size:10px}.bottom-bar{margin-top:9px}.bottom-bar .mono{display:none}.live-label .mono{display:inline}.happy-seal{width:91px;height:91px;right:37px;bottom:59px}.happy-seal span{font-size:7px}.happy-seal svg{height:29px;width:29px}.stage-bottom{bottom:31px}.crop-tip{display:block}.field-label,.range-head label{font-size:12px}.select-wrap select,.text-input{height:41px;font-size:12px}.field-help{font-size:10px}.range-input{height:5px}.range-input::-webkit-slider-thumb{width:17px;height:17px}.range-number,.range-number input{font-size:10px}.range-number input{width:39px}.range-field{margin:23px 0}.range-head{margin-bottom:15px}.section-heading h2{font-size:12px}.outline-button{font-size:12px;min-height:40px}.outline-button>span{font-size:10px}.advanced summary{font-size:12px}.pattern-button{font-size:10px;padding:13px 3px 9px}.ratio-options>button{font-size:11px}.paper-option{font-size:10px;padding:10px 5px}.toggle-row{font-size:12px}.toggle-row small{font-size:10px}}@media(max-width:580px){.app-shell{padding:0 16px}.topbar{height:67px}.brand{font-size:27px;gap:9px}.brand-mark{width:26px;height:26px}.header-right{gap:16px}.privacy span{display:none}.privacy .icon{height:15px;width:15px}.header-right .text-button{font-size:10px;gap:6px}.hero{padding:24px 0 21px;gap:10px;position:relative;display:block}.hero h1{font-size:30px;margin:7px 0 12px;letter-spacing:-1.3px}.hero h1+p{font-size:10px;line-height:1.7;max-width:290px;color:#838890}.hero .eyebrow{font-size:7px;letter-spacing:1.15px}.hero-actions{padding-top:18px;align-items:flex-start}.hero-actions>span{display:block;font-size:8px}.hero-actions{gap:9px}.upload-main{min-height:37px;font-size:11px;padding:9px 13px;min-width:112px}.hero-actions>span{position:absolute;left:129px;bottom:32px;max-width:170px;font-size:8px;line-height:1.7}.hero-actions>span{display:none}.hero:after{content:"A MOMENT,\A WELL KEPT.";white-space:pre;font-family:monospace;font-size:8px;letter-spacing:1.2px;line-height:1.65;color:#9a9ea6;position:absolute;right:3px;bottom:25px;transform:rotate(-5deg)}.workspace{gap:17px}.preview-card{height:503px;border-radius:9px}.preview-head{height:44px;min-height:44px;padding:0 12px}.live-label{font-size:10px;gap:6px}.live-label .mono{display:none}.toolbar .icon-button{width:26px;min-width:26px;height:27px}.divider{margin:0 6px}.reset-button{font-size:9px}.preview-foot{height:53px;min-height:53px;padding:0 10px}.compare-switch button{padding:6px 8px;font-size:9px;min-height:27px}.compare-switch .icon{width:13px;height:13px}.zoom-tools{gap:0}.zoom-tools .icon-button{min-width:23px;width:23px}.zoom-label{min-width:30px;font-size:10px;padding:4px}.stage-note{top:23px;left:24px;font-size:6px;letter-spacing:.8px;line-height:1.7}.stage-inks{top:23px;right:22px}.stage-inks span{width:12px;height:12px}.stage-corner.tl,.stage-corner.tr{top:15px}.stage-corner.bl,.stage-corner.br{bottom:15px}.stage-corner.tl,.stage-corner.bl{left:15px}.stage-corner.tr,.stage-corner.br{right:15px}.happy-seal{right:14px;bottom:34px;width:62px;height:62px;opacity:.55}.happy-seal span{font-size:4.8px;letter-spacing:1px}.happy-seal svg{width:20px;height:20px;margin:3px 0}.stage-bottom{bottom:22px;left:24px;right:24px}.print-info{font-size:6px;letter-spacing:.6px}.crop-tip{display:none}.render-indicator{bottom:16px;font-size:8px;padding:6px 10px}.examples-row{height:auto;align-items:flex-start;gap:9px;flex-direction:column;margin:0 1px 2px}.examples-label{font-size:9px;display:flex;gap:8px;align-items:center;line-height:1.5}.examples-label span{display:inline;margin:0;font-size:6px}.example-list{width:100%;gap:7px}.example-button{min-width:0;flex:1;gap:6px;font-size:9px;padding:4px 6px 4px 4px}.example-button img{width:25px;height:29px}.example-button small{font-size:6px;letter-spacing:.2px}.controls-panel{border-radius:9px}.source-row{min-height:71px;padding:13px 16px}.source-row>img{width:35px;height:39px}.source-details strong{font-size:11px}.source-details>span{font-size:8px}.controls-panel .tabs{padding:0 10px;height:44px}.controls-panel .tabs button{font-size:11px}.controls-panel .tabs button.active:after{left:9px;right:9px}.tab-panel{padding:20px 16px}.panel-scroll{max-height:none;min-height:370px}.palette-grid{grid-template-columns:repeat(2,1fr);gap:9px}.palette{padding:11px 12px;min-height:72px}.palette-colors i{width:25px;height:18px}.palette-name small{display:inline;font-size:7px}.palette .palette-colors{max-width:calc(100% - 10px)}.section-heading h2{font-size:11px}.section-heading>span{font-size:7px}.custom-ink-header{justify-content:space-between;gap:5px}.custom-ink-header label{font-size:11px}.custom-ink-header span{font-size:8px}.ink-editor{gap:6px;padding:8px 5px}.ink-editor input[type=color]{width:25px;height:25px}.ink-eye .icon{width:13px;height:13px}.select-wrap select,.text-input{font-size:12px;min-height:42px}.select-wrap>.icon{top:13px}.controls-panel .export-area{padding:12px 16px 14px}.export-meta{font-size:9px}.export-button{font-size:13px}.export-note{font-size:9px}.bottom-bar{flex-direction:column;align-items:center;gap:6px;padding:15px 0 19px;min-height:70px;font-size:9px}.bottom-bar .text-button{font-size:10px}.modal{padding:20px;max-height:calc(100dvh - 32px);width:calc(100vw - 28px);border-radius:10px}.modal h2{font-size:23px}.modal-head .eyebrow{font-size:7px;letter-spacing:.9px}.modal-intro{font-size:11px}.help-step p{font-size:11px}.modal .select-wrap select{font-size:11px}.export-dimensions{font-size:9px}.modal .toggle-row small{font-size:9px}.modal .toggle-row{font-size:11px}.modal-actions .primary{padding:10px 14px;font-size:11px}.field-columns{gap:8px}.toggle-row input{width:40px;height:28px}.toggle{width:35px;height:21px}.toggle:after{width:15px;height:15px}.toggle-row input:checked+.toggle:after{transform:translateX(14px)}input[type=date]{font-size:10px;padding-left:7px}.range-input::-webkit-slider-thumb{width:19px;height:19px}.range-input::-moz-range-thumb{width:15px;height:15px}.source-change{width:35px;height:35px}.toast{bottom:18px;font-size:10px;padding:10px 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Stamp If / Riso Studio — a neutral stock, fluorescent inks, editorial grid. */
:root{--page:#fafaf8;--surface:#fff;--ink:#102541;--muted:#6f798c;--line:#dcdfe6;--green:#155be7;--green-soft:#eaf0ff;--accent:#ff3289;--navy:#102541;--work-h:max(695px,calc(100dvh - 153px));--pink:#ff3289;--blue:#155be7;--teal:#10a99e;color:var(--ink)}
body{background:var(--page);font-size:13px}body:before{opacity:.018;z-index:12}.app-shell{max-width:1840px;padding:0 30px}.topbar{height:90px;border-color:var(--line);position:relative}.brand{font-size:43px;letter-spacing:-2.6px;gap:0;line-height:1;font-weight:950}.brand-mark{display:none}.brand-label{font-size:8px;line-height:1.8;letter-spacing:2px;padding-left:20px;margin-left:25px;border-color:var(--line);color:var(--ink)}.brand-period{color:var(--pink)}.header-right{gap:27px}.privacy{color:var(--muted);font-size:11px}.header-right .text-button{font-size:12px}.topbar:after{content:"";width:61px;height:61px;position:absolute;right:330px;top:-29px;border-radius:50%;background:radial-gradient(var(--pink) 1.4px,transparent 1.5px) 0 0 / 4px 4px;pointer-events:none;transform:rotate(18deg);opacity:.65}.workspace{display:grid;grid-template-columns:195px minmax(0,1fr) 338px;gap:23px;padding-top:22px;align-items:start}.left-rail{height:var(--work-h);display:flex;flex-direction:column;gap:17px}.hero{display:block;padding:0;margin:0;position:relative}.hero:after{display:none}.riso-poster{background:#ffd9e9;position:relative;padding:20px 16px 18px;overflow:hidden}.riso-poster:before{content:"";position:absolute;inset:0;background:radial-gradient(var(--pink) .62px,transparent .82px) 0 0 / 3px 3px;opacity:.23;pointer-events:none}.poster-no{font:9px/1.5 monospace;letter-spacing:1.6px;display:flex;justify-content:space-between;position:relative}.riso-poster h1{font-family:Impact,"Arial Narrow","Arial Black",Arial,sans-serif;font-weight:950;letter-spacing:-1.2px;font-size:39px;line-height:.96;margin:19px 0 18px;position:relative}.riso-poster h1 span{display:block;margin-bottom:3px}.riso-poster h1 .outline-word{color:transparent;-webkit-text-stroke:1.2px var(--ink)}.poster-footer{position:relative;border-top:1px dashed var(--ink);padding-top:14px;display:flex;justify-content:space-between;align-items:center}.poster-footer p{font:8px/1.8 monospace;letter-spacing:1.5px;margin:0}.poster-footer svg{width:35px;height:35px;stroke:var(--blue);stroke-width:1.4}.hero-actions{padding-top:17px;display:block}.upload-main{display:flex;flex-direction:column;width:100%;gap:9px;border:1px dashed #8995aa;border-radius:3px;background:#fff;color:var(--ink);min-height:112px;padding:16px 8px;box-shadow:none}.upload-main .icon{width:27px;height:27px}.upload-main strong{font-weight:650;font-size:13px}.upload-main small{font-size:9px;font-weight:400;color:var(--muted)}.upload-main:hover:not(:disabled){background:#fff0f6;border-color:var(--pink);color:var(--ink);box-shadow:none}.hero-actions>span{display:none}.rail-nav{display:flex;flex-direction:column;gap:4px}.rail-nav button{display:flex;align-items:center;gap:11px;padding:11px 12px;min-height:42px;border-radius:3px;text-align:left;font-size:11px;color:var(--ink);position:relative}.rail-nav button .icon{width:17px;height:17px}.rail-nav button small{font:8px monospace;margin-left:auto;color:#8c96a7}.rail-nav button:hover{background:#eaf0ff}.rail-nav button.active{background:#ffdcec}.rail-art{position:relative;min-height:155px;flex:1;margin-top:5px;overflow:hidden}.rail-art .blue-disc{position:absolute;width:183px;height:183px;left:-27px;top:5px;border-radius:50%;background:radial-gradient(var(--blue) 1.3px,transparent 1.5px) 0 0 / 4px 4px;transform:rotate(16deg)}.rail-art .pink-square{position:absolute;width:82px;height:132px;right:-8px;bottom:0;background:radial-gradient(var(--pink) 1.1px,transparent 1.3px) 0 0 / 3px 3px;transform:rotate(-8deg);mix-blend-mode:multiply}.rail-art .white-disc{position:absolute;left:13px;top:49px;width:130px;height:130px;background:var(--page);border-radius:50%;display:flex;align-items:center;justify-content:center}.white-disc span{font:9px/1.8 monospace;letter-spacing:2px;transform:rotate(-7deg)}.rail-footer{padding:8px 0 0;display:flex;justify-content:space-between;align-items:center;gap:5px}.rail-footer span{font:8px/1.7 monospace;letter-spacing:1px}.rail-footer svg{width:50px;height:33px;stroke:var(--pink);stroke-width:2;fill:none}.preview-column{height:var(--work-h);gap:13px}.preset-strip{height:57px;flex:none;display:flex;align-items:center;gap:10px;min-width:0;overflow:auto;scrollbar-width:none;border-bottom:1px solid var(--line);padding-bottom:13px}.preset-strip::-webkit-scrollbar{display:none}.preset-label{font:8px/1.6 monospace;letter-spacing:1.5px;margin-right:1px;color:var(--muted);flex:none}.quick-palette{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:121px;min-height:39px;padding:9px;border:1px solid var(--line);border-radius:4px;white-space:nowrap;font-size:10px;background:white}.quick-palette.active{border-color:var(--pink);background:#fff0f6;box-shadow:inset 0 0 0 .3px var(--pink)}.quick-palette:hover{border-color:var(--pink)}.quick-dots{display:flex;padding-left:3px}.quick-dots i{display:block;width:14px;height:14px;border-radius:50%;margin-left:-3px;mix-blend-mode:multiply}.preview-card{height:auto;min-height:0;flex:1;border:1px solid var(--line);border-radius:5px;background:white}.preview-head{height:47px;min-height:47px;padding:0 15px}.live-label{font-size:10px}.live-label .mono{font-size:7px;color:var(--muted)}.status-dot{background:var(--teal)}.reset-button{color:var(--muted)}.stage{background:#f3f4f6;background-image:radial-gradient(#53699022 .65px,transparent .8px);background-size:7px 7px}.stage:after{background:radial-gradient(ellipse at 50% 50%,#fff9,transparent 70%)}.stage:before{content:"";position:absolute;width:125px;height:260px;left:25px;top:75px;background:radial-gradient(var(--pink) 1.15px,transparent 1.3px) 0 0 / 5px 5px;transform:rotate(-13deg);opacity:.35;z-index:-1;pointer-events:none}.stage-note{color:var(--pink);font-size:9px;letter-spacing:1.3px;top:25px;left:26px;line-height:1.4}.stage-note span{font-size:7px;letter-spacing:2px;opacity:.8}.stage-corner{border-color:#9ba8bd;opacity:.55;width:8px;height:8px}.stage-corner.tl,.stage-corner.tr{top:15px}.stage-corner.bl,.stage-corner.br{bottom:15px}.stage-corner.tl,.stage-corner.bl{left:15px}.stage-corner.tr,.stage-corner.br{right:15px}.stage-inks{top:27px;right:25px;opacity:.85}.stage-inks span{width:13px;height:13px}.stamp-wrap{transform:rotate(-2deg);filter:drop-shadow(0 11px 13px #142c4818) drop-shadow(0 2px 1px #142c4820)}.happy-seal{border:1px solid var(--pink);color:var(--pink);right:21px;bottom:45px;width:81px;height:81px;transform:rotate(12deg);background:#ffffff80;opacity:.8}.happy-seal span{font-size:6px;letter-spacing:1.2px}.happy-seal svg{width:25px;height:25px}.stage-bottom{bottom:21px;left:26px;right:26px;color:#7b879c}.print-info{font-size:7px}.crop-tip{font-size:8px}.preview-foot{height:50px;min-height:50px;padding:0 13px}.segmented{background:#f2f4f8;border-color:var(--line);padding:3px;border-radius:4px}.segmented button{color:#7b8799;font-size:10px;border-radius:3px}.segmented button.active{background:var(--ink);color:#fff;box-shadow:none}.compare-switch button.active{background:var(--ink);color:#fff}.zoom-label{color:var(--ink)}.icon-button:hover:not(:disabled){background:#eaf0ff}.examples-row{height:61px;min-height:61px;gap:13px;margin:0;padding:4px 0}.examples-label{font-size:9px;color:var(--muted)}.examples-label span{font-size:6px;letter-spacing:.8px;color:var(--muted)}.example-list{flex:1;gap:7px;min-width:0}.example-button{padding:5px 7px 5px 5px;border-radius:4px;background:#fff;gap:7px;min-width:78px;flex:1;color:var(--ink);font-size:10px;white-space:nowrap}.example-button img{width:33px;height:36px;filter:none;border-radius:2px}.example-button small{color:var(--muted);font-size:6px}.example-button:hover,.example-button.active{border-color:var(--pink);background:#fff3f8;box-shadow:none}.controls-panel{border-radius:5px;background:#fff;border-color:var(--line);height:var(--work-h)}.source-row{min-height:70px;padding:13px 17px;gap:10px}.source-row>img{border-radius:3px;border-color:var(--line);height:40px;width:35px}.source-details strong{font-weight:550;font-size:11px}.source-details>span{font-size:8px;color:var(--muted)}.source-change{color:var(--ink)}.tabs{height:45px;padding:0 12px}.tabs button{font-size:11px;color:var(--muted);padding-bottom:11px}.tabs button span{font-size:7px}.tabs button.active:after{background:var(--pink);height:3px;left:8px;right:8px}.panel-scroll{scrollbar-color:#b7c7e5 transparent}.tab-panel{padding:18px 18px 20px}.section-heading{margin-bottom:13px}.section-heading h2{font-size:11px;font-weight:650}.section-heading>span{color:#8a94a5;font-size:7px}.palette-grid{gap:7px}.palette{background:#fff;border-color:var(--line);border-radius:4px;min-height:63px;padding:9px 10px}.palette:hover{background:#f6f8ff;border-color:#8aabea}.palette.active{background:#fff0f6;border-color:var(--pink);box-shadow:inset 0 0 0 .4px var(--pink)}.palette-name{color:var(--ink);font-size:10px}.palette-name small{color:#8994a7;font-size:7px}.palette-check{color:var(--pink);right:5px;top:5px}.palette-colors{margin-bottom:9px}.palette-colors i{height:15px;width:22px;border-radius:2px;margin-right:3px}.ink-editors{gap:6px}.ink-editor{border-color:var(--line);border-radius:4px;padding:7px 4px;gap:4px}.ink-editor input[type=color]{border-radius:2px;width:25px;height:26px}.ink-editor input[type=color]::-webkit-color-swatch{border-radius:2px}.ink-editor input[type=color]::-moz-color-swatch{border-radius:2px}.ink-editor>span,.ink-eye{color:#718099}.custom-ink-header{margin-top:19px}.custom-ink-header label{font-size:11px}.custom-ink-header span{color:#778399}.section-rule{margin:17px 0}.field-label,.range-head label{font-size:11px;font-weight:550}.field-label{margin:13px 0 8px}.select-wrap select,.text-input{height:38px;border-color:var(--line);background:#fff;border-radius:4px;color:var(--ink);font-size:11px}.field-help{font-size:9px;color:#8490a2;line-height:1.8}.range-field{margin:18px 0 21px}.range-head{margin-bottom:13px}.range-number{border-color:var(--line);background:#f8f9fc;color:var(--muted);font-size:9px;min-width:44px}.range-number input{color:var(--ink);font-size:10px;padding:4px}.range-input{height:3px;border-radius:0;background:linear-gradient(to right,var(--ink) 0%,var(--ink) var(--value,50%),#dfe3ea var(--value,50%),#dfe3ea 100%)}.range-input::-webkit-slider-thumb{background:var(--ink);border:0;width:12px;height:12px;box-shadow:none}.range-input::-moz-range-thumb{background:var(--ink);border:0;width:12px;height:12px}.range-input:active::-webkit-slider-thumb{background:var(--pink)}.range-hint{color:#8a96a9;font-size:8px}.outline-button{border-color:var(--line);background:#fff;color:var(--ink);border-radius:4px;font-size:11px;min-height:37px}.outline-button:hover{border-color:var(--blue);background:#eef3ff}.outline-button>span{color:#8490a4;font-size:8px}.surprise-button{border-color:#f5acd0;background:#fff2f8}.pattern-button{border-color:var(--line);border-radius:4px;background:#fff;color:#8190a7;font-size:9px}.pattern-preview{color:#345789}.pattern-button.active{background:#fff0f6;border-color:var(--pink);color:var(--ink)}.advanced summary{font-size:11px;color:#5f7090}.toggle-row{font-size:11px}.toggle-row small{color:#8a95a7}.toggle{background:#dfe3ea}.toggle:after{background:#fff}.toggle-row input:checked+.toggle{background:var(--pink)}.paper-option{color:#6d7d96;border-color:var(--line);background:#fff;border-radius:4px;font-size:9px}.paper-option.active{border-color:var(--pink);background:#fff2f8}.export-area{background:#fff;border-top-color:var(--line);padding:12px 17px 13px;box-shadow:0 -4px 20px #17375c03}.export-meta{font-size:8px;color:var(--muted);margin-bottom:8px}.primary{background:var(--pink);border-color:var(--pink);color:white;border-radius:4px;font-size:12px;min-height:43px}.primary:hover:not(:disabled){background:#ea2179;border-color:#ea2179;box-shadow:0 3px 8px #ff328923}.export-button{height:45px;letter-spacing:.3px}.export-note{color:#8c97a9;font-size:8px}.bottom-bar{min-height:41px;padding:8px 0;color:var(--muted);font-size:9px;gap:10px}.bottom-bar>span .icon{color:var(--pink)}.bottom-bar .mono{color:#8d96a6;font-size:7px}.bottom-bar .text-button{color:var(--ink);font-size:10px}.bottom-bar .text-button:hover{color:var(--pink)}.modal{border-color:var(--line);border-radius:6px;background:#fff;color:var(--ink);box-shadow:0 22px 100px #14274633}.modal::backdrop{background:#10254166}.eyebrow{color:var(--blue)}.help-note{background:#f3f6ff;color:#687a97}.help-note strong{color:var(--ink)}.help-note .credits{color:#7c8ba4;border-top-color:var(--line)}.help-step p,.modal-intro{color:#72819a}.modal-head .icon-button{color:var(--ink)}.modal h2{font-weight:750}.export-layouts button{border-color:var(--line);background:#fff;color:#8896ac;border-radius:4px}.export-layouts button.active{border-color:var(--pink);background:#fff0f6;color:var(--ink)}.sheet-icon i{background:#e9f0ff}.export-dimensions{background:#f0f4ff;color:var(--ink)}.toast{background:var(--ink);color:#fff;border-color:var(--ink);border-radius:4px}.toast.error{background:#b62056;border-color:#b62056}.render-indicator{background:#fffffff0;border-color:var(--line);color:var(--ink)}.render-indicator span{border-color:#d5deef;border-top-color:var(--pink)}.drop-overlay{background:#ffffffed;border-color:var(--pink);color:var(--ink)}
@media(min-width:1600px){.app-shell{padding:0 42px}.workspace{grid-template-columns:215px minmax(0,1fr) 364px;gap:27px}.riso-poster h1{font-size:44px}.tab-panel{padding-left:21px;padding-right:21px}}
@media(max-width:1270px) and (min-width:901px){.app-shell{padding:0 20px}.workspace{grid-template-columns:155px minmax(0,1fr) 307px;gap:16px}.riso-poster{padding:16px 12px}.riso-poster h1{font-size:32px}.poster-footer p{font-size:7px}.poster-footer svg{width:25px;height:25px}.rail-nav button{font-size:10px;gap:8px;padding:10px 7px}.rail-nav button small{display:none}.preset-label{display:none}.quick-palette{min-width:115px}.preset-strip{gap:7px}.example-button{min-width:46px;justify-content:center;padding:5px}.example-button>span{display:none}.examples-label{font-size:8px}.brand{font-size:37px}.brand-label{margin-left:20px;font-size:7px}.topbar:after{display:none}.live-label .mono{display:none}.tab-panel{padding:17px 15px}.crop-tip{display:none}.happy-seal{width:66px;height:66px;right:14px;bottom:39px}.happy-seal span{font-size:5px}.happy-seal svg{width:20px;height:20px}.stage-note{font-size:8px}.stage-note span{font-size:6px}}
@media(max-width:900px){.app-shell{padding:0 22px;max-width:780px}.topbar{height:79px}.brand{font-size:36px;letter-spacing:-2px}.brand-label{display:none}.topbar:after{display:none}.header-right{gap:17px}.workspace{grid-template-columns:minmax(0,1fr);gap:20px;padding-top:16px}.left-rail{height:auto;display:block}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.riso-poster{padding:13px 16px;flex:1;display:flex;align-items:center;gap:14px;background:#ffe1ed;min-height:98px}.poster-no{display:none}.riso-poster h1{font-family:"Arial Black",Arial,sans-serif;font-size:22px;line-height:1.15;letter-spacing:-.9px;margin:0}.riso-poster h1 span{display:inline}.riso-poster h1 span:nth-child(2):after{content:"";display:block}.riso-poster h1 .outline-word{color:var(--ink);-webkit-text-stroke:0}.poster-footer{border:0;padding:0;flex:none}.poster-footer p{display:none}.poster-footer svg{width:43px;height:43px}.hero-actions{padding:0}.upload-main{min-width:123px;width:123px;min-height:98px;gap:7px;padding:12px 7px;border-color:#a7b5cd;background:#fff;color:var(--ink)}.upload-main .icon{width:22px;height:22px}.upload-main strong{font-size:12px}.upload-main small{font-size:8px}.rail-nav,.rail-art,.rail-footer{display:none}.preview-column{height:auto;gap:12px}.preset-strip{height:48px;padding-bottom:9px}.quick-palette{min-width:126px;min-height:36px;font-size:10px;padding:8px 10px}.preview-card{height:650px;flex:none}.examples-row{height:60px;min-height:60px;display:flex;align-items:center;flex-direction:row;margin:0;gap:12px}.examples-label{font-size:10px;display:block}.examples-label span{display:block;font-size:6px;margin-top:3px}.example-list{width:auto;gap:8px}.example-button{min-width:75px;flex:1}.example-button img{width:34px;height:36px}.example-button>span{display:block}.controls-panel{height:auto;max-height:none;overflow:hidden}.panel-scroll{min-height:300px;max-height:none}.source-row{min-height:74px;padding:14px 20px}.controls-panel .tabs{height:48px;padding:0 13px}.controls-panel .tabs button{font-size:12px}.tab-panel{padding:22px}.palette-grid{grid-template-columns:repeat(4,1fr);gap:9px}.palette{min-height:70px}.palette-name small{display:none}.palette-colors i{width:22px;height:19px}.palette .palette-colors{max-width:100%}.ink-editors{max-width:none;gap:10px}.ink-editor{justify-content:flex-start;padding:9px 10px;gap:10px}.ink-editor input[type=color]{width:36px;height:29px}.ink-eye{margin-left:auto}.custom-ink-header{justify-content:space-between}.field-label,.range-head label{font-size:12px}.select-wrap select,.text-input{height:42px;font-size:12px}.field-help{font-size:10px}.range-field{margin:22px 0 25px}.range-input{height:4px}.range-input::-webkit-slider-thumb{width:17px;height:17px}.range-input::-moz-range-thumb{width:17px;height:17px}.range-number input{font-size:11px;width:40px}.range-head{margin-bottom:15px}.section-heading h2{font-size:12px}.outline-button{font-size:12px;min-height:42px}.pattern-button{font-size:10px;padding:13px 4px 10px}.advanced summary{font-size:12px}.toggle-row{font-size:12px}.toggle-row small{font-size:10px}.controls-panel .export-area{padding:15px 22px 16px;border-radius:0}.export-button{height:46px}.bottom-bar{margin-top:0;padding:15px 0;min-height:53px}.modal .palette-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.app-shell{padding:0 15px}.topbar{height:69px}.brand{font-size:32px;letter-spacing:-1.8px}.header-right{gap:14px}.header-right .text-button{font-size:10px}.privacy span{display:none}.privacy .icon{height:14px;width:14px}.workspace{gap:15px;padding-top:15px}.hero{gap:12px}.riso-poster{min-height:104px;padding:12px;display:block}.riso-poster h1{font-size:20px;line-height:1.13;letter-spacing:-.9px;max-width:148px}.poster-footer{position:absolute;right:8px;bottom:8px}.poster-footer svg{width:25px;height:25px}.hero-actions{display:block}.upload-main{min-width:101px;width:101px;min-height:104px;padding:13px 5px;border-radius:3px;gap:8px;background:#fff;color:var(--ink)}.upload-main strong{font-size:11px}.upload-main small{font-size:7px}.hero-actions>span,.hero:after{display:none}.preset-strip{height:43px;padding-bottom:9px;gap:7px}.preset-label{display:none}.quick-palette{flex:none;min-width:122px;min-height:32px;font-size:9px;padding:7px 9px;gap:8px}.quick-dots i{height:13px;width:13px}.preview-column{gap:11px}.preview-card{height:485px;border-radius:4px}.preview-head{height:43px;min-height:43px;padding:0 10px}.live-label{font-size:9px;gap:5px}.live-label .mono{display:none}.toolbar .icon-button{width:25px;min-width:25px;height:27px}.toolbar .icon{width:14px;height:14px}.reset-button{font-size:9px}.divider{margin:0 5px}.stage-note{font-size:7px;top:22px;left:21px;letter-spacing:1px}.stage-note span{font-size:6px}.stage-inks{right:20px;top:23px}.stage-inks span{height:11px;width:11px}.stage-corner.tl,.stage-corner.tr{top:12px}.stage-corner.bl,.stage-corner.br{bottom:12px}.stage-corner.tl,.stage-corner.bl{left:12px}.stage-corner.tr,.stage-corner.br{right:12px}.stage:before{left:15px;top:64px;width:92px;height:170px;opacity:.4}.stage-bottom{left:20px;right:20px;bottom:18px}.print-info{font-size:6px;letter-spacing:.7px}.crop-tip{display:none}.happy-seal{width:57px;height:57px;right:13px;bottom:32px;opacity:.7}.happy-seal span{font-size:4.7px;letter-spacing:.6px}.happy-seal svg{width:17px;height:17px;margin:2px 0}.preview-foot{height:47px;min-height:47px;padding:0 10px}.compare-switch button{font-size:9px;padding:5px 9px;min-height:27px}.compare-switch .icon{width:12px;height:12px}.zoom-tools .icon-button{height:25px;width:23px;min-width:23px}.zoom-label{font-size:10px;padding:4px;min-width:28px}.examples-row{height:55px;min-height:55px;gap:9px;flex-direction:row;align-items:center;margin:0;padding:0}.examples-label{font-size:8px;max-width:68px;line-height:1.65}.examples-label span{font-size:5px;letter-spacing:.4px;white-space:nowrap}.example-list{gap:6px}.example-button{min-width:0;gap:0;padding:5px;justify-content:center}.example-button img{width:100%;height:38px;min-width:38px;object-fit:cover}.example-button>span{display:none}.controls-panel{border-radius:4px}.source-row{min-height:70px;padding:13px 15px;gap:10px}.source-row>img{height:37px;width:34px}.source-details strong{font-size:11px}.source-details>span{font-size:7px}.controls-panel .tabs{height:47px;padding:0 9px}.controls-panel .tabs button{font-size:11px}.controls-panel .tabs button.active:after{left:9px;right:9px}.tab-panel{padding:20px 16px}.palette-grid{grid-template-columns:repeat(2,1fr);gap:9px}.palette{padding:12px;min-height:72px}.palette-colors i{width:24px;height:18px}.palette-name{font-size:11px}.palette-name small{display:inline;font-size:7px}.ink-editors{gap:6px}.ink-editor{padding:8px 5px;gap:5px;justify-content:center}.ink-editor input[type=color]{width:25px;height:26px}.ink-eye{margin:0}.ink-eye .icon{width:12px;height:12px}.custom-ink-header label{font-size:11px}.custom-ink-header span{font-size:8px}.section-heading h2{font-size:11px}.section-heading>span{font-size:7px}.range-number input{font-size:11px}.select-wrap select,.text-input{min-height:42px;font-size:12px}.range-input::-webkit-slider-thumb{width:18px;height:18px}.controls-panel .export-area{padding:12px 16px 15px}.export-meta{font-size:8px}.export-button{font-size:13px;height:46px}.export-note{font-size:8px}.bottom-bar{flex-direction:column;gap:5px;padding:16px 0 20px;font-size:8px}.bottom-bar .text-button{font-size:10px}.bottom-bar .mono{display:none}.modal{padding:21px;border-radius:6px}.modal h2{font-size:22px}.modal-intro{font-size:11px}.modal .select-wrap select{font-size:11px}.toast{font-size:10px;bottom:16px}}

/* Reference edition: quiet paper and fluorescent ink. */
:root{--page:#f8f8f5;--surface:#fbfbf9;--ink:#123259;--navy:#123259;--muted:#71819b;--line:#12325926;--accent:#fa3280;--work-h:780px}
body{background:var(--page)}body:before{opacity:.055;z-index:12}
.app-shell{max-width:1700px;padding:0 42px}.topbar{height:88px}.topbar:after{display:none}
.brand{font-size:47px}.brand-label{font-size:10px;letter-spacing:2px;border:0;margin-left:26px;padding:0}
.header-right{gap:28px}.header-link{font:11px monospace;letter-spacing:1.4px;color:#607898}
.workspace{grid-template-columns:175px minmax(0,1fr) 350px;grid-template-rows:54px auto;gap:24px 22px;padding-top:26px}
.left-rail{grid-column:1;grid-row:1/3;height:100%;min-height:780px;padding-right:20px;border-right:1px solid var(--line);gap:28px}
.rail-nav{order:-1;gap:7px}.rail-nav button{height:62px;padding:12px 10px;border:0;border-radius:0;gap:19px;font:700 12px monospace;letter-spacing:.6px}
.rail-nav button .icon{display:none}.rail-nav button small{order:-1;margin:0;color:inherit;font:11px monospace}
.rail-nav button:after{content:"";width:19px;height:19px;border:1px solid #8799b1;border-radius:50%;margin-left:auto}
.rail-nav button.active{background:#ffe7f0;box-shadow:none;color:var(--ink)}.rail-nav button.active:after{border-color:var(--accent);background:#fff8fb}
.rail-nav button:hover{background:#fcebf1}
.hero{padding-top:28px;border-top:1px solid #12325942}.riso-poster{background:#ffe1ed;padding:18px 15px;border:0;box-shadow:none;border-radius:0}
.riso-poster:before{opacity:.35}.poster-no{display:none}.riso-poster h1{font-size:36px;letter-spacing:-1px;line-height:1.02;margin:0 0 20px}.riso-poster h1 .outline-word{-webkit-text-stroke:0;color:var(--ink);font-weight:400}
.poster-footer p{font-size:8px;letter-spacing:1px}.poster-footer svg{width:18px;height:18px}
.hero-actions{margin-top:16px}.upload-main{min-height:40px!important;border:1px solid var(--line)!important;background:transparent!important;color:var(--ink)!important;border-radius:3px!important;box-shadow:none!important}.upload-main small{display:none}
.rail-art{display:none}.rail-footer{margin-top:auto;padding-top:80px}.rail-footer svg{display:none}.rail-footer span{font-size:9px;color:var(--muted)}
.preset-strip{grid-column:2/4;grid-row:1;height:54px;border:0;padding:0;overflow:visible;gap:12px;max-width:1040px}
.preset-label{font:700 11px monospace;letter-spacing:1px;width:62px;flex:none;color:var(--ink)}
.quick-palette{height:49px;min-width:120px;max-width:180px;border-radius:4px;background:#ffffff45;font-size:11px;box-shadow:none}
.quick-palette.active{background:#fff0f5;border-color:var(--accent);box-shadow:none}
.quick-dots i{width:18px;height:18px;margin-right:-5px;mix-blend-mode:multiply}.quick-dots{margin-right:4px}
#surpriseBtn{margin:0 0 0 15px;width:auto;min-width:145px;height:49px;min-height:49px;background:transparent;border:1px solid var(--line);border-radius:4px;box-shadow:none;font-size:11px;transform:none}#surpriseBtn>span{display:none}
.preview-column{grid-column:2;grid-row:2;height:726px;gap:25px;min-width:0}
.preview-card{border:1px solid var(--line);background:transparent;border-radius:3px;min-height:560px}
.preview-head{border:0;height:58px;min-height:58px;padding:0 22px}.live-label{font:9px monospace;letter-spacing:1.3px}.live-label .mono{display:none}.status-dot{background:#86b843}
.stage{background:transparent}.stage:before,.stage:after{display:none}.stage-inks,.stage-bottom{display:none}
.stamp-wrap{transform:none;filter:drop-shadow(0 3px 3px #15294132)}.stamp-positioner{z-index:2}
.stage-corner{width:14px;height:14px;border-color:var(--ink);opacity:.8}.stage-corner.tl,.stage-corner.tr{top:12px}.stage-corner.bl,.stage-corner.br{bottom:12px}
.stage-note{top:auto;left:auto;bottom:50px;right:30px;font:italic 17px/1.45 monospace;letter-spacing:2px;transform:rotate(-14deg);color:var(--ink);z-index:3;width:105px}
.stage-note span{opacity:1}.stage-note:after{content:"";display:block;border-bottom:2px solid var(--ink);margin-top:5px;width:100px}
.happy-seal{left:7%;right:auto;top:65px;bottom:auto;width:112px;height:112px;border:3px double var(--accent);color:var(--accent);transform:rotate(-13deg);z-index:3;background:transparent}
.happy-seal span{font-size:10px;line-height:1.5;letter-spacing:2px}.happy-seal svg{display:none}
.happy-seal:after{content:"";position:absolute;left:103px;top:58px;width:86px;height:36px;background:repeating-linear-gradient(0deg,transparent 0 10px,var(--accent) 10px 11px);transform:rotate(16deg);border-radius:45%}
.preview-foot{height:60px;min-height:60px;border:0;padding:0 22px 16px}.segmented{background:transparent;padding:0;border-radius:3px;gap:0}.compare-switch button{min-height:36px;padding:9px 17px;font-size:11px}.compare-switch button.active{background:var(--ink);color:white;box-shadow:none;border-radius:2px}.compare-switch .icon{display:none}
.zoom-tools{margin-left:10px}.zoom-label{font-size:11px}.examples-row{height:78px;gap:13px}.examples-label{font-size:10px;line-height:1.8;min-width:104px}.examples-label span{font-size:8px}
.example-list{flex:1;gap:8px}.example-button{flex:1;min-width:0;padding:7px;gap:8px;background:transparent;border-radius:4px}.example-button img{width:37px;height:54px}.example-button.active{border-color:var(--accent);background:#fff1f6}.example-button small{font-size:7px;letter-spacing:.3px}
.controls-panel{grid-column:3;grid-row:2;height:auto;min-height:620px;max-height:726px;border:1px solid var(--line);border-radius:4px;background:#ffffff55;box-shadow:none;overflow:hidden}
.controls-panel .source-row,.controls-panel .tabs{display:none}
.panel-scroll{background:transparent;scrollbar-color:#c6cdd6 transparent;max-height:570px}
.tab-panel{padding:23px 21px 8px}
.section-heading{margin-bottom:18px}.section-heading h2{font:700 12px monospace;letter-spacing:.7px}.section-heading>span{display:none}
.panel-reset{color:var(--muted);font-size:11px;font-weight:400}
#panel-inks>.custom-ink-header{display:none}
.ink-editors{gap:9px}.ink-editor{padding:8px 6px;gap:6px;min-height:60px;border:1px solid var(--line);border-radius:4px;background:transparent;box-shadow:none;transform:none;flex-wrap:wrap}
.ink-editor input[type=color]{width:36px;height:39px;border-radius:3px;clip-path:none}.ink-editor input[type=color]::-webkit-color-swatch{border-radius:3px}.ink-editor input[type=color]::-moz-color-swatch{border-radius:3px}
.ink-editor>span{font-size:9px;color:var(--muted)}.ink-eye{padding:3px;color:var(--muted)}
.section-rule{height:1px;background:var(--line);margin:22px 0;opacity:1}
.field-label,.range-head label{font:700 12px monospace;letter-spacing:.5px}
.select-wrap select,.text-input{height:40px;background:#ffffff44;border:1px solid var(--line);border-radius:3px;box-shadow:none;color:var(--ink);font-size:11px}
.field-help{color:var(--muted);line-height:1.65;font-size:10px;margin-bottom:22px}
.range-field{margin:23px 0 28px}.range-number{background:transparent;border:1px solid var(--line);border-radius:3px;box-shadow:none;padding:4px}.range-number input{font-size:11px}
.range-input{height:4px;background:linear-gradient(to right,var(--ink) 0%,var(--ink) var(--value,50%),#dfe1e4 var(--value,50%),#dfe1e4 100%)}
.range-input::-webkit-slider-thumb{width:16px;height:16px;background:var(--ink);border:0;box-shadow:none}.range-input::-moz-range-thumb{width:16px;height:16px;background:var(--ink);border:0;box-shadow:none}
.advanced-launch{border-top:1px solid var(--line);padding-top:22px;margin:0 0 22px}.advanced-launch h3{font:700 12px monospace;margin:0 0 16px;letter-spacing:.6px}
.advanced-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.advanced-tiles button{border:1px solid var(--line);border-radius:4px;height:78px;font-size:9px;background:transparent;padding:7px 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}
.advanced-tiles button:hover{background:#fff0f5;border-color:var(--accent)}.advanced-tiles i{width:29px;height:29px;display:block;color:var(--ink)}
.advanced-tiles .dots{background:radial-gradient(var(--ink) 2px,transparent 2.5px) 0 0/9px 9px;transform:rotate(30deg)}
.advanced-tiles .offset{border-radius:50%;background:#12325977;box-shadow:8px 4px 0 #12325944,-5px 7px 0 #12325999;transform:scale(.72)}
.advanced-tiles .grain{background:repeating-conic-gradient(#123259b0 0 25%,transparent 0 50%) 0 0/3px 5px}
.advanced-tiles .paper{background:repeating-linear-gradient(42deg,#12325933 0 1px,transparent 1px 3px)}
.more-palettes{border-top:1px solid var(--line);margin:0 0 12px;padding-top:12px}.more-palettes summary{cursor:pointer;color:var(--muted);font-size:10px;margin-bottom:12px}
.palette{background:transparent;border:1px solid var(--line);box-shadow:none;border-radius:3px;transform:none}.palette.active{background:#fff0f5;border-color:var(--accent);box-shadow:none;transform:none}.palette-colors i{border-radius:2px;box-shadow:none}
.outline-button,.pattern-button,.paper-option{background:transparent;border:1px solid var(--line);border-radius:3px;box-shadow:none}
.pattern-button.active,.paper-option.active{background:#fff0f5;border-color:var(--accent);box-shadow:none}
.export-area{padding:14px 21px 19px;background:transparent;border:0;box-shadow:none}.export-meta{color:var(--muted);font-size:9px}.export-button{background:var(--accent);border-color:var(--accent);border-radius:4px;color:white;box-shadow:none;height:52px;font-size:14px}
.export-button:hover:not(:disabled){background:#e62770;border-color:#e62770;box-shadow:none}.export-note{color:var(--muted);font-size:9px;margin-top:12px}
.bottom-bar{margin-left:197px;border:0;color:var(--muted)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(min-width:1600px){.workspace{grid-template-columns:185px minmax(0,1fr) 370px}.preview-column{height:780px}.controls-panel{max-height:780px}.panel-scroll{max-height:620px}}
@media(max-width:1200px) and (min-width:901px){.app-shell{padding:0 22px}.workspace{grid-template-columns:125px minmax(0,1fr) 305px;gap:18px 16px}.left-rail{padding-right:13px}.riso-poster h1{font-size:29px}.rail-nav button{font-size:10px;gap:9px}.quick-palette{min-width:100px;font-size:9px}.preset-strip{gap:8px}#surpriseBtn{min-width:110px;margin-left:0}.preset-label{width:48px;font-size:9px}.example-button{gap:4px}.example-button img{width:27px}.examples-label{min-width:75px}.tab-panel{padding:20px 16px 8px}.ink-editor input[type=color]{width:30px}.happy-seal{width:85px;height:85px;left:4%;top:45px}.happy-seal span{font-size:8px}.happy-seal:after{left:78px;width:55px}.stage-note{font-size:12px;width:80px;right:15px}}
@media(max-width:900px){.app-shell{max-width:780px;padding:0 22px}.workspace{display:flex;flex-direction:column;gap:20px}.left-rail{display:block;min-height:0;height:auto;width:100%;border:0;padding:0}.rail-nav{flex-direction:row;gap:5px}.rail-nav button{flex:1;height:45px;min-height:45px;justify-content:center}.rail-nav button:after{display:none}.left-rail .hero,.rail-footer{display:none}.preset-strip{width:100%;overflow:auto;min-height:49px;flex-shrink:0}.preset-label{display:none}.quick-palette{flex:none;min-width:115px}#surpriseBtn{flex:none;margin-left:0}.preview-column{width:100%;height:680px}.controls-panel{width:100%;height:auto;max-height:none;min-height:0}.panel-scroll{max-height:none}.tab-panel{padding:24px}.ink-editors{max-width:440px}.bottom-bar{margin-left:0}.brand{font-size:36px}.brand-label{display:none}}
@media(max-width:580px){.app-shell{padding:0 14px}.topbar{height:73px}.brand{font-size:32px}.header-right{gap:14px}.header-link{font-size:9px}.header-right .privacy{display:none}.workspace{padding-top:15px;gap:16px}.rail-nav button{font-size:10px;gap:8px;padding:8px 4px}.preview-column{height:595px;gap:16px}.preview-card{min-height:470px}.preview-head{padding:0 13px;height:46px;min-height:46px}.preview-foot{padding:0 12px 12px}.compare-switch button{padding:8px 12px;font-size:10px}.stage-note{display:none}.happy-seal{left:5%;top:26px;width:72px;height:72px}.happy-seal span{font-size:7px}.happy-seal:after{left:65px;width:45px;height:29px}.examples-row{height:95px;gap:7px}.examples-label{display:none}.example-list{gap:5px}.example-button{flex-direction:column;align-items:start;padding:5px;gap:4px;font-size:8px}.example-button img{width:100%;height:37px}.example-button small{font-size:6px}.tab-panel{padding:22px 17px 8px}.export-area{padding:12px 17px 19px}.bottom-bar{margin:0}.ink-editor{flex-wrap:nowrap}.ink-editor input[type=color]{width:30px;height:34px}}

@media(max-width:900px){.left-rail .rail-nav{display:flex}.example-button>span{display:block}.example-button small{display:block}}
/* Two-column studio — all tools on the right. */
:root{--page:#fdfdfd;--surface:#fff;--ink:#2825a7;--navy:#2825a7;--muted:#8983cb;--line:#3026ad20;--green:#8880ce;--accent:#ff2983;--blue:#3026ad}
body:before{opacity:.025}.app-shell{max-width:1700px;padding:0 48px}
.topbar{height:100px;border:0}.brand{font-size:46px;letter-spacing:-2px}.brand-label{color:var(--muted)}.header-link,.privacy{color:var(--muted)}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;grid-template-rows:1fr;gap:18px;padding:0;align-items:start}
.left-rail{display:none!important}
.preview-column{grid-column:1;grid-row:1;height:calc(100dvh - 180px);min-height:690px;gap:0}
.preview-card{height:100%;min-height:0;border-color:var(--line);border-radius:5px;background:#ffffff50}
.preview-head{height:68px;min-height:68px;padding:0 30px}.live-label{font-size:11px;color:var(--muted);letter-spacing:1.6px}.status-dot{background:#7dc68d}
.toolbar{color:var(--ink)}.toolbar .divider{background:var(--line)}.zoom-label{color:var(--ink)}
.stage-note,.happy-seal{display:none!important}.stage-corner{border-color:#8981d5;width:23px;height:23px}.stage-corner.tl,.stage-corner.tr{top:13px}.stage-corner.bl,.stage-corner.br{bottom:15px}
.stamp-wrap{filter:drop-shadow(0 3px 5px #2a235d25)}.preview-foot{height:47px;min-height:47px;padding:0 25px 12px}.compare-switch button{font-size:10px;min-height:28px;padding:6px 13px}.compare-switch button.active{background:#eeecfa;color:var(--ink)}
.controls-panel{grid-column:2;grid-row:1;min-height:0;height:calc(100dvh - 180px);max-height:none;min-height:690px;border-color:var(--line);background:#ffffff88;border-radius:5px}
.panel-scroll{max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#dcd8ee transparent}
.recipe-section{padding:20px 20px 12px;border-bottom:1px solid var(--line)}
.recipe-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.recipe-heading h2{font:700 12px monospace;letter-spacing:.5px;margin:0}.panel-reset{color:var(--ink);font-size:10px}
.controls-panel .preset-strip{display:flex;flex-direction:column;gap:5px;width:100%;height:auto;max-width:none;padding:0;margin:0;overflow:visible}
.controls-panel .preset-label{display:none}
.controls-panel .quick-palette,.controls-panel #surpriseBtn{width:100%;max-width:none;min-width:0;min-height:41px;height:41px;flex:none;justify-content:flex-start;padding:7px 14px;margin:0;border-color:var(--line);background:transparent;color:var(--ink);font-size:11px;border-radius:4px;gap:22px}
.controls-panel .quick-palette:after,.controls-panel #surpriseBtn:after{content:"›";margin-left:auto;font-size:19px;font-weight:300}
.controls-panel .quick-palette.active{background:#fff0f6;border-color:var(--accent);color:var(--accent)}
.controls-panel #surpriseBtn .icon{width:30px;height:24px;margin:0 6px}.quick-dots{width:59px;flex:none}.quick-dots i{width:21px;height:21px}
.tab-panel{padding:19px 20px 0}.section-heading{margin-bottom:13px}.section-heading h2{font-size:12px}
.ink-editors{gap:9px;max-width:none}.ink-editor{min-height:57px;padding:7px 5px;border-color:var(--line);gap:5px;flex-wrap:wrap}.ink-editor input[type=color]{width:35px;height:35px}.ink-editor>span{display:none}.ink-eye{color:var(--muted)}
#panel-inks>.section-rule{display:none}.field-label{margin-top:23px;margin-bottom:11px}.field-label,.range-head label{font-size:12px}
.select-wrap select,.text-input{color:var(--ink);border-color:var(--line);background:transparent;box-shadow:none}.select-wrap>.icon{color:var(--ink)}
.field-help{color:var(--muted);font-size:10px;line-height:1.6;margin-bottom:15px}
.range-field{margin:20px 0}.range-head{margin-bottom:13px}.range-number{color:var(--muted);border-color:var(--line);padding:5px}.range-number input{color:var(--ink)}
.range-input{height:5px;background:linear-gradient(to right,#8a80cf 0%,#8a80cf var(--value,50%),#edecf3 var(--value,50%),#edecf3 100%)}
.range-input::-webkit-slider-thumb{background:#8a80cf;width:17px;height:17px}.range-input::-moz-range-thumb{background:#8a80cf;width:17px;height:17px}
.tool-fold{margin:0 20px;border-top:1px solid var(--line)}
.tool-fold>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:17px 0;font:700 11px monospace;letter-spacing:.5px}
.tool-fold>summary::-webkit-details-marker{display:none}.tool-fold>summary:after{content:"⌄";font:16px sans-serif;color:var(--muted)}
.tool-fold[open]>summary:after{transform:rotate(180deg)}.tool-fold .tab-panel{padding:3px 0 15px}.tool-fold .section-heading{display:none}
.tool-fold .source-row{border:0;min-height:62px}.source-details strong{color:var(--ink)}.source-details>span{color:var(--muted)}
.tool-fold .examples-row{display:block;height:auto;margin:8px 0 20px;padding:0}.tool-fold .examples-label{display:none}.tool-fold .example-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%;overflow:visible}.tool-fold .example-button{min-width:0;flex-direction:row;gap:7px;padding:6px;justify-content:flex-start}.tool-fold .example-button img{width:34px;min-width:34px;height:39px}.tool-fold .example-button>span{display:block;font-size:9px}.tool-fold .example-button small{font-size:6px}
.more-palettes{border:0;padding:0;margin:0 0 15px}.more-palettes summary{display:none}.palette-grid{gap:7px}.palette{transform:none;min-height:63px}
.recipe-files{display:flex;gap:10px;padding:0 0 17px}.recipe-files button{flex:1;justify-content:center;border:1px solid var(--line);border-radius:3px;padding:9px 4px;font-size:10px}
.export-area{padding:12px 20px 17px;border-top:1px solid var(--line);flex:none;background:#fff}.export-meta{color:var(--muted);font-size:8px;margin-bottom:8px}.export-button{background:#d8f039;border-color:#d8f039;color:var(--ink);font-weight:650;height:53px;border-radius:4px}.export-button:hover:not(:disabled){background:#cce629;border-color:#cce629;color:var(--ink)}.export-note{font-size:9px;color:var(--muted);margin-top:10px}
.bottom-bar{margin:0;min-height:70px;padding:24px 0;display:flex;justify-content:space-between;border:0;color:var(--muted);font:9px/1.6 monospace;letter-spacing:.6px}
.bottom-bar .footer-message{text-align:right}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 370px}.preview-column,.controls-panel{height:calc(100dvh - 180px)}.panel-scroll{max-height:none}}
@media(max-width:1100px) and (min-width:761px){.app-shell{padding:0 25px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:15px}.preview-head{padding:0 18px}.recipe-section{padding:18px 16px 12px}.tab-panel{padding:18px 16px 0}.tool-fold{margin:0 16px}.export-area{padding:12px 16px 17px}.live-label{font-size:9px}}
@media(max-width:760px){.app-shell{padding:0 15px}.topbar{height:77px}.brand{font-size:34px}.brand-label{display:none}.workspace{display:flex;flex-direction:column;gap:15px;padding:0}.preview-column{width:100%;height:540px;min-height:0}.preview-card{height:100%;min-height:0}.preview-head{height:53px;min-height:53px;padding:0 15px}.live-label{font-size:9px}.controls-panel{width:100%;height:auto;min-height:0;max-height:none}.panel-scroll{overflow:visible}.bottom-bar{flex-direction:row;font-size:8px;align-items:start}.header-right{gap:15px}.privacy{display:none}}
/* Home: a moving wall of prints behind a fixed wordmark. */
:root{--brand-purple:#2825a7;--brand-lime:#d8f039;--brand-lime-hover:#cce629;--home-paper:#f7f4ec}
.export-button{background:var(--brand-lime);border-color:var(--brand-lime)}
.export-button:hover:not(:disabled){background:var(--brand-lime-hover);border-color:var(--brand-lime-hover)}
body.home-active{overflow:hidden;background:var(--home-paper)}
body.home-active:before{display:none}
body.home-active>.app-shell{visibility:hidden}
body.home-active>.toast{display:none}
.home-page{position:fixed;inset:0;background:var(--home-paper);z-index:50;overflow:hidden;isolation:isolate}
.home-page:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.065;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237a705f' filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.home-page[hidden]{display:none}
.home-gallery{--gallery-gap:clamp(20px,3vw,48px);position:absolute;inset:0 5vw;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gallery-gap);overflow:hidden;opacity:.7}
.home-column{min-width:0;align-self:start;animation:home-rise var(--speed,65s) linear infinite;will-change:transform}
.home-sequence{display:flex;flex-direction:column;gap:var(--gallery-gap);padding:0 0 var(--gallery-gap)}
.home-card{margin:0;width:100%;align-self:stretch;transform:none}
.home-card img{display:block;width:100%;height:auto;border-radius:1px;box-shadow:0 4px 16px #655b4214}
.home-column:nth-child(2){--speed:78s}
.home-column:nth-child(3){--speed:61s}
.home-page:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--home-paper),#f7f4ec00 18%,#f7f4ec00 82%,var(--home-paper));z-index:1}
.home-foreground{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;pointer-events:none}
.home-foreground:before{content:"";position:absolute;inset:-60px;background:radial-gradient(ellipse max(340px,43vw) 265px at 50% 50%,var(--home-paper) 0%,#f7f4ecfc 38%,#f7f4eceb 50%,#f7f4ecbf 62%,#f7f4ec6b 76%,#f7f4ec1f 90%,#f7f4ec00 110%);filter:blur(28px);pointer-events:none}
.home-logo{position:relative;margin:0;font-family:"Arial Black","Inter",Arial,sans-serif;font-size:clamp(64px,9vw,144px);font-weight:950;line-height:1;letter-spacing:-.065em;color:var(--brand-purple);text-shadow:none;pointer-events:auto;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='ink'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .12 0 0 0 .88'/%3E%3C/filter%3E%3Cpath d='M0 0h180v180H0z' filter='url(%23ink)'/%3E%3C/svg%3E")}
.home-logo span{color:#ff2983}
.home-start{position:relative;pointer-events:auto;border:0;border-radius:4px;background:var(--brand-lime);color:var(--brand-purple);min-height:58px;padding:18px 28px;display:flex;align-items:center;gap:18px;font-weight:750;font-size:16px;box-shadow:none}
.home-start:disabled{opacity:1;cursor:wait}
body.home-entering>.app-shell{visibility:visible;pointer-events:none}
body.home-entering #stampWrap{opacity:0}
.home-flight{position:fixed;z-index:60;pointer-events:none;transform-origin:center;will-change:left,top,width,height;perspective:1400px;filter:drop-shadow(0 9px 16px #655b4220)}
.flight-paper{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:center}
.flight-paper>img{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(.4px)}
.flight-back{position:absolute;inset:1.5% 3.4% 2.4%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg) translateZ(.4px);background-color:#f3edda;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0h100v100H0z' opacity='.15' filter='url(%23n)'/%3E%3C/svg%3E");mask:radial-gradient(circle at 6px 0,transparent 3px,#000 3.7px) 0 0/12px 51% repeat-x,radial-gradient(circle at 6px 100%,transparent 3px,#000 3.7px) 0 100%/12px 51% repeat-x;border:1px solid #d6cdb7;box-shadow:inset 0 0 30px #b6a77c18}
.home-flight img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.home-flight .flight-canvas{opacity:0}
.flight-back{inset:0;border:0;mask-image:var(--stamp-silhouette);-webkit-mask-image:var(--stamp-silhouette);mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}
.home-start small{font-size:13px;font-weight:500}
.home-start:hover{background:var(--brand-lime-hover);transform:translateY(-2px)}
.home-start:focus-visible{outline:2px solid var(--brand-purple);outline-offset:6px}
.topbar .brand[role=button]{cursor:pointer}
@keyframes home-rise{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@media(max-width:600px){.home-gallery{--gallery-gap:14px;inset:0 -12vw;grid-template-columns:repeat(4,minmax(0,1fr))}.home-foreground{gap:26px}.home-start{font-size:14px;min-height:53px;padding:16px 23px;gap:12px}}
@media(prefers-reduced-motion:reduce){.home-column{animation:none;transform:translateY(-15%)}}
.preview-upload{display:flex;align-items:center;gap:9px;background:#d8f039;color:#2825a7;border:1px solid #d8f039;border-radius:4px;min-height:38px;padding:9px 17px;font-weight:800;font-size:12px;box-shadow:0 2px 8px #2825a712}
.preview-upload:hover{background:#cce629}.compare-switch .preview-upload{min-height:42px;padding:10px 20px;font-size:13px}.compare-switch .preview-upload .icon{display:block;width:18px;height:18px}
.compare-switch{border:0;gap:12px}.compare-switch .compare-toggle{background:transparent;color:var(--muted);font-size:10px;padding:8px 4px}
.preview-foot{min-height:65px;height:65px;padding-bottom:17px}
.section-heading h2,.recipe-heading h2,.field-label,.range-head label,.tool-fold>summary{font-family:Impact,"Arial Black","PingFang SC","Microsoft YaHei",sans-serif;font-weight:900;letter-spacing:.7px}

/* Shared modern RISO brand. UI stays light; ink texture belongs to the prints. */
:root{--riso-blue:#1F5C99;--riso-pink:#E94B6A;--riso-orange:#F26B38;--paper-white:#FAFAF6;--pure-white:#FFFFFF;--page:var(--pure-white);--surface:var(--pure-white);--ink:var(--riso-blue);--navy:var(--riso-blue);--blue:var(--riso-blue);--muted:#607f9b;--line:rgba(31,92,153,.32);--accent:var(--riso-pink);--green:var(--riso-blue);--brand-purple:var(--riso-blue);--brand-pink:var(--riso-pink);--brand-lime:var(--riso-orange);--brand-lime-hover:#df582b;--home-paper:var(--paper-white);--ui-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif}
body,button,input,select,textarea{font-family:var(--ui-font)}
body{background:var(--pure-white)}body:before{opacity:.012}
.brand,.home-logo{color:var(--riso-blue);text-shadow:none}.brand-period,.home-logo span{color:var(--riso-pink)}
.brand{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='ink'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 .12 0 0 0 .88'/%3E%3C/filter%3E%3Cpath d='M0 0h180v180H0z' filter='url(%23ink)'/%3E%3C/svg%3E")}
.section-heading h2,.recipe-heading h2,.field-label,.range-head label,.tool-fold>summary{font-family:var(--ui-font);font-weight:700;letter-spacing:.3px}
.preview-card,.controls-panel{background:var(--pure-white);border-color:var(--line)}
.preview-column,.controls-panel{min-height:0;height:calc(100dvh - 180px)}
.stage{background:var(--paper-white)}.stage-corner{border-color:rgba(31,92,153,.4)}
.panel-scroll{scrollbar-color:#c4d3e2 transparent}
.select-wrap select,.text-input,.range-number,.outline-button,.ink-editor,.palette,.quick-palette{border-color:var(--line)}
.controls-panel .quick-palette.active{background:#e94b6a08;border-color:var(--riso-pink);color:var(--riso-pink)}
.range-input{background:linear-gradient(to right,var(--riso-blue) 0%,var(--riso-blue) var(--value,50%),#e5ebf1 var(--value,50%),#e5ebf1 100%)}
.range-input::-webkit-slider-thumb{background:var(--riso-blue)}
.range-input::-moz-range-thumb{background:var(--riso-blue)}
.home-start,.export-button,.primary{background:var(--riso-orange);border-color:var(--riso-orange);color:white;box-shadow:none;text-shadow:none}
.home-start:hover,.export-button:hover:not(:disabled),.primary:hover:not(:disabled){background:#df582b;border-color:#df582b;color:white}
.home-start{border-radius:5px;font-family:var(--ui-font);font-size:18px;min-height:58px;padding:17px 30px}
.preview-upload{background:white;border-color:var(--line);color:var(--riso-blue);box-shadow:none;font-weight:650}.preview-upload:hover{background:#1f5c9908}
.export-button{font-weight:750;font-size:14px;height:53px}.export-area{background:white}
.home-gallery{opacity:1;--gallery-gap:clamp(20px,2.6vw,42px)}
.home-card[data-kind="原图"] img{opacity:.74}
.home-card[data-kind="成品"] img{opacity:.84}
.home-card[data-kind="原图"],.home-card[data-kind="成品"],.home-column:nth-child(even) .home-card[data-kind]{width:100%;align-self:stretch;transform:none}
.home-card img{box-shadow:none}.home-page:before{opacity:.018}
.home-page:after{background:linear-gradient(#fafaf64d,#fafaf600 7%,#fafaf600 93%,#fafaf64d)}
.home-foreground:before{inset:0;background:radial-gradient(ellipse max(250px,31vw) 180px at 50% 50%,rgba(250,248,240,.72) 0%,rgba(250,248,240,.42) 48%,rgba(250,248,240,0) 100%);filter:blur(18px)}
.home-logo{--home-logo-blue:#0087C9;font-size:clamp(64px,9vw,144px);color:var(--home-logo-blue);background-color:var(--home-logo-blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='ink'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 .3725 0 0 0 0 .6588 5 0 0 0 -2.4'/%3E%3C/filter%3E%3Cpath d='M0 0h160v160H0z' filter='url(%23ink)' opacity='.3'/%3E%3C/svg%3E");background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;mask-image:none}
.home-logo span{background:none;color:var(--riso-pink);-webkit-text-fill-color:var(--riso-pink)}
:focus-visible{outline:2px solid var(--riso-blue);outline-offset:3px}
@media(max-width:760px){.preview-column{height:560px}.controls-panel{height:auto}.home-logo{font-size:clamp(60px,14vw,90px)}.home-start{font-size:16px}.home-gallery{--gallery-gap:18px}}
/* Mobile wordmark keeps its native glyph proportions; desktop is unchanged. */
@media(max-width:600px){
  .home-foreground{gap:28px}
  .home-logo{display:block;flex:0 0 auto;align-self:center;width:max-content;max-width:86vw;font-size:clamp(56px,16vw,82px);font-weight:900;font-stretch:normal;font-variation-settings:normal;font-synthesis:none;line-height:.9;letter-spacing:-.05em;text-align:center;white-space:nowrap;transform:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='ink'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 .3725 0 0 0 0 .6588 5 0 0 0 -2.4'/%3E%3C/filter%3E%3Cpath d='M0 0h160v160H0z' filter='url(%23ink)' opacity='.14'/%3E%3C/svg%3E")}
  .home-start{flex:0 0 auto;align-self:center;width:280px;max-width:80vw;height:60px;min-height:60px;padding:0 22px;border-radius:14px;font-size:18px;font-weight:700;justify-content:center;gap:14px;white-space:nowrap}
}
@media(min-width:761px) and (max-height:760px){.topbar{height:82px}.preview-column,.controls-panel{height:calc(100dvh - 142px)}.bottom-bar{min-height:60px;padding:18px 0}.preview-head{height:54px;min-height:54px}}


/* Studio-only material system: light paper, translucent tools and restrained ink texture. */
body:not(.home-active) .controls-panel{background:rgba(255,255,253,.94);border-color:rgba(31,92,153,.24);box-shadow:0 12px 34px rgba(43,37,35,.06)}
body:not(.home-active) .panel-scroll{padding:12px 12px 18px;background:linear-gradient(180deg,rgba(250,250,246,.7),rgba(255,255,255,.96))}
body:not(.home-active) .photo-setup,
body:not(.home-active) .postal-label-tool,
body:not(.home-active) .recipe-section{position:relative;margin:0 0 12px;border:1px solid rgba(31,92,153,.2);border-radius:14px}
body:not(.home-active) .photo-setup{padding:15px;background:rgba(231,243,247,.56);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px rgba(255,255,255,.8)}
body:not(.home-active) .photo-setup h2{color:var(--riso-blue);letter-spacing:.08em}
body:not(.home-active) .photo-upload,
body:not(.home-active) .sheet-start button,
body:not(.home-active) .photo-slot{border-radius:999px;border-color:rgba(31,92,153,.28);background:rgba(255,255,255,.72)}
body:not(.home-active) .photo-slot{border-radius:10px}
body:not(.home-active) .recipe-section{padding:16px 14px 13px;background:#fff;box-shadow:0 5px 16px rgba(43,37,35,.045)}
body:not(.home-active) .recipe-section:after{content:"";position:absolute;left:8px;right:8px;bottom:-4px;height:7px;background:radial-gradient(circle at 4px 0,transparent 4px,#fff 4.5px) 0 0/12px 7px repeat-x;pointer-events:none}
body:not(.home-active) .recipe-heading h2,
body:not(.home-active) .postal-label-tool h2{color:var(--riso-blue);font-size:11px;letter-spacing:.11em}
body:not(.home-active) .controls-panel .quick-palette,body:not(.home-active) .studio-float-panel .quick-palette{background:#fff;border-style:dashed;border-color:rgba(31,92,153,.27)}
body:not(.home-active) .controls-panel .quick-palette.active,body:not(.home-active) .studio-float-panel .quick-palette.active{border-style:solid;border-color:var(--riso-pink);background:linear-gradient(transparent 55%,rgba(233,75,106,.12) 55%)}
body:not(.home-active) .controls-panel #surpriseBtn,body:not(.home-active) .studio-float-panel #surpriseBtn{min-height:48px;border:0;border-radius:45% 55% 48% 52%/53% 45% 55% 47%;background:#e96a7d;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.35),0 4px 0 rgba(134,38,57,.13),0 7px 15px rgba(43,37,35,.08);font-weight:750;letter-spacing:.04em}
body:not(.home-active) .controls-panel #surpriseBtn:hover,body:not(.home-active) .studio-float-panel #surpriseBtn:hover{transform:translateY(-1px) rotate(-.35deg)}
body:not(.home-active) .controls-panel #surpriseBtn:active,body:not(.home-active) .studio-float-panel #surpriseBtn:active{transform:translateY(2px) scale(.985);box-shadow:inset 0 1px 3px rgba(43,37,35,.13)}
body:not(.home-active) .postal-label-tool{padding:16px;background:#fffdf8;border-left:4px solid rgba(242,107,56,.7);box-shadow:0 4px 14px rgba(43,37,35,.04)}
body:not(.home-active) .postal-label-tool .section-rule{border-color:rgba(31,92,153,.14)}
body:not(.home-active) .postal-label-tool input{background:rgba(255,255,255,.86)}
body:not(.home-active) .tool-fold{margin:0 0 10px;border:1px solid rgba(31,92,153,.18);border-radius:12px;background:#fff;overflow:hidden}
body:not(.home-active) .tool-fold>summary{min-height:48px;padding:0 14px;display:flex;align-items:center;color:var(--riso-blue);font-size:11px;font-weight:800;letter-spacing:.09em;cursor:pointer;list-style:none}
body:not(.home-active) .tool-fold>summary::-webkit-details-marker{display:none}
body:not(.home-active) .tool-fold>summary:after{content:"+";margin-left:auto;font-size:18px;font-weight:400}
body:not(.home-active) .tool-fold[open]>summary:after{content:"−"}
body:not(.home-active) .tool-fold.print-lab{background:#f7f9f6;border-color:rgba(43,37,35,.16)}
body:not(.home-active) .tool-fold.print-lab[open]{box-shadow:inset 3px 0 var(--riso-blue)}
body:not(.home-active) .tool-fold.print-lab .tab-panel{background:transparent}
body:not(.home-active) .export-area{border-top:1px solid rgba(31,92,153,.18);background:#fff;padding-top:14px}
body:not(.home-active) .export-button{background:var(--riso-orange);color:#fff;border-radius:11px;box-shadow:0 5px 14px rgba(242,107,56,.19)}
body:not(.home-active) .export-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(242,107,56,.24)}
body:not(.home-active) .toast{border:1px solid rgba(31,92,153,.2);border-radius:5px 13px 7px 11px;background:#fff8b8;color:var(--ink);box-shadow:0 8px 22px rgba(43,37,35,.12);transform:rotate(-.35deg)}
@media(max-width:900px){body:not(.home-active) .panel-scroll{padding:10px}body:not(.home-active) .photo-setup,body:not(.home-active) .postal-label-tool,body:not(.home-active) .recipe-section{margin-bottom:10px}body:not(.home-active) .postal-label-tool{padding:14px}}
@media(prefers-reduced-motion:reduce){body:not(.home-active) .controls-panel #surpriseBtn,body:not(.home-active) .export-button{transition:none}}
/* Preview-first Studio shell. Existing wired controls are moved into transient panels by JS. */
body:not(.home-active){overflow:hidden;background:var(--paper-white)}
body:not(.home-active) .app-shell{max-width:none;padding:0 28px 18px}
body:not(.home-active) .workspace{display:block;position:relative;min-height:0}
body:not(.home-active) .preview-column{width:min(1120px,calc(100vw - 56px));height:calc(100dvh - 126px);min-height:560px;margin:0 auto}
body:not(.home-active) .preview-panel{height:100%;border-color:rgba(31,92,153,.2);box-shadow:0 15px 42px rgba(31,92,153,.055)}
body:not(.home-active) .stage{min-height:0}
body:not(.home-active) .controls-panel,body:not(.home-active) .bottom-bar{display:none!important}
.studio-tool-dock{position:fixed;z-index:32;left:50%;bottom:18px;display:flex;align-items:center;gap:5px;padding:6px;border:1px solid rgba(31,92,153,.2);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(43,37,35,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateX(-50%)}
.studio-tool-button{appearance:none;min-width:72px;height:48px;padding:0 10px;border:0;border-radius:13px;background:transparent;color:var(--riso-blue);font:700 10px/1 var(--ui);letter-spacing:.04em;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.studio-tool-button .tool-glyph{display:block;height:17px;margin-bottom:5px;font:800 15px/17px Georgia,serif;letter-spacing:0}
.studio-tool-button:hover{background:rgba(31,92,153,.07)}
.studio-tool-button[aria-expanded="true"]{background:var(--riso-blue);color:#fff}
.studio-tool-button[data-tool="export"]{background:var(--riso-orange);color:#fff}
.studio-tool-button:active{transform:translateY(1px)}
.studio-float-panel{position:fixed;z-index:31;right:24px;top:98px;width:min(350px,calc(100vw - 48px));max-height:calc(100dvh - 190px);overflow:auto;padding:0;border:1px solid rgba(31,92,153,.2);border-radius:16px;background:rgba(255,255,253,.97);box-shadow:0 18px 50px rgba(43,37,35,.14);overscroll-behavior:contain;animation:tool-panel-in .2s ease-out}
.studio-float-panel[hidden]{display:none}
.studio-float-panel[data-tool-panel="photo"]{left:24px;right:auto}
.studio-float-panel[data-tool-panel="text"],.studio-float-panel[data-tool-panel="export"]{top:auto;bottom:84px}
.studio-float-panel-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;min-height:49px;padding:0 12px 0 16px;border-bottom:1px solid rgba(31,92,153,.13);background:rgba(255,255,253,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.studio-float-panel-head strong{color:var(--riso-blue);font-size:11px;letter-spacing:.1em}
.studio-panel-close{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--riso-blue);font-size:22px;line-height:1;cursor:pointer}
.studio-panel-close:hover{background:rgba(31,92,153,.07)}
.studio-panel-content{padding:12px}
.studio-panel-content>.photo-setup,.studio-panel-content>.recipe-section,.studio-panel-content>.postal-label-tool,.studio-panel-content>.tool-fold{margin:0 0 10px}
.studio-panel-content>#panel-inks{display:block!important;padding:14px 12px!important}
.studio-panel-content>.export-area{display:block;padding:14px 4px 4px}
@keyframes tool-panel-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:900px){
 body:not(.home-active){overflow:hidden}
 body:not(.home-active) .topbar{height:62px;padding:0 4px}
 body:not(.home-active) .header-right{gap:12px}
 body:not(.home-active) .header-link{display:none}
 body:not(.home-active) .app-shell{padding:0 10px 76px}
 body:not(.home-active) .preview-column{width:100%;height:calc(100dvh - 78px);min-height:0;margin:0}
 body:not(.home-active) .preview-panel{height:100%;border-radius:12px}
 body:not(.home-active) .preview-head{min-height:42px;padding:0 12px}
 body:not(.home-active) .stage{padding:8px}
 body:not(.home-active) #stampWrap{max-width:min(86vw,430px);max-height:calc(100dvh - 205px)}
 body:not(.home-active) .preview-foot{min-height:44px;padding:0 9px}
 .studio-tool-dock{left:8px;right:8px;bottom:8px;width:auto;justify-content:space-between;gap:2px;padding:5px;border-radius:16px;transform:none}
 .studio-tool-button{min-width:0;flex:1;height:49px;padding:0 3px;font-size:9px}
 .studio-tool-button .tool-glyph{margin-bottom:4px;font-size:14px}
 .studio-float-panel,.studio-float-panel[data-tool-panel]{left:8px;right:8px;top:auto;bottom:70px;width:auto;max-height:52dvh;border-radius:16px 16px 12px 12px;animation:tool-sheet-in .24s cubic-bezier(.22,.8,.3,1)}
 .studio-float-panel-head{min-height:46px}
 .studio-panel-content{padding:10px}
}
@media(max-width:430px){body:not(.home-active) .brand{font-size:27px}.studio-tool-button{font-size:8px}.studio-tool-button .tool-glyph{font-size:13px}}
@keyframes tool-sheet-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.studio-float-panel{animation-duration:.01ms}}
/* Physical tool-tray finish: tactile without becoming heavy or toy-like. */
.studio-tool-dock{isolation:isolate;gap:8px;padding:9px 11px;border-color:rgba(31,92,153,.22);border-radius:22px;background:rgba(250,250,246,.92);box-shadow:0 16px 36px rgba(43,37,35,.13),0 2px 5px rgba(43,37,35,.08),inset 0 1px rgba(255,255,255,.95)}
.studio-tool-dock:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.5'/%3E%3C/svg%3E")}
.studio-tool-button{position:relative;min-width:78px;height:55px;padding:6px 10px 5px;border:1px solid rgba(31,92,153,.2);border-radius:10px;background:#fffefa;color:var(--riso-blue);box-shadow:0 3px 7px rgba(43,37,35,.09),inset 0 1px rgba(255,255,255,.9);text-shadow:.25px .15px rgba(31,92,153,.15);transform:rotate(var(--tool-tilt,0deg))}
.studio-tool-button:nth-child(1){--tool-tilt:-.45deg}.studio-tool-button:nth-child(2){--tool-tilt:.35deg}.studio-tool-button:nth-child(3){--tool-tilt:-.2deg}.studio-tool-button:nth-child(4){--tool-tilt:.5deg}.studio-tool-button:nth-child(5){--tool-tilt:-.35deg}
.studio-tool-button:hover{background:#fff;box-shadow:0 5px 10px rgba(43,37,35,.12),inset 0 1px rgba(255,255,255,.95);transform:translateY(-2px) rotate(var(--tool-tilt,0deg))}
.studio-tool-button[aria-expanded="true"]{background:#fffefa;color:var(--riso-blue);border-color:var(--riso-pink);box-shadow:0 5px 12px rgba(43,37,35,.11),inset 0 -3px rgba(233,75,106,.13)}
.studio-tool-button[aria-expanded="true"]:after{content:"";position:absolute;right:7px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--riso-pink)}
.studio-tool-button .tool-glyph{position:relative;width:25px;height:21px;margin:0 auto 4px;font-size:0;color:var(--riso-blue)}
.studio-tool-button .tool-glyph:before,.studio-tool-button .tool-glyph:after{content:"";position:absolute;box-sizing:border-box}
/* Photo: a small print held by a clip. */
.studio-tool-button[data-tool="photo"] .tool-glyph:before{inset:3px 2px 0;border:1.5px solid currentColor;border-radius:2px;background:linear-gradient(145deg,transparent 52%,rgba(31,92,153,.15) 53%)}
.studio-tool-button[data-tool="photo"] .tool-glyph:after{left:9px;top:0;width:8px;height:5px;border:1.5px solid currentColor;border-radius:3px 3px 1px 1px;background:#fffefa}
/* Recipes: a narrow receipt with a lightly torn edge. */
.studio-tool-button[data-tool="recipes"]{border-radius:7px 7px 10px 8px}
.studio-tool-button[data-tool="recipes"] .tool-glyph:before{inset:1px 5px 0;border:1.5px solid currentColor;background:repeating-linear-gradient(to bottom,transparent 0 4px,rgba(31,92,153,.2) 4px 5px)}
.studio-tool-button[data-tool="recipes"] .tool-glyph:after{left:5px;right:5px;bottom:-1px;height:3px;background:radial-gradient(circle at 2px 0,transparent 2px,currentColor 2.3px) 0 0/6px 3px repeat-x;opacity:.45}
/* Inks: three overlapping ink pads. */
.studio-tool-button[data-tool="inks"] .tool-glyph:before{left:1px;top:3px;width:16px;height:16px;border:1.5px solid currentColor;border-radius:50%;background:rgba(31,92,153,.12);box-shadow:7px 0 0 -1px rgba(233,75,106,.76),13px 0 0 -2px rgba(242,107,56,.75)}
/* Text: postal counter label. */
.studio-tool-button[data-tool="text"] .tool-glyph:before{inset:3px 1px 1px;border:1.5px solid currentColor;border-radius:2px;background:#fffefa}
.studio-tool-button[data-tool="text"] .tool-glyph:after{content:"T";left:8px;top:1px;font:800 14px/20px Georgia,serif;color:currentColor}
/* Print: a compact hand stamp. */
.studio-tool-button[data-tool="print"] .tool-glyph:before{left:7px;top:0;width:12px;height:12px;border:1.5px solid currentColor;border-radius:6px 6px 3px 3px;background:#fffefa}
.studio-tool-button[data-tool="print"] .tool-glyph:after{left:3px;right:2px;bottom:0;height:7px;border:1.5px solid currentColor;border-radius:5px 5px 2px 2px;background:rgba(31,92,153,.08)}
.studio-tool-button[data-tool="export"]{border-color:#d94f26;border-radius:8px 8px 11px 9px;background:var(--riso-orange);color:#fff;box-shadow:0 5px 10px rgba(242,107,56,.25)}
.studio-tool-button[data-tool="export"] .tool-glyph{color:#fff}
.studio-tool-button[data-tool="export"] .tool-glyph:before{left:4px;right:4px;top:4px;height:13px;border:1.5px solid currentColor;border-radius:2px}
.studio-tool-button[data-tool="export"] .tool-glyph:after{left:10px;top:0;width:6px;height:13px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg)}
.studio-tool-button[data-tool="export"]:hover,.studio-tool-button[data-tool="export"][aria-expanded="true"]{background:#e95d31;color:#fff;border-color:#d94f26}
.studio-float-panel{border-color:rgba(31,92,153,.18);border-radius:10px 16px 12px 15px;background:#fffefb;box-shadow:0 22px 52px rgba(43,37,35,.15),0 3px 8px rgba(43,37,35,.06);transform:rotate(var(--panel-tilt,.35deg));transform-origin:top right}
.studio-float-panel:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.studio-float-panel[data-tool-panel="photo"],.studio-float-panel[data-tool-panel="print"]{--panel-tilt:-.45deg}.studio-float-panel[data-tool-panel="text"]{--panel-tilt:.55deg}
.studio-float-panel-head{background:rgba(255,254,250,.95);border-bottom-style:dashed}
/* Keep imported photos and every slot inside the Photo sheet. */
.studio-float-panel[data-tool-panel="photo"] .studio-panel-content,.studio-float-panel[data-tool-panel="photo"] .photo-setup,.studio-float-panel[data-tool-panel="photo"] .photo-toolbox{min-width:0;max-width:100%;overflow-x:hidden}
.studio-float-panel[data-tool-panel="photo"] #photoSlotList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;max-width:100%}
.studio-float-panel[data-tool-panel="photo"] .photo-slot{min-width:0;max-width:100%;overflow:hidden}
.studio-float-panel[data-tool-panel="photo"] .photo-slot button{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;max-width:100%;min-width:0;overflow:hidden}
.studio-float-panel[data-tool-panel="photo"] .photo-slot img{display:block;width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;object-fit:cover;flex:0 0 38px}
.studio-float-panel[data-tool-panel="photo"] .source-row,.studio-float-panel[data-tool-panel="photo"] .examples-row{max-width:100%;overflow:hidden}
.studio-float-panel[data-tool-panel="photo"] #sourceThumb{width:38px!important;height:38px!important;max-width:38px;object-fit:cover;flex:0 0 38px}
@media(max-width:900px){
 .studio-tool-dock{gap:4px;padding:6px 7px;border-radius:18px}
 .studio-tool-button{height:52px;padding:5px 2px;border-radius:9px;box-shadow:0 2px 5px rgba(43,37,35,.09)}
 .studio-tool-button .tool-glyph{transform:scale(.88);margin-bottom:2px}
 .studio-float-panel{transform:none;border-radius:14px 14px 10px 10px}
 .studio-float-panel:before{position:absolute}
 .studio-float-panel[data-tool-panel="photo"] #photoSlotList{grid-template-columns:repeat(3,minmax(0,1fr))}
}

  .home-column{animation:home-rise var(--speed,65s) linear var(--delay,0s) infinite!important;transform:translateY(0);will-change:transform}
  .photo-setup{padding:16px 20px;border-bottom:1px solid var(--line)}.photo-setup h2{font-size:12px;margin:0 0 10px}.photo-setup p{font-size:11px;color:var(--muted)}.sheet-start{display:flex;gap:8px}.sheet-start button,.photo-upload{padding:9px 12px;border:1px solid var(--line);border-radius:5px}.sheet-start button[aria-pressed=true]{background:#1F5C99;color:white}.photo-upload{width:100%;margin-bottom:10px}#photoSlotList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.photo-slot{border:1px solid var(--line);border-radius:5px;overflow:hidden}.photo-slot button{width:100%;min-height:32px}.photo-slot button[aria-pressed=true]{background:#1f5c9918}.photo-slot img{width:40px;height:40px;object-fit:cover;vertical-align:middle}.home-card[data-kind="成品"]{pointer-events:auto;cursor:pointer}.home-card[data-kind="成品"]:focus-visible{outline:2px solid #F26B38}
  .home-flight{will-change:transform;transform-origin:top left;filter:drop-shadow(0 8px 10px #655b4230)}.flight-paper{will-change:transform}
  .studio-bridge{position:fixed;inset:0;width:100%;height:100%;border:0;z-index:40;opacity:0;background:white}
  .topbar,.controls-panel,.bottom-bar,.preview-head,.preview-foot{transition:opacity .42s ease-out,transform .42s ease-out}
  body.studio-handoff .topbar,body.studio-handoff .controls-panel,body.studio-handoff .bottom-bar,body.studio-handoff .preview-head,body.studio-handoff .preview-foot{opacity:0;pointer-events:none}
  body.studio-handoff .controls-panel{transform:translateX(10px)}
  body.studio-handoff #stampWrap{opacity:0}#stampWrap{transition:opacity .18s ease-out}
  @media(max-width:600px){.home-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.home-start{width:280px;height:60px;max-width:80vw}}
  @media(prefers-reduced-motion:reduce){.home-column{animation-name:home-rise!important;animation-timing-function:linear!important;animation-iteration-count:infinite!important;animation-duration:var(--speed,120s)!important}}
  