:root{--green:#285c4b;--ink:#263c34;--muted:#879087;--border:#e0e6dc}*{box-sizing:border-box}body{margin:0;background:#f8f9f5;color:var(--ink);font:14px Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--border);border-radius:8px;background:white;color:var(--ink);padding:10px 12px;font-weight:600}button:hover{border-color:#7eaa92;background:#f0f6ef}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b3cfb9;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}header{height:88px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 3.5%;gap:20px}.brand{font-size:25px;font-weight:bold;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:5px;letter-spacing:-1px}.brand span{font-weight:400}.brand b{background:var(--green);color:white;border-radius:10px;padding:3px 9px;margin-right:8px;font-size:30px}header small{color:var(--muted);font-size:11px}.primary{background:var(--green);color:white;padding:14px 24px;border:none}.primary:hover{background:#174737}main{max-width:1620px;margin:auto;padding:38px 3.5%}.intro{margin-bottom:32px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:#71927b}h1{font-size:35px;letter-spacing:-1.4px;margin:13px 0}p{line-height:1.65}.intro p{color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:270px minmax(320px,1fr) 235px;gap:24px;align-items:start}section{background:#fff;border:1px solid var(--border);border-radius:13px;padding:20px;margin-bottom:16px}h2{font-size:14px;margin:0 0 21px;display:flex;align-items:center;gap:10px}h2 em{font-style:normal;font-size:10px;color:#7a977b;background:#edf3e9;border-radius:7px;padding:6px}label{display:block;font-size:11px;font-weight:600;margin:14px 0;color:#66756b}input[type=number],select{width:100%;padding:11px 9px;border:1px solid var(--border);border-radius:7px;color:var(--ink);background:#fff;margin-top:7px;font-size:12px}.fields{display:flex;gap:10px}.fields label{width:50%;margin:8px 0}.hint{font-size:11px;line-height:1.6;background:#fbf7eb;color:#8c7951;padding:10px;border-radius:7px;margin:7px 0 13px}.check{display:flex;gap:7px;align-items:center;font-size:11px}.check input{accent-color:var(--green)}.micro{font-size:11px;color:#90978e}.upload{width:100%;display:flex;align-items:center;flex-direction:column;border:1.5px dashed #b7ccba;background:#f8fbf6;padding:17px 4px;gap:9px}.upload b{font-size:24px;color:#62836c}.upload small{font-size:10px;color:#8b988d;font-weight:400}.wide{display:block;width:100%;font-size:11px;margin-top:10px}.printtip{background:#eef2e6;font-size:12px}.printtip p{color:#7b856c;font-size:11px;margin-bottom:0}.canvas-area{background:#edf0ea;border:1px solid #e2e6dd;border-radius:15px;overflow:hidden;min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dfe5db;font-size:12px;gap:8px}.toolbar small{display:block;color:#8c978a;font-size:10px;margin-top:5px}.toolbar button{font-size:11px;padding:7px 9px}.paper-wrap{padding:28px 30px 20px;max-width:590px;margin:auto}#sheet{position:relative;background:white;box-shadow:0 5px 18px #283c3412;width:100%;aspect-ratio:210/297}.slot{position:absolute;border:1px dashed #c9d4c8;border-radius:0;padding:0;overflow:hidden;background:#fcfdfb;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:#a8b7a7}.slot .plus{font-size:24px;font-weight:400}.slot .slot-label{font-size:9px;font-weight:400}.slot.selected{outline:2px solid #629570;outline-offset:3px}.slot.dragover{background:#e4f0df;outline:3px solid #629570}.slot img{position:absolute;max-width:none;pointer-events:none}.face-guide{position:absolute;border:1px dashed #87ae8bbb;pointer-events:none;z-index:2}.idx{position:absolute;top:4px;left:5px;font-size:8px}.sheet-footer{padding:0 22px 18px;display:flex;justify-content:space-between;font-size:9px;color:#8b9686;gap:10px}.quality-note{padding:16px 22px;background:#f4f6f0;border-top:1px solid #e1e6db;font-size:11px;line-height:1.7;color:#85917c}#emptyEdit{text-align:center;color:#8b968d;padding:22px 0;font-size:12px}#emptyEdit strong{color:#63776b;font-size:12px}.symbol{font-size:35px;color:#a1b69f;margin-bottom:19px}#thumb{height:130px;background:#f5f6f1;margin-bottom:14px}#thumb img{width:100%;height:100%;object-fit:contain}#imageName{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}#quality{font-size:11px;line-height:1.6;margin:10px 0;color:#3e7f50}.danger{color:#ab665f}input[type=range]{display:block;width:100%;accent-color:var(--green);margin:12px 0}.mini-guide{padding:15px 13px;color:#8f9a8c;font-size:10px;line-height:1.8}footer{max-width:1500px;margin:auto;padding:15px 3.5% 30px;color:#8c9b8d;font-size:11px;display:flex;justify-content:space-between}#error{color:#a15344;padding:0 20px}#error:not(:empty){padding:15px 20px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#254b3b;color:white;padding:14px 22px;border-radius:10px;display:none;z-index:20;max-width:90vw}output{float:right}[hidden]{display:none!important}@media(max-width:1100px){.workspace{grid-template-columns:240px minmax(300px,1fr)}.workspace>aside:last-child{grid-column:1/-1}.mini-guide{display:none}header small{display:none}}@media(max-width:650px){header{height:77px;padding:0 16px}.brand{font-size:20px}.primary{padding:11px 13px;font-size:12px}main{padding:26px 16px}h1{font-size:28px}.intro p{font-size:12px}.workspace{display:flex;flex-direction:column;gap:12px}.workspace>aside,.canvas-area{width:100%}.paper-wrap{padding:23px}.sheet-footer{font-size:8px}.slot .slot-label{font-size:8px}section{padding:17px}}

/* illa memories — terracotta, ivory and editorial typography */
:root{--green:#98664d;--ink:#514036;--muted:#8a776b;--border:#e9ddd2}
body{background:#fbf8f4;color:var(--ink);font-family:"Segoe UI",Arial,sans-serif}
header{height:104px;background:#fffdf9;border-color:#eadecf;padding:0 4.3%}
.brand{gap:15px;letter-spacing:0}
.brand-seal,.hero-seal{display:block;position:relative;overflow:hidden;border-radius:50%;flex-shrink:0;background:#bf9073}
.brand-seal{width:65px;height:65px}
.brand-seal img,.hero-seal img{position:absolute;width:238.65%;max-width:none;height:auto;left:-69.32%;top:-99.49%}
.brand-name{font:normal 48px/.85 Georgia,"Times New Roman",serif;letter-spacing:-3px!important;color:#a87557}
.brand-name .brand-sub{display:block;font:9px/1.5 "Segoe UI",sans-serif;letter-spacing:2px;margin-top:11px;color:#8a6a55}
header>small{text-align:center;line-height:1.5;color:#9c7c66}
.header-label{display:block;font-size:10px;letter-spacing:2.5px}
.header-private{display:block;font-size:10px;color:#9b8b80;margin-top:5px}
.primary{background:#a97658;border-radius:9px;box-shadow:0 3px 8px #a9765815;font-size:12px;letter-spacing:.2px;padding:14px 23px}
.primary:hover{background:#8d6047}
button:hover{border-color:#c29a80;background:#faf2e9}
button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#d9b396}
main{padding:0 4.3% 32px;max-width:1650px}
.intro{display:flex;align-items:center;justify-content:space-between;position:relative;padding:43px 22px 39px 4px;margin-bottom:27px;border-bottom:1px solid #e7d8ca;overflow:hidden;min-height:305px}
.eyebrow{font-size:9px;letter-spacing:2.3px;color:#ab8063;display:flex;align-items:center;gap:12px;font-weight:500}
.eyebrow span{display:block;width:27px;height:1px;background:#c79777}
h1{font:normal 48px/1.12 Georgia,"Times New Roman",serif;letter-spacing:-1.6px;margin:19px 0 17px;color:#614a3a}
h1 i{font-weight:normal;color:#b38365}
.intro p{font-size:12px;line-height:1.85;color:#927e6e}
.hero-note{font-size:8px;letter-spacing:2px;color:#ac8f77;margin-top:24px;display:flex;gap:23px;align-items:center}
.hero-note span{font-size:20px;line-height:.6;color:#b78d6d}
.hero-art{width:270px;height:250px;margin-right:38px;position:relative;display:flex;align-items:center;justify-content:center}
.hero-seal{width:193px;height:193px;box-shadow:0 14px 28px #8d60471c;transform:rotate(-8deg)}
.orbit{position:absolute;inset:10px 18px;border:1px solid #e2c9b4;border-radius:50%;transform:rotate(28deg)}
.hero-caption{position:absolute;bottom:1px;right:11px;font:italic 17px Georgia,serif;color:#ab8063;transform:rotate(-8deg)}
.spark{position:absolute;color:#b88b6c;font-size:33px}.spark-one{top:4px;right:13px}.spark-two{bottom:22px;left:8px;font-size:24px}
.workspace{grid-template-columns:270px minmax(320px,1fr) 235px;gap:23px}
section{background:#fffdfb;border-color:#e9ddd2;border-radius:12px;box-shadow:0 3px 12px #78533903;padding:20px}
h2{font-size:13px;font-weight:600;letter-spacing:.1px}
h2 em{color:#aa7b5b;background:#f5ece2;border-radius:50%;width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;font-weight:500}
label{color:#857163;font-weight:500;font-size:11px}
input[type=number],select{border-color:#e6d9cc;border-radius:6px;background:#fffcf8;color:#65503f}
.hint{background:#f8f0e4;color:#957858;font-size:10px;border-left:2px solid #d6b18a;border-radius:3px}
.check{color:#7a6657}.check input,input[type=range]{accent-color:#b28363}
.micro{color:#a08e80;font-size:10px}
.upload{border-color:#d7bba2;background:#fdf8f1;border-radius:8px;padding:18px 4px;color:#916c51}
.upload b{color:#b98b68;font-weight:400}.upload strong{font-size:12px}.upload small{color:#a58d79}
.wide{border-color:#e6d8ca;color:#8c6a51;background:#fffdfa}
.printtip{background:#f2e8d9;border-color:#e9dac6;color:#8e6c4c}
.printtip p{color:#998169}.canvas-area{background:#eee4d8;border-color:#e2d4c2;border-radius:12px}
.toolbar{border-color:#e1d2be;padding:17px 19px;background:#f4ece2;color:#80634b}
.toolbar small{color:#a08b76}.toolbar button{background:#fffaf3;border-color:#e4d5c3;color:#8a6b4e}
.paper-wrap{padding:30px 32px 24px}
#sheet{background:white;box-shadow:0 8px 22px #73563818}
.slot{background:#fffefd;border-color:#d8c9b8;color:#b8a58f}
.slot:hover{background:#faf6ef;border-color:#b8997c}
.slot.selected{outline-color:#bd9070}.slot.dragover{background:#f5e6d5;outline-color:#bd9070}
.face-guide{border-color:#c7a88899}.idx{color:#bfae99}
.sheet-footer{color:#aa947d;font-size:9px}
.quality-note{background:#f7f0e7;border-color:#e4d6c3;color:#9b846e;font-size:10px;padding:16px 21px}
.quality-note b{color:#866a50}
#emptyEdit{color:#a4907f;font-size:11px;padding:23px 0 26px;line-height:1.7}
#emptyEdit strong{color:#947155;font:italic 18px Georgia,serif}
.symbol{color:#c7a789;font-size:43px;margin-bottom:20px}
#thumb{background:#faf5ef;border-radius:7px;overflow:hidden}
#imageName{color:#8c6b53}.danger{color:#ae685a}
.mini-guide{color:#ad9682;font-size:9px;letter-spacing:1.5px;padding:20px 13px}
.mini-guide p{letter-spacing:.2px;font-size:11px;line-height:1.9;margin:13px 0;color:#9b836d}
footer{border-top:1px solid #ebdfd3;padding:23px 4.3% 28px;align-items:center;max-width:none;color:#ac9581;font-size:11px}
.footer-brand{font:30px Georgia,serif;color:#b38768;display:flex;align-items:center;gap:10px}.footer-brand small{font:8px "Segoe UI",sans-serif;letter-spacing:2px}
.footer-end{font-size:8px;letter-spacing:2px}
#toast{background:#8f684f;color:#fffaf4}
@media(min-width:1500px){.workspace{grid-template-columns:290px minmax(320px,1fr) 255px}}
@media(max-width:1100px){.workspace{grid-template-columns:245px minmax(300px,1fr)}.hero-art{margin-right:10px}.intro{padding-right:0}h1{font-size:43px}.workspace>aside:last-child section{margin-top:4px}}
@media(max-width:650px){header{height:84px;padding:0 18px}.brand{gap:10px}.brand-seal{width:46px;height:46px}.brand-name{font-size:34px;letter-spacing:-2px!important}.brand-name .brand-sub{font-size:6px;letter-spacing:1.5px;margin-top:8px}.primary{font-size:11px;padding:12px 14px}main{padding:0 17px 25px}.intro{padding:29px 0 27px;min-height:0;margin-bottom:22px;display:block}.eyebrow{font-size:7px;letter-spacing:1.5px;gap:8px}.eyebrow span{width:18px}h1{font-size:36px;letter-spacing:-1.2px;position:relative;z-index:1}.intro p{font-size:11px;position:relative;z-index:1}.hero-note{font-size:7px;margin-top:22px;letter-spacing:1.7px}.hero-art{position:absolute;right:-48px;top:58px;width:145px;height:145px;opacity:.12;pointer-events:none;z-index:0}.hero-seal{width:105px;height:105px}.hero-caption,.spark{display:none}.workspace{display:flex;gap:14px}section{padding:18px}.paper-wrap{padding:24px}.toolbar{padding:14px}.sheet-footer{font-size:8px}.footer-end{display:none}footer{padding:20px 18px;gap:12px;font-size:9px}.footer-brand{font-size:26px}.footer-brand small{font-size:7px}}

.fold-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

/* Warm paper atelier */
:root{--border:#cdb09a;--muted:#765c4b;--ink:#49352b}
body{background:#e7d3bf;background-image:radial-gradient(ellipse at 90% 8%,#d6ad94 0,transparent 48%),radial-gradient(ellipse at 0 60%,#eddcc8 0,transparent 60%);color:var(--ink)}
header{background:#d4ac90;border-bottom:1px solid #bd9074;box-shadow:0 3px 20px #66432d0a}
header .brand-name,header .brand-sub{color:#66432f}header>small,.header-private{color:#664b39}
.primary{background:#83543e;color:#fff5e9;box-shadow:0 5px 12px #70442e20}.primary:hover{background:#70432f;color:#fff5e9}
.intro{border-bottom-color:#c5a38a}.intro p{color:#735947}h1{color:#513829}h1 i{color:#946044}.eyebrow,.hero-note,.hero-caption{color:#80583e}.orbit{border-color:#b88a69}.spark{color:#946044}
section{background:#edddca;border-color:#cdb098;box-shadow:0 7px 20px #7150380a;border-radius:15px}
h2{color:#593c2c}h2 em{background:#d7b396;color:#67442e}label,.check{color:#694e3c}.micro{color:#755c49}
input[type=number],select{background:#f5e9d9;border-color:#c9aa90;color:#503929}.hint{background:#e3ccb1;color:#6b5038;border-left-color:#b8875f}
button,.wide,.toolbar button{background:#efddc6;border-color:#c8a586;color:#65452f}.upload{background:#e5cbb1;border-color:#b98e69;color:#69452e}.upload b,.upload small{color:#775539}.upload:hover{background:#dfbfa0}
.printtip{background:#d1af90;border-color:#bd9777;color:#5c402b}.printtip p{color:#674b36}
.canvas-area{background:#c69d80;border-color:#b98c6d;box-shadow:0 12px 30px #75503412;border-radius:16px}.toolbar{background:#d7b79b;border-color:#bd9575;color:#5b3f2b}.toolbar small{color:#71533b}.sheet-footer{color:#573d2b}.quality-note{background:#ddbea0;border-color:#bc9372;color:#654b35}.quality-note b{color:#573b28}
#emptyEdit,#emptyEdit strong,.mini-guide,.mini-guide p{color:#76523a}.symbol{color:#a17351}#thumb{background:#dfc2a6}
.signature-panel{background:#d8b49a;border-color:#b88969}.panel-kicker{font-size:9px;letter-spacing:1.8px;color:#71482e;margin-bottom:12px}.signature-panel h2{font:italic 22px/1.2 Georgia,serif;margin-bottom:15px}.handle-pill{display:inline-block;border:1px solid #ba8f6e;border-radius:20px;padding:7px 12px;font-size:12px;letter-spacing:.4px;color:#62402c;background:#e9cdb5}.signature-panel label{margin-bottom:5px}.distance-input{position:relative}.distance-input input{padding-right:40px;margin-top:0}.distance-input>span{position:absolute;right:13px;top:12px;font-size:12px;color:#826047}.range-legend{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#6b4630}.signature-tip{font-size:10px;line-height:1.6;border-top:1px solid #bb9072;padding-top:10px;color:#65452e}.signature-panel input[type=range]{accent-color:#805039}
footer{border-color:#c3a187;color:#75533b}.footer-brand{color:#83583b}#sheet{box-shadow:0 8px 26px #55352030}
.editor-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 0 12px}.editor-intro h1{font-size:36px;margin:10px 0}.editor-intro p{color:#76543d;font-size:12px}.project-actions{display:flex;gap:8px;flex-wrap:wrap;max-width:530px}.project-actions input{width:100%;border:1px solid #bd9777;border-radius:8px;background:#f2e1ce;padding:11px}.project-actions button{font-size:11px}.local-notice{font-size:11px;color:#75553d;padding-bottom:18px}.editor-nav{display:flex;gap:22px}.editor-nav a{color:#62442f;text-decoration:none;font-size:13px}.contour-guide{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.slot{border:none}.slot.has-image:hover{background:transparent}.slot.selected{filter:drop-shadow(0 0 3px #71432b)}#brandWarning:empty{display:none}.slot .idx{top:20%;left:20%}
@media(max-width:650px){.editor-intro{display:block}.editor-nav{gap:8px;font-size:11px}.editor-nav a{font-size:10px}header{gap:8px}.editor-intro h1{font-size:30px}}
.download-result{margin:0;padding:14px 20px;background:#e5cfad;color:#61442d;font-size:12px}.download-result a{color:inherit;text-decoration:underline}
