*{box-sizing:border-box}
:root{--paper:#f4eee6;--ink:#302820;--brown:#76513a;--dark:#2d251f;--line:#decfbe;--cream:#fbf7f0;--serif:Georgia,"Times New Roman",serif}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif}
a{color:inherit}
.studio-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 22px;background:var(--dark);color:#fff}
.studio-topbar a{text-decoration:none;opacity:.86}.studio-topbar div{display:flex;gap:14px}
.studio-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 52px)}
.studio-sidebar{position:sticky;top:0;height:calc(100vh - 52px);overflow:auto;padding:25px 18px;background:#352a23;color:#fff}
.book-identity{padding:15px 10px 23px;border-bottom:1px solid rgba(255,255,255,.14)}
.book-identity small{opacity:.64;letter-spacing:.11em}.book-identity h1{font:500 31px/1.12 var(--serif);margin:10px 0}.book-identity p{font-size:.82rem;line-height:1.55;opacity:.76}
.progress-track{height:8px;margin:17px 0 8px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.13)}.progress-track span{display:block;height:100%;background:#d9ba91}
.book-identity b{font-size:.77rem;opacity:.75}
.chapter-nav{display:grid;margin-top:17px}.chapter-nav a{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:9px;text-decoration:none;color:#e7ddd3;font-size:.88rem}.chapter-nav a.active{background:#8a6247;color:#fff}.chapter-nav em{font-style:normal;opacity:.6}
.sidebar-actions{display:grid;gap:9px;margin-top:20px}.sidebar-actions a{padding:11px 12px;border:1px solid rgba(255,255,255,.17);border-radius:9px;text-align:center;text-decoration:none}
.studio-main{min-width:0;padding:35px clamp(18px,4vw,56px) 110px}
.notice{margin-bottom:17px;padding:14px 16px;border-radius:11px}.success{background:#e3efe8;color:#315d49}.error{background:#f6e1dc;color:#893d31}
.chapter-banner{display:flex;justify-content:space-between;gap:30px;padding:38px;border-radius:26px;color:#fff;background:linear-gradient(135deg,#463229,#896148)}
.chapter-banner small{letter-spacing:.15em}.chapter-banner h2{font:500 clamp(38px,5.7vw,70px)/1.05 var(--serif);margin:9px 0}.chapter-banner p{opacity:.8}
.status-cards{display:grid;grid-template-columns:repeat(2,105px);gap:9px}.status-cards article{padding:14px;border-radius:13px;background:rgba(255,255,255,.11);text-align:center}.status-cards strong,.status-cards span{display:block}.status-cards strong{font:28px var(--serif)}
.studio-panel{margin-top:22px;padding:27px;border:1px solid var(--line);border-radius:18px;background:#fff}
.panel-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:19px}.panel-title small{color:#8b6145;letter-spacing:.15em}.panel-title h3{margin:5px 0 0;font:500 36px var(--serif)}.panel-head p{max-width:520px;color:#786b60;line-height:1.65}
.form-grid,.two-column{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid .full{grid-column:1/-1}
label{display:grid;gap:7px}label>span{font-weight:700;font-size:.82rem}
input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d4c4b3;border-radius:10px;background:#fffdf9;color:var(--ink);font:inherit}textarea{resize:vertical;line-height:1.65}
button,.soft-button{border:0;border-radius:999px;padding:12px 17px;background:var(--brown);color:#fff;font-weight:800;cursor:pointer}.soft-button{background:#eadac8;color:#65462f}
.repeat-list{display:grid;gap:11px}.change-row{display:grid;grid-template-columns:150px 1fr 1fr 1fr auto;gap:8px}.event-row{display:grid;grid-template-columns:105px 1fr 2fr 1fr auto;gap:8px}.remove-row{padding:8px 11px;background:#f1e2dc;color:#874436;border-radius:9px}
.link-group{display:flex;gap:10px;align-items:center}.link-group a{text-decoration:none;color:var(--brown);font-weight:800}
.memory-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-grid article{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--cream)}.photo-grid img{display:block;width:100%;height:190px;object-fit:cover}.photo-grid strong,.photo-grid small{display:block;padding:9px 11px}.photo-grid small{padding-top:0;color:#786a5f}
.voice-card{margin-bottom:11px;padding:15px;border-radius:12px;background:var(--cream)}.voice-card audio{width:100%;margin:9px 0}.voice-card p{line-height:1.7}
.empty{padding:28px;border-radius:13px;background:var(--cream);color:#7c6e63;text-align:center}.helper{color:#75685d}
.save-bar{position:sticky;bottom:15px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;padding:15px 18px;border-radius:15px;background:#2f261f;color:#fff;box-shadow:0 13px 35px rgba(47,38,31,.22)}
.modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(30,24,20,.68)}.modal[hidden]{display:none}.modal-card{position:relative;width:min(650px,100%);padding:28px;border-radius:20px;background:#fff}.modal-card form{display:grid;gap:13px}.modal-close{position:absolute;right:14px;top:12px;background:transparent;color:#504239;font-size:25px}
@media(max-width:1080px){.studio-layout{grid-template-columns:240px minmax(0,1fr)}.change-row,.event-row{grid-template-columns:1fr 1fr}.change-row .remove-row,.event-row .remove-row{grid-column:1/-1}.memory-grid{grid-template-columns:1fr}.status-cards{grid-template-columns:repeat(3,95px)}}
@media(max-width:760px){.studio-topbar{align-items:flex-start;flex-direction:column}.studio-layout{display:block}.studio-sidebar{position:relative;height:auto}.chapter-nav{grid-template-columns:repeat(2,1fr)}.chapter-banner{flex-direction:column}.status-cards{grid-template-columns:repeat(3,1fr)}.form-grid,.two-column{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.panel-head{align-items:stretch;flex-direction:column}.save-bar{align-items:stretch;flex-direction:column}}
@media(max-width:480px){.chapter-nav,.photo-grid,.status-cards{grid-template-columns:1fr}.change-row,.event-row{grid-template-columns:1fr}}