.app{min-height:100vh;display:flex;flex-direction:column;transition:all .3s ease}.header{padding:2rem 3rem 1rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.header h1{font-size:1.75rem;font-weight:300;color:#1a1a1a;letter-spacing:-.02em;transition:all .4s cubic-bezier(.4,0,.2,1)}.header:has(~.main .editor-container:focus-within) h1{font-size:.9rem;color:#ccc}.subtitle{font-size:.95rem;color:#888;margin-top:.5rem;font-weight:300;opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.header:has(~.main .editor-container:focus-within) .subtitle{font-size:.7rem;opacity:.4}.main{flex:1;display:grid;grid-template-columns:1fr 320px;gap:0;height:calc(100vh - 120px);transition:all .4s cubic-bezier(.4,0,.2,1)}.main:has(.editor-container:focus-within){grid-template-columns:1fr 240px}.editor-container{padding:2rem 3rem;overflow-y:auto;outline:none}.editor-container:focus-within{padding:4rem 5rem}.editor-placeholder{max-width:720px;margin:3rem auto;padding:0;text-align:center;color:#aaa;transition:all .4s cubic-bezier(.4,0,.2,1)}.editor-container:focus-within .editor-placeholder{max-width:820px}.editor-placeholder p:first-child{font-size:1.1rem;font-weight:300;color:#999;transition:font-size .4s cubic-bezier(.4,0,.2,1)}.editor-container:focus-within .editor-placeholder p:first-child{font-size:1.3rem}.doc-id{font-size:.75rem;margin-top:2rem;font-family:Courier New,monospace;color:#ccc;opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.editor-container:focus-within .doc-id{font-size:.65rem;opacity:.3}.instructions{margin-top:2rem;font-style:italic;font-size:.9rem;color:#bbb;font-weight:300;opacity:1;transition:all .4s cubic-bezier(.4,0,.2,1)}.editor-container:focus-within .instructions{opacity:.2}.sidebar{background:#fafafa;padding:2rem 1.75rem;overflow-y:auto;transition:all .4s cubic-bezier(.4,0,.2,1)}.main:has(.editor-container:focus-within) .sidebar{padding:1.5rem 1.25rem;background:#fcfcfc}.sidebar h3{font-size:.95rem;margin-bottom:1.5rem;color:#666;font-weight:400;letter-spacing:.02em;transition:all .4s cubic-bezier(.4,0,.2,1)}.main:has(.editor-container:focus-within) .sidebar h3{font-size:.8rem;color:#999}.sidebar-hint{font-size:.85rem;color:#999;font-style:italic;font-weight:300;line-height:1.6;transition:all .4s cubic-bezier(.4,0,.2,1)}.main:has(.editor-container:focus-within) .sidebar-hint{font-size:.75rem;color:#bbb}.doc-info{margin-top:2rem;padding-top:2rem;border-top:1px solid #f0f0f0}.doc-id{font-size:.7rem;color:#ccc;font-family:Courier New,monospace;margin:.5rem 0}.user-id-container{margin:.5rem 0}.user-id{font-size:.7rem;color:#ccc;font-family:Courier New,monospace;display:flex;align-items:center;gap:.5rem}.username{color:#999;font-weight:500}.edit-name-btn{background:none;border:none;color:#ddd;cursor:pointer;font-size:.9rem;padding:.2rem .3rem;transition:color .2s}.edit-name-btn:hover{color:#999}.user-edit{display:flex;flex-direction:column;gap:.5rem}.user-input{width:100%;padding:.4rem .6rem;font-size:.75rem;font-family:Courier New,monospace;border:1px solid #ddd;border-radius:3px;outline:none;background:#fff;color:#333}.user-input:focus{border-color:#999}.edit-hints{font-size:.65rem;color:#ccc;font-style:italic}.connection-status{position:absolute;top:1rem;right:1rem;font-size:.75rem;font-family:Courier New,monospace}.status-connected{color:#10b981}.status-disconnected{color:#999}.prosemirror-container{position:relative}.ProseMirror{outline:none;min-height:400px}.ProseMirror p{margin:.8rem 0}.ProseMirror-yjs-cursor{position:absolute;border-left:2px solid;margin-left:-1px;pointer-events:none}.ProseMirror-yjs-cursor>div{position:absolute;top:-1.4em;left:-1px;font-size:.7rem;font-weight:400;white-space:nowrap;padding:.15rem .3rem;border-radius:3px;color:#fff}.keyboard-hints{position:absolute;bottom:1rem;right:1rem;display:flex;gap:.5rem;align-items:center;font-size:.7rem;color:#999;font-family:Courier New,monospace;background:#fffffff2;padding:.5rem .75rem;border-radius:4px;box-shadow:0 2px 8px #0000000d;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.hint{white-space:nowrap}.hint-sep{color:#ddd}.ProseMirror strong{font-weight:600}.ProseMirror em{font-style:italic}.ProseMirror code{font-family:Courier New,monospace;background:#f5f5f5;padding:.1rem .3rem;border-radius:3px;font-size:.9em}.ai-suggestion-ghost{position:fixed!important;bottom:10rem!important;left:50%!important;transform:translate(-50%)!important;max-width:800px!important;width:95%!important;padding:2.5rem!important;background:#8b5cf6!important;border:4px solid #6d28d9!important;border-radius:16px!important;box-shadow:0 20px 60px #8b5cf699!important;animation:ghostFadeIn .4s ease!important;z-index:999999!important;display:block!important;visibility:visible!important;opacity:1!important}.ghost-text{font-size:1.3rem!important;line-height:1.8!important;color:#fff!important;font-weight:600!important;display:block!important;text-shadow:0 2px 4px rgba(0,0,0,.2)!important}.ai-thinking{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.5rem;background:#8b5cf6;color:#fff;border-radius:8px;font-size:.9rem;font-weight:500;box-shadow:0 4px 16px #8b5cf666;animation:pulse 1.5s ease-in-out infinite;z-index:9999}@keyframes ghostFadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (max-width: 1024px){.main{grid-template-columns:1fr}.sidebar{display:none}.ai-suggestion-ghost{max-width:90%;padding:1rem 1.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;color:#1a1a1a}code{font-family:Courier New,monospace}
