:root{color-scheme:light;--paper:#faf9f5;--ink:#242521;--muted:#787971;--line:#e1e2d9;--coral:#bf6a51;--green:#59715a;--serif:"Iowan Old Style",Palatino,Georgia,serif;--sans:"Avenir Next","Trebuchet MS",sans-serif}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 var(--sans)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:6px;background:transparent;color:inherit;padding:10px 16px}button:hover{background:#eaece3}button:disabled{opacity:.45;cursor:default}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--coral);outline-offset:3px}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}h1{font-size:40px;line-height:1.15}h2{font-size:29px;line-height:1.25}.eyebrow{font-size:10px;font-weight:700;color:var(--muted);margin-bottom:9px}.muted{color:var(--muted);font-size:12px}.primary{display:flex;align-items:center;justify-content:space-between;background:var(--coral);color:white;border-color:var(--coral);min-height:46px}.primary:hover{background:#a75842}.primary span{font-size:22px}.quiet{border:0}.icon-button{height:40px;width:40px;padding:0;display:grid;place-items:center;font-size:22px}.error{color:#ac3b32;font-size:13px;min-height:20px;overflow-wrap:anywhere}label{display:grid;gap:7px;font-size:12px;color:#61665b}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:5px;padding:10px 12px;background:#fffefa;color:var(--ink);min-width:0}textarea{resize:vertical;min-height:150px}select{cursor:pointer}.login{min-height:100dvh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#eaf0e4,transparent 65%);padding:24px}.login-form{width:min(100%,380px);display:grid;gap:22px}.login-form>img{object-fit:contain}.login-form .eyebrow{margin:0}.login-form h1{font-size:44px;margin-top:-15px}.topbar{height:76px;display:flex;align-items:center;gap:40px;padding:0 4%;border-bottom:1px solid var(--line)}.brand{font:25px var(--serif);display:flex;gap:10px;align-items:center;white-space:nowrap}.brand img{object-fit:contain}.topbar nav{display:flex;gap:24px;font-size:13px}.topbar>button{margin-left:auto;font-size:12px}main{max-width:1600px;margin:auto;padding:30px 4% 0}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:38px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery{min-width:0;scroll-margin-top:20px}.ring{position:relative;height:520px;min-width:0;touch-action:pan-y;perspective:1000px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#e7eadf66,transparent 62%)}.ring-card{position:absolute;left:50%;top:50%;padding:0;border:0;border-radius:8px;background:none;will-change:transform;box-shadow:0 20px 35px -15px #1e251f55;overflow:hidden}.ring-card img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.ring-card:hover{background:none}.gallery-controls{display:flex;justify-content:center;gap:24px;align-items:center}.gallery-controls span{font-size:12px;min-width:50px;text-align:center;color:var(--muted)}.compose{border-left:1px solid var(--line);padding:8px 0 0 28px;scroll-margin-top:20px}.compose form{display:grid;gap:17px;margin-top:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.size-preview{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;height:28px;margin-top:-8px}.size-preview span{border:1px solid var(--green);height:20px;aspect-ratio:1}.engine{display:flex;align-items:center;gap:8px;padding:18px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.engine>span:last-child{margin-left:auto}.status-dot{width:6px;height:6px;background:var(--green);border-radius:50%}.history{margin-top:42px;border-top:1px solid var(--line);padding:26px 0;scroll-margin-top:20px}.history .section-head select{width:150px;font-size:12px}.history-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin-top:24px}.history-item{min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fffefa;position:relative}.thumbnail{height:150px;display:grid;place-items:center;width:100%;padding:10px;border:0;border-radius:0;background:#eceee6;touch-action:pan-y}.thumbnail img{height:100%;width:100%;object-fit:contain;pointer-events:none}.history-info{padding:12px;display:grid;gap:8px}.history-info .row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px}.history-info button{padding:4px 8px;font-size:11px}.history-info time{color:var(--muted)}.progress{height:3px;accent-color:var(--green);width:100%}.job-error{font-size:11px;color:#ac3b32;overflow-wrap:anywhere}.empty{display:grid;align-content:center;justify-items:center;gap:15px;color:var(--muted);text-align:center;min-height:170px;width:100%;grid-column:1/-1}.ring>.empty{height:100%}.empty img{width:84px;height:84px;object-fit:contain;opacity:.85}.empty strong{font:26px var(--serif);color:var(--ink)}.shred-slot{margin:24px auto 0;max-width:480px;text-align:center;color:var(--muted);font-size:12px;padding:14px 20px}.shred-slot.over{background:#f4dfd7}.slit{height:5px;border-radius:4px;background:#3e443d;box-shadow:0 4px 0 #d5d9ce;margin-top:10px}.shred-piece{position:fixed;pointer-events:none;z-index:150;background-repeat:no-repeat;transform-origin:top center}.drag-ghost{position:fixed;pointer-events:none;z-index:140;max-width:140px;max-height:140px;object-fit:contain;box-shadow:0 12px 28px #0005}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 4%;font-size:11px;color:var(--muted)}dialog{border:0;padding:0;color:inherit}dialog::backdrop{background:#111510b8;backdrop-filter:blur(6px)}#viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:#171b18;color:#f3f3ec}body:has(dialog[open]){overflow:hidden}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:100%;padding:24px;gap:24px}.viewer-frame{display:grid;place-items:center;perspective:800px;min-width:0;min-height:0;background:radial-gradient(ellipse at center,#2a302b,#1c211d 75%);overflow:hidden}.press-surface{position:relative;transform-style:preserve-3d;max-width:90%;max-height:90%;border-radius:8px;box-shadow:0 20px 44px -8px #0008;will-change:transform}.press-surface img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}.press-shade{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.viewer-panel{display:flex;flex-direction:column;gap:20px;min-height:0;overflow:auto;padding:16px 6px}.viewer-panel .eyebrow{color:#b0b8ab;margin:0}.viewer-panel button{border-color:#495147}.viewer-panel button:hover{background:#363e34}.prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#d6ddcf;font-size:14px;line-height:1.8}.viewer-panel dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:10px;font-size:12px;border-top:1px solid #3c4538;padding-top:20px;margin:0}.viewer-panel dt{color:#a2af9b}.viewer-panel dd{margin:0;overflow-wrap:anywhere}.viewer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.viewer-actions button{font-size:12px}.danger{color:#bb4d38}#viewer .danger{color:#eda48e}#viewer-status{font-size:12px;min-height:20px;color:#deb499}#confirm{width:min(420px,calc(100% - 32px));padding:28px;border-radius:8px;background:var(--paper)}#confirm p{margin-top:16px;font-size:14px;color:var(--muted)}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.notices{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;display:grid;gap:8px;width:min(440px,calc(100% - 24px))}.notice{background:#242e25;color:white;padding:14px 18px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 6px 30px #0003;font-size:13px}.notice button{color:white;padding:5px 10px}.pending{opacity:.5}.pending button{pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mode-switch{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#e9ece4;border-radius:6px}.mode-switch label{position:relative;cursor:pointer;text-align:center}.mode-switch input{position:absolute;opacity:0;width:1px;height:1px}.mode-switch span{padding:10px 4px;border:1px solid transparent;border-radius:5px}.mode-switch input:checked+span{background:#fffefa;border-color:var(--line);color:var(--ink)}.mode-switch input:focus-visible+span{outline:2px solid var(--coral)}#reference-fields{display:grid;gap:12px}.upload-label input{font-size:12px;padding:8px;width:100%}.reference-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-item{position:relative;min-width:0}.reference-item img{display:block;width:100%;height:90px;object-fit:contain;background:#e9ece4;border-radius:5px}.reference-item button{position:absolute;right:3px;top:3px;width:26px;height:26px;padding:0;background:#fffefa;font-size:19px}.reference-item span{display:block;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.primary #generate-label{font-size:15px}#capacity[data-busy=true]{color:var(--coral)}#text-size-fields{display:grid;gap:10px}.job-mode{font-size:11px;color:var(--muted)}
@media(min-width:1500px){.ring{height:620px}}
@media(max-width:1050px){.workspace{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.compose{padding-left:20px}.ring{height:480px}.viewer-layout{grid-template-columns:minmax(0,1fr) 290px;padding:16px;gap:16px}.topbar{gap:22px}.brand{font-size:22px}}
@media(max-width:720px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;gap:10px;padding:12px 5%}.brand{font-size:22px}.topbar nav{order:3;width:100%;justify-content:center;gap:40px;padding-top:8px}.workspace{grid-template-columns:1fr}.compose{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.ring{height:390px}.gallery h1{font-size:34px}main{padding-top:22px}.history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.thumbnail{height:140px}.history-info{padding:10px}.viewer-layout{grid-template-columns:1fr;grid-template-rows:minmax(280px,55dvh) auto;overflow:auto;gap:16px;padding:14px}.viewer-panel{overflow:visible;padding:8px}#viewer-close{position:fixed;top:18px;right:18px;z-index:10;background:#242c24}.history h2{font-size:24px}.history .section-head select{width:125px}.history-info .row{flex-wrap:wrap}footer span{max-width:55%;text-align:right}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.press-surface{transform:none!important}}