:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--primary:#7c3aed;--primary-2:#6366f1;--primary-3:#8b5cf6;--primary-light:#f3efff;--primary-soft:#eef2ff;--success:#10b981;--success-light:#ecfdf5;--danger:#ef4444;--danger-light:#fef2f2;--warning:#f59e0b;--warning-light:#fffbeb;--bg:#f6f7fb;--bg-2:#eef2ff;--card:#ffffffeb;--white:#fff;--text-main:#111827;--text-sub:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--border-strong:#d1d5db;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-sm:0 4px 12px #0f172a0f;--shadow-md:0 14px 35px #0f172a17;--shadow-lg:0 24px 70px #4f46e533;--gradient-main:linear-gradient(135deg, #6366f1 0%, #7c3aed 48%, #ec4899 100%);--gradient-soft:linear-gradient(135deg, #6366f11f, #ec48991a);--gradient-card:linear-gradient(180deg, #fffffff5, #ffffffdb);--transition:.2s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--text-main);-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 12% 8%,#7c3aed29,#0000 28%),radial-gradient(circle at 88% 0,#ec489921,#0000 30%),linear-gradient(#fbfbff 0%,#f6f7fb 42%,#eef2ff 100%);margin:0;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}button,input,select,textarea{font-family:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}.app{min-height:100vh}.topbar{z-index:1000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:min(1180px,100% - 32px);box-shadow:var(--shadow-sm);background:#ffffffc7;border:1px solid #e5e7ebd1;border-radius:999px;justify-content:space-between;align-items:center;margin:16px auto 0;padding:14px 18px 14px 22px;display:flex;position:sticky;top:14px}.logo{letter-spacing:-.05em;background:var(--gradient-main);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:23px;font-weight:950}.nav{flex-wrap:wrap;gap:8px;display:flex}.nav button{color:#4b5563;transition:var(--transition);background:0 0;border:none;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:800}.nav button:hover{color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.page-container{width:min(1120px,100% - 32px);margin:34px auto 70px}h1,h2,h3,p{letter-spacing:-.035em}input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text-main);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);background:#fffffff0;border-radius:16px;outline:none}input:focus,select:focus,textarea:focus{background:#fff;border-color:#7c3aed9e;box-shadow:0 0 0 4px #7c3aed1f}input::placeholder,textarea::placeholder{color:#a1a1aa}.home-action-btn,.routine-check-btn,.proof-save-btn,.routine-add-btn,.routine-save-btn,.login-form button{background:var(--gradient-main);color:#fff;transition:transform var(--transition), box-shadow var(--transition), opacity var(--transition);border:none;border-radius:16px;font-weight:900;box-shadow:0 12px 22px #6366f138}.home-action-btn:hover,.routine-check-btn:hover,.proof-save-btn:hover,.routine-add-btn:hover,.routine-save-btn:hover,.login-form button:hover{transform:translateY(-2px);box-shadow:0 18px 32px #6366f147}.home-action-btn:disabled,.proof-save-btn:disabled,.routine-check-btn:disabled{color:#6b7280;box-shadow:none;background:#d1d5db;transform:none}.home{flex-direction:column;gap:24px;display:flex}.week{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #e5e7ebc7;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:0;padding:14px;display:grid}.day{text-align:center;width:auto;min-height:72px;color:var(--text-sub);transition:var(--transition);border-radius:18px;flex-direction:column;justify-content:center;gap:4px;padding:10px 8px;display:flex}.day p{margin:0;font-weight:800}.day p:first-child{font-size:13px}.day p:last-child{font-size:18px}.day.active{color:#fff;background:var(--gradient-main);box-shadow:0 14px 24px #7c3aed42}.time-tabs{box-shadow:var(--shadow-sm);background:#ffffffb8;border:1px solid #e5e7ebc7;border-radius:999px;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:0;padding:8px;display:grid}.time-tabs button{color:var(--text-sub);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:14px 16px;font-weight:900}.time-tabs button:hover{color:var(--primary);background:var(--primary-light)}.active-time-tab{box-shadow:0 12px 22px #6366f140;background:var(--gradient-main)!important;color:#fff!important}.routine-content{background:var(--gradient-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid #ffffffd9;padding:28px;position:relative;overflow:hidden}.routine-content:before{content:"";pointer-events:none;background:radial-gradient(circle,#7c3aed29,#0000 65%);width:240px;height:240px;position:absolute;top:-130px;right:-100px}.home-section-title{text-align:left;color:var(--text-main);margin:0 0 22px;font-size:26px;font-weight:950;position:relative}.home-section-time{background:var(--primary-light);color:var(--primary);vertical-align:middle;border-radius:999px;margin-left:8px;padding:5px 10px;font-size:13px;font-weight:900;display:inline-flex}.empty-routine-text{color:var(--text-sub);text-align:left;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:#f9fafb;margin:0;padding:34px}.home-routine-list{flex-direction:column;gap:16px;display:flex}.home-routine-card{text-align:left;box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);background:#fffffff0;border:1px solid #e5e7ebc7;border-radius:24px;justify-content:space-between;align-items:stretch;gap:24px;padding:22px;display:flex}.home-routine-card:hover{box-shadow:var(--shadow-md);border-color:#7c3aed40;transform:translateY(-3px)}.home-routine-card-completed{background:linear-gradient(135deg,#fff 0%,#f0fdf4 100%);border:1px solid #10b98147}.home-routine-card-left{flex:1;min-width:0}.home-routine-card-right{flex-shrink:0;justify-content:flex-end;align-items:center;width:290px;display:flex}.home-routine-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.home-routine-card h3{max-width:100%;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;margin:0;font-size:20px;font-weight:950;overflow:hidden}.home-routine-card h3:hover{color:var(--primary)}.home-routine-badge,.home-routine-meta span,.instagram-feed-info-badge{background:var(--primary-light);color:var(--primary);white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.home-routine-type{color:var(--primary);background:#7c3aed14;border-radius:999px;margin:0 0 10px;padding:5px 10px;font-size:13px;font-weight:900;display:inline-flex}.home-routine-desc{color:var(--text-sub);margin:0 0 14px;font-size:14px;line-height:1.65}.home-routine-meta{flex-wrap:wrap;gap:8px;margin-bottom:0;display:flex}.home-detail-action{justify-content:flex-end;width:100%;display:flex}.routine-check-btn,.home-action-btn{min-width:130px;padding:14px 18px;font-size:14px}.home-complete-box{text-align:left;cursor:pointer;width:100%;transition:var(--transition);background:linear-gradient(135deg,#fff,#ecfdf5);border:1px solid #10b98140;border-radius:18px;padding:15px}.home-complete-box:hover{transform:translateY(-2px);box-shadow:0 12px 24px #10b98124}.home-complete-box:active{transform:scale(.99)}.home-complete-text{color:#047857;margin:0;font-size:14px;font-weight:950}.home-proof-text{color:#374151;margin:8px 0 0;font-size:14px;line-height:1.55}.completed-btn{cursor:default;background:#a5b4fc}.proof-box{flex-direction:column;gap:10px;width:100%;margin-top:0;display:flex}.proof-box textarea{resize:vertical;border-radius:18px;width:100%;min-height:110px;padding:14px 16px;font-size:14px}.proof-file-label{background:var(--primary-light);width:fit-content;color:var(--primary);cursor:pointer;transition:var(--transition);border:1px solid #7c3aed29;border-radius:14px;justify-content:center;align-items:center;padding:12px 16px;font-size:14px;font-weight:900;display:inline-flex}.proof-file-label:hover{background:#ede9fe;transform:translateY(-1px)}.proof-file-label input{display:none}.proof-preview-list{flex-wrap:wrap;gap:10px;display:flex}.proof-preview-item{width:116px;height:116px;box-shadow:var(--shadow-sm);background:#f8fafc;border:1px solid #e5e7ebeb;border-radius:18px;overflow:hidden}.proof-preview-media{object-fit:cover;width:100%;height:100%;display:block}.completed-proof-preview-list{margin-top:12px}.proof-file-name{color:#4b5563;word-break:break-all;padding:12px;font-size:13px}.proof-save-btn{padding:13px 16px}.login-page,.signup-container{justify-content:center;align-items:center;min-height:calc(100vh - 40px);padding:28px;display:flex;position:relative;overflow:hidden}.login-page:before,.signup-container:before{content:"";background:radial-gradient(circle at 22% 20%, #ffffff5c, transparent 26%), radial-gradient(circle at 76% 15%, #ec489938, transparent 28%), var(--gradient-main);z-index:-2;position:absolute;inset:0}.login-page:after,.signup-container:after{content:"";filter:blur(2px);z-index:-1;background:#ffffff2e;border-radius:999px;width:520px;height:520px;position:absolute;bottom:-220px;right:-170px}.login-card,.signup-box{width:100%;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffe0;border:1px solid #ffffffb8;border-radius:32px}.login-card{max-width:450px;padding:44px 36px}.signup-box{width:680px;max-width:100%;padding:42px 38px}.login-title,.signup-title{color:var(--text-main);text-align:center;margin:0 0 10px;font-size:36px;font-weight:950}.login-title:after,.signup-title:after{content:"";background:var(--gradient-main);border-radius:999px;width:54px;height:5px;margin:14px auto 0;display:block}.login-subtitle{text-align:center;color:var(--text-sub);margin:0 0 32px;font-size:15px;font-weight:700}.login-form{flex-direction:column;gap:14px;display:flex}.login-form input,.signup-form input,.signup-form select,.gender-select,.birth-row select{padding:15px 16px;font-size:15px}.login-form button{margin-top:8px;padding:15px 16px;font-size:16px}.login-footer{text-align:center;color:var(--text-sub);margin-top:22px;font-size:14px;font-weight:700}.login-footer span{color:var(--primary);cursor:pointer;font-weight:950}.login-footer span:hover{text-decoration:underline}.signup-form{align-items:center}.signup-form>input,.signup-form>button,.signup-form>select,.signup-form>.input-with-button,.signup-form>.birth-row{width:100%}.input-with-button{gap:10px;display:flex}.input-with-button input{flex:1}.check-btn{white-space:nowrap;background:var(--primary-light);color:var(--primary);cursor:pointer;transition:var(--transition);border:1px solid #7c3aed2e;border-radius:16px;padding:0 16px;font-size:14px;font-weight:900}.check-btn:hover{background:#ede9fe}.birth-row{gap:10px;display:flex}.form-group{width:100%}.signup-label{color:var(--text-main);text-align:left;margin-bottom:8px;font-size:14px;font-weight:900;display:block}.signup-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.signup-error{color:var(--danger);text-align:right;font-size:12px;font-weight:900}.signup-success{color:#059669;text-align:right;font-size:12px;font-weight:900}.signup-hint{color:var(--text-sub);text-align:left;margin:8px 0 0;font-size:12px}.input-error{border-color:var(--danger)!important;box-shadow:0 0 0 4px #ef44441a!important}.check-btn-success{background:var(--success-light);color:#047857;border-color:#a7f3d0}.routine-page{flex-direction:column;gap:24px;display:flex}.routine-header,.feed-header,.mypage-profile,.mypage-history{background:var(--gradient-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid #ffffffdb}.routine-header{justify-content:space-between;align-items:center;padding:30px;display:flex;position:relative;overflow:hidden}.routine-header:after,.feed-header:after{content:"";pointer-events:none;background:radial-gradient(circle,#7c3aed29,#0000 65%);width:220px;height:220px;position:absolute;top:-120px;right:-110px}.routine-title,.feed-title{color:var(--text-main);margin:0 0 8px;font-size:30px;font-weight:950}.routine-subtitle,.feed-subtitle{color:var(--text-sub);margin:0;font-size:15px;font-weight:700}.routine-add-btn{padding:13px 18px;font-size:15px}.routine-list{flex-direction:column;gap:16px;display:flex}.routine-card{text-align:left;box-shadow:var(--shadow-sm);transition:var(--transition);background:#fffffff0;border:1px solid #e5e7ebd1;border-radius:24px;justify-content:space-between;align-items:stretch;gap:24px;padding:22px;display:flex}.routine-card:hover{box-shadow:var(--shadow-md);border-color:#7c3aed38;transform:translateY(-3px)}.routine-card-left{flex:1;min-width:0}.routine-card-right{flex-shrink:0;justify-content:flex-end;align-items:center;width:180px;display:flex}.routine-card h3{color:var(--text-main);margin:0 0 10px;font-size:20px;font-weight:950}.routine-card p{color:var(--text-sub);margin:0 0 10px;font-size:14px;line-height:1.55}.routine-card-tags,.routine-meta,.routine-card-actions{flex-wrap:wrap;gap:8px;display:flex}.routine-card-actions{flex-direction:column;align-items:flex-end}.routine-card-tags span,.routine-meta span{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.routine-delete-btn{cursor:pointer;transition:var(--transition);border:none;border-radius:14px;padding:12px 16px;font-weight:900;background:var(--danger-light)!important;color:#dc2626!important}.routine-delete-btn:hover{transform:translateY(-1px);background:#fee2e2!important}.routine-form-box{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fffffff0;border:1px solid #e5e7ebd1;padding:28px}.routine-form-box h2{color:var(--text-main);margin:0 0 18px;font-size:24px;font-weight:950}.routine-form{flex-direction:column;gap:14px;display:flex}.routine-form input,.routine-form select,.routine-form textarea{border-radius:16px;padding:15px 16px;font-size:15px}.routine-form textarea{resize:none;min-height:120px}.routine-save-btn{padding:15px 16px;font-size:15px}.repeat-select-box{text-align:left;width:100%}.repeat-select-label{color:var(--text-main);margin:0 0 10px;font-size:14px;font-weight:900}.repeat-day-list{flex-wrap:wrap;gap:10px;display:flex}.repeat-day-btn{background:var(--primary-light);color:var(--primary);cursor:pointer;transition:var(--transition);border:none;border-radius:14px;padding:12px 16px;font-weight:900}.repeat-day-btn:hover{background:#ede9fe;transform:translateY(-1px)}.active-repeat-day{box-shadow:0 12px 22px #6366f138;background:var(--gradient-main)!important;color:#fff!important}.feed-page{flex-direction:column;gap:24px;display:flex}.feed-header{padding:30px;position:relative;overflow:hidden}.feed-empty-card{border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-sm);background:#fffffff0;border:1px dashed #7c3aed40;padding:54px 28px}.feed-empty-title{color:var(--text-main);margin:0 0 10px;font-size:22px;font-weight:950}.feed-empty-text{color:var(--text-sub);margin:0;font-weight:700;line-height:1.6}.instagram-feed-page{align-items:center}.instagram-feed-page .feed-header{width:100%}.instagram-feed-list{flex-direction:column;gap:24px;width:min(560px,100%);display:flex}.instagram-feed-card{box-shadow:var(--shadow-md);transition:var(--transition);background:#fffffff5;border:1px solid #e5e7ebd1;border-radius:30px;overflow:hidden}.instagram-feed-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px #0f172a1f}.instagram-feed-top{padding:22px 22px 16px}.instagram-feed-routine-title{color:var(--text-main);margin:0 0 8px;font-size:21px;font-weight:950}.instagram-feed-routine-description{color:var(--text-sub);margin:0 0 14px;font-size:14px;font-weight:700;line-height:1.55}.instagram-feed-info-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.instagram-feed-info-time{color:var(--text-light);font-size:13px;font-weight:800}.feed-media-carousel{background:#000;width:100%;position:relative}.instagram-feed-media-box{aspect-ratio:4/5;background:#000;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.instagram-feed-media{object-fit:contain;background:#000;width:100%;height:100%;display:block}.feed-media-nav{z-index:2;color:#fff;background:#111827ad;border:none;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;font-size:28px;font-weight:400;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.feed-media-nav.left{left:14px}.feed-media-nav.right{right:14px}.feed-media-nav:hover:not(:disabled){background:#111827e0}.feed-media-nav:disabled{opacity:.35;cursor:default}.feed-media-indicator{z-index:2;color:#fff;background:#111827b8;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;line-height:1;position:absolute;bottom:14px;right:14px}.feed-media-indicator.modal{bottom:18px}.instagram-feed-body{padding:18px 22px 24px}.instagram-feed-caption{color:#374151;margin:0;font-weight:750;line-height:1.65}.instagram-feed-author{color:var(--text-main);font-size:15px;font-weight:900}.instagram-feed-divider{color:var(--text-light);font-weight:900}.instagram-feed-media-grid{background:#111827;grid-template-columns:repeat(2,1fr);gap:2px;display:grid}.instagram-feed-media-item{background:#111827;min-height:220px}.instagram-feed-action-row{align-items:center;gap:16px;margin-top:16px;display:flex}.instagram-feed-action-btn{color:#374151;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:14px;font-weight:900;display:inline-flex}.instagram-feed-action-btn:hover{color:var(--primary)}.instagram-feed-like-btn.liked{color:#ef4444}.instagram-feed-icon{font-size:20px;line-height:1}.feed-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172a94;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.feed-modal{background:#fff;border-radius:28px;grid-template-columns:1.1fr .9fr;width:min(1180px,100%);height:min(86vh,820px);display:grid;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000047}.feed-modal-close{z-index:2;color:#fff;background:#111827b3;border:none;border-radius:999px;width:40px;height:40px;font-size:24px;position:absolute;top:16px;right:16px}.feed-modal-left{background:#000;justify-content:center;align-items:center;display:flex;overflow:hidden}.feed-modal-media{object-fit:contain;background:#000;width:100%;height:100%}.feed-modal-empty-media{color:#fff;font-size:15px;font-weight:700}.feed-modal-right{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex}.feed-modal-post-info{border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:28px 24px 20px}.feed-modal-meta-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.feed-modal-nickname{color:var(--text-main);font-weight:900}.feed-modal-divider{color:var(--text-light)}.feed-modal-routine{color:#374151;font-weight:800}.feed-modal-category{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900}.feed-modal-proof-text{color:#111827;white-space:pre-wrap;word-break:break-word;margin:0 0 10px;line-height:1.7}.feed-modal-time{color:var(--text-light);margin:0;font-size:12px;font-weight:700}.feed-modal-comments{flex-direction:column;flex:1;gap:16px;min-height:0;padding:20px 24px;display:flex;overflow-y:auto}.feed-modal-empty-comment{color:var(--text-sub);margin:0;font-weight:700}.feed-modal-comment-item{border-bottom:1px solid #f1f5f9;padding-bottom:14px}.feed-modal-comment-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.feed-modal-comment-inline{color:#374151;word-break:break-word;flex:1;min-width:0;margin:0;line-height:1.6}.feed-modal-comment-name{color:var(--text-main);font-size:14px;font-weight:900}.feed-modal-comment-text{color:#374151;font-size:14px}.feed-modal-comment-delete{color:var(--text-light);background:0 0;border:none;padding:0;font-size:13px;font-weight:800}.feed-modal-comment-delete:hover{color:var(--danger)}.feed-modal-comment-time{color:var(--text-light);margin:6px 0 0;font-size:12px}.feed-modal-bottom{background:#fff;border-top:1px solid #e5e7eb;flex-direction:column;flex-shrink:0;gap:14px;padding:16px 24px 20px;display:flex}.feed-modal-comment-form{gap:10px;display:flex}.feed-modal-comment-form input{border-radius:999px;flex:1;padding:12px 16px}.feed-modal-comment-form button{background:var(--gradient-main);color:#fff;border:none;border-radius:999px;padding:12px 18px;font-weight:900}.mypage{flex-direction:column;gap:24px;display:flex}.mypage-profile{align-items:center;gap:20px;padding:30px;display:flex}.profile-avatar{background:var(--gradient-main);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;font-size:30px;font-weight:950;display:flex;box-shadow:0 14px 25px #6366f138}.profile-info h1{color:var(--text-main);margin:0 0 8px;font-size:28px;font-weight:950}.profile-info p{color:var(--text-sub);margin:0;font-size:15px;font-weight:750}.mypage-stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.stat-card{box-shadow:var(--shadow-sm);transition:var(--transition);background:#fffffff0;border:1px solid #e5e7ebc7;border-radius:24px;padding:24px}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.stat-card h3{color:var(--text-sub);margin:0 0 12px;font-size:15px;font-weight:900}.stat-card p{color:var(--text-main);margin:0;font-size:30px;font-weight:950}.mypage-history{padding:28px}.mypage-history h2{color:var(--text-main);margin:0 0 20px;font-size:22px;font-weight:950}.challenge-page{flex-direction:column;gap:24px;display:flex}.challenge-hero{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.challenge-eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:13px;font-weight:900}.challenge-page-title{color:var(--text-main);margin:0;font-size:32px;font-weight:950}.challenge-page-description{max-width:760px;color:var(--text-sub);text-align:center;margin:0 auto;font-size:15px;font-weight:700;line-height:1.7}.challenge-layout{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:start;gap:24px;display:grid}.challenge-section,.challenge-detail-panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fffffff0;border:1px solid #e5e7ebd1}.challenge-section{padding:28px}.challenge-detail-panel{padding:28px;position:sticky;top:108px}.challenge-my-section{background:linear-gradient(135deg,#fff 0%,#f5f3ff 100%)}.challenge-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.challenge-section-title{color:var(--text-main);margin:0 0 8px;font-size:24px;font-weight:950}.challenge-section-head-centered{text-align:center;justify-content:center}.challenge-section-head-centered>div{width:100%}.challenge-section-head-centered .challenge-section-subtitle{max-width:720px;margin:0 auto}.challenge-section-subtitle{color:var(--text-sub);margin:0;font-size:14px;font-weight:700;line-height:1.6}.challenge-count-pill{background:var(--primary-light);min-width:52px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;font-weight:900;display:inline-flex}.challenge-empty-card{border:1px dashed var(--border-strong);text-align:center;background:#f9fafb;border-radius:24px;padding:34px 22px}.challenge-empty-title{color:var(--text-main);margin:0 0 10px;font-size:18px;font-weight:900}.challenge-empty-text{color:var(--text-sub);margin:0;font-weight:700;line-height:1.6}.challenge-my-list{flex-direction:column;gap:14px;display:flex}.challenge-my-card{text-align:left;width:100%;box-shadow:var(--shadow-sm);transition:var(--transition);background:#fffffff5;border:1px solid #e5e7ebd1;border-radius:24px;padding:20px}.challenge-my-card:hover{box-shadow:var(--shadow-md);border-color:#7c3aed3d;transform:translateY(-2px)}.challenge-my-card.active{border-color:#7c3aed5c;box-shadow:0 16px 30px #7c3aed24}.challenge-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.challenge-card-title{color:var(--text-main);margin:10px 0 8px;font-size:20px;font-weight:950}.challenge-card-period,.challenge-card-description,.challenge-progress-text,.challenge-progress-rate,.challenge-card-meta span,.challenge-participant-count{color:var(--text-sub);font-size:14px;font-weight:700;line-height:1.6}.challenge-card-period,.challenge-card-description,.challenge-progress-text,.challenge-progress-rate{margin:0}.challenge-badge,.challenge-detail-category{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;display:inline-flex}.challenge-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.challenge-status-pill.joined{background:var(--success-light);color:#047857}.challenge-status-pill.open{background:var(--warning-light);color:#b45309}.challenge-progress-track{background:#e5e7eb;border-radius:999px;width:100%;height:10px;margin-top:12px;overflow:hidden}.challenge-progress-track.large{height:12px;margin-top:10px}.challenge-progress-fill{background:var(--gradient-main);border-radius:999px;height:100%;transition:width .25s}.challenge-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.challenge-card{box-shadow:var(--shadow-sm);transition:var(--transition);cursor:pointer;background:#fffffff5;border:1px solid #e5e7ebd1;border-radius:24px;flex-direction:column;gap:14px;padding:22px;display:flex}.challenge-card:hover{box-shadow:var(--shadow-md);border-color:#7c3aed3d;transform:translateY(-3px)}.challenge-card.selected{border-color:#7c3aed5c;box-shadow:0 18px 30px #7c3aed1f}.challenge-card-description{min-height:66px}.challenge-card-meta{flex-direction:column;gap:6px;display:flex}.challenge-card-actions,.challenge-detail-actions{flex-wrap:wrap;gap:10px;display:flex}.challenge-button{background:var(--gradient-main);color:#fff;transition:var(--transition);border:none;border-radius:16px;padding:12px 16px;font-size:14px;font-weight:900;box-shadow:0 12px 22px #6366f138}.challenge-button:hover{transform:translateY(-2px);box-shadow:0 16px 30px #6366f142}.challenge-button-secondary{color:var(--primary);box-shadow:none;background:#eef2ff}.challenge-button-outline{color:var(--text-main);border:1px solid var(--border);box-shadow:none;background:0 0}.challenge-detail-card{flex-direction:column;gap:18px;display:flex}.challenge-detail-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.challenge-detail-title{color:var(--text-main);margin:10px 0 0;font-size:28px;font-weight:950}.challenge-detail-description{color:var(--text-sub);margin:0;font-size:15px;font-weight:700;line-height:1.7}.challenge-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.challenge-summary-item{background:#f9fafb;border:1px solid #e5e7ebd1;border-radius:20px;padding:16px 18px}.challenge-summary-item span{color:var(--text-light);margin-bottom:8px;font-size:13px;font-weight:800;display:block}.challenge-summary-item strong{color:var(--text-main);font-size:15px;font-weight:900}.challenge-detail-progress{background:#7c3aed0f;border:1px solid #7c3aed1f;border-radius:22px;padding:18px}.challenge-progress-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.challenge-progress-label-row span{color:var(--text-sub);font-size:14px;font-weight:800}.challenge-progress-label-row strong{color:var(--text-main);font-size:16px;font-weight:900}.challenge-proof-note{color:var(--text-light);margin:0;font-size:13px;font-weight:700;line-height:1.6}@media (width<=1024px){.challenge-layout{grid-template-columns:1fr}.challenge-detail-panel{position:static}.challenge-grid{grid-template-columns:1fr}}@media (width<=640px){.challenge-section,.challenge-detail-panel{border-radius:24px;padding:22px}.challenge-section-head,.challenge-card-top,.challenge-detail-header{flex-direction:column;align-items:flex-start}.challenge-detail-summary{grid-template-columns:1fr}.challenge-card-actions,.challenge-detail-actions{flex-direction:column}.challenge-button{width:100%}.challenge-my-card-actions,.challenge-proof-action-group{align-items:stretch}.challenge-page-title{font-size:28px}.challenge-card-title,.challenge-detail-title{font-size:22px}}.challenge-proof-action-group{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.challenge-complete-box{background:#10b9811f;border:1px solid #10b98138;border-radius:16px;align-items:center;gap:8px;padding:12px 14px;display:inline-flex}.challenge-complete-box-button{text-align:left;cursor:pointer;width:100%;transition:var(--transition);border:none}.challenge-complete-box-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #10b98124}.challenge-complete-icon{color:#059669;font-size:14px;font-weight:900}.challenge-complete-text{color:#047857;font-size:13px;font-weight:900}.challenge-complete-time{color:#047857;margin:0;font-size:13px;font-weight:900}.challenge-proof-button:disabled{cursor:not-allowed;opacity:1;color:#6b7280;box-shadow:none;background:#d1d5db;transform:none}.challenge-proof-button:disabled:hover{box-shadow:none;transform:none}.challenge-my-card-actions{flex-direction:column;align-items:flex-end;gap:8px;margin-top:14px;display:flex}.challenge-proof-panel{background:#f9fafb;border:1px solid #e5e7ebd1;border-radius:24px;padding:20px}.challenge-proof-panel-title{color:var(--text-main);margin:0 0 14px;font-size:18px;font-weight:900}.challenge-proof-form{flex-direction:column;gap:12px;display:flex}.challenge-proof-form textarea{resize:vertical;border-radius:18px;min-height:120px;padding:14px 16px;font-size:14px}.challenge-proof-help{color:var(--text-light);margin:0;font-size:13px;font-weight:700}.challenge-proof-preview-wrap{flex-direction:column;gap:8px;display:flex}.challenge-proof-remove-btn{background:var(--danger-light);color:#dc2626;border:none;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:900}.challenge-proof-actions{flex-wrap:wrap;gap:10px;display:flex}.challenge-proof-history{flex-direction:column;gap:14px;display:flex}.challenge-proof-history-title{color:var(--text-main);margin:0;font-size:18px;font-weight:900}.challenge-proof-empty{border:1px dashed var(--border-strong);color:var(--text-sub);background:#f9fafb;border-radius:18px;margin:0;padding:18px;font-weight:700}.challenge-proof-history-list{flex-direction:column;gap:14px;display:flex}.challenge-proof-entry{background:#f9fafb;border:1px solid #e5e7ebd1;border-radius:20px;padding:18px}.challenge-proof-history-date{color:var(--text-light);margin:0 0 10px;font-size:13px;font-weight:800}.challenge-proof-history-content{color:var(--text-main);margin:0 0 12px;font-size:14px;font-weight:700;line-height:1.7}.challenge-proof-media-list{flex-wrap:wrap;gap:10px;display:flex}.challenge-proof-media-item{background:#111827;border:1px solid #e5e7ebd1;border-radius:18px;width:120px;height:120px;overflow:hidden}.challenge-proof-media{object-fit:cover;width:100%;height:100%;display:block}[style*="상세 분석 리포트"]{letter-spacing:-.035em}@media (width<=860px){.topbar{border-radius:24px;flex-direction:column;align-items:flex-start;gap:12px;width:calc(100% - 20px);padding:12px 14px}.nav{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.nav button{text-align:center;padding:10px 8px}.page-container{width:calc(100% - 20px);margin-top:22px}.week{gap:6px;padding:8px}.day{border-radius:14px;min-height:58px;padding:8px 4px}.routine-content,.routine-header,.feed-header,.routine-form-box{border-radius:24px;padding:22px}.home-routine-card,.routine-card{flex-direction:column}.home-routine-card-right,.routine-card-right{justify-content:stretch;width:100%}.routine-check-btn,.home-action-btn,.home-complete-box{width:100%}.routine-header{flex-direction:column;align-items:flex-start;gap:18px}.routine-add-btn{width:100%}.mypage-stats{grid-template-columns:1fr}.login-card,.signup-box{border-radius:26px;padding:34px 24px}.login-title,.signup-title{font-size:30px}.input-with-button,.birth-row{flex-direction:column}.check-btn{padding:13px 16px}}@media (width<=520px){.nav{grid-template-columns:repeat(2,1fr)}.time-tabs{border-radius:22px}.time-tabs button{padding:12px 8px;font-size:14px}.home-section-title,.routine-title,.feed-title{font-size:24px}.home-section-time{width:fit-content;margin:8px 0 0;display:flex}.instagram-feed-list{width:100%}.instagram-feed-card{border-radius:24px}.instagram-feed-media-grid{grid-template-columns:1fr}.feed-modal{grid-template-columns:1fr;height:auto;max-height:90vh}.feed-modal-left{min-height:320px}.feed-modal-right{max-height:50vh}}.routine-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.routine-badge{color:#7c3aed;background:#f3e8ff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:64px;padding:8px 14px;font-size:14px;font-weight:800;display:inline-flex}.routine-card-type{color:#6b7280;margin:0 0 16px;font-size:15px;font-weight:700}.routine-card-desc{color:#6b7280;margin:0 0 20px;font-size:17px;font-weight:500;line-height:1.7}.routine-card-meta{flex-wrap:wrap;gap:10px;display:flex}.routine-card-meta span{color:#6d28d9;background:#f5f3ff;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700}.feed-upload-check{align-items:center;gap:10px;margin:8px 0 4px;display:flex}.feed-upload-check input[type=checkbox]{cursor:pointer;accent-color:#7c3aed;width:18px;height:18px}.feed-upload-check label{color:#111827;cursor:pointer;font-size:16px;font-weight:700}.feed-report-button{color:#8e8e8e;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px;font-weight:700;transition:background .15s,color .15s}.feed-report-button:hover{color:#ef4444;background:#fff5f5}.feed-modal-report-button{color:#ef4444;cursor:pointer;background:#fff5f5;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.feed-modal-report-button:hover{background:#fee2e2}.notice-search-area{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:30px;padding-bottom:25px;display:flex}.notice-search-select{border:1px solid var(--border);background:#fff;border-radius:12px;outline:none;width:140px;padding:12px;font-weight:600}.notice-search-input-wrapper{flex:1;position:relative}.notice-search-input{border:1px solid var(--border);border-radius:12px;outline:none;width:100%;padding:12px 45px 12px 18px;font-size:15px}.notice-search-btn{color:var(--primary);background:0 0;border:none;font-size:18px;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.notice-list-wrap{border-top:2px solid var(--text-main);background:#fff;border-radius:12px 12px 0 0}.notice-item-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:flex-start;padding:24px 15px;transition:background .2s;display:flex}.notice-item-row:hover{background-color:#fafaff}.notice-item-left{flex:1;gap:20px;display:flex}.notice-check-icon{margin-top:2px;font-size:18px;font-weight:700}.unread-check{color:var(--primary)}.read-check{color:#ddd}.notice-info-content{flex:1}.notice-title-line{align-items:center;gap:10px;margin-bottom:8px;display:flex}.notice-badge-tag{text-transform:uppercase;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:800}.badge-normal{background:var(--primary-light);color:var(--primary)}.badge-emergency{background:var(--danger-light);color:var(--danger)}.notice-main-title{margin:0;font-size:17px;line-height:1.4}.unread-title{color:var(--text-main);font-weight:800}.read-title{color:var(--text-light);font-weight:500}.notice-sub-preview{color:var(--text-sub);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:14px;display:-webkit-box;overflow:hidden}.notice-item-right{text-align:right;min-width:160px;color:var(--text-light);padding-top:5px;font-size:13px}.notice-pagination-box{justify-content:center;align-items:center;gap:12px;margin-top:40px;display:flex}.page-num-btn{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:16px;font-weight:600}.page-num-btn.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:900}
