/* Legacy names kept for the rules below; every value is a Twokulu token. */
:root{font-family:var(--tk-font-sans);--ink:var(--tk-ink);--ocean:var(--tk-link);--muted:var(--tk-ink-muted);--line:var(--tk-line);--wash:var(--tk-surface-sunken);color:var(--ink);background:var(--tk-surface);-webkit-font-smoothing:antialiased}
body{letter-spacing:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{transition:transform .15s,background .15s}button:active:not(:disabled){transform:scale(.985)}h1,h2,h3{font-family:var(--tk-font-display);font-weight:500}h1{letter-spacing:-.02em;line-height:1.1}h2{letter-spacing:-.015em}p{line-height:1.6}input{border-color:var(--tk-line-strong);border-radius:var(--tk-radius-sm);box-shadow:none}input:focus{border-color:var(--tk-line-strong)}button,.button{border-radius:var(--tk-radius-pill)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--tk-focus);outline-offset:2px}.brand{font-size:24px;justify-content:flex-start;font-weight:500}
/* The welcome keeps one visual focal point and a complete, familiar sign-in form. */
.welcome{background:var(--tk-surface)}.auth-shell{max-width:1600px}.welcome-scene{height:260px;max-height:32svh;background:var(--tk-ink)}.welcome-photo{object-position:50% 56%}.welcome-scene:after{content:"";position:absolute;inset:0;z-index:-1}.scene-brand{background:var(--tk-surface-raised);color:var(--ink);box-shadow:0 2px 12px #1c233126;border-radius:var(--tk-radius-pill);padding:8px 16px 8px 12px;top:22px;left:24px;font-size:22px}.welcome-scene figcaption{left:24px;bottom:30px;background:#1c2331a6;border:1px solid #ffffff33;border-radius:var(--tk-radius-pill);padding:7px 12px;backdrop-filter:blur(8px)}.auth-content{position:relative;margin-top:-18px;border-radius:24px 24px 0 0;background:var(--tk-surface);padding:29px 26px 24px}.auth-copy{max-width:400px}.auth-copy h1{font-size:34px;line-height:1.1;margin-bottom:10px;letter-spacing:-.02em}.auth-copy #intro{font-size:14px;margin-bottom:0;max-width:38ch}.social-buttons{gap:10px;margin-top:24px}.social-buttons .provider-button{height:48px;min-height:48px;border-radius:var(--tk-radius-md)}.provider-apple img{height:44px}.social-buttons .provider-google{border-color:#c6cbd0}.email-divider{margin:19px 0;font-size:12px}.auth-copy form{margin-bottom:0}label{font-size:13px;margin-bottom:8px;font-weight:500}input{min-height:48px;padding:12px 14px}#password-field{margin-top:16px}#account-submit{margin-top:20px;min-height:48px}.account-actions{gap:2px 20px;margin:12px 0 14px}.account-actions button{font-size:12px;min-height:44px}.auth-copy>.note{font-size:11px;line-height:1.5;margin:8px 0}.auth-footer{margin-top:25px}.photo-credit{font-size:10px}.footer-links a{min-height:44px}.auth-copy #account-status:empty{display:none}
/* Trip library: the same restrained type, photo and control hierarchy as the trip workspace. */
.trip-hub{background:var(--tk-surface)}.trips-shell{max-width:1120px;padding:28px 40px 48px}.hub-header{margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--line)}.hub-header .brand{margin:0;font-size:23px}.hub-header .hub-profile{display:grid;place-items:center;width:46px;height:46px;min-width:46px;border:1px solid var(--line);border-radius:50%;padding:0;background:var(--tk-surface-raised)}.hub-profile svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}.hub-heading{padding:0 0 30px}.hub-heading h1{font-size:36px;letter-spacing:-.02em;margin:0 0 9px;line-height:1.1}.hub-heading>p{font-size:15px;margin:0;color:var(--muted)}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.library-heading h2{font-size:18px;margin:0;letter-spacing:-.01em}.library-heading>span{color:var(--muted);font-size:12px}.trip-grid{margin:18px 0 0;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr))}.trip{border:0;border-radius:0;overflow:visible;box-shadow:none;background:transparent;position:relative}.trip-image{height:auto;aspect-ratio:1.65;border-radius:var(--tk-radius-lg);background:var(--tk-surface-sunken);isolation:isolate}.trip-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#1c233175);pointer-events:none}.trip-image img{object-position:center;transition:transform .25s;object-fit:cover}.trip--family .trip-image img{object-position:center}.trip-badge{position:absolute;z-index:1;top:14px;left:14px;background:var(--tk-surface-raised);border-radius:var(--tk-radius-pill);padding:6px 11px;color:var(--ink);font-size:12px;font-weight:500}.trip-current{left:auto;right:14px;top:14px;background:var(--tk-surface-raised);color:var(--ink);padding:6px 11px;font-size:12px;border-radius:var(--tk-radius-pill);z-index:2}.trip-photo-label{position:absolute;bottom:16px;left:18px;right:18px;color:#fff;z-index:1;font-size:12px;font-weight:500}.trip-body{position:relative;padding:16px 44px 0 1px}.trip strong{font-family:var(--tk-font-display);font-size:21px;letter-spacing:-.01em;font-weight:500;line-height:1.3}.trip-date{margin-top:5px;font-size:13px}.trip-detail{display:block;font-size:12px;color:var(--muted);margin-top:4px;font-weight:400}.trip-action{position:absolute;right:0;top:21px;margin:0;padding:0;border:1px solid var(--tk-line-strong);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:25px;line-height:1;color:var(--ink);background:var(--tk-surface-raised)}.trip-action-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.trip[aria-busy=true] .trip-action{font-size:0;border-color:var(--ink);border-right-color:transparent;animation:trip-opening .7s linear infinite}.trip:disabled{opacity:.65}.trip[aria-busy=true]{opacity:1}.trip-grid[aria-busy=true]{min-height:220px;background:var(--tk-surface-sunken);border-radius:var(--tk-radius-lg)}.hub-invitation-note{font-size:12px;color:var(--muted);margin:32px 0 0}.hub-footer{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:center}.hub-footer .account{font-size:11px;margin:0;overflow-wrap:anywhere}.hub-footer>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hub-footer a,.hub-footer .quiet{font-size:11px;color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;margin:0;padding:0;width:auto}.hub-bottom{display:none}.trip-empty{background:var(--tk-surface-raised);border:1px solid var(--line)}@keyframes trip-opening{to{transform:rotate(360deg)}}
.account-page main{max-width:760px}.account-page h1{font-size:36px}.account-page .delete-section{border:1px solid var(--line);border-radius:var(--tk-radius-lg);padding:25px;margin-top:30px}.account-page .account-header{margin-bottom:36px}.info h1{font-size:38px}.info h2{font-size:24px}.info main{padding-top:36px}
@media(hover:hover){.trip:not(:disabled):hover .trip-image img{transform:scale(1.025)}.trip:not(:disabled):hover .trip-action{background:var(--ink);color:#fff;border-color:var(--ink)}.hub-profile:hover{background:var(--tk-surface-sunken)}.trip:not(:disabled):hover{background:transparent}}
@media(min-width:900px){.welcome{padding:28px;background:var(--tk-surface)}.auth-shell{grid-template-columns:1.15fr 1fr;min-height:calc(100svh - 56px);border-radius:var(--tk-radius-lg);gap:0;background:var(--tk-surface-raised);border:1px solid var(--line)}.welcome-scene{height:auto;min-height:720px;max-height:none;border-radius:12px}.welcome-photo{object-position:42% center}.scene-brand{left:32px;top:32px}.welcome-scene figcaption{bottom:32px;left:32px}.auth-content{margin-top:0;border-radius:0;padding:50px 60px 26px;background:var(--tk-surface-raised)}.auth-copy{margin:auto}.auth-copy h1{font-size:42px;letter-spacing:-.02em}.auth-footer{max-width:400px}.auth-copy>.note{font-size:12px}}
@media(max-width:760px){.trips-shell{padding:20px 20px calc(88px + env(safe-area-inset-bottom));}.hub-header{margin-bottom:26px;border:0;padding:0}.hub-header .brand{font-size:22px}.hub-heading{padding-bottom:25px}.hub-heading h1{font-size:32px;letter-spacing:-.02em}.hub-heading>p{font-size:13px}.library-heading h2{font-size:16px}.library-heading>span{font-size:11px}.trip-grid{grid-template-columns:minmax(0,1fr);gap:26px;margin-top:15px}.trip-image{aspect-ratio:1.9;border-radius:20px}.trip strong{font-size:19px}.trip-body{padding-top:12px}.trip-date{font-size:12px}.trip-detail{font-size:11px}.trip-badge,.trip-current{font-size:10px;padding:6px 10px;top:12px}.trip-badge{left:12px}.trip-current{right:12px}.trip-photo-label{left:15px;bottom:14px;font-size:11px}.hub-invitation-note{font-size:11px;margin-top:24px}.hub-footer{display:block;margin-top:20px;padding-top:12px}.hub-footer>div{gap:18px}.hub-footer .account{font-size:10px}.hub-bottom{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;justify-content:center;gap:52px;background:var(--tk-surface-raised);border-top:1px solid var(--line);padding:6px 20px calc(6px + env(safe-area-inset-bottom));}.hub-bottom a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;min-width:78px;text-decoration:none;font-size:11px;font-weight:500;color:var(--muted)}.hub-bottom a[aria-current]{color:var(--ink)}.hub-bottom svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ot-native .hub-header{display:none}.ot-native .trips-shell{padding-top:22px}.ot-native .hub-bottom{padding-bottom:6px}.account-page main{padding:24px 22px}.account-page .delete-section{padding:19px}.account-page h1{font-size:32px}}
@media(max-width:360px){.trips-shell{padding-right:18px;padding-left:18px}.auth-content{padding-right:22px;padding-left:22px}.hub-heading h1{font-size:30px}.auth-copy h1{font-size:31px}.trip strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
