*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,#fdf2ff,#fdf8ff 40%,#fff);color:#222}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{padding:1.75rem 1.5rem;background:radial-gradient(circle at 0 0,#ffe6f2 0,#fef6ff,#fff 80%);border-bottom:1px solid rgba(0,0,0,.04)}.app-header h1{margin:0;font-size:1.8rem;color:#7b2cff}.app-header p{margin:.4rem 0 0;color:#555}.app-main{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.5fr);gap:1.5rem;padding:1.5rem;max-width:1120px;margin:0 auto 2rem}@media (max-width: 840px){.app-main{grid-template-columns:1fr}}.diary-form-section,.diary-list-section{background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1.25rem;padding:1.5rem;box-shadow:0 18px 40px #7b2cff14}.diary-form-section h2,.diary-list-section h2{margin-top:0;font-size:1.25rem;color:#333}.diary-form{display:flex;flex-direction:column;gap:1rem}.field span{display:block;font-size:.9rem;margin-bottom:.35rem;color:#444}input,textarea{width:100%;border-radius:.8rem;border:1px solid #e0d5ff;padding:.65rem .9rem;font-size:.95rem;font-family:inherit;resize:vertical;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{border-color:#9b6bff;box-shadow:0 0 0 2px #9b6bff2e}.primary-button{align-self:flex-end;padding:.7rem 1.4rem;border-radius:999px;border:none;background:linear-gradient(135deg,#ff7ad9,#9b6bff);color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;box-shadow:0 10px 22px #9b6bff52;transition:transform .1s ease,box-shadow .1s ease,filter .1s ease}.primary-button:hover{filter:brightness(1.02);box-shadow:0 12px 26px #9b6bff66}.primary-button:active{transform:translateY(1px);box-shadow:0 8px 18px #9b6bff42}.diary-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem;max-height:460px;overflow:auto}.diary-card{padding:.9rem 1rem;border-radius:1rem;background:#faf7ff;border:1px solid #efe6ff}.diary-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem}.diary-card h3{margin:0;font-size:1rem;color:#3f2a89}.date{font-size:.8rem;color:#777}.content{margin:0;font-size:.9rem;color:#444;white-space:pre-wrap}.empty-text{margin:.5rem 0 0;font-size:.9rem;color:#777}
