:root{--navy:#123d49;--sea:#087f8c;--aqua:#7dd3c7;--sand:#f4ead8;--paper:#fffaf0;--coral:#f36f56;--yellow:#f3c85b;--ink:#15363c;--muted:#73868a;--line:rgba(21,54,60,.14);--shadow:0 24px 70px rgba(17,61,73,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,sans-serif}button,input,select{font:inherit}button,a{color:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif}h1,h2{letter-spacing:-.055em}.eyebrow{color:var(--coral);font-size:10px;font-weight:800;letter-spacing:.18em}.pale{color:var(--aqua)}.soft{max-width:390px;color:var(--muted);font-size:12px;line-height:1.7}
[hidden]{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:var(--navy)}.login-art{display:flex;flex-direction:column;justify-content:end;padding:8vw;color:white;background:linear-gradient(0deg,rgba(18,61,73,.5),rgba(18,61,73,.15)),url('https://images.unsplash.com/photo-1504512485720-7d83a16ee930?auto=format&fit=crop&w=1500&q=85') center/cover}.login-art span{font-size:10px;font-weight:bold;letter-spacing:.2em}.login-art h1{margin:20px 0;font-size:clamp(80px,11vw,160px);line-height:.72}.login-art p{margin:0;opacity:.7}.login-card{align-self:center;margin:40px;padding:45px;color:var(--ink);background:var(--paper);border-radius:24px}.login-card h2,.modal h2{font-size:42px}.login-card label,.modal label{display:grid;gap:7px;margin:18px 0;color:var(--muted);font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.1em}.login-card input,.login-card select,.modal input,.modal select{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:white}.primary{display:inline-flex;justify-content:center;border:0;border-radius:99px;padding:14px 20px;color:white;background:var(--coral);font-weight:bold;text-decoration:none}.login-card .primary{width:100%;margin-top:10px}.error{color:var(--coral);font-size:12px;margin:12px 0 0}
.top{position:sticky;z-index:10;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;color:white;background:rgba(18,61,73,.94);backdrop-filter:blur(12px)}.logo{display:flex;gap:8px;align-items:center;color:white;text-decoration:none;font-size:11px;letter-spacing:.14em}.logo b{padding:8px;border:1px solid var(--aqua);border-radius:50%}.top>div{display:flex;gap:12px;align-items:center;font-size:11px}.icon-btn{border:1px solid rgba(255,255,255,.2);border-radius:50%;width:32px;height:32px;color:white;background:transparent}
.hero{min-height:72vh;display:flex;align-items:end;justify-content:space-between;gap:40px;padding:11vw max(5vw,calc((100vw - 1180px)/2));color:white;background:linear-gradient(90deg,rgba(18,61,73,.92),rgba(18,61,73,.28)),url('https://images.unsplash.com/photo-1473116763249-2faaef81ccda?auto=format&fit=crop&w=1800&q=85') center/cover}.hero h1{max-width:800px;margin:20px 0;font-size:clamp(58px,8vw,110px);line-height:.84}.hero h1 em{color:var(--yellow);font-style:normal}.hero p:not(.eyebrow){max-width:520px;color:rgba(255,255,255,.7);font-size:14px;line-height:1.7}.hero-stats{min-width:150px;padding:20px;border-left:1px solid rgba(255,255,255,.3)}.hero-stats strong{display:block;font:70px Georgia}.hero-stats span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.filters{position:sticky;z-index:5;top:60px;display:flex;gap:7px;padding:13px 5vw;overflow:auto;background:var(--paper);border-bottom:1px solid var(--line);scrollbar-width:none}.filters button{flex:0 0 auto;border:1px solid var(--line);border-radius:99px;padding:9px 13px;background:transparent;font-size:10px;font-weight:bold}.filters button.active{color:white;background:var(--sea);border-color:var(--sea)}
.section{padding:90px max(5vw,calc((100vw - 1180px)/2))}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-title h2{margin:0;font-size:clamp(44px,5vw,70px);line-height:.95}.progress{min-width:170px;text-align:right;font-size:11px}.progress span{display:block;height:4px;margin-top:8px;background:var(--line)}.progress i,.meter i{display:block;height:100%;background:var(--coral);transition:.3s}
.deck{max-width:470px;margin:auto}.activity-card{height:580px;display:flex;flex-direction:column;justify-content:space-between;padding:24px;border-radius:26px;color:white;background-position:center;background-size:cover;box-shadow:var(--shadow);overflow:hidden;position:relative}.activity-card:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,45,54,.05) 25%,rgba(10,45,54,.96))}.activity-card>*{z-index:1}.card-top{display:flex;justify-content:space-between}.card-top span{padding:7px 10px;color:var(--ink);background:rgba(255,250,240,.9);border-radius:99px;font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.09em}.card-copy>p:first-child{color:var(--aqua);font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.12em}.card-copy h3{margin:10px 0;font-size:37px;line-height:1}.card-copy>p{color:rgba(255,255,255,.7);font-size:12px;line-height:1.6}.meta{display:flex;justify-content:space-between;font-size:10px;font-weight:bold}.meta a{color:white}.vote-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.vote-controls button{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:99px;background:white;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.vote-controls b{font-size:24px}.vote-controls .no b{color:var(--coral)}.vote-controls .yes{color:white;background:var(--sea)}.vote-controls .yes b{color:var(--yellow)}.empty{min-height:300px;display:grid;place-content:center;justify-items:center;gap:15px;padding:30px;text-align:center;border:1px dashed var(--line);border-radius:24px}.empty span{color:var(--muted);font-size:12px}.dark{grid-column:1/-1;border-color:rgba(255,255,255,.2)}
.sea{color:white;background:var(--navy)}.sea .soft{color:rgba(255,255,255,.55)}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.result{padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:17px}.result-img{height:180px;border-radius:11px;background-position:center;background-size:cover;padding:10px}.result-img b{display:inline-block;padding:7px;color:var(--navy);background:var(--yellow);border-radius:99px;font-size:11px}.result>div:last-child{padding:14px 6px 7px}.result span{color:var(--aqua);font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.1em}.result h3{margin:8px 0 14px;font-size:20px}.meter{height:3px;background:rgba(255,255,255,.15)}.meter i{background:var(--aqua)}.my-vote{margin-top:12px;padding:6px 9px;border:1px solid rgba(255,255,255,.18);border-radius:99px;color:rgba(255,255,255,.55);background:transparent;font-size:8px;font-weight:bold;text-transform:uppercase}.my-vote.liked{color:var(--yellow)}
.sand{background:var(--sand)}.planning-tabs{display:flex;gap:7px;margin-bottom:20px}.planning-tabs button{padding:10px 15px;border:1px solid var(--line);border-radius:99px;background:transparent;font-size:10px;font-weight:bold}.planning-tabs button.active{color:white;background:var(--sea);border-color:var(--sea)}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:12px}.slot{min-height:145px;display:grid;grid-template-columns:85px 110px 1fr;gap:15px;align-items:center;padding:12px;text-align:left;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.45)}.slot.editable:hover{border-color:var(--coral)}.slot time{font-size:10px;font-weight:bold;text-transform:uppercase}.slot-img{height:110px;border-radius:10px;background-position:center;background-size:cover}.slot span{color:var(--coral);font-size:9px;font-weight:bold;text-transform:uppercase}.slot h3{margin:8px 0 4px;font-size:17px}.slot p{margin:0;color:var(--muted);font-size:10px}.slot-empty{grid-column:2/-1;color:var(--muted);font-size:11px}
.money-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.money,.settle{min-height:180px;display:flex;flex-direction:column;justify-content:end;padding:24px;border:1px solid var(--line);border-radius:17px}.money.coral{color:white;background:var(--coral);border:0}.money span,.settle>span{font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.1em}.money strong{margin:8px 0;font:42px Georgia}.money small{opacity:.6}.settle{grid-column:1/-1;min-height:auto}.settle p{margin:8px 0 0;font-size:12px}.expense-list{margin-top:30px}.expense{display:grid;grid-template-columns:1fr auto 30px;gap:15px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}.expense div{display:grid;gap:4px}.expense span{color:var(--muted);font-size:10px}.expense strong{font:18px Georgia}.expense button{border:0;background:transparent;color:var(--muted);font-size:20px}
.mobile-nav{display:none}dialog{width:min(520px,calc(100% - 24px));padding:0;border:0;border-radius:22px;background:var(--paper);box-shadow:var(--shadow)}dialog::backdrop{background:rgba(9,45,54,.75);backdrop-filter:blur(5px)}.modal{padding:30px;position:relative}.modal-close{position:absolute;right:20px;top:15px;border:0;background:transparent;font-size:25px}.modal .primary{width:100%}
@media(max-width:760px){.login-shell{display:block;padding:18px;background:var(--navy)}.login-art{min-height:42vh;padding:30px;border-radius:18px}.login-art h1{font-size:75px}.login-card{margin:0;padding:30px 12px;background:transparent;color:white}.login-card h2{font-size:34px}.login-card label{color:rgba(255,255,255,.6)}.top{padding:12px 16px}.hero{min-height:70vh;display:block;padding:130px 18px 55px}.hero h1{font-size:57px}.hero-stats{display:none}.filters{top:56px;padding:10px 16px}.section{padding:65px 16px}.section-title{display:block;margin-bottom:30px}.section-title .progress,.section-title .soft,.section-title .primary{margin-top:20px}.activity-card{height:510px}.results-grid{grid-template-columns:1fr 1fr}.result-img{height:125px}.result h3{font-size:16px}.timeline{grid-template-columns:1fr}.slot{grid-template-columns:70px 80px 1fr}.slot-img{height:80px}.money-grid{grid-template-columns:1fr}.settle{grid-column:auto}.mobile-nav{position:fixed;z-index:20;bottom:8px;left:8px;right:8px;display:grid;grid-template-columns:repeat(4,1fr);padding:10px 5px;background:rgba(18,61,73,.95);border-radius:15px;backdrop-filter:blur(10px)}.mobile-nav a{text-align:center;color:white;text-decoration:none;font-size:8px;font-weight:bold;text-transform:uppercase;letter-spacing:.05em}body{padding-bottom:65px}}@media(max-width:420px){.results-grid{grid-template-columns:1fr}.result{display:grid;grid-template-columns:120px 1fr}.result-img{height:120px}}
