:root{--paper:#f4f2e9;--white:#fcfbf6;--ink:#152e2b;--green:#142e2a;--mut:#5b6860;--lime:#e1f45d;--line:#cdd0c2;--rust:#973f22;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif;--pad:clamp(18px,4.8vw,82px)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul{margin:0}button,select,input,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #3675c5;outline-offset:3px}.mast{display:flex;align-items:center;gap:20px;padding:0 var(--pad);border-bottom:1px solid var(--line);background:var(--white);min-height:75px}.brand{display:inline-flex;align-items:center;color:var(--green);font-size:36px;font-weight:750;line-height:1;letter-spacing:-2.8px}.brand svg{width:31px;height:32px;margin-right:7px}.brand span{color:#81912c}.brandtxt{color:var(--mut);border-left:1px solid var(--line);padding:4px 0 4px 15px;font-size:12px}.mast nav{display:flex;gap:20px;margin-left:auto;align-items:stretch;align-self:stretch}.mast nav a{display:flex;align-items:center;position:relative;font-size:13px;color:var(--mut);white-space:nowrap}.mast nav a[aria-current]{color:var(--ink);font-weight:650}.mast nav a[aria-current]:after{content:"";position:absolute;height:3px;background:var(--ink);bottom:0;left:0;right:0}.viewpick{display:flex;flex-direction:column;color:var(--mut);border-left:1px solid var(--line);padding-left:16px;font-size:10px;letter-spacing:.04em}.viewpick select{font-size:13px;background:none;border:0;font-weight:650;padding:0;cursor:pointer}.wrap{max-width:1670px;padding:34px var(--pad) 54px;margin:auto}.headline,.between,.hero-end,.line-meta,.member-top,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.headline{margin-bottom:26px}.eyebrow,.rubric{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:var(--mut)}h1{font-size:clamp(38px,4.3vw,76px);line-height:1.01;letter-spacing:-.065em;font-weight:550;margin-top:5px}h2{font-size:clamp(23px,2vw,32px);font-weight:550;line-height:1.06;letter-spacing:-.046em}h3{font-size:19px;line-height:1.14;letter-spacing:-.033em}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;padding:10px 14px;min-height:41px;font-weight:600;font-size:13px}.primary{background:var(--green);color:white}.primary:hover{background:#34534b}.secondary{border:1px solid #98a096;background:var(--white)}.ghost{border:1px solid #aab69d;background:transparent}.mini{min-height:34px;padding:6px 10px;font-size:12px}.textbtn{font-size:13px;text-decoration:underline;text-underline-offset:3px;font-weight:560}.topgrid{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(0,.94fr);gap:15px}.goal{background:var(--green);color:#fbf9ec;border-radius:9px;position:relative;overflow:hidden;padding:clamp(20px,2.65vw,42px);min-height:266px;display:flex;flex-direction:column;justify-content:space-between}.goal .rubric{color:var(--lime);display:flex;align-items:center;gap:8px}.target{height:12px;width:12px;border-radius:100%;border:1px solid currentColor;display:inline-grid;place-items:center}.target:after{content:"";background:currentColor;border-radius:100%;width:4px;height:4px}.goal .change{color:#e3e7da;font-size:12px;border-bottom:1px solid #71847a;padding:2px}.goal-center{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:15px 0 13px}.big-score{line-height:.83;font-size:clamp(63px,6.6vw,112px);font-weight:540;letter-spacing:-.085em;font-variant-numeric:tabular-nums}.big-score span{font-weight:350;color:#b1bca9;font-size:.58em;letter-spacing:-.09em;margin-left:7px}.goal-name{max-width:14ch;font-size:clamp(19px,1.9vw,32px);line-height:1.07;font-weight:460;letter-spacing:-.04em}.tracks{display:flex;gap:5px;height:24px}.tracks i{flex:1;background:#43564b;border-radius:2px}.tracks .lit{background:var(--lime)}.hero-end{font-size:13px;margin-top:9px;color:#e5e8d8}.hero-end strong{color:var(--lime);font-size:16px}.attention{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(20px,2.4vw,36px);border:1px solid #d0b5a4;border-radius:9px;background:#f4e7d9}.attention.calm{background:#e8eedb;border-color:#b6c6ad}.attention .rubric{color:var(--rust)}.attention.calm .rubric{color:var(--green)}.attention h2{font-size:clamp(27px,2.7vw,44px);max-width:22ch;margin:13px 0 8px}.attention p{font-size:14px;max-width:50ch;color:#544e41}.attention .button{margin-top:16px}.midgrid{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(0,.94fr);gap:15px;margin-top:17px}.panel{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:clamp(18px,2.2vw,36px);min-width:0}.panel-head{align-items:baseline;margin-bottom:18px}.panel-head .textbtn{white-space:nowrap}.task{display:flex;gap:13px;align-items:center;width:100%;text-align:left;padding:12px 0;border-top:1px solid var(--line)}.task:hover strong,.message-row:hover strong{text-decoration:underline;text-underline-offset:3px}.task strong,.message-row strong{display:block;font-size:14px}.task small,.message-row small{display:block;color:var(--mut);font-size:12px}.task .badge{margin-left:auto;flex:none}.avatar{width:32px;height:32px;border-radius:100%;display:grid;place-items:center;font-size:12px;font-weight:650;flex:none}.badge{display:inline-block;border-radius:100px;padding:4px 8px;font-size:11px;font-weight:600;background:#e9eadf;color:#435044}.badge.help{background:#f2d6c6;color:#79391e}.badge.done{background:#e6ecc5;color:var(--green)}.member{display:grid;grid-template-columns:68px 1fr 16px;gap:12px;align-items:center;margin:10px 0;font-size:13px}.member b{text-align:right}.member-bar{height:9px;background:#e2e5d8;border-radius:3px}.member-bar i{display:block;height:100%;background:#6e8878;border-radius:3px}.muted,.empty{color:var(--mut);font-size:13px}.empty{padding:12px 0}.meta-foot{margin-top:15px;font-size:12px;color:var(--mut)}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}.filter{font-size:13px;min-height:35px;border:1px solid var(--line);border-radius:30px;padding:6px 13px}.filter.on{background:var(--green);color:white;border-color:var(--green)}.notice-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.message-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 0;border-top:1px solid var(--line)}.message-row .badge{margin-left:auto}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:12px;width:min(470px,93vw);max-height:89dvh;padding:0;box-shadow:0 12px 120px #09251f44}dialog::backdrop{background:#10282094}.sheet{padding:26px}.sheet h2{margin:12px 0}.sheet .lead{color:var(--mut);font-size:15px;margin:7px 0 12px}.sheet label.field{display:block;margin-top:13px;font-size:13px;font-weight:600}.sheet input:not([type=checkbox]),.sheet select,.sheet textarea{width:100%;padding:9px 10px;min-height:41px;border-radius:4px;background:white;border:1px solid #a8b0a2;display:block;margin:4px 0 0;font-size:14px}.sheet input[type=checkbox]{width:18px;height:18px}.check{display:flex;align-items:center;gap:8px;margin:14px 0;font-size:14px}.sheet .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.sheet ul{padding-left:18px}.note{padding:12px;background:#efe9da;border-radius:5px;margin:13px 0;font-size:14px}.sheet .close{width:32px;height:32px;display:grid;place-items:center;font-size:22px;line-height:1}.sales{margin-top:15px}.sales .monto{font-size:28px;letter-spacing:-.04em}.sales .meter{background:#dce1d5;height:12px;margin:10px 0}.sales .meter i{background:#677f6a;height:100%;display:block}footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:18px var(--pad);border-top:1px solid var(--line);font-size:12px;color:var(--mut)}footer span:nth-child(2){margin-left:auto}footer button{text-decoration:underline}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:20;background:var(--green);color:white;border-radius:5px;padding:9px 14px;font-size:13px;box-shadow:0 3px 12px #0002}#toast:empty{display:none}
@media(max-width:900px){.brandtxt{display:none}.topgrid,.midgrid{grid-template-columns:1.2fr 1fr}.goal{min-height:242px}.mast{gap:12px}.mast nav{gap:15px}.big-score{font-size:75px}}
@media(max-width:680px){.mast{flex-wrap:wrap;gap:0;padding-top:10px}.brand{font-size:31px}.brand svg{width:25px;height:28px}.viewpick{margin-left:auto;order:1}.mast nav{width:100%;order:2;justify-content:space-between;margin:7px 0 0;gap:7px}.mast nav a{min-height:36px;font-size:12px}.wrap{padding-top:23px}.headline{margin-bottom:18px;gap:8px}.headline h1{font-size:39px}.headline .button{padding:8px 10px;font-size:12px;white-space:nowrap}.topgrid,.midgrid,.notice-grid{grid-template-columns:1fr}.goal{min-height:201px}.goal-center{margin:15px 0}.big-score{font-size:70px}.goal-name{font-size:20px}.attention h2{font-size:28px;margin:8px 0 6px}.attention .button{margin-top:13px}.tracks{height:19px;gap:4px}.hero-end{font-size:12px}.panel-head{margin-bottom:13px}.panel{padding:17px}.midgrid{gap:12px;margin-top:12px}.task{gap:9px}.task small{font-size:11px}.task .badge{font-size:10px}.task strong{font-size:13px}.avatar{width:27px;height:27px;font-size:10px}footer{gap:8px 12px}footer span:nth-child(2){margin-left:0}.sheet{padding:20px}.formgrid{grid-template-columns:1fr}}
@media(max-width:365px){.headline{flex-wrap:wrap}.headline h1{font-size:34px}.goal-name{font-size:18px}.goal-center{gap:6px}.brandtxt{display:none}}
[hidden]{display:none!important}
.home-heading{margin-bottom:23px}.home-heading h1{font-size:clamp(43px,5vw,83px);font-weight:520}.home-heading h1 em,.birthday h2 em,.welcome h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.07em}.home-heading h1 em{margin-left:1px}.front-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr);gap:17px}.birthday{min-height:clamp(310px,29vw,475px);position:relative;isolation:isolate;overflow:hidden;border-radius:9px;background:#213c31;color:#fffbee}.team-photo,.birthday-shade{position:absolute;inset:0;width:100%;height:100%}.team-photo{object-fit:cover;object-position:center 47%;z-index:-2}.birthday-shade{background:linear-gradient(90deg,#10251bd4 0%,#14281d58 43%,transparent 76%),linear-gradient(0deg,#112417b8,transparent 52%);z-index:-1}.birthday-copy{position:absolute;bottom:clamp(20px,2.6vw,44px);left:clamp(20px,2.55vw,42px);right:19px}.event-kicker{display:inline-flex;align-items:center;gap:8px;color:#fffbea;font-size:12px;font-weight:650}.event-kicker i{width:11px;height:11px;border-radius:50%;background:var(--lime)}.birthday h2{margin:14px 0 15px;font-size:clamp(39px,4.6vw,75px);line-height:.97;letter-spacing:-.06em;font-weight:530}.birthday h2 em{color:#edf7ac}.gift{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gift>span{font-size:12px;font-weight:550}.card-cta{background:var(--lime);color:var(--green)}.card-cta:hover{background:#f4ffc0}.welcome{background:#e6ebce;border:1px solid #c1c9a6;border-radius:9px;padding:clamp(20px,2.5vw,40px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.welcome>.between{width:100%;position:relative;flex-wrap:wrap}.initial-art{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;position:relative;border:1px solid #94a084;border-radius:50%;color:var(--green);background:#f7f6e9;font-size:30px;font-weight:540;line-height:1}.initial-art>span{position:absolute;bottom:-3px;right:-3px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--green);color:var(--lime);font-size:13px}.welcome h2{font-size:clamp(30px,3.2vw,54px);line-height:.99;margin:19px 0 11px;letter-spacing:-.048em}.welcome p{max-width:35ch;color:#414f3e;font-size:15px}.welcome-links{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:19px}.welcome-links button{min-height:32px}.shortcuts{margin-top:18px;padding:5px 0;display:grid;grid-template-columns:1fr 1fr 1.22fr;border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.shortcuts>a,.shortcuts>button{text-align:left;padding:14px 18px;display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid var(--line)}.shortcuts>:first-child{padding-left:0}.shortcuts>:last-child{border:0}.shortcuts small{color:var(--mut);font-weight:550}.shortcuts strong{font-size:clamp(15px,1.4vw,23px);letter-spacing:-.035em;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:8px}.shortcuts i{font-style:normal;font-weight:400}.shortcuts>a:hover,.shortcuts>button:hover{background:#e9edda}.person-line,.date-row,.greeting{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:14px 0}.person-line{width:100%;text-align:left}.person-line b,.date-row button{margin-left:auto}.person-line strong,.date-row strong{display:block}.person-line small,.date-row small,.intro-row>small{display:block;color:var(--mut);font-size:12px}.dayblock{padding:6px;width:51px;text-align:center;background:#e5eacb;color:var(--ink);font-size:21px;font-weight:650;line-height:1.1}.dayblock small{font-size:9px;letter-spacing:.1em}.greeting{align-items:flex-start;font-size:14px}.greeting p{margin-top:2px}.intro-row{border-top:1px solid var(--line);padding:12px 0}.intro-row>small{margin:5px 0}.intro-check{display:flex;align-items:center;gap:6px;font-size:13px}.intro-check input{width:18px;height:18px}
@media(max-width:950px){.mast{gap:13px}.mast nav{gap:13px}.front-grid{grid-template-columns:1.4fr 1fr}.welcome .initial-art{width:40px;height:40px}}
@media(max-width:680px){.front-grid{grid-template-columns:1fr;gap:12px}.home-heading h1{font-size:44px}.home-heading{gap:8px}.home-heading .button{font-size:12px}.birthday{min-height:260px}.birthday h2{font-size:44px}.birthday-copy{bottom:18px;left:18px}.birthday h2{margin:8px 0 12px}.welcome{padding:16px 19px}.welcome h2{margin:0 0 7px;max-width:16ch}.welcome p{font-size:14px;max-width:43ch}.welcome-links{margin-top:7px}.shortcuts{grid-template-columns:1fr;margin-top:14px}.shortcuts>a,.shortcuts>button,.shortcuts>:first-child{padding:10px 2px;border-right:0;border-bottom:1px solid var(--line);gap:2px}.mast nav{gap:5px}.mast nav a{font-size:12px}.team-photo{object-position:57% center}}
@media(max-width:365px){.mast nav a{font-size:11px}.home-heading h1{font-size:37px}.home-heading .eyebrow{font-size:9px}.welcome h2{font-size:28px}.home-heading{flex-wrap:wrap}.birthday{min-height:244px}}
