:root{font-family:system-ui,-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#17212b;background:#f5f1ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{max-width:390px;margin:auto;background:#fffcfa;min-height:100dvh}.screen{min-height:100dvh}.welcome{padding:30px 25px max(35px,env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;text-align:center}.welcome-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.welcome h1{font-size:45px;letter-spacing:-.09em;margin:0 0 13px;font-weight:900;padding-right:.1em}.welcome h1 span,.top h1 span{color:#ec5675}.welcome p{font-size:17px;line-height:1.4;margin:0 0 18px}.welcome img{width:min(100%,280px);mix-blend-mode:multiply}.primary{background:#f35c7b;color:white;border:0;border-radius:12px;width:100%;min-height:48px;font-weight:700}.welcome-actions p{font-size:13px;color:#687381;margin:22px 0 0}.link-button{border:0;background:none;color:#ed5374;padding:0;font-weight:700}.wishlist{padding:26px 18px 85px}.top{background:#fffcfa;position:sticky;top:0;z-index:2;padding:0 0 12px}.top-line{display:flex;align-items:center;justify-content:space-between}.top h1{font-size:24px;letter-spacing:-.09em;margin:0;padding-right:5px}.top-tools{display:flex;align-items:center;gap:12px}.top-tools button{border:0;background:none;font-size:23px;line-height:1;color:#18212d;padding:4px}.top-tools .avatar{font-size:18px;color:#353336;background:#eee5df;border-radius:50%;width:30px;height:30px}.categories{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;margin-top:12px}.categories::-webkit-scrollbar{display:none}.categories button{white-space:nowrap;border:0;background:none;border-radius:20px;color:#53606d;padding:7px 11px;font-size:12px}.categories .active{background:#f25c7a;color:#fff}.search{width:100%;padding:11px;border:1px solid #eee0e1;border-radius:12px;margin-top:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 12px}.card{min-width:0;cursor:pointer}.photo{position:relative;aspect-ratio:1.13;overflow:hidden;border-radius:10px;background:#f2e9e3}.photo img{width:100%;height:100%;object-fit:cover}.placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:38px;background:#faedf0}.heart{position:absolute;right:7px;top:5px;border:0;background:none;color:#f25378;font-size:25px;line-height:1;-webkit-text-stroke:1px white;text-shadow:0 1px 3px #3337}.heart.off{color:#fff;-webkit-text-stroke:1px #f25378}.name{font-size:12px;font-weight:650;margin:6px 0 1px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price{font-size:13px;font-weight:750}.source{display:flex;gap:5px;align-items:center;color:#5f6874;font-size:10px;margin-top:5px}.source i{width:13px;height:13px;display:grid;place-items:center;background:#171e27;color:white;font-style:normal;font-size:8px;border-radius:50%}.bottom{position:fixed;z-index:3;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,390px);height:65px;padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:0 -3px 16px #4e344114;display:flex;align-items:center;justify-content:space-around;border-radius:16px 16px 0 0}.bottom button{border:0;background:none;display:flex;flex-direction:column;align-items:center;color:#252d3b;min-width:42px}.bottom button span{font-size:24px;line-height:27px}.bottom small{font-size:10px}.bottom .selected{color:#f05676}.bottom .add{min-width:40px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ef5a7a;font-size:27px;margin-top:-13px;box-shadow:0 3px 8px #df557660}dialog{border:0;border-radius:20px;width:min(calc(100% - 32px),360px);max-height:85dvh;padding:22px;background:#fffcfa;box-shadow:0 18px 60px #24203235}dialog::backdrop{background:#1a17258c}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{font-size:19px;margin:0}.dialog-head button{border:0;background:none;font-size:27px}dialog p{font-size:13px;color:#6b737d}dialog label{display:block;font-size:12px;font-weight:700;margin:13px 0}dialog input,dialog select,dialog textarea{display:block;width:100%;border:1px solid #e5d9db;background:white;border-radius:9px;padding:10px;margin-top:5px;font-size:14px}#detail-link{color:#ec5375;font-weight:700}#toast{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);border-radius:12px;background:#303642;color:#fff;padding:10px 15px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}#toast.visible{opacity:1}@media(min-width:500px){.app{margin:22px auto;border-radius:28px;overflow:hidden;box-shadow:0 4px 22px #0002}.bottom{bottom:0}} 
.link-screen{position:relative;padding:22px 30px 24px;background:#fffcfa}.back{border:0;background:none;font-size:32px;color:#283341;padding:0}.link-content{padding-top:18px}.link-content h1{text-align:center;font-size:23px;line-height:1.24;margin:0 0 27px;letter-spacing:-.05em}.url-box{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:0 13px;height:47px;box-shadow:0 4px 19px #311c2817}.url-box span{font-size:23px;color:#697686}.url-box input{border:0;outline:0;width:100%;font-size:14px}.link-content .primary{margin-top:10px}.platforms{display:flex;justify-content:space-between;margin:22px 0 27px;text-align:center}.platforms div,.examples div{display:flex;align-items:center;flex-direction:column;gap:4px}.platforms img{width:40px;height:40px;object-fit:cover;border-radius:9px}.platforms small,.examples small{font-size:10px;color:#58616e}.link-content h2{font-size:14px;margin:0 0 12px}.examples{display:flex;justify-content:space-between;gap:8px}.examples img{width:100%;height:73px;object-fit:cover;border-radius:9px}.examples div{min-width:0;flex:1}.tip{background:#fbf6f1;border:1px solid #f2ebe5;border-radius:12px;padding:14px;font-size:12px;line-height:1.5;margin:23px 0 0}#fetch-status{font-size:12px;color:#e65274;min-height:18px;margin:9px 0 0}
#add-dialog .category-hint{margin:5px 0 10px;color:#e25172;font-size:12px;line-height:1.4}

#add-dialog .upload-preview{display:block;width:100%;max-height:180px;object-fit:contain;border-radius:9px;background:#faf1f3;margin:8px 0}#add-dialog .upload-error{color:#bb3655;margin:5px 0;font-size:12px}.photo .add-photo{position:absolute;left:8px;bottom:8px;background:#fffdf9ee;color:#29313a;border:0;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 4px #0002}

.photo .edit-item{position:absolute;left:8px;top:8px;background:#fffdf9ee;color:#29313a;border:0;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700;box-shadow:0 1px 4px #0002}#edit-dialog .upload-error{color:#bb3655;font-size:12px}

#edit-dialog .delete-item{display:block;margin:13px auto 0;border:0;background:transparent;color:#b64059;font-size:13px;font-weight:700;padding:9px 16px}

.product-detail{position:relative;background:#fffcfa}.detail-hero{position:relative;height:330px;background:#f3ece8}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-hero-placeholder{height:100%;display:grid;place-items:center;font-size:70px}.detail-back,.detail-menu,.detail-heart{position:absolute;border:0;background:#ffffffdf;border-radius:50%;display:grid;place-items:center;color:#25303a}.detail-back{left:14px;top:20px;background:#24262b77;color:#fff;width:34px;height:34px;font-size:28px}.detail-menu{right:14px;top:20px;width:34px;height:34px;font-size:25px}.detail-heart{right:16px;bottom:15px;width:36px;height:36px;font-size:22px;color:#f15b79}.detail-heart.off{color:#aeb3bd}.detail-actions{position:absolute;right:15px;top:61px;z-index:4;width:135px;background:#fff;border-radius:11px;box-shadow:0 5px 20px #19101933;padding:5px}.detail-actions button{display:block;width:100%;border:0;background:none;text-align:left;padding:9px 11px;font-size:13px}.detail-actions button:last-child{color:#bd3d59}.detail-content{position:relative;margin-top:-12px;background:#fff;border-radius:15px 15px 0 0;padding:22px 19px 38px;min-height:300px}.detail-summary{display:flex;justify-content:space-between;gap:9px;align-items:end;border-bottom:1px solid #f0eaeb;padding-bottom:20px}.detail-summary h1{font-size:16px;margin:0 0 4px}.detail-summary p{font-size:13px;color:#627080;margin:2px 0}.detail-summary strong{font-size:18px}.detail-summary #product-source{margin-top:11px}.detail-site{background:#ef5b79;border-radius:11px;color:#fff;padding:12px 11px;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700}.detail-site[aria-disabled="true"]{opacity:.45;pointer-events:none}.detail-row{display:flex;gap:12px;padding:13px 4px;border-bottom:1px solid #f3eeee;font-size:13px}.detail-row>span{font-size:18px;width:20px}.detail-row b{font-size:13px}.detail-row p{margin:4px 0 0;color:#647181;line-height:1.4}.detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.detail-tags span{background:#f3f2f3;border-radius:6px;padding:5px 8px;color:#3b414b;font-size:12px}

.detail-memo{margin:18px 0 5px;padding:16px 17px;border-radius:13px;background:#fff1f4;border:1px solid #f9dce4}.detail-memo-heading{display:flex;align-items:center;gap:7px;color:#d9476a;font-size:14px}.detail-memo-heading span{font-size:20px;line-height:1}.detail-memo p{color:#303641;font-size:15px;line-height:1.55;margin:9px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.detail-memo p:empty::after{content:'아직 메모가 없어요.';color:#777f89}

.detail-memo.hesitation{background:#f7f6f5;border-color:#ebe7e5;margin-top:10px}.detail-memo.hesitation .detail-memo-heading{color:#65717f}.detail-memo.hesitation .detail-memo-heading span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#e4e7e9;font-size:14px;font-weight:800}

.category-screen{padding:28px 17px 86px;background:#fffcfa}.category-header h1{font-size:23px;letter-spacing:-.06em;margin:0 0 14px}.category-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.category-tile{border:0;background:#f6f3f1;border-radius:12px;min-width:0;min-height:133px;padding:8px 4px 10px;display:flex;flex-direction:column;align-items:center;color:#252b35}.category-tile:nth-child(1){background:#f2eae2}.category-tile:nth-child(2){background:#fbecef}.category-tile:nth-child(3){background:#f4eee4}.category-tile:nth-child(4){background:#fff3df}.category-tile:nth-child(5){background:#edf0f2}.category-tile:nth-child(6){background:#dce4e9}.category-tile:nth-child(7){background:#b9c1bb}.category-tile:nth-child(8){background:#f2ede5}.category-tile:nth-child(9){background:#f9edf0}.category-tile img{width:78px;max-width:100%;height:78px;object-fit:contain}.category-tile strong{font-size:13px;margin-top:2px}.category-count{color:#65707d;font-size:12px;margin-top:3px}.category-tile:focus-visible{outline:2px solid #f35c7b;outline-offset:2px}.empty{grid-column:1/-1;text-align:center;color:#687381;padding:40px 12px;font-size:14px}

.extra-category-field{margin:14px 0;padding:0;border:0}.extra-category-field legend{font-size:12px;font-weight:700;margin-bottom:8px}.extra-category-field legend small{font-size:11px;font-weight:400;color:#78818a}.category-chips{display:flex;flex-wrap:wrap;gap:7px}.category-chips label{display:inline-flex;align-items:center;margin:0;border:1px solid #e7dfe0;border-radius:20px;background:#fff;padding:7px 10px;font-size:12px;font-weight:600;cursor:pointer}.category-chips label:has(input:checked){background:#fff0f3;border-color:#ee6581;color:#db496a}.category-chips label:has(input:disabled){opacity:.45;cursor:default}.category-chips input{width:auto;margin:0 5px 0 0;accent-color:#ef5a7a}

.timeline-screen{padding:26px 17px 85px;background:#fffcfa}.timeline-header h1{margin:0;font-size:23px;letter-spacing:-.05em}.timeline-header p{margin:5px 0 13px;color:#77808c;font-size:12px}.timeline-filters{display:flex;gap:6px;overflow:auto;scrollbar-width:none;padding-bottom:10px}.timeline-filters button{border:0;border-radius:22px;padding:8px 12px;white-space:nowrap;background:#f1f0f0;color:#3b434e;font-size:12px}.timeline-filters button.active{background:#f35d7d;color:white;font-weight:700}.timeline-list{position:relative;margin:7px 0 0 6px;padding-left:20px;border-left:1px solid #e5dadd}.timeline-group{position:relative;margin:0 0 18px}.timeline-group:before{content:'♥';position:absolute;left:-28px;top:1px;width:16px;height:16px;border-radius:50%;display:grid;place-items:center;background:#232831;color:#fff;font-size:8px}.timeline-group h2{margin:0 0 9px;font-size:15px}.timeline-group h2 small{font-weight:400;color:#8b929b;font-size:11px;margin-left:5px}.timeline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.timeline-product{padding:0;border:0;background:#f5f1ef;border-radius:10px;min-width:0;text-align:left;overflow:hidden}.timeline-product img,.timeline-placeholder{width:100%;height:91px;object-fit:cover;display:grid;place-items:center}.timeline-placeholder{font-size:29px;background:#faedf0}.timeline-name{display:block;padding:5px 6px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#36404b}.timeline-empty{text-align:center;padding:68px 12px;color:#596471}.timeline-empty strong{font-size:15px}.timeline-empty p{font-size:12px}.top-tools #notify{position:relative}.notice-badge{position:absolute;right:0;top:0;min-width:15px;height:15px;padding:0 3px;border-radius:9px;background:#ef5a7a;color:#fff;font-size:9px;font-style:normal;line-height:15px}.notice-item{display:block;width:100%;padding:13px 9px;text-align:left;background:#fff;border:0;border-bottom:1px solid #efe7e8;color:#323b46;font-size:13px}
.timeline-heading{display:flex;align-items:center;justify-content:space-between}.timeline-heading button{position:relative;border:0;background:none;color:#283341;font-size:24px;padding:3px 8px}
.timeline-empty-preview{display:flex;gap:7px;justify-content:center;margin:20px 0 5px}.timeline-empty-preview img{width:70px;height:70px;border-radius:9px;object-fit:cover}.timeline-empty small{font-size:10px;color:#9a9fa6}

#decision-dialog{width:min(calc(100% - 28px),370px);padding:32px 16px 24px;background:#fffaf6;border-radius:24px;text-align:center}#decision-title{font-size:21px;line-height:1.5;margin:0 10px 8px;letter-spacing:-.04em}#decision-name{font-weight:700;color:#4b535d;margin:0 0 13px;overflow-wrap:anywhere}#decision-photo{width:100%;height:195px;object-fit:contain;background:#f2ece6;border-radius:10px}#decision-placeholder{height:195px;display:grid;place-items:center;font-size:64px}.decision-close{position:absolute;right:8px;top:5px;border:0;background:none;font-size:26px;color:#6b7077}.decision-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:10px 8px;background:#fff;border-radius:16px;margin-top:10px}.decision-choices button{border:0;border-radius:10px;background:#f3efea;min-height:104px;padding:12px 3px;font-size:11px;line-height:1.5;color:#252d37}.decision-choices button:first-child{background:#f45d80;color:white}.decision-choices img{width:27px;height:27px;display:block;margin:0 auto 10px}.decision-choices button[aria-pressed=true]{outline:2px solid #b34361;outline-offset:2px}#decision-dialog .decision-tip{font-size:12px;line-height:1.6;color:#737a82;margin:17px 0 0}#decision-error{color:#b64059}.decision-preview{display:block;margin:5px 0 18px;font-size:12px}.decision-status{padding:10px 12px;background:#fff1f4;color:#b34160;border-radius:10px;font-size:13px}#decision-dialog #decision-demo{font-size:11px;color:#b34b6c}

.stats-screen{padding:29px 19px 90px;background:#fffcfa}.stats-eyebrow{font-size:9px;letter-spacing:.15em;font-weight:750;color:#d7617b}.stats-screen h1{font-size:25px;letter-spacing:-.05em;margin:6px 0}.stats-screen header p{font-size:12px;color:#82808a;margin:0 0 20px}.stats-periods{display:flex;gap:6px;background:#f1ece9;border-radius:12px;padding:4px;margin-bottom:20px}.stats-periods button{flex:1;border:0;border-radius:9px;background:none;padding:8px 4px;font-size:12px;color:#77727b}.stats-periods .active{background:#fff;color:#d95073;font-weight:700;box-shadow:0 2px 5px #31212b0b}.stats-persona{background:#fff0f3;border:1px solid #fae0e6;border-radius:18px;padding:20px 18px;margin-bottom:17px}.stats-persona>span{font-size:11px;color:#cc5370;font-weight:700}.stats-persona h2{font-size:18px;line-height:1.6;letter-spacing:-.04em;margin:9px 0 10px}.stats-persona small{font-size:10px;color:#93838b}.stats-metrics{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:12px}.stats-metrics>div{border:1px solid #eee6e2;border-radius:15px;padding:17px 13px;background:white}.stats-metrics span{font-size:11px;color:#7a747d}.stats-metrics strong{display:block;font-size:27px;letter-spacing:-.04em;margin-top:8px}.stats-metrics>div:last-child strong{color:#ed5c7b}.stats-panel{background:#fff;border:1px solid #eee6e2;border-radius:16px;padding:18px 16px;margin-bottom:12px}.stats-panel h2{font-size:14px;margin:0 0 14px;letter-spacing:-.03em}.stats-panel-heading{display:flex;align-items:center;justify-content:space-between}.stats-panel-heading b{font-size:21px;color:#e95a78}.stats-progress{height:10px;border-radius:6px;background:#f4eeee;overflow:hidden;margin:4px 0 12px}.stats-progress span{display:block;height:100%;background:#ef6888;border-radius:6px}.stats-panel p{font-size:12px;margin:6px 0;color:#625f68}.stats-panel .stats-note{font-size:10px;color:#938c94;line-height:1.6}.stats-value>span{font-size:12px;color:#7d7781}.stats-value>strong{display:block;font-size:27px;margin:7px 0 10px;letter-spacing:-.04em}.stats-bar-row{display:grid;grid-template-columns:53px 1fr 30px;gap:8px;align-items:center;margin:12px 0;font-size:11px}.stats-bar-row>div{height:8px;border-radius:5px;background:#f7f0f2;overflow:hidden}.stats-bar-row i{display:block;height:100%;background:#e99aac;border-radius:5px}.stats-bar-row b{text-align:right;font-size:10px;color:#7d737d}.stats-decisions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stats-decisions>div{background:#faf6f4;border-radius:10px;padding:12px}.stats-decisions strong{display:block;font-size:18px;margin-bottom:5px}.stats-decisions span{font-size:10px;color:#837781}.stats-footnote{font-size:10px;line-height:1.6;color:#968f98;margin:15px 4px}.purchase-toggle{width:100%;border:1px solid #ee6686;border-radius:11px;background:#fff4f7;color:#d9476b;padding:12px;margin-top:17px;font-weight:700;font-size:13px}.purchase-toggle.purchased{background:#edf5ef;border-color:#c1d5c6;color:#467454}.purchase-status{font-size:11px;color:#7c8381;margin:6px 0}

.stats-paid{background:#fff0f4;border-color:#f6d8e2}.stats-paid>strong{color:#d64c71}.purchase-remove{display:block;border:0;background:none;color:#b64059;margin:12px auto 0;padding:8px;font-size:13px}#purchase-error{color:#b64059}

.stats-wait{background:#f0f4ef;border-color:#dde6d9}.stats-wait>span{font-size:12px;color:#687366}.stats-wait>strong{display:block;font-size:26px;letter-spacing:-.04em;color:#496648;margin:10px 0}.stats-wait .stats-note{font-size:10px}

/* Shopping report: reference image layout */
.stats-screen{padding:28px 18px 90px;background:linear-gradient(150deg,#fffcfa,#faf5f0)}.stats-screen h1{font-size:22px;margin:0 0 20px;letter-spacing:-.045em}.stats-periods{background:none;padding:0;gap:9px;margin-bottom:20px}.stats-periods button{background:#fff;border-radius:22px;color:#424751;padding:9px 4px;font-weight:650;box-shadow:none}.stats-periods button.active{background:#f45f81;color:#fff;box-shadow:none}.stats-metrics{gap:10px;margin-bottom:22px}.stats-metrics>.metric-card{display:flex;align-items:center;gap:9px;padding:15px 10px;border:0;border-radius:13px;min-height:82px;background:#ffffffeb}.stats-metrics .metric-icon{width:36px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.metric-icon svg{width:23px;height:23px}.metric-saved .metric-icon{color:#f1a015;background:#fff5df}.metric-bought .metric-icon{color:#009ed5;background:#e3f6ff}.metric-thinking .metric-icon{color:#7850ff;background:#f0eaff}.metric-passed .metric-icon{color:#24bd64;background:#e7f9e9}.stats-metrics .metric-card div>span{font-size:11px;color:#7a7980;white-space:nowrap}.stats-metrics .metric-card strong{margin:3px 0 0;font-size:22px;line-height:1.15;color:#202630}.stats-categories{border:0;background:transparent;padding:1px 10px 14px;margin:0 0 13px}.stats-categories h2{font-size:15px;margin-bottom:18px}.stats-bar-row{grid-template-columns:64px 1fr 35px;gap:8px;font-size:12px;margin:16px 0}.stats-bar-row>div{height:11px;background:#f1eae6;border-radius:9px}.stats-bar-row i{background:linear-gradient(90deg,#ffb6c5,#f56789);border-radius:9px}.stats-bar-row b{font-size:11px;font-weight:400;color:#85838b}.stats-categories .stats-note{margin-top:17px}.stats-persona{padding:17px;border-radius:14px}.stats-persona h2{font-size:16px}.stats-screen .stats-panel:not(.stats-categories){border:0}.stats-decisions{gap:8px}

/* Scalable, locally bundled platform shortcuts */
.platforms a{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:48px;padding:4px 0;text-decoration:none;border-radius:12px;-webkit-tap-highlight-color:transparent}.platforms a img{width:40px;height:40px;object-fit:contain;border-radius:11px}.platforms a:hover{background:#f8edf0}.platforms a:focus-visible{outline:3px solid #f45b80;outline-offset:3px}.platforms a:active{transform:scale(.96)}

.wishlist-moments{gap:10px}.wishlist-moments img{height:auto;aspect-ratio:1;object-fit:contain;border-radius:15px}.wishlist-moments div{gap:8px}.wishlist-moments small{font-size:12px;line-height:1.5;text-align:center;color:#354052;word-break:keep-all}

.my-screen{padding:28px 20px 90px;background:linear-gradient(150deg,#fffcfa,#faf5f0)}.my-screen h1{font-size:26px;line-height:1.3;margin:0 0 20px}.my-profile{display:flex;align-items:center;gap:13px;margin-bottom:25px}.my-avatar{width:58px;height:58px;border-radius:50%;background:#f9dfe6;color:#e87091;font-size:32px;display:grid;place-items:center}.my-profile strong{font-size:17px}.my-profile p{font-size:12px;color:#8a828b;margin:5px 0}.my-profile>button{margin-left:auto;border:0;background:none;padding:10px}.my-profile img,.my-row img{width:22px;height:22px}.my-group{border-radius:16px;background:#ffffffd9;overflow:hidden;margin-bottom:13px}.my-row{display:flex;align-items:center;gap:13px;width:100%;min-height:53px;padding:14px;border:0;background:none;text-align:left;color:#293442}.my-row+.my-row{border-top:1px solid #f7f1ee}.my-row span{font-size:14px;flex:1}.my-row small{color:#959199;font-size:14px}.my-row b{font-weight:400}.my-row:hover{background:#fff0f4}.my-local-note{text-align:center;font-size:11px;color:#928892;line-height:1.7;margin:22px 0}.my-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f0e7e9;background:white;padding:15px 9px;font-size:14px}#my-dialog-body{font-size:14px;line-height:1.65;color:#5d626b}#my-dialog input[type=checkbox]{width:20px;display:inline-block;vertical-align:middle;margin-right:8px}

.my-avatar{overflow:hidden;flex-shrink:0}.my-avatar img,.top-tools .avatar img{width:100%;height:100%;object-fit:cover;display:block}.top-tools .avatar{padding:0;overflow:hidden}.profile-photo-preview{width:96px;height:96px;overflow:hidden;border-radius:50%;margin:6px auto 20px;background:#f9dfe6;display:grid;place-items:center;font-size:42px;color:#e87091}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-remove{border:1px solid #e7d7dd;border-radius:10px;background:white;padding:8px 14px;color:#a34c68;font-size:13px}.profile-editor .profile-error{color:#b44b66;min-height:20px}.profile-editor .primary:disabled{opacity:.5;cursor:wait}

/* 모든 주요 화면에 같은 6개 메뉴 */
.bottom{gap:0;padding-left:5px;padding-right:5px}.bottom button{min-width:0;flex:1;padding:5px 0;gap:2px}.bottom small{font-size:10px;white-space:nowrap}.bottom .add{flex:0 0 40px;margin-left:4px;margin-right:4px}.bottom button:focus-visible{outline:2px solid #ed6b8a;outline-offset:-2px;border-radius:10px}

/* 丸みのある共通ナビゲーションアイコン */
.bottom button{color:#838391;gap:4px}.bottom .nav-icon{display:block;width:25px;height:25px;flex-shrink:0;fill:#f3eef1;transition:color .18s,fill .18s,transform .18s}.bottom .selected{color:#ef6387}.bottom .selected .nav-icon{fill:#ffe1ea;stroke-width:2}.bottom .selected small{font-weight:700}.bottom .add{background:linear-gradient(140deg,#ff9ab0,#ed6285);box-shadow:0 4px 10px #e97a9440}.bottom .add .nav-icon{color:white;fill:none;width:23px;height:23px;stroke-width:2.5}.bottom button:active .nav-icon{transform:scale(.9)}@media(prefers-reduced-motion:reduce){.bottom .nav-icon{transition:none}}

/* 하단 메뉴와 동일한 상단 아이콘 */
.top-tools #search-toggle,.top-tools #notify{width:36px;height:36px;display:grid;place-items:center;padding:5px;border-radius:12px;color:#838391;transition:background .18s,color .18s}
.top-icon{display:block;width:25px;height:25px;fill:#f3eef1;transition:transform .18s}
.top-tools #search-toggle:hover,.top-tools #notify:hover{background:#fff0f5;color:#ef6387}
.top-tools #search-toggle:focus-visible,.top-tools #notify:focus-visible{outline:2px solid #ed6b8a;outline-offset:2px}
.top-tools button:active .top-icon{transform:scale(.9)}
.top-tools #notify .notice-badge{right:-1px;top:-2px;border:2px solid #fffcfa;min-width:18px;height:18px;line-height:14px}
@media(prefers-reduced-motion:reduce){.top-icon,.top-tools #search-toggle,.top-tools #notify{transition:none}}

/* 상품 찜: 둥근 SVG와 파스텔 버튼 */
.heart,.detail-heart{width:36px;height:36px;padding:6px;display:grid;place-items:center;border:1px solid #ffffffd9;border-radius:50%;background:#fff8fbeF;color:#ed6a8b;-webkit-text-stroke:0;text-shadow:none;box-shadow:0 2px 8px #55404a15;transition:background .18s,transform .18s}
.heart{top:8px;right:8px}.product-heart-icon{width:23px;height:23px;display:block;fill:#f58faa;stroke:currentColor;stroke-width:1.8}.heart.off,.detail-heart.off{color:#a4919e;-webkit-text-stroke:0;background:#fffffff0}.off .product-heart-icon{fill:none}.heart:active,.detail-heart:active{transform:scale(.9)}.heart:focus-visible,.detail-heart:focus-visible{outline:2px solid #d9537a;outline-offset:2px}@media(prefers-reduced-motion:reduce){.heart,.detail-heart{transition:none}}

/* 사진을 덜 가리는 작은 찜 버튼 */
.heart,.detail-heart{width:27px;height:27px;padding:4px;box-shadow:0 1px 4px #55404a12}
.heart{top:6px;right:6px}
.heart .product-heart-icon,.detail-heart .product-heart-icon{width:18px;height:18px}

/* 링크 추가 버튼을 화면 정중앙에 고정 */
.bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 52px repeat(3,minmax(0,1fr));padding-left:8px;padding-right:8px;column-gap:0}
.bottom button{width:100%;min-width:0}
.bottom .add{position:absolute;left:50%;top:10px;transform:translateX(-50%);margin:0;width:40px;height:40px;min-width:40px}
.bottom button[data-nav="home"]{grid-column:1}
.bottom button[data-nav="categories"]{grid-column:2}
.bottom button[data-nav="timeline"]{grid-column:4}
.bottom button[data-nav="stats"]{grid-column:5}
.bottom button[data-nav="my"]{grid-column:6}
/* 왼쪽 2개, 오른쪽 3개의 메뉴 영역을 같은 폭으로 배치 */
.bottom{grid-template-columns:repeat(2,minmax(0,1.5fr)) 52px repeat(3,minmax(0,1fr))}

/* 여섯 메뉴를 동일한 너비와 중심 간격으로 정렬 */
.bottom{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:0;padding-left:6px;padding-right:6px;justify-items:center;align-items:center}
.bottom button[data-nav="home"],.bottom button[data-nav="categories"],.bottom button[data-nav="timeline"],.bottom button[data-nav="stats"],.bottom button[data-nav="my"]{grid-column:auto}
.bottom button{height:52px;justify-content:center;gap:4px}
.bottom .add{position:static;left:auto;top:auto;transform:none;margin:0;grid-column:auto;width:40px;height:40px;justify-self:center;align-self:center}

/* 홈 · 타임라인 · 저장 · 통계 · 마이: 균등한 다섯 칸 */
.bottom{grid-template-columns:repeat(5,minmax(0,1fr))}

#duplicate-dialog{max-width:340px;width:calc(100% - 40px);border:0;border-radius:24px;padding:24px;background:#fffcfa;color:#31313b}#duplicate-dialog::backdrop{background:#312d3c66}#duplicate-dialog p{line-height:1.7;overflow-wrap:anywhere}#duplicate-dialog button{width:100%;margin-top:12px}#duplicate-close{border:0;background:transparent;color:#77717d;padding:12px;font-size:15px}
.price-comparison{margin:22px 0;padding:18px 14px;background:#fff5f7;border-radius:20px}.comparison-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.comparison-heading h2{margin:0!important;font-size:19px!important}.comparison-heading button,.offer-actions button{border:0;border-radius:12px;background:#fff;color:#b62e55;padding:10px;font-size:14px}.comparison-hint{font-size:14px;line-height:1.65;color:#73636a}.offer-card{margin-top:12px;padding:15px;background:#fff;border-radius:16px;overflow-wrap:anywhere}.offer-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.offer-head a{color:#4a3c43;font-size:14px}.offer-head small{color:#75616b}.offer-lowest{font-size:12px;color:#b42a50;background:#ffe4ec;padding:5px 7px;border-radius:8px}.offer-card>p{margin:9px 0;font-size:14px}.offer-card>strong{font-size:19px}.offer-meta,.offer-card>small{color:#746d71}.offer-actions{display:flex;gap:8px;margin-top:12px}.offer-actions button{background:#fff2f6}.offer-card>small{font-size:12px}#offer-dialog{border:0;border-radius:24px;background:#fffafa;width:calc(100% - 32px);max-width:390px;max-height:88dvh;padding:22px;color:#31313b;box-sizing:border-box}#offer-dialog::backdrop{background:#312d3c66}#offer-form{display:grid;gap:14px}#offer-form h2{margin:0}#offer-form label{display:grid;gap:7px;font-size:14px}#offer-form input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;border:1px solid #e8d7dd;border-radius:12px;background:white;padding:12px;font:inherit;font-size:16px}#offer-form button{padding:12px;border:0;border-radius:12px;font-size:15px}#offer-fetch{background:#fff0f4;color:#b42a50}#offer-form .offer-confirm{display:flex;align-items:flex-start;line-height:1.6}#offer-form .offer-confirm{gap:10px;min-width:0}#offer-form #offer-confirm{display:block;box-sizing:border-box;width:18px;height:18px;min-width:18px;flex:0 0 18px;margin:3px 0 0;padding:0;align-self:flex-start}.offer-amounts{display:grid;grid-template-columns:1fr 1fr;gap:10px}#offer-error{margin:0;font-size:14px;color:#9e3653;line-height:1.6}#offer-cancel{background:transparent;color:#75666e}

.example-badge{position:absolute;left:8px;top:8px;padding:5px 9px;border-radius:9px;background:#fff8fb;color:#b63358;font-size:13px;font-weight:700;box-shadow:0 1px 5px #0001;pointer-events:none}
.monthly-pick-card{display:grid;gap:9px;width:calc(100% - 40px);margin:4px 20px 20px;padding:18px;text-align:left;border:1px solid #f5d4df;border-radius:22px;background:linear-gradient(120deg,#fff0f5,#fff8ed);color:#3c3039;cursor:pointer;font:inherit}.pick-eyebrow{font-family:'Salkka Jua',sans-serif;font-size:20px;color:#b93259}.monthly-pick-card>strong{font-size:18px;line-height:1.5}.pick-card-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;font-size:13px;color:#76626d}.pick-card-bottom b{font-size:14px;color:#ae3053}.monthly-pick-card:focus-visible{outline:3px solid #ec7194;outline-offset:3px}#monthly-pick-dialog{box-sizing:border-box;width:calc(100% - 28px);max-width:420px;max-height:90dvh;padding:22px;border:0;border-radius:26px;background:#fffcfa;color:#352e35}#monthly-pick-dialog::backdrop{background:#312d3c66}.pick-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.pick-dialog-heading h2{margin:0}.pick-dialog-heading button{border:0;background:#f8edf1;padding:9px 12px;border-radius:12px;color:#755663;font-size:14px}.pick-intro,.pick-footnote{font-size:14px;line-height:1.7;color:#7c6b75}.pick-budget-row{display:flex;align-items:center;gap:8px;margin-top:9px}.pick-budget-row input{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid #e9d6de;border-radius:12px;background:white;font-size:18px}.pick-budget-row button{flex-shrink:0;padding:13px;border:0;border-radius:12px;background:#ed7194;color:#fff;font-weight:700;font-size:15px}#pick-budget-form label{font-size:15px;font-weight:700}#pick-budget-error{font-size:14px;color:#a32c4e}.pick-summary{background:#fff0f5;border-radius:18px;padding:16px;margin:18px 0}.pick-summary p{font-size:14px;margin:0 0 8px;color:#79616c}.pick-summary strong{font-size:17px;line-height:1.6;color:#903d58}.pick-products-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.pick-products-heading h3{font-size:16px;margin:4px 0 12px}.pick-products-heading span{font-size:12px;color:#84717b}.pick-product{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f0e5ea;cursor:pointer}.pick-product input{accent-color:#e76389;width:20px;height:20px;flex-shrink:0}.pick-product img{width:52px;height:52px;object-fit:cover;border-radius:12px}.pick-product-text{display:grid;gap:5px;overflow-wrap:anywhere;min-width:0}.pick-product-text strong{font-size:15px}.pick-product-text small{font-size:14px;color:#7e6872}.pick-empty{padding:15px 0;font-size:15px;line-height:1.7;color:#82717b}

/* Compact monthly pick entry */
.monthly-pick-card{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;margin:0 20px 14px;padding:12px 14px;border-radius:16px}.monthly-pick-card .pick-eyebrow{grid-column:1;grid-row:1;font-size:17px}.monthly-pick-card>strong{grid-column:1;grid-row:2;font-size:15px;line-height:1.4}.monthly-pick-card .pick-card-bottom{display:contents}.monthly-pick-card #pick-card-caption{display:none}.monthly-pick-card #pick-card-action{grid-column:2;grid-row:1 / 3;align-self:center;white-space:nowrap;font-size:14px}
/* Monthly pick card: lavender palette and stronger budget hierarchy. */
.monthly-pick-card{background:linear-gradient(115deg,#f1eaff,#eae7ff);border-color:#ded2f5;color:#342154;box-shadow:0 3px 12px #7051aa0a}.monthly-pick-card .pick-eyebrow{color:#7250a0}.monthly-pick-card>strong{color:#352055;font-size:20px;font-weight:800;line-height:1.35;letter-spacing:-.3px}.monthly-pick-card #pick-card-action{color:#634090;background:#ffffffa6;padding:7px 10px;border-radius:10px}.monthly-pick-card:focus-visible{outline-color:#8863bd}
@media(max-width:360px){.monthly-pick-card>strong{font-size:18px}.monthly-pick-card #pick-card-action{padding:7px 8px}}

.edit-link-hint{margin:-3px 0 12px;font-size:13px;line-height:1.6;color:#7a6c75}#edit-url{font-size:16px}

.edit-photo-row{display:flex;gap:14px;align-items:center;padding:14px;margin-bottom:18px;background:#faf2f7;border-radius:18px}.edit-photo-frame{width:92px;height:104px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;overflow:hidden;background:#efe6ed;color:#87727e;font-size:13px}.edit-photo-frame img{width:100%;height:100%;object-fit:cover}.edit-photo-frame [hidden]{display:none}.edit-photo-controls{min-width:0}.edit-photo-controls .edit-photo-label{display:inline-block;margin:0 0 8px;padding:9px 14px;border-radius:12px;background:#fff;color:#a83961;font-size:14px;font-weight:700;cursor:pointer}.edit-photo-controls input[type=file]{display:block;width:100%;font-size:12px;margin:0 0 8px}.edit-photo-controls small{font-size:12px;color:#7d6874}.edit-photo-controls p{font-size:13px;line-height:1.5;margin:6px 0;color:#7d6874}

#edit-photo-remove{border:0;background:transparent;color:#a54660;padding:9px 8px;font-size:14px;cursor:pointer}#edit-photo-remove:disabled{opacity:.4;cursor:default}

/* A focused edit form with optional fields folded away. */
#edit-dialog{max-height:90dvh;padding:20px;border-radius:24px}#edit-form .dialog-head{margin-bottom:16px}#edit-form .dialog-head h2{margin:0}#edit-form .edit-photo-row{padding:12px;margin-bottom:16px;gap:12px}#edit-form .edit-photo-frame{width:72px;height:80px}#edit-form .edit-photo-label{border:0;font:inherit;font-size:14px}#edit-photo-file{display:none!important}#edit-photo-status:empty{display:none}#edit-form>label{margin-bottom:12px}#edit-form input:not([type=checkbox]),#edit-form select,#edit-form textarea{font-size:16px}.edit-section{border-top:1px solid #eee3e9;margin:0}.edit-section summary{padding:15px 2px;cursor:pointer;font-size:15px;font-weight:600;color:#655360}.edit-section-body{padding:0 0 12px}.edit-section-body label{margin-bottom:12px}.edit-save-bar{position:sticky;bottom:-20px;padding:10px 0 4px;background:#fffaf8;z-index:2}.edit-save-bar .primary{margin-top:0}.edit-save-bar #edit-error:empty{display:none}#edit-form .extra-category-field{margin-bottom:10px}#edit-form #delete-item{margin-top:6px}

/* Consistent empty product photo treatment. */
.product-no-photo:not(.hidden){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:#f2edf8;color:#806795;font-size:13px;font-weight:500;line-height:1.4}.product-no-photo::before{content:"";display:block;width:52px;height:52px;flex-shrink:0;background:url('assets/product-no-photo.svg') center/contain no-repeat}.photo>.product-no-photo{width:100%;height:100%;min-height:inherit}.timeline-placeholder.product-no-photo::before{width:34px;height:34px}.timeline-placeholder.product-no-photo{gap:4px;font-size:12px}.detail-hero-placeholder.product-no-photo::before{width:76px;height:76px}#decision-placeholder.product-no-photo::before{width:64px;height:64px}

/* Shared back navigation */
.screen .back-button{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;padding:0;background:#ffffffed;color:#3d3746;border:1px solid #ffffffd9;box-shadow:0 2px 8px #55404a12;line-height:1;font-size:0}
.screen .back-button svg{display:block;width:22px;height:22px}
.screen .back-button:active{background:#fff0f4}
.screen .back-button:focus-visible{outline:2px solid #d9537a;outline-offset:3px}

.backup-restore{margin-top:24px;padding-top:18px;border-top:1px solid #eee3e9}.backup-restore p{font-size:14px;line-height:1.65;color:#766674}.backup-restore input{display:block;max-width:100%;margin-top:10px}.backup-restore button:disabled{opacity:.45;cursor:default}

.backup-last{display:block;font-size:12px;font-style:normal;font-weight:400;line-height:1.6;color:#8b7483;margin-top:4px}.backup-last-note{font-size:12px;line-height:1.6;color:#8b7483}
/* Monthly pick: rose gray with pink accents. */
.monthly-pick-card{background:#e7dee2;border-color:#d5c7cf;color:#352e36;box-shadow:0 3px 12px #53434a08}
.monthly-pick-card .pick-eyebrow{color:#685560}
.monthly-pick-card .pick-heart{color:#a94065}
.monthly-pick-card>strong{color:#352e36}
.monthly-pick-card #pick-card-action{background:#403740;color:#ffd7e2}
.monthly-pick-card:focus-visible{outline-color:#a94065}

.monthly-pick-card #pick-card-action{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-width:76px;min-height:36px;padding:8px 18px;line-height:20px}


.first-guide{padding:22px 22px 30px;background:#fffcfa;min-height:100dvh}.guide-top{display:flex;justify-content:space-between;align-items:center;color:#887580;font-size:13px}.guide-top button{border:0;background:#eee6ea;color:#62525d;border-radius:12px;padding:8px 12px}.guide-intro{text-align:center;margin:24px 0}.guide-heart{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:20px;background:#f8dce5;color:#ac4569;font-size:40px}.guide-intro h1{font-family:'Salkka Jua',sans-serif;font-size:30px;line-height:1.35;margin:14px 0 8px;color:#352e36}.guide-intro p{font-size:14px;color:#7b6c75}.guide-steps{padding:0;margin:0;list-style:none;display:grid;gap:12px}.guide-steps li{display:flex;gap:12px;padding:16px;background:#f4eff1;border-radius:18px}.guide-steps li>b{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#e7d7df;color:#904260;font-size:14px}.guide-steps h2,.guide-storage h2{font-size:16px;margin:2px 0 7px;color:#403740}.guide-steps p,.guide-storage p{font-size:13px;line-height:1.7;margin:0;color:#75656f;word-break:keep-all}.guide-storage{margin:18px 0;padding:17px;border:1px solid #dacbd2;border-radius:18px;background:#fff9fb}.guide-storage p+p{margin-top:10px}.guide-storage strong{color:#51414b}.guide-actions{display:grid;gap:10px;text-align:center}.guide-actions .primary{margin:0;width:100%}.guide-actions>button:not(.primary){padding:11px;border:0;background:transparent;color:#685560}.guide-actions small{color:#887580;font-size:12px}

/* Respect hidden state even on controls with explicit display rules. */
[hidden]{display:none!important}

.monthly-pick-card #pick-card-title.budget-unset{font-size:15px;line-height:1.4;white-space:nowrap;letter-spacing:-.5px}
@media(max-width:360px){.monthly-pick-card #pick-card-title.budget-unset{font-size:13px;letter-spacing:-.6px}}

.monthly-pick-card #pick-card-action.budget-setup{min-width:54px;min-height:30px;padding:6px 12px;font-size:13px;line-height:18px;border-radius:9px}
