:root{--ground:#211f28;--well:#2a2732;--well-raised:#312d3a;--bone:#e4dfd6;--bone-dim:#afa7bc;--rule:#7a7290;--hue-holding:#b08a3e;--hue-holding-text:#cdb07a;--hue-location:#5b96a0;--hue-location-text:#86bcc2;--hue-landlord:#6f86d1;--hue-landlord-text:#a9b8e8;--real-estate-red:#ff4136;--status-active:#5ba86b;--accent:#e4dfd6;--conflict:#c68a68;--display:"Fraunces", "Iowan Old Style", Constantia, Georgia, serif;--body:"Inter Tight", "Segoe UI Variable Text", system-ui, -apple-system, sans-serif;--data:"JetBrains Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;--t0:.8125rem;--t1:.9375rem;--t2:1.0625rem;--t3:1.3125rem;--t4:1.9rem;--t5:2.9rem;--shadow:0 2px 6px #00000059;--shadow-raised:0 6px 24px #0006;--ease-soft:cubic-bezier(.16, 1, .3, 1);--dur-quick:.22s;--dur-base:.42s;--dur-slow:.75s}*{box-sizing:border-box}html,body{height:100%;margin:0}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ground);color:var(--bone);font-family:var(--body);font-size:var(--t2);-webkit-font-smoothing:antialiased;line-height:1.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,textarea,select{transition:border-color var(--dur-quick) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft)}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px #e4dfd612}button{transition:transform var(--dur-quick) var(--ease-soft)}button:active{transform:scale(.96)}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select{font:inherit;color:inherit}.page{flex-direction:column;max-width:1700px;height:100%;margin:0 auto;padding:1.75rem 1.75rem 0;display:flex}.eyebrow{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule);margin:0 0 .7rem}h1{font-family:var(--display);font-size:var(--t5);text-wrap:balance;margin:0 0 .5rem;font-weight:400;line-height:1.08}.lede{max-width:56ch;font-size:var(--t2);color:var(--bone-dim);margin:0 0 1.5rem}@media (prefers-reduced-motion:no-preference){.eyebrow,h1,.lede{animation:rise-in var(--dur-slow) var(--ease-soft) both}h1{animation-delay:70ms}.lede{animation-delay:.14s}}.view{flex-direction:column;flex:1;min-height:0;display:none}body[data-lane=gate] .view-gate,body[data-lane=landing] .view-landing,body[data-lane=architecture] .view-architecture,body[data-lane=roadmap] .view-roadmap,body[data-lane=calendar] .view-calendar{display:flex}@keyframes view-enter{0%{opacity:0;transform:translateY(20px)scale(.985)}}@media (prefers-reduced-motion:no-preference){body[data-lane=gate] .view-gate,body[data-lane=landing] .view-landing,body[data-lane=architecture] .view-architecture,body[data-lane=roadmap] .view-roadmap,body[data-lane=calendar] .view-calendar{animation:view-enter var(--dur-slow) var(--ease-soft) both}}.reminder-banner{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}@media (prefers-reduced-motion:no-preference){.reminder-banner:not([hidden]){animation:rise-in var(--dur-slow) var(--ease-soft) both}}body[data-lane=gate] .reminder-banner,body[data-lane=loading] .reminder-banner,body:not([data-lane]) .reminder-banner{display:none!important}.reminder-line{background:var(--well-raised);border:1px solid var(--hue-holding);font-size:var(--t1);color:var(--bone);border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .9rem;display:flex}@media (prefers-reduced-motion:no-preference){.reminder-line{animation:4s ease-in-out infinite banner-breathe}}@keyframes banner-breathe{0%,to{border-color:var(--hue-holding)}50%{border-color:#b08a3e73}}.reminder-line strong{color:var(--hue-holding-text);font-weight:600}.reminder-dismiss{color:var(--rule);cursor:pointer;transition:color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border:0;flex:none;font-size:1.2rem;line-height:1}.reminder-dismiss:hover{color:var(--bone)}.reminder-dismiss:active{transform:scale(.85)}.back-link{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule);transition:color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);align-self:flex-start;margin-bottom:1rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--bone);transform:translate(-2px)}.back-link:active{transform:translate(-2px)scale(.97)}.view-gate{justify-content:center;align-items:center}.gate-form{text-align:center;flex-direction:column;align-items:center;gap:.6rem;width:100%;max-width:360px;display:flex}.gate-form h1{font-size:var(--t4);margin:0 0 .5rem}.gate-form input{background:var(--well);border:1px solid var(--rule);width:100%;color:var(--bone);font-size:var(--t2);text-align:center;border-radius:4px;padding:.6rem .75rem}.gate-form button{border:1px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;font-size:var(--t1);transition:background var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:4px;padding:.55rem .75rem}.gate-form button:hover{background:#f2eee614;box-shadow:0 0 0 4px #e4dfd60f}.gate-error{min-height:1.2em;font-size:var(--t0);color:var(--conflict);margin:0}.lane-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;max-width:900px;display:grid}.lane-card{background:var(--well);color:inherit;transition:border-color var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft);border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.5rem;text-decoration:none;display:flex}.lane-card:hover{box-shadow:var(--shadow-raised);border-color:#ffffff4d;transform:translateY(-3px)}.lane-card:active{transition-duration:var(--dur-quick);transform:translateY(-1px)scale(.98)}@media (prefers-reduced-motion:no-preference){.lane-grid .lane-card{animation:rise-in var(--dur-slow) var(--ease-soft) both}.lane-grid .lane-card:first-child{animation-delay:60ms}.lane-grid .lane-card:nth-child(2){animation-delay:.11s}.lane-grid .lane-card:nth-child(3){animation-delay:.16s}}.lane-card-eyebrow{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule)}.lane-card-title{font-family:var(--display);font-size:var(--t4);color:var(--bone)}.lane-card-desc{color:var(--bone-dim);font-size:var(--t1);max-width:42ch}.roadmap-grid{flex-direction:column;gap:1.5rem;padding-bottom:2rem;display:flex;overflow-y:auto}.roadmap-row{grid-template-columns:140px minmax(0,1fr);gap:1.25rem;display:grid}.roadmap-year{font-family:var(--display);font-size:var(--t3);color:var(--bone);padding-top:.4rem}.roadmap-cells{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.roadmap-cell{background:var(--well);border:1px solid #ffffff1a;border-radius:6px;flex-direction:column;gap:.4rem;padding:.9rem;display:flex}.roadmap-cell-head{justify-content:space-between;align-items:baseline;display:flex}.roadmap-season{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule)}.roadmap-status{font-family:var(--data);color:var(--bone-dim);opacity:.8;font-size:10.5px}.roadmap-cell textarea{resize:vertical;background:var(--ground);border:1px solid var(--rule);min-height:110px;color:var(--bone);font-family:var(--body);font-size:var(--t1);border-radius:4px;padding:.55rem .65rem;line-height:1.4}.roadmap-cell textarea::placeholder{color:var(--rule)}.view-calendar h1{font-size:var(--t4);margin-bottom:.3rem}.view-calendar .lede{margin-bottom:1rem}body[data-lane=calendar]{overflow-y:auto}body[data-lane=calendar] .page{height:auto;min-height:100%;padding-bottom:1.75rem}body[data-lane=calendar] .view-calendar{flex:none}body[data-lane=calendar] .calendar-root,body[data-lane=calendar] .calendar-add-form,body[data-lane=calendar] .calendar-panel,body[data-lane=calendar] .calendar-list,body[data-lane=calendar] .calendar-months{flex:none;min-height:0;overflow:visible}body[data-lane=calendar] .calendar-root{align-items:start}.calendar-root{flex:1;grid-template-columns:300px minmax(0,1fr);gap:1.5rem;min-height:0;display:grid;overflow:hidden}.calendar-add-form{flex-direction:column;gap:.6rem;padding-right:.25rem;display:flex;overflow-y:auto}.calendar-add-form input[type=text],.calendar-add-form input[type=date],.calendar-add-form input[type=time],.calendar-add-form textarea{background:var(--well);border:1px solid var(--rule);color:var(--bone);font-size:var(--t1);font-family:var(--body);border-radius:4px;width:100%;padding:.5rem .6rem}.calendar-add-form textarea{resize:vertical;min-height:60px}.calendar-add-row{gap:.5rem;display:flex}.reminder-offsets{border:1px solid #ffffff1a;border-radius:4px;flex-direction:column;gap:.35rem;padding:.6rem .7rem;display:flex}.reminder-offsets legend{padding:0 .3rem}.reminder-offset-check{font-size:var(--t1);color:var(--bone-dim);cursor:pointer;transition:color var(--dur-base) var(--ease-soft);align-items:center;gap:.45rem;display:flex}.reminder-offset-check:hover{color:var(--bone)}.calendar-add-form button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:var(--t1);transition:background var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:4px;padding:.5rem .6rem}.calendar-add-form button:hover{background:#f2eee614;box-shadow:0 0 0 4px #e4dfd60f}.calendar-list{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex;overflow-y:auto}.calendar-item{background:var(--well);border:1px solid #ffffff1a;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.85rem 1rem;display:flex}.calendar-item-main{flex-direction:column;gap:.25rem;min-width:0;display:flex}.calendar-item-title{font-family:var(--display);font-size:var(--t3);color:var(--bone)}.calendar-item-when{font-family:var(--data);font-size:var(--t0);color:var(--hue-location-text)}.calendar-item-notes{font-size:var(--t1);color:var(--bone-dim)}.calendar-item-reminders{font-family:var(--data);color:var(--rule);font-size:10.5px}.calendar-item-delete{color:var(--rule);cursor:pointer;transition:color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border:0;flex:none;font-size:1.3rem;line-height:1}.calendar-item-delete:hover{color:var(--conflict)}.calendar-item-delete:active{transform:scale(.85)}.calendar-item.is-flash{animation:item-flash 1.2s var(--ease-soft)}@keyframes item-flash{0%,to{border-color:#ffffff1a}20%{border-color:var(--hue-location)}}.calendar-panel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.calendar-view-toggle{flex:none;gap:.4rem;margin-bottom:.6rem;display:flex}.view-toggle-btn{border:1px solid var(--rule);color:var(--bone-dim);font-size:var(--t0);cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft), color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:999px;padding:.35rem .75rem}.view-toggle-btn.is-active{border-color:var(--accent);color:var(--accent)}.calendar-list,.calendar-months{flex:1;min-height:0}.calendar-months{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-content:start;gap:1.25rem;padding-bottom:1rem;display:grid;overflow-y:auto}.month-card{background:var(--well);border:1px solid #ffffff1a;border-radius:6px;padding:.9rem}.month-card-title{font-family:var(--display);font-size:var(--t2);color:var(--bone);margin:0 0 .6rem}.month-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:.3rem;display:grid}.month-weekdays span{font-family:var(--data);color:var(--rule);text-align:center;font-size:10px}.month-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-day{aspect-ratio:1;color:var(--bone-dim);font-size:var(--t0);cursor:default;transition:background var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.month-day.is-pad{visibility:hidden}.month-day.is-today .month-day-num{color:var(--bone);text-underline-offset:2px;font-weight:600;text-decoration:underline}.month-day.has-event{cursor:pointer;color:var(--bone);background:#5b96a029}.month-day.has-event:hover{background:#5b96a04d}.month-day.has-event:active{transform:scale(.88)}.month-day-dot{background:var(--hue-location);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.hub-toggle{gap:.4rem;margin:0 0 1.1rem;display:flex}.frame{flex:1;grid-template-columns:260px minmax(0,1fr);gap:1.25rem;min-height:0;padding-bottom:1.5rem;display:grid;position:relative}.sidebar{flex-direction:column;gap:1.1rem;min-height:0;padding-right:.25rem;display:flex;overflow-y:auto}.sidebar-label{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule);margin:0 0 .55rem;display:block}.filters{flex-wrap:wrap;gap:.4rem;display:flex}.filter-chip{border:1px solid var(--rule);color:var(--bone-dim);font-size:var(--t0);cursor:pointer;transition:border-color var(--dur-base) var(--ease-soft), color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.32rem .65rem;display:inline-flex}.filter-chip:hover{border-color:#fff6}.filter-chip:active{transform:scale(.95)}.filter-chip:before{content:"";opacity:.5;background:currentColor;border-radius:50%;width:7px;height:7px}.filter-chip.type-holding{color:var(--hue-holding-text)}.filter-chip.type-location{color:var(--hue-location-text)}.filter-chip.type-landlord{color:var(--hue-landlord-text)}.filter-chip.conf-sourced{color:var(--bone-dim)}.filter-chip.conf-reported{color:var(--hue-holding-text)}.filter-chip.conf-conflict{color:var(--conflict)}.filter-chip[aria-pressed=true]{border-color:currentColor}.filter-chip[aria-pressed=true]:before{opacity:1}.filter-chip[aria-pressed=false]{color:var(--rule)}.search-input{background:var(--well);border:1px solid var(--rule);width:100%;color:var(--bone);font-size:var(--t1);border-radius:4px;padding:.5rem .65rem}.search-input::placeholder{color:var(--rule)}.entity-list{border:1px solid #ffffff14;border-radius:4px;flex-direction:column;gap:1px;max-height:260px;display:flex;overflow-y:auto}.entity-item{text-align:left;background:var(--well);width:100%;color:var(--bone-dim);cursor:pointer;font-size:var(--t1);transition:color var(--dur-base) var(--ease-soft), background var(--dur-base) var(--ease-soft);border:0;grid-template-columns:8px 1fr;align-items:center;gap:.55rem;padding:.45rem .6rem;display:grid}.entity-item:hover{color:var(--bone)}.entity-item.is-selected{color:var(--bone);background:var(--well-raised)}.entity-swatch{border-radius:50%;width:8px;height:8px}.entity-item.type-holding .entity-swatch{background:var(--hue-holding)}.entity-item.type-location .entity-swatch{background:var(--hue-location)}.entity-item.type-landlord .entity-swatch{background:var(--hue-landlord)}.entity-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.add-form{border-top:1px solid #ffffff1f;flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.add-form input,.add-form select{background:var(--well);border:1px solid var(--rule);color:var(--bone);font-size:var(--t1);border-radius:4px;padding:.45rem .6rem}.add-form button{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:var(--t1);transition:background var(--dur-base) var(--ease-soft), box-shadow var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:4px;padding:.45rem .6rem}.add-form button:hover{background:#f2eee614;box-shadow:0 0 0 4px #e4dfd60f}.canvas-shell{background:var(--ground);background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:48px 48px;border:1px solid #ffffff1a;border-radius:6px;min-height:0;position:relative;overflow:hidden}.canvas-shell:fullscreen{background-color:var(--ground);border:0;border-radius:0;width:100vw;height:100vh}.canvas-controls{z-index:20;gap:.4rem;display:flex;position:absolute;top:.7rem;right:.7rem}.canvas-control{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:32px;height:32px;color:var(--bone-dim);cursor:pointer;transition:color var(--dur-base) var(--ease-soft), border-color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:#2a2732d9;border:1px solid #ffffff24;border-radius:5px;justify-content:center;align-items:center;display:flex}.canvas-control:hover{color:var(--bone);border-color:#ffffff52}.canvas-control:active{transform:scale(.93)}.viewport{cursor:grab;touch-action:none;position:absolute;inset:0}.viewport.is-panning{cursor:grabbing}.world{transform-origin:0 0;position:absolute;top:0;left:0}.edge-layer{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.edge{stroke-width:1.6px;fill:none}.edge-structural{stroke:var(--rule);opacity:.85}.edge-structural.is-construction{stroke:url(#hazard-stripes);stroke-width:3.2px;opacity:1}.edge-structural.is-cancelled-edge{stroke:var(--rule);stroke-dasharray:2 7;opacity:.35}.edge-landlord{stroke:var(--real-estate-red);stroke-width:2.2px;stroke-dasharray:10 6}.edge-static{stroke:var(--hue-location);stroke-width:1.4px;stroke-dasharray:2 4;opacity:.75}@media (prefers-reduced-motion:no-preference){.edge-landlord{animation:1.8s linear infinite march}}@keyframes march{to{stroke-dashoffset:-22px}}@keyframes edge-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}.edge-label{font-family:var(--data);letter-spacing:.02em;fill:var(--bone);font-size:10.5px}.edge-label-pill{fill:var(--well-raised);stroke:var(--rule);stroke-width:1px}.edge-label-pill.is-landlord{stroke:var(--real-estate-red)}.node-card{background:var(--well);box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow var(--dur-base) var(--ease-soft), opacity var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-soft), border-color var(--dur-base) var(--ease-soft);border:1px solid #ffffff1a;border-radius:5px;display:flex;position:absolute}.node-card:hover{box-shadow:var(--shadow-raised);border-color:#ffffff47;transform:translateY(-2px)}.node-card.is-dragging{cursor:grabbing;box-shadow:var(--shadow-raised);z-index:5;transition:box-shadow .16s;transform:scale(1.02)}.node-card.is-hidden{display:none}.node-card.is-selected{outline:1px solid var(--accent);outline-offset:1px}.node-card.is-hub{border-color:#fff3}.node-card.type-holding{clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);border-width:1.5px}@keyframes card-in{0%{opacity:0;transform:translateY(8px)scale(.94)}}.node-bar{border-radius:3px 0 0 3px;flex:none;width:3px}.node-card.conf-conflict .node-bar{color:var(--conflict);background-image:repeating-linear-gradient(currentColor 0 4px,#0000 4px 8px)}.node-card.status-in-progress .node-bar{background-image:repeating-linear-gradient(45deg,#161616 0 5px,#f2efe6 5px 10px)}.node-card.status-cancelled .node-bar{background-image:repeating-linear-gradient(-45deg, var(--rule) 0 4px, transparent 4px 9px)}.node-card.status-cancelled{filter:grayscale(.75)brightness(.72)}.node-card.status-cancelled:hover{filter:grayscale(.4)brightness(.88)}.node-status{width:7px;height:7px;transition:background var(--dur-base) var(--ease-soft), opacity var(--dur-base) var(--ease-soft);border-radius:50%;position:absolute;top:5px;right:5px}.node-status.is-hidden{opacity:0}.node-status.is-active{background:var(--status-active)}.node-status.is-in-progress{background:var(--hue-holding)}.node-status.is-cancelled{background:var(--conflict)}.node-body{min-width:0;padding:.5rem .7rem}.node-label{font-family:var(--display);color:var(--bone);text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.2;overflow:hidden}.node-card.is-hub .node-label{font-size:17px}.node-sub{font-family:var(--data);letter-spacing:.01em;color:var(--bone-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:10.5px;overflow:hidden}.node-card.conf-reported .node-sub:after{content:" · reported";opacity:.7}.legend{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:200px;max-width:70vw;box-shadow:var(--shadow-raised);transition:opacity var(--dur-base) var(--ease-soft), transform var(--dur-base) var(--ease-soft);background:#2a2732eb;border:1px solid #ffffff24;border-radius:6px;padding:.85rem .9rem;position:absolute;bottom:.7rem;left:.7rem}.legend.is-hidden{opacity:0;pointer-events:none;transform:translateY(6px)}.legend-title{font-family:var(--display);font-size:var(--t2);margin:0 0 .6rem;font-weight:400}.legend-group{margin:0 0 .75rem}.legend-group:last-child{margin-bottom:0}.legend-label{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule);margin:0 0 .35rem;display:block}.legend-row{font-size:var(--t0);color:var(--bone-dim);align-items:center;gap:.5rem;margin:0 0 .3rem;line-height:1.4;display:flex}.legend-row:last-child{margin-bottom:0}.legend-swatch{border-radius:2px;flex:none;width:9px;height:9px}.legend-swatch-sourced{background:var(--bone-dim)}.legend-swatch-reported{background:var(--hue-holding-text)}.legend-swatch-conflict{background-image:repeating-linear-gradient(180deg, var(--conflict) 0 3px, transparent 3px 6px)}.legend-dot{border-radius:50%;flex:none;width:7px;height:7px}.legend-dot.is-active{background:var(--status-active)}.legend-dot.is-in-progress{background:var(--hue-holding)}.legend-dot.is-cancelled{background:var(--conflict)}.legend-line{border-top:1.6px solid var(--rule);flex:none;width:20px;height:0}.legend-line-landlord{border-top-color:var(--real-estate-red);border-top-style:dashed}.detail{background:var(--well);width:340px;max-width:88vw;box-shadow:var(--shadow-raised);transition:transform var(--dur-base) var(--ease-soft);z-index:10;border-left:1px solid #ffffff1f;padding:1.5rem 1.25rem;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%)}.detail.is-open{transform:translate(0)}.detail-close{color:var(--rule);cursor:pointer;transition:color var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border:0;font-size:1.4rem;line-height:1;position:absolute;top:.9rem;right:.9rem}.detail-close:hover{color:var(--bone)}.detail-close:active{transform:scale(.85)}.detail-type{font-family:var(--data);font-size:var(--t0);letter-spacing:.03em;text-transform:uppercase;color:var(--rule);margin:0 0 .4rem}@media (prefers-reduced-motion:no-preference){.detail-type,.detail-name,.detail-sub{animation:rise-in var(--dur-base) var(--ease-soft) both}.detail-name{animation-delay:50ms}.detail-sub{animation-delay:.1s}}.detail-name{font-family:var(--display);font-size:var(--t4);text-wrap:balance;margin:0 0 .35rem;font-weight:400;line-height:1.1}.detail-sub{color:var(--bone-dim);font-size:var(--t1);margin:0 0 .7rem}.detail-confidence{font-family:var(--data);font-size:var(--t0);border:1px solid var(--rule);color:var(--bone-dim);border-radius:4px;margin:0 0 1rem;padding:.4rem .55rem}.detail-confidence.conf-conflict{border-color:var(--conflict);color:var(--conflict)}.detail-fields{flex-direction:column;gap:.75rem;margin:0 0 1.1rem;display:flex}.detail-field{flex-direction:column;gap:.3rem;display:flex}.detail-field label{font-family:var(--data);font-size:var(--t0);color:var(--rule)}.detail-field-hint{opacity:.7}.detail-field input{background:var(--ground);border:1px solid var(--rule);color:var(--bone);font-size:var(--t1);font-family:var(--body);transition:border-color var(--dur-quick) var(--ease-soft);border-radius:4px;padding:.45rem .55rem}.detail-field input[list=landlord-options]{border-color:var(--real-estate-red)}.detail-field input[list=hub-options]{border-color:var(--hue-holding)}.detail-field input.is-invalid{border-color:var(--conflict);animation:shake .4s var(--ease-soft)}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.detail-info{font-size:var(--t0);grid-template-columns:auto 1fr;gap:.45rem .9rem;margin:0 0 1rem;display:grid}.detail-info dt{font-family:var(--data);color:var(--rule);white-space:nowrap}.detail-info dd{color:var(--bone);margin:0}.detail-conn-head{font-family:var(--data);font-size:var(--t0);letter-spacing:.02em;color:var(--rule);border-top:1px solid #ffffff1f;margin:1rem 0 .6rem;padding-top:.9rem;font-weight:400}.detail-conn{font-size:var(--t0);flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.detail-conn li{align-items:baseline;gap:.4rem;display:flex}.conn-rel{font-family:var(--data);color:var(--rule)}.conn-arrow{color:var(--rule)}.conn-name{color:var(--bone)}.empty{color:var(--rule);font-size:var(--t1)}.empty.small{font-size:var(--t0);font-family:var(--data)}.detail-actions{border-top:1px solid #ffffff1f;margin-top:1.5rem;padding-top:1rem}.detail-delete{border:1px solid var(--conflict);width:100%;color:var(--conflict);font-size:var(--t0);cursor:pointer;transition:background var(--dur-base) var(--ease-soft), transform var(--dur-quick) var(--ease-soft);background:0 0;border-radius:4px;padding:.5rem .7rem}.detail-delete:hover{background:#c68a681f}.detail-delete:active{transform:scale(.98)}@media (width<=900px){.frame{grid-template-rows:auto minmax(320px,1fr);grid-template-columns:1fr}.sidebar{max-height:220px}h1{font-size:var(--t4)}.detail{width:100%;max-width:100%}.calendar-root{grid-template-rows:auto minmax(280px,1fr);grid-template-columns:1fr}.calendar-add-form{max-height:320px}.canvas-control{width:40px;height:40px}.detail-close,.calendar-item-delete,.reminder-dismiss{margin:-.5rem;padding:.5rem}.filter-chip,.view-toggle-btn,.month-day.has-event{min-height:36px}}
