@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#243f38;background:#f6f5f0;font-synthesis:none;--green:#163f38;--muted:#78847c;--line:#e4e6de;--orange:#d69854}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button{color:inherit}a{color:inherit}button:disabled{opacity:.35;cursor:default}.shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{padding:38px 24px;position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#fafaf6;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:21px;letter-spacing:-1px}.brand img{width:39px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#89958b;margin-top:2px}.side-label{font-size:10px;color:#9ba39a;letter-spacing:2px;margin:48px 14px 16px}.nav{display:grid;gap:9px}.nav button{border:0;background:transparent;text-align:left;padding:14px 16px;border-radius:9px;color:#728077;font-size:13px}.nav button.active{background:var(--green);color:white;box-shadow:0 5px 13px #163f3818}.nav span{font-size:18px;display:inline-block;width:30px}.side-trip{margin-top:auto;border:1px solid var(--line);padding:17px;border-radius:12px;font-size:12px;line-height:1.9}.side-trip b{display:block}.side-trip p{margin:5px 0;color:var(--muted);font-size:11px}.side-foot{font-size:10px;color:#8a958d;padding:20px 6px 0}.main{padding:29px 42px 40px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#8a948b;margin-bottom:26px}.topbar b{color:#445b50;font-weight:500}.top-actions{display:flex;gap:12px;align-items:center}.status{background:#e8eee5;padding:6px 10px;border-radius:20px;color:#667c60;font-size:10px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#82917f}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:23px}h1{font-size:29px;letter-spacing:-1.2px;margin:8px 0}h2{font-size:19px;letter-spacing:-.6px;margin:0}h3{font-size:14px;margin:0}p{line-height:1.8}.muted{color:var(--muted);font-size:12px}.heading p{margin:6px 0 0}.btn{border:1px solid #dbe0d5;background:white;border-radius:7px;padding:9px 13px;font-size:11px;text-decoration:none;display:inline-flex;gap:6px;align-items:center;justify-content:center}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.ghost{background:transparent}.btn.danger{color:#aa5148}.hero{position:relative;min-height:210px;border-radius:15px;background:#234f49;overflow:hidden;padding:31px 34px;color:white;display:flex;justify-content:space-between;isolation:isolate}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#153e39 0%,#153e3999 55%,#153e3900);z-index:-1}.hero-art{position:absolute;right:0;bottom:-6px;width:58%;height:110%;z-index:-2}.hero .eyebrow{color:#c6d7bd;font-size:9px}.hero h2{font-size:30px;margin:13px 0 9px;letter-spacing:-1px;line-height:1.4}.hero p{font-size:11px;color:#d4dfd6;margin:0}.hero-meta{display:flex;gap:21px;margin-top:19px;font-size:11px;color:#e4e8da}.hero-badge{align-self:start;border:1px solid #ffffff40;background:#ffffff17;padding:7px 10px;border-radius:20px;font-size:9px;z-index:1}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 27px}.summary-card{background:#fff;border:1px solid var(--line);padding:16px 19px;border-radius:11px;display:flex;gap:14px;align-items:center}.summary-icon{width:34px;height:34px;border-radius:10px;background:#f1f3ec;display:grid;place-items:center}.summary-card small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.summary-card b{font-size:13px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-label span{font-size:10px;color:var(--muted)}.day-tabs{display:flex;gap:8px;margin-bottom:23px;overflow:auto;padding-bottom:3px}.day-tab{flex:1;min-width:66px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px 7px;display:grid;gap:5px;text-align:center}.day-tab small{font-size:9px;color:var(--muted)}.day-tab b{font-size:16px}.day-tab em{font-style:normal;font-size:9px;color:#8b968b}.day-tab.active{background:var(--green);border-color:var(--green);color:#fff}.day-tab.active small,.day-tab.active em{color:#c2d1c5}.content-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:20px}.panel{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #eef0e9;display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-head p{margin:5px 0 0;font-size:10px;color:var(--muted)}.date-tag{font-size:9px;color:#7e8f7e;background:#f0f3eb;border-radius:5px;padding:5px 7px;white-space:nowrap}.timeline{padding:8px 22px 20px}.stop{display:grid;grid-template-columns:43px 23px 1fr;gap:9px;position:relative;padding-top:21px}.stop-time{font-size:10px;color:#7f8b82;padding-top:4px}.stop-dot{border:1px solid #c9d6c8;background:#eef3ea;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:9px;z-index:1}.stop.done .stop-dot{background:var(--green);color:white}.stop:not(:last-child):after{content:'';position:absolute;left:62px;top:43px;bottom:-20px;border-left:1px dashed #d9dfd3}.stop-card{min-width:0;border-bottom:1px solid #eff0eb;padding-bottom:15px}.stop-top{display:flex;justify-content:space-between;gap:5px;align-items:center}.stop-name{border:0;background:transparent;padding:0;text-align:left;font-size:13px;font-weight:700}.stop-card .en{font-size:10px;color:#8c968d;margin:4px 0 8px}.tag{display:inline-block;background:#f1f3ed;border-radius:4px;font-size:9px;padding:4px 7px;color:#74836f}.tag.warm{background:#faf0e4;color:#a77d48}.stop-note{font-size:11px;line-height:1.7;color:#7b867d;margin:8px 0}.stop-actions{display:flex;gap:8px;margin-top:10px;align-items:center}.icon-btn{border:0;background:none;padding:4px 6px;color:#849183;font-size:12px}.transport-line{font-size:10px;color:#98a08f;padding-top:11px;display:flex;align-items:center;gap:5px}.map-wrap{height:310px;position:relative;background:#eaf0e6}.map{height:100%;width:100%;z-index:0}.map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center;color:#6e8175;background:repeating-linear-gradient(35deg,transparent,transparent 47px,#dbe3d7 48px,#dbe3d7 50px),#eef1e8;font-size:12px;gap:12px}.map-note{padding:11px 17px;font-size:9px;color:#88917f;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.map-note i{display:inline-block;width:15px;border-top:2px dashed #528571;margin-right:5px}.number-pin{background:var(--green);color:white;border:3px solid white;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;box-shadow:0 2px 8px #183c3833}.weather{margin-top:17px;padding:19px 22px;background:#ecefe4;border-radius:11px;border:1px solid #e2e7d7}.weather-top{display:flex;justify-content:space-between;align-items:center}.weather-main{display:flex;align-items:center;gap:13px;margin:14px 0 9px}.weather-temp{font-size:24px;letter-spacing:-1px}.weather p{font-size:10px;color:#7e8a76;margin:6px 0}.weather span{font-size:12px}.guide-strip{margin-top:18px;padding:15px 18px;background:#faf6ed;border:1px solid #eee6d5;border-radius:10px;font-size:11px;color:#8d7e5b;line-height:1.8}.view-title{margin-bottom:24px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:21px}.filters button{border:1px solid var(--line);background:white;border-radius:22px;padding:8px 15px;font-size:11px}.filters button.active{background:var(--green);color:white}.search{width:100%;padding:12px 15px;border:1px solid var(--line);border-radius:9px;margin-bottom:16px;background:white}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.place-card{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.place-art{height:103px;display:flex;align-items:center;justify-content:space-between;padding:21px 24px;background:#e9eee3;color:#83977a}.place-art .symbol{font-size:37px}.place-body{padding:19px}.place-body .en{font-size:10px;color:var(--muted);margin:6px 0 14px}.place-body p{font-size:11px;color:#7e897c;min-height:40px}.place-body .btn{margin-top:6px}.favorite{border:0;background:#ffffff88;border-radius:50%;width:30px;height:30px;color:#56715a}.favorite.on{color:#b1763a}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guide-card{padding:25px;background:white;border:1px solid var(--line);border-radius:12px}.guide-card h3{font-size:16px;margin:12px 0}.guide-card p,.guide-card li{font-size:12px;line-height:1.95;color:#778475}.guide-card ul{padding-left:18px}.guide-card a{font-size:11px;color:#3b7061}.big-icon{font-size:25px}.settings{max-width:750px}.form-field{display:grid;gap:7px;font-size:12px;margin-bottom:17px}.form-field input,.form-field select,.form-field textarea{border:1px solid #dce0d5;border-radius:7px;background:white;padding:11px;color:#344d40;width:100%}.form-field textarea{min-height:80px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:35px;text-align:center;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:15px;width:min(520px,calc(100% - 30px));padding:25px;color:#344e42;max-height:90vh;overflow:auto}dialog::backdrop{background:#122c2880;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}dialog p{font-size:12px;color:#7b8678}.detail-menu{padding:15px;background:#f3f1e7;border-radius:8px;font-size:12px;margin:18px 0}.footer{margin-top:25px;display:flex;justify-content:space-between;font-size:9px;color:#9aa18f}.footer a{text-decoration:none}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#173f38;color:white;border-radius:9px;padding:12px 20px;font-size:12px;z-index:10000;display:none;max-width:90vw}.mobile-brand{display:none}.day-route{font-size:11px;line-height:2;color:#6c7e6d;overflow-wrap:anywhere}.offline-pill{font-size:10px;color:#a77345}.weather-loading{font-size:12px;padding:12px 0}.check-row{display:flex;align-items:center;gap:8px;font-size:11px}.check-row input{accent-color:var(--green)}
@media(min-width:1400px){.main{padding:34px 54px}.hero{min-height:230px}.map-wrap{height:340px}}
@media(max-width:1100px){.shell{grid-template-columns:190px 1fr}.sidebar{padding:30px 16px}.main{padding:25px}.content-grid{grid-template-columns:1fr 1fr}.place-grid{grid-template-columns:repeat(2,1fr)}.hero h2{font-size:26px}.hero-art{width:66%}.summary-card{padding:14px 11px;gap:8px}.summary-card b{font-size:11px}.panel-head{padding:17px 15px}.timeline{padding:5px 14px 18px}.hero-badge{display:none}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:auto;padding:6px 8px calc(7px + env(safe-area-inset-bottom));z-index:1000;border-top:1px solid var(--line);background:#fafbf8}.sidebar .brand,.side-label,.side-trip,.side-foot{display:none}.nav{display:flex;gap:3px;justify-content:space-around}.nav button{padding:8px 9px;font-size:9px;text-align:center;border-radius:9px;flex:1}.nav span{display:block;margin:auto;width:auto;font-size:18px;margin-bottom:3px}.main{padding:19px 17px 100px}.topbar{margin-bottom:24px;font-size:10px}.mobile-brand{display:block;font-weight:700;color:var(--green);font-size:14px}.breadcrumb{display:none}.top-actions{gap:8px}.top-actions .btn{font-size:9px;padding:7px 9px}.heading{align-items:start}.heading h1{font-size:25px}.heading p{font-size:11px}.heading>.btn{padding:8px;font-size:9px}.hero{min-height:207px;padding:25px 22px}.hero h2{font-size:25px}.hero-art{width:88%;right:-80px;opacity:.8}.hero-meta{font-size:10px;gap:12px}.hero p{max-width:225px;font-size:10px}.summary{gap:7px;margin:12px 0 24px}.summary-card{display:block;padding:12px 9px}.summary-icon{display:none}.summary-card small{font-size:9px}.summary-card b{font-size:10px}.content-grid{grid-template-columns:1fr}.day-tabs{margin-bottom:16px;gap:6px}.day-tab{min-width:58px;padding:10px 7px}.section-label h2{font-size:16px}.map-wrap{height:300px}.place-grid,.guide-grid{grid-template-columns:1fr}.footer{gap:15px;line-height:1.8}.form-row{grid-template-columns:1fr 1fr}.panel-head{padding:18px}.timeline{padding:5px 18px 20px}.hero .eyebrow{font-size:8px}.status{font-size:9px}.place-art{height:85px}.heading{gap:12px}.guide-card{padding:22px}}
.trips-home{max-width:1180px;margin:auto;padding:30px 40px 50px}.trips-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}.trips-heading{margin-bottom:28px}.trips-heading h1{font-size:34px;margin-top:12px}.library-banner{background:#1c443b;border-radius:17px;padding:32px 36px;color:#faf7e9;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.library-banner .eyebrow{color:#b2c8ab;font-size:9px}.library-banner h2{font-size:26px;line-height:1.55;margin:13px 0 10px}.library-banner p{font-size:12px;color:#c8d5c4;margin:0}.library-illustration{font-size:100px;letter-spacing:15px;color:#c9b48a;transform:rotate(-12deg);padding:15px}.library-stats{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:24px 0;margin-bottom:31px;font-size:12px;color:#86917e}.library-stats b{color:var(--green);font-size:20px;margin-right:5px}.trip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.trip-card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;padding:0;transition:transform .2s,box-shadow .2s}.trip-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #173c3512}.trip-cover{position:relative;height:190px;overflow:hidden;isolation:isolate;background:#315c50;color:#f6f1dd;padding:21px 24px}.trip-cover .hero-art{width:85%;height:110%;right:-20px;z-index:-1;opacity:.85}.trip-cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1c443baa,transparent)}.trip-region{font-size:10px;letter-spacing:2px}.trip-days{position:absolute;right:21px;top:19px;border:1px solid #ffffff55;background:#ffffff10;border-radius:20px;padding:5px 9px;font-size:9px;letter-spacing:1px}.trip-cover-title{position:absolute;bottom:22px;left:24px;font-size:29px;letter-spacing:-1px;font-weight:600}.trip-info{padding:23px 24px 19px}.trip-card-title{display:flex;justify-content:space-between;align-items:center}.trip-card-title h3{font-size:18px}.trip-card-title>span{font-size:21px;color:#8c9b83}.trip-period{font-size:11px;color:#7c897a;margin:12px 0 8px}.trip-family{font-size:11px;color:#8a9385;margin:0 0 20px}.trip-card-bottom{display:flex;justify-content:space-between;border-top:1px solid #edf0e8;padding-top:15px;font-size:10px;color:#82917a}.trip-card-bottom span:last-child{color:#3d6450;font-weight:600}.new-trip-card{border:1px dashed #c5cebd;border-radius:14px;background:transparent;min-height:356px;display:flex;flex-direction:column;align-items:center;justify-content:center}.new-trip-plus{display:grid;place-items:center;background:#e9eee2;color:#718367;border-radius:50%;width:48px;height:48px;font-size:27px;margin-bottom:19px}.new-trip-card h3{font-size:15px}.new-trip-card p{font-size:12px;color:#8a9480;margin:12px 0 22px;text-align:center}.custom-cover{background:#7c8066}.custom-trip-art{position:absolute;right:30px;bottom:-30px;font-size:190px;color:#c7c5a280;transform:rotate(-15deg)}
@media(max-width:760px){.trips-home{padding:23px 20px 35px}.trips-top{margin-bottom:35px}.trips-top .brand{font-size:18px}.trips-top .brand img{width:33px}.trips-top .status{display:none}.trips-heading{display:block}.trips-heading h1{font-size:27px}.trips-heading>.btn{margin-top:17px;padding:11px 16px;font-size:12px}.library-banner{padding:25px 23px}.library-banner h2{font-size:21px}.library-banner p{font-size:10px;max-width:230px}.library-illustration{font-size:65px;padding:0;margin-right:-30px}.library-stats{gap:19px;font-size:10px;margin-bottom:26px;padding:22px 0}.library-stats b{font-size:18px}.trip-grid{grid-template-columns:1fr;gap:17px}.new-trip-card{min-height:230px}.trip-cover{height:180px}.trips-home .section-label span{font-size:9px}.trips-home .footer{display:block}.trips-home .footer span{display:block;margin-top:8px}.nav button{padding-left:5px;padding-right:5px}.nav button span{font-size:17px}}
.library-banner{position:relative}.library-banner>div:first-child{position:relative;z-index:1}.library-banner h2{word-break:keep-all}.library-illustration{position:absolute;right:30px;top:25px;opacity:.65;pointer-events:none}.library-banner p{position:relative;z-index:1}
@media(max-width:760px){.trips-top{margin-bottom:27px}.trips-heading{margin-bottom:22px}.library-banner{padding:21px 23px}.library-banner h2{font-size:19px;margin:10px 0}.library-banner p{max-width:85%}.library-illustration{right:20px;top:27px;opacity:.25}.library-stats{padding:18px 0;margin-bottom:23px}}
