@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nanum+Myeongjo:wght@700&display=swap";.video iframe{width:100%;height:100%;border:0}.video-shade{pointer-events:none}.app-shell{width:min(480px,100vw);max-width:480px}.toast{max-width:346px}nav{width:min(480px,100vw)}.avatar{overflow:hidden;padding:0}.avatar img{width:100%;height:100%;object-fit:cover}.google-mark{background:#fff!important;border:1px solid #e9e6df;color:#4285f4!important;font-weight:700;font-size:16px;padding-top:6px!important}.empty-card{border:1px solid #eeeae1;background:#fff;border-radius:20px;padding:34px 22px;text-align:center;box-shadow:0 4px 18px #928d7810}.empty-card>span{display:block;font-size:34px;color:#d47759;margin-bottom:8px}.empty-card h2{font-size:19px;margin:4px 0 8px}.empty-card p{color:#7a827e;font-size:13px;line-height:1.6;margin:0 0 20px}.empty-card.compact{padding:25px 20px}.empty-inline{border:1px dashed #dedbd3;border-radius:14px;padding:18px;text-align:center;color:#8b928d;font-size:12px}.gray-dot{width:8px;height:8px;background:#c8ccc8;border-radius:50%}.history-summary{display:flex;align-items:baseline;gap:9px;background:#eaf1e6;border-radius:18px;padding:18px;margin:22px 0}.history-summary b{font-size:30px;color:#3e5a4b}.history-summary span{font-size:12px;color:#77827b}.partner-card{border:1px solid #eeeae1;background:#fff;border-radius:20px;padding:18px;margin:12px 0;box-shadow:0 4px 18px #928d7810}.partner-card>h2{font-size:17px;margin:7px 0}.partner-card>p:not(.eyebrow){font-size:12px;color:#7a827e;line-height:1.5}.connected-partner{display:flex;align-items:center;gap:11px}.connected-partner>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#edf2e9;color:#638168}.connected-partner b,.connected-partner small{display:block}.connected-partner small{font-size:11px;color:#8e958f;margin-top:2px}.connected-partner strong{margin-left:auto;color:#65906d;font-size:11px}.invite-code{display:flex;align-items:center;justify-content:space-between;background:#f2f5ef;border-radius:12px;padding:13px 14px;margin:14px 0}.invite-code b{letter-spacing:3px;color:#405a4d}.invite-code button,.secondary{border:0;border-radius:9px;background:#dfe9db;color:#4d6a56;padding:8px 11px;font-weight:700}.secondary{width:100%;padding:12px;margin:4px 0 10px}.code-entry{display:flex;gap:7px}.code-entry input,.assignment-sheet input{min-width:0;border:1px solid #e4e2da;border-radius:10px;padding:11px 12px;font:13px inherit;background:#fff}.code-entry input{flex:1;text-transform:uppercase;letter-spacing:2px}.code-entry button{border:0;border-radius:10px;background:#33493f;color:#fff;padding:0 15px;font-weight:700}.code-entry button:disabled,.secondary:disabled{opacity:.45}.assignment-sheet{max-height:92dvh;overflow:auto;text-align:left}.assignment-sheet>h2,.assignment-sheet>p{text-align:center}.assignment-sheet label{display:block;color:#5d6862;font-size:11px;font-weight:700;margin:11px 0}.assignment-sheet input{display:block;width:100%;margin-top:6px}.assignment-sheet textarea{display:block;margin:6px 0 0}.assignment-sheet .primary:disabled{opacity:.45}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.partner-action{margin-top:14px;padding-top:12px;border-top:1px solid #eeeae1}.partner-action p{font-size:12px;color:#7a827e;line-height:1.55;margin:0 0 10px}.partner-action>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.partner-action .secondary{margin:0}.danger{border:0;border-radius:9px;background:#c95f54;color:#fff;font-weight:700;padding:10px}.partner-manage{margin-top:14px}.feed-history{margin-top:30px}.feed-list{display:grid;gap:10px}.feed-card{border:1px solid #eeeae1;background:#fff;border-radius:20px;padding:15px;box-shadow:0 4px 18px #928d7810}.feed-card-top{display:flex;align-items:center;gap:9px}.feed-card-top b,.feed-card-top small{display:block;font-size:12px}.feed-card-top small{color:#7a827e;margin-top:2px}.feed-card p{font-size:13px;line-height:1.55;margin:14px 0;color:#4a554f}.feed-assignment{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #f0ede7;padding-top:10px;color:#6f7873;font-size:11px}.feed-assignment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-assignment small{flex:none;color:#a1a5a1}.feed-sentinel{min-height:54px;display:grid;place-items:center;color:#929994;font-size:11px;text-align:center}*{box-sizing:border-box}body{margin:0;background:#f4f1eb;color:#26322e;font-family:DM Sans,system-ui,sans-serif}.app-shell{min-height:100dvh;max-width:480px;margin:auto;background:#fdfcf9;padding:24px 20px 98px;position:relative}header{display:flex;align-items:center;justify-content:space-between;margin:0 0 24px}.brand{font-family:Nanum Myeongjo,serif;font-size:25px;letter-spacing:-1.5px}.brand span{color:#d87558}.avatar,.profile{border:0;background:#31463d;color:#fff;width:36px;height:36px;border-radius:50%;font-weight:700}.streak{background:#eaf0e6;border-radius:16px;padding:13px 14px;display:flex;align-items:center;gap:10px;margin-bottom:25px}.streak>span{font-size:26px}.streak small,.streak strong{display:block}.streak small,.sub,.from small,.progress-block p,.partner-status small,.checkin small,.intro,.record small,.settings-card small{color:#7a827e;font-size:12px}.streak strong{font-size:16px}.streak em{font-style:normal;font-size:11px;text-align:right;margin-left:auto;color:#728078}.section-label,.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.2px;color:#89918d}.section-label{display:flex;justify-content:space-between;margin:0 3px 10px}.section-label button{color:#ce7054;background:none;border:0;font-size:12px;font-weight:700}.assignment-card,.checkin,.calendar,.record,.settings-card{border:1px solid #eeeae1;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 18px #928d7810}.video{height:198px;position:relative;background:#293d36;overflow:hidden}.video img{height:100%;width:100%;object-fit:cover}.video-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#17221cc4,transparent 65%)}.duration{position:absolute;right:12px;bottom:12px;background:#18231ee8;color:#fff;padding:4px 7px;border-radius:5px;font-size:11px}.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:54px;width:54px;border:0;border-radius:50%;background:#fff;color:#cc765b;font-size:17px;padding-left:5px}.assignment-body{padding:18px 18px 12px}.assignment-body .eyebrow{margin:0 0 5px}.assignment-body h1,.page h1{font-size:20px;letter-spacing:-.5px;margin:0 0 5px}.sub{margin:0}.from{display:flex;align-items:center;gap:8px;margin-top:16px}.from>b{background:#e7cdc0;color:#945946;border-radius:50%;width:28px;height:28px;text-align:center;padding-top:5px;font-size:12px}.from span{font-size:12px}.progress-block{padding:13px 18px 18px;background:#fcfbf8;border-top:1px solid #f1eee7}.progress-heading{display:flex;justify-content:space-between;font-size:12px}.progress-heading b{color:#cf7659}.bar{height:7px;background:#ebeae5;border-radius:8px;margin:8px 0}.bar i{display:block;background:#da8061;height:100%;border-radius:8px}.progress-block p{margin:0 0 13px}.demo{float:right;border:0;background:none;color:#b6b0a8;font-size:10px}.primary{width:100%;border:0;border-radius:12px;background:#33493f;color:#fff;padding:14px;font-size:14px;font-weight:700}.primary span{float:right;font-size:18px;line-height:12px}.complete-banner{background:#eff5eb;display:flex;gap:12px;padding:14px 18px;color:#3a6545}.complete-banner>span{width:28px;height:28px;background:#6d9b70;color:#fff;border-radius:50%;text-align:center;padding-top:4px}.complete-banner b,.complete-banner small{display:block}.complete-banner small{font-size:12px;margin-top:2px}.partner-status{display:flex;align-items:center;gap:9px;padding:15px 3px 20px;font-size:12px}.partner-status b,.partner-status small{display:block}.partner-status strong{margin-left:auto;color:#6f9b73;font-size:22px}.green-dot{width:8px;height:8px;background:#75a878;border-radius:50%}.auth-label{margin-top:4px}.checkins{display:grid;gap:10px}.checkin{padding:14px 15px}.checkin-top{display:flex;align-items:center;gap:9px}.profile{display:grid;place-items:center;width:33px;height:33px;font-size:11px;background:#d47759}.profile.me{background:#31463d}.checkin-top b,.checkin-top small{display:block;font-size:12px}.checkin-top small{margin-top:2px}.mood{margin-left:auto;font-size:22px}.checkin p{font-size:13px;line-height:1.5;margin:13px 0;color:#4a554f}.reaction-row{border-top:1px solid #f0ede7;padding-top:10px;display:flex;gap:6px}.reaction-row button{border:0;background:#f7f5f0;padding:5px 8px;border-radius:8px;color:#a37a6b}.reaction-row .reacted{background:#f9e8e4;color:#d65c52}.reaction-row .comment{margin-left:auto;background:none;color:#909792;font-size:11px}.toast{position:fixed;z-index:9;top:22px;left:50%;transform:translate(-50%);width:calc(100% - 44px);max-width:436px;border-radius:13px;background:#30473d;color:#fff;padding:13px 16px;font-size:13px;box-shadow:0 8px 30px #3338}.sheet-backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:#24342c66;display:flex;align-items:flex-end}.proof-sheet{width:min(480px,100%);margin:auto;background:#fffdf9;border-radius:28px 28px 0 0;padding:28px 22px 32px;text-align:center;position:relative}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:28px;color:#8e9590}.sheet-icon{font-size:27px;color:#cf795d}.proof-sheet h2{margin:6px 0;font-size:21px}.proof-sheet p{margin:0 0 18px;color:#7d8580;font-size:13px}.moods{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:16px}.moods button{border:1px solid #ede9e1;background:#fff;border-radius:12px;padding:9px 2px;font-size:10px;color:#69716d}.moods span{display:block;font-size:22px;margin-bottom:4px}.moods .selected{border-color:#d57d60;background:#fff4ef}textarea{resize:none;width:100%;height:90px;border:1px solid #e9e5dd;border-radius:12px;padding:12px;font:13px inherit;margin-bottom:11px}.proof-sheet .primary:disabled{opacity:.4}.page>h1{font-size:28px;margin-top:4px}.eyebrow{margin:3px 0 6px}.intro{margin-top:0;font-size:13px}.calendar{margin-top:25px;padding:16px}.calendar header{margin:0 0 16px}.calendar header h2{font-size:15px}.calendar header button{border:0;background:none;font-size:22px;color:#64716b}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{font-size:10px;color:#afb3ae;margin-bottom:10px}.days{gap:7px 2px}.days i{height:38px}.day{border:0;background:#fff;height:42px;border-radius:10px;padding:3px;color:#556059}.day b,.day span{display:block;font-size:11px}.day span{font-size:8px;margin-top:3px;color:#d8d8d2}.day.both{background:#edf4e9}.day.both span{color:#6fa076}.day.one{background:#fff5df}.day.one span{color:#d09b4b}.legend{display:flex;gap:13px;justify-content:center;font-size:10px;color:#808782;margin:17px 0 28px}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.legend .both{background:#72a677}.legend .one{background:#dda54d}.legend .none{background:#deded9}.recent-title,.stats h2{font-size:16px;margin:0 0 11px}.record{display:flex;align-items:center;gap:13px;padding:13px;margin-bottom:8px}.record .date{font-size:13px;font-weight:700;border-right:1px solid #eeeae2;padding-right:12px}.record small,.record div b{display:block;font-size:11px}.record>strong{margin-left:auto;font-size:13px}.hero-stat{margin:24px 0;background:#eaf1e6;border-radius:22px;text-align:center;padding:24px}.hero-stat>span{font-size:24px}.hero-stat small{display:block;color:#78847c;font-size:11px;margin-top:3px}.hero-stat strong{display:block;font-size:50px;line-height:1.05;color:#385947}.hero-stat strong em{font-size:15px;font-style:normal}.hero-stat p{margin:10px 0 0;font-size:11px;color:#768178}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-grid article{border:1px solid #eeeae2;border-radius:16px;padding:14px}.stat-grid small,.stat-grid i{display:block;color:#8c928e;font-size:10px;font-style:normal}.stat-grid b{display:block;font-size:28px;color:#3e5649;margin:7px 0}.stat-grid b span{font-size:12px;margin-left:3px}.gentle-note{margin-top:26px;background:#fff2eb;color:#9a6957;border-radius:16px;padding:17px;text-align:center;font-size:12px;line-height:1.7}.settings-card{padding:15px;display:flex;align-items:center;justify-content:space-between;margin:12px 0}.setting-title{display:flex;align-items:center;gap:11px}.setting-title>span{background:#edf2e9;color:#638168;width:34px;height:34px;border-radius:12px;text-align:center;padding-top:8px}.setting-title b,.setting-title small{display:block;font-size:13px}.settings-card>button{border:0;background:none;color:#8e958f;font-size:12px}.settings-card button span{font-size:18px;margin-left:5px}.settings-foot{text-align:center;color:#a0a49f;font-size:11px;line-height:1.7;margin-top:35px}nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);width:min(480px,100%);height:70px;background:#fffefa;border-top:1px solid #ece9e2;display:grid;grid-template-columns:repeat(4,1fr)}nav button{border:0;background:none;color:#9ba19d;font:11px inherit;padding:10px 0}nav i{display:block;font-style:normal;font-size:21px;margin-bottom:2px}nav .active{color:#d47457;font-weight:700}@media(min-width:520px){body{padding:20px}.app-shell{border-radius:28px;box-shadow:0 12px 40px #5552;min-height:calc(100dvh - 40px)}nav{bottom:20px;border-radius:0 0 28px 28px}}.app-shell.guest{padding-bottom:28px}.onboarding{min-height:calc(100dvh - 100px);display:flex;align-items:center}.onboarding-copy{width:100%;padding:16px 4px 38px;text-align:center}.onboarding-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 23px;border-radius:23px;background:#f8e9e2;color:#d27557;font-size:28px}.onboarding h1{font-family:Nanum Myeongjo,serif;font-size:34px;line-height:1.28;letter-spacing:-1.7px;margin:7px 0 15px}.onboarding p:not(.eyebrow){max-width:310px;margin:0 auto 27px;color:#748079;font-size:14px;line-height:1.7}.onboarding .primary{max-width:360px;margin:auto}.onboarding small{display:block;margin-top:15px;color:#9aa09c;font-size:11px}@media(max-width:519px){html,body,#root{height:100%;overflow:hidden}body{overscroll-behavior:none}.app-shell{height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(98px + env(safe-area-inset-bottom))}.app-shell.guest{padding-bottom:calc(28px + env(safe-area-inset-bottom))}nav{height:calc(70px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}}@media(min-width:520px)and (max-width:699px){body{padding:0}.app-shell{border-radius:0;box-shadow:none;min-height:100dvh}nav{bottom:0;border-radius:0}}
