:root{color-scheme:light;--color-ink: #16223a;--color-ink-muted: #64718a;--color-ink-faint: #8b96aa;--color-canvas: #f8faff;--color-canvas-raised: #ffffff;--color-surface: rgba(255, 255, 255, .84);--color-surface-solid: #ffffff;--color-surface-hover: #f2f6ff;--color-line: rgba(27, 49, 86, .12);--color-line-strong: rgba(27, 49, 86, .22);--color-mint: #55dbaa;--color-mint-soft: rgba(85, 219, 170, .19);--color-blue: #7caeff;--color-lilac: #bdadff;--color-amber: #ffc47f;--color-danger: #e86a7d;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--radius-xl: 32px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--shadow-xs: 0 1px 2px rgba(32, 54, 91, .06);--shadow-sm: 0 10px 24px rgba(46, 74, 119, .09);--shadow-md: 0 20px 46px rgba(46, 74, 119, .12);--shadow-lg: 0 30px 68px rgba(46, 74, 119, .17);--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{min-width:320px;background:var(--color-canvas)}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-canvas);color:var(--color-ink);font-family:var(--font-sans)}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #249b76;outline-offset:3px}#root{min-height:100vh}.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}.page-header{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:0 clamp(var(--space-5),4vw,var(--space-12));border-bottom:1px solid var(--color-line);background:#ffffffc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-link{border-radius:var(--radius-sm)}.app-mark{display:inline-flex;align-items:center;gap:10px;color:var(--color-ink);letter-spacing:-.04em}.app-mark__symbol{display:grid;width:32px;height:32px;overflow:hidden;place-items:center;border-radius:10px;color:#142039;background:var(--color-mint);box-shadow:0 0 0 5px #55dbaa21}.app-mark__image{display:block;width:100%;height:100%;object-fit:cover}.app-mark__text{max-width:min(38vw,260px);overflow:hidden;font-size:20px;font-weight:760;letter-spacing:-.04em;line-height:1;text-overflow:ellipsis;white-space:nowrap}.header-action,.secondary-button,.primary-button,.upload-button,.reset-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);background:#ffffffd1;font-size:14px;font-weight:650;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),transform .18s var(--ease-out)}.header-action:hover,.secondary-button:hover,.upload-button:hover,.reset-button:hover{border-color:var(--color-line-strong);background:var(--color-surface-hover);transform:translateY(-1px)}.portal-shell,.admin-shell{position:relative;min-height:100vh;overflow:hidden;background:radial-gradient(circle at 7% 16%,rgba(124,174,255,.23),transparent 29rem),radial-gradient(circle at 92% 84%,rgba(85,219,170,.16),transparent 28rem),var(--color-canvas)}.portal-shell:before,.admin-shell:before{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(42,69,114,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(42,69,114,.045) 1px,transparent 1px);background-size:56px 56px;content:"";pointer-events:none}.page-header,.portal-main,.admin-main{position:relative;z-index:1}.portal-main{width:min(1440px,100%);margin:0 auto;padding:clamp(var(--space-6),4vw,var(--space-12))}.portal-context{display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);color:var(--color-ink-faint);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em}.portal-context__line{width:28px;height:1px;background:var(--color-line-strong)}.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(var(--space-4),2.2vw,var(--space-7))}.demo-card,.demo-card-skeleton{position:relative;display:flex;min-height:clamp(200px,20.5vw,278px);overflow:hidden;flex-direction:column;justify-content:space-between;padding:clamp(var(--space-5),2.4vw,var(--space-7));border:1px solid var(--color-line);border-radius:var(--radius-xl);background-color:var(--color-surface-solid);background-position:center;background-size:cover;box-shadow:var(--shadow-sm)}.demo-card{isolation:isolate;transition:border-color .28s var(--ease-out),box-shadow .28s var(--ease-out),transform .28s var(--ease-out)}.demo-card:after{position:absolute;z-index:1;top:-24%;right:-10%;width:45%;aspect-ratio:1;border-radius:50%;background:var(--card-accent, var(--color-mint));content:"";filter:blur(62px);opacity:0;transition:opacity .28s var(--ease-out)}.demo-card__image{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.demo-card:hover{border-color:#36558a47;box-shadow:var(--shadow-lg);transform:translateY(-5px)}.demo-card:hover:after{opacity:.3}.demo-card--mint{--card-accent: var(--color-mint)}.demo-card--blue{--card-accent: var(--color-blue)}.demo-card--lilac{--card-accent: var(--color-lilac)}.demo-card--amber{--card-accent: var(--color-amber)}.demo-card__scrim{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fafcff0a,#fafcff14 35%,#fafcffe0)}.demo-card__topline,.demo-card__bottomline{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.demo-card__number{display:grid;width:38px;height:28px;place-items:center;border:1px solid rgba(32,57,97,.16);border-radius:8px;color:var(--color-ink);background:#ffffff94;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:11px;font-weight:700}.demo-card__status{color:var(--color-ink-muted);font-size:12px;font-weight:650;letter-spacing:.02em}.demo-card__title{max-width:78%;color:var(--color-ink);font-size:clamp(25px,3.2vw,40px);font-weight:740;letter-spacing:-.045em;line-height:.98}.demo-card__open{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:50%;color:var(--color-canvas);background:var(--card-accent, var(--color-mint));box-shadow:0 8px 22px #00000040;transition:transform .28s var(--ease-out)}.demo-card:hover .demo-card__open{transform:rotate(45deg)}.demo-card-skeleton{background:linear-gradient(110deg,#edf3ff 18%,#dce9ff 35%,#edf3ff 56%);background-size:220% 100%;animation:skeleton-loading 1.7s linear infinite}.skeleton-line{display:block;height:12px;border-radius:8px;background:#5675a729}.skeleton-line--short{width:64px}.skeleton-line--title{width:52%;height:36px}@keyframes skeleton-loading{to{background-position:-120% 0}}.portal-error{display:grid;min-height:40vh;place-content:center;gap:var(--space-4);text-align:center;color:var(--color-ink-muted)}.admin-main{width:min(1320px,100%);margin:0 auto;padding:clamp(var(--space-7),5vw,64px) clamp(var(--space-5),4vw,var(--space-12))}.admin-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-8)}.eyebrow{display:flex;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);color:var(--color-mint);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em}.admin-intro h1{margin:0;color:var(--color-ink);font-size:clamp(34px,4.2vw,52px);letter-spacing:-.055em;line-height:.98}.admin-intro p:not(.eyebrow){max-width:570px;margin:var(--space-4) 0 0;color:var(--color-ink-muted);font-size:16px;line-height:1.55}.local-chip{display:inline-flex;align-items:center;min-height:31px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:999px;color:var(--color-ink-muted);background:#fffc;font-size:12px;font-weight:650;white-space:nowrap}.feedback-banner{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding:12px 14px;border:1px solid var(--color-line);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-ink-muted);font-size:14px}.feedback-banner--success{border-color:#55dbaa61;color:#187155}.feedback-banner--error{border-color:#e86a7d66;color:#a33749}.feedback-banner--info{border-color:#7caeff75;color:#3569b8}.feedback-banner button{display:grid;width:26px;height:26px;margin-left:auto;padding:0;place-items:center;border:0;border-radius:6px;color:currentColor;background:transparent}.feedback-banner button:hover{background:#ffffff14}.brand-panel{margin-bottom:var(--space-6);padding:clamp(var(--space-5),3vw,var(--space-7));border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#ffffffdb;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-panel__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.brand-panel__intro h2{margin:0;color:var(--color-ink);font-size:clamp(22px,2.5vw,30px);letter-spacing:-.04em}.brand-panel__intro p:not(.eyebrow){max-width:620px;margin:var(--space-2) 0 0;color:var(--color-ink-muted);font-size:14px;line-height:1.55}.brand-panel__sample{display:inline-flex;max-width:270px;align-items:center;gap:var(--space-3);padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:#f7f9fd;color:var(--color-ink);font-size:14px;font-weight:720}.brand-panel__sample img{display:block;width:34px;height:34px;flex:0 0 auto;overflow:hidden;border-radius:10px;object-fit:cover}.brand-panel__sample span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-form{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:var(--space-6)}.brand-form .image-input{grid-column:1 / -1}.brand-form .image-input__preview{height:124px}.brand-form .form-actions{grid-column:1 / -1}.admin-workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:var(--space-6);align-items:start}.destination-list,.editor-panel{border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#ffffffdb;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.destination-list{padding:var(--space-4)}.destination-list__heading{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-4);color:var(--color-ink-muted);font-size:12px;font-weight:650}.destination-list__heading strong{color:var(--color-mint);font-family:var(--font-mono)}.destination-list__items{display:grid;gap:var(--space-1)}.destination-item{display:flex;align-items:center;width:100%;gap:var(--space-3);padding:var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-ink-muted);background:transparent;text-align:left;transition:.16s var(--ease-out)}.destination-item:hover{color:var(--color-ink);background:#f6f8fc}.destination-item--active{border-color:var(--color-line);color:var(--color-ink);background:#eef4ff;box-shadow:var(--shadow-xs)}.destination-item span:last-child{display:grid;gap:2px;overflow:hidden;font-size:14px;font-weight:650;white-space:nowrap;text-overflow:ellipsis}.destination-item small{color:var(--color-ink-faint);font-family:var(--font-mono);font-size:10px;letter-spacing:.05em}.destination-item__swatch{width:10px;height:10px;flex:0 0 auto;border-radius:50%;box-shadow:0 0 0 4px #ffffff0a}.destination-item__swatch--mint,.accent-dot--mint{background:var(--color-mint)}.destination-item__swatch--blue,.accent-dot--blue{background:var(--color-blue)}.destination-item__swatch--lilac,.accent-dot--lilac{background:var(--color-lilac)}.destination-item__swatch--amber,.accent-dot--amber{background:var(--color-amber)}.reset-button{width:100%;margin-top:var(--space-5);border-color:transparent;color:var(--color-ink-faint);background:transparent;font-size:12px}.reset-button:hover{color:var(--color-ink)}.reset-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.editor-panel{overflow:hidden}.editor-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:clamp(var(--space-5),3vw,var(--space-8));border-bottom:1px solid var(--color-line)}.editor-panel__top>div{position:relative;padding-left:18px}.editor-panel__top p{margin:0 0 5px;color:var(--color-ink-faint);font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em}.editor-panel__top h2{margin:0;font-size:clamp(24px,3vw,34px);letter-spacing:-.04em}.accent-dot{position:absolute;top:4px;left:0;width:8px;height:8px;border-radius:50%}.last-edited{margin-top:3px;color:var(--color-ink-faint);font-size:12px;text-align:right;white-space:nowrap}.editor-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);padding:clamp(var(--space-5),3vw,var(--space-8))}.form-field,.image-input{min-width:0}.image-input{grid-column:1 / -1}.field-label{display:block;margin-bottom:var(--space-2);color:var(--color-ink-muted);font-size:13px;font-weight:680}.text-input{width:100%;min-height:47px;padding:0 var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-sm);outline:none;color:var(--color-ink);background:#ffffffeb;font-size:14px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.text-input::placeholder{color:#58657a}.text-input:hover{border-color:var(--color-line-strong)}.text-input:focus{border-color:var(--color-mint);box-shadow:0 0 0 4px var(--color-mint-soft)}.text-input--error{border-color:var(--color-danger)}.field-error{margin:var(--space-2) 0 0;color:#c5445b;font-size:12px;line-height:1.4}.url-input-wrap{position:relative}.url-input-wrap>svg{position:absolute;top:15px;left:var(--space-3);color:var(--color-ink-faint);pointer-events:none}.url-input-wrap .text-input{padding-left:42px}.image-input__divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) 0;color:var(--color-ink-faint);font-size:11px}.image-input__divider:before,.image-input__divider:after{height:1px;flex:1;background:var(--color-line);content:""}.upload-button{min-height:38px;padding:0 var(--space-3);color:var(--color-ink-muted);font-size:13px}.image-input__preview{display:grid;width:100%;height:185px;margin-top:var(--space-4);overflow:hidden;place-items:center;border:1px dashed var(--color-line-strong);border-radius:var(--radius-md);color:var(--color-ink-faint);background:#f7f9fd}.image-input__preview img{display:block;width:100%;height:100%;object-fit:cover}.form-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;padding-top:var(--space-2);border-top:1px solid var(--color-line)}.primary-button{min-height:46px;border-color:var(--color-mint);color:#08110e;background:var(--color-mint);box-shadow:0 10px 26px #6dffbe29}.primary-button:hover:not(:disabled){background:#91ffcf;box-shadow:0 14px 30px #6dffbe38;transform:translateY(-1px)}.admin-loading{display:flex;min-height:calc(100vh - 76px);flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);color:var(--color-ink-muted)}.admin-error{display:grid;min-height:calc(100vh - 76px);place-content:center;gap:var(--space-4);color:var(--color-ink-muted);text-align:center}@media (max-width: 860px){.admin-workspace{grid-template-columns:1fr}.destination-list__items{grid-template-columns:repeat(2,minmax(0,1fr))}.reset-button{margin-top:var(--space-4)}}@media (max-width: 640px){.page-header{min-height:68px}.header-action{min-height:36px;padding:0 var(--space-3);font-size:13px}.portal-main{padding-top:var(--space-5)}.portal-context{margin-bottom:var(--space-4);font-size:9px}.demo-grid{grid-template-columns:1fr;gap:var(--space-4)}.demo-card,.demo-card-skeleton{min-height:224px;border-radius:var(--radius-lg)}.admin-main{padding-top:var(--space-7)}.admin-intro{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.admin-intro h1{font-size:38px}.brand-panel__intro{flex-direction:column;gap:var(--space-4)}.brand-form{grid-template-columns:1fr}.brand-form .image-input,.brand-form .form-actions{grid-column:auto}.destination-list__items{grid-template-columns:1fr}.editor-panel__top{flex-direction:column}.last-edited{margin:0;text-align:left}.editor-form{grid-template-columns:1fr}.image-input,.form-actions{grid-column:auto}.primary-button{width:100%}}
