:root{--ink:#17241f;--muted:#69736d;--paper:#f7f5ef;--card:#fffefa;--line:#deded6;--acid:#c9ff46;--cyan:#06d5d2;--red:#ff526b;--orange:#ffb46d}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#e8eed5 0,transparent 28rem),var(--paper);color:var(--ink);font-family:"Noto Sans SC",sans-serif}.page-shell{width:min(1160px,calc(100% - 32px));margin:auto;padding:24px 0 52px}.site-header{height:52px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.brand{font:700 19px Outfit,sans-serif;letter-spacing:.04em;text-decoration:none;color:var(--ink)}.brand-mark{color:#508359;margin-right:5px}.site-header p{margin:0}.template-tag{margin-left:auto;border:1px solid #b8c2b4;border-radius:99px;padding:5px 10px;font:600 11px Outfit,sans-serif;color:#415749}.hero{display:flex;align-items:end;justify-content:space-between;padding:72px 0 42px;gap:30px}.eyebrow{font:600 11px Outfit,sans-serif;letter-spacing:.12em;color:#56815c;margin:0 0 8px}.hero h1{font:700 clamp(34px,5vw,58px)/1.06 Outfit,"Noto Sans SC",sans-serif;margin:0;letter-spacing:-.04em}.hero-copy{max-width:580px;line-height:1.75;color:var(--muted);margin:19px 0 0}.progress{display:flex;gap:17px;padding:0;margin:0 0 3px;list-style:none;font-size:12px;color:#9aa09a;white-space:nowrap}.progress li{display:flex;align-items:center;gap:6px}.progress span{display:grid;place-items:center;width:19px;height:19px;border:1px solid currentColor;border-radius:50%;font:600 10px Outfit,sans-serif}.progress .is-active{color:var(--ink)}.progress .is-active span{background:var(--acid);border-color:var(--acid)}.card{background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 28px #17241f0a}.order-panel{padding:26px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.section-heading h2,.submit-bar h2,.product-summary h2{font:700 21px/1.2 Outfit,"Noto Sans SC",sans-serif;letter-spacing:-.02em;margin:0}.required{font-size:12px;color:#b44a3d;background:#fff0ed;padding:4px 8px;border-radius:6px}.source-switch{margin-top:24px;display:flex;gap:10px}.source-switch label{cursor:pointer}.source-switch input{position:absolute;opacity:0}.source-switch span{display:block;border:1px solid var(--line);padding:10px 14px;border-radius:7px;font-size:13px}.source-switch input:checked+span{border-color:var(--ink);background:#eff8d4}.order-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.field span{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.field input{width:100%;height:43px;border:1px solid #cdd1c9;border-radius:7px;background:#fff;padding:0 11px;font:14px inherit;outline:none}.field input:focus{border-color:#517f5a;box-shadow:0 0 0 3px #d8edc9}.field small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.product-summary{padding:20px 26px;margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:22px}.product-summary dl{display:flex;margin:0;gap:29px}.product-summary dl div{border-left:1px solid var(--line);padding-left:18px}.product-summary dt{font-size:10px;color:var(--muted);margin-bottom:4px}.product-summary dd{margin:0;font:600 13px Outfit,"Noto Sans SC",sans-serif}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:18px}.asset-list{padding:26px}.muted{color:var(--muted);line-height:1.65;font-size:12px;margin:12px 0 22px}.asset-items{display:grid;gap:10px}.asset-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 15px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px 14px}.asset-item.is-selected{border-color:#74a175;box-shadow:0 0 0 2px #e3f1d7}.asset-item.is-ready{background:#fbfff7}.asset-select{background:none;border:0;padding:0;text-align:left;display:flex;align-items:center;min-width:0;cursor:pointer;color:inherit}.asset-number{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#edf0e9;font:600 11px Outfit,sans-serif;margin-right:9px}.asset-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-state{margin-left:auto;color:#929991;font-size:11px;padding-left:10px}.is-ready .asset-state{color:#337445}.asset-meta{grid-column:1;color:var(--muted);font-size:11px}.upload-button{grid-column:2;grid-row:1/3;border:1px solid #aeb9aa;border-radius:6px;padding:7px 9px;font-size:12px;cursor:pointer;white-space:nowrap}.upload-button:hover{background:#eff8d4}.file-input{display:none}.remove-button{position:absolute;right:11px;bottom:9px;border:0;background:none;color:#bb615a;font-size:18px;line-height:1;cursor:pointer}.preview-panel{padding:26px;min-width:0}.preview-stage{position:relative;width:min(100%,360px);margin:23px auto 14px;aspect-ratio:1;background:repeating-conic-gradient(#e9ebe6 0 25%,#f8f8f5 0 50%) 50%/14px 14px;overflow:hidden;isolation:isolate}.preview-stage[data-kind="tray"]{aspect-ratio:157/124}.preview-stage[data-kind="disc"]{border-radius:50%}.artwork-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:#8e978e;font-size:13px}.artwork-placeholder span{font:300 36px Outfit,sans-serif}.artwork-placeholder p{margin:1px 0}.preview-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}.trim-outline{position:absolute;inset:1.91%;border:1.5px solid var(--red);pointer-events:none}.safe-outline{position:absolute;inset:5.1%;border:1px dashed var(--cyan);pointer-events:none}.spine{display:none;position:absolute;top:1.91%;bottom:1.91%;width:4.46%;border-right:1px solid #798078;background:#77857819}.left-spine{left:6.37%}.right-spine{right:6.37%;border-left:1px solid #798078;border-right:0}.tray-overlay,.disc-overlay{display:none;position:absolute;inset:1.91%;pointer-events:none}.tray-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#727d7b31 0 18%,transparent 18%);clip-path:circle(50% at 54.3% 50%)}.tray-disc{position:absolute;width:79.5%;aspect-ratio:1;border:3px solid #81928b88;border-radius:50%;left:14.6%;top:10.2%;box-shadow:0 0 0 9px #7f8b8540}.tray-center{position:absolute;width:18%;aspect-ratio:1;left:45.3%;top:40%;border-radius:50%;background:#35413dbb;border:2px solid #dfebe0}.disc-overlay{border-radius:50%;inset:4.15%}.disc-print{position:absolute;inset:2.08%;border:1px solid var(--cyan);border-radius:50%}.disc-laser{position:absolute;inset:0;border:1px solid #b4b6b3;border-radius:50%}.disc-hole{position:absolute;width:20.83%;aspect-ratio:1;top:39.58%;left:39.58%;border:1.5px solid var(--red);border-radius:50%;background:#ffffff99}.preview-stage[data-kind="tray-inner"] .tray-overlay,.preview-stage[data-kind="tray-outer"] .spine,.preview-stage[data-kind="disc"] .disc-overlay{display:block}.preview-stage[data-kind="tray-outer"] .spine{display:block}.legend{display:flex;gap:13px;justify-content:center;color:var(--muted);font-size:10px}.legend span:before{content:"";display:inline-block;width:13px;height:2px;vertical-align:middle;margin:-1px 4px 0 0}.legend-cut:before{background:var(--red)}.legend-safe:before{background:var(--cyan)}.preview-notes{margin-top:18px;padding:11px;background:#f1f3ed;border-radius:7px;color:#536058;font-size:12px;line-height:1.55}.submit-bar{margin-top:18px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:30px}.submit-bar p:not(.eyebrow){font-size:12px;color:var(--muted);margin:8px 0 0}.primary-button{border:0;border-radius:8px;background:var(--ink);color:white;padding:13px 18px;font:600 14px inherit;white-space:nowrap;cursor:pointer}.primary-button span{margin-left:8px;font-size:18px}.primary-button:disabled{background:#bdc2bb;cursor:not-allowed}dialog{border:0;border-radius:14px;box-shadow:0 18px 80px #0004;max-width:370px;padding:0}.dialog-content{padding:28px;position:relative}.dialog-content h2{margin:0;font:700 26px Outfit,"Noto Sans SC",sans-serif}.dialog-content p:last-child{line-height:1.7;color:var(--muted);font-size:13px}.dialog-close{position:absolute;right:13px;top:10px;border:0;background:none;font-size:21px;cursor:pointer}@media(max-width:760px){.page-shell{width:min(100% - 20px,550px);padding-top:12px}.site-header{gap:10px}.site-header p{display:none}.template-tag{font-size:9px}.hero{padding:46px 4px 28px;display:block}.hero-copy{font-size:13px}.progress{margin-top:25px;justify-content:space-between;font-size:10px;gap:5px}.order-panel,.asset-list,.preview-panel{padding:20px}.order-fields,.workspace{grid-template-columns:1fr}.product-summary{display:block;padding:20px;margin:12px 0}.product-summary dl{margin-top:17px;justify-content:space-between;gap:5px}.product-summary dl div{padding-left:8px}.product-summary dd{font-size:11px}.preview-panel{order:-1}.asset-item{grid-template-columns:minmax(0,1fr) auto;padding:11px}.asset-name{font-size:13px}.upload-button{font-size:11px}.submit-bar{padding:20px;align-items:end}.submit-bar h2{font-size:18px}.submit-bar p:not(.eyebrow){max-width:190px}.primary-button{padding:12px}.source-switch span{font-size:12px;padding:9px}.preview-stage{max-width:300px}}
