    @font-face{font-family:"Pretendard Variable";font-style:normal;font-weight:45 920;font-display:swap;src:url("/assets/pretendard-variable.woff2") format("woff2-variations")}
    @font-face{font-family:"Material Symbols Rounded";font-style:normal;font-weight:400;font-display:block;src:url("/assets/material-symbols-rounded.ttf") format("truetype")}
    :root{
      --ink:#1f3037;--muted:#56686f;--paper:#e9ecef;--card:#faf9f5;--line:#cfd2cc;
      --navy:#1e4b5a;--navy2:#173543;--lime:#dce5a4;--orange:#ad5137;--mint:#6e9e8d;
      --blue:#e9ecef;--warn:#f4e8df;--shadow:0 14px 36px rgba(25,48,55,.08)
    }
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}button,a{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button{cursor:pointer}
    .app-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;max-width:32px;overflow:hidden;font-family:"Material Symbols Rounded"!important;font-size:1.5rem;font-style:normal;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-synthesis:none;user-select:none}
    .ui-icon{width:22px;height:22px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;color:inherit;text-decoration:none}.mark{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:var(--lime);font:900 17px/1 ui-monospace,monospace}.brand-copy{display:flex;flex-direction:column}.brand-copy b{font-size:1.0625rem;letter-spacing:-.04em}.brand-copy small{color:var(--muted);font:800 8px/1.2 ui-monospace,monospace;letter-spacing:.09em}
    .nav{display:flex;gap:4px}.nav button{padding:9px 13px;border:0;border-radius:999px;background:transparent;color:#617076;font-size:0.75rem;font-weight:800}.nav button.active,.nav button:hover{background:var(--navy);color:#ffffff}.nav i{display:inline-grid;min-width:18px;height:18px;place-items:center;margin-left:3px;padding:0 5px;border-radius:10px;background:var(--orange);color:#211711;font-size:0.5625rem;font-style:normal}
    .user{justify-self:end;display:flex;align-items:center;gap:8px}
    .demo{min-height:36px;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 16px;border-bottom:1px solid #c9d45f;background:var(--lime);font-size:0.625rem;font-weight:700;text-align:center}.demo b{padding:3px 6px;border:1px solid currentColor;border-radius:3px;font:900 8px/1 ui-monospace,monospace;letter-spacing:.08em}
    .shell{width:calc(100% - 32px);min-height:calc(100vh - 64px);margin:16px auto 80px;display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}.main{min-width:0}
    .eyebrow{margin:0 0 7px;color:#65757b;font:900 9px/1.2 ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
    .filters{display:flex;gap:6px;margin-bottom:12px;padding-bottom:1px;overflow:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filter{flex:none;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff;color:#65757b;font-size:0.625rem;font-weight:850}.filter.active{border-color:var(--navy);background:var(--navy);color:#ffffff}.filter .dot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--orange)}.filter b{display:inline-grid;min-width:19px;height:19px;place-items:center;margin-left:4px;padding:0 5px;border-radius:999px;background:#e5e6e1;color:#65757b;font:900 8px/1 ui-monospace,monospace}.filter.active b{background:var(--lime);color:var(--navy)}
    .category-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0 0 10px}.category{min-height:48px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:10px;background:#ffffff;color:#65757b;font-size:0.625rem;font-weight:900}.category span{font-size:0.875rem}.category b{min-width:20px;padding:2px 5px;border-radius:999px;background:#e9ecef;color:#65757b;font:900 8px/1.4 ui-monospace,monospace}.category.active{border-color:var(--navy);background:var(--navy);color:#ffffff}.category.active b{background:var(--lime);color:var(--navy2)}.coverage-note{margin:-1px 0 10px;padding:9px 11px;border:1px solid #ddc3ae;border-radius:8px;background:#fff3e9;color:#76523f;font-size:0.5rem}.coverage-note b{color:#563625}.mobile-nav{display:none}
    .feed-head{display:flex;justify-content:space-between;align-items:center;margin:17px 1px 10px}.feed-head h2{margin:0;font-size:0.9375rem;letter-spacing:-.02em}.feed-head span{color:var(--muted);font-size:0.5625rem}
    .feed{display:grid;gap:11px}
    .empty{display:none;padding:42px;border:1px dashed #bcc5c2;border-radius:13px;color:var(--muted);text-align:center}.empty.show{display:block}
    .activity-note{margin:10px 0 0;color:var(--muted);font-size:0.5rem}
    footer{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px max(20px,calc((100vw - 1180px)/2));border-top:1px solid var(--line);background:#f4e8df}footer p{max-width:570px;margin:0;color:var(--muted);font-size:0.5rem;text-align:right}
    .modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:rgba(8,23,29,.68);backdrop-filter:blur(8px)}.modal[hidden]{display:none}.dialog{width:min(960px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #aeb8b7;border-radius:16px;background:var(--card);box-shadow:0 28px 80px rgba(0,0,0,.32)}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);background:rgba(255,254,250,.96);backdrop-filter:blur(10px)}.dialog-head b{font-size:0.6875rem}.close{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:#ffffff;font-size:0.9375rem}.steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;padding:13px 20px 0;color:#697277;font-size:0.5rem;font-weight:900}.steps div{display:flex;align-items:center;gap:5px}.steps span{width:21px;height:21px;display:grid;place-items:center;border:1px solid #c9ccc8;border-radius:50%;background:#ecebe5}.steps i{height:1px;background:#cfd2cc}.steps .current{color:var(--navy)}.steps .current span{border-color:var(--navy);background:var(--navy);color:#ffffff}.steps .done span{border-color:#c9d45f;background:var(--lime);color:var(--navy2)}
    .race{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(390px,1.15fr);min-height:520px;margin-top:13px}.race-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:20px;overflow:hidden;background:linear-gradient(145deg,#28566a,#0b2938);color:#ffffff}.race-visual.orange{background:linear-gradient(145deg,#cf7347,#563625)}.race-visual.mint{background:linear-gradient(145deg,#4f967f,#173e3a)}.race-visual.gray{background:linear-gradient(145deg,#65757b,#29373d)}.race-visual:before{content:"";position:absolute;width:390px;height:390px;left:-180px;top:-160px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.035),0 0 0 110px rgba(255,255,255,.02)}.race-visual .big-icon{position:relative;align-self:center;margin:auto;font-size:9.0625rem;filter:drop-shadow(0 22px 16px rgba(0,0,0,.25))}.race-visual small{position:relative;color:rgba(255,255,255,.62);font:700 8px/1 ui-monospace,monospace}.race-panel{display:flex;flex-direction:column;justify-content:center;padding:34px 38px}.blind-number{display:flex;align-items:flex-end;margin:13px 0;color:var(--navy)}.blind-number span{margin:0 9px 9px 0;color:var(--muted);font-size:0.6875rem;font-weight:750}.blind-number b{font:900 94px/.82 ui-monospace,monospace;letter-spacing:-.09em}.blind-number em{margin:0 0 3px 5px;color:var(--orange);font-size:2.4375rem;font-style:normal}.race-panel>p:not(.eyebrow){margin:8px 0 20px;color:var(--muted);font-size:0.6875rem}.actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.primary,.secondary{min-height:48px;border-radius:9px;font-size:0.625rem;font-weight:900}.primary{border:1px solid var(--navy);background:var(--navy);color:#ffffff}.secondary{border:1px solid var(--line);background:#ffffff}.locked{display:flex;align-items:center;gap:7px;margin-bottom:17px;padding:8px 10px;border:1px solid #c8d5d8;border-radius:7px;background:#f0f2ee;font-size:0.5rem}.locked b{color:var(--navy)}.locked small{margin-left:auto;color:var(--muted)}.facts-title{display:flex;justify-content:space-between;gap:10px}.facts-title h2{margin:0;font-size:1.375rem;letter-spacing:-.04em}.source{height:max-content;padding:4px 6px;border-radius:4px;background:#eef4cd;color:#556022;font-size:0.4375rem;font-weight:900}.race-prices{display:grid;grid-template-columns:1fr 1.2fr .7fr;gap:1px;margin:15px 0 11px;border:1px solid var(--line);border-radius:7px;background:var(--line);overflow:hidden}.race-prices div{padding:10px;background:#ffffff}.race-prices div:nth-child(2){background:#f3f6df}.race-prices span,.fact-grid span{display:block;color:#687377;font-size:0.4375rem}.race-prices b{font-size:0.75rem}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:7px;background:var(--line);overflow:hidden}.fact-grid div{padding:9px 10px;background:#faf9f5}.fact-grid b{font-size:0.5625rem}.watchouts{margin:11px 0;padding:11px;border-left:3px solid var(--orange);background:var(--warn)}.watchouts strong{display:block;margin-bottom:6px;font-size:0.5625rem}.watchouts span{display:inline-block;margin:2px;padding:3px 5px;border:1px solid #ddc3ae;border-radius:4px;background:#ffffff;font-size:0.4375rem}.second{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto}.second p{margin:0;color:var(--muted);font-size:0.5rem}.second>div:last-child{display:flex;gap:6px}.small{min-height:37px;padding:0 11px}.result-banner{padding:15px;border:1px solid #dfc09f;border-radius:8px;background:#fff3e9}.result-banner.won{border-color:#c7d69c;background:#f3f6df}.result-banner.cancelled{border-color:#cfd2cc;background:#e9ecef}.result-banner span{display:block;color:var(--muted);font-size:0.4375rem}.result-banner b{display:block;margin:2px 0;font-size:1.875rem}.result-banner p{margin:0!important;font-size:0.5625rem!important}.lanes{display:grid;grid-template-columns:1fr auto 1fr auto 1.2fr;align-items:center;gap:5px;margin:14px 0}.lanes div{min-height:76px;padding:9px;border:1px solid var(--line);border-radius:7px}.lanes .finish{border-color:var(--navy);background:var(--navy);color:#ffffff}.lanes span,.lanes small{display:block;color:#687377;font-size:0.375rem}.lanes b{display:block;margin:7px 0 3px;font-size:0.75rem}.lanes .finish span,.lanes .finish small{color:rgba(255,255,255,.6)}.lanes i{color:#6a7376;font-style:normal}.insight{display:flex;gap:9px;padding:12px;border:1px solid #c7d69c;border-radius:7px;background:#f3f6df}.insight>span{width:25px;height:25px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--lime);color:var(--navy)}.insight strong{font-size:0.5625rem}.insight p{margin:2px 0 0!important;color:#526047!important;font-size:0.5rem!important}.result-actions{margin-top:14px}
    .toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 15px;border:1px solid #355363;border-radius:999px;background:var(--navy2);color:#ffffff;box-shadow:0 12px 28px rgba(0,0,0,.22);font-size:0.5625rem;font-weight:800;text-align:center;animation:rise .18s ease-out}@keyframes rise{from{opacity:0;transform:translate(-50%,7px)}}
    .demo.live{border-bottom-color:#95c8b4;background:#e2f4ed}.demo.stale{border-bottom-color:#edb38f;background:#fff3e9}.demo.error{border-bottom-color:#d7b5ad;background:#f4e8df}.sync-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#879095}.demo.live .sync-dot{background:#2e9d73;box-shadow:0 0 0 4px rgba(46,157,115,.12)}.demo.stale .sync-dot,.demo.error .sync-dot{background:#d06d3d}
    .tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}.search-wrap{position:relative;min-width:0}.search-box{min-height:46px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:12px;background:#ffffff;color:#68747a;transition:border-color .18s ease,box-shadow .18s ease}.search-box:focus-within{border-color:#7895a2;box-shadow:0 0 0 3px rgba(18,60,81,.08)}.search-box svg{width:19px;height:19px;margin-left:13px;fill:none;stroke:currentColor;stroke-width:1.8}.search{width:100%;min-height:44px;padding:0 10px;border:0;background:transparent;color:var(--ink);outline:none}.search-clear{width:44px;height:44px;border:0;background:transparent;color:#667378;font-size:1.125rem}.search-clear[hidden]{display:none}.search-suggestions{position:absolute;z-index:28;top:calc(100% + 6px);left:0;right:0;display:grid;gap:2px;padding:6px;border:1px solid #cfd2cc;border-radius:12px;background:#ffffff;box-shadow:0 18px 42px rgba(16,35,43,.16)}.search-suggestions[hidden]{display:none}.search-suggestion{min-height:44px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#29373d;text-align:left;text-decoration:none}.search-suggestion:hover,.search-suggestion:focus-visible{background:#f0f2ee;outline:none}.search-suggestion b{overflow:hidden;font-size:0.6875rem;text-overflow:ellipsis;white-space:nowrap}.search-suggestion span{color:#687377;font-size:0.5rem}.retry{min-width:90px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:#ffffff;font-size:0.5625rem;font-weight:900}.retry[hidden]{display:none}
    .loading{width:min(560px,100%);margin:0 auto}.loading[hidden]{display:none}.skeleton-status{display:flex;justify-content:space-between;margin:0 4px 9px}.skeleton-line,.skeleton-media,.skeleton-chip,.skeleton-price,.skeleton-button,.skeleton-action{background:linear-gradient(100deg,#e5e6e1 20%,#faf9f5 43%,#e5e6e1 66%);background-size:240% 100%;animation:shimmer 1.25s ease-in-out infinite}.skeleton-line{width:150px;height:12px;border-radius:999px}.skeleton-line.short{width:68px}.skeleton-stage{position:relative;padding:0 5px 12px}.skeleton-stage:before,.skeleton-stage:after{content:"";position:absolute;left:18px;right:18px;bottom:3px;height:95%;border:1px solid #d4d8ce;border-radius:22px;background:#e5e6e1}.skeleton-stage:before{transform:translateY(8px) scale(.95);opacity:.65}.skeleton-stage:after{transform:translateY(3px) scale(.975);background:#f0f2ee}.skeleton-card{position:relative;z-index:2;overflow:hidden;border:1px solid #cfd2cc;border-radius:22px;background:#ffffff;box-shadow:0 12px 34px rgba(16,35,43,.08)}.skeleton-media{aspect-ratio:4/3}.skeleton-body{padding:17px}.skeleton-prices{display:grid;grid-template-columns:1.15fr 1fr;gap:8px}.skeleton-price{height:68px;border-radius:10px}.skeleton-chips{display:flex;gap:6px;margin:11px 0}.skeleton-chip{width:84px;height:27px;border-radius:6px}.skeleton-chip:nth-child(2){width:112px}.skeleton-chip:nth-child(3){width:72px}.skeleton-button{height:48px;border-radius:10px}.skeleton-actions{display:flex;justify-content:center;align-items:center;gap:14px;padding:11px 0}.skeleton-action{width:52px;height:52px;border-radius:50%}.skeleton-action.main{width:64px;height:64px}@keyframes shimmer{to{background-position:-240% 0}}
    .state-note{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:0.5rem}.state-note b{color:var(--navy)}
    .notice-dialog{padding:22px}.notice-dialog h2{margin:4px 0 9px;font-size:1.375rem}.notice-copy{max-height:330px;overflow:auto;padding:13px;border:1px solid var(--line);border-radius:8px;background:#faf9f5;color:#4e5968;font-size:0.5625rem;white-space:pre-wrap}.attachments{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.attachments a{padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#ffffff;color:var(--navy);font-size:0.5rem;text-decoration:none}
    .detail-loading{display:grid;place-items:center;min-height:380px;color:var(--muted);font-size:0.625rem}.detail-error{margin:28px;padding:20px;border:1px solid #e2bda9;border-radius:10px;background:var(--warn)}.detail-error b{display:block;margin-bottom:5px}.source-time{display:block;margin-top:7px;color:var(--muted);font-size:0.4375rem}.official-only{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 13px;border:1px solid var(--navy);border-radius:8px;background:var(--navy);color:#ffffff;text-decoration:none;font-size:0.5625rem;font-weight:900}
    @media(max-width:700px){body{padding-bottom:68px}.nav{display:none}.demo{justify-content:flex-start;text-align:left}.category-tabs{display:flex;overflow:auto;scrollbar-width:none}.category-tabs::-webkit-scrollbar{display:none}.category{flex:0 0 auto;min-width:104px;min-height:44px}.tools{grid-template-columns:1fr}.retry{min-height:40px}footer{align-items:flex-start;flex-direction:column}footer p{text-align:left}.mobile-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);min-height:62px;padding:6px max(8px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-bottom));border-top:1px solid #cfd2cc;background:rgba(255,254,250,.97);box-shadow:0 -10px 24px rgba(20,34,40,.08);backdrop-filter:blur(14px)}.mobile-nav button{min-height:48px;display:grid;place-items:center;align-content:center;gap:1px;border:0;background:transparent;color:#65757b;font-size:0.5rem;font-weight:900}.mobile-nav button span{font-size:1.0625rem;line-height:1}.mobile-nav button.active{color:var(--navy)}.modal{padding:8px}.dialog{max-height:calc(100vh - 16px)}.race{grid-template-columns:1fr}.race-visual{min-height:220px}.race-visual .big-icon{font-size:5.9375rem}.race-panel{min-height:360px;padding:28px 20px}.blind-number b{font-size:4.9375rem}.facts-title{display:block}.source{display:inline-block;margin-top:7px}.second{align-items:stretch;flex-direction:column}.second>div:last-child{display:grid;grid-template-columns:1fr 1fr}.lanes{grid-template-columns:1fr}.lanes i{transform:rotate(90deg);justify-self:center}.steps{padding-inline:12px}}
    /* 판단 리플레이 v2 — 가격 앵커, 공식 조건, 판단 근거를 하나의 상태 흐름으로 묶는다. */
    .dialog{width:min(1120px,100%);overflow:hidden}.dialog-head{padding:16px 20px}.dialog-head b{font-size:0.875rem}.close{width:38px;height:38px;font-size:1.25rem}.steps{padding:15px 22px 13px;border-bottom:1px solid var(--line);background:#faf9f5;font-size:0.625rem}.steps span{width:27px;height:27px}.race{grid-template-columns:minmax(330px,.92fr) minmax(470px,1.08fr);min-height:610px;max-height:calc(100vh - 170px);margin:0;overflow:hidden}.race-visual{min-height:610px;padding:0;background:#102f3e}.race-visual:before{display:none}.media-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,20,28,.08) 15%,rgba(4,20,28,.15) 45%,rgba(4,20,28,.9) 100%)}.media-empty{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#1e4b5a,#0b2938);color:rgba(255,255,255,.72);text-align:center}.media-empty[hidden]{display:none}.media-empty span{display:block;font-size:4rem}.media-empty b{display:block;margin-top:8px;font-size:0.75rem}.media-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:21px}.media-top span{padding:6px 8px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(4,20,28,.32);font-size:0.5rem;font-weight:900}.photo-nav{display:flex;gap:5px}.photo-nav button{width:31px;height:31px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(4,20,28,.4);color:#ffffff}.media-caption{position:relative;z-index:1;margin-top:auto;padding:24px}.media-caption .eyebrow{color:rgba(255,255,255,.63)}.media-caption h2{margin:0 0 8px;color:#ffffff;font-size:1.75rem;line-height:1.1;letter-spacing:-.045em}.media-specs{display:flex;flex-wrap:wrap;gap:6px}.media-specs span{padding:5px 7px;border-radius:5px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.86);font-size:0.5rem}.media-caption small{display:block;margin-top:13px;color:rgba(255,255,255,.48);font:700 7px/1.4 ui-monospace,monospace;word-break:break-all}
    .race-panel{min-height:0;justify-content:flex-start;padding:28px 32px;overflow:auto}.replay-kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.replay-kicker .eyebrow{margin:0}.official-pill{padding:5px 7px;border-radius:5px;background:#e9ecef;color:var(--navy);font-size:0.4375rem;font-weight:900}.question{margin:0 0 15px;font-size:1.5rem;line-height:1.2;letter-spacing:-.04em}.question-sub{margin:0 0 17px;color:var(--muted);font-size:0.625rem}.price-anchor{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;margin:0 0 12px;padding:16px;border:1px solid #c8d5d8;border-radius:11px;background:#f3f6df}.price-anchor span{display:block;color:#667378;font-size:0.5rem}.price-anchor strong{display:block;margin-top:3px;color:var(--navy);font:900 30px/1.1 ui-monospace,monospace}.price-anchor em{padding:5px 7px;border-radius:5px;background:var(--navy);color:#ffffff;font-size:0.5rem;font-style:normal;font-weight:900}.missing-callout{display:flex;gap:9px;margin-bottom:18px;padding:11px 12px;border:1px solid #e2bda9;border-radius:9px;background:var(--warn)}.missing-callout>span{font-size:1.0625rem}.missing-callout b{display:block;font-size:0.5625rem}.missing-callout p{margin:2px 0 0;color:#76523f;font-size:0.5rem}.decision-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:auto}.decision-actions button{min-height:52px;border-radius:9px;font-size:0.625rem;font-weight:900}
    .locked{margin-bottom:12px}.fact-scroll{display:grid;gap:10px}.facts-title h2{font-size:1.25rem}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);border-radius:9px;background:var(--line);overflow:hidden}.price-grid div{padding:11px;background:#ffffff}.price-grid div:first-child{background:#f3f6df}.price-grid span,.data-grid span,.cost-row span{display:block;color:#687377;font-size:0.4375rem}.price-grid b{font-size:0.6875rem}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--line);border-radius:9px;background:var(--line);overflow:hidden}.data-grid div{min-width:0;padding:10px;background:#faf9f5}.data-grid b{display:block;overflow:hidden;color:#29373d;font-size:0.5625rem;text-overflow:ellipsis;white-space:nowrap}.section-title{display:flex;align-items:center;justify-content:space-between;margin:3px 0 -2px}.section-title b{font-size:0.625rem}.section-title span{color:var(--muted);font-size:0.4375rem}.cost-stack{display:grid;gap:6px}.cost-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.cost-row>i{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:#e9ecef;color:#376656;font-size:0.625rem;font-style:normal}.cost-row b{font-size:0.5625rem}.unknown-ledger{padding:11px;border:1px solid #e2bda9;border-radius:9px;background:#fff3e9}.unknown-ledger strong{display:block;margin-bottom:6px;font-size:0.5625rem}.unknown-ledger span{display:inline-block;margin:2px;padding:4px 6px;border:1px solid #e5c4b2;border-radius:5px;background:#ffffff;font-size:0.4375rem}.document-links{display:flex;flex-wrap:wrap;gap:6px}.document-links a{padding:7px 9px;border:1px solid #c8d5d8;border-radius:7px;background:#ffffff;color:var(--navy);font-size:0.5rem;font-weight:800;text-decoration:none}.reason-box{padding:11px;border:1px solid #c8d5d8;border-radius:9px;background:#faf9f5}.reason-box strong{display:block;margin-bottom:7px;font-size:0.5625rem}.reason-list{display:flex;flex-wrap:wrap;gap:5px}.reason{min-height:31px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:#ffffff;color:#617076;font-size:0.5rem;font-weight:850}.reason.active{border-color:var(--navy);background:var(--navy);color:#ffffff}.facts-actions{position:sticky;bottom:-28px;display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:2px -32px -28px;padding:12px 32px 18px;border-top:1px solid var(--line);background:rgba(255,254,250,.96);backdrop-filter:blur(10px)}.facts-actions button{min-height:43px}
    .replay-summary{display:grid;gap:11px}.status-hero{padding:16px;border:1px solid #c8d5d8;border-radius:11px;background:#f0f2ee}.status-hero.waiting{border-color:#ddc3ae;background:#fff3e9}.status-hero span{color:var(--muted);font-size:0.5rem}.status-hero b{display:block;margin:3px 0;font-size:1.75rem}.status-hero p{margin:0;color:#536269;font-size:0.5rem}.decision-flow{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:7px}.decision-node{padding:12px;border:1px solid var(--line);border-radius:9px;background:#ffffff}.decision-node.final{border-color:var(--navy);background:var(--navy);color:#ffffff}.decision-node span{display:block;color:#687377;font-size:0.4375rem}.decision-node.final span{color:rgba(255,255,255,.6)}.decision-node b{display:block;margin-top:4px;font-size:0.875rem}.decision-arrow{align-self:center;color:#8d989b}.reason-result{padding:12px;border-radius:9px;background:#f3f6df}.reason-result strong{display:block;margin-bottom:5px;font-size:0.5625rem}.reason-result span{display:inline-block;margin:2px;padding:4px 6px;border-radius:5px;background:#ffffff;font-size:0.4375rem}.tracking-note{display:flex;gap:9px;padding:12px;border:1px solid #c8d5d8;border-radius:9px}.tracking-note>span{font-size:1.25rem}.tracking-note b{display:block;font-size:0.5625rem}.tracking-note p{margin:2px 0 0;color:var(--muted);font-size:0.5rem}
    /* 모바일 탐색 v3 — 검색 우선, 스캔 가능한 카드, 명확한 공식 전환. */
    :focus-visible{outline:3px solid #70a5bb;outline-offset:2px}.load-more{display:flex;justify-content:center;padding:16px 0 4px}.load-more[hidden]{display:none}.load-more button{min-height:48px;padding:0 24px;border:1px solid var(--navy);border-radius:12px;background:#ffffff;color:var(--navy);font-size:0.8125rem;font-weight:900}.kind-chip{display:inline-flex;align-items:center;gap:5px;color:#617076;font-size:0.625rem;font-weight:850}.kind-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint)}
    .feed.swipe-feed{position:relative;display:block;min-height:590px;padding:4px 0 12px}.deck-shell{width:100%;margin:0 auto}.deck-empty{padding:70px 24px;border:1px dashed #bcc5c2;border-radius:18px;background:#ffffff;text-align:center}.deck-empty svg{width:52px;height:52px;fill:none;stroke:var(--navy);stroke-width:1.5}.deck-empty h3{margin:13px 0 5px;font-size:1.3125rem}.deck-empty p{margin:0;color:var(--muted);font-size:0.8125rem}.deck-empty button{min-height:46px;margin-top:16px;padding:0 18px;border:0;border-radius:9px;background:var(--navy);color:#ffffff;font-size:0.75rem;font-weight:900}
    @media(max-width:760px){body{font-size:1rem;background:#faf9f5}.header{box-shadow:0 2px 14px rgba(20,34,40,.06)}.brand-copy b{font-size:1rem}.demo{min-height:34px;padding:7px 12px;font-size:0.6875rem}.filters{margin:0 0 10px}.filter{min-height:44px;padding:0 14px;font-size:0.75rem}.category-tabs{margin-bottom:10px}.category{min-width:116px;font-size:0.8125rem}.category b{font-size:0.625rem}.coverage-note{padding:11px 12px;font-size:0.75rem;line-height:1.5}.tools{position:sticky;top:68px;z-index:22;margin:0 -2px 12px;padding:7px 2px;background:rgba(247,246,241,.96);backdrop-filter:blur(10px)}.search{min-height:52px;padding:0 16px;border-radius:13px;font-size:1rem;box-shadow:0 5px 18px rgba(20,34,40,.05)}.feed-head{margin:14px 2px 10px}.feed-head h2{font-size:1rem}.feed-head span{font-size:0.6875rem}.empty{font-size:0.875rem}.mobile-nav button{font-size:0.625rem}.mobile-nav button span{font-size:1.125rem}.activity-note{font-size:0.6875rem}.modal{padding:0}.dialog{width:100%;height:100%;max-height:none;border:0;border-radius:0;display:flex;flex-direction:column}.dialog-head{flex:none;padding:5px 10px 5px 16px;min-height:0}.steps{flex:none;padding:9px 12px;gap:5px;font-size:0.625rem}.steps span{width:26px;height:26px}.race{display:block;flex:1;min-height:0;max-height:none;overflow:auto}.race-visual{min-height:285px}.media-caption{padding:18px}.media-caption h2{font-size:1.375rem}.race-panel{min-height:auto;padding:22px 16px;overflow:visible}.question{font-size:1.3125rem}.question-sub{font-size:0.8125rem}.price-anchor strong{font-size:1.625rem}.decision-actions{grid-template-columns:1fr 1fr}.price-grid{grid-template-columns:1fr 1fr}.price-grid div:last-child{grid-column:1/-1}.facts-actions{bottom:0;margin:2px -16px -22px;padding:11px 16px 16px}.decision-flow{grid-template-columns:1fr}.decision-arrow{justify-self:center;transform:rotate(90deg)}}
    @media(max-width:760px){.demo{min-height:30px;padding-block:5px}.main{min-width:0}.filters{display:none}.category-tabs{width:100%;margin:0 0 4px}.category{min-width:108px;min-height:42px}.tools{top:58px;margin-bottom:5px;padding-block:5px}.search{min-height:46px}.feed-head{margin:8px 2px 6px}.feed.swipe-feed{padding-top:0}.coverage-note{margin-top:3px}}
    /* Daily v1 — 매일 새 물건 확인, 저장, 공식 이동만 남긴다. */
    body{background:var(--paper)}.demo,.filters,footer,.brand-copy small{display:none!important}.header .user{display:none}.nav{justify-self:end}.nav button{min-height:40px;padding-inline:15px;font-size:0.75rem}.minimal-label{margin:0 2px 9px;color:#617076;font-size:0.6875rem;font-weight:800}.category-tabs{grid-template-columns:repeat(4,1fr);margin-bottom:10px}.category{min-height:52px;border-radius:12px;font-size:0.75rem}.tools{margin-bottom:11px}.search{min-height:50px;border-radius:12px;background:var(--card);font-size:0.9375rem}.feed-head{margin:12px 2px 8px}.feed-head h2{font-size:1.0625rem}.feed-head span{font-size:0.625rem}.mobile-nav{grid-template-columns:repeat(3,1fr)}
    @media(max-width:700px){.shell{width:calc(100% - 20px);margin:16px auto 72px}.minimal-label{margin-top:2px}.category-tabs{display:flex;width:100%;margin-bottom:5px}.category{min-width:106px;min-height:44px}.tools{position:sticky;top:58px;margin:0 0 6px;padding:5px 0}.feed-head{margin:8px 2px 6px}.mobile-nav{grid-template-columns:repeat(3,1fr)}}
    .category-tabs{display:none!important}.pin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pin-head .minimal-label{margin:0}.pin-head button{min-height:44px;padding:0 12px;border:1px solid #d4d8ce;border-radius:10px;background:#ffffff;color:var(--navy);font-size:0.6875rem;font-weight:900;cursor:pointer}.pin-tabs{display:flex;gap:7px;margin:0 0 10px;overflow:auto;scrollbar-width:none}.pin-tabs::-webkit-scrollbar{display:none}.pin-tab-wrap{position:relative;flex:none}.pin-tab{width:100%;min-height:48px;display:flex;align-items:center;gap:7px;padding:0 69px 0 13px;border:1px solid #d4d8ce;border-radius:12px;background:#ffffff;color:#617076;font-size:0.75rem;font-weight:900;cursor:pointer}.pin-tab b{min-width:21px;padding:2px 5px;border-radius:999px;background:#e9ecef;color:#65757b;font:900 9px/1.5 ui-monospace,monospace}.pin-tab.active{border-color:var(--navy);background:var(--navy);color:#ffffff}.pin-tab.active b{background:var(--lime);color:var(--navy2)}.pin-refine-trigger{position:absolute;z-index:2;top:2px;right:2px;min-width:62px;height:44px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 7px;border:0;border-radius:10px;background:transparent;color:#65757b;font-size:0.625rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease}.pin-refine-trigger svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease}.pin-refine-trigger:hover{background:#e9ecef;color:var(--navy)}.pin-refine-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.pin-tab.active+.pin-refine-trigger{color:rgba(255,255,255,.86)}.pin-tab.active+.pin-refine-trigger:hover{background:rgba(255,255,255,.14);color:#ffffff}.pin-refine-panel{margin:-2px 0 10px;padding:11px 12px 12px;border:1px solid #dedfd9;border-radius:13px;background:#ffffff;box-shadow:0 8px 22px rgba(20,34,40,.06)}.pin-refine-panel[hidden]{display:none}.pin-refine-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.pin-refine-head b{font-size:0.6875rem}.pin-refine-head span{color:#687377;font-size:0.5625rem}.pin-refine-options{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none}.pin-refine-options::-webkit-scrollbar{display:none}.pin-refine-option{flex:none;min-height:44px;padding:0 12px;border:1px solid #d4d8ce;border-radius:999px;background:#faf9f5;color:#56686f;font-size:0.6875rem;font-weight:850;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.pin-refine-option b{margin-left:4px;color:#687377;font:900 9px/1 ui-monospace,monospace}.pin-refine-option:hover{border-color:#9babb0;background:#f0f2ee}.pin-refine-option.active{border-color:var(--navy);background:var(--navy);color:#ffffff}.pin-refine-option.active b{color:var(--lime)}.pin-refine-option:focus-visible,.pin-refine-trigger:focus-visible,.pin-tab:focus-visible{outline:3px solid rgba(18,60,81,.22);outline-offset:2px}.pin-modal{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:18px;background:rgba(8,23,29,.56);backdrop-filter:blur(7px)}.pin-modal[hidden]{display:none}.pin-sheet{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:22px;border-radius:20px;background:#ffffff;box-shadow:0 24px 70px rgba(0,0,0,.25)}.pin-sheet-head{display:flex;align-items:flex-start;justify-content:space-between}.pin-sheet-head span:not(.app-icon){color:#687377;font:900 8px/1 ui-monospace,monospace;letter-spacing:.12em}.pin-sheet-head h2{margin:5px 0 0;font-size:1.5rem;letter-spacing:-.04em}.pin-sheet-head button{width:44px;height:44px;border:1px solid #d4d8ce;border-radius:50%;background:#ffffff;font-size:1.375rem}.pin-manage{display:grid;gap:6px;margin:17px 0}.managed-pin{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:#f0f2ee}.managed-pin div{min-width:0}.managed-pin b{display:block;overflow:hidden;font-size:0.75rem;text-overflow:ellipsis;white-space:nowrap}.managed-pin span{display:block;color:#687377;font-size:0.5625rem}.managed-pin button{min-width:44px;min-height:44px;border:0;border-radius:8px;background:#ffffff;color:#8b5341;font-size:0.625rem;font-weight:900}.pin-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding-top:16px;border-top:1px solid #dedfd9}.pin-form label{display:grid;gap:6px}.pin-form label>span{font-size:0.6875rem;font-weight:900}.pin-form small{color:#697277;font-weight:600}.pin-form select,.pin-form input{width:100%;min-height:48px;padding:0 12px;border:1px solid #cfd2cc;border-radius:10px;background:#ffffff;color:var(--ink);font-size:0.875rem;outline:none}.pin-form select:focus,.pin-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(18,60,81,.09)}.pin-submit{grid-column:1/-1;min-height:52px;border:0;border-radius:11px;background:var(--navy);color:#ffffff;font-size:0.8125rem;font-weight:900}
    @media(max-width:700px){.pin-head{margin-bottom:6px}.pin-head button{min-height:38px}.pin-tabs{margin-bottom:5px}.pin-tab{min-height:44px}.pin-modal{align-items:end;padding:0}.pin-sheet{width:100%;max-height:92vh;padding:20px 16px max(20px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.pin-form{grid-template-columns:1fr}.pin-submit{grid-column:auto}}
    /* 물건 상세 v1 — 핵심 가격에서 공식 문서까지 한 방향으로 읽힌다. */
    .steps[hidden]{display:none!important}.race:has(.overview-panel){height:calc(100vh - 170px);grid-template-rows:minmax(0,1fr)}.race:has(.overview-panel)>.race-visual,.race:has(.overview-panel)>.overview-panel{height:100%;min-height:0}.overview-panel{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0!important;overflow:hidden!important;position:relative;background:#ffffff}.overview-scroll{min-height:0;overflow:auto;padding:26px 28px 30px}.overview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.overview-head .eyebrow{margin:0 0 5px;color:#68747a;font-size:0.5rem}.overview-head h2{margin:0;font-size:1.5rem;line-height:1.18;letter-spacing:-.04em}.status-chip{flex:none;padding:6px 9px;border-radius:999px;background:#e7f0e8;color:#315f50;font-size:0.5625rem;font-weight:900}.overview-price{display:grid;grid-template-columns:1.35fr 1fr;gap:1px;margin-bottom:20px;overflow:hidden;border:1px solid #d4d8ce;border-radius:13px;background:#d4d8ce}.overview-price>div{min-width:0;padding:15px;background:#f3f6df}.overview-price>div:first-child{position:relative}.overview-price>div:nth-child(2){background:#ffffff}.overview-price span{display:block;margin-bottom:4px;color:#667378;font-size:0.5625rem}.overview-price strong{display:block;color:var(--navy);font-size:1.5625rem;line-height:1.12;letter-spacing:-.035em}.overview-price b{display:block;color:#263b43;font-size:1rem}.overview-price em{width:max-content;max-width:100%;display:flex;flex-wrap:wrap;gap:2px 5px;margin-top:10px;padding:5px 7px;border-radius:6px;background:var(--navy);color:#ffffff;font-size:0.5rem;font-style:normal;font-weight:900;line-height:1.35}.overview-price em.higher{background:#8a4b32}.overview-price em.same{background:#56686f}.overview-price em small{color:inherit;font-size:inherit;font-style:normal;font-weight:700;opacity:.82}.overview-section{padding:19px 0;border-top:1px solid #dedfd9}.overview-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:11px}.overview-section-title h3{margin:0;color:#1d2a30;font-size:0.875rem;letter-spacing:-.025em}.overview-section-title span{color:#697277;font-size:0.5rem;font-weight:800}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timeline>div{position:relative;padding:12px 12px 12px 25px;border-radius:10px;background:#f0f2ee}.timeline i{position:absolute;left:11px;top:17px;width:7px;height:7px;border:2px solid var(--navy);border-radius:50%;background:#ffffff}.timeline>div:last-child i{border-color:#c65d37}.timeline span{display:block;color:#687377;font-size:0.5rem}.timeline b{display:block;margin-top:3px;font-size:0.6875rem}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.overview-row{min-width:0;padding:11px 12px;border:1px solid #dedfd9;border-radius:10px;background:#ffffff}.overview-row.wide{grid-column:1/-1}.overview-row span{display:block;margin-bottom:4px;color:#687377;font-size:0.5rem}.overview-row b{display:block;overflow-wrap:anywhere;color:#29373d;font-size:0.6875rem;line-height:1.45}.condition-list{display:grid;gap:1px;overflow:hidden;border:1px solid #dedfd9;border-radius:11px;background:#dedfd9}.condition-list>div{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:11px 12px;background:#ffffff}.condition-list span{color:#68747a;font-size:0.5625rem}.condition-list b{font-size:0.625rem;line-height:1.5}.overview-section.check-section{margin:0;padding:17px 14px;border:1px solid #ead1c3;border-radius:12px;background:#fff3e9}.check-section .overview-section-title{margin-bottom:4px}.check-section>p{margin:0!important;color:#7e6254!important;font-size:0.5625rem!important}.check-chips{display:flex;flex-wrap:wrap;gap:6px}.check-chips span{padding:6px 8px;border:1px solid #ddc3ae;border-radius:7px;background:#ffffff;color:#76523f;font-size:0.5625rem;font-weight:850}.overview-files{display:grid;gap:7px}.overview-files a,.overview-files>div{min-height:52px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 11px;border:1px solid #dedfd9;border-radius:10px;background:#ffffff;color:var(--ink);text-decoration:none}.overview-files span{padding:4px 6px;border-radius:5px;background:#e9ecef;color:var(--navy);font-size:0.5rem;font-weight:900}.overview-files b{overflow:hidden;font-size:0.625rem;text-overflow:ellipsis;white-space:nowrap}.overview-files i{color:var(--navy);font-style:normal}.replay-entry{width:100%;min-height:62px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;gap:3px;margin:3px 0 13px;padding:10px 13px;border:1px solid #c8d5d8;border-radius:11px;background:#f0f2ee;color:var(--navy);text-align:left}.replay-entry span{font-size:0.5rem;font-weight:900;letter-spacing:.05em}.replay-entry b{font-size:0.625rem}.cond-notes{display:grid;gap:7px;margin-bottom:9px}.cond-note{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff}.cond-note span{display:block;margin-bottom:5px;color:var(--g600);font-size:.75rem;font-weight:900;letter-spacing:.04em}.cond-note p{margin:0!important;color:var(--g900)!important;font-size:.9375rem!important;line-height:1.7!important;overflow-wrap:anywhere}.cond-alert{padding:0 2px;border-radius:3px;background:var(--marker);color:inherit;font-weight:850}.overview-source{display:block;color:#697277;font-size:0.4375rem;line-height:1.5}.detail-sticky{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #dedfd9;background:rgba(255,254,250,.97);box-shadow:0 -10px 24px rgba(22,37,44,.07);backdrop-filter:blur(12px)}.detail-sticky button{min-height:50px;border-radius:10px;font-size:0.6875rem;font-weight:900}.detail-save{border:1px solid #cfd2cc;background:#ffffff;color:#56686f}.detail-save.saved{border-color:#adc27b;background:#f3f6df;color:#556022}.overview-loading{display:grid;place-items:center;align-content:center;min-height:420px;color:#6b7684;text-align:center}.overview-loading span{width:34px;height:34px;margin-bottom:13px;border:3px solid #dedfd9;border-top-color:var(--navy);border-radius:50%;animation:detail-spin .8s linear infinite}.overview-loading p{margin:0!important;color:#263b43!important;font-size:0.8125rem!important;font-weight:900}.overview-loading small{margin-top:5px;color:#697277;font-size:0.5625rem}@keyframes detail-spin{to{transform:rotate(360deg)}}
    @media(max-width:760px){.race:has(.overview-panel){height:auto;min-height:0;max-height:none;grid-template-rows:auto}.race:has(.overview-panel)>.race-visual,.race:has(.overview-panel)>.overview-panel{height:auto}.overview-panel{display:block;overflow:visible!important}.overview-scroll{overflow:visible;padding:20px 15px 24px}.overview-head h2{font-size:1.375rem}.overview-price{grid-template-columns:1fr 1fr}.overview-price>div{padding:13px 11px}.overview-price strong{font-size:1.25rem}.overview-price b{font-size:0.875rem}.overview-price em{margin-top:8px;font-size:0.4375rem}.overview-section{padding:17px 0}.overview-section-title h3{font-size:0.9375rem}.overview-section-title span{font-size:0.5625rem}.timeline b,.overview-row b,.condition-list b{font-size:0.75rem}.timeline span,.overview-row span,.condition-list span{font-size:0.625rem}.condition-list>div{grid-template-columns:88px 1fr}.cond-note p{font-size:1rem!important}.cond-note span{font-size:.8125rem}.detail-sticky{position:sticky;z-index:4;bottom:0}.detail-sticky button{min-height:52px;font-size:0.8125rem}.check-section{margin-inline:0}.overview-files b{font-size:0.6875rem}.replay-entry b{font-size:0.75rem}.overview-source{font-size:0.5625rem}.overview-loading{min-height:300px}}
    /* 공식 사진 전체보기 — 원본 비율 유지, 크롭 없음. */
    .media-photo-backdrop{display:none!important}.media-photo{z-index:0;object-fit:fill!important}.media-empty{z-index:0}.media-shade{z-index:0}


    .saved-card-media img{object-fit:fill!important}
    .media-photo,.media-photo-backdrop{transition:opacity .22s ease}.photo-loading .media-photo,.photo-loading .media-photo-backdrop{opacity:0!important}.photo-loader{position:absolute;z-index:1;inset:0;display:none;place-items:center;overflow:hidden;background:#173543;color:rgba(255,255,255,.72);pointer-events:none}.race-visual>.photo-loader{z-index:0}.photo-loading>.photo-loader{display:grid}.photo-loader:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.1) 42%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.1) 58%,transparent 82%);transform:translateX(-110%);animation:photo-shimmer 1.15s ease-in-out infinite}.photo-loader-mark{position:relative;width:70%;display:grid;gap:10px}.photo-loader-mark i{display:block;height:10px;border-radius:999px;background:rgba(255,255,255,.12)}.photo-loader-mark i:first-child{width:42%;height:16px}.photo-loader-mark i:nth-child(2){width:76%}.photo-loader-mark i:nth-child(3){width:58%}.photo-loader-mark b{margin-top:3px;color:rgba(255,255,255,.72);font-size:0.625rem;letter-spacing:.02em}@keyframes photo-shimmer{to{transform:translateX(110%)}}
    /* 정적인 로딩 면 — 캐시 이미지에는 표시하지 않고 실제 네트워크 대기에서만 유지한다. */
    .photo-loader{background:#102f3e}.photo-loader:before{animation:none;transform:none;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 58%)}.photo-loader-mark i{background:rgba(255,255,255,.1)}.photo-error{position:absolute;z-index:6;inset:0;display:none;place-items:center;padding:24px;background:linear-gradient(145deg,#173543,#0b2938);color:#ffffff;text-align:center}.photo-failed>.photo-error{display:grid}.photo-error svg{width:46px;height:46px;margin:auto;fill:none;stroke:rgba(255,255,255,.76);stroke-width:1.8}.photo-error b{display:block;margin-top:12px;font-size:0.8125rem}.photo-error span{display:block;margin-top:5px;color:rgba(255,255,255,.68);font-size:0.625rem}.photo-error button{min-width:112px;min-height:44px;margin-top:14px;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:rgba(255,255,255,.1);color:#ffffff;font-size:0.6875rem;font-weight:900;cursor:pointer}.photo-error button:hover{background:rgba(255,255,255,.18)}.photo-error button:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:3px}.photo-failed>.media-empty{display:none!important}.loading .skeleton-line,.loading .skeleton-media,.loading .skeleton-chip,.loading .skeleton-price,.loading .skeleton-button,.loading .skeleton-action{animation:none;background:#e5e6e1}.loading .skeleton-media{background:linear-gradient(145deg,#e5e6e1,#e9ecef)}.loading .skeleton-price,.loading .skeleton-button{background:#e9ecef}


    /* 첫 분류 온보딩 — 카드가 한 번 시범을 보이고 실제 분류 후 영구 종료된다. */

    /* 관심물건 — 판단 덱과 분리된 카테고리별 보관함. */
    body.collection-mode .pin-head,body.collection-mode .pin-tabs,body.collection-mode .tools,body.collection-mode .auction-tabs{display:none!important}.saved-feed{display:grid;gap:24px;min-height:460px;padding:4px 0 30px}.saved-summary{display:grid;grid-template-columns:1fr auto;align-items:end;gap:18px;padding:19px 20px;border-radius:18px;background:var(--navy);color:#ffffff}.saved-summary span{display:block;color:rgba(255,255,255,.58);font:850 9px/1.2 ui-monospace,monospace;letter-spacing:.08em}.saved-summary b{display:block;margin-top:5px;font-size:1.5625rem;letter-spacing:-.04em}.saved-summary strong{font:900 43px/1 ui-monospace,monospace}.saved-counts{grid-column:1/-1;display:flex;gap:7px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15)}.saved-counts span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.82);font-family:inherit;letter-spacing:0}.saved-counts b{display:inline;margin:0 0 0 4px;color:var(--lime);font-size:0.6875rem}.saved-group{display:grid;gap:10px}.saved-group-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 2px}.saved-group-head h3{margin:0;font-size:1.125rem;letter-spacing:-.035em}.saved-group-head span{color:#687377;font-size:0.625rem;font-weight:850}.saved-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,43%);gap:10px;overflow-x:auto;padding:1px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:none}.saved-rail::-webkit-scrollbar{display:none}.saved-card{position:relative;min-width:0;overflow:hidden;border:1px solid #d4d8ce;border-radius:16px;background:#ffffff;box-shadow:0 8px 22px rgba(20,34,40,.06);scroll-snap-align:start;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.saved-card:hover{border-color:#9babb0;box-shadow:0 11px 28px rgba(20,34,40,.1)}.saved-card:focus-visible{outline:3px solid rgba(18,60,81,.24);outline-offset:2px}.saved-card-media{position:relative;aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;background:#102f3e;color:#ffffff}.saved-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#102f3e}.saved-icon{width:58px;color:rgba(255,255,255,.72)}.saved-icon svg{width:100%;fill:none;stroke:currentColor;stroke-width:1.4}.saved-kind{position:absolute;z-index:2;left:10px;bottom:9px;padding:5px 7px;border-radius:999px;background:rgba(5,24,32,.68);color:#ffffff;font-size:0.5625rem;font-weight:900;backdrop-filter:blur(8px)}.saved-remove{position:absolute;z-index:4;top:7px;right:7px;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(5,24,32,.62);color:#e6f36d;font-size:1.125rem;cursor:pointer;backdrop-filter:blur(8px)}.saved-card-body{padding:12px}.saved-card-body h4{display:-webkit-box;min-height:38px;margin:0 0 8px;overflow:hidden;font-size:0.875rem;line-height:1.35;letter-spacing:-.025em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.saved-card-meta{display:flex;justify-content:space-between;gap:8px;color:#687377;font-size:0.5625rem}.saved-card-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-card-price{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #e5e6e1}.saved-card-price span{color:#687377;font-size:0.5625rem}.saved-card-price b{color:var(--navy);font-size:1rem}.saved-empty{display:grid;place-items:center;min-height:430px;padding:38px 24px;border:1px dashed #bcc5c2;border-radius:18px;background:#ffffff;text-align:center}.saved-empty svg{width:50px;height:50px;fill:none;stroke:var(--navy);stroke-width:1.5}.saved-empty h3{margin:14px 0 6px;font-size:1.3125rem}.saved-empty p{max-width:300px;margin:0;color:#667378;font-size:0.8125rem;line-height:1.55}.saved-empty button{min-height:48px;margin-top:17px;padding:0 18px;border:0;border-radius:10px;background:var(--navy);color:#ffffff;font-size:0.75rem;font-weight:900;cursor:pointer}@media(max-width:700px){.saved-feed{gap:22px}.saved-summary{padding:17px}.saved-summary b{font-size:1.375rem}.saved-summary strong{font-size:2.375rem}.saved-rail{grid-auto-columns:minmax(228px,72%)}.saved-card-body h4{font-size:0.9375rem}.saved-card-price b{font-size:1.0625rem}}
    /* 상태는 숨기지 않고 진행중·예정·결과로 분리한다. */
    .auction-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:2px 0 10px;padding:4px;border:1px solid #d8dbd6;border-radius:14px;background:#e9ecef}.auction-tab{min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:#65757b;font-size:0.6875rem;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.auction-tab b{min-width:22px;padding:2px 5px;border-radius:999px;background:#dedfd9;color:#65757b;font:900 9px/1.5 ui-monospace,monospace}.auction-tab.active{background:#ffffff;color:var(--navy);box-shadow:0 3px 10px rgba(20,34,40,.08)}.auction-tab.active b{background:var(--lime);color:var(--navy)}.auction-tab:focus-visible{outline:3px solid rgba(18,60,81,.22);outline-offset:2px}@media(max-width:430px){.auction-tabs{gap:3px}.auction-tab{min-height:44px;gap:3px;padding-inline:3px;font-size:0.625rem}.auction-tab b{min-width:19px;padding-inline:4px;font-size:0.5rem}}
    /* 공식 데이터에서 계산한 변화 신호와 공유 행동. */
    .detail-sticky.with-share{grid-template-columns:1fr .78fr 1.35fr}.detail-back{display:none;border:1px solid #cfd2cc;background:#ffffff;color:#394a51}.detail-share{border:1px solid #b9c8ce;background:#f0f2ee;color:var(--navy)}@media(max-width:700px){.detail-sticky.with-share{grid-template-columns:.72fr .92fr .68fr 1.25fr;gap:7px}.detail-sticky .detail-back,.detail-sticky .detail-save.saved{display:block}.detail-sticky button{touch-action:manipulation}}@media(max-width:430px){.detail-sticky.with-share{grid-template-columns:.72fr .92fr .68fr 1.25fr;gap:6px}.detail-sticky.with-share button{padding-inline:5px;font-size:0.625rem}}
    .deadline-summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:-7px 0 18px;padding:11px 12px;border:1px solid #dedfd9;border-radius:11px;background:#faf9f5}.deadline-summary span{color:#68747a;font-size:0.5rem;font-weight:800}.deadline-summary b{color:var(--navy);font-size:0.8125rem}.deadline-summary small{color:#68747a;font-size:0.5rem;font-weight:800}.price-change-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-7px 0 18px;padding:11px 12px;border:1px solid #c7d7b6;border-radius:11px;background:#f5f9e8}.price-change-notice+.deadline-summary{margin-top:-10px}.price-change-notice>div{min-width:0}.price-change-notice span{display:block;color:#60704f;font-size:0.5rem;font-weight:800}.price-change-notice b{display:block;margin-top:2px;color:#263919;font-size:0.6875rem}.price-change-notice strong{flex:none;color:#315e2e;font-size:0.625rem}.price-change-notice.rise{border-color:#e5c4b2;background:#fff3e9}.price-change-notice.rise b,.price-change-notice.rise strong{color:#8b412f}@media(max-width:700px){.deadline-summary span,.deadline-summary small{font-size:0.625rem}.deadline-summary b{font-size:0.9375rem}.price-change-notice span{font-size:0.625rem}.price-change-notice b,.price-change-notice strong{font-size:0.75rem}}
    /* 웹은 네트워크 시·도 근사 필터, KMP는 추후 좌표 기반 km 반경으로 확장한다. */
    .distance-roadmap{grid-column:1/-1;padding:14px;border:1px solid #9fb8b0;border-radius:12px;background:#faf9f5;color:#29463e}.distance-roadmap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.distance-roadmap-head span:not(.app-icon){font:900 8px/1 ui-monospace,monospace;letter-spacing:.1em}.distance-roadmap-head em{padding:4px 7px;border-radius:999px;background:#dceae3;color:#376656;font-size:0.5rem;font-style:normal;font-weight:900}.distance-roadmap>b{display:block;font-size:0.8125rem}.distance-roadmap p{margin:4px 0 10px;color:#5d746d;font-size:0.625rem;line-height:1.5}.distance-roadmap p strong{color:#315f50}.distance-roadmap-action{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #52786b;border-radius:10px;background:#ffffff;color:#294f43;font-size:0.75rem;font-weight:900}.distance-roadmap-action[aria-pressed="true"]{background:#315f50;color:#ffffff}.distance-privacy{display:block;margin-top:9px;color:#62756f;font-size:0.5rem}@media(max-width:700px){.distance-roadmap{padding:13px}.distance-roadmap>b{font-size:0.875rem}.distance-roadmap p{font-size:0.6875rem}.distance-roadmap-action{font-size:0.8125rem}}
    /* 공고 단위 검증과 외부 확인 동선 — 확인된 사실과 미확인을 같은 색으로 섞지 않는다. */
    .official-check{padding:16px;border:1px solid #c8d5d8;border-radius:13px;background:#faf9f5}.official-check-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.official-check-head h3{margin:0;font-size:0.875rem}.official-check-head p{margin:3px 0 0!important;color:#6b7684!important;font-size:0.5rem!important}.official-check-head>span{flex:none;padding:5px 7px;border-radius:999px;background:#dceae3;color:#315f50;font-size:0.5rem;font-weight:900}.official-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.official-check-item{min-width:0;padding:10px;border:1px solid #d8e1df;border-radius:9px;background:#ffffff}.official-check-item span{display:block;color:#687377;font-size:0.5rem}.official-check-item b{display:block;margin-top:3px;color:#263b43;font-size:0.625rem;line-height:1.4}.official-check-item.ok{border-color:#bfd5bb;background:#f5f9e8}.official-check-item.pending{border-color:#ead1c3;background:#faf9f5}.official-check-foot{display:block;margin-top:9px;color:#68747a;font-size:0.5rem;line-height:1.45}.official-rounds-wrap{padding:17px 0;border-top:1px solid #dedfd9}.official-rounds-wrap summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#1d2a30;font-size:0.875rem;font-weight:900;cursor:pointer;list-style:none}.official-rounds-wrap summary::-webkit-details-marker{display:none}.official-rounds-wrap summary span{color:#697277;font-size:0.5625rem}.official-rounds-wrap[open] summary{margin-bottom:10px}.official-rounds{display:grid;gap:7px}.official-round{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;padding:10px 11px;border:1px solid #dedfd9;border-radius:9px;background:#ffffff}.official-round span{color:#687377;font-size:0.5rem}.official-round b{font-size:0.625rem}.official-round strong{color:var(--navy);font-size:0.625rem;text-align:right}.decision-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.decision-tool{min-width:0;display:flex;flex-direction:column;padding:12px;border:1px solid #dedfd9;border-radius:11px;background:#ffffff}.decision-tool>span{display:block;color:#687377;font-size:0.5rem}.decision-tool>b{display:block;margin:4px 0 3px;overflow-wrap:anywhere;font-size:0.6875rem}.decision-tool>p{min-height:30px;margin:0 0 9px!important;color:#6b7684!important;font-size:0.5rem!important;line-height:1.5}.decision-tool-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:auto}.decision-tool-actions.single{grid-template-columns:1fr}.decision-tool-actions button,.decision-tool-actions a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid #b9c8ce;border-radius:8px;background:#f0f2ee;color:var(--navy);font-size:0.5625rem;font-weight:900;text-decoration:none;cursor:pointer}.decision-tool-actions .secondary-link{border-color:#d4d8ce;background:#ffffff;color:#56686f}.decision-warning{margin-top:9px;padding:9px 10px;border-left:3px solid #c66d49;background:#fff3e9;color:#76523f;font-size:0.5rem;line-height:1.55}@media(max-width:700px){.official-check{padding:14px}.official-check-head h3{font-size:0.9375rem}.official-check-head p,.official-check-foot,.decision-warning{font-size:0.625rem!important}.official-check-item span{font-size:0.5625rem}.official-check-item b,.official-round b,.official-round strong,.decision-tool>b{font-size:0.75rem}.official-round{grid-template-columns:62px 1fr auto}.decision-tools{grid-template-columns:1fr}.decision-tool>span,.decision-tool>p{font-size:0.625rem!important}.decision-tool-actions button,.decision-tool-actions a{font-size:0.6875rem}}
    /* 모바일의 핵심 행동은 하단 내비게이션 바로 위에서 항상 보인다. */
    @media(max-width:700px){.deck-shell{padding-bottom:86px}.saved-card-meta{align-items:flex-start}.saved-card-meta b{flex:none;max-width:48%;text-align:right;line-height:1.35}}
    body.collection-mode .filters,body.collection-mode .category-tabs,body.collection-mode .pin-refine-panel{display:none!important}
    @media(max-width:760px){body:not(.collection-mode) .filters{display:flex!important;margin-bottom:8px}.filter{min-height:40px;padding-inline:11px}.search-suggestions{z-index:60;max-height:52vh;overflow:auto}}









    .race-visual .media-photo{object-fit:contain!important;background:#06151b}.race-visual .media-shade{z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.42),transparent 24%,transparent 82%,rgba(0,0,0,.2))}.media-open-surface{position:absolute;z-index:2;inset:0;border:0;background:transparent;cursor:zoom-in}.media-top{z-index:4;pointer-events:none}.media-top>*{pointer-events:auto}.media-top>span{font-size:0.625rem}.photo-nav button.media-expand{font-size:1.0625rem;line-height:1}
    .photo-viewer{position:fixed;z-index:140;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(3,10,14,.98);color:#ffffff}.photo-viewer[hidden]{display:none}.photo-viewer-head{z-index:2;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:64px;padding:max(8px,env(safe-area-inset-top)) 12px 8px}.photo-viewer-head button{width:44px;height:44px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(255,255,255,.08);color:#ffffff;font-size:1.5625rem}.photo-viewer-head div{text-align:center}.photo-viewer-head b{display:block;font-size:0.8125rem}.photo-viewer-head span:not(.app-icon){display:block;margin-top:2px;color:rgba(255,255,255,.58);font:850 9px/1.2 ui-monospace,monospace;letter-spacing:.08em}.photo-viewer-stage{position:relative;min-height:0;display:grid;place-items:center;padding:8px 68px}.photo-viewer-stage img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#030a0e}.photo-viewer-nav{position:absolute;z-index:2;top:50%;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(5,18,24,.72);color:#ffffff;font-size:1.5625rem;transform:translateY(-50%);backdrop-filter:blur(8px)}.photo-viewer-nav.prev{left:12px}.photo-viewer-nav.next{right:12px}.photo-viewer-nav:disabled{opacity:.25}.photo-viewer-thumbs{display:flex;gap:8px;min-height:88px;overflow-x:auto;padding:10px 14px max(12px,env(safe-area-inset-bottom));scrollbar-width:none;scroll-snap-type:x proximity}.photo-viewer-thumbs::-webkit-scrollbar{display:none}.photo-viewer-thumb{position:relative;width:68px;height:64px;flex:0 0 68px;overflow:hidden;border:2px solid transparent;border-radius:9px;background:#14242b;opacity:.58;scroll-snap-align:center}.photo-viewer-thumb.active{border-color:var(--lime);opacity:1}.photo-viewer-thumb img{width:100%;height:100%;object-fit:cover}.photo-viewer button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
    @media(max-width:700px){body:not(.collection-mode) .filters{display:none!important}.feed-head{display:none}.race:has(.overview-panel){height:auto!important;max-height:none!important;display:block!important;overflow-y:auto!important;overflow-x:hidden!important}.race:has(.overview-panel)>.race-visual{height:auto!important;min-height:285px!important}.race:has(.overview-panel)>.overview-panel{height:auto!important;display:block!important;overflow:visible!important}.overview-panel .overview-scroll{min-height:0;overflow:visible!important}.overview-panel .detail-sticky{position:sticky!important;bottom:0;z-index:4}.photo-viewer-stage{padding:4px 48px}.photo-viewer-nav{width:44px;height:44px}.photo-viewer-nav.prev{left:2px}.photo-viewer-nav.next{right:2px}.photo-viewer-thumbs{min-height:82px}.photo-viewer-thumb{width:62px;height:58px;flex-basis:62px}}

    .bid-handoff{margin:18px 0 0;padding:16px;border:1px solid #c8d5d8;border-radius:14px;background:#faf9f5}.bid-handoff-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bid-handoff h3{margin:0;color:#102f3e;font-size:0.875rem}.bid-handoff p{margin:6px 0 0!important;color:#617076!important;font-size:0.625rem!important;line-height:1.6}.handoff-state{flex:none;padding:6px 8px;border-radius:999px;background:#e9ecef;color:#40565f;font-size:0.5rem;font-weight:900}.handoff-state.open{background:#eef4cd;color:#556022}.handoff-state.closed{background:#f4e8df;color:#7e4935}.handoff-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 9px}.handoff-facts div{padding:9px 10px;border-radius:9px;background:#ffffff}.handoff-facts span{display:block;color:#687377;font-size:0.5rem}.handoff-facts b{display:block;margin-top:3px;overflow-wrap:anywhere;font-size:0.5625rem;line-height:1.45}.handoff-note{display:block;padding-top:9px;border-top:1px solid #d8e1df;color:#65757b;font-size:0.5rem;font-weight:750;line-height:1.5}@media(max-width:700px){.bid-handoff{padding:14px}.bid-handoff h3{font-size:0.9375rem}.bid-handoff p{font-size:0.6875rem!important}.handoff-facts span{font-size:0.5625rem}.handoff-facts b{font-size:0.6875rem}.handoff-note{font-size:0.625rem}}
    /* 마감 우선 탐색 루프 — 홈 탐색 → 관심물건 → 공식 입찰의 3단 IA. */
    .daily-review{display:grid;gap:13px;margin:0 0 10px;padding:18px;border:1px solid #dedfd9;border-radius:18px;background:#ffffff;box-shadow:0 8px 24px rgba(20,34,40,.055)}
    .daily-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.daily-review-copy span{color:#65757b;font:900 9px/1.2 ui-monospace,monospace;letter-spacing:.1em}.daily-review-copy h1{margin:6px 0 4px;color:var(--ink);font-size:1.5rem;line-height:1.08;letter-spacing:-.045em}.daily-review-copy p{margin:0;color:#6b7684;font-size:0.6875rem;line-height:1.45}.daily-scope-button{flex:none;min-height:48px;max-width:49%;display:flex;align-items:center;gap:9px;padding:8px 12px;border:1.5px solid var(--navy);border-radius:12px;background:#ffffff;color:var(--navy);cursor:pointer}.daily-scope-button b{max-width:100%;overflow:hidden;font-size:0.6875rem;text-overflow:ellipsis;white-space:nowrap}.daily-scope-button small{color:#687377;font-size:0.5rem;font-weight:850}.daily-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.daily-progress-copy span{color:#617076;font-size:0.625rem;font-weight:850}.daily-progress-copy strong{color:var(--navy);font-size:0.625rem}.daily-progress-track{height:7px;margin-top:7px;overflow:hidden;border-radius:999px;background:#e9ecef}.daily-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--navy),#7a9340);transition:width .24s ease}.daily-summary{margin:7px 0 0;color:#6b7684;font-size:0.5625rem;line-height:1.4}.daily-summary b{color:var(--navy)}
    body:not(.collection-mode) .pin-head,body:not(.collection-mode) .pin-tabs,body:not(.collection-mode) .pin-refine-panel{display:none!important}body.collection-mode .daily-review,body.collection-mode .filters,body.collection-mode .browse-tools{display:none!important}
    body:not(.collection-mode) .filters{display:flex!important;gap:7px;margin:0 0 9px;overflow-x:auto;padding:1px;scrollbar-width:none}body:not(.collection-mode) .filters::-webkit-scrollbar{display:none}.filter{flex:none;min-height:44px;padding:0 13px;border-radius:999px;font-size:0.6875rem}.filter b{margin-left:3px}.filter.active{box-shadow:none}
    .browse-tools{margin:0 0 9px;border:1px solid #dedfd9;border-radius:13px;background:#ffffff}.browse-tools>summary{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;color:#56686f;font-size:0.6875rem;font-weight:900;cursor:pointer;list-style:none}.browse-tools>summary::-webkit-details-marker{display:none}.browse-tools>summary:after{content:'expand_more';font-family:"Material Symbols Rounded";font-size:1.3125rem;font-weight:400;line-height:1;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";transition:transform .18s ease}.browse-tools[open]>summary:after{transform:rotate(180deg)}.browse-summary-copy{display:grid;gap:2px;text-align:left}.browse-summary-copy b{color:var(--navy);font-size:0.75rem}.browse-summary-copy small{color:#687377;font-size:0.5625rem;font-weight:750}.browse-tools-panel{display:grid;gap:9px;padding:2px 10px 12px;border-top:1px solid #e5e6e1}.browse-tools .pin-head{margin:10px 1px 3px}.browse-tools .pin-head button{min-height:44px}.browse-tools .pin-tabs{margin-bottom:3px}.browse-tools .pin-refine-panel{margin:0}.browse-tools .signal-filter-head{margin:9px 1px 1px}.browse-tools .filters{display:flex!important;margin-bottom:1px}.browse-tools .tools{position:static!important;margin:2px 0 0!important;padding:0!important;background:transparent!important;backdrop-filter:none!important}.browse-tools .auction-tabs{margin:0}.browse-tools-label{margin:1px 2px -3px;color:#687377;font-size:0.5625rem;font-weight:850}


    .close,.pin-sheet-head button,.photo-viewer-head>button,.photo-viewer-nav{display:grid;place-items:center;padding:0;line-height:1}.close svg,.pin-sheet-head button svg,.photo-viewer-head>button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
    /* 공식 사진 검수 뷰어 — 맞춤/채우기/확대와 드래그 이동. */
    .photo-viewer{overscroll-behavior:contain;grid-template-columns:minmax(0,1fr)}.photo-viewer-head,.photo-viewer-stage,.photo-viewer-footer{min-width:0}.photo-viewer-stage{overflow:hidden;padding:8px 18px;touch-action:none;user-select:none;cursor:zoom-in}.photo-viewer-stage[data-zoomed="true"]{cursor:grab}.photo-viewer-stage[data-dragging="true"]{cursor:grabbing}.photo-viewer-canvas{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.photo-viewer-stage img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;background:transparent;transform:translate3d(var(--viewer-pan-x,0),var(--viewer-pan-y,0),0) scale(var(--viewer-zoom,1));transform-origin:center center;will-change:transform;transition:transform .2s ease}.photo-viewer-stage[data-dragging="true"] img,.photo-viewer-stage[data-pinching="true"] img{transition:none}.photo-viewer-nav{z-index:4}.photo-viewer-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.photo-viewer-gesture-hint{position:absolute;z-index:3;left:50%;bottom:15px;min-height:36px;display:flex;align-items:center;padding:0 12px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(5,18,24,.74);color:rgba(255,255,255,.82);font-size:0.625rem;font-weight:850;transform:translateX(-50%);pointer-events:none;white-space:nowrap;backdrop-filter:blur(10px);transition:opacity .18s ease}.photo-viewer-stage[data-zoomed="true"] .photo-viewer-gesture-hint{opacity:0}.photo-viewer-footer{position:relative;z-index:5;border-top:1px solid rgba(255,255,255,.08);background:rgba(3,10,14,.94)}.photo-viewer-toolbar{min-height:58px;display:flex;align-items:center;justify-content:center;gap:8px;padding:7px 12px 3px}.photo-viewer-toolbar button{min-width:44px;height:44px;display:grid;place-items:center;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(255,255,255,.08);color:#ffffff;font-size:1.0625rem;font-weight:900;cursor:pointer;transition:background .18s ease,border-color .18s ease}.photo-viewer-toolbar button:hover,.photo-viewer-toolbar button.active{border-color:rgba(230,243,109,.65);background:rgba(230,243,109,.14)}.photo-viewer-toolbar button:disabled{opacity:.3;cursor:default}.photo-viewer-toolbar .zoom-level{min-width:68px;grid-template-columns:1fr;align-content:center;gap:1px}.photo-viewer-toolbar .zoom-level b{font:900 11px/1 ui-monospace,monospace}.photo-viewer-toolbar .zoom-level small{color:rgba(255,255,255,.58);font-size:0.4375rem}.photo-viewer-toolbar .fill-view{font-size:0.625rem}.photo-viewer-footer .photo-viewer-thumbs{min-height:74px;padding-top:6px}.photo-viewer-stage[data-zoomed="true"] .photo-viewer-nav{opacity:.32;pointer-events:none}
    @media(max-width:700px){.photo-viewer-stage{padding:4px 8px}.photo-viewer-nav.prev{left:10px}.photo-viewer-nav.next{right:10px}.photo-viewer-gesture-hint{bottom:10px}.photo-viewer-toolbar{gap:7px;padding-inline:8px}.photo-viewer-toolbar button{padding-inline:10px}.photo-viewer-footer .photo-viewer-thumbs{min-height:70px}.photo-viewer-thumb{width:58px;height:54px;flex-basis:58px}}
    .photo-viewer-stage[data-zoomed="true"] .photo-viewer-nav{opacity:0}
    @media(prefers-reduced-motion:reduce){.photo-viewer-stage img,.photo-viewer-gesture-hint{transition:none!important}}
    @media(max-width:700px){body:not(.collection-mode) .filters{display:flex!important}.daily-review{gap:11px;margin-bottom:8px;padding:14px;border-radius:15px}.daily-review-copy h1{font-size:1.3125rem}.daily-review-copy p{font-size:0.625rem}.daily-scope-button{min-height:44px;max-width:46%;padding-inline:9px}.daily-progress-copy span,.daily-progress-copy strong{font-size:0.625rem}.daily-summary{font-size:0.5625rem}.browse-tools{margin-bottom:7px}.browse-tools .auction-tabs{overflow-x:auto;display:flex;padding:4px}.browse-tools .auction-tab{flex:0 0 auto;min-width:88px}.feed.swipe-feed{min-height:530px}}
    @media(max-width:380px){.daily-review{padding:12px}.daily-review-copy h1{font-size:1.1875rem}.daily-scope-button{max-width:44%}}
    /* 공매 탐색 v5 — 마감 우선, 즉시 카테고리 전환, 큰 글자와 긴 사진 카드. */
    body,button,input,select,textarea{font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
    body:not(.collection-mode) .category-tabs{display:flex!important;gap:8px;margin:0 0 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
    body.collection-mode .category-tabs{display:none!important}
    .category{min-width:0!important;min-height:50px;font-size:0.875rem}.category span{font-size:1.125rem}.category b{font-family:inherit;font-size:0.6875rem}




    .saved-appraisal{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;padding-top:7px;border-top:1px solid #e5e6e1;color:#65757b;font-size:0.625rem}.saved-appraisal b{color:#3e652b;font-size:0.6875rem}
    .feed.deadline-feed{gap:16px;min-height:0}.deadline-list-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #dedfd9;border-radius:12px;background:#f0f2ee;color:#56686f}.deadline-list-note b{color:var(--navy);font-size:0.8125rem}.deadline-list-note span{max-width:280px;font-size:0.625rem;line-height:1.45;text-align:right}.deadline-item{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr);grid-template-areas:"photo summary" "metrics metrics" "actions actions";gap:0;border:1px solid #dedfd9;border-radius:17px;background:#ffffff;box-shadow:0 7px 20px rgba(20,34,40,.055);overflow:hidden;cursor:pointer}.deadline-item:hover{border-color:#aeb8b7;box-shadow:0 10px 24px rgba(20,34,40,.09)}.deadline-photo{grid-area:photo;position:relative;min-height:138px;display:grid;place-items:center;overflow:hidden;background:#102f3e;color:#c8d5d8}.deadline-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#102f3e}.deadline-photo>svg{width:50px;height:50px;fill:none;stroke:currentColor;stroke-width:1.5}.deadline-kind{position:absolute;left:8px;top:8px;z-index:2;max-width:calc(100% - 16px);padding:5px 7px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(3,24,32,.72);color:#ffffff;font-size:0.5625rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-summary-copy{grid-area:summary;min-width:0;padding:13px 14px 11px}.deadline-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.deadline-when{display:grid;gap:2px;color:#a64227}.deadline-when b{font-size:1.0625rem;line-height:1}.deadline-when small{color:#7f5a4f;font-size:0.5625rem;font-weight:800}.deadline-when.upcoming{color:var(--navy)}.deadline-when.upcoming small{color:#65757b}.deadline-status{flex:none;max-width:48%;padding:5px 7px;border-radius:999px;background:#e9ecef;color:#315f50;font-size:0.5625rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deadline-summary-copy h3{display:-webkit-box;margin:10px 0 5px;overflow:hidden;color:#191f28;font-size:1.0625rem;line-height:1.28;letter-spacing:-.035em;-webkit-box-orient:vertical;-webkit-line-clamp:2}.deadline-location{display:-webkit-box;margin:0;overflow:hidden;color:#65757b;font-size:0.6875rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.deadline-metrics{grid-area:metrics;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px 13px 4px;border-top:1px solid #e9ecef}.deadline-price{min-width:0;padding:9px 10px;border-radius:10px;background:#f0f2ee}.deadline-price.primary{background:#f3f6df}.deadline-price span{display:block;margin-bottom:4px;color:#6b7684;font-size:0.625rem;font-weight:800}.deadline-price b{display:block;overflow:hidden;color:var(--navy);font-size:1rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.deadline-appraisal{grid-column:1/-1;padding:4px 1px 3px}.deadline-appraisal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;color:#617076;font-size:0.625rem;font-weight:800}.deadline-appraisal-head b{color:#3e652b;font-size:0.6875rem}.deadline-appraisal.higher .deadline-appraisal-head b{color:#a04a31}.deadline-appraisal-track{height:7px;overflow:hidden;border-radius:999px;background:#e5e6e1}.deadline-appraisal-track i{display:block;width:var(--ratio,0%);height:100%;border-radius:inherit;background:#7e9946}.deadline-appraisal.higher .deadline-appraisal-track i{background:#c66544}.deadline-signals{grid-column:1/-1;display:flex;gap:5px;overflow:hidden}.deadline-signal{padding:5px 7px;border-radius:7px;background:#e9ecef;color:#4e5968;font-size:0.5625rem;font-weight:850;white-space:nowrap}.deadline-signal.drop,.deadline-signal.bargain{background:#f3f6df;color:#526719}.deadline-signal.rise{background:#fff3e9;color:#9a432c}.deadline-actions{grid-area:actions;display:grid;grid-template-columns:1fr 1.35fr;gap:8px;padding:8px 13px 12px}.deadline-actions button{min-height:46px;border-radius:11px;font-size:0.8125rem;font-weight:900;cursor:pointer}.deadline-save{border:1px solid #bcc5c2;background:#ffffff;color:#536269}.deadline-save.on{border-color:var(--navy);background:#ffffff;color:var(--navy)}.deadline-detail{border:1px solid var(--navy);background:var(--navy);color:#ffffff}.deadline-empty{padding:48px 20px;border:1px solid #dedfd9;border-radius:16px;background:#ffffff;text-align:center}.deadline-empty h3{margin:0 0 8px;font-size:1.1875rem}.deadline-empty p{margin:0;color:#6b7684;font-size:0.8125rem;line-height:1.55}.list-mode .daily-review{padding:15px}.list-mode .daily-progress-track{display:none}.list-mode .daily-progress-copy{margin-top:-2px}.list-mode .feed-head{display:flex}
    @media(max-width:700px){

      .daily-review-copy span{font-family:inherit;font-size:0.625rem}.daily-review-copy h1{font-size:1.4375rem}.daily-review-copy p{font-size:0.8125rem;line-height:1.55}.daily-progress-copy span,.daily-progress-copy strong{font-size:0.75rem}.daily-summary{font-size:0.6875rem;line-height:1.5}

      .saved-card-body h4{font-size:0.9375rem}.saved-card-meta span,.saved-card-meta b{font-size:0.6875rem}.saved-card-price span{font-size:0.625rem}.saved-card-price b{font-size:0.9375rem}
      .feed.deadline-feed{gap:9px}.deadline-list-note{padding:10px 11px}.deadline-list-note b{font-size:0.75rem}.deadline-list-note span{font-size:0.625rem}.deadline-item{grid-template-columns:116px minmax(0,1fr);border-radius:15px}.deadline-photo{min-height:132px}.deadline-summary-copy{padding:12px 11px 9px}.deadline-when b{font-size:1.0625rem}.deadline-when small{font-size:0.625rem}.deadline-summary-copy h3{margin-top:9px;font-size:1.0625rem}.deadline-location{font-size:0.75rem}.deadline-metrics{padding:10px 10px 3px}.deadline-price{padding:9px}.deadline-price span{font-size:0.6875rem}.deadline-price b{font-size:1.0625rem}.deadline-appraisal-head{font-size:0.6875rem}.deadline-appraisal-head b{font-size:0.75rem}.deadline-signal{font-size:0.625rem}.deadline-actions{padding:8px 10px 11px}.deadline-actions button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;font-size:0.875rem;white-space:nowrap}.list-mode .daily-review-copy p{display:none}.list-mode .daily-review{gap:8px}.list-mode .daily-summary{margin-top:3px}
    }
    @media(max-width:380px){.category{font-size:0.8125rem}}
    /* 내 조건 행동판 — 전체 검색보다 마감·변경·관심물건의 다음 행동을 먼저 보여준다. */
    body:not(.collection-mode) .pin-head{display:flex!important}
    body:not(.collection-mode) .pin-tabs{display:flex!important}
    body:not(.collection-mode) .pin-refine-panel:not([hidden]){display:block!important}
    .pin-refine-panel[hidden]{display:none!important}
    body.collection-mode .daily-review,body.collection-mode .pin-head,body.collection-mode .pin-tabs,body.collection-mode .pin-refine-panel,body.collection-mode .category-switch-head,body.collection-mode .signal-filter-head,body.collection-mode .filters,body.collection-mode .browse-tools,body.collection-mode .auction-stage-head,body.collection-mode .sort-strip,body.collection-mode .nearby-filter{display:none!important}
    .daily-review{gap:14px;padding:20px;border-color:#d4d8ce;background:linear-gradient(145deg,#ffffff 0%,#faf9f5 100%)}
    .daily-review-copy span{font-family:inherit;font-size:0.625rem;letter-spacing:.02em}.daily-review-copy h1{font-size:1.75rem}.daily-review-copy p{max-width:560px;font-size:0.8125rem;line-height:1.55}
    .daily-scope-button{min-height:54px;max-width:42%;padding:8px 13px;text-align:right}.daily-scope-button b{font-size:0.8125rem}.daily-scope-button small{font-size:0.625rem}
    .daily-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
    .daily-action-grid>button{min-width:0;min-height:92px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon count" "icon label";align-content:center;align-items:center;gap:2px 8px;padding:12px;border:1px solid #dedfd9;border-radius:14px;background:#ffffff;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
    .daily-action-grid>button:hover{border-color:#91a3a6;transform:translateY(-1px)}.daily-action-grid>button.active{border-color:var(--navy);background:#f0f2ee}.daily-action-grid>button:disabled{opacity:.46;cursor:default;transform:none}
    .daily-action-icon{grid-area:icon;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e9ecef;color:var(--navy)}.daily-action-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
    .daily-action-grid b{grid-area:count;color:var(--navy);font-size:1.5rem;line-height:1}.daily-action-grid small{grid-area:label;overflow:hidden;color:#65757b;font-size:0.625rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
    .daily-primary-action{width:100%;min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;border:0;border-radius:14px;background:var(--navy);color:#ffffff;cursor:pointer}.daily-primary-action>span{display:grid;gap:4px;text-align:left}.daily-primary-action b{font-size:1rem}.daily-primary-action small{color:rgba(255,255,255,.68);font-size:0.6875rem;font-weight:750}.daily-primary-action svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.daily-primary-action:focus-visible,.daily-action-grid>button:focus-visible{outline:3px solid rgba(18,60,81,.24);outline-offset:2px}
    .daily-summary{margin:0;font-size:0.6875rem}.pin-head{align-items:end;margin:15px 0 8px}.pin-head>div>span{display:block;margin-top:3px;color:#687377;font-size:0.625rem}.pin-head button{font-size:0.75rem}
    .pin-tabs{gap:8px;margin-bottom:10px}.pin-tab-wrap{width:min(294px,75vw)}.pin-tab{min-height:70px;justify-content:space-between;padding-left:14px}.pin-tab-copy{min-width:0;display:grid;gap:4px;text-align:left}.pin-tab-copy strong{overflow:hidden;font-size:0.8125rem;text-overflow:ellipsis;white-space:nowrap}.pin-tab-copy small{overflow:hidden;color:#687377;font-size:0.5625rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.pin-tab.active .pin-tab-copy small{color:rgba(255,255,255,.72)}.pin-tab b{flex:none;font-size:0.625rem}.pin-refine-trigger{height:66px}
    .category-switch-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 1px 7px}.category-switch-head b{font-size:0.75rem}.category-switch-head span{color:#687377;font-size:0.5625rem;font-weight:750}.signal-filter-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:13px 0 7px}.signal-filter-head>div>span{display:block;margin-top:3px;color:#687377;font-size:0.625rem}.signal-filter-head>button{min-height:44px;padding:0 11px;border:1px solid #d4d8ce;border-radius:10px;background:#ffffff;color:var(--navy);font-size:0.6875rem;font-weight:900;cursor:pointer}
    .pin-advanced-title{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:3px;padding-top:14px;border-top:1px solid #dedfd9}.pin-advanced-title b{font-size:0.8125rem}.pin-advanced-title span{color:#687377;font-size:0.625rem;text-align:right}.pin-category-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:11px}.pin-category-fields[hidden]{display:none}.pin-category-fields label{min-width:0}
    @media(max-width:700px){
      .daily-review{gap:12px;padding:15px}.daily-review-top{gap:10px}.daily-review-copy h1{font-size:1.5rem}.daily-review-copy p{font-size:0.75rem}.daily-scope-button{max-width:44%;min-height:52px}.daily-scope-button b{font-size:0.75rem}.daily-action-grid{grid-template-columns:1fr 1fr}.daily-action-grid>button{min-height:78px;grid-template-columns:31px minmax(0,1fr);padding:10px}.daily-action-icon{width:31px;height:31px}.daily-action-grid b{font-size:1.375rem}.daily-action-grid small{font-size:0.6875rem}.daily-primary-action{min-height:58px}.daily-primary-action b{font-size:0.9375rem}.daily-primary-action small{font-size:0.625rem}.daily-summary{font-size:0.625rem}.pin-head>div>span,.signal-filter-head>div>span{font-size:0.6875rem;line-height:1.4}.pin-tab-wrap{width:min(260px,78vw)}.pin-tab{min-height:68px}.pin-refine-trigger{height:64px}.signal-filter-head{margin-top:12px}.pin-advanced-title{display:grid;gap:3px}.pin-advanced-title span{text-align:left}.pin-category-fields{grid-template-columns:1fr}.pin-form select,.pin-form input{min-height:52px;font-size:1rem}
    }
    @media(max-width:380px){.daily-review-copy h1{font-size:1.375rem}.daily-action-grid>button{padding:9px}.daily-action-grid small{font-size:0.625rem}.daily-scope-button{max-width:41%}}
    /* 첫 화면은 핵심 행동만 남긴다. 0건 신호와 반복 조건은 접고, 공매 목록을 더 빨리 시작한다. */
    .daily-action-grid{display:flex;gap:7px;overflow-x:auto;padding:1px;scrollbar-width:none}.daily-action-grid::-webkit-scrollbar{display:none}.daily-action-grid>button{flex:1 1 0;min-width:124px;min-height:58px;grid-template-columns:30px minmax(0,1fr);padding:9px 10px;border-radius:12px}.daily-action-grid>button:disabled{display:none}.daily-action-icon{width:30px;height:30px}.daily-action-grid b{font-size:1.25rem}.daily-action-grid small{font-size:0.625rem}.daily-primary-action{min-height:54px}.daily-review{gap:10px}.daily-summary{margin-top:-1px}.category-switch-head{margin-top:10px}.browse-tools{margin-top:2px}
    @media(max-width:700px){.daily-action-grid{display:flex;grid-template-columns:none}.daily-action-grid>button{flex:0 0 calc(50% - 4px);min-width:0;min-height:56px;padding:8px 9px}.daily-action-grid b{font-size:1.25rem}.daily-action-grid small{font-size:0.625rem}.browse-tools .pin-head>div>span{font-size:0.625rem}.browse-summary-copy b{font-size:0.8125rem}.browse-summary-copy small{font-size:0.625rem}}
    /* 표제·본문·수치까지 Pretendard Variable 한 패밀리로 통일한다. */
    body,body *:not(.app-icon){font-family:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif!important;font-optical-sizing:auto;font-synthesis:none}
    /* 공식 무료 Material Symbols Rounded로 모든 조작 아이콘을 통일한다. */
    .daily-action-icon .app-icon{font-size:1.3125rem}.daily-primary-action>.app-icon{font-size:1.5625rem}.category>.app-icon{font-size:1.3125rem}.category-label{white-space:nowrap}.search-box>.app-icon{margin-left:13px;color:#68747a;font-size:1.3125rem}.search-clear .app-icon{font-size:1.25rem}.saved-remove .app-icon{font-size:1.375rem}.deadline-save{display:flex;align-items:center;justify-content:center;gap:5px}.deadline-save .app-icon{font-size:1.1875rem}.mobile-nav .app-icon{font-size:1.5rem}.pin-sheet-head button,.dialog-head .close{display:grid;place-items:center}.pin-sheet-head .app-icon,.dialog-head .app-icon,.photo-viewer-head .app-icon{font-size:1.5625rem}.photo-viewer-nav .app-icon{font-size:1.75rem}.photo-viewer-toolbar .app-icon{font-size:1.375rem}.photo-viewer-toolbar .fill-view{display:flex;align-items:center;justify-content:center;gap:5px}.photo-viewer-toolbar .fill-view>.app-icon{display:none}.photo-viewer-toolbar .fill-view:before{content:"fit_screen";font-family:"Material Symbols Rounded";font-size:1.1875rem;font-weight:400;line-height:1;font-feature-settings:"liga";-webkit-font-feature-settings:"liga"}.pin-refine-trigger>.app-icon{font-size:1.0625rem;transition:transform .18s ease}.pin-refine-trigger[aria-expanded="true"]>.app-icon{transform:rotate(180deg)}
    .photo-nav button:before,.detail-back:before,.detail-save:before,.detail-share:before,.detail-sticky>.primary:after,.overview-files i:before{display:inline-flex;align-items:center;justify-content:center;font-family:"Material Symbols Rounded";font-style:normal;font-weight:400;line-height:1;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.photo-nav button{font-size:0!important}.detail-back,.detail-save{align-items:center;justify-content:center;gap:4px;font-size:0!important}.detail-save{display:flex!important}.detail-back:before{content:"arrow_back";font-size:1.1875rem}.detail-back:after{content:"목록";font-size:0.6875rem}.detail-save:before{content:"favorite_border";font-size:1.1875rem}.detail-save.saved:before{content:"favorite"}.detail-save:after{content:"관심물건";font-size:0.6875rem}.detail-share{display:flex;align-items:center;justify-content:center;gap:3px}.detail-share:before{content:"ios_share";font-size:1.0625rem}.detail-sticky>.primary{display:flex;align-items:center;justify-content:center;gap:4px}.detail-sticky>.primary:after{content:"open_in_new";font-size:1rem}.overview-files i{font-size:0}.overview-files i:before{content:"open_in_new";font-size:1.125rem}
    .cost-row>i,.tracking-note>span{font-size:0!important}.cost-row>i:before,.tracking-note>span:before{display:inline-flex;align-items:center;justify-content:center;font-family:"Material Symbols Rounded";font-style:normal;font-weight:400;line-height:1;font-feature-settings:"liga";-webkit-font-feature-settings:"liga"}.cost-row:nth-child(1)>i:before{content:"currency_won";font-size:1.1875rem}.cost-row:nth-child(2)>i:before{content:"schedule";font-size:1.1875rem}.cost-row:nth-child(3)>i:before{content:"location_on";font-size:1.1875rem}.tracking-note>span:before{content:"sync";font-size:1.1875rem}
    /* 오늘 요약은 경고판이 아니라 탐색 진입점이다. 급한 일이 없으면 한 줄, 있을 때만 신호를 펼친다. */
    .daily-review{grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:9px 10px;margin-bottom:10px;padding:13px 14px;border-color:#d8dbd6;border-radius:16px;background:#ffffff;box-shadow:none}
    .daily-review-copy{min-width:0;grid-column:1;grid-row:1}.daily-review-copy span{display:block;color:#65757b;font-size:0.625rem;font-weight:850;letter-spacing:0}.daily-review-copy h1{margin:4px 0 0;font-size:1.3125rem;line-height:1.15;white-space:nowrap}.daily-review-copy p{display:none}
    .daily-scope-button{grid-column:2;grid-row:1;min-width:128px;min-height:48px;max-width:180px;padding:7px 11px;border-radius:11px;background:#faf9f5;text-align:right}.daily-scope-button b{font-size:0.75rem}.daily-scope-button small{font-size:0.5625rem}
    .daily-action-grid{grid-column:1;grid-row:2;display:flex;gap:7px;overflow:visible;padding:0}.daily-action-grid[hidden],.daily-action-grid>button[hidden]{display:none!important}.daily-action-grid>button{flex:none;min-width:108px;min-height:48px;grid-template-columns:28px minmax(0,1fr);padding:7px 9px;border-radius:11px}.daily-action-icon{width:28px;height:28px}.daily-action-grid b{font-size:1.125rem}.daily-action-grid small{font-size:0.5625rem}
    .daily-primary-action{grid-column:2;grid-row:2;width:auto;min-width:128px;min-height:48px;padding:0 13px;border-radius:11px}.daily-primary-action>span{display:block}.daily-primary-action b{font-size:0.8125rem;white-space:nowrap}.daily-primary-action small{display:none}.daily-primary-action>.app-icon{font-size:1.3125rem}
    .daily-summary{display:none}.daily-review.is-calm{grid-template-columns:minmax(220px,1fr) auto auto}.daily-review.is-calm .daily-primary-action{grid-column:2;grid-row:1}.daily-review.is-calm .daily-scope-button{grid-column:3;grid-row:1}
    .daily-review.is-urgent{border-color:#e1b4a2;background:#faf9f5}.daily-review.is-urgent .daily-review-copy span{color:#98503a}.daily-review.is-urgent .daily-primary-action{background:#8b412f}
    .daily-review.is-loading{min-height:104px;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;background:#ffffff}.daily-review.is-loading .daily-action-grid,.daily-review.is-loading .daily-scope-button{display:none!important}.daily-review.is-loading .daily-primary-action{grid-column:2;grid-row:1;min-width:128px;background:#e9ecef;color:#355363;cursor:wait}.daily-review.is-loading .daily-primary-action:disabled{opacity:1}.daily-review.is-loading .daily-primary-action>.app-icon{color:#68747a}.daily-review.is-loading .daily-review-copy span{color:#6b7684}.daily-review.is-loading .daily-review-copy h1{color:#263b43}
    @media(max-width:700px){.daily-review,.daily-review.is-calm{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.daily-review-copy h1{font-size:1.125rem;white-space:normal}.daily-review-copy span{font-size:0.625rem}.daily-scope-button,.daily-review.is-calm .daily-scope-button{display:none}.daily-review.is-calm .daily-primary-action{grid-column:2;grid-row:1;justify-self:end;min-width:104px}.daily-review.is-urgent .daily-action-grid{grid-column:1;grid-row:2}.daily-review.is-urgent .daily-primary-action{grid-column:2;grid-row:2;min-width:104px}.daily-action-grid>button{min-width:104px;min-height:48px}.daily-primary-action b{font-size:0.8125rem}}
    @media(max-width:700px){.daily-review.is-loading{min-height:92px;grid-template-columns:minmax(0,1fr) auto}.daily-review.is-loading .daily-primary-action{grid-column:2;grid-row:1;min-width:104px}}
    @media(max-width:430px){.daily-review.is-urgent{grid-template-columns:1fr}.daily-review.is-urgent .daily-review-copy{grid-column:1}.daily-review.is-urgent .daily-action-grid{grid-column:1;grid-row:2;overflow-x:auto}.daily-review.is-urgent .daily-primary-action{grid-column:1;grid-row:3;width:100%}}
    /* 같은 주소의 호실은 대표 사진·주소·일정을 한 번만 보여 주고, 호실별 차이만 비교한다. */
    .building-cluster{overflow:hidden;border:1px solid #bcc5c2;border-radius:19px;background:#ffffff;box-shadow:0 7px 20px rgba(20,34,40,.055)}.building-cluster-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid #e5e6e1;background:#f0f2ee}.building-cluster-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--navy);color:#ffffff}.building-cluster-icon .app-icon{font-size:1.375rem}.building-cluster-copy{min-width:0}.building-cluster-copy>span{display:block;color:#3f665d;font-size:0.625rem;font-weight:900}.building-cluster-copy h3{margin:3px 0 2px;overflow:hidden;color:#173543;font-size:0.9375rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.building-cluster-copy small{display:block;overflow:hidden;color:#65757b;font-size:0.625rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.building-cluster-tools{display:flex;align-items:center;gap:7px}.building-distance,.asset-distance{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:6px 9px;border:1px solid #9fb8b0;border-radius:999px;background:#faf9f5;color:#315f50;font-size:0.6875rem;font-weight:900;white-space:nowrap}.building-distance.is-loading,.asset-distance.is-loading{color:#5d746d}.building-distance.is-error,.asset-distance.is-error{border-color:#d9c6b9;background:#f0f2ee;color:#7f5a4f}.building-distance .ui-icon,.asset-distance .ui-icon{width:16px;height:16px}.asset-distance{min-height:28px;margin-top:5px;padding:3px 8px;font-size:0.625rem}.building-cluster-map,.deadline-map{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #9babb0;border-radius:11px;background:#ffffff;color:var(--navy);font-size:0.75rem;font-weight:900;cursor:pointer}.building-cluster-map{padding:0 12px}.building-cluster-map .app-icon,.deadline-map .app-icon{font-size:1.125rem}.building-cluster-common{display:grid;grid-template-columns:142px minmax(0,1fr);min-height:116px;border-bottom:1px solid #e5e6e1}.building-cluster-photo{position:relative;min-height:116px;overflow:hidden;background:#102f3e;color:#c8d5d8}.building-cluster-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.building-cluster-photo>svg{position:absolute;left:50%;top:50%;width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.5;transform:translate(-50%,-50%)}.building-cluster-common-copy{display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0;padding:13px 15px}.building-cluster-common-copy>span{color:#a64227;font-size:1rem;font-weight:950}.building-cluster-common-copy>small{color:#65757b;font-size:0.6875rem;font-weight:800}.building-cluster-common-copy>p{margin:0;color:#40565f;font-size:0.6875rem;line-height:1.45}.building-unit-list{display:grid}.building-unit{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(120px,.8fr) 48px;align-items:center;gap:10px;min-height:88px;padding:12px 14px;border:0;border-bottom:1px solid #e5e6e1;background:#ffffff;color:inherit;text-align:left;cursor:pointer}.building-unit:last-child{border-bottom:0}.building-unit:hover{background:#faf9f5}.building-unit:focus-visible{outline:3px solid #a8c7d1;outline-offset:-3px}.building-unit-main{min-width:0}.building-unit-main>span{display:flex;align-items:center;gap:6px;color:#65757b;font-size:0.625rem;font-weight:850}.building-unit-main>span em{padding:3px 6px;border-radius:999px;background:#e9ecef;color:#315f50;font-size:0.5625rem;font-style:normal}.building-unit-main h4{margin:5px 0 3px;color:#102f3e;font-size:1.125rem;line-height:1.15}.building-unit-main p{margin:0;overflow:hidden;color:#65757b;font-size:0.6875rem;text-overflow:ellipsis;white-space:nowrap}.building-unit-price{min-width:0;text-align:right}.building-unit-price span{display:block;color:#68747a;font-size:0.625rem;font-weight:800}.building-unit-price b{display:block;margin-top:4px;overflow:hidden;color:var(--navy);font-size:1.0625rem;text-overflow:ellipsis;white-space:nowrap}.building-unit-price small{display:block;margin-top:3px;color:#4f6f31;font-size:0.625rem;font-weight:850}.building-unit-actions{display:grid;gap:5px}.building-unit-actions button{width:44px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:#f0f2ee;color:#56686f;cursor:pointer}.building-unit-actions button:first-child{height:44px}.building-unit-actions button.on{background:transparent;color:var(--navy)}.building-unit-actions .app-icon{font-size:1.25rem}.deadline-actions.has-map{grid-template-columns:repeat(3,minmax(0,1fr))}.deadline-map{padding:0 9px}
    @media(max-width:700px){.building-cluster{border-radius:17px}.building-cluster-head{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:10px}.building-cluster-icon{width:34px;height:34px}.building-cluster-copy h3{font-size:0.875rem}.building-cluster-copy small{font-size:0.625rem}.building-cluster-tools{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto}.building-distance{justify-content:center;min-height:44px}.building-cluster-map{min-width:76px;padding:0 10px;font-size:0.75rem}.building-cluster-common{grid-template-columns:116px minmax(0,1fr);min-height:104px}.building-cluster-photo{min-height:104px}.building-cluster-common-copy{gap:5px;padding:10px 11px}.building-cluster-common-copy>span{font-size:0.9375rem}.building-cluster-common-copy>small,.building-cluster-common-copy>p{font-size:0.625rem}.building-unit{grid-template-columns:minmax(0,1fr) auto 44px;gap:7px;min-height:84px;padding:10px}.building-unit-main h4{font-size:1.0625rem}.building-unit-main p{font-size:0.625rem}.building-unit-price b{font-size:0.9375rem}.building-unit-actions button{width:44px}.deadline-actions.has-map{grid-template-columns:repeat(3,minmax(0,1fr))}.deadline-map{font-size:0.8125rem}}
    @media(max-width:390px){.deadline-actions button .app-icon{display:none}.building-cluster-common{grid-template-columns:104px minmax(0,1fr)}.building-unit{grid-template-columns:minmax(0,1fr) auto}.building-unit-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.building-unit-actions button{height:40px}.building-unit-actions button:first-child{height:40px}}
    /* 목록 카드는 일정 → 물건 → 가격 → 행동 순서로 한 번에 훑히게 한다. */
    .deadline-item{grid-template-columns:160px minmax(0,1fr);transition:border-color .18s ease,box-shadow .18s ease}.deadline-photo{min-height:154px}.deadline-summary-copy{display:flex;flex-direction:column;justify-content:center;padding:13px 16px}.deadline-item-top{display:block}.deadline-timing{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid #cbdce1;border-radius:11px;background:#f1f7f8;color:var(--navy)}.deadline-timing>.app-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e9ecef;font-size:1.25rem}.deadline-timing>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:2px 8px;min-width:0}.deadline-timing em{color:#46636d;font-size:0.6875rem;font-style:normal;font-weight:950;letter-spacing:.03em}.deadline-timing b{overflow:hidden;font-size:1.0625rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.deadline-timing small{grid-column:1/-1;overflow:hidden;color:#56686f;font-size:0.75rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.deadline-timing.active{border-color:#e2bda9;background:#faf9f5;color:#983d25}.deadline-timing.active>.app-icon{background:#f7e1d8}.deadline-timing.active small{color:#7f5a4f}.deadline-timing.closed{border-color:#dedfd9;background:#f0f2ee;color:#56686f}.deadline-timing.closed>.app-icon{background:#e5e6e1}.deadline-summary-copy h3{margin:10px 0 3px;font-size:1.25rem;line-height:1.25}.deadline-location{color:#536269;font-size:0.8125rem;line-height:1.45}.deadline-metrics{padding-top:12px}.deadline-price{padding:11px 12px}.deadline-price.primary{border:1px solid #a9bc67;background:#f3f6df}.deadline-price span{margin-bottom:5px;font-size:0.75rem}.deadline-price b{font-size:1.1875rem}.deadline-appraisal{display:block;padding:8px 2px 5px}.deadline-appraisal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.deadline-appraisal-head span{color:#56686f;font-size:0.75rem;font-weight:850}.deadline-appraisal-head b{color:#3e652b;font-size:0.8125rem}.deadline-appraisal-track{height:9px}.deadline-appraisal>small{display:block;margin-top:6px;color:#52655f;font-size:0.6875rem;font-weight:750}.deadline-appraisal.higher .deadline-appraisal-head b,.deadline-appraisal.higher>small{color:#a04a31}
    @media(max-width:700px){.deadline-item{grid-template-columns:118px minmax(0,1fr)}.deadline-photo{min-height:150px}.deadline-summary-copy{padding:10px}.deadline-timing{grid-template-columns:30px minmax(0,1fr);gap:7px;padding:7px 8px}.deadline-timing>.app-icon{width:30px;height:30px;font-size:1.125rem}.deadline-timing>div{grid-template-columns:1fr}.deadline-timing em{font-size:0.625rem}.deadline-timing b{font-size:0.9375rem}.deadline-timing small{grid-column:1;font-size:0.6875rem}.deadline-summary-copy h3{margin-top:8px;font-size:1.125rem}.deadline-location{font-size:0.75rem}.deadline-price span{font-size:0.75rem}.deadline-price b{font-size:1.125rem}.deadline-appraisal-head span{font-size:0.75rem}.deadline-appraisal-head b{font-size:0.75rem}.deadline-appraisal>small{font-size:0.6875rem}}
    @media(max-width:390px){.deadline-item{grid-template-columns:110px minmax(0,1fr)}.deadline-summary-copy{padding:9px}.deadline-timing{grid-template-columns:29px minmax(0,1fr);gap:6px;padding:7px}.deadline-timing>.app-icon{width:29px;height:29px;font-size:1.125rem}.deadline-timing b{font-size:0.875rem}.deadline-summary-copy h3{font-size:1.0625rem}.deadline-location{font-size:0.75rem}}
    @media(max-width:700px){.detail-back{display:flex!important}}
    @media(max-width:700px){.category{gap:3px;padding-inline:5px}.category>.app-icon{font-size:1.1875rem}.category>.category-label{font-size:0.75rem}.category>b{min-width:18px;padding-inline:4px;font-size:0.5625rem}}
    @media(max-width:430px){.detail-back:after,.detail-save:after{font-size:0.625rem}.detail-share:before{font-size:0.9375rem}.detail-sticky>.primary:after{font-size:0.9375rem}}
    /* 접근성은 별도 모드가 아니라 기본 사용성이다. 글자·터치·초점·용어를 전 화면에서 보장한다. */
    :root{font-size:16px;--focus:#006f98;--a11y-surface:#f1f7f8;--a11y-text:#102f3e}
    html[data-text-size="large"]{font-size:18px}html[data-text-size="xlarge"]{font-size:20px}
    body{font-size:1rem;line-height:1.62;overflow-wrap:anywhere;text-rendering:optimizeLegibility}
    .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
    .skip-link{position:fixed;z-index:200;left:12px;top:10px;padding:12px 16px;border-radius:10px;background:#ffffff;color:#102f3e;font-weight:900;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.24);transform:translateY(-160%)}.skip-link:focus{transform:none}
    :focus-visible{outline:4px solid var(--focus)!important;outline-offset:3px!important;box-shadow:0 0 0 3px #ffffff!important;scroll-margin-block:96px 160px}
    button,[role="button"],input,select,summary,a{touch-action:manipulation}
    button,.filter,.category,.auction-tab,.retry,.load-more button,.browse-tools summary{min-height:48px}
    .close,.pin-sheet-head button,.photo-viewer-head>button,.photo-viewer-nav,.photo-viewer-toolbar button{min-width:48px;min-height:48px}
    .user{gap:8px}.a11y-open{min-height:48px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #9fb8b0;border-radius:999px;background:#ffffff;color:var(--navy);font-size:.875rem;font-weight:900}.a11y-open .app-icon{font-size:1.375rem}
    .brand-copy b{font-size:1.125rem}.nav button{font-size:.9375rem}.demo{font-size:.8125rem}.demo b{font-size:.75rem}
    .category-switch-head,.browse-tools-label,.minimal-label{font-size:.8125rem}.category{font-size:.9375rem}.category b,.filter b{font-size:.75rem}.filter{font-size:.875rem}.feed-head h2{font-size:1.125rem}.feed-head span{font-size:.8125rem}
    small{font-size:.8125rem;line-height:1.5}.eyebrow{font-size:.75rem!important}.state-note,.browse-summary-copy small,.category-switch-head span,.coverage-note{font-size:.8125rem}.search,.pin-form input,.pin-form select{min-height:52px;font-size:1rem}.pin-form label>span{font-size:.875rem}.dialog-head b{font-size:1rem}.toast{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px));font-size:.9375rem;line-height:1.45}.photo-viewer-gesture-hint{font-size:.875rem}
    .deadline-kind,.deadline-signal,.saved-kind{font-size:.75rem}.deadline-location,.saved-card-meta,.building-unit-main p{font-size:.875rem}.deadline-price span,.deadline-appraisal-head span,.building-unit-price span{font-size:.8125rem}.deadline-price b,.building-unit-price b{font-size:1.1875rem}.deadline-actions button,.building-unit-actions button{min-height:48px;font-size:.875rem}.saved-card-open{width:100%;min-height:48px;margin-top:10px;border:1px solid var(--navy);border-radius:10px;background:var(--navy);color:#ffffff;font-weight:900}
    .easy-guide{margin:0 0 12px;border:1px solid #b9c8ce;border-radius:14px;background:#ffffff;overflow:hidden}.easy-guide[hidden]{display:none}.easy-guide summary{display:flex;align-items:center;gap:10px;padding:11px 14px;color:var(--navy);cursor:pointer;list-style:none;font-weight:900}.easy-guide summary::-webkit-details-marker{display:none}.easy-guide summary:before{content:"도움말";flex:none;padding:5px 8px;border-radius:999px;background:#e9ecef;color:var(--navy);font-family:inherit;font-size:.75rem;font-weight:900;line-height:1.2}.easy-guide summary:after{content:"펼치기";flex:none;margin-left:auto;color:#56686f;font-family:inherit;font-size:.8125rem;font-weight:900}.easy-guide[open] summary:after{content:"접기"}.easy-guide-body{padding:0 14px 14px;border-top:1px solid #e5e6e1}.easy-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.easy-step{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start;padding:11px;border-radius:11px;background:#f0f2ee}.easy-step b:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#ffffff}.easy-step strong{display:block;font-size:.9375rem}.easy-step span{display:block;margin-top:2px;color:#56686f;font-size:.8125rem}.easy-terms{display:flex;flex-wrap:wrap;gap:8px}.easy-terms button{min-height:44px;padding:0 12px;border:1px solid #bcc5c2;border-radius:999px;background:#ffffff;color:#294d5b;font-size:.8125rem;font-weight:850}
    .a11y-modal{position:fixed;z-index:140;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,20,26,.72);backdrop-filter:blur(7px)}.a11y-modal[hidden]{display:none}.a11y-sheet{width:min(640px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:22px;background:#ffffff;box-shadow:0 28px 80px rgba(0,0,0,.34)}.a11y-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);background:rgba(255,254,250,.98)}.a11y-head h2{margin:0;font-size:1.5rem}.a11y-head p{margin:3px 0 0;color:#56686f;font-size:.875rem}.a11y-head button{width:48px;height:48px;border:1px solid #aeb8b7;border-radius:50%;background:#ffffff}.a11y-body{display:grid;gap:20px;padding:20px}.a11y-group{display:grid;gap:9px}.a11y-group h3{margin:0;font-size:1.0625rem}.a11y-group>p{margin:0;color:#56686f;font-size:.875rem}.a11y-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.a11y-choice.two{grid-template-columns:repeat(2,1fr)}.a11y-choice button{min-height:56px;padding:9px;border:1px solid #aeb8b7;border-radius:12px;background:#ffffff;font-size:.9375rem;font-weight:850}.a11y-choice button[aria-pressed="true"]{border:3px solid var(--navy);background:#e9ecef;color:var(--navy)}.a11y-actions{display:grid;grid-template-columns:1.25fr 1fr;gap:8px}.a11y-actions button{min-height:52px;border:1px solid #9fb8b0;border-radius:12px;background:#f1f7f8;color:var(--navy);font-weight:900}.a11y-actions button:first-child{border-color:var(--navy);background:var(--navy);color:#ffffff}.a11y-note{margin:0;padding:12px;border-radius:10px;background:#f0f2ee;color:#40565f;font-size:.8125rem}.a11y-reset{width:100%;min-height:48px;border:1px solid #b7bfbd;border-radius:12px;background:#ffffff;color:#4e5968;font-weight:850}
    .onboarding-coach{position:fixed;z-index:180;inset:0}.onboarding-coach[hidden]{display:none}.onboarding-scrim{position:absolute;inset:0;background:rgba(10,27,33,.5)}.onboarding-focus{position:fixed;z-index:1;border:4px solid #f0f5a7;border-radius:16px;box-shadow:0 0 0 4px rgba(30,75,90,.35),0 10px 34px rgba(0,0,0,.22);pointer-events:none;transition:opacity .12s ease}.onboarding-card{position:fixed;z-index:2;left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:min(520px,calc(100% - 28px));padding:18px;border:1px solid #9fb8b0;border-radius:18px;background:var(--card);box-shadow:0 22px 60px rgba(3,20,27,.32);transform:translateX(-50%)}.onboarding-progress{display:flex;align-items:center;justify-content:space-between;color:#56686f;font-size:.8125rem;font-weight:850}.onboarding-progress button{min-width:76px;min-height:44px;border:0;background:transparent;color:#56686f;font-weight:850}.onboarding-card h2{margin:10px 0 6px;color:var(--navy);font-size:1.35rem}.onboarding-card p{margin:0;color:#40565f;font-size:.9375rem;line-height:1.55}.onboarding-actions{display:grid;grid-template-columns:.8fr 1.25fr;gap:8px;margin-top:15px}.onboarding-actions button{min-height:50px;border:1px solid #aeb8b7;border-radius:11px;background:#ffffff;color:#40565f;font-size:.9375rem;font-weight:900}.onboarding-actions .primary{border-color:var(--navy);background:var(--navy);color:#ffffff}
    .past-insights{display:grid;gap:12px;padding:15px;border:1px solid #aeb8b7;border-radius:16px;background:#e9ecef}.past-insights-note{margin:0;color:#4e5968;font-size:.75rem;line-height:1.5}.deadline-signal.result{background:#e9ecef;color:#2f5865}
    .list-mode .loading{width:100%}.list-mode .skeleton-stage{padding:0}.list-mode .skeleton-stage:before,.list-mode .skeleton-stage:after,.list-mode .skeleton-actions{display:none}.list-mode .skeleton-card{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:280px;border-radius:17px}.list-mode .skeleton-media{min-height:154px;aspect-ratio:auto}.list-mode .skeleton-body{display:grid;align-content:start;gap:12px}.list-mode .skeleton-prices{margin-top:10px}.list-mode .skeleton-button{margin-top:4px}
    html[data-contrast="high"]{--ink:#06151b;--muted:#2f434b;--paper:#ffffff;--card:#ffffff;--line:#65757b;--navy:#002f45;--navy2:#001f30;--lime:#e5f24f;--blue:#e4f3f7;--warn:#fff0d6}html[data-contrast="high"] body{background:#ffffff;color:#06151b}html[data-contrast="high"] button,html[data-contrast="high"] input,html[data-contrast="high"] select,html[data-contrast="high"] summary{border-color:#455b63}html[data-contrast="high"] .deadline-location,html[data-contrast="high"] .state-note,html[data-contrast="high"] small{color:#263b43}
    html[data-motion="reduce"] *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    @media(prefers-contrast:more){:root{--ink:#06151b;--muted:#2f434b;--line:#65757b;--navy:#002f45}.card,.deadline-item,.building-cluster,.saved-card{border-width:2px}}
    @media(forced-colors:active){.app-icon,.deadline-signal{forced-color-adjust:none}.deadline-item,.building-cluster,.saved-card{border:2px solid CanvasText}.daily-primary-action,.primary{border:2px solid ButtonText}}
    @media(max-width:700px){body{padding-bottom:88px}.a11y-open{display:none}.mobile-nav{grid-template-columns:repeat(4,1fr)!important;min-height:70px}.mobile-nav button{min-height:54px;font-size:.75rem}.mobile-nav .app-icon{font-size:1.5625rem}.easy-steps{grid-template-columns:1fr}.easy-guide summary{font-size:.9375rem}.a11y-modal{align-items:end;padding:0}.a11y-sheet{width:100%;max-height:92vh;border-radius:22px 22px 0 0;padding-bottom:max(12px,env(safe-area-inset-bottom))}.a11y-head{padding:15px 16px}.a11y-body{padding:16px}.a11y-choice{grid-template-columns:1fr}.a11y-choice.two{grid-template-columns:1fr 1fr}.a11y-actions{grid-template-columns:1fr}.toast{bottom:calc(82px + env(safe-area-inset-bottom))}.onboarding-card{bottom:calc(82px + env(safe-area-inset-bottom));padding:16px}.list-mode .skeleton-card{grid-template-columns:118px minmax(0,1fr);min-height:250px}.list-mode .skeleton-media{min-height:150px}.list-mode .skeleton-body{padding:12px}.list-mode .skeleton-prices{grid-template-columns:1fr}.list-mode .skeleton-price{height:52px}}
    @media(max-width:430px){html[data-text-size="xlarge"] .deadline-item{grid-template-columns:1fr}html[data-text-size="xlarge"] .deadline-photo{min-height:230px}html[data-text-size="xlarge"] .deadline-timing>div{grid-template-columns:1fr}html[data-text-size="xlarge"] .category-label{white-space:normal}html[data-text-size="xlarge"] .category{min-width:132px}}
    /* 진행 중 물건과 지난 기록을 같은 높이에서 오가는 상시 시간축. */
    .auction-stage-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:14px 2px 7px}.auction-stage-head b{color:var(--ink);font-size:.9375rem}.auction-stage-head span{color:#6b7684;font-size:.8125rem}.auction-stage-tabs{margin:0 0 11px;background:#f0f2ee}.auction-stage-tabs .auction-tab{min-height:52px;font-size:.875rem}.auction-stage-tabs .auction-tab b{font-family:inherit;font-size:.75rem}
    @media(max-width:700px){.auction-stage-head{align-items:start}.auction-stage-head span{max-width:48%;text-align:right}.auction-stage-tabs{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.auction-stage-tabs .auction-tab{flex:0 0 auto;min-width:0;padding-inline:11px;gap:5px;font-size:.8125rem;white-space:nowrap}.auction-stage-tabs .auction-tab b{min-width:18px;padding-inline:3px;font-size:.6875rem}}
    .sort-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:8px 0;padding:9px 10px 9px 13px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.sort-strip[hidden]{display:none!important}.sort-strip-copy{display:grid;gap:1px;min-width:0}.sort-strip-copy b{color:var(--navy);font-size:.875rem}.sort-strip-copy small{color:#617076;font-size:.75rem;line-height:1.35}.sort-options{min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:3px;border-radius:11px;background:#e5e6e1}.sort-option{min-width:126px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;padding:6px 10px;border:0;border-radius:9px;background:transparent;color:#56686f;font-weight:850}.sort-option .app-icon{font-size:1.25rem}.sort-option>.ui-icon{width:21px;height:21px}.sort-option span:last-child{min-width:0;display:grid;gap:1px;text-align:left}.sort-option b,.sort-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-option b{font-size:.8125rem}.sort-option small{font-size:.6875rem;font-weight:750}.sort-option.active{background:var(--card);color:var(--navy);box-shadow:0 2px 8px rgba(25,48,55,.08)}.sort-option:focus-visible{outline:3px solid #b86145;outline-offset:2px}
    @media(max-width:700px){.sort-strip{grid-template-columns:1fr;gap:7px;padding:10px}.sort-strip-copy{grid-template-columns:auto 1fr;align-items:baseline;gap:8px}.sort-strip-copy small{text-align:right}.sort-options{width:100%}.sort-option{min-width:0;padding-inline:5px}.sort-option b{font-size:.8125rem}.sort-option small{font-size:.6875rem}}
    .nearby-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:8px 0 12px;padding:7px 9px;border:1px solid #bfd0ca;border-radius:13px;background:#faf9f5}.nearby-filter.is-active{border-color:#648979;background:#e9ecef}.nearby-filter.is-error{border-color:#d8a58e;background:#faf9f5}.nearby-filter-button{min-height:52px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:#29463e;text-align:left;cursor:pointer}.nearby-filter-button:hover{background:rgba(255,255,255,.7)}.nearby-filter-button:focus-visible{outline:3px solid #f0a17e;outline-offset:2px}.nearby-filter-button:disabled{cursor:wait;opacity:.72}.nearby-filter-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#dceae3;color:#315f50}.nearby-filter-icon .app-icon{font-size:1.375rem}.nearby-filter-copy{display:grid;gap:2px;min-width:0}.nearby-filter-copy b{font-size:.9375rem}.nearby-filter-copy small{color:#5d746d;font-size:.75rem;line-height:1.35}.nearby-filter-action{min-width:48px;padding:7px 9px;border-radius:999px;background:#ffffff;color:#315f50;font-size:.75rem;font-weight:900;text-align:center}.nearby-filter.is-active .nearby-filter-action{background:#315f50;color:#ffffff}.nearby-filter-status{max-width:180px;margin:0;padding-right:4px;color:#617076;font-size:.75rem;line-height:1.4;text-align:right}.nearby-filter.is-error .nearby-filter-status{color:#8a4b32}.nearby-filter[aria-busy="true"] .nearby-filter-icon .app-icon{animation:locationPulse 1s ease-in-out infinite}@keyframes locationPulse{50%{transform:scale(.82);opacity:.48}}
    @media(max-width:700px){.nearby-filter{grid-template-columns:1fr;gap:0;padding:5px 7px}.nearby-filter-button{min-height:58px}.nearby-filter-status{max-width:none;margin:-2px 8px 7px;padding:0;text-align:left}.nearby-filter-status:empty{display:none}}
    /* 목록·상세 로딩은 어느 화면 폭에서도 시선의 중앙에 고정한다. */
    .daily-review.is-loading{grid-template-columns:1fr!important;place-items:center;text-align:center}.daily-review.is-loading .daily-review-copy{grid-column:1!important;grid-row:1!important;justify-self:center;text-align:center}.daily-review.is-loading .daily-primary-action{grid-column:1!important;grid-row:2!important;justify-self:center;width:min(260px,100%)}
    /* 상세 로딩은 패널의 2행 그리드에 갇히지 않게 flex 센터로 잡는다 */
    .overview-panel:has(.overview-loading){display:flex!important;align-items:center;justify-content:center;grid-template-rows:none!important;padding:24px!important;overflow:hidden!important}
    .overview-loading{width:100%;height:auto;min-height:0;display:grid;place-content:center;justify-items:center;gap:0;padding:0;text-align:center}
    .overview-loading p,.overview-loading small{width:100%;text-align:center}
    @media(max-width:700px){.daily-review.is-loading{min-height:132px}.overview-loading{min-height:260px;padding:24px 16px}}
    /* 고령층 기본 화면: 순백색 면적과 형광 강조를 줄이고, 글자 대비는 WCAG AA 이상으로 유지한다. */
    html:not([data-contrast="high"]) .header,html:not([data-contrast="high"]) .mobile-nav{background:rgba(248,248,244,.96)}
    html:not([data-contrast="high"]) .daily-review,html:not([data-contrast="high"]) .browse-tools,html:not([data-contrast="high"]) .auction-stage-tabs,html:not([data-contrast="high"]) .sort-strip,html:not([data-contrast="high"]) .easy-guide,html:not([data-contrast="high"]) .deadline-item,html:not([data-contrast="high"]) .building-cluster,html:not([data-contrast="high"]) .saved-card,html:not([data-contrast="high"]) .dialog,html:not([data-contrast="high"]) .pin-sheet,html:not([data-contrast="high"]) .a11y-sheet{background:var(--card)}
    html:not([data-contrast="high"]) .deadline-list-note{border-color:#cfd2cc;background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-price,html:not([data-contrast="high"]) .building-unit,html:not([data-contrast="high"]) .overview-row,html:not([data-contrast="high"]) .timeline>div{background:#f0f2ee}
    html:not([data-contrast="high"]) .deadline-price.primary,html:not([data-contrast="high"]) .overview-price>div:first-child{background:#eef4cd}
    html:not([data-contrast="high"]) .nearby-filter{border-color:#aeb8b7;background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-timing{border-color:#b9c8ce;background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-timing.active{border-color:#d4a996;background:#f4e8df}
    html:not([data-contrast="high"]) .deadline-appraisal-track{background:#dedfd9}
    html:not([data-contrast="high"]) .category:not(.active),html:not([data-contrast="high"]) .filter:not(.active),html:not([data-contrast="high"]) .search-box,html:not([data-contrast="high"]) .search-suggestions{background:var(--card)}
    @media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
    /* 신뢰 상태는 숨기지 않는다 — 지연·오류·예시 데이터일 때만 상단 배너를 되살린다. */
    .demo.stale,.demo.error{display:flex!important;font-size:.8125rem;font-weight:800}
    .demo.stale b,.demo.error b{font-size:.6875rem;white-space:nowrap}
    /* 데스크톱에서도 사용법·보기 설정에 접근할 수 있어야 한다. 체험용 잔재 버튼만 숨긴다. */
    .header .user{display:flex!important}
    /* 상세(개요) 라벨·본문도 16px 기준 rem으로 — 접근성 글자 크기 설정과 함께 커진다. */
    .overview-head .eyebrow{font-size:.75rem!important}
    .overview-price span,.overview-row span,.condition-list span,.timeline span,.overview-section-title span,.overview-source,.official-round span,.replay-entry span,.handoff-facts span,.decision-tool>span,.official-check-item span{font-size:.75rem}
    .overview-price em{font-size:.75rem}
    .overview-row b,.condition-list b,.timeline b,.official-round b,.official-round strong,.replay-entry b,.handoff-facts b,.decision-tool>b,.official-check-item b{font-size:.875rem}
    .official-check-head p,.official-check-foot,.decision-tool>p,.decision-warning,.handoff-note,.bid-handoff p,.check-section>p{font-size:.8125rem!important;line-height:1.55}
    .check-chips span,.status-chip{font-size:.8125rem}
    .deadline-empty button{min-height:48px;margin-top:14px;padding:0 18px;border:0;border-radius:10px;background:var(--navy);color:#ffffff;font-size:.875rem;font-weight:900;cursor:pointer}
    .onboarding-actions button:disabled{opacity:.45;cursor:default}
    /* 프로덕션 마감 — 경계선 소음을 줄이고 면·그림자·타이포 위계로 정리한다. */
    :root{--radius-card:18px;--shadow-card:0 1px 2px rgba(23,37,43,.05),0 8px 24px rgba(23,37,43,.07);--shadow-card-hover:0 2px 4px rgba(23,37,43,.06),0 14px 34px rgba(23,37,43,.11)}
    .deadline-item,.building-cluster,.saved-card{border-color:#e5e6e1;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}
    .deadline-item:hover,.building-cluster:hover,.saved-card:hover{border-color:#cfd2cc;box-shadow:var(--shadow-card-hover)}
    .daily-review,.browse-tools,.easy-guide,.sort-strip,.past-insights{border-color:#e5e6e1;box-shadow:0 1px 2px rgba(23,37,43,.04)}
    .deadline-price,.overview-row,.timeline>div,.building-unit-price{border:0!important}
    .deadline-price b,.building-unit-price b,.saved-card-price b,.overview-price strong{font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
    .deadline-price b{font-size:1.25rem}
    .price-exact{display:block;margin-top:3px;color:#687377;font-size:.75rem;letter-spacing:.01em;font-variant-numeric:tabular-nums}
    .deadline-actions button,.detail-sticky button,.daily-primary-action,.pin-submit,.deadline-empty button,.deck-empty button,.saved-card-open{transition:transform .12s ease,filter .12s ease}
    .deadline-actions button:not(:disabled):active,.detail-sticky button:not(:disabled):active,.daily-primary-action:active,.pin-submit:active,.deadline-empty button:active,.deck-empty button:active,.saved-card-open:active{transform:scale(.975);filter:brightness(.96)}
    .deadline-detail,.daily-primary-action,.pin-submit,.detail-sticky>.primary{box-shadow:0 4px 12px rgba(30,75,90,.22)}
    .deadline-signal,.check-chips span{border-radius:999px}
    /* 보조 버튼은 테두리 대신 면으로 — 고대비 모드에서는 기존 테두리를 유지한다. */
    html:not([data-contrast="high"]) .deadline-save,html:not([data-contrast="high"]) .detail-save,html:not([data-contrast="high"]) .detail-back,html:not([data-contrast="high"]) .detail-share,html:not([data-contrast="high"]) .secondary{border-color:transparent;background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-save.on,html:not([data-contrast="high"]) .detail-save.saved{border-color:transparent;background:#eef4cd}
    html:not([data-contrast="high"]) .deadline-save:hover{background:#e5e6e1}
    /* 최저입찰가 흐름 그래프 — 회차별 공식 기록의 한 줄 요약. */
    .price-flow{padding:14px 14px 12px;border-radius:12px;background:#f0f2ee}
    .price-flow svg{display:block;width:100%;height:auto}
    .price-flow polyline{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
    .price-flow circle{fill:#ffffff;stroke:var(--navy);stroke-width:2}
    .price-flow circle.now{fill:var(--orange);stroke:#ffffff;stroke-width:2.5}
    .price-flow-ends{display:flex;justify-content:space-between;gap:10px;margin-top:2px;color:#6b7684;font-size:.75rem;font-weight:800}
    .price-flow-ends b{color:#8a4b32;font-size:.8125rem}
    /* 그래프 점 인터랙션 — 탭하면 리드아웃에 회차·날짜·상태·금액 */
    .price-flow svg{overflow:visible}
    .price-flow .hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:pointer}
    .price-flow line.ref{stroke:var(--g500);stroke-width:1.2;stroke-dasharray:4 4}
    .price-flow line.cursor{stroke:var(--g500);stroke-width:1;stroke-dasharray:3 3}
    .price-flow text.ref-label{fill:var(--g600);font-size:0.5rem;font-weight:800}
    .price-flow svg{touch-action:manipulation}
    /* SVG tabindex 요소는 클릭에도 :focus-visible이 발동한다 — 전역 사각 아웃라인 대신 원형 홀로만 */
    .price-flow .hit:focus-visible{outline:none!important;box-shadow:none!important;stroke:var(--teal600);stroke-width:1.5;fill:rgba(30,107,168,.06)}
    .price-flow circle.pt{pointer-events:none;transition:stroke-width .12s ease}
    .price-flow circle.pt.sel{stroke:var(--g900);stroke-width:3}
    .price-flow-readout{display:flex;align-items:baseline;gap:8px;min-height:28px;margin-top:2px;padding-top:8px;border-top:1px solid var(--g200);color:var(--g600);font-size:.8125rem;font-weight:750}
    .price-flow-readout b{color:var(--g900);font-size:.875rem}
    .price-flow-readout span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .price-flow-readout strong{margin-left:auto;color:var(--teal700);font-size:1.0625rem;font-variant-numeric:tabular-nums;white-space:nowrap}
    .price-flow-note{margin:7px 0 0!important;color:#56686f!important;font-size:.8125rem!important;line-height:1.5}
    .price-flow-note b{color:#8a4b32}
    /* ── 디자인 v2 · 프로덕션 뉴트럴 — 쿨 그레이 바탕, 흰 카드, 잉크 타이포, 절제된 강조. 고대비 모드는 기존 규칙 유지. ── */
    :root{--ink:#191f28;--muted:#6b7684;--paper:#f0f2ee;--card:#ffffff;--line:#e9ecef;--shadow:0 14px 36px rgba(15,25,35,.08)}
    html:not([data-contrast="high"]) body{background:var(--paper)}
    html:not([data-contrast="high"]) .header,html:not([data-contrast="high"]) .mobile-nav{background:rgba(255,255,255,.96)}
    html:not([data-contrast="high"]) .deadline-item,html:not([data-contrast="high"]) .building-cluster,html:not([data-contrast="high"]) .saved-card{border-color:transparent}
    html:not([data-contrast="high"]) .daily-review,html:not([data-contrast="high"]) .browse-tools,html:not([data-contrast="high"]) .easy-guide,html:not([data-contrast="high"]) .sort-strip,html:not([data-contrast="high"]) .past-insights,html:not([data-contrast="high"]) .official-check,html:not([data-contrast="high"]) .bid-handoff{border-color:#e9ecef;background:#ffffff}
    html:not([data-contrast="high"]) .auction-stage-tabs,html:not([data-contrast="high"]) .sort-options{background:#e9ecef;border-color:transparent}
    html:not([data-contrast="high"]) .deadline-price,html:not([data-contrast="high"]) .overview-row,html:not([data-contrast="high"]) .timeline>div,html:not([data-contrast="high"]) .easy-step,html:not([data-contrast="high"]) .handoff-facts div{background:#faf9f5}
    html:not([data-contrast="high"]) .deadline-price.primary,html:not([data-contrast="high"]) .overview-price>div:first-child{background:#eef4cd;border-color:transparent}
    html:not([data-contrast="high"]) .deadline-timing{border-color:transparent;background:#f0f2ee}
    html:not([data-contrast="high"]) .deadline-timing.active{border-color:transparent;background:#fff3e9}
    html:not([data-contrast="high"]) .deadline-timing.closed{border-color:transparent;background:#f0f2ee}
    html:not([data-contrast="high"]) .deadline-list-note{border-color:transparent;background:#e9ecef}
    html:not([data-contrast="high"]) .nearby-filter{border-color:transparent;background:#e9ecef}
    html:not([data-contrast="high"]) .daily-scope-button{border-color:#e5e6e1;background:#f0f2ee}
    html:not([data-contrast="high"]) .daily-action-grid>button{border-color:#e9ecef}
    html:not([data-contrast="high"]) .deadline-save,html:not([data-contrast="high"]) .detail-save,html:not([data-contrast="high"]) .detail-back,html:not([data-contrast="high"]) .detail-share,html:not([data-contrast="high"]) .secondary{background:#f0f2ee}
    html:not([data-contrast="high"]) .deadline-save:hover{background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-save.on,html:not([data-contrast="high"]) .detail-save.saved{background:#eef4cd}
    html:not([data-contrast="high"]) .price-flow{background:#faf9f5}
    html:not([data-contrast="high"]) .condition-list{border-color:#e9ecef;background:#e9ecef}
    html:not([data-contrast="high"]) .official-round,html:not([data-contrast="high"]) .decision-tool,html:not([data-contrast="high"]) .cost-row{border-color:#e9ecef}
    .deadline-signal{background:#f0f2ee;color:#4e5968}
    .deadline-signal.round{background:#e9ecef;color:#39566d}
    .status-stack{flex:none;display:grid;gap:5px;justify-items:end}
    .round-chip{padding:5px 8px;border-radius:999px;background:#f0f2ee;color:#4e5968;font-size:.75rem;font-weight:850;white-space:nowrap}
    .deadline-location{color:#6b7684}
    .deadline-summary-copy h3,.overview-head h2{color:#191f28}
    .feed-head h2,.auction-stage-head b,.category-switch-head b,.daily-review-copy h1{color:#29373d}
    .minimal-label,.browse-tools-label{color:#6b7684}
    html:not([data-contrast="high"]) .demo.error{background:#fff3e9;border-bottom-color:#f0c5b8}
    html:not([data-contrast="high"]) .demo.stale{background:#fff3e9;border-bottom-color:#eaca92}
    /* ── AI 티 제거 — 컨트롤은 스스로 설명한다. 제목·부제·설명 과잉을 걷어낸다. ── */
    .sort-strip{grid-template-columns:1fr auto;margin:4px 0 2px;padding:0;border:0;background:transparent!important;box-shadow:none}
    .sort-strip-copy{display:none}
    .sort-options{justify-self:end}
    .browse-summary-copy small{display:none}
    .browse-tools>summary{min-height:46px}
    .daily-review:not(.is-loading) .daily-review-copy>span{display:none}
    .daily-review-copy h1{margin-top:0}
    .nearby-filter-copy small{display:none}
    .nearby-filter-button{min-height:48px}
    .auction-stage-tabs{margin-top:10px}
    @media(max-width:700px){.sort-strip{grid-template-columns:1fr}.sort-options{width:100%;justify-self:stretch}}
    /* ── 컬러 시스템 v1 · 딥 틸 + 라임 ──────────────────────────────
       틸 = 공공데이터의 신뢰(주행동·활성·정보), 라임 = 노트 형광펜(저장·가격 우위),
       웜 레드 = 마감·상승·경고, 그레이 = 뼈대. 이 4가족 밖의 색은 쓰지 않는다.
       레거시 변수(--navy 등)를 토큰으로 재매핑해 전 화면을 한 팔레트로 수렴시킨다. */
    :root{
      --g50:#faf9f5;--g100:#f0f2ee;--g200:#e9ecef;--g300:#d8dbd6;--g500:#8d989b;--g600:#6b7684;--g700:#4e5968;--g800:#2f434b;--g900:#191f28;
      --teal50:#f1f7f8;--teal100:#d9e9ed;--teal600:#12586c;--teal700:#0f4759;--teal800:#0b3745;--teal900:#082530;
      --lime100:#f3f6df;--lime200:#e7f0af;--lime300:#dcea83;--lime600:#8aa62b;--lime800:#526719;
      --red50:#fdf1ec;--red100:#f8dcd0;--red600:#c24a20;--red800:#8f3312;
      --amber50:#fbf4e3;--amber200:#eed9a0;--amber800:#7a5a12;
      --ink:var(--g900);--muted:var(--g600);--paper:var(--g100);--card:#ffffff;--line:var(--g200);
      --navy:var(--teal700);--navy2:var(--teal800);--lime:var(--lime300);--orange:var(--red600);--mint:var(--teal600);--blue:var(--teal50);--warn:var(--red50);
      --focus:#0c6a86;
    }
    /* 미디어(사진) 배경은 틸 최심부로 통일 */
    .deadline-photo,.saved-card-media,.building-cluster-photo,.photo-loader,.race-visual,.media-empty{background:var(--teal900)}
    .deadline-photo img,.saved-card-media img,.building-cluster-photo img,.media-photo{background:var(--teal900)}
    /* 일정: 예정·진행=틸, 임박=레드, 종료=그레이 */
    html:not([data-contrast="high"]) .deadline-timing{background:var(--teal50)}
    html:not([data-contrast="high"]) .deadline-timing.active{background:var(--red50)}
    .deadline-timing.active,.deadline-timing.active em{color:var(--red800)}
    .deadline-timing.active small{color:var(--red800);opacity:.75}
    .deadline-timing.active>.app-icon{background:var(--red100)}
    .deadline-timing>.app-icon{background:var(--teal100)}
    /* 감정가 대비 미터: 낮음=라임(좋음), 높음=레드 */
    .deadline-appraisal-track i{background:var(--lime600)}
    .deadline-appraisal.higher .deadline-appraisal-track i{background:var(--red600)}
    .deadline-appraisal-head b,.saved-appraisal b,.building-unit-price small{color:var(--lime800)}
    .deadline-appraisal.higher .deadline-appraisal-head b,.deadline-appraisal.higher>small{color:var(--red800)}
    /* 시그널 칩 */
    .deadline-signal{background:var(--g100);color:var(--g700)}
    .deadline-signal.drop,.deadline-signal.bargain{background:var(--lime100);color:var(--lime800)}
    .deadline-signal.rise{background:var(--red50);color:var(--red800)}
    .deadline-signal.round,.deadline-signal.result,.deadline-signal.reauction{background:var(--teal50);color:var(--teal700)}



    /* 상태·회차 칩 */
    .status-chip,.deadline-status{background:var(--teal50);color:var(--teal700)}
    .round-chip{background:var(--g100);color:var(--g700)}
    /* 가격 강조면: 라임 */
    html:not([data-contrast="high"]) .deadline-price.primary,html:not([data-contrast="high"]) .overview-price>div:first-child,html:not([data-contrast="high"]) .price-anchor{background:var(--lime100);border-color:transparent}
    .overview-price em.higher{background:var(--red600)}
    /* 저장(관심) 상태: 라임 */
    html:not([data-contrast="high"]) .deadline-save.on,html:not([data-contrast="high"]) .detail-save.saved{background:var(--lime100);color:var(--lime800);border-color:transparent}


    /* 위치·거리: 그린 잡색 → 틸 */
    html:not([data-contrast="high"]) .nearby-filter{background:var(--teal50);border-color:transparent}
    html:not([data-contrast="high"]) .nearby-filter.is-active{background:var(--teal100)}
    .nearby-filter-button,.nearby-filter-copy b{color:var(--teal700)}
    .nearby-filter-icon{background:var(--teal100);color:var(--teal700)}
    .nearby-filter-action{background:#ffffff;color:var(--teal700)}
    .nearby-filter.is-active .nearby-filter-action{background:var(--teal700);color:#ffffff}
    .nearby-filter-status{color:var(--g600)}
    .building-distance,.asset-distance{border-color:var(--teal100);background:var(--teal50);color:var(--teal700)}
    /* 검증·안내면: 틸 */
    html:not([data-contrast="high"]) .official-check{background:var(--teal50);border-color:transparent}
    .official-check-head>span{background:var(--teal100);color:var(--teal700)}
    .official-check-item.ok{border-color:var(--lime200);background:var(--lime100)}
    .cost-row>i{background:var(--teal50);color:var(--teal600)}
    html:not([data-contrast="high"]) .past-insights{background:var(--teal50);border-color:transparent}
    /* 가격 흐름 그래프 */
    .price-flow polyline{stroke:var(--teal700)}
    .price-flow circle{stroke:var(--teal700)}
    .price-flow circle.now{fill:var(--red600)}
    .price-flow-ends b,.price-flow-note b{color:var(--red800)}
    /* 상단 상태 배너 */
    html:not([data-contrast="high"]) .demo.error{background:var(--red50);border-bottom-color:var(--red100)}
    html:not([data-contrast="high"]) .demo.stale{background:var(--amber50);border-bottom-color:var(--amber200)}
    .demo.stale b,.demo.stale .sync-dot{color:var(--amber800)}
    /* 브랜드 마크·헤더 */
    .mark{background:var(--teal800);color:var(--lime300)}
    .brand-copy b{color:var(--g900)}
    /* 온보딩·포커스 링 */
    .onboarding-focus{border-color:var(--lime300)}

    /* ── 미학 정리 · 호흡과 위계 ──
       바텀 내비는 목적지(홈·관심물건)만 — 도구(사용법·보기 설정)는 헤더 아이콘으로.
       컨트롤 행 사이 리듬은 12px로 통일해 답답함을 없앤다. */
    .daily-review{margin-bottom:12px}
    body:not(.collection-mode) .category-tabs{margin:0 0 12px!important;gap:8px}
    .auction-stage-tabs{margin:0 0 12px}
    .easy-guide{margin:0 0 12px}
    .browse-tools{margin:0 0 12px!important}
    .sort-strip{margin:2px 0 8px}
    .nearby-filter{margin:0 0 16px}
    .feed-head{margin:2px 2px 12px}
    .sort-option small{display:none}
    .sort-option{min-height:44px}
    /* 카테고리·시점 탭: 카운트 필은 조용하게 */
    .category{gap:8px;border-radius:14px}
    .category b{min-width:22px;padding:2px 6px;background:var(--g100);color:var(--g600);font-size:.75rem}
    .category.active b{background:rgba(255,255,255,.18);color:#ffffff}
    .auction-tab b{background:var(--g200);color:var(--g600)}
    .auction-tab.active b{background:var(--lime100);color:var(--lime800)}
    @media(max-width:700px){
      .mobile-nav{grid-template-columns:repeat(2,1fr)!important}
      .mobile-nav button:nth-child(3),.mobile-nav button:nth-child(4){display:none}
      .a11y-open{display:inline-flex!important;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;justify-content:center;font-size:0}
      .a11y-open .app-icon{font-size:1.4375rem;color:var(--g700)}
      .header .user{gap:2px}
    }
    /* ── 레이아웃 v3 · 4pt 그리드와 그룹핑 ──
       TDS·8pt 그리드 원칙: 모든 간격은 4의 배수, 그룹 내부 간격 ≤ 그룹 사이 간격.
       타입 스케일 고정: 23(상세 제목)/18(카드 제목)/15(본문)/13(라벨)/12(캡션). */
    .daily-review{margin-bottom:16px;padding:16px}
    body:not(.collection-mode) .category-tabs{margin:0 0 8px!important;gap:8px}
    .auction-stage-tabs{margin:0 0 16px}
    .easy-guide{margin:0 0 8px}
    .browse-tools{margin:0 0 16px!important}
    .control-pair{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:0 0 16px}
    .control-pair .sort-strip{margin:0}
    .browse-tools-panel .nearby-filter{margin:8px 0 4px}
    .feed-head{margin:0 2px 12px}
    /* 카드 내부 16px, 셀 12px */
    .deadline-summary-copy{padding:16px}
    .deadline-metrics{padding:12px 16px 4px}
    .deadline-actions{padding:8px 16px 16px}
    .deadline-price{padding:12px}
    /* 일정 상자는 한 줄로 */
    .deadline-timing{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:8px 12px;border-radius:10px}
    .deadline-timing>.app-icon{width:26px;height:26px;font-size:1rem;border-radius:7px}
    .deadline-timing>div{display:flex;flex-wrap:wrap;column-gap:8px;row-gap:0;align-items:baseline}
    .deadline-timing em{font-size:0.75rem}
    .deadline-timing b{font-size:0.9375rem}
    .deadline-timing small{grid-column:auto;font-size:0.75rem}
    /* 타입 스케일 */
    .deadline-summary-copy h3{margin:10px 0 4px;font-size:1.125rem;line-height:1.35}
    .deadline-location{font-size:0.875rem;line-height:1.45}
    .deadline-price span{font-size:0.8125rem;margin-bottom:4px}
    .deadline-price b{font-size:1.25rem}
    .overview-head h2{font-size:1.4375rem;line-height:1.25}
    .overview-scroll{padding:24px 24px 28px}
    .overview-section{padding:20px 0}
    .deadline-appraisal-track{background:var(--g200)}
    .deadline-list-note{display:none}
    @media(max-width:700px){
      .control-pair{grid-template-columns:1fr}
      .control-pair .sort-options{width:100%}
      .overview-scroll{padding:20px 16px 24px}
      .deadline-summary-copy{padding:12px}
      .deadline-metrics{padding:12px 12px 4px}
      .deadline-actions{padding:8px 12px 12px}
      .deadline-summary-copy h3{font-size:1.0625rem}
    }
    /* ── 정체성 v1 · 노트 형광펜 모티프와 의도된 비대칭 ──
       AI 슬롭의 정체는 통계 평균(균일 라운드·균일 리듬·아이콘 병기)이다.
       처방: 우리만의 모티프(형광펜) + 라운드 대비(카드 20/컨트롤 10) + 히어로 숫자. */
    .hl{font-style:normal;padding:0 3px;margin:0 -1px;border-radius:3px;background:linear-gradient(transparent 55%,var(--lime200) 55%,var(--lime200) 94%,transparent 94%)}
    .daily-review-copy h1{font-size:1.625rem;letter-spacing:-.04em;line-height:1.2}
    :root{--radius-card:20px}
    .sort-options,.auction-stage-tabs{border-radius:10px}
    .sort-option,.auction-tab{border-radius:8px}
    .sort-option>.ui-icon{display:none}
    /* 도움말은 컨트롤이 아니라 링크다 */
    html:not([data-contrast="high"]) .easy-guide{border:0;background:transparent;box-shadow:none}
    .easy-guide{margin:0 0 4px}
    .easy-guide summary{min-height:44px;padding:10px 14px;color:var(--g600);font-size:.875rem;font-weight:800}
    .easy-guide summary:before{display:none}
    html:not([data-contrast="high"]) .easy-guide[open]{margin-bottom:12px;border:1px solid var(--g200);border-radius:14px;background:#ffffff}
    .easy-guide[open] summary{padding:10px 14px;color:var(--ink)}

    /* 입장 모션 한 스푼 — reduced-motion 설정이 자동으로 끈다 */
    @keyframes card-in{from{opacity:0;transform:translateY(6px)}}
    .feed>*{animation:card-in .24s ease backwards}
    .feed>*:nth-child(2){animation-delay:.04s}
    .feed>*:nth-child(3){animation-delay:.08s}
    .feed>*:nth-child(4){animation-delay:.12s}
    @media(max-width:700px){.daily-review-copy h1{font-size:1.4375rem}}
    /* ── 공매노트 디자인 시스템 v2 · 문서 잉크(Document Ink) ──────────
       도메인(공공 공매 데이터·큰돈이 걸린 검토)에 맞춘 자체 시스템.
       페이퍼(웜 문서지) + 잉크 텍스트 + 만년필 블루(주행동·활성 전용)
       + 형광펜 옐로우(모티프 1곳) + 웜레드(긴급 전용). 그 밖의 색 금지.
       변수명은 레거시(teal/g)지만 값이 시스템이다. */
    :root{
      --g50:#faf9f5;--g100:#f0f2ee;--g200:#e5e6e1;--g300:#d4d8ce;--g500:#9c9b95;--g600:#71706a;--g700:#52514c;--g800:#33322e;--g900:#1a1a18;
      --teal50:#f1f7f8;--teal100:#e9ecef;--teal600:#1e6ba8;--teal700:#17517e;--teal800:#123b5c;--teal900:#082530;
      --lime100:#e9ecef;--lime200:#cfe0ee;--lime300:#7fb2dc;--lime600:#1e6ba8;--lime800:#17517e;
      --paper:#faf9f5;--line:#e5e6e1;--focus:#1e6ba8;
      --marker:#ffe86b;
    }
    html:not([data-contrast="high"]) body{background:#faf9f5}
    /* 근백색 배경에서는 카드에 헤어라인 — MHM 카드 문법(white + Neutral6 stroke) */
    html:not([data-contrast="high"]) .deadline-item,html:not([data-contrast="high"]) .building-cluster,html:not([data-contrast="high"]) .saved-card{border:1px solid var(--g200);box-shadow:0 1px 2px rgba(16,16,16,.03),0 6px 18px rgba(16,16,16,.05)}
    html:not([data-contrast="high"]) .deadline-item:hover,html:not([data-contrast="high"]) .building-cluster:hover,html:not([data-contrast="high"]) .saved-card:hover{border-color:var(--g300);box-shadow:0 2px 4px rgba(16,16,16,.04),0 10px 26px rgba(16,16,16,.08)}
    html:not([data-contrast="high"]) .auction-stage-tabs,html:not([data-contrast="high"]) .sort-options{background:#e9ecef}
    html:not([data-contrast="high"]) .deadline-save,html:not([data-contrast="high"]) .detail-save,html:not([data-contrast="high"]) .detail-back,html:not([data-contrast="high"]) .detail-share,html:not([data-contrast="high"]) .secondary{background:#f0f2ee;color:var(--g700)}
    html:not([data-contrast="high"]) .deadline-save:hover{background:#e5e6e1}
    html:not([data-contrast="high"]) .header,html:not([data-contrast="high"]) .mobile-nav{background:rgba(250,250,248,.96)}
    html:not([data-contrast="high"]) .demo.stale{background:#f3f6df;border-bottom-color:#eed9a0}
    html:not([data-contrast="high"]) .deadline-price,html:not([data-contrast="high"]) .overview-row,html:not([data-contrast="high"]) .timeline>div,html:not([data-contrast="high"]) .easy-step,html:not([data-contrast="high"]) .handoff-facts div,html:not([data-contrast="high"]) .price-flow{background:var(--g100)}
    html:not([data-contrast="high"]) .header,html:not([data-contrast="high"]) .mobile-nav{background:rgba(250,250,252,.96)}
    .hl{background:linear-gradient(transparent 52%,var(--marker) 52%,var(--marker) 96%,transparent 96%)}
    .mark{background:var(--teal800);color:#ffffff}
    .round-chip{background:var(--teal100);color:var(--teal700)}
    .deadline-signal.round,.deadline-signal.result,.deadline-signal.reauction{background:var(--teal100);color:var(--teal700)}
    .status-chip,.deadline-status{background:var(--teal100);color:var(--teal700)}
    html:not([data-contrast="high"]) .deadline-timing{background:var(--teal50)}
    .deadline-timing>.app-icon{background:var(--teal100)}
    html:not([data-contrast="high"]) .nearby-filter{background:var(--teal50)}
    .nearby-filter-icon{background:var(--teal100)}
    html:not([data-contrast="high"]) .official-check,html:not([data-contrast="high"]) .past-insights{background:var(--teal50)}
    .official-check-head>span{background:var(--teal100)}
    .cost-row>i{background:var(--teal100);color:var(--teal600)}
    html:not([data-contrast="high"]) .demo.error{background:#fff3e9;border-bottom-color:#f5cfc8}
    /* ── 팔레트 축소 · 3가족만 ──
       색이 많으면 다시 몰개성이 된다. 뉴트럴 + 퍼플(브랜드) + 웜레드(긴급)만 남기고
       라임(연두)은 전면 퇴출 — 가격 우위·저장·긍정 신호는 모두 퍼플 계열로. */
    html:not([data-contrast="high"]) .deadline-price.primary,html:not([data-contrast="high"]) .overview-price>div:first-child,html:not([data-contrast="high"]) .price-anchor{background:var(--teal100)}
    .deadline-appraisal-track i{background:var(--teal600)}
    .deadline-appraisal-head b,.saved-appraisal b,.building-unit-price small{color:var(--teal700)}
    .deadline-signal.drop,.deadline-signal.bargain{background:var(--teal100);color:var(--teal700)}

    html:not([data-contrast="high"]) .deadline-save.on,html:not([data-contrast="high"]) .detail-save.saved{background:var(--teal100);color:var(--teal700)}

    .auction-tab.active b{background:var(--teal100);color:var(--teal700)}
    .category.active b{background:rgba(255,255,255,.18);color:#ffffff}
    .official-check-item.ok{border-color:#dcd2f7;background:var(--teal50)}
    .mark{color:#ffffff}
    .price-change-notice{border-color:#dcd2f7;background:var(--teal50)}
    .price-change-notice span{color:var(--teal600)}.price-change-notice b,.price-change-notice strong{color:var(--teal700)}
    /* 상단 앱바 — TDS·M3 문법: 불투명 서피스(비침 금지), 모바일 56px, 아이콘 40px 히트영역 */
    .header{position:sticky;top:0;z-index:30;height:auto;min-height:68px;display:grid;grid-template-columns:1fr auto auto;align-items:center;column-gap:10px;padding:0 16px;border-bottom:1px solid var(--g200);background:rgba(248,248,244,.96);backdrop-filter:none}
    html:not([data-contrast="high"]) .header{background:#faf9f5}
    html:not([data-contrast="high"]) .mobile-nav{background:#faf9f5;backdrop-filter:none}
    .demo.stale,.demo.error{min-height:0;justify-content:flex-start;gap:8px;padding:10px 16px;text-align:left;font-size:.8125rem;line-height:1.45}
    .demo b{padding:3px 7px;border:0;border-radius:5px;background:rgba(26,26,24,.07);font-size:.6875rem;letter-spacing:.02em}
    /* PWA 설치 배너 — 관심물건을 저장한 사람에게만, 한 번만 */
    .pwa-install{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--g200);border-radius:14px;background:#ffffff;box-shadow:0 1px 2px rgba(16,16,16,.03)}
    .pwa-install[hidden]{display:none}
    .pwa-install img{flex:none;border-radius:9px}
    .pwa-install>div{flex:1;min-width:0}
    .pwa-install b{display:block;font-size:.875rem}
    .pwa-install p{margin:2px 0 0;color:var(--g600);font-size:.75rem;line-height:1.4}
    .pwa-install button{min-height:40px;cursor:pointer}
    .pwa-install .install{padding:0 14px;border:0;border-radius:10px;background:var(--teal700);color:#ffffff;font-weight:800}
    .pwa-install .later{padding:0 10px;border:0;background:transparent;color:var(--g500);font-weight:750}
    /* 헤더 상시 설치 버튼 */
    .pwa-open{min-height:48px;display:inline-flex;align-items:center;gap:5px;padding:0 13px;border:1px solid var(--teal600);border-radius:999px;background:#ffffff;color:var(--teal700);font-size:.875rem;font-weight:900;cursor:pointer}
    .pwa-open[hidden]{display:none!important}
    .pwa-open .ui-icon{width:18px;height:18px}
    @media(max-width:700px){.pwa-open{display:inline-flex;min-height:40px;padding:0 11px;font-size:.8125rem}.pwa-open .app-icon{font-size:1.125rem}}
    /* 데스크톱 너비 최적화 — 768px부터 여백을 단계적으로 조정하고, 1280px부터 카드 2열 */
    @media(min-width:768px){
      .shell{width:calc(100% - 40px)}
      .header{padding:0 20px}
    }
    @media(min-width:1280px){
      .shell{width:calc(100% - 48px)}
      .header{padding:0 24px}
      /* 2열이 상한 — 3열 이상은 시선이 흩어져 비교가 안 된다 */
      .feed.deadline-feed{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
      .feed.deadline-feed>.past-insights,.feed.deadline-feed>.deadline-empty,.feed.deadline-feed>.deadline-list-note,.feed.deadline-feed>.family-notice{grid-column:1/-1}
      /* 건물 묶음은 호실 리스트를 세로로 길게 담으므로 전폭이 맞다.
         한 칸으로 두면 묶음만 있는 화면에서 오른쪽 절반이 통째로 빈다. */
      .feed.deadline-feed>.building-cluster{grid-column:1/-1}
      .feed.deadline-feed>.building-cluster .building-cluster-common{grid-template-columns:220px minmax(0,1fr)}
      .feed.deadline-feed>.building-cluster .building-unit{grid-template-columns:minmax(0,1.4fr) minmax(160px,.6fr) 48px}
      /* 물건이 하나뿐이면 반쪽 카드 대신 한 줄을 온전히 쓰고, 사진도 함께 키운다 */
      .feed.deadline-feed>.deadline-item:only-of-type{grid-column:1/-1;grid-template-columns:280px minmax(0,1fr)}
      .feed.deadline-feed>.deadline-item:only-of-type .deadline-photo{min-height:100%}
      .feed.deadline-feed>.deadline-item:only-of-type .deadline-summary-copy h3{font-size:1.375rem}
      .loading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
    }
    @media(min-width:1536px){
      .shell{width:calc(100% - 56px)}
      .header{padding:0 28px}
      /* 2열 카드가 넓어지는 만큼 사진도 함께 키워 비율을 지킨다 */
      .feed.deadline-feed>.deadline-item{grid-template-columns:220px minmax(0,1fr)}
      .feed.deadline-feed>.deadline-item:only-of-type{grid-template-columns:320px minmax(0,1fr)}
    }
    @media(min-width:2200px){
      .shell{width:min(2100px,calc(100% - 120px))}
      .header{padding:0 max(60px,calc((100vw - 2100px)/2))}
      .feed.deadline-feed>.deadline-item{grid-template-columns:280px minmax(0,1fr)}
    }
    /* 목록형 스켈레톤 — 실제 카드와 같은 골격, 데모 더미 대신 이걸 보여준다 */
    .loading{display:grid;gap:16px;width:100%}
    .skel-card{display:grid;grid-template-columns:160px minmax(0,1fr);min-height:210px;overflow:hidden;border:1px solid var(--g200);border-radius:20px;background:#ffffff}
    .skel-media,.skel-line,.skel-prices i{background:linear-gradient(100deg,#e9ecef 32%,#faf9f5 50%,#e9ecef 68%);background-size:220% 100%;animation:shimmer 1.2s ease-in-out infinite}
    .skel-body{display:grid;gap:12px;align-content:start;padding:16px}
    .skel-line{height:14px;border-radius:6px}
    .skel-line.tall{height:20px}
    .skel-line.w45{width:45%}.skel-line.w85{width:85%}.skel-line.w60{width:60%}
    .skel-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
    .skel-prices i{display:block;height:64px;border-radius:10px}
    @media(max-width:700px){.skel-card{grid-template-columns:112px minmax(0,1fr)}.skel-body{padding:12px}}
    /* 코호트 통계 행 — 값 아래 표본 수를 항상 붙인다 */
    .overview-row small{display:block;margin-top:4px;color:var(--g500);font-size:.75rem;font-weight:750;line-height:1.45}
    /* 동일 품목 다건 구분자 — 개체를 가르는 값을 카드에서 바로 읽게 */
    .deadline-distinct{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0}
    .deadline-distinct span{padding:3px 8px;border-radius:6px;background:var(--g100);color:var(--g700);font-size:.75rem;font-weight:800}
    /* 차량번호는 같은 차종 여러 대를 가르는 결정적 단서 — 가장 진하게 */
    .deadline-distinct .plate{padding:3px 9px;border-radius:6px;background:var(--teal800);color:#ffffff;font-size:.8125rem;font-weight:900;letter-spacing:.01em;font-variant-numeric:tabular-nums}
    /* 사진 로딩 시머 — 사진이 있는 물건에만 깔리고, 성공·최종실패 시 JS가 걷어낸다 */
    .deadline-photo img,.building-cluster-photo img{opacity:0;transition:opacity .28s ease}
    .deadline-photo img[data-photo-ready],.building-cluster-photo img[data-photo-ready]{opacity:1}
    .deadline-photo.is-loading:after,.building-cluster-photo.is-loading:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.13) 50%,rgba(255,255,255,0) 70%);background-size:220% 100%;animation:photo-shimmer 1.1s ease-in-out infinite;pointer-events:none}
    @keyframes photo-shimmer{to{background-position:-220% 0}}
    html[data-motion="reduce"] .deadline-photo.is-loading:after,html[data-motion="reduce"] .building-cluster-photo.is-loading:after{animation:none}
    /* 동일 모델 다건 안내 — 실제로 중복이 감지될 때만 렌더된다 */
    .family-chip{padding:3px 8px;border-radius:999px;background:#fff0d6;color:#7a5a12;font-size:.6875rem;font-weight:850;white-space:nowrap}
    .family-notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 4px;padding:12px 14px;border:1px solid #eddfb4;border-radius:12px;background:#fff3e9}
    .family-notice .app-icon{flex:none;color:#916b10;font-size:1.25rem}
    .family-notice b{display:block;color:#5e4610;font-size:.875rem}
    .family-notice p{margin:3px 0 0;color:#7a5a12;font-size:.8125rem;line-height:1.5}
    .family-notice em{font-style:normal;font-weight:850}
    .deadline-distinct em{color:var(--g500);font-size:.6875rem;font-style:normal;font-weight:750;font-variant-numeric:tabular-nums}
    /* 텍스트 인풋의 포커스 표시는 컨테이너 보더가 담당 — 인풋 자체의 전역 사각 링 제거 */
    html:not([data-contrast="high"]) .search:focus,html:not([data-contrast="high"]) .search:focus-visible,html:not([data-contrast="high"]) .pin-form input:focus-visible,html:not([data-contrast="high"]) .pin-form select:focus-visible{outline:none!important;box-shadow:none!important}
    html:not([data-contrast="high"]) .search-box:focus-within{border-color:var(--teal600);box-shadow:0 0 0 3px rgba(30,107,168,.14)}
    /* type=search의 브라우저 기본 지우기 버튼 제거 — 커스텀 X와 중복 노출 방지 */
    .search::-webkit-search-cancel-button,.search::-webkit-search-decoration,.search::-webkit-search-results-button{-webkit-appearance:none;appearance:none;display:none}
    .search{appearance:none}
    /* 사용법은 첫 방문 온보딩으로만 — 헤더에서 제거. 재진입은 보기 설정 안 '처음 사용법 다시 보기'. */
    .a11y-open{gap:5px}
    @media(max-width:700px){
      .header{height:56px;min-height:56px;grid-template-columns:1fr auto;padding:0 16px}
      .mark{width:34px;height:34px;font-size:0.9375rem}
      .brand-copy b{font-size:1.0625rem;letter-spacing:-.02em}
      .a11y-open{display:inline-flex!important;min-width:0;min-height:40px;padding:0 12px;border:1px solid var(--g200);border-radius:999px;background:#ffffff;color:var(--g700);font-size:.8125rem;font-weight:800;transition:background .15s ease}
      .a11y-open:active{background:var(--g100)}
      .a11y-open .app-icon{font-size:1.1875rem;color:var(--g600)}
    }
    /* 빠른선별 모드 제거 — 목록 비교로 일원화 */
    /* 정렬은 목록 헤더 행에 합류 — 타이틀 좌 · 정렬 우 (혼자 한 행 차지 금지) */
    .feed-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin:4px 2px 12px}
    .feed-head-copy{min-width:0;display:grid;gap:2px}
    .feed-head-copy h2{margin:0}
    .feed-head .sort-strip{margin:0 0 0 auto;padding:0;border:0;background:transparent}
    .feed-head .sort-options{padding:3px}
    .feed-head .sort-option{min-width:0;min-height:40px;padding:0 14px;font-size:.8125rem}
    @media(max-width:700px){.feed-head h2{font-size:1rem}.feed-head .sort-option{padding:0 11px}}

    /* 마지막 레이어 — 앞선 레이어의 display 선언과 접근성 min-* 규칙을 이겨야 하는 것만 둔다. */
    /* 사진이 1장이면 좌우 이동·썸네일·"1 / 1" 카운터를 감춘다. 앞 레이어가 display:grid/flex를
       명시해 두어서 UA의 [hidden]{display:none}이 지므로 여기서 다시 선언해야 한다. */
    .photo-viewer-nav[hidden],.photo-viewer-thumbs[hidden],#photoViewerCounter[hidden]{display:none!important}
    /* 사진 위 원형 버튼: 전역 button{min-height:48px}가 height:31px를 이겨 31×48 타원이 됐다.
       min-width/min-height를 함께 명시해야 정사각형이 되고 터치 타깃도 채운다. */
    .photo-nav button{width:44px;min-width:44px;height:44px;min-height:44px;aspect-ratio:1;display:grid;place-items:center;padding:0;line-height:1}
    .photo-nav{gap:6px}
    /* 아이콘은 :before 의사요소로 그려진다. 박스를 버튼 전체로 넓혀 원 한가운데 오게 한다. */
    .photo-nav button:before{display:grid!important;place-items:center;width:100%;height:100%;line-height:1}
    /* 큰 버튼은 '마감 35개 보기'와 조건 요약이 세로로 쌓여 두 줄이 됐다 — 한 줄로 붙인다. */
    .daily-primary-action{min-height:52px}
    .daily-primary-action>span{display:flex!important;align-items:center;gap:8px;min-width:0}
    .daily-primary-action small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .error-tools{margin:16px 0 0;text-align:left}
    /* 오류 화면의 액션 바는 본 상세와 버튼 수가 달라(공유가 나중에 주입된다) 3열 그리드에
       4개가 밀려 들어가며 열이 44px로 쪼개졌다. 개수에 무관한 flex로 바꾼다. */
    .detail-error .detail-sticky{display:flex!important;flex-wrap:wrap;gap:8px;grid-template-columns:none!important}
    .detail-error .detail-sticky>*{flex:1 1 auto;min-width:104px;white-space:nowrap}
    /* 차대번호가 붙으면서 라벨이 길어졌다 — 높이 고정을 풀어 두 줄까지 허용한다. */
    .decision-tool-actions button{height:auto;min-height:44px;padding:9px 12px;white-space:normal;line-height:1.4}
    /* 상세 화면에서는 헤더의 X를 감추고(하단 '목록'과 중복) 높이를 제목 줄만큼으로 줄인다.
       Escape와 하단 '목록'이 닫기를 대신하므로 닫을 방법이 사라지지는 않는다. */
    .dialog.is-detail .dialog-head{min-height:0;padding:9px 16px}
    
    .dialog.is-detail:focus-visible{outline:none}
    /* 기관 메모는 가격 다음으로 먼저 읽혀야 한다 — 본문 흐름에 묻히지 않게 카드로 띄운다. */
    .cond-section{margin:16px -12px 0;padding:18px 14px!important;border:1px solid var(--line);border-top:1px solid var(--line)!important;border-radius:14px;background:var(--teal50)}
    .cond-section .overview-section-title{margin-bottom:6px}
    .cond-lead{margin:0 0 11px!important;color:var(--g700)!important;font-size:.8125rem!important;line-height:1.6!important}
    @media(max-width:700px){.cond-section{margin-inline:0}}
    .decision-source{margin:8px 0 0!important;color:var(--g600)!important;font-size:.75rem!important;line-height:1.55!important}
    .media-top>span{min-height:32px;display:inline-flex;align-items:center;padding:0 10px}
    /* 뷰어 툴바: 높이는 이미 48px로 같고 폭만 48/68/48/91이라 종횡비가 제각각으로 보였다. */
    .photo-viewer-toolbar button{height:48px;min-height:48px;border-radius:12px;padding:0}
    .photo-viewer-toolbar button:not(.zoom-level):not(.fill-view){width:48px;min-width:48px;aspect-ratio:1}
    .photo-viewer-toolbar .zoom-level{width:72px;min-width:72px}
    .photo-viewer-toolbar .fill-view{min-width:104px;padding:0 12px;justify-content:center}
    .photo-viewer-toolbar .fill-view:before{font-size:1.375rem}
    /* 건물 묶음 호실 펼치기 — 목록 안쪽이 아니라 형제로 두어 role="list" 구조를 깨지 않는다. */
    /* 묶음 목록의 '꼬리'로 읽혀야 한다 — 따로 뜬 카드처럼 보이면 호실 하나로 오해된다.
       그래서 테두리 없이 목록에 붙이고, 내용은 가운데로 모아 빈 공간을 없앤다. */
    .building-unit-toggle{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:0;border-top:1px solid var(--line);border-radius:0 0 14px 14px;background:#ffffff;color:var(--teal700);cursor:pointer}
    .building-unit-toggle-copy{min-width:0;display:flex;align-items:baseline;gap:8px;text-align:left}
    .building-unit-toggle b{font-size:.875rem;font-weight:850;line-height:1.3;white-space:nowrap}
    .building-unit-toggle small{overflow:hidden;color:var(--g600);font-size:.75rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
    .building-unit-toggle .app-icon{flex:none;font-size:1.25rem;transition:transform .18s ease}
    .building-unit-toggle[aria-expanded="true"] .app-icon{transform:rotate(180deg)}
    .building-unit-toggle:hover{background:var(--teal50)}
    @media(max-width:430px){.building-unit-toggle-copy{display:grid;gap:1px}}
    /* 가격이 열 폭에 밀려 "5억 9,722..."로 잘리고 있었다 — 가격은 잘리면 안 되는 값이다. */
    .rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}
    .rank-grid>div{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#ffffff}
    .rank-grid span{display:block;margin-bottom:4px;color:var(--g600);font-size:.6875rem}
    .rank-grid b{display:block;color:var(--g900);font-size:.9375rem}
    @media(max-width:430px){.rank-grid{grid-template-columns:1fr}}
    /* 상세 레코드가 없는 물건(압류재산 등)에서도 순위·조회 경로는 보여준다.
       오류 카드 안에서는 구분선과 세로 여백이 과하므로 걷어낸다. */
    .detail-error .overview-section{margin-top:16px;padding:0;border-top:0;text-align:left}
    .detail-error .overview-section-title{margin-bottom:9px}
    .fallback-facts{margin:14px 0 0;text-align:left}
    .fallback-facts .overview-price{margin-bottom:9px}
    .fallback-facts .condition-list>div{grid-template-columns:88px 1fr}

    /* 홈 상단은 제목과 버튼이 각각 한 줄을 차지하고, 게다가 개수를 두 번 말했다
       ("먼저 확인할 변화 35개" + "마감 35개 보기"). 한 줄에 붙이고 개수는 제목에만 둔다. */
    @media(max-width:700px){
      .daily-review:not(.is-loading){grid-template-columns:minmax(0,1fr) auto;align-items:center}
      .daily-review:not(.is-loading) .daily-review-copy{grid-column:1;grid-row:1;min-width:0}
      .daily-review:not(.is-loading) .daily-primary-action{grid-column:2;grid-row:1;width:auto;min-width:0;padding:0 12px;gap:8px}
      .daily-review:not(.is-loading) .daily-primary-action b{white-space:nowrap;font-size:.8125rem}
      .daily-review:not(.is-loading) .daily-action-grid{grid-column:1/-1;grid-row:2}
    }
    .auction-stage-tabs::-webkit-scrollbar,.category-tabs::-webkit-scrollbar{display:none}
    .category-tabs .category{flex:1 0 auto;white-space:nowrap}

    /* 2열 그리드에서 호실 묶음 앞·목록 끝에 짝 없이 남는 카드는 두 칸을 쓴다 */
    .deadline-feed>.deadline-item.is-alone{grid-column:1/-1}
    /* 상세 보기는 크롤러가 따라갈 수 있도록 링크로 두되 버튼 모양을 유지한다 */
    .deadline-actions a.deadline-detail{min-height:48px;display:flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border-radius:11px;font-size:.875rem;font-weight:900;white-space:nowrap;text-decoration:none;cursor:pointer;transition:transform .12s ease,filter .12s ease}
    .deadline-actions a.deadline-detail:active{transform:scale(.975);filter:brightness(.96)}


    /* 지난 결과 요약 — 카드 5장 대신 한 줄 + 막대.
       카드의 '감정가 대비' 막대와 같은 시각 언어를 써서 목록에 섞이게 한다 */
    .past-insights{gap:8px}
    .past-insights-line{margin:0;color:var(--navy);font-size:.875rem;line-height:1.5}
    .past-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#e5e6e1}
    .past-bar i{display:block;height:100%}
    .past-bar i.won{background:var(--navy)}
    .past-bar i.failed{background:#8fa8b4}
    .past-bar i.pending{background:#d4d8ce}
    .past-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.75rem;color:#4e5968}
    .past-legend b{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:var(--navy)}
    .past-legend b::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
    .past-legend b.failed{color:#5c7381}
    .past-legend b.pending{color:#67726b}
    .past-legend i{font-style:normal;color:#6a746f}

    /* 푸터 연락처 — 주소를 글자로 드러내야 이용자도 심사기관도 확인할 수 있다 */
    .footer-contact{margin:6px 0 0;font-size:.8125rem}


    /* 조건 버튼 — 누를 수 있는 것으로 보이게 아이콘과 테두리를 준다.
       조건이 안 보이면 사용자는 전국 전체를 보고 있다는 사실조차 모른다. */
    .daily-scope-button{display:flex;align-items:center;gap:9px;text-align:left}
    .daily-scope-copy{display:grid;gap:2px;min-width:0}
    .daily-scope-button .app-icon{flex:none;font-size:1.25rem;color:var(--navy)}
    .daily-scope-caret{margin-left:auto;font-size:1.125rem;opacity:.7}
    .daily-scope-button b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .daily-scope-button:hover{background:var(--teal50)}
    /* 조건 관리 — 앱이 기본 제공하는 조건임을 밝히고 삭제 대신 표시만 둔다 */
    .managed-pin-default{padding:6px 10px;border-radius:8px;background:#f0f2ee;color:#687377;font-size:.75rem;font-weight:800;white-space:nowrap}

    /* 관심물건 하트 — 담기면 채워진다. 아이콘 폰트로는 채움을 표현할 수 없어 SVG로 그린다 */
    .heart-icon{stroke-width:1.8}
    .heart-icon.is-on{fill:currentColor;stroke:currentColor}

    /* 낙찰 뒤 부담 — 정형 조항이라 접어 두되 경고 한 줄은 항상 보이게 남긴다.
       '없음'을 쓰지 않는 이유는 그것이 안전으로 읽히기 때문이다. */
    .burden-warn{margin:0;padding:12px 13px;border:1px solid #d8c6a8;border-radius:10px;background:#fff8ec;color:#6b5a3a;font-size:.875rem;line-height:1.65}
    .burden-warn em{font-style:normal;font-weight:800;color:#7a5a12}
    .burden-details{margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#fff}
    .burden-details>summary{padding:11px 13px;color:var(--navy);font-size:.875rem;font-weight:800;cursor:pointer;list-style:none}
    .burden-details>summary::-webkit-details-marker{display:none}
    .burden-details>summary span{display:block;margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:600}
    .burden-details[open]>summary{border-bottom:1px solid var(--line)}
    .burden-note{margin:11px 13px 0;color:var(--muted);font-size:.8125rem}
    .burden-quotes{display:grid;gap:8px;padding:10px 13px 13px}
    .burden-quote>span{display:block;margin-bottom:5px;color:var(--navy);font-size:.75rem;font-weight:900}
    .burden-quote p{margin:0 0 6px;color:var(--g900);font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}
    .burden-quote p:last-child{margin-bottom:0}

    /* 사진 조작 버튼 아이콘 — SVG라 viewBox 기하가 곧 정렬이다 */
    .photo-nav .photo-icon{width:20px;height:20px;stroke-width:2}
    .photo-nav .media-expand .photo-icon{width:18px;height:18px}
