:root{--font: system-ui, -apple-system, Segoe UI, Roboto, "Noto Sans KR", sans-serif;--bg: #f4fbfa;--bg-grad: radial-gradient(1200px 800px at 10% 0%, rgba(124, 231, 215, .35) 0%, rgba(124, 231, 215, .14) 30%, rgba(255, 255, 255, 0) 65%), radial-gradient(900px 700px at 95% 15%, rgba(150, 202, 255, .28) 0%, rgba(150, 202, 255, .1) 38%, rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, #f6fffd 0%, #f4fbfa 55%, #f7fbff 100%);--surface-1: rgba(255, 255, 255, .82);--surface-2: rgba(255, 255, 255, .92);--surface-soft: rgba(13, 22, 21, .04);--text: rgba(10, 18, 18, .92);--muted: rgba(10, 18, 18, .58);--muted-2: rgba(10, 18, 18, .44);--border: rgba(10, 18, 18, .1);--border-strong: rgba(10, 18, 18, .14);--shadow-sm: 0 1px 0 rgba(0,0,0,.03), 0 6px 16px rgba(0,0,0,.06);--shadow-md: 0 10px 28px rgba(0,0,0,.1);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 18px;--accent-50: #e8fffb;--accent-100: #cffff7;--accent-200: #a9f3e8;--accent-400: #3fe0cc;--accent-500: #1fcbb8;--accent-600: #13a896;--accent-700: #0e8678;--ok: rgba(34, 197, 94, 1);--warn: rgba(245, 158, 11, 1);--danger: rgba(239, 68, 68, 1);--ring: rgba(31, 203, 184, .28);--card: var(--surface-2);--soft: var(--surface-soft);--mid: rgba(10, 18, 18, .18);--primary-bg: var(--accent-600);--primary-text: #ffffff;--danger-bg: rgba(239, 68, 68, .1);--danger-border: rgba(239, 68, 68, .25);--danger-text: rgba(180, 0, 0, .92)}html{font-size:calc(16px * var(--ui-scale, 1))}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg)}*{box-sizing:border-box}button,input,textarea,select{font:inherit}a{color:inherit}.appShell{min-height:100vh;background:var(--bg-grad)}.container{max-width:1040px;margin:0 auto;padding:18px 16px 28px}@media (max-width: 720px){.container{max-width:560px}}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width: 560px){.grid2{grid-template-columns:1fr}}.stack12{display:flex;flex-direction:column;gap:12px}.stack16{display:flex;flex-direction:column;gap:16px}.uiCard{border:1px solid var(--border);background:var(--surface-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.uiCardPad{padding:14px}.uiCardTitle{font-weight:950;letter-spacing:-.2px}.uiCardDesc{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.45}.uiBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius-md);font-weight:900;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.uiBtn:active{transform:scale(.99)}.uiBtn:focus{outline:none;box-shadow:0 0 0 4px var(--ring)}.uiBtnSm{height:34px;padding:0 10px;font-size:12.5px}.uiBtnMd{height:40px;padding:0 12px;font-size:13.5px}.uiBtnLg{height:44px;padding:0 14px;font-size:14px}.uiBtnWide{width:100%;justify-content:center}.uiBtn:hover{box-shadow:0 10px 24px #00000014;transform:translateY(-1px)}.uiBtn:active{transform:translateY(0) scale(.99)}.uiBtnPrimary{border-color:#1fcbb866;background:linear-gradient(180deg,#1fcbb8,#13a896);color:#fff;box-shadow:0 10px 20px #1fcbb82e}.uiBtnSecondary{border-color:#1fcbb847;background:#e8fffbb3}.uiBtnGhost{background:transparent}.uiBtnDanger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.uiChip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:#ffffffb3;color:var(--text);font-weight:900;font-size:12px}.uiChipOk{border-color:#22c55e4d;background:#22c55e1a}.uiChipWarn{border-color:#f59e0b59;background:#f59e0b1a}.uiChipDanger{border-color:#ef444459;background:#ef44441a}.uiSelect{height:40px;padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:#ffffffb3;color:var(--text);font-weight:900;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.uiErrorBox{padding:12px;border-radius:16px;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);font-weight:900}.uiToastWrap{position:fixed;left:50%;top:14px;transform:translate(-50%);z-index:2000;width:min(560px,calc(100% - 24px));pointer-events:none}.uiToast{pointer-events:auto;border:1px solid var(--border);background:#ffffffdb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;padding:10px 12px;font-size:13px;color:var(--text);box-shadow:0 12px 30px #0000001a;display:inline-flex;gap:8px;align-items:center}.uiToastOk{border-color:#22c55e4d;background:#22c55e1a}.uiToastWarn{border-color:#f59e0b59;background:#f59e0b1a}.uiSheetBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0c121266;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-end;padding:12px;z-index:1500}.uiSheet{width:100%;max-width:560px;border-radius:22px;border:1px solid rgba(255,255,255,.22);background:#ffffffdb;box-shadow:0 22px 60px #0003;padding:14px;color:var(--text)}.uiSheetHandleWrap{display:flex;justify-content:center;margin-bottom:10px}.uiSheetHandle{width:46px;height:5px;border-radius:999px;background:#0a121224}.glassField{display:grid;gap:8px}.glassFieldLabel{color:#6f7e87;font-size:12px;font-weight:800;line-height:1.35}.glassInput,.glassTextarea,.glassInputDate,.glassInputMonth,.glassInputSelect{width:100%;border:1px solid rgba(255,255,255,.64);background:linear-gradient(180deg,#fffffff2,#f4f9fad6);color:var(--text);box-shadow:inset 0 1px #ffffffb3,0 10px 24px #5f757f0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease,background .14s ease}.glassInput,.glassInputDate,.glassInputMonth,.glassInputSelect{min-height:46px;padding:0 14px;border-radius:16px;font-size:14px;font-weight:700}.glassTextarea{min-height:112px;padding:13px 14px;border-radius:18px;font-size:14px;line-height:1.65;resize:vertical}.glassInput::placeholder,.glassTextarea::placeholder,.glassInputDate::placeholder,.glassInputMonth::placeholder,.glassInputSelect::placeholder{color:#0a121261}.glassInput:focus,.glassTextarea:focus,.glassInputDate:focus,.glassInputMonth:focus,.glassInputSelect:focus{outline:none;border-color:#1fcbb86b;box-shadow:0 0 0 4px #1fcbb824,inset 0 1px #ffffffc2,0 14px 26px #5f757f14}.glassInputDate,.glassInputMonth,.glassInputSelect{color-scheme:light}.glassInputSelect{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(10,18,18,.45) 50%),linear-gradient(135deg,rgba(10,18,18,.45) 50%,transparent 50%),linear-gradient(180deg,#fffffff2,#f4f9fad6);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%,0 0;background-size:6px 6px,6px 6px,100% 100%;background-repeat:no-repeat;padding-right:34px}.weekDots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:10px}.weekDot{width:34px;height:34px;border-radius:12px;background:#ffffff9e;border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 1px #ffffff75}.weekDotOn{background:linear-gradient(180deg,#80ddcef2,#60cdbcf5);border-color:#69d0bfd1;box-shadow:0 8px 18px #6dd7c438}@keyframes gratitudeSkeleton{0%{background-position:0% 0}to{background-position:200% 0}}.topBar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.topBarLeft{display:flex;align-items:center;gap:10px;min-width:0}.topBarBackSpacer{width:40px;height:40px}.topBarBackBtn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.topBarTitle{font-size:22px;font-weight:900;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topBarRight{display:flex;align-items:center;gap:8px;flex-shrink:0}.topBarRightSlot{display:inline-flex;align-items:center;gap:8px}.homeStack{display:flex;flex-direction:column;gap:16px}.homeUrgentWrap{position:relative}.homeUrgentTinyCta{position:absolute;top:8px;right:10px;height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);font-weight:950}.homeUrgentBigCta{position:absolute;left:12px;right:12px;bottom:8px;height:44px;border-radius:16px;border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);font-weight:950;animation:urgentPulse 1.6s ease-in-out infinite}@keyframes urgentPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.homeMcheyneHeader{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.homeMcheyneActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.homeMcheyneProgressLine{margin-top:6px;font-size:12px;color:var(--muted);font-weight:900}.homeMcheyneProgressStrong{color:var(--text)}.homeMcheyneProgressMeta{margin-left:6px}.homePreviewBox{margin-top:10px;padding:10px;border-radius:14px;border:1px solid var(--border);background:var(--soft)}.homePreviewTitle{font-size:12px;color:var(--muted);font-weight:950}.homePreviewLines{margin-top:6px;font-size:13px;line-height:1.45;color:var(--text)}.homePreviewVerse{margin-right:6px}.homePreviewHint{margin-top:6px;font-size:11px;color:var(--muted)}.homeReadingsList{margin:10px 0 0;padding-left:18px;color:var(--text);line-height:1.7}.homeMuted{color:var(--muted)}.homeActionsGrid{display:grid;grid-template-columns:1fr;gap:12px}.homeActionCard{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.homeActionCard:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.homeActionCardInner{padding:14px}.homeActionCardTitle{font-weight:950;letter-spacing:-.2px}.homeActionCardDesc{font-size:13px;color:var(--muted);margin-top:4px}.homeSheetFooter{margin-top:12px}.urgentTicker{width:100%}.urgentTickerBtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:0;margin:0;width:100%;text-align:left;cursor:pointer;color:inherit}.urgentTickerBtnCompact{display:block}.urgentTickerH40 .urgentTickerViewport{height:40px}.urgentTickerH44 .urgentTickerViewport{height:44px}.urgentTickerH52 .urgentTickerViewport{height:52px}.urgentTickerViewport{position:relative;overflow:hidden;display:flex;align-items:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}.urgentTickerMarqueeTrack{display:inline-flex;align-items:center;min-width:100%;white-space:nowrap}.urgentTickerMarqueeTrack.isAnimated{width:max-content;min-width:max-content;animation-name:urgentTickerMarquee;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes urgentTickerMarquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 12px))}}.urgentTickerContent{font-size:13.5px;font-weight:800;color:#5d4e4a}.urgentTickerContent.isDim{color:#8f776d}.urgentTickerGap{color:#8f776d9e}.mchCalHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.mchCalNavRight{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.mchGridHeader{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:8px}.mchGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.mchCell{height:76px;border-radius:16px;border:1px solid var(--border);background:#ffffffb8;box-shadow:0 1px #00000005;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.mchCell:hover{transform:translateY(-1px);box-shadow:0 10px 24px #00000014}.mchCellDim{opacity:.55}.mchCellToday{border-color:#1fcbb873;box-shadow:0 0 0 4px #1fcbb824,0 14px 30px #0000001a}.mchDayRow{display:inline-flex;align-items:center;gap:6px;font-weight:950}.mchTodayChip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;border:1px solid rgba(31,203,184,.28);background:#e8fffbbf;font-size:11px;font-weight:950}.mchDots{display:inline-flex;gap:4px;height:10px;align-items:center}.mchDot{width:6px;height:6px;border-radius:999px;background:#0a12122e}.mchDotOn{background:#13a896}.mchPulse{animation:mchPulse .25s ease-out}@keyframes mchPulse{0%{transform:scale(1);box-shadow:0 0 #1fcbb800}60%{transform:scale(1.012);box-shadow:0 0 0 6px #1fcbb829}to{transform:scale(1);box-shadow:0 0 #1fcbb800}}.mcReadPage{display:flex;flex-direction:column;gap:12px}.mcReadLoading{color:var(--muted);font-weight:900}.mcReadErrorActions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.mcReadHeroTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.mcReadHeroTitleBlock{min-width:0}.mcReadHeroActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.mcReadProgress{display:flex;flex-direction:column;gap:10px}.mcReadProgressTop{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.mcReadProgressTitle{min-width:0}.mcReadProgressLine{margin-top:6px;font-size:12px;color:var(--muted);font-weight:900}.mcReadProgressSep{margin:0 6px;color:var(--muted)}.mcReadHint{margin-top:0}.mcReadPlanList{margin:10px 0 0;padding-left:18px;color:var(--text);line-height:1.7}.mcReadList{display:flex;flex-direction:column;gap:12px}.mcReadItem{display:flex;flex-direction:column;gap:10px}.mcReadItemHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.mcReadItemTitle{min-width:0}.mcReadCheck{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-size:13px;font-weight:900;color:var(--muted)}.mcReadCheck input{width:18px;height:18px;accent-color:var(--primary-bg)}.mcReadPreviewBox{padding:10px;border-radius:14px;border:1px solid var(--border);background:var(--soft)}.mcReadPreviewLine{line-height:1.55;font-size:13px;color:var(--text)}.mcReadVerseNum{margin-right:6px}.mcReadPreviewHint{margin-top:6px;font-size:11px;color:var(--muted)}.mcReadTextBox{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.55;color:var(--text);padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--soft);max-height:520px;overflow:auto}
