@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-vietnamese-400-normal-DoLa7jNB.woff2)format("woff2"),url(/assets/lexend-vietnamese-400-normal-mPlHoWg5.woff)format("woff");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:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-ext-400-normal-D38JI5AK.woff2)format("woff2"),url(/assets/lexend-latin-ext-400-normal-D9P7pMo-.woff)format("woff");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:Lexend;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lexend-latin-400-normal-CwRJVcUA.woff2)format("woff2"),url(/assets/lexend-latin-400-normal-CHypAkT3.woff)format("woff");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}@font-face{font-family:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-vietnamese-700-normal-BrGlFDtO.woff2)format("woff2"),url(/assets/lexend-vietnamese-700-normal-NEp7hM5T.woff)format("woff");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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-ext-700-normal-CcWyeg4T.woff2)format("woff2"),url(/assets/lexend-latin-ext-700-normal-iR1cPiNX.woff)format("woff");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:Lexend;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lexend-latin-700-normal-DqO8md6r.woff2)format("woff2"),url(/assets/lexend-latin-700-normal-DVyJlN8t.woff)format("woff");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{--bg:#f4f1ea;--card:#fff;--ink:#1c2229;--muted:#5a626d;--line:#e2dccf;--shadow:0 1px 3px #00000012;--accent:#3f3a9e;--on-accent:#fff;--danger:#b42318;--on-danger:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=night]{--bg:#0a0e15;--card:#131924;--ink:#e6e9ef;--muted:#8f99a6;--line:#262e3b;--shadow:none;--accent:#a9a5ff;--on-accent:#0a0e15;--danger:#ff8a7a;--on-danger:#0a0e15;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{font-size:clamp(12px,.9vh + .75vw,44px)}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:Lexend,system-ui,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}ul{margin:0;padding:0;list-style:none}h2,h3,p{margin:0}.icon{flex:none;width:1em;height:1em}.app{grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;height:100%;padding:1.2rem 1.6rem 1rem;display:grid}.main{min-height:0}.header{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.weekday{align-items:center;gap:1rem;font-size:3.4rem;font-weight:700;line-height:1.05;display:flex}.part{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:.3rem .9rem;font-size:1.25rem}.part-morning{color:#5c4300;background:#fde9ad}.part-afternoon{color:#12395f;background:#d3e7ff}.part-evening{color:#6d2a0c;background:#ffd9c4}.part-night{color:#d4dcff;background:#27304d}.date{margin-top:.3rem;font-size:1.9rem}.clock{text-align:right}.time{font-variant-numeric:tabular-nums;font-size:3.4rem;font-weight:700;line-height:1.05}.period{margin-left:.25em;font-size:.5em}.weather{color:var(--muted);margin-top:.4rem;font-size:1.35rem}.weather strong{color:var(--ink)}.hilo{margin-left:1rem}.card{background:var(--card);box-shadow:var(--shadow);border-radius:1.2rem;flex-direction:column;min-height:0;padding:1.2rem 1.4rem;display:flex}.scroll{min-height:0;overflow-y:auto}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem;font-size:1rem;font-weight:700}.empty{color:var(--muted);font-size:1.4rem}.who{font-size:1rem;font-weight:700}.who>span{color:color-mix(in srgb, var(--c) 72%, var(--ink))}.tinted{background:color-mix(in srgb, var(--c) 11%, var(--card));border-left:.4rem solid var(--c)}.is-past{opacity:.45}.detail-line{color:var(--muted);align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.pill-btn{border:2px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:.4rem;min-height:3.4rem;padding:0 1.4rem;font-size:1.15rem;font-weight:700;display:inline-flex}.round-btn{border:2px solid var(--line);background:var(--card);border-radius:50%;place-items:center;width:3.4rem;height:3.4rem;font-size:1.6rem;display:grid}.home{grid-template-columns:1.15fr 1fr;gap:1rem;height:100%;display:grid}.next-event{border-left:.5rem solid var(--c);padding-left:1.2rem}.next-title{font-size:2.7rem;font-weight:700;line-height:1.1}.next-event .who{margin-top:.3rem;font-size:1.4rem;display:block}.next-when{margin-top:.7rem;font-size:1.8rem}.next-event .detail-line{margin-top:.6rem;font-size:1.35rem}.after{border-top:2px solid var(--line);margin-top:auto;padding-top:1rem}.event-line{border-left:.4rem solid var(--c);padding-left:.9rem;font-size:1.4rem}.event-line .who{font-size:1.15rem}.event-line-when{color:var(--muted);margin-top:.2rem;font-size:1.2rem}.list{flex-direction:column;gap:.55rem;display:flex}.section{margin-top:1.2rem}.earlier{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;margin-bottom:.7rem;font-size:1.1rem;display:-webkit-box;overflow:hidden}.event-item{border-radius:.7rem;grid-template-columns:6.4rem 1fr;align-items:center;gap:.8rem;padding:.6rem .9rem;display:grid}.event-time{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.event-body{flex-direction:column;min-width:0;display:flex}.event-title{font-size:1.35rem;font-weight:700}.now-badge{background:var(--ink);color:var(--card);vertical-align:middle;border-radius:999px;margin-left:.6rem;padding:.1rem .55rem;font-size:.85rem}.calendar{flex-direction:column;gap:.8rem;height:100%;display:flex}.toolbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.seg{background:var(--line);border-radius:999px;padding:.3rem;display:inline-flex}.seg button{background:0 0;border:0;border-radius:999px;min-height:3.2rem;padding:0 1.8rem;font-size:1.25rem}.seg button.active{background:var(--card);box-shadow:var(--shadow);font-weight:700}.week{flex:1;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;min-height:0;display:grid}.week-day{background:var(--card);min-height:0;box-shadow:var(--shadow);cursor:pointer;border-radius:1rem;flex-direction:column;gap:.5rem;padding:.8rem;display:flex;overflow:hidden}.week-day.is-today{outline:.2rem solid var(--ink)}.week-name{font-size:1.3rem;font-weight:700}.week-date{color:var(--muted);margin-top:-.4rem;font-size:1rem}.week-empty{color:var(--muted);font-size:1rem}.chips{flex-direction:column;gap:.45rem;display:flex}.chip{border-radius:.55rem;flex-direction:column;padding:.45rem .6rem;display:flex}.chip-time{font-size:.85rem;font-weight:700}.chip-title{font-size:1rem;font-weight:700;line-height:1.2}.chip .who{font-size:.85rem}.month-nav{align-items:center;gap:1rem;display:flex}.month-title{text-align:center;min-width:14rem;font-size:1.8rem;font-weight:700}.month{flex-direction:column;flex:1;gap:.4rem;min-height:0;display:flex}.month-dow,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.month-dow{text-align:center;color:var(--muted);font-size:.95rem;font-weight:700}.month-grid{flex:1;min-height:0}.cell{background:var(--card);cursor:pointer;border-radius:.6rem;flex-direction:column;gap:.08rem;min-height:0;padding:.25rem .45rem;display:flex;overflow:hidden}.cell.other{opacity:.4}.cell.today{outline:.2rem solid var(--ink)}.cell-num{font-size:.95rem;font-weight:700;line-height:1.15}.cell-ev,.more{font-size:.78rem;line-height:1.25}.cell-ev{white-space:nowrap;align-items:center;gap:.35rem;display:flex}.cell-ev span:last-child{text-overflow:ellipsis;overflow:hidden}.dot{background:var(--c);border-radius:50%;flex:none;width:.6rem;height:.6rem}.more{color:var(--muted)}.day{flex-direction:column;gap:1rem;height:100%;display:flex}.day-head{align-items:center;gap:1.2rem;display:flex}.day-title{font-size:2rem}.day-list{flex-direction:column;gap:.7rem;min-height:0;display:flex;overflow-y:auto}.detail{border-radius:.9rem;grid-template-columns:9rem 1fr;gap:1rem;padding:.9rem 1.2rem;display:grid}.detail-time{font-size:1.25rem;font-weight:700}.detail-until{color:var(--muted);font-size:1rem;font-weight:400;display:block}.detail-title{font-size:1.6rem;font-weight:700}.detail .who{font-size:1.15rem}.detail .detail-line{margin-top:.35rem;font-size:1.15rem}.nav{justify-content:center;gap:1rem;display:flex}.nav button{border:2px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:.6rem;min-height:4rem;padding:0 2.6rem;font-size:1.4rem;font-weight:700;display:flex}.nav button .icon{font-size:1.6rem}.nav button.active{background:var(--ink);border-color:var(--ink);color:var(--bg)}.nav .nav-add{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.day-add{margin-left:auto}.tappable{cursor:pointer}.tappable:active{filter:brightness(.95)}.btn{border:2px solid var(--line);background:var(--card);border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:3.4rem;padding:0 1.6rem;font-size:1.2rem;font-weight:700;display:inline-flex}.btn:disabled{opacity:.5}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn-danger-outline{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.editor-content{display:contents}.overlay{z-index:10;background:#00000073;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.overlay-box{width:min(52rem,100%);display:flex}.sheet{background:var(--card);border-top:.7rem solid var(--c);border-radius:1.4rem;flex-direction:column;flex:1;max-height:calc(100vh - 4rem);display:flex;overflow:hidden;box-shadow:0 10px 40px #00000040}.sheet-body{padding:1.6rem 2rem 1.2rem;overflow-y:auto}.sheet-title{font-size:2.4rem;line-height:1.1}.sheet .who{margin-top:.3rem;font-size:1.4rem;display:block}.sheet-when{margin-top:.8rem;font-size:1.5rem}.sheet .detail-line{align-items:flex-start;margin-top:.6rem;font-size:1.3rem}.sheet .detail-line .icon{margin-top:.2em}.sheet-notes span{white-space:pre-wrap}.sheet-added{color:var(--muted);margin-top:1rem;font-size:1rem}.sheet-actions{border-top:2px solid var(--line);justify-content:flex-end;gap:.8rem;padding:1rem 2rem 1.4rem;display:flex}.dialog{background:var(--card);border-radius:1.4rem;width:min(40rem,100%);padding:1.8rem 2rem;box-shadow:0 10px 40px #00000040}.dialog-title{font-size:2rem;line-height:1.15}.dialog-message{color:var(--muted);margin-top:.5rem;font-size:1.4rem}.dialog-actions{flex-direction:column;gap:.7rem;margin-top:1.4rem;display:flex}.dialog-actions .btn{min-height:4rem;font-size:1.4rem}.toast{z-index:20;background:var(--ink);color:var(--bg);border-radius:999px;align-items:center;gap:1.2rem;padding:.6rem .7rem .6rem 1.6rem;font-size:1.3rem;font-weight:700;display:flex;position:fixed;bottom:6.5rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.toast .btn{background:var(--bg);min-height:3rem;color:var(--ink);border-color:#0000}.overlay-form{background:var(--bg);place-items:stretch stretch;padding:0}.event-form{flex-direction:column;height:100%;min-height:0;display:flex}.form-head{border-bottom:2px solid var(--line);background:var(--card);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.6rem;display:flex}.form-head h2{font-size:1.8rem}.form-error{background:color-mix(in srgb, var(--danger) 14%, var(--card));border-radius:.8rem;margin:.8rem 1.6rem 0;padding:.7rem 1.2rem;font-size:1.25rem;font-weight:700}.form-body{flex:1;gap:1.2rem 1.6rem;min-height:0;padding:1.2rem 1.6rem;display:grid;overflow-y:auto}.event-form.is-kiosk .form-body{grid-template-columns:1.15fr 1fr 1fr;align-items:start}.form-col{flex-direction:column;gap:1.1rem;min-width:0;display:flex}.field{flex-direction:column;gap:.45rem;display:flex}.field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:1rem;font-weight:700}.field input,.field textarea{border:2px solid var(--line);background:var(--card);width:100%;color:var(--ink);font:inherit;resize:none;-webkit-user-select:text;user-select:text;border-radius:.8rem;padding:.7rem 1rem;font-size:1.4rem}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.field ::placeholder{color:var(--muted);opacity:.7}.picked{font-size:1.5rem;font-weight:700}.choices{flex-wrap:wrap;gap:.5rem;display:flex}.choices.hours{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.choice-row{grid-template-columns:4fr 2fr;gap:.5rem;display:grid}.choice-row .choices{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.choice-row .choice{min-width:0;padding:0}.choice{border:2px solid var(--line);background:var(--card);border-radius:.8rem;min-width:3.2rem;min-height:3.2rem;padding:0 1rem;font-size:1.15rem;font-weight:700}.choice.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.who-picker{flex-wrap:wrap;gap:.6rem;display:flex}.person-btn{border:3px solid var(--c);background:var(--card);min-height:3.4rem;color:color-mix(in srgb, var(--c) 72%, var(--ink));border-radius:999px;align-items:center;gap:.4rem;padding:0 1.3rem;font-size:1.25rem;font-weight:700;display:inline-flex}.person-btn.is-on{background:color-mix(in srgb, var(--c) 24%, var(--card));color:var(--ink)}.month-picker{border:2px solid var(--line);background:var(--card);border-radius:1rem;padding:.6rem}.mp-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:1.3rem;font-weight:700;display:flex}.mp-head .round-btn{width:2.8rem;height:2.8rem;font-size:1.3rem}.mp-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.mp-dow{color:var(--muted);font-size:.9rem;font-weight:700}.mp-day{font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:.6rem;min-height:2.7rem;font-size:1.15rem}.mp-day.other{opacity:.4}.mp-day.is-today{outline:2px solid var(--ink);outline-offset:-2px}.mp-day.is-on{background:var(--accent);color:var(--on-accent);font-weight:700}.keyboard{background:var(--line);flex-direction:column;flex:none;gap:.45rem;padding:.7rem 1.6rem 1rem;display:flex}.kb-row{justify-content:center;gap:.45rem;display:flex}.kb-key{background:var(--card);border:0;border-radius:.7rem;flex:1;max-width:6rem;min-height:3.6rem;font-size:1.5rem;font-weight:700;box-shadow:0 2px #0000001f}.kb-key:active{background:var(--bg)}.kb-wide{flex:1.6;max-width:9rem}.kb-space{flex:6;max-width:none}.kb-key.is-on,.kb-done{background:var(--accent);color:var(--on-accent)}.app-night{height:100%}.night{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;height:100%;display:flex}.night-moon{color:#c9d3ff;font-size:4rem}.night-time{font-variant-numeric:tabular-nums;font-size:7.5rem;font-weight:700;line-height:1}.night-msg{font-size:3rem;font-weight:700}.night-date{color:var(--muted);font-size:2rem}.night-hint{color:var(--muted);margin-top:3rem;font-size:1.1rem}
