:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#03182d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.landing-container{position:relative;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;background-color:#03182d;background-image:url(/bg.png);background-repeat:repeat-x;background-position:top center;background-size:auto}.landing-nav{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 2.5rem}.landing-logo{font-size:1.2rem;font-weight:600;letter-spacing:.04em;color:#ffffffe6}.landing-signin{padding:.45rem 1.1rem;font-size:.875rem;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:#ffffffbf;cursor:pointer;transition:background .2s,border-color .2s}.landing-signin:hover{background:#ffffff17;border-color:#ffffff38}.landing-main{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem 6rem;gap:5rem}.landing-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;max-width:700px}.landing-headline{font-size:clamp(2.6rem,6vw,4.8rem);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.025em;background:linear-gradient(135deg,#fffffff2,#b4b9ffe0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing-tagline{font-size:clamp(.95rem,2vw,1.1rem);line-height:1.75;color:#ffffff80;margin:0;max-width:520px}.landing-cta{margin-top:.25rem;padding:.85rem 2.2rem;font-size:1rem;font-weight:500;border-radius:10px;background:#646cff;border:none;color:#fff;cursor:pointer;transition:background .2s,transform .15s;letter-spacing:.015em}.landing-cta:hover{background:#535bf2;transform:translateY(-2px)}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;width:100%;max-width:860px}.landing-card{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:1.8rem 1.6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-card-label{font-size:.72rem;font-weight:600;letter-spacing:.1em;color:#646cff}.landing-card h3{margin:.65rem 0 .45rem;font-size:1rem;font-weight:600;color:#ffffffd9}.landing-card p{margin:0;font-size:.875rem;line-height:1.65;color:#ffffff6b}@media(max-width:640px){.landing-nav{padding:1.2rem 1.5rem}.landing-features{grid-template-columns:1fr}.landing-main{gap:3.5rem;padding:3rem 1.5rem 5rem}}.dp-container{display:flex;flex-direction:column;min-height:100vh}.dp-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 2rem;border-bottom:1px solid rgba(255,255,255,.07)}.dp-logo{font-size:1.15rem;font-weight:600;letter-spacing:.04em;color:#ffffffe6}.dp-header-right{display:flex;align-items:center;gap:1rem}.dp-user{font-size:.875rem;color:#ffffff73}.dp-logout{padding:.4rem .9rem;font-size:.85rem;border-radius:7px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9;cursor:pointer;transition:background .2s,border-color .2s}.dp-logout:hover{background:#ffffff17;border-color:#ffffff2e}.dp-main{flex:1;padding:2.5rem 2rem;max-width:1100px;width:100%;margin:0 auto}.dp-title-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2rem}.dp-title-row h1{font-size:1.6rem;font-weight:600;margin:0;color:#ffffffe0}.dp-new-btn{padding:.55rem 1.2rem;font-size:.9rem;font-weight:500;border-radius:8px;background:#646cff;border:none;color:#fff;cursor:pointer;transition:background .2s,transform .1s}.dp-new-btn:hover:not(:disabled){background:#535bf2;transform:translateY(-1px)}.dp-new-btn:disabled{opacity:.6;cursor:default}.dp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.dp-card{position:relative;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.4rem 1.3rem;cursor:pointer;transition:background .18s,border-color .18s,transform .15s;display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.dp-card:hover{background:#ffffff0f;border-color:#646cff59;transform:translateY(-2px)}.dp-card-body{min-width:0}.dp-card-title{margin:0 0 .4rem;font-size:.975rem;font-weight:500;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp-card-date{margin:0;font-size:.78rem;color:#ffffff59}.dp-card-delete{flex-shrink:0;width:24px;height:24px;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;border-radius:6px;background:transparent;border:1px solid transparent;color:#ffffff4d;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.dp-card-delete:hover:not(:disabled){color:#ff6b6b;background:#ff6b6b1a;border-color:#ff6b6b40}.dp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:5rem 0;color:#ffffff59;font-size:.95rem}.dp-empty p{margin:0}.dp-hint{color:#ffffff59;font-size:.9rem}.dp-error{color:#ff6b6b;font-size:.875rem;margin-bottom:1rem}@media(max-width:600px){.dp-main{padding:2rem 1.2rem}.dp-title-row{flex-direction:column;gap:1rem;align-items:flex-start}}.canvas-area{flex:1;position:relative;min-height:calc(100vh - 80px);overflow:hidden}.edge-line{position:absolute;height:1px;background:#ffdc004d;transform-origin:0 50%;pointer-events:none;border-radius:1px}.mind-block{position:absolute;padding:.6rem 1.8rem;border-radius:12px;font-size:1rem;font-weight:500;cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;display:flex;align-items:center;justify-content:center;box-shadow:0 0 1px 1px #ffdc0000}.start-block{border:2px solid rgba(255,220,0,.5);background:#2a2619}.child-block{border:2px solid rgba(255,220,0,.35);background:#26241a;cursor:grab}.child-block:active{cursor:grabbing}.add-child-btn{position:absolute;right:-12px;top:50%;translate:0 -50%;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,220,0,.5);background:#1e1e1ee6;color:#ffdc00cc;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;scale:.5;transition:opacity .15s,scale .15s,background .15s;pointer-events:none;padding:0}.mind-block:hover .add-child-btn{opacity:1;scale:1;pointer-events:auto}.add-child-btn:hover{background:#ffdc0040;color:#ffdc00}.canvas-transform-layer{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform}.canvas-area.panning{cursor:grabbing}.canvas-area.pan-ready{cursor:grab}.menu-btn{position:absolute;right:-12px;top:calc(50% - 30px);translate:0 -50%;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,220,0,.5);background:#1e1e1ee6;color:#ffdc00cc;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;scale:.5;transition:opacity .15s,scale .15s,background .15s;pointer-events:none;padding:0}.mind-block:hover .menu-btn{opacity:1;scale:1;pointer-events:auto}.menu-btn:hover{background:#ffdc0040;color:#ffdc00}.unpin-btn{position:absolute;right:-12px;top:calc(50% + 30px);translate:0 -50%;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,80,80,.5);background:#1e1e1ee6;color:#ff5050cc;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;scale:.5;transition:opacity .15s,scale .15s,background .15s;pointer-events:none;padding:0}.mind-block:hover .unpin-btn{opacity:1;scale:1;pointer-events:auto}.unpin-btn:hover{background:#ff505040;color:#ff5050}.node-menu{position:absolute;right:-142px;top:calc(50% - 42px);width:130px;background:#2a2a2a;border:1px solid rgba(255,220,0,.3);border-radius:8px;padding:4px;z-index:10;pointer-events:auto;display:flex;flex-direction:column}.node-menu button{width:100%;padding:6px 10px;background:none;border:none;color:#eee;font-size:13px;cursor:pointer;border-radius:4px;text-align:left}.node-menu button:hover{background:#ffdc0026}.node-menu .menu-item-danger{color:#ff6b6b}.node-menu .menu-item-danger:hover{background:#ff505026}.color-picker-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.color-picker-popup{background:#2a2a2a;border:1px solid rgba(255,220,0,.3);border-radius:12px;padding:20px;min-width:220px}.color-picker-title{font-size:14px;font-weight:600;margin-bottom:12px;color:#eee}.color-swatch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.color-swatch{width:36px;height:36px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,scale .15s;padding:0}.color-swatch:hover{border-color:#fff;scale:1.1}.color-picker-custom{display:flex;align-items:center;gap:8px;color:#aaa;font-size:13px}.color-picker-custom input[type=color]{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;background:none;padding:0}.home-container{width:100%;min-height:100vh;display:flex;flex-direction:column}.home-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem}.home-back{font-size:.85rem;color:#ffffff80;background:transparent;border:none;cursor:pointer;padding:.3rem .5rem;transition:color .2s}.home-back:hover{color:#ffffffd9;border-color:transparent}.home-header h1{margin:0;font-size:1.5rem}.canvas-wrapper{flex:1;display:flex;flex-direction:column}#root{width:100%;margin:0;padding:0}.auth-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#fff6;font-size:.95rem;letter-spacing:.04em}
