:root{--ink:#36251f;--wine:#772e39;--cream:#faf6ef;--gold:#be9a5e}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 'Yu Gothic UI',Meiryo,sans-serif}header{padding:24px 6%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between}header small{letter-spacing:.2em;color:#d3b989}h1{margin:4px 0;font-family:serif;font-size:34px}h1 span{font:14px sans-serif;margin-left:20px}h2{margin:0 0 18px}h3{margin:0 0 10px}.demo{padding:8px 6%;background:#eadfcf;font-size:13px}main{max-width:1200px;margin:32px auto;padding:0 24px}section,.card{padding:26px;background:white;border:1px solid #e7dfd4;border-radius:16px;margin-bottom:20px}#login{max-width:460px;margin:50px auto}label{display:block;margin:12px 0;color:#69564a}input,textarea,select{display:block;padding:12px;width:100%;border:1px solid #d9cfc2;border-radius:8px;background:#fff;font:inherit;color:var(--ink)}textarea{min-height:95px}button{background:var(--wine);color:#fff;border:0;border-radius:9px;padding:12px 22px;font:inherit;cursor:pointer}button:hover{filter:brightness(1.12)}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#eee6db;color:var(--ink)}nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}nav button{background:#eae2d6;color:var(--ink)}nav button.active{background:var(--ink);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.metric{font-size:36px;color:var(--wine);font-weight:bold}.muted{font-size:13px;color:#85766b}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.item{border-bottom:1px solid #eee;padding:14px 0}.bubble{border-radius:14px;padding:12px 16px;margin:12px 0;background:#f0e9df;max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.mine{background:#f6e4e7;margin-left:auto}#thread{max-height:420px;overflow:auto}.bubble img,.bubble video{display:block;max-width:240px;max-height:220px;border-radius:10px;margin:8px 0}#status{position:fixed;bottom:20px;right:24px;background:var(--ink);color:white;padding:12px 20px;border-radius:10px;display:none}a{color:var(--wine)}

.image-spec{background:#faf3e7;border:1px solid #eadcc8;border-radius:10px;padding:16px;margin:18px 0}.image-spec strong{color:var(--wine);font-size:21px}.image-spec p{margin-bottom:0;font-size:14px}.image-preview{height:300px;display:flex;align-items:center;justify-content:center;background:#eee7df;border:1px solid #e3d9cc;border-radius:10px;overflow:hidden}.image-preview img,.image-preview canvas{max-height:100%;max-width:100%;object-fit:contain}

.days{display:flex;gap:12px;flex-wrap:wrap}.days label{display:flex;gap:6px;align-items:center}.post-media{margin:12px 0}.item a{overflow-wrap:anywhere;color:#9b465e}.item p{line-height:1.7}

.staff-hero{background:linear-gradient(120deg,#33251f,#694733);color:#fff;display:flex;justify-content:space-between;align-items:center;min-height:180px}.staff-hero small{color:#dbbd86;letter-spacing:.2em}.staff-hero h2{font-family:serif;font-size:30px}.avatar{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #ddbd85}.publication{display:flex;justify-content:space-between;gap:24px}.publication>div:first-child{flex:1}.publication p{max-width:70ch}.danger{background:#f8e9e7;color:#a53c37}.edit-panel{border:2px solid var(--gold)}.generation-status{padding:18px;background:#f6efdf;border-radius:12px}.generation-status progress{display:block;width:100%;margin:12px 0;accent-color:var(--wine)}.flyer-preview{width:100%;max-width:400px;border-radius:12px}.metric small{font-size:15px;margin-left:8px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}@media(max-width:700px){.publication{display:block}.staff-hero h2{font-size:24px}.avatar{width:64px;height:64px}section{padding:20px}}

.small-avatar{width:44px;height:44px;vertical-align:middle;margin:4px 10px 4px 0;border-width:2px}

.segmented{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.segmented .active{background:var(--ink)}.member-cards,.reservation-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:20px}.member-card,.reservation-day{text-align:left;background:#faf6ef;color:var(--ink);border:1px solid #ded2bf;display:flex;flex-direction:column;gap:5px;padding:20px}.member-card.selected,.reservation-day.selected{border:2px solid var(--wine);background:#f7e8e7}.member-card small,.reservation-day small{color:#786659;font-size:12px}.member-card strong,.reservation-day strong{font-size:20px}.status-badge{font:13px sans-serif;background:#eee5d7;color:var(--ink);border-radius:20px;padding:5px 10px}.reservation-detail{padding:20px 0}.reservation-detail h3{line-height:1.8}
