@font-face{font-family:Anton;src:url('/static/Anton-Regular.ttf') format('truetype');font-display:swap}
:root{--bg:#f6f5f1;--card:#fff;--ink:#182d37;--dim:#63717a;--line:#e0e5e4;--brand:#136c62;--brand-hover:#0c5149;--good:#187558;--warn:#926020;--bad:#ad403e;--soft:#edf3f0;--preview:#193e46;--shadow:0 14px 50px #172c3210;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}a{color:var(--brand);text-underline-offset:3px}button,input,select,textarea{font:inherit}button,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:1px solid transparent;border-radius:9px;padding:11px 16px;cursor:pointer;text-decoration:none;font-size:13px;font-weight:600;min-height:42px}button:hover,a.btn:hover{background:var(--brand-hover)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost,a.ghost{background:var(--card);border-color:var(--line);color:var(--ink)}button.ghost:hover,a.ghost:hover{background:var(--soft)}button.text-button{border:0;background:none;padding:4px;min-height:36px;color:var(--brand)}button.full{width:100%;justify-content:space-between;margin-top:16px}:focus-visible{outline:3px solid #55a69c;outline-offset:3px}button,input,select,textarea,a{touch-action:manipulation}[hidden]{display:none!important}h1{font-size:clamp(30px,4vw,45px);letter-spacing:-.055em;line-height:1.1;margin:8px 0 12px;font-weight:650}h2{font-size:21px;letter-spacing:-.03em;margin:0 0 7px;line-height:1.25}h3{font-size:15px;margin:12px 0 8px}p{margin:0 0 12px}.sub{color:var(--dim);font-size:14px;margin:0}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--dim);margin:0}.hint,.credit{font-size:12px;line-height:1.5;color:var(--dim)}.hint{display:block}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.app-header{height:78px;padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;justify-content:space-between;align-items:center;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;gap:20px}.brand{display:flex;gap:9px;align-items:center;text-decoration:none;color:var(--ink);font-size:18px;font-weight:700;white-space:nowrap;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;background:var(--ink);color:#fff;width:33px;height:33px;border-radius:9px;font-size:26px;line-height:1}.brand-studio{font-size:9px;letter-spacing:.16em;color:var(--dim);padding-left:7px}.app-header nav{display:flex;align-items:center;gap:5px}.app-header nav>a,.nav-menu summary{padding:8px 13px;font-size:13px;text-decoration:none;color:var(--dim);border-radius:7px;cursor:pointer;white-space:nowrap}.app-header nav>a.on{background:var(--soft);color:var(--brand);font-weight:600}.nav-menu{position:relative}.nav-menu summary{list-style:none}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu>div{position:absolute;right:0;top:44px;background:var(--card);box-shadow:var(--shadow);border:1px solid var(--line);padding:9px;border-radius:10px;min-width:190px}.nav-menu a{display:block;padding:9px 12px;text-decoration:none;font-size:13px;color:var(--ink)}.nav-menu a:hover{background:var(--soft)}main{max-width:1280px;margin:0 auto;padding:36px 26px 50px}.app-footer{max-width:1280px;margin:auto;padding:24px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--dim)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.page-heading form{text-align:right}.page-heading form .hint{margin-top:5px}.desk-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.inline-form{display:flex;gap:20px}.inline-form label{margin:0;min-width:160px}.run-status{font-size:12px;color:var(--dim);padding-bottom:10px}.queue-tabs{display:flex;gap:22px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:25px}.queue-tabs a{padding:11px 0;text-decoration:none;font-size:13px;white-space:nowrap;color:var(--dim);border-bottom:2px solid transparent}.queue-tabs a.on{border-color:var(--brand);color:var(--ink);font-weight:600}.queue-tabs b{background:var(--card);padding:1px 6px;border-radius:5px;font-size:11px;margin-left:5px}.deal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:20px}.deal-card{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:23px;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}.deal-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.destination{font-size:25px;font-weight:650;letter-spacing:-.04em;text-decoration:none;color:var(--ink);margin:20px 0 12px;line-height:1.25}.fare{font-size:38px;font-weight:650;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.fare>span{display:block;font-size:11px;letter-spacing:0;font-weight:400;color:var(--dim);margin-top:5px}.fare .pill{display:inline-block;margin-top:10px}.fare.compact{text-align:right;font-size:34px}.deal-meta{font-size:13px;color:var(--dim);margin-top:18px}.card-cta{justify-content:space-between!important;margin-top:auto!important;background:var(--soft)!important;color:var(--brand)!important}.deal-card .hint{margin-bottom:18px}.pill{display:inline-block;font-size:10px;border-radius:6px;background:var(--soft);padding:4px 8px;font-weight:500;letter-spacing:0;color:var(--dim);white-space:nowrap}.pill.good{color:var(--good);background:#e6f3ec}.pill.warn{color:var(--warn);background:#fbefdb}.pill.bad{color:var(--bad)}.empty{grid-column:1/-1;text-align:center;background:var(--card);border:1px dashed var(--line);padding:60px 25px;border-radius:15px}.empty p{max-width:500px;margin:12px auto;color:var(--dim)}.empty-icon{display:block;font-size:44px;color:var(--brand);margin-bottom:15px}.notice{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:9px;padding:13px 17px;margin-bottom:20px;font-size:13px}.notice.warning{border-left-color:var(--warn);background:#fff8ec}.back{display:inline-block;font-size:12px;color:var(--dim);text-decoration:none;margin-bottom:23px}.studio-heading{margin-bottom:23px}.studio-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#eaf0eb;border:1px solid #d9e3dc;border-radius:12px;padding:17px 20px;margin-bottom:30px}.studio-banner>div:first-child{display:flex;flex-direction:column;gap:4px}.studio-banner b{font-size:13px}.studio-banner span{font-size:11px;color:var(--dim)}.studio-banner button,.studio-banner a.btn{font-size:12px;padding:9px 12px}.studio-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:42px;align-items:start}.editor-column{min-width:0}.section-heading{display:flex;align-items:center;gap:13px;margin:30px 0 17px}.section-heading:first-child{margin-top:0}.section-heading h2{margin:0;font-size:19px}.section-heading p{font-size:12px;color:var(--dim);margin:3px 0 0}.step-number{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:12px;flex-shrink:0;background:var(--card);color:var(--brand)}.save-state{margin-left:auto;color:var(--dim);font-size:10px;text-align:right}.save-state.error{color:var(--bad)}label{display:block;font-size:12px;color:var(--ink);font-weight:500;margin:12px 0 5px}label .hint{font-weight:400;display:inline;margin-left:5px;font-size:10px}input:not([type=checkbox]):not([type=range]):not([type=color]),select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--card);font-size:14px;line-height:1.5;margin-top:6px;min-width:0}textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-pair>label:only-child{grid-column:1/-1}.editor-actions{margin:12px 0}.inline-details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.inline-details summary{cursor:pointer;font-size:12px;font-weight:600}.inline-details summary span{float:right;font-weight:400;color:var(--dim);font-size:10px}.image-tools{display:flex;gap:15px;align-items:center}.image-thumb{width:94px;height:108px;object-fit:cover;border-radius:9px;flex-shrink:0}.image-options{flex:1;min-width:0}.image-options button{width:100%}.upload-zone{border:1px dashed #bcc9c4;border-radius:8px;padding:10px 12px;text-align:center;cursor:pointer;color:var(--dim);background:var(--card);font-size:12px}.upload-zone input{font-size:11px!important;padding:5px!important;border:0!important}.credit{margin-top:9px}.credit button{font-size:11px}.color-row{display:flex;gap:20px}.color-row input[type=color]{display:block;width:55px;height:35px;border:1px solid var(--line);border-radius:6px;padding:2px;margin:8px 0}.check-label{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400;line-height:1.5}.check-label input{margin-top:3px;flex-shrink:0}input[type=range]{width:100%;accent-color:var(--brand);margin-top:9px}output{float:right;font-size:10px;color:var(--dim)}.preview-column{min-width:0}.preview-sticky{position:sticky;top:102px}.preview-column .row{margin:0 0 13px}.preview-stage{aspect-ratio:4/5;width:100%;position:relative;background:var(--preview);border-radius:13px;overflow:hidden;box-shadow:0 20px 35px #142c3820;container-type:inline-size}.preview-stage>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.preview-tint{position:absolute;inset:0;background:linear-gradient(transparent,#051d2d99)}.preview-copy{position:absolute;left:6%;right:6%;bottom:13%;text-align:center;color:#fff}.preview-headline{font-family:Anton,sans-serif;font-size:11cqw;line-height:1.2;text-shadow:2px 3px #0007;overflow-wrap:anywhere}.preview-subline{font-family:Anton,sans-serif;font-size:4.5cqw;line-height:1.3;color:#ffd166;margin-top:16px;overflow-wrap:anywhere}.preview-footer{position:absolute;bottom:6%;left:6%;right:6%;text-align:center;font-size:10px;letter-spacing:.1em;font-weight:600;color:#fff}.preview-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a4c4c5;font-size:60px;background:radial-gradient(ellipse at top left,#49776c,#142f3e)}.preview-placeholder>span{font:26px/1.3 Georgia,serif;text-align:center;color:#eef3e9}.preview-placeholder small{display:block;font:12px/1.5 -apple-system,sans-serif;color:#b4cdcd;margin:10px 20px}.preview-stage[data-has-image="0"] .preview-copy,.preview-stage[data-has-image="0"] .preview-tint{display:none}.download-ready{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #ccded2;background:#edf5ee;border-radius:9px;padding:14px;margin-top:18px}.download-ready b{display:block;font-size:12px}.download-ready span{display:block;font-size:10px;color:var(--dim)}.download-ready.outdated{background:#fff4e3;border-color:#e6d3ad}.download-ready a{font-size:11px;white-space:nowrap}.final-image{display:block;width:100%;border-radius:9px;margin-top:14px}.panel{border:1px solid var(--line);background:var(--card);border-radius:11px;margin-top:25px}.panel>summary{padding:17px 18px;cursor:pointer;font-size:13px;font-weight:600}.panel>summary>span{font-size:11px;color:var(--dim);font-weight:400;display:block;margin-left:15px}.panel-body{padding:0 18px 18px}.panel-body p{font-size:12px}.compact-deal{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.compact-deal a:first-child{flex:1;font-weight:500}.compact-deal small{flex-basis:100%;color:var(--dim)}dl{font-size:12px;margin:12px 0}dl>div{display:grid;grid-template-columns:100px 1fr;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}dt{color:var(--dim)}dd{margin:0}.publish-panel{margin-top:38px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:30px}.publish-panel h2{margin-top:8px}.checklist{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;margin-top:18px;color:var(--dim)}.checklist .done{color:var(--good)}.publish-actions button{margin-top:10px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--card);padding:13px 20px;border-radius:10px;z-index:90;max-width:min(600px,90vw);box-shadow:var(--shadow);font-size:13px}.card{padding:23px;border:1px solid var(--line);border-radius:12px;background:var(--card);margin:20px 0}.act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;background:var(--card)}th,td{padding:12px;text-align:left;border-bottom:1px solid var(--line)}th{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.bar{height:7px;border-radius:4px;background:var(--line);margin:12px 0;overflow:hidden}.bar i{display:block;height:100%;background:var(--brand)}.bar.over i{background:var(--bad)}.history-card{display:grid;grid-template-columns:150px 1fr;gap:24px}.history-card>img{width:150px;border-radius:10px}.caption-snapshot{white-space:pre-wrap;font-size:13px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.monthgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.daycell{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:10px;text-decoration:none}.daycell span{display:block;font-size:12px;color:var(--dim)}.growth-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}.goal-number{font-size:48px;letter-spacing:-.05em;font-weight:650}.growth-list li{margin:14px 0;font-size:14px}.login-card{max-width:420px;margin:7vh auto;padding:32px}.login-card .brand{margin-bottom:25px}.login-card h1{font-size:31px}.log-output{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:250px;overflow-y:auto}
@media(prefers-color-scheme:dark){:root{--bg:#101b23;--card:#192831;--ink:#e3edee;--dim:#a3b5bd;--line:#30424b;--brand:#75c9b7;--brand-hover:#a6e1d3;--good:#8dd3b3;--warn:#ebc288;--bad:#efaaa5;--soft:#233c3b;--shadow:0 14px 50px #0002;color-scheme:dark}button,a.btn{color:#132f28}button.ghost,a.btn.ghost{color:var(--ink)}.brand-mark{background:#75c9b7;color:#132f28}.studio-banner{background:#20362f;border-color:#3b5147}.pill.good{background:#253e34}.pill.warn{background:#403b2c}.notice.warning{background:#332e25}.download-ready{background:#243f34;border-color:#3c6351}.download-ready.outdated{background:#3c3226;border-color:#766140}.preview-stage{background:#193e46}}
@media(max-width:950px){.studio-grid{gap:24px;grid-template-columns:1fr 1fr}.brand-studio{display:none}.studio-banner{align-items:start;flex-direction:column}.preview-sticky{top:95px}.section-heading p{max-width:210px}.save-state{max-width:55px}.field-pair{gap:10px}.growth-grid{grid-template-columns:1fr}}
@media(max-width:700px){.app-header{height:auto;min-height:68px;padding:12px 16px;gap:10px;flex-wrap:wrap}.brand{font-size:15px}.brand-mark{width:27px;height:27px;font-size:22px}.app-header nav{gap:0}.app-header nav>a,.nav-menu summary{font-size:11px;padding:8px}.app-header nav>a:nth-child(3){display:none}main{padding:25px 17px 40px}.page-heading{align-items:start;gap:14px;margin-bottom:23px}.page-heading h1{font-size:33px}.page-heading>.fare{font-size:28px}.page-heading>form button{font-size:11px;padding:8px;min-height:38px}.page-heading>form .hint{max-width:110px;font-size:10px}.desk-toolbar{flex-direction:column;align-items:stretch;gap:5px}.inline-form{gap:12px}.inline-form label{min-width:0;flex:1}.run-status{padding-top:5px}.queue-tabs{gap:18px}.deal-grid{grid-template-columns:1fr}.studio-grid{grid-template-columns:1fr}.preview-column{grid-row:1}.preview-sticky{position:static}.preview-stage{max-width:340px;margin:0 auto}.preview-column{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:13px}.preview-column .research-panel,.preview-column .inline-details{margin-top:12px}.preview-column .download-ready{max-width:100%;flex-wrap:wrap}.studio-banner{padding:14px;margin-bottom:20px}.studio-banner .row{gap:7px}.studio-banner button,.studio-banner a.btn{padding:8px 10px;min-height:42px;font-size:11px}.publish-panel{grid-template-columns:1fr;gap:20px}.app-footer{padding:20px 17px;flex-direction:column;font-size:10px}.history-card{grid-template-columns:1fr}.history-card>img{max-width:200px;width:100%}.metrics-grid{grid-template-columns:1fr 1fr}.section-heading p{max-width:none}.login-card{margin:4vh auto}.sub{font-size:12px}.field-pair input,.field-pair select{font-size:13px}}
@media(pointer:coarse){button,a.btn,.text-button{min-height:44px}textarea,input:not([type=range]):not([type=checkbox]):not([type=color]),select{font-size:16px!important}.check-label input{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.nav-menu a.mobile-nav{display:none}@media(max-width:700px){.nav-menu a.mobile-nav{display:block}}
