:root{--ink:#111;--paper:#f5f1e8;--orange:#ff6b2c;--muted:#727272;--green:#2ead68;--line:#d8d1c6;--panel:#fffdfa;--shadow:0 22px 60px rgba(20,17,13,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:72px;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,241,232,.94);backdrop-filter:blur(14px);position:sticky;top:0;z-index:50}.brand img{width:160px;display:block}.site-header nav{display:flex;gap:26px}.site-header nav a{color:#28231f;text-decoration:none;font-weight:760;font-size:14px}.menu-toggle{display:none;border:1px solid #aaa094;background:#fff;padding:9px 12px;border-radius:8px}.hero{max-width:1320px;margin:auto;padding:74px clamp(20px,5vw,70px);display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:60px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.15em;color:#b14518;margin:0 0 12px}.hero h1{font-size:clamp(46px,7vw,88px);line-height:.93;letter-spacing:-.065em;margin:0}.hero h1 span{color:var(--orange)}.hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.68;max-width:760px;color:#514a44}.hero-actions{display:flex;gap:12px;margin:26px 0}.primary,.secondary,.export-btn{border-radius:10px;padding:13px 18px;font-weight:850}.primary{background:var(--orange);border:1px solid var(--orange);color:white}.secondary{background:transparent;border:1px solid #8e857c;color:#211f1c}.trust-row{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#5e5750}.hero-card{background:#171512;border-radius:25px;padding:30px;min-height:470px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#e8dfd4}.paper{position:relative;width:min(100%,350px);aspect-ratio:3/4;background:#fdfaf2;box-shadow:0 15px 35px rgba(0,0,0,.28);overflow:hidden}.rose-shape{position:absolute;inset:18% 18%;border:22px solid #111;border-radius:46% 54% 51% 49%/40% 46% 54% 60%;transform:rotate(-15deg)}.rose-shape:before,.rose-shape:after{content:"";position:absolute;border:18px solid #111;border-radius:50%;inset:18%}.rose-shape:after{inset:36%}.bridge{position:absolute;background:#fdfaf2}.bridge-a{left:43%;top:23%;width:12%;height:36%}.bridge-b{left:31%;top:49%;width:39%;height:7%}.hero-card>span{margin-top:18px;font-size:13px;color:#c6bdb4}.editor-shell{max-width:1480px;margin:0 auto 70px;padding:0 clamp(10px,2vw,25px)}.editor-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.editor-heading h2,.section h2{font-size:clamp(32px,4vw,55px);letter-spacing:-.045em;margin:0}.privacy-chip{background:#e8f6ed;border:1px solid #a4d4b5;color:#17613a;padding:9px 13px;border-radius:99px;font-weight:750;font-size:12px}.editor-grid{display:grid;grid-template-columns:290px minmax(400px,1fr) 280px;gap:12px;align-items:start}.panel,.preview-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 36px rgba(33,26,20,.06)}.panel{padding:15px}.panel-section{padding:5px 0 16px;border-bottom:1px solid #e8e0d7;margin-bottom:15px}.panel-section:last-child{border-bottom:0;margin-bottom:0}.panel h3{font-size:14px;margin:0 0 11px}.dropzone{border:1.5px dashed #a79b8e;border-radius:12px;padding:20px 12px;text-align:center;display:block;background:#faf7f1}.dropzone.drag{border-color:var(--orange);background:#fff1e9}.dropzone input{display:none}.dropzone strong{display:block;font-size:13px}.dropzone span{font-size:10px;color:#7e746b;display:block;margin-top:4px}.sample-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.sample-buttons button,.history-row button,.preview-toolbar button,.examples button{border:1px solid #cbc2b8;background:#fff;border-radius:8px;padding:7px;font-size:11px}.image-meta{font-size:10px;color:#6f675f;margin-top:9px;line-height:1.5}.panel label{display:block;font-size:11px;font-weight:700;color:#504a44;margin:11px 0}.panel input[type=number],.panel select{width:100%;padding:9px;border:1px solid #cfc6bb;border-radius:8px;background:white}.panel input[type=range]{width:100%;accent-color:var(--orange)}.panel output{float:right;color:#b4491e}.control-group{border-bottom:1px solid #e8e0d7;padding-bottom:10px;margin-bottom:10px}.control-group summary{font-size:12px;font-weight:850;cursor:pointer;padding:8px 0}.check{display:flex!important;gap:8px;align-items:center}.check input{accent-color:var(--orange)}.help{font-size:10px;line-height:1.5;color:#7c736b}.history-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.history-row button:disabled{opacity:.4}.two-cols{display:grid;grid-template-columns:1fr .75fr;gap:8px}.document-summary{background:#181614;color:#f5f1e8;border-radius:10px;padding:13px;font-size:11px;line-height:1.55}.document-summary strong{display:block;color:#ff9c71}.export-btn{width:100%;border:1px solid #b8aea3;background:white;margin-bottom:8px;font-size:12px}.export-btn.primary{background:var(--orange);border-color:var(--orange)}.export-btn.muted{background:#eee8df}.resolution-box{border:1px solid #cfc6bb;border-radius:10px;padding:12px;background:#f9f5ef}.resolution-box span,.resolution-box small{display:block;font-size:10px;color:#746c64}.resolution-box strong{font-size:20px;display:block;margin:5px 0}.preview-panel{overflow:hidden}.preview-toolbar,.preview-footer{min-height:50px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.preview-footer{border-top:1px solid var(--line);border-bottom:0;font-size:10px;color:#6b645d}.segmented{display:flex;border:1px solid #c9c0b6;border-radius:9px;overflow:hidden}.segmented button{border:0;border-right:1px solid #c9c0b6;border-radius:0;background:white}.segmented button:last-child{border-right:0}.segmented button.active{background:#191613;color:white}.canvas-stage{height:680px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#ded9d0;background-image:linear-gradient(45deg,#cac5bc 25%,transparent 25%),linear-gradient(-45deg,#cac5bc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#cac5bc 75%),linear-gradient(-45deg,transparent 75%,#cac5bc 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.canvas-stage canvas{max-width:94%;max-height:94%;background:white;box-shadow:0 12px 30px rgba(0,0,0,.22);transform-origin:center}.empty-state{text-align:center;max-width:320px;padding:20px}.empty-icon{width:78px;height:78px;border:4px solid #1e1b18;margin:auto;display:grid;place-items:center;font-size:44px;font-weight:950;color:var(--orange);position:relative}.empty-state h3{font-size:20px;margin-bottom:5px}.empty-state p{font-size:13px;color:#6f675f}.processing{position:absolute;inset:0;background:rgba(245,241,232,.8);display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800}.processing span{width:22px;height:22px;border:3px solid #bbb;border-top-color:var(--orange);border-radius:50%;animation:spin .8s linear infinite}.split-handle{position:absolute;top:0;bottom:0;width:3px;background:var(--orange);left:50%;z-index:4}.layer-preview{display:flex;gap:5px;flex-wrap:wrap}.layer-preview i{width:25px;height:25px;border-radius:6px;border:1px solid #aaa}.section{max-width:1240px;margin:0 auto;padding:70px clamp(18px,5vw,60px)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.card-grid a{padding:25px;border:1px solid var(--line);background:#fffaf4;border-radius:14px;text-decoration:none;color:var(--ink);transition:.2s transform}.card-grid a:hover{transform:translateY(-4px)}.card-grid b{display:block;font-size:20px;margin-bottom:9px}.card-grid span{font-size:13px;color:#665f58;line-height:1.55}.example-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.example-grid article{border:1px solid var(--line);background:white;border-radius:14px;overflow:hidden;padding-bottom:16px}.example-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:white}.example-grid h3{font-size:14px;padding:0 15px}.example-grid button{margin-left:15px}.features{display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#171512;color:#f6eee5;max-width:1400px;border-radius:24px}.features p:not(.eyebrow){color:#bfb5aa;line-height:1.7}.features ul{list-style:none;margin:0;padding:0}.features li{padding:17px 0;border-bottom:1px solid #3b3732}.features b,.features span{display:block}.features span{color:#bfb5aa;font-size:13px;margin-top:5px}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq summary{font-weight:850;cursor:pointer}.faq p{color:#625b54;line-height:1.6}footer{margin-top:60px;background:#111;color:#e8ded3;padding:45px clamp(20px,5vw,70px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px}footer img{width:150px}footer p{font-size:12px;color:#aaa199}footer nav{display:flex;gap:16px}footer a{color:#f0e9e0;text-decoration:none;font-size:12px}footer small{grid-column:1/-1;color:#7e766e}.toast{position:fixed;right:20px;bottom:20px;background:#151310;color:white;padding:12px 16px;border-radius:10px;z-index:100;box-shadow:var(--shadow);font-size:12px}.toast.error{background:#8c251b}@keyframes spin{to{transform:rotate(360deg)}}
.content-page{max-width:1000px;margin:0 auto;padding:70px 24px}.content-page h1{font-size:clamp(42px,7vw,72px);letter-spacing:-.05em}.content-page h2{margin-top:45px}.content-page p,.content-page li{line-height:1.75;color:#5c554e}.content-cta{display:inline-block;background:var(--orange);color:white;text-decoration:none;padding:13px 17px;border-radius:9px;font-weight:800}
@media(max-width:1180px){.editor-grid{grid-template-columns:260px 1fr}.export-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.canvas-stage{height:590px}.hero{grid-template-columns:1fr 420px}.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header nav{display:none;position:absolute;top:72px;left:10px;right:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:45px}.hero-card{display:none}.editor-heading{align-items:start}.editor-grid{display:flex;flex-direction:column}.preview-panel{order:-1;width:100%}.controls-panel,.export-panel{width:100%;display:block}.canvas-stage{height:62vh;min-height:430px}.card-grid{grid-template-columns:1fr}.example-grid{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr;border-radius:0}.preview-toolbar{flex-wrap:wrap;gap:7px}.segmented button{font-size:10px}.site-header{height:64px}.site-header nav{top:64px}.brand img{width:145px}footer{grid-template-columns:1fr}footer nav{grid-column:1}.hero h1{font-size:52px}}
@media(max-width:520px){.hero{padding-left:16px;padding-right:16px}.hero-actions{flex-direction:column}.example-grid{grid-template-columns:1fr}.canvas-stage{height:520px}.editor-shell{padding:0}.editor-heading{padding:0 12px}.preview-panel,.panel{border-radius:0}.preview-footer{flex-wrap:wrap;gap:5px}.section{padding-left:16px;padding-right:16px}.site-header{padding:0 13px}.editor-heading h2{font-size:33px}.privacy-chip{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* StencilPrint V2 — editor and export polish */
:root{--orange-dark:#d94e16;--cream:#fffaf2;--soft:#eee7dc;--focus:0 0 0 3px rgba(255,107,44,.25)}
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:0;box-shadow:var(--focus)}
.site-header{box-shadow:0 1px 0 rgba(17,17,17,.04)}
.primary{transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.primary:hover{background:var(--orange-dark);transform:translateY(-1px);box-shadow:0 8px 22px rgba(217,78,22,.2)}
.editor-shell{scroll-margin-top:90px}.editor-grid{grid-template-columns:310px minmax(450px,1fr) 300px}.controls-panel{max-height:calc(100vh - 94px);overflow:auto;scrollbar-width:thin}.export-panel{position:sticky;top:88px}
.panel h3{display:flex;align-items:center;gap:7px}.panel h3:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.resume-project{margin-top:9px;padding:10px;border:1px solid #e4ae91;border-radius:10px;background:#fff2e9;font-size:10px}.resume-project span{display:block;font-weight:800;margin-bottom:7px}.resume-project div{display:flex;gap:6px}.resume-project button,.transform-row button,.mini-action{border:1px solid #c8bdb1;background:#fff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:750}
.transform-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.transform-row button:hover,.mini-action:hover{border-color:var(--orange);color:var(--orange-dark)}
.control-group[open]{background:linear-gradient(90deg,rgba(255,107,44,.035),transparent);margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;border-radius:8px}.control-group summary{display:flex;justify-content:space-between;align-items:center}.control-group summary:after{content:"+";color:var(--orange);font-size:15px}.control-group[open] summary:after{content:"−"}
body:not([data-processing-mode="adaptive"]) .mode-adaptive{display:none}.mode-edge{display:none}body[data-processing-mode="edge"] .mode-edge{display:block}
#bridgeOptions[hidden]{display:none!important}.layer-preview{align-items:center}.layer-preview button{display:inline-flex;align-items:center;gap:5px;border:1px solid #cec4b8;background:#fff;border-radius:8px;padding:6px 8px;font-size:10px}.layer-preview button.active{background:#171512;color:#fff;border-color:#171512}.layer-preview button i{width:13px;height:13px;border-radius:3px;border:1px solid rgba(0,0,0,.18)}.layer-preview span{font-size:10px;color:#766e66;line-height:1.45}.mini-action{width:100%;margin-top:8px}
.size-grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:7px}.size-grid label{min-width:0}.size-grid input,.size-grid select{min-width:0}
.preview-toolbar{gap:10px;min-height:58px;background:#fffdfa}.preview-actions{display:flex;align-items:center;gap:5px}.preview-actions select{max-width:88px;padding:7px;border:1px solid #c9c0b6;border-radius:8px;background:#fff;font-size:10px}.preview-actions button{min-width:33px}.split-range{width:110px;accent-color:var(--orange)}
.canvas-stage{height:700px;cursor:grab;touch-action:none;transition:background .2s ease}.canvas-stage.panning{cursor:grabbing}.canvas-stage[data-background="paper"]{background:#f6f0e5;background-image:radial-gradient(rgba(73,57,40,.06) 1px,transparent 1px);background-size:5px 5px}.canvas-stage[data-background="dark"]{background:#22201e;background-image:linear-gradient(45deg,#292724 25%,transparent 25%),linear-gradient(-45deg,#292724 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#292724 75%),linear-gradient(-45deg,transparent 75%,#292724 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.canvas-stage[data-background="wall"]{background-color:#d3d0c7;background-image:linear-gradient(90deg,rgba(255,255,255,.16) 50%,transparent 50%),linear-gradient(rgba(100,90,80,.08) 1px,transparent 1px);background-size:42px 22px}.canvas-stage canvas{will-change:transform;transition:box-shadow .16s ease;image-rendering:auto}.canvas-stage.panning canvas{box-shadow:0 20px 42px rgba(0,0,0,.28)}
.split-handle{pointer-events:none;box-shadow:0 0 0 1px #fff,0 0 8px rgba(0,0,0,.22)}.split-handle:after{content:"↔";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:#fff;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.22)}
.preview-footer{background:#fffdfa}.preview-footer .check{margin:0}
.quality-excellent{color:#178044}.quality-good{color:#43812c}.quality-fair{color:#ad6b12}.quality-low{color:#b42d24}
.document-summary{position:relative;overflow:hidden}.document-summary:after{content:"";position:absolute;right:-24px;top:-24px;width:70px;height:70px;border:1px solid rgba(255,156,113,.25);border-radius:50%}
.export-btn{transition:border-color .15s ease,transform .15s ease}.export-btn:hover{border-color:var(--orange);transform:translateY(-1px)}
.export-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;padding:0;background:#fffaf4;color:#171512;box-shadow:0 32px 100px rgba(0,0,0,.32)}.export-dialog::backdrop{background:rgba(17,15,13,.68);backdrop-filter:blur(4px)}.export-dialog form{position:relative;padding:28px}.export-dialog h2{margin:0 0 18px;font-size:30px;letter-spacing:-.04em}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;color:#777}.export-dialog-summary{padding:15px;border:1px solid #ddd2c5;border-radius:12px;background:#fff}.export-dialog-summary>strong{font-size:18px}.export-dialog-summary dl{margin:13px 0 0}.export-dialog-summary dl div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eee5da;padding:8px 0}.export-dialog-summary dt{font-size:11px;color:#756b61}.export-dialog-summary dd{margin:0;font-size:11px;font-weight:800;text-align:right}.dialog-actions{display:flex;gap:9px;margin-top:18px}.dialog-actions button{flex:1}
.toast{max-width:min(380px,calc(100vw - 30px));font-weight:700}
@media(max-width:1280px){.editor-grid{grid-template-columns:285px minmax(390px,1fr)}.export-panel{position:static}.controls-panel{max-height:none}.canvas-stage{height:620px}}
@media(max-width:820px){.editor-grid{display:flex}.controls-panel{max-height:none}.preview-panel{position:relative}.preview-toolbar{position:sticky;top:64px;z-index:12}.preview-actions select{display:none}.split-range{order:3;width:100%}.export-panel{padding-bottom:90px}.export-panel .panel-section:nth-child(2){position:fixed;left:0;right:0;bottom:0;z-index:45;margin:0;padding:8px 10px;background:rgba(255,253,250,.96);border-top:1px solid var(--line);display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:6px;backdrop-filter:blur(12px)}.export-panel .panel-section:nth-child(2) h3,.export-panel .panel-section:nth-child(2) label,.export-panel .panel-section:nth-child(2) .help,.export-panel .panel-section:nth-child(2) #saveProject{display:none}.export-panel .panel-section:nth-child(2) .export-btn{margin:0;padding:11px 7px;font-size:10px}.export-panel .panel-section:nth-child(2) #exportTiledPdf{display:none}.canvas-stage{height:65vh;min-height:460px}}
@media(max-width:520px){.size-grid{grid-template-columns:1fr 1fr}.size-grid label:last-child{grid-column:1/-1}.transform-row{grid-template-columns:1fr 1fr}.transform-row button:last-child{grid-column:1/-1}.preview-toolbar{padding:8px}.preview-actions{margin-left:auto}.preview-actions #zoomLabel{display:none}.segmented button{padding:7px 6px}.canvas-stage{height:510px}.export-dialog form{padding:22px 17px}.export-dialog h2{font-size:25px}}

/* V2.1 processing reliability and performance UI */
[hidden]{display:none!important}
.processing{z-index:12;text-align:left}
.processing>div{display:flex;flex-direction:column;gap:3px}
.processing b{font-size:13px}
.processing small{font-size:10px;font-weight:600;color:#6c6259}
