:root{--bg:#e9e7e2;--card:#f7f6f3;--ink:#1d1d1f;--sub:#8a8883;--mid:#6e6c67;--line:#eceae5;--chip:#eceae5;--sand:#eadfcb;--red:#d9533f;--ease:cubic-bezier(.32, .72, 0, 1);--shadow:inset 0 1px 0 #fffffff2, 0 0 0 1px #28241e0f, 0 1px 2px #28241e0d, 0 10px 26px #28241e0f}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{color:var(--ink);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:Pretendard Variable,Pretendard,-apple-system,Apple SD Gothic Neo,Noto Sans KR,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:24px;font-weight:700}.app{max-width:430px;min-height:100dvh;margin:0 auto;position:relative;overflow-x:hidden}.page{min-height:100dvh;padding:max(22px, env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.page.bare{padding-bottom:calc(26px + env(safe-area-inset-bottom))}.head{justify-content:space-between;align-items:flex-end;gap:10px;padding:0 6px 4px;display:flex}.head>div{flex-direction:column;gap:4px;min-width:0;display:flex}.num{font-variant-numeric:tabular-nums;letter-spacing:-.04em;font-family:Funnel Display,Pretendard Variable,sans-serif;font-weight:500;line-height:1}.card{background:var(--card);box-shadow:var(--shadow);border-radius:24px}.inset{border-radius:16px;transition:background .5s;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000d,inset 0 1px 3px #00000014}.lab{color:var(--sub);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.dot{border-radius:3px;flex:0 0 6px;width:6px;height:6px}.chip{background:var(--chip);height:24px;color:var(--mid);white-space:nowrap;border-radius:12px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.pill{white-space:nowrap;color:#4a4945;border-radius:11px;align-items:center;height:22px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:inset 0 0 0 1px #d9d6cf}.pill.strong{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.pill.faint{color:#a3a09a;box-shadow:inset 0 0 0 1px #e2dfd9}.pills{flex-wrap:wrap;gap:5px;display:flex}.btn{white-space:nowrap;border-radius:22px;justify-content:center;align-items:center;gap:6px;height:44px;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:flex}.btn.dark{background:var(--ink);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0003,0 6px 16px #00000024}.btn.light{background:var(--chip)}.btn.big{border-radius:28px;width:100%;height:56px;font-size:16px;transition:background-color .25s,color .25s}.btn.off{color:var(--sub);box-shadow:none;background:#dedbd5}.btn.sm{height:34px;padding:0 12px;font-size:13px}.sub{color:var(--mid);font-size:13px;font-weight:600}.muted{color:var(--sub);font-size:12px;font-weight:600}.row-line+.row-line{border-top:1px solid var(--line)}.field{background:#e6e3dd;border:0;border-radius:14px;width:100%;height:46px;padding:0 14px;font-size:16px;box-shadow:inset 0 1px 2px #0000000f}.seg{background:#e0ddd7;border-radius:16px;gap:3px;padding:3px;display:flex;position:relative;box-shadow:inset 0 1px 2px #0000000f}.seg button{height:34px;color:var(--sub);white-space:nowrap;border-radius:13px;flex:1 1 0;padding:0 12px;font-size:13px;font-weight:700;transition:background-color .25s,color .25s}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--card);color:var(--ink);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #28241e1a,0 4px 10px #28241e0f}.empty{flex-direction:column;align-items:flex-start;gap:12px;padding:20px;display:flex}.empty p{color:var(--mid);margin:0;font-size:14px;line-height:1.5}.center{color:var(--sub);text-align:center;flex:1;justify-content:center;align-items:center;padding:40px;font-size:14px;line-height:1.5;display:flex}.scrollx{scrollbar-width:none}.scrollx::-webkit-scrollbar{display:none}.langbtn{height:40px;transition:all .4s var(--ease);border-radius:20px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:700;animation:1.6s ease-out 3 ping;display:flex}.langbtn.small{height:28px;color:var(--mid);border-radius:14px;padding:0 10px;font-size:11px;animation:none}.tabbar{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);width:min(278px,100vw - 32px);height:64px;box-shadow:var(--shadow);z-index:5;background:#f7f6f3eb;border-radius:32px;justify-content:space-around;align-items:center;display:flex;position:fixed;transform:translate(-50%)}.tabbar a{color:#9a9893;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:64px;min-height:44px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.tabbar a:after{content:"";background:0 0;border-radius:2px;width:4px;height:4px}.tabbar a.on{color:var(--ink);font-weight:700}.tabbar a.on:after{background:var(--ink)}.tabbar a.plus{background:var(--ink);border-radius:24px;width:48px;min-width:48px;height:48px;box-shadow:inset 0 1px #ffffff2e,0 6px 16px #00000024}.tabbar a.plus:after{display:none}.skybox{justify-content:center;align-items:center;display:flex}.star{background:#fff;border-radius:2px;position:absolute}.orb{border-radius:50%;flex:none;display:block}.orb.sun{background:radial-gradient(circle at 35% 30%,#fff8e8,#f4d29c 75%);box-shadow:0 0 .7em .15em #fadca073}.orb.moon{background:radial-gradient(circle at 35% 30%,#fff,#dadbe2 75%);box-shadow:inset -.2em -.08em #9698af66}.face{border-radius:50%;width:1em;height:1em;animation:3.4s ease-in-out infinite bob;position:relative}.face.sun{color:#4a3e32;background:radial-gradient(circle at 35% 30%,#fff8e8,#f4d29c 72%);box-shadow:0 0 .44em .12em #fadca073}.face.moon{color:#3e3b52;background:radial-gradient(circle at 35% 30%,#fff,#dadbe2 75%);box-shadow:0 0 .34em .09em #e1e4f52e,inset -.12em -.07em #a0a2b959}.face i{background:currentColor;border-radius:.06em;width:.085em;height:.11em;position:absolute;top:.42em}.face i.l{left:.275em}.face i.r{left:.64em}.face b{border-bottom:.04em solid;border-radius:0 0 .16em .16em;width:.16em;height:.08em;position:absolute;top:.6em;left:.42em}.face.sleep i{background:0 0;border-bottom:.04em solid;border-radius:0 0 .16em .16em;width:.13em;height:.07em}.face.sleep i.l{left:.25em}.face.sleep b{height:.05em}.face.sleep:after{content:"z z";color:#e9ecf6;white-space:nowrap;font-size:.2em;font-weight:800;position:absolute;top:-.22em;right:-.3em}.face.busy{animation:.9s ease-in-out infinite jitter}.face.busy i{border-radius:50%;width:.1em;height:.1em}.face.busy b{border-top:.04em solid;border-bottom:0;border-radius:.16em .16em 0 0;top:.64em}.face.busy u{background:currentColor;border-radius:.02em;width:.13em;height:.04em;position:absolute;top:.3em}.face.busy u.l{left:.22em;transform:rotate(18deg)}.face.busy u.r{left:.65em;transform:rotate(-18deg)}.face.busy s{background:#a9d3ee;border-radius:50% 0 50% 50%;width:.14em;height:.14em;animation:1.2s ease-in infinite drip;position:absolute;top:.16em;right:.02em}.dial{flex:0 0 140px;height:140px;position:relative;overflow:hidden}.dial-scroll{scroll-snap-type:x mandatory;touch-action:pan-x;scroll-padding-left:50%;display:flex;position:absolute;inset:0;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16% 84%,#0000 100%)}.dial-pad{flex:0 0 50%}.cell{scroll-snap-align:start;flex:0 0 36px;width:36px;height:140px;position:relative}.cell span{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;position:absolute;left:0;transform:translate(-50%)}.cell .tl{color:#b3b0aa;font-weight:650;top:16px}.cell .bl{color:#bdbab4;font-weight:600;top:106px}.cell em{background:#c9c6c0;border-radius:1px;width:1px;height:7px;position:absolute;left:-.5px}.cell em.t{top:49px}.cell em.b{top:84px}.cell.full em{width:1.5px;height:14px;left:-.75px}.cell.full em.t{top:42px}.cell.on em{background:var(--ink)}.cell.on .tl{color:var(--ink)}.cell.on .bl{color:var(--mid)}.cell.on:before{content:"";background:#e7e4de;height:18px;position:absolute;top:61px;left:0;right:0}.cell.on.first:before{border-radius:6px 0 0 6px}.cell.on.last:before{border-radius:0 6px 6px 0}.cell.on.first.last:before{border-radius:6px}.cell.mid .tl,.cell.mid .bl{text-underline-offset:3px;text-decoration:underline}.dial-now{background:var(--red);pointer-events:none;width:1.5px;height:60px;position:absolute;top:40px}.dial-now:before{content:"";background:var(--red);border-radius:3px;width:6px;height:6px;position:absolute;top:-3px;left:-2.25px}.dial-block{pointer-events:none;background:#1d1d1f1f;border-radius:0 6px 6px 0;height:18px;transition:background-color .25s;position:absolute;top:61px;left:50%}.dial-block.ok{background:#1d1d1fd1}.dial-needle{background:var(--ink);pointer-events:none;transform-origin:50% 0;border-radius:1px;width:2px;height:64px;position:absolute;top:38px;left:calc(50% - 1px)}.dial-needle.tA{animation:.14s ease-out tkA}.dial-needle.tB{animation:.14s ease-out tkB}.dial-caret{border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--ink);pointer-events:none;position:absolute;top:30px;left:calc(50% - 5px)}.pcard{flex:none;gap:14px;height:204px;padding:12px;display:flex}.pcard .skybox{flex:0 0 128px;width:128px}.pcard .txt{flex-direction:column;flex:auto;min-width:0;padding:6px 6px 6px 2px;display:flex}.pcard .num{margin-top:auto;font-size:56px;line-height:.95}.pcard .day{min-height:24px;color:var(--mid);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:15px;font-weight:600;display:flex}.ruler{padding:0 24px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 8% 92%,#0000 100%)}.rcell{flex:0 0 30px;width:30px;height:118px;position:relative}.rcell span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;position:absolute;left:0;transform:translate(-50%)}.rcell .tl{color:#b3b0aa;font-weight:650;top:10px}.rcell .bl{color:#bdbab4;font-weight:600;top:92px}.rcell em{background:#cbc8c2;border-radius:1px;width:1px;height:6px;position:absolute;left:-.5px}.rcell em.t{top:40px}.rcell em.b{top:72px}.rcell.full em{width:1.5px;height:13px;left:-.75px}.rcell.full em.t{top:33px}.rcell.both em{background:var(--ink)}.rcell.both .tl{color:var(--ink)}.rcell.both .bl{color:var(--mid)}.rcell:before{content:"";border-radius:6px;height:18px;transition:background-color .2s;position:absolute;top:50px;left:1px;right:1px}.rcell.both:before{background:#e7e4de}.rcell.pick:before{background:var(--ink)}.rcell.past{opacity:.35}.scrim{z-index:8;background:#1d1d1f47;transition:opacity .32s;position:fixed;inset:0}.sheet{z-index:9;width:min(430px,100vw);max-height:86dvh;padding:10px 16px calc(24px + env(safe-area-inset-bottom));transition:transform .56s var(--ease), visibility 0s;background:#efede8;border-radius:30px 30px 0 0;flex-direction:column;gap:12px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffffe6,0 -10px 40px #28241e2e}.sheet.closed{visibility:hidden;transition:transform .56s var(--ease), visibility 0s .56s;transform:translate(-50%,104%)}.scrim.closed{opacity:0;pointer-events:none}.sheet>*{flex-shrink:0}.sheet>.body{flex-shrink:1}.sheet .grab{background:#cfccc5;border-radius:2px;flex:none;align-self:center;width:36px;height:4px}.sheet .body{flex-direction:column;flex:auto;gap:8px;min-height:0;display:flex;overflow-y:auto}.prow{text-align:left;align-items:center;gap:12px;width:100%;min-height:56px;padding:0 2px;display:flex}.grid{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.tile{flex-direction:column;gap:10px;padding:8px 8px 12px;display:flex}.tile.open{grid-column:1/-1;padding:12px 12px 14px}.tile .hd{text-align:left;flex-direction:column;gap:8px;width:100%;display:flex}.tile.open .hd{flex-direction:row;align-items:stretch;gap:14px}.tile .skybox{justify-content:flex-end;align-items:flex-start;height:56px;padding:9px}.tile.open .skybox{border-radius:20px;flex:0 0 112px;justify-content:center;align-items:center;width:112px;height:112px;padding:0}.tile .info{flex-direction:column;gap:3px;min-width:0;padding:0 4px;display:flex}.tile.open .info{flex:auto;justify-content:center}.bar{background:#e7e4de;border-radius:5px;height:10px;position:relative;box-shadow:inset 0 1px 2px #0000000f}.bar i{background:var(--ink);border-radius:5px;position:absolute;top:0;bottom:0}.bar b{background:var(--red);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.scale{color:#a3a09a;justify-content:space-between;font-size:10px;font-weight:600;display:flex}.rise{animation:rise .42s var(--ease)}.strip{height:96px}.strip button{font-variant-numeric:tabular-nums;height:26px;transition:background-color .3s ease, transform .42s var(--ease);background:#f7f6f3eb;border-radius:13px;padding:0 9px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%);box-shadow:0 2px 6px #0000001f}.strip button.on{background:var(--sand);transform:translate(-50%)scale(1.08);box-shadow:inset 0 1px #ffffffb3,0 0 0 1px #3c2d141a,0 4px 12px #281e0a2e}.strip .nowl{background:var(--red);width:1.5px;position:absolute;top:0;bottom:0}.ev{text-align:left;border-radius:20px;width:100%;padding:6px 14px 6px 10px;transition:background-color .36s;display:block}.ev.on{background:var(--sand);box-shadow:inset 0 1px #ffffffb3,0 0 0 1px #3c2d1414,0 10px 24px #281e0a14}.ev .top{align-items:center;gap:12px;min-height:52px;display:flex}.ev .more{opacity:0;max-height:0;transition:max-height .52s var(--ease), opacity .32s ease;display:block;overflow:hidden}.ev.on .more{opacity:1;max-height:170px}.ev .more .lab,.ev.on .muted{color:#857b6a}.two{display:flex}.two>*{flex-direction:column;flex:1 1 0;gap:4px;min-width:0;display:flex}.two>:last-child{text-align:right;align-items:flex-end}.pager{touch-action:pan-y;margin:0 -16px;overflow:hidden}.pager>div{width:200%;transition:transform .56s var(--ease);display:flex}.pager>div>section{flex-direction:column;gap:12px;width:50%;padding:0 16px;display:flex}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes jitter{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-2px)rotate(-4deg)}40%{transform:translate(2px,-1px)rotate(3deg)}60%{transform:translate(-1px,1px)rotate(-2deg)}80%{transform:translate(1px)rotate(2deg)}}@keyframes drip{0%{opacity:0;transform:translateY(0)rotate(45deg)}30%{opacity:1}to{opacity:0;transform:translateY(6px)rotate(45deg)}}@keyframes stamp{0%{opacity:0;transform:scale(1.7)rotate(-4deg)}60%{opacity:1;transform:scale(.95)rotate(-9deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@keyframes tkA{0%{transform:scaleY(.78)}to{transform:scaleY(1)}}@keyframes tkB{0%{transform:scaleY(.78)}to{transform:scaleY(1)}}@keyframes ping{0%{box-shadow:var(--shadow), 0 0 0 0 #1d1d1f2e}to{box-shadow:var(--shadow), 0 0 0 10px #1d1d1f00}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.rcell.base:before{box-shadow:inset 0 0 0 1.5px #1d1d1f59}.agrid{-webkit-user-select:none;user-select:none;touch-action:none;grid-template-columns:34px repeat(7,1fr);gap:3px;display:grid}.agrid span{color:var(--sub);text-align:center;align-self:center;font-size:11px;font-weight:600}.agrid button{background:#e7e4de;border-radius:5px;height:22px}.agrid button[aria-pressed=true]{background:var(--ink)}textarea.field{resize:none;height:auto;min-height:76px;padding:12px 14px;font-size:15px;line-height:1.45}.msg{color:#3e3d3a;white-space:pre-wrap;background:#efede8;border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.5}.msg b{color:var(--sub);margin-bottom:2px;font-size:11px;font-weight:700;display:block}
