:root{--bg:#f7f1e7;--card:#fffdf9;--navy:#1f3556;--orange:#d97a3a;--ink:#20242a;--muted:#72767d;--line:#e8dfd3;--good:#2d7a55}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea{font:inherit}.shell{max-width:760px;margin:auto;min-height:100vh;padding-bottom:92px}
.top{padding:24px 20px 14px}.brand{font-size:28px;font-weight:800;color:var(--navy)}.by{font-size:13px;color:var(--orange);font-weight:700;letter-spacing:.08em}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px;margin:12px 16px;box-shadow:0 4px 18px rgba(31,53,86,.05)}
h1,h2,h3,p{margin-top:0}.muted{color:var(--muted)}.btn{border:0;border-radius:14px;padding:13px 16px;font-weight:700;cursor:pointer}
.primary{background:var(--navy);color:white}.secondary{background:#fff;border:1px solid var(--line);color:var(--navy)}
.field{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:white;margin:7px 0}.textarea{min-height:190px;resize:vertical}
.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.grow{flex:1}
.tabs{position:fixed;bottom:0;left:0;right:0;background:rgba(255,253,249,.96);border-top:1px solid var(--line);display:flex;justify-content:center;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));z-index:10}
.tabs-inner{width:min(760px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.tab{border:0;background:transparent;padding:8px 4px;color:var(--muted);font-size:12px}.tab b{display:block;font-size:20px;margin-bottom:2px}.active{color:var(--navy);font-weight:800}
.pill{display:inline-block;border-radius:999px;padding:5px 9px;background:#f0e8dc;font-size:12px}.reviewed{color:var(--good)}
.attach{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload{border:1px dashed #c9bbaa;border-radius:14px;padding:16px;text-align:center;background:#fff}
.reactions{display:flex;gap:8px;flex-wrap:wrap}.react{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:20px}.react.on{background:#efe7dc}
.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(440px,100%)}.hero{text-align:center;margin-bottom:24px}.hero .logo{font-size:44px}
.diary-title{font-weight:800;color:var(--navy)}.original,.correction,.note{white-space:pre-wrap;line-height:1.6}
.notice{background:#fff3d8;border-radius:12px;padding:10px 12px;font-size:13px;margin:10px 0}
@media(min-width:700px){.card{margin-left:20px;margin-right:20px}}
