:root{--ink:#213f3b;--green:#1d5b4f;--orange:#b55f39;--cream:#f5f3ec;--line:#d8dfd6;--muted:#66776f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Pretendard,"Malgun Gothic","Apple SD Gothic Neo",sans-serif;line-height:1.65}button,input,select{font:inherit}button,a,select,input{outline-offset:5px}a{color:inherit}button{cursor:pointer}header{max-width:1320px;margin:auto;padding:27px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:800;font-size:19px}.mark{background:var(--green);color:#fff;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:32px}.brand small{display:block;font-size:9px;letter-spacing:2.7px;line-height:1.2;margin-top:3px}.nav-link{font-size:13px;text-decoration:none}main{max-width:1320px;margin:auto;padding:0 40px}.intro{padding:55px 0 34px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 12px;color:var(--muted)}h1{font-size:48px;line-height:1.3;letter-spacing:-2px;font-weight:600;margin:0 0 20px}h1 em{font-style:normal;color:var(--green)}.intro>p:last-child{color:var(--muted);font-size:14px;margin:0}.toolbar{display:flex;align-items:end;gap:14px;padding:22px 0 27px}.toolbar>div{flex:1;min-width:0}.toolbar .search{flex:2.1}label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}input,select{width:100%;border:1px solid #cbd5cb;background:#fff;border-radius:7px;padding:12px 14px;color:var(--ink);height:49px}.plain{background:transparent;border:1px solid var(--line);border-radius:7px;padding:12px 17px;height:49px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:28px;align-items:start}.calendar-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;overflow:hidden}.month-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.month-top .eyebrow{margin-bottom:0}h2{font-size:25px;letter-spacing:-.8px;line-height:1.4;margin:2px 0 0}.month-actions{display:flex;gap:6px}.month-actions button{border:1px solid var(--line);border-radius:6px;padding:6px 11px;background:#fff;font-size:13px;color:var(--ink)}.calendar-legend{display:flex;align-items:center;gap:15px;font-size:11px;margin:22px 0 17px}.calendar-legend span{display:flex;align-items:center;gap:5px}.dom-dot,.over-dot{height:6px;width:6px;border-radius:50%;background:var(--green);display:inline-block}.over-dot{background:var(--orange)}.muted{color:var(--muted);margin-left:auto}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{padding-bottom:10px;color:var(--muted);font-size:11px;text-align:center}.weekdays span:first-child{color:var(--orange)}.calendar{border-top:1px solid var(--line);border-left:1px solid var(--line)}.day{min-height:93px;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;background:#fff;text-align:left;padding:9px 7px;color:var(--ink);display:flex;flex-direction:column;align-items:stretch;gap:7px;position:relative}.day:hover{background:#eef5ee}.day .num{font-size:13px;font-weight:600}.day .count{font-size:10px;line-height:1.4;white-space:nowrap;color:var(--green);background:#e9f1ea;border-radius:3px;padding:2px 4px}.day .count.over{color:var(--orange);background:#faeee5}.day .counts{display:flex;flex-direction:column;gap:3px}.day.blank{background:#fafbf8;cursor:default}.day.selected{background:#dcebe2;box-shadow:inset 0 0 0 2px var(--green)}.day.is-today .num:after{content:"오늘";font-size:8px;color:var(--green);margin-left:4px}.calendar-note{font-size:11px;color:var(--muted);margin:14px 0 18px}.month-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}.text-button{border:0;background:none;color:var(--green);font-size:12px;font-weight:700;padding:5px}.results-panel{padding:24px 0}.results-head{margin-bottom:20px}.results-head .eyebrow{margin-bottom:6px}.results-head h2{font-size:24px}.results-head>p:last-child{font-size:12px;color:var(--muted);margin:8px 0}.card{background:#fff;border:1px solid var(--line);border-radius:9px;margin-bottom:12px;padding:19px 20px}.card .meta{display:flex;justify-content:space-between;gap:9px;font-size:10px;color:var(--muted)}.pill{color:var(--green);background:#e9f1ea;padding:2px 7px;border-radius:3px;white-space:nowrap}.pill.over{color:var(--orange);background:#faeee5}.card h3{font-size:19px;line-height:1.45;letter-spacing:-.6px;margin:12px 0 7px}.card .place,.card .note{font-size:12px;color:var(--muted);margin:4px 0}.card .card-link{display:block;margin-top:15px;font-size:12px;font-weight:700;text-decoration:none;color:var(--green);border-top:1px solid #edf0e9;padding-top:12px}.card-link:hover{text-decoration:underline}.empty{padding:38px 22px;border:1px dashed #becbbb;border-radius:9px;text-align:center;font-size:14px;color:var(--muted)}.empty b{display:block;color:var(--ink);margin-bottom:8px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;font-size:12px}.pagination button{border:1px solid var(--line);background:white;padding:5px 12px;border-radius:5px}.pagination button:disabled{opacity:.4;cursor:default}.about{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin-top:40px}.about-icon{font-size:34px}.about h3{font-size:16px;margin:0 0 6px}.about p{font-size:12px;color:var(--muted);max-width:720px;margin:0}.about>a{font-size:12px;white-space:nowrap;margin-left:auto}footer{padding:35px 0 45px;font-size:11px;color:var(--muted)}footer strong{font-size:14px;color:var(--ink)}footer p{margin:6px 0}@media(min-width:1200px){.intro{display:grid;grid-template-columns:1fr 1fr;align-items:end}.intro>.eyebrow{grid-column:1/-1}.intro h1{margin:0}.intro>p:last-child{padding-bottom:7px}}@media(max-width:900px){.workspace{grid-template-columns:1fr}.results-panel{padding-top:4px}.results-panel #results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{margin:0}.empty{grid-column:1/-1}.pagination{margin-top:15px}.day{min-height:88px}}@media(max-width:560px){header{padding:20px}main{padding:0 16px}.brand{font-size:16px}.mark{width:39px;height:39px;font-size:27px}.nav-link{font-size:11px}h1{font-size:34px;letter-spacing:-1.5px}.intro{padding:35px 4px 18px}.intro>p:last-child{font-size:12px}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 4px 22px}.toolbar .search{grid-column:1/-1}.toolbar .plain{grid-column:1/-1;height:33px;font-size:11px;padding:4px}.calendar-panel{padding:17px 12px}.month-top{gap:8px}.month-actions button{padding:5px 8px;font-size:11px}h2{font-size:22px}.calendar-legend{gap:10px;margin:18px 0 12px;font-size:10px}.calendar-legend .muted{font-size:9px}.day{min-height:82px;padding:7px 3px;gap:5px}.day .num{font-size:12px}.day .count{font-size:9px;padding:2px 2px}.day.is-today .num:after{display:none}.calendar-note{font-size:10px}.month-bottom{font-size:11px}.results-panel #results{grid-template-columns:1fr}.results-head{padding:0 5px}.about{gap:12px;align-items:start;flex-wrap:wrap}.about-icon{display:none}.about>a{margin:0}.card{padding:18px}.card h3{font-size:18px}}

/* v1.6 regional directory */
.results-panel #results{display:block}.region-group{margin:0 0 26px}.region-heading{font-size:15px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--green);padding:0 3px 9px;margin:0}.region-heading span{font-size:11px;color:var(--muted);font-weight:400}.festival-list{list-style:none;margin:0;padding:0}.festival-list li{border-bottom:1px solid var(--line)}.festival-row{display:block;text-decoration:none;padding:16px 4px 18px}.festival-row:hover{background:#eaf0e7}.festival-row:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.festival-row strong{display:block;font-size:19px;line-height:1.5;letter-spacing:-.5px;margin:3px 0}.festival-row strong span{float:right;font-size:15px;margin-left:8px}.row-date{font-size:11px;color:var(--orange)}.row-place{font-size:11px;color:var(--muted);display:block;margin:3px 0}.row-note{font-size:12px;color:var(--muted);display:block;line-height:1.6;overflow-wrap:anywhere}.festival-row strong{overflow-wrap:anywhere}

/* Mobile readability, 2026-11-04 */
.mark{font-size:15px;letter-spacing:-1px}.row-date,.row-place{font-size:13px}.row-note{font-size:14px;line-height:1.75}.region-heading{font-size:17px}.results-head>p:last-child{font-size:14px}.calendar-note{font-size:12px;line-height:1.75}.nav-link{font-size:14px}.intro>p:last-child{font-size:15px}.about p{font-size:14px;line-height:1.75}footer{font-size:12px}.month-actions button{min-height:40px;min-width:36px}.pagination button{min-height:42px;padding:8px 16px}#results-title{scroll-margin-top:16px}@media(max-width:560px){.brand{font-size:15px}.brand small{font-size:8px}.nav-link{font-size:12px}.mark{font-size:13px}.day{min-height:88px}.day .count{font-size:10px;padding:2px 1px}.month-actions button{font-size:12px;padding:5px 7px}.month-top h2{font-size:20px}.calendar-legend .muted{display:none}.row-note{font-size:14px}.festival-row strong{font-size:20px}.toolbar .plain{height:40px;font-size:13px}.calendar-note{font-size:12px}.about>a{font-size:14px}footer{line-height:1.8}}

/* Current Naver profile, 2026-11-04 */
.mark.profile-photo{display:block;width:56px;height:56px;flex:0 0 56px;background:#faf7f0;border:1px solid #e6e1d6;object-fit:contain;border-radius:50%;padding:4px} @media(max-width:560px){.mark.profile-photo{width:48px;height:48px;flex-basis:48px;padding:3px}.brand{gap:10px}}
