:root{--bg:#fbfaf7;--text:#20242a;--muted:#646c75;--line:#e2ded6;--accent:#245f55;--panel:#f1eee7}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);word-break:keep-all;overflow-wrap:anywhere;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;line-height:1.75}a{color:var(--accent)}.container{width:min(100%,760px);margin:0 auto;padding:0 16px}.site-header{border-bottom:1px solid var(--line)}.header-row{justify-content:space-between;align-items:center;gap:16px;min-height:64px;display:flex}.brand{color:var(--text);align-items:center;gap:8px;font-weight:700;text-decoration:none;display:flex}.brand span{color:var(--muted);font-size:.85rem;font-weight:400}nav{gap:16px;display:flex}nav a{color:var(--text);text-decoration:none}main.container{padding-top:40px;padding-bottom:64px}h1{margin:0 0 20px;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.3}.intro{margin-bottom:40px}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-top:1px solid var(--line);padding:24px 0}.post-list h2{margin:0 0 8px;font-size:1.25rem;line-height:1.45}.post-list h2 a{color:var(--text);text-decoration:none}.post-list p:last-child{margin-bottom:0}.meta,.muted{color:var(--muted);margin:0 0 6px;font-size:.9rem}.info-box{background:var(--panel);border-radius:10px;margin:0 0 32px;padding:14px 16px;font-size:.9rem}.info-box div{gap:12px;display:flex}.info-box dt{color:var(--muted);flex:0 0 72px}.info-box dd{margin:0}.prose img{max-width:100%;height:auto;display:block}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.prose th{background:var(--panel)}.post-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:.95rem}.post-footer h2{margin-top:24px;font-size:1.05rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:24px 0;font-size:.85rem}.site-footer p{margin:0 0 6px}.admin h1{font-size:1.7rem}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-head>div{align-items:center;gap:12px;display:flex}.admin-head h1{margin:0}.admin-button,.admin-form button{background:var(--accent);color:#fff;cursor:pointer;font:inherit;border:0;border-radius:8px;padding:9px 16px;text-decoration:none}.admin-link{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;text-decoration:underline}.admin-form{gap:16px;margin-bottom:24px;display:grid}.admin-form label{gap:6px;font-size:.92rem;font-weight:600;display:grid}.admin-form input,.admin-form textarea,.admin-form select,.admin-upload input[type=text]{border:1px solid var(--line);color:var(--text);font:inherit;background:#fff;border-radius:8px;width:100%;padding:9px 10px;font-weight:400}.admin-form textarea{resize:vertical}.admin-form input[readonly]{background:var(--panel);color:var(--muted)}.admin-form button{justify-self:start}.admin-upload{border:1px solid var(--line);border-radius:10px;gap:10px;margin:0 0 32px;padding:14px 16px;display:grid}.admin-upload-drop{background:var(--panel);border:1px dashed var(--line);color:var(--muted);cursor:pointer;text-align:center;border-radius:8px;padding:14px;display:block}.admin-upload-drop input{display:none}.admin-upload-drop.active{border-color:var(--accent);color:var(--accent)}.admin-upload-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-upload-list li{grid-template-columns:96px 1fr;align-items:center;gap:10px;display:grid}.admin-upload-list img{aspect-ratio:16/9;object-fit:cover;border-radius:6px;width:96px;height:auto}.admin-upload-list p{overflow-wrap:anywhere;margin:0 0 6px;font-size:.88rem}.admin-upload-list button{border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:6px;margin-right:6px;padding:4px 8px;font-size:.85rem}.admin-calendar{margin-bottom:24px}.admin-calendar-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.admin-calendar-head h2{margin:0;font-size:1.05rem}.admin-calendar-head a{text-decoration:none}.admin-calendar-head span{color:var(--muted);margin-left:auto;font-size:.9rem}.admin-calendar-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid}.admin-calendar-grid>div{background:var(--bg);min-width:0}.admin-calendar-weekday{color:var(--muted);text-align:center;padding:4px;font-size:.82rem}.admin-calendar-day{flex-direction:column;gap:3px;min-height:84px;padding:4px;font-size:.8rem;display:flex}.admin-calendar-day.today>span{color:var(--accent);font-weight:700}.admin-calendar-day a,.admin-calendar-key{border-radius:4px;padding:2px 4px;font-size:.72rem;line-height:1.35;text-decoration:none}.admin-calendar-day a{word-break:break-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-height:calc(2.916rem + 2px);padding-bottom:0;display:-webkit-box;overflow:hidden}.admin-calendar .scheduled{color:#7a5a00;background:#fdf0cf}.admin-calendar .published{color:var(--accent);background:#e6f2ee}.admin-calendar .muted{margin:6px 0 0;font-size:.82rem}.admin-search-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 24px;display:grid}.admin-search-totals div{background:var(--panel);border-radius:8px;padding:10px 12px}.admin-search-totals dt{color:var(--muted);font-size:.82rem}.admin-search-totals dd{margin:0;font-size:1.3rem;font-weight:700}.admin-table{overflow-x:auto}.admin-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 6px}.admin-table th{color:var(--muted);white-space:nowrap;font-weight:600}.admin-error{color:#9c2b1f;background:#fbe9e7;border-radius:8px;padding:10px 12px}.admin-saved{color:var(--accent);background:#e6f2ee;border-radius:8px;padding:10px 12px}.admin-body-row{gap:16px;display:grid}.admin-live-preview{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;max-height:640px;padding:10px 14px;overflow:auto}.admin-live-preview>p{color:var(--muted);margin:0 0 8px;font-size:.82rem;font-weight:600}.admin-live-preview img{max-width:100%;height:auto}@media (min-width:1100px){.admin-body-row{grid-template-columns:repeat(2,minmax(0,1fr));width:min(1240px,100vw - 48px);margin-left:calc(50% + min(1240px,100vw - 48px)/-2)}.admin-body-row textarea{height:680px}.admin-live-preview{height:0;min-height:100%;max-height:none}}
