@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--border:2px solid var(--ink);--shadow:4px 4px 0 var(--ink);--shadow-sm:3px 3px 0 var(--ink);--radius-card:20px;--radius-field:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{font-family:var(--font);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);margin:0;line-height:1.4}h1,h2,p{margin:0}h1{letter-spacing:-.04em;font-size:2.5rem;font-weight:800;line-height:1}h2{letter-spacing:-.02em;font-size:1.35rem;font-weight:800;line-height:1.15}a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.page{gap:1.5rem;max-width:28rem;margin:0 auto;padding:3rem 16px 2.5rem;display:grid}.page-center{align-content:center;min-height:100dvh}.stack{gap:.75rem;display:grid}.muted{color:var(--ink-soft);font-size:.95rem}.brand-mark{background:var(--accent);border:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);justify-self:center;padding:.15em .45em .2em;transform:rotate(-2deg)}.card{background:var(--surface);border:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);gap:.75rem;padding:1rem 1.1rem 1.1rem;display:grid}.is-accent{background:var(--accent)}.is-yellow{background:var(--yellow)}.is-blue{background:var(--blue)}.btn{min-height:48px;font:inherit;color:var(--ink);background:var(--surface);border:var(--border);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;font-size:1rem;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active:not(:disabled){box-shadow:none;transform:translate(3px,3px)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--ink);color:var(--surface);box-shadow:3px 3px 0 var(--accent)}.btn-small{min-height:44px;padding:0 1rem;font-size:.9rem}.field{gap:.4rem;display:grid}label{font-weight:700}.input{width:100%;min-height:48px;font:inherit;color:var(--ink);background:var(--surface);border:var(--border);border-radius:var(--radius-field);padding:0 .9rem}.input::placeholder{color:var(--ink-soft)}.list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.row{background:var(--surface);border:var(--border);border-radius:var(--radius-field);justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.badge{background:var(--surface);border:var(--border);border-radius:999px;justify-self:start;padding:.2rem .75rem;font-size:.85rem;font-weight:700}.notice{background:var(--yellow);border:var(--border);border-radius:var(--radius-field);padding:.7rem .9rem;font-weight:600}.small-link{justify-self:start;font-size:.9rem;font-weight:600}.center{text-align:center}.separator{color:var(--ink-soft);align-items:center;gap:.75rem;font-weight:700;display:flex}.separator:before,.separator:after{content:"";border-top:var(--border);flex:1}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{min-width:44px;min-height:44px;font:inherit;color:var(--ink);background:var(--surface);border:var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{color:var(--surface);background:var(--ink)}.chip.is-ghost{background:0 0;border-style:dashed;gap:6px}.badge.is-yellow{background:var(--yellow)}.tab-bar{z-index:10;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:var(--surface);border-top:var(--border);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:.4rem;display:grid;position:fixed;inset:auto 0 0}.tab{min-height:48px;color:var(--ink);border-radius:var(--radius-field);border:2px solid #0000;justify-items:center;gap:.15rem;padding-top:.25rem;font-size:.75rem;font-weight:600;text-decoration:none;display:grid}.tab[aria-current=page]{background:var(--accent);border-color:var(--ink);font-weight:800}.page.with-tabs{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.ideas-header{justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.ideas{gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.idea{gap:.5rem;position:relative}.idea-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.idea-open{font:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.idea-open:after{content:"";border-radius:var(--radius-card);position:absolute;inset:0}.idea-open:focus-visible{outline:none}.idea-open:focus-visible:after{outline:3px solid var(--ink);outline-offset:3px}.idea .heart,.idea .link-chip{z-index:1;position:relative}.idea-meta{font-size:.9rem;font-weight:600}.heart,.icon-btn{width:44px;height:44px;color:var(--ink);background:var(--surface);border:var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.heart[aria-pressed=true]{color:var(--surface);background:var(--ink)}.fab{right:calc(16px + env(safe-area-inset-right));bottom:calc(5.5rem + env(safe-area-inset-bottom));z-index:11;width:60px;height:60px;color:var(--ink);background:var(--accent);border:var(--border);box-shadow:var(--shadow);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform 80ms,box-shadow 80ms;display:inline-flex;position:fixed}.fab:active{box-shadow:none;transform:translate(4px,4px)}.page.with-fab{padding-bottom:calc(10rem + env(safe-area-inset-bottom))}.link-chip{min-height:36px;color:var(--ink);background:var(--surface);border:var(--border);border-radius:999px;justify-self:start;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.done summary{cursor:pointer;font-weight:800}.done-row{width:100%;min-height:48px;font:inherit;text-align:left;color:var(--ink-soft);cursor:pointer;font-weight:600;text-decoration:line-through}.sheet{width:min(28rem,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--paper);border:var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow);padding:1.1rem}.sheet::backdrop{background:color-mix(in srgb, var(--ink) 45%, transparent)}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:.4rem;font-weight:700}.inline{gap:.5rem;display:flex}.row .input{min-height:44px}.cal-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.cal-title{font-size:1.9rem}.cal-nav{gap:.5rem;display:flex}.legend{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.legend .badge{align-items:center;gap:.4rem;display:inline-flex}.dot{border:var(--border);border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.dot.is-big{width:18px;height:18px}.chip .dot{margin-right:.4rem}.cal-card{gap:.25rem;padding:.6rem}.cal-weekdays,.cal-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.cal-weekdays{text-align:center;color:var(--ink-soft);font-size:.8rem;font-weight:800}.cal-day{min-height:52px;font:inherit;color:var(--ink);border-radius:var(--radius-field);cursor:pointer;background:0 0;border:2px solid #0000;align-content:center;justify-items:center;gap:3px;padding:0;font-weight:700;display:grid}.cal-day.is-outside{color:var(--ink-soft);font-weight:400}.cal-num{border:2px solid #0000;border-radius:50%;place-items:center;min-width:26px;height:26px;font-size:.95rem;display:grid}.cal-day[aria-current=date] .cal-num{color:var(--ink);background:var(--accent);border-color:var(--ink)}.cal-day[aria-pressed=true]{color:var(--surface);background:var(--ink)}.cal-dots{gap:3px;height:10px;display:flex}.day-heading{margin:0;font-size:1rem;font-weight:800}.event-row{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.event-time{flex:0 0 4.2rem;font-weight:800}.event-main{flex:1;min-width:0;display:grid}.event-title{overflow-wrap:anywhere;font-weight:700}.pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.pair .input{min-width:0}.check{align-items:center;gap:.6rem;min-height:44px;display:flex}.check input{width:24px;height:24px;accent-color:var(--ink);margin:0}.tab-bar{view-transition-name:tab-bar}.fab{view-transition-name:fab}::view-transition-old(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}:root[data-slide=forward]::view-transition-old(root){animation-name:slide-out-to-left}:root[data-slide=forward]::view-transition-new(root){animation-name:slide-in-from-right}:root[data-slide=back]::view-transition-old(root){animation-name:slide-out-to-right}:root[data-slide=back]::view-transition-new(root){animation-name:slide-in-from-left}@keyframes slide-in-from-right{0%{transform:translate(100%)}}@keyframes slide-out-to-left{to{transform:translate(-100%)}}@keyframes slide-in-from-left{0%{transform:translate(-100%)}}@keyframes slide-out-to-right{to{transform:translate(100%)}}
