.moments{max-width:var(--max);padding:0 var(--gutter);margin:clamp(96px,12vw,168px) auto 0;position:relative}.moments:before{content:"";left:calc(var(--gutter) + 4px);background:var(--hair);width:1px;position:absolute;top:84px;bottom:120px}.moment{grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,64px);padding:64px 0;display:grid}.moment-when{color:var(--muted);gap:2px;margin:8px 0 0;padding-left:28px;font-size:15px;display:grid;position:relative}.moment-when:before{content:"";background:var(--paper);width:9px;height:9px;box-shadow:0 0 0 6px var(--ground);border-radius:50%;position:absolute;top:5px;left:0}.moment-when strong{color:var(--on-ground);font-size:16px;font-weight:700}.moment-text h3{letter-spacing:-.03em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(28px,2.7vw,38px);font-weight:800;line-height:1.05}.moment-text p{color:var(--muted);max-width:34ch;margin:18px 0 0;font-size:18px;line-height:1.5}.art{margin:0}.art figcaption{color:var(--muted);margin-top:14px;font-size:13px}.calendar-card{background:var(--raised);border-radius:28px;max-width:520px;padding:24px 24px 20px}.calendar-head{justify-content:space-between;align-items:baseline;font-size:17px;font-weight:700;display:flex}.calendar-head .num{color:var(--muted);font-size:15px;font-weight:600}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px 4px;margin:18px 0 0;padding:0;list-style:none;display:grid}.calendar-grid li{font-variant-numeric:tabular-nums;color:#8d8c86;border-radius:50%;justify-self:center;place-items:center;width:40px;height:40px;font-size:15px;display:grid}.calendar-grid li.wd{color:#6f6e68;width:auto;height:24px;font-size:12px}.calendar-grid li.paid{color:var(--on-ground);background:#34332f;font-weight:600}.calendar-grid li.selected{background:var(--paper);color:var(--ink);font-weight:800}.calendar-grid li.today{box-shadow:inset 0 0 0 1.5px var(--lime)}.calendar-day{background:var(--paper);color:var(--ink);border-radius:18px;margin-top:16px;padding:14px 16px}.calendar-day-date{color:var(--muted-paper);font-size:13px}.calendar-day-row{align-items:baseline;margin-top:4px;font-size:17px;font-weight:700;display:flex}.calendar-day-row .dots{border-bottom:1.5px dotted var(--leader);flex:1;margin:0 10px;transform:translateY(-5px)}.notice-stack{gap:10px;max-width:520px;margin:0;padding:0;list-style:none;display:grid}.notice{background:var(--raised);border-radius:22px;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.notice:first-child{background:#2a2a27}.notice:nth-child(2){opacity:.72}.notice:nth-child(3){opacity:.45}.notice-roll{width:44px;height:44px}.notice-text p{margin:0}.notice-title{font-size:16px;font-weight:700}.notice-body{color:var(--muted);margin-top:2px;font-size:15px}.notice-when{color:var(--muted);align-self:start;font-size:13px}.setting-row{border:1px solid var(--hair);border-radius:18px;justify-content:space-between;align-items:center;max-width:520px;margin-top:18px;padding:16px 18px;font-size:16px;display:flex}.setting-value{color:var(--muted)}.setting-value:after{content:"›";color:#6f6e68;margin-left:10px}.summary-paper{--tooth:9px;background:var(--paper);max-width:460px;color:var(--ink);padding:22px 24px calc(22px + var(--tooth));-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x}.summary-head{color:var(--muted-paper);justify-content:space-between;font-size:14px;display:flex}.summary-head span:first-child{color:var(--ink);font-weight:700}.summary-total{letter-spacing:-.04em;margin:10px 0 0;font-size:44px;font-weight:800;line-height:1}.summary-rows{gap:16px;margin:22px 0 0;padding:0;list-style:none;display:grid}.summary-line{justify-content:space-between;align-items:baseline;font-size:15px;font-weight:600;display:flex}.summary-count{color:var(--muted-paper);margin-left:6px;font-size:13px;font-weight:400}.summary-bar{align-items:center;gap:10px;margin-top:7px;display:flex}.summary-bar span{background:var(--ink);border-radius:4px;min-width:4px;height:8px}.summary-bar em{color:var(--muted-paper);font-variant-numeric:tabular-nums;font-size:12px;font-style:normal}.summary-year{border-top:1.5px dashed var(--leader);justify-content:space-between;margin-top:20px;padding-top:14px;font-weight:700;display:flex}@media (width>=901px){.moment-when,.moment-text{position:sticky;top:96px}}@media (width<=900px){.moments:before{top:60px;bottom:60px}.moment{grid-template-columns:1fr;gap:18px;padding:44px 0 44px 28px}.moment-when{margin:0;padding-left:0}.moment-when:before{left:-28px}.moment .art{margin-top:10px}.calendar-grid li{width:36px;height:36px;font-size:14px}}.landing{--ground:#0f0f0e;--raised:#1f1f1d;--hair:#262622;--paper:#f2efe7;--ink:#1a1916;--on-ground:#f3f2ee;--muted:#a3a29b;--muted-paper:#6b675e;--leader:#b9b3a5;--lime:#d4f25a;--gutter:clamp(16px, 4vw, 48px);--max:1180px;color:var(--on-ground)}.landing .num{font-variant-numeric:proportional-nums}.landing .cur{margin-right:.04em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:600}.landing a{text-underline-offset:4px;text-decoration-thickness:1px}.landing-bar{max-width:var(--max);padding:20px var(--gutter);margin:0 auto}.landing-brand{align-items:center;gap:10px;min-height:44px;text-decoration:none;display:inline-flex}.brand-roll{width:28px;height:28px}.wordmark{letter-spacing:-.035em;font-size:22px;font-weight:800}.wordmark-dot{color:var(--lime)}.hero{max-width:var(--max);padding:clamp(32px, 7vw, 88px) var(--gutter) 0;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:clamp(40px,6vw,96px);margin:0 auto;display:grid}.hero h1{letter-spacing:-.045em;text-wrap:balance;max-width:10.5ch;margin:0;font-size:clamp(46px,6.6vw,96px);font-weight:800;line-height:.94}.hero-lede{color:var(--muted);max-width:36ch;margin:32px 0 0;font-size:clamp(18px,1.6vw,21px);line-height:1.5}.hero-soon{align-items:center;gap:10px;margin:36px 0 0;font-size:16px;font-weight:600;display:inline-flex}.hero-soon:before{content:"";background:var(--lime);border-radius:50%;width:8px;height:8px}.receipt-figure{justify-self:center;width:min(372px,100%);margin:0;padding-top:52px;position:relative}.receipt-roll{z-index:2;width:104px;height:104px;position:absolute;top:0;left:50%;transform:translate(-50%)}.receipt-slot{overflow:hidden}.receipt{--tooth:9px;background:var(--paper);color:var(--ink);padding:72px 24px calc(28px + var(--tooth));-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - var(--tooth)) no-repeat, conic-gradient(from -45deg at bottom, #000 90deg, #0000 0) bottom / calc(var(--tooth) * 2) var(--tooth) repeat-x;font-size:15px;font-weight:500;line-height:1.4}.receipt-head{color:var(--muted-paper);border-bottom:1.5px dashed var(--leader);justify-content:space-between;padding-bottom:14px;font-size:13px;display:flex}.receipt-head span:first-child{color:var(--ink);font-size:15px;font-weight:700}.receipt-rows{gap:11px;margin:16px 0 0;padding:0;list-style:none;display:grid}.receipt-rows li{align-items:baseline;display:flex}.receipt-rows .leader{border-bottom:1.5px dotted var(--leader);flex:1;margin:0 8px;transform:translateY(-4px)}.receipt-more{color:var(--muted-paper);margin:12px 0 0;font-size:13px}.receipt-total{border-top:1.5px dashed var(--leader);justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:14px;font-weight:700;display:flex}.receipt-total strong{letter-spacing:-.03em;font-size:28px;font-weight:800}.barcode{justify-content:center;height:38px;margin-top:24px;display:flex}.barcode span{background:var(--ink);height:100%}.receipt-figure figcaption{text-align:center;color:var(--muted);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.receipt{animation:1.5s cubic-bezier(.3,.6,.2,1) .25s both print}.roll-spin{transform-box:view-box;transform-origin:32px 32px;animation:1.5s cubic-bezier(.3,.6,.2,1) .25s both spin}}@keyframes print{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes spin{0%{transform:rotate(-540deg)}}.promises{max-width:var(--max);padding:72px var(--gutter) 0;background:linear-gradient(var(--hair), var(--hair)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4vw,64px);margin:0 auto;display:grid}.promise h3{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700}.promise p{color:var(--muted);max-width:34ch;margin:12px 0 0;font-size:17px;line-height:1.5}.promise a{color:var(--on-ground)}.promise .codes{color:#cfccc3;flex-wrap:wrap;gap:6px 14px;font-size:15px;font-weight:600;display:flex}.closing{max-width:var(--max);padding:0 var(--gutter) clamp(72px, 10vw, 120px);text-align:center;margin:clamp(96px,14vw,180px) auto 0}.closing-roll{width:64px;height:64px}.closing-mark{margin:18px 0 0}.closing-mark .wordmark{letter-spacing:-.05em;font-size:clamp(56px,8vw,96px)}.closing-soon{margin:12px 0 0;font-size:19px;font-weight:600}.closing-plan{color:var(--muted);max-width:40ch;margin:10px auto 0;font-size:16px}.landing-foot{max-width:var(--max);padding:28px var(--gutter) 48px;background:linear-gradient(var(--hair), var(--hair)) center top / calc(100% - 2 * var(--gutter)) 1px no-repeat;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px 40px;margin:0 auto;font-size:14px;display:flex}.landing-foot nav{flex-wrap:wrap;gap:4px 40px;display:flex}.landing-foot ul{flex-wrap:wrap;gap:0 20px;margin:0;padding:0;list-style:none;display:flex}.landing-foot a{padding:12px 0;text-decoration:none;display:inline-block}.landing-foot p{margin:0;padding:12px 0}@media (hover:hover) and (pointer:fine){.landing-foot a:hover{color:var(--on-ground);text-decoration:underline}}@media (width<=900px){.hero{grid-template-columns:1fr}.promises{grid-template-columns:1fr;gap:36px;padding-top:56px}}:root{--ground:#0f0f0e;--raised:#181817;--line:#2a2a27;--paper:#f2efe7;--ink:#1a1916;--muted:#9a978d;--lime:#d4f25a;--danger:#ff8a7a;--ease-out:cubic-bezier(.23, 1, .32, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font:400 16px/1.55 Schibsted Grotesk,system-ui,sans-serif}a{color:inherit}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.muted{color:var(--muted)}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.pad{padding:16px}.error{color:var(--danger);margin:12px 16px}.site-bar,.shell-bar{justify-content:space-between;align-items:center;padding:16px max(16px,50vw - 520px);display:flex}.brand{letter-spacing:-.01em;font-size:18px;font-weight:700;text-decoration:none}.lang{color:var(--muted);padding:8px 0;font-size:14px;text-decoration:none}@media (hover:hover) and (pointer:fine){.lang:hover{color:var(--paper)}}.home{max-width:720px;margin:0 auto;padding:8vh 16px 64px}.home h1{letter-spacing:-.04em;margin:0 0 24px;font-size:clamp(56px,14vw,128px);font-weight:700;line-height:.95}.lede{color:#d6d3ca;max-width:34ch;margin:0 0 40px;font-size:20px}.thread-line{width:100%;height:72px;margin-bottom:8px;display:block;overflow:visible}.thread-line path{fill:none;stroke:var(--lime);stroke-width:3px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;animation:draw 1.1s var(--ease-out) both}@keyframes draw{0%{stroke-dashoffset:1px}}.links{flex-wrap:wrap;gap:48px;display:flex}.links ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.links a,.textlink{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;padding:8px 0;transition:text-decoration-color .15s;display:inline-block}@media (hover:hover) and (pointer:fine){.links a:hover,.textlink:hover{-webkit-text-decoration-color:var(--lime);text-decoration-color:var(--lime)}}.sheet{background:var(--paper);max-width:760px;color:var(--ink);border-radius:14px;margin:8px auto 64px;padding:48px 56px 56px;font-size:17px;line-height:1.65}main[lang]{padding:0 16px}.sheet h1{letter-spacing:-.025em;margin:0 0 8px;font-size:clamp(30px,5vw,40px);line-height:1.1}.sheet h2{letter-spacing:-.01em;margin:40px 0 8px;font-size:21px;line-height:1.25}.sheet h3{margin:28px 0 4px;font-size:17px}.sheet p,.sheet ul,.sheet ol{max-width:66ch;margin:0 0 14px}.sheet li{margin-bottom:4px}.sheet a{text-underline-offset:3px;text-decoration-color:#1a191659}.sheet table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:15px;line-height:1.45;display:block;overflow-x:auto}.sheet th,.sheet td{text-align:left;vertical-align:top;border-bottom:1px solid #1a191626;min-width:120px;padding:10px 12px 10px 0}.sheet th{font-weight:600}.sheet code{background:#1a191614;border-radius:4px;padding:1px 5px;font-size:.9em}@media (width<=600px){.sheet{border-radius:10px;padding:28px 20px 36px;font-size:16px}}.btn{appearance:none;border:1px solid var(--line);background:var(--raised);cursor:pointer;min-height:44px;transition:transform .16s var(--ease-out), background-color .15s ease, opacity .15s ease;border-radius:10px;padding:10px 16px;font-weight:500}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:600}.btn.ghost{background:0 0}.link{cursor:pointer;color:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled):not(.primary){background:#222220}}.admin-center{max-width:420px;margin:0 auto;padding:14vh 16px 48px}.admin-center h1{letter-spacing:-.02em;margin:0 0 20px;font-size:28px;line-height:1.15}.login form{gap:12px;display:grid}.login label{color:var(--muted);font-size:14px}.login input{background:var(--raised);border:1px solid var(--line);border-radius:10px;width:100%;min-height:48px;padding:12px 14px;font-size:16px}.login input.code{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px}.login p{margin:0}.shell{flex-direction:column;height:100dvh;display:flex}.shell-bar{border-bottom:1px solid var(--line);flex:none;padding-block:10px}.split{flex:1;grid-template-columns:340px 1fr;min-height:0;display:grid}.list-pane{border-right:1px solid var(--line);min-height:0;overflow-y:auto}.detail-pane{flex-direction:column;min-width:0;min-height:0;display:flex}.empty{padding:48px 24px}.seg{background:var(--ground);border-bottom:1px solid var(--line);gap:4px;padding:10px 12px;display:flex;position:sticky;top:0}.seg button{cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;transition:background-color .15s,color .15s}.seg button[aria-selected=true]{background:var(--raised);color:var(--paper)}.threads{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid var(--line);grid-template-columns:10px 1fr auto;align-items:start;gap:12px;min-height:64px;padding:14px 16px;text-decoration:none;transition:background-color .15s;display:grid}.row.active{background:var(--raised)}@media (hover:hover) and (pointer:fine){.row:hover{background:var(--raised)}}.dot{border:1px solid var(--line);border-radius:50%;width:8px;height:8px;margin-top:8px}.dot.on{background:var(--lime);border-color:var(--lime)}.row-main{min-width:0;display:grid}.preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta{color:var(--muted);font-size:13px}.row time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.thread{flex-direction:column;flex:1;min-height:0;display:flex}.thread-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.thread-head .meta{flex:1}.back{color:var(--muted);padding:10px 0;text-decoration:none;display:none}.messages{flex-direction:column;flex:1;gap:10px;margin:0;padding:20px 16px;list-style:none;display:flex;overflow-y:auto}.messages .end{height:0;margin:-10px 0 0;padding:0}.msg{background:var(--raised);border:1px solid var(--line);border-radius:14px;max-width:min(560px,85%);padding:10px 14px 8px}.msg p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.msg time{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:12px;display:block}.msg.admin{background:var(--lime);border-color:var(--lime);color:var(--ink);align-self:flex-end}.msg.admin time{color:#1a1916a6}.composer{border-top:1px solid var(--line);padding:12px 16px 16px}.composer textarea{resize:vertical;background:var(--raised);border:1px solid var(--line);border-radius:12px;width:100%;min-height:84px;max-height:40vh;padding:12px 14px;font-size:16px}.composer-bar{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.count.over{color:var(--danger)}.composer .error{margin:8px 0 0}@media (width<=860px){.split{grid-template-columns:1fr}.split.has-detail .list-pane,.split:not(.has-detail) .detail-pane{display:none}.back{display:block}.list-pane{border-right:0}.msg{max-width:92%}}@media (prefers-reduced-motion:reduce){.thread-line path{animation:none}.btn{transition:none}}
