:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-positive:#3f7d5c;--color-divider:#201e1d66;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-200:#ffe0d9;--color-accent-300:#ffc4b8;--color-accent-400:#ff9783;--color-accent-500:#ff563c;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-accent-900:#4d170e;--color-accent-2-100:#fff2ef;--color-accent-2-200:#ffe0da;--color-accent-2-300:#ffc4b9;--color-accent-2-400:#ff9784;--color-accent-2-500:#ef6853;--color-accent-2-600:#c94b39;--color-accent-2-700:#9e3526;--color-accent-2-800:#71261b;--color-accent-2-900:#471d16;--font-heading:"Archivo", system-ui, sans-serif;--font-heading-weight:800;--font-body:"Archivo", system-ui, sans-serif;--font-size-xs:12px;--font-size-sm:13px;--font-size-md:14px;--font-size-lg:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px #2d2b2b24;--shadow-md:0 3px 10px #2d2b2b29;--shadow-lg:0 12px 32px #2d2b2b38;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px)}.oh-input{transition:border-color .15s,box-shadow .15s}.oh-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 20%, transparent);outline:none}.oh-input:disabled{opacity:.5;cursor:not-allowed}.oh-input.oh-input-error{border-color:var(--color-accent)}.oh-input.oh-input-error:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 25%, transparent)}.oh-btn-primary{transition:background-color .15s,opacity .15s}.oh-btn-primary:hover:not(:disabled){background:var(--color-accent-600)}.oh-btn-primary:disabled{opacity:.5;cursor:not-allowed}.oh-btn-secondary{transition:background-color .15s,opacity .15s}.oh-btn-secondary:hover:not(:disabled){background:var(--color-neutral-300)}.oh-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.oh-spinner{border:2px solid color-mix(in srgb, var(--color-bg) 45%, transparent);border-top-color:var(--color-bg);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite oh-spin;display:inline-block}@keyframes oh-spin{to{transform:rotate(360deg)}}#root{box-sizing:border-box;flex-direction:column;max-width:100%;height:100dvh;margin:0 auto;display:flex;overflow:hidden}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton-pulse{background:var(--color-neutral-300);border-radius:var(--radius-sm);animation:1.5s ease-in-out infinite skeleton-pulse}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:15px;line-height:1.55}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-sm);letter-spacing:.08em;text-transform:uppercase}input,select,textarea,button{font-family:var(--font-body)}input,select,textarea{font-size:var(--font-size-lg)}.oh-landing{--oh-edge:clamp(20px, 5vw, 72px);height:100%;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);flex-direction:column;display:flex;overflow:hidden}.oh-landing .oh-scroll{padding-bottom:var(--safe-area-bottom);flex:1;overflow:hidden auto}.oh-landing *,.oh-landing :before,.oh-landing :after{box-sizing:border-box}.oh-landing a{color:var(--color-accent-700);text-decoration:none}.oh-landing a:hover{color:var(--color-accent)}.oh-landing .oh-wrap{max-width:1200px;padding:0 var(--oh-edge);margin:0 auto}.oh-landing .nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);padding-inline:max(var(--oh-edge), calc((100% - 1200px) / 2 + var(--oh-edge)));padding-top:calc(var(--space-3) + var(--safe-area-top));border-bottom:2px solid var(--color-divider);display:flex}.oh-landing .nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.oh-landing .nav a{color:inherit;white-space:nowrap;font-size:14px;text-decoration:none}.oh-landing .nav a:hover,.oh-landing .nav a[aria-current=page]{color:var(--color-accent)}.oh-landing .hr{height:2px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.oh-landing .btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.oh-landing .btn:disabled{opacity:.45;cursor:not-allowed}.oh-landing .btn-primary{background:var(--color-accent);color:var(--color-bg)}.oh-landing .btn-primary:hover{background:var(--color-accent-600)}.oh-landing .btn-primary:active{background:var(--color-accent-700)}.oh-landing .oh-hero{grid-template-columns:minmax(0,47fr) minmax(0,53fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}@keyframes ohRise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.oh-landing .oh-stage-1,.oh-landing .oh-stage-2,.oh-landing .oh-stage-3{opacity:0;animation:.62s cubic-bezier(.2,.7,.3,1) forwards ohRise}.oh-landing .oh-stage-1{animation-delay:60ms}.oh-landing .oh-stage-2{animation-delay:.34s}.oh-landing .oh-stage-3{animation-delay:.58s}.oh-landing .oh-viz{aspect-ratio:5/4;width:100%;max-height:520px;position:relative}.oh-landing .oh-bubbles{animation:.95s cubic-bezier(.6,.02,.2,1) 2.85s forwards ohClusterOut;position:absolute;inset:0}@keyframes ohClusterOut{0%{opacity:1;transform:scale(1)}60%{opacity:.35}to{opacity:0;transform:scale(.54)translateY(6px)}}.oh-landing .oh-bub{opacity:0;background:var(--color-neutral-100);border:2px solid var(--color-divider);max-width:64%;color:color-mix(in srgb, var(--color-text) 82%, transparent);box-shadow:var(--shadow-sm);padding:10px 13px;font-size:14px;line-height:1.45;animation:.5s cubic-bezier(.2,.8,.3,1) forwards ohBubIn;position:absolute}@keyframes ohBubIn{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}.oh-landing .oh-bub-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.oh-landing .oh-card{opacity:0;background:var(--color-neutral-100);border:2px solid var(--color-text);box-shadow:var(--shadow-lg);animation:.75s cubic-bezier(.2,.8,.25,1) 3.15s forwards ohCardIn;position:absolute;top:50%;left:3%;right:3%}@keyframes ohCardIn{0%{opacity:0;transform:translateY(-42%)scale(.94)}to{opacity:1;transform:translateY(-50%)scale(1)}}.oh-landing .oh-row{opacity:0;animation:.5s ease-out forwards ohRise}.oh-landing .oh-row:nth-of-type(2){animation-delay:3.45s}.oh-landing .oh-row:nth-of-type(3){animation-delay:3.57s}.oh-landing .oh-row:nth-of-type(4){animation-delay:3.69s}.oh-landing .oh-feat{border-top:2px solid var(--color-divider);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.oh-landing .oh-feat>article{border-right:2px solid var(--color-divider);padding:26px clamp(18px,2.2vw,30px) 40px;transition:transform .22s cubic-bezier(.2,.7,.3,1),background-color .22s}.oh-landing .oh-feat>article:last-child{border-right:0}.oh-landing .oh-feat>article:hover{background-color:color-mix(in srgb, var(--color-accent) 6%, transparent);transform:translateY(-4px)}.oh-landing .oh-mark{background:var(--color-accent);flex:none;width:0;height:10px;margin-right:0;transition:width .22s cubic-bezier(.2,.7,.3,1),margin-right .22s cubic-bezier(.2,.7,.3,1)}.oh-landing .oh-feat>article:hover .oh-mark{width:10px;margin-right:10px}.oh-landing [data-reveal]{opacity:0;transition:opacity .62s cubic-bezier(.2,.7,.3,1),transform .62s cubic-bezier(.2,.7,.3,1);transform:translateY(22px)}.oh-landing [data-reveal][data-in]{opacity:1;transform:none}.oh-landing .oh-cta{align-items:center;gap:14px;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.oh-landing .oh-cta:hover{transform:translateY(-2px)}.oh-landing .oh-cta:active{transform:translateY(0)}.oh-landing .oh-cta .arw{transition:transform .24s cubic-bezier(.2,.7,.3,1);display:inline-block}.oh-landing .oh-cta:hover .arw{transform:translate(5px)}.oh-landing .oh-path{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,4vw,56px);padding-top:30px;display:grid;position:relative}.oh-landing .oh-track{background:var(--color-divider);height:2px;position:absolute;top:6px;left:0;right:0}.oh-landing .oh-track:after{content:"";border-left:9px solid var(--color-divider);border-top:6px solid #0000;border-bottom:6px solid #0000;width:0;height:0;position:absolute;top:-5px;right:0}.oh-landing .oh-step{position:relative}.oh-landing .oh-node{background:var(--color-accent);opacity:0;width:14px;height:14px;transition:transform .5s cubic-bezier(.2,.7,.3,1),opacity .5s;position:absolute;top:-30px;left:0;transform:scale(.4)}.oh-landing .oh-step[data-in] .oh-node{opacity:1;transform:scale(1)}.oh-landing .oh-step:nth-child(3) .oh-node{transition-delay:.12s}.oh-landing .oh-step:nth-child(4) .oh-node{transition-delay:.24s}.oh-landing .oh-close{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(28px,5vw,72px);display:grid}@media (width<=900px){.oh-landing .oh-feat{grid-template-columns:repeat(2,minmax(0,1fr))}.oh-landing .oh-feat>article:nth-child(2n){border-right:0}.oh-landing .oh-feat>article:nth-child(-n+2){border-bottom:2px solid var(--color-divider)}}@media (width<=820px){.oh-landing .oh-hero{grid-template-columns:1fr}.oh-landing .oh-viz{aspect-ratio:4/3;max-height:400px}.oh-landing .oh-bub{max-width:72%;font-size:13px}.oh-landing .oh-close{grid-template-columns:1fr;align-items:start}}@media (width<=640px){.oh-landing .oh-feat{grid-template-columns:1fr}.oh-landing .oh-feat>article{border-right:0;border-bottom:2px solid var(--color-divider);padding:24px 0 30px}.oh-landing .oh-feat>article:last-child{border-bottom:0}.oh-landing .oh-feat>article:hover{transform:none}.oh-landing .oh-path{grid-template-columns:1fr;row-gap:34px;padding-top:0;padding-left:34px}.oh-landing .oh-track{width:2px;height:auto;inset:6px auto 6px 6px}.oh-landing .oh-track:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:9px solid var(--color-divider);border-bottom:0;inset:auto auto 0 -5px}.oh-landing .oh-node{top:4px;left:-34px}}@media (width<=560px){.oh-landing .nav a{display:none}}@media (prefers-reduced-motion:reduce){.oh-landing .oh-stage-1,.oh-landing .oh-stage-2,.oh-landing .oh-stage-3,.oh-landing .oh-row,.oh-landing .oh-card{opacity:1;animation:none}.oh-landing .oh-card{transform:translateY(-50%)}.oh-landing .oh-bubbles{display:none}.oh-landing [data-reveal],.oh-landing .oh-node{opacity:1;transition:none;transform:none}}.oh-legal-content{max-width:780px}.oh-legal-content p{margin:0 0 var(--space-3);line-height:1.5}.oh-legal-content h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:var(--space-6) 0 var(--space-3)}.oh-legal-content h3{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin:var(--space-4) 0 var(--space-2)}.oh-legal-content ul{margin:0 0 var(--space-3);padding-left:var(--space-4)}.oh-legal-content li{margin-bottom:var(--space-2);line-height:1.5}.oh-legal-content table{border-collapse:collapse;width:100%;margin:0 0 var(--space-4)}.oh-legal-content th,.oh-legal-content td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-divider);vertical-align:top;line-height:1.4}.oh-legal-content th{font-family:var(--font-heading)}.oh-legal-content .oh-legal-meta{opacity:.7;margin:0 0 var(--space-4)}.oh-legal-content .oh-legal-tbd{background:var(--color-accent-100);color:var(--color-accent-700);padding:0 4px}.oh-auth{--oh-edge:clamp(20px, 5vw, 72px);height:100%;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);flex-direction:column;display:flex;overflow:hidden}.oh-auth .oh-scroll{padding-bottom:var(--safe-area-bottom);flex:1;overflow:hidden auto}.oh-auth .nav{padding:var(--space-3) var(--oh-edge);padding-top:calc(var(--space-3) + var(--safe-area-top));border-bottom:2px solid var(--color-divider);align-items:center;display:flex}.oh-auth .nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:inherit;font-size:18px;text-decoration:none}.oh-auth a{color:var(--color-accent-700);text-decoration:none}.oh-auth a:hover{color:var(--color-accent)}.oh-auth .oh-auth-content{max-width:420px;padding:clamp(32px, 6vw, 56px) var(--oh-edge) var(--space-8);margin:0 auto}.oh-auth .oh-mode-toggle{border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4);display:flex;overflow:hidden}.oh-auth .oh-mode-btn{padding:var(--space-2) var(--space-3);font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;flex:1;transition:background-color .18s,color .18s}.oh-auth .oh-mode-btn:hover:not(:disabled):not(.active){background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.oh-auth .oh-mode-btn.active{background:var(--color-accent);color:var(--color-bg)}.oh-auth .oh-mode-btn:disabled{opacity:.45;cursor:not-allowed}.oh-bottom-nav{padding-bottom:var(--safe-area-bottom);display:flex}.oh-sidebar{padding-left:var(--safe-area-left);display:none}.oh-mobile-trip-header{padding-top:var(--safe-area-top);display:flex}@media (width>=768px){.oh-bottom-nav{display:none}.oh-sidebar{display:flex}.oh-mobile-trip-header{display:none}}.tp-viz{width:100%;height:220px;position:relative}.tp-bubbles{animation:.95s cubic-bezier(.6,.02,.2,1) 2.85s forwards tpClusterOut;position:absolute;inset:0}@keyframes tpClusterOut{0%{opacity:1;transform:scale(1)}60%{opacity:.35}to{opacity:0;transform:scale(.54)translateY(6px)}}.tp-bub{opacity:0;background:var(--color-neutral-100);border:2px solid var(--color-divider);max-width:72%;font-size:var(--font-size-sm);color:color-mix(in srgb, var(--color-text) 82%, transparent);box-shadow:var(--shadow-sm);padding:9px 12px;line-height:1.45;animation:.5s cubic-bezier(.2,.8,.3,1) forwards tpBubIn;position:absolute}@keyframes tpBubIn{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:none}}.tp-bub-accent{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.tp-card{opacity:0;animation:.75s cubic-bezier(.2,.8,.25,1) 3.15s forwards tpCardIn;position:absolute;top:50%;left:3%;right:3%}@keyframes tpCardIn{0%{opacity:0;transform:translateY(-42%)scale(.94)}to{opacity:1;transform:translateY(-50%)scale(1)}}.tp-row{opacity:0;animation:.5s ease-out forwards tpRowIn}@keyframes tpRowIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.tp-row:nth-of-type(2){animation-delay:3.45s}.tp-row:nth-of-type(3){animation-delay:3.57s}.tp-row:nth-of-type(4){animation-delay:3.69s}@media (prefers-reduced-motion:reduce){.tp-bubbles{display:none}.tp-card{opacity:1;animation:none;transform:translateY(-50%)}.tp-row{opacity:1;animation:none;transform:none}}.admin-shell{color:#1a1a1a;height:100%;min-height:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.admin-sidebar{background:#f4f4f4;border-right:1px solid #ddd;flex-direction:column;flex-shrink:0;width:200px;min-height:0;padding:16px 0;display:flex;overflow-y:auto}.admin-nav-list{flex:1}.admin-back-link{color:#333;font-size:var(--font-size-md);border-top:1px solid #ddd;margin-top:12px;padding:12px 16px;text-decoration:none;display:block}.admin-back-link:hover{background:#e8e8e8}.admin-sidebar-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:#888;padding:0 16px 12px;font-weight:600}.admin-nav-list{margin:0;padding:0;list-style:none}.admin-nav-link{color:#333;font-size:var(--font-size-md);padding:8px 16px;text-decoration:none;display:block}.admin-nav-link:hover{background:#e8e8e8}.admin-nav-link-active{background:#e0e0e0;font-weight:600}.admin-main{flex:1;min-width:0;padding:24px 32px;overflow-y:auto}.admin-main h1{margin:0 0 20px;font-size:20px}.admin-stat-cards{flex-wrap:wrap;gap:16px;display:flex}.admin-stat-card{background:#fff;border:1px solid #ddd;border-radius:4px;min-width:160px;padding:16px 20px}.admin-stat-label{font-size:var(--font-size-sm);color:#666;margin:0 0 6px}.admin-stat-value{margin:0;font-size:28px;font-weight:600}.admin-stat-sublabel{font-size:var(--font-size-xs);color:#888;margin:4px 0 0}.admin-section-title{font-size:var(--font-size-lg);margin:28px 0 12px}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-size-md)}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #ddd;padding:8px 12px}.admin-table th{color:#666;font-weight:600;font-size:var(--font-size-sm)}.admin-table-mono{font-family:SF Mono,Menlo,monospace;font-size:var(--font-size-sm)}.admin-placeholder{color:#666;font-size:var(--font-size-md)}.admin-error{color:#b00020;font-size:var(--font-size-md)}.admin-search-form{gap:8px;margin-bottom:20px;display:flex}.admin-search-input{max-width:320px;font-size:var(--font-size-md);border:1px solid #ccc;border-radius:4px;flex:1;padding:8px 12px}.admin-search-button{font-size:var(--font-size-md);cursor:pointer;background:#f4f4f4;border:1px solid #ccc;border-radius:4px;padding:8px 16px}.admin-search-button:hover{background:#e8e8e8}.admin-account-cards{flex-direction:column;gap:12px;display:flex}.admin-account-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:16px 20px}.admin-account-name{font-size:var(--font-size-lg);margin:0 0 2px;font-weight:600}.admin-account-email{font-size:var(--font-size-md);color:#666;margin:0 0 12px}.admin-account-details{font-size:var(--font-size-md);grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.admin-account-details dt{color:#666}.admin-account-details dd{margin:0}.admin-account-deletion-status{font-size:var(--font-size-sm);color:#b00020;margin:12px 0 0}.admin-feedback-list{flex-direction:column;gap:12px;display:flex}.admin-feedback-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:16px 20px}.admin-feedback-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-feedback-submitter{margin:0 0 2px;font-size:15px;font-weight:600}.admin-feedback-email{font-size:var(--font-size-sm);color:#666;margin:0}.admin-feedback-date{font-size:var(--font-size-sm);color:#888;white-space:nowrap;margin:0}.admin-feedback-trip{font-size:var(--font-size-sm);color:#666;margin:8px 0 0}.admin-feedback-message{font-size:var(--font-size-md);white-space:pre-wrap;margin:8px 0 0}.admin-feedback-attachments{flex-wrap:wrap;gap:8px;margin:12px 0 0;display:flex}.admin-feedback-attachment-link{display:block}.admin-feedback-attachment-thumb{object-fit:cover;border:1px solid #ddd;border-radius:4px;width:72px;height:72px}.admin-status-button-group{gap:6px;margin-top:12px;display:flex}.admin-status-button{font-size:var(--font-size-sm);cursor:pointer;text-transform:capitalize;background:#f4f4f4;border:1px solid #ccc;border-radius:4px;padding:6px 12px}.admin-status-button:hover:not(:disabled){background:#e8e8e8}.admin-status-button:disabled{cursor:default}.admin-status-button-active{color:#fff;background:#333;border-color:#333}.admin-checkbox-label{font-size:var(--font-size-md);align-items:center;gap:6px;margin:8px 0 12px;display:flex}
