@font-face{font-family:ChallengeFont;src:url(/fonts/Hakgyoansim%20Chilpanjiugae%20TTF%20L.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ChallengeFont;src:url(/fonts/Hakgyoansim%20Chilpanjiugae%20TTF%20B.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color:#1c1b19;font-synthesis:none;background:#f5f2ec;font-family:ChallengeFont,sans-serif}body{-webkit-text-stroke:.15px currentColor;font-family:ChallengeFont,sans-serif}button,input,textarea,select{font-family:inherit}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit}button,.dropzone{-webkit-tap-highlight-color:transparent}:root{--bg:#f7fbf9;--card:#fff;--primary:#8fcfbe;--primary-hover:#7fc5b3;--primary-light:#e9f6f1;--border:#d7e9e2;--text:#4c5955;--muted:#87958f}body{background:var(--bg);color:var(--text)}main{max-width:960px;margin:0 auto;padding:0 24px}button{color:inherit;cursor:pointer;background:0 0;border:0}.inapp-guide{place-items:center;min-height:100svh;padding:32px 20px;display:grid}.inapp-card{border:1px solid var(--border);text-align:center;background:#ffffffeb;border-radius:26px;width:min(460px,100%);padding:42px 38px 34px;position:relative;overflow:hidden}.inapp-eyebrow{color:#69a595;font-size:14px;font-weight:700}.inapp-card h1{color:#465b55;letter-spacing:-.03em;margin:8px 0 13px;font-size:25px}.inapp-card>p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}.inapp-card>p b{color:#568f80}.inapp-steps{text-align:left;background:#f8fcfa;border:1px dashed #afd4c9;border-radius:16px;grid-template-columns:25px 1fr;gap:12px 10px;margin:25px 0 22px;padding:18px;display:grid}.inapp-steps span{background:var(--primary-light);color:#568f80;border-radius:50%;place-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:grid}.inapp-steps p{color:#687b75;margin:2px 0 0;font-size:13px;line-height:1.55}.inapp-actions{z-index:1;gap:9px;display:grid;position:relative}.inapp-actions button{width:100%;min-height:45px;font-size:14px}.inapp-card small{z-index:1;color:#a0ada8;margin-top:18px;font-size:11px;display:block;position:relative}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:68px;display:flex}.header-actions{align-items:center;gap:6px;display:flex}.header-actions button{border-radius:999px}.text-button,.primary,.goal-button{border:1px solid var(--border);background:var(--card);border-radius:9px;padding:9px 13px;font-size:14px}.primary{background:var(--primary);border-color:var(--primary);color:#354a44;font-weight:700}.primary:hover{background:var(--primary-hover)}.challenge-tabs{border:1px solid var(--border);background:#ffffffa6;border-radius:999px;gap:4px;width:fit-content;margin:0;padding:4px;display:flex}.challenge-tabs button{min-width:108px;color:var(--muted);border:1px solid #0000;border-radius:999px;padding:9px 18px;font-size:14px}.challenge-tabs button.active{background:var(--primary-light);color:#477d70;border-color:#abd8cc;font-weight:700}.top{padding:14px 0 28px}.top:has(.achievement){padding-top:10px}.month-nav{justify-content:center;align-items:center;gap:0;display:flex}.month-nav h1{text-align:center;letter-spacing:-.03em;min-width:120px;margin:0;font-size:20px}.month-nav button{border:0px solid var(--border);width:38px;height:38px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;display:grid}.month-nav button svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.achievement{background:#fff6d9;border:1px solid #f1e2ad;border-radius:20px;width:fit-content;margin:0 auto 20px;padding:9px 16px;font-size:15px;font-weight:700}.progress-card{border:1px solid var(--border);background:var(--card);border-radius:18px;grid-template-columns:66px 1fr auto;align-items:center;gap:20px;margin-top:0;padding:24px;display:grid}.achievement+.progress-card{margin-top:0}.growth{background:var(--primary-light);border-radius:50%;place-items:center;width:66px;height:66px;display:grid}.growth img{object-fit:contain;width:52px;height:52px;display:block}.progress-head{justify-content:space-between;align-items:baseline;display:flex}.progress-head b{color:#5c9f8e;font-size:29px}.progress-head span{color:var(--muted);font-size:18px}.progress-head strong{color:#639f90;font-size:15px}.bar{background:#e9f1ed;border-radius:8px;height:9px;margin-top:9px;overflow:hidden}.bar span{border-radius:inherit;background:var(--primary);height:100%;transition:width .35s;display:block}.progress-main p{color:var(--muted);margin:8px 0 0;font-size:13px}.goal-button{white-space:nowrap;color:#5b716a}.record-date-panel{border:1px solid var(--border);background:#ffffff8c;border-radius:12px;align-items:center;gap:10px;margin:10px 0 12px;padding:13px 16px;display:flex}.record-date-panel label{color:#60776f;font-size:14px;font-weight:700}.record-date-panel input{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;padding:7px 9px}.record-date-panel span{color:#65998b;margin-left:auto;font-size:13px}.dropzone{text-align:center;cursor:pointer;background:#ffffff8c;border:1px dashed #afd4c9;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:210px;margin:0 0 60px;padding:32px;transition:background .2s,border-color .2s;display:flex}.dropzone:hover,.dropzone.active{background:var(--primary-light);border-color:var(--primary-hover)}.dropzone.has-ranking-prompt{margin-bottom:16px}.upload-picker{cursor:pointer;flex-direction:column;align-items:center;display:flex}.upload-icon{border:1px solid var(--border);background:var(--card);color:#65aa98;border-radius:15px;place-items:center;width:46px;height:46px;font-size:25px;display:grid}.upload-picker strong{margin:15px 0 7px;font-size:19px}.upload-picker>span:last-child{color:var(--muted);font-size:14px}.file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.ranking-prompt{background:var(--primary-light);border:1px solid #b9ddd3;border-radius:14px;justify-content:space-between;align-items:center;gap:22px;margin:0 0 60px;padding:18px 52px 18px 20px;display:flex;position:relative}.ranking-prompt div{gap:6px;display:grid}.ranking-prompt strong{color:#477d70;font-size:16px;font-weight:700;line-height:1.4}.ranking-prompt span{color:#71877f;font-size:13px;line-height:1.5}.ranking-prompt a{color:#477d70;flex:none;font-size:14px;font-weight:700;text-decoration:none}.ranking-prompt a:hover{text-underline-offset:3px;text-decoration:underline}.ranking-prompt>button,.dialog-close{color:#72978d;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.ranking-prompt>button{position:absolute;top:9px;right:10px}.ranking-prompt>button:hover,.ranking-prompt>button:focus-visible,.dialog-close:hover,.dialog-close:focus-visible{background:#6fb5a321;outline:none}.ranking-prompt>button svg,.dialog-close svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:16px;height:16px}.move-date input{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:7px;padding:6px 8px}.records{border-top:1px solid var(--border);padding-top:34px}.section-title{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.section-title span{color:#68a897;font-size:13px;font-weight:700}.section-title h2{margin:5px 0 0;font-size:25px}.section-actions{align-items:center;gap:9px;display:flex}.section-actions>b{color:var(--muted);font-size:14px;font-weight:500}.month-delete{color:#9a6262;background:snow;border:1px solid #e2caca;border-radius:7px;padding:6px 9px;font-size:12px}.month-delete:hover{background:#fff4f4;border-color:#d9b1b1}.day-row{border-top:1px solid var(--border);padding:25px 2px 28px}.day-head{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.day-head h3{margin:0;font-size:16px}.day-head h3 span{color:var(--muted);font-weight:400}.day-head b{color:var(--muted);font-size:13px;font-weight:500}.day-actions,.selection-actions{align-items:center;gap:6px;display:flex}.selection-actions{flex-wrap:wrap;justify-content:flex-end}.move-date{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.move-date input:disabled{cursor:not-allowed;opacity:.55}.day-actions button,.selection-actions button{border:1px solid var(--border);background:var(--card);color:#65766f;border-radius:7px;padding:6px 9px;font-size:12px}.day-actions .day-delete,.selection-actions .selection-delete{color:#9a6262}.selection-actions b{text-align:right;color:#5f9f8f;min-width:48px}.thumbs{flex-wrap:wrap;gap:11px;display:flex}.thumb{border:1px solid var(--border);background:var(--card);cursor:grab;border-radius:12px;width:104px;height:104px;position:relative;overflow:hidden}.image-button{width:100%;height:100%;padding:4px;display:block}.thumb img{object-fit:contain;object-position:center;background:#fffdfa;border-radius:8px;width:100%;height:100%;display:block}.thumb.selecting{cursor:pointer}.thumb.selected{background:var(--primary-light);border-color:#65ad9a}.thumb.selected .image-button{padding:7px}.selection-check{color:#fff;pointer-events:none;background:#fffffff2;border:1.5px solid #9abbb1;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:7px;right:7px}.thumb.selected .selection-check{background:#65ad9a;border-color:#65ad9a}.selection-check svg{fill:none;stroke:currentColor;stroke-width:2.7px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.delete,.grip{opacity:0;transition:opacity .15s;position:absolute}.thumb:hover .delete,.thumb:hover .grip{opacity:1}.delete,.grip{border:1px solid var(--border);color:#60746e;background:#fffffff0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.delete{padding:0;line-height:0;top:7px;right:7px}.grip{pointer-events:none;bottom:7px;left:7px}.delete svg,.grip svg{width:17px;height:17px;display:block}.delete svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.grip svg{fill:currentColor}.delete:hover{color:#a86161;background:#fff7f7;border-color:#e2b9b9}.no-items{color:#a2ada8;margin:0;padding:10px 0;font-size:14px}.loading{border-top:1px solid var(--border);min-height:160px;color:var(--muted);place-items:center;font-size:15px;display:grid}.creative-records{padding-bottom:28px}.creative-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 18px;padding:18px 0 28px;display:grid}.creative-piece{text-align:center;min-width:0}.creative-piece .thumb,.creative-empty{aspect-ratio:1;border-radius:15px;width:100%;height:auto}.creative-piece .thumb{cursor:grab}.creative-piece .thumb img{object-fit:contain}.creative-piece time{color:#71877f;margin-top:9px;font-size:14px;display:block}.creative-empty{color:#afd4ca;background:#ffffff85;border:1.5px dashed #9fd2c4;place-items:center;display:grid}.creative-empty span{border:1px solid #c8e5dd;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;display:grid}footer{border-top:1px solid var(--border);min-height:120px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:50px;font-size:13px;display:flex}footer strong{color:#71877f;font-size:14px}footer nav{align-items:center;gap:8px;display:flex}footer nav span{color:#b8c8c2}footer nav button{color:var(--muted);text-underline-offset:3px;padding:3px 2px;font-size:12px;-webkit-text-decoration:underline #c4d6d0;text-decoration:underline #c4d6d0}footer nav button:hover{color:#568f80;text-decoration-color:#8fcfbe}.floating-actions{z-index:15;opacity:0;pointer-events:none;flex-direction:column;gap:9px;transition:opacity .25s,transform .25s;display:flex;position:fixed;bottom:24px;right:max(22px,50vw - 556px);transform:translateY(18px)}.floating-actions.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.floating-actions button{color:#568f80;background:#e8f6f1;border:1px solid #b9ddd3;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;display:grid}.floating-actions button:hover{border-color:var(--primary-hover);color:#40786a;background:#d9eee8}.floating-actions .floating-download{background:var(--primary);border-color:var(--primary);color:#365c52}.floating-actions .floating-download:hover{background:var(--primary-hover)}.floating-actions svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.modal{z-index:20;background:#354640ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--card);border-radius:18px;width:min(680px,92vw);max-height:90vh;padding:18px;position:relative}.modal-card>img{object-fit:contain;background:var(--bg);border-radius:11px;width:100%;max-height:calc(90vh - 100px);display:block}.modal-card>div{color:var(--muted);justify-content:space-between;align-items:center;padding:13px 4px 0;font-size:14px;display:flex}.modal-card>div button{color:#a25f5f}.modal-card .move-date{font-size:14px}.modal-close{z-index:1;border:1px solid var(--border);background:var(--card);border-radius:50%;width:32px;height:32px;font-size:20px;position:absolute;top:27px;right:27px}.choice-modal{border:1px solid var(--border);background:var(--card);border-radius:18px;width:min(460px,92vw);padding:26px}.choice-modal h2{color:var(--text);margin:0;font-size:20px}.choice-modal p{color:var(--muted);margin:14px 0 20px;font-size:14px;line-height:1.65}.choice-modal p b{color:#5c9f8e;font-size:17px}.choice-actions{gap:8px;display:grid}.choice-actions button{border:1px solid var(--border);background:var(--card);border-radius:9px;width:100%;padding:11px 14px;font-size:14px}.choice-actions .primary{border-color:var(--primary);background:var(--primary)}.choice-actions .choice-cancel{color:var(--muted)}.choice-actions .danger{color:#fff;background:#a86161;border-color:#d8aaaa;font-weight:700}.delete-confirm-modal p b{color:#a25f5f}.month-end-modal{padding:30px;position:relative}.month-end-modal .dialog-close{position:absolute;top:12px;right:12px}.month-end-eyebrow{color:#68a897;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.month-end-modal p{margin-bottom:22px}.month-end-modal .choice-actions .primary{color:#354a44;font-weight:700}.month-end-modal small{color:#71877f;margin:13px 2px 0;font-size:13px;line-height:1.6;display:block}.dismiss-today{color:#71877f;cursor:pointer;align-items:center;gap:8px;width:fit-content;min-height:32px;margin:17px auto 0;font-size:13px;display:flex}.dismiss-today input{accent-color:#6fb5a3;cursor:pointer;width:17px;height:17px;margin:0}.dismiss-today span{line-height:1.5}.dismiss-today:hover{color:#568f80}.notice-overlay{padding:20px}.notice-modal{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:20px;width:min(440px,92vw);padding:28px;box-shadow:0 18px 55px #3752492e}.notice-modal h2{color:#4f766c;margin:0 0 20px;font-size:22px}.notice-copy{color:#687b75;font-size:14px;line-height:1.7}.notice-copy p{margin:0 0 14px}.notice-copy p:last-child{margin-bottom:22px}.notice-copy b{color:#568f80}.notice-close{background:var(--primary-light);color:#477d70;border:1px solid #abd8cc;border-radius:999px;min-width:108px;padding:10px 22px;font-weight:700}.notice-close:hover{background:#dcefe9}.toast{z-index:30;color:#fff;background:#526c64;border:1px solid #4f6d64;border-radius:10px;padding:11px 17px;font-size:14px;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}@media (width<=680px){.inapp-guide{padding:18px}.inapp-card{border-radius:22px;padding:34px 22px 27px}.inapp-card h1{font-size:22px}main{padding:0 16px}header{flex-wrap:wrap;gap:8px;min-height:0;padding:10px 0}.challenge-tabs{width:100%}.challenge-tabs button{flex:1;min-width:0;padding:8px 12px}.header-actions{justify-content:flex-end;width:100%}.header-actions button,.primary{padding:7px 10px;font-size:12px}.top{padding:12px 0 22px}.top:has(.achievement){padding-top:9px}.achievement{margin-bottom:16px}.month-nav{gap:0}.month-nav h1{min-width:140px;font-size:19px}.progress-card{grid-template-columns:52px 1fr;gap:14px;padding:18px}.growth{width:52px;height:52px}.growth img{width:42px;height:42px}.goal-button{grid-column:1/-1;width:100%}.progress-main p{line-height:1.5}.record-date-panel{flex-wrap:wrap;align-items:center}.record-date-panel span{width:100%;margin-left:0}.dropzone{min-height:190px;margin-bottom:45px;padding:25px 15px}.dropzone.has-ranking-prompt{margin-bottom:12px}.ranking-prompt{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:45px;padding:17px 46px 17px 16px}.ranking-prompt strong{font-size:15px}.ranking-prompt a{font-size:13px}.ranking-prompt>button{width:32px;height:32px;top:8px;right:8px}.month-end-modal{padding:27px 20px 24px}.month-end-modal small{font-size:12.5px}.dismiss-today{min-height:36px}.section-title{align-items:flex-start;gap:12px}.section-actions{flex-direction:column;align-items:flex-end}.day-head{align-items:flex-start;gap:10px}.selection-actions{max-width:260px}.move-date span{display:none}.thumb{width:88px;height:88px}.creative-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.creative-piece .thumb{width:100%;height:auto}.delete,.grip{opacity:1}.floating-actions{bottom:18px;right:16px}.floating-actions button{width:44px;height:44px}.toast{box-sizing:border-box;width:calc(100vw - 120px);max-width:360px;line-height:1.5}.notice-modal{padding:24px 20px}.notice-modal h2{font-size:20px}.notice-copy{font-size:13px}}
