:root{--bg-body:#f3efe3;--bg-card:#faf7f0;--bg-mail:#fbf9f4;--bg-soft:#f6f2ea;--bg-button:#e8e1cf;--text-main:#2b2b2b;--text-soft:#6a5c44;--text-accent:#3a2f1d;--border-main:#ddd4c2;--border-soft:#cfc6b2;--shadow-main:#00000014}html[data-theme=dark]{--bg-body:#1e1c18;--bg-card:#26231d;--bg-mail:#24211b;--bg-soft:#2b271f;--bg-button:#2f2b24;--text-main:#e6e2d9;--text-soft:#b2a68b;--text-accent:#e0d2b0;--border-main:#3f3a30;--border-soft:#4a4437;--shadow-main:#00000080}body{background:var(--bg-body);color:var(--text-main);font-family:Georgia,Times New Roman,serif}.journal-container{background:var(--bg-card);border:1px solid var(--border-main);max-width:720px;box-shadow:0 10px 30px var(--shadow-main);border-radius:8px;margin:80px auto;padding:40px 50px}.journal-container h1{text-align:center;color:var(--text-accent);margin-bottom:50px}.journal-entry{border-bottom:1px solid var(--border-main);margin-bottom:60px;padding-bottom:30px}.journal-title{color:var(--text-accent);margin-bottom:16px;font-size:1.6rem}.journal-date{color:var(--text-soft);margin-top:18px;font-size:.85rem;display:block}.journal-text{font-size:1.05rem;line-height:1.8}.journal-text p{margin:0 0 1.2em}.journal-text h1,.journal-text h2,.journal-text h3{color:var(--text-accent);margin:1.6em 0 .6em}.journal-text blockquote{background:var(--bg-soft);border-left:4px solid var(--text-accent);color:var(--text-soft);border-radius:6px;margin:1.4em 0;padding:12px 18px;font-style:italic}.journal-text pre{color:#eee;background:#1f1f1f;border-radius:6px;padding:14px 16px;font-family:Courier New,monospace;font-size:.9rem;overflow-x:auto}.journal-text img{object-fit:contain;max-height:420px;margin:20px auto;display:block;max-width:100%!important;height:auto!important}.journal-text .spoiler-new{background:var(--text-accent);color:#0000;cursor:pointer;border-radius:3px;padding:0 6px;transition:color .25s}.journal-text .spoiler-new.revealed{color:var(--bg-card)}.journal-pagination{justify-content:center;gap:8px;margin-top:40px;display:flex}.journal-pagination button{background:var(--bg-button);border:1px solid var(--border-soft);cursor:pointer;border-radius:4px;padding:6px 12px}.journal-pagination button.active{font-weight:700;text-decoration:underline}.journal-pagination button:disabled{opacity:.5;cursor:not-allowed}html,body,.journal-container{transition:background-color .35s,color .25s}.journal-pagination span{color:var(--text-soft);align-self:center}.mail-body{max-width:100%;overflow:hidden}.mail-body center{max-width:100%!important;display:block!important}.mail-body img,.mail-footer img{object-fit:contain!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:420px!important;display:block!important}.mail-body img.img-responsive{width:auto!important;max-width:100%!important;height:auto!important}.mail-body *{box-sizing:border-box;max-width:100%}.mail-header .avatar{border-radius:6px;min-width:56px;min-height:56px;object-fit:cover!important;width:100px!important;height:100px!important;display:block!important}.mail-header img:not(.avatar){width:auto!important;height:auto!important}.mail-body *,.mail-footer *{box-sizing:border-box;max-width:100%}.mail-card{background:var(--bg-mail);border-radius:10px;padding:24px;overflow:hidden;box-shadow:0 2px 6px #0000000d}.mail-header img{object-fit:cover;border-radius:6px;flex-shrink:0;width:56px;height:56px}.mail-body .img-responsive,.mail-footer .img-responsive{max-width:100%!important;height:auto!important}.mail-body p[align=right]{text-align:right}.mail-body p[align=center]{text-align:center}.mail-body{color:var(--text-main);overflow-wrap:break-word;word-wrap:break-word;font-size:1.05rem;line-height:1.75}.mail-body p{margin:0 0 1em}.mail-body blockquote{border-left:3px solid var(--border-main);color:var(--text-soft);margin:1em 0;padding-left:1em;font-style:italic}.mail-body br+br{display:none}.mail-body .spoiler{background:var(--text-accent);color:var(--bg-mail);cursor:pointer;border-radius:3px;padding:0 4px}.mail-body details{background:var(--bg-soft);border-radius:6px;margin:1em 0;padding:10px}.mail-body summary{cursor:pointer;font-weight:700}.mail-footer{color:var(--text-soft);border-top:1px dashed var(--border-soft);margin-top:20px;padding-top:10px;font-size:.85rem}.mail-body script,.mail-footer script{display:none!important}@media (max-width:600px){.mail-card{padding:18px}}.mail-list{flex-direction:column;gap:40px;display:flex}.mail-card{border-radius:6px;padding:24px;box-shadow:inset 0 0 0 1px #ffffff0d}.mail-header{grid-template-columns:120px 1fr;align-items:start;gap:20px;display:grid}.mail-header .avatar{object-fit:cover;border-radius:6px;margin-bottom:8px;width:100px!important;height:100px!important}.identity{text-align:center;margin-top:6px}.author{margin-bottom:6px;font-weight:700;display:block}.cartouche{flex-direction:column;align-items:center;gap:6px;display:flex}.cartouche img{max-width:90px;height:auto}.mail-body .btn-group{margin-bottom:12px}.mail-body .btn{background:var(--bg-button);color:var(--text-main);border:1px solid var(--bg-soft);border-radius:3px;padding:4px 8px;font-size:.75rem}.mail-body{font-size:.95rem;line-height:1.6}.mail-card{position:relative}.mail-card+.mail-card{margin-top:24px}html,body{transition:background-color .35s,color .25s}.journal-container,.mail-card{transition:background-color .4s,box-shadow .4s,border-color .4s}.spoiler{display:none}.spoiler.visible{display:block}.page-break{border:none;border-top:1px dashed var(--border-soft);margin:48px 0}@media print{.page-break{page-break-after:always}}.journal-image{text-align:center;margin:24px 0}.journal-image img{max-width:100%;height:auto}.login-container{max-width:420px;padding:48px}.login-container h1{margin-bottom:32px;font-size:1.4rem}.login-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-soft);margin-bottom:8px;font-size:.85rem;display:block}.login-input{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:4px;width:100%;margin-bottom:24px;padding:10px 12px;font-family:inherit;font-size:1rem}.login-input:focus{border-color:var(--text-accent);outline:none}.login-button{background:var(--bg-button);border:1px solid var(--border-soft);cursor:pointer;letter-spacing:.05em;width:100%;padding:10px 16px;font-family:inherit}.login-error{color:#8b2e2e;text-align:center;margin-bottom:16px;font-size:.85rem}.journal-editor{resize:vertical;background:var(--bg-soft);border:1px solid var(--border-main);border-radius:6px;min-height:360px;padding:18px 20px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.75;overflow:auto}.journal-editor .ProseMirror{outline:none;min-height:320px}.journal-editor .ProseMirror p{margin-bottom:1em}.journal-editor .ProseMirror h1,.journal-editor .ProseMirror h2,.journal-editor .ProseMirror h3{color:var(--text-accent);margin:1.2em 0 .6em;font-family:inherit}.journal-editor .ProseMirror blockquote{border-left:3px solid var(--border-main);color:var(--text-soft);padding-left:12px;font-style:italic}.editor-toolbar{gap:10px;margin-bottom:10px;display:flex}.editor-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.editor-toolbar button{background:var(--bg-button);border:1px solid var(--border-soft);cursor:pointer;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:.8rem}.editor-toolbar button:hover{background:var(--bg-soft)}.journal-editor pre{color:#eee;background:#1f1f1f;border-radius:6px;padding:12px 14px;font-family:Courier New,monospace;font-size:.9rem;overflow-x:auto}.ProseMirror p[style*="text-align: center"]{text-align:center}.ProseMirror p[style*="text-align: right"]{text-align:right}.color-palette{border-left:1px dashed var(--border-soft);align-items:center;gap:6px;padding-left:6px;display:flex}.color-swatch{border:1px solid var(--border-soft);cursor:pointer;border-radius:50%;width:18px;height:18px;padding:0}.color-swatch:hover{box-shadow:0 0 0 1px var(--border-main);transform:scale(1.15)}.editor-toolbar{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:12px;display:flex}.toolbar-group{border-right:1px dashed var(--border-soft);align-items:center;gap:6px;padding-right:10px;display:flex}.toolbar-group:last-child{border-right:none;padding-right:0}.journal-editor img{object-fit:contain;max-height:420px;margin:16px auto;display:block;max-width:100%!important;height:auto!important}.mail-body img,.mail-footer img{object-fit:contain!important;max-width:100%!important;height:auto!important;max-height:420px!important}header{background:var(--bg-card);border-bottom:2px solid var(--border-main);box-shadow:0 4px 12px var(--shadow-main);padding:16px 32px;font-family:Georgia,Times New Roman,serif}header nav{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;display:flex}header nav strong{letter-spacing:2px;color:var(--text-accent);font-size:1.6rem}.mainHeader{background:var(--bg-card);z-index:1000;border-bottom:2px solid var(--border-main);width:100%;box-shadow:0 4px 12px var(--shadow-main);padding:16px 32px;font-family:Georgia,Times New Roman,serif;transition:background .3s,box-shadow .3s;position:sticky;top:0;left:0}.mainHeader.scrolled{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f3efe3f2;box-shadow:0 4px 20px #0000001f}.mainHeader nav{justify-content:space-between;align-items:center;max-width:900px;margin:0 auto;display:flex}.mainHeader nav strong{letter-spacing:2px;color:var(--text-accent);font-size:1.6rem}.header-links{align-items:center;gap:24px;display:flex}.header-links a{color:var(--text-main);border-radius:4px;padding:6px 10px;font-weight:500;text-decoration:none;transition:background .25s,color .25s}.header-links a:hover{background:var(--bg-button);color:var(--text-accent)}.header-links button{background:var(--bg-button);border:1px solid var(--border-soft);cursor:pointer;border-radius:4px;padding:6px 12px;font-family:inherit;transition:background .25s,color .25s}.header-links button:hover{background:var(--bg-soft);color:var(--text-accent)}.header-theme-btn{background:var(--bg-card);cursor:pointer;border:none;padding:4px 8px;font-size:1rem;transition:transform .2s}.header-theme-btn:hover{transform:scale(1.15)}.header-brand{align-items:center;gap:10px;display:flex}.header-logo{object-fit:cover;border:1px solid var(--border-soft);border-radius:50%;width:36px;height:36px}
