@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ed;--ink:#252a25;--muted:#72786c;--line:#dedfd4;--panel:#fffef9;--olive:#4a5c3c;--soft:#e7ebdd;--accent:#b35d3d;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label.upload-btn{touch-action:manipulation}button{cursor:pointer;min-height:38px;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:9px 13px;border-radius:8px;transition:background .15s,transform .15s}button:hover{background:var(--soft)}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #8da567;outline-offset:3px}button:disabled{opacity:.4;cursor:default}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{font-size:clamp(26px,2.7vw,38px);letter-spacing:-1.5px;font-weight:600;line-height:1.15}h2{font-size:15px;font-weight:700}h3{font-size:15px;font-weight:600}.header{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{text-decoration:none;font-size:26px;font-weight:800;letter-spacing:-1.4px;white-space:nowrap}.brand span{font-family:'DM Sans',sans-serif;font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0}.header nav{display:flex;gap:6px}.nav{border:0;background:transparent;padding:10px 18px}.nav.active{background:var(--ink);color:white}.nav span{font-size:11px;margin-left:3px;opacity:.65}.save-status{font-size:11px;color:var(--muted)}main{max-width:1740px;margin:auto}.page{padding:30px 32px 40px}.studio-heading,.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--muted);margin-bottom:10px}.actions{display:flex;gap:7px;flex-wrap:wrap}.primary{background:var(--olive);color:#fff;border-color:var(--olive)}.primary:hover{background:#35472b}.studio-grid{display:grid;grid-template-columns:minmax(225px,280px) minmax(330px,1fr) minmax(235px,280px);gap:20px;align-items:start}.assets-panel,.inspector{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.text-btn{border:0;background:none;font-size:11px;padding:0;min-height:32px;color:var(--olive)}.small-tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin:0 -3px 17px;padding-bottom:10px}.small-tabs button{font-size:11px;border:0;background:none;padding:7px;min-height:32px}.small-tabs button.active{background:var(--soft);color:var(--olive)}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-card{padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:10px;background:#f7f7f0}.quick-card img{width:100%;height:136px;display:block;object-fit:contain}.quick-card span{display:block;font-size:11px;padding:9px 9px 10px;background:var(--panel);line-height:1.35}.upload-btn{display:block;border:1px dashed #bdc5b2;border-radius:8px;padding:12px;text-align:center;margin-top:14px;cursor:pointer;font-size:12px;color:var(--olive)}.small-note{font-size:11px;line-height:1.6;color:var(--muted);margin-top:14px}.body-panel{min-width:0}.view-tabs{display:flex;justify-content:center;gap:5px;margin-bottom:12px}.view-tabs button{border:0;background:none;font-size:12px;min-height:34px}.view-tabs .active{background:var(--soft);color:var(--olive);font-weight:600}.canvas-wrap{position:relative;background:#e5dfd4;border-radius:16px;overflow:hidden;display:flex;justify-content:center}.canvas-wrap canvas{display:block;width:100%;max-width:550px;height:auto;touch-action:none}.body-direction{position:absolute;bottom:11px;left:0;right:0;text-align:center;font-size:10px;color:#6e7466;pointer-events:none}.canvas-bottom{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px;margin-top:10px;line-height:1.5}.tiny-label{font-size:10px;color:var(--muted)}.inspector label:not(.upload-btn){display:block;font-size:12px;margin:18px 0 0}.inspector output{float:right;color:var(--muted);font-variant-numeric:tabular-nums}.inspector input[type=range]{width:100%;margin:10px 0 0;accent-color:var(--olive)}input[type=checkbox]{accent-color:var(--olive)}.check{display:flex!important;align-items:center;gap:7px;font-size:12px!important}.row-actions{display:flex;gap:8px;margin-top:18px}.row-actions button{flex:1;font-size:12px}.danger{color:#a74839}.layers-section{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.layer{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;font-size:11px;margin-top:7px;border:1px solid transparent;background:var(--paper);padding:9px 10px}.layer.active{border-color:var(--olive);background:var(--soft)}.layer small{color:var(--muted)}.saved-section{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.saved-section summary{font-size:12px;cursor:pointer;line-height:1.6}.saved-section summary span{color:var(--muted);float:right}.saved-section button{font-size:11px;margin-top:9px}.saved-row{display:flex;gap:5px}.saved-row button:first-child{flex:1;text-align:left}.saved-row button:last-child{color:var(--muted)}#empty-inspector{text-align:center;padding:25px 3px 12px}#empty-inspector p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}#empty-inspector button{font-size:11px;margin-top:18px}.empty-mark{font-size:38px;color:#a7b19d;display:block;margin-bottom:18px}.stack{display:grid;gap:8px}.stack button{text-align:left;font-size:12px}.poem-preview{font-family:Georgia,serif;font-size:15px;line-height:1.65;margin:18px 0}.subtle{font-size:11px;color:var(--muted);margin-bottom:7px}.cross-btn span{font-size:27px;line-height:20px;margin-right:10px}.source-link{font-size:11px;display:inline-block;margin-top:13px;color:var(--muted)}textarea,input[type=search],input[type=text],select{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--panel);color:var(--ink)}textarea{resize:vertical;min-height:95px;line-height:1.5;margin-top:8px;font-size:12px}select{margin-top:8px}#quick-search{font-size:12px;margin-bottom:12px}.wide{width:100%;font-size:11px;margin-top:12px}.library-heading p{color:var(--muted);font-size:14px;margin-top:12px}.library-heading input{max-width:340px}.filter-row{display:flex;gap:7px;flex-wrap:wrap;margin:25px 0 20px}.filter-row button{border:1px solid var(--line);background:transparent;font-size:12px;border-radius:22px}.filter-row button.active{background:var(--ink);border-color:var(--ink);color:white}.filter-row button span{font-size:10px;opacity:.6;margin-left:6px}.library-toolbar{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.library-toolbar>span{margin-right:auto;font-size:12px;color:var(--muted)}.library-toolbar select{width:auto;margin:0;font-size:12px}.library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.pin-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden;position:relative}.pin-card .image-open{display:block;width:100%;padding:0;border:0;border-radius:0;min-height:0;background:#e9e8e1}.pin-card img{width:100%;height:255px;display:block;object-fit:cover}.pin-meta{padding:13px}.pin-meta h3{font-size:12px;line-height:1.45;font-family:'DM Sans',sans-serif;font-weight:500}.pin-meta p{font-size:10px;color:var(--muted);margin-top:8px}.fav{position:absolute;right:9px;top:9px;min-height:30px;width:31px;padding:0;border-radius:50%;border:none;background:#fffef8e6;font-size:19px}.fav.active{color:var(--accent)}.library-footnote{font-size:12px;color:var(--muted);max-width:880px;line-height:1.6;margin-top:30px}.ideas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:30px}.idea-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;overflow:hidden}.idea-card canvas{display:block;width:100%;height:auto;background:#e5dfd4;pointer-events:none}.idea-meta{padding:20px}.idea-meta .eyebrow{font-size:9px;margin-bottom:9px}.idea-meta h2{font-size:19px;margin-bottom:10px;letter-spacing:-.5px}.idea-meta p{font-size:12px;line-height:1.6;color:var(--muted);min-height:60px}.idea-meta button{width:100%;margin-top:16px;font-size:12px}.idea-meta small{display:block;font-size:10px;color:var(--muted);margin-top:11px}dialog{max-width:1080px;width:calc(100% - 40px);border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#20281d99;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:20px}.dialog-head h2{font-size:21px}.icon-btn{font-size:25px;line-height:20px;min-width:38px}.crop-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:25px}#crop-canvas{display:block;width:100%;height:auto;background:#eeeee7;touch-action:none;border-radius:9px;cursor:crosshair}.crop-actions{display:flex;flex-direction:column;gap:16px;align-items:stretch}.crop-actions p{font-size:12px;color:var(--muted);line-height:1.6}.crop-actions a{font-size:12px;line-height:1.5}.pill{align-self:start;background:var(--soft);border-radius:20px;padding:5px 10px;font-size:10px}.crop-actions .small-note{font-size:11px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,18px);max-width:calc(100% - 35px);padding:13px 20px;border-radius:10px;background:var(--ink);color:white;font-size:13px;box-shadow:0 8px 30px #0002;opacity:0;pointer-events:none;transition:.2s;z-index:20}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1450px){.canvas-wrap canvas{max-width:570px}.studio-grid{gap:28px}.quick-card img{height:165px}}
@media(max-width:1150px){.studio-grid{grid-template-columns:220px minmax(270px,1fr) 235px;gap:13px}.page{padding:24px 20px}.header{padding:0 20px}.save-status{display:none}.quick-card img{height:108px}.assets-panel,.inspector{padding:14px}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.idea-card canvas{max-height:470px;object-fit:contain}.studio-heading{align-items:flex-start}.actions button{font-size:11px}.small-tabs button{padding:5px;font-size:10px}}
@media(max-width:850px){.studio-grid{grid-template-columns:minmax(0,1fr) 240px}.assets-panel{grid-column:1/-1}.assets-panel .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.small-note{max-width:600px}.assets-panel .upload-btn{display:inline-block}.studio-heading{flex-direction:column}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header .brand span{display:none}.header{gap:8px}.nav{padding:8px 11px;font-size:12px}.crop-layout{grid-template-columns:1fr}.crop-actions{display:grid;grid-template-columns:1fr 1fr}.crop-actions .small-note{grid-column:1/-1}.crop-actions>p{grid-column:1/-1}.canvas-wrap canvas{max-width:550px}.quick-card img{height:130px}}
@media(max-width:560px){.header{height:auto;min-height:74px;flex-wrap:wrap;padding:13px 16px}.brand{font-size:23px}.header nav{gap:1px}.nav{font-size:11px;padding:8px}.page{padding:24px 14px}.studio-grid{grid-template-columns:1fr}.assets-panel .quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.quick-card img{height:100px}.quick-card span{font-size:10px;padding:7px 5px}.canvas-bottom{font-size:9px}.inspector{width:100%}.view-tabs{margin-top:4px}.library-heading{align-items:stretch;flex-direction:column}.library-heading input{max-width:none}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pin-card img{height:200px}.pin-meta{padding:10px}.library-toolbar{gap:12px}.library-toolbar>span{width:100%}.ideas-grid{grid-template-columns:1fr 1fr;gap:10px}.idea-meta{padding:12px}.idea-meta h2{font-size:16px}.idea-meta p{font-size:11px;min-height:88px}.idea-meta button{font-size:10px;padding:8px}.idea-card canvas{max-height:300px}.filter-row{gap:5px}.filter-row button{font-size:11px;padding:7px 10px}.actions{gap:5px}.actions button{font-size:11px;padding:8px 10px}dialog{padding:16px;width:calc(100% - 20px)}.crop-actions{gap:12px}.saved-row{max-width:450px}}

