:root{--ink: #182340;--ink-soft: #4a5571;--ink-faint: #8a93a8;--paper: #f7f9fc;--sheet: #ffffff;--line: #dce3ef;--brand: #2457d6;--brand-deep: #1a44ad;--brand-wash: #e8eefc;--sunday: #d23b3b;--saturday: #2457d6;--kakao: #fee500;--danger: #c0392b;--font-ui: "Noto Sans KR", system-ui, -apple-system, "Apple SD Gothic Neo", sans-serif;--font-diary: "Gowun Batang", "Noto Serif KR", serif;--tap: 52px;--radius-control: 12px;--radius-sheet: 20px;--tabbar-h: 72px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-ui);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;word-break:keep-all}#root{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--paper)}a{color:var(--brand)}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--tap);padding:0 20px;border-radius:var(--radius-control);border:1.5px solid transparent;font:700 17px/1 var(--font-ui);text-decoration:none;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff}.btn-primary:not(:disabled):active{background:var(--brand-deep)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-kakao{background:var(--kakao);color:#191600}.auth{display:flex;flex-direction:column;gap:20px;padding:56px 24px 40px}.auth-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.auth-head-compact{margin-bottom:0}.auth-title{margin:4px 0 0;font:700 30px/1.25 var(--font-diary);letter-spacing:-.01em}.auth-lede{margin:0;color:var(--ink-soft)}.auth-foot{margin:4px 0 0;text-align:center;color:var(--ink-soft)}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:14px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.notice{margin:0;padding:12px 14px;border-radius:var(--radius-control);background:#fff4d6;color:#5c4500;font-size:15px}.form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-weight:700;font-size:15px}.field input,.field select{min-height:var(--tap);padding:0 14px;border:1.5px solid var(--line);border-radius:var(--radius-control);background:var(--sheet);color:var(--ink);font:400 17px var(--font-ui)}.field input:focus,.field select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-wash)}.field-hint{font-size:14px;color:var(--ink-faint)}.field-suggest{align-self:flex-start;padding:8px 12px;border:0;border-radius:8px;background:#fff4d6;color:#5c4500;font:400 15px var(--font-ui);text-align:left;cursor:pointer}.field-hint.is-warn{color:var(--danger)}.form-error{margin:0;color:var(--danger);font-weight:500}.consents{margin:0;padding:0;border:0}.consents .field-label{display:block;margin-bottom:8px}.check{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;cursor:pointer}.check input{flex:none;width:24px;height:24px;margin:1px 0 0;accent-color:var(--brand)}.check-all{padding:14px 16px;border-radius:var(--radius-control);background:var(--brand-wash);font-weight:700}.consent-items{list-style:none;margin:4px 0 0;padding:0 0 0 16px}.consent-items li{display:flex;align-items:center;justify-content:space-between;gap:8px}.tag{display:inline-block;margin-right:6px;font-style:normal;font-size:14px;color:var(--ink-faint)}.tag-required{color:var(--brand);font-weight:700}.consent-link{flex:none;font-size:14px}.shell-main{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 24px)}.tabbar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 6px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--sheet);border-top:1px solid var(--line)}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink-faint);text-decoration:none;font-size:13px;font-weight:500}.tab-icon{width:26px;height:26px}.tab-icon svg{width:100%;height:100%}.tab.is-active{color:var(--ink)}.tab.is-active .tab-label{font-weight:700}.tab-primary{color:var(--brand)}.tab-primary .tab-icon{width:56px;height:56px;margin-top:-22px;padding:14px;border-radius:50%;background:var(--brand);color:#fff;box-shadow:0 0 0 5px var(--paper)}.tab-primary.is-active{color:var(--brand)}.page{padding:0 20px}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:64px}.brand{font:700 22px var(--font-diary);color:var(--brand)}.topbar-link{display:grid;place-items:center;width:44px;height:44px;margin-right:-8px;color:var(--ink)}.page-title{margin:0;font:700 24px var(--font-diary)}.block{margin-top:28px}.block-title{margin:0 0 6px;font-size:18px}.block-body{margin:0 0 14px;color:var(--ink-soft)}.block-empty{padding:28px 20px;border:1.5px dashed var(--line);border-radius:var(--radius-sheet)}.block-empty .block-body{margin:0}.ilryeok{position:relative;margin-top:8px;padding:40px 24px 24px;border-radius:6px 6px var(--radius-sheet) var(--radius-sheet);background:var(--sheet);border:1px solid var(--line);text-align:center}.ilryeok-binding{position:absolute;top:12px;left:18px;right:18px;height:10px;background:radial-gradient(circle at 5px 5px,var(--paper) 4px,transparent 4.5px) 0 0 / 22px 10px repeat-x}.ilryeok:after{content:"";position:absolute;top:30px;left:0;right:0;border-top:1px dashed var(--line)}.ilryeok-month{margin:8px 0 0;color:var(--ink-soft);font-size:16px}.ilryeok-day{margin:0;font:700 128px/1 var(--font-diary);letter-spacing:-.04em;color:var(--ink)}.ilryeok-weekday{margin:4px 0 0;font:700 20px var(--font-diary)}.is-sunday .ilryeok-day,.is-sunday .ilryeok-weekday{color:var(--sunday)}.is-saturday .ilryeok-day,.is-saturday .ilryeok-weekday{color:var(--saturday)}.ilryeok-note{margin:20px 0;color:var(--ink-soft)}.facts{margin:8px 0 0}.facts div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.facts dt{color:var(--ink-soft)}.facts dd{margin:0;font-weight:500;text-align:right;overflow-wrap:anywhere}.page>.btn-ghost:last-child{margin-top:32px}.splash{display:grid;place-items:center;min-height:100dvh}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
