:root{--terminal-bg: #0c0c0c;--terminal-text: #33ff33;--terminal-dim: #1a5c1a;--terminal-highlight: #5fff5f;--terminal-error: #ff3333;--terminal-header: #0f380f;--locked-color: #ff6b6b;--unlocked-color: #6bff8d;--terminal-border: #1a5c1a}body.diary-page{background-color:var(--terminal-bg);font-family:VT323,Courier New,monospace;color:var(--terminal-text);margin:0;padding:0;height:100vh;overflow:hidden;line-height:1.4}.login-container{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background-color:#000000e6}.terminal-window{width:600px;max-width:90%;background-color:var(--terminal-bg);border:1px solid var(--terminal-text);box-shadow:0 0 20px #33ff334d;padding:1rem}.terminal-header{border-bottom:1px solid var(--terminal-dim);padding-bottom:.5rem;margin-bottom:1rem;background-color:var(--terminal-header);margin:-1rem -1rem 1rem;padding:.5rem 1rem}.terminal-title{letter-spacing:1px;font-size:1.2rem}.terminal-output{font-family:VT323,monospace;margin-bottom:1.5rem;color:var(--terminal-text)}.terminal-output p{margin:.5rem 0}.terminal-input-line{display:flex;margin-top:1rem;position:relative}.terminal-input-line:after{content:"";position:absolute;left:calc(1rem + var(--cursor-position, 0ch));top:50%;transform:translateY(-50%);height:1.2em;width:.6ch;background-color:var(--terminal-text);animation:blink-caret 1s step-end infinite}.prompt{color:var(--terminal-text);margin-right:.5rem}.terminal-input{background-color:transparent;border:none;color:var(--terminal-text);font-family:VT323,monospace;font-size:1.2rem;outline:none;width:100%;caret-color:transparent;border-right:none;animation:none}.terminal-message{margin-top:1rem;color:var(--terminal-error);min-height:20px}.diary-content{width:100%;height:100vh;display:flex;background-color:var(--terminal-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:var(--terminal-dim);border:1px solid var(--terminal-text)}::-webkit-scrollbar-thumb:hover{background:var(--terminal-text)}nav{position:absolute;top:1rem;right:1.5rem;z-index:10}.home-button{color:var(--terminal-text);text-decoration:none;background-color:var(--terminal-bg);padding:.3rem .6rem;border:1px solid var(--terminal-text);font-family:VT323,monospace;transition:all .2s}.home-button:hover{background-color:var(--terminal-dim)}.diary-container{display:flex;width:100%;height:100%}.entry-selector{width:25%;border-right:1px solid var(--terminal-text);padding:1rem;overflow-y:auto;background-color:#0c0c0cf2}.entry-selector h2{margin-top:0;padding-bottom:.5rem;border-bottom:1px solid var(--terminal-dim);font-size:1.2rem;font-weight:400;letter-spacing:1px}#entry-list{list-style-type:none;padding:0;margin:0}#entry-list li{padding:.5rem;margin-bottom:.5rem;cursor:pointer;border:1px solid transparent;transition:all .2s;position:relative}#entry-list li:before{content:"📄 ";margin-right:.3rem}#entry-list li.locked{color:var(--locked-color)}#entry-list li.locked:before{content:"🔒 "}#entry-list li.unlocked{color:var(--unlocked-color)}#entry-list li.unlocked:before{content:"📄 "}#entry-list li:hover{background-color:#33ff331a;border:1px dashed var(--terminal-text)}#entry-list li.active{background-color:#3f33;border:1px solid var(--terminal-text)}.entry-hint{display:block;font-size:.9rem;color:#aaa;margin-top:.3rem;padding-left:1.5rem;font-style:italic}.entry-hint:before{content:"hint: ";color:#888}.entry-viewer{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;position:relative;background-color:#000000b3}.back-button{background-color:transparent;border:none;color:var(--terminal-text);padding:0;font-family:VT323,monospace;cursor:pointer;margin-bottom:1rem;display:none;align-self:flex-start}.back-button:hover{text-decoration:underline}.back-button:before{content:"< "}#entry-password-screen{background-color:var(--terminal-bg);padding:2rem;border:1px solid var(--terminal-text);text-align:center;max-width:500px;margin:2rem auto;display:none}#entry-password-screen p{margin-bottom:1.5rem}#unlock-entry-btn{background-color:var(--terminal-bg);border:1px solid var(--terminal-text);color:var(--terminal-text);padding:.5rem 1rem;font-family:VT323,monospace;cursor:pointer;margin-top:1rem;transition:background-color .2s}#unlock-entry-btn:hover{background-color:var(--terminal-dim)}#entry-error-message{color:var(--terminal-error);margin-top:1rem}#entry-content{background-color:var(--terminal-bg);padding:1.5rem;border:1px solid var(--terminal-text);line-height:1.8;white-space:pre-wrap;font-family:Courier New,monospace;font-size:1.1rem;color:#fff;overflow-y:auto;max-height:70vh;display:none;letter-spacing:.03rem;text-shadow:none}#entry-content p{margin-bottom:1rem;max-width:80ch}#loading-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--terminal-bg);padding:2rem;border:1px solid var(--terminal-text);text-align:center;z-index:100}.spinner{border:3px solid rgba(26,92,26,.3);border-top:3px solid var(--terminal-text);border-radius:50%;width:40px;height:40px;animation:spin 1.5s linear infinite;margin:0 auto 1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes blink-caret{0%,to{opacity:0}50%{opacity:1}}.diary-page:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0px,rgba(0,0,0,.15) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:2}.terminal-typing{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--terminal-text);font-family:VT323,monospace;font-size:1.5rem;z-index:100;text-align:center;background-color:#000c;padding:1rem 2rem;border:1px solid var(--terminal-text)}.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--terminal-text);font-family:monospace;white-space:pre;text-align:center;line-height:1;font-size:.7rem;opacity:.8}.empty-state pre{color:var(--terminal-text);margin:0}.empty-state-message{margin-top:2rem;font-family:VT323,monospace;font-size:1.2rem;color:var(--terminal-text)}
