@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}:root,[data-theme=light]{--bg:#f5f4fa;--bg2:#fff;--text:#1c1c2e;--text2:#9295a6;--accent:#6c5ce7;--accent2:#a29bfe;--accent-bg:#6c5ce726;--green:#00b894;--green-bg:#00b89414;--red:#ff6b6b;--line:#ededf2;--input:#f1f0f6;--card-shadow:0 1px 3px #1c1c2e0a, 0 6px 16px #1c1c2e08;--r:14px}[data-theme=dark]{--bg:#0a0a14;--bg2:#1e1e30;--text:#d8d8e4;--text2:#5c5e72;--accent:#8b84e6;--accent2:#5f53c4;--accent-bg:#8b84e624;--green:#3cc9a3;--green-bg:#3cc9a314;--red:#e05a5a;--line:#24243a;--input:#1e1e30;--card-shadow:0 1px 3px #0003, 0 6px 16px #00000026}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,Pretendard,Noto Sans KR,system-ui,sans-serif;line-height:1.5;overflow-x:hidden}html{overflow-x:hidden}.app-header{z-index:100;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto;padding:12px 20px;display:flex}.header-left{align-items:baseline;gap:6px;display:flex}.logo{letter-spacing:-1px;background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:20px;font-weight:800}.logo-sub{color:var(--text);opacity:.85;font-size:12px;font-weight:500}.header-right{align-items:center;gap:8px;display:flex}.admin-dot{background:var(--red);border-radius:50%;width:8px;height:8px;display:inline-block}.version{color:var(--text2);cursor:pointer;opacity:.8;padding:4px;font-size:11px;font-weight:500}.theme-btn{background:var(--input);cursor:pointer;color:var(--text);border:none;border-radius:8px;align-items:center;padding:6px;display:flex}.color-dot-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;align-items:center;padding:4px;display:flex}.color-dot-btn:hover{opacity:.8}.theme-btn.noti-on{color:var(--accent)}.theme-btn.noti-on svg{stroke:var(--accent)}.color-picker-overlay{z-index:150;position:fixed;inset:0}.color-picker{background:var(--bg2);border:1px solid var(--line);z-index:160;border-radius:14px;padding:14px 16px;position:absolute;top:56px;right:16px;box-shadow:0 4px 20px #00000026}.color-picker-title{color:var(--text2);text-align:center;margin-bottom:10px;font-size:12px;font-weight:600}.color-picker-list{gap:10px;display:flex}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:32px;height:32px;transition:all .15s}.color-dot:hover{transform:scale(1.15)}.color-dot.active{border-color:var(--text);box-shadow:0 0 0 2px var(--bg2), 0 0 0 4px var(--text)}.color-dot.custom-color{position:relative;overflow:hidden;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)!important}.color-dot.custom-color input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.noti-toast{background:var(--text);color:var(--bg);white-space:nowrap;z-index:110;border-radius:8px;margin-top:4px;padding:8px 14px;font-size:12px;animation:.2s slideUp;position:absolute;top:100%;right:16px;box-shadow:0 4px 12px #00000026}.bottom-nav{z-index:100;background:var(--bg2);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bnav-item{max-width:120px;color:var(--text2);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 6px;font-size:10px;transition:color .15s;display:flex}.bnav-item.active{color:var(--accent)}.bnav-item.active svg{stroke:var(--accent)}a.bnav-item{text-decoration:none}.main-content{width:100%;max-width:800px;margin:0 auto;padding:16px 16px 80px}.month-glass-btn{cursor:pointer;-webkit-backdrop-filter:blur(10px);border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent);border-radius:12px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.month-glass-btn.current{background:var(--accent-bg);border-color:var(--accent)}.month-glass-btn.past{color:var(--text2);background:#8080801f;border-color:#80808040}.month-picker-list{max-height:300px;overflow-y:auto}.glass-item.current-month{font-weight:700}.pick-section{margin-bottom:12px}.pick-label{color:var(--text2);letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.pick-row{flex-wrap:wrap;gap:6px;display:flex}.pick-chip{border:1.5px solid var(--line);background:var(--bg2);cursor:pointer;color:var(--text);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500;transition:all .15s}.pick-chip:hover{border-color:var(--accent);color:var(--accent)}.pick-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.pick-chip.pick-sm{border-radius:6px;padding:4px 10px;font-size:12px}.list-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.list-top-right{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.font-ctrl{align-items:center;gap:4px;display:inline-flex}.font-btn{cursor:pointer;color:var(--text2);-webkit-backdrop-filter:blur(10px);background:#8080801f;border:1.5px solid #80808040;border-radius:12px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s;box-shadow:0 1px 4px #0000000a}.font-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.font-btn:disabled{opacity:.25;cursor:default}.stat-pill{color:var(--accent);background:var(--accent-bg);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.view-toggle-btn{background:var(--accent-bg);border:1.5px solid var(--accent);cursor:pointer;color:var(--accent);-webkit-backdrop-filter:blur(10px);border-radius:12px;padding:5px 14px;font-size:12px;font-weight:600;transition:all .15s}.swipe-container{-webkit-user-select:none;user-select:none;width:100%;overflow:hidden}.swipe-track-wrapper{border-radius:var(--r);cursor:grab;touch-action:pan-y;width:100%;overflow:hidden}.swipe-track-wrapper:active{cursor:grabbing}.swipe-track{will-change:transform;width:100%;display:flex}.swipe-slide{width:100%;min-width:100%;max-height:calc(var(--vh,1vh) * 100 - 220px);flex-shrink:0;overflow-y:auto}.swipe-indicator{justify-content:center;gap:5px;display:flex}.swipe-dot{background:var(--line);cursor:pointer;border:none;border-radius:3px;width:6px;height:6px;padding:0;transition:all .2s}.swipe-dot.active{background:var(--accent);width:20px}.person-card{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);width:100%;min-height:160px;padding:20px}.person-card-header{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:10px;display:flex}.person-name{font-size:17px;font-weight:700}.family-member-group{margin-bottom:10px}.family-member-group:last-child{margin-bottom:0}.family-member-name{font-size:var(--prayer-font-size,13px);color:var(--accent);background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:6px;margin-top:6px;padding:3px 10px;font-weight:700;display:inline-block}.person-stats{color:var(--text2);font-size:11px}.person-prayer-list{list-style:none}.person-prayer-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.person-prayer-item:last-child{border-bottom:none}.person-prayer-item.answered{background:var(--accent-bg);border-radius:10px;margin:0 -12px;padding:10px 12px}.person-prayer-body{flex:1;min-width:0}.person-prayer-text{font-size:var(--prayer-font-size,14px);word-break:keep-all;white-space:pre-wrap;margin-top:4px;line-height:1.8}.prayer-category-badge{background:var(--accent-bg);color:var(--accent);font-size:calc(var(--prayer-font-size,13px) - 3px);border-radius:6px;width:fit-content;padding:2px 8px;font-weight:600;display:inline-block}.answer-btn-sm,.answer-btn{border:2px solid var(--accent);width:26px;height:26px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.answer-btn-sm:hover,.answer-btn:hover{background:var(--accent-bg)}.prayer-list{flex-direction:column;gap:6px;display:flex}.prayer-list-item{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);align-items:center;gap:10px;padding:12px 14px;display:flex}.prayer-list-item.answered{background:var(--accent-bg)}.prayer-list-content{flex-direction:column;flex:1;gap:4px;display:flex}.prayer-list-top{align-items:center;gap:6px;display:flex}.prayer-member-name{font-size:var(--prayer-font-size,14px);color:var(--accent);font-weight:700}.prayer-text{font-size:var(--prayer-font-size,13px);line-height:1.6}.prayer-meta{color:var(--text2);font-size:11px}.prayer-meta-row{align-items:center;gap:8px;display:flex}.prayer-since{color:var(--accent2);font-size:10px;font-style:italic}.write-page-v2{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);padding:20px}.family-select-btn{border:1.5px solid var(--accent);background:var(--accent-bg);width:100%;color:var(--accent);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:10px 14px;font-size:14px;font-weight:600;display:flex}.family-select-arrow{opacity:.6;font-size:11px}.glass-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;background:#0000004d;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.glass-modal{background:var(--bg2);border:1px solid var(--line);border-radius:20px 20px 16px 16px;width:100%;max-width:440px;padding:20px;animation:.25s slideUp;box-shadow:0 -4px 30px #00000026}.glass-title{text-align:center;color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.glass-list{flex-direction:column;gap:6px;display:flex}.glass-item{border:1.5px solid var(--line);background:var(--input);color:var(--text);cursor:pointer;text-align:left;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .15s}.glass-item:hover{border-color:var(--accent);color:var(--accent)}.glass-item.active{background:var(--accent);color:#fff;border-color:var(--accent)}.write-month-badge{background:var(--accent-bg);color:var(--accent);border:1.5px solid var(--accent);border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600}.write-family-title{color:var(--text);border-bottom:2px solid var(--accent);margin-bottom:12px;padding-bottom:8px;font-size:18px;font-weight:700}.write-family-title.selectable{cursor:pointer}.write-family-title.selectable:hover{color:var(--accent)}.write-top-bar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.write-textarea{border:1.5px solid var(--line);background:var(--input);width:100%;color:var(--text);resize:vertical;border-radius:12px;margin-bottom:12px;padding:14px;font-family:inherit;font-size:14px;line-height:1.7;transition:border-color .2s}.write-textarea:focus{border-color:var(--accent);outline:none}.write-input-area{margin-bottom:12px;position:relative}.write-input-area .write-textarea{margin-bottom:0;padding-right:90px}.ai-btn{border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;transition:all .15s;display:flex;position:absolute;bottom:10px;right:8px}.ai-btn:hover{opacity:.9}.ai-btn:disabled{opacity:.3;cursor:default}.ai-btn .spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-result-bar{background:var(--accent-bg);border-left:3px solid var(--accent);border-radius:10px;margin-bottom:12px;padding:12px}.ai-result-text{white-space:pre-wrap;word-break:keep-all;margin-bottom:8px;font-size:13px;line-height:1.7}.ai-result-actions{gap:8px;display:flex}.auto-tag{color:var(--accent);font-size:10px;font-weight:400}.btn-submit{border:1.5px solid var(--accent);cursor:pointer;background:var(--accent-bg);width:100%;color:var(--accent);border-radius:12px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.btn-submit:hover{background:var(--accent);color:#fff}.btn-submit:disabled{opacity:.3}.btn-ghost{background:var(--accent-bg);color:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:500}.btn-ghost.danger{color:var(--red);background:#ff6b6b14}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:4px;font-size:12px}.existing-v2{margin-bottom:14px}.exist-group{margin-bottom:10px}.exist-name{font-size:var(--write-font-size,12px);color:var(--accent);margin-bottom:4px;font-weight:700}.exist-row{background:var(--input);border-radius:10px;align-items:flex-start;gap:8px;margin-bottom:4px;padding:8px 10px;display:flex}.exist-row.editing{background:var(--accent-bg)}.exist-body{flex:1;min-width:0}.exist-cat{font-size:calc(var(--write-font-size,13px) - 3px);color:var(--accent);background:var(--accent-bg);border-radius:4px;padding:1px 6px;font-weight:600}.exist-text{font-size:var(--write-font-size,13px);white-space:pre-wrap;word-break:keep-all;margin-top:3px;line-height:1.6;display:block}.exist-actions{flex-shrink:0;gap:2px;display:flex}.exist-actions button{cursor:pointer;color:var(--text2);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px}.exist-actions button:hover{background:var(--line)}.inline-edit{width:100%}.inline-edit .write-textarea{margin-bottom:0}.inline-edit-actions{gap:6px;display:flex}.exist-actions .del{color:var(--red)}.contacts-v3{max-width:800px;margin:0 auto;position:relative}.contact-swipe-wrap{border-radius:var(--r);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;width:100%;overflow:hidden}.contact-swipe-wrap:active{cursor:grabbing}.contact-swipe-track{will-change:transform;width:100%;display:flex}.contact-swipe-slide{flex-shrink:0;width:100%;min-width:100%}.contact-card-v3{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);padding:20px}.cc-photo-wrap{margin:-20px -20px 12px;position:relative}.cc-photo{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r) var(--r) 0 0;width:100%;display:block}.cc-photo-actions{gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.cc-photo-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border:none;border-radius:6px;padding:4px 10px;font-size:11px}.cc-photo-btn.del{background:#ff6b6bb3}.cc-photo-add{border:1.5px dashed var(--line);background:var(--input);width:100%;color:var(--text2);cursor:pointer;text-align:center;border-radius:10px;margin-bottom:12px;padding:20px;font-size:13px}.cc-photo-add:hover{border-color:var(--accent);color:var(--accent)}.crop-modal{max-width:90vw;max-height:90vh}.crop-area{max-height:60vh;overflow:auto}.cc-address{color:var(--text);margin-bottom:8px;font-size:14px;line-height:1.6}.address-highlight{color:var(--accent);font-size:16px;font-weight:700}.address-sub{color:var(--text);opacity:.7;font-size:12px}.cc-children{color:var(--text);margin-bottom:14px;font-size:14px}.cc-label{color:var(--accent);background:var(--accent-bg);border-radius:4px;margin-right:4px;padding:1px 6px;font-size:11px;font-weight:600}.cc-members{margin-bottom:14px}.cc-member{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.cc-member:last-child{border-bottom:none}.cc-member-left{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.cc-name{font-size:16px;font-weight:600}.cc-birth{color:var(--text);opacity:.7;font-size:13px}.cc-bday{color:var(--text);opacity:.7;align-items:center;gap:3px;font-size:12px;font-weight:400;display:inline-flex}.cc-bday svg{flex-shrink:0}.cc-bday.this-month{color:var(--accent);opacity:1;font-weight:600}.cc-bday.this-month svg{stroke:var(--accent)}.cc-bday.upcoming{color:var(--red);opacity:1;font-weight:700;animation:2s infinite pulse}.cc-bday.upcoming svg{stroke:var(--red)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.cc-member-right{align-items:center;gap:4px;display:flex}.cc-phone{color:var(--accent);font-size:12px;font-weight:500;text-decoration:none}.cc-call{color:var(--red);padding:2px;font-size:16px;text-decoration:none}.cc-call svg{stroke:var(--red)}.cc-btn{cursor:pointer;color:var(--text2);background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px}.cc-btn:hover{background:var(--input)}.cc-del{color:var(--red)}.cc-actions{border-top:1px solid var(--line);gap:6px;padding-top:12px;display:flex}.contact-nav-bottom{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.contact-nav-num{color:var(--text2);font-size:12px;font-weight:500}.swipe-arrow{background:var(--input);cursor:pointer;width:30px;height:30px;color:var(--text);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.swipe-arrow:disabled{opacity:.15}.contact-form-card{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);margin-top:10px;padding:14px}.add-family-fab{background:var(--accent-bg);width:44px;height:44px;color:var(--accent);border:1.5px solid var(--accent);cursor:pointer;z-index:50;border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:300;display:flex;position:fixed;bottom:80px;right:20px}.add-family-fab:active{transform:scale(.9)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#00000073;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg2);border-radius:20px 20px 16px 16px;width:100%;max-width:440px;max-height:85vh;padding:20px;animation:.25s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-header h3{font-size:18px;font-weight:700}.modal-close{background:var(--input);cursor:pointer;width:30px;height:30px;color:var(--text2);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;display:flex}.modal-form{flex-direction:column;gap:8px;display:flex}.modal-form.mini{margin-bottom:12px}input,select,textarea{border:1.5px solid var(--line);background:var(--input);width:100%;color:var(--text);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;padding:10px;font-size:14px;font-weight:600}.form-row{gap:6px;display:flex}.form-row input{flex:1}.home-page{max-width:800px;margin:0 auto}.home-verse{border:1.5px solid var(--accent);background:var(--accent-bg);border-radius:var(--r);margin-bottom:16px;padding:20px}.home-verse-text{font-size:var(--home-font-size,15px);word-break:keep-all;color:var(--text);margin-bottom:8px;font-weight:500;line-height:1.8}.home-verse-ref{color:var(--accent);font-size:12px;font-weight:500}.home-top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.home-hi{font-size:20px;font-weight:700}.home-date{color:var(--text2);margin-top:2px;font-size:12px}.home-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.home-tile{background:var(--accent-bg);border:1.5px solid var(--line);border-radius:var(--r);cursor:pointer;min-height:100px;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px 16px;text-decoration:none;transition:all .15s;display:flex}.home-tile:hover{border-color:var(--accent)}.home-tile:active{transform:scale(.96)}.tile-num{color:var(--accent);font-size:36px;font-weight:800;line-height:1}.tile-label{color:var(--text2);font-size:13px;font-weight:500}.tile-sub-stat{color:var(--accent);font-size:11px;font-weight:600}.home-tile.prayer{border-color:var(--accent);position:relative;overflow:hidden}.home-tile.prayer:before{content:"";opacity:.08;pointer-events:none;background-position:100% 100%;background-repeat:no-repeat;background-size:120px;position:absolute;inset:0}.home-tile.season-spring:before{opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='70' cy='30' r='8' fill='%23ff9ff3'/%3E%3Ccircle cx='85' cy='45' r='6' fill='%23ff9ff3'/%3E%3Ccircle cx='55' cy='50' r='10' fill='%23ffc0cb'/%3E%3Ccircle cx='80' cy='70' r='7' fill='%23ff9ff3'/%3E%3Ccircle cx='60' cy='80' r='5' fill='%23ffc0cb'/%3E%3Ccircle cx='40' cy='65' r='4' fill='%23ff9ff3'/%3E%3Cpath d='M75 85 Q72 75 78 75 Q74 70 80 72' stroke='%2300b894' fill='none' stroke-width='1.5'/%3E%3Cpath d='M45 90 Q42 82 48 82 Q44 78 50 79' stroke='%2300b894' fill='none' stroke-width='1.5'/%3E%3C/svg%3E")}.home-tile.season-summer:before{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M0 70 Q15 60 30 70 Q45 80 60 70 Q75 60 90 70 L100 70 L100 100 L0 100Z' fill='%2374b9ff'/%3E%3Cpath d='M0 80 Q15 72 30 80 Q45 88 60 80 Q75 72 90 80 L100 80 L100 100 L0 100Z' fill='%2348dbfb'/%3E%3Ccircle cx='75' cy='25' r='14' fill='%23feca57'/%3E%3C/svg%3E")}.home-tile.season-autumn:before{opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M70 25 Q65 35 72 40 Q60 38 65 48 Q55 42 58 52 Q50 48 55 58' stroke='%23e17055' fill='none' stroke-width='2'/%3E%3Cpath d='M85 55 Q80 62 86 66 Q78 64 82 72' stroke='%23fdcb6e' fill='none' stroke-width='2'/%3E%3Ccircle cx='45' cy='75' r='3' fill='%23e17055'/%3E%3Ccircle cx='60' cy='85' r='2.5' fill='%23fdcb6e'/%3E%3Ccircle cx='80' cy='80' r='2' fill='%23e17055'/%3E%3C/svg%3E")}.home-tile.season-winter:before{opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='25' cy='20' r='3' fill='%2374b9ff'/%3E%3Ccircle cx='70' cy='15' r='4' fill='%2374b9ff'/%3E%3Ccircle cx='50' cy='40' r='2.5' fill='%2374b9ff'/%3E%3Ccircle cx='80' cy='50' r='3' fill='%2374b9ff'/%3E%3Ccircle cx='35' cy='60' r='2' fill='%2374b9ff'/%3E%3Ccircle cx='65' cy='75' r='3.5' fill='%2374b9ff'/%3E%3Ccircle cx='45' cy='85' r='2' fill='%2374b9ff'/%3E%3Ccircle cx='85' cy='80' r='2.5' fill='%2374b9ff'/%3E%3C/svg%3E")}.home-tile svg{stroke:var(--accent)}.home-section{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);margin-bottom:12px;padding:16px}.home-section-title{color:var(--text2);align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.home-birthday-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.home-birthday-row:last-child{border-bottom:none}.home-birthday-name{color:var(--accent);font-size:14px;font-weight:600}.home-birthday-date{color:var(--text2);font-size:12px}.qt-page{max-width:800px;margin:0 auto}.qt-card{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);padding:24px}.qt-date{color:var(--text2);margin-bottom:12px;font-size:12px}.qt-header{border-bottom:2px solid var(--accent);margin-bottom:16px;padding-bottom:14px}.qt-series{color:var(--text2);margin-bottom:6px;font-size:14px;font-weight:600}.qt-title{color:var(--text);margin-bottom:16px;font-size:17px;font-weight:700;line-height:1.5}.qt-reference{color:var(--accent);letter-spacing:-.2px;margin-bottom:4px;font-size:15px;font-weight:700}.qt-verse{color:var(--accent);background:var(--accent-bg);border-radius:6px;padding:4px 12px;font-size:14px;font-weight:600;display:inline-block}.qt-subtitle{color:var(--text);margin-bottom:16px;font-size:15px;font-weight:600;line-height:1.6}.qt-content{color:var(--text);word-break:keep-all;white-space:pre-wrap;margin-bottom:16px;font-size:14px;line-height:2}.qt-hymn{color:var(--text2);background:var(--accent-bg);border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:13px;display:inline-block}.qt-link{text-align:center;color:var(--accent);border-top:1px solid var(--line);padding-top:12px;font-size:13px;font-weight:500;text-decoration:none;display:block}.qt-error{text-align:center;color:var(--text2);padding:40px 20px}.qt-fallback-btn{background:var(--accent-bg);border:1.5px solid var(--accent);color:var(--accent);border-radius:10px;margin-top:12px;padding:12px 24px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.qt-topbar{align-items:center;gap:8px;margin-bottom:4px;padding:4px 0 12px;display:flex}.qt-close{cursor:pointer;width:36px;height:36px;color:var(--text);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.qt-close:hover{background:var(--bg2)}.qt-edit{background:var(--accent-bg);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.qt-font-ctrl{margin-left:auto}.qt-edit-title{color:var(--text);font-size:15px;font-weight:600}.qt-empty{text-align:center;color:var(--text2);padding:32px 20px}.qt-empty-hint{color:var(--text2);margin-top:4px;font-size:13px}.qt-gen-bar{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.qt-html{font-size:var(--qt-font-size,15px);color:var(--text);word-break:keep-all;line-height:1.8}.qt-html h1,.qt-html h2,.qt-html h3,.qt-html h4{margin:20px 0 8px;line-height:1.4}.qt-html h1{color:var(--text);font-size:22px;font-weight:800}.qt-html h3{color:var(--accent);border-bottom:1px solid var(--accent-bg);padding-bottom:4px;font-size:16px;font-weight:700}.qt-html h4{color:var(--accent);opacity:.85;font-size:14px;font-weight:600}.qt-html p{margin:8px 0}.qt-html blockquote{border-left:3px solid var(--accent);color:var(--text2);background:var(--accent-bg);border-radius:0 8px 8px 0;margin:12px 0;padding:4px 12px}.qt-html ul,.qt-html ol{margin:8px 0;padding-left:20px}.qt-html img{border-radius:8px;max-width:100%}.qt-d-btn{text-align:center;background:var(--bg2);border:1px solid var(--line);color:var(--accent);border-radius:12px;margin-bottom:16px;padding:14px;font-size:14px;font-weight:600;text-decoration:none;display:block}.qt-date-select-btn{background:var(--bg2);color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.qt-date-caret{color:var(--text2);font-size:11px}.qt-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.qt-pdf-btn{background:var(--bg2);color:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;display:inline-flex}.qt-pdf-btn:hover{background:var(--accent-bg)}.qt-head-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.qt-tts{align-items:center;gap:4px;display:inline-flex}.qt-tts-btn{background:var(--bg2);width:32px;height:32px;color:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.qt-tts-btn:hover{background:var(--accent-bg)}.qt-tts-btn.active{background:var(--accent);color:#fff}.qt-tts-btn:disabled{opacity:.4;cursor:default}.qt-pdf-btn{justify-content:center;width:32px;height:32px;padding:0}.qt-section{border-radius:8px;scroll-margin-top:70px;scroll-margin-bottom:120px;transition:background .2s;position:relative}.qt-section.tappable{cursor:pointer}.qt-section:focus{outline:none}.qt-section.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent);margin-left:-3px;padding-left:12px}.qt-section.active:before{content:"▶";color:var(--accent);font-size:11px;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.qt-section.active.playing:before{animation:1.1s ease-in-out infinite qt-pointer-blink}@keyframes qt-pointer-blink{0%,to{opacity:1}50%{opacity:.15}}@media print{@page{margin:16mm 14mm}html,body{background:#fff!important}body *{visibility:hidden!important}#qt-print-area,#qt-print-area *{visibility:visible!important}#qt-print-area{width:100%;margin:0;padding:0;position:absolute;top:0;left:0;box-shadow:none!important;color:#000!important;background:#fff!important}#qt-print-area .qt-pdf-btn,#qt-print-area .qt-tts,#qt-print-area .qt-badge{display:none!important}#qt-print-area .qt-section{box-shadow:none!important;background:0 0!important;margin-left:0!important;padding-left:0!important}#qt-print-area .qt-section.active:before{display:none!important}#qt-print-area .qt-date{color:#555!important}#qt-print-area .qt-reference,#qt-print-area .qt-title{color:#000!important}#qt-print-area .qt-html{color:#000!important;font-size:13px!important;line-height:1.7!important}#qt-print-area .qt-html h1,#qt-print-area .qt-html h3,#qt-print-area .qt-html h4{color:#000!important}#qt-print-area .qt-html h3{border-bottom-color:#bbb!important}#qt-print-area .qt-html blockquote{color:#222!important;background:#f4f4f4!important;border-left-color:#888!important}#qt-print-area .qt-html h1,#qt-print-area .qt-html h3,#qt-print-area .qt-html h4{break-after:avoid}#qt-print-area .qt-html blockquote,#qt-print-area .qt-html img{break-inside:avoid}}.qt-cal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.qt-cal{background:var(--bg2);border-radius:16px;width:100%;max-width:360px;padding:16px;box-shadow:0 8px 32px #0000004d}.qt-cal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.qt-cal-title{color:var(--text);font-size:16px;font-weight:700}.qt-cal-nav{width:32px;height:32px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:22px;line-height:1}.qt-cal-nav:hover{background:var(--bg)}.qt-cal-nav:disabled{opacity:.25;cursor:default}.qt-cal-nav:disabled:hover{background:0 0}.qt-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.qt-cal-weekday{text-align:center;color:var(--text2);padding:4px 0;font-size:11px;font-weight:600}.qt-cal-weekday.sun{color:#d33}.qt-cal-weekday.sat{color:#2563eb}.qt-cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.qt-cal-cell{aspect-ratio:1;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:500;display:flex}.qt-cal-cell.empty{visibility:hidden;cursor:default}.qt-cal-cell.no-qt{color:var(--text2);opacity:.35;cursor:default}.qt-cal-cell.past-empty{color:var(--text);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line)}.qt-cal-cell.past-empty:hover{background:var(--bg2)}.qt-cal-cell.has-qt{background:var(--accent-bg);color:var(--accent);font-weight:700}.qt-cal-cell.has-qt:hover{background:var(--accent);color:#fff}.qt-cal-cell.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.qt-cal-cell.selected{background:var(--accent)!important;color:#fff!important}.qt-cal-close{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;border-radius:8px;margin-top:14px;padding:10px;font-size:13px;font-weight:600}.qt-field{margin-bottom:16px;display:block}.qt-field>span{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.qt-field input,.qt-field textarea{box-sizing:border-box;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px}.qt-field small{color:var(--text2);margin-top:4px;font-size:12px;display:block}.qt-html-input{resize:vertical;font-family:Consolas,Menlo,monospace;font-size:13px;line-height:1.6}.qt-write-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.qt-write-actions button{cursor:pointer;border-radius:8px;flex:1;min-width:100px;padding:10px 16px;font-size:14px;font-weight:600}.qt-write-actions .btn-primary{background:var(--accent);color:#fff;border:none}.qt-write-actions .btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--line)}.qt-msg{background:var(--accent-bg);color:var(--accent);border-radius:8px;margin-top:12px;padding:10px 12px;font-size:13px}.qt-preview{border:1px dashed var(--line);background:var(--bg);border-radius:10px;margin-top:16px;padding:16px}.qt-preview-label{color:var(--text2);margin-bottom:8px;font-size:12px}.qt-list{margin-top:20px}.qt-list-title{color:var(--text);margin-bottom:10px;font-size:14px;font-weight:700}.qt-list-item{background:var(--bg2);box-shadow:var(--card-shadow);border-radius:10px;margin-bottom:8px;padding:12px 14px}.qt-list-meta{align-items:center;gap:8px;margin-bottom:4px;display:flex}.qt-list-date{color:var(--text2);font-size:12px}.qt-list-date.scheduled{color:var(--accent);font-weight:600}.qt-list-created{color:var(--text2);margin-bottom:4px;font-size:11px}.qt-badge{background:var(--accent);color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:600}.qt-badge-admin{background:#d35400}.qt-detail-btn{color:#d35400;cursor:pointer;background:0 0;border:1px dashed #d35400;border-radius:10px;width:100%;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:600;display:block}.qt-detail-btn.active{color:#fff;background:#d35400;border-style:solid}.qt-model-tag{background:var(--bg);color:var(--text2);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:500}.qt-hq-card{background:linear-gradient(135deg, var(--accent-bg), var(--bg2))}.qt-hq-title{color:var(--text);margin-bottom:6px;font-size:15px;font-weight:700}.qt-hq-desc{color:var(--text2);margin-bottom:12px;font-size:12px;line-height:1.5}.qt-hq-actions{flex-direction:column;gap:8px;display:flex}.qt-spinner{vertical-align:-2px;border:2px solid;border-top-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:6px;animation:.8s linear infinite qt-spin;display:inline-block}@keyframes qt-spin{to{transform:rotate(360deg)}}.qt-hq-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:13px;font-weight:600}.qt-hq-btn:disabled{opacity:.6;cursor:not-allowed}.qt-hq-btn-normal{background:var(--bg);color:var(--text);border:1px solid var(--line)}.qt-list-itemtitle{color:var(--text);margin-bottom:8px;font-size:14px;font-weight:600}.qt-list-actions{gap:6px;display:flex}.qt-list-actions button{background:var(--bg);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:12px}.qt-list-actions button.danger{color:#d33;border-color:#d33}.login-page{min-height:calc(var(--vh,1vh) * 100 - 160px);justify-content:center;align-items:center;display:flex}.login-card{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);width:100%;max-width:360px;padding:32px 24px}.login-header{text-align:center;margin-bottom:24px}.login-logo{letter-spacing:-1px;background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:32px;font-weight:800}.login-header h2{color:var(--text);margin-top:4px;font-size:16px;font-weight:600}.login-desc{color:var(--text2);margin-top:6px;font-size:13px}.login-form{flex-direction:column;gap:12px;display:flex}.login-field{flex-direction:column;gap:4px;display:flex}.login-field label{color:var(--text2);font-size:12px;font-weight:600}.login-error{color:var(--red);text-align:center;background:#ff6b6b14;border-radius:8px;padding:8px;font-size:13px}.login-success{color:var(--green);text-align:center;background:var(--green-bg);border-radius:8px;padding:8px;font-size:13px}.login-hint{color:var(--text2);text-align:center;margin-top:16px;font-size:11px;line-height:1.5}.login-divider{color:var(--text2);align-items:center;gap:12px;margin:20px 0 14px;font-size:11px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.btn-google{background:var(--bg2);width:100%;color:var(--text);border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 12px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.btn-google:hover{background:var(--bg)}.btn-google:disabled{opacity:.6;cursor:not-allowed}.login-google-hint{color:var(--text2);text-align:center;margin-top:8px;font-size:11px}.my-page{flex-direction:column;gap:12px;display:flex}.my-card{background:var(--bg2);border-radius:var(--r);box-shadow:var(--card-shadow);padding:20px}.my-profile{align-items:center;gap:14px;display:flex}.my-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex}.my-name{font-size:18px;font-weight:700}.my-family{color:var(--text2);margin-top:2px;font-size:13px}.my-section-title{border-bottom:2px solid var(--accent);margin-bottom:14px;padding-bottom:10px;font-size:15px;font-weight:700}.birthday-row{align-items:center;gap:8px;display:flex}.birthday-row input{flex:1}.birth-type-toggle{flex-shrink:0;gap:4px;display:flex}.my-toggle-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.my-toggle-header .my-section-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.my-toggle-arrow{color:var(--text2);font-size:14px;transition:transform .2s}.my-toggle-arrow.open{transform:rotate(180deg)}.btn-logout{border:1.5px solid var(--red);width:100%;color:var(--red);cursor:pointer;background:#ff6b6b14;border-radius:12px;padding:12px;font-size:14px;font-weight:600}.user-badge{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600}.my-family-label{color:var(--accent);background:var(--accent-bg);border:1.5px solid var(--accent);border-radius:8px;padding:7px 14px;font-size:14px;font-weight:600}.install-banner{background:var(--accent);color:#fff;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.install-banner-text{flex:1}.install-banner-text p{line-height:1.4}.install-banner-close{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0 4px;font-size:20px}.install-banner-btn{color:var(--accent);cursor:pointer;background:#fff;border:none;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:700}.install-banner-btn:active{opacity:.85}.onboard-banner{background:var(--accent-bg);border:1.5px solid var(--accent);border-radius:var(--r);margin-bottom:14px;padding:16px;animation:1.5s ease-in-out infinite noticeGlow}.onboard-badge{background:var(--accent);color:#fff;border-radius:10px;margin-bottom:8px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.onboard-banner strong{color:var(--text);margin-bottom:6px;font-size:15px;display:block}.onboard-banner p{color:var(--text);opacity:.8;font-size:13px;line-height:1.7}.onboard-highlight{animation:1.5s ease-in-out infinite noticeGlow;position:relative;border-color:var(--accent)!important}.onboard-highlight:after{content:"여기를 터치하세요";background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;padding:4px 12px;font-size:11px;font-weight:600;animation:2s infinite pulse;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.db-photo-wrap{margin-bottom:14px;position:relative}.db-photo{aspect-ratio:16/9;object-fit:cover;border-radius:var(--r);width:100%;display:block}.share-btn{border:1.5px dashed var(--accent);border-radius:var(--r);background:var(--accent-bg);width:100%;color:var(--accent);cursor:pointer;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;padding:12px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.share-btn:active{transform:scale(.98)}.guide-link-btn{border:1px solid var(--line);border-radius:var(--r);background:var(--bg2);width:100%;color:var(--text2);cursor:pointer;justify-content:center;align-items:center;gap:6px;margin-bottom:14px;padding:10px;font-size:13px;text-decoration:none;display:flex}.guide-link-btn:active{transform:scale(.98)}.sermon-section{color:var(--text);cursor:pointer;border:1.5px solid var(--accent);text-decoration:none;transition:border-color .15s;display:block}.sermon-section:hover,.sermon-section:active{border-color:var(--accent)}.sermon-info{align-items:center;gap:12px;display:flex}.sermon-thumb{aspect-ratio:16/9;object-fit:cover;border-radius:8px;flex-shrink:0;width:120px}.sermon-text{flex:1;min-width:0}.sermon-title{word-break:keep-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.sermon-date{color:var(--text2);margin-top:4px;font-size:11px;display:block}.notice-section{border:1.5px solid var(--accent)}.notice-section.new-notice{animation:1.5s ease-in-out infinite noticeGlow}@keyframes noticeGlow{0%,to{box-shadow:0 0 6px var(--accent-bg)}50%{box-shadow:0 0 24px var(--accent-bg), 0 0 48px var(--accent-bg);border-color:var(--accent)}}.notice-add-btn{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:6px;margin-left:auto;padding:2px 10px;font-size:11px;font-weight:600}.notice-form{margin-bottom:10px}.notice-form .write-textarea{margin-bottom:8px}.noti-check{color:var(--accent);cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:500;display:flex}.noti-check input{width:auto;accent-color:var(--accent)}.notice-preview{font-size:var(--home-font-size,14px);color:var(--text);-webkit-line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;padding-top:6px;line-height:1.6;display:-webkit-box;overflow:hidden}.notice-empty{color:var(--text2);text-align:center;padding:8px;font-size:13px}.notice-item{border-bottom:1px solid var(--line);align-items:flex-start;gap:8px;padding:10px 0;display:flex}.notice-item:last-child{border-bottom:none}.notice-body{flex:1;min-width:0}.notice-text{font-size:var(--home-font-size,14px);white-space:pre-wrap;word-break:keep-all;line-height:1.7}.notice-meta{color:var(--text2);margin-top:4px;font-size:11px;display:block}.notice-actions{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.notice-edit{color:var(--text2);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:14px}.notice-edit:hover{background:var(--accent-bg);color:var(--accent)}.notice-del{color:var(--red);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 4px;font-size:16px}.notice-del:hover{background:#ff6b6b14}.notice-more{width:100%;color:var(--accent);cursor:pointer;text-align:center;background:0 0;border:none;padding:8px 0 0;font-size:12px;font-weight:600}.landing-page{--bg:#f5f4fa;--bg2:#fff;--text:#1c1c2e;--text2:#9295a6;--accent:#6c5ce7;--accent2:#a29bfe;--accent-bg:#6c5ce726;--green:#00b894;--red:#ff6b6b;--line:#ededf2;--input:#f1f0f6;--card-shadow:0 1px 3px #1c1c2e0a, 0 6px 16px #1c1c2e08;background:var(--bg);max-width:800px;color:var(--text);flex-direction:column;align-items:center;margin:0 auto;padding:40px 20px 80px;display:flex;overflow-y:auto}.landing-browser-warning{border:2px solid var(--red);background:#ff6b6b14;border-radius:14px;align-items:flex-start;gap:12px;width:100%;margin-bottom:24px;padding:16px;display:flex}.landing-browser-warning strong{color:var(--red);margin-bottom:4px;font-size:15px;display:block}.landing-browser-warning p{color:var(--text);margin:0 0 10px;font-size:13px;line-height:1.7}.landing-browser-warning b{color:var(--accent)}.browser-copy-btn{border:1.5px solid var(--accent);background:var(--accent-bg);color:var(--accent);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.browser-copy-btn:active{transform:scale(.97)}.landing-header{text-align:center;margin-bottom:32px}.landing-list{flex-direction:column;gap:8px;width:100%;display:flex}.landing-item-row{align-items:center;gap:8px;display:flex}.landing-item{border:1.5px solid var(--line);background:var(--bg2);cursor:pointer;text-align:left;box-shadow:var(--card-shadow);border-radius:12px;flex:1;padding:16px 20px;transition:all .15s}.landing-link-btn{background:var(--accent-bg);border:1.5px solid var(--accent);cursor:pointer;color:var(--accent);border-radius:10px;flex-shrink:0;align-items:center;padding:10px;display:flex}.landing-link-btn:hover{background:var(--accent);color:#fff}.landing-link-btn:hover svg{stroke:#fff}.landing-item:hover{border-color:var(--accent)}.landing-item:active{transform:scale(.98)}.landing-item-name{color:var(--text);font-size:16px;font-weight:700}.landing-item-church{color:var(--text2);margin-top:2px;font-size:12px}.landing-section-title{color:var(--accent);margin-bottom:12px;font-size:16px;font-weight:700}.landing-owner-notice{background:var(--accent-bg);border:1px solid var(--accent);border-radius:12px;margin-bottom:12px;padding:14px 16px}.landing-my-list{background:var(--bg2);box-shadow:var(--card-shadow);border-radius:14px;margin-bottom:16px;padding:16px}.landing-my-item{text-align:left;background:var(--bg);border:1px solid var(--line);cursor:pointer;border-radius:10px;width:100%;margin-bottom:8px;padding:12px 14px;font-family:inherit;display:block}.landing-my-item:hover{border-color:var(--accent);background:var(--accent-bg)}.landing-my-item:last-child{margin-bottom:0}.landing-my-row{align-items:stretch;gap:8px;margin-bottom:8px;display:flex}.landing-my-row .landing-my-item{flex:1;margin-bottom:0}.landing-my-row:last-child{margin-bottom:0}.landing-delete-btn{background:var(--bg);border:1px solid var(--line);color:#d33;cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;display:flex}.landing-delete-btn:hover{background:#fdf0f0;border-color:#d33}.landing-google-bar{background:var(--bg2);border:1px solid var(--line);color:var(--text2);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.landing-logout-btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.landing-logout-btn:hover{background:var(--bg)}.delete-modal{background:var(--bg2);border-radius:16px;width:100%;max-width:380px;padding:24px;box-shadow:0 8px 32px #0000004d}.delete-modal h3{color:#d33;margin:0 0 12px;font-size:18px}.delete-warning{color:var(--text);background:#fdf0f0;border-left:3px solid #d33;border-radius:0 8px 8px 0;margin-bottom:16px;padding:10px 12px;font-size:13px;line-height:1.7}.delete-code-label{color:var(--text2);margin:8px 0 6px;font-size:12px}.delete-code-display{letter-spacing:6px;text-align:center;background:var(--bg);border:1px dashed var(--line);-webkit-user-select:all;user-select:all;border-radius:8px;margin-bottom:10px;padding:12px;font-family:Consolas,Menlo,monospace;font-size:28px;font-weight:800}.delete-code-input{box-sizing:border-box;letter-spacing:4px;text-align:center;border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-bottom:16px;padding:12px;font-family:inherit;font-size:18px}.delete-modal-actions{gap:8px;display:flex}.delete-modal-actions button{cursor:pointer;border-radius:8px;flex:1;padding:11px;font-family:inherit;font-size:14px;font-weight:600}.btn-danger{color:#fff;background:#d33;border:none}.btn-danger:disabled{cursor:not-allowed;background:#ccc}.landing-owner-notice strong{color:var(--accent);margin-bottom:4px;font-size:14px;display:block}.landing-owner-notice p{color:var(--text);margin:0;font-size:12px;line-height:1.6}.landing-guide{background:var(--bg2);width:100%;box-shadow:var(--card-shadow);border-radius:14px;padding:20px}.landing-share-warning{border:2px solid var(--red);background:#ff6b6b14;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;display:flex}.share-warning-icon{background:var(--red);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.share-warning-icon svg{stroke:#fff}.share-warning-text strong{color:var(--red);margin-bottom:4px;font-size:14px;display:block}.share-warning-text p{color:var(--text);margin:0;font-size:13px;line-height:1.7}.share-warning-text b{color:var(--accent)}.landing-guide-steps{flex-direction:column;gap:16px;display:flex}.guide-step{align-items:flex-start;gap:14px;display:flex}.guide-num{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:flex}.guide-step strong{color:var(--text);font-size:15px;font-weight:700}.guide-step p{color:var(--text);opacity:.7;margin-top:3px;font-size:14px;line-height:1.6}.landing-create{background:var(--bg2);width:100%;box-shadow:var(--card-shadow);border-radius:14px;margin-top:16px;padding:20px}.landing-install{background:var(--bg2);width:100%;box-shadow:var(--card-shadow);border-radius:14px;margin-top:20px;padding:20px}.install-warning{color:var(--red);background:#ff6b6b14;border-radius:8px;margin-bottom:14px;padding:12px 16px;font-size:13px;line-height:1.6}.install-tabs{flex-direction:column;gap:14px;display:flex}.install-tab{background:var(--input);border-radius:10px;padding:14px}.install-tab strong{color:var(--accent);margin-bottom:12px;font-size:15px;display:block}.install-steps-visual{justify-content:center;align-items:center;gap:6px;padding:4px 0;display:flex;overflow-x:auto}.install-step-v{flex-direction:column;align-items:center;gap:8px;min-width:70px;display:flex}.install-icon-wrap{justify-content:center;align-items:center;width:56px;height:56px;display:flex}.install-step-v p{color:var(--text);opacity:.7;text-align:center;font-size:12px;line-height:1.5}.install-arrow{opacity:.5;flex-shrink:0}.install-tip{color:var(--accent);text-align:center;margin-top:10px;font-size:11px;font-weight:500}.landing-footer{color:var(--text2);opacity:.5;text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:32px;font-size:11px;display:flex}.privacy-section{margin-bottom:20px}.privacy-section h2{color:var(--text);margin-bottom:8px;font-size:15px;font-weight:700}.privacy-section p{color:var(--text);font-size:13px;line-height:1.7}.privacy-section ul{color:var(--text);padding-left:20px;font-size:13px;line-height:1.8}.loading{text-align:center;color:var(--text2);flex-direction:column;align-items:center;gap:14px;padding:60px 20px;font-size:13px;display:flex}.loading:before{content:"";border:3px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite qt-spin;display:block}.empty-state{text-align:center;color:var(--text2);padding:60px 20px}.hint{color:var(--text2);text-align:center;padding:12px;font-size:13px}@media (width<=800px){.main-content{padding:12px 12px 80px}}
