:root{color:#302b25;background:#f5f5f3;--font-sans: "Assistant", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: var(--font-sans);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f7f3ec;--tree-canvas: #f5f5f3;--base: #fffdf8;--elevated: #fffaf2;--recessed: #ede5d8;--text: #302b25;--subtle: #796f63;--line: #d8ccbc;--brand: #a8875b;--brand-deep: #795d3f;--add: #7e9b63;--danger: #b95c4b;--shadow: 0 18px 46px rgba(62, 48, 34, .13);--shadow-soft: 0 8px 24px rgba(62, 48, 34, .09)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;background:var(--tree-canvas)}html[data-deployment-environment=staging]{--canvas: #f3e8ff;--tree-canvas: #f5f3ff;--base: #fdfaff;--elevated: #faf5ff;--recessed: #ede9fe;--text: #2e1065;--subtle: #6b4f88;--line: #c4b5fd;--brand: #7c3aed;--brand-deep: #5b21b6;--shadow: 0 18px 46px rgba(76, 29, 149, .16);--shadow-soft: 0 8px 24px rgba(76, 29, 149, .12)}.staging-shell{display:flex;flex-direction:column;height:100%}.staging-banner{align-items:center;background:#4c1d95;border-bottom:3px solid #fbbf24;color:#fff;display:flex;flex:0 0 auto;gap:16px;justify-content:center;min-height:52px;padding:8px max(18px,env(safe-area-inset-right,0px)) 8px max(18px,env(safe-area-inset-left,0px));text-align:center;z-index:200}.staging-banner strong{color:#fde68a;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.staging-banner span{font-size:.8rem;font-weight:600}.staging-content{flex:1;min-height:0;position:relative}@media(max-width:620px){.staging-banner{align-items:flex-start;flex-direction:column;gap:2px;min-height:64px;padding-bottom:7px;padding-top:7px;text-align:left}.staging-banner span{font-size:.72rem;line-height:1.25}}button,input,select,textarea{color:inherit;font:inherit}button,select,label[for]{-webkit-tap-highlight-color:transparent}button{border:0}button:not(:disabled),select:not(:disabled),input[type=file]:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 45%,transparent);outline-offset:2px}h1,h2,h3,p{margin-top:0}.button{align-items:center;border-radius:12px;display:inline-flex;font-size:.92rem;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:0 16px;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.button-loader{animation:button-loader-spin .8s linear infinite;color:currentColor;flex:0 0 auto}@keyframes button-loader-spin{to{transform:rotate(360deg)}}.button:not(:disabled):active,.icon-button:not(:disabled):active{transform:scale(.97)}.button.primary{background:var(--brand-deep);box-shadow:0 5px 13px #795d3f33;color:#fff}.button.primary:hover{background:#684d34}.button.add{background:#5c7849;color:#fff}.button.secondary{background:var(--base);border:1px solid var(--line);color:var(--text)}.button.secondary:hover{background:var(--elevated)}.button.ghost{background:transparent;color:var(--text)}.button.danger{background:var(--danger);color:#fff}.button.full{width:100%}.import-file-control{cursor:pointer;position:relative}.import-file-control input[type=file]{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.icon-button{align-items:center;background:#fffdf8f0;border:1px solid var(--line);border-radius:50%;box-shadow:var(--shadow-soft);color:var(--text);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;transition:background .12s ease,transform .12s ease;width:44px}.icon-button:hover{background:var(--elevated)}.icon-button.quiet{background:transparent;border-color:transparent;box-shadow:none}.icon-button.small{height:44px;width:44px}.brand-mark{border-radius:22%;box-shadow:0 6px 16px #3e302229;display:block;flex:0 0 auto;height:40px;object-fit:cover;width:40px}.brand-mark.large{height:72px;width:72px}.person-avatar{align-items:center;background:var(--recessed);border:2px solid var(--line);border-radius:50%;color:var(--brand-deep);display:inline-flex;flex:0 0 auto;font-weight:700;justify-content:center;overflow:hidden}.person-avatar img{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}.loading-screen{align-items:center;background:var(--canvas);display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;padding:24px}.loading-screen strong{font-family:var(--font-display);font-size:2rem;font-weight:700;letter-spacing:-.025em}.loading-screen p{color:var(--subtle);font-size:.92rem}@media(prefers-reduced-motion:reduce){.button-loader{animation:none}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-shell{display:block;height:100%;position:relative}.tree-sidebar{background:radial-gradient(circle at 20% 3%,rgba(168,135,91,.12),transparent 30%),var(--canvas);border-right:1px solid var(--line);bottom:0;box-shadow:var(--shadow);display:flex;flex-direction:column;left:0;max-width:calc(304px + env(safe-area-inset-left,0px));min-height:0;padding:max(22px,env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));position:fixed;top:0;transform:translate(-105%);transition:transform .18s ease,visibility .18s;visibility:hidden;width:calc(100% - 46px);z-index:20}.tree-sidebar.open{transform:translate(0);visibility:visible}.sidebar-brand{align-items:center;display:flex;gap:11px;padding:0 6px 22px}.sidebar-brand h1{font-family:var(--font-display);font-size:1.55rem;font-weight:700;letter-spacing:-.015em;margin:0}.sidebar-brand p{color:var(--subtle);font-size:.68rem;letter-spacing:.06em;margin:2px 0 0;text-transform:uppercase}.sidebar-close{margin-left:auto}.sidebar-heading{align-items:center;display:flex;justify-content:space-between;margin:0 5px 10px}.sidebar-heading h2{font-size:.79rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.sidebar-search{margin-bottom:11px;position:relative}.sidebar-search svg{color:var(--subtle);left:13px;pointer-events:none;position:absolute;top:12px}.sidebar-search input{background:#fffdf8c7;border:1px solid var(--line);border-radius:12px;height:42px;padding:0 13px 0 39px;width:100%}.tree-list{display:flex;flex:1;flex-direction:column;gap:7px;min-height:0;overflow-y:auto;padding:2px 2px 12px}.tree-row{align-items:center;background:transparent;border:1px solid transparent;border-radius:14px;display:grid;gap:10px;grid-template-columns:38px minmax(0,1fr) 44px;min-height:66px;padding:7px 7px 7px 9px;text-align:left;width:100%}.tree-row:hover{background:#fffdf8b8}.tree-row.active{background:var(--base);border-color:var(--line);box-shadow:0 7px 18px #3e302214}.tree-row-open{align-items:center;background:transparent;display:grid;gap:10px;grid-column:1 / 3;grid-template-columns:38px minmax(0,1fr);min-width:0;padding:0;text-align:left}.tree-icon{align-items:center;background:var(--recessed);border-radius:50%;color:var(--brand-deep);display:flex;height:38px;justify-content:center;width:38px}.tree-copy{min-width:0}.tree-copy strong,.tree-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-copy strong{font-size:.91rem}.tree-copy span{color:var(--subtle);font-size:.74rem;margin-top:3px}.tree-menu-wrap{justify-self:end;position:relative}.tree-menu{background:var(--base);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:grid;min-width:145px;padding:5px;position:absolute;right:0;top:47px;z-index:50}.tree-menu button{align-items:center;background:transparent;border-radius:8px;display:flex;font-size:.85rem;gap:9px;min-height:44px;padding:0 10px;text-align:left}.tree-menu button:hover{background:var(--recessed)}.tree-menu button:disabled{cursor:not-allowed;opacity:.48}.tree-menu button.danger-text{color:var(--danger)}.sidebar-actions{display:grid;gap:8px;padding-top:6px}.sidebar-utilities{border-top:1px solid var(--line);display:grid;gap:2px;margin-top:12px;padding-top:10px}.sidebar-utilities button{align-items:center;background:transparent;border-radius:11px;display:grid;gap:11px;grid-template-columns:24px minmax(0,1fr);min-height:50px;padding:7px 8px;text-align:left}.sidebar-utilities button:hover{background:var(--recessed)}.sidebar-utilities svg{color:var(--brand-deep)}.sidebar-utilities strong,.sidebar-utilities small{display:block}.sidebar-utilities strong{font-size:.8rem}.sidebar-utilities small{color:var(--subtle);font-size:.68rem;line-height:1.25;margin-top:2px}.privacy-note{align-items:flex-start;border-top:1px solid var(--line);color:var(--subtle);display:flex;font-size:.72rem;gap:9px;line-height:1.35;margin-top:14px;padding:15px 5px 0}.workspace{background:var(--tree-canvas);height:100%;min-width:0;overflow:hidden;position:relative}.canvas-frame{height:100%;position:relative;width:100%}.shared-app-shell,.shared-workspace{height:100%;width:100%}.shared-workspace{background:var(--tree-canvas);position:relative}.shared-header{align-items:center;display:flex;gap:12px;left:max(18px,env(safe-area-inset-left,0px));pointer-events:none;position:absolute;right:max(18px,env(safe-area-inset-right,0px));top:max(18px,env(safe-area-inset-top,0px));z-index:12}.shared-title{align-items:center;background:#fffdf8f0;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);display:flex;gap:10px;min-width:0;padding:8px 12px;pointer-events:auto}.shared-title div{display:grid;min-width:0}.shared-title strong{font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-title span:not(.shared-lock){color:var(--subtle);font-size:.7rem}.shared-lock{align-items:center;color:#52703f;display:inline-flex}.shared-home{pointer-events:auto;text-decoration:none}.shared-title{flex:1}.shared-header-actions{display:flex;gap:8px;margin-left:auto;pointer-events:auto}.shared-notice{background:#fffdf8f0;border:1px solid var(--line);border-radius:14px;bottom:max(18px,env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-soft);display:grid;gap:3px;left:max(18px,env(safe-area-inset-left,0px));max-width:360px;padding:11px 13px;position:absolute;z-index:12}.shared-notice strong{font-size:.82rem}.shared-notice span,.shared-notice small{color:var(--subtle);font-size:.72rem;line-height:1.35}.shared-canvas-controls{bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;position:absolute;right:max(18px,env(safe-area-inset-right,0px));z-index:13}.shared-state{align-items:center;background:var(--tree-canvas);display:flex;flex-direction:column;height:100%;justify-content:center;padding:28px;text-align:center}.shared-state h1{font-size:1.55rem;letter-spacing:-.025em;margin:20px 0 8px}.shared-state p{color:var(--subtle);line-height:1.5;max-width:460px}.shared-state-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.shared-state-actions a{text-decoration:none}.shared-password-form{display:grid;gap:14px;margin:8px auto 0;max-width:340px;text-align:left;width:100%}.shared-password-form input{background:var(--base);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:0 11px;width:100%}.shared-password-form .button{justify-content:center}.canvas-host{height:100%;width:100%}.canvas-host .excalidraw{--color-primary: #a8875b;--color-primary-darker: #795d3f;--color-primary-light: #ede5d8;font-family:var(--font-sans)}.canvas-host .excalidraw .App-menu_top,.canvas-host .excalidraw .App-mobile-menu,.canvas-host .excalidraw .layer-ui__wrapper__top-right,.canvas-host .excalidraw .App-toolbar,.canvas-host .excalidraw .help-icon,.canvas-host .excalidraw .mobile-misc-tools-container,.canvas-host .excalidraw .zoom-actions,.canvas-host .excalidraw .undo-redo-buttons{display:none!important}.workspace-header{align-items:center;display:flex;gap:14px;left:max(78px,calc(env(safe-area-inset-left,0px) + 56px));pointer-events:none;position:absolute;right:max(22px,env(safe-area-inset-right,0px));top:max(18px,env(safe-area-inset-top,0px));z-index:12}.workspace-title{background:#fffdf8e6;border:1px solid rgba(216,204,188,.88);border-radius:12px;box-shadow:var(--shadow-soft);min-width:0;padding:8px 14px}.workspace-title h2{font-family:var(--font-display);font-size:1.12rem;font-weight:700;letter-spacing:-.01em;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-title-row{align-items:center;display:flex;gap:5px;min-width:0}.workspace-title-name{background:transparent;border-radius:5px;min-width:0;padding:0;text-align:left}.workspace-title-name:hover h2{color:var(--brand-deep)}.workspace-title-edit{height:30px;margin:-5px -8px -5px 0;width:30px}.workspace-title p{color:var(--subtle);font-size:.72rem;margin:2px 0 0}.workspace-tools{display:flex;gap:8px;margin-left:auto;pointer-events:auto}.workspace-share-button{min-height:44px;padding:0 14px}.workspace-header .workspace-title{pointer-events:auto}.canvas-controls{bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;position:absolute;right:max(18px,env(safe-area-inset-right,0px));z-index:13}.canvas-visibility-toggle{bottom:max(18px,env(safe-area-inset-bottom,0px));left:max(18px,env(safe-area-inset-left,0px));position:absolute;z-index:13}.canvas-controls .generation-popover{bottom:0;right:54px;top:auto}.tree-pane-toggle{left:max(22px,env(safe-area-inset-left,0px));position:absolute;top:max(18px,env(safe-area-inset-top,0px));z-index:13}.tree-pane-hint{color:var(--brand-deep);font-family:var(--font-display);font-size:.84rem;font-weight:600;left:max(22px,env(safe-area-inset-left,0px));line-height:1.25;pointer-events:none;position:absolute;top:140px;transform:rotate(-1.5deg);width:min(196px,calc(50vw - 24px));z-index:14}.tree-pane-hint svg{fill:none;height:78px;left:10px;position:absolute;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;top:-84px;width:64px}.tree-pane-hint span{display:block;margin-left:50px;max-width:140px}.settings-pane-hint{left:auto;right:max(22px,env(safe-area-inset-right,0px));text-align:right;transform:rotate(1.5deg)}.settings-pane-hint svg{left:auto;right:39px}.settings-pane-hint span{margin-left:auto;margin-right:50px;max-width:146px}.welcome-canvas{color:var(--text);pointer-events:none;text-align:center;width:min(390px,calc(100vw - 64px))}.welcome-brand{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:20px}.welcome-brand .brand-mark{height:44px;width:44px}.welcome-brand strong{color:var(--brand-deep);font-size:1.55rem;letter-spacing:-.03em}.welcome-canvas h3{font-size:1.35rem;margin:0 0 6px}.welcome-canvas>p{color:var(--subtle);font-size:.86rem;line-height:1.45;margin:0 auto 18px;max-width:330px}.welcome-actions{display:grid;gap:3px;margin:0 auto;max-width:340px}.welcome-action{align-items:center;background:transparent;border-radius:11px;display:grid;gap:12px;grid-template-columns:24px minmax(0,1fr);min-height:58px;padding:8px 12px;text-align:left;width:100%}.welcome-action:hover,.welcome-action:focus-visible{background:color-mix(in srgb,var(--recessed) 74%,transparent)}.welcome-action>svg{color:var(--brand-deep)}.welcome-action strong,.welcome-action small{display:block}.welcome-action strong{font-size:.88rem}.welcome-action small{color:var(--subtle);font-size:.71rem;line-height:1.25;margin-top:3px}.canvas-move-hint{align-items:center;color:var(--subtle);display:flex;font-size:.72rem;gap:6px;justify-content:center;margin-top:17px}.canvas-utilities{align-items:center;bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;gap:8px;position:absolute;right:max(80px,calc(env(safe-area-inset-right,0px) + 62px));z-index:13}.shared-password-form+.shared-state-actions{margin-top:22px}.privacy-button{align-items:center;background:#fffdf8f0;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-soft);color:#52703f;display:flex;font-size:.72rem;font-weight:700;gap:6px;height:44px;padding:0 12px}.onboarding-hint{color:var(--brand-deep);font-size:.76rem;font-weight:600;line-height:1.25;pointer-events:none;position:absolute;z-index:14}.canvas-controls-hint{bottom:220px;right:max(64px,calc(env(safe-area-inset-right,0px) + 52px));text-align:right;width:188px}.canvas-controls-hint svg{display:block;fill:none;height:58px;margin-left:auto;margin-right:-30px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:76px}.empty-canvas{background:#fffdf8ed;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);left:50%;max-width:400px;padding:34px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:calc(100% - 44px);z-index:10}.empty-canvas .brand-mark{margin:0 auto 20px}.empty-canvas h3{font-family:var(--font-display);font-size:1.65rem;font-weight:700;letter-spacing:-.025em;margin-bottom:10px}.empty-canvas p{color:var(--subtle);line-height:1.55;margin-bottom:22px}.generation-popover{background:var(--base);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);padding:14px;position:absolute;right:0;top:52px;width:230px}.generation-popover strong{display:block;font-size:.87rem;margin-bottom:12px}.generation-popover label{color:var(--subtle);display:grid;font-size:.75rem;gap:5px;margin-top:9px}.generation-popover select{background:var(--canvas);border:1px solid var(--line);border-radius:9px;height:44px;padding:0 9px}.toast{background:var(--text);border-radius:12px;bottom:max(24px,env(safe-area-inset-bottom,0px));color:#fff;font-size:.84rem;left:50%;max-width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));padding:11px 16px;position:fixed;transform:translate(-50%);z-index:150}.canvas-host{position:relative}.canvas-actions{inset:0;overflow:hidden;pointer-events:none;position:absolute;z-index:11}.canvas-empty-anchor{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:3}.canvas-empty-anchor button{pointer-events:auto}.canvas-actions-scene{left:0;position:absolute;top:0;transform-origin:0 0;visibility:hidden;will-change:transform}.canvas-action-group{align-items:center;display:flex;pointer-events:none;position:absolute;transform:translateY(-50%) scale(var(--canvas-action-compensation, 1));transform-origin:left center;z-index:2}.canvas-person-hit{appearance:none;background:transparent;border:0;border-radius:50%;cursor:pointer;padding:0;pointer-events:auto;position:absolute;touch-action:manipulation;transform:translate(-50%,-50%) scale(var(--canvas-hit-scale, 1));z-index:1}.canvas-person-hit:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.canvas-action-group[data-side=left]{flex-direction:row-reverse;transform:translate(-100%,-50%) scale(var(--canvas-action-compensation, 1));transform-origin:right center}.canvas-action-group[data-stack=true]{flex-direction:column}.canvas-action-button{align-items:center;appearance:none;background:transparent;border-radius:50%;color:#fff;display:inline-flex;flex:0 0 44px;height:44px;justify-content:center;padding:0;pointer-events:auto;position:relative;touch-action:manipulation;width:44px}.canvas-action-button:before{border-radius:50%;box-shadow:0 3px 9px #3e302233;content:"";height:28px;position:absolute;transition:filter .12s ease,transform .12s ease;width:28px}.canvas-action-button.add:before{background:var(--add)}.canvas-action-button.edit:before{background:var(--brand)}.canvas-action-button svg{position:relative}.canvas-action-button:hover:before{filter:brightness(.92)}.canvas-action-button:active:before{transform:scale(.9)}.svg-canvas-host{background:#f5f5f3;cursor:default;overflow:hidden;position:relative}.svg-canvas-host[data-space-pan=true]{cursor:grab}.svg-tree-canvas{display:block;height:100%;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none;width:100%}.svg-tree-scene{transform-box:view-box;transform-origin:0 0;visibility:hidden;will-change:transform}.canvas-preparing{align-items:center;background:#ffffffe0;border:1px solid rgb(48 43 37 / 10%);border-radius:999px;box-shadow:0 8px 24px #302b251a;color:#62594f;display:flex;font-size:.82rem;font-weight:650;gap:8px;left:50%;padding:9px 14px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:20}.svg-connector{fill:none;pointer-events:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.svg-connector.family,.svg-connector.parent{stroke:#9c825f}.svg-connector.partner{stroke:#b47c76}.svg-connector.sibling{stroke:#78956c;stroke-dasharray:6 7}.svg-relationship-label{pointer-events:none}.svg-relationship-label rect{fill:#f5f5f3}.svg-relationship-label text,.svg-person-city,.svg-person-life,.svg-person-role{fill:#796f63;font-size:12px;font-weight:500}.svg-person{cursor:pointer}.svg-person-name,.svg-person-initial,.svg-person-city,.svg-person-life,.svg-person-role{pointer-events:none}.svg-person-name,.svg-person-initial{fill:#302b25;font-weight:700}.svg-person-initial{font-size:24px}.svg-person-role{font-size:13px}.svg-person-city,.svg-person-life{font-size:11px}.modal-backdrop{align-items:center;background:#302b2557;display:flex;inset:0;justify-content:center;padding:max(22px,env(safe-area-inset-top,0px)) max(22px,env(safe-area-inset-right,0px)) max(22px,env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));position:fixed;z-index:100}.side-panel{background:color-mix(in srgb,var(--canvas) 96%,transparent);border-color:var(--line);border-style:solid;border-width:0;bottom:0;box-shadow:-18px 0 46px #3e30221f;display:flex;flex-direction:column;max-width:calc(100% - 46px);position:fixed;top:0;width:390px;z-index:80}.side-panel-right{border-left-width:1px;right:0}.side-panel-left{border-right-width:1px;box-shadow:18px 0 46px #3e30221f;left:0}.side-panel-header{align-items:center;border-bottom:1px solid var(--line);display:flex;min-height:68px;padding:max(10px,env(safe-area-inset-top,0px)) 14px 10px 22px}.side-panel-header h2{font-size:1.08rem;margin:0}.side-panel-header .icon-button{margin-left:auto}.side-panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 20px max(20px,env(safe-area-inset-bottom,0px))}.side-panel-footer{border-top:1px solid var(--line);padding:12px 20px max(12px,env(safe-area-inset-bottom,0px))}.app-version{color:var(--subtle);font-size:.78rem;letter-spacing:.02em;margin:18px 0 0}.panel-intro{color:var(--subtle);font-size:.9rem;line-height:1.55;margin-bottom:22px}.help-list{display:grid;gap:8px}.help-item{align-items:flex-start;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr);padding:12px 4px}.panel-icon{align-items:center;background:var(--recessed);border-radius:11px;color:var(--brand-deep);display:flex;height:38px;justify-content:center;width:38px}.help-item h3{font-size:.9rem;margin:1px 0 4px}.help-item p{color:var(--subtle);font-size:.8rem;line-height:1.45;margin:0}.help-report-button{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:14px;display:grid;gap:12px;grid-template-columns:38px minmax(0,1fr);margin-top:18px;padding:11px;text-align:left;width:100%}.help-report-button:hover{background:var(--elevated)}.help-report-button strong,.help-report-button small{display:block}.help-report-button strong{font-size:.85rem}.help-report-button small{color:var(--subtle);font-size:.74rem;line-height:1.4;margin-top:3px}.privacy-status{align-items:flex-start;background:color-mix(in srgb,var(--add) 12%,var(--base));border:1px solid color-mix(in srgb,var(--add) 35%,var(--line));border-radius:15px;color:#4f6d3d;display:flex;gap:12px;margin-bottom:18px;padding:15px}.privacy-status svg{flex:0 0 auto}.privacy-status strong,.privacy-status span{display:block}.privacy-status span{color:var(--subtle);font-size:.78rem;line-height:1.45;margin-top:4px}.privacy-details-link{align-items:center;background:#4f6d3d;border-radius:14px;box-shadow:0 7px 18px #344e2633;color:#fff;display:flex;gap:16px;justify-content:space-between;margin-top:18px;min-height:76px;padding:15px 17px;text-decoration:none;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}.privacy-details-link:hover{background:#405c31;box-shadow:0 9px 22px #344e263d;transform:translateY(-1px)}.privacy-details-link:active{transform:translateY(0)}.privacy-details-link span,.privacy-details-link strong,.privacy-details-link small{display:block}.privacy-details-link strong{font-size:.94rem}.privacy-details-link small{color:#ffffffd1;font-size:.78rem;line-height:1.4;margin-top:3px}.privacy-details-link svg{flex:0 0 auto}.modal-card{background:var(--canvas);border:1px solid rgba(216,204,188,.9);border-radius:22px;box-shadow:0 26px 70px #302b2540;display:flex;flex-direction:column;max-height:min(820px,calc(100dvh - 44px));overflow:hidden;width:100%}.modal-small{max-width:430px}.modal-medium{max-width:620px}.modal-large{max-width:780px}.bottom-sheet-backdrop{align-items:flex-end;padding-bottom:0}.bottom-sheet-card{border-bottom:0;border-radius:24px 24px 0 0;max-width:540px}.modal-header{align-items:center;background:#fffdf8bd;border-bottom:1px solid var(--line);display:flex;min-height:66px;padding:10px max(14px,env(safe-area-inset-right,0px)) 10px max(22px,env(safe-area-inset-left,0px))}.modal-header h2{font-family:var(--font-display);font-size:1.24rem;font-weight:700;letter-spacing:-.015em;line-height:1.2;margin:0}.modal-header .icon-button{margin-left:auto}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:22px;padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px))}.modal-footer{background:#fffdf8d9;border-top:1px solid var(--line);display:flex;gap:9px;justify-content:flex-end;padding:12px max(18px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}.dialog-copy{color:var(--subtle);line-height:1.55;margin:0}.form-stack{display:grid;gap:18px}.form-section{background:var(--base);border:1px solid var(--line);border-radius:15px;display:grid;gap:14px;padding:16px}.form-section h3{font-size:.9rem;margin:0}.field-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{color:var(--subtle);display:grid;font-size:.76rem;font-weight:600;gap:6px}.field.full{grid-column:1 / -1}.field input,.field select,.field textarea,.search-field{background:var(--recessed);border:1px solid transparent;border-radius:11px;color:var(--text);font-size:.92rem;font-weight:400;min-height:44px;padding:10px 12px;width:100%}.field input:focus,.field select:focus,.field textarea:focus,.search-field:focus{background:var(--base);border-color:var(--brand);outline:none}.field textarea{min-height:90px;resize:vertical}.photo-editor{align-items:center;display:flex;gap:16px}.photo-editor .person-avatar{font-size:1.5rem}.photo-actions{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.photo-editor.compact{background:var(--canvas);border:1px solid var(--line);border-radius:14px;padding:12px}.photo-crop-dialog{display:grid;gap:16px}.photo-crop-dialog>p{color:var(--subtle);font-size:.86rem;line-height:1.5;margin:0}.photo-crop-viewport{align-items:center;aspect-ratio:1;background:var(--recessed);border-radius:18px;color:var(--subtle);cursor:grab;display:flex;justify-content:center;max-height:420px;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:min(100%,420px);justify-self:center}.photo-crop-viewport:active{cursor:grabbing}.photo-crop-viewport>img{left:50%;max-width:none;pointer-events:none;position:absolute;top:50%}.photo-crop-mask{border:2px solid rgba(255,253,248,.94);border-radius:50%;box-shadow:0 0 0 999px #1f1b1780;inset:0;pointer-events:none;position:absolute}.photo-crop-controls{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto}.photo-crop-controls>svg{color:var(--brand-deep)}.photo-crop-controls label{display:flex}.photo-crop-controls input{accent-color:var(--brand);width:100%}.person-picker{border:0;display:grid;gap:9px;margin:0;min-width:0;padding:0}.person-picker legend{font-size:.78rem;font-weight:700;margin-bottom:7px}.person-picker-search{align-items:center;display:flex;position:relative}.person-picker-search svg{color:var(--subtle);left:12px;position:absolute}.person-picker-search input{background:var(--recessed);border:1px solid transparent;border-radius:11px;font-size:.92rem;min-height:44px;padding:10px 12px 10px 38px;width:100%}.person-picker-list{display:grid;gap:7px;max-height:250px;overflow-y:auto;overscroll-behavior:contain;padding:1px}.person-picker-row{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:12px;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto auto minmax(0,1fr);min-height:60px;padding:8px 11px}.person-picker-row.none{grid-template-columns:auto minmax(0,1fr);min-height:48px}.person-picker-row:hover{background:var(--elevated)}.person-picker-row.selected{background:var(--elevated);border-color:var(--brand)}.person-picker-row input{accent-color:var(--brand)}.person-picker-row strong,.person-picker-row small{display:block;overflow-wrap:anywhere}.person-picker-row strong{font-size:.86rem}.person-picker-row small{color:var(--subtle);font-size:.74rem;margin-top:2px}.person-picker-empty{color:var(--subtle);font-size:.82rem;margin:0;padding:12px;text-align:center}.family-copy-options{background:var(--base);border:1px solid var(--line);border-radius:15px;display:grid;gap:13px;padding:16px}.family-copy-options h3{font-size:.9rem;margin:0 0 4px}.family-copy-options p,.family-copy-independent{color:var(--subtle);font-size:.78rem;line-height:1.5;margin:0}.family-copy-partners{display:grid;gap:7px}.family-copy-partner{align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:12px;cursor:pointer;display:grid;gap:10px;grid-template-columns:auto auto minmax(0,1fr);min-height:58px;padding:8px 11px}.family-copy-partner.retained{background:color-mix(in srgb,var(--add) 7%,var(--canvas));border-color:color-mix(in srgb,var(--add) 28%,var(--line));grid-template-columns:auto minmax(0,1fr)}.family-copy-partner strong,.family-copy-partner small{display:block;overflow-wrap:anywhere}.family-copy-partner strong{font-size:.85rem}.family-copy-partner small{color:var(--subtle);font-size:.73rem;margin-top:2px}.family-copy-preview{align-items:flex-start;background:color-mix(in srgb,var(--add) 10%,var(--canvas));border-radius:12px;color:#4f6d3d;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr);padding:12px}.family-copy-preview strong,.family-copy-preview small{display:block}.family-copy-preview strong{font-size:.82rem}.family-copy-preview small{color:var(--subtle);font-size:.73rem;line-height:1.4;margin-top:3px}.family-copy-independent{padding-inline:2px}.family-copy-review{border-top:1px solid var(--line);display:grid;gap:9px;padding-top:12px}.family-copy-review h4{font-size:.78rem;margin:0}.family-copy-people{display:grid;gap:6px}.family-copy-people.compact{display:flex;flex-wrap:wrap}.family-copy-person{align-items:center;background:color-mix(in srgb,var(--danger) 5%,var(--canvas));border:1px solid color-mix(in srgb,var(--danger) 24%,var(--line));border-radius:999px;display:inline-flex;font-size:.74rem;gap:7px;min-height:36px;min-width:0;padding:3px 10px 3px 3px}.family-copy-person>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-copy-person.kept{background:color-mix(in srgb,var(--add) 8%,var(--canvas));border-color:color-mix(in srgb,var(--add) 30%,var(--line))}.family-copy-all-people summary{color:var(--brand-deep);cursor:pointer;font-size:.75rem;font-weight:700}.family-copy-all-people .family-copy-people{max-height:180px;margin-top:9px;overflow-y:auto;padding-right:3px}.family-copy-all-people .family-copy-person{border-radius:10px}.report-bug-sheet{display:grid;gap:15px}.report-bug-sheet>p{color:var(--subtle);font-size:.84rem;line-height:1.5;margin:0}.report-channel-list{display:grid;gap:9px}.report-channel{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:14px;color:var(--text);display:grid;gap:12px;grid-template-columns:44px minmax(0,1fr);min-height:68px;padding:10px 13px;text-decoration:none;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.report-channel:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.report-channel:active{transform:translateY(0)}.report-channel-icon{align-items:center;border-radius:12px;color:#fff;display:flex;height:44px;justify-content:center;width:44px}.report-channel.whatsapp .report-channel-icon{background:#238c4f}.report-channel.telegram .report-channel-icon{background:#2789b7}.report-channel strong,.report-channel small{display:block}.report-channel strong{font-size:.91rem}.report-channel small{color:var(--subtle);font-size:.75rem;margin-top:3px}.report-bug-sheet .report-channel-help,.report-bug-sheet .report-privacy{font-size:.75rem}.report-diagnostics{background:var(--recessed);border-radius:12px;padding:12px 13px}.report-diagnostics summary{color:var(--brand-deep);cursor:pointer;font-size:.78rem;font-weight:700}.report-diagnostics pre{background:var(--base);border:1px solid var(--line);border-radius:9px;color:var(--text);font:.68rem/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;margin:11px 0 0;max-height:220px;overflow:auto;padding:10px;white-space:pre-wrap}@media(min-width:640px){.bottom-sheet-backdrop{padding-bottom:22px}.bottom-sheet-card{border-bottom:1px solid rgba(216,204,188,.9);border-radius:24px}}.relationship-date-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.relationship-date-fields>:only-child{grid-column:1 / -1}.password-field{display:grid;gap:6px;margin-top:12px}.password-input-wrap{display:block;position:relative}.password-input-wrap input{padding-inline-end:48px}.password-visibility{align-items:center;background:transparent;color:var(--subtle);display:flex;height:40px;justify-content:center;position:absolute;right:2px;top:2px;width:42px}.password-visibility:hover{color:var(--text)}.password-field small{color:var(--subtle);font-size:.76rem;line-height:1.4}.password-field.has-error input{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 5%,var(--base))}.password-field .field-error{background:color-mix(in srgb,var(--danger) 9%,var(--base));border-radius:9px;color:#8f3d31;font-weight:700;padding:8px 10px}.password-requirements{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.password-requirement{align-items:center;color:var(--subtle);display:flex;font-size:.78rem;gap:7px}.password-requirement[data-highlight-unmet=true][data-met=false]{color:#9a4c41}.password-requirement[data-met=true]{color:#39745a}.password-requirement-icon{align-items:center;background:color-mix(in srgb,currentColor 11%,transparent);border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:50%;display:inline-flex;flex:0 0 auto;height:18px;justify-content:center;width:18px}.file-button input{height:1px;opacity:0;position:absolute;width:1px}.text-button{align-items:center;background:transparent;color:var(--brand-deep);display:inline-flex;font-size:.82rem;font-weight:600;min-height:44px;padding:5px 0}.text-button.danger-text,.danger-text{color:var(--danger)}.error-notice{background:color-mix(in srgb,var(--danger) 10%,var(--base));border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:10px;color:#8f3d31;font-size:.82rem;line-height:1.4;margin:0;padding:10px 12px}.relationship-list{display:grid;gap:8px}.relationship-row{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto;padding:10px 12px}.relationship-row-copy>strong,.relationship-row-copy>span{display:block}.relationship-row-copy>span{color:var(--subtle);font-size:.75rem;margin-top:2px}.empty-inline{color:var(--subtle);font-size:.84rem;margin:0;padding:8px 0}.danger-zone{align-items:center;background:color-mix(in srgb,var(--danger) 5%,var(--base));border:1px solid color-mix(in srgb,var(--danger) 25%,var(--line));border-radius:14px;display:flex;justify-content:space-between;padding:14px 16px}.danger-zone p{color:var(--subtle);font-size:.76rem;margin:3px 0 0}.role-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.role-card{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:13px;display:flex;font-weight:600;gap:11px;min-height:56px;padding:11px 13px;text-align:left}.role-card:hover,.role-card.selected{background:var(--elevated);border-color:var(--brand)}.role-symbol{align-items:center;background:var(--recessed);border-radius:50%;color:var(--brand-deep);display:flex;height:34px;justify-content:center;width:34px}.segmented-control{background:var(--recessed);border-radius:11px;display:grid;gap:3px;grid-template-columns:1fr 1fr;padding:3px}.segmented-control button{background:transparent;border-radius:8px;font-size:.82rem;font-weight:600;min-height:44px}.segmented-control button.selected{background:var(--base);box-shadow:0 2px 7px #3e30221a}.people-toolbar{background:var(--canvas);display:block;margin:-4px 0 14px;padding:4px 0 10px;position:relative;position:sticky;top:-20px;z-index:2}.people-toolbar svg{color:var(--subtle);left:13px;position:absolute;top:16px}.people-toolbar .search-field{padding-left:40px}.people-list{display:grid;gap:8px}.person-list-row{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:13px;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-height:66px;padding:10px 13px;text-align:left;width:100%}.person-list-row:hover{background:var(--elevated)}.person-list-copy strong,.person-list-copy span{display:block}.person-list-copy span{color:var(--subtle);font-size:.76rem;margin-top:3px}.settings-intro{margin-bottom:20px}.settings-intro h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.015em;margin-bottom:7px}.settings-intro p,.settings-detail{color:var(--subtle);font-size:.86rem;line-height:1.5;margin-bottom:0}.settings-group{display:grid;gap:10px;margin-top:16px}.settings-group>h3{font-size:.78rem;letter-spacing:.06em;margin:0 3px;text-transform:uppercase}.settings-card{background:var(--base);border:1px solid var(--line);border-radius:14px;display:grid;gap:12px;padding:15px}.settings-card-header{align-items:flex-start;display:flex;gap:12px}.settings-card-header>svg{color:var(--brand);flex:0 0 auto}.settings-card-header strong{display:block;font-size:.92rem;margin-bottom:3px}.share-panel-intro{align-items:flex-start;display:flex;gap:12px}.share-panel-intro h3,.managed-shares h3{font-size:1rem;margin:0 0 5px}.share-panel-intro p,.managed-shares>p{color:var(--subtle);font-size:.82rem;line-height:1.5;margin:0}.share-panel-icon{align-items:center;background:var(--elevated);border-radius:12px;color:var(--brand-deep);display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.share-panel{display:grid;gap:16px}.share-methods-title{font-size:.84rem;margin:0 2px -6px}.share-method-picker{display:grid;gap:8px}.share-method-choice{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:14px;display:grid;gap:11px;grid-template-columns:38px minmax(0,1fr);min-height:64px;padding:9px 11px;text-align:left;width:100%}.share-method-choice:hover,.share-method-choice.selected{background:var(--elevated);border-color:var(--brand)}.share-method-choice.selected{box-shadow:inset 3px 0 0 var(--brand)}.share-method-choice>span:last-child,.share-method-choice strong,.share-method-choice small{display:block;min-width:0}.share-method-choice small{color:var(--subtle);font-size:.76rem;line-height:1.35;margin-top:2px}.share-method-icon{align-items:center;background:var(--canvas);border-radius:10px;color:var(--brand-deep);display:inline-flex;height:38px;justify-content:center;width:38px}.share-method-content{gap:16px}.share-method-content h3,.share-method-content h4{margin:0}.share-method-content h3{font-size:1rem}.share-method-content h4{font-size:.9rem}.share-format-badge{background:var(--canvas);border:1px solid var(--line);border-radius:999px;color:var(--subtle);display:inline-flex;font-size:.67rem;font-weight:800;letter-spacing:.04em;margin-bottom:7px;padding:3px 7px;text-transform:uppercase}.share-format-badge.recommended{background:color-mix(in srgb,var(--brand) 11%,var(--base));border-color:color-mix(in srgb,var(--brand) 38%,var(--line));color:var(--brand-deep)}.share-format{display:grid;gap:10px}.share-format+.share-format,.managed-shares+.share-format{border-top:1px solid var(--line);padding-top:16px}.share-privacy{background:var(--canvas);border:1px solid var(--line);border-radius:12px}.share-privacy summary{align-items:center;cursor:pointer;display:flex;justify-content:space-between;min-height:44px;padding:8px 11px}.share-privacy summary span{font-size:.82rem;font-weight:700}.share-privacy summary small{color:var(--subtle);font-size:.72rem;margin-left:12px;text-align:right}.share-privacy .share-included{border-top:1px solid var(--line);margin:0;padding:11px}.share-scope{align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:14px;display:flex;gap:11px;margin-top:0;padding:13px}.share-scope>svg{color:var(--brand-deep);flex:0 0 auto}.share-scope span{display:grid;gap:2px;min-width:0}.share-scope strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-scope small{color:var(--subtle);line-height:1.4}.share-included{border:0;margin-top:20px;min-width:0;padding:0}.share-included legend{color:var(--ink);font-size:.84rem;font-weight:700;padding:0}.share-included>p{color:var(--subtle);font-size:.78rem;line-height:1.45;margin:5px 0 11px}.share-included-options{display:grid;gap:8px}.share-included-options label{align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:11px;color:var(--ink);cursor:pointer;display:flex;font-size:.82rem;gap:10px;line-height:1.4;min-height:42px;padding:8px 11px}.share-included-options label:hover{border-color:var(--brand)}.share-included-options input{accent-color:var(--brand-deep);flex:0 0 auto;height:18px;margin:0;width:18px}.share-included:disabled .share-included-options label{cursor:not-allowed;opacity:.58}.share-warning{align-items:flex-start;color:var(--brand-deep);display:flex;font-size:.82rem;gap:8px;line-height:1.45;margin:0}.share-warning svg{color:#52703f;flex:0 0 auto;margin-top:2px}.share-password{display:grid;gap:6px;margin-top:12px}.share-password input{background:var(--base);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:0 11px;width:100%}.share-password small{color:var(--subtle);font-size:.76rem;line-height:1.4}.share-expiry select,.share-result input{background:var(--base);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:0 11px;width:100%}.share-result{background:color-mix(in srgb,#edf3e8 76%,var(--base));border-radius:14px;display:grid;gap:10px;margin-top:0;padding:14px}.share-result>strong{color:#405d32;font-size:.9rem}.share-result input{font-size:.78rem;text-overflow:ellipsis}.share-result p,.share-result small{color:var(--subtle);font-size:.78rem;line-height:1.45;margin:0}.share-result-actions{display:flex;flex-wrap:wrap;gap:8px}.share-create{margin-top:12px}.share-progress,.share-revoked{font-size:.82rem;margin:0;text-align:center}.share-progress{color:var(--brand-deep)}.share-revoked{color:#405d32}.managed-shares{margin-top:0;padding-top:0}.managed-shares-heading{align-items:center;display:flex;justify-content:space-between}.managed-shares-heading span{align-items:center;background:var(--elevated);border-radius:999px;display:inline-flex;font-size:.72rem;font-weight:700;height:24px;justify-content:center;min-width:24px;padding:0 7px}.managed-share-list{display:grid;gap:8px;margin-top:14px}.managed-share-row{align-items:center;background:var(--canvas);border:1px solid var(--line);border-radius:12px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px 10px 10px 12px}.managed-share-row>span{display:grid;gap:2px;min-width:0}.managed-share-row strong{font-size:.84rem}.managed-share-row small{color:var(--subtle);font-size:.72rem}.managed-share-row>input{background:var(--base);border:1px solid var(--line);border-radius:9px;font-size:.72rem;grid-column:1 / -1;min-height:38px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;width:100%}.managed-share-actions{display:flex;gap:2px;grid-column:2;grid-row:1}.share-unavailable{color:var(--subtle);font-size:.8rem;line-height:1.45;margin:12px 0 0}.share-export-section{border-top:1px solid var(--line);display:grid;gap:12px;margin-top:28px;padding-top:24px}.share-export-section h3{font-size:1rem;margin:0 0 5px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.language-options{display:grid;gap:7px;grid-template-columns:1fr 1fr}.language-options button{background:var(--canvas);border:1px solid var(--line);border-radius:10px;min-height:44px}.language-options button.selected{background:var(--elevated);border-color:var(--brand);font-weight:700}.relationship-language-options{grid-template-columns:1fr}.empty-dialog-state{color:var(--subtle);padding:38px 18px;text-align:center}.empty-dialog-state strong{color:var(--text);display:block;margin-bottom:6px}@media(max-width:620px){.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-bottom:0;border-radius:22px 22px 0 0;max-height:calc(100dvh - max(28px,env(safe-area-inset-top,0px)))}.modal-body{padding:18px;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}.field-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.role-grid{grid-template-columns:1fr 1fr}.danger-zone{align-items:stretch;flex-direction:column;gap:12px}.settings-actions .button,.share-result-actions .button{flex:1 1 100%}.share-method-choice{min-height:62px}}.person-create-form{gap:14px;margin:0 auto;max-width:500px;width:100%}.person-create-form .photo-editor{background:radial-gradient(circle at 50% 34%,rgba(255,253,248,.96) 0 58px,transparent 59px),linear-gradient(145deg,#a8875b2e,#7e9b631a);border:1px solid color-mix(in srgb,var(--brand) 36%,var(--line));border-radius:24px;flex-direction:column;justify-content:center;min-height:220px;overflow:hidden;padding:24px;position:relative}.person-create-form .photo-editor .person-avatar{border:3px solid var(--base);box-shadow:0 12px 28px #3e30222e;font-size:2.35rem}.person-create-form .photo-actions{align-items:center}.person-create-form .person-name-section{background:transparent;border:0;padding:0}.person-create-form .person-name-section .field{color:var(--text);font-size:.82rem;text-align:center}.person-create-form .person-name-section input,.relative-create-fields>.field input{background:var(--base);border-color:var(--line);box-shadow:var(--shadow-soft);font-size:1.08rem;min-height:56px;padding:14px 16px}.person-create-form .person-name-section input{text-align:center}.relative-create-fields{display:grid;gap:12px}.person-detail-disclosure{background:color-mix(in srgb,var(--base) 86%,transparent);border:1px solid var(--line);border-radius:14px;overflow:hidden}.person-detail-disclosure summary{align-items:center;color:var(--brand-deep);cursor:pointer;display:flex;font-size:.88rem;font-weight:600;justify-content:space-between;list-style:none;min-height:50px;padding:0 15px}.person-detail-disclosure summary::-webkit-details-marker{display:none}.person-detail-disclosure summary:after{content:"+";font-size:1.35rem;font-weight:400;line-height:1;transition:transform .16s ease}.person-detail-disclosure[open] summary{border-bottom:1px solid var(--line)}.person-detail-disclosure[open] summary:after{transform:rotate(45deg)}.person-detail-disclosure .field-grid{grid-template-columns:1fr;padding:15px}@media(max-width:620px){.person-create-form .photo-editor{min-height:192px;padding:20px}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.date-picker-field{min-width:0;position:relative}.date-picker-control{display:flex;min-width:0;position:relative}.date-picker-trigger{align-items:center;background:var(--recessed);border:1px solid transparent;border-radius:11px;color:var(--subtle);display:flex;font-size:.92rem;font-weight:400;gap:9px;justify-content:flex-start;min-height:44px;min-width:0;padding:10px 42px 10px 12px;text-align:left;width:100%}.date-picker-trigger.has-value{color:var(--text)}.date-picker-trigger svg{color:var(--brand-deep);flex:0 0 auto}.date-picker-trigger:hover,.date-picker-trigger:focus-visible,.date-picker-trigger[aria-expanded=true]{background:var(--base);border-color:var(--brand);outline:none}.date-picker-clear{align-items:center;background:transparent;border-radius:8px;color:var(--subtle);display:flex;height:36px;justify-content:center;position:absolute;right:4px;top:4px;width:36px}.date-picker-clear:hover,.date-picker-clear:focus-visible{background:var(--recessed);color:var(--text);outline:2px solid var(--brand);outline-offset:-2px}.date-picker-dismiss{background:#302b2538;cursor:default;inset:0;position:fixed;z-index:109}.date-picker-popover{--rdp-accent-color: var(--brand-deep);--rdp-accent-background-color: color-mix(in srgb, var(--brand) 18%, var(--base));--rdp-day-height: 42px;--rdp-day-width: 42px;--rdp-day_button-height: 38px;--rdp-day_button-width: 38px;--rdp-selected-border: 0;background:var(--base);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 44px #302b2533;color:var(--text);left:50%;max-height:calc(100dvh - 40px);overflow:auto;padding:14px;position:fixed;top:50%;transform:translate(-50%,-50%);width:min(352px,calc(100vw - 32px));z-index:110}.date-picker-popover .rdp-root{margin:0 auto;width:fit-content}.date-picker-popover .rdp-month_caption{align-items:center;font-size:.92rem;font-weight:700}.date-picker-popover .rdp-dropdowns{gap:5px}.date-picker-popover .rdp-dropdown_root{background:var(--recessed);border:1px solid transparent;border-radius:9px;min-height:38px;padding:0 9px}.date-picker-popover .rdp-dropdown_root:focus-within{background:var(--base);border-color:var(--brand)}.date-picker-popover .rdp-caption_label{font-size:.84rem}.date-picker-popover .rdp-chevron{fill:var(--brand-deep);height:15px;width:15px}.date-picker-popover .rdp-button_previous,.date-picker-popover .rdp-button_next{border-radius:9px}.date-picker-popover .rdp-button_previous:hover,.date-picker-popover .rdp-button_next:hover,.date-picker-popover .rdp-button_previous:focus-visible,.date-picker-popover .rdp-button_next:focus-visible{background:var(--recessed);outline:2px solid var(--brand);outline-offset:-2px}.date-picker-popover .rdp-weekday{color:var(--subtle);font-size:.7rem;font-weight:700;opacity:1;text-transform:uppercase}.date-picker-popover .rdp-day_button{border-radius:10px;font-size:.82rem}.date-picker-popover .rdp-day_button:hover,.date-picker-popover .rdp-day_button:focus-visible{background:var(--recessed);outline:2px solid var(--brand);outline-offset:-2px}.date-picker-popover .rdp-selected .rdp-day_button{background:var(--brand-deep);color:var(--base);font-weight:700}.date-picker-popover .rdp-today:not(.rdp-selected) .rdp-day_button{border:1px solid var(--brand);color:var(--brand-deep);font-weight:700}.date-picker-popover .rdp-outside{opacity:.42}.date-picker-popover .rdp-disabled:not(.rdp-selected){opacity:.3}.date-picker-actions{border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;margin-top:10px;padding-top:10px}.date-picker-action{background:transparent;border-radius:9px;color:var(--brand-deep);font-size:.8rem;font-weight:700;min-height:40px;padding:8px 12px}.date-picker-action:hover:not(:disabled),.date-picker-action:focus-visible{background:var(--recessed);outline:none}.date-picker-action.primary{background:var(--brand-deep);color:var(--base)}.date-picker-action.primary:hover,.date-picker-action.primary:focus-visible{background:color-mix(in srgb,var(--brand-deep) 88%,black)}.date-picker-action:disabled{cursor:default;opacity:.42}@media(max-width:620px){.date-picker-dismiss{background:#302b254d}.date-picker-popover{bottom:max(12px,env(safe-area-inset-bottom,0px));left:50%;max-height:calc(100dvh - 24px);overflow:auto;position:fixed;top:auto;transform:translate(-50%);width:min(376px,calc(100vw - 24px))}}.modal-backdrop~.modal-backdrop{z-index:110}.relationship-wizard{display:grid;gap:18px}.relationship-progress{align-items:center;display:flex;gap:7px}.relationship-progress span{align-items:center;background:var(--recessed);border:1px solid var(--line);border-radius:50%;color:var(--subtle);display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:700;height:25px;justify-content:center;width:25px}.relationship-progress span.active,.relationship-progress span.complete{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.relationship-progress i{background:var(--line);display:block;flex:1 1 34px;height:2px;max-width:64px}.relationship-progress i.complete{background:var(--brand-deep)}.relationship-progress strong{color:var(--subtle);font-size:.73rem;font-weight:600;margin-left:4px;white-space:nowrap}.relationship-step-copy h3{font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-.015em;margin:0 0 6px}.relationship-step-copy p{color:var(--subtle);font-size:.86rem;line-height:1.5;margin:0}.relationship-methods{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.relationship-method-card{align-items:flex-start;background:var(--base);border:1px solid var(--line);border-radius:15px;display:flex;gap:12px;min-height:126px;padding:17px;text-align:left}.relationship-method-card:not(:disabled):hover{background:var(--elevated);border-color:var(--brand)}.relationship-method-card>span:last-child{min-width:0}.relationship-method-card strong,.relationship-method-card small{display:block}.relationship-method-card strong{font-size:.92rem;line-height:1.35}.relationship-method-card small{color:var(--subtle);font-size:.76rem;line-height:1.45;margin-top:5px}.relationship-method-icon,.relationship-role-symbol{align-items:center;background:var(--recessed);border-radius:50%;color:var(--brand-deep);display:inline-flex;flex:0 0 auto;justify-content:center}.relationship-method-icon{height:40px;width:40px}.relationship-role-groups{display:grid;gap:22px}.relationship-role-group{display:grid;gap:9px}.relationship-role-group h4{color:var(--subtle);font-size:.73rem;letter-spacing:.06em;margin:0;text-transform:uppercase}.relationship-role-grid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.relationship-role-button{align-items:center;background:var(--base);border:1px solid var(--line);border-radius:12px;display:flex;font-size:.82rem;font-weight:600;gap:9px;min-height:53px;padding:8px 10px;text-align:left}.relationship-role-button:hover,.relationship-role-button.selected{background:var(--elevated);border-color:var(--brand)}.relationship-role-button.selected{box-shadow:inset 0 0 0 1px var(--brand)}.relationship-role-symbol{height:31px;width:31px}.relationship-selection-summary,.relationship-fixed-person{align-items:center;background:color-mix(in srgb,var(--brand) 9%,var(--base));border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:12px;display:flex;gap:11px;padding:11px 13px}.relationship-selection-summary{justify-content:space-between}.relationship-selection-summary span,.relationship-fixed-person span{color:var(--subtle);font-size:.74rem}.relationship-fixed-person div,.relationship-fixed-person strong,.relationship-fixed-person span{display:block}.relationship-fixed-person strong{margin-top:2px}.relationship-date-field{background:var(--base);border:1px solid var(--line);border-radius:12px;padding:13px}.relationship-unavailable{background:var(--recessed);border-radius:10px;color:var(--subtle);font-size:.78rem;line-height:1.45;margin:0;padding:10px 12px}.relationship-gender-notice{background:color-mix(in srgb,var(--brand) 10%,var(--base));border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:8px;color:var(--subtle);font-size:.76rem;line-height:1.45;margin:10px 0 0;padding:9px 11px}.relationship-editor-section{gap:12px}.relationship-section-heading{align-items:flex-start;display:flex;gap:14px;justify-content:space-between}.relationship-section-heading h3{margin-bottom:3px}.relationship-section-heading p{color:var(--subtle);font-size:.73rem;line-height:1.4;margin:0;max-width:390px}.relationship-section-heading .button{flex:0 0 auto}.relationship-row-actions{align-items:center;display:flex;gap:2px}.relationship-date-action{color:var(--brand-deep)}.relationship-status{background:color-mix(in srgb,var(--add) 14%,var(--base));border-radius:999px;color:#4f6a3e;display:inline-block;font-size:.65rem;font-style:normal;font-weight:700;margin-top:6px;padding:3px 7px}.relationship-status.removal{background:color-mix(in srgb,var(--danger) 12%,var(--base));color:var(--danger)}.relationship-row.pending-removal{background:color-mix(in srgb,var(--danger) 5%,var(--base));opacity:.76}.relationship-row.pending-link{border-style:dashed}@media(max-width:620px){.relationship-methods{grid-template-columns:1fr}.relationship-method-card{min-height:0}.relationship-section-heading{align-items:stretch;flex-direction:column}.relationship-section-heading .button{width:100%}}@media(max-width:380px){.relationship-role-grid{grid-template-columns:1fr}.relationship-progress strong{margin-left:0}}@media(max-width:840px){.tree-pane-toggle{left:max(12px,env(safe-area-inset-left,0px));top:max(10px,env(safe-area-inset-top,0px))}.workspace-header{gap:8px;left:max(64px,calc(env(safe-area-inset-left,0px) + 52px));right:max(12px,env(safe-area-inset-right,0px));top:max(10px,env(safe-area-inset-top,0px))}.tree-pane-hint{left:max(12px,env(safe-area-inset-left,0px));top:132px}.settings-pane-hint{left:auto;right:max(12px,env(safe-area-inset-right,0px))}.workspace-title{border-radius:14px;flex:1;padding:9px 12px}.workspace-title h2{font-size:1rem}.canvas-utilities{bottom:max(12px,env(safe-area-inset-bottom,0px));right:max(70px,calc(env(safe-area-inset-right,0px) + 58px))}.canvas-controls{bottom:max(12px,env(safe-area-inset-bottom,0px));gap:8px;right:max(12px,env(safe-area-inset-right,0px))}.canvas-visibility-toggle{bottom:max(12px,env(safe-area-inset-bottom,0px));left:max(12px,env(safe-area-inset-left,0px))}.canvas-controls-hint{bottom:208px;right:max(56px,calc(env(safe-area-inset-right,0px) + 46px))}}@media(max-width:620px){.relationship-date-fields{grid-template-columns:1fr}.relationship-date-fields>:only-child{grid-column:auto}.photo-crop-viewport{border-radius:15px}.shared-header{align-items:flex-start}.shared-title{max-width:none}.shared-header-actions{flex:0 0 auto}.shared-save,.shared-home{font-size:0;height:44px;padding:0;width:44px}.shared-save span{display:none}.shared-save svg,.shared-home svg{margin:0}.shared-notice{bottom:max(18px,env(safe-area-inset-bottom,0px));max-width:calc(100% - 92px)}.workspace-tools .desktop-tool{display:none}.workspace-share-button{border-radius:50%;font-size:0;padding:0;width:44px}.workspace-share-button span{display:none}}@media(max-width:520px){.workspace-title p{display:none}.empty-canvas{padding:28px 22px}.brand-mark.large{height:64px;width:64px}.tree-pane-hint{font-size:.78rem;width:calc(50vw - 24px)}.tree-pane-hint span{margin-left:42px;max-width:calc(100% - 42px)}.settings-pane-hint span{margin-left:auto;margin-right:42px}.welcome-canvas{width:min(340px,calc(100vw - 34px))}.welcome-brand{margin-bottom:14px}.welcome-canvas h3{font-size:1.22rem}.welcome-canvas>p{font-size:.79rem;margin-bottom:12px}.welcome-action{min-height:54px;padding:6px 8px}.canvas-move-hint{margin-top:12px}.privacy-button span{display:none}.privacy-button{border-radius:50%;justify-content:center;padding:0;width:44px}}@media(min-width:521px)and (max-width:840px){.settings-pane-hint svg{transform:translateY(6px)}}@media(max-width:340px){.empty-canvas{padding:20px 16px;top:62%}.empty-canvas .brand-mark{margin-bottom:14px}.empty-canvas h3{font-size:1.45rem;margin-bottom:8px}.empty-canvas p{line-height:1.4;margin-bottom:16px}}@media(max-width:460px),(max-height:620px){.tree-pane-hint,.settings-pane-hint,.canvas-controls-hint{display:none}}@media(max-width:340px)and (max-height:520px){.tree-pane-hint{display:none}.empty-canvas{top:56%}}@media(orientation:landscape)and (max-height:520px){.empty-canvas{align-items:center;column-gap:18px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-rows:auto auto;max-width:720px;padding:18px;row-gap:2px;text-align:left;top:62%;width:calc(100% - 64px)}.empty-canvas.welcome-canvas{max-width:720px}.empty-canvas .brand-mark{grid-row:1 / 3;height:64px;margin:0;width:64px}.empty-canvas h3{align-self:end;font-size:1.35rem;margin:0}.empty-canvas p{align-self:start;line-height:1.35;margin:0}.empty-canvas .button{grid-column:3;grid-row:1 / 3;white-space:nowrap}.tree-sidebar{overflow-y:auto;overscroll-behavior:contain}.sidebar-brand{padding-bottom:14px}.tree-list{flex:0 0 auto;min-height:72px;overflow:visible;padding-bottom:8px}.welcome-canvas{width:min(520px,calc(100vw - 110px))}.welcome-brand,.welcome-canvas>p,.canvas-move-hint{display:none}.welcome-canvas h3{margin-bottom:8px}.welcome-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.welcome-action{align-content:center;grid-template-columns:1fr;justify-items:center;min-height:88px;text-align:center}.welcome-action small{display:none}}@media(orientation:landscape)and (max-height:350px){.tree-pane-hint{display:none}}
