:root{font-family:"Noto Serif KR",Nanum Myeongjo,serif;line-height:1.5;font-weight:400;color:#1f2a44;background-color:#eef2f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.2rem;margin:0}p{margin:0}input,button{font-family:inherit}.app-page{max-width:560px;margin:0 auto;padding:48px 20px 64px;display:flex;flex-direction:column;gap:24px}.app-header{display:flex;flex-direction:column;gap:8px;text-align:center}.app-logo{width:72px;height:72px;margin:0 auto}.app-kicker{letter-spacing:.12em;font-size:.78rem;color:#8a7d5c}.app-subtitle{color:#6d7a8c}.app-card{background:#fff;border-radius:16px;padding:28px 24px;box-shadow:0 18px 40px #0f172a1f;display:flex;flex-direction:column;gap:16px}.app-stage{animation:stage-in .4s ease}@keyframes stage-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-card h2,.app-card h3{color:#1f2a44;margin:0 0 8px}.app-card p{color:#3d4a63;line-height:1.6;margin:0 0 8px}.app-card button{display:block;width:100%;border:1px solid #d7dde7;border-radius:12px;padding:12px 16px;margin:6px 0;background:#f5f7fb;color:#1f2a44;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease}.app-card button:hover{background:#e8edf5}.app-card input,.app-card textarea{width:100%;border:1px solid #d7dde7;border-radius:12px;padding:12px 14px;font-size:1rem;margin:6px 0;box-sizing:border-box}.app-card textarea{min-height:120px;resize:vertical;line-height:1.6}.meditation-stage{font-size:.8rem;letter-spacing:.08em;color:#4f5d75;font-weight:600}.meditation-guide{color:#6d7a8c;font-size:.92rem;line-height:1.6}.meditation-question{font-size:1.15rem;line-height:1.6;margin:10px 0}.meditation-progress{display:flex;justify-content:center;gap:8px;margin:12px 0 4px}.meditation-dot{width:8px;height:8px;border-radius:50%;background:#d7dde7;transition:background .2s ease,transform .2s ease}.meditation-dot.filled{background:#8fa3c8}.meditation-dot.active{background:#1f2a44;transform:scale(1.3)}.meditation-recap-note{white-space:pre-wrap}.meditation-recap-empty{color:#6d7a8c;font-style:italic}.meditation-nav{display:flex;gap:12px}.meditation-nav button{flex:1;width:auto;margin:6px 0}.app-card .nav-next{background:#1f2a44;color:#fff;border-color:#1f2a44}.app-card .nav-next:hover{background:#2e3d63}.meditation-example-toggle{font-size:.85rem;color:#4f5d75;background:transparent!important;border:none!important;text-align:left;padding:4px 0!important;width:auto!important;font-weight:500}.meditation-example{background:#f9f6ef;border:1px solid #e8e0cd;border-radius:12px;padding:14px;margin:6px 0}.meditation-example-label{font-size:.75rem;letter-spacing:.08em;color:#8a7d5c;font-weight:600;margin-bottom:8px}.meditation-example-text{font-size:.9rem;line-height:1.7;color:#55503f;white-space:pre-wrap}.history-list{display:flex;flex-direction:column;gap:10px;margin:12px 0}.history-item{border:1px solid #e3e9f2;border-radius:12px;overflow:hidden}.history-summary{display:flex!important;justify-content:space-between;align-items:center;border:none!important;border-radius:0!important;margin:0!important}.history-verse{font-weight:600}.history-date{font-size:.82rem;color:#6d7a8c;font-weight:400}.history-detail{padding:12px;display:flex;flex-direction:column;gap:10px;background:#fff}.history-delete{background:transparent!important;border:none!important;color:#b04a4a!important;font-size:.85rem!important;font-weight:500!important;width:auto!important;align-self:flex-end;padding:4px 8px!important;margin:0!important}.meditation-recap{display:flex;flex-direction:column;gap:12px;margin:12px 0}.meditation-recap-item{background:#f5f7fb;border-radius:12px;padding:12px 14px}.meditation-recap-step{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:#6d7a8c}.app-back{align-self:center;border:none;background:transparent;color:#6d7a8c;font-size:.9rem;cursor:pointer;padding:8px 16px}.app-back:hover{color:#1f2a44}.app-footer{text-align:center;padding:8px 0 4px}.app-feedback-link{color:#b0a48a;font-size:.78rem;text-decoration:none;letter-spacing:.08em}.app-feedback-link:hover{color:#8a7d5c;text-decoration:underline}.app-auth-row{display:flex;justify-content:flex-end;margin-bottom:4px}.auth-login{background:#fff;border:1px solid #d0c9b8;color:#4a5568;font-size:.82rem;padding:6px 14px;border-radius:20px;cursor:pointer;display:flex;align-items:center;gap:6px}.auth-login:hover{background:#f5f3ee}.auth-bar{display:flex;align-items:center;gap:10px}.auth-name{font-size:.82rem;color:#6d7a8c}.auth-logout{background:transparent;border:none;color:#b0a48a;font-size:.78rem;cursor:pointer;padding:4px 8px}.auth-logout:hover{color:#8a7d5c}.todo-page{max-width:720px;margin:0 auto;padding:48px 20px 64px;display:flex;flex-direction:column;gap:28px}.todo-header{display:flex;flex-direction:column;gap:8px}.todo-kicker{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:#4f5d75}.todo-subtitle{color:#6d7a8c}.todo-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 18px 40px #0f172a1f;display:flex;flex-direction:column;gap:24px}.todo-form{display:flex;flex-direction:column;gap:12px}.todo-label{font-weight:600;color:#1f2a44}.todo-input-row{display:flex;gap:12px}.todo-input-row input{flex:1;border-radius:12px;border:1px solid #d7dde7;padding:12px 14px;font-size:1rem}.todo-input-row button{border-radius:12px;border:none;padding:12px 18px;background:#1f2a44;color:#fff;font-weight:600;cursor:pointer}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.todo-item{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:#f5f7fb}.todo-item span:first-of-type{color:#1f2a44}.todo-done span:first-of-type{text-decoration:line-through;color:#9aa5b5}.todo-actions{display:flex;align-items:center;gap:8px}.todo-delete{border:none;background:transparent;color:#9aa5b5;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:8px;line-height:1}.todo-delete:hover{background:#e8edf5;color:#1f2a44}.todo-empty{padding:24px 16px;text-align:center;color:#9aa5b5;border-radius:12px;background:#f5f7fb}.todo-tag{font-size:.75rem;padding:4px 10px;border-radius:999px;background:#dfe7f5;color:#274060;font-weight:600;white-space:nowrap}@media(max-width:600px){.todo-input-row{flex-direction:column}.todo-item{grid-template-columns:20px 1fr}.todo-actions{grid-column:2;justify-self:start}}
