:root{--ink:#2f2a25;--muted:#7d746b;--cream:#f7f1e8;--paper:#fffdf9;--sage:#78856b;--rust:#b66648;--line:#e5dcd0;--shadow:0 18px 55px #4d3f3020}*{box-sizing:border-box}html{font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;color:var(--ink);background:var(--cream)}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.primary{border:0;border-radius:999px;background:var(--rust);color:white;padding:.78rem 1.2rem;cursor:pointer;font-weight:700}header{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fffdf9eF;position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.logo{font-family:Georgia,serif;font-weight:700;font-size:1.35rem}.logo span{display:inline-grid;place-items:center;width:36px;height:36px;margin-right:8px;border-radius:50%;background:var(--sage);color:white}nav{display:flex;gap:18px;align-items:center}nav form{margin:0}.link{background:none;color:var(--ink);padding:0}main{min-height:calc(100vh - 150px)}footer{text-align:center;color:var(--muted);padding:38px}.welcome{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding:7vh 7vw;gap:7vw;align-items:center;background:radial-gradient(circle at 20% 10%,#fff 0,transparent 40%),var(--cream)}.hero-copy{max-width:570px}.eyebrow{letter-spacing:.18em;font-size:.76rem;font-weight:800;color:var(--rust)}h1{font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(2.4rem,5vw,5rem);line-height:1.08;margin:.25em 0}.hero-copy h1 em{color:var(--rust);font-weight:400}.hero-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8}.hero-photo{position:relative;transform:rotate(1.5deg);background:white;padding:14px 14px 50px;box-shadow:var(--shadow)}.hero-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.hero-photo span{position:absolute;bottom:16px;left:22px;color:var(--muted);font-size:.8rem}.login-box{margin:30px 0 14px;background:var(--paper);padding:22px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 1fr;gap:12px}.login-box button{grid-column:1/-1;display:flex;justify-content:space-between}.login-card{width:min(460px,92vw);margin:10vh auto;padding:32px;background:white;border-radius:24px;box-shadow:var(--shadow)}label{display:grid;gap:7px;font-size:.86rem;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:11px;background:white;padding:12px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid #b6664860;border-color:var(--rust)}.topline,.form-page{width:min(1120px,92vw);margin:55px auto}.topline{display:flex;justify-content:space-between;align-items:end}.topline h1,.form-page h1{font-size:clamp(2.4rem,5vw,4rem)}.search{display:flex;gap:8px}.search input{min-width:300px}.tagbar{width:min(1120px,92vw);margin:-35px auto 28px;display:flex;gap:8px;overflow:auto;padding-bottom:8px}.tagbar a,.tags a{white-space:nowrap;border-radius:999px;padding:7px 11px;background:#fff;border:1px solid var(--line);color:var(--sage);font-size:.86rem}.feed{width:min(760px,92vw);margin:auto;display:grid;gap:24px}.post{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 8px 30px #4d3f3012}.post-head{display:flex;align-items:center;gap:10px}.avatar{width:43px;height:43px;border-radius:50%;background:#e9efe4;display:grid;place-items:center;font-size:1.3rem}.post-head div{display:grid}.post-head small{color:var(--muted)}.type{margin-left:auto;color:var(--rust);font-size:.8rem;font-weight:800}.post h2{font-family:Georgia,"Noto Serif KR",serif;font-size:1.7rem;margin-bottom:8px}.body{line-height:1.75}.map{display:inline-block;margin:10px 0;color:var(--sage);font-weight:700}.tags{display:flex;flex-wrap:wrap;gap:6px}.actions{display:flex;gap:8px;margin:20px 0 12px}.actions button{background:#f3ece2;color:var(--ink);padding:8px 12px}.comment{background:#f7f2eb;padding:10px;border-radius:10px;margin:6px 0}.comment-form{display:flex;gap:8px;margin-top:12px}.editor{display:grid;gap:18px}.editor fieldset,.panel,.calendar-list article{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:24px}.editor legend{font-family:Georgia,"Noto Serif KR",serif;font-size:1.3rem;font-weight:700;padding:0 8px}.editor fieldset{display:grid;gap:18px}.choice-row,.checks{display:flex;flex-wrap:wrap;gap:8px}.choice-row label,.checks label{display:flex;align-items:center;gap:6px;background:#f4eee5;border-radius:999px;padding:9px 13px}.choice-row input,.checks input{width:auto}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.drop{border:2px dashed var(--line);padding:25px;text-align:center;border-radius:15px}.hint,.muted,small{color:var(--muted)}.submit{padding:16px;font-size:1.05rem}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack{display:grid;gap:12px}.panel ul{padding-left:20px}.calendar-list{width:min(900px,92vw);margin:auto;display:grid;gap:12px}.calendar-list article{display:flex;align-items:center;gap:24px}.calendar-list time{font-weight:800;color:var(--rust)}.calendar-list article div{flex:1}.calendar-list h2{margin:5px 0}.empty{width:min(760px,92vw);margin:50px auto;text-align:center;background:white;border:1px dashed var(--line);border-radius:20px;padding:50px}.empty p{color:var(--muted)}.error{color:#a22;background:#fee;padding:8px;border-radius:8px}@media(max-width:760px){header{height:auto;padding:14px 18px;align-items:flex-start}nav{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem}.logo{font-size:0}.logo span{font-size:1rem;margin:0}.welcome{grid-template-columns:1fr;padding:5vh 6vw}.hero-copy{display:contents}.hero-copy .eyebrow,.hero-copy h1,.hero-copy>p{order:0}.hero-photo{order:1;max-height:34vh;overflow:hidden}.login-box,.hero-copy small{order:2}.hero-photo img{aspect-ratio:16/9}.login-box{grid-template-columns:1fr}.topline{align-items:stretch;flex-direction:column;gap:14px}.search input{min-width:0}.admin-grid,.grid{grid-template-columns:1fr}.calendar-list article{align-items:flex-start;flex-wrap:wrap}.calendar-list article button{width:100%}}

body.nas-modal-open{overflow:hidden}.nas-modal-overlay{position:fixed;inset:0;z-index:1000;background:#2f2a2599;display:grid;place-items:center;padding:20px}.nas-modal{width:min(820px,96vw);height:min(780px,92vh);display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 28px 90px #241b1555;overflow:hidden}.nas-modal-head{position:static;height:auto;padding:20px 24px;background:var(--paper);display:flex;align-items:flex-start;border-bottom:1px solid var(--line);backdrop-filter:none}.nas-modal-head h2{margin:0;font-family:Georgia,"Noto Serif KR",serif;font-size:1.55rem}.nas-modal-head p{margin:5px 0 0;color:var(--muted)}.nas-modal-close{margin-left:auto;background:#f3ece2;color:var(--ink);font-size:1.5rem;line-height:1;padding:8px 13px}.nas-modal-tools{padding:14px 24px;display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:end;border-bottom:1px solid var(--line)}.nas-modal-tools label{min-width:0}.nas-open{white-space:nowrap}.nas-location{display:flex;align-items:center;gap:12px;padding:10px 24px}.nas-up{background:#f3ece2;color:var(--ink);padding:8px 13px}.nas-breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nas-status{padding:0 24px 10px;color:var(--muted);font-size:.88rem}.nas-status.error{margin:0 24px 10px;padding:9px 12px}.nas-file-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 24px 18px;display:grid;align-content:start;gap:7px;scrollbar-gutter:stable}.nas-folder-row,.nas-file-row{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);padding:10px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left}.nas-folder-row span:nth-child(2),.nas-file-row span:last-child{overflow-wrap:anywhere}.nas-folder-row:hover,.nas-file-row:hover{border-color:var(--rust);background:#fff8f1}.nas-file-row{cursor:pointer}.nas-file-row input{width:19px;height:19px;margin:0}.nas-empty{text-align:center;color:var(--muted);padding:45px 16px}.nas-modal-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.nas-modal-foot div{display:flex;gap:9px}.nas-cancel{background:#f3ece2;color:var(--ink)}@media(max-width:680px){.nas-modal-overlay{padding:0}.nas-modal{width:100vw;height:100dvh;border-radius:0}.nas-modal-tools{grid-template-columns:1fr}.nas-modal-head{padding:16px 18px}.nas-modal-tools,.nas-location{padding-left:18px;padding-right:18px}.nas-file-list{padding-left:18px;padding-right:18px}.nas-modal-foot{padding:12px 18px}.nas-modal-foot{align-items:flex-start;gap:8px}.nas-modal-foot div{flex-wrap:wrap;justify-content:flex-end}}
.nas-file-row.has-preview{grid-template-columns:auto 112px minmax(0,1fr);min-height:96px}.nas-thumb{display:block;width:112px;height:78px;object-fit:contain;border-radius:9px;background:#f7efe5;border:1px solid var(--line)}.nas-media-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#f3ece2;color:var(--rust);font-weight:800}@media(max-width:520px){.nas-file-row.has-preview{grid-template-columns:auto 82px minmax(0,1fr);padding:8px}.nas-thumb{width:82px;height:66px}}
.photo-with-caption{margin:0;min-width:0;display:grid;align-content:start;background:#f7e7da;border-radius:14px;overflow:hidden}.photo-with-caption>a{min-width:0}.photo-with-caption img{width:100%}.photo-with-caption figcaption{padding:11px 14px 13px;background:#fffaf5;color:#554a42;line-height:1.6;overflow-wrap:anywhere;border-top:1px solid var(--line)}.music-player-card{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid #e5cdbd;border-radius:16px;background:linear-gradient(135deg,#fffaf5,#f3e3d6)}.music-note{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--rust);color:white;font-size:1.45rem}.music-information{min-width:0;display:grid;gap:7px}.music-title{font-family:Georgia,"Noto Serif KR",serif;font-size:1.08rem;font-weight:800}.music-line{min-width:0;display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px;align-items:center;font-size:.82rem}.music-line>b{color:var(--rust)}.music-scroll{min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%)}.music-scroll>span{display:inline-block;padding:0 10px}.music-scroll.is-overflowing>span{animation:musicTicker var(--scroll-duration,14s) linear 1s infinite}.music-player-card audio{grid-column:1/-1;width:100%;margin-top:3px}@keyframes musicTicker{0%,14%{transform:translateX(0)}86%,100%{transform:translateX(calc(-1 * var(--scroll-distance,0px)))}}.selected-source-list{display:grid;gap:9px}.selected-source-card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:white}.selected-source-card>img{width:92px;height:70px;object-fit:contain;border-radius:9px;background:#f7efe5}.selected-source-card>div{min-width:0;display:grid;gap:7px}.selected-source-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-source-icon,.existing-media-icon{width:52px;height:52px;display:grid!important;place-items:center;border:0!important;border-radius:50%!important;background:#f3ece2!important;color:var(--rust);font-size:1.25rem}.existing-media .existing-media-item{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);padding:10px;border-radius:14px;background:white}.existing-media-item>img{width:82px;height:66px;object-fit:contain;border-radius:8px;background:#f7efe5}.existing-media-item>div{min-width:0;display:grid;gap:6px}.existing-media-item>div>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.existing-media-item label{font-size:.78rem}@media(max-width:600px){.selected-source-card,.existing-media .existing-media-item{grid-template-columns:72px minmax(0,1fr)}.selected-source-card>img,.existing-media-item>img{width:72px;height:58px}.selected-source-card>button,.existing-media-item>button{grid-column:1/-1}.music-player-card{grid-template-columns:38px minmax(0,1fr);padding:12px}.music-note{width:38px;height:38px}}
.music-ai-warning{margin:12px 0 0;padding:11px 13px;border:1px solid #d8c7a5;border-radius:12px;background:#fff8e9;color:#6d512b;line-height:1.55}
