@import "https://fonts.googleapis.com/css2?family=Unbounded:wght@300;400;600;700&display=swap";:root{--primary:#0b1a4a;--secondary:#00d2ff;--accent:#3a7bd5;--text-light:#e0f7fa;--bg-gradient:linear-gradient(135deg, #020024 0%, #090979 35%, #00d4ff 100%)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--primary);width:100%;height:100%;color:var(--text-light);-webkit-user-select:none;user-select:none;font-family:Unbounded,sans-serif;overflow:hidden}#root{width:100%;height:100%}.app-container{background:linear-gradient(-45deg,#0f1c3f,#070914,#1b092a,#0b1a4a) 0 0/400% 400%;justify-content:center;align-items:center;width:100vw;height:100vh;animation:15s infinite gradientBG;display:flex;position:relative;overflow:hidden}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.aurora{filter:blur(100px);z-index:0;pointer-events:none;background:conic-gradient(from 180deg,#00d2ff1a 0deg,#3a7bd533 180deg,#00d2ff1a 360deg);width:200%;height:200%;animation:30s linear infinite rotateAurora;position:absolute;top:-50%;left:-50%}@keyframes rotateAurora{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.canvas-layer{z-index:10;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.connection-path{fill:none;stroke:var(--secondary);stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--secondary));pointer-events:none;transition:stroke .2s,filter .2s}.connection-hitpath{fill:none;stroke:#0000;stroke-width:25px;cursor:pointer;pointer-events:visibleStroke}.path-hovered{stroke:#ff4757!important;filter:drop-shadow(0 0 10px #ff4757)!important}.drawing-path{fill:none;stroke:var(--secondary);stroke-width:4px;stroke-dasharray:10 10;stroke-linecap:round;filter:drop-shadow(0 0 5px var(--secondary));opacity:.7}@keyframes dashFlow{0%{stroke-dashoffset:20px}to{stroke-dashoffset:0}}.node{z-index:20;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s ease-out;display:flex;position:absolute;top:0;left:0}.avatar-node{border:3px solid var(--secondary);width:120px;height:120px;box-shadow:0 0 20px var(--secondary), inset 0 0 15px var(--secondary);cursor:grab;background:#ffffff1a}.avatar-node:active{cursor:grabbing}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.project-node{cursor:pointer;background:#00d2ff1a;border:2px solid #ffffff4d;width:90px;height:90px;box-shadow:0 0 15px #00d2ff66}.project-img{object-fit:cover;pointer-events:none;border-radius:50%;width:100%;height:100%}.avatar-active{border-color:#00d2ff;animation:1s infinite alternate pulseAvatar;box-shadow:0 0 40px #00d2ff,inset 0 0 40px #00d2ff}@keyframes pulseAvatar{0%{box-shadow:0 0 40px #00d2ff,inset 0 0 30px #00d2ff}to{box-shadow:0 0 60px #fff,inset 0 0 50px #fff}}.project-connected{border-color:#00d2ff;box-shadow:0 0 25px #00d2ffe6,inset 0 0 15px #00d2ff80}.download-container{z-index:100;pointer-events:auto;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.interaction-hint{color:#ffffff80;text-align:center;letter-spacing:.5px;font-size:.8rem;font-style:italic}.download-btn{color:#fff;letter-spacing:1px;cursor:pointer;background:linear-gradient(90deg,#00d2ff 0%,#3a7bd5 100%);border:none;border-radius:30px;padding:12px 30px;font-family:Unbounded,sans-serif;font-size:1.1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 15px #00d2ff4d}.download-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.download-btn:hover{transform:translateY(-2px);box-shadow:0 12px 20px #00d2ff80}.download-btn:hover:before{left:100%}.download-btn:active{transform:translateY(1px)}.export-wrapper{z-index:-1;background:radial-gradient(circle,#0b192c 0%,#000 100%);width:1080px;height:1920px;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.export-aurora{filter:blur(150px);background:conic-gradient(from 180deg,#00d2ff1a 0deg,#3a7bd533 180deg,#00d2ff1a 360deg);width:200%;height:200%;position:absolute;top:-50%;left:-50%}.hud-layer{pointer-events:none;z-index:1;background:linear-gradient(90deg,#00d2ff08 1px,#0000 1px) 0 0/50px 50px,linear-gradient(#00d2ff08 1px,#0000 1px) 0 0/50px 50px;width:100%;height:100%;position:absolute;top:0;left:0}.ui-overlay{pointer-events:none;z-index:110;width:100%;height:100%;position:absolute;top:0;left:0}.top-controls{pointer-events:auto;gap:15px;display:flex;position:absolute;top:20px;left:20px}.control-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b192c99;border:1px solid #00d2ff4d;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-family:Unbounded,sans-serif;font-size:.95rem;transition:all .3s;display:flex}.control-btn:hover{background:#00d2ff33;border-color:#00d2ffcc;box-shadow:0 0 15px #00d2ff66}.avatar-wrapper{background-color:#111;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.circular-text-svg{pointer-events:none;z-index:25;width:190px;height:190px;animation:20s linear infinite rotateText;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rotateText{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:200;pointer-events:auto;background:#000000b3;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:absolute;top:0;left:0}.modal-content{color:#fff;background:linear-gradient(145deg,#0f2040,#0a152d);border:1px solid #00d2ff4d;border-radius:16px;width:90%;max-width:450px;padding:30px;position:relative;box-shadow:0 20px 40px #00000080,0 0 30px #00d2ff1a}.modal-content h2{color:#00d2ff;text-align:center;margin-bottom:20px;font-size:1.2rem}.close-btn{color:#aaa;cursor:pointer;background:0 0;border:none;transition:color .2s;position:absolute;top:15px;right:15px}.close-btn:hover{color:#fff}.form-group{margin-bottom:20px}.form-group label{color:#b0c4de;margin-bottom:8px;font-size:.95rem;display:block}.countdown-timer-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#00d2ff;z-index:100;text-align:center;white-space:nowrap;letter-spacing:1px;background:#0006;border:1px solid #00d2ff4d;border-radius:12px;width:fit-content;min-width:160px;padding:10px 20px;font-family:Unbounded,sans-serif;font-size:1rem;font-weight:600;position:absolute;top:20px;right:20px}.hidden-file-input{display:none!important}.file-upload-label{color:#fff;text-align:center;cursor:pointer;background:#00d2ff1a;border:1px dashed #00d2ff;border-radius:12px;width:100%;padding:15px;font-family:Unbounded,sans-serif;font-size:.9rem;font-weight:600;transition:all .3s;display:block}.file-upload-label:hover{background:#00d2ff33;border-style:solid;transform:scale(1.02)}.file-upload-input{color:#fff;cursor:pointer;background:#0000004d;border:1px dashed #00d2ff80;border-radius:8px;width:100%;padding:10px;font-family:Unbounded,sans-serif;font-size:.9rem;transition:all .3s;display:block}.file-upload-input::file-selector-button{color:#000;cursor:pointer;background:#00d2ff;border:none;border-radius:6px;margin-right:15px;padding:8px 16px;font-family:Unbounded,sans-serif;font-weight:600;transition:background .3s}.file-upload-input::file-selector-button:hover{color:#fff;background:#3a7bd5}.file-upload-input:hover{background:#00d2ff0d;border-color:#00d2ff}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password]{color:#fff;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;outline:none;width:100%;padding:12px 15px;font-family:Unbounded,sans-serif;transition:border-color .3s}.form-group input[type=text]:focus,.form-group input[type=email]:focus,.form-group input[type=password]:focus{border-color:#00d2ff}.note{color:#888;margin-top:5px;font-size:.8rem}.btn-primary{color:#000;cursor:pointer;background:#00d2ff;border:none;border-radius:8px;width:100%;padding:12px;font-family:Unbounded,sans-serif;font-size:1rem;font-weight:700;transition:transform .2s,box-shadow .2s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #00d2ff66}.wishes-modal{flex-direction:column;max-width:600px;height:80vh;display:flex}.wishes-view-area{background:#0006;border:1px solid #ffffff0d;border-radius:12px;flex:1;margin-bottom:20px;position:relative;overflow:hidden}.floating-wish{white-space:nowrap;color:#fffc;text-shadow:0 0 10px #00d2ff80;font-weight:500;animation-name:floatUpWishes;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-50px}@keyframes floatUpWishes{0%{opacity:0;transform:translateY(50px)scale(.8)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-700px)scale(1.1)}}.wishes-form{gap:10px;display:flex}.wishes-form input{color:#fff;background:#0000004d;border:1px solid #ffffff1a;border-radius:8px;outline:none;flex:1;padding:12px 15px}.wishes-form input:focus{border-color:#00d2ff}.btn-send{color:#000;cursor:pointer;background:#00d2ff;border:none;border-radius:8px;justify-content:center;align-items:center;padding:0 20px;transition:all .2s;display:flex}.btn-send:hover{color:#fff;background:#3a7bd5}.admin-login-container{background:var(--primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.admin-login-form{background:#00000080;border:1px solid #00d2ff33;border-radius:12px;flex-direction:column;gap:20px;width:100%;max-width:400px;padding:40px;display:flex}.admin-login-form h2{text-align:center;color:#00d2ff;margin-bottom:20px}.admin-login-form input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:15px}.admin-login-form button{color:#000;cursor:pointer;background:#00d2ff;border:none;border-radius:8px;padding:15px;font-weight:700}:is(body:has(.admin-dashboard),html:has(.admin-dashboard)){overflow:hidden auto}.admin-dashboard{box-sizing:border-box;background:#050a14;flex-direction:column;width:100%;min-height:100vh;padding:30px;display:flex}.admin-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.admin-header h2{color:#00d2ff;font-size:2rem}.logout-btn{color:#ff4757;cursor:pointer;background:#ff47571a;border:1px solid #ff47574d;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;transition:all .2s;display:flex}.logout-btn:hover{color:#fff;background:#ff4757}.admin-content{grid-template-columns:350px 1fr;align-items:start;gap:30px;display:grid}.admin-list-card,.admin-form-card{flex-direction:column;display:flex}.admin-form-card,.admin-list-card{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;padding:20px}.admin-form-card h3,.admin-list-card h3{color:#fff;margin-bottom:20px;font-size:1.2rem}.form-actions{gap:10px;margin-top:20px;display:flex}.btn-save{color:#000;cursor:pointer;background:#00d2ff;border:none;border-radius:8px;flex:1;padding:12px;font-weight:700}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;flex:1;padding:12px}.admin-projects-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding-right:5px;display:grid}.admin-projects-grid::-webkit-scrollbar{width:4px}.admin-projects-grid::-webkit-scrollbar-thumb{background:#00d2ff1a;border-radius:5px}.admin-project-item{background:#0000004d;border:1px solid #ffffff0d;border-radius:8px;transition:transform .2s;position:relative;overflow:hidden}.admin-project-item:hover{border-color:#00d2ff4d;transform:translateY(-3px)}.admin-project-item img{aspect-ratio:1;object-fit:cover;width:100%}.admin-project-info{text-align:center;padding:5px}.admin-project-info p{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.65rem;overflow:hidden}.admin-project-actions{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0009;border-radius:8px;gap:5px;padding:5px;display:flex;position:absolute;top:10px;right:10px}.btn-edit,.btn-delete{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px}.btn-edit:hover{color:#00d2ff}.btn-delete:hover{color:#ff4757}.wishes-screen-container{background:linear-gradient(-45deg,#0f1c3f,#070914,#1b092a,#0b1a4a) 0 0/400% 400%;width:100vw;height:100vh;animation:15s infinite gradientBG;position:relative;overflow:hidden}.back-btn{color:#fff;cursor:pointer;z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0006;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-family:Unbounded,sans-serif;transition:all .2s;display:flex;position:absolute;top:20px;left:20px}.back-btn:hover{background:#00d2ff33;border-color:#00d2ff}.wishes-fullscreen-area{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.fullscreen-floating-wish{white-space:nowrap;color:#fff;text-shadow:0 0 15px #00d2ffcc,0 0 5px #fffc;font-weight:500;animation-name:floatUpWishesFS;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-50px}@keyframes floatUpWishesFS{0%{opacity:0;transform:translateY(100px)scale(.8)}5%{opacity:var(--opacityBase,1)}95%{opacity:var(--opacityBase,1)}to{opacity:0;transform:translateY(-110vh)scale(1.2)}}.wishes-bottom-bar{z-index:20;background:linear-gradient(#0000 0%,#000c 100%);justify-content:center;width:100%;padding:30px;display:flex;position:absolute;bottom:0;left:0}.wishes-bottom-form{gap:15px;width:100%;max-width:800px;display:flex}.wishes-bottom-form input{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0009;border:1px solid #00d2ff66;border-radius:30px;outline:none;flex:1;padding:15px 25px;font-family:inherit;font-size:1.1rem;transition:all .3s}.wishes-bottom-form input:focus{border-color:#00d2ff;box-shadow:0 0 15px #00d2ff4d}.btn-send-fullscreen{color:#000;cursor:pointer;background:linear-gradient(90deg,#00d2ff 0%,#3a7bd5 100%);border:none;border-radius:30px;align-items:center;gap:8px;padding:0 30px;font-family:Unbounded,sans-serif;font-size:1.1rem;font-weight:700;transition:transform .2s;display:flex;box-shadow:0 5px 15px #00d2ff66}.btn-send-fullscreen span{display:inline}.btn-send-fullscreen:hover{transform:translateY(-2px)}.wishes-moderation-card{margin-top:30px}.admin-wishes-list{flex-direction:column;flex:1;gap:10px;padding-right:10px;display:flex;overflow-y:auto}.admin-wishes-list::-webkit-scrollbar{width:6px}.admin-wishes-list::-webkit-scrollbar-thumb{background:#00d2ff33;border-radius:10px}.admin-wish-item{background:#0006;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;transition:border-color .2s;display:flex}.admin-wish-item:hover{border-color:#00d2ff33}.admin-wish-content p{color:#fff;margin:0;font-size:.8rem;line-height:1.3}.admin-wish-content small{color:#666;margin-top:5px;font-size:.75rem;display:block}.btn-delete-wish{color:#ff4757;cursor:pointer;opacity:.7;background:0 0;border:none;padding:8px;transition:opacity .2s,transform .2s}.btn-delete-wish:hover{opacity:1;transform:scale(1.1)}@media (width<=768px){.countdown-timer-overlay{min-width:120px;padding:6px 12px;font-size:.85rem;top:10px;right:10px}.top-controls{gap:8px;max-width:60%;padding:0;top:10px;left:10px}.control-btn{padding:8px 12px;font-size:.75rem}.control-btn span{display:none}@media (width>=480px){.control-btn span{display:inline}}.node.avatar-node{width:100px;height:100px}.node.project-node{width:60px;height:60px}.download-btn{white-space:nowrap;padding:8px 16px;font-size:.75rem}.interaction-hint{padding:0 20px;font-size:.65rem}.modal-content{width:85%;padding:20px}.modal-content h2{margin-bottom:15px;font-size:.9rem}.modal-content input[type=text],.modal-content input[type=file]{font-size:16px}.form-group label{font-size:.8rem}.btn-primary{padding:10px;font-size:.85rem}.file-upload-label{padding:12px;font-size:.8rem}.wishes-bottom-bar{padding:15px}.wishes-bottom-form{gap:10px}.wishes-bottom-form input{padding:10px 15px;font-size:.85rem}.btn-send-fullscreen{justify-content:center;min-width:50px;padding:0 15px;font-size:.9rem}.btn-send-fullscreen span{display:none!important}.fullscreen-floating-wish{text-shadow:0 0 10px #00d2ff66;font-size:14px!important}.canvas-layer filter{display:none!important}.connection-path{opacity:.7;stroke-width:2px!important;filter:none!important;stroke:#00d2ff!important}.drawing-path{stroke-width:2px!important}.admin-dashboard{height:auto;min-height:100vh;padding:15px;overflow-y:auto}.admin-content{grid-template-columns:1fr;gap:20px}.admin-header h2{font-size:1.4rem}.admin-projects-grid{grid-template-columns:repeat(3,1fr)}.admin-wishes-list{max-height:none}.admin-wish-item{flex-wrap:wrap;gap:10px;padding:12px}.admin-wish-content{flex:1;min-width:200px}.admin-wish-content p{font-size:.85rem}}.starfield-wrapper{z-index:0;pointer-events:none;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.real-star{will-change:opacity;background:#fff;border-radius:50%;animation-name:realTwinkle;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}@keyframes realTwinkle{0%{opacity:var(--op-base,.2)}to{opacity:var(--op-peak,1)}}.shooting-star-canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;transform:rotate(45deg)}.shooting-star{filter:drop-shadow(0 0 6px #fff);opacity:0;background:linear-gradient(-45deg,#fff,#00f0);border-radius:999px;height:2px;animation:4s ease-in-out infinite tail,4s ease-in-out infinite shooting;position:absolute;top:50%;left:50%}.shooting-star:before,.shooting-star:after{content:"";background:linear-gradient(-45deg,#00f0,#fff,#00f0);border-radius:100%;height:2px;animation:4s ease-in-out infinite shining;position:absolute;top:calc(50% - 1px);right:0;transform:translate(50%)rotate(45deg)}.shooting-star:after{transform:translate(50%)rotate(-45deg)}.ss-1{animation-delay:3s;top:calc(50% - 300px);left:calc(50% - 500px)}.ss-1:before,.ss-1:after{animation-delay:3s}.ss-2{animation-delay:11s;top:calc(50% + 200px);left:calc(50% - 600px)}.ss-2:before,.ss-2:after{animation-delay:11s}.ss-3{animation-delay:17s;top:calc(50% - 150px);left:calc(50% + 100px)}.ss-3:before,.ss-3:after{animation-delay:17s}@keyframes tail{0%{opacity:0;width:0}10%{opacity:1;width:15vw}20%{opacity:0;width:0}to{opacity:0;width:0}}@keyframes shooting{0%{transform:translate(0)}20%{transform:translate(800px)}to{transform:translate(800px)}}@keyframes shining{0%{opacity:0;width:0}10%{opacity:1;width:40px}20%{opacity:0;width:0}to{opacity:0;width:0}}
