500;600;700&display=swap');
:root{font-family:'Noto Sans JP',sans-serif;color:#293b36;background:#f4f2eb;font-size:14px}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:250px minmax(360px,1fr) 330px;height:100dvh}button,input,select,textarea{font:inherit}button,summary,.import{cursor:pointer}button{border:1px solid #d4dbd1;background:#fffdf7;border-radius:9px;padding:9px 13px;color:#344d41}button:hover{background:#e8eddf}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #75a28c;outline-offset:2px}.sidebar{padding:30px 22px;background:#e8ece1;border-right:1px solid #d7ddcf;overflow:auto}.brand{font-size:24px;letter-spacing:-1px;font-weight:700;text-decoration:none;color:#2b483c}.brand span{display:block;font-size:9px;letter-spacing:1.3px;margin-top:6px}.town{font-size:12px;line-height:1.9;margin:34px 0}.town span,.muted{color:#6a7970;font-size:12px}.label{font-size:10px;font-weight:700;letter-spacing:1.8px;color:#718475;margin:20px 0 12px}nav{display:grid;gap:6px}nav button{text-align:left;border:0;background:transparent;padding:13px 10px}nav button.active{background:#d0dcc9;font-weight:700}nav small{display:block;font-size:10px;color:#627568;margin-top:5px}.person{display:flex;gap:10px;align-items:center;margin:15px 0}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;font-weight:700;color:#283e36;flex-shrink:0;border:1px solid #00000008}.person small{display:block;color:#6b796d;font-size:10px;margin-top:2px}footer{font-size:9px;line-height:2;color:#758173;margin-top:30px}main{min-width:0;display:flex;flex-direction:column;background:#fbfaf5}header{padding:24px 30px 20px;border-bottom:1px solid #e6e7df;display:flex;align-items:center;justify-content:space-between;gap:10px}header .label{margin:0 0 8px}h1{font-size:22px;margin:0}header p:last-child{font-size:11px;color:#728075;margin-bottom:0}header button{font-size:11px}.controls{padding:14px 24px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f4f4ec;font-size:11px}.controls label{display:flex;align-items:center;gap:6px}input,select,textarea{border:1px solid #d9dfd4;border-radius:6px;padding:7px;background:#fffef9;color:#34493c}input[type=range]{padding:0;width:90px;accent-color:#5e8267}#notice{padding:9px 26px;font-size:10px;background:#eaf0e5;color:#58705e;line-height:1.7}#messages{flex:1;overflow:auto;padding:18px 30px;scroll-behavior:smooth}.dateDivider{text-align:center;font-size:10px;color:#6c7c70;margin:12px 0 24px}.dateDivider span{border:1px solid #dfe5d8;padding:6px 15px;border-radius:20px}.period{font-size:10px;letter-spacing:2px;color:#8b987e;margin:24px 0 17px}.message{display:flex;gap:11px;margin-bottom:18px;max-width:680px}.message .avatar{margin-top:2px}.byline{display:flex;gap:10px;align-items:center;font-size:11px;margin-bottom:5px}.byline time{font-size:9px;color:#8d978d}.bubble{background:#fff;border:1px solid #e7e8df;border-radius:0 13px 13px 13px;padding:11px 15px;line-height:1.9;font-size:12px;box-shadow:0 2px 3px #30432a03}.read{font-size:9px;color:#879782;margin-top:5px}.empty{padding:45px 15px;color:#7c887b;text-align:center;line-height:2}#noteForm{border-top:1px solid #e3e7dc;padding:15px 25px 21px}#noteForm label{font-size:11px;display:block;margin-bottom:8px}#noteForm label span{font-size:9px;color:#82907e;margin-left:8px}#noteForm>div{display:flex;gap:8px}#note{flex:1;min-width:0}#noteForm button{background:#355743;color:#fff;border:0;font-size:11px}.memory{padding:30px 24px;border-left:1px solid #dde2d4;overflow:auto;background:#f1f0e7}.memoryTop{display:flex;justify-content:space-between;align-items:center}.memoryTop .label{margin:0}#closeMemory{display:none}h2{font-size:18px;line-height:1.8;margin:22px 0 12px}.memory h3{font-size:11px;margin:25px 0 12px;color:#4b654f}.card{background:#fffdf5;border:1px solid #e0e2d4;border-radius:10px;padding:12px 14px;margin-bottom:8px;font-size:11px;line-height:1.9}.card small{display:block;font-size:9px;color:#7c8977}.card.plan{border-left:3px solid #b1be8e}.memory details{border-top:1px solid #d8dfce;margin-top:25px;padding-top:16px;font-size:11px;line-height:1.9}.memory details button{font-size:10px;margin-top:10px}.memory textarea{display:block;width:100%;height:80px;margin-top:10px}.import{display:block;margin-top:12px}.import input{max-width:100%;font-size:10px}#storage{color:#7c563c}#memoryToggle{display:none}@media(max-width:1200px){body{grid-template-columns:215px 1fr}.memory{display:none}.memory.open{display:block;position:fixed;right:0;top:0;bottom:0;width:330px;z-index:5;box-shadow:-10px 0 50px #23332433}#memoryToggle,#closeMemory{display:block}}@media(max-width:650px){body{grid-template-columns:1fr}.sidebar{padding:15px 18px;border-bottom:1px solid #d4decd}.brand{font-size:19px}.brand span{display:none}.town,.sidebar>.label,#people,footer{display:none}nav{display:flex;margin-top:10px;gap:4px}nav button{padding:7px;font-size:11px;flex:1}nav small{display:none}body{height:100dvh;grid-template-rows:auto minmax(0,1fr)}header{padding:16px 18px}h1{font-size:18px}header .label{font-size:8px}.controls{padding:10px 14px;gap:8px}#messages{padding:10px 18px}#noteForm{padding:12px}#noteForm label span{display:block;margin:4px 0}input[type=date]{max-width:122px}.memory.open{width:min(90vw,360px)}}
.avatar.alex{background:#A8B9C7}.avatar.jamal{background:#F3C54E}.avatar.tyler{background:#86C6AD}.avatar.mia{background:#EC9990}.avatar.zoe{background:#ACA6C5}.avatar.chris{background:#DCA775}.avatar.ryan{background:#7ABCE1}.avatar.lily{background:#DFD67B}
html[data-public-chat] .sidebar{background:#f0d96e}html[data-public-chat] #noteForm,html[data-public-chat] .memory details{display:none}.site-return{font-size:10px;line-height:2;margin-top:18px}.site-return a{color:#384e38;text-decoration:none}.site-return a:hover{text-decoration:underline}@media(max-width:650px){.site-return{margin:5px 0;display:flex;gap:10px;flex-wrap:wrap}.site-return br{display:none}}
.reader-controls{display:flex;align-items:center;gap:9px;padding:10px 25px;background:#fffdf6;border-bottom:1px solid #e4e8db;flex-wrap:wrap}.reader-controls button{font-size:11px;padding:7px 11px}#readingStats{font-size:10px;color:#6c7e67}.channel-tag{font-size:9px;color:#78856b;border:1px solid #dce2d4;padding:1px 6px;border-radius:5px}@media(prefers-reduced-motion:reduce){#messages{scroll-behavior:auto}}
