/* Shared visual rules from safe.mega.ai.kr: original icon, Briefing Preview,
   #172020 ink, #536063 copy, #f3f6f6 surfaces, #dce2e2 borders, 4px buttons. */
@font-face{font-family:"Briefing Preview";src:url("fonts/BriefingPreview.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#172020;--paper:#fff;--muted:#536063;--line:#dce2e2;--lime:#eef3f5;--blue:#315f75}
body{font-family:"Briefing Preview",Pretendard,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;background:#fff;color:#172020;line-height:1.75;word-break:keep-all;overflow-wrap:break-word}
button,input{font-family:inherit}
.topbar{height:92px;padding:20px 32px;gap:22px;border-color:#dce2e2;background:#fff}
.wordmark{display:flex;align-items:center;gap:11px;background:transparent;border-radius:0;overflow:visible;letter-spacing:-.025em;line-height:1.5}
.company-icon{display:block;width:40px;height:40px;border-radius:8px;flex-shrink:0}
.company-name{display:grid;gap:2px}
.company-name strong{font-size:18px;line-height:1.25;font-weight:750;letter-spacing:-.045em;white-space:nowrap}
.company-name strong span{display:inline}
.brand-divider{color:#9cabad;margin:0 6px}
.company-name small{font-size:11px;line-height:1.5;color:#536063;letter-spacing:-.025em;margin:0;font-weight:500}
.topbar nav{gap:24px}
.navlink{font-size:14px;color:#536063;font-weight:550;line-height:1.5}
.navlink.active{color:#172020;font-weight:700}
.navlink.active:after{height:2px}
.header-right{gap:12px}
.homepage-link{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;background:#172020;color:#fff;border:1px solid #172020;border-radius:4px;font-size:13px;line-height:1.45;font-weight:600;white-space:nowrap}
.homepage-link:hover{background:#2e4147}
.prototype-tag{font-size:10px;letter-spacing:0;background:#f3f6f6;color:#536063;border-color:#dce2e2;border-radius:4px;padding:5px 8px;white-space:nowrap}
.journey-shell{grid-template-columns:350px minmax(0,1fr)}
.journey-intro{background:#fff;color:#172020;border-right:1px solid #dce2e2;padding:38px 30px 24px;gap:28px}
.eyebrow,.tiny-title{letter-spacing:0;font-weight:550}
.journey-intro .eyebrow{color:#536063;font-size:12px}
.journey-intro h1{font-size:43px;line-height:1.25;letter-spacing:-.045em;font-weight:720;margin:18px 0 24px}
.intro-copy{font-size:15px;line-height:1.75;color:#536063;letter-spacing:-.025em}
.intro-copy br{display:none}
.location-card{border:1px solid #dce2e2;background:#f3f6f6;border-radius:6px;padding:20px}
.card-kicker{font-size:12px;font-weight:550}
.card-kicker #mode-time{font-size:11px;color:#536063}
.location-head h2{font-size:25px;letter-spacing:-.035em;font-weight:650}
.location-card p{font-size:13px;color:#536063;line-height:1.75}
.location-meta{font-size:11px;color:#536063;border-color:#dce2e2}
.icon-button{border-radius:4px;border-color:#8c999b;background:#fff;color:#315f75}
.intro-context .tiny-title{color:#536063;font-size:12px}
.intro-context p{font-size:14px;line-height:1.75;color:#536063;margin:11px 0 14px}
.intro-context .text-link{color:#294b58;border-bottom:1px solid #8c999b;padding-bottom:2px}
.primary-button,.secondary-button{min-height:49px;border-radius:4px;padding:12px 23px;font-size:14px;line-height:1.45;font-weight:600;box-shadow:none}
.primary-button,.intro-bottom .primary-button{background:#172020;color:#fff;border:1px solid #172020}
.primary-button:hover,.intro-bottom .primary-button:hover{background:#2e4147}
.secondary-button,.intro-bottom .secondary-button{background:#fff;color:#172020;border:1px solid #8c999b}
.secondary-button:hover,.intro-bottom .secondary-button:hover{background:#f3f6f6}
.small-note{font-size:10px;color:#66777b;line-height:1.65;letter-spacing:-.025em}
.map-stage{background:#edf2f3}
.map-pill,.map-button,.map-legend,.field-card,.timeline-card{border-radius:5px;border-color:#dce2e2;box-shadow:none}
.map-pill,.map-button{font-size:12px;background:#fff}
.map-pill>span:last-child{font-size:11px;color:#536063;border-color:#dce2e2}
.map-legend{color:#536063;background:#fffffff2}
.legend-line{border-color:#315f75}
.field-card{background:#fff;padding:20px;width:270px}
.field-card-top>span{font-size:12px;color:#536063;font-weight:550}
.text-link.small{font-size:11px;color:#315f75}
.field-card h3{font-size:18px;font-weight:650;letter-spacing:-.03em}
.field-card p{font-size:13px;color:#536063;line-height:1.75}
.note-button{font-size:14px;font-weight:600;border-color:#dce2e2;line-height:1.5}
.note-button small{font-size:10px;color:#536063}
.note-camera{background:#eef3f5;border:1px solid #dce2e2;border-radius:4px;color:#294b58}
.timeline-card{background:#fff;backdrop-filter:none}
.timeline-heading b{font-size:13px;font-weight:650}
.timeline-heading small,.timeline-stops small{color:#536063;font-size:10px}
.timeline-stops b{font-size:13px;font-weight:650}
.city-label,.place-pin{border-radius:4px;border-color:#dce2e2;box-shadow:none;color:#172020}
.city-label small{color:#536063}.city-pin.destination .city-dot{background:#fff;border-color:#172020}
.walker-name{background:#172020;border-radius:4px;box-shadow:none}
.walker-name:before{border-bottom-color:#172020}.walker-shadow{background:#17202020}
.note-pin{border-color:#315f75;border-radius:4px;box-shadow:none}
.maplibregl-popup-content{font-family:"Briefing Preview",Pretendard,sans-serif;border:1px solid #dce2e2;border-radius:5px;box-shadow:0 6px 20px #17202014}
.journey-footer{color:#536063;font-size:12px;border-color:#dce2e2;padding:0 32px}
.journey-footer>span i{background:#315f75}.journey-footer .text-link{font-size:11px;color:#294b58}
.editorial,.brief-view,.connection-view{background:#fff;max-width:1280px;padding:50px 54px 65px}
.section-top,.context-grid,.story-bottom,.source-line,.receiver-explain,.validation-list,.local-tools{border-color:#dce2e2}
.section-top .eyebrow,.section-number,.section-tag{color:#536063;letter-spacing:0}
.section-tag{background:#eef3f5;border-radius:4px;font-size:12px}
.story-lead h1,.brief-head h1,.connection-title h1{font-size:43px;font-weight:720;line-height:1.3;letter-spacing:-.045em}
em{color:#172020}
.story-lead p,.story-bottom>p,.context-grid p,.brief-summary,.responsibility p,.setup-steps p,.launch-check p,.connection-title>p,.receiver-status>p,.validation-list p{color:#536063;font-size:15px;line-height:1.8}
.context-grid h2,.story-bottom h2,.responsibility h2,.receiver-explain h2{font-weight:650;letter-spacing:-.035em}
.context-grid article+article,.responsibility article{border-color:#dce2e2}
.context-grid article>span{color:#667b84}
.brief-highlight{background:#172529;color:#fff;border-radius:5px;box-shadow:none}
.brief-highlight>span{background:transparent;border:1px solid #667b84;color:#d1e0e3;border-radius:4px}
.brief-highlight small{color:#c3cdd0}
.setup-card,.receiver-status{background:#f3f6f6;border:1px solid #dce2e2;border-radius:6px;box-shadow:none}
.setup-card h2{font-weight:650}.os-tabs{border-radius:4px;background:#e8eeef}.os-tabs button{border-radius:3px;color:#536063}.os-tabs button.active{color:#172020;box-shadow:none}
.setup-steps li:before{background:#e5ecee;color:#536063;border-radius:4px}
.scope-card,.launch-check{background:#eef3f5;border-color:#dce2e2;border-radius:5px}
.scope-card h3{font-size:17px}.scope-card p{color:#536063}
.flow>span,.flow small,.flow b{color:#536063}.flow>span{color:#172020}
.data-card{background:#172529;border-radius:6px}.data-card .card-kicker,.data-card>p{color:#c3cdd0}.data-card pre{color:#e4edef}
.receiver-status .status-line{color:#536063}
.receiver-facts span{color:#536063}.receiver-facts b{color:#172020}
.modal{background:#fff;border:1px solid #dce2e2;border-radius:7px;color:#172020;box-shadow:0 18px 70px #17202026}
.modal::backdrop{background:#17202070;backdrop-filter:none}
.modal h2{font-size:30px;font-weight:700;letter-spacing:-.035em}
.modal-sub,.build-log p,.build-credit,.sns-hint{color:#536063;font-size:14px;line-height:1.8}
.build-log>div,.build-credit{border-color:#dce2e2}.build-log span{color:#667b84}.build-log b{font-weight:650}
.modal input:not([type=file]),.file-label,.sns-links a{border-color:#dce2e2;border-radius:4px}
.sns-links a{background:#f3f6f6}.sns-links a:hover{border-color:#315f75}.sns-links span{color:#536063}.sns-modal .small-note{color:#66777b}
.toast{border-radius:4px;background:#172020;color:#fff}
@media(min-width:1600px){.journey-shell{grid-template-columns:390px minmax(0,1fr)}.journey-intro h1{font-size:47px}.journey-intro{gap:32px}}
@media(max-width:1150px){.topbar{padding:16px 24px;gap:15px}.company-name strong{font-size:16px}.company-name small{font-size:10px}.topbar nav{gap:18px}.navlink{font-size:13px}.homepage-link{font-size:12px;padding:10px 12px}.header-right{gap:8px}.journey-shell{grid-template-columns:310px minmax(0,1fr)}.journey-intro{padding:30px 24px 22px;gap:24px}.journey-intro h1{font-size:38px}.intro-copy{font-size:14px}.field-card{width:235px;padding:16px}.field-card h3{font-size:16px}.field-card p{font-size:12px}.story-lead h1{font-size:38px}}
@media(min-width:761px) and (max-width:1000px){.topbar{height:132px;flex-wrap:wrap;gap:10px 20px}.topbar nav{order:3;flex-basis:100%;height:34px;justify-content:center;gap:32px}.journey-shell{height:calc(100svh - 183px)}}
@media(max-width:760px){.topbar{height:121px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:14px 18px 0;gap:7px 8px}.wordmark{gap:9px;min-width:0}.company-icon{height:36px;width:36px;border-radius:7px}.company-name strong{font-size:13px;white-space:normal;line-height:1.45}.company-name strong>span:last-child{display:block}.brand-divider{display:none!important}.company-name small{display:none}.header-right{gap:7px}.homepage-link{font-size:11px;min-height:36px;padding:8px 10px}.prototype-tag{font-size:9px;padding:4px 6px}.topbar nav{grid-column:1/-1;grid-row:2;height:37px;gap:24px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.navlink{font-size:13px}.journey-shell{display:flex;height:auto;min-height:0;max-height:none}.journey-intro{border-right:0;border-bottom:1px solid #dce2e2;padding:26px 22px;gap:20px}.journey-intro h1{font-size:32px;line-height:1.3;letter-spacing:-.045em;margin:12px 0 16px}.journey-intro .eyebrow{font-size:11px}.intro-copy{font-size:14px;line-height:1.75}.intro-bottom .primary-button,.intro-bottom .secondary-button{font-size:13px;min-height:46px;border-radius:4px}.intro-bottom .small-note{font-size:10px;color:#66777b}.field-card{width:auto;padding:15px 16px}.field-card h3{font-size:15px}.field-card p{display:none}.note-button{font-size:13px}.note-button small{font-size:10px}.timeline-card{padding:15px 16px}.timeline-heading b{font-size:12px}.timeline-heading small,.timeline-stops small{font-size:9px}.timeline-stops b{font-size:12px}.journey-footer{padding:18px 22px;font-size:11px;gap:14px}.journey-footer .text-link{font-size:11px}.editorial,.brief-view,.connection-view{padding:32px 22px 45px}.story-lead h1,.brief-head h1,.connection-title h1{font-size:32px;line-height:1.35}.story-lead p,.story-bottom>p,.context-grid p,.brief-summary,.responsibility p,.setup-steps p,.launch-check p,.connection-title>p,.receiver-status>p,.validation-list p{font-size:14px}.brief-highlight p{font-size:14px}.brief-highlight small{font-size:11px}.modal h2{font-size:27px}.modal-sub,.build-log p,.build-credit,.sns-hint{font-size:13px}.sns-links b{font-size:14px}.brief-actions{flex-wrap:wrap}.small-note{text-align:left}}
@media(min-width:761px){body.presentation .company-icon{width:36px;height:36px}body.presentation .company-name strong{font-size:16px}body.presentation .journey-intro h1{font-size:34px}body.presentation .intro-copy{font-size:13px}body.presentation .journey-intro{gap:18px}body.presentation .field-card{width:245px}body.presentation .story-lead h1{font-size:38px}body.presentation .location-card p{font-size:12px}}
@media print{.company-name,.company-icon{display:none}.brief-highlight{background:#f3f6f6;color:#172020}.brief-highlight small{color:#536063}}
