:root{--tagline-color:#ffffff;--logo-x:2.5;--logo-y:3.5;--logo-width:8.5;--tagline-x:5.5;--tagline-y:44;--tagline-size:2.2;--tagline-weight:700}:root{font-family:DM Sans,Arial,sans-serif;color:#192520;background:#eceae4;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #e95e38;outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;padding:0 28px;background:#edebe5;border-bottom:1px solid #d3d3c9;gap:24px;flex:none}.wordmark{font:700 19px/1 Space Grotesk,sans-serif;letter-spacing:-1.2px;color:#13271e;text-decoration:none;white-space:nowrap}.wordmark-dot{font-size:10px;color:#e65f38;margin-left:2px;vertical-align:top}.topbar-center{font:600 10px/1 Space Grotesk,sans-serif;letter-spacing:2.2px;display:flex;align-items:center;gap:12px;margin-left:auto;color:#23362e;white-space:nowrap}.topbar-rule{width:28px;height:1px;background:#23362e}.topbar-sub{color:#858b83}.topbar-right{font:700 9px/1 Space Grotesk,sans-serif;letter-spacing:1.6px;display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap}.status-dot,.view-live{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e76b44;box-shadow:0 0 0 3px #e76b4430}.version{margin-left:18px;padding:9px 11px;border:1px solid #b9c0b4;border-radius:2px}.workspace{flex:1;min-height:770px;display:grid;grid-template-columns:minmax(250px,285px) minmax(460px,1fr) minmax(325px,365px)}.intro-panel{padding:37px 23px 26px;border-right:1px solid #d1d2c8;display:flex;flex-direction:column;min-width:0}.eyebrow{font:700 9px/1 Space Grotesk,sans-serif;letter-spacing:1.8px;color:#d7603d;display:flex;align-items:center;gap:9px}.eyebrow-line{width:16px;height:1px;background:#d7603d}.intro-panel h1{font:600 clamp(33px,3.1vw,47px)/.99 "Space Grotesk",sans-serif;letter-spacing:-2.5px;margin:38px 0 17px}.intro-panel h1 em{font-style:normal;color:#e8643f}.intro-copy{font-size:12px;line-height:1.85;color:#68736b;margin:0 0 34px;max-width:225px}.step-list{border-top:1px solid #cbd0c6}.step{display:grid;grid-template-columns:30px 1fr 14px;gap:8px;align-items:start;padding:15px 0;border-bottom:1px solid #cbd0c6;color:#879188}.step.active{color:#1d3027}.step-num{font:600 11px/1.5 Space Grotesk,sans-serif;color:#e46842}.step strong,.step small{display:block}.step strong{font-size:11px;font-weight:700;margin-bottom:4px}.step small{font-size:10px;color:#8a938b}.step-mark{font-size:14px;color:#aab2a8}.spec-card{margin-top:auto;border:1px solid #bcc5b8;background:#e4e8de;padding:15px 15px 13px}.spec-title{display:flex;justify-content:space-between;font:700 10px/1 Space Grotesk,sans-serif;letter-spacing:1.6px}.spec-title span{font-size:16px;font-weight:400}.spec-shape{height:144px;display:flex;align-items:center;justify-content:center;position:relative}.shape-outer{width:71px;height:116px;border-radius:22px;background:#becac0;border:1px solid #9dad9d;transform:rotate(-18deg);box-shadow:7px 8px #c9d0c4}.shape-inner{position:absolute;inset:8px;border:1px dashed #849588;border-radius:15px}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-top:1px solid #c7cec2;padding-top:12px}.spec-grid>div+div{border-left:1px solid #c7cec2;padding-left:8px}.spec-grid span,.spec-grid strong{display:block}.spec-grid span{font:600 8px/1.2 Space Grotesk,sans-serif;color:#798579;letter-spacing:1px;margin-bottom:6px}.spec-grid strong{font:700 13px/1 Space Grotesk,sans-serif;white-space:nowrap}.spec-grid small{font-size:7px;font-weight:600;color:#879288}.viewer-panel{min-width:0;min-height:680px;position:relative;background:#dfe4dc;overflow:hidden}.viewer-panel:after{content:"";pointer-events:none;position:absolute;inset:15px;border:1px solid #b8c5b75c}.viewer-top{position:absolute;z-index:2;top:34px;left:36px;right:36px;display:flex;justify-content:space-between;align-items:center;color:#33453a;font:700 10px/1 Space Grotesk,sans-serif;letter-spacing:1.5px;pointer-events:none}.viewer-top>span:first-child{display:flex;align-items:center;gap:10px}.viewer-top-right{font-size:9px;color:#87988c}.view-live{width:6px;height:6px;background:#e76b44}.viewer-canvas{position:absolute;inset:0;touch-action:none}.viewer-canvas canvas{display:block;width:100%;height:100%}.viewer-canvas.drag-over:after{content:"松开图片以更换贴图";position:absolute;inset:20px;display:grid;place-items:center;background:#e6ece8db;border:2px dashed #e76b44;color:#244133;font-size:20px;font-weight:700;z-index:4}.loading{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;color:#54675b;font-size:12px;white-space:nowrap}.loading-spinner{width:16px;height:16px;border:2px solid #aab9ab;border-top-color:#e76b44;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewer-hint{position:absolute;z-index:2;left:50%;bottom:105px;transform:translate(-50%);font-size:10px;letter-spacing:.4px;color:#66776a;background:#e5ebe2d9;border:1px solid #bdc9bd;padding:9px 12px;white-space:nowrap;pointer-events:none;transition:opacity .3s}.viewer-hint.hidden{opacity:0}.viewer-bottom{position:absolute;z-index:2;left:35px;right:35px;bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:10px}.view-buttons{display:flex;gap:4px;padding:5px;background:#edf0e9de;border:1px solid #c7d0c3}.view-button{background:transparent;border:0;color:#67746b;padding:9px 11px;font-size:10px;font-weight:700;min-width:65px}.view-button span{margin-left:6px;font-size:12px;font-weight:400}.view-button.selected{background:#1e372b;color:#f4f4ef}.icon-button{width:37px;height:37px;background:#edf0e9de;border:1px solid #c7d0c3;color:#284233;font-size:22px;line-height:1}.controls-panel{background:#f2f0ea;border-left:1px solid #d1d2c8;padding:29px 24px 26px;overflow:auto;min-width:0}.controls-heading{font:700 9px/1 Space Grotesk,sans-serif;letter-spacing:2px;display:flex;align-items:center;justify-content:space-between;color:#d55e3a}.controls-cross{font-size:20px;font-weight:400;color:#1b3627}.controls-title{font:600 24px/1.1 Space Grotesk,sans-serif;letter-spacing:-1.2px;margin-top:16px;padding-bottom:23px;border-bottom:1px solid #d1d2c9;display:flex;align-items:end;justify-content:space-between}.controls-title span{font:700 9px/1 Space Grotesk,sans-serif;letter-spacing:1px;color:#a4aaa0}.control-section{padding:18px 0 20px;border-bottom:1px solid #d1d2c9}.section-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:15px}.section-number{font:700 10px/1 Space Grotesk,sans-serif;color:#df6642}.section-heading h2{font-size:12px;margin:0;font-weight:700}.section-english{font:700 8px/1 Space Grotesk,sans-serif;letter-spacing:1px;color:#a5aaa1;margin-left:auto}.artwork-preview{height:123px;overflow:hidden;background:#fff;position:relative;border:1px solid #d8dad3}.artwork-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.artwork-corner{position:absolute;left:8px;top:8px;background:#f5f5f0e8;padding:5px 6px;font:700 7px/1 Space Grotesk,sans-serif;letter-spacing:.7px}.file-row{display:flex;align-items:center;justify-content:space-between;padding:12px 1px}.file-row strong,.file-row small{display:block;max-width:245px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row strong{font-size:11px}.file-row small{font-size:9px;color:#929a91;margin-top:3px}.file-check{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#c6dec4;color:#1b5238;font-size:11px}.upload-button,.export-button{width:100%;height:42px;background:#203b2b;color:#f7f8f1;border:1px solid #203b2b;padding:0 14px;text-align:left;font-size:11px;font-weight:700;display:flex;align-items:center;gap:10px;transition:background .2s,transform .2s}.upload-button:hover,.export-button:hover{background:#2e5c3e;transform:translateY(-1px)}.upload-button>span:first-child{font-size:18px;font-weight:400}.button-arrow,.export-button span{margin-left:auto;font-size:17px;font-weight:400}.file-help{font-size:9px;color:#9aa399;text-align:center;margin:10px 0 0}.segmented{display:grid;grid-template-columns:1fr 1fr;background:#e5e7e0;padding:3px;margin-bottom:18px}.segment{height:32px;border:0;background:transparent;color:#7d897f;font-size:10px;font-weight:700}.segment.selected{background:#fafaf5;color:#1f3829;box-shadow:0 1px 3px #2b483118}.slider-control{margin:0 0 13px}.slider-control label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;color:#4c5c50;margin-bottom:7px}.slider-control output{font:700 10px/1 Space Grotesk,sans-serif;color:#233b2a}.slider-control input[type=range]{display:block;width:100%;margin:0;appearance:none;background:linear-gradient(to right,#e76b44 var(--progress),#d8dcd3 var(--progress));height:3px;border-radius:0;cursor:pointer}.slider-control input[type=range]::-webkit-slider-thumb{appearance:none;background:#f7f5ee;border:2px solid #d96340;width:13px;height:13px;border-radius:50%}.slider-control input[type=range]::-moz-range-thumb{background:#f7f5ee;border:2px solid #d96340;width:10px;height:10px;border-radius:50%}.text-button{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:3px 0;color:#d25d3b;font-size:11px;font-weight:700}.text-button:first-letter{font-size:17px}.finish-section{padding-bottom:12px}.switch-row,.color-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0 14px}.switch-row{cursor:pointer;border-bottom:1px solid #dedfd7}.switch-row strong,.switch-row small,.color-row strong,.color-row small{display:block}.switch-row strong,.color-row strong{font-size:10px}.switch-row small,.color-row small{font-size:9px;color:#9aa399;margin-top:3px}.switch-row input{position:absolute;opacity:0;width:1px;height:1px}.switch-ui{position:relative;width:31px;height:17px;flex:none;background:#c5cbc2;border-radius:15px;transition:background .2s}.switch-ui:after{content:"";position:absolute;left:3px;top:3px;width:11px;height:11px;border-radius:50%;background:#fff;transition:transform .2s}.switch-row input:checked+.switch-ui{background:#285638}.switch-row input:checked+.switch-ui:after{transform:translate(14px)}.switch-row input:focus-visible+.switch-ui{outline:2px solid #e95e38;outline-offset:3px}.color-row{padding:14px 0 0}.swatches{display:flex;gap:6px}.swatch{height:19px;width:19px;border-radius:50%;background:var(--swatch);border:2px solid #f2f0ea;box-shadow:0 0 0 1px #b7beb5}.swatch.selected{box-shadow:0 0 0 2px #315a3a}.export-section{border:0;padding-bottom:0}.export-button{background:#e76b44;border-color:#e76b44}.export-button:hover{background:#cb5935}.export-section p{font-size:9px;line-height:1.6;color:#9aa399;margin:10px 0 0}.footer{height:39px;border-top:1px solid #d1d2c8;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 28px;color:#879188;background:#edebe5;font:700 8px/1 Space Grotesk,sans-serif;letter-spacing:1.1px;flex:none}@media(max-width:1120px){.workspace{grid-template-columns:minmax(200px,235px) minmax(390px,1fr) minmax(300px,325px)}.intro-panel{padding:30px 18px 20px}.controls-panel{padding:26px 18px}.topbar{padding:0 18px}.topbar-center{letter-spacing:1px}.topbar-right{font-size:8px}}@media(max-width:930px){.workspace{min-height:0;grid-template-columns:minmax(0,1fr) 310px}.intro-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;column-gap:20px;padding:24px}.intro-panel .eyebrow{grid-column:1}.intro-panel h1{grid-column:1;margin:10px 0}.intro-copy{grid-column:1;margin:0;max-width:none}.step-list{grid-column:2;grid-row:1/4}.spec-card{display:none}.viewer-panel{min-height:650px}.topbar-center{display:none}}@media(max-width:680px){.topbar{height:58px;padding:0 16px}.wordmark{font-size:17px}.topbar-right{font-size:0;margin-left:auto}.status-dot{display:none}.version{font-size:9px;margin:0;padding:7px}.workspace{display:block}.intro-panel{display:block;padding:25px 19px}.intro-panel h1{font-size:39px;margin:16px 0 10px}.intro-copy{font-size:11px;max-width:350px}.step-list{display:none}.viewer-panel{height:560px;min-height:0}.viewer-top{top:24px;left:23px;right:23px}.viewer-top-right{display:none}.viewer-bottom{left:22px;right:22px;bottom:22px}.viewer-hint{bottom:84px}.controls-panel{border-left:0;border-top:1px solid #d1d2c8;padding:23px 20px 30px}.artwork-preview{height:170px}.footer{padding:0 17px}.footer span:nth-child(2){display:none}}@media(max-width:400px){.viewer-panel{height:480px}.view-button{min-width:55px;padding:8px 7px}.viewer-hint{font-size:9px}}.upload-wrap{position:relative}.upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-wrap:focus-within{outline:2px solid #e95e38;outline-offset:3px}.upload-wrap:hover .upload-button{background:#2e5c3e;transform:translateY(-1px)}.material-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:9px}.material-label strong{font-size:10px}.material-label small{font-size:8px;color:#98a096}.material-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:16px}.material-option{display:flex;align-items:center;gap:7px;min-width:0;height:37px;padding:5px 7px;background:#e9e8e1;border:1px solid #d1d5cc;color:#627067;text-align:left;font-size:9px;font-weight:700}.material-option.selected{background:#fffdf7;border-color:#637c69;color:#263b2e}.material-sample{display:block;flex:none;width:25px;height:25px;border:1px solid #c9c5b9;border-radius:3px}.coated-sample{background-color:#d8cbbb;background-image:repeating-linear-gradient(31deg,#ffffff2e 0px,#ffffff2e 1px,transparent 1px,transparent 3px)}.grip-sample{background-color:#252b2b;background-image:radial-gradient(#78807b 18%,transparent 22%);background-size:5px 5px;border-color:#555f5d}.side-graphic-row{padding:14px 0 4px}.side-graphic-row strong,.side-graphic-row small{display:block}.side-graphic-row strong{font-size:10px}.side-graphic-row small{font-size:9px;color:#9aa399;margin-top:3px}.side-graphic-row img{display:block;width:100%;height:auto;min-height:52px;margin-top:10px;background:#e5e7e4;border:1px solid #d1d5cc;object-fit:contain}.viewer-top b{font:inherit}.viewer-actions{display:flex;align-items:center;gap:6px}.mode-button{height:37px;padding:0 12px;background:#edf0e9de;border:1px solid #c7d0c3;color:#284233;font-size:10px;font-weight:700;white-space:nowrap}.mode-button span{margin-left:6px;font-size:13px;font-weight:400}.mode-button[aria-pressed=true]{background:#1e372b;border-color:#1e372b;color:#f4f4ef}.dim-views{display:none}.viewer-panel.dim-mode .dim-views{display:flex}.viewer-panel.dim-mode .view-buttons:not(.dim-views){display:none}.dim-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;display:none}.viewer-panel.dim-mode .dim-overlay{display:block}.viewer-panel.dim-mode .viewer-top{color:#f3f3f0}.viewer-panel.dim-mode .viewer-top-right{color:#e4e4e0}.side-preview{background:#e5e7e4;border:1px solid #d1d5cc;margin-bottom:14px}.side-preview img{display:block;width:100%;height:auto;min-height:40px;object-fit:contain;transition:transform .2s}.side-section .switch-row{padding:10px 0}.side-size{white-space:pre-line;font:700 10px/1.6 Space Grotesk,sans-serif;letter-spacing:.4px;color:#4c5c50;margin:12px 0 8px}@media(max-width:400px){.mode-button{padding:0 8px}.mode-button span{display:none}}.brand{display:none}:root:has(body.presentation){background:#467674}:root:has(body.presentation.spec-mode){background:#ebebe8}body.presentation{overflow:hidden;background:#467674}body.presentation .topbar,body.presentation .intro-panel,body.presentation .controls-panel,body.presentation .footer,body.presentation .viewer-top,body.presentation .viewer-hint,body.presentation .viewer-bottom,body.presentation .viewer-panel:after{display:none}body.presentation #app{min-height:0}body.presentation .workspace{display:block;min-height:0}body.presentation .viewer-panel{position:fixed;inset:0;min-height:0;height:auto}body.presentation .brand{display:block}body.presentation .brand-logo,body.presentation .brand-tagline{position:fixed;z-index:5;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none}body.presentation .brand-logo{display:block;left:calc(var(--logo-x) * 1%);top:calc(var(--logo-y) * 1%);width:max(64px,calc(var(--logo-width) * 1vw));height:auto}body.presentation .brand-tagline{margin:0;left:calc(var(--tagline-x) * 1%);top:calc(var(--tagline-y) * 1%);font-family:Karla,Arial,sans-serif;font-size:max(10px,calc(var(--tagline-size) * 1vw));font-weight:var(--tagline-weight);line-height:1.2;letter-spacing:.01em;color:var(--tagline-color);white-space:nowrap}.brand-edit-toggle,.brand-editor{display:none}body.presentation .brand-edit-toggle{display:grid;place-items:center;position:fixed;z-index:6;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;border:1px solid #ffffff80;background:#0b2a4a40;color:#fff;font-size:17px;opacity:.6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .2s}body.presentation .brand-edit-toggle:hover,body.presentation .brand-edit-toggle:focus-visible{opacity:1}body.presentation .brand-edit-toggle[hidden]{display:none}body.presentation .brand-editor{display:block;position:fixed;z-index:6;right:18px;bottom:18px;width:min(300px,calc(100vw - 36px));padding:14px 16px 16px;background:#f2f0eaf2;border:1px solid #d1d2c8;box-shadow:0 10px 30px #0b2a4a33;color:#192520;font-size:11px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body.presentation .brand-editor[hidden]{display:none}.brand-editor header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.brand-editor header strong{font-size:12px}.brand-editor-close{border:0;background:#1e372b;color:#f4f4ef;font-size:10px;font-weight:700;padding:6px 10px}.brand-editor-hint{margin:0 0 10px;color:#7d897f;font-size:10px}.brand-editor-row{display:block;margin:0 0 11px}.brand-editor-row>span{display:flex;justify-content:space-between;font-weight:700;color:#4c5c50;margin-bottom:6px}.brand-editor-row output{font:700 10px/1 Space Grotesk,sans-serif;color:#233b2a}.brand-editor input[type=range]{display:block;width:100%;margin:0;appearance:none;background:linear-gradient(to right,#e76b44 var(--progress),#d8dcd3 var(--progress));height:3px;cursor:pointer}.brand-editor input[type=range]::-webkit-slider-thumb{appearance:none;background:#f7f5ee;border:2px solid #d96340;width:14px;height:14px;border-radius:50%}.brand-editor input[type=range]::-moz-range-thumb{background:#f7f5ee;border:2px solid #d96340;width:11px;height:11px;border-radius:50%}.brand-editor-weights{display:grid;grid-template-columns:repeat(3,1fr);background:#e5e7e0;padding:3px}.brand-editor-weights button{height:28px;border:0;background:transparent;color:#7d897f;font-size:10px;font-weight:700}.brand-editor-weights button.selected{background:#fafaf5;color:#1f3829;box-shadow:0 1px 3px #2b483118}.brand-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:4px}.brand-editor-actions button{height:32px;border:1px solid #c7d0c3;background:#edf0e9;color:#284233;font-size:10px;font-weight:700}body.brand-editing .brand-logo,body.brand-editing .brand-tagline{pointer-events:auto;cursor:move;outline:1px dashed #ffffff99;outline-offset:6px}body.brand-editing .brand-selected{outline:2px solid #ffffff;outline-offset:6px}.brand-editor-tabs{display:grid;grid-template-columns:1fr 1fr;background:#e5e7e0;padding:3px;margin:8px 0 6px}.brand-editor-tabs button{height:30px;border:0;background:transparent;color:#7d897f;font-size:11px;font-weight:700}.brand-editor-tabs button.selected{background:#fafaf5;color:#1f3829;box-shadow:0 1px 3px #2b483118}.brand-editor-row[hidden],.shot-buttons,.view-controls{display:none}body.presentation .view-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;position:fixed;z-index:5;left:calc(var(--logo-x) * 1% + env(safe-area-inset-left));bottom:calc(clamp(18px,3.2vh,34px) + env(safe-area-inset-bottom));max-width:calc(100vw - 90px)}.brand-editor-tabs{grid-template-columns:repeat(3,1fr)}.brand-editor-views{display:grid;gap:6px;margin-bottom:10px}.brand-editor-views[hidden]{display:none}.brand-editor-view{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:6px;padding:8px 0;border-bottom:1px solid #dedfd7}.brand-editor-view span strong{display:block;font-size:12px}.brand-editor-view span small{display:block;font-size:9px;color:#8a938b;margin-top:2px}.brand-editor-view button{height:28px;padding:0 9px;border:1px solid #c7d0c3;background:#edf0e9;color:#284233;font-size:10px;font-weight:700}.brand-editor-view button[data-capture]{background:#1e372b;border-color:#1e372b;color:#f4f4ef}.spec-panel,.scene-fade{display:none}body.presentation .scene-fade{display:block;position:fixed;inset:0;z-index:4;background:#ebebe8;opacity:0;pointer-events:none;transition:opacity .38s ease}body.presentation .scene-fade.visible{opacity:1}body.presentation.spec-mode .spec-panel{display:block;position:fixed;z-index:5;right:clamp(24px,8vw,140px);top:50%;transform:translateY(-50%);color:#0f1a24;font-family:Karla,Arial,sans-serif;animation:spec-in .6s ease both}@keyframes spec-in{0%{opacity:0;transform:translateY(calc(-50% + 12px))}to{opacity:1;transform:translateY(-50%)}}.spec-kicker{margin:0 0 5px;font-size:clamp(9px,.72vw,11px);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6b7680}.spec-panel h2{margin:0 0 clamp(12px,1.4vw,20px);font-size:clamp(20px,2.1vw,32px);font-weight:700;letter-spacing:.02em;line-height:1.1}.spec-lines{font-size:clamp(12px,1.05vw,15px);font-weight:400;letter-spacing:.04em;line-height:1.55;color:#0f1a24}.spec-lines p{margin:0 0 .9em}.spec-lines p:last-child{margin-bottom:0}body.presentation.spec-mode .brand-tagline{display:none}body.presentation.spec-mode .brand-edit-toggle{border-color:#0f1a2440;background:#0f1a2410;color:#0f1a24}body.presentation .view-controls{gap:clamp(14px,2vw,28px)}body.presentation .shot-buttons{display:flex;flex-wrap:wrap;gap:0 clamp(6px,1vw,14px);padding:0;background:none;border:0}body.presentation .shot-buttons button{--ink:255,255,255;padding:12px 10px;border:0;background:none;color:rgb(var(--ink));font:700 13px/1.1 Karla,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .25s}body.presentation .shot-buttons button span{background-image:linear-gradient(to top,currentColor,currentColor);background-repeat:no-repeat;background-position:left bottom;background-size:0 1px;padding-bottom:4px;transition:background-size .25s}body.presentation .shot-buttons button:hover{color:rgba(var(--ink),.7)}body.presentation .shot-buttons button:hover span,body.presentation .shot-buttons button.selected span{background-size:100% 1px}body.presentation .shot-buttons button:focus-visible{outline:1px solid rgb(var(--ink));outline-offset:2px}body.presentation.spec-mode .shot-buttons button{--ink:25,35,24}body.presentation .specs-button{position:relative;overflow:hidden;isolation:isolate;padding:9px 18px 7px;min-height:34px;border:2px solid #1a1b18;border-radius:0;background:#1a1b18;color:#fff;font:600 13px/1 Karla,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .5s,background-color .5s}body.presentation .specs-button:after{content:"";position:absolute;z-index:-1;top:0;left:-100%;width:100%;height:100%;transform:skew(-15deg);background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent)}body.presentation .specs-button:hover{background-color:#1a1b18d9;transition-delay:.25s}body.presentation .specs-button:hover:after{animation:shine 1s ease}@keyframes shine{to{left:100%}}body.presentation .specs-button:focus-visible{outline:2px solid #fff;outline-offset:3px}body.presentation.spec-mode .specs-button:focus-visible{outline-color:#1a1b18}@media(max-width:560px){body.presentation .shot-buttons button{padding:10px 6px;font-size:11px;letter-spacing:.14em}body.presentation .specs-button{padding:8px 14px 6px;min-height:30px;font-size:12px}}@media(max-aspect-ratio:4/5){body.presentation{min-height:calc(100dvh + 120px);overflow-x:hidden;overflow-y:auto}body.presentation .viewer-canvas,body.presentation .viewer-canvas canvas{touch-action:pan-y pinch-zoom!important}body.presentation .brand-logo{left:calc(var(--logo-x) * 1% + env(safe-area-inset-left));top:calc(var(--logo-y) * 1% + env(safe-area-inset-top));width:calc(var(--logo-width) * 1vw)}body.presentation .brand-tagline{left:calc(var(--tagline-x) * 1% + env(safe-area-inset-left));top:calc(var(--tagline-y) * 1% + env(safe-area-inset-top));font-size:min(5vw,max(12px,calc(var(--tagline-size) * 1vw)));white-space:normal;max-width:88vw}body.presentation .view-controls{left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));bottom:max(30px,calc(env(safe-area-inset-bottom) + 14px));max-width:none;flex-direction:column;align-items:stretch;gap:10px}body.presentation .shot-buttons{justify-content:space-between;gap:0}body.presentation .shot-buttons button{padding:10px 2px;font-size:12px;letter-spacing:.16em}body.presentation .specs-button{width:100%;padding:13px 18px 11px;min-height:44px;font-size:12px}body.presentation .brand-edit-toggle{display:none}body.presentation:after{content:"";position:fixed;z-index:4;left:0;right:0;bottom:0;height:190px;pointer-events:none;background:linear-gradient(to top,#081e2c6b,#081e2c00)}body.presentation.spec-mode:after{display:none}body.presentation.spec-mode .spec-panel{top:auto;right:20px;left:20px;transform:none;animation:none;bottom:calc(max(30px,calc(env(safe-area-inset-bottom) + 14px)) + 108px)}body.presentation.spec-mode .spec-panel h2{margin-bottom:10px;font-size:22px}body.presentation.spec-mode .spec-kicker{font-size:10px}body.presentation.spec-mode .spec-lines{display:grid;grid-template-columns:auto auto;justify-content:space-between;column-gap:12px;row-gap:8px;font-size:12px;line-height:1.5;letter-spacing:.01em}body.presentation.spec-mode .spec-lines p{margin:0}body.presentation.spec-mode .spec-lines p:nth-child(1){grid-column:1;grid-row:1}body.presentation.spec-mode .spec-lines p:nth-child(3){grid-column:2;grid-row:1}body.presentation.spec-mode .spec-lines p:nth-child(2){grid-column:1 / -1;grid-row:2}}@media(pointer:coarse){body.presentation .brand-edit-toggle{display:none}}body.presentation.tune .brand-edit-toggle:not([hidden]){display:grid}
