/* An isolated, deliberately nocturnal space inside IKnowTho. */
.goal-portal{position:relative;isolation:isolate;width:100%;border:1px solid #8ddbd72b;border-radius:26px;background:#0c1821;color:#edfaff;padding:24px 28px;margin:0 0 22px;overflow:hidden;display:flex;align-items:center;gap:22px;text-align:start;cursor:pointer;font:inherit;box-shadow:0 18px 55px #0002}
.goal-portal::before{content:"";position:absolute;inset:-100%;z-index:-1;background:radial-gradient(ellipse at 35% 40%,#238d8d45,transparent 30%),radial-gradient(ellipse at 65% 65%,#6153ba40,transparent 35%);animation:gm-tide 20s ease-in-out infinite alternate}
.goal-portal-orb{width:66px;height:66px;flex:none;border:1px solid #b6fff260;border-radius:46% 54% 57% 43%;background:radial-gradient(circle at 30% 30%,#c8ffebcc,#3eb8a555 28%,#122d40 65%);box-shadow:0 0 32px #4dccbe32,inset 0 0 22px #9fffe93b;display:grid;place-items:center;font-size:23px}
.goal-portal-copy{display:grid;gap:6px;min-width:0;flex:1}.goal-portal-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#aad5d6}.goal-portal-title{font-family:'Golos Text','Manrope',sans-serif;font-size:clamp(18px,3vw,25px);font-weight:700;line-height:1.25;overflow-wrap:anywhere;transition:opacity .25s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.goal-portal-sub{font-size:12px;color:#b4c6d0}.goal-portal-arrow{font-size:24px;color:#b6ede1}.goal-portal:focus-visible{outline:3px solid #b6ede1;outline-offset:4px}
#screen-goals{padding-bottom:0}#goal-map-root{color:#edf6fa;font-family:'Manrope','IBM Plex Sans',sans-serif;--gm-text:#edf6fa;--gm-muted:#b0c4cf;--gm-line:#9bc9cd38;--gm-panel:#12232eea;--gm-accent:#b7f1dc;--gm-bg:#081219;min-height:calc(100svh - 60px);background:var(--gm-bg);position:relative;isolation:isolate;overflow:hidden}
#goal-map-root *{box-sizing:border-box}#goal-map-root [hidden]{display:none!important}
.gm-backdrop,.gm-spotlight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-2}.gm-backdrop{background:radial-gradient(ellipse at 12% 30%,#174e5845,transparent 45%),radial-gradient(ellipse at 90% 75%,#42306b4d,transparent 50%),#081219}.gm-spotlight{z-index:0;background:radial-gradient(circle 290px at var(--gm-x,50%) var(--gm-y,45%),#93e7dc0e,transparent 80%)}
.gm-shell{max-width:1440px;margin:auto;padding:24px 32px 40px;position:relative;z-index:1}.gm-topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.gm-brand{font-family:'Golos Text',sans-serif;font-size:18px;font-weight:700;color:#c0dded}.gm-top-actions{display:flex;gap:8px;flex-wrap:wrap}.gm-button{border:1px solid var(--gm-line);border-radius:999px;padding:10px 15px;background:#13252eab;color:var(--gm-text);font:600 12px 'Manrope',sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.gm-button:hover{background:#233b45}.gm-button.primary{background:#b7f1dc;color:#122d2b;border-color:transparent}.gm-button:disabled{opacity:.5;cursor:wait}.gm-button:focus-visible,.gm-node:focus-visible,.gm-related:focus-visible{outline:2px solid #c6f7e8;outline-offset:4px}.gm-heading{margin-top:30px;display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap}.gm-heading h1{font-family:'Golos Text',sans-serif;font-size:clamp(25px,4vw,39px);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0;max-width:850px}.gm-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#accdcd;margin-bottom:8px}.gm-hint{font-size:12px;color:var(--gm-muted);margin:10px 0 0;max-width:650px;line-height:1.6}.gm-save{font-size:11px;color:var(--gm-muted);min-height:17px}.gm-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start;margin-top:18px}.gm-layout.no-selection{grid-template-columns:1fr}.gm-layout.no-selection .gm-detail{display:none}.gm-scene{position:relative;min-width:0;min-height:560px;height:clamp(560px,65svh,740px);perspective:1000px;touch-action:pan-y}.gm-network{position:absolute;inset:0;isolation:isolate}.gm-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}.gm-link{stroke:#92c9cc44;stroke-width:1;fill:none;transition:stroke .25s}.gm-link.related{stroke:#c1ade177;stroke-dasharray:3 6}.gm-link.active{stroke:#c0f5dfaa;stroke-width:1.4}.gm-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%) translateZ(0);width:154px;min-height:102px;padding:15px 17px;border:1px solid #a5d9d52e;border-radius:31px 43px 35px 27px;background:radial-gradient(ellipse at 20% 0%,#2b566166,transparent 85%),#12202dda;color:var(--gm-text);box-shadow:inset 0 1px 1px #edffff17,0 7px 0 #04101866,0 22px 50px #0005;backdrop-filter:blur(14px);text-align:start;font:inherit;cursor:pointer;opacity:var(--node-light,.82);filter:blur(var(--node-blur,0px));transition:box-shadow .2s,background .2s,opacity .2s,filter .2s,border-color .2s;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere;z-index:1}
.gm-node:hover,.gm-node.selected{opacity:1!important;filter:none!important;border-color:#adf0d999;box-shadow:inset 0 1px 1px #edffff30,0 7px 0 #0b282a,0 0 55px #8cf4cd19,0 24px 50px #0005}.gm-node.selected{background:radial-gradient(ellipse at 15% 0%,#43887966,transparent 85%),#19353b}.gm-node-kind{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#c0d7dc;display:flex;align-items:center;gap:7px}.gm-node-kind::before{content:"";width:5px;height:5px;background:#a6eddb;box-shadow:0 0 10px #b9f9de80;border-radius:50%;flex:none}.gm-node-name{font-size:13px;font-weight:700;line-height:1.45}.gm-node-target{font-size:11px;line-height:1.5;color:#b4cbd6}.gm-node.done .gm-node-kind::before{background:#a0e6ab}.gm-node.done .gm-node-kind::after{content:"✓";margin-inline-start:auto}.gm-node.root-goal{width:174px;min-height:114px}.gm-count{color:#b4cbd6;font-size:10px}.gm-legend{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:11px;color:#adc4cd;margin:5px 0 0}.gm-legend span{display:flex;align-items:center;gap:7px}.gm-legend i{display:inline-block;width:22px;border-top:1px solid #92c9cc88}.gm-legend i.dashed{border-top:1px dashed #c1ade1aa}.gm-detail{background:linear-gradient(145deg,#1c333bdb,#101d2be8);border:1px solid #abded624;border-radius:25px;padding:22px;box-shadow:0 24px 65px #0003;backdrop-filter:blur(20px);display:grid;gap:18px;min-width:0}.gm-detail h2{font-family:'Golos Text',sans-serif;font-weight:600;font-size:21px;line-height:1.3;margin:0;overflow-wrap:anywhere}.gm-detail p{font-size:12px;line-height:1.7;white-space:pre-wrap;margin:0;overflow-wrap:anywhere}.gm-detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--gm-muted);margin-bottom:7px}.gm-detail-row{display:flex;justify-content:space-between;align-items:start;gap:10px}.gm-detail-group{display:grid;gap:8px}.gm-related{color:var(--gm-text);border:1px dashed #adc7d74d;border-radius:14px;background:#23324155;padding:10px 12px;font:500 11px/1.6 'Manrope',sans-serif;text-align:start;cursor:pointer;overflow-wrap:anywhere}.gm-related small{display:block;color:var(--gm-muted);font-size:10px}.gm-check{display:flex;gap:10px;align-items:center;font-size:12px;cursor:pointer}.gm-check input{width:18px;height:18px;accent-color:#b7f1dc;flex:none}.gm-note{color:var(--gm-muted);font-size:11px;line-height:1.6}.gm-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;text-align:center;padding:24px}.gm-empty h2{font-family:'Golos Text',sans-serif;font-size:28px;margin:0}.gm-empty p{color:var(--gm-muted);font-size:13px;max-width:360px;line-height:1.7}.gm-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;min-height:38px;align-items:center}.gm-crumb{background:none;border:0;color:var(--gm-muted);font:500 11px 'Manrope',sans-serif;padding:6px 0;cursor:pointer}.gm-crumb[aria-current]{color:var(--gm-text)}
.gm-node-name,.gm-node-target{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gm-dialog{--gm-text:#edf6fa;--gm-line:#9bc9cd38;width:min(520px,calc(100% - 28px));max-height:calc(100svh - 36px);overflow:auto;border:1px solid #90b7bf44;border-radius:25px;background:#14212c;color:#edf6fa;padding:26px;box-shadow:0 30px 100px #0007;font-family:'Manrope',sans-serif}.gm-dialog::backdrop{background:#020a13bb;backdrop-filter:blur(8px)}.gm-dialog h2{font-family:'Golos Text',sans-serif;font-size:23px;margin:0 0 22px}.gm-form{display:grid;gap:15px}.gm-field{display:grid;gap:6px;font-size:12px;color:#c3d5df}.gm-field input,.gm-field select,.gm-field textarea{font:400 14px/1.5 'IBM Plex Sans',sans-serif;color:#edf6fa;border:1px solid #91bac53b;background:#0d1821;border-radius:12px;padding:10px 12px;width:100%;min-width:0}.gm-field textarea{resize:vertical;min-height:85px}.gm-field input:focus,.gm-field select:focus,.gm-field textarea:focus{outline:2px solid #a7dfcf;outline-offset:2px}.gm-dialog-actions{display:flex;gap:8px;justify-content:end;flex-wrap:wrap;margin-top:7px}.gm-form-error{color:#ffb7b7;font-size:12px;min-height:16px}.gm-archive-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #91bac52a}.gm-toast{font-size:12px;color:#c8e5dc;min-height:20px;margin-top:15px}.gm-link-form{display:grid;gap:12px}.gm-action-list{display:grid;gap:10px}.gm-action-item{display:flex;gap:9px;align-items:start;font-size:12px;line-height:1.6}.gm-action-item input{accent-color:#b7f1dc;margin-top:3px;flex:none}.gm-mini-link{background:none;border:0;color:#aeded9;text-align:start;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.gm-link-row{display:flex;gap:8px;align-items:start}.gm-link-row .gm-related{flex:1}.gm-remove-link{border:0;background:none;color:#bed0db;font:inherit;padding:8px;cursor:pointer}
@keyframes gm-tide{from{transform:translate(-3%,-2%) rotate(-8deg)}to{transform:translate(4%,3%) rotate(9deg)}}
@media(min-width:1500px){.gm-shell{padding-inline:40px}.gm-scene{height:720px}}
@media(max-width:1000px){.gm-layout{grid-template-columns:1fr}.gm-detail{max-width:none;grid-template-columns:1fr 1fr}.gm-detail> :first-child,.gm-detail>.gm-detail-actions{grid-column:1/-1}.gm-scene{height:610px}.gm-node{width:145px}.gm-node.root-goal{width:160px}}
@media(max-width:600px){.goal-portal{padding:20px;gap:16px}.goal-portal-orb{width:48px;height:48px}.goal-portal-title{font-size:18px}.goal-portal-sub{font-size:11px}.gm-shell{padding:18px 16px 30px}.gm-topbar{gap:12px}.gm-brand{font-size:16px}.gm-top-actions{gap:6px}.gm-button{font-size:11px;padding:10px 12px;min-height:44px}.gm-heading{margin-top:24px}.gm-scene{height:auto!important;min-height:0;padding:20px 0 10px}.gm-network{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;align-items:start}.gm-node,.gm-node.root-goal{position:relative;left:auto!important;top:auto!important;width:100%;min-height:112px;transform:none!important;opacity:1!important;filter:none!important;padding:15px 13px;border-radius:24px 33px 27px 23px}.gm-node-name{font-size:12px}.gm-node-target{font-size:11px}.gm-links{display:none}.gm-detail{display:grid;grid-template-columns:1fr;padding:20px;margin-top:4px}.gm-detail>*{grid-column:auto!important}.gm-empty{position:relative;grid-column:1/-1;min-height:250px}.gm-hint{font-size:12px}.gm-heading h1{font-size:28px}.gm-dialog{padding:22px}.gm-legend{margin-top:16px}.gm-save{width:100%}}
@media(prefers-reduced-motion:reduce){.goal-portal::before{animation:none}.goal-portal-title,.gm-node{transition:none}.gm-spotlight{display:none}}
@media(pointer:coarse){.gm-node{filter:none!important;opacity:1!important}}
