.photo-upload-notices{position:fixed;z-index:85;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(440px,calc(100% - 24px));display:grid;gap:6px;pointer-events:none}.photo-upload-notices.above-dock{bottom:calc(92px + env(safe-area-inset-bottom,0px))}.photo-upload-notices.inline{position:static;transform:none;width:auto;margin:0 12px 10px;flex:none}.photo-upload-notices.inline.done{margin:0}.photo-upload-notice{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);box-shadow:0 3px 12px var(--map-shadow);pointer-events:auto}.photo-upload-copy{display:grid;gap:2px;min-width:0;flex:1}.photo-upload-copy strong{font-size:13px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.photo-upload-copy span{color:var(--muted);font-size:12px;line-height:1.4}.photo-upload-notices.inline .photo-upload-notice{box-shadow:none;background:var(--app)}.photo-upload-notice.compact .photo-upload-copy strong,.photo-upload-notice.compact .photo-upload-copy span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.photo-upload-notice a{font-size:12px;min-height:44px;display:flex;align-items:center;white-space:nowrap}.photo-upload-notice button{width:44px;min-width:44px;height:44px;border:0;background:transparent;color:var(--muted);font-size:23px}.photo-upload-notice .photo-upload-detail-button{width:auto;padding:0 4px;white-space:nowrap;font-size:12px;color:var(--ink)}.photo-upload-details{list-style:none;margin:0;padding:4px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px;max-height:min(30vh,220px);overflow-y:auto;pointer-events:auto}.photo-upload-details li{display:flex;align-items:center;gap:8px;padding:8px 0;font-size:12px}.photo-upload-details li+li{border-top:1px solid var(--line)}.photo-upload-details li>div{display:grid;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere}.photo-upload-details span{color:var(--muted)}.photo-upload-details a{min-height:44px;display:flex;align-items:center;white-space:nowrap}.photo-upload-other{flex:none;min-height:calc(1.5em + 6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:3px 2px;color:var(--muted);font-size:12px;line-height:1.5}.photo-preparing-reason{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.photo-upload-notices.inline.done .photo-done-status{padding:2px 0;border:0;border-radius:0;background:none;box-shadow:none;gap:8px;align-items:flex-start}.photo-done-mark{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.photo-done-status[data-photo-upload-phase=failed] .photo-done-mark{stroke:var(--bad)}.toast{top:var(--photo-toast-top, auto)}html[style*=--photo-toast-top] .toast{bottom:auto}html[data-photo-toast-rail] .toast{top:12px;bottom:auto;max-height:40dvh;overflow-y:auto}html[data-photo-toast-rail] .sheet-wrap:has([data-photo-notice-layout]){padding-top:calc(var(--photo-toast-height) + 28px);padding-bottom:12px}html[data-photo-toast-rail] .sheet:has([data-photo-notice-layout]){max-height:calc(100dvh - var(--photo-toast-height) - 40px)}html[data-photo-toast-rail] .photo-upload-notices:not(.inline){max-height:calc(100dvh - var(--photo-toast-height) - 40px);overflow-y:auto}.cx-done .cx-done-top{flex-wrap:wrap}.cx-done .cx-done-copy{flex:1 1 9em;min-width:0}.cx-done .seal-badge.cx-photo-saved-stamp{width:3.4em;height:3.4em}.cx-done .photo-saved-stamp-text{display:block;white-space:nowrap}.photo-upload-notice .draft-resume-action{font-weight:650;color:var(--accent);min-height:44px}.social-buttons{display:grid;gap:10px}.social-btn{box-sizing:border-box;height:54px;min-height:54px;width:100%;padding:0 14px;border:1px solid transparent;border-radius:12px;display:grid;grid-template-columns:22px minmax(0,1fr) 60px;align-items:center;gap:8px;color:#1f1f1f;background:#fff;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer}.social-btn svg{width:22px;height:22px}.social-label{text-align:center;white-space:nowrap}.social-kakao{background:#fee500;color:#191919}.social-apple{background:#000;color:#fff}.social-google{border-color:#747775}.social-btn:disabled{opacity:.43;cursor:default}.social-recent{font-size:11px;line-height:20px;border-radius:10px;background:#00000017;padding:0 5px;text-align:center;white-space:nowrap}.social-apple .social-recent{background:#fff3}.auth-sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.auth-sheet-heading h2{margin:0}.auth-legal{display:flex;justify-content:center;gap:10px;margin-top:20px;font-size:12px;color:var(--muted)}.auth-legal a{color:inherit}.auth-main{width:100%;max-width:480px;margin:0 auto;padding:24px var(--gutter) 32px;display:grid;gap:24px}.auth-main h2{font-size:25px;line-height:1.4;margin:0}.auth-main h3{margin:0;font-size:14px}.auth-flow-heading{display:grid;gap:10px}.auth-account-line{display:flex;gap:12px;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.auth-text-link{padding:6px 0;border:0;background:none;color:var(--muted);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.auth-existing{margin:0;padding:14px 0;width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.auth-existing svg,.auth-consent-detail svg{width:18px;height:18px}.auth-existing-group{display:grid;gap:2px}.auth-existing-hint{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}.auth-main .form-field .field-hint{margin-top:6px}.auth-consents{display:grid;gap:6px}.auth-consent-all{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:8px;font-weight:700}.auth-consent-row{display:flex;align-items:center;gap:8px;min-height:48px}.auth-consent-row label,.auth-consent-all label{display:flex;align-items:center;gap:10px;flex:1;cursor:pointer;font-size:14px;line-height:1.5}.auth-consents input{width:21px;height:21px;flex:none;accent-color:var(--accent);margin:0}.auth-consent-row small{color:var(--muted);font-size:11px;margin-right:4px}.auth-consent-detail{color:var(--muted);padding:12px;margin-right:-12px;display:grid;place-items:center;flex:none}.auth-consent-note{margin:-6px 0 6px 31px;font-size:12px;line-height:1.55;color:var(--muted);overflow-wrap:anywhere}.auth-optional{display:grid;gap:4px;border-top:1px solid var(--line);margin-top:12px;padding-top:18px}.auth-optional h3{color:var(--muted);margin:0 0 4px}.auth-confirm-account{display:grid;gap:5px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.auth-confirm-account strong{font-size:20px}.auth-confirm-account span{color:var(--muted);font-size:14px}.auth-actions{display:grid;gap:12px}.auth-notice{margin:0;font-size:14px;color:var(--muted);line-height:1.6}.auth-method-list{display:grid}.auth-method-row{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:56px;padding:10px 16px;border-bottom:1px solid var(--line)}.auth-method-row:last-child{border:0}.auth-method-row strong{font-size:14px}.auth-method-row small{display:block;margin-top:3px;color:var(--muted);font-size:11px}.auth-method-row .auth-text-link{font-weight:500}.auth-settings-error{padding:16px;font-size:13px;color:var(--error)}.auth-doc-detail dt{font-weight:700;margin-top:24px}.auth-doc-detail dd{margin:7px 0 0}@media(max-width:350px){.social-btn{padding:0 10px;gap:5px;font-size:14px;grid-template-columns:22px minmax(0,1fr) 55px}.social-recent{font-size:10px}.auth-consent-row label{font-size:13px}}.brand{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:-.01em}.brand-mark{flex:none;display:block}.bar .brand{padding-left:6px}.bar-num{flex:none;font-size:15px;font-weight:600;color:var(--muted);padding-right:10px;white-space:nowrap}.bar-context .bar-num{font-size:13px;padding-right:0}@media(max-width:359px){.bar.bar-context{padding-left:4px;padding-right:4px;gap:2px}.bar-context .bar-num{font-size:12px}}.map-stage{margin:0 calc(var(--gutter) * -1 + 6px)}.region-summaries{display:grid;gap:10px}.rate-sum{display:grid;gap:7px}.rate-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:24px}.rate-row>b{font-size:16px;font-weight:700}.rate-row>span{font-size:15px;color:var(--muted);white-space:nowrap}.rate-row>span b{color:var(--ink);font-weight:700}.rate-bar{height:4px;border-radius:2px;background:var(--line);overflow:hidden}.rate-bar>i{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .8s cubic-bezier(.2,.8,.2,1)}.home-body{padding-bottom:48px}.home-chips{display:flex;gap:8px}.home-main{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;gap:14px}.home-lines{display:grid;gap:2px;text-align:center}.home-intro{margin:0;color:var(--ink);font-size:15px;word-break:keep-all}.home-line{margin:0;text-align:center;color:var(--muted);font-size:14px}.list{display:grid;grid-template-columns:minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.item{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 16px;min-height:64px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;width:100%;color:inherit;text-decoration:none}.item:first-child{border-top:0}.item:active{background:var(--accent-soft)}.item .grow{flex:1;min-width:0}.item .name{font-weight:600;font-size:16px;line-height:1.35}.item .meta{color:var(--muted);font-size:13.5px;line-height:1.45;margin-top:2px}.item .meta .faint{color:var(--faint)}.item .price{color:var(--muted)}.item .price>span{white-space:nowrap}.item .price b{color:var(--ink);font-weight:700}.item .price .real{display:inline-block;font-size:13px;line-height:1.3;padding:0 4px;border:1px solid var(--line);border-radius:5px;color:var(--muted);vertical-align:1px}.item .price.none{color:var(--faint)}.list-basis{margin:-6px 0 -4px;font-size:13px;color:var(--muted)}.item .one-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item>svg{color:var(--faint);width:18px;height:18px;flex:none}.todo-tag{flex:none;font-size:13px;color:var(--faint);border:1px dashed var(--line);border-radius:8px;padding:4px 8px;white-space:nowrap}.list-item .list-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px}.list-heading .name{min-width:0}.list-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.list-prices:before{content:none}.list-price{position:relative;display:flex;align-items:baseline;min-width:0}.list-price+.list-price{margin-left:0;padding-left:14px}.list-price+.list-price:before{content:"";position:absolute;left:0;top:50%;width:1px;height:14px;transform:translateY(-50%);background:var(--line)}.list-price-head{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.list-price-label{color:var(--muted);font-size:13px;line-height:1.5;white-space:nowrap}.list-price-value{white-space:nowrap}.list-price-value{color:var(--ink);font-size:18px;line-height:1.5;font-weight:700}.list-price-value .price-approx{font-size:13px;font-weight:600}.list-price-state{color:var(--muted);font-size:13px;line-height:1.5;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.list-price-basis{margin-top:12px}.list-price-basis summary{cursor:pointer}.list-price-basis p{margin:8px 0 0}.lbar{display:flex;align-items:center;gap:2px;min-height:44px}.lbar .cnt{flex:1 0 auto;font-weight:700;font-size:15px;white-space:nowrap}.lbar .cnt small{font-weight:500;font-size:13.5px;color:var(--muted)}.opt{border:0;background:transparent;color:var(--muted);font-size:14px;display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:0 6px 0 8px;border-radius:10px;white-space:nowrap;min-width:0;flex:0 1 auto}.opt span{overflow:hidden;text-overflow:ellipsis}.opt:active{background:var(--accent-soft)}.opt svg{width:16px;height:16px;flex:none}.lbar .icon-btn{margin-right:-8px}.lbar .icon-btn[aria-expanded=true]{background:var(--accent-soft)}.input{width:100%;min-width:0;min-height:48px;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:11px 13px;font-size:16px;color:var(--ink)}.input::placeholder{color:var(--faint)}.input.lg{font-size:18px;min-height:54px;padding:13px 14px}.input[aria-invalid=true]{border-color:var(--error)}.seal-badge.seal-sm{width:38px;height:38px;font-size:13px;flex:none}.seal-badge.seal-md{width:50px;height:50px;font-size:14px;flex:none}.seal-badge.seal-lg{width:74px;height:74px;font-size:22px;flex:none}.ad-slot{position:relative;width:320px;max-width:100%;height:50px;margin:0 auto;border:1px dashed var(--line);border-radius:8px}.ad-tag{position:absolute;top:3px;left:6px;font-size:13px;line-height:1.2;color:var(--faint)}.sheet-h{font-weight:700;font-size:14px;color:var(--muted);margin:14px 0 8px;display:flex;align-items:baseline;gap:8px}.sheet-h small{font-weight:500;font-size:13px;color:var(--faint)}.sheet h2+.sheet-h{margin-top:0}.seg4,.seg3{display:grid;gap:6px}.seg4{grid-template-columns:repeat(4,1fr)}.seg3{grid-template-columns:repeat(3,1fr)}.seg4 button,.seg3 button{min-height:46px;border:1px solid var(--line);background:var(--app);border-radius:12px;font-size:15px;font-weight:600}.seg4 button[aria-pressed=true],.seg3 button[aria-pressed=true]{background:var(--ink);color:var(--app);border-color:var(--ink)}.seg4 button{display:grid;place-content:center;line-height:1.15;padding:2px 4px;white-space:nowrap}.radio{display:grid}.radio button{border:0;border-top:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 2px;font-size:16px;text-align:left}.radio button:first-child{border-top:0}.radio i{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);flex:none}.radio [aria-checked=true] i{border:7px solid var(--accent)}.radio [aria-checked=true] span{font-weight:700}.radio.list-sort{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.radio.list-sort button{min-height:46px;gap:6px;padding:9px 8px;border:1px solid var(--line);border-radius:10px;font-size:14px;background:var(--app)}.radio.list-sort [aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.radio.list-sort i{width:16px;height:16px}.radio.list-sort [aria-checked=true] i{border-width:5px}.list-options-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.switch-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:0 2px;font-size:16px;margin-top:6px;text-align:left}.switch-row small{display:block;color:var(--faint);font-size:13px}.switch-row i{width:46px;height:28px;border-radius:14px;background:var(--line);position:relative;transition:background .2s;flex:none}.switch-row i:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--card);box-shadow:0 1px 2px #00000040;transition:transform .2s}.switch-row[aria-checked=true] i{background:var(--accent)}.switch-row[aria-checked=true] i:after{transform:translate(18px)}.sheet-actions{margin-top:14px}.login-sheet{padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}.login-sheet h2{margin-bottom:4px}.login-lead{margin:0 0 18px;color:var(--muted);font-size:14px}.kakao-btn{min-height:54px;width:100%;border-radius:12px;background:#fee500;color:#000000d9;display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;text-decoration:none}.kakao-btn svg{width:22px;height:22px;flex:none}.kakao-btn:active{filter:brightness(.96)}.fine{margin:12px 0 0;font-size:13px;color:var(--faint);text-align:center;line-height:1.55}.fine a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}.login-share{margin:4px 0 0;font-size:13px;color:var(--faint);text-align:center;line-height:1.55}.dev-login{display:flex;margin:14px auto 0}.empty-state{display:grid;gap:8px;justify-items:center;text-align:center;padding:36px 12px}.empty-title{margin:0;font-size:16px;font-weight:700}.empty-text{margin:0;color:var(--muted);font-size:14px}.empty-state .btn{margin-top:8px}.form-dock{position:sticky;bottom:0;z-index:10;margin-top:auto;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));background:var(--app);border-top:1px solid var(--line)}.form-field{display:grid;gap:8px}.form-field label{font-weight:700;font-size:15px}.field-hint{margin:0;font-size:13px;color:var(--muted)}.field-err{margin:0;font-size:13.5px;color:var(--error)}.me-who{display:flex;align-items:center;gap:12px}.me-who .me-nick{font-size:20px;font-weight:700;line-height:1.3}.me-who .since{color:var(--muted);font-size:13px}.grade-card{display:grid;gap:12px}.grade-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.grade-label{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.grade-label small{font-size:15px;font-weight:600;color:var(--muted);margin-right:6px}.ranks{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.ranks div{display:grid;gap:4px;justify-items:center;font-size:13px;color:var(--faint)}.ranks i{display:block;width:100%;height:6px;border-radius:3px;background:var(--accent-soft)}.ranks .past i{background:var(--rate-1)}.ranks .cur i{background:var(--accent)}.ranks .cur span{color:var(--ink);font-weight:700}.step-row{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted)}.step-row b{color:var(--ink);font-weight:600}.step-track{height:6px;border-radius:3px;background:var(--accent-soft);overflow:hidden}.step-track>b{display:block;height:100%;border-radius:3px;background:var(--accent)}.rank-cond{margin:0;font-size:14px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:10px}.rank-cond b{color:var(--ink);font-weight:600}.rank-cond .ok{color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat-cell{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;gap:2px;min-width:0}.stat-cell b{font-size:21px;font-weight:700;line-height:1.25}.stat-cell b small{font-size:14px;font-weight:600;margin-left:1px}.stat-cell span{font-size:13px;color:var(--muted)}.section-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 0 -4px}.section-h h2{margin:0;font-size:17px}.section-h span,.section-h a{font-size:14px;color:var(--muted)}.section-h a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;margin:-12px 0}.stamps{display:flex;gap:16px;overflow:hidden;flex-wrap:wrap}.stamp-item{display:grid;gap:6px;justify-items:center;min-width:56px}.stamp-item small{color:var(--muted);font-size:13px}.more-link{min-height:48px;display:flex;align-items:center;justify-content:center;gap:4px;color:var(--muted);text-decoration:none;font-size:15px}.more-link svg{width:18px;height:18px}.set-group{display:grid;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.set-group>*+*{border-top:1px solid var(--line)}.set-group-h{margin:8px 0 -6px;font-size:14px;font-weight:700;color:var(--muted)}.set-cell{padding:14px 16px;display:grid;gap:10px}.row-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:0 16px;border:0;background:transparent;text-align:left;font-size:16px;color:var(--ink);text-decoration:none}.row-btn:active{background:var(--accent-soft)}.row-btn .val{color:var(--muted);font-size:14px}.row-btn svg{width:20px;height:20px;color:var(--faint);flex:none}.row-btn.danger{color:var(--bad)}.inline-form{display:flex;gap:8px}.inline-form .btn{flex:none}.confirm-box{display:grid;gap:10px;padding:14px 16px;background:var(--bad-soft)}.confirm-box p{margin:0;font-size:15px}.confirm-box .btn.danger{color:var(--app)}.confirm-box .btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.doc{font-size:15px;line-height:1.7}.doc h2{font-size:17px;margin:26px 0 6px;line-height:1.4}.doc h2:first-child{margin-top:6px}.doc p{margin:6px 0}.doc ul,.doc ol{margin:6px 0;padding-left:20px}.doc li{margin:4px 0}.doc .meta-line{color:var(--muted);font-size:14px}.doc a{color:var(--accent)}.doc table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.doc th,.doc td{border-top:1px solid var(--line);padding:8px 4px;text-align:left;vertical-align:top}.doc th{width:34%;color:var(--muted);font-weight:600}.doc-about{word-break:keep-all}.doc-about .about-lead{margin:6px 0 2px;font-size:17px;font-weight:700;line-height:1.45;text-wrap:balance}.doc-about .about-go{margin:0}.doc-about .about-go a{display:inline-flex;align-items:center;min-height:44px}.doc-about .about-faq{margin:6px 0}.doc-about .about-faq dt{font-weight:700;margin-top:12px}.doc-about .about-faq dt:first-child{margin-top:0}.doc-about .about-faq dd{margin:2px 0 0;color:var(--muted)}.doc-about .nowrap{white-space:nowrap}.doc-about .about-btn{margin-top:28px;color:var(--accent-ink)}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.weeks{display:grid;gap:6px}.week{display:grid;grid-template-columns:48px 1fr 44px 40px;min-height:28px;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.week .bar-t{height:14px;border-radius:4px;background:var(--accent-soft);overflow:hidden}.week .bar-t b{display:block;height:100%;background:var(--accent);border-radius:4px;min-width:2px}.week .v{text-align:right;color:var(--ink);font-weight:600}.week .w{text-align:right}.welcome-form{flex:1;display:flex;flex-direction:column}.empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.search-widen{display:block;width:100%;min-height:48px;margin-top:12px;padding:10px 0;background:none;border:0;color:var(--accent-text);text-decoration:underline;text-underline-offset:3px;font-size:13px}.photo-load-retry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:80px;padding:8px;box-sizing:border-box;background:var(--card);color:var(--muted);font-size:13px;line-height:1.4;text-align:center;cursor:pointer}.photo-load-retry strong{color:var(--accent);font-weight:600}.photo-load-retry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}html[data-app-update-required] #app>:not(.app-update-gate){display:none!important}html[data-app-update-required],html[data-app-update-required] body{overflow:hidden}.app-update-gate{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top,0px)) var(--gutter) max(24px,env(safe-area-inset-bottom,0px));background:var(--app);color:var(--ink)}.app-update-card{width:min(400px,100%);display:grid;gap:12px;text-align:center}.app-update-card h1{margin:0;font-size:22px;line-height:1.35}.app-update-card p{margin:0 0 8px;color:var(--muted);font-size:15px;line-height:1.6;overflow-wrap:anywhere}.app-update-card .btn{text-decoration:none}.notice-banner{position:fixed;z-index:84;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translate(-50%);width:min(440px,calc(100% - 24px));box-sizing:border-box;display:flex;align-items:center;gap:4px;padding:6px 4px 6px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);box-shadow:0 3px 12px var(--map-shadow);pointer-events:none}html:has(.notice-banner) .toast{bottom:max(calc(96px + env(safe-area-inset-bottom,0px)),calc(var(--notice-banner-height, 0px) + 22px + env(safe-area-inset-bottom,0px)))}.notice-banner-copy{display:grid;gap:2px;flex:1;min-width:0;margin:0}.notice-banner-copy strong{font-size:13px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.notice-banner-copy span{color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.notice-banner a,.notice-banner button{pointer-events:auto;min-height:44px;display:flex;align-items:center;flex:none}.notice-banner a{padding:0 6px;font-size:12px;white-space:nowrap;color:var(--accent-text)}.notice-banner button{width:44px;min-width:44px;justify-content:center;border:0;background:transparent;color:var(--muted);font-size:23px}.app-share-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink)}.app-share-button>svg{width:17px;height:17px;flex:none}.app-share-toolbar{min-height:44px;flex:none;padding:0 11px;border:1px solid var(--line);border-radius:10px;background:var(--card);font-size:13px;font-weight:600;white-space:nowrap}.app-share-toolbar:active,.app-share-link:active{background:var(--accent-soft)}.app-share-row{justify-content:space-between}.app-share-link{width:100%;min-height:44px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--accent);font-size:13px;font-weight:600}.app-share-button:disabled{opacity:.5;cursor:default}.app-share-sheet .app-share-text{min-height:150px;margin-bottom:14px;resize:vertical;font-size:14px}.about-download-actions{display:grid;gap:10px}.about-download-actions .about-cta{justify-content:center}.xmap{width:100%;height:auto;display:block;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.xmap .shadow use{fill:var(--map-shadow)}.xmap .side use{fill:var(--map-side);stroke:var(--map-side);stroke-width:2.2;stroke-linejoin:round;transform:translateY(calc(min(var(--i),var(--h))*-1px));transition:transform .15s cubic-bezier(.3,.7,.4,1)}.xmap .side.off use{fill:var(--map-off-side);stroke:var(--map-off-side)}.xmap .side.r0 use{fill:var(--rate-0-side);stroke:var(--rate-0-side)}.xmap .side.r1 use{fill:var(--rate-1-side);stroke:var(--rate-1-side)}.xmap .side.r2 use{fill:var(--rate-2-side);stroke:var(--rate-2-side)}.xmap .side.r3 use{fill:var(--rate-3-side);stroke:var(--rate-3-side)}.xmap .top,.xmap .lab{transform:translateY(calc(var(--h) * -1px));transition:transform .15s cubic-bezier(.3,.7,.4,1)}.xmap .labels{pointer-events:none}.xmap .top>use{stroke:var(--map-edge);stroke-width:1.1;stroke-linejoin:round}.xmap .top.on{cursor:pointer}.xmap .top.off>use{fill:var(--map-off)}.xmap .top.r0>use{fill:var(--rate-0)}.xmap .top.r1>use{fill:var(--rate-1)}.xmap .top.r2>use{fill:var(--rate-2)}.xmap .top.r3>use{fill:var(--rate-3)}@media(hover:hover){.xmap .top.on:hover>use{filter:brightness(1.06)}}.xmap .top:focus{outline:none}.xmap .top:focus-visible>use{stroke:var(--ink);stroke-width:2.4}.xmap .hit{fill:transparent}.xmap text{font-family:var(--font-body);text-anchor:middle;pointer-events:none}.xmap .lbl{font-weight:700;letter-spacing:-.01em}.xmap .r0 .lbl,.xmap .r1 .lbl{fill:var(--ink)}.xmap .r2 .lbl,.xmap .r3 .lbl{fill:var(--app)}.xmap .off .lbl{fill:var(--muted);font-weight:500}.xmap .seal rect{fill:var(--seal)}.xmap .seal text{fill:var(--seal-ink);font-family:var(--font-seal);font-size:13px}.xmap .dot{fill:var(--ink)}.xmap .r2 .dot,.xmap .r3 .dot{fill:var(--app)}.xmap .lead path{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.xmap .lead .halo{stroke:var(--app);stroke-width:3}.xmap .lead .ln{stroke:var(--faint);stroke-width:1}.xmap .xcall{cursor:pointer}.xmap .xcall .hit{fill:transparent}.xmap .xcall .bx{fill:var(--card);stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}.xmap .xcall text{font-variant-numeric:tabular-nums}.xmap .xcall .m{fill:var(--ink);font-weight:700}.xmap .xcall .s{fill:var(--muted);font-weight:500}.xmap .xcall.faint .bx{fill:var(--app)}.xmap .xcall.faint .m{fill:var(--faint);font-weight:500}.xmap .xcall .st rect{fill:var(--seal)}.xmap .xcall .st text{fill:var(--seal-ink);font-family:var(--font-seal);font-weight:600}.xmap .xcall:active .bx,.xmap .xcall.pressed .bx{fill:var(--accent-soft)}@media(hover:hover){.xmap .xcall:hover .bx{stroke:var(--faint)}}.xmap .ctx path{fill:var(--ctx);stroke:var(--app);stroke-width:1.2}.xmap .ctx text{fill:var(--muted);font-size:13px}.xmap .ctx path.out{fill:var(--ctx-out);stroke:var(--ctx-out);stroke-width:1.4}.xmap .ctx path.edge{fill:var(--ctx-edge);stroke:var(--faint);stroke-width:1}.xmap .ctxhit path{fill:transparent;cursor:pointer}.xmap.offhit .shadow,.xmap.offhit .side{pointer-events:none}@media(prefers-reduced-motion:reduce){.xmap .side use,.xmap .top,.xmap .lab{transition:none}}.rm-inline{position:relative;width:100%}.regional-city-map:has(.rm-wide),.home-map:has(.rm-wide){width:calc(100% + 32px);max-width:none!important;margin-inline:-16px}.rm-inline[data-level=dong] .xmap .top.off>use{fill:color-mix(in srgb,var(--ctx-out) 65%,var(--card))}.rm-inline[data-level=dong] .xmap .side.off use{fill:var(--ctx-out);stroke:var(--ctx-out)}.rm-inline .xmap .shadow,.rm-inline .xmap .side-surfaces{pointer-events:none}.rm-inline .xmap .lbl{stroke-width:1px;vector-effect:non-scaling-stroke}.rm-inline:not(.rm-wide) .xmap[data-zoom=on]{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent),linear-gradient(180deg,transparent,#000 10px,#000 calc(100% - 10px),transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 10px,#000 calc(100% - 10px),transparent),linear-gradient(180deg,transparent,#000 10px,#000 calc(100% - 10px),transparent);mask-composite:intersect}.busan-label-leaders path,.regional-label-leaders path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.busan-label-leaders .line-halo,.regional-label-leaders .line-halo{stroke:var(--app);stroke-width:3px}.busan-label-leaders .line,.regional-label-leaders .line{stroke:var(--muted);stroke-width:1px}.busan-label-leaders .selected .line,.regional-label-leaders .selected .line{stroke:var(--ink);stroke-width:1.4px}.busan-callout,.regional-callout{cursor:pointer}.busan-callout .hit,.regional-callout .hit{fill:transparent;pointer-events:all}.busan-callout .tag,.regional-callout .tag{fill:none;stroke:none;pointer-events:none}.busan-callout .callout-name,.regional-callout .callout-name{fill:var(--ink);stroke:none;font-weight:600;pointer-events:none}.busan-callout.focused .tag,.regional-callout.focused .tag{stroke:var(--ink);stroke-width:1.3px;vector-effect:non-scaling-stroke}.busan-callout.selected .callout-name,.regional-callout.selected .callout-name{font-weight:750}.busan-callout-map .top:focus-visible>use,.regional-callout-map .top:focus-visible>use{stroke:var(--map-edge);stroke-width:1.1}.busan-callout-map .home-selection>use,.regional-callout-map .home-selection>use{stroke:var(--muted);stroke-width:1.4px;vector-effect:non-scaling-stroke}.busan-callout-map .home-selection>.home-selection-halo,.regional-callout-map .home-selection>.home-selection-halo{stroke:var(--card);stroke-width:3px}.regional-callout-map{--regional-land: #DDE5EF;--regional-coast: #96A9C1;--regional-city: #D4E0F0;--regional-city-side: #A5B8D2;--regional-edge: #637B9C;--regional-selected: #1C385B}.regional-callout-map .ctx path.out{fill:var(--regional-land);stroke:var(--regional-coast);stroke-width:.7px;vector-effect:non-scaling-stroke}.rm-inline .regional-callout-map .top.r0>use,.rm-inline .regional-callout-map .top.off>use{fill:var(--regional-city);stroke:var(--regional-edge);stroke-width:1.2px;vector-effect:non-scaling-stroke}.rm-inline .regional-callout-map .side.r0 use,.rm-inline .regional-callout-map .side.off use{fill:var(--regional-city-side);stroke:var(--regional-city-side)}.regional-callout-map .home-selection>use{stroke:var(--regional-selected);stroke-width:1.8px}.regional-callout-map .home-selection>.home-selection-halo{stroke:var(--app);stroke-width:4px}.rm-inline[data-level=region]{--map-edge: #70839D;--rm-visited-edge: #DDE6F5}.rm-inline[data-level=region] .xmap .top:is(.r1,.r2,.r3)>use{stroke:var(--rm-visited-edge, var(--map-edge))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .rm-inline[data-level=region]{--map-edge: #9FB7D3;--visit-0: #3A506D;--visit-0-side: #253850;--rm-visited-edge: #1B2F4B}:root:not([data-theme=light]) .regional-callout-map{--regional-land: #344B65;--regional-coast: #87A0BF;--regional-city: #425F80;--regional-city-side: #253D5A;--regional-edge: #B9D1EF;--regional-selected: #F3F7FF}}:root[data-theme=dark] .rm-inline[data-level=region]{--map-edge: #9FB7D3;--visit-0: #3A506D;--visit-0-side: #253850;--rm-visited-edge: #1B2F4B}:root[data-theme=dark] .regional-callout-map{--regional-land: #344B65;--regional-coast: #87A0BF;--regional-city: #425F80;--regional-city-side: #253D5A;--regional-edge: #B9D1EF;--regional-selected: #F3F7FF}.web-install-banner{display:grid;grid-template-columns:minmax(0,1fr) auto 36px;align-items:center;gap:10px;padding:12px 8px 12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink)}.web-install-copy{display:grid;gap:4px;min-width:0}.web-install-copy strong{font-size:14px;line-height:1.45;font-weight:600;word-break:keep-all;overflow-wrap:anywhere}.web-install-copy span{color:var(--muted);font-size:12px;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.web-install-links{display:flex;flex-wrap:wrap;gap:6px}.web-install-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border-radius:10px;background:var(--ink);color:var(--app);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}.web-install-close{display:grid;place-items:center;min-height:44px;width:36px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:24px}.web-install-links a:focus-visible,.web-install-close:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:360px){.web-install-banner{grid-template-columns:minmax(0,1fr) 36px;gap:6px 8px}.web-install-links{grid-column:1}.web-install-close{grid-column:2;grid-row:1 / 3}.web-install-copy strong{font-size:13px}}@media(prefers-contrast:more){.web-install-banner{border-color:var(--ink)}}.web-install-inline{grid-template-columns:minmax(0,1fr) auto 44px;gap:4px;padding:0;margin-top:4px;border:0;border-radius:0;background:transparent;min-height:44px}.web-install-inline .web-install-copy span{font-size:12px}.web-install-inline .web-install-links{grid-column:auto;gap:4px}.web-install-inline .web-install-links a{padding:4px;border-radius:6px;background:transparent;color:var(--ink);font-size:12px;font-weight:500}.web-install-inline .web-install-close{grid-column:auto;grid-row:auto;width:44px;font-size:18px}.connection-notice{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:4px 4px 4px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.connection-notice p{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.connection-notice button{flex:none;min-height:40px;padding:0 10px;border:0;background:transparent;color:var(--accent-text);font:inherit;font-size:13px;font-weight:600;white-space:nowrap}.connection-notice button:disabled{color:var(--muted)}html.home-viewport-fit,html.home-viewport-fit body{overflow:hidden;overscroll-behavior-y:none}.home-page .icon-btn{width:48px;height:48px}.home-body{padding:12px 20px;gap:18px}.home-page .app-share-toolbar{padding:0 8px;border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:500}.home-scope{min-height:48px;display:flex;justify-content:space-between;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}.home-provinces{display:inline-flex;align-items:stretch;gap:22px;min-height:48px}.home-provinces button{min-height:48px;min-width:44px;padding:0 2px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:15px;font-weight:500}.home-provinces button[aria-pressed=true]{color:var(--ink);box-shadow:inset 0 -2px var(--ink);font-weight:700}.home-region-picker{min-height:48px;min-width:60px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 2px 0 8px;border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.home-region-picker svg{width:17px;height:17px}.home-main{flex:0 0 auto;justify-content:flex-start;gap:18px}.home-overview{padding:4px 0 2px}.home-overview h2{font-size:24px;line-height:1.35;letter-spacing:-.045em;margin:0;font-weight:700;word-break:keep-all;overflow-wrap:normal}.home-description{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6;word-break:keep-all}.home-description-tail{white-space:nowrap}.home-retry{min-height:48px;padding:6px 0;border:0;background:none;text-decoration:underline;color:var(--accent)}.home-map{margin:0 auto;width:100%;max-width:var(--home-map-max-width, 350px)}.home-map-seoul{max-width:var(--home-map-max-width, 330px)}.home-page-single .home-scope{position:sticky;top:calc(var(--bar-h) + env(safe-area-inset-top,0px));z-index:19;background:var(--app)}.home-selected{padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:14px}.card.home-selected{padding:16px}.home-selected-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.home-selected-title h2{font-size:20px;line-height:1.3;letter-spacing:-.025em;margin:0}.home-selected-title>span{font-size:12px;color:var(--muted);flex-shrink:0}.home-selected-count{font-size:13px;color:var(--muted);margin:0;min-height:21px}.home-selected-count strong{color:var(--ink);font-weight:600}.home-explore{min-height:48px;font-size:15px;border-radius:11px;background:var(--ink);color:var(--app)}.home-explore svg{width:17px;height:17px}.home-explore:disabled{background:var(--line);color:var(--muted);opacity:1}.home-district-question{margin:0;font-size:13px;color:var(--muted)}.home-district-shortcuts{display:grid}.home-district-shortcut{min-height:56px;display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left}.home-district-shortcut strong{min-width:0;font-size:16px;font-weight:600}.home-district-shortcut small{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.home-district-shortcut svg{width:16px;height:16px;flex:none;color:var(--muted)}.home-district-shortcut:disabled{color:var(--muted);opacity:1}.home-map .xmap .top>use{pointer-events:visibleFill}.home-map .xmap .top:focus-visible>use{stroke:var(--map-edge);stroke-width:1.1}.home-map .xmap .lab.selected .lbl{fill:var(--accent)}.home-map .xmap .lbl{paint-order:stroke fill;stroke-width:2px;stroke-linejoin:round}.home-map .xmap .lab.off .lbl{stroke:var(--map-off)}.home-map .xmap .lab.r0 .lbl{stroke:var(--rate-0)}.home-map .home-selection{pointer-events:none}.home-map .home-selection use{fill:none;stroke:var(--accent);stroke-width:2.7;stroke-linejoin:round;vector-effect:non-scaling-stroke}.home-map .home-label-focus{fill:none;stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}.home-map-gyeonggi .xmap .ctx path.edge{fill:var(--ctx-edge);stroke:var(--map-edge);stroke-width:1.1}@media(max-width:350px){.home-body{padding-inline:16px}.home-overview h2{font-size:22px}.home-description{font-size:13px}}.home-complete{margin-left:7px;color:var(--ink);font-size:12px;font-weight:700}@media(max-width:420px){.home-scope{gap:6px}.home-provinces{gap:18px}.home-provinces button{font-size:14px}}.regional-city-map{width:100%;max-width:350px;margin:0 auto}.regional-city-map.visit-map .xmap .top.off>use{fill:var(--ctx-out)}.regional-city-map.visit-map .xmap .side.off use{fill:var(--ctx-edge);stroke:var(--ctx-edge)}.regional-city-map.visit-map .xmap .lab.off .lbl{fill:var(--muted);stroke:var(--ctx-out);font-weight:500}.regional-city-map .home-selection{pointer-events:none}.regional-city-map .home-selection use{fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke}.regional-city-map .home-label-focus{fill:none;stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}.visit-map{--visit-0: #E1E7F0;--visit-0-side: #BECADD;--visit-1: #466DB5;--visit-1-side: #31538E;--visit-2: #2B5195;--visit-2-side: #1F3D74;--visit-3: #152F63;--visit-3-side: #0D2046;--visit-on-text: #FFFFFF}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .visit-map{--visit-0: #243247;--visit-0-side: #172336;--visit-1: #79A4EF;--visit-1-side: #45679F;--visit-2: #9CBFF9;--visit-2-side: #557AAD;--visit-3: #C9DDFE;--visit-3-side: #7799C8;--visit-on-text: #0E1520}}:root[data-theme=dark] .visit-map{--visit-0: #243247;--visit-0-side: #172336;--visit-1: #79A4EF;--visit-1-side: #45679F;--visit-2: #9CBFF9;--visit-2-side: #557AAD;--visit-3: #C9DDFE;--visit-3-side: #7799C8;--visit-on-text: #0E1520}.visit-map .xmap .top.r0>use,.visit-map .xmap .top.off>use{fill:var(--visit-0)}.visit-map .xmap .top.r1>use{fill:var(--visit-1)}.visit-map .xmap .top.r2>use{fill:var(--visit-2)}.visit-map .xmap .top.r3>use{fill:var(--visit-3)}.visit-map .xmap .side.r0 use,.visit-map .xmap .side.off use{fill:var(--visit-0-side);stroke:var(--visit-0-side)}.visit-map .xmap .side.r1 use{fill:var(--visit-1-side);stroke:var(--visit-1-side)}.visit-map .xmap .side.r2 use{fill:var(--visit-2-side);stroke:var(--visit-2-side)}.visit-map .xmap .side.r3 use{fill:var(--visit-3-side);stroke:var(--visit-3-side)}.visit-map .xmap .lbl{paint-order:stroke fill;stroke-width:2px;stroke-linejoin:round}.visit-map .xmap .lab.r0 .lbl,.visit-map .xmap .lab.off .lbl{fill:var(--ink);stroke:var(--visit-0)}.visit-map .xmap .lab.r1 .lbl{fill:var(--visit-on-text);stroke:var(--visit-1)}.visit-map .xmap .lab.r2 .lbl{fill:var(--visit-on-text);stroke:var(--visit-2)}.visit-map .xmap .lab.r3 .lbl{fill:var(--visit-on-text);stroke:var(--visit-3)}.visit-map .home-selection>use{stroke:var(--ink);stroke-width:2.7}.visit-map .home-selection>.home-selection-halo{stroke:var(--card);stroke-width:6}.visit-map .xmap .lab.r1 .home-label-focus,.visit-map .xmap .lab.r2 .home-label-focus,.visit-map .xmap .lab.r3 .home-label-focus{stroke:var(--visit-on-text)}.visit-map .xmap .top.r1:focus-visible>use,.visit-map .xmap .top.r2:focus-visible>use,.visit-map .xmap .top.r3:focus-visible>use{stroke:var(--visit-on-text);stroke-width:2.4}
