:root{--ink:#182332;--muted:#74808f;--line:#e7ebef;--blue:#386af4;--surface:#f6f8fb}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.6 SUIT,-apple-system,BlinkMacSystemFont,sans-serif;background:white}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #829ffd;outline-offset:4px}[hidden]{display:none!important}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:#f7f9fc;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:900;letter-spacing:-1px}.brand-icon{width:38px;height:38px;border-radius:12px;background:var(--blue);color:#fff;font-size:27px;text-align:center;line-height:38px;position:relative}.brand-icon span{font-size:16px;position:absolute;right:3px;top:-9px}.beta{font-size:10px;background:#e6edff;color:var(--blue);letter-spacing:1px;border-radius:4px;padding:2px 5px;margin-top:4px}.brand-caption{font-size:12px;color:var(--muted);margin-top:12px}.new-chat{margin:31px 0;border:1px solid #cedafc;border-radius:10px;background:#fff;color:var(--blue);padding:11px;font-weight:700}.nav-label{font-size:12px;color:#8b95a3;padding:0 12px;margin-bottom:12px}nav{display:flex;flex-direction:column;gap:7px}nav button{border:0;background:none;display:flex;align-items:center;gap:11px;font-weight:600;text-align:left;border-radius:10px;padding:13px 12px;font-size:14px;color:#697382}nav button.active{background:#e8eeff;color:#315dde}nav button:hover{background:#edf1f7}.nav-dot{width:5px;height:5px;background:var(--blue);border-radius:50%;margin-left:auto}svg{width:21px;height:21px;display:block}i{display:inline-flex;vertical-align:middle;font-style:normal}.sidebar-bottom{margin-top:auto;padding:45px 10px 0}.mini-symbol{font-size:32px;color:var(--blue);line-height:1.4}.sidebar-bottom strong{font-size:13px}.sidebar-bottom p{font-size:13px;color:var(--muted);margin:8px 0 22px}.old-site{font-size:12px;color:#6c798c}.side-footer{font-size:9px;letter-spacing:1px;color:#a0a9b5;margin-top:20px}.workspace{margin-left:245px}.topbar{height:80px;border-bottom:1px solid #f0f2f5;display:flex;align-items:center;justify-content:space-between;padding:0 43px;font-size:14px}.top-right{display:flex;align-items:center;gap:25px}.top-right a{display:flex;align-items:center;gap:9px}.live{font-size:12px;color:#748395}.live b{display:inline-block;width:6px;height:6px;background:#42b795;border-radius:50%;margin-right:7px}main{max-width:1200px;margin:auto;padding:44px 55px 55px}.welcome{text-align:center}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--blue);font-weight:800}.eyebrow span{font-size:20px;margin-right:4px}.welcome h1{font-size:43px;line-height:1.35;letter-spacing:-2px;font-weight:800;margin:18px 0 16px}.welcome h1 span{color:var(--blue)}.welcome p{color:var(--muted);margin:0 0 25px;font-size:15px}.species{display:flex;justify-content:center;gap:7px;margin:0 0 15px}.species button{border:1px solid var(--line);border-radius:22px;background:white;padding:7px 25px;font-size:14px;font-weight:600}.species button.selected{background:var(--ink);color:white;border-color:var(--ink)}.composer{border:1px solid #c3d3ff;border-radius:19px;box-shadow:0 8px 30px #386af409;padding:20px 20px 12px;max-width:770px;margin:auto;background:white}.composer:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #386af410}.composer textarea{width:100%;height:68px;resize:vertical;border:none;outline:none;color:var(--ink);font-size:16px;line-height:1.7;min-height:60px}.composer textarea::placeholder{color:#9aa4b1}.composer-bottom{display:flex;justify-content:space-between;align-items:center}.composer-bottom>span{font-size:12px;color:#6988d1;display:flex;align-items:center;gap:6px}.send{background:var(--blue);border:0;color:white;width:37px;height:37px;border-radius:12px;display:grid;place-items:center}.privacy-note{font-size:11px;color:#929ba8;text-align:center;margin-top:12px}.suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:18px 0 40px}.suggestions button{border:1px solid var(--line);padding:6px 12px;background:white;color:#697888;font-size:12px;border-radius:7px}.suggestions button:hover{border-color:var(--blue);color:var(--blue)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 18px}.section-title h2{font-size:18px;letter-spacing:-.5px;margin:0}.section-title>span{font-size:12px;color:#8a94a1}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.tool-card{text-align:left;background:white;border:1px solid var(--line);border-radius:15px;padding:21px 18px;transition:transform .2s,border-color .2s}.tool-card:hover{transform:translateY(-3px);border-color:#b4c7f7}.tool-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.blue{background:#eaf0ff;color:#4772e9}.mint{background:#e7f6f1;color:#2ba787}.apricot{background:#fff2e5;color:#d69345}.lilac{background:#f1edff;color:#8870c5}.tool-card h3{font-size:14px;letter-spacing:-.4px;margin:15px 0 8px;display:flex;justify-content:space-between;gap:4px}.tool-card h3 span{color:#a8b1be}.tool-card p{font-size:12px;color:#86909b;line-height:1.8;margin:0 0 20px}.tool-card em{font-style:normal;font-size:11px;color:#6b7d93}.encyclopedia-strip{margin-top:32px;border-radius:18px;background:#f4f7fd;display:flex;justify-content:space-between;align-items:center;padding:25px 30px;gap:20px;overflow:hidden}.encyclopedia-strip h2{font-size:22px;line-height:1.5;letter-spacing:-.7px;margin:8px 0 14px}.text-button{background:none;border:0;color:#5876a4;padding:0;font-size:12px}.pet-gallery{display:flex;gap:12px}.pet-preview{text-align:center}.pet-preview img{width:95px;height:108px;border-radius:50px 50px 14px 14px;object-fit:cover;background:#e3e9f0}.pet-preview span{display:block;font-size:11px;color:#6c7b92;margin-top:6px}.footer{border-top:1px solid var(--line);padding:22px 43px;display:flex;justify-content:space-between;gap:15px;color:#99a3af;font-size:11px}.footer b{color:#647488;margin-right:12px}.page-heading{margin:15px 0 30px}.page-heading h1{font-size:36px;line-height:1.35;letter-spacing:-1.5px;margin:15px 0}.page-heading p{color:var(--muted);font-size:15px}.notice{border:1px solid #f5ddd8;background:#fff5f1;border-radius:12px;padding:18px 22px;color:#a8644d;font-size:14px;margin-bottom:25px}.notice.neutral{background:#f3f7ff;border-color:#dae5fc;color:#5576a6}.symptom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.symptom-card{background:#fff;border:1px solid var(--line);padding:25px;text-align:left;border-radius:15px}.symptom-card:hover{border-color:var(--blue)}.symptom-card b{font-size:19px;display:block;margin-bottom:8px}.symptom-card p{color:var(--muted);font-size:14px;margin:0}.symptom-card span{font-size:13px;color:var(--blue);display:block;margin-top:22px}.muted{color:var(--muted);font-size:13px;line-height:1.8;margin-top:22px}.receipt-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:35px}.upload-panel{border:1px solid var(--line);padding:22px;border-radius:18px}.upload-zone{display:flex;flex-direction:column;align-items:center;padding:35px 18px;border:1px dashed #bfd0e9;border-radius:13px;background:#f8faff;cursor:pointer}.upload-zone h2{font-size:19px}.upload-zone p{font-size:12px;color:var(--muted);text-align:center}.upload-zone input{font-size:12px;max-width:100%}#receipt-preview{width:100%;max-height:260px;object-fit:contain;margin-top:18px}.consent{font-size:12px;display:flex;align-items:flex-start;gap:7px;margin:20px 0}.primary{padding:12px 22px;background:var(--blue);color:white;border:0;border-radius:10px;font-weight:700}.upload-panel .primary{width:100%}.receipt-info{padding:20px 0}.receipt-info h2{font-size:24px}.receipt-info ol{padding-left:22px}.receipt-info li{padding-left:6px;margin-bottom:22px;font-size:15px}.receipt-info p{color:var(--muted);font-size:13px;margin:7px 0}.filter-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:26px 0}.filter-row .species{margin:0}.filter-row>span{font-size:12px;color:var(--muted)}.filter-row>a{margin-left:auto;font-size:13px;color:var(--blue)}select,input[type=search]{border:1px solid #dbe2ed;padding:10px 13px;border-radius:9px;background:#fff}select{margin-left:10px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:14px}th{background:#f6f8fc;font-weight:600;color:#7d899b;font-size:12px}th,td{padding:20px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td:nth-child(3){color:var(--blue);font-weight:800}td:nth-child(2),td:last-child{color:var(--muted);font-size:12px}.breed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.breed-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white;text-align:left;padding:0}.breed-card img{width:100%;height:190px;object-fit:cover;background:#f2f5f9}.breed-card>div{padding:18px}.breed-card h3{font-size:18px;margin:0 0 5px}.breed-card p{color:var(--muted);font-size:13px;margin:6px 0}.breed-card .english{font-size:11px;letter-spacing:.3px}.breed-card .tag{background:#f1f5fb;color:#7386a2;border-radius:5px;padding:4px 8px;font-size:11px;display:inline-block;margin-top:12px}.secondary{display:block;margin:28px auto;border:1px solid var(--line);padding:10px 30px;border-radius:9px;background:white}.conversation{max-width:800px;margin:30px auto}.message{padding:22px 25px;border-radius:15px;border:1px solid var(--line);margin:15px 0;line-height:1.9;font-size:15px;overflow-wrap:anywhere}.message.user{background:#f2f6ff;border:0;margin-left:50px;white-space:pre-wrap}.message .answer-text{white-space:pre-wrap}.message h3{font-size:14px;color:var(--blue);margin:0 0 12px}.message.error{color:#ad563f;background:#fff6f2}.message .fineprint{border-top:1px solid var(--line);padding-top:12px;margin-top:18px;font-size:12px;color:var(--muted)}dialog{max-width:630px;width:calc(100% - 30px);max-height:85vh;border:1px solid var(--line);padding:32px;border-radius:20px;color:var(--ink)}dialog::backdrop{background:#14213270;backdrop-filter:blur(3px)}.dialog-close{float:right;background:#f3f6fa;border:0;font-size:24px;border-radius:50%;width:34px;height:34px}.detail-image{width:100%;height:240px;object-fit:cover;border-radius:12px;margin:15px 0}.detail-stats{display:flex;flex-wrap:wrap;gap:12px;background:#f5f8fc;padding:15px;border-radius:10px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.empty{padding:40px;color:var(--muted);grid-column:1/-1;text-align:center}@media(min-width:1500px){main{padding-top:60px}.welcome h1{font-size:48px}.tools-grid{margin-top:24px}}@media(max-width:1150px){.sidebar{width:215px;padding:25px 15px}.workspace{margin-left:215px}main{padding:35px 28px}.tools-grid{grid-template-columns:repeat(2,1fr)}.tool-card p br{display:none}.pet-preview img{width:75px;height:90px}.breed-grid{grid-template-columns:repeat(2,1fr)}.symptom-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:16px 18px 0;border-right:0;border-bottom:1px solid var(--line);background:white}.brand{font-size:24px}.brand-icon{width:32px;height:32px;font-size:23px;line-height:32px}.brand-caption,.new-chat,.nav-label,.sidebar-bottom{display:none}nav{flex-direction:row;overflow-x:auto;margin-top:15px;gap:3px;padding-bottom:10px}nav button{white-space:nowrap;padding:9px 12px;font-size:13px}.sidebar nav svg,.sidebar nav .nav-dot{display:none}.workspace{margin-left:0}.topbar{height:53px;padding:0 20px}.live{display:none}main{padding:27px 18px}.welcome h1{font-size:34px}.welcome p{font-size:13px}.composer{padding:17px 15px 10px}.privacy-note{font-size:10px;line-height:1.6}.suggestions{gap:6px;margin:16px 0 30px}.section-title>span{display:none}.tools-grid{gap:10px}.tool-card{padding:18px 14px}.tool-card h3{font-size:13px}.tool-card p{font-size:12px}.encyclopedia-strip{padding:22px;align-items:flex-start;flex-direction:column;gap:18px}.encyclopedia-strip h2{font-size:23px}.pet-gallery{width:100%;justify-content:space-between}.pet-preview img{width:85px;height:96px}.footer{padding:20px;flex-direction:column;font-size:10px}.page-heading h1{font-size:29px}.page-heading p{font-size:14px}.symptom-card{padding:18px}.symptom-card b{font-size:17px}.receipt-layout{grid-template-columns:1fr;gap:12px}.breed-card img{height:140px}.breed-card>div{padding:12px}.breed-card h3{font-size:15px}.breed-card p{font-size:12px}.breed-grid{gap:12px}.filter-row{gap:12px}.filter-row input{width:100%}.filter-row>a{margin-left:0}.message{padding:18px;font-size:14px}.message.user{margin-left:20px}.notice{padding:16px;font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.receipt-species-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:14px}.notice a{text-decoration:underline;white-space:nowrap;margin-left:6px;font-size:12px}

/* Question-first main: quiet navigation, a single composer and compact tools. */
.sidebar{width:220px;background:#f8f9fb;padding:27px 18px;border-right-color:#f0f1f4}.workspace{margin-left:220px}.brand{font-size:25px}.brand-icon{background:#242a35;width:33px;height:33px;line-height:33px;border-radius:10px;font-size:24px}.beta{background:#eceef1;color:#7b8492;font-size:9px}.brand-caption{display:none}.new-chat{margin:31px 0 26px;border-color:#e0e3e9;color:#394150;font-size:14px;font-weight:600}.nav-label{font-size:12px;color:#a0a5ad}nav button{font-size:14px;color:#68707e;padding:12px 10px}nav button.active{background:#eceef3;color:#252d3b}.nav-dot{background:#6b7892}nav button:hover{background:#f0f1f4}.sidebar-bottom{padding:25px 9px 0}.side-footer{font-size:11px;letter-spacing:0;line-height:1.8}.topbar{height:73px;border-bottom:0;padding:0 35px;color:#8d94a0}.top-right a{font-size:13px;border:1px solid #e7e9ee;border-radius:20px;padding:6px 13px;color:#444c58}.top-right svg{width:17px;height:17px}.home-view #crumb{visibility:hidden}.home-view main{max-width:1080px;padding:0 45px 35px}.home-view #view-ask{min-height:calc(100svh - 169px);padding-top:clamp(60px,15vh,160px)}.ask-start{max-width:740px;margin:auto}.welcome h1{font-size:51px;letter-spacing:-2.2px;font-weight:850;margin:0 0 10px;line-height:1.2;color:#202630}.welcome .wordmark-plus{color:#6482e7;font-size:35px;display:inline-block;vertical-align:top;line-height:1.3;margin-left:3px}.welcome p{font-size:17px;color:#787f8c;margin:0 0 33px;letter-spacing:-.4px}.composer{max-width:none;border:1px solid #dfe2e8;border-radius:23px;padding:23px 22px 15px;box-shadow:0 6px 22px #15254006}.composer textarea{height:73px;min-height:73px;font-size:16px}.composer:focus-within{border-color:#adb9dc;box-shadow:0 0 0 3px #4861ac06}.composer .species{margin:0;gap:3px;background:#f5f6f8;border-radius:9px;padding:3px}.composer .species button{font-size:13px;border:0;border-radius:7px;background:transparent;color:#8b929e;padding:4px 12px;font-weight:500}.composer .species button.selected{background:white;color:#354156;box-shadow:0 1px 4px #13233f0d}.composer-actions{display:flex;align-items:center;gap:16px}.composer-actions>span{font-size:12px;color:#8a93a4}.send{background:#252d3b;border-radius:50%;width:34px;height:34px}.send svg{width:19px;height:19px}.quick-actions{display:flex;justify-content:center;gap:9px;margin:23px 0 0;flex-wrap:wrap}.quick-actions button{display:flex;align-items:center;gap:7px;border:1px solid #e8eaf0;background:#fff;border-radius:22px;padding:9px 14px;font-size:13px;color:#5e6879;transition:background .15s,border-color .15s}.quick-actions button:hover{background:#f7f9fe;border-color:#b8c6e7}.quick-actions svg{width:17px;height:17px;color:#8393b4}.suggestions{margin:20px 0 0;gap:6px 18px}.suggestions button{border:0;background:transparent;padding:2px 0;font-size:12px;color:#949ba7}.suggestions button:hover{color:#596b9c}.privacy-note{margin:25px 0 0;font-size:11px;color:#a1a7b1;line-height:1.8}.home-view .footer{border:0;justify-content:center;font-size:10px;color:#adb2bc;padding:15px 25px}.home-view .footer b{color:#929aa7}.home-view #view-ask.has-conversation{padding-top:25px}.has-conversation .welcome{display:none}.has-conversation .quick-actions,.has-conversation .suggestions{display:none}.conversation:empty{display:none}.has-conversation .conversation{margin-top:25px}.has-conversation .privacy-note{margin-top:15px}
@media(max-width:1150px){.sidebar{width:200px}.workspace{margin-left:200px}.home-view main{padding-left:32px;padding-right:32px}}
@media(max-width:760px){.sidebar{width:100%;padding:17px 18px 0;background:#fff}.workspace{margin-left:0}.brand{font-size:22px}.brand-icon{width:29px;height:29px;line-height:29px;font-size:22px}nav{margin-top:14px}nav button{padding:8px 11px;font-size:12px}.topbar{height:49px;padding:0 20px}.home-view main{padding:0 19px 25px}.home-view #view-ask{padding-top:clamp(35px,8vh,85px);min-height:calc(100svh - 231px)}.welcome h1{font-size:42px}.welcome .wordmark-plus{font-size:29px}.welcome p{font-size:15px;margin-bottom:25px}.composer{padding:19px 16px 12px;border-radius:20px}.composer textarea{font-size:15px;height:82px}.composer-actions{gap:10px}.composer-actions>span{font-size:10px}.quick-actions{gap:8px;margin-top:20px}.quick-actions button{font-size:12px;padding:8px 11px}.quick-actions svg{width:16px;height:16px}.suggestions{gap:8px 14px;margin-top:20px}.suggestions button{font-size:11px}.privacy-note{font-size:10px;margin-top:24px}.home-view #view-ask.has-conversation{padding-top:12px}.home-view .footer{padding:12px 18px}}
.guide-top{display:flex;align-items:center;justify-content:space-between;margin:25px 0 20px;gap:15px}.guide-top .text-button{font-size:14px}.body-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.body-area{border:1px solid #e6e9ef;border-radius:13px;padding:17px;text-align:left;background:white;display:flex;flex-direction:column;gap:5px}.body-area:hover{border-color:#a8b9e3}.body-area[aria-pressed=true]{border-color:#849ad1;background:#f5f8ff;box-shadow:0 0 0 1px #849ad1}.area-number{font-size:12px;color:#9aa9c0}.body-area b{font-size:17px;font-weight:700}.area-phrase{font-size:13px;color:#8390a3}.body-guide{margin-top:35px}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.guide-heading h2{font-size:26px;margin:0 0 6px;letter-spacing:-.8px}.guide-heading p{color:#8491a5;font-size:14px;margin:0}.guide-tag{font-size:12px;background:#f1f4f9;padding:6px 10px;border-radius:6px;color:#7182a0}.guide-disclaimer{font-size:14px;color:#7f8895;margin:20px 0}.disease-card{border:1px solid #e4e9f0;border-radius:13px;margin-bottom:12px;background:white}.disease-card summary{cursor:pointer;padding:20px 24px;font-size:15px;line-height:1.8}.disease-card summary::marker{color:#8a9abb}.disease-card summary b{font-size:18px;margin-left:5px}.disease-card summary>span{display:block;color:#667285;font-size:15px;margin-top:5px;padding-left:22px}.disease-card[open]{border-color:#b8c6e3}.disease-body{padding:0 25px 23px 46px}.disease-body h3{font-size:14px;color:#677b9a;margin:18px 0 5px}.disease-body p{font-size:16px;line-height:1.9;margin:0}.disease-sources{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px}.disease-sources a{font-size:12px;color:#7a8ca9;text-decoration:underline}.guide-observation{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#f6f8fc;border-radius:13px;padding:22px;margin-top:22px}.guide-observation h3{font-size:15px;margin:0 0 7px}.guide-observation p{font-size:14px;color:#7d899b;margin:0}.guide-observation button{white-space:nowrap;font-size:14px;background:#354665}.guide-reference{font-size:12px;color:#8a95a5;line-height:1.9;margin-top:30px;border-top:1px solid #edf0f5;padding-top:15px}.guide-reference a{text-decoration:underline}.guide-reference p{margin:8px 0}@media(max-width:760px){.body-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.body-area{padding:14px}.body-area b{font-size:16px}.guide-heading h2{font-size:24px}.guide-top{font-size:14px}.guide-top .text-button{font-size:12px}.guide-observation{align-items:stretch;flex-direction:column;gap:17px;padding:19px}.disease-card summary{padding:17px}.disease-card summary b{font-size:17px}.disease-card summary>span{padding-left:0;font-size:14px}.disease-body{padding:0 18px 20px}.disease-body p{font-size:15px}.guide-tag{font-size:11px}.guide-disclaimer{font-size:13px}}
.hospital-home-link{display:block;margin:17px auto 0;font-size:12px;color:#8a96aa}.has-conversation .hospital-home-link{display:none}.hospital-search{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 18px}.hospital-search input{flex:1;min-width:180px}.hospital-search .secondary{margin:0;font-size:14px}.hospital-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:14px}.hospital-controls>a{margin-left:auto;color:#5273ae}.hospital-controls button{font-size:13px}.hospital-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:18px}.hospital-card{border:1px solid #e4e9f0;border-radius:15px;padding:23px}.hospital-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hospital-card h2{font-size:18px;margin:0;letter-spacing:-.4px}.hospital-distance{white-space:nowrap;color:#4470bf;font-size:14px;font-weight:700}.hospital-address{font-size:14px;color:#7d899b;line-height:1.8;min-height:50px;margin:12px 0 18px}.hospital-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}.hospital-actions>span{color:#9ba5b4}.hospital-map{color:#5273ae}.hospital-actions a:hover{text-decoration:underline}@media(max-width:760px){.hospital-grid{grid-template-columns:1fr}.hospital-card{padding:20px}.hospital-search input{flex-basis:100%}.hospital-search .primary,.hospital-search .secondary{flex:1;font-size:14px}.hospital-controls>a{margin-left:0}.hospital-address{min-height:0}.hospital-card h2{font-size:17px}}
/* Shared search and category icons replace the side navigation. */
.workspace{margin-left:0}.topbar{max-width:1440px;margin:auto;padding:0 35px;gap:24px;height:78px}.topbar .brand{font-size:23px;letter-spacing:-.8px}.topbar #crumb{margin-right:auto;font-size:12px;color:#939baa}.header-new{border:0;background:none;color:#707b8e;font-size:13px;cursor:pointer}.top-right{gap:18px}main,.home-view main{max-width:1130px;padding:24px 45px 40px;margin:auto;min-height:calc(100svh - 140px)}.ask-start{max-width:790px;margin:0 auto 40px}.home-view .ask-start{padding-top:clamp(35px,10vh,110px)}.home-view #view-ask,.home-view #view-ask.has-conversation{min-height:0;padding-top:0}.category-menu{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:27px 0 0;padding:0;overflow:visible}.category-menu button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;white-space:normal;text-align:center;background:transparent;color:#697589;font-size:13px;font-weight:500;padding:11px 4px;border-radius:14px;border:1px solid transparent;line-height:1.5;min-width:0}.category-menu button:hover{background:#f8faff;border-color:#edf1f9}.category-menu button.active{background:transparent;color:#304f91;font-weight:700}.category-icon{width:51px;height:51px;border-radius:17px;display:grid;place-items:center;transition:transform .15s}.category-menu button:hover .category-icon{transform:translateY(-2px)}.category-menu button.active .category-icon{box-shadow:0 0 0 2px white,0 0 0 3px #b8c8e9}.category-menu svg{display:block;width:26px;height:26px}.category-icon.ai{background:#eef0ff;color:#7982d7}.category-icon.health{background:#ffedf0;color:#d58596}.category-icon.receipt{background:#eaf8f2;color:#62a992}.category-icon.fee{background:#fff5e6;color:#c99b57}.category-icon.encyclopedia{background:#f2edfc;color:#9b7fc5}.category-icon.hospital{background:#eaf2fd;color:#6c99d0}body:not(.home-view) .welcome,body:not(.home-view) .suggestions{display:none}body:not(.home-view) .ask-start{margin-bottom:35px}body:not(.home-view) .composer textarea{height:44px;min-height:44px}body:not(.home-view) .composer{padding-top:17px}body:not(.home-view) .category-menu{margin-top:15px}.conversation-started .welcome,.conversation-started .suggestions{display:none}.home-view.conversation-started .ask-start{padding-top:10px;margin-bottom:20px}.footer{max-width:1130px;margin:auto;padding:18px 45px}.privacy-note{margin-top:18px}@media(max-width:760px){.workspace{margin-left:0}.topbar{height:65px;padding:0 18px;gap:12px}.topbar .brand{font-size:20px}.topbar #crumb{display:none}.top-right{margin-left:auto;gap:10px}.header-new{font-size:12px}.top-right a{font-size:12px;padding:5px 10px}main,.home-view main{padding:20px 18px 30px;min-height:calc(100svh - 126px)}.home-view .ask-start{padding-top:32px}.home-view #view-ask,.home-view #view-ask.has-conversation{min-height:0;padding-top:0}.category-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 8px;margin-top:20px;padding:0;overflow:visible}.category-menu button{font-size:13px;padding:10px 3px;gap:8px;white-space:normal}.category-menu svg{display:block;width:24px;height:24px}.category-icon{width:46px;height:46px;border-radius:15px}.ask-start{margin-bottom:28px}.footer{padding:15px 18px}body:not(.home-view) .ask-start{margin-bottom:28px}.home-view.conversation-started .ask-start{padding-top:0}.privacy-note{font-size:10px}}
.pet-picker select{margin:0;border:0;background:#f3f5f9;padding:6px 10px;font-size:14px;border-radius:9px;max-width:160px}.pet-picker select:focus-visible{outline:2px solid #8aabe8}.filter-row #encyclopedia-species{min-width:145px}@media(max-width:760px){.pet-picker select{font-size:13px;max-width:145px}}

/* Fees and source verification take priority in the shared search navigation. */
.category-menu{grid-template-columns:repeat(4,minmax(0,1fr));max-width:650px;margin-left:auto;margin-right:auto}.category-icon.international{background:#edf3ff;color:#6088c9}.category-icon.verify{background:#e8f6f2;color:#439b83}.secondary-menu{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:5px 15px;margin-top:19px}.secondary-menu button{padding:6px 9px;font-size:12px;font-weight:500;gap:6px}.secondary-menu svg{width:16px;height:16px}.welcome p{color:#607188}.trust-intro{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font-size:12px;color:#8996a7;margin:15px 0 35px}.conversation-started .trust-intro{display:none}.country-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.country-tabs button{border:1px solid var(--line);background:white;border-radius:30px;padding:9px 20px;font-size:14px}.country-tabs button[aria-pressed=true]{background:#243754;color:white;border-color:#243754}.country-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.country-notes article{background:#f6f8fc;border-radius:14px;padding:20px}.country-notes b{font-size:14px}.country-notes p{font-size:13px;color:#69788e;line-height:1.9}.country-notes a,.international-card a,.verify-card a{font-size:12px;color:#5073b2;text-decoration:underline;text-underline-offset:3px}.international-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.international-card,.verify-card{border:1px solid #e4eaf2;border-radius:17px;padding:24px;background:#fff}.international-card h2{font-size:18px;margin:14px 0 6px;letter-spacing:-.4px}.international-card p{font-size:12px;color:#78879b;margin:6px 0}.international-card .foreign-price{font-size:26px;color:#2c4e87;font-weight:750;margin:18px 0 4px;letter-spacing:-.8px}.country-tag,.verification-type{font-size:11px;color:#657e9e;background:#f1f5fb;padding:5px 9px;border-radius:6px;display:inline-block}.international-card a{display:inline-block;margin-top:18px}.verify-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.verify-card h2{font-size:21px;margin:17px 0 10px}.verify-card p{font-size:14px;color:#718099;line-height:1.9}.verify-card a{display:inline-block;margin:10px 18px 0 0}.verification-guide{background:#f6f8fc;border-radius:16px;padding:24px;margin-top:25px}.verification-guide h2{font-size:18px;margin-top:0}.verification-guide ol{padding-left:20px;font-size:14px;line-height:2}.home-view .ask-start{padding-top:clamp(25px,7vh,75px)}@media(max-width:760px){.category-menu{gap:3px}.category-menu button{font-size:11px;gap:8px;padding:10px 0}.category-icon{width:44px;height:44px}.secondary-menu{gap:3px}.secondary-menu button{font-size:11px;padding:6px}.country-notes,.international-grid,.verify-grid{grid-template-columns:1fr}.country-notes article,.international-card,.verify-card{padding:20px}.trust-intro{font-size:10px;gap:10px}.welcome p{font-size:14px}.country-tabs button{padding:8px 15px}.page-heading h1{font-size:28px}.home-view .ask-start{padding-top:30px}}
/* Life-stage care encyclopedia and public discussions. */
.care-hero{padding:26px;background:#f2f6fc;border-radius:18px;margin:15px 0 20px}.care-hero h2{font-size:25px;margin:10px 0}.care-hero p{font-size:14px;color:#718096;margin:0}.care-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.care-card{border:1px solid var(--line);border-radius:16px;padding:24px}.care-card h3,.care-clinic h3{font-size:17px;margin:0 0 16px}.care-check{display:flex;align-items:flex-start;gap:10px;margin:13px 0;font-size:14px;cursor:pointer}.care-check input{margin-top:5px;accent-color:#577fc7}.care-check:has(input:checked) span{color:#8a97a9;text-decoration:line-through}.care-card ul{padding-left:19px;margin:0;font-size:14px;color:#53667c;line-height:1.9}.care-card li+li{margin-top:9px}.care-clinic{background:#f7f9fc;border-radius:16px;padding:24px;margin:20px 0}.care-clinic p{font-size:14px}.care-sources{font-size:12px;color:#8290a2;margin:20px 0 35px}.care-sources a{display:inline-block;color:#5679b3;text-decoration:underline;margin:0 18px 10px 0}.care-comments{border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.care-comments h2{font-size:24px}.comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}#comment-form label{font-size:13px;display:block}#comment-form input:not([type=checkbox]),#comment-form textarea{display:block;width:100%;border:1px solid #dce3ee;border-radius:9px;padding:11px;margin:7px 0 15px;max-width:100%}#comment-form textarea{resize:vertical}#comment-form .consent{display:flex}.comment-card{border:1px solid var(--line);border-radius:13px;padding:20px;margin:12px 0}.comment-head{display:flex;justify-content:space-between;gap:12px;font-size:14px}.comment-head span{font-size:12px;color:#8996a6}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.comment-card summary{font-size:12px;color:#7e8ea4;cursor:pointer}.comment-delete{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:12px;margin-top:10px}.comment-delete input{border:1px solid var(--line);padding:7px;border-radius:7px;max-width:180px}.comment-delete span{color:#ad5a51}.breed-archive-title{margin-top:50px;font-size:24px}@media(max-width:760px){.care-grid,.comment-fields{grid-template-columns:1fr}.care-hero,.care-card,.care-clinic{padding:20px}.care-hero h2{font-size:22px}.comment-head{flex-wrap:wrap}#care-age{margin-left:5px}}
.geo-button{display:inline-flex;align-items:center;gap:7px;background:#edf4ff;color:#416dab;border:1px solid #d3e0f5;border-radius:9px;padding:10px 14px;font-size:13px;white-space:nowrap}.geo-button svg{width:18px;height:18px}.geo-status{font-size:13px;color:#52729b;margin:0 0 12px;line-height:1.8}.geo-details{font-size:12px;color:#7a899c;margin:0 0 22px}.geo-details summary{cursor:pointer}.geo-details p{line-height:1.8}.geo-details a{text-decoration:underline}@media(max-width:760px){.geo-button{padding:10px 12px}.geo-status{font-size:12px}}
.pet-page{max-width:1100px}.pet-breadcrumb{font-size:13px;color:#7b8ba1;margin:15px 0 25px}.pet-breadcrumb a{text-decoration:underline}.pet-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:32px;align-items:start;margin:30px 0}.pet-cover{width:100%;max-height:380px;object-fit:cover;border-radius:18px}.pet-overview:not(:has(img)){display:block}.pet-overview h2{font-size:21px}.pet-overview p{line-height:1.9;white-space:pre-line}.pet-age-form,.pet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:25px 0}.pet-actions a{font-size:14px}.pet-legacy{padding:18px;border:1px solid var(--line);border-radius:12px;font-size:14px;margin:20px 0}.pet-directory{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 30px}.pet-directory a{padding:9px 14px;background:#f2f6fc;border-radius:9px;font-size:13px}.breed-card{display:block}.breed-card h2{font-size:18px;margin:0 0 5px}.breed-card:hover{border-color:#b2c4e4}@media(max-width:760px){.pet-overview{grid-template-columns:1fr}.pet-cover{max-height:300px}.pet-page .page-heading h1{font-size:31px}}
/* Reference-inspired workspace: narrow utility rail, centered composer, grouped tools. */
.workspace-ui{--ink:#242528;--blue:#26282c}.workspace-ui .workspace{margin-left:76px}.utility-rail{position:fixed;inset:0 auto 0 0;width:76px;background:#f3f3f3;z-index:20;display:flex;align-items:center;flex-direction:column;gap:22px;padding:22px 5px}.utility-rail a,.utility-rail button{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:none;font-size:11px;color:#68696c;padding:8px 4px;border-radius:12px;width:64px}.utility-rail a:hover,.utility-rail button:hover{background:#fff;color:#222}.utility-rail .rail-logo{display:block;position:relative;width:32px;height:32px;padding:0;background:#202124;color:white;font-size:24px;font-weight:800;line-height:32px;text-align:center;margin-bottom:12px;border-radius:9px}.rail-logo span{position:absolute;font-size:15px;right:2px;top:-9px}.utility-rail svg{width:23px;height:23px}.rail-plus{font-size:28px;line-height:27px}.workspace-ui.home-view .rail-home i{background:white;padding:7px;border-radius:11px}.workspace-ui.home-view .rail-home svg{width:20px;height:20px}.workspace-ui .topbar{height:76px;max-width:none;border:0;padding:0 30px}.workspace-ui .topbar .brand{font-size:20px;color:#8c9097}.workspace-ui.home-view .topbar .brand,.workspace-ui.home-view #crumb{visibility:hidden}.workspace-ui .top-right{margin-left:auto}.workspace-ui .top-right .login-button{background:#242528;color:white;border:1px solid #242528;border-radius:14px;padding:9px 20px;font-size:14px}.workspace-ui main,.workspace-ui.home-view main{max-width:1440px;padding:26px 42px 45px;min-height:calc(100svh - 135px)}.workspace-ui .ask-start{max-width:1280px}.workspace-ui.home-view .ask-start{padding-top:clamp(40px,9vh,112px);margin-bottom:20px}.workspace-ui .welcome h1{font-size:clamp(30px,3vw,43px);font-weight:800;letter-spacing:-1.4px;margin:0 0 13px;line-height:1.35}.workspace-ui .welcome h1 span{color:#242528}.workspace-ui .welcome p{font-size:14px;color:#92959c;margin-bottom:38px}.workspace-ui .composer{max-width:850px;border:1px solid #e0e2e7;border-radius:22px;box-shadow:0 9px 38px #1c24350a;padding:20px 18px 16px}.workspace-ui .composer:focus-within{border-color:#afb8c7;box-shadow:0 8px 38px #1c243510}.workspace-ui .composer textarea{height:67px;min-height:55px;font-size:17px}.composer-options{display:flex;align-items:center;gap:9px}.composer-add{width:39px;height:39px;border:1px solid #e7e7ea;background:white;font-size:26px;color:#505157;border-radius:50%;line-height:1}.workspace-ui .pet-picker select{border:1px solid #e7e7ea;background:white;border-radius:24px;padding:8px 11px;font-size:13px}.workspace-ui .composer-actions>span{display:none}.workspace-ui .send{width:auto;height:39px;display:flex;align-items:center;gap:7px;border-radius:24px;padding:0 15px;background:#242528;font-size:13px}.workspace-ui .send svg{width:18px;height:18px}.workspace-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:48px 0 0;overflow:visible}.tool-group{border-right:1px solid #e9e9ec;padding:0 12px}.tool-group:last-child{border:0}.tool-group-title{text-align:center;font-size:12px;color:#999da5;margin:0 0 23px;font-weight:500}.tool-group-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workspace-tools .tool-link{text-decoration:none}
.tool-group-items.three{grid-template-columns:repeat(3,1fr)}
.workspace-icon.pet{color:#e0648c}
.workspace-icon.price{color:#2f8a57}
.workspace-tools button,.workspace-tools .tool-link{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center;font-size:13px;font-weight:500;padding:12px 1px;white-space:normal;color:#62656e;background:transparent;line-height:1.5;border-radius:12px}.workspace-tools button:hover,.workspace-tools .tool-link:hover{background:#f7f8fa}.workspace-tools button.active{background:transparent;color:#242528;font-weight:700}.workspace-icon{height:34px;display:grid;place-items:center}.workspace-icon svg{width:29px;height:29px;stroke-width:1.7}.workspace-icon.fee{color:#dc8619}.workspace-icon.international{color:#458ae6}.workspace-icon.receipt{color:#478d54}.workspace-icon.verify{color:#8550a4}.workspace-icon.health{color:#ed748d}.workspace-icon.hospital{color:#25b5ad}.workspace-icon.ai{color:#6862ec}.workspace-icon.encyclopedia{color:#398dee}.workspace-tools button.active .workspace-icon{transform:translateY(-2px)}.workspace-ui .suggestions{margin:27px 0 15px;gap:12px}.workspace-ui .suggestions button{font-size:11px;border:0;color:#9a9da5;background:none;padding:4px 7px}.workspace-ui .privacy-note{font-size:10px;color:#aaaeb6;margin-top:14px}.workspace-ui .trust-intro{display:none}.workspace-ui .view:not(#view-ask){max-width:1040px;margin:0 auto}.workspace-ui:not(.home-view) .composer{max-width:790px}.workspace-ui:not(.home-view) .workspace-tools{margin-top:25px}.workspace-ui:not(.home-view) .tool-group-title{margin-bottom:8px}.workspace-ui:not(.home-view) .workspace-tools button,.workspace-ui:not(.home-view) .workspace-tools .tool-link{padding:7px 1px;gap:6px;font-size:12px}
.tool-group-items.three{grid-template-columns:1fr 1fr}.workspace-ui:not(.home-view) .workspace-icon svg{width:25px;height:25px}.workspace-ui .footer{max-width:1440px;color:#a6aab0;border-top:0}.workspace-ui .primary{background:#292b30}.workspace-ui .conversation-started .welcome{display:none}.workspace-ui.home-view.conversation-started .ask-start{padding-top:8px}@media(max-width:950px){.workspace-ui main,.workspace-ui.home-view main{padding-left:24px;padding-right:24px}.tool-group{padding:0 6px}.workspace-tools button,.workspace-tools .tool-link{font-size:11px}}@media(max-width:650px){.utility-rail{width:52px;padding:19px 3px;gap:20px}.utility-rail a,.utility-rail button{width:46px;font-size:10px}.utility-rail .rail-logo{width:29px;height:29px;line-height:29px;font-size:22px}.utility-rail svg{width:20px;height:20px}.workspace-ui .workspace{margin-left:52px}.workspace-ui .topbar{height:62px;padding:0 14px}.workspace-ui .top-right .login-button{padding:7px 13px;border-radius:11px;font-size:12px}.workspace-ui main,.workspace-ui.home-view main{padding:20px 15px 30px}.workspace-ui.home-view .ask-start{padding-top:37px}.workspace-ui .welcome h1{font-size:27px;letter-spacing:-1px}.workspace-ui .welcome p{font-size:12px;line-height:1.8;margin-bottom:26px}.workspace-ui .composer{padding:15px 12px 12px;border-radius:18px}.workspace-ui .composer textarea{font-size:14px;height:80px}.workspace-ui .send{padding:0 12px}.workspace-ui .send span{font-size:12px}.composer-add{width:33px;height:33px;font-size:23px}.composer-options{gap:5px}.workspace-ui .pet-picker select{font-size:11px;padding:7px 5px;max-width:107px}.workspace-tools{grid-template-columns:1fr 1fr;row-gap:26px;margin-top:30px}.tool-group:nth-child(2){border-right:0}.tool-group-title{font-size:11px;margin-bottom:10px}.workspace-tools button,.workspace-tools .tool-link{font-size:11px;gap:9px}.workspace-icon svg{width:26px;height:26px}.workspace-ui .suggestions{gap:4px;margin-top:22px}.workspace-ui .privacy-note{line-height:1.8}.workspace-ui .topbar .brand{font-size:17px}.workspace-ui .footer{padding:18px 15px;flex-wrap:wrap}.workspace-ui .page-heading h1{font-size:26px}}
.workspace-ui .receipt-layout>*{min-width:0}.workspace-ui .upload-zone input{width:100%;min-width:0}.workspace-ui .receipt-species-label select{max-width:100%}@media(max-width:650px){.workspace-ui .receipt-layout{grid-template-columns:minmax(0,1fr)}.workspace-ui .upload-panel{padding:16px}.workspace-ui .upload-zone{padding:25px 12px}}

/* Raise the home title and composer slightly. */
.workspace-ui.home-view:not(.conversation-started) .ask-start{padding-top:clamp(16px,calc(9vh - 28px),84px)}
@media(max-width:650px){.workspace-ui.home-view:not(.conversation-started) .ask-start{padding-top:19px}}

/* Keep the question composer on the home/AI view only. */
.workspace-ui:not(.home-view) #ask-form,.workspace-ui:not(.home-view) .ask-start>.privacy-note{display:none}
.workspace-ui:not(.home-view) .workspace-tools{margin-top:0}

/* Subpages show their own content; Home restores the full start area. */
.workspace-ui:not(.home-view) .ask-start{display:none}

/* Mobile navigation replaces the rail and keeps the common question page reachable. */
.mobile-bottom-nav{display:none}
@media(max-width:1024px){
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 .workspace-ui .utility-rail{display:none}
 .workspace-ui .workspace{margin-left:0}
 .mobile-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:100;align-items:center;justify-content:space-around;gap:10px;margin:0;padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e8eaf0;box-shadow:0 -4px 20px #252a3508;overflow:visible}
 .mobile-bottom-nav a{display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-height:48px;color:#7b8596;font-size:11px;text-decoration:none}
 .mobile-bottom-nav a.mobile-ask-link{color:#6266e8;font-weight:700;background:#f0f1ff;border-radius:14px;max-width:180px}
 .mobile-bottom-nav svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}

/* 영수증 확인 — 왼쪽 업로드+준비 안내, 오른쪽 샘플·내 기록 (2026-09-19) */
.upload-column{display:flex;flex-direction:column;gap:26px}
.receipt-guide{padding:0 6px}
.receipt-guide h2{font-size:20px;margin:8px 0 14px}
.receipt-guide ol{padding-left:22px;margin:0}
.receipt-guide li{padding-left:6px;margin-bottom:14px;font-size:14px}
.receipt-guide p{color:var(--muted);font-size:13px;margin:6px 0}
.receipt-side{display:flex;flex-direction:column;gap:34px;padding:6px 0}
.receipt-side h2{font-size:22px;margin:8px 0 6px}
.receipt-side>section>p{color:var(--muted);font-size:13px;margin:0 0 16px;line-height:1.7}
.sample-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sample-grid button{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0;overflow:hidden;text-align:left;cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
.sample-grid button:hover{border-color:#9db6dd;transform:translateY(-2px);box-shadow:0 8px 24px rgba(24,35,50,.08)}
.sample-grid button:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}
.sample-grid img{width:100%;height:150px;object-fit:cover;object-position:top;background:#f4f6fa;border-bottom:1px solid var(--line)}
.sample-grid span{display:flex;flex-direction:column;gap:3px;padding:12px 14px}
.sample-grid b{font-size:14px}
.sample-grid small{font-size:12px;color:var(--muted)}
.history-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}
.history-head h2{margin-bottom:0}
.history-list{list-style:none;padding:0;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.history-list li{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}
.history-list li:last-child{border-bottom:0}
.history-item{flex:1;display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;background:#fff;text-align:left;cursor:pointer;min-width:0;font:inherit;color:inherit}
.history-item:hover{background:#f6f9ff}
.history-item img{width:44px;height:56px;object-fit:cover;object-position:top;border-radius:6px;background:#f2f5f9;flex:none}
.history-item span{display:flex;flex-direction:column;gap:2px;min-width:0}
.history-item b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-item small{font-size:12px;color:var(--muted)}
.history-delete{border:0;background:#fff;color:#a0a9b8;font-size:12px;padding:0 14px;cursor:pointer;font-family:inherit}
.history-delete:hover{color:#ad563f}
.history-empty{padding:18px 14px;font-size:13px;color:var(--muted)}
.receipt-history .muted{margin-top:0}
@media(max-width:760px){.receipt-side{gap:26px}.sample-grid{gap:10px}.sample-grid img{height:110px}.sample-grid span{padding:10px 12px}.sample-grid b{font-size:13px}.sample-grid small{font-size:11px}.history-empty{font-size:12px}}

.footer{flex-wrap:wrap}
.footer-biz{flex-basis:100%;font-size:11px;color:#9aa4b3;line-height:1.7;margin-top:6px}
.sample-grid button.selected{border-color:var(--blue);box-shadow:0 0 0 3px rgba(56,106,244,.15)}
#receipt-preview{cursor:zoom-in}
.sample-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 0;padding:10px 14px;border:1px solid #dae5fc;background:#f3f7ff;border-radius:10px;font-size:13px;color:#3b5a9a;font-weight:600}
.sample-selected .text-button{font-size:12px;white-space:nowrap}
#receipt-result{max-width:1100px}
.receipt-result-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.receipt-result-grid figure{margin:0;position:sticky;top:16px}
.receipt-result-grid img{width:100%;border:1px solid var(--line);border-radius:10px;background:#f6f8fb;cursor:zoom-in}
@media(max-width:760px){.receipt-result-grid{grid-template-columns:1fr;gap:14px}.receipt-result-grid figure{position:static}.receipt-result-grid img{max-height:260px;object-fit:contain}}
.kakao-chip{display:inline-flex;align-items:center;gap:6px;background:#FEE500;color:#191600;border-radius:999px;padding:9px 16px;font-weight:700;font-size:13px;text-decoration:none;margin-right:8px}
.kakao-chip:hover{background:#f2da00}
.kakao-chip svg{width:17px;height:17px}
.account-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:6px 16px 6px 6px;text-decoration:none;color:var(--ink);background:#fff}
.account-chip:hover{border-color:var(--blue)}
.account-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#386af4,#8aa6ff);color:#fff;font-weight:800;font-size:13px;display:grid;place-items:center}
.account-chip b{font-size:13px;font-weight:700}
.account-chip small{font-size:12px;color:var(--muted)}
@media(max-width:760px){.kakao-chip{padding:8px 12px;font-size:12px;margin-right:6px}.kakao-chip span{display:none}.kakao-chip svg{width:18px;height:18px}.account-chip{padding:5px 12px 5px 5px}.account-chip b{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* 결과 공유 + 사진 안내 말풍선 (2026-09-24) */
.result-share{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.result-share button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:600;color:#4c596e;cursor:pointer;font-family:inherit}
.result-share button:hover{border-color:var(--blue);color:var(--blue)}
.result-share .kakao{background:#FEE500;border-color:#FEE500;color:#191600}
.result-share .kakao:hover{background:#f2da00;border-color:#f2da00;color:#191600}
.result-share button:disabled{opacity:.55;cursor:default}
.share-done{font-size:12px;color:#2f8a57;align-self:center}
.share-url{flex-basis:100%;margin-top:8px;font-size:12px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#f8fafd;color:#41506b;max-width:none}
.add-wrap{position:relative;display:inline-block}
.photo-tip{position:absolute;top:calc(100% + 13px);left:-6px;z-index:5;display:flex;align-items:flex-start;gap:9px;width:max-content;max-width:290px;background:#1d2433;color:#fff;border-radius:13px;padding:12px 14px;box-shadow:0 10px 30px rgba(24,35,50,.22);animation:tipIn .35s ease both}
.photo-tip::after{content:"";position:absolute;bottom:100%;left:20px;border:7px solid transparent;border-bottom-color:#1d2433}
.photo-tip span{display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.6;color:#c9d2e2}
.photo-tip b{font-size:13px;color:#fff}
.tip-spark{font-style:normal;font-size:15px;color:#ffd84d;line-height:1.3;animation:tipSpark 1.7s ease-in-out infinite}
.tip-close{background:none;border:0;color:#7e8aa2;font-size:17px;line-height:1;padding:0 0 0 4px;cursor:pointer}
.tip-close:hover{color:#fff}
@keyframes tipIn{from{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}
@keyframes tipSpark{0%,100%{opacity:.45;transform:scale(.85) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(18deg)}}
.composer-add.tip-on{box-shadow:0 0 0 0 rgba(56,106,244,.45);animation:addPulse 2.2s ease-out infinite}
@keyframes addPulse{0%{box-shadow:0 0 0 0 rgba(56,106,244,.4)}70%{box-shadow:0 0 0 12px rgba(56,106,244,0)}100%{box-shadow:0 0 0 0 rgba(56,106,244,0)}}
@media(prefers-reduced-motion:reduce){.photo-tip,.tip-spark,.composer-add.tip-on{animation:none}}
@media(max-width:760px){.photo-tip{max-width:min(78vw,260px);left:-4px;padding:10px 12px}.photo-tip b{font-size:12px}.photo-tip span{font-size:11px}}

/* 홈 카드 + 피드 진입 (2026-09-24) */
.home-cards{margin:34px auto 0;max-width:1180px;padding:0 20px;width:100%}
.home-cards-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:16px}
.home-cards-head h2{font-size:19px;margin:4px 0 0;letter-spacing:-.4px}
.home-more{font-size:13px;font-weight:700;color:var(--blue);text-decoration:none;white-space:nowrap}
.home-card-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.home-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s}
.home-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(24,35,50,.1);border-color:#c3d3f0}
.home-cover{position:relative;aspect-ratio:4/3;display:grid;place-items:center;background:#f1f4f9;overflow:hidden}
.home-cover img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.home-cover.guide{background:linear-gradient(145deg,#eafaf3,#eef4ff)}
.home-emo{font-size:40px;line-height:1}
.home-badge{position:absolute;top:9px;left:9px;background:rgba(255,255,255,.92);border-radius:6px;padding:4px 8px;font-size:10px;font-weight:800;color:#54607a}
.home-amount{position:absolute;right:9px;bottom:9px;background:rgba(16,24,40,.78);color:#fff;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:800}
.home-body{padding:12px 13px;display:flex;flex-direction:column;gap:4px}
.home-body b{font-size:13.5px;line-height:1.45}
.home-body small{font-size:12px;color:#6b7687;line-height:1.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-body i{font-style:normal;font-size:11px;color:#a0a8b5;margin-top:2px}
.home-cards-note{color:var(--muted);font-size:11.5px;margin:14px 0 0;line-height:1.8}
.sample-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.feed-more-btn{font-size:12px;font-weight:700;color:var(--blue);text-decoration:none;border:1px solid #d7e3fb;background:#f4f8ff;border-radius:999px;padding:7px 14px;white-space:nowrap}
.feed-more-btn:hover{background:#e8f0ff}
.conversation-started .home-cards{display:none}
@media(max-width:600px){.home-card-row{grid-template-columns:repeat(2,1fr);gap:10px}.home-emo{font-size:32px}.home-cards-head h2{font-size:16px}.home-more{font-size:12px}}
/* 공개 피드 올리기 */
.feed-publish{margin-top:12px;border:1px solid #dae5fc;background:#f5f9ff;border-radius:11px;padding:14px 16px}
.feed-publish h4{margin:0 0 6px;font-size:13px}
.feed-publish p{margin:0 0 10px;font-size:11.5px;color:#61708a;line-height:1.75}
.feed-publish .row{display:flex;gap:8px;flex-wrap:wrap}
.feed-publish input{flex:1;min-width:140px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-size:13px;max-width:none}
.feed-publish button{border:0;background:var(--blue);color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.feed-publish button:disabled{opacity:.55;cursor:default}
/* 공유 페이지 댓글 */
.cmt{margin-top:30px}
.cmt h2{font-size:17px;margin:0 0 14px}
.cmt-list{list-style:none;margin:0 0 18px;padding:0}
.cmt-list li{border-top:1px solid var(--line);padding:14px 0}
.cmt-list li:first-child{border-top:0}
.cmt-who{font-size:13px;font-weight:700}
.cmt-when{font-size:11px;color:var(--muted);margin-left:7px;font-weight:400}
.cmt-text{margin:6px 0 0;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.cmt-empty{color:var(--muted);font-size:13px;padding:18px 0}
.cmt-form{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}
.cmt-form .row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.cmt-form input,.cmt-form textarea{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;font-family:inherit;width:100%;max-width:none}
.cmt-form .row input{flex:1;min-width:130px;width:auto}
.cmt-form textarea{min-height:80px;resize:vertical}
.cmt-consent{display:flex;gap:7px;align-items:flex-start;font-size:11.5px;color:#61708a;margin:10px 0;line-height:1.6}
.cmt-consent input{width:auto}
.cmt-form button{border:0;background:var(--blue);color:#fff;border-radius:9px;padding:11px 20px;font-size:13.5px;font-weight:700;cursor:pointer;font-family:inherit}
.cmt-status{font-size:12px;margin-left:10px;color:#2f8a57}
.cmt-status.err{color:#ad563f}

/* 증상 가이드 전체화면 모달 (2026-09-24) */
.guide-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(18,25,38,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);animation:gmFade .2s ease both;overflow-y:auto}
.guide-modal[hidden]{display:none}
.guide-modal-sheet{position:relative;width:min(640px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:20px;padding:34px 34px 30px;box-shadow:0 30px 80px rgba(10,18,32,.35);animation:gmRise .25s cubic-bezier(.2,.8,.3,1) both}
.guide-modal-close{position:absolute;top:14px;right:16px;border:0;background:none;font-size:26px;line-height:1;color:#a0a8b5;cursor:pointer;padding:4px 8px}
.guide-modal-close:hover{color:var(--ink)}
.guide-modal-emo{font-size:40px;line-height:1;display:block;margin-bottom:10px}
.guide-modal-sheet h2{font-size:24px;letter-spacing:-.6px;margin:6px 0 8px}
.guide-modal-lead{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 20px}
.guide-modal-body section{border-top:1px solid var(--line);padding:16px 0}
.guide-modal-body h3{font-size:14px;margin:0 0 8px}
.guide-modal-body ul{margin:0;padding-left:18px;color:#4c596e;font-size:13.5px;line-height:1.9}
.guide-modal-body .urgent{background:#fff5f1;border:1px solid #f5ddd8;border-radius:11px;padding:14px 16px;margin-top:16px}
.guide-modal-body .urgent h3{color:#a8644d}
.guide-modal-body .urgent ul{color:#a8644d}
.guide-modal-cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:22px}
.guide-modal-cta .primary{flex:1;min-width:200px;padding:13px;border-radius:11px;font-size:14px}
.guide-modal-note{color:var(--muted);font-size:11.5px;line-height:1.8;margin:16px 0 0}
@keyframes gmFade{from{opacity:0}to{opacity:1}}
@keyframes gmRise{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.guide-modal,.guide-modal-sheet{animation:none}}
@media(max-width:600px){.guide-modal{padding:12px}.guide-modal-sheet{padding:26px 20px 22px;border-radius:16px;max-height:calc(100vh - 24px)}.guide-modal-sheet h2{font-size:20px}}

/* 백과사전 목록 (2026-09-25) */
.bd-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.bd-emo{font-size:24px}
.bd-top h1{font-size:24px;letter-spacing:-.7px;margin:0}
.bd-count{background:#eef2ff;color:#4a5bbf;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:800}
.bd-tools{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.bd-tools select{flex:0 0 auto;width:auto;min-width:130px}
.bd-tools input{flex:1;min-width:200px;border:1px solid var(--line);border-radius:11px;padding:11px 15px;font-size:14px;font-family:inherit;background:#fff}
.bd-chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.bd-chips button{flex:0 0 auto;width:auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;color:#4c596e;cursor:pointer;font-family:inherit;margin:0}
.bd-chips button.on{background:#262b37;border-color:#262b37;color:#fff;font-weight:700}
.bd-list{list-style:none;margin:8px 0 0;padding:0}
.bd-row{display:flex;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid var(--line)}
.bd-no{width:30px;text-align:center;font-size:15px;font-weight:700;color:#b9c1cd;flex:none}
.bd-face{width:74px;height:74px;border-radius:50%;overflow:hidden;background:#eef1f6;flex:none;display:grid;place-items:center;text-decoration:none}
.bd-face img{width:100%;height:100%;object-fit:cover}
.bd-face span{font-size:24px;font-weight:800;color:#a9b3c2}
.bd-main{flex:1;min-width:0}
.bd-name{display:block;text-decoration:none;color:var(--ink);margin-bottom:5px}
.bd-name b{font-size:17px;letter-spacing:-.3px}
.bd-name span{font-size:14px;color:#7d8899;font-weight:500}
.bd-origin{margin:0 0 8px;font-size:12.5px;color:#61708a}
.bd-origin span{color:#a2acbb}
.bd-badges{display:flex;flex-wrap:wrap;gap:6px}
.bd-badge{background:#f2f5f9;color:#6b7687;border-radius:7px;padding:4px 9px;font-size:11px;font-weight:600}
.bd-badge.size{background:#e9f0ff;color:#4a6bbd}
.bd-shots{display:flex;gap:6px;flex:none;text-decoration:none}
.bd-shots img{width:74px;height:74px;border-radius:10px;object-fit:cover;background:#eef1f6}
.bd-more{width:74px;height:74px;border-radius:10px;background:#262b37;color:#fff;display:grid;place-items:center;text-align:center;font-size:12px;font-weight:700;line-height:1.35}
.bd-empty{padding:50px 20px;text-align:center;color:var(--muted);font-size:14px;border-bottom:0}
.bd-loading{text-align:center;color:var(--muted);font-size:13px;padding:18px 0}
.bd-pager{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:26px 0 6px}
.bd-pager button,.bd-pager span{flex:0 0 auto;width:auto;min-width:40px;text-align:center;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;font-size:13px;color:#4c596e;cursor:pointer;font-family:inherit;margin:0}
.bd-pager button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.bd-pager button:disabled,.bd-pager .off{color:#c6ccd6;background:#fafbfd;cursor:default}
.bd-pager .now{background:#262b37;border-color:#262b37;color:#fff;font-weight:700}
.bd-pager .gap{border:0;background:none;min-width:14px;padding:9px 2px;color:#c6ccd6}
.care-fold{margin-top:30px;border-top:1px solid var(--line);padding-top:18px}
.care-fold>summary{cursor:pointer;font-size:14px;font-weight:700;color:#4c596e;padding:6px 0}
.care-age-row{margin:14px 0}
@media(max-width:860px){.bd-shots img:nth-child(3){display:none}}
@media(max-width:700px){.bd-shots{display:none}.bd-row{gap:12px;padding:14px 2px}.bd-face{width:60px;height:60px}.bd-no{width:22px;font-size:13px}.bd-name b{font-size:15.5px}.bd-name span{font-size:12.5px}.bd-top h1{font-size:19px}.bd-tools input{min-width:0}}

/* 영수증 AI 요약 박스 (2026-09-25) */
.ai-summary{background:linear-gradient(135deg,#f2f7ff,#f7f2ff);border:1px solid #dbe6fb;border-radius:14px;padding:18px 20px;margin-bottom:18px}
.ai-summary h4{margin:0 0 14px;font-size:13px;color:#3b5a9a;letter-spacing:.2px}
.ai-sum-row{display:flex;gap:11px;align-items:flex-start;padding:9px 0;border-top:1px solid #e3ecfb}
.ai-sum-row:first-of-type{border-top:0;padding-top:0}
.ai-sum-icon{font-size:17px;line-height:1.5;flex:none}
.ai-sum-text{min-width:0}
.ai-sum-text b{display:block;font-size:11.5px;color:#7387ad;margin-bottom:3px;font-weight:700}
.ai-sum-text p{margin:0;font-size:14px;line-height:1.75;color:#21304a}
.ai-sum-note{margin:14px 0 0;padding-top:11px;border-top:1px solid #e3ecfb;font-size:11px;color:#8b9ab5;line-height:1.7}
@media(max-width:760px){.ai-summary{padding:15px 16px}.ai-sum-text p{font-size:13.5px}}

.consent b{font-weight:700}
.consent a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}

/* 정보 나눔 — 홈 세 번째 챕터 (2026-09-30) */
.home-share{margin:34px auto 0;max-width:1180px;padding:0 20px;width:100%}
.share-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}
.share-head h2{font-size:23px;letter-spacing:-.7px;margin:5px 0 0}
.share-head p{margin:0;font-size:13px;color:var(--muted);line-height:1.8;max-width:520px}
.share-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;align-items:stretch}
.share-col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.share-col-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.share-col-head h3{font-size:15.5px;margin:0;letter-spacing:-.4px}
.share-col-head span{font-size:11.5px;color:#9aa4b3}
.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.review-list li{padding-bottom:14px;border-bottom:1px solid #f1f4f8}
.review-list li:last-child{border-bottom:0;padding-bottom:0}
.review-top{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.review-top b{font-size:13px}
.review-top time{margin-left:auto;font-size:11px;color:#a8b0bd}
.review-tag{font-size:10.5px;font-weight:700;color:#4a63c9;background:#eef2ff;border-radius:999px;padding:3px 8px}
.review-list p{margin:0;font-size:13px;color:#4c596e;line-height:1.75}
.review-empty{margin:0;font-size:13px;color:var(--muted);line-height:1.85}
.review-write{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.review-write summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--blue)}
.review-write form{margin-top:12px}
.review-write label{display:block;font-size:12px;color:#5c667a;margin-top:10px}
.review-write input,.review-write select,.review-write textarea{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font-size:13px;background:#fff}
.review-write textarea{resize:vertical;line-height:1.7}
.review-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.review-fields label{margin-top:10px}
.review-write .consent{display:flex;align-items:flex-start;gap:7px;font-size:11.5px;line-height:1.6;color:#79828f}
.review-write .consent input{width:auto;margin:2px 0 0}
.review-write button{width:100%;margin-top:12px;border:0;border-radius:10px;padding:11px;font-weight:700;font-size:13px;background:var(--blue);color:#fff}
#review-status{margin:9px 0 0;font-size:11.5px;min-height:15px}
.fact-list{margin:0}
.fact-list dt{font-size:13.5px;font-weight:700;color:var(--ink);margin-top:14px;line-height:1.6}
.fact-list dt:first-child{margin-top:0}
.fact-list dd{margin:4px 0 0;font-size:12.5px;color:#5c667a;line-height:1.8}
.fact-src{margin:16px 0 0;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:#9aa4b3;line-height:1.8}
.fact-src a{display:inline-block;margin-top:4px;color:var(--blue);font-weight:700}
@media(max-width:860px){
 .share-grid{grid-template-columns:1fr}
 .home-share{margin-top:26px}
}
@media(max-width:650px){
 .share-head h2{font-size:20px}
 .share-col{padding:17px 16px}
 .review-fields{grid-template-columns:1fr}
}
.review-empty b{color:#5c667a}
.review-sample{opacity:.92}
.review-sample .review-top b{color:#78818f;font-weight:600}
.review-badge{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.4px;color:#8a919d;background:#f1f3f7;border:1px solid #e5e8ee;border-radius:5px;padding:2px 6px}

/* 항목별 진료비 · 증상 가이드 · 이용후기 페이지 (2026-09-30) */
.crumbs{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;max-width:1180px;margin:0 auto 18px;padding:0 20px;font-size:12px;color:#9aa4b3}
.crumbs a{color:#6b7687}
.crumbs a:hover{color:var(--blue)}
.crumbs span{color:var(--ink);font-weight:700}
.fee-icon{width:22px;height:22px}

/* 홈 · 자주 찾는 진료비 카드 */
.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fact-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:13px;padding:14px;background:#fcfdff}
.fact-card:hover{border-color:#bdccf7;background:#f7f9ff}
.fact-ico{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:#eef2ff;color:var(--blue);margin-bottom:5px}
.fact-q{font-size:12.5px;font-weight:700;color:var(--ink);line-height:1.5}
.fact-num{font-size:20px;letter-spacing:-.8px;margin-top:2px}
.fact-card small{font-size:11px;color:#79828f;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fact-go{margin-top:7px;font-size:11px;font-weight:700;color:var(--blue)}
.fact-all{display:block;margin-top:12px;text-align:center;border:1px solid var(--line);border-radius:10px;padding:10px;font-size:12.5px;font-weight:700;color:#4c596e}
.fact-all:hover{border-color:var(--blue);color:var(--blue)}
.share-more{font-size:11.5px;font-weight:700;color:var(--blue)}
.review-list li>a{display:block}

/* 항목별 진료비 목록 */
.fee-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;max-width:1180px;margin:0 auto;padding:0 20px}
.fee-index-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:14px;padding:16px 17px;background:#fff}
.fee-index-card:hover{border-color:var(--blue)}
.fee-index-card .fee-icon{color:var(--blue);margin-bottom:6px}
.fee-index-name{font-size:14px;font-weight:700}
.fee-index-cond{font-size:11.5px;color:var(--muted)}
.fee-index-card b{font-size:19px;letter-spacing:-.6px;margin-top:6px}
.fee-index-card small{font-size:11px;color:#9aa4b3}

/* 항목별 진료비 상세 */
.fee-page{max-width:1180px;margin:0 auto;padding:0 20px}
.fee-hero{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.fee-hero-icon{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:15px;background:#eef2ff;color:var(--blue)}
.fee-hero-icon .fee-icon{width:26px;height:26px}
.fee-hero h1{font-size:29px;letter-spacing:-1px;margin:6px 0 8px}
.fee-hero p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.8}
.fee-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:30px}
.fee-fig{border:1px solid var(--line);border-radius:14px;padding:17px 18px;background:#fff}
.fee-fig.primary{background:#0f1b33;border-color:#0f1b33;color:#fff}
.fee-fig span{display:block;font-size:11.5px;color:#8d96a5}
.fee-fig.primary span{color:#9fb0d0}
.fee-fig b{display:block;font-size:24px;letter-spacing:-1px;margin:6px 0 3px}
.fee-fig small{font-size:11px;color:#9aa4b3}
.fee-fig.primary small{color:#7f90b0}
.fee-chart-wrap,.fee-table-wrap,.fee-related{margin-bottom:32px}
.fee-chart-wrap h2,.fee-table-wrap h2,.fee-related h2{font-size:18px;letter-spacing:-.5px;margin:0 0 6px}
.fee-sub{margin:0 0 16px;font-size:12.5px;color:var(--muted);line-height:1.8}
.fee-chart{display:flex;flex-direction:column;gap:7px}
.fee-bar-row{display:grid;grid-template-columns:110px minmax(0,1fr) 92px 62px;align-items:center;gap:12px}
.fee-bar-name{font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fee-bar-track{height:20px;background:#f1f4f9;border-radius:6px;overflow:hidden}
.fee-bar{display:block;height:100%;border-radius:6px;background:#93a8e8}
.fee-bar.up{background:#e08a72}
.fee-bar.down{background:#6fb894}
.fee-bar-value{font-size:12.5px;font-weight:700;text-align:right;white-space:nowrap}
.fee-bar-diff{font-size:11px;font-weight:700;color:#9aa4b3;text-align:right;white-space:nowrap}
.fee-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}
.fee-action{border:1px solid var(--line);border-radius:14px;padding:17px 18px;background:#fff}
.fee-action:hover{border-color:var(--blue)}
.fee-action b{display:block;font-size:14.5px}
.fee-action small{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.7}
.fee-related-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.fee-related-row a{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:#fff}
.fee-related-row a:hover{border-color:var(--blue)}
.fee-related-row span{font-size:12.5px;color:#5c667a;line-height:1.5}
.fee-related-row b{font-size:16px;letter-spacing:-.5px}
.fee-source{font-size:11.5px;color:#9aa4b3;line-height:1.9;border-top:1px solid var(--line);padding-top:16px;margin:0}

/* 증상 가이드 */
.guide-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;max-width:1180px;margin:0 auto;padding:0 20px}
.guide-index-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}
.guide-index-card:hover{border-color:var(--blue)}
.guide-index-emo{font-size:30px;line-height:1}
.guide-index-card b{font-size:16px;letter-spacing:-.4px}
.guide-index-card small{font-size:12px;color:var(--muted);line-height:1.75}
.guide-page{max-width:820px;margin:0 auto;padding:0 20px}
.guide-hero{margin-bottom:26px}
.guide-hero-emo{font-size:42px;line-height:1;display:block;margin-bottom:12px}
.guide-hero h1{font-size:31px;letter-spacing:-1.1px;margin:6px 0 10px}
.guide-hero p{margin:0;font-size:14.5px;color:#4c596e;line-height:1.9}
.guide-block{border-top:1px solid var(--line);padding-top:20px;margin-bottom:24px}
.guide-block h2{font-size:16px;letter-spacing:-.4px;margin:0 0 12px}
.guide-block ul{margin:0;padding-left:19px}
.guide-block li{font-size:14px;color:#4c596e;line-height:1.95;margin-bottom:4px}
.guide-block.urgent{background:#fff6f3;border:1px solid #f4ddd4;border-radius:15px;padding:20px 22px}
.guide-block.urgent h2{color:#b45a3c}
.guide-block.urgent li{color:#8c5340}
.guide-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:26px 0 34px}
.guide-cta-main{flex:1 1 260px;text-align:center;background:#171b23;color:#fff;border-radius:13px;padding:15px;font-weight:700;font-size:14px}
.guide-cta-sub{font-size:13px;font-weight:700;color:var(--blue)}
.guide-more h2{font-size:16px;margin:0 0 12px}
.guide-more-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.guide-more-row a{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:#fff}
.guide-more-row a:hover{border-color:var(--blue)}
.guide-more-row span{font-size:22px;line-height:1}
.guide-more-row b{font-size:13.5px}
.guide-more-row small{font-size:11.5px;color:var(--muted)}
.guide-note{margin:28px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:#9aa4b3;line-height:1.9}

/* 이용후기 페이지 */
.rv-filter{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;max-width:1180px;margin:0 auto 20px;padding:0 20px}
.rv-filter a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:12.5px;color:#5c667a;background:#fff}
.rv-filter a.on{background:#171b23;border-color:#171b23;color:#fff;font-weight:700}
.rv-note{max-width:1180px;margin:0 auto 18px;padding:0 20px;font-size:13px;color:var(--muted);line-height:1.85}
.rv-note b{color:#5c667a}
.rv-list{list-style:none;max-width:1180px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rv-card{border:1px solid var(--line);border-radius:15px;padding:18px 20px;background:#fff;scroll-margin-top:90px}
.rv-card:target{border-color:var(--blue);box-shadow:0 0 0 3px #e7edff}
.rv-top{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.rv-top b{font-size:13.5px}
.rv-top time{margin-left:auto;font-size:11px;color:#a8b0bd}
.rv-card p{margin:0;font-size:13.5px;color:#4c596e;line-height:1.85}
.rv-write{max-width:640px;margin:36px auto 0;padding:24px 22px;border:1px solid var(--line);border-radius:16px;background:#fff}
.rv-write h2{font-size:17px;margin:0 0 4px}
.rv-write label{display:block;font-size:12px;color:#5c667a;margin-top:12px}
.rv-write input,.rv-write select,.rv-write textarea{width:100%;margin-top:5px;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:13.5px;background:#fff}
.rv-write textarea{resize:vertical;line-height:1.7}
.rv-write .consent{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.6;color:#79828f}
.rv-write .consent input{width:auto;margin:2px 0 0}
.rv-write button{width:100%;margin-top:14px;border:0;border-radius:10px;padding:12px;font-weight:700;font-size:14px;background:var(--blue);color:#fff}
@media(max-width:700px){
 .fee-hero h1{font-size:23px}
 .fee-bar-row{grid-template-columns:82px minmax(0,1fr) 78px;gap:8px}
 .fee-bar-diff{display:none}
 .fee-actions{grid-template-columns:1fr}
 .fact-grid{grid-template-columns:1fr}
 .guide-hero h1{font-size:24px}
}

/* 품종 카드 피드 (2026-09-30) */
.bf-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;max-width:1180px;margin:0 auto;padding:0 20px;align-items:start}
.bf-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 28px 20px;overflow:hidden}
.bf-progress{margin-bottom:14px}
.bf-bar{display:block;height:3px;border-radius:2px;background:#eef1f6;margin-top:7px;overflow:hidden}
.bf-bar span{display:block;height:100%;border-radius:2px;background:var(--blue)}
.bf-head h1{font-size:30px;letter-spacing:-1.1px;margin:0 0 4px}
.bf-en{margin:0 0 12px;font-size:13px;color:var(--muted)}
.bf-lead{margin:0 0 16px;font-size:14.5px;color:#4c596e;line-height:1.9}
.bf-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.bf-facts span{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:11px;padding:8px 13px;min-width:86px}
.bf-facts small{font-size:10.5px;color:#9aa4b3}
.bf-facts b{font-size:13.5px}
.bf-tabs{display:flex;flex-direction:row;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.bf-tabs::-webkit-scrollbar{display:none}
.bf-tabs a{flex:0 0 auto;white-space:nowrap;padding:11px 15px;font-size:13.5px;font-weight:700;color:#8a94a4;border-bottom:2px solid transparent;margin-bottom:-1px}
.bf-tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}
.bf-tabs a:hover{color:var(--blue)}
.bf-body h2{font-size:19px;letter-spacing:-.5px;margin:0 0 12px}
.bf-body h3{font-size:14px;margin:20px 0 8px}
.bf-body ul{margin:0;padding-left:19px}
.bf-body li{font-size:13.5px;color:#4c596e;line-height:1.95;margin-bottom:3px}
.bf-body p{font-size:13.5px;color:#4c596e;line-height:1.9}
.bf-quote{border-left:3px solid #dfe5f5;padding-left:14px;margin:0 0 14px;color:#404b5e}
.bf-strong{background:#f4f7ff;border-radius:12px;padding:13px 16px;margin:0 0 14px}
.bf-strong b{color:var(--blue)}
.bf-muted{font-size:12px;color:#9aa4b3;line-height:1.85}
.bf-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.bf-links a{border:1px solid var(--line);border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;color:#4c596e}
.bf-links a:hover{border-color:var(--blue);color:var(--blue)}
.bf-vac{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}
.bf-vac th{text-align:left;font-size:11px;color:#8e97a5;padding:0 8px 8px 0;border-bottom:1px solid var(--line)}
.bf-vac td{padding:12px 8px 12px 0;border-bottom:1px solid #f1f4f8;vertical-align:top}
.bf-vac td b{display:block;font-size:13.5px}
.bf-vac td small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:3px}
.bf-vac a{color:var(--blue);font-weight:700}
.bf-age{margin:0 0 14px}
.bf-age select{border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:13px;margin-left:6px}
.bf-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:24px}
.bf-photo{border:0;padding:0;background:none;border-radius:14px;overflow:hidden;aspect-ratio:4/3;cursor:zoom-in}
.bf-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.bf-photo:hover img{transform:scale(1.04)}
.bf-foot{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}
.bf-meta{font-size:11px;color:#9aa4b3}
.bf-nav{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.bf-nav a{font-size:13px;font-weight:700;color:#4c596e;border:1px solid var(--line);border-radius:10px;padding:9px 14px;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-nav a:hover{border-color:var(--blue);color:var(--blue)}
.bf-hint{margin:12px 0 0;font-size:11px;color:#a8b0bd;line-height:1.7}
.bf-side{position:sticky;top:20px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.bf-side-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.bf-side-head h2{font-size:16px;margin:0}
.bf-side-head span{font-size:11px;color:#9aa4b3}
.bf-side-note{margin:8px 0 16px;font-size:11.5px;color:var(--muted);line-height:1.75}
.bf-comments{display:flex;flex-direction:column;gap:14px;max-height:340px;overflow-y:auto}
.bf-comment{border-bottom:1px solid #f1f4f8;padding-bottom:12px}
.bf-comment:last-child{border-bottom:0}
.bf-comment-head{display:flex;align-items:baseline;gap:8px}
.bf-comment-head b{font-size:12.5px}
.bf-comment-head span{margin-left:auto;font-size:10.5px;color:#a8b0bd}
.bf-comment p{margin:5px 0 0;font-size:12.5px;color:#4c596e;line-height:1.75}
.bf-comment details{margin-top:6px}
.bf-comment summary{font-size:11px;color:#9aa4b3;cursor:pointer}
.bf-comment-del{display:flex;align-items:center;gap:6px;margin-top:7px;flex-wrap:wrap}
.bf-comment-del input{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;max-width:150px}
.bf-more{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;font-size:12px;color:#5c667a}
.bf-form{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}
.bf-form label{display:block;font-size:11.5px;color:#5c667a;margin-top:10px}
.bf-form input,.bf-form textarea{width:100%;margin-top:4px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12.5px;background:#fff}
.bf-form textarea{resize:vertical;line-height:1.7}
.bf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bf-form .consent{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.55;color:#79828f}
.bf-form .consent input{width:auto;margin:2px 0 0}
.bf-form button{width:100%;margin-top:12px;border:0;border-radius:10px;padding:10px;font-weight:700;font-size:13px;background:var(--blue);color:#fff}
#bf-status{margin:8px 0 0;font-size:11px;min-height:14px}
.bf-lightbox{position:fixed;inset:0;z-index:200;background:#0b0f16f2;display:flex;align-items:center;justify-content:center;gap:10px;padding:32px}
.bf-lightbox[hidden]{display:none!important}
.bf-lightbox figure{margin:0;max-width:min(1000px,88vw);max-height:84vh;display:flex;flex-direction:column;gap:12px;align-items:center}
.bf-lightbox img{max-width:100%;max-height:74vh;object-fit:contain;border-radius:14px;display:block}
.bf-lightbox figcaption{color:#c6cddb;font-size:12.5px}
.bf-lb-close{position:absolute;top:20px;right:22px;width:40px;height:40px;border-radius:50%;border:0;background:#ffffff1f;color:#fff;font-size:24px;line-height:1}
.bf-lb-prev,.bf-lb-next{width:44px;height:44px;border-radius:50%;border:0;background:#ffffff1a;color:#fff;font-size:26px;line-height:1;flex:0 0 auto}
.bf-lb-prev:hover,.bf-lb-next:hover,.bf-lb-close:hover{background:#ffffff33}
@media(max-width:940px){
 .bf-layout{grid-template-columns:1fr}
 .bf-side{position:static}
 .bf-card{padding:20px 18px 16px;border-radius:16px}
 .bf-head h1{font-size:24px}
 .bf-nav a{max-width:48%}
 .bf-form-row{grid-template-columns:1fr}
 .bf-lightbox{padding:16px;gap:4px}
 .bf-lb-prev,.bf-lb-next{width:36px;height:36px;font-size:20px}
}

/* 백과사전 숏츠 피드 (2026-09-30) — PC·모바일 모두 한 화면에 한 품종.
   --bfd-top 은 고정된 필터바(+모바일 하단 탭바) 높이. 카드 높이를 여기서 뺀다. */
:root{--bfd-top:58px;--bfd-head:58px}
.bfd-burger{display:none}
/* 검색·찜·정렬·크기 묶음. 넓은 화면에서는 바 안에 가로로 놓인다 —
   묶지 않았을 때와 같은 모양이어야 한다. */
.bfd-tools{display:flex;flex-direction:row;align-items:center;gap:10px;flex:1 1 auto;min-width:0}
.bfd-bar{position:sticky;top:0;z-index:30;display:flex;flex-direction:row;align-items:center;gap:10px;
 max-width:1180px;margin:0 auto;padding:10px 20px;height:58px;background:#fff;border-bottom:1px solid var(--line)}
.bfd-back{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);font-size:16px;background:#fff;flex:none}
.bfd-emo{font-size:19px}
.bfd-bar h1{font-size:16px;letter-spacing:-.5px;margin:0;white-space:nowrap}
.bfd-total{background:#eef2ff;color:#4a5bbf;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;flex:none}
.bfd-search{flex:1 1 140px;min-width:100px;margin:0}
.bfd-search input{width:100%;border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;background:#fff}
.bfd-filter{position:relative;flex:none}
.bfd-filter summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:10px;padding:8px 13px;font-size:12.5px;background:#fff;white-space:nowrap}
.bfd-filter summary::-webkit-details-marker{display:none}
.bfd-filter>div{position:absolute;right:0;top:calc(100% + 6px);z-index:5;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;min-width:150px;box-shadow:0 12px 30px #1525400f}
.bfd-filter a{padding:8px 11px;border-radius:8px;font-size:12.5px;color:#4c596e;white-space:nowrap}
.bfd-filter a:hover{background:#f3f6fb}
.bfd-filter a.on{background:#262b37;color:#fff;font-weight:700}

html:has(.bfd-feed){scroll-snap-type:y mandatory}
.bfd-feed{max-width:1180px;margin:0 auto;padding:0 20px}
.bfd-card{height:calc(100vh - var(--bfd-top) - 22px);height:calc(100dvh - var(--bfd-top) - 22px);min-height:520px;
 scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:calc(var(--bfd-head) + 11px);
 margin:11px 0;background:#0d1117;border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.bfd-stage{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 420px}

.bfd-media{position:relative;min-height:0;background:#0d1117;overflow:hidden}
.bfd-track{height:100%;display:flex;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.bfd-track::-webkit-scrollbar{display:none}
.bfd-shot{flex:0 0 100%;height:100%;scroll-snap-align:start;border:0;padding:0;margin:0;background:#0d1117;cursor:zoom-in}
.bfd-shot img{width:100%;height:100%;object-fit:cover;display:block}
.bfd-noimg{height:100%;display:grid;place-items:center;background:#161c26}
.bfd-noimg span{font-size:64px;color:#3a4454;font-weight:800}
.bfd-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:0;background:#0b0f16a6;color:#fff;font-size:22px;line-height:1;z-index:3}
.bfd-arrow.prev{left:14px}
.bfd-arrow.next{right:14px}
.bfd-arrow:disabled{opacity:.2;cursor:default}
.bfd-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:5px;pointer-events:none;z-index:3}
.bfd-dots i{width:6px;height:6px;border-radius:50%;background:#ffffff70}
.bfd-dots i.on{background:#fff;width:18px;border-radius:3px}

/* 설명 — 사진 위 왼쪽 상단 */
.bfd-info{position:absolute;left:0;right:0;top:0;z-index:2;padding:22px 26px 64px;color:#fff;pointer-events:none;
 background:linear-gradient(180deg,#000000cc 0%,#00000080 45%,#0000 100%)}
.bfd-info a{pointer-events:auto}
.bfd-no{font-size:11px;font-weight:800;letter-spacing:.7px;color:#ffffffa6}
.bfd-info h2{font-size:30px;letter-spacing:-1.1px;margin:5px 0 2px;line-height:1.25}
.bfd-info h2 a{color:#fff}
.bfd-en{margin:0 0 10px;font-size:13px;color:#ffffffb8}
.bfd-facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.bfd-facts span{border:1px solid #ffffff3d;border-radius:999px;padding:4px 11px;font-size:11.5px;color:#ffffffe0;background:#ffffff14}
.bfd-desc{margin:0 0 6px;font-size:13.5px;color:#ffffffdb;line-height:1.75;max-width:640px}
.bfd-temper{margin:0 0 10px;font-size:12.5px;color:#ffffffa8;line-height:1.7;max-width:640px}
.bfd-go{display:inline-block;font-size:12.5px;font-weight:700;color:#fff;background:#ffffff26;border-radius:999px;padding:8px 15px}
.bfd-go:hover{background:#ffffff3d}

/* 댓글 — 오른쪽 패널 */
.bfd-talk{display:flex;flex-direction:column;min-height:0;background:#fff;padding:18px 18px 16px}
.bfd-talk-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px;flex:none}
.bfd-talk-close{display:none;margin-left:auto;width:28px;height:28px;place-items:center;flex:none;
 border:1px solid var(--line);border-radius:9px;background:#fff;color:#8a94a4;font-size:16px;line-height:1}
.bfd-talk-head b{font-size:13.5px}
.bfd-count{font-size:11.5px;color:#9aa4b3}
.bfd-comments{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}
.bfd-comment{border-bottom:1px solid #f2f5f9;padding-bottom:9px}
.bfd-comment:last-child{border-bottom:0;padding-bottom:0}
.bfd-comment-head{display:flex;align-items:baseline;gap:8px}
.bfd-comment-head b{font-size:12.5px}
.bfd-comment-head span{margin-left:auto;font-size:10.5px;color:#a8b0bd}
.bfd-comment p{margin:4px 0 0;font-size:12.5px;color:#4c596e;line-height:1.75}
.bfd-comment details{margin-top:5px}
.bfd-comment summary{font-size:10.5px;color:#a8b0bd;cursor:pointer}
.bfd-comment details form{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.bfd-comment details input{border:1px solid var(--line);border-radius:8px;padding:6px 9px;font-size:12px;max-width:130px}
.bfd-comment details button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font-size:12px;color:#ad563f}
.bfd-comment details span{font-size:11px;color:#ad563f}
.bfd-none{margin:0;font-size:12.5px;color:#a8b0bd}
.bfd-allc{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;color:var(--blue)}
.bfd-write{flex:none;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.bfd-write summary{cursor:pointer;font-size:12.5px;font-weight:700;color:var(--blue)}
.bfd-write label{display:block;font-size:11.5px;color:#5c667a;margin-top:9px}
.bfd-write input,.bfd-write textarea{width:100%;margin-top:4px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12.5px;background:#fff}
.bfd-write textarea{resize:vertical;line-height:1.7}
.bfd-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bfd-write .consent{display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.55;color:#79828f}
.bfd-write .consent input{width:auto;margin:2px 0 0}
.bfd-write button[type=submit]{width:100%;margin-top:10px;border:0;border-radius:10px;padding:10px;font-weight:700;font-size:13px;background:var(--blue);color:#fff}
.bfd-status{margin:7px 0 0;font-size:11px;color:#79828f;min-height:14px}

#bfd-sentinel{height:1px}
.bfd-end,.bfd-note,.bfd-empty{max-width:1180px;margin:18px auto;padding:0 20px;font-size:11.5px;color:#9aa4b3;line-height:1.9;text-align:center}
.bfd-empty{font-size:14px;color:#4c596e}
.bfd-pager{display:flex;flex-direction:row;justify-content:center;gap:14px;margin:20px auto;font-size:13px}

@media(max-width:900px){
 /* 모바일에서는 사진이 카드를 꽉 채운다. 댓글을 아래에 붙여 두면
    사진이 반 토막 나서 쇼츠로 읽히지 않는다 — 댓글은 눌렀을 때 올라오는 시트로 뺀다. */
 .bfd-stage{grid-template-columns:1fr;grid-template-rows:1fr}
 .bfd-talk{position:absolute;left:0;right:0;bottom:0;z-index:7;height:74%;
  border-top:1px solid var(--line);border-radius:20px 20px 0 0;padding:14px 16px 12px;
  transform:translateY(101%);transition:transform .28s ease;box-shadow:0 -16px 38px #0b121c24}
 .bfd-talk.open{transform:none}
 .bfd-talk-close{display:grid}
 .bfd-stage.talking .bfd-info{opacity:0;transition:opacity .2s}
 .bfd-info h2{font-size:24px}
 .bfd-info{padding:18px 18px 52px}
 .bfd-desc{font-size:12.5px}
}
@media(max-width:640px){
 /* 쇼츠 화면에서는 하단 탭바를 내린다. 사진이 화면을 꽉 채워야 하는데
    탭바가 67px 을 가져가면 카드 아래가 잘린다. 이동은 왼쪽 ← 와 햄버거로 한다. */
 body:has(.bfd-feed) .mobile-bottom-nav{display:none!important}
 :root{--bfd-top:58px}   /* 상단 바만 뺀다 */
 .bfd-card{height:calc(100svh - var(--bfd-top) - 22px);min-height:0}
 .bfd-bar{gap:8px;padding:9px 12px}
 .bfd-bar h1{font-size:15px}
 .bfd-total{display:none}
 .bfd-feed{padding:0 12px}
 .bfd-card{border-radius:18px}
 .bfd-form-row{grid-template-columns:1fr}

 /* 검색·찜·정렬·크기는 햄버거 안으로 넣는다 — 한 줄에 늘어놓으면 넘친다 */
 .bfd-burger{display:grid;gap:3.5px;align-content:center;width:34px;height:34px;flex:none;
  padding:0 7px;border:1px solid var(--line);border-radius:10px;background:#fff;order:9}
 .bfd-burger span{display:block;height:2px;border-radius:2px;background:#5a6676}
 .bfd-burger[aria-expanded="true"]{background:#eef2ff;border-color:#c6d2f5}
 .bfd-tools{position:absolute;left:0;right:0;top:100%;z-index:30;display:none;
  flex-direction:column;align-items:stretch;gap:9px;padding:13px 14px 15px;
  background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 30px #10192614}
 .bfd-tools.open{display:flex}
 /* 세로로 쌓이는 자리라 flex:1 이 남은 높이를 전부 먹는다 — 내용만큼만 쓰게 한다 */
 .bfd-tools .bfd-search{flex:0 0 auto;width:auto;min-width:0}
 .bfd-tools .bfd-search input{width:100%;padding:11px 13px;font-size:14px}
 .bfd-tools .bfd-chip{flex:0 0 auto;justify-content:center;padding:11px 13px}
 .bfd-tools .bfd-filter{flex:0 0 auto;width:auto}
 .bfd-tools .bfd-filter summary{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;font-size:13.5px}
 .bfd-tools .bfd-filter summary::after{content:'›';color:#b7c0cc;transform:rotate(90deg)}
 .bfd-tools .bfd-filter[open] summary::after{transform:rotate(-90deg)}
 .bfd-tools .bfd-filter>div{position:static;margin-top:6px;min-width:0;box-shadow:none;background:#f8fafc}
}

/* 사진 고르기 — 오른쪽 위 작은 썸네일 */
.bfd-thumbs{position:absolute;top:14px;right:14px;z-index:4;display:flex;flex-direction:row;gap:6px}
.bfd-thumb{width:46px;height:46px;border-radius:10px;overflow:hidden;padding:0;background:#0b0f16;
 border:2px solid #ffffff59;opacity:.72;transition:opacity .15s,border-color .15s}
.bfd-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bfd-thumb:hover{opacity:1}
.bfd-thumb.on{opacity:1;border-color:#fff}

/* 사육방법·질병예방·예방접종 — 댓글 영역 위 오버레이 */
.bfd-guide{position:absolute;top:0;right:0;bottom:0;width:420px;z-index:6;background:#fff;
 border-left:1px solid var(--line);display:flex;flex-direction:column;box-shadow:-18px 0 40px #10192608}
.bfd-guide[hidden]{display:none!important}
.bfd-guide-bar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line);flex:none}
.bfd-guide-tabs{display:flex;flex-direction:row;gap:4px;flex:1;min-width:0}
.bfd-guide-tabs button{flex:1;border:0;background:none;border-radius:9px;padding:8px 6px;font-size:12.5px;font-weight:700;color:#8a94a4;white-space:nowrap}
.bfd-guide-tabs button.on{background:#eef2ff;color:#3854c8}
.bfd-guide-close{flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:17px;line-height:1;color:#6b7687}
.bfd-guide-body{flex:1;min-height:0;overflow-y:auto;padding:16px 18px}
.bfd-guide-body h3{font-size:15.5px;margin:0 0 10px}
.bfd-guide-body h4{font-size:12.5px;margin:16px 0 6px;color:#5c667a}
.bfd-guide-body ul{margin:0;padding-left:17px}
.bfd-guide-body li{font-size:12.5px;color:#4c596e;line-height:1.85;margin-bottom:3px}
.bfd-guide-body p{font-size:12.5px;color:#4c596e;line-height:1.8;margin:0}
.bfd-guide-key{background:#f4f7ff;border-radius:11px;padding:11px 13px;margin-bottom:12px!important}
.bfd-guide-key b{color:var(--blue)}
.bfd-guide-note{color:#9aa4b3!important;font-size:11.5px!important;margin-bottom:10px!important}
.bfd-vac{width:100%;border-collapse:collapse;margin-top:4px}
.bfd-vac td{padding:10px 0;border-bottom:1px solid #f2f5f9;vertical-align:top;font-size:12.5px}
.bfd-vac td:last-child{text-align:right;white-space:nowrap;font-weight:700}
.bfd-vac td b{display:block;font-size:12.5px}
.bfd-vac td small{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.bfd-vac a{color:var(--blue)}
.bfd-guide-more{flex:none;display:block;text-align:center;padding:13px;border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--blue)}
@media(max-width:900px){
 .bfd-guide{width:auto;left:0;border-left:0}
 .bfd-thumbs{top:auto;bottom:34px;right:12px}
 .bfd-thumb{width:40px;height:40px}
}
.need-login{margin:0;padding:12px 14px;background:#f5f7fb;border:1px solid var(--line);border-radius:11px;font-size:12.5px;color:#5c667a;line-height:1.8}
.need-login a{color:var(--blue);font-weight:700}
.bf-as{margin:0 0 4px;font-size:11.5px;color:#8a94a4}
.bf-as b{color:var(--ink)}
.bfd-del{display:flex;flex-direction:row;align-items:center;gap:6px;margin-top:6px}
.bfd-del button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 10px;font-size:11px;color:#ad563f}
.bfd-del span{font-size:11px;color:#ad563f}

/* 홈 · 견종 카드 20장 (백과사전 유도) */
.home-breeds{margin:34px auto 0;max-width:1180px;padding:0 20px;width:100%}
.breed-row{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px}
.breed-card .home-cover{aspect-ratio:1/1}
.breed-card .home-cover img{width:100%;height:100%;object-fit:cover}
.breed-card .home-body{display:flex;flex-direction:column;gap:2px;padding:11px 12px 13px}
.breed-card .home-body b{font-size:13.5px;letter-spacing:-.3px}
.breed-card .home-body small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.breed-card .home-body i{font-size:11px;font-style:normal;color:#a8b0bd;margin-top:2px}
.breed-card:hover{border-color:#bdccf7;transform:translateY(-2px);box-shadow:0 10px 24px #15254010}
@media(max-width:640px){
 .breed-row{grid-template-columns:repeat(3,1fr);gap:8px}
 .breed-card .home-body{padding:9px 9px 11px}
 .breed-card .home-body b{font-size:12px}
 .breed-card .home-body small,.breed-card .home-body i{font-size:10px}
}

/* 부위별 질병 — 그림 카드 (2026-09-30) */
.body-area-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.body-area{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;
 border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px 16px 15px;text-align:left;
 transition:transform .15s,box-shadow .15s,border-color .15s}
.body-area:hover{transform:translateY(-2px);box-shadow:0 10px 24px #15254012}
.body-area .area-art{width:46px;height:46px;border-radius:13px;display:block;margin-bottom:9px}
.body-area .area-number{font-size:10.5px;font-weight:800;letter-spacing:.7px;color:#b3bcc8}
.body-area b{font-size:15.5px;letter-spacing:-.4px}
.body-area .area-phrase{font-size:12px;color:#697382;line-height:1.6}
.body-area .area-signs{font-size:11px;font-style:normal;color:#a8b0bd;margin-top:4px}
.body-area[aria-pressed=true]{border-color:transparent;color:#fff}
.body-area[aria-pressed=true] .area-number{color:#ffffffa6}
.body-area[aria-pressed=true] .area-phrase{color:#ffffffd6}
.body-area[aria-pressed=true] .area-signs{color:#ffffffa6}
.body-area[aria-pressed=true].area-eyes{background:#4f6fe4}
.body-area[aria-pressed=true].area-ears{background:#e07a3c}
.body-area[aria-pressed=true].area-skin{background:#e0605d}
.body-area[aria-pressed=true].area-mouth{background:#3f9e7d}
.body-area[aria-pressed=true].area-belly{background:#d99a2b}
.body-area[aria-pressed=true].area-legs{background:#7357df}
.body-area[aria-pressed=true].area-urine{background:#2f95b4}
.body-area[aria-pressed=true].area-breathing{background:#5b6e87}
.disease-card{border:1px solid var(--line);border-radius:15px;background:#fff;margin-bottom:10px;overflow:hidden}
.disease-card summary{display:flex;align-items:center;gap:14px;padding:15px 17px;cursor:pointer;list-style:none}
.disease-card summary::-webkit-details-marker{display:none}
.disease-art{width:52px;height:52px;border-radius:14px;flex:0 0 auto}
.disease-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.disease-text b{font-size:15px;letter-spacing:-.3px}
.disease-text span{font-size:12.5px;color:#697382;line-height:1.6}
.disease-card[open]{border-color:#c9d6f5}
.disease-body{padding:2px 17px 17px}
.disease-body h3{font-size:12.5px;margin:14px 0 5px;color:#5c667a}
.disease-body p{margin:0;font-size:13px;color:#4c596e;line-height:1.85}
.disease-sources{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.disease-sources a{font-size:11.5px;color:var(--blue);font-weight:700}
@media(max-width:900px){.body-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
 .body-area{padding:13px 13px 12px;border-radius:14px}
 .body-area .area-art{width:38px;height:38px;margin-bottom:7px}
 .body-area b{font-size:14px}
 .disease-art{width:44px;height:44px}
}

/* 품종 카드 — 조회·좋아요·찜·댓글 */
.bfd-meta{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:row;align-items:center;gap:6px;
 padding:26px 16px 12px;background:linear-gradient(0deg,#000000b8,#0000)}
.bfd-stat{display:inline-flex;align-items:center;gap:5px;border:0;background:#ffffff1f;border-radius:999px;
 padding:6px 11px;color:#fff;font-size:12px;font-weight:700;line-height:1}
.bfd-stat svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
button.bfd-stat{cursor:pointer}
button.bfd-stat:hover{background:#ffffff33}
.bfd-like.on{background:#e8486b;color:#fff}
.bfd-like.on svg{fill:currentColor;stroke:none}
.bfd-save.on{background:#f0b03c;color:#231a08}
.bfd-save.on svg{fill:currentColor;stroke:none}
.bfd-dots{bottom:52px}
.bfd-chip{display:inline-flex;align-items:center;gap:5px;flex:none;border:1px solid var(--line);border-radius:10px;
 padding:8px 12px;font-size:12.5px;color:#4c596e;background:#fff;white-space:nowrap}
.bfd-chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}
.bfd-chip.on{background:#f0b03c;border-color:#f0b03c;color:#231a08;font-weight:700}
.bfd-chip.on svg{fill:currentColor;stroke:none}
@media(max-width:640px){
 .bfd-meta{padding:22px 12px 10px;gap:5px}
 .bfd-stat{padding:5px 9px;font-size:11px}
 .bfd-dots{bottom:46px}
}

/* 보호자 목록 · 채팅 */
.bfd-owners b{margin-right:1px}
.bfd-owner-pane{display:flex;flex-direction:column;min-height:0}
.bfd-owner-sum{margin:0 0 12px!important;font-size:12.5px;color:#5c667a}
.bfd-owner-sum b{color:var(--ink)}
.bfd-owner-list{display:flex;flex-direction:column;gap:8px;max-height:150px;overflow-y:auto;margin-bottom:12px}
.bfd-owner{display:flex;align-items:center;gap:9px}
.bfd-owner-face{width:26px;height:26px;border-radius:50%;background:#e8edfb;color:#4a5bbf;display:grid;place-items:center;font-size:12px;font-weight:800;flex:none}
.bfd-owner b{font-size:12.5px}
.bfd-owner small{margin-left:auto;font-size:10.5px;color:#a8b0bd}
.bfd-chat{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px;min-height:0}
.bfd-chat[hidden]{display:none!important}
.bfd-chat-log{display:flex;flex-direction:column;gap:9px;max-height:260px;min-height:120px;overflow-y:auto;padding-right:4px}
.bfd-line{display:flex;flex-direction:column;gap:2px;align-items:flex-start;max-width:92%}
.bfd-line b{font-size:11px;color:#8a94a4}
.bfd-line p{margin:0;font-size:12.5px;line-height:1.7;background:#f2f5f9;border-radius:12px;padding:8px 11px;color:#3c485c}
.bfd-line small{font-size:10px;color:#b3bcc8}
.bfd-line.mine{align-self:flex-end;align-items:flex-end}
.bfd-line.mine p{background:var(--blue);color:#fff}
.bfd-chat-form{display:flex;flex-direction:row;gap:6px}
.bfd-chat-form input{flex:1;min-width:0;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:12.5px;background:#fff}
.bfd-chat-form button{flex:none;border:0;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:700;background:var(--blue);color:#fff}
.bfd-chat-note{margin:0!important;font-size:11px;color:#ad563f;min-height:14px}
.bfd-chat-join{width:100%;border:0;border-radius:11px;padding:11px;font-weight:700;font-size:13px;background:#171b23;color:#fff;margin-top:2px}
.bfd-chat-join:disabled{opacity:.6}
.bfd-owner-note{margin:10px 0 0!important;font-size:10.5px;color:#a8b0bd;line-height:1.7}

/* 기능 타일 — 구분 바와 묶음 제목을 없애고 한 줄 가운데 정렬 (2026-09-30) */
.workspace-tools{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:4px}
.tool-group{display:contents}
.tool-group-title{display:none}
.tool-group-items,.tool-group-items.three{display:contents}
.workspace-tools button,.workspace-tools .tool-link{flex:0 0 126px;border-radius:14px}
@media(max-width:900px){.workspace-tools button,.workspace-tools .tool-link{flex:0 0 112px}}
@media(max-width:640px){
 .workspace-tools{gap:2px}
 .workspace-tools button,.workspace-tools .tool-link{flex:0 0 31%}
}

/* 질병 참고 사진 — 카드 오른쪽 */
.disease-body{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.disease-body:has(.disease-photo){grid-template-columns:minmax(0,1fr) 260px}
.disease-main{min-width:0}
.disease-photo{margin:0;display:flex;flex-direction:column;gap:8px}
.disease-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:13px;display:block;background:#f1f4f9}
.disease-photo figcaption{display:flex;flex-direction:column;gap:4px}
.disease-photo figcaption b{font-size:11.5px;color:#4c596e;line-height:1.6}
.disease-photo-warn{font-size:11px;color:#ad563f;line-height:1.6}
.disease-photo small{font-size:10.5px;color:#a8b0bd}
.disease-photo small a{color:#8a94a4;text-decoration:underline}
@media(max-width:760px){
 .disease-body:has(.disease-photo){grid-template-columns:minmax(0,1fr)}
 .disease-photo{order:-1}
 .disease-photo img{aspect-ratio:16/10}
}

/* 우리 동네 날씨 줄 */
.simple-topbar{position:relative}
.wx-bar{position:absolute;top:calc(100% - 2px);right:30px;z-index:20;
 display:flex;flex-direction:row;align-items:center;gap:7px;flex-wrap:nowrap;white-space:nowrap;
 padding:4px 2px;border:0;background:none;box-shadow:none;
 font-size:12.5px;color:#7b8798;max-width:calc(100vw - 40px);overflow:hidden}
.wx-bar em{font-style:normal;font-weight:700;color:#5a6676;font-size:13px}
.wx-bar i{font-style:normal;color:#ccd3dd;margin:0 2px}
.wx-bar[hidden]{display:none!important}
.wx-ico{display:flex;color:#e0a02b}
.wx-ico svg{width:16px;height:16px}
.wx-bar b{color:#5a6676;font-weight:700}
.wx-ask{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;color:var(--blue);font-weight:700}
.wx-ask:hover{border-color:var(--blue)}
@media(max-width:900px){.wx-bar{right:16px;font-size:12px}}
@media(max-width:640px){
 .wx-bar{right:14px;left:14px;justify-content:center;font-size:11.5px;padding:3px 2px;gap:5px}
 .wx-bar em{font-size:12px}
 .wx-ico svg{width:14px;height:14px}
}
.bfd-credit{margin:0;padding:6px 16px 0;font-size:10px;color:#a8b0bd;line-height:1.6;text-align:right}
.bfd-credit a{color:#8a94a4;text-decoration:underline}
.bf-credit{margin:8px 0 0;font-size:10.5px;color:#a8b0bd;line-height:1.7}
.bf-credit a{color:#8a94a4;text-decoration:underline}

/* 날씨 안내 문구 — 제목 아래 */
.workspace-ui .welcome p.wx-tip{font-size:17px;color:#4c596e;font-weight:600;letter-spacing:-.3px}
@media(max-width:640px){.workspace-ui .welcome p.wx-tip{font-size:14.5px;line-height:1.7}}

/* 위치 권한 안내 팝업 */
.wx-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
 background:#0b0f1673;padding:20px;backdrop-filter:blur(2px)}
.wx-modal[hidden]{display:none!important}
.wx-modal-sheet{background:#fff;border-radius:22px;padding:30px 28px 24px;max-width:400px;width:100%;
 text-align:center;box-shadow:0 24px 60px #0b0f1633}
.wx-modal-ico{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
 border-radius:18px;background:#eef2ff;color:var(--blue);margin-bottom:14px}
.wx-modal-ico svg{width:28px;height:28px}
.wx-modal-sheet h2{font-size:20px;letter-spacing:-.6px;margin:0 0 10px}
.wx-modal-sheet p{margin:0 0 8px;font-size:14px;color:#4c596e;line-height:1.75}
.wx-modal-sheet p b{color:var(--ink)}
.wx-modal-note{font-size:12px!important;color:#9aa4b3!important;line-height:1.7!important;margin-bottom:18px!important}
.wx-modal-btns{display:flex;flex-direction:column;gap:8px}
.wx-modal-ok{border:0;border-radius:13px;padding:14px;font-size:15px;font-weight:700;background:var(--blue);color:#fff}
.wx-modal-ok:hover{background:#2f5ae0}
.wx-modal-no{border:0;background:none;padding:9px;font-size:13px;color:#8a94a4}
.wx-modal-no:hover{color:#5c667a}

/* 우리 동네 진료비 — 지도 */
.pr-map-wrap{max-width:1180px;margin:0 auto 26px;padding:0 20px}
.pr-map-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.pr-map-head h2{font-size:20px;letter-spacing:-.5px;margin:4px 0 0}
.pr-map-actions{display:flex;flex-direction:row;align-items:center;gap:8px;flex-wrap:wrap}
.pr-map-mine{border:1px solid var(--blue);color:var(--blue);border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:700}
.pr-gov-open{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:700;color:#4c596e}
.pr-gov-open:hover{border-color:var(--blue);color:var(--blue)}
.pr-map{width:100%;height:clamp(420px,62vh,760px);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#eef2f7}
.pr-map-info{margin:10px 0 0;font-size:12.5px;color:var(--muted);line-height:1.8}
.pr-map-info b{color:var(--ink)}
.pr-map-info em{font-style:normal;font-weight:800;color:var(--ink)}

/* 정부 조사 20종 팝업 */
.pr-gov-modal{position:fixed;inset:0;z-index:260;display:flex;align-items:center;justify-content:center;background:#0b0f1673;padding:20px}
.pr-gov-modal[hidden]{display:none!important}
.pr-gov-sheet{position:relative;background:#fff;border-radius:20px;max-width:1000px;width:100%;max-height:86vh;overflow-y:auto;padding:26px 26px 22px;box-shadow:0 24px 60px #0b0f1633}
.pr-gov-sheet .pr-gov-table{margin:0}
.pr-gov-close{position:absolute;top:14px;right:16px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:19px;line-height:1;color:#6b7687;z-index:2}
.pr-gov-close:hover{background:#f3f6fb}
@media(max-width:640px){
 .pr-map{height:58vh;border-radius:14px}
 .pr-gov-sheet{padding:20px 16px 16px;border-radius:16px;max-height:90vh}
}
.pr-gov-reopen{max-width:1180px;margin:0 auto 12px;padding:0 20px}

/* ── 우리 동네 진료비 : 화면 전체 지도 (2026-10-01) ── */
body:has(.pr-map-full) .simple-topbar,
body:has(.pr-map-full) .footer,
body:has(.pr-map-full) .mobile-bottom-nav{display:none!important}
body:has(.pr-map-full){overflow:hidden}
body:has(.pr-map-full) main.pet-page{padding:0;max-width:none}

.pr-map-full{position:fixed;inset:0;z-index:0;background:#dfe7ef}

/* 떠 있는 조작부 */
.pr-hud{position:fixed;top:14px;left:14px;right:14px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none;flex-wrap:wrap}
.pr-hud>*{pointer-events:auto}
.pr-hud-left{display:flex;flex-direction:row;align-items:center;gap:8px;background:#fff;border-radius:999px;padding:7px 15px 7px 8px;box-shadow:0 8px 24px #15254021}
.pr-hud-home{width:32px;height:32px;border-radius:50%;background:#f3f6fb;display:grid;place-items:center;color:#4c596e;font-size:16px;flex:none}
.pr-hud-home:hover{background:#e8eefb;color:var(--blue)}
.pr-hud-title{font-size:15px;font-weight:800;letter-spacing:-.4px;white-space:nowrap}
.pr-hud-emo{margin-right:2px}
.pr-hud-reset{font-size:12px;font-weight:700;color:var(--blue);background:#eef2ff;border-radius:999px;padding:5px 11px;white-space:nowrap}
.pr-hud-right{display:flex;flex-direction:row;align-items:center;gap:7px;flex-wrap:wrap}
.pr-hud-btn{border:0;background:#fff;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:700;color:#4c596e;box-shadow:0 8px 24px #15254021;white-space:nowrap}
.pr-hud-btn:hover{color:var(--blue)}
.pr-hud-btn.mine{background:var(--blue);color:#fff}
.pr-hud-btn.mine:hover{background:#2f5ae0;color:#fff}

.pr-map-info{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:10;
 background:#fffffff0;border-radius:999px;padding:9px 18px;font-size:13px;color:#4c596e;
 box-shadow:0 8px 24px #15254018;max-width:calc(100vw - 28px);text-align:center;margin:0}
.pr-map-info b{color:var(--ink)}
.pr-map-info em{font-style:normal;font-weight:800;color:var(--ink)}

.pr-legend{position:fixed;left:16px;bottom:18px;z-index:10;display:flex;flex-direction:column;gap:5px;
 background:#fffffff0;border-radius:14px;padding:11px 13px;box-shadow:0 8px 24px #15254018;font-size:11.5px;color:#5c667a}
.pr-legend span{display:flex;align-items:center;gap:7px}
.pr-legend i{width:13px;height:13px;border-radius:4px;display:block}

/* 오른쪽 통계 패널 */
.pr-panel{position:fixed;top:0;right:0;bottom:0;width:min(520px,46vw);z-index:12;background:#fff;
 overflow-y:auto;padding:70px 26px 40px;box-shadow:-18px 0 46px #1525401a;
 transition:transform .28s ease}
.pr-panel.closed{transform:translateX(100%)}
.pr-panel .pr-head,.pr-panel .pr-gov-reopen,.pr-panel .pr-filters,
.pr-panel .pr-gugun,.pr-panel .pr-pick,.pr-panel .pr-empty,
.pr-panel .pr-cards,.pr-panel .pr-foot,.pr-panel>p,.pr-panel>section,.pr-panel>h2{max-width:none;padding-left:0;padding-right:0;margin-left:0;margin-right:0}
.pr-panel .pr-head h1{font-size:23px;letter-spacing:-.8px}
.pr-panel .pr-head p{font-size:12.5px;line-height:1.8}
.pr-panel .pr-filters{flex-wrap:wrap}
.pr-panel .pr-table{font-size:12px}
.pr-panel-plain{position:static;width:auto;box-shadow:none;padding:0;overflow:visible}

@media(max-width:860px){
 .pr-panel{top:auto;left:0;width:auto;height:62vh;border-radius:22px 22px 0 0;padding:22px 18px 30px;
  box-shadow:0 -18px 46px #1525401f}
 .pr-panel.closed{transform:translateY(100%)}
 .pr-panel::before{content:'';display:block;width:42px;height:4px;border-radius:2px;background:#dde3ec;margin:0 auto 14px}
 .pr-map-info{bottom:calc(62vh + 14px);font-size:12px;padding:8px 14px}
 .pr-legend{left:12px;bottom:calc(62vh + 14px);flex-direction:row;gap:10px;padding:8px 11px}
 .pr-hud{top:10px;left:10px;right:10px;gap:8px}
 .pr-hud-title{font-size:13.5px}
 .pr-hud-btn{padding:8px 12px;font-size:12px}
}
/* HUD 를 패널 위로, 패널이 열려 있으면 패널 왼쪽에 */
.pr-hud{z-index:14}
body:has(#pr-panel:not(.closed)) .pr-hud{right:calc(min(520px,46vw) + 14px)}
body:has(#pr-panel:not(.closed)) .pr-map-info{left:calc((100vw - min(520px,46vw))/2)}
@media(max-width:860px){
 body:has(#pr-panel:not(.closed)) .pr-hud{right:10px}
 body:has(#pr-panel:not(.closed)) .pr-map-info{left:50%}
}
/* 지도 위 지역 이름표 */
.pr-pin{display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;
 background:#fffffff2;border-radius:12px;padding:5px 10px;box-shadow:0 4px 14px #15254026;
 transition:transform .13s,box-shadow .13s;white-space:nowrap;border:1px solid #ffffff}
.pr-pin:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 10px 22px #15254033;border-color:#c9d6f5}
.pr-pin b{font-size:12px;letter-spacing:-.3px;color:#1b2434}
.pr-pin span{font-size:10.5px;color:#7a8595;font-weight:700}
@media(max-width:860px){.pr-pin{padding:4px 8px}.pr-pin b{font-size:11px}.pr-pin span{font-size:9.5px}}

/* 홈 — 함께 운영하는 서비스 버튼 */
.hero-links{display:flex;flex-direction:row;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.hero-link{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:15px;
 padding:11px 16px 11px 13px;background:#fff;text-align:left;
 transition:transform .14s,box-shadow .14s,border-color .14s}
.hero-link:hover{transform:translateY(-2px);box-shadow:0 10px 24px #15254014;border-color:#c9d6f5}
.hero-link-ico{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;flex:none}
.hero-link-ico svg{width:19px;height:19px}
.hero-link.pettag .hero-link-ico{background:#e8f1ff;color:#2f6ad0}
.hero-link.petmom .hero-link-ico{background:#ffeef2;color:#d85a7a}
.hero-link-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.hero-link-txt b{font-size:13.5px;letter-spacing:-.3px;color:var(--ink)}
.hero-link-txt small{font-size:11px;color:#9aa4b3}
.hero-link-go{font-size:13px;color:#b9c1cd;margin-left:2px}
.hero-link:hover .hero-link-go{color:var(--blue)}
.wx-bar small{font-size:11px;color:#9aa4b3}
@media(max-width:640px){
 .hero-links{gap:8px}
 .hero-link{flex:1 1 100%;padding:10px 13px}
 .hero-link-txt b{font-size:13px}
}
/* 진료비 수치 안내 — AI 수집·가공 */
.fee-ai-note{margin:8px 0 0;font-size:11.5px;color:#9a7b4f;line-height:1.75;
 background:#fffaf0;border:1px solid #f0e2cb;border-radius:10px;padding:9px 12px}
.fee-ai-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.3px;color:#8a6a3d;
 background:#f6ecd9;border-radius:5px;padding:2px 6px;margin-right:4px;vertical-align:1px}

/* ── 챌린지 (2026-10-01) ── */
.ch-filter{display:flex;flex-direction:row;flex-wrap:wrap;gap:7px;max-width:1180px;margin:0 auto 20px;padding:0 20px}
.ch-filter a{border:1px solid var(--line);border-radius:999px;padding:8px 15px;font-size:12.5px;color:#5c667a;background:#fff}
.ch-filter a.on{background:#171b23;border-color:#171b23;color:#fff;font-weight:700}
.ch-filter a.mine{margin-left:auto;border-color:#cdd9f7;color:var(--blue);font-weight:700}
.ch-filter a.mine.on{background:var(--blue);border-color:var(--blue);color:#fff}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;max-width:1180px;margin:0 auto;padding:0 20px}
.ch-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;
 transition:transform .15s,box-shadow .15s,border-color .15s}
.ch-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #15254014;border-color:#cdd9f7}
.ch-card.joined{border-color:#bcd0f6;background:linear-gradient(#f7faff,#fff 60%)}
.ch-card-link{display:block;padding:20px 20px 0}
.ch-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.ch-emo{font-size:30px;line-height:1}
.ch-badges{display:flex;flex-direction:row;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.ch-days{font-size:10.5px;font-weight:800;color:#3854c8;background:#eef2ff;border-radius:999px;padding:4px 9px;white-space:nowrap}
.ch-cat{font-size:10.5px;font-weight:700;color:#6b7687;background:#f2f5f9;border-radius:999px;padding:4px 9px;white-space:nowrap}
.ch-card h2{font-size:17px;letter-spacing:-.5px;margin:0 0 7px}
.ch-card p{margin:0;font-size:13px;color:#5c667a;line-height:1.8}
.ch-progress{display:flex;align-items:center;gap:10px;padding:14px 20px 0}
.ch-progress b{font-size:11.5px;color:#3854c8;white-space:nowrap}
.ch-bar{flex:1;height:7px;border-radius:4px;background:#eef1f6;overflow:hidden;display:block}
.ch-bar span{display:block;height:100%;border-radius:4px;background:var(--blue);transition:width .25s}
.ch-bar.big{height:10px;margin:10px 0 16px}
.ch-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px 18px;margin-top:auto}
.ch-people{font-size:11.5px;color:#9aa4b3}
.ch-go{font-size:12.5px;font-weight:700;color:var(--blue);background:#eef2ff;border-radius:999px;padding:8px 14px;white-space:nowrap}
.ch-go.on{background:var(--blue);color:#fff}
.ch-empty,.ch-note{max-width:1180px;margin:18px auto;padding:0 20px;font-size:12.5px;color:#9aa4b3;line-height:1.9}
.ch-empty{font-size:14px;color:#4c596e}

/* 상세 */
.chd{max-width:820px;margin:0 auto;padding:0 20px}
.chd-head{text-align:center;margin-bottom:24px}
.chd-emo{font-size:46px;line-height:1;display:block;margin-bottom:10px}
.chd-head .ch-badges{justify-content:center;margin-bottom:10px}
.chd h1{font-size:30px;letter-spacing:-1px;margin:0 0 10px}
.chd-desc{margin:0 0 10px;font-size:14.5px;color:#4c596e;line-height:1.9}
.chd-people{margin:0;font-size:12.5px;color:#9aa4b3}
.chd-people b{color:var(--blue);font-weight:800}
.chd-action{display:flex;flex-direction:column;align-items:center;gap:9px;margin-bottom:26px}
.chd-join{border:0;border-radius:13px;padding:14px 30px;font-size:15px;font-weight:700;background:var(--blue);color:#fff;min-width:230px}
.chd-join.on{background:#eef2ff;color:#3854c8}
.chd-stamp{border:0;border-radius:13px;padding:13px 28px;font-size:14.5px;font-weight:700;background:#171b23;color:#fff;min-width:230px}
.chd-stamp:hover{background:#2a3242}
.chd-status{margin:0;font-size:12.5px;color:#3854c8;min-height:16px}
.chd-board{border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:26px;background:#fff}
.chd-board.locked{opacity:.62}
.chd-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.chd-board-head h2{font-size:16px;margin:0}
.chd-count{font-size:12.5px;color:#9aa4b3}
.chd-count b{color:var(--ink);font-weight:800}
.chd-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}
.chd-day{position:relative;aspect-ratio:1;border:1.5px dashed #dfe4ec;border-radius:14px;background:#fbfcfe;
 display:grid;place-items:center;cursor:pointer;transition:transform .12s,background .15s,border-color .15s}
.chd-day:hover:not(:disabled){transform:scale(1.06);border-color:var(--blue)}
.chd-day:disabled{cursor:default}
.chd-day.future{opacity:.45}
.chd-n{position:absolute;top:5px;left:7px;font-size:9.5px;color:#b3bcc8;font-weight:700}
.chd-mark{font-size:20px;opacity:0;transform:scale(.5) rotate(-18deg);transition:opacity .18s,transform .18s}
.chd-day.on{background:#eef5ff;border-style:solid;border-color:#9fbcf5}
.chd-day.on .chd-mark{opacity:1;transform:scale(1) rotate(-8deg)}
.chd-day.on .chd-n{color:#7f9ddd}
.chd-locked-note{margin:14px 0 0;font-size:12px;color:#9aa4b3}
.chd-block{border-top:1px solid var(--line);padding-top:20px;margin-bottom:22px}
.chd-block h2{font-size:16px;margin:0 0 10px}
.chd-block p{margin:0;font-size:14px;color:#4c596e;line-height:1.9}
.chd-block ul{margin:0;padding-left:19px}
.chd-block li{font-size:14px;color:#4c596e;line-height:1.95;margin-bottom:4px}
.chd-link{display:inline-block;border:1px solid var(--line);border-radius:11px;padding:11px 17px;font-size:13px;font-weight:700;color:var(--blue);margin-bottom:26px}
.chd-link:hover{border-color:var(--blue)}
.chd-more h2{font-size:16px;margin:0 0 12px}
.chd-more-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.chd-more-row a{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:13px;padding:13px 15px;background:#fff}
.chd-more-row a:hover{border-color:var(--blue)}
.chd-more-row span{font-size:22px;line-height:1}
.chd-more-row b{font-size:13px;letter-spacing:-.3px}
.chd-more-row small{font-size:11px;color:#9aa4b3}
.chd-note{margin:26px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:11.5px;color:#9aa4b3;line-height:1.9}
@media(max-width:640px){
 .chd h1{font-size:23px}
 .chd-days{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px}
 .chd-mark{font-size:17px}
 .ch-filter a.mine{margin-left:0}
}

/* ── 챌린지 숏츠 피드 (2026-10-01) ── */
:root{--chf-top:58px;--chf-head:58px}
@media(max-width:640px){:root{--chf-top:125px}}

.chf-bar{position:sticky;top:0;z-index:30;display:flex;flex-direction:row;align-items:center;gap:9px;
 max-width:1180px;margin:0 auto;padding:10px 20px;height:58px;background:#fff;border-bottom:1px solid var(--line)}
.chf-back{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);font-size:16px;background:#fff;flex:none}
.chf-emo{font-size:19px}
.chf-bar h1{font-size:16px;letter-spacing:-.5px;margin:0;white-space:nowrap}
.chf-total{background:#eef2ff;color:#4a5bbf;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800;flex:none}
.chf-chips{display:flex;flex-direction:row;gap:6px;margin-left:auto;overflow-x:auto;scrollbar-width:none;min-width:0}
.chf-chips::-webkit-scrollbar{display:none}
.chf-chips a{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:12.5px;color:#5c667a;background:#fff;white-space:nowrap}
.chf-chips a.on{background:#171b23;border-color:#171b23;color:#fff;font-weight:700}
.chf-chips a.mine{border-color:#cdd9f7;color:var(--blue);font-weight:700}
.chf-chips a.mine.on{background:var(--blue);border-color:var(--blue);color:#fff}

html:has(.chf-feed){scroll-snap-type:y proximity}
.chf-feed{max-width:1180px;margin:0 auto;padding:0 20px}
.chf-card{min-height:calc(100vh - var(--chf-top) - 22px);min-height:calc(100dvh - var(--chf-top) - 22px);
 scroll-snap-align:start;scroll-margin-top:calc(var(--chf-head) + 11px);
 margin:11px 0;border-radius:24px;overflow:hidden;display:flex;border:1px solid var(--line);background:#fff}
.chf-stage{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}

.chf-intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;padding:40px 42px;color:#fff;
 min-height:0;overflow-y:auto;scrollbar-width:none}
.tone-walk .chf-intro{background:linear-gradient(145deg,#4f80e4,#2f55b8)}
.tone-health .chf-intro{background:linear-gradient(145deg,#4bb18c,#27805f)}
.tone-habit .chf-intro{background:linear-gradient(145deg,#e0a24b,#b6762a)}
.tone-bond .chf-intro{background:linear-gradient(145deg,#a07ae8,#6f4ac4)}
.tone-log .chf-intro{background:linear-gradient(145deg,#e07a8e,#b8475f)}
.chf-no{font-size:11px;font-weight:800;letter-spacing:.7px;color:#ffffffa6}
.chf-badges{display:flex;gap:6px;flex-wrap:wrap}
.chf-badges b,.chf-badges span{font-size:11px;font-weight:800;border-radius:999px;padding:5px 11px;background:#ffffff26;color:#fff}
.chf-intro h2{font-size:32px;letter-spacing:-1.2px;margin:4px 0 2px;line-height:1.25;color:#fff}
.chf-desc{margin:0;font-size:14.5px;color:#ffffffe0;line-height:1.85;max-width:430px}
.chf-why{margin:0;font-size:12.5px;color:#ffffffad;line-height:1.8;max-width:430px;border-left:2px solid #ffffff4d;padding-left:11px}
.chf-people{margin:4px 0 0;font-size:12.5px;color:#ffffffc2}
.chf-people b{color:#fff;font-weight:800}
.chf-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.chf-join{border:0;border-radius:13px;padding:13px 24px;font-size:14.5px;font-weight:700;background:#fff;color:#1b2434;cursor:pointer}
.chf-join:hover{background:#f1f4fa}
.chf-join.on{background:#ffffff2e;color:#fff}
.chf-stamp{border:0;border-radius:13px;padding:13px 22px;font-size:14.5px;font-weight:700;background:#111826;color:#fff;cursor:pointer}
.chf-stamp:hover{background:#28324a}
.chf-more{font-size:12.5px;font-weight:700;color:#ffffffd1;text-decoration:underline}
.chf-more:hover{color:#fff}
.chf-status{margin:4px 0 0;font-size:12.5px;color:#ffffffd6;min-height:16px}

.chf-board{display:flex;flex-direction:column;min-height:0;padding:34px 32px;overflow-y:auto;background:#fff;
 scrollbar-width:thin}
.chf-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex:none}
.chf-board-head b{font-size:15px}
.chf-board-head span{font-size:12.5px;color:#9aa4b3}
.chf-board-head em{font-style:normal;color:var(--ink);font-weight:800}
.chf-prog{display:block;height:9px;border-radius:5px;background:#eef1f6;overflow:hidden;margin:10px 0 16px;flex:none}
.chf-prog span{display:block;height:100%;border-radius:5px;background:var(--blue);transition:width .25s}
.chf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;flex:none;margin-bottom:18px}
.chf-stats>div{background:#f6f8fc;border-radius:14px;padding:13px 10px;text-align:center}
.chf-stats b{display:block;font-size:25px;font-weight:800;letter-spacing:-1px;color:var(--ink);line-height:1.15}
.chf-stats i{font-style:normal;font-size:11.5px;color:#93a0b1}
.chf-card.joined .chf-stats>div:first-child b{color:var(--blue)}

/* 도장판은 한 주씩 넘겨 본다. 한 달치를 한 번에 깔면 칸이 작고 흐려져
   어느 날이 오늘인지 읽히지 않는다. */
.chf-cal{flex:none}
.chf-wknav{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.chf-wkhead{flex:1;text-align:center;line-height:1.3}
.chf-wkhead b{display:block;font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:-.3px}
.chf-wkhead i{font-style:normal;font-size:11.5px;color:#97a2b2}
.chf-wkbtn{width:34px;height:34px;flex:none;border:1.5px solid #e2e8f1;border-radius:11px;background:#fff;
 color:#5d6a7e;font-size:19px;line-height:1;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.chf-wkbtn:hover:not(:disabled){background:#f3f7ff;border-color:var(--blue);color:var(--blue)}
.chf-wkbtn:disabled{opacity:.3;cursor:default}
.chf-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:7px}
.chf-dow span{text-align:center;font-size:11.5px;font-weight:700;color:#97a2b2}
.chf-dow span:first-child{color:#e4868f}
.chf-dow span.sat{color:#7f9ad4}
.chf-weeks{overflow:hidden}
.chf-track{display:flex;transition:transform .34s cubic-bezier(.3,.8,.35,1)}
.chf-week{flex:0 0 100%;display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.chf-blank{aspect-ratio:1}
.chf-day{position:relative;aspect-ratio:1;border:2px solid #e3e9f2;border-radius:16px;background:#fff;
 display:grid;place-items:center;cursor:pointer;transition:transform .12s,background .15s,border-color .15s}
.chf-day:hover:not(:disabled){transform:translateY(-2px);border-color:var(--blue)}
.chf-day:disabled{cursor:default}
.chf-day.future{background:#f7f9fc;border-color:#e8edf4}
.chf-day.future .chf-n{color:#bcc4d0}
.chf-day.now{border-color:var(--blue);box-shadow:0 0 0 4px #e9f0ff}
.chf-n{position:absolute;top:7px;left:9px;font-size:12px;color:#7f8a9c;font-weight:700}
.chf-mark{font-size:28px;opacity:0;transform:scale(.5) rotate(-18deg);transition:opacity .18s,transform .18s}
.chf-day.on{background:#eaf2ff;border-color:#7ea6f0}
.chf-day.on .chf-mark{opacity:1;transform:scale(1) rotate(-8deg)}

/* 전체 흐름을 한 줄로 — 누르면 그 주로 넘어간다 */
.chf-mini{display:flex;gap:9px;margin-top:14px;flex-wrap:wrap}
.chf-minigroup{display:flex;gap:3px;padding:5px 6px;border:0;border-radius:9px;background:#f4f7fb;
 cursor:pointer;transition:background .15s,box-shadow .15s}
.chf-minigroup:hover{background:#e9f0fa}
.chf-minigroup.on{background:#e6eeff;box-shadow:inset 0 0 0 1.5px #a8c2f3}
.chf-minigroup i{width:7px;height:7px;border-radius:2px;background:#dde3ec}
.chf-minigroup i.on{background:var(--blue)}
.chf-minigroup i.void{background:transparent}
.chf-locked,.chf-todo,.chf-done{margin:14px 0 0;font-size:12.5px;color:#9aa4b3;flex:none}
.chf-todo{color:#d08a3a}
.chf-done{color:#2f9a72}

/* 팁과 링크는 아래에 붙여 빈 공간을 흡수한다 */
.chf-near{margin-top:22px}
.chf-near-row{display:flex;align-items:center;gap:11px;padding:11px 14px;margin-bottom:7px;
 border:1.5px solid #eef1f6;border-radius:14px;text-decoration:none;transition:border-color .15s,background .15s}
.chf-near-row:hover{border-color:#c8d8f7;background:#f7faff}
.chf-near-tag{flex:none;font-size:11px;font-weight:700;color:#8694a8;background:#f2f5fa;
 border-radius:7px;padding:4px 8px}
.chf-near-row b{flex:1;font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-.2px}
.chf-near-row i{font-style:normal;color:#b9c2cf;font-size:17px;line-height:1}
.chf-foot{margin-top:auto;padding-top:20px}
.chf-foot-h{margin:0 0 9px;font-size:12.5px;font-weight:800;color:#6b7a90;letter-spacing:-.2px}
.chf-tiplist{margin:0;padding:0;list-style:none;counter-reset:tip}
.chf-tiplist li{counter-increment:tip;position:relative;padding:9px 12px 9px 36px;margin-bottom:6px;
 background:#f8fafd;border-radius:12px;font-size:12.5px;color:#4c596e;line-height:1.7}
.chf-tiplist li::before{content:counter(tip);position:absolute;left:11px;top:9px;width:17px;height:17px;
 border-radius:50%;background:#e3ebfa;color:var(--blue);font-size:10.5px;font-weight:800;
 display:grid;place-items:center}
.chf-foot-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.chf-link{font-size:12.5px;font-weight:700;color:var(--blue)}
.chf-hits{font-size:12px;color:#9aa4b3}
.chf-hits b{color:#6b7a90;font-weight:800}
.chf-empty,.chf-note{max-width:1180px;margin:18px auto;padding:0 20px;font-size:12px;color:#9aa4b3;line-height:1.9;text-align:center}
.chf-empty{font-size:14px;color:#4c596e}

/* 낮은 화면에서는 달력을 줄여 팁까지 한 번에 보이게 한다.
   칸은 정사각형을 유지해야 도장판처럼 보이므로 폭을 좁혀 줄인다. */
@media(min-width:901px) and (max-height:880px){
 .chf-board{padding:24px 26px}
 .chf-stats{margin-bottom:13px}
 .chf-stats>div{padding:10px 8px}
 .chf-stats b{font-size:21px}
 .chf-wknav{margin-bottom:8px}
 .chf-mini{margin-top:10px}
 .chf-near{margin-top:14px}
 .chf-near-row{padding:8px 12px;margin-bottom:5px}
 .chf-foot{padding-top:14px}
 .chf-tiplist li{padding:6px 10px 6px 32px;margin-bottom:5px;font-size:12px;line-height:1.6}
 .chf-locked,.chf-todo,.chf-done{margin-top:10px;font-size:12px}
}
@media(min-width:901px) and (max-height:790px){
 /* 더 낮아지면 달력 칸을 줄이고 팁은 두 개까지만 — 나머지는 상세 페이지에 있다 */
 .chf-weeks,.chf-dow{max-width:386px}
 .chf-tiplist li:nth-child(n+3){display:none}
 .chf-wknav{margin-bottom:6px}
 .chf-dow{margin-bottom:5px}
 .chf-mini{margin-top:8px}
 .chf-near{margin-top:12px}
 .chf-near-row{padding:7px 12px}
 .chf-foot{padding-top:12px}
 .chf-locked,.chf-todo,.chf-done{margin-top:8px}
 .chf-art{width:min(250px,56%)}
 .chf-intro{padding:30px 42px}
}

/* 화면이 낮으면 카드가 밖으로 자라지 않게 가두고, 안쪽에서 스크롤하게 둔다 —
   한 카드가 한 화면이라는 규칙이 깨지면 스냅이 어긋난다 */
@media(min-width:901px){
 .chf-card{max-height:calc(100vh - var(--chf-top) - 22px);max-height:calc(100dvh - var(--chf-top) - 22px)}
}
@media(max-width:900px){
 /* 세로로 쌓이면 카드가 화면보다 길어진다. 이때 mandatory 로 물리면
    카드 아래쪽을 볼 수 없으므로 느슨하게 건다. */
 html:has(.chf-feed){scroll-snap-type:y proximity}
 .chf-card{min-height:auto}
 .chf-stage{grid-template-columns:1fr;grid-template-rows:auto auto}
 .chf-intro{overflow:visible}
 .chf-board{overflow:visible}
 .chf-intro{padding:28px 22px;gap:7px}
 .chf-intro h2{font-size:25px}
 .chf-board{padding:20px 18px}
}
@media(max-width:640px){
 .chf-bar{gap:7px;padding:9px 14px}
 .chf-bar h1,.chf-total{display:none}
 .chf-feed{padding:0 12px}
 .chf-card{border-radius:18px;min-height:auto}
 .chf-dow,.chf-week{gap:5px}
 .chf-mark{font-size:22px}
 .chf-stats b{font-size:21px}
 .chf-stats>div{padding:10px 6px}
 .chf-mark{font-size:16px}
 .chf-join,.chf-stamp{flex:1 1 100%;text-align:center}
}

/* 챌린지 피드 — 전체 화면, 메뉴 없이 */
body:has(.chf-feed) .simple-topbar,
body:has(.chf-feed) .footer,
body:has(.chf-feed) .mobile-bottom-nav{display:none!important}
body:has(.chf-feed) main.pet-page{padding:0;max-width:none}
html:has(.chf-feed){scroll-snap-type:y mandatory;scroll-behavior:smooth}
.chf-bar{max-width:none;border-radius:0}
.chf-feed{max-width:none;padding:0 16px}
.chf-card{margin:12px auto;max-width:1180px}

/* 챌린지별 일러스트 — 그림은 challenge-art.php, 움직임은 아래 ca* 키프레임.
   .ca-fig 는 흰 실루엣 한 덩어리다. 투명도를 그룹에 한 번만 걸어야
   도형이 겹친 자리에 이음새가 생기지 않는다. */
.chf-art{width:min(310px,64%);margin:-8px 0 2px;filter:drop-shadow(0 12px 26px #0a142f2e)}
.chf-art svg{display:block;width:100%;height:auto;overflow:visible}
.ca-fig{fill:#fff;opacity:.96}
.ca-hi{fill:#fff}
.ca-tone{fill:#14265e;opacity:.17}
.ca-toneline{fill:none;stroke:#14265e;opacity:.2;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ca-ink{fill:#14265e;opacity:.62}
.ca-inkline{fill:none;stroke:#14265e;opacity:.55;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ca-deep{fill:#14265e;opacity:.42}
.ca-gold{fill:#ffd071}
.ca-goldline{fill:none;stroke:#ffd071;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ca-faint{fill:none;stroke:#fff;opacity:.45;stroke-width:3.2;stroke-linecap:round}
.ca-d1{animation-delay:.25s}
.ca-d2{animation-delay:.5s}
@media(prefers-reduced-motion:reduce){
 .chf-art *{animation:none!important}
 html:has(.chf-feed){scroll-behavior:auto}
}

/* 산책 */
.ca-dog{animation:caBob .62s ease-in-out infinite}
.ca-leg-a{animation:caLegA .62s ease-in-out infinite}
.ca-leg-b{animation:caLegB .62s ease-in-out infinite}
.ca-tail{animation:caTail .31s ease-in-out infinite}
.ca-ground{animation:caGround .62s linear infinite}
@keyframes caBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes caLegA{0%,100%{transform:rotate(16deg)}50%{transform:rotate(-16deg)}}
@keyframes caLegB{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}
@keyframes caTail{0%,100%{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}
@keyframes caGround{to{transform:translateX(-60px)}}

/* 양치 */
.ca-brush{animation:caBrush .9s ease-in-out infinite}
.ca-spark{animation:caSpark 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes caBrush{0%,100%{transform:translate(7px,-6px)}50%{transform:translate(-15px,12px)}}
@keyframes caSpark{0%,100%{transform:scale(.45);opacity:.25}50%{transform:scale(1);opacity:1}}

/* 물 */
.ca-drop{animation:caDrop 2.4s cubic-bezier(.5,0,.85,.5) infinite}
.ca-ripple{animation:caRipple 2.4s ease-out infinite;animation-delay:1.3s;opacity:0}
.ca-ripple.ca-d1{animation-delay:1.55s}
@keyframes caDrop{0%{transform:translateY(-30px);opacity:0}14%{opacity:1}
 54%{transform:translateY(52px);opacity:1}58%,100%{transform:translateY(52px);opacity:0}}
@keyframes caRipple{0%{transform:scale(.35);opacity:.85}100%{transform:scale(1.5);opacity:0}}

/* 사진 */
.ca-sway{animation:caSway 4s ease-in-out infinite}
.ca-iris{animation:caIris 2.6s ease-in-out infinite}
.ca-flash{opacity:0;animation:caFlash 2.6s ease-out infinite}
@keyframes caSway{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
@keyframes caIris{0%,100%{transform:scale(1)}50%{transform:scale(.62)}}
@keyframes caFlash{0%,72%{opacity:0;transform:scale(.7)}80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}

/* 놀이 */
.ca-ball{animation:caBounce 1.15s cubic-bezier(.4,0,.6,1) infinite}
.ca-toy{animation:caToy 1.9s ease-in-out infinite}
@keyframes caBounce{0%,100%{transform:translateY(0) scale(1.08,.9)}
 14%{transform:translateY(-30px) scale(.97,1.05)}50%{transform:translateY(-74px) scale(1,1)}
 86%{transform:translateY(-30px) scale(.97,1.05)}}
@keyframes caToy{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}

/* 체중 */
.ca-needle{animation:caNeedle 3.4s ease-in-out infinite}
.ca-paw{animation:caPawPress 3.4s ease-in-out infinite}
@keyframes caNeedle{0%{transform:rotate(-42deg)}22%{transform:rotate(34deg)}
 40%{transform:rotate(-10deg)}56%{transform:rotate(16deg)}70%,100%{transform:rotate(6deg)}}
@keyframes caPawPress{0%{transform:translateY(-10px)}16%,100%{transform:translateY(0)}}

/* 새 코스 */
.ca-route{animation:caAnts 1.1s linear infinite}
.ca-pin{animation:caPin 1.9s ease-in-out infinite}
@keyframes caAnts{to{stroke-dashoffset:-40}}
@keyframes caPin{0%,100%{transform:translateY(0)}45%{transform:translateY(-13px)}}

/* 빗질 */
.ca-comb{animation:caComb 2.6s ease-in-out infinite}
.ca-hair{opacity:0;animation:caHair 2.6s ease-out infinite;animation-delay:1s}
.ca-hair.ca-d1{animation-delay:1.25s}
.ca-hair.ca-d2{animation-delay:1.5s}
@keyframes caComb{0%{transform:translate(0,-26px);opacity:0}12%{opacity:1}
 74%{transform:translate(0,52px);opacity:1}86%,100%{transform:translate(0,52px);opacity:0}}
@keyframes caHair{0%{opacity:0;transform:translate(0,0)}25%{opacity:.9}
 100%{opacity:0;transform:translate(22px,-26px) rotate(18deg)}}

/* 훈련 */
.ca-nod{animation:caNod 2.6s ease-in-out infinite}
.ca-pop{animation:caPop 2.6s cubic-bezier(.22,1.4,.5,1) infinite}
@keyframes caNod{0%,66%,100%{transform:rotate(0)}76%{transform:rotate(-7deg)}88%{transform:rotate(4deg)}}
@keyframes caPop{0%{transform:scale(.3);opacity:0}14%{transform:scale(1.06);opacity:1}
 22%{transform:scale(1)}82%{transform:scale(1);opacity:1}92%,100%{transform:scale(.4);opacity:0}}

/* 식사 */
.ca-hand-m{animation:caSpin 4s linear infinite}
.ca-hand-h{animation:caSpin 24s linear infinite}
.ca-kibble{animation:caKibble 2.2s ease-in infinite}
@keyframes caSpin{to{transform:rotate(360deg)}}
@keyframes caKibble{0%{transform:translateY(-34px);opacity:0}18%{opacity:1}
 62%{transform:translateY(42px);opacity:1}70%,100%{transform:translateY(42px);opacity:0}}
/* 카드가 화면에 들어올 때 내용이 살짝 떠오르게.
   일러스트는 제 애니메이션이 있으니 이 규칙에서 빼 둔다 — 둘 다 transform 을 쓴다. */
.chf-intro>*:not(.chf-art){animation:chfRise .5s both}
.chf-intro>*:not(.chf-art):nth-child(2){animation-delay:.04s}
.chf-intro>*:not(.chf-art):nth-child(3){animation-delay:.08s}
.chf-intro>*:not(.chf-art):nth-child(4){animation-delay:.12s}
.chf-intro>*:not(.chf-art):nth-child(5){animation-delay:.16s}
.chf-intro>*:not(.chf-art):nth-child(6){animation-delay:.2s}
.chf-intro>*:not(.chf-art):nth-child(7){animation-delay:.24s}
@keyframes chfRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.chf-intro>*:not(.chf-art){animation:none}}

/* 아래로 넘기라는 신호 */
.chf-hint{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:20;
 background:#111826e6;color:#fff;border-radius:999px;padding:8px 16px;font-size:12.5px;
 display:flex;align-items:center;gap:7px;pointer-events:none;animation:chfBob 2s ease-in-out infinite}
.chf-hint.gone{opacity:0;transition:opacity .4s}
@keyframes chfBob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.chf-hint{animation:none}}
@media(max-width:640px){.chf-card{margin:8px auto}.chf-art{width:min(230px,50%);margin:0}}

/* 사진이 없는 자리에 들어가는 흑백 로고 — 사진처럼 꽉 채우되 티 나지 않게 */
img.img-fallback{object-fit:cover;background:#eef0f4}
