:root{color-scheme:dark;--bg:#07130f;--panel:#0d1d17;--panel-2:#10231c;--line:rgba(211,247,230,.12);--muted:#91a79e;--text:#f3f7f5;--accent:#8de0b6;--accent-2:#e8ff89;--danger:#ff9c91;--shadow:0 24px 80px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 18% -10%,rgba(73,150,111,.18),transparent 34%),radial-gradient(circle at 92% 40%,rgba(164,211,97,.07),transparent 28%),var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}.site-header{height:76px;max-width:1180px;margin:auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:17px}.brand-mark{width:34px;height:34px;border:1px solid rgba(141,224,182,.32);background:rgba(141,224,182,.08);border-radius:11px;display:grid;place-items:center}.brand-mark svg{width:21px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.privacy-pill{display:flex;align-items:center;gap:8px;color:#b6c9c0;font-size:12px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025)}.privacy-pill span{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(141,224,182,.1)}main{max-width:1180px;margin:auto;padding:76px 26px 110px}.hero{max-width:820px;margin:0 auto 55px;text-align:center}.eyebrow{font-size:11px;letter-spacing:.23em;color:var(--accent);font-weight:700;margin-bottom:22px}.hero h1{font:800 clamp(42px,7vw,78px)/1.03 Manrope,sans-serif;letter-spacing:-.055em;margin:0}.hero h1 em{font-style:normal;color:var(--accent-2)}.hero p{max-width:650px;margin:25px auto 0;color:#aabbb4;font-size:17px;line-height:1.7}.card{position:relative;background:linear-gradient(145deg,rgba(17,38,30,.95),rgba(10,26,20,.94));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.import-card{max-width:760px;margin:auto;padding:34px}.step-number{position:absolute;right:28px;top:24px;color:rgba(141,224,182,.19);font:800 40px/1 Manrope}.card-heading h2{font:700 22px/1.2 Manrope;margin:0 0 7px}.card-heading p{margin:0;color:var(--muted);font-size:13px}.drop-zone{margin-top:27px;min-height:225px;border:1px dashed rgba(141,224,182,.38);border-radius:17px;background:rgba(141,224,182,.035);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.dragging{background:rgba(141,224,182,.08);border-color:var(--accent);transform:translateY(-2px)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:rgba(141,224,182,.1);margin-bottom:15px}.upload-icon svg{width:23px;fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.drop-zone strong{font:700 16px Manrope}.drop-zone>span:last-child{color:var(--muted);font-size:12px;margin-top:7px}.sample-row{display:flex;justify-content:center;gap:12px;margin-top:21px;color:var(--muted);font-size:13px}.text-button{border:0;padding:0;background:none;color:var(--accent);font:600 13px 'DM Sans';cursor:pointer}.text-button:hover{color:var(--accent-2)}.status{text-align:center;color:var(--muted);font-size:12px;margin:16px 0 0;min-height:18px}.studio{display:grid;grid-template-columns:minmax(0,510px) minmax(360px,1fr);gap:28px;align-items:start;animation:reveal .55s ease both}@keyframes reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hidden{display:none!important}.controls-column{display:flex;flex-direction:column;gap:14px}.settings-card{padding:30px}.settings-card .card-heading{margin-bottom:24px}.settings-card label{display:flex;flex-direction:column;gap:8px;color:#b8c8c1;font-size:12px;font-weight:600}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:15px}.settings-card>label{margin-bottom:15px}input,select{width:100%;height:45px;border-radius:10px;border:1px solid var(--line);background:#0a1914;color:var(--text);padding:0 12px;font:500 13px 'DM Sans';outline:none}input:focus,select:focus{border-color:rgba(141,224,182,.65);box-shadow:0 0 0 3px rgba(141,224,182,.08)}.journey-summary{color:var(--accent);font-size:12px;margin:5px 0 0;padding-top:17px;border-top:1px solid var(--line)}.consent-card{padding:21px}.consent-copy{display:flex;gap:13px}.shield-icon{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;color:#07130f;background:var(--accent);font-weight:800}.consent-copy strong{font-size:13px}.consent-copy p{color:var(--muted);font-size:11px;line-height:1.55;margin:6px 0 0}.check-row{display:flex;align-items:center;flex-direction:row!important;gap:10px;margin-top:16px!important;padding-top:16px;border-top:1px solid var(--line);cursor:pointer}.check-row input{width:17px;height:17px;accent-color:var(--accent)}.action-row{display:grid;grid-template-columns:1fr 1.5fr;gap:12px}.button{height:48px;border-radius:11px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font:700 13px 'DM Sans';cursor:pointer;transition:.18s}.button.secondary{color:var(--text);background:rgba(255,255,255,.035)}.button.primary{color:#07130f;background:var(--accent);border-color:var(--accent)}.button:hover{transform:translateY(-1px);filter:brightness(1.05)}.button:disabled{opacity:.38;cursor:not-allowed;transform:none}.preview-column{position:sticky;top:24px}.preview-label{height:34px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.13em}.preview-label span:last-child{color:var(--accent);letter-spacing:0}.canvas-shell{position:relative;overflow:hidden;background:#091510;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);aspect-ratio:1}.canvas-shell.portrait{aspect-ratio:9/16;max-height:720px;margin:auto}.canvas-shell.landscape{aspect-ratio:16/9}.canvas-shell canvas{width:100%;height:100%;display:block}.preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 42%,rgba(141,224,182,.07),transparent 24%),repeating-linear-gradient(30deg,transparent 0 34px,rgba(255,255,255,.015) 35px);text-align:center}.preview-placeholder strong{font:700 15px Manrope;margin-top:19px}.preview-placeholder>span:last-child{color:var(--muted);font-size:11px;margin-top:7px}.mini-route{position:relative;width:80px;height:52px;border-bottom:2px dashed rgba(141,224,182,.35);border-radius:50%;transform:rotate(-10deg)}.mini-route:before,.mini-route:after{content:'';position:absolute;width:9px;height:9px;border-radius:50%;background:var(--accent)}.mini-route:before{left:0;bottom:-5px}.mini-route:after{right:0;bottom:-5px;background:var(--accent-2)}.progress-wrap{padding:17px 4px}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:9px}progress{width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:#193028}progress::-webkit-progress-bar{background:#193028}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.progress-wrap .text-button{margin-top:9px}.error{margin:0;color:var(--danger);font-size:12px}.result{margin-top:13px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel)}.result video{display:block;width:100%;max-height:360px;background:#000}.result-copy{display:flex;align-items:center;justify-content:space-between;padding:14px;gap:12px}.result-copy>div{display:flex;flex-direction:column;gap:4px}.result-copy strong{font-size:12px}.result-copy span{font-size:10px;color:var(--muted)}.result-copy .button{height:38px;padding:0 15px}footer{max-width:1180px;margin:auto;padding:30px 26px 45px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#6f887d;font-size:10px;letter-spacing:.04em}footer a{color:#91a79e}.busy{cursor:wait}.busy .button{pointer-events:none}@media(max-width:850px){main{padding-top:55px}.studio{grid-template-columns:1fr}.preview-column{position:static;grid-row:1}.canvas-shell{max-height:70vh;margin:auto}.hero{margin-bottom:40px}.import-card{padding:25px}}@media(max-width:540px){.site-header{height:65px;padding:0 18px}.privacy-pill{font-size:0;padding:9px}.privacy-pill span{margin:0}main{padding:48px 16px 80px}.hero h1{font-size:42px}.hero p{font-size:14px}.import-card,.settings-card{padding:22px}.step-number{font-size:30px}.drop-zone{min-height:190px}.field-grid{grid-template-columns:1fr}.sample-row{flex-direction:column;align-items:center;gap:5px}.studio{gap:18px}.action-row{grid-template-columns:1fr}.preview-label{padding:0 4px}footer{margin:0 16px;padding:26px 0 35px;flex-direction:column;gap:12px}}

.theme-fieldset{border:0;padding:0;margin:0 0 17px}.theme-fieldset legend{color:#b8c8c1;font-size:12px;font-weight:600;margin-bottom:9px}.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.settings-card .theme-option{position:relative;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#0a1914;cursor:pointer;transition:.18s}.theme-option:hover{border-color:rgba(141,224,182,.38);transform:translateY(-1px)}.theme-option:has(input:checked){border-color:var(--accent);background:rgba(141,224,182,.08);box-shadow:0 0 0 2px rgba(141,224,182,.08)}.theme-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.theme-option>span:last-child{display:flex;flex-direction:column;gap:3px}.theme-option strong{color:var(--text);font:700 12px Manrope}.theme-option small{color:var(--muted);font:500 9px 'DM Sans'}.theme-swatch{position:relative;width:46px;height:38px;border-radius:9px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.theme-swatch:before,.theme-swatch i{content:'';position:absolute;display:block}.theme-swatch:before{inset:0;background:linear-gradient(155deg,transparent 45%,rgba(255,255,255,.65) 46% 48%,transparent 49%)}.theme-swatch i{left:7px;bottom:8px;width:29px;height:12px;border-top:2px dashed currentColor;border-radius:50%;transform:rotate(-10deg)}.theme-swatch b{position:absolute;right:5px;top:4px;font-size:11px}.postcard-option .theme-swatch{background:#fff1d9;color:#ef736b}.postcard-option .theme-swatch b{color:#43a89d}.scrapbook-option .theme-swatch{background:#f5e6ff;color:#966bd2}.scrapbook-option .theme-swatch b{color:#ffb955}.night-option .theme-swatch{background:linear-gradient(145deg,#17285b,#322156);color:#7be4f2}.night-option .theme-swatch b{color:#fff598}.atlas-option .theme-swatch{background:#edf0e8;color:#243a35}.atlas-option .theme-swatch b{color:#ee765f}
@media(max-width:540px){.theme-picker{grid-template-columns:1fr}}

/* Keep the editing flow linear: settings first, preview and result below. */
.studio{display:flex;flex-direction:column;max-width:920px;margin:0 auto;gap:26px}.controls-column{width:100%;max-width:760px;margin:0 auto}.preview-column{position:static;order:2;width:100%;margin:4px auto 0;grid-row:auto}.canvas-shell.square{max-width:720px;margin-left:auto;margin-right:auto}.canvas-shell.landscape{max-width:920px;margin-left:auto;margin-right:auto}.preview-label{max-width:920px;margin:0 auto}.result{max-width:720px;margin:14px auto 0}
@media(max-width:850px){.preview-column{grid-row:auto}.studio{gap:20px}}

/* A single, friendly month-to-month range control. */
.period-card{position:relative;margin-bottom:18px;padding:15px;border:1px solid rgba(141,224,182,.16);border-radius:17px;background:linear-gradient(135deg,rgba(141,224,182,.085),rgba(232,255,137,.025));overflow:hidden}
.period-card:after{content:'✦';position:absolute;right:13px;top:10px;color:rgba(232,255,137,.42);font-size:11px}
.period-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.period-heading>span:last-child{display:flex;flex-direction:column;gap:2px}
.period-heading strong{font:700 13px Manrope;color:var(--text)}
.period-heading small{font-size:10px;color:var(--muted)}
.period-icon{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(141,224,182,.12);color:var(--accent)}
.period-icon svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.period-picker{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:end}
.settings-card .period-field{gap:6px;padding:10px 11px 11px;border-radius:13px;background:rgba(4,15,11,.55);border:1px solid rgba(255,255,255,.055);transition:.18s}
.period-field:focus-within{border-color:rgba(141,224,182,.48);box-shadow:0 0 0 3px rgba(141,224,182,.06)}
.period-field>span{color:var(--accent);font-size:9px;letter-spacing:.14em}
.period-field select{height:30px;padding:0 24px 0 0;border:0;background-color:transparent;font:700 14px Manrope;box-shadow:none}
.period-field select:focus{box-shadow:none}
.period-connector{position:relative;height:52px;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.period-connector i{position:absolute;left:-5px;right:-5px;top:50%;border-top:1px dashed rgba(141,224,182,.25)}
.period-connector b{position:relative;z-index:1;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#10251d;font-size:12px;font-weight:500}
.journey-summary{display:flex;align-items:center;gap:9px;margin-top:0;padding:12px 14px;border:1px solid rgba(141,224,182,.12);border-radius:12px;background:rgba(141,224,182,.045);line-height:1.45}
.journey-summary:before{content:'↗';width:21px;height:21px;flex:none;display:grid;place-items:center;border-radius:7px;background:rgba(141,224,182,.12);font-size:11px}
@media(max-width:540px){.period-card{padding:13px}.period-picker{grid-template-columns:1fr;gap:0}.period-field select{font-size:14px}.period-connector{height:27px}.period-connector i{left:50%;right:auto;top:-4px;bottom:-4px;border-top:0;border-left:1px dashed rgba(141,224,182,.25)}.period-connector b{transform:rotate(90deg)}}
