:root{--navy:#0b2740;--blue:#0f4c81;--sky:#2f7fbd;--ink:#132333;--muted:#657585;--line:#dfe6ec;--bg:#f5f7fa;--white:#fff;--radius:18px;--shadow:0 12px 34px rgba(22,43,64,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}button,input,select{font:inherit}.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{max-width:1180px;margin:auto;height:74px;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:var(--blue);color:white;font-weight:800}.brand b,.brand small{display:block}.brand small{font-size:11px;color:var(--muted);margin-top:2px}nav{display:flex;gap:4px}nav button,.menu-btn{border:0;background:transparent;cursor:pointer}nav button{padding:10px 12px;border-radius:10px;color:#506273;font-size:14px;font-weight:700}nav button:hover,nav button.active{background:#e9f2f9;color:var(--blue)}.menu-btn{display:none;font-size:24px}main{max-width:1180px;margin:auto;padding:0 22px 60px}.hero{min-height:410px;padding:72px 4px 50px;display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:center}.eyebrow,.section-head>span{font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--sky)}.hero h1{font-size:52px;line-height:1.06;margin:12px 0 18px;letter-spacing:-.04em}.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:630px}.hero-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hero-stats div{background:white;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.hero-stats div:last-child{grid-column:1/-1}.hero-stats b{display:block;font-size:25px;color:var(--blue)}.hero-stats span{font-size:12px;color:var(--muted)}.page{display:none;padding-top:25px;animation:fade .2s ease}.page.active{display:block}@keyframes fade{from{opacity:.6;transform:translateY(4px)}}.section-head{margin:0 0 22px}.section-head h2{font-size:34px;margin:7px 0 7px}.section-head p{color:var(--muted);margin:0;line-height:1.65}.search-card,.list-card,.viewer-card,.route-map-card,.notice,.route-search{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.search-card{padding:15px;margin-bottom:14px}.search-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}.search-row input,.route-search input{width:100%;border:1px solid #cfd9e2;border-radius:11px;padding:12px 13px;outline:none}.search-row input:focus,.route-search input:focus{border-color:#64a5d5;box-shadow:0 0 0 3px #dcedfa}.search-card button{border:0;border-radius:11px;padding:10px 14px;font-weight:800;cursor:pointer;background:#e7eef4;color:#29475f}.search-card button.primary{background:var(--blue);color:white}.filter-row{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:#526476}.filter-row select{margin-left:auto;border:1px solid #cfd9e2;border-radius:9px;padding:8px;background:white}.workspace{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.6fr);gap:14px;min-height:560px}.list-card,.viewer-card{overflow:hidden}.card-title{height:52px;padding:0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.count{font-size:12px;background:#e8f2fb;color:var(--blue);padding:5px 9px;border-radius:999px;font-weight:800}.cctv-list{height:508px;overflow:auto;padding:8px}.cctv-list.empty{display:grid;place-items:center;color:#7b8996;text-align:center}.cctv-item{width:100%;border:0;background:white;text-align:left;padding:12px;border-radius:12px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:4px}.cctv-item:hover,.cctv-item.active{background:#eaf3fa}.cctv-item b{font-size:14px}.cctv-item span{font-size:12px;color:#71808d}.cctv-item em{font-style:normal;font-size:11px;color:var(--blue);font-weight:800}.card-tabs{height:52px;padding:8px;display:flex;gap:5px;border-bottom:1px solid var(--line)}.card-tabs button{border:0;border-radius:9px;padding:7px 18px;background:#edf1f4;color:#52616e;font-weight:800;cursor:pointer}.card-tabs button.active{background:var(--blue);color:white}.video-pane,.map-pane{height:508px}.map-pane{display:none}.map{height:100%;width:100%}.video-pane{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:#f7f9fb}.video-pane video{width:100%;max-height:430px;background:#08131c;border-radius:12px;display:none}.video-empty{color:#71808d}.open-video{display:none;margin-top:10px;color:var(--blue);font-size:13px;font-weight:800;text-decoration:none}.route-layout{display:grid;grid-template-columns:340px 1fr;gap:14px}.route-list{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:8px;height:620px;overflow:auto;box-shadow:var(--shadow)}.route-list button{width:100%;border:0;background:white;text-align:left;padding:13px;border-radius:12px;cursor:pointer}.route-list button:hover,.route-list button.active{background:#eaf3fa}.route-list b,.route-list span,.route-list small{display:block}.route-list span,.route-list small{color:var(--muted);margin-top:3px}.route-list span{font-size:12px}.route-list small{font-size:11px;line-height:1.4}.route-map-card{overflow:hidden}.route-summary{min-height:54px;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:800}.big-map{height:565px}.route-search{padding:10px;margin-bottom:12px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.guide-grid article{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.guide-grid em{font-style:normal;color:#6ea7d1;font-weight:800}.guide-grid h3{margin:8px 0}.guide-grid p,.notice p{color:var(--muted);line-height:1.65}.notice{margin-top:14px;padding:22px}.notice a{color:var(--blue);font-weight:800;text-decoration:none}footer{border-top:1px solid var(--line);max-width:1180px;margin:50px auto 0;padding:28px 22px 50px;display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px}footer b{font-size:18px;color:var(--blue)}footer small{margin-left:auto}#toast{position:fixed;right:18px;bottom:18px;z-index:2000;max-width:380px;background:#172635;color:white;padding:13px 16px;border-radius:12px;box-shadow:0 10px 30px #0003;display:none;font-size:13px}
@media(max-width:800px){.header-inner{height:64px;padding:0 14px}.menu-btn{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:8px 14px;flex-direction:column}nav.open{display:flex}nav button{text-align:left}main{padding:0 12px 36px}.hero{min-height:auto;padding:44px 4px 32px;grid-template-columns:1fr;gap:20px}.hero h1{font-size:38px}.hero p{font-size:15px}.hero-stats{grid-template-columns:repeat(3,1fr)}.hero-stats div:last-child{grid-column:auto}.hero-stats div{padding:14px}.hero-stats b{font-size:17px}.section-head h2{font-size:28px}.search-row{grid-template-columns:1fr 1fr}.search-row input{grid-column:1/-1}.filter-row{flex-wrap:wrap;gap:9px}.filter-row select{margin-left:0}.workspace{grid-template-columns:1fr;min-height:0}.cctv-list{height:310px}.video-pane,.map-pane{height:390px}.route-layout{grid-template-columns:1fr}.route-list{height:285px}.big-map{height:430px}.guide-grid{grid-template-columns:1fr}footer{margin-top:25px;flex-wrap:wrap}footer small{width:100%;margin:0}.brand small{display:none}}
@media(max-width:420px){.hero-stats{grid-template-columns:1fr 1fr}.hero-stats div:last-child{grid-column:1/-1}.filter-row>span{width:100%}.search-card button{padding:10px 8px}.video-pane,.map-pane,.big-map{height:340px}}

/* 지도어때 - 한 페이지형 통합 지도 */
.emap-page{padding-bottom:10px}.emap-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.emap-title-row h2{margin-bottom:5px}.emap-saved-actions{display:flex;gap:8px}.emap-saved-actions button,.emap-toolbar button,.emap-tabs button,.emap-actions button,.emap-detail button,.emap-modal button{border:0;cursor:pointer;font:inherit}.emap-saved-actions button{padding:10px 13px;border-radius:11px;background:#eef2f6;color:#394b5b;font-weight:800}.emap-saved-actions button:first-child{background:#fff4d9;color:#9a6514}.emap-shell{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}.emap-toolbar{padding:14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcfd)}.emap-search-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px}.emap-search-row input{min-width:0;border:1px solid #cfd9e2;border-radius:11px;padding:12px 13px;outline:none}.emap-search-row input:focus{border-color:#64a5d5;box-shadow:0 0 0 3px #dcedfa}.emap-toolbar button{padding:11px 13px;border-radius:11px;background:#e8edf2;color:#324b60;font-weight:800}.emap-toolbar button.emap-primary{background:var(--blue);color:#fff}.emap-status{margin-top:9px;padding:9px 11px;border-radius:10px;background:#f3f6f8;color:#637382;font-size:12px;line-height:1.45}.emap-tabs{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);background:#fff}.emap-tabs button{padding:14px 8px;background:#fff;color:#677582;font-weight:800;border-right:1px solid #edf1f4}.emap-tabs button:last-child{border-right:0}.emap-tabs button:hover,.emap-tabs button.active{background:#edf5fb;color:var(--blue);box-shadow:inset 0 -3px 0 var(--blue)}.emap-actions{min-height:62px;display:flex;align-items:center;gap:8px;overflow:auto;padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfcfd;scrollbar-width:thin}.emap-actions button{flex:0 0 auto;padding:10px 13px;border:1px solid #dbe4eb;border-radius:12px;background:#fff;color:#394d5e;font-weight:800}.emap-actions button:hover,.emap-actions button.active{background:#eaf3fa;border-color:#b8d3e8;color:var(--blue)}.emap-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);min-height:620px}.emap-map-card{min-width:0;border-right:1px solid var(--line);display:flex;flex-direction:column}.emap-map-top{height:48px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:#71808c}.emap-map-top b{font-size:14px;color:#273b4b}.emap-map-top span{font-variant-numeric:tabular-nums}.emap-map-card #emapMap{height:572px;width:100%;background:#eef2f4}.emap-detail{padding:14px;overflow:auto;max-height:620px;background:#fcfdfe}.emap-detail-empty{min-height:260px;display:grid;place-content:center;text-align:center;color:#73818e}.emap-detail-empty b{font-size:20px;color:#2d4354}.emap-detail-empty p{line-height:1.7}.emap-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.emap-result-head b{font-size:17px}.emap-badge{font-size:11px;font-weight:800;color:var(--blue);background:#e8f2fb;border-radius:999px;padding:5px 8px}.emap-result-list{display:grid;gap:7px}.emap-result-item{width:100%;text-align:left;border:1px solid #e3e9ee!important;border-radius:12px;background:#fff!important;padding:11px!important;color:#2a3d4d!important}.emap-result-item:hover,.emap-result-item.active{background:#edf5fb!important;border-color:#bdd5e7!important}.emap-result-item b,.emap-result-item span,.emap-result-item small{display:block}.emap-result-item b{font-size:13px}.emap-result-item span{font-size:11px;color:#71808c;margin-top:3px}.emap-result-item small{font-size:11px;color:var(--blue);margin-top:3px}.emap-place-card{display:grid;gap:10px}.emap-place-card h3{font-size:20px;line-height:1.3;margin:0}.emap-place-meta{font-size:12px;color:#6b7986;line-height:1.65}.emap-kv{display:grid;grid-template-columns:76px 1fr;gap:7px;font-size:12px;padding:8px 0;border-top:1px solid #e8edf1}.emap-kv b{color:#62717e}.emap-detail-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.emap-detail-actions button,.emap-detail-actions a{display:grid;place-items:center;min-height:40px;border-radius:10px;text-decoration:none;background:#e9eff4;color:#354c5d;font-weight:800;font-size:12px}.emap-detail-actions .primary{background:var(--blue);color:#fff}.emap-video{width:100%;max-height:260px;background:#08131c;border-radius:12px;margin-top:4px}.emap-air-values{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.emap-air-box{padding:12px;border-radius:12px;background:#f1f5f8}.emap-air-box span,.emap-air-box b,.emap-air-box small{display:block}.emap-air-box span{font-size:11px;color:#75838f}.emap-air-box b{font-size:24px;color:#23445d}.emap-air-box small{font-size:11px;color:#657582}.emap-routes{display:grid;gap:7px;margin-top:10px}.emap-route{padding:10px;border-radius:10px;background:#f4f7f9}.emap-route strong{font-size:14px;color:#26455e}.emap-route span,.emap-route small{display:block;margin-top:3px;color:#6f7d88;font-size:11px}.emap-guide-panel{display:none;padding:22px;background:#f8fafc}.emap-guide-panel.active{display:block}.emap-guide-hero{padding:24px;border-radius:18px;background:linear-gradient(135deg,#0e4c80,#1c6ca8);color:#fff}.emap-guide-hero span{font-size:11px;letter-spacing:.15em;font-weight:800;opacity:.8}.emap-guide-hero h3{font-size:28px;margin:8px 0}.emap-guide-hero p{max-width:760px;line-height:1.7;margin:0;opacity:.9}.emap-guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.emap-guide-grid article{padding:20px;border:1px solid #e1e7ec;border-radius:16px;background:#fff}.emap-guide-grid article>b{color:#73a8ce}.emap-guide-grid h4{font-size:18px;margin:7px 0}.emap-guide-grid p{margin:0;color:#687783;line-height:1.65;font-size:13px}.emap-guide-links{display:flex;gap:8px;margin-top:12px}.emap-guide-links a{padding:11px 14px;border-radius:10px;background:#fff;border:1px solid #dfe6eb;color:var(--blue);font-weight:800;text-decoration:none;font-size:12px}.emap-modal{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:18px;background:rgba(10,24,36,.45);backdrop-filter:blur(4px)}.emap-modal.open{display:grid}.emap-modal-card{width:min(520px,100%);max-height:min(680px,86vh);background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.24);overflow:hidden}.emap-modal-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.emap-modal-head button{width:34px;height:34px;border-radius:9px;background:#eef2f5;font-size:22px}.emap-modal-list{max-height:620px;overflow:auto;padding:9px}.emap-modal-item{display:grid;grid-template-columns:1fr auto;gap:4px;width:100%;padding:11px;border:0;border-radius:11px;background:#fff;text-align:left}.emap-modal-item:hover{background:#edf5fb}.emap-modal-item b,.emap-modal-item span{display:block}.emap-modal-item span{font-size:11px;color:#74818d;margin-top:3px}.emap-modal-delete{align-self:center;color:#a24c55!important;background:#faecee!important}.emap-marker-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:#0f4c81;border:2px solid #fff;box-shadow:0 3px 10px #0003}.emap-marker-icon span{transform:rotate(45deg);font-size:14px}.emap-user-marker{width:18px;height:18px;border-radius:50%;background:#0f4c81;border:4px solid #fff;box-shadow:0 0 0 2px #0f4c81,0 3px 12px #0004}
@media(max-width:900px){.emap-workspace{grid-template-columns:1fr}.emap-map-card{border-right:0;border-bottom:1px solid var(--line)}.emap-map-card #emapMap{height:480px}.emap-detail{max-height:none;min-height:260px}.emap-tabs{grid-template-columns:repeat(6,minmax(88px,1fr));overflow:auto}.emap-tabs button{white-space:nowrap}.emap-title-row{align-items:flex-start}.emap-search-row{grid-template-columns:1fr 1fr 1fr}.emap-search-row input{grid-column:1/-1}.emap-guide-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.emap-title-row{display:block}.emap-saved-actions{margin-top:10px}.emap-saved-actions button{flex:1}.emap-search-row{grid-template-columns:1fr 1fr}.emap-search-row #emapShare{grid-column:1/-1}.emap-toolbar button{padding:10px 8px;font-size:12px}.emap-map-card #emapMap{height:390px}.emap-map-top{height:auto;min-height:48px;align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}.emap-detail{padding:10px}.emap-guide-panel{padding:12px}.emap-guide-hero{padding:18px}.emap-guide-hero h3{font-size:23px}.emap-guide-grid{grid-template-columns:1fr}.emap-guide-links{flex-direction:column}.emap-actions{padding:8px}.emap-actions button{padding:9px 11px;font-size:12px}}


/* 버스정류소어때 - 첫 번째 탭 */
.bus-page{padding-bottom:10px}.bus-search-card,.bus-favorite-wrap,.bus-list-card,.bus-route-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.bus-search-card{padding:14px;margin-bottom:12px}.bus-search-row{display:grid;grid-template-columns:1fr auto auto auto;gap:8px}.bus-search-row input{min-width:0;border:1px solid #cfd9e2;border-radius:11px;padding:12px 13px;outline:none}.bus-search-row input:focus{border-color:#64a5d5;box-shadow:0 0 0 3px #dcedfa}.bus-search-row button{border:0;border-radius:11px;padding:11px 13px;background:#e8edf2;color:#324b60;font-weight:800;cursor:pointer}.bus-search-row .bus-primary{background:#0f766e;color:#fff}.bus-status-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:center;margin-top:9px}.bus-status-row span{min-width:0;padding:9px 11px;border-radius:10px;background:#f3f6f8;color:#637382;font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-status-row #busStatus{background:#ecfdf5;color:#076b52}.bus-status-row select{border:1px solid #d7e0e7;border-radius:9px;padding:8px;background:#fff}
.bus-favorite-wrap{padding:14px;margin-bottom:12px}.bus-fav-head,.bus-fav-arrival-head,.bus-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bus-fav-head b,.bus-fav-arrival-head b,.bus-card-head b{font-size:16px}.bus-fav-head small,.bus-card-head small{display:block;margin-top:3px;font-size:11px;color:#73818d}.bus-fav-head button,.bus-fav-arrival-head button,.bus-card-head button{border:0;border-radius:9px;padding:9px 11px;background:#111827;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.bus-fav-arrival-head button{background:#0f766e}.bus-card-head button{background:#e9eff4;color:#354c5d}.bus-card-head button:disabled{opacity:.45;cursor:not-allowed}
.bus-favorite-chips{display:flex;gap:7px;overflow:auto;padding:10px 0 12px;min-height:44px}.bus-fav-chip{display:flex;flex:0 0 auto;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;overflow:hidden}.bus-fav-chip button{border:0;background:transparent;color:#1d4ed8;font-weight:800;cursor:pointer}.bus-fav-open{padding:7px 5px 7px 11px}.bus-fav-del{padding:7px 10px 7px 5px;font-size:16px}.bus-empty-inline{font-size:12px;color:#7b8791;padding:6px}
.bus-favorite-arrivals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.bus-fav-arrival{display:grid;grid-template-columns:1fr auto;gap:10px;text-align:left;border:1px solid #dfe6ec;border-radius:12px;background:#f8fafc;padding:11px;cursor:pointer}.bus-fav-arrival:hover{background:#edf5fb}.bus-fav-arrival strong,.bus-fav-arrival span{display:block}.bus-fav-arrival strong{font-size:13px;color:#152f43}.bus-fav-arrival span{font-size:12px;color:#0f766e;font-weight:700;margin-top:4px;line-height:1.5}.bus-fav-arrival small{font-size:10px;color:#70808d}
.bus-workspace{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.bus-list-card,.bus-route-card{padding:14px;min-width:0}.bus-card-head{padding-bottom:10px;border-bottom:1px solid #e8edf1}.bus-card-head>span{padding:5px 8px;border-radius:999px;background:#eaf3fa;color:var(--blue);font-size:11px;font-weight:800}.bus-stop-list,.bus-route-list{height:520px;overflow:auto;padding-top:8px;scrollbar-width:thin}.bus-stop-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:11px 8px;cursor:pointer}.bus-stop-item:hover,.bus-stop-item.active{background:#edf5fb}.bus-stop-main strong,.bus-stop-main span{display:block}.bus-stop-main strong{font-size:14px;color:#18344a}.bus-stop-main span{font-size:11px;color:#75838e;margin-top:4px}.bus-stop-distance{font-size:11px;color:#0f4c81;font-weight:800;white-space:nowrap}.bus-route-item{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:start;padding:11px 7px;border-bottom:1px solid #edf1f4}.bus-route-no{display:grid;place-items:center;min-height:40px;padding:5px;border-radius:10px;background:#eaf3fa;color:#0f4c81;font-size:14px;font-weight:900;text-align:center}.bus-route-info strong,.bus-route-info span,.bus-route-info small{display:block}.bus-route-info strong{font-size:14px;color:#0f766e}.bus-route-info span{font-size:12px;color:#4e6272;margin-top:3px}.bus-route-info small{font-size:11px;color:#7c8993;margin-top:4px}.bus-empty-box{display:grid;place-items:center;min-height:110px;padding:20px;text-align:center;color:#7a8792;font-size:12px;line-height:1.6}
@media(max-width:900px){.bus-workspace{grid-template-columns:1fr}.bus-stop-list,.bus-route-list{height:390px}.bus-favorite-arrivals{grid-template-columns:1fr}.bus-search-row{grid-template-columns:1fr 1fr 1fr}.bus-search-row input{grid-column:1/-1}.bus-status-row{grid-template-columns:1fr auto}.bus-status-row #busBase{grid-column:1/-1}}
@media(max-width:560px){.bus-search-row{grid-template-columns:1fr 1fr}.bus-search-row #busReload{grid-column:1/-1}.bus-status-row{grid-template-columns:1fr}.bus-status-row #busBase{grid-column:auto}.bus-status-row span{white-space:normal}.bus-fav-head,.bus-fav-arrival-head{align-items:flex-start}.bus-fav-head button,.bus-fav-arrival-head button{font-size:11px;padding:8px}.bus-stop-list,.bus-route-list{height:340px}.bus-route-item{grid-template-columns:68px 1fr}}


/* 버스정류소 지도 + 운행차량 */
.bus-map-wrap{margin-top:10px;border:1px solid #dfe7ed;border-radius:13px;overflow:hidden;background:#f8fafc}
.bus-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;background:#f4f7f9;border-bottom:1px solid #e1e8ed}
.bus-map-head b,.bus-map-head small{display:block}.bus-map-head b{font-size:13px;color:#17384f}.bus-map-head small{font-size:10px;color:#75838e;margin-top:2px}
.bus-map-head button{border:0;border-radius:8px;padding:7px 9px;background:#e1ecf5;color:#27516f;font-size:11px;font-weight:800;cursor:pointer}.bus-map-head button:disabled{opacity:.4;cursor:not-allowed}
.bus-stop-map{height:285px;background:#e9eef2}
.bus-route-caption{font-size:11px;color:#60717f;background:#f8fafc;border-radius:9px;padding:8px 10px;margin-top:9px}
.bus-route-card .bus-route-list{height:235px}
.bus-route-no.bus-route-map-btn{border:0;cursor:pointer;width:100%;font-family:inherit}
.bus-route-no.bus-route-map-btn:hover,.bus-route-no.bus-route-map-btn:focus{background:#cfe8f8;outline:2px solid #8bc1e6;outline-offset:1px}
.bus-vehicle-marker{width:34px;height:34px;border-radius:50%;background:#0f766e;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.28);display:grid;place-items:center;color:#fff;font-size:17px}
.bus-stop-marker{width:32px;height:32px;border-radius:50%;background:#0f4c81;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.28);display:grid;place-items:center;color:#fff;font-size:16px}
@media(max-width:900px){.bus-stop-map{height:300px}.bus-route-card .bus-route-list{height:300px}}
@media(max-width:560px){.bus-stop-map{height:280px}.bus-map-head{align-items:flex-start}.bus-route-card .bus-route-list{height:280px}}

/* EPLUS Apps Web - main brand/header */
.brand-mark.brand-apps{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#e84b2c 0 48%,#f5a000 48% 100%);
  color:#fff;
  border-radius:50%;
  width:34px;
  height:34px;
  font-size:19px;
  font-style:italic;
  box-shadow:none;
}
.brand-mark.brand-apps::after{
  content:"+";
  position:absolute;
  right:5px;
  bottom:1px;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}
.apps-hero{
  min-height:430px;
  padding-top:78px;
}
.apps-hero h1{
  max-width:760px;
  color:#102e49;
}
.apps-hero p{
  max-width:760px;
}
@media(max-width:800px){
  .apps-hero{min-height:auto;padding-top:46px}
}


/* 미세먼지어때 */
.eair-page{--air-blue:#2563eb;--air-green:#16a34a}
.eair-toolbar{padding:14px;margin-bottom:10px}.eair-search-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:8px}
.eair-search-row input{min-width:0;border:1px solid #cedae4;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}
.eair-search-row button{border:0;border-radius:10px;padding:10px 14px;font-weight:800;background:#123e63;color:#fff;cursor:pointer}
.eair-search-row button.secondary{background:#e8f0f6;color:#234b69}.eair-search-row button:disabled{opacity:.45;cursor:not-allowed}
.eair-location{font-size:12px;color:#64748b;margin-top:9px}.eair-tabs{display:flex;gap:7px;overflow:auto;padding:3px 0 12px}
.eair-tabs button{white-space:nowrap;border:1px solid #d6e0e8;background:#fff;color:#40576a;border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}
.eair-tabs button.active{background:#123e63;color:#fff;border-color:#123e63}.eair-pane{display:none}.eair-pane.active{display:block}
.eair-status-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:12px;margin-bottom:12px}
.eair-grade-card{padding:20px;transition:background .2s}.eair-grade-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.eair-grade-top span{font-size:12px;color:#607284}.eair-grade-top h3{font-size:28px;margin:5px 0 0;color:#102f49}.eair-grade-emoji{font-size:54px;line-height:1}
.eair-main-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.eair-main-values>div{background:#fff;border:1px solid rgba(100,116,139,.18);border-radius:14px;padding:13px}
.eair-main-values span{display:block;font-size:12px;color:#586c7d}.eair-main-values b{font-size:26px;color:#163a55;margin-right:4px}.eair-main-values small{font-size:11px;color:#718190}
.eair-meter{height:8px;background:#e5edf3;border-radius:999px;overflow:hidden;margin-top:8px}.eair-meter i{display:block;width:0;height:100%;border-radius:999px;background:#3b82f6;transition:width .25s}
.eair-measured{margin-top:10px;font-size:11px;color:#667786}.eair-guide-stack{display:grid;gap:12px}
.eair-guide-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:15px}.eair-guide-icon{font-size:32px}
.eair-guide-card b{font-size:16px;color:#18384e}.eair-guide-card p{font-size:12px;line-height:1.55;color:#53697a;margin:4px 0 0}
.eair-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.eair-detail-grid>.card,.eair-stations-card,.eair-hourly-card{padding:15px}
.eair-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.eair-card-title b{font-size:15px;color:#17364e}.eair-card-title span{font-size:11px;color:#6b7b88;text-align:right}
.eair-pollutants,.eair-weather-now{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.eair-pollutants>div,.eair-weather-now>div{background:#f7fafc;border:1px solid #e5ebf0;border-radius:11px;padding:10px}
.eair-pollutants span,.eair-weather-now span{display:block;font-size:11px;color:#667886}.eair-pollutants b,.eair-weather-now b{font-size:15px;color:#17384f;margin-right:3px}.eair-pollutants small{font-size:10px;color:#82909b}
.eair-station-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.eair-station-item{border:1px solid #dfe7ed;background:#fff;border-radius:12px;padding:11px;text-align:left;cursor:pointer}
.eair-station-item.active{border-color:#2e75a9;background:#eef7fd}.eair-station-item strong,.eair-station-item span,.eair-station-item small{display:block}.eair-station-item strong{font-size:13px;color:#17364d}
.eair-station-item span{font-size:11px;color:#687a88;margin-top:3px}.eair-station-item small{font-size:11px;color:#607487;margin-top:7px}.eair-station-item em{font-style:normal;font-weight:900;margin-left:5px}
.eair-empty{padding:18px;text-align:center;color:#71808c;font-size:12px}.eair-today-summary{min-height:110px}
.eair-today-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#f6faff;border:1px solid #e1ebf5;border-radius:14px;padding:15px}
.eair-weather-emoji{font-size:42px}.eair-today-card h3{font-size:18px;margin:0;color:#173951}.eair-today-card p{font-size:12px;color:#637584;margin:5px 0 0;line-height:1.6}.eair-temp-badge{font-size:16px;font-weight:900;color:#dc2626;background:#fff1f2;border-radius:10px;padding:8px}
.eair-hourly-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.eair-hour-item{display:grid;grid-template-columns:58px auto 1fr;gap:9px;align-items:center;background:#f8fbff;border:1px solid #e6eef8;border-radius:12px;padding:10px}
.eair-hour-item time{font-size:13px;font-weight:900;color:#18384f}.eair-hour-item .emoji{font-size:25px}.eair-hour-item strong{font-size:13px;color:#1e3a8a}.eair-hour-item span{display:block;font-size:11px;color:#64748b;margin-top:3px}
.eair-forecast-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.eair-forecast-item{display:grid;grid-template-columns:88px auto 1fr;gap:10px;align-items:center;border:1px solid #e3e9ee;border-radius:13px;padding:11px;background:#fff}
.eair-forecast-item .date b,.eair-forecast-item .date small{display:block}.eair-forecast-item .date b{font-size:13px}.eair-forecast-item .date small{font-size:10px;color:#7a8893;margin-top:2px}
.eair-forecast-item .emoji{font-size:30px}.eair-forecast-item strong{display:block;font-size:13px;color:#17384f}.eair-forecast-item span{display:block;font-size:11px;color:#667987;margin-top:3px;line-height:1.45}
.eair-status{margin-top:10px;padding:9px 11px;background:#f3f6f8;border-radius:10px;color:#627482;font-size:11px}
@media(max-width:900px){.eair-status-grid,.eair-detail-grid{grid-template-columns:1fr}.eair-station-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.eair-search-row{grid-template-columns:1fr 1fr}.eair-search-row input{grid-column:1/-1}.eair-main-values{grid-template-columns:1fr 1fr}.eair-hourly-list,.eair-forecast-list,.eair-station-list{grid-template-columns:1fr}.eair-today-card{grid-template-columns:auto 1fr}.eair-temp-badge{grid-column:1/-1;text-align:center}}


/* 근처여행어때 */
.travel-toolbar{padding:14px;margin-bottom:10px}.travel-search-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:8px}
.travel-search-row input,.travel-festival-search select{min-width:0;border:1px solid #d1dce5;border-radius:10px;padding:10px 11px;background:#fff;font:inherit;color:#263f52}
.travel-search-row button,.travel-festival-search button{border:0;border-radius:10px;padding:10px 13px;background:#123e63;color:#fff;font-weight:800;cursor:pointer}.travel-search-row button.secondary{background:#e8f0f6;color:#214b69}
.travel-festival-search{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:8px}.travel-festival-search[hidden]{display:none}.travel-location{font-size:12px;color:#64748b;margin-top:9px}
.travel-tabs{display:flex;gap:7px;overflow:auto;padding:3px 0 12px}.travel-tabs button{white-space:nowrap;border:1px solid #d6e0e8;background:#fff;color:#40576a;border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}.travel-tabs button.active{background:#123e63;color:#fff;border-color:#123e63}
.travel-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);gap:12px}.travel-map-card,.travel-results-card{padding:13px}.travel-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.travel-card-head b,.travel-card-head small{display:block}.travel-card-head b{font-size:15px;color:#17384f}.travel-card-head small{font-size:11px;color:#687b8b;margin-top:2px}.travel-small-btn{border:0;border-radius:8px;padding:7px 9px;background:#e7eff5;color:#27516f;font-weight:800;cursor:pointer}.travel-small-btn:disabled{opacity:.45}
.travel-map{height:570px;border-radius:12px;background:#e9eef2}.travel-results{height:570px;overflow:auto;display:grid;gap:9px;align-content:start}.travel-empty{padding:30px 12px;text-align:center;color:#71808d;font-size:12px}
.travel-item{display:grid;grid-template-columns:112px 1fr;gap:11px;border:1px solid #e0e7ed;border-radius:13px;padding:9px;background:#fff}.travel-thumb{width:112px;height:96px;border-radius:10px;object-fit:cover;background:#edf1f4}.travel-thumb-empty{display:grid;place-items:center;font-size:30px;color:#8aa0b0}
.travel-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.travel-item-head strong{font-size:14px;color:#17374e;line-height:1.35}.travel-badge{white-space:nowrap;font-size:10px;background:#edf5fb;color:#2a648d;border-radius:999px;padding:3px 7px}.travel-item p{font-size:11px;color:#667987;line-height:1.5;margin:5px 0}.travel-meta{font-size:11px;color:#48657a;margin-top:5px}.travel-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.travel-actions button,.travel-actions a{border:0;border-radius:8px;padding:6px 8px;background:#e7eff5;color:#244e6b;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}.travel-actions .primary{background:#123e63;color:#fff}
.travel-status{margin-top:10px;padding:9px 11px;background:#f3f6f8;border-radius:10px;color:#627482;font-size:11px}.travel-popup{min-width:190px}.travel-popup b{font-size:13px}.travel-popup span{display:block;font-size:11px;margin-top:4px;color:#506779}
.travel-pet-detail{font-size:11px;line-height:1.55;background:#f7fbf8;border:1px solid #dcebe0;border-radius:9px;padding:8px;margin-top:7px;color:#355646}.travel-pet-detail b{display:block;margin-bottom:4px}.travel-pet-detail span{display:block}
@media(max-width:980px){.travel-layout{grid-template-columns:1fr}.travel-map{height:360px}.travel-results{height:auto;max-height:620px}}
@media(max-width:680px){.travel-search-row{grid-template-columns:1fr 1fr}.travel-search-row input{grid-column:1/-1}.travel-festival-search{grid-template-columns:1fr 1fr}.travel-festival-search button{grid-column:1/-1}.travel-item{grid-template-columns:88px 1fr}.travel-thumb{width:88px;height:82px}.travel-map{height:320px}}


/* 상단 EPLUS 심볼 - 여백 제거 + 크기 확대 */
.header-inner{height:82px}
.brand{gap:12px}
.brand-logo-img{
  width:58px;
  height:58px;
  object-fit:contain;
  display:block;
  flex:0 0 58px;
}
.brand b{font-size:17px;line-height:1.2}
.brand small{font-size:11px}
@media(max-width:800px){
  .header-inner{height:72px}
  .brand{gap:9px}
  .brand-logo-img{width:48px;height:48px;flex-basis:48px}
  .brand b{font-size:14px}
  .brand small{font-size:10px}
}
@media(max-width:430px){
  .brand-logo-img{width:44px;height:44px;flex-basis:44px}
}


/* 앱별 하위 메뉴 */
.app-subnav{
  display:flex;
  gap:7px;
  margin:0 0 18px;
  padding:7px;
  width:max-content;
  max-width:100%;
  overflow:auto;
  border:1px solid #dce5ec;
  border-radius:14px;
  background:#f4f7f9;
}
.app-subnav button{
  border:0;
  background:transparent;
  color:#53697b;
  border-radius:10px;
  padding:9px 15px;
  white-space:nowrap;
  font-weight:800;
  cursor:pointer;
}
.app-subnav button.active{background:#123e63;color:#fff}

/* MBTI */
.mbti-page{--mbti-navy:#173b59;--mbti-blue:#2563eb;--mbti-soft:#f3f7fb}
.mbti-lang{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.mbti-lang button{border:1px solid #d8e2ea;background:#fff;color:#4a6072;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer}
.mbti-lang button.active{background:#123e63;color:#fff;border-color:#123e63}
.mbti-start{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:12px}
.mbti-intro-card,.mbti-count-card,.mbti-question-card,.mbti-result-hero,.mbti-analysis-card,.mbti-result-grid>.card{padding:20px}
.mbti-intro-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;background:linear-gradient(135deg,#f5f9fd,#edf4fb)}
.mbti-brain{font-size:64px}.mbti-badge{font-size:11px;font-weight:900;letter-spacing:.08em;color:#2d6c9d}
.mbti-intro-card h3{font-size:25px;color:#153650;margin:7px 0}.mbti-intro-card p{font-size:13px;color:#5a6e7e;line-height:1.7;margin:0}
.mbti-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:13px}.mbti-card-head b{font-size:16px;color:#17384f}.mbti-card-head small{display:block;color:#71808c;font-size:11px;margin-top:3px}
.mbti-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mbti-count-grid button{position:relative;border:1px solid #dce5ec;border-radius:14px;background:#fff;padding:16px 8px;cursor:pointer;color:#27485f}
.mbti-count-grid button:hover{border-color:#6fa1c5;background:#f4f9fd}.mbti-count-grid button.recommended{border-color:#6aa57e;background:#f3faf5}
.mbti-count-grid b{display:block;font-size:26px}.mbti-count-grid span{display:block;font-size:12px;font-weight:800;margin-top:3px}.mbti-count-grid em{position:absolute;right:7px;top:7px;background:#23824a;color:#fff;border-radius:999px;font-size:9px;padding:3px 6px;font-style:normal}
.mbti-note{font-size:11px;color:#6b7c89;line-height:1.6;margin:12px 0 0}
.mbti-question-card{max-width:850px;margin:0 auto}.mbti-progress-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.mbti-progress-head>div b,.mbti-progress-head>div span{display:block}.mbti-progress-head>div b{color:#17384f}.mbti-progress-head>div span{font-size:11px;color:#6b7a86;margin-top:3px}.mbti-progress-head button{border:0;background:#eef3f7;color:#52697b;border-radius:9px;padding:8px 11px;font-weight:800;cursor:pointer}
.mbti-progress{height:8px;background:#e4ebf1;border-radius:999px;overflow:hidden;margin:13px 0 18px}.mbti-progress i{display:block;height:100%;width:0;background:#286da1;border-radius:999px;transition:width .2s}
.mbti-axis-badge{display:inline-block;background:#e8f2fa;color:#245f8b;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900}
.mbti-question-card h3{font-size:23px;line-height:1.45;color:#143550;margin:15px 0 17px}
.mbti-options{display:grid;gap:9px}.mbti-option{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;text-align:left;border:1px solid #dbe4eb;background:#fff;border-radius:13px;padding:12px;cursor:pointer;font:inherit}
.mbti-option:hover,.mbti-option.selected{border-color:#5792bd;background:#f0f7fc}.mbti-option span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e7f0f7;color:#245b82;font-weight:900}.mbti-option b{font-size:14px;color:#2b4659;line-height:1.45}
.mbti-question-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.mbti-question-actions button{border:0;background:#e7eef4;color:#31536b;border-radius:9px;padding:8px 14px;font-weight:800;cursor:pointer}.mbti-question-actions button:disabled{opacity:.35}.mbti-question-actions small{color:#768590;font-size:11px}
.mbti-result{display:grid;gap:12px}.mbti-result-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#eef6fd,#f8fbfd)}
.mbti-result-emoji{font-size:65px}.mbti-result-hero span{font-size:11px;color:#6a7e8d}.mbti-result-hero h3{font-size:40px;color:#123a59;margin:2px 0 0}.mbti-result-hero h4{font-size:19px;color:#285d82;margin:2px 0 5px}.mbti-result-hero p{font-size:13px;line-height:1.65;color:#526b7c;margin:0}
.mbti-result-hero button{border:0;border-radius:10px;padding:10px 14px;background:#173f5f;color:#fff;font-weight:900;cursor:pointer}
.mbti-analysis-card{padding-bottom:15px}.mbti-dimension-list{display:grid;gap:13px}.mbti-dimension{padding:11px;border:1px solid #e2e8ee;border-radius:12px;background:#fafcfd}
.mbti-dim-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:11px;color:#4b6476}.mbti-dim-head b:last-child{text-align:right}.mbti-dim-head strong{font-size:11px;color:#173e5b;background:#e8f1f8;padding:4px 8px;border-radius:999px}
.mbti-dim-bar{display:flex;height:9px;border-radius:999px;overflow:hidden;background:#e6edf2;margin:8px 0 5px}.mbti-dim-bar i{background:#286da1}.mbti-dim-bar em{background:#e0a343}.mbti-dimension small{font-size:10px;color:#72818c}
.mbti-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mbti-feature-list{display:grid;gap:9px}.mbti-feature-item{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:start;background:#f7fafc;border:1px solid #e5ebef;border-radius:11px;padding:10px}.mbti-feature-item b{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#163f60;color:#fff;font-size:18px}.mbti-feature-item p{margin:0;font-size:12px;line-height:1.6;color:#536a7a}
.mbti-advice{font-size:13px;line-height:1.75;color:#405c70;background:#fff8e8;border:1px solid #f0dfae;border-radius:12px;padding:13px}
.mbti-score-summary{margin-top:12px;padding:10px;background:#f4f7f9;border-radius:9px;color:#53697a;font-size:11px;font-family:Consolas,monospace;line-height:1.5}
.mbti-disclaimer{text-align:center;color:#7a8791;font-size:10px;margin:0 0 4px}
@media(max-width:850px){.mbti-start,.mbti-result-grid{grid-template-columns:1fr}.mbti-result-hero{grid-template-columns:auto 1fr}.mbti-result-hero button{grid-column:1/-1}.mbti-lang{justify-content:flex-start}}
@media(max-width:580px){.mbti-intro-card{grid-template-columns:1fr}.mbti-brain{font-size:48px}.mbti-count-grid{grid-template-columns:1fr}.mbti-question-card h3{font-size:19px}.mbti-result-hero{grid-template-columns:1fr;text-align:center}.mbti-result-emoji{font-size:54px}.mbti-result-hero h3{font-size:34px}.mbti-dim-head{grid-template-columns:1fr auto 1fr}.mbti-question-actions{align-items:flex-start;flex-direction:column}.app-subnav{width:100%}}

/* 토정비결어때 */
.esaju-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 14px}.esaju-tabs button{white-space:nowrap;border:1px solid #d8e2e9;background:#fff;color:#4d6577;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.esaju-tabs button.active{background:#6f4d28;color:#fff;border-color:#6f4d28}
.esaju-pane{display:none}.esaju-pane.active{display:block}.esaju-active-profile{background:#fff6e9;color:#73512e;border:1px solid #ead8bc;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}
.esaju-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:center;padding:14px;margin-bottom:12px}.esaju-toolbar b,.esaju-toolbar small{display:block}.esaju-toolbar small{font-size:11px;color:#71808b;margin-top:3px}.esaju-toolbar select,.esaju-toolbar input,.esaju-form input,.esaju-form select,.esaju-zuyeok-card textarea{border:1px solid #d7e0e7;border-radius:10px;padding:10px;font:inherit;background:#fff}.esaju-toolbar button,.esaju-form button,.esaju-zuyeok-card button{border:0;border-radius:10px;padding:10px 14px;background:#6f4d28;color:#fff;font-weight:800;cursor:pointer}
.esaju-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.esaju-result-card{background:#fff;border:1px solid #e1e7eb;border-radius:14px;padding:15px}.esaju-result-card.wide{grid-column:1/-1}.esaju-result-card h3{font-size:16px;color:#50371f;margin:0 0 8px}.esaju-result-card p,.esaju-result-card li{font-size:12px;line-height:1.65;color:#536979}.esaju-result-card pre{white-space:pre-wrap;font-family:inherit;font-size:12px;line-height:1.7;color:#435b6c;margin:0}
.esaju-score{font-size:38px;font-weight:900;color:#9a5c1d}.esaju-empty{grid-column:1/-1;padding:30px;text-align:center;color:#788691;background:#fff;border:1px dashed #d6dfe5;border-radius:14px}
.esaju-bio-bars{display:grid;gap:11px}.esaju-bio-row{display:grid;grid-template-columns:100px 1fr 80px;gap:8px;align-items:center}.esaju-bio-track{height:12px;border-radius:999px;background:#e8edf1;overflow:hidden}.esaju-bio-track i{display:block;height:100%;background:#477f9f;border-radius:999px}#esajuBioCanvas{width:100%;height:280px}
.esaju-zuyeok-card{padding:16px}.esaju-card-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.esaju-card-title b{color:#50371f}.esaju-card-title span{font-size:11px;color:#73818c}.esaju-zuyeok-card textarea{width:100%;box-sizing:border-box;resize:vertical;margin-bottom:8px}
.esaju-lines{display:flex;flex-direction:column-reverse;gap:7px;margin:12px 0}.esaju-line{display:flex;gap:8px;align-items:center}.esaju-yang{height:9px;width:110px;background:#6f4d28}.esaju-yin{width:110px;display:flex;gap:12px}.esaju-yin i{height:9px;flex:1;background:#6f4d28}.esaju-changing{color:#b45309;font-weight:800;font-size:11px}
.esaju-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.esaju-pillar{text-align:center;background:#faf6ef;border:1px solid #eadfce;border-radius:12px;padding:11px}.esaju-pillar b{display:block;font-size:22px;color:#6f4d28}.esaju-pillar span{font-size:11px;color:#6f7a82}
.esaju-elements{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.esaju-element{text-align:center;border-radius:10px;padding:10px;background:#f5f7f8}.esaju-element b{display:block;font-size:19px}
.esaju-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:10px 0}.esaju-cal-head{text-align:center;font-size:11px;font-weight:800;color:#657683;padding:5px}.esaju-day{min-height:72px;border:1px solid #e0e7ec;border-radius:9px;background:#fff;padding:7px;text-align:left;cursor:pointer}.esaju-day.other{opacity:.3}.esaju-day.today{border-color:#a56f35;background:#fff8ef}.esaju-day b{display:block}.esaju-day span{font-size:10px;color:#6f7d87}.esaju-calendar-detail{padding:15px}
.esaju-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.esaju-settings-grid>.card{padding:16px}.esaju-profile-list{display:grid;gap:8px;margin-bottom:10px}.esaju-profile{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;border:1px solid #e1e7eb;border-radius:11px;padding:10px}.esaju-profile.active{border-color:#a47440;background:#fff9f1}.esaju-profile b,.esaju-profile span{display:block}.esaju-profile span{font-size:11px;color:#73818b;margin-top:2px}.esaju-profile button,.esaju-secondary{border:0;border-radius:8px;padding:7px 9px;background:#e9eef2;color:#445e70;font-weight:800;cursor:pointer}.esaju-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.esaju-form label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#526879}.esaju-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.esaju-storage-note{font-size:10px;color:#7b8790;line-height:1.55}.esaju-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.esaju-month{background:#faf7f2;border:1px solid #eadfd1;border-radius:10px;padding:10px;font-size:11px;line-height:1.5}
@media(max-width:850px){.esaju-toolbar{grid-template-columns:1fr 1fr}.esaju-toolbar>div:first-child{grid-column:1/-1}.esaju-result-grid,.esaju-settings-grid{grid-template-columns:1fr}.esaju-months{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.esaju-toolbar{grid-template-columns:1fr}.esaju-form{grid-template-columns:1fr}.esaju-form-actions{grid-column:1}.esaju-pillars{grid-template-columns:repeat(2,1fr)}.esaju-elements{grid-template-columns:repeat(5,1fr)}.esaju-months{grid-template-columns:1fr}.esaju-day{min-height:60px;padding:5px}.esaju-bio-row{grid-template-columns:76px 1fr 62px}}

/* 토정비결어때 - 쉬운 설명 강화 */
.esaju-explain{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:13px;
  align-items:start;
  padding:15px 17px;
  margin-bottom:12px;
  background:linear-gradient(135deg,#fffaf2,#f8fbfd);
  border-color:#eadcc6;
}
.esaju-explain-icon{font-size:34px;line-height:1}
.esaju-explain b{font-size:15px;color:#56391c}
.esaju-explain p{font-size:12px;line-height:1.75;color:#4f6575;margin:5px 0}
.esaju-explain small{display:block;font-size:10px;line-height:1.55;color:#7c8992;border-top:1px dashed #ddd4c8;padding-top:7px;margin-top:7px}
.esaju-easy,.esaju-read{
  margin-top:10px;
  border-radius:10px;
  padding:10px 11px;
  background:#f6f9fb;
  border-left:4px solid #bc874e;
}
.esaju-easy b,.esaju-read b{display:block;font-size:11px;color:#68451f;margin-bottom:4px}
.esaju-easy p,.esaju-read span{font-size:11px!important;line-height:1.65!important;color:#536a79!important;margin:0!important}
.esaju-steps{margin:8px 0;padding-left:20px}.esaju-steps li{margin:5px 0}
.esaju-lead{background:#fff9ef;border-radius:9px;padding:9px 10px}
.esaju-mission{background:#fff4dd;border:1px solid #f0d29c;border-radius:10px;padding:10px;font-size:12px;color:#61451f}
.esaju-fun{font-size:10px!important;color:#7d8991!important;margin-top:9px!important}
.esaju-bio-help{margin-top:10px;background:#f7fafc;border-radius:9px;padding:8px 10px}
.esaju-bio-help p{margin:4px 0;font-size:10px!important}
.esaju-pillar em{display:block;font-style:normal;font-size:9px;color:#7b868d;line-height:1.4;margin-top:5px}
.esaju-day em{display:block;font-style:normal;font-size:9px;color:#9a6b36;margin-top:4px}
.esaju-line>span:not(.esaju-yin):not(.esaju-changing){font-size:10px;color:#6f7d87;min-width:80px}
@media(max-width:560px){
  .esaju-explain{grid-template-columns:1fr}
  .esaju-explain-icon{font-size:29px}
}

/* 토정비결 상세 보완 */
.esaju-year-keywords{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.esaju-year-keywords span{background:#fff0d7;color:#744a1d;border:1px solid #efd3a8;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:900}.esaju-big-months{font-size:20px!important;font-weight:900;color:#7b5128!important}
.esaju-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.esaju-season{background:#faf7f1;border:1px solid #e9ddcd;border-radius:11px;padding:11px}.esaju-season b,.esaju-season em,.esaju-season small{display:block}.esaju-season b{font-size:13px;color:#5b3d21}.esaju-season em{font-style:normal;font-size:11px;color:#986329;margin:5px 0}.esaju-season p{font-size:11px!important;margin:5px 0!important}.esaju-season small{font-size:10px;color:#6f7d87}
.esaju-month-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.esaju-month-head em{font-style:normal;font-size:9px;background:#fff0dc;color:#88551f;border-radius:999px;padding:3px 6px}.esaju-month p{margin:4px 0 7px!important}

/* 사주 10년 대운 */
.esaju-daewoon-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.esaju-daewoon-summary>div{background:#f8f4ed;border:1px solid #e8dccb;border-radius:11px;padding:11px}.esaju-daewoon-summary span,.esaju-daewoon-summary b,.esaju-daewoon-summary small{display:block}.esaju-daewoon-summary span{font-size:10px;color:#75818a}.esaju-daewoon-summary b{font-size:17px;color:#64431f;margin:2px 0}.esaju-daewoon-summary small{font-size:9px;line-height:1.45;color:#78858e}
.esaju-daewoon-list{margin-top:12px;border:1px solid #e1e6e9;border-radius:12px;overflow:hidden}.esaju-daewoon-item{display:grid;grid-template-columns:120px 92px 1fr;gap:10px;align-items:center;padding:11px;border-bottom:1px solid #e5eaed;background:#fff}.esaju-daewoon-item:last-child{border-bottom:0}.esaju-daewoon-item.current{background:#fff4dd;box-shadow:inset 4px 0 #b87624}.esaju-daewoon-age b,.esaju-daewoon-age small,.esaju-daewoon-gj b,.esaju-daewoon-gj span{display:block}.esaju-daewoon-age b{font-size:13px;color:#4f6270}.esaju-daewoon-age small{font-size:9px;color:#859099}.esaju-daewoon-age em{display:inline-block;margin-top:4px;background:#9d641f;color:#fff;font-style:normal;font-size:9px;border-radius:999px;padding:3px 6px}.esaju-daewoon-gj b{font-size:20px;color:#6a451d}.esaju-daewoon-gj span{font-size:10px;color:#77858f}.esaju-daewoon-item p{margin:0!important;font-size:11px!important;line-height:1.55!important}.esaju-daewoon-note{margin-top:10px;background:#f6f8f9;border-radius:10px;padding:10px}.esaju-daewoon-note b{font-size:11px;color:#536778}.esaju-daewoon-note p{font-size:10px!important;color:#74818b!important;margin:4px 0 0!important}

/* 결과 PDF / TXT / 공유 */
.esaju-export-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin:10px 0 16px;padding:8px 10px;background:#f5f7f8;border:1px solid #e1e6e9;border-radius:11px}.esaju-export-actions>span{margin-right:auto;font-size:10px;color:#74828c;font-weight:800}.esaju-export-actions button{border:1px solid #d3dde4;background:#fff;color:#425e71;border-radius:9px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.esaju-export-actions button:hover{background:#edf4f8;border-color:#aac4d6}
@media(max-width:780px){.esaju-season-grid{grid-template-columns:1fr 1fr}.esaju-daewoon-summary{grid-template-columns:1fr}.esaju-daewoon-item{grid-template-columns:92px 72px 1fr}}
@media(max-width:520px){.esaju-season-grid{grid-template-columns:1fr}.esaju-daewoon-item{grid-template-columns:1fr}.esaju-daewoon-gj{display:flex;align-items:center;gap:8px}.esaju-export-actions{justify-content:stretch}.esaju-export-actions>span{width:100%;margin:0}.esaju-export-actions button{flex:1}}

/* 가족궁합 상세 해설 */
.esaju-compat-overall{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center}
.esaju-compat-overall>div{display:flex;align-items:baseline;gap:3px;background:#fff4df;border:1px solid #edd6ab;border-radius:14px;padding:12px 16px}
.esaju-compat-overall span{display:block;font-size:10px;color:#786a59;margin-right:7px}
.esaju-compat-overall b{font-size:34px;color:#8a571b}
.esaju-compat-overall em{font-style:normal;font-size:11px;color:#8a7763}
.esaju-compat-overall p{margin:0!important}
.esaju-compat-people{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.esaju-compat-people>div{background:#faf8f4;border:1px solid #e6ddd1;border-radius:12px;padding:12px}
.esaju-compat-people span,.esaju-compat-people b,.esaju-compat-people small{display:block}
.esaju-compat-people span{font-size:10px;color:#7b8790}
.esaju-compat-people b{font-size:20px;color:#68451f;margin:3px 0}
.esaju-compat-people p{font-size:11px!important;line-height:1.6!important}
.esaju-compat-people small{font-size:10px;color:#667987}
.esaju-compat-elements{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:10px 0}
.esaju-compat-elements>div{text-align:center;background:#f7f9fa;border:1px solid #e2e7ea;border-radius:10px;padding:9px 5px}
.esaju-compat-elements span,.esaju-compat-elements b,.esaju-compat-elements em{display:block}
.esaju-compat-elements span{font-size:17px;font-weight:900;color:#6b4b2b}
.esaju-compat-elements b,.esaju-compat-elements em{font-size:9px;margin-top:3px}
.esaju-compat-elements em{font-style:normal;color:#7c8790}
.esaju-compat-list{padding-left:20px;margin:5px 0}
.esaju-compat-list li{margin:7px 0!important}
.esaju-compat-dims{display:grid;gap:10px}
.esaju-compat-dim{background:#fafcfd;border:1px solid #e1e7eb;border-radius:11px;padding:10px}
.esaju-compat-dim-head{display:flex;justify-content:space-between;align-items:center}
.esaju-compat-dim-head b{font-size:12px;color:#526979}
.esaju-compat-dim-head strong{font-size:13px;color:#7d531f}
.esaju-compat-track{height:9px;background:#e6ebef;border-radius:999px;overflow:hidden;margin:7px 0}
.esaju-compat-track i{display:block;height:100%;background:#a87335;border-radius:999px}
.esaju-compat-dim p{display:flex;justify-content:space-between;gap:8px;margin:0 0 4px!important;font-size:10px!important}
.esaju-compat-dim p span{font-weight:800;color:#5a6d7a}
.esaju-compat-dim small{font-size:9px;color:#7b8790}
@media(max-width:650px){
  .esaju-compat-overall{grid-template-columns:1fr}
  .esaju-compat-people{grid-template-columns:1fr}
  .esaju-compat-elements{grid-template-columns:repeat(5,1fr)}
}

/* 문서스캔·OCR */
.scanner-page{--scan:#08786d;--scan-dark:#13544f;--scan-soft:#edf8f6}
.scanner-private-badge{background:#e8f7f4;border:1px solid #b9e2db;color:#16665e;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}
.scanner-intro{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;padding:16px;margin-bottom:12px;background:linear-gradient(135deg,#f2fbf9,#f8fbfc)}
.scanner-intro-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#0c746b;color:#fff;font-size:26px}
.scanner-intro b{font-size:15px;color:#174944}.scanner-intro p{font-size:12px;line-height:1.65;color:#526b78;margin:5px 0}.scanner-intro small{font-size:10px;line-height:1.55;color:#798790}
.scanner-tabs{display:flex;gap:7px;overflow:auto;padding:4px 0 13px}.scanner-tabs button{white-space:nowrap;border:1px solid #d7e3e1;background:#fff;color:#49666a;border-radius:999px;padding:9px 15px;font-weight:800;cursor:pointer}.scanner-tabs button.active{background:#08786d;color:#fff;border-color:#08786d}
.scanner-pane{display:none}.scanner-pane.active{display:block}
.scanner-work-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:12px}.scanner-upload-card,.scanner-options-card,.scanner-preview-card,.scanner-result-card,.scanner-summary-card{padding:16px}
.scanner-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.scanner-card-title b,.scanner-card-title small{display:block}.scanner-card-title b{font-size:15px;color:#17443f}.scanner-card-title small{font-size:10px;color:#78868f;margin-top:3px}.scanner-card-title>span{font-size:10px;background:#eef4f5;color:#526b72;border-radius:999px;padding:5px 8px}
.scanner-drop-zone{border:2px dashed #9dc9c3;border-radius:17px;background:#f6fcfb;padding:25px 16px;text-align:center;transition:.2s}.scanner-drop-zone.drag{border-color:#08786d;background:#e9f8f5;transform:scale(1.005)}.scanner-drop-icon{font-size:42px}.scanner-drop-zone>b{display:block;font-size:15px;color:#285550;margin-top:4px}.scanner-drop-zone p{font-size:11px;color:#71838a;margin:5px 0 13px}.scanner-pick-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.scanner-pick-actions button{border:0;background:#08786d;color:#fff;border-radius:10px;padding:9px 14px;font-weight:900;cursor:pointer}.scanner-pick-actions button.secondary{background:#e5efef;color:#345d5c}
.scanner-supported{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0}.scanner-supported span{font-size:9px;background:#eff4f6;color:#62737e;border-radius:999px;padding:4px 7px}
.scanner-file-list{display:grid;gap:7px}.scanner-file-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;border:1px solid #e0e7e8;border-radius:11px;padding:9px;background:#fff}.scanner-file-icon{font-size:23px}.scanner-file-row b,.scanner-file-row small{display:block}.scanner-file-row b{font-size:11px;color:#34535d;word-break:break-all}.scanner-file-row small{font-size:9px;color:#7d8990;margin-top:2px}.scanner-file-row button{border:0;background:#f5e8e7;color:#9a4d47;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}
.scanner-empty{padding:18px;text-align:center;color:#7b8991;font-size:11px;border:1px dashed #d9e1e4;border-radius:10px}
.scanner-field{display:grid;gap:5px;margin-bottom:10px;font-size:10px;font-weight:900;color:#4b656e}.scanner-field select,.scanner-field input{width:100%;box-sizing:border-box;border:1px solid #d8e1e4;border-radius:10px;padding:9px 10px;background:#fff;font:inherit;color:#344e59}.scanner-check{display:flex;gap:8px;align-items:flex-start;font-size:10px;color:#586f77;margin:8px 0}.scanner-check input{margin-top:1px}
.scanner-run{width:100%;border:0;border-radius:11px;padding:12px;background:#08786d;color:#fff;font-weight:900;cursor:pointer;margin-top:8px}.scanner-run:disabled{opacity:.4;cursor:not-allowed}.scanner-cancel{width:100%;border:0;border-radius:10px;padding:9px;background:#f0e4e3;color:#8f4943;font-weight:800;cursor:pointer;margin-top:7px}
.scanner-progress-box{margin-top:11px;background:#f4f8f8;border-radius:11px;padding:10px}.scanner-progress-head{display:flex;justify-content:space-between;font-size:10px;color:#4e6970}.scanner-progress{height:8px;background:#dfe8e8;border-radius:999px;overflow:hidden;margin:7px 0}.scanner-progress i{display:block;height:100%;width:0;background:#15988c;border-radius:999px;transition:width .15s}.scanner-progress-box p{font-size:9px;color:#75848b;margin:0}
.scanner-preview-card{margin-top:12px}.scanner-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.scanner-method-grid>div{background:#f7fafb;border:1px solid #e2e8ea;border-radius:11px;padding:10px}.scanner-method-grid strong{display:block;font-size:11px;color:#34545c}.scanner-method-grid p{font-size:9px;line-height:1.5;color:#718087;margin:5px 0 0}
#scannerText{width:100%;min-height:430px;box-sizing:border-box;border:1px solid #d7e1e3;border-radius:13px;background:#fbfdfd;color:#243e49;padding:14px;font:13px/1.7 Consolas,"Malgun Gothic",monospace;resize:vertical}
.scanner-clean-actions,.scanner-result-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.scanner-clean-actions button{border:1px solid #d8e1e4;background:#f5f8f9;color:#526b73;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}.scanner-result-actions button{border:0;background:#0f6f67;color:#fff;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:900;cursor:pointer}
.scanner-summary-card{margin-top:12px}.scanner-summary{display:grid;gap:7px}.scanner-summary-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:start;background:#f7fafb;border:1px solid #e3e9eb;border-radius:10px;padding:9px}.scanner-summary-row>span{font-size:19px}.scanner-summary-row b,.scanner-summary-row small{display:block}.scanner-summary-row b{font-size:10px;color:#3f5b65}.scanner-summary-row small{font-size:9px;line-height:1.5;color:#7a878e;margin-top:2px}.scanner-summary-row em{font-style:normal;font-size:9px;background:#e7f4f1;color:#227167;border-radius:999px;padding:4px 7px}
.scanner-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.scanner-help-grid>.card{padding:15px}.scanner-help-grid em{font-style:normal;font-size:10px;color:#0a756d;font-weight:900}.scanner-help-grid h3{font-size:14px;color:#224b4a;margin:5px 0}.scanner-help-grid p{font-size:11px;line-height:1.6;color:#647780;margin:0}
@media(max-width:900px){.scanner-work-grid{grid-template-columns:1fr}.scanner-method-grid{grid-template-columns:1fr 1fr}.scanner-help-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.scanner-intro{grid-template-columns:1fr}.scanner-method-grid,.scanner-help-grid{grid-template-columns:1fr}.scanner-result-actions button{flex:1}.scanner-private-badge{font-size:9px}.scanner-file-row{grid-template-columns:auto 1fr auto}#scannerText{min-height:330px}}

/* =========================================================
   EPLUS Apps Web - 분류형 메인 메뉴
   1단계: 교통 / 여행·지도 / 환경 / 성향·운세 / 문서·OCR / 안내
   2단계: 해당 분류의 앱
   3단계: 각 앱 내부 기능 메뉴(app-subnav 등)
   ========================================================= */
.category-main-nav{
  gap:6px;
  align-items:center;
}
.category-main-nav button{
  min-width:70px;
  text-align:center;
  padding:10px 14px;
  font-size:13px;
  border-radius:11px;
}
.category-main-nav button.active{
  background:#e7f1f8;
  color:#0f4c81;
}
.app-level-bar{
  position:sticky;
  top:82px;
  z-index:920;
  background:rgba(246,249,251,.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #dfe6ec;
}
.app-level-inner{
  max-width:1180px;
  min-height:52px;
  margin:auto;
  padding:7px 22px;
  display:flex;
  align-items:center;
  gap:14px;
}
.app-level-title{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
  padding-right:13px;
  border-right:1px solid #d7e0e7;
  color:#31526b;
}
.app-level-title span{font-size:17px}
.app-level-title b{font-size:12px;white-space:nowrap}
.app-level-nav{
  min-width:0;
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:1px 0;
}
.app-level-nav::-webkit-scrollbar{display:none}
.app-level-nav button{
  flex:0 0 auto;
  border:1px solid #d3dee6;
  background:#fff;
  color:#536979;
  border-radius:999px;
  padding:8px 13px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  cursor:pointer;
}
.app-level-nav button:hover{
  border-color:#8eb3ce;
  background:#f2f8fc;
  color:#174e76;
}
.app-level-nav button.active{
  border-color:#123e63;
  background:#123e63;
  color:#fff;
}
.app-level-bar.single .app-level-title{
  border-right:0;
}
.app-level-bar.single .app-level-nav{
  display:none;
}
/* 기존 앱 내부 메뉴는 3단계로 보이도록 조금 더 가볍게 */
.app-subnav{
  margin-top:3px;
  background:#f7f9fa;
  border-color:#e1e7eb;
}
.app-subnav button{
  font-size:11px;
  padding:8px 13px;
}
/* 큰 화면에서는 카테고리 메뉴가 한 줄에 여유 있게 */
@media(min-width:801px){
  .category-main-nav button{min-width:76px}
}
/* 모바일: 상단은 햄버거, 2차 앱 메뉴는 가로 스크롤 유지 */
@media(max-width:800px){
  .app-level-bar{top:72px}
  .app-level-inner{min-height:48px;padding:6px 12px;gap:9px}
  .app-level-title{padding-right:9px}
  .app-level-title b{font-size:11px}
  .app-level-nav button{padding:7px 11px;font-size:10px}
  .category-main-nav{gap:2px}
  .category-main-nav button{
    min-width:0;
    width:100%;
    text-align:left;
    padding:11px 12px;
    font-size:13px;
  }
}
/* 로고/헤더 높이와 2차 메뉴 sticky 위치 일치 */
@media(max-width:430px){
  .app-level-title span{font-size:15px}
}

/* =========================================================
   eDiary · 일상기록
   localStorage: 기록 메타/설정/일정
   IndexedDB: 사진/음성/첨부파일
   ========================================================= */
.diary-page{--diary:#556b2f;--diary-dark:#33451c;--diary-soft:#f5f6ef;position:relative}
.diary-private-badge{background:#eef3e6;border:1px solid #ccd8b5;color:#4a6327;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:900}
.diary-browser-note{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:13px 15px;margin-bottom:11px;background:#fafbf7}
.diary-browser-note>div:first-child{font-size:27px}.diary-browser-note b{font-size:13px;color:#425426}.diary-browser-note p{font-size:10px;line-height:1.55;color:#6d7a79;margin:4px 0 0}
.diary-tabs{display:flex;gap:7px;overflow:auto;padding:3px 0 13px;scrollbar-width:none}.diary-tabs::-webkit-scrollbar{display:none}.diary-tabs button{flex:0 0 auto;border:1px solid #dce2d3;background:#fff;color:#5c6e51;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.diary-tabs button.active{background:#556b2f;color:#fff;border-color:#556b2f}
.diary-pane{display:none}.diary-pane.active{display:block}
.diary-home-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px;padding:10px 4px}.diary-home-head span{font-size:9px;letter-spacing:.15em;color:#71815b;font-weight:900}.diary-home-head h3{font-size:25px;color:#34481f;margin:3px 0}.diary-home-head p{font-size:11px;color:#708078;margin:0}
.diary-cover-preview,.diary-setting-cover{display:grid;place-items:center;overflow:hidden;background:#edf1e5;border:1px solid #d6dec9;color:#607349;border-radius:16px}.diary-cover-preview{width:96px;height:72px}.diary-cover-preview img,.diary-setting-cover img{width:100%;height:100%;object-fit:cover}.diary-cover-preview span{font-size:22px;font-weight:900}.diary-setting-cover{height:150px;margin-bottom:8px}.diary-setting-cover span{font-size:11px;color:#7a8871}
.diary-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.diary-summary-grid .card{padding:13px}.diary-summary-grid span{display:block;font-size:10px;color:#728078}.diary-summary-grid b{font-size:27px;color:#4a6128;margin-right:3px}.diary-summary-grid small{font-size:9px;color:#87928c}
.diary-home-actions{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.diary-home-actions button,.diary-soft{border:1px solid #dbe2d2;background:#fff;color:#526743;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer}.diary-home-actions button:first-child{background:#556b2f;color:#fff;border-color:#556b2f}
.diary-recent-card,.diary-filter-card,.diary-compose-card,.diary-calendar-card{padding:15px}.diary-card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:11px}.diary-card-title b,.diary-card-title small{display:block}.diary-card-title b{font-size:14px;color:#3f5227}.diary-card-title small{font-size:9px;color:#7b8784;margin-top:2px}.diary-card-title>span{font-size:9px;background:#f0f3ec;color:#657258;border-radius:999px;padding:4px 7px}
.diary-entry-list{display:grid;gap:9px}.diary-entry-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;border:1px solid #e0e5dc;background:#fff;border-radius:13px;padding:11px;cursor:pointer}.diary-entry-card:hover{border-color:#aebd99;background:#fbfcf8}.diary-entry-mood{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f0f3e9;font-size:22px}.diary-entry-card h4{font-size:13px;color:#34484a;margin:0 0 3px}.diary-entry-card p{font-size:10px;color:#617377;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.diary-entry-card small{display:block;font-size:9px;color:#87928f;margin-top:5px}.diary-entry-card em{font-style:normal;color:#9a7226;font-size:17px}
.diary-entry-photo{width:74px;height:58px;border-radius:9px;object-fit:cover;border:1px solid #e3e7e2}.diary-empty{padding:22px;text-align:center;border:1px dashed #dce2db;border-radius:11px;color:#7e8b87;font-size:10px;background:#fbfcfb}
.diary-filter-grid{display:grid;grid-template-columns:minmax(210px,1.5fr) minmax(130px,.6fr) auto 145px 145px auto;gap:7px;align-items:center}.diary-filter-grid input,.diary-filter-grid select{min-width:0;border:1px solid #dbe2de;border-radius:9px;padding:8px 9px;background:#fff;font:inherit}.diary-filter-grid label{display:flex;align-items:center;gap:5px;font-size:9px;color:#667772;white-space:nowrap}.diary-filter-grid button{border:0;background:#edf1ec;color:#53675e;border-radius:8px;padding:8px;font-weight:800;cursor:pointer}
.diary-compose-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.diary-compose-grid label,.diary-editor-label,.diary-setting-field{display:grid;gap:5px;font-size:10px;color:#5d6e68;font-weight:800}.diary-compose-grid .wide{grid-column:1/-1}.diary-compose-grid input,.diary-compose-grid select,.diary-compose-grid textarea,.diary-setting-field input{width:100%;box-sizing:border-box;border:1px solid #dbe2de;border-radius:10px;padding:9px 10px;background:#fff;font:inherit;color:#30444b}.diary-editor-label{margin-top:9px}.diary-editor-label textarea{min-height:125px;resize:vertical;border:1px solid #dbe2de;border-radius:11px;padding:10px;font:13px/1.65 "Malgun Gothic",sans-serif}
.diary-mood-block{margin:11px 0}.diary-mood-block>span{font-size:10px;font-weight:800;color:#5b6d64}.diary-mood-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}.diary-mood-picker button{border:1px solid #e0e5df;background:#fff;border-radius:12px;padding:8px 5px;font-size:22px;cursor:pointer}.diary-mood-picker button small{display:block;font-size:9px;color:#738078;margin-top:2px}.diary-mood-picker button.active{border-color:#71874c;background:#f2f5eb}
.diary-attach-actions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.diary-attach-actions button{border:1px solid #dce3dc;background:#f8faf7;color:#52665a;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}
.diary-url-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin:8px 0}.diary-url-row input{min-width:0;border:1px solid #dbe2de;border-radius:9px;padding:9px;font:inherit}.diary-url-row button{border:0;background:#6c8050;color:#fff;border-radius:9px;padding:8px 12px;font-weight:800;cursor:pointer}.diary-compose-grid.lower{margin-top:9px}.attach-title{margin-top:13px}
.diary-attachment-list{display:grid;gap:7px}.diary-attachment-row{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;border:1px solid #e1e6e0;border-radius:10px;padding:8px}.diary-attachment-row img{width:68px;height:52px;object-fit:cover;border-radius:8px}.diary-attachment-row>span{font-size:22px}.diary-attachment-row b,.diary-attachment-row small{display:block}.diary-attachment-row b{font-size:10px;color:#49605a;word-break:break-all}.diary-attachment-row small{font-size:8px;color:#84908c}.diary-attachment-row button{border:0;background:#f4e9e7;color:#98554d;border-radius:8px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}
.diary-save-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:11px;border-top:1px solid #e5e9e3}.diary-save-row span{font-size:9px;color:#7b8783}.diary-save-row button,.diary-primary-full{border:0;background:#556b2f;color:#fff;border-radius:10px;padding:10px 16px;font-weight:900;cursor:pointer}.diary-primary-full{width:100%;margin-top:9px}
.diary-calendar-nav{display:grid;grid-template-columns:50px 1fr 50px;gap:7px}.diary-calendar-nav button{border:0;background:#f2f5ef;color:#536744;border-radius:10px;min-height:44px;font-weight:900;font-size:20px;cursor:pointer}.diary-calendar-nav button:nth-child(2){font-size:inherit}.diary-calendar-nav b,.diary-calendar-nav small{display:block}.diary-calendar-nav b{font-size:16px}.diary-calendar-nav small{font-size:8px;color:#879187}.diary-week-head,.diary-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.diary-week-head{margin:9px 0 5px}.diary-week-head span{text-align:center;font-size:9px;color:#748079}.diary-week-head span:first-child{color:#b25953}.diary-week-head span:last-child{color:#4c6f9e}.diary-cal-day{min-height:75px;border:1px solid #e1e6df;background:#fff;border-radius:9px;padding:6px;text-align:left;cursor:pointer}.diary-cal-day.other{opacity:.3}.diary-cal-day.today{border-color:#758b50;background:#f5f8ef}.diary-cal-day b{display:block;font-size:10px}.diary-cal-day span{font-size:17px}.diary-cal-day small{display:block;font-size:8px;color:#7f8b86}.diary-calendar-detail{padding:14px;margin-top:10px}.diary-calendar-detail>b{color:#41552d}.diary-calendar-day-list{display:grid;gap:6px;margin-top:8px}
.diary-schedule-grid,.diary-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.diary-schedule-grid>.card,.diary-settings-grid>.card{padding:15px}.diary-check{display:flex;gap:6px;align-items:center;font-size:10px;color:#61716c;margin-top:9px}.diary-caution{display:block;font-size:8.5px!important;line-height:1.5;color:#84908c!important;margin-top:8px}.diary-day-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:8px}.diary-day-shortcuts button{border:0;background:#eef2ec;color:#52655a;border-radius:8px;padding:7px;font-size:9px;font-weight:800;cursor:pointer}.diary-schedule-list{display:grid;gap:7px}.diary-schedule-row{border:1px solid #e0e6df;border-radius:11px;padding:9px;background:#fff}.diary-schedule-row.done{opacity:.65;background:#f5f6f4}.diary-schedule-head{display:flex;justify-content:space-between;gap:8px}.diary-schedule-head b{font-size:12px;color:#40564e}.diary-schedule-head span{font-size:9px;color:#7a8984}.diary-schedule-row p{font-size:10px;line-height:1.5;color:#647570;margin:5px 0}.diary-schedule-actions{display:flex;gap:5px;flex-wrap:wrap}.diary-schedule-actions button,.diary-backup-actions button,.diary-month-manage button{border:1px solid #dae2dd;background:#f7f9f7;color:#52675f;border-radius:8px;padding:6px 8px;font-size:8.5px;font-weight:800;cursor:pointer}.danger{color:#a14d46!important;background:#fbf2f1!important;border-color:#eed7d5!important}
.diary-setting-field{margin-bottom:9px}.diary-setting-info{font-size:9.5px;line-height:1.6;color:#6e7d78}.diary-topic-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}.diary-topic-chip{display:flex;align-items:center;gap:5px;background:#f1f4ed;border:1px solid #dbe2d2;border-radius:999px;padding:5px 8px;font-size:9px;color:#526447}.diary-topic-chip button{border:0;background:transparent;color:#9c5a50;font-size:12px;cursor:pointer;padding:0}.diary-data-card{grid-column:1/-1}.diary-backup-actions{display:flex;gap:7px;flex-wrap:wrap}.diary-month-manage{border-top:1px solid #e2e7e2;margin-top:12px;padding-top:11px}.diary-month-manage>b{display:block;font-size:11px;color:#4a5e50}.diary-month-manage>input{margin:7px 0;border:1px solid #dbe2de;border-radius:8px;padding:7px}.diary-month-manage>div{display:flex;gap:6px;flex-wrap:wrap}.diary-month-manage small{display:block;margin-top:7px;font-size:9px;color:#7b8782}
.diary-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:15px}.diary-modal[hidden]{display:none}.diary-modal-backdrop{position:absolute;inset:0;background:rgba(24,32,30,.62)}.diary-modal-card{position:relative;z-index:1;width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;padding:17px;box-shadow:0 25px 70px rgba(0,0,0,.28)}.diary-modal-head{display:flex;justify-content:space-between;gap:10px}.diary-modal-head span{font-size:9px;color:#7d8985}.diary-modal-head h3{font-size:21px;color:#3d5229;margin:3px 0}.diary-modal-head>button{border:0;background:#edf1eb;width:34px;height:34px;border-radius:50%;font-size:21px;cursor:pointer}.diary-detail-body{font-size:11px;line-height:1.7;color:#536662}.diary-detail-body .story{white-space:pre-wrap;background:#fafbf9;border-radius:10px;padding:10px}.diary-detail-media{display:grid;gap:8px;margin:10px 0}.diary-detail-media img{max-width:100%;max-height:420px;border-radius:12px}.diary-detail-media audio{width:100%}.diary-detail-file{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e0e5e1;border-radius:9px;padding:8px}.diary-detail-file button{border:0;background:#edf2ed;border-radius:7px;padding:6px 8px;cursor:pointer}.diary-detail-actions{display:flex;gap:6px;flex-wrap:wrap;border-top:1px solid #e5e9e4;border-bottom:1px solid #e5e9e4;padding:9px 0;margin:9px 0}.diary-detail-actions button{border:1px solid #dce2dc;background:#fff;color:#52675f;border-radius:8px;padding:7px 9px;font-size:9px;font-weight:800;cursor:pointer}.diary-comments>b{font-size:11px;color:#465b4e}.diary-comment{background:#f6f8f5;border-radius:9px;padding:7px 9px;margin-top:6px;font-size:9px}.diary-comment small{display:block;color:#84908c;margin-top:3px}
.diary-lock{position:absolute;inset:0;z-index:2000;background:rgba(244,247,241,.96);backdrop-filter:blur(8px);display:grid;place-items:start center;padding-top:70px}.diary-lock[hidden]{display:none}.diary-lock-box{width:min(350px,90%);background:#fff;border:1px solid #dce4d4;border-radius:18px;padding:22px;text-align:center;box-shadow:0 20px 45px rgba(40,55,34,.15)}.diary-lock-icon{font-size:38px}.diary-lock-box h3{color:#405627;margin:7px 0}.diary-lock-box p,.diary-lock-box small{font-size:9px;color:#79877e}.diary-lock-box input{width:100%;box-sizing:border-box;border:1px solid #d9e1d5;border-radius:10px;padding:10px;margin:7px 0;text-align:center}.diary-lock-box button{width:100%;border:0;background:#556b2f;color:#fff;border-radius:10px;padding:10px;font-weight:900;cursor:pointer}
@media(max-width:900px){.diary-filter-grid{grid-template-columns:1fr 1fr 1fr}.diary-filter-grid input[type=search]{grid-column:1/-1}.diary-schedule-grid,.diary-settings-grid{grid-template-columns:1fr}.diary-data-card{grid-column:auto}.diary-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.diary-summary-grid{grid-template-columns:1fr 1fr}.diary-filter-grid{grid-template-columns:1fr 1fr}.diary-filter-grid input[type=search]{grid-column:1/-1}.diary-filter-grid label{grid-column:1/-1}.diary-compose-grid{grid-template-columns:1fr}.diary-compose-grid .wide{grid-column:1}.diary-mood-picker{grid-template-columns:repeat(5,1fr)}.diary-mood-picker button{font-size:19px;padding:7px 2px}.diary-cal-day{min-height:62px;padding:4px}.diary-cal-day span{font-size:14px}.diary-home-head{align-items:flex-start}.diary-cover-preview{width:78px;height:62px}.diary-save-row{align-items:flex-start;flex-direction:column}.diary-save-row button{width:100%}.diary-entry-card{grid-template-columns:auto 1fr}.diary-entry-card>em{grid-column:2}.diary-entry-photo{display:none}}


/* =========================================================
   가독성 개선 - eDiary / 문서 OCR
   작은 9~11px 중심 UI를 12~16px 중심으로 확대
   ========================================================= */

/* ---------- eDiary ---------- */
.diary-page{font-size:15px}
.diary-page .section-head span{font-size:12px}
.diary-page .section-head h2{font-size:30px}
.diary-page .section-head p{font-size:14px;line-height:1.7}
.diary-private-badge{font-size:13px;padding:9px 14px}

.diary-browser-note b{font-size:16px}
.diary-browser-note p{font-size:13px;line-height:1.7}

.diary-tabs button{font-size:14px;padding:10px 17px}
.diary-home-head span{font-size:12px}
.diary-home-head h3{font-size:30px}
.diary-home-head p{font-size:14px}

.diary-summary-grid span{font-size:13px}
.diary-summary-grid b{font-size:32px}
.diary-summary-grid small{font-size:12px}

.diary-home-actions button,
.diary-soft{font-size:13px;padding:10px 14px}

.diary-card-title b{font-size:17px}
.diary-card-title small{font-size:12px}
.diary-card-title>span{font-size:11px;padding:5px 9px}

.diary-entry-card h4{font-size:16px}
.diary-entry-card p{font-size:13px;line-height:1.65}
.diary-entry-card small{font-size:11px}
.diary-entry-card em{font-size:20px}
.diary-empty{font-size:13px;padding:24px}

.diary-filter-grid input,
.diary-filter-grid select{font-size:14px;padding:10px 11px}
.diary-filter-grid label{font-size:12px}
.diary-filter-grid button{font-size:12px;padding:10px}

.diary-compose-grid label,
.diary-editor-label,
.diary-setting-field{font-size:13px}
.diary-compose-grid input,
.diary-compose-grid select,
.diary-compose-grid textarea,
.diary-setting-field input{font-size:14px;padding:11px 12px}
.diary-editor-label textarea{font-size:15px;line-height:1.75;min-height:165px}

.diary-mood-block>span{font-size:13px}
.diary-mood-picker button{font-size:27px;padding:10px 6px}
.diary-mood-picker button small{font-size:11px}

.diary-attach-actions button{font-size:12px;padding:10px 12px}
.diary-url-row input{font-size:14px;padding:11px}
.diary-url-row button{font-size:13px;padding:10px 14px}

.diary-attachment-row b{font-size:13px}
.diary-attachment-row small{font-size:11px}
.diary-attachment-row button{font-size:11px;padding:7px 9px}

.diary-save-row span{font-size:11px;line-height:1.55}
.diary-save-row button,
.diary-primary-full{font-size:14px;padding:12px 18px}

.diary-calendar-nav b{font-size:19px}
.diary-calendar-nav small{font-size:11px}
.diary-week-head span{font-size:12px}
.diary-cal-day b{font-size:13px}
.diary-cal-day span{font-size:20px}
.diary-cal-day small{font-size:10px}
.diary-calendar-detail{font-size:13px;line-height:1.7}

.diary-check{font-size:13px}
.diary-caution{font-size:11px!important;line-height:1.65!important}
.diary-day-shortcuts button{font-size:12px;padding:9px}
.diary-schedule-head b{font-size:15px}
.diary-schedule-head span{font-size:11px}
.diary-schedule-row p{font-size:13px;line-height:1.65}
.diary-schedule-actions button,
.diary-backup-actions button,
.diary-month-manage button{font-size:11px;padding:8px 10px}

.diary-setting-info{font-size:12px;line-height:1.7}
.diary-topic-chip{font-size:12px;padding:6px 10px}
.diary-month-manage>b{font-size:14px}
.diary-month-manage>input{font-size:13px;padding:9px}
.diary-month-manage small{font-size:11px}
.diary-notify-btn{width:100%;margin-top:11px}

.diary-modal-head span{font-size:11px}
.diary-modal-head h3{font-size:24px}
.diary-detail-body{font-size:14px;line-height:1.75}
.diary-detail-actions button{font-size:12px;padding:9px 11px}
.diary-comments>b{font-size:14px}
.diary-comment{font-size:12px;padding:9px 11px}
.diary-comment small{font-size:10px}

/* PIN 기능 제거 */
.diary-lock,.diary-lock-box{display:none!important}

/* ---------- 문서 OCR ---------- */
.scanner-page{font-size:15px}
.scanner-page .section-head span{font-size:12px}
.scanner-page .section-head h2{font-size:30px}
.scanner-page .section-head p{font-size:14px;line-height:1.7}
.scanner-private-badge{font-size:13px;padding:9px 14px}

.scanner-intro b{font-size:17px}
.scanner-intro p{font-size:13px;line-height:1.7}
.scanner-intro small{font-size:11px;line-height:1.65}

.scanner-tabs button{font-size:14px;padding:10px 17px}
.scanner-card-title b{font-size:17px}
.scanner-card-title small{font-size:12px}
.scanner-card-title>span{font-size:11px;padding:5px 9px}

.scanner-drop-zone>b{font-size:17px}
.scanner-drop-zone p{font-size:13px}
.scanner-pick-actions button{font-size:13px;padding:10px 15px}
.scanner-supported span{font-size:11px;padding:5px 8px}

.scanner-file-row b{font-size:13px}
.scanner-file-row small{font-size:11px}
.scanner-file-row button{font-size:11px;padding:7px 9px}
.scanner-empty{font-size:13px;padding:22px}

.scanner-field{font-size:13px}
.scanner-field select,
.scanner-field input{font-size:14px;padding:11px 12px}
.scanner-check{font-size:12px;line-height:1.55}

.scanner-run{font-size:15px;padding:13px}
.scanner-cancel{font-size:13px;padding:10px}
.scanner-progress-head{font-size:12px}
.scanner-progress-box p{font-size:11px}

.scanner-method-grid strong{font-size:14px}
.scanner-method-grid p{font-size:12px;line-height:1.65}

#scannerText{
  font-size:15px;
  line-height:1.75;
  min-height:470px;
}
.scanner-clean-actions button{font-size:11px;padding:8px 10px}
.scanner-result-actions button{font-size:13px;padding:10px 13px}

.scanner-summary-row b{font-size:13px}
.scanner-summary-row small{font-size:11px;line-height:1.6}
.scanner-summary-row em{font-size:11px;padding:5px 8px}

.scanner-help-grid em{font-size:12px}
.scanner-help-grid h3{font-size:17px}
.scanner-help-grid p{font-size:13px;line-height:1.7}

/* 모바일에서도 최소 글자 크기를 유지 */
@media(max-width:600px){
  .diary-page,.scanner-page{font-size:15px}
  .diary-page .section-head h2,
  .scanner-page .section-head h2{font-size:26px}
  .diary-tabs button,
  .scanner-tabs button{font-size:13px}
  .diary-card-title b,
  .scanner-card-title b{font-size:16px}
  .diary-compose-grid input,
  .diary-compose-grid select,
  .diary-editor-label textarea,
  .scanner-field select,
  .scanner-field input,
  #scannerText{font-size:15px}
  .diary-mood-picker button{font-size:24px}
  #scannerText{min-height:380px}
}

/* 근처여행어때 한국어 / English 전환 */
.travel-section-head{align-items:flex-start}
.travel-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.travel-language{display:flex;gap:4px;padding:4px;background:#eef3f6;border:1px solid #dbe4ea;border-radius:999px}
.travel-language button{border:0;background:transparent;color:#5f7382;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.travel-language button.active{background:#123e63;color:#fff;box-shadow:0 1px 4px rgba(20,55,80,.15)}
.travel-language button:hover:not(.active){background:#fff;color:#24587d}
.travel-item .travel-lang-note{display:block;margin-top:4px;font-size:9px;color:#82909a}
@media(max-width:650px){.travel-head-actions{width:100%;justify-content:space-between}.travel-language button{font-size:11px;padding:7px 10px}}

/* =========================================================
   한국사어때 · Web
   ========================================================= */
.history-page{--his-red:#d94841;--his-navy:#102a43;--his-blue:#356c86;--his-green:#46745c;font-size:15px}
.history-page .section-head h2{font-size:30px}.history-page .section-head p{font-size:14px;line-height:1.7}.history-goal-badge{background:#fff1de;color:#8a541b;border:1px solid #ecd2a8;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:900}
.history-note{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 16px;margin-bottom:11px;background:#fafbfd}.history-note>div:first-child{font-size:28px}.history-note b{font-size:15px;color:#28475a}.history-note p{font-size:12px;line-height:1.65;color:#687984;margin:4px 0 0}
.history-tabs{display:flex;gap:7px;overflow:auto;padding:3px 0 13px;scrollbar-width:none}.history-tabs::-webkit-scrollbar{display:none}.history-tabs button{flex:0 0 auto;border:1px solid #d9e1e6;background:#fff;color:#566d7b;border-radius:999px;padding:10px 16px;font-size:13px;font-weight:900;cursor:pointer}.history-tabs button.active{background:var(--his-navy);color:#fff;border-color:var(--his-navy)}.history-pane{display:none}.history-pane.active{display:block}
.history-hero-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#102a43,#203f58);border-radius:18px;padding:24px;color:#fff;margin-bottom:12px}.history-hero-card span{color:#f4cf82;font-size:12px;font-weight:900}.history-hero-card h3{font-size:27px;line-height:1.3;margin:6px 0}.history-hero-card p{font-size:13px;line-height:1.65;color:#d8e2e9;margin:0}.history-hero-actions{display:grid;gap:8px;min-width:150px}.history-hero-actions button{border:0;border-radius:10px;padding:11px 14px;font-weight:900;cursor:pointer;background:#d94841;color:#fff}.history-hero-actions button+button{background:#fff;color:#18384f}
.history-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.history-stat-grid .card{padding:14px}.history-stat-grid span{display:block;font-size:12px;color:#70808a}.history-stat-grid b{display:block;font-size:24px;color:#d94841;margin:5px 0}.history-stat-grid small{font-size:10px;color:#86929a}.history-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.history-home-grid .card{padding:16px}.history-home-grid em{font-style:normal;color:#d94841;font-size:11px;font-weight:900}.history-home-grid h3{font-size:17px;color:#243f52;margin:5px 0}.history-home-grid p{font-size:12px;line-height:1.65;color:#667986}.history-home-grid button,.history-pane-head button{border:0;background:#20384a;color:#fff;border-radius:9px;padding:9px 12px;font-size:12px;font-weight:900;cursor:pointer}
.history-pane-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;margin-bottom:10px}.history-pane-head b,.history-pane-head small{display:block}.history-pane-head b{font-size:17px;color:#284456}.history-pane-head small{font-size:11px;color:#7d8991;margin-top:3px}.history-pane-head>span{font-size:11px;color:#71808a}
.history-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-period-card{display:grid;grid-template-columns:6px 1fr;gap:12px;border:1px solid #dfe5e9;background:#fff;border-radius:14px;padding:14px;cursor:pointer}.history-period-card:hover{box-shadow:0 5px 18px rgba(16,42,67,.08)}.history-period-accent{border-radius:5px}.history-period-card h3{font-size:16px;color:#284252;margin:0}.history-period-card p{font-size:11px;line-height:1.55;color:#6d7d87;margin:5px 0}.history-period-card b{font-size:11px}
.history-summary-tools{display:grid;grid-template-columns:1fr 180px auto;gap:8px;align-items:center;padding:12px;margin-bottom:10px}.history-summary-tools input,.history-summary-tools select{border:1px solid #d7e0e5;border-radius:10px;padding:10px 11px;font-size:14px}.history-summary-tools span{font-size:11px;background:#f1f4f6;border-radius:999px;padding:6px 9px;color:#647580}.history-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-summary-card{background:#fff;border:1px solid #dfe5e9;border-radius:14px;padding:15px}.history-summary-card>span{font-size:11px;font-weight:900;color:#d94841}.history-summary-card h3{font-size:17px;color:#243e51;margin:5px 0}.history-summary-card p{font-size:12px;line-height:1.65;color:#526a78}.history-summary-points{border-top:1px solid #e5eaed;margin-top:9px;padding-top:9px}.history-summary-points b{font-size:12px}.history-memory{background:#fff4dd;color:#73511f;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:800;margin-top:9px}
.history-practice-grid,.history-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-practice-card{padding:15px}.history-practice-card span{font-size:10px;color:#d94841;font-weight:900}.history-practice-card h3{font-size:16px;color:#273f50;margin:5px 0}.history-practice-card p{font-size:11px;line-height:1.6;color:#71808a}.history-practice-card button,.history-type-card button{width:100%;border:0;border-radius:9px;padding:10px;color:#fff;background:#20384a;font-weight:900;cursor:pointer}.history-subtitle{font-size:17px;color:#284456;margin:18px 0 9px}.history-type-card{border:1px solid #dfe5e9;background:#fff;border-radius:14px;padding:14px}.history-type-card h4{font-size:15px;margin:0 0 4px}.history-type-card p{font-size:11px;line-height:1.55;color:#6b7b85;min-height:36px}.history-type-card b{font-size:10px;display:block;margin-bottom:8px}
.history-mock-intro{display:grid;grid-template-columns:1fr auto;gap:15px;align-items:center;background:#102a43;color:#fff;border-radius:15px;padding:17px;margin-bottom:10px}.history-mock-intro span{color:#f4cf82;font-size:11px;font-weight:900}.history-mock-intro h3{font-size:21px;margin:4px 0}.history-mock-intro p{font-size:11px;color:#c4d1da;margin:0}.history-mock-intro>div:last-child{text-align:center;background:#1d3b52;border-radius:12px;padding:10px 16px}.history-mock-intro>div:last-child b{font-size:23px;display:block}.history-mock-intro small{font-size:9px;color:#f4cf82}.history-mock-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.history-mock-card{border:1px solid #dfe5e9;border-radius:13px;background:#fff;padding:12px}.history-mock-card h4{font-size:14px;margin:0 0 4px}.history-mock-card p{font-size:10px;color:#71808a;line-height:1.5;min-height:31px}.history-mock-rounds{display:flex;gap:5px}.history-mock-rounds button{flex:1;border:0;border-radius:7px;padding:7px;background:#eef2f5;color:#38546a;font-size:10px;font-weight:900;cursor:pointer}
.history-runner{margin-top:4px}.history-runner-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid #dde4e8;border-radius:13px;padding:10px 13px;margin-bottom:9px}.history-runner-head.mock{grid-template-columns:1fr auto auto}.history-runner-head b,.history-runner-head span{display:block}.history-runner-head b{font-size:15px;color:#284557}.history-runner-head span{font-size:10px;color:#7c8991}.history-runner-head button{border:0;background:#edf2f5;color:#536a79;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:900;cursor:pointer}.history-mock-clock{text-align:center}.history-mock-clock b{font-family:Consolas,monospace;font-size:19px;color:#d94841}
.history-question-card{background:#fff;border:1px solid #dfe5e9;border-radius:15px;padding:18px}.history-question-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d94841;font-size:11px;font-weight:900}.history-question-meta button{border:1px solid #d9e1e6;background:#fff;border-radius:999px;padding:6px 9px;color:#526979;font-size:10px;font-weight:900;cursor:pointer}.history-passage{background:#f5f7f8;border-left:4px solid #7291a7;border-radius:8px;padding:12px;font-size:13px;line-height:1.7;color:#455d6d;white-space:pre-wrap;margin:12px 0}.history-question-card>h3{font-size:20px;line-height:1.5;color:#19384d;margin:14px 0}.history-choice-list{display:grid;gap:8px}.history-choice{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;text-align:left;border:1px solid #d8e0e5;background:#fff;border-radius:11px;padding:10px 12px;cursor:pointer;font:inherit;color:#334c5d}.history-choice span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef3f6;font-weight:900}.history-choice.correct{background:#eaf6ef;border-color:#4b8d69;color:#245c40}.history-choice.wrong{background:#fbeeed;border-color:#c86661;color:#8d3732}.history-choice.selected{background:#edf3f7;border-color:#587b95}.history-choice:disabled{cursor:default}.history-explanation{margin-top:12px;background:#f8fafb;border-radius:11px;padding:12px}.history-explanation>b{font-size:14px}.history-explanation p{font-size:12px;line-height:1.65;color:#536b79}.history-key-point{background:#fff4dd;border-radius:8px;padding:8px 10px;color:#73511f;font-size:11px;font-weight:900}.history-runner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.history-runner-actions.three{grid-template-columns:1fr 1fr 1fr}.history-runner-actions button,.history-primary{border:0;border-radius:9px;padding:10px;background:#20384a;color:#fff;font-weight:900;cursor:pointer}.history-runner-actions button:first-child{background:#e8edf0;color:#40596a}
.history-result-hero{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:linear-gradient(135deg,#102a43,#274b65);color:#fff;border-radius:16px;padding:20px}.history-result-hero span{font-size:11px;color:#f4cf82}.history-result-hero b{display:block;font-size:37px;margin:4px 0}.history-result-hero h3{font-size:19px;margin:0}.history-result-hero p{font-size:11px;color:#d2dee6}.history-result-hero button{border:0;background:#fff;color:#28485c;border-radius:9px;padding:10px 13px;font-weight:900;cursor:pointer}.history-result-list{display:grid;gap:8px;margin-top:10px}.history-result-item{border:1px solid #dfe5e9;border-radius:12px;padding:12px;background:#fff}.history-result-item.correct{border-left:5px solid #3d845d}.history-result-item.wrong{border-left:5px solid #c8514b}.history-result-item b{font-size:12px}.history-result-item h4{font-size:14px;margin:5px 0}.history-result-item p{font-size:11px;line-height:1.6;color:#627580}
.history-past-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.history-past-card{border:1px solid #dfe5e9;border-radius:13px;background:#fff;padding:14px}.history-past-card span{font-size:10px;font-weight:900}.history-past-card h3{font-size:16px;color:#263f50;margin:5px 0}.history-past-card p{font-size:10px;line-height:1.5;color:#75828b}.history-past-card button{width:100%;border:0;border-radius:9px;background:#20384a;color:#fff;padding:9px;font-size:11px;font-weight:900;cursor:pointer}.history-past-score{background:#102a43;color:#fff;border-radius:10px;padding:8px 10px;text-align:center;font-size:11px;font-weight:900;margin-bottom:9px}.history-past-question{padding:14px;text-align:center}.history-past-question img{display:block;max-width:100%;max-height:720px;margin:auto;border-radius:7px}.history-past-question>p{font-size:11px;color:#77848c}.history-number-choices{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:10px 0}.history-number-choices button{width:48px;height:48px;border:1px solid #b8c4cd;background:#fff;color:#20384a;border-radius:12px;font-weight:900;font-size:15px;cursor:pointer}.history-number-choices button.selected{background:#20384a;color:#fff}.history-number-choices button.correct{background:#257a55;color:#fff;border-color:#257a55}.history-number-choices button.wrong{background:#c8443e;color:#fff;border-color:#c8443e}.history-past-status{font-size:13px;font-weight:900;margin-top:9px}.history-past-status.correct{color:#257a55}.history-past-status.wrong{color:#c8443e}
.history-wrong-list{display:grid;gap:8px}.history-wrong-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid #dfe5e9;background:#fff;border-radius:12px;padding:12px}.history-wrong-card h4{font-size:14px;color:#284557;margin:0 0 4px}.history-wrong-card p{font-size:11px;line-height:1.55;color:#697a84;margin:0}.history-wrong-card small{font-size:9px;color:#88939a}.history-wrong-card button{border:0;background:#20384a;color:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:900;cursor:pointer}.history-wrong-thumb{width:130px;max-height:95px;object-fit:contain;border-radius:6px;border:1px solid #e2e6e9}.history-empty{padding:25px;text-align:center;border:1px dashed #d8e0e5;border-radius:11px;background:#fafbfc;color:#78868f;font-size:12px}
@media(max-width:950px){.history-stat-grid{grid-template-columns:1fr 1fr}.history-period-grid,.history-past-list{grid-template-columns:1fr 1fr}.history-practice-grid{grid-template-columns:1fr}.history-type-grid{grid-template-columns:1fr 1fr}.history-mock-options{grid-template-columns:1fr 1fr}.history-summary-list{grid-template-columns:1fr}}
@media(max-width:650px){.history-page .section-head h2{font-size:26px}.history-hero-card{grid-template-columns:1fr;padding:18px}.history-hero-card h3{font-size:23px}.history-hero-actions{grid-template-columns:1fr 1fr}.history-stat-grid,.history-home-grid,.history-period-grid,.history-type-grid,.history-mock-options,.history-past-list{grid-template-columns:1fr}.history-summary-tools{grid-template-columns:1fr}.history-runner-head.mock{grid-template-columns:1fr auto}.history-runner-head.mock>button{grid-column:1/-1}.history-question-card{padding:13px}.history-question-card>h3{font-size:18px}.history-choice{font-size:14px}.history-runner-actions.three{grid-template-columns:1fr 1fr}.history-runner-actions.three button:nth-child(2){grid-column:1/-1;grid-row:2}.history-result-hero{grid-template-columns:1fr}.history-wrong-card{grid-template-columns:1fr}.history-wrong-thumb{width:100%;max-height:190px}}


/* =========================================================
   한국사어때 가독성 개선 - 전체 폰트 확대
   ========================================================= */
.history-page{font-size:17px}

/* 상단 설명 */
.history-page .section-head span{font-size:13px}
.history-page .section-head h2{font-size:34px}
.history-page .section-head p{font-size:16px;line-height:1.75}
.history-goal-badge{font-size:15px;padding:10px 16px}

.history-note b{font-size:18px}
.history-note p{font-size:14px;line-height:1.75}

/* 탭 */
.history-tabs button{
  font-size:15px;
  padding:11px 18px;
}

/* 홈 */
.history-hero-card span{font-size:14px}
.history-hero-card h3{font-size:31px}
.history-hero-card p{font-size:15px;line-height:1.75}
.history-hero-actions button{font-size:14px;padding:12px 16px}

.history-stat-grid span{font-size:14px}
.history-stat-grid b{font-size:29px}
.history-stat-grid small{font-size:12px}

.history-home-grid em{font-size:13px}
.history-home-grid h3{font-size:20px}
.history-home-grid p{font-size:14px;line-height:1.7}
.history-home-grid button,
.history-pane-head button{font-size:14px;padding:10px 14px}

/* 공통 제목 */
.history-pane-head b{font-size:20px}
.history-pane-head small{font-size:13px}
.history-pane-head>span{font-size:13px}

/* 범위 학습 */
.history-period-card h3{font-size:19px}
.history-period-card p{font-size:14px;line-height:1.7}
.history-period-card b{font-size:13px}

/* 핵심 요약 */
.history-summary-tools input,
.history-summary-tools select{
  font-size:16px;
  padding:11px 12px;
}
.history-summary-tools span{font-size:13px}
.history-summary-card>span{font-size:13px}
.history-summary-card h3{font-size:20px}
.history-summary-card p{font-size:14px;line-height:1.75}
.history-summary-points b{font-size:14px}
.history-memory{font-size:13px;line-height:1.65;padding:10px 12px}

/* 문제 유형 / 연습 */
.history-practice-card span{font-size:12px}
.history-practice-card h3{font-size:19px}
.history-practice-card p{font-size:14px;line-height:1.7}
.history-practice-card button,
.history-type-card button{font-size:14px;padding:11px}
.history-subtitle{font-size:20px}
.history-type-card h4{font-size:18px}
.history-type-card p{font-size:14px;line-height:1.7}
.history-type-card b{font-size:12px}

/* 모의고사 */
.history-mock-intro span{font-size:13px}
.history-mock-intro h3{font-size:24px}
.history-mock-intro p{font-size:14px;line-height:1.65}
.history-mock-intro>div:last-child b{font-size:27px}
.history-mock-intro small{font-size:11px}
.history-mock-card h4{font-size:17px}
.history-mock-card p{font-size:13px;line-height:1.65}
.history-mock-rounds button{font-size:12px;padding:9px}

/* 문제 풀이 */
.history-runner-head b{font-size:18px}
.history-runner-head span{font-size:12px}
.history-runner-head button{font-size:12px;padding:9px 11px}
.history-mock-clock b{font-size:23px}

.history-question-meta{font-size:13px}
.history-question-meta button{font-size:12px;padding:7px 10px}
.history-passage{
  font-size:15px;
  line-height:1.8;
  padding:14px;
}
.history-question-card>h3{
  font-size:24px;
  line-height:1.6;
}
.history-choice{
  font-size:16px;
  line-height:1.6;
  padding:12px 14px;
}
.history-choice span{
  width:34px;
  height:34px;
  font-size:15px;
}
.history-explanation>b{font-size:17px}
.history-explanation p{font-size:14px;line-height:1.75}
.history-key-point{font-size:13px;line-height:1.65;padding:10px 12px}
.history-runner-actions button,
.history-primary{font-size:14px;padding:11px}

/* 결과 */
.history-result-hero span{font-size:13px}
.history-result-hero b{font-size:42px}
.history-result-hero h3{font-size:22px}
.history-result-hero p{font-size:14px;line-height:1.7}
.history-result-hero button{font-size:14px;padding:11px 14px}

.history-result-item b{font-size:14px}
.history-result-item h4{font-size:17px}
.history-result-item p{font-size:14px;line-height:1.7}

/* 기출문제 */
.history-past-card span{font-size:12px}
.history-past-card h3{font-size:19px}
.history-past-card p{font-size:13px;line-height:1.65}
.history-past-card button{font-size:13px;padding:11px}
.history-past-score{font-size:13px;padding:10px 12px}
.history-past-question>p{font-size:13px}
.history-number-choices button{
  width:54px;
  height:54px;
  font-size:17px;
}
.history-past-status{font-size:16px}

/* 오답노트 */
.history-wrong-card h4{font-size:17px}
.history-wrong-card p{font-size:14px;line-height:1.7}
.history-wrong-card small{font-size:11px}
.history-wrong-card button{font-size:12px;padding:9px 11px}
.history-empty{font-size:14px;padding:28px}

/* 모바일에서도 작은 글씨가 되지 않도록 */
@media(max-width:650px){
  .history-page{font-size:16px}
  .history-page .section-head h2{font-size:29px}
  .history-page .section-head p{font-size:15px}
  .history-tabs button{font-size:14px}
  .history-hero-card h3{font-size:26px}
  .history-hero-card p{font-size:14px}
  .history-pane-head b{font-size:18px}
  .history-question-card>h3{font-size:21px}
  .history-choice{font-size:16px}
  .history-passage{font-size:15px}
  .history-explanation p{font-size:14px}
  .history-summary-card p,
  .history-period-card p,
  .history-wrong-card p,
  .history-result-item p{font-size:14px}
  .history-number-choices button{
    width:52px;
    height:52px;
    font-size:16px;
  }
}
