@font-face{font-family:Catalogue;src:url(../fonts/RDRCatalogueBold-Bold.woff2)format("woff2");font-display:swap}@font-face{font-family:Gothica;src:url(../fonts/RDRGothica-Regular.woff2)format("woff2");font-display:swap}@font-face{font-family:Hapna;src:url(../fonts/HapnaSlabSerif-DemiBold.woff2)format("woff2");font-display:swap}:root{color:#1d1a15;font-synthesis:none;--ink:#1d1a15;--charcoal:#17140f;--paper:#f1eadb;--paper-deep:#dfd2bb;--cactus:#5c7b3d;--rust:#b23a2b;--ochre:#c49a52;--muted:#746d61;--shadow:0 22px 70px #0a080538;background:#17140f;font-family:Hapna,Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(120deg,#0c0a07e6,#0c0a0785 54%,#0c0a07c7),url(../img/studio-backdrop.jpg) 50%/cover fixed;min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;opacity:.7;background:radial-gradient(circle at 12% 8%,#c49a5224,#0000 30%),linear-gradient(#ffffff06 1px,#0000 1px) 0 0/100% 5px;position:fixed;inset:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:3px solid #c49a528c}.studio-shell{width:min(1540px,100% - 48px);margin:0 auto;padding:24px 0 42px;position:relative}.site-header{min-height:82px;color:var(--paper);box-shadow:var(--shadow);background:#120f0bf7;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;padding:12px 16px 12px 14px;display:flex}.brand{min-width:0;color:var(--paper);align-items:center;gap:14px;text-decoration:none;display:inline-flex}.brand-logo{background:var(--ochre);border-radius:18px 18px 10px;flex:none;place-items:center;width:58px;height:58px;display:grid;overflow:hidden}.brand-logo img{object-fit:contain;object-position:center 33%;width:54px;height:64px;transform:translateY(5px)}.brand-copy{gap:2px;display:grid}.brand-copy small,.section-kicker{color:var(--rust);letter-spacing:.13em;text-transform:uppercase;margin:0;font-family:Gothica,sans-serif;font-size:12px;line-height:1.2}.brand-copy strong{letter-spacing:.025em;font-family:Catalogue,Impact,sans-serif;font-size:29px;line-height:1}.header-actions{align-items:center;gap:12px;display:flex}.locale-switch{background:#f1eadb17;border-radius:999px;align-items:center;padding:4px;display:flex}.locale-switch button{color:#a99f8e;cursor:pointer;background:0 0;border:0;border-radius:999px;min-width:42px;min-height:36px;font-size:13px;font-weight:700;transition:color .2s,background .2s,transform .2s}.locale-switch button.is-active{color:var(--ink);background:var(--ochre)}.resource-link{min-height:44px;color:var(--paper);background:var(--cactus);border-radius:999px;align-items:center;gap:10px;padding:0 17px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.resource-link:hover{background:#49652f;transform:translateY(-2px)}.resource-link span{font-size:18px}.intro{color:var(--paper);justify-content:space-between;align-items:end;gap:32px;padding:58px 24px 34px;display:flex}.intro>div:first-child{max-width:850px}.intro .section-kicker{color:#d7b36e}.intro h1{letter-spacing:.01em;max-width:790px;margin:12px 0 0;font-family:Catalogue,Impact,sans-serif;font-size:clamp(44px,6vw,82px);font-weight:400;line-height:.94}.engine-status{color:#c8bda9;background:#f1eadb1a;border-radius:16px;align-items:center;gap:12px;min-width:max-content;padding:13px 16px;display:flex}.engine-status>span{background:#8b564e;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 6px #8b564e26}.engine-status.is-online>span{background:#77a54b;box-shadow:0 0 0 6px #77a54b26}.engine-status div{gap:2px;display:grid}.engine-status b{color:var(--paper);font-size:14px}.engine-status small{color:#a89e8d;font-size:12px}.step-navigation{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f1eadb1a;border-radius:22px;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;padding:8px;display:grid}.step-navigation button{color:#b9af9d;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:16px;align-items:center;gap:13px;min-height:70px;padding:10px 16px;transition:color .2s,background .2s,transform .2s;display:flex}.step-navigation button:hover{color:var(--paper);background:#f1eadb12}.step-navigation button.is-active{color:var(--paper);background:#27221bfa;transform:translateY(-2px);box-shadow:inset 0 0 0 1px #f1eadb14}.step-navigation button>span:first-child{color:#d7b36e;background:#ffffff14;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-family:Catalogue,Impact,sans-serif;font-size:22px;display:grid}.step-navigation button.is-active>span:first-child{color:var(--paper);background:var(--rust)}.step-navigation button>span:last-child{gap:3px;display:grid}.step-navigation b{font-size:16px}.step-navigation small{color:inherit;opacity:.68;font-size:12px}.workspace{grid-template-columns:minmax(0,1.55fr) minmax(380px,.8fr);align-items:stretch;gap:12px;display:grid}.preview-card,.control-card{box-shadow:var(--shadow);border-radius:26px}.preview-card{min-width:0;color:var(--paper);background:#17140ff5;padding:30px;overflow:hidden}.card-heading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px;display:flex}.card-heading .section-kicker{color:#d7b36e}.card-heading h2,.control-heading h2{letter-spacing:.015em;margin:7px 0 0;font-family:Catalogue,Impact,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:1}.dimension-pill{color:#d9c7a5;font-variant-numeric:tabular-nums;background:#f1eadb14;border-radius:999px;align-items:center;gap:10px;min-width:max-content;padding:10px 12px 10px 15px;font-size:13px;display:flex}.dimension-pill small{color:var(--paper);letter-spacing:.08em;background:#b23a2bbf;border-radius:999px;padding:5px 8px;font-size:10px}.canvas-frame{background-color:#27231d;background-image:linear-gradient(45deg,#312c24 25%,#0000 25%),linear-gradient(-45deg,#312c24 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#312c24 75%),linear-gradient(-45deg,#0000 75%,#312c24 75%);background-position:0 0,0 14px,14px -14px,-14px 0;background-size:28px 28px;border-radius:22px;place-items:center;min-height:520px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 120px #0000006b}.canvas-frame.background-paper{background:#6d604e}.canvas-frame.background-black{background:#050504}.canvas-frame canvas{object-fit:contain;opacity:0;cursor:grab;touch-action:none;width:min(100%,980px);height:auto;max-height:67vh;display:block}.canvas-frame canvas.has-image{opacity:1}.canvas-frame canvas:active{cursor:grabbing}.empty-canvas{z-index:1;color:#bdb19e;text-align:center;place-items:center;gap:6px;display:grid;position:absolute}.empty-canvas img{object-fit:contain;object-position:center 40%;opacity:.38;filter:grayscale();width:118px;height:118px;margin-bottom:8px}.empty-canvas b{color:var(--paper);font-family:Catalogue,Impact,sans-serif;font-size:28px;font-weight:400}.empty-canvas small{font-size:13px}.live-stamp{color:#f7eada;letter-spacing:.14em;background:#b23a2be0;border-radius:7px;padding:7px 10px;font-family:Gothica,sans-serif;font-size:10px;position:absolute;top:18px;right:18px;transform:rotate(2deg)}.preview-footer{justify-content:space-between;align-items:center;gap:20px;margin-top:16px;display:flex}.preview-footer p{color:#938978;text-align:right;margin:0;font-size:13px}.background-switch,.mode-switch{border-radius:13px;padding:4px;display:flex}.background-switch{background:#f1eadb14;flex:none}.background-switch button,.mode-switch button{cursor:pointer;background:0 0;border:0;border-radius:10px}.background-switch button{color:#a89e8b;padding:9px 13px;font-size:12px}.background-switch button.is-active{color:var(--ink);background:var(--ochre)}.proof-note{color:#8f8574;align-items:baseline;gap:10px;margin-top:18px;font-size:13px;display:flex}.proof-note b{color:#d7b36e;letter-spacing:.1em;text-transform:uppercase;font-family:Gothica,sans-serif;font-size:11px}.control-card{min-width:0;color:var(--paper);background:#1e1a14fa}.control-view{flex-direction:column;min-height:100%;padding:clamp(28px,3vw,44px);display:flex}.control-heading{margin-bottom:25px}.control-heading h2{font-size:clamp(34px,3.4vw,50px)}.control-heading>p:last-child{color:#a79d8c;max-width:520px;margin:12px 0 0;font-size:15px;line-height:1.55}.upload-zone{min-height:158px;color:var(--paper);cursor:pointer;background:#5c7b3d29;border:0;border-radius:20px;align-content:center;place-items:center;gap:5px;transition:background .2s,transform .2s;display:grid}.upload-zone:hover{background:#5c7b3d3d;transform:translateY(-2px)}.upload-zone>span{width:45px;height:45px;color:var(--paper);background:var(--cactus);border-radius:15px;place-items:center;margin-bottom:5px;font-size:26px;display:grid}.upload-zone strong{font-size:17px}.upload-zone small{color:#a79d8c;font-size:13px}.selected-file{color:#9e9585;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:9px;margin:12px 4px 0;font-size:13px;display:flex;overflow:hidden}.selected-file span{background:var(--ochre);border-radius:50%;flex:none;width:7px;height:7px}.control-section{border-top:1px solid #f1eadb1a;margin-top:28px;padding-top:25px}.inline-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.inline-heading h3,.export-block h3{margin:0;font-size:18px}.inline-heading button{color:var(--rust);cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.range-stack{gap:2px;display:grid}.range-field{margin:15px 0;display:block}.range-field>span{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;display:flex}.range-field b{font-weight:600}.range-field output{color:#d7b36e;text-align:right;font-variant-numeric:tabular-nums;min-width:54px;font-size:13px}input[type=range]{appearance:none;width:100%;height:5px;accent-color:var(--cactus);background:#f1eadb29;border-radius:999px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--cactus);cursor:ew-resize;border:4px solid #211d17;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 6px #1d1a1547}.soft-toggle,.check-card{background:#f1eadb11;border-radius:14px;align-items:center;gap:12px;display:flex}.soft-toggle{color:#aaa08f;cursor:pointer;border:0;justify-content:center;width:100%;min-height:46px;font-size:14px}.soft-toggle.is-active{color:#dce8cd;background:#5c7b3d42}.check-card{cursor:pointer;padding:16px}.check-card input{width:19px;height:19px;accent-color:var(--cactus);flex:none}.check-card span{gap:3px;display:grid}.check-card b{font-size:14px}.check-card small{color:#9e9585;font-size:12px}.next-button,.primary-button,.outline-button{cursor:pointer;border-radius:14px;min-height:50px;font-weight:700;transition:transform .2s,background .2s,opacity .2s}.next-button{width:100%;color:var(--paper);background:#352f27;border:0;justify-content:space-between;align-items:center;margin-top:auto;padding:0 18px;display:flex}.next-button:hover,.primary-button:hover:not(:disabled),.outline-button:hover:not(:disabled){transform:translateY(-2px)}.next-button span{font-size:19px}.mode-switch{background:#f1eadb12}.mode-switch button{color:#aaa08f;flex:1;min-height:45px;padding:0 12px;font-size:13px;font-weight:700}.mode-switch button.is-active{color:var(--paper);background:var(--rust)}.replace-block{margin-top:16px}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{gap:7px;margin-top:17px;display:grid}.field>span{color:#a79d8c;letter-spacing:.09em;text-transform:uppercase;font-family:Gothica,sans-serif;font-size:11px}.field input,.field select{width:100%;min-width:0;min-height:49px;color:var(--paper);background:#0807056b;border:1px solid #f1eadb1f;border-radius:12px;outline:0;padding:0 13px;font-size:15px}.field input:focus,.field select:focus{border-color:var(--cactus);box-shadow:0 0 0 3px #5c7b3d1f}.field input:disabled,.field select:disabled{opacity:.58;cursor:not-allowed}.field-error{color:var(--rust);margin:8px 0 0;font-size:13px}.compact-fields{max-width:310px}.tech-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 0;display:grid}.tech-summary div{background:#f1eadb0f;border-radius:12px;min-width:0;padding:12px}.tech-summary dt{color:#9e9585;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.tech-summary dd{margin:5px 0 0;font-size:13px;font-weight:700}.export-block{border-top:1px solid #f1eadb1a;margin-top:24px;padding-top:22px}.export-block>p{color:#a79d8c;margin:7px 0 16px;font-size:13px;line-height:1.45}.primary-button,.outline-button{width:100%}.primary-button{color:#fff7e9;background:var(--rust);border:0;justify-content:space-between;align-items:center;padding:0 17px;display:flex}.primary-button b{letter-spacing:.08em;background:#ffffff21;border-radius:7px;padding:5px 8px;font-size:11px}.outline-button{color:var(--paper);background:0 0;border:1px solid #f1eadb2e;margin-top:9px;padding:0 14px}.outline-button:hover:not(:disabled){background:#f1eadb12}.primary-button:disabled,.outline-button:disabled{opacity:.38;cursor:not-allowed}.privacy-note{color:#948b7c;align-items:start;gap:8px;margin-top:13px;font-size:11px;line-height:1.45;display:flex}.privacy-note span{color:var(--cactus)}.status-bar{z-index:10;color:#ded3c1;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17140ff0;border-radius:999px;align-items:center;gap:11px;width:min(760px,100% - 30px);min-height:48px;margin:14px auto 0;padding:10px 17px;font-size:13px;display:flex;position:sticky;bottom:16px;box-shadow:0 14px 35px #00000042}.status-bar>span{background:var(--ochre);border-radius:50%;flex:none;width:8px;height:8px}.status-bar.is-busy>span{animation:1s infinite alternate pulse}@keyframes pulse{to{box-shadow:0 0 0 7px #c49a5229}}@media (width<=1120px){.studio-shell{width:min(920px,100% - 30px)}.workspace{grid-template-columns:1fr}.canvas-frame{min-height:450px}.control-view{min-height:680px}}@media (width<=700px){.studio-shell{width:min(100% - 20px,620px);padding-top:10px}.site-header{border-radius:20px;align-items:flex-start}.brand-copy small{display:none}.brand-copy strong{font-size:24px}.header-actions{flex-direction:column-reverse;align-items:flex-end}.resource-link{min-height:36px;padding:0 12px;font-size:0}.resource-link:before{content:"Cactus Code";font-size:12px}.intro{flex-direction:column;align-items:flex-start;padding:42px 8px 26px}.intro h1{font-size:clamp(42px,14vw,64px)}.step-navigation{grid-template-columns:1fr}.step-navigation button{min-height:58px}.preview-card,.control-card{border-radius:20px}.preview-card,.control-view{padding:22px}.card-heading{flex-direction:column;align-items:flex-start}.canvas-frame{min-height:300px}.preview-footer,.proof-note{flex-direction:column;align-items:flex-start}.preview-footer p{text-align:left}.control-view{min-height:640px}.field-grid{grid-template-columns:1fr}.compact-fields{grid-template-columns:1fr 1fr;max-width:none}.tech-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
