@font-face{font-family:Manrope;src:url('/assets/manrope.ttf');font-weight:400 500;font-display:swap}@font-face{font-family:Manrope;src:url('/assets/manrope-bold.ttf');font-weight:600 800;font-display:swap}
:root{--ivory:#ffffe5;--ink:#37433a;--muted:#687269;--line:#e1e5dc;--teal:#36e7d6;--orange:#ff7a0a;--soft:#f6f7f2;--deep:#1b746c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);font-family:Manrope,sans-serif;background:linear-gradient(180deg,var(--ivory),#fafbf7 660px);font-size:16px;line-height:1.6}button,input,select{font:inherit;color:inherit}button,a,input,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--deep);outline-offset:4px}header{max-width:1200px;margin:auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;letter-spacing:-.6px}.brand img{object-fit:contain}.brand small{display:block;font-size:10px;letter-spacing:1.7px;font-weight:500}.header-link{font-size:14px;display:flex;gap:24px;align-items:center}.hero{max-width:1000px;margin:30px auto 46px;text-align:center;padding:0 24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.9px;display:flex;align-items:center;gap:10px}.hero .eyebrow{justify-content:center}.tiny-line{width:20px;height:2px;background:var(--deep)}h1{font-size:clamp(32px,3.6vw,49px);line-height:1.16;letter-spacing:-2.1px;font-weight:700;margin:23px 0 19px}h1 span{color:var(--deep)}.hero p{max-width:660px;margin:0 auto;color:var(--muted);font-size:15px;line-height:1.75}.proof{display:flex;justify-content:center;align-items:center;gap:16px;font-size:12px;margin-top:23px}.proof i{height:3px;width:3px;border-radius:50%;background:#99a294}.tool{max-width:1080px;margin:auto;padding:0 24px}.steps{max-width:610px;margin:0 auto 37px;display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}.steps>span:not(.step-line){display:flex;align-items:center;gap:9px;white-space:nowrap}.steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid var(--line);font-size:12px}.steps .active{color:var(--ink);font-weight:700}.steps .active b{background:var(--ink);color:var(--ivory);border-color:var(--ink)}.step-line{height:1px;background:var(--line);flex:1}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}h2{font-size:27px;line-height:1.3;letter-spacing:-.9px;margin:0 0 6px}.section-head p{margin:0;color:var(--muted);font-size:14px}.quiet{background:none;border:0;padding:10px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.person{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 10px #37433a03;overflow:visible;transition:box-shadow .2s}.person:hover{box-shadow:0 6px 22px #37433a09}.person-top{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:10px}.person-title{display:flex;align-items:center;gap:10px}.person-num{font-size:11px;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--soft)}.person-top h3{font-size:16px;margin:0}.icon-button{border:0;background:none;border-radius:8px;min-width:44px;min-height:44px;font-size:20px}.person-body{padding:21px 24px 24px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{position:relative;min-width:0}.field.full{grid-column:1/-1}label,.field-label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}input,select{width:100%;height:46px;border:1px solid #d7ddd3;border-radius:9px;padding:9px 12px;background:white;font-size:14px}input:hover,select:hover{border-color:#9aa79b}input::placeholder{color:#869083}input[type=time]{padding:8px 9px}.city-options{position:absolute;top:77px;left:0;right:0;z-index:10;padding:5px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #37433a22;max-height:245px;overflow:auto}.city-option{display:block;text-align:left;width:100%;background:white;border:0;border-radius:6px;padding:10px 12px;font-size:14px}.city-option:hover,.city-option:focus{background:var(--soft)}.city-option small{display:block;color:var(--muted);font-size:12px}.hint{font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0 0}.live-clock{background:var(--soft);border-radius:10px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;margin:20px 0 22px;gap:12px}.clock-city{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase}.clock-meta{font-size:11px;color:var(--muted);margin-top:4px}.clock-time{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums;text-align:right}.clock-day{font-size:11px;color:var(--muted);text-align:right;margin-top:4px}.subheading{display:flex;align-items:center;justify-content:space-between;margin:21px 0 11px;font-size:13px;font-weight:700}.subheading span{font-weight:400;color:var(--muted);font-size:11px}.routine{padding-top:4px}.commitment{margin-top:15px;border-top:1px solid var(--line);padding-top:14px}.commitment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.commitment-head input{border:0;padding:0;height:34px;font-weight:700;background:transparent}.commitment-head button{min-height:36px;min-width:36px}.days{display:flex;gap:5px;margin-top:12px}.day{background:var(--soft);border:1px solid transparent;border-radius:7px;flex:1;min-height:38px;padding:4px 0;font-size:11px}.day[aria-pressed=true]{background:var(--ink);color:#fff}.add-commit{font-size:12px;border:0;background:transparent;color:var(--deep);padding:14px 0 8px;min-height:44px}.mini{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;margin-top:11px}.mini i{height:7px;border-radius:2px;background:#e9ede5}.mini i.awake{background:#b4e3d9}.mini i.busy{background:#79867b}.mini-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:4px}.add-person{width:100%;border:1px dashed #bac5b6;border-radius:12px;background:transparent;padding:17px;margin:18px 0 0;font-size:14px}.add-person:hover{background:#f0f5ec;border-color:var(--ink)}.controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px 0}.controls label{margin:0 0 11px}.segmented{display:flex;gap:6px}.segment{min-height:42px;min-width:65px;border:1px solid var(--line);background:white;border-radius:8px;font-size:13px}.segment[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:white}.primary{border:1px solid var(--ink);background:var(--ink);color:white;padding:15px 22px;border-radius:10px;font-weight:700;font-size:14px;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:25px;transition:transform .2s,background .2s}.primary:hover{background:#253229;transform:translateY(-1px)}.secondary{border:1px solid #cbd3c7;border-radius:9px;background:white;padding:12px 18px;min-height:46px;font-size:14px}.secondary:hover{background:var(--soft)}.quiet-note{text-align:center;font-size:12px;color:var(--muted);margin:0 0 22px}.about{max-width:1032px;margin:82px auto 0;padding:55px 0;border-top:1px solid #dce3d5;display:grid;grid-template-columns:1fr 260px;gap:110px;align-items:center}.about h2{font-size:38px;letter-spacing:-1.6px;margin:17px 0}.about p{max-width:550px;font-size:15px;color:var(--muted);line-height:1.8}.about .emotional{font-size:16px;color:var(--ink);font-weight:700;margin:22px 0}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:14px;font-weight:700;border-bottom:1px solid;padding-bottom:6px}.about figure{margin:0}.about img{width:100%;height:280px;object-fit:cover;object-position:50% 34%;border-radius:14px}.about figcaption{font-size:13px;font-weight:700;margin-top:10px}.about figcaption span{display:block;font-size:11px;font-weight:400;color:var(--muted)}footer{max-width:1104px;padding:28px 36px 40px;margin:auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:20px;font-size:11px;color:var(--muted)}footer div{display:flex;gap:18px}footer small{width:100%;font-size:10px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 22px;background:var(--ink);color:white;border-radius:12px;box-shadow:0 4px 20px #0002;z-index:100;font-size:14px;display:none}.skip{position:absolute;top:-100px}.skip:focus{top:5px;background:white;padding:10px;z-index:200}.error{color:#9b3e22;font-size:13px;margin:8px 0}.result-panel{background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.result-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:18px 0 27px}.result-toolbar .field{min-width:240px}.periods{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.period{padding:10px 15px;background:white;border:1px solid var(--line);border-radius:9px;font-size:12px;text-align:left}.period[aria-pressed=true]{background:var(--ink);color:white}.period small{display:block;font-size:10px;margin-top:3px}.heatmap{display:grid;grid-template-columns:43px repeat(7,minmax(0,1fr));gap:5px 9px}.heat-day{text-align:center;font-size:12px;font-weight:700;margin-bottom:8px}.heat-label{font-size:10px;color:var(--muted);line-height:12px}.heat-cell{height:12px;border:0;border-radius:3px;background:#edf0e9;padding:0;transition:background .15s}.heat-cell:hover{outline:2px solid var(--ink);outline-offset:1px}.heat-cell.c1{background:#ffebd9}.heat-cell.c2{background:#ffd0a5}.heat-cell.c3{background:#ffa75c}.heat-cell.c4{background:var(--orange)}.legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px;font-size:10px;color:var(--muted);margin:22px 0 8px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:16px;height:8px;border-radius:2px}.result-note{font-size:12px;color:var(--muted);margin-top:22px}.windows{margin-top:32px}.windows h3{font-size:16px}.window-day{border-top:1px solid var(--line);padding:16px 0}.window-day>h3{margin:0 0 14px}.window-row{display:grid;grid-template-columns:160px 1fr;gap:12px;padding:13px 18px;background:var(--soft);border-radius:10px;margin:8px 0;font-size:13px}.window-title span{display:block;color:var(--muted);font-size:11px}.window-times{display:flex;flex-wrap:wrap;gap:13px 34px}.window-times strong{font-size:14px;display:block}.window-times small{font-size:10px;color:var(--muted)}.save-strip{margin:27px 0 0;padding:24px;background:#e9f4ec;border-radius:13px;display:flex;gap:24px;align-items:center;justify-content:space-between}.save-strip p{font-size:13px;margin:5px 0;color:var(--muted)}.save-strip h3{font-size:17px;margin:0}.empty{text-align:center;padding:65px 24px}.empty p{max-width:530px;margin:14px auto 24px;color:var(--muted)}.alignment{height:390px;display:flex;justify-content:center;flex-direction:column;gap:18px;text-align:center}.alignment-bars{display:flex;flex-direction:column;gap:7px;width:65%;margin:24px auto}.alignment-bars i{height:14px;background:#bee5d8;border-radius:4px;animation:align .8s ease both}.alignment-bars i:nth-child(2){background:#ffd0a5;animation-delay:.07s}.alignment-bars i:nth-child(3){background:var(--orange);animation-delay:.14s}@keyframes align{from{transform:translateX(-30px) scaleX(.7);opacity:.3}to{transform:translateX(0) scaleX(1);opacity:1}}.reveal .heat-cell{animation:appear .45s ease both}@keyframes appear{from{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:none}}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;max-width:510px;width:calc(100% - 32px);color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#23372c65;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}dialog p{font-size:13px;color:var(--muted)}dialog .field{margin:14px 0}fieldset{border:0;padding:0;margin:18px 0}legend{font-size:12px;margin-bottom:14px}fieldset label{display:inline-flex;align-items:center;gap:9px;margin-right:30px}input[type=radio]{width:20px;height:20px;accent-color:var(--deep)}dialog .primary{width:100%}.export-actions{display:flex;gap:10px;flex-wrap:wrap}.saved-banner{border-left:3px solid var(--deep);background:#e9f4ec;padding:16px 20px;margin:20px 0;font-size:13px}.saved-banner strong{display:block}.demo-label{font-size:11px;color:var(--muted)}
@media(max-width:720px){header{padding:15px 20px}.brand{font-size:16px;gap:7px}.brand img{width:64px;height:64px}.brand small{font-size:8px;letter-spacing:1px}.header-link{font-size:0;gap:0}.header-link span{font-size:24px;padding:12px}.hero{margin:20px auto 30px;padding:0 23px;text-align:left}.hero .eyebrow{justify-content:start;font-size:9px;letter-spacing:1.15px}.hero h1{font-size:34px;letter-spacing:-1.35px;margin-top:18px}.desktop-break{display:none}.hero p{font-size:14px;line-height:1.7}.proof{justify-content:flex-start;gap:8px;flex-wrap:wrap;font-size:10px;margin-top:17px}.tool{padding:0 18px}.steps{gap:8px;margin-bottom:27px;font-size:11px}.steps>span:not(.step-line){gap:5px}.steps b{height:23px;width:23px}.section-head{align-items:start}.section-head h2{font-size:23px}.section-head p{font-size:12px}.quiet{font-size:11px;max-width:96px;padding-top:4px}.cards{grid-template-columns:1fr;gap:16px}.person-top{padding:14px 18px}.person-body{padding:18px}.fields{gap:12px}.controls{align-items:stretch;flex-direction:column;padding:25px 0 18px;gap:22px}.segmented{gap:8px}.segment{flex:1;min-height:45px}.primary{width:100%}.about{margin:55px 22px 0;padding:35px 0;grid-template-columns:1fr 100px;gap:24px;align-items:start}.about .eyebrow{font-size:9px;letter-spacing:1px}.about h2{font-size:28px;letter-spacing:-1px}.about p{font-size:13px}.about img{height:135px;margin-top:30px}.about figcaption{font-size:10px}.about figcaption span{font-size:9px}.about .emotional{font-size:14px}.text-link{font-size:12px;gap:8px}footer{padding:25px 22px;gap:17px;font-size:10px}footer div{gap:13px;flex-wrap:wrap}.result-panel{padding:18px 14px}.result-toolbar{flex-direction:column;align-items:stretch;gap:14px}.result-toolbar .field{min-width:0}.heatmap{gap:5px 5px;grid-template-columns:32px repeat(7,minmax(0,1fr))}.heat-day{font-size:10px}.heat-label{font-size:9px}.heat-cell{height:13px}.legend{justify-content:start;gap:8px;font-size:9px}.window-row{grid-template-columns:1fr;padding:14px}.window-title{display:flex;gap:8px;align-items:center}.window-times{gap:12px 25px}.save-strip{flex-direction:column;align-items:stretch;padding:20px}.periods{gap:5px}.period{padding:8px;font-size:11px}.export-actions>*{flex:1}.result-panel h2{font-size:23px}.result-note{font-size:11px}#toast{width:calc(100% - 32px);text-align:center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Direction 02: ANC orange leads; charcoal gives structure; Bright Teal marks connection. */
body{background:#ffffe5}.hero{position:relative;max-width:none;margin:12px 0 0;padding:48px max(24px,calc((100vw - 1040px)/2)) 49px;background:#ff7a0a;text-align:left;border-top:1px solid #ed6d00;border-bottom:1px solid #ed6d00}.hero .eyebrow{justify-content:flex-start;color:#26312a;font-size:11px;letter-spacing:1.6px}.hero .tiny-line{background:#37433a;width:25px;height:3px}.hero h1{max-width:920px;font-size:clamp(38px,4.5vw,62px);letter-spacing:-2.7px;line-height:1.09;margin:24px 0 22px;color:#27342b}.hero h1 span{color:#27342b}.hero p{max-width:670px;margin:0;color:#27342b;font-size:16px;font-weight:500;line-height:1.75}.proof{justify-content:flex-start;color:#27342b;font-size:12px;font-weight:600;margin-top:24px}.proof i{background:#37433a}.tool{padding-top:29px}.steps{margin-bottom:32px}.steps .active b{background:#36e7d6;color:#27342b;border-color:#36e7d6}.person{box-shadow:0 5px 20px #37433a06;border-color:#dddccc;border-radius:16px}.person-top{border-color:#ecece2}.person-num{background:#fff0e3;color:#8f4200;font-weight:700}.live-clock{background:#37433a;color:#ffffe5;border-radius:10px;margin-top:20px;padding:19px 18px}.clock-time{color:#36e7d6;font-size:35px}.clock-city{color:#ffffe5}.clock-meta,.clock-day{color:#d4ddce}.primary{background:#37433a;color:#ffffe5;border-color:#37433a}.primary span{color:#36e7d6}.segment[aria-pressed=true]{background:#36e7d6;color:#27342b;border-color:#1b746c}.add-person{border-color:#b9bca7}.add-person:hover{background:#fff0dc;border-color:#b65808}.add-commit{color:#8e4407;font-weight:700}.mini i.awake{background:#36e7d6}.day[aria-pressed=true]{background:#37433a;color:#ffffe5}.about{border-top:2px solid #ff7a0a;margin-top:75px}.about .eyebrow{color:#9b4905}.about .emotional{display:inline-block;border-left:3px solid #ff7a0a;padding-left:14px}.save-strip{background:#37433a;color:#ffffe5}.save-strip p{color:#d7dfd1}.save-strip .primary{background:#36e7d6;color:#27342b;border-color:#36e7d6}.save-strip .primary span{color:#27342b}.saved-banner{background:#d8faf1;border-color:#1b746c}.text-link{border-color:#ff7a0a}.header-link span{color:#9b4905}.result-panel{border-color:#dddccc}.period[aria-pressed=true]{background:#37433a;color:#ffffe5}.result-toolbar .eyebrow{color:#9b4905}footer{border-top-color:#d9ddcc}
@media(max-width:720px){.hero{margin:8px 0 0;padding:30px 23px 33px}.hero h1{font-size:38px;letter-spacing:-1.7px;line-height:1.1;margin:20px 0}.hero .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.1px;max-width:290px}.hero p{font-size:14px;line-height:1.7}.proof{font-size:10px;gap:8px;margin-top:21px}.tool{padding-top:25px}.steps{margin-bottom:25px}.clock-time{font-size:33px}.about{margin-top:55px}}
/* Direction 03: names lead, clocks provide context, connection grows from entered people. */
.hero{padding-top:37px;padding-bottom:38px}.hero h1{font-size:clamp(38px,4.1vw,56px);max-width:940px}.hero h1 span{position:relative;display:inline;color:#27342b}.hero h1 span:after{content:'';display:block;width:75px;height:5px;background:#36e7d6;margin-top:19px}.hero p{margin-top:18px}.person-top{padding:22px 24px;border-top:3px solid #ff7a0a;border-radius:15px 15px 0 0}.person-title{gap:13px;min-width:0}.person-title>div{min-width:0}.person-top h3{font-size:28px;font-weight:700;letter-spacing:-1px;overflow-wrap:anywhere;line-height:1.2}.person-overline{display:block;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:#7b6854;margin-bottom:4px}.person-num{background:none;color:#8b9785;font-size:12px;width:22px;flex-shrink:0}.person-top>div:last-child{display:flex;flex-shrink:0}.live-clock{padding:14px 17px}.clock-time{font-size:26px;letter-spacing:-.8px}.clock-city{font-size:12px;letter-spacing:.7px}.clock-meta{font-size:11px}.clock-day{font-size:11px}.field.full input[data-person-prop=name]{font-size:18px;height:49px;font-weight:600}.connection-panel{background:#37433a;border-radius:16px;padding:23px 27px;margin:0 0 25px;color:#ffffe5;overflow:hidden}.connection-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px}.connection-intro .eyebrow{color:#36e7d6;font-size:9px;letter-spacing:1.5px}.connection-caption{font-size:12px;color:#f2f4df}.connection-people{display:flex;flex-wrap:wrap;position:relative;row-gap:24px}.connection-person{flex:1;min-width:140px;position:relative;padding:0 32px 0 0;animation:person-arrives .4s ease both}.connection-person:last-child{padding-right:0}.connection-name{display:block;font-size:29px;font-weight:700;line-height:1.2;letter-spacing:-1px;overflow-wrap:anywhere;position:relative;z-index:1}.connection-city{display:block;font-size:13px;color:#36e7d6;margin-top:7px}.connection-now{display:block;color:#d9e0cf;font-size:12px;margin-top:3px;font-variant-numeric:tabular-nums}.connection-person:not(:last-child):after{content:'';position:absolute;left:calc(100% - 90px);top:18px;width:63px;height:1px;background:#91aa93;transform-origin:left;transition:transform .6s}.connected .connection-person:not(:last-child):after{background:#36e7d6;animation:connect-people .65s ease both}.connection-person:not(.has-city){opacity:.6}.connection-person:not(.has-city):after{background:#91aa9366}.align-person{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center;animation:align-real .75s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--order)*30ms)}.align-person strong{text-align:left;font-size:18px;letter-spacing:-.5px}.align-week{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.align-day{display:grid;grid-template-columns:repeat(24,1fr);gap:1px}.align-day i{height:20px;border-radius:1px;background:#dde2d7}.align-day i.potential{background:#36e7d6}.align-person:nth-of-type(even) .potential{background:#ff7a0a}.alignment-real{height:auto;min-height:410px;padding:45px 25px;background:white;border:1px solid var(--line);border-radius:16px}.alignment-real .eyebrow{justify-content:center;color:#9b4905}.alignment-real h2{font-size:32px;margin-bottom:20px}.align-labels{display:grid;grid-template-columns:130px 1fr;gap:20px}.align-labels>div{display:grid;grid-template-columns:repeat(7,1fr);font-size:10px}.alignment-real p{font-size:13px;color:var(--muted)}.result-panel.reveal{animation:result-enters .5s ease both}.reveal .heat-cell.c4{animation:heat-arrives .65s ease both}.save-strip{border-bottom:4px solid #ff7a0a}.about{gap:70px;grid-template-columns:1fr 310px}.about img{height:330px}.about-copy .eyebrow{font-size:10px}.about h2{font-size:42px}.about .emotional{display:block;width:fit-content}@keyframes person-arrives{from{opacity:.1;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes connect-people{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes align-real{from{transform:translateX(calc((var(--order) + 1)*18px));opacity:.3}to{transform:none;opacity:1}}@keyframes result-enters{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes heat-arrives{from{background:#36e7d6;transform:scaleX(.4)}to{background:#ff7a0a;transform:none}}
@media(max-width:720px){.hero{padding:27px 23px 29px}.hero h1{font-size:37px}.connection-panel{padding:20px;margin-bottom:20px}.connection-intro{align-items:start;flex-direction:column;gap:7px;margin-bottom:22px}.connection-caption{font-size:11px}.connection-name{font-size:25px}.connection-person{min-width:115px;padding-right:14px}.connection-city{font-size:12px}.connection-now{font-size:10px}.connection-person:not(:last-child):after{width:22px;left:calc(100% - 35px);top:15px}.person-top{padding:19px 18px}.person-top h3{font-size:27px}.clock-time{font-size:25px}.about{grid-template-columns:1fr;gap:20px}.about figure{display:flex;align-items:center;gap:18px;grid-row:2}.about img{height:150px;width:115px;margin:0}.about figcaption{font-size:15px}.about figcaption span{font-size:12px}.about h2{font-size:34px}.about p{font-size:15px}.align-person{grid-template-columns:70px 1fr;gap:8px}.align-person strong{font-size:14px}.align-labels{grid-template-columns:70px 1fr;gap:8px}.align-week{gap:4px}.align-day{gap:0}.align-day i{height:18px}.alignment-real{padding:28px 16px}.alignment-real h2{font-size:25px}.connection-intro .eyebrow{font-size:9px}.connection-people{row-gap:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.connection-stage{display:grid;grid-template-columns:1fr 230px;gap:24px;align-items:center}.connection-globe{width:230px;position:relative}.connection-globe canvas{width:230px;height:230px;display:block}.connection-globe small{display:block;text-align:center;color:#c4d2bf;font-size:10px;margin-top:-8px}.connection-person{background:none;border:0;text-align:left;color:inherit;border-radius:5px;padding-bottom:4px;min-height:92px}.connection-person:hover:not(:disabled) .connection-name{color:#36e7d6}.connection-person:disabled{cursor:default}.connection-panel:has(.connection-globe) .connection-intro{margin-bottom:0}.connection-stage:not(:has(.connection-globe)){display:block}.connection-people{gap:22px 0}.connection-person:not(:last-child):after{width:30px;left:calc(100% - 45px)}
@media(max-width:720px){.connection-stage{grid-template-columns:1fr;gap:8px}.connection-globe{width:180px;margin:0 auto;grid-row:1}.connection-globe canvas{width:180px;height:180px}.connection-globe small{font-size:9px}.connection-panel:has(.connection-globe) .connection-intro{margin-bottom:4px}.connection-caption{font-size:11px}.connection-people{gap:15px 0}.connection-person:not(:last-child):after{width:20px;left:calc(100% - 28px)}}
.connection-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 22px;padding:14px 18px;border-left:3px solid #ff7a0a;background:#fff8e9;border-radius:0 9px 9px 0}.connection-empty span{font-size:15px;font-weight:700}.connection-empty small{font-size:12px;color:#687269}.person-title h3{max-width:290px}.connection-person:focus-visible{outline-color:#36e7d6}
@media(min-width:1000px){.hero{display:grid;grid-template-columns:1.4fr 1fr;column-gap:50px;align-items:center;padding-top:30px;padding-bottom:30px}.hero .eyebrow{grid-column:1/-1}.hero h1{grid-column:1;grid-row:2/4;font-size:45px;margin:19px 0 0;line-height:1.1}.hero p{grid-column:2;grid-row:2;margin-top:20px;font-size:15px}.hero .proof{grid-column:2;grid-row:3;align-self:start;margin-top:10px;flex-wrap:wrap;font-size:11px}.hero h1 .desktop-break{display:none}}
@media(max-width:720px){.connection-empty{flex-direction:column;align-items:start;gap:4px;padding:12px 15px}.connection-empty span{font-size:14px}.connection-empty small{font-size:11px}.connection-person{max-width:100%;overflow-wrap:anywhere}.person-title h3{max-width:220px}}
label,.field-label{font-size:14px}input,select{font-size:16px}.day{font-size:12px}.subheading{font-size:14px}.header-link{font-size:14px}footer{font-size:12px}footer div{font-size:13px}.about p{font-size:16px}.city-option{font-size:15px}
@media(max-width:720px){.header-link{font-size:0}.hero p{font-size:15px}.about p{font-size:15px}.connection-person{min-width:calc(50% - 1px)}.connection-name{font-size:25px}.connection-city{font-size:13px}.connection-now{font-size:11px}footer div{font-size:13px;gap:16px}.primary{font-size:15px}.day{min-height:42px}}
/* Explicit 24-hour controls avoid OS-dependent AM/PM time pickers. */
.time-field{min-width:0}.time-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;align-items:center}.time-pair select{min-width:0;padding:8px 5px;font-variant-numeric:tabular-nums;height:46px}.time-pair>span{font-size:18px;font-weight:700}.time-field .field-label{margin-bottom:7px}

/* Connection is the visual signature, from first arrival to the shared plan. */
.hero{background:radial-gradient(ellipse at 95% 5%,#ffb44c 0,transparent 52%),#ff7a0a;overflow:hidden}.hero-signature{grid-column:1/-1;display:flex;align-items:center;gap:18px;margin-top:25px;padding-top:19px;border-top:1px solid #37433a40;font-size:14px;font-weight:700}.connection-mark{display:flex;align-items:center;width:88px}.connection-mark i{width:16px;height:16px;border:3px solid #37433a;border-radius:50%;background:#36e7d6;flex-shrink:0}.connection-mark b{height:2px;background:#37433a;flex:1;transform-origin:left;animation:join-people .9s ease both}@keyframes join-people{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.controls{background:#f5f2df;border:1px solid #d7d6c1;border-top:3px solid #ff7a0a;border-radius:14px;padding:24px;gap:24px;margin-top:24px}.controls label{font-weight:700;font-size:17px}.duration-help{font-size:12px;color:#586353;margin:6px 0 12px}.mini-day{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;margin:5px 0}.mini-day>span{font-size:10px;font-weight:600}.mini-day .mini{margin:0;gap:3px}.mini-day .mini i{height:8px;border-radius:2px}.week-hours{margin-left:38px}.social-icon{width:19px;height:19px;flex-shrink:0}footer div a{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid #74806f;border-radius:9px;min-height:44px}footer div a:hover{color:#36e7d6;border-color:#36e7d6}footer{background:#37433a;color:#ffffe5;max-width:none}footer a{color:inherit}.about{background:#37433a;color:#ffffe5;border-radius:20px;padding:38px;margin-bottom:35px}.about p{color:#e1e5d5}.about .eyebrow{color:#36e7d6}.about .text-link{color:#ffffe5}.about figcaption,.about figcaption span{color:#e1e5d5}.about h2{font-size:clamp(27px,3vw,38px)}
@media(max-width:720px){.hero-signature{font-size:12px;gap:12px}.connection-mark{width:58px}.controls{padding:20px 16px}.about{padding:24px;grid-template-columns:1fr}.about figure{max-width:140px}.about img{margin-top:0;height:180px}.mini-day .mini{gap:2px}}
@media(prefers-reduced-motion:reduce){.connection-mark b{animation:none}}
/* Low-contrast brand geometry stays outside interactive surfaces. */
body{background-image:url('/assets/hexagons.svg');background-position:right 410px;background-repeat:repeat-y;background-size:430px 560px}.hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:url('/assets/hexagons.svg') right center/430px 560px no-repeat;mix-blend-mode:multiply}.hero>*{position:relative}.about{position:relative;isolation:isolate}.about:before{content:'';position:absolute;inset:0;background:url('/assets/hexagons.svg') right center/430px 560px no-repeat;pointer-events:none;z-index:-1}.legal-note{flex-basis:100%;max-width:850px;font-size:12px;line-height:1.7;color:#dfe5d5}.legal-note a{text-decoration:underline}.legal-page{max-width:800px;margin:40px auto;padding:28px;background:#fffff8;border:1px solid #dcdcc9;border-radius:16px}.legal-page h1{font-size:32px;line-height:1.2}.legal-page h2{font-size:21px;margin-top:32px}.legal-page p{line-height:1.75}.legal-page a{text-decoration:underline}@media(max-width:720px){body{background-size:280px auto}.legal-page{margin:20px 16px;padding:22px}}

/* Reading comfort and export contrast, including the dark result panel. */
.proof{font-size:15px;line-height:1.6;gap:13px}.hero .eyebrow{font-size:12px}.hero p{font-size:18px}.hero-signature{font-size:16px}.hint,.quiet-note,.result-note,.result-panel .hint,.saved-banner,.duration-help{font-size:15px;line-height:1.65}.saved-banner strong{font-size:17px;margin-bottom:6px}.subheading span,.clock-meta,.clock-day,.connection-now{font-size:13px}.quiet{font-size:14px;max-width:none}.secondary,.export-actions .secondary{background:#ffffe5;color:#27342b;border:1px solid #a4b19b;font-weight:700;min-height:48px}.secondary:hover,.export-actions .secondary:hover{background:#36e7d6;color:#27342b;border-color:#36e7d6}.secondary:focus-visible{outline:3px solid #ff7a0a;outline-offset:3px}.save-strip p{font-size:16px}.field label+label{display:block;margin-top:10px}.about{overflow:hidden;grid-template-columns:1.4fr 1fr;gap:45px;padding:48px}.about p{font-size:18px;line-height:1.75}.about figure{position:relative;max-width:300px;margin:0;justify-self:center}.about figure:before{content:'';position:absolute;inset:-15px -15px 50px;background:#ff7a0a;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.about img{position:relative;width:100%;height:340px;object-fit:cover;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border-radius:0}.about figcaption{position:relative;margin-top:24px;font-size:16px}.about figcaption span{font-size:14px}.about:before{background-size:650px 850px;opacity:.8}.legal-note,footer,footer div{font-size:14px}.hero:before{background-size:650px 850px}.mini-day>span{font-size:12px}.mini-day{grid-template-columns:34px 1fr}.mini-labels{font-size:12px}
@media(min-width:1000px){.hero .proof{font-size:15px}.hero p{font-size:18px}}
@media(max-width:720px){.proof{font-size:14px!important;gap:9px 14px}.proof i{display:none}.proof span{border-left:2px solid #37433a;padding-left:9px}.hero p{font-size:17px}.hero .eyebrow{font-size:11px}.hint,.quiet-note,.result-note,.saved-banner{font-size:14px}.section-head p{font-size:15px}.section-head{gap:15px;flex-wrap:wrap}.quiet{max-width:none;font-size:14px}.about{padding:28px;grid-template-columns:1fr;gap:36px}.about p{font-size:17px}.about figure{max-width:220px}.about img{height:270px}.export-actions{width:100%;display:grid;grid-template-columns:1fr}.export-actions .secondary{width:100%;font-size:16px}.legend{font-size:11px}.heat-label,.heat-day{font-size:11px}}
/* Country search and selection form one readable step before the city. */

@media(max-width:720px){.about figure{display:block;width:220px}.about img{width:220px}.about figcaption{text-align:center}}
.about img{height:auto;aspect-ratio:0.8660254;object-fit:cover}.about figure:before{display:none}

/* Navigation refinement: the connection stays beside the routine being edited. */
.setup-controls{margin:0 0 12px;gap:24px}.edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.routine-editor{grid-column:1;grid-row:1;min-width:0}.routine-editor .cards{grid-template-columns:1fr}.connection-follow{grid-column:2;grid-row:1;position:sticky;top:16px;min-width:0}.connection-follow .connection-stage{display:flex;flex-direction:column-reverse;gap:16px}.connection-follow .connection-intro{flex-direction:column;align-items:start;gap:8px}.connection-follow .connection-globe,.connection-follow canvas{width:270px;height:270px}.connection-follow .connection-globe{height:auto}.connection-follow .connection-people{width:100%;max-height:260px;overflow:auto;gap:16px}.connection-follow .connection-person{min-width:100%;padding:0}.connection-follow .connection-person:after{display:none}.connection-follow .connection-name{font-size:25px}.connection-follow .connection-empty{flex-direction:column;align-items:start}.finish-routines{padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.finish-routines p{font-size:15px;max-width:240px}.save-strip{margin:24px 0}.support-anc{display:flex;justify-content:space-between;gap:24px;padding:20px 0 26px;align-items:center}.support-anc p{font-size:15px;margin:6px 0;color:var(--muted)}.support-anc>div:first-child{max-width:560px}.support-anc>div:last-child{display:flex;flex-wrap:wrap;gap:18px}.support-anc a{font-size:15px;font-weight:700;color:#37433a;text-decoration:underline;text-underline-offset:5px}.support-anc a:hover{color:#914500}
@media(max-width:900px){.edit-layout{display:flex;flex-direction:column;gap:16px}.routine-editor{width:100%}.connection-follow{width:100%;top:0;z-index:5;background:#ffffe5;padding-top:6px}.connection-follow .connection-panel{padding:12px 16px;margin:0;box-shadow:0 5px 15px #37433a20}.connection-follow .connection-intro{display:none}.connection-follow .connection-stage{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px}.connection-follow .connection-globe{grid-column:1;grid-row:1;width:100px}.connection-follow canvas{width:100px;height:100px}.connection-follow .connection-globe small{display:none}.connection-follow .connection-people{grid-column:2;grid-row:1;flex-wrap:nowrap;max-height:none;overflow-x:auto;gap:20px}.connection-follow .connection-person{min-width:150px;flex:0 0 150px;min-height:84px}.connection-follow .connection-name{font-size:21px}.connection-follow .connection-now{font-size:12px}.connection-follow .connection-city{font-size:13px}.connection-follow .connection-empty{margin-bottom:0}.support-anc{align-items:start;flex-direction:column;gap:10px}.finish-routines{flex-direction:column;align-items:stretch}.finish-routines p{max-width:none}.setup-controls{align-items:stretch}.person{scroll-margin-top:145px}}
@media(prefers-reduced-motion:reduce){.connection-follow *{animation:none!important}}
@media(max-width:900px){.connection-follow .connection-people{flex-direction:column;max-height:116px;overflow-x:hidden;overflow-y:auto;gap:10px}.connection-follow .connection-person{min-width:0;min-height:0;flex:none;width:100%;padding:0}.connection-follow .connection-name{font-size:18px;line-height:1.1}.connection-follow .connection-city{font-size:12px;margin-top:3px}.connection-follow .connection-now{font-size:11px;margin-top:1px}.connection-follow .connection-empty small{font-size:13px}.support-contact{overflow-wrap:anywhere}}

@media(max-width:900px){.connection-follow .connection-people{max-height:140px}.routine-editor input,.routine-editor select,.routine-editor button{scroll-margin-top:180px}}
@media(max-width:900px) and (max-height:520px){.connection-follow{position:static}}

/* Export actions are the next step after creating a calendar. Keep them
   visually distinct from the dark strip and the ivory page background. */
.save-strip .export-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.save-strip .export-actions .secondary{background:var(--teal);color:#27342b;border:2px solid var(--teal);box-shadow:0 5px 0 rgba(255,122,10,.9);font-weight:800;min-height:52px;padding:12px 18px}
.save-strip .export-actions .secondary:hover{background:#7af3e7;border-color:#7af3e7;transform:translateY(-1px)}
.save-strip .export-actions .secondary:focus-visible{outline:3px solid var(--ivory);outline-offset:4px}
@media(max-width:720px){.save-strip .export-actions{display:grid;grid-template-columns:1fr;gap:10px}.save-strip .export-actions .secondary{width:100%;font-size:16px}}

/* Feedback while the private Google service confirms persistence. */
.save-progress:not(:empty){padding:14px 16px;border-radius:12px;background:#d6f8ec;color:#37433a;font-size:15px;line-height:1.5;border-left:3px solid #36e7d6}
button[aria-busy="true"]:before{content:"";display:inline-block;width:16px;height:16px;margin-right:10px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;animation:save-spin .8s linear infinite}
@keyframes save-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){button[aria-busy="true"]:before{animation:none}}