.body-options{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}

.inspector-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.inspector-tabs button{flex:1;border:0;font-size:12px;background:transparent}.inspector-tabs .active{background:var(--soft);color:var(--olive);font-weight:600}.body-options{margin:0;padding:0;border:0}.body-options .section-head{align-items:start}.body-options .tiny-label{font-size:8px;line-height:1.5}.body-options small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.body-options input:disabled{opacity:.4}.body-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:0 5px}.body-toolbar>span{font-size:11px;color:var(--muted)}.body-toolbar button{font-size:12px}.gallery-switch{display:inline-flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:12px;background:#eaece3;max-width:100%}.gallery-switch button{border:0;background:transparent;font-size:13px;min-height:42px}.gallery-switch button.active{background:var(--panel);box-shadow:0 1px 5px #1f291216;color:var(--olive);font-weight:600}.gallery-switch span{font-size:10px;opacity:.6;margin-left:5px}.gallery-note{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 0}.pin-card.tattoo-card img{object-fit:contain;padding:20px;background:#fafaf5}.pin-card.tattoo-card .image-open{background:#fafaf5}.pin-meta .version-badge{font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:var(--olive);margin:0 0 7px}.modal-switch{margin-bottom:18px}.crop-actions button{min-height:44px}#download-tattoo{font-size:11px}#pin-version-note{display:block}#custom-body-controls{border-bottom:1px solid var(--line);padding-bottom:16px}#body-photo-note.photo-active{background:var(--soft);padding:10px;border-radius:8px}
@media(max-width:560px){.body-toolbar>span{font-size:10px}.body-toolbar button{min-height:44px}.gallery-switch{display:flex}.gallery-switch button{flex:1;font-size:12px;padding:8px}.inspector-tabs button{min-height:44px}.body-options label{font-size:13px!important}.body-options input[type=range]{min-height:28px}.body-options select{min-height:44px}.modal-switch button{font-size:11px}.crop-actions{grid-template-columns:1fr}.crop-actions .pill{justify-self:start}.crop-actions #pin-favorite{grid-column:auto}}

.proportion-controls{border:1px solid var(--line);border-radius:8px;padding:0 12px;margin-top:20px}.proportion-controls summary{font-size:12px;line-height:1.5;cursor:pointer;padding:14px 0}.proportion-controls[open]{padding-bottom:12px}.proportion-controls .small-note{margin-top:0;font-size:10px}.proportion-controls label{font-size:11px!important}.proportion-controls input{min-height:24px}.proportion-controls .wide{font-size:10px}

main[inert]{opacity:.55;pointer-events:none}.header .nav:disabled{opacity:.45}

.pin-meta .source-caption{font-size:9px;line-height:1.45;opacity:.85}

.mobile-live-preview{display:none}@media(max-width:560px){.mobile-live-preview{display:flex;position:sticky;top:0;z-index:4;align-items:end;justify-content:center;gap:12px;background:var(--panel);border-bottom:1px solid var(--line);padding:8px 0 10px;margin-bottom:15px}.mobile-live-preview canvas{height:220px;width:auto;max-width:60%;object-fit:contain;border-radius:9px}.mobile-live-preview button{font-size:10px;white-space:nowrap}.body-options .section-head{margin-bottom:5px}}

.save-dialog{max-width:420px}.save-dialog label{font-size:12px}.save-dialog input{margin-top:8px}.save-dialog .primary{font-size:13px}

.focus-toolbar{display:flex;align-items:center;gap:10px;padding:12px 0 0;flex-wrap:wrap}.focus-toolbar label{font-size:12px;color:var(--muted)}.focus-toolbar select{flex:1;min-width:150px;max-width:250px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px;font:inherit;font-size:12px}.focus-toolbar button{font-size:11px}.focus-note{font-size:10px;color:var(--muted);margin:8px 0 12px}@media(max-width:560px){.focus-toolbar{gap:7px}.focus-toolbar select{min-height:44px;max-width:none}.focus-toolbar label{font-size:11px}.focus-toolbar button{min-height:38px}.focus-note{font-size:10px}}

.creator-page{max-width:1120px;margin:0 auto;padding:36px 28px 70px}.assets-panel>[data-page=creator]{margin-top:18px}.header nav{flex-wrap:wrap}@media(max-width:700px){.creator-page{padding:24px 18px 50px}}
.font-browser{margin-top:12px;font-size:12px}.font-browser summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--olive)}.font-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:340px;overflow:auto;padding:4px}.font-choice{min-width:0;text-align:left;padding:10px 9px;overflow:hidden}.font-choice small{display:block;font:9px 'DM Sans',sans-serif;color:var(--muted);margin-bottom:7px}.font-choice span{display:block;font-size:21px;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-choice.active{background:var(--soft);border-color:var(--olive)}.needs-review .version-badge,.review-warning{color:#8b5127!important}.review-warning{background:#f1dfc9}.gallery-switch{flex-wrap:wrap}.gallery-switch button{white-space:nowrap}.tc-form .font-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:560px){.gallery-switch button{font-size:11px;min-height:44px}.font-grid{max-height:300px}}

.tc-text-only .tc-tabs,.tc-text-only [data-panel=image],.tc-text-only [data-panel=prompt]{display:none!important}

.zoom-toolbar,.raised-views{display:flex;align-items:center;gap:8px;padding:8px 15px;flex-wrap:wrap}.zoom-toolbar input{min-width:70px;flex:1;width:110px}.zoom-toolbar button{padding:7px 11px}.zoom-toolbar output{font-size:13px;min-width:34px}.raised-views{font-size:12px;border-top:1px solid #ddd6ca}.raised-views button{font-size:12px;padding:6px 10px}.raised-views button.active{background:#263d2c;color:white}.layer small{max-width:110px;text-align:right;white-space:normal;font-size:10px}#toggle-lock{margin:8px 0}#selected-inspector :disabled{opacity:.45}.nav{white-space:nowrap}

.model3d-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.model3d-stage{background:#eeeae3;border-radius:18px;overflow:hidden;position:relative}.model3d-stage #model3d-canvas{width:100%;height:75vh;min-height:470px;max-height:850px}.model3d-stage canvas{display:block;width:100%;height:100%;touch-action:none}.model3d-stage p{margin:0;padding:14px;text-align:center;font-size:13px}.model3d-tools{padding:22px;border:1px solid #ddd6ca;border-radius:18px;background:#faf8f2}.model3d-tools p{font-size:14px;line-height:1.6;color:#67675e}.model3d-tools label{display:block;margin:22px 0}.model3d-tools select{display:block;width:100%;margin-top:8px}.model3d-views{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}.model3d-note{border-top:1px solid #ddd6ca;margin-top:24px;padding-top:16px}.model3d-tools a{font-size:12px;color:#4d674e}@media(max-width:800px){.model3d-layout{grid-template-columns:1fr}.model3d-stage #model3d-canvas{height:65vh;min-height:400px}.header nav{overflow:auto;max-width:100%}.model3d-tools{padding:18px}}

.language-choice{display:flex;align-items:center;gap:5px;margin-left:auto}.language-choice select{border:1px solid #d8d8ce;border-radius:9px;background:transparent;font-size:12px;padding:8px;max-width:112px}.header{gap:18px}.header .save-status{max-width:145px;font-size:10px}@media(max-width:1050px){.header .save-status{display:none}.header nav{flex:1}}@media(max-width:680px){.header{flex-wrap:wrap;gap:10px}.header nav{order:3;width:100%;flex-basis:100%;justify-content:flex-start;overflow:auto}.header .nav{font-size:12px;padding:10px 11px}.language-choice{margin-left:auto}}

.font-filters{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;position:sticky;top:0;background:#f7f6ef;padding:5px 0;z-index:1}.font-filters button{font-size:11px;padding:7px 9px}.font-filters button[aria-pressed=true]{background:#354a39;color:white}.font-choice[hidden]{display:none!important}
