*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#0a0a0a;color:#fff;overflow-x:hidden}#app-container{width:100vw;height:100vh;position:relative}#hero-name{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:5rem;font-weight:300;z-index:1000;transition:all 1.5s cubic-bezier(.25,1,.5,1);pointer-events:none;font-family:inherit;color:#fff}#hero-name.corner{top:2rem;left:2rem;transform:none;font-size:2rem;font-weight:400}header{position:fixed;top:0;left:0;right:0;padding:2rem;text-align:center;z-index:100;background:linear-gradient(to bottom,rgba(10,10,10,.9),transparent)}#header-title{font-size:2.5rem;font-weight:300;transition:opacity .3s ease;background:transparent;border:none;color:inherit;text-align:center;outline:none;font-family:inherit;width:100%}#header-title::placeholder{color:#fff6}#header-tips{margin-top:.5rem;font-size:.9rem;color:#ffffff80;font-style:italic;font-weight:300;transition:opacity 1s ease-in-out;height:1.2rem;opacity:0;pointer-events:none}#graph-container{width:100%;height:100%}#filter-controls{position:fixed;top:100px;right:20px;background:rgba(20,20,20,.9);padding:1rem;border-radius:8px;z-index:50}.filter-section,.sort-section{margin-bottom:1rem}.filter-section label,.sort-section label{display:block;margin-bottom:.5rem;font-size:.9rem}.filter-section select,.sort-section select{width:100%;padding:.5rem;background:#1a1a1a;color:#fff;border:1px solid #333;border-radius:4px}#filter-controls button{width:100%;padding:.5rem;background:#333;color:#fff;border:none;border-radius:4px;cursor:pointer}#filter-controls button:hover{background:#444}.hover-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000}.hover-view-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7)}.hover-view-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:800px;width:90%;max-height:80vh;background:#1a1a1a;border-radius:12px;padding:2rem;overflow-y:auto}.hover-view-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1}.hover-view-content h2{margin-bottom:1rem}.media-gallery{display:flex;align-items:center;gap:1rem;margin:2rem 0}.media-container{flex:1}.media-container img,.media-container video{width:100%;border-radius:8px}.media-nav{background:#333;border:none;color:#fff;font-size:2rem;padding:.5rem 1rem;cursor:pointer;border-radius:4px}.media-nav:hover{background:#444}.hover-view-blocks,.hover-view-description{display:flex;flex-wrap:wrap;gap:1.5rem;line-height:1.6;width:100%}.cms-block{box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden}.cms-block.block-full{width:100%}.cms-block.block-half{width:calc(50% - .75rem)}.cms-block.vert-top{justify-content:flex-start}.cms-block.vert-center{justify-content:center}.cms-block.vert-bottom{justify-content:flex-end}.cms-block>*{max-width:100%;box-sizing:border-box}.cms-block.align-left{text-align:left}.cms-block.align-center{text-align:center}.cms-block.align-right{text-align:right}.hover-view-description img,.cms-block img,.cms-block video{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.hover-view-description .ql-video,.hover-view-description iframe{max-width:100%;width:100%;min-height:300px;border-radius:8px;margin:1rem 0}.error-notifications{position:fixed;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:10px}.notification{padding:1rem 1.5rem;border-radius:8px;display:flex;align-items:center;gap:1rem;min-width:300px;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification-error{background:#d32f2f}.notification-warning{background:#f57c00}.notification-success{background:#388e3c}.notification-close{background:none;border:none;color:#fff;font-size:1.5rem;cursor:pointer;margin-left:auto}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:3000}.loading-spinner{width:50px;height:50px;border:4px solid #333;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:1rem;font-size:1.2rem}.cms-layout{display:grid;grid-template-columns:250px 1fr;grid-template-rows:60px 1fr;height:100vh}.cms-nav{grid-column:1 / -1;background:#1a1a1a;padding:1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #333}.cms-nav h2{margin-right:auto}.cms-nav button{padding:.5rem 1rem;background:#333;color:#fff;border:none;border-radius:4px;cursor:pointer}.cms-sidebar{background:#0f0f0f;padding:1rem;overflow-y:auto;border-right:1px solid #333}.cms-main{padding:2rem;overflow-y:auto}.node-list-item{padding:.75rem;margin-bottom:.5rem;background:#1a1a1a;border-radius:4px;cursor:pointer}.node-list-item:hover{background:#252525}.node-editor{max-width:800px}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;background:#1a1a1a;color:#fff;border:1px solid #333;border-radius:4px;font-family:inherit}.form-actions{display:flex;gap:1rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500}#save-node{background:#388e3c;color:#fff}#delete-node{background:#d32f2f;color:#fff}.relationship-editor{padding:2rem;max-width:1000px;margin:0 auto}.relationship-header{margin-bottom:2rem}.relationship-header h3{font-size:2rem;font-weight:300;margin-bottom:.5rem}#relationship-status{padding:.5rem 1rem;border-radius:4px;margin-bottom:1rem;font-size:1.1rem;transition:all .3s ease}.status-step-1{background:rgba(255,255,255,.1);color:#ccc}.status-step-2{background:rgba(76,175,80,.2);color:#4caf50;border:1px solid rgba(76,175,80,.5)}#node-search{width:100%;padding:.8rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;font-size:1rem}.relationship-canvas{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:3rem;max-height:400px;overflow-y:auto;padding-right:1rem}.rel-node-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column}.rel-node-card:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}.rel-node-card.selected{background:rgba(76,175,80,.15);border-color:#4caf50;box-shadow:0 0 10px #4caf5033}.node-color{height:4px;width:30px;border-radius:2px;margin-bottom:.8rem}.node-title{font-weight:500;font-size:1.1rem;margin-bottom:.3rem}.node-category{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.relationship-list h4{font-size:1.5rem;font-weight:300;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.relationship-edge-row{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:rgba(255,255,255,.03);margin-bottom:.5rem;border-radius:6px;border:1px solid rgba(255,255,255,.05)}.edge-nodes{display:flex;align-items:center;gap:1rem}.edge-node-pill{padding:.4rem .8rem;background:rgba(0,0,0,.4);border-radius:4px;border-left:4px solid transparent;font-size:.95rem}.edge-icon{color:#ffffff4d}.delete-edge{padding:.4rem 1rem;background:transparent;border:1px solid rgba(244,67,54,.5);color:#f44336;border-radius:4px;cursor:pointer;transition:all .2s}.delete-edge:hover{background:rgba(244,67,54,.1)}.empty-state{color:#fff6;font-style:italic;padding:2rem 0}#mobile-view-toggle{position:fixed;top:20px;right:20px;z-index:1000;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:background .2s,transform .2s}#mobile-view-toggle:hover{background:rgba(255,255,255,.2);transform:scale(1.05)}@media (max-width: 768px){header{top:auto;bottom:0;padding-bottom:env(safe-area-inset-bottom,20px);background:linear-gradient(to top,rgba(10,10,10,.95) 40%,transparent)}#hero-name.corner{top:20px;left:20px;font-size:1.5rem}#filter-controls{top:70px}}
