*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Inter,Helvetica Neue,Arial,sans-serif;background:#f3f2ee;color:#2e3138;font-size:13px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}code{background:#efede8;padding:0 4px;border-radius:4px;font-size:12px}.grow{flex:1}.muted{color:#8a8c93}.small{font-size:11.5px}.pad{padding:12px}.err{color:#b4433f;font-size:12px;margin-top:6px}.err.box{background:#fbeceb;border:1px solid #F0C7C4;padding:8px 10px;border-radius:8px;margin:8px 0}.link{background:none;border:0;padding:0;color:#5e9c8f;cursor:pointer}.link:hover{text-decoration:underline}.link.cur{color:#2e3138}.app{display:flex;flex-direction:column;height:100%}.topbar{height:44px;flex:none;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;border-bottom:1px solid #E7E5E0}.logo{width:22px;height:22px;border-radius:6px;background:conic-gradient(from 200deg,#e58a8a,#e8c46a,#7ccb9e,#7fb3e8,#b89ae0,#e58a8a);flex:none}.logo.big{width:44px;height:44px;border-radius:12px}.app-name{font-weight:700;font-size:13.5px}.ver{font-size:11px;color:#555;background:#eeedea;border-radius:9px;padding:2px 8px;font-weight:600}.menu-btn{border:1px solid #E0DED8;background:#fafaf8;border-radius:7px;padding:3px 10px;font-size:12px}.menu-btn:hover{background:#f0efeb}.crumb{font-size:12px;margin-left:8px}.file-chip{display:flex;flex-direction:column;line-height:1.15;font-size:11px;color:#777;text-align:right;max-width:260px}.file-chip b{color:#2e3138;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip.ro b:after{content:" (read-only)";color:#b4433f;font-weight:600}.save-st{font-size:11px;color:#8a8c93;min-width:86px;display:inline-flex;align-items:center;gap:6px}.save-st.pending{color:#8a6a2f}.save-st.error,.save-st.ro{color:#b4433f}.unsaved-dot{width:8px;height:8px;border-radius:50%;background:#c9842a;box-shadow:0 0 0 2px #c9842a47;flex:none}.web-save-note{background:#f8f1e3;color:#6e5420;font-size:12px;padding:6px 14px;border-bottom:1px solid #E7D7B4}.sync-st{font-size:11px;color:#8a8c93}.sync-st.synced{color:#5e9c8f}.sync-st.waiting,.sync-st.local{color:#8a6a2f}.sync-st.error{color:#b4433f}.btn{border:1px solid #DAD7D0;background:#fff;border-radius:8px;padding:5px 11px;font-size:12px;color:#4a4d55;white-space:nowrap}.btn:hover:not(:disabled){background:#f6f5f2}.btn.sm{padding:3px 9px;font-size:11.5px}.btn.lg{padding:10px 18px;font-size:14px}.btn.primary{background:#5e9c8f;border-color:#5e9c8f;color:#fff}.btn.primary:hover{background:#538c80}.btn.accent{border-color:#5e9c8f;color:#5e9c8f;background:#f0f6f4}.btn.danger{background:#c9605f;border-color:#c9605f;color:#fff}.icon-btn{border:0;background:none;color:#9a9ca3;border-radius:6px;padding:2px 6px;font-size:14px;line-height:1}.icon-btn:hover{background:#efede8;color:#444}.icon-btn.sm{font-size:12px;padding:1px 4px}.icon-btn.xs{font-size:11px;padding:1px 3px}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + 4px);z-index:300;background:#fff;border:1px solid #E4E2DD;border-radius:10px;box-shadow:0 12px 36px #0000002e;padding:6px 0;min-width:210px}.menu.left{left:0}.menu.right{right:0}.menu-item{display:flex;width:100%;justify-content:space-between;gap:18px;border:0;background:none;padding:6px 14px;text-align:left;font-size:12.5px}.menu-item:hover:not(:disabled){background:#f2f1ee}.menu-item.danger{color:#b4433f}.menu-item.note:disabled{opacity:1;white-space:normal;max-width:280px;color:#6e5420;cursor:default;line-height:1.35}.menu-item kbd{font-family:inherit;color:#9a9ca3;font-size:11px}.menu-sep{border-top:1px solid #ECEAE5;margin:5px 0}.main{flex:1;min-height:0;position:relative}.overview{height:100%;display:flex;flex-direction:column;padding:8px 14px 10px;gap:8px}.page-h{display:flex;align-items:center;gap:10px;flex:none}.page-h h1{font-size:19px;margin:0;font-weight:700}.sub{color:#8a8c93;font-size:12px}.board{flex:1;min-height:0;display:flex;gap:8px}.empty-board{margin:auto;color:#8a8c93}.cat{min-width:0;background:#fff;border-radius:12px;border-top:4px solid;box-shadow:0 2px 8px #0000000d;padding:8px 6px;display:flex;flex-direction:column}.cat-h{display:flex;align-items:center;gap:4px;font-weight:700;letter-spacing:1.5px;font-size:13px;margin:0 4px 6px;min-width:0}.cat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.goals{flex:1;min-height:0;display:flex;gap:5px}.goal-card{flex:1 1 0;min-width:0;border-radius:10px;background:#fafaf8;border:1px solid #ECEAE5;padding:6px 5px 5px;position:relative;display:flex;flex-direction:column;cursor:pointer;outline:none}.goal-card.hl,.goal-card:focus-visible{border-width:2px;padding:5px 4px 4px;background:#fff;box-shadow:0 6px 18px #5e9c8f38}.goal-t{display:flex;align-items:flex-start;justify-content:space-between;font-weight:600;font-size:12px;min-height:26px;line-height:1.2;gap:2px}.goal-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.mini{flex:1;min-height:40px;position:relative}.mini svg{position:absolute;top:0;right:0;bottom:0;left:0}.meta{font-size:10.5px;color:#999;margin-top:4px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.open-pill{position:absolute;right:6px;bottom:-10px;color:#fff;font-size:11px;padding:2px 9px;border-radius:9px}.add-goal{flex:none;width:18px;border:1px dashed #D3D0C8;border-radius:10px;color:#aaa;background:none;font-size:15px;padding:0}.add-goal:hover{color:#5e9c8f;border-color:#5e9c8f}.temp-bin-cat{flex:0 0 300px;max-width:340px;background:#f7f6f2;border:1px dashed #C8C4BA;border-top:4px solid #5C6778}.temp-bin-h{color:#5c6778}.temp-bin-count{background:#5c6778;color:#fff;border-radius:9px;min-width:18px;text-align:center;font-size:11px;font-weight:700;letter-spacing:0;padding:1px 6px}.temp-bin-lead{color:#8a8c93;font-size:11px;line-height:1.35;margin:0 4px 8px}.temp-bin-groups,.temp-bin-rail-tiles{display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.temp-bin-group-h,.temp-bin-rail-h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#3a3d45}.temp-bin-group-n{color:#8a8c93;font-weight:600;font-size:11px}.temp-bin-tile.note{flex:none;width:100%;min-height:64px;overflow:visible;cursor:grab}.temp-bin-stack{background:#fff;border:1px solid #D5D8E4;border-radius:12px;padding:8px 10px}.temp-bin-stack-h{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700}.temp-bin-stack-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.temp-bin-stack-list li{display:flex;flex-direction:column;gap:1px}.temp-bin-stack-arrow{font-size:12px;line-height:1}.temp-bin-stack-name{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.temp-bin-stack-msg{font-size:12px;color:#2e3138}.temp-bin-where,.temp-bin-time{color:#8a8c93;font-size:10.5px;margin-top:3px}.goal-card.temp-drop{border-color:#5c6778;box-shadow:0 0 0 2px #5c677859}.chart-with-bin{flex:1;min-height:0;display:flex;gap:10px;align-items:stretch}.chart-with-bin .grid-scroll{flex:1;min-width:0}.temp-bin-rail{width:232px;flex:none;overflow:auto;background:#f7f6f2;border:1px dashed #C8C4BA;border-top:4px solid #5C6778;border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px}.cell.temp-land{box-shadow:inset 0 0 0 2px #5c6778;background:#eef1f4}.legend{flex:none;background:#fff;border-radius:12px;padding:7px 14px;font-size:11px;box-shadow:0 2px 8px #0000000d;display:grid;grid-template-columns:repeat(3,1fr);gap:3px 22px}.lg-fam{display:flex;flex-wrap:wrap;align-items:center;gap:1px 10px}.lg-fam b{font-size:10.5px;letter-spacing:1px;margin-right:2px}.lg-item{display:inline-flex;align-items:center;gap:4px;color:#555;white-space:nowrap}.lg-item i,.ae-chip i,.sw{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}.detail{height:100%;display:flex;flex-direction:column;padding:10px 20px 12px;gap:8px}.detail-h{display:flex;align-items:flex-start;gap:12px;flex:none}.crumbs{font-size:11.5px;color:#8a8c93}.goal-title{margin:2px 0;font-size:26px;letter-spacing:3px;font-weight:700;display:flex;align-items:center;gap:6px;max-width:60vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.detail-actions{display:flex;gap:8px;align-items:center;padding-top:14px}.grid-scroll{flex:1;min-height:0;overflow:auto;position:relative;padding-bottom:6px}.grid{display:grid;gap:6px;position:relative;width:max-content;min-width:100%}.time-h{position:sticky;left:0;z-index:3;background:#f3f2ee;align-self:stretch;display:flex;align-items:flex-end;font-size:10.5px;font-weight:700;color:#8a8c93;letter-spacing:.5px;padding:0 0 6px 8px}.fam-bar{border:0;border-radius:7px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.fam-bar:hover{filter:brightness(1.08)}.fam-collapsed{border:0;border-radius:8px;color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;display:flex;align-items:flex-start;justify-content:center;padding-top:10px;z-index:0}.fam-collapsed:hover{filter:brightness(1.08)}.vt{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:100%}.col-h{border-radius:7px;border-top:4px solid;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:700;letter-spacing:.3px;color:#3a3d45;position:relative;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden;padding:4px 2px}.col-h.narrow{justify-content:flex-start}.col-h.narrow .col-name{max-height:62px;font-size:10px;font-weight:600;line-height:1.1;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:keep-all}.col-h.wide .col-name{text-transform:uppercase;text-align:center;padding:0 14px;overflow:hidden;text-overflow:ellipsis;max-width:100%}.col-h .grip{font-size:9px;color:#777;letter-spacing:-1px}.col-h.dragging{opacity:.4;outline:2px dashed #2F7BF0}.col-h.drop-before{box-shadow:inset 4px 0 #2f7bf0}.col-h.drop-after{box-shadow:inset -4px 0 #2f7bf0}.col-x{position:absolute;top:1px;right:1px;border:0;background:#ffffffb3;border-radius:50%;width:15px;height:15px;font-size:11px;line-height:13px;padding:0;color:#777;opacity:0;pointer-events:none}.col-h:focus-within .col-x{opacity:1;pointer-events:auto}@media (hover: hover) and (pointer: fine){.col-h:hover .col-x{opacity:1;pointer-events:auto}}.col-x:hover,.col-x:focus{color:#b4433f}.time-c{position:sticky;left:0;z-index:3;background:#f3f2ee;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding-right:6px;font-size:11.5px;color:#555;line-height:1.4}.time-c b{color:#3a3d45}.cell{border:1px dashed #DDDAD3;border-radius:8px;background:#f8f7f4;min-height:82px;position:relative;display:flex}.cell.over{border:2px solid #2F7BF0;background:#e3eefe}.cc{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.cc-dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #00000026;pointer-events:auto}.note{flex:1;min-width:0;margin:0;border-radius:9px;padding:6px 8px 7px;font-size:11.5px;line-height:1.32;box-shadow:0 3px 10px #00000014;border-left:5px solid;z-index:2;cursor:grab;display:flex;flex-direction:column;overflow:hidden;background:#fff}.note.dragging{opacity:.35}.note.multi-selected{outline:2px solid #2F7BF0;outline-offset:2px;box-shadow:0 0 0 4px #2f7bf038,0 3px 10px #00000014}.cell.group-over{background:#e3eefe;box-shadow:inset 0 3px #2f7bf0,inset 0 -3px #2f7bf0}.marquee{position:absolute;z-index:3;pointer-events:none;border:1.5px solid #2F7BF0;background:#2f7bf029;border-radius:2px}.note-h{display:flex;justify-content:space-between;align-items:center;font-size:9.5px;font-weight:700;letter-spacing:.5px;margin-bottom:2px}.note-t{word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.arrows{position:absolute;left:0;top:0;pointer-events:none;z-index:1;overflow:visible}.no-entries{color:#8a8c93;padding:14px 110px}.new-entry{flex:none;height:40px;border:1.5px dashed #9FC3BA;border-radius:10px;background:#f0f6f4;color:#5e9c8f;font-weight:600;font-size:14px}.new-entry span{font-weight:400;color:#8890a0;font-size:12px}.new-entry:hover{background:#e6f1ee}.add-emo{width:330px;max-height:70vh;overflow:auto;padding:4px 0 8px}.ae-fam{padding:3px 14px}.ae-h{font-size:10.5px;font-weight:700;letter-spacing:1px;padding:4px 14px 2px}.ae-fam .ae-h{padding:2px 0}.ae-list{display:flex;flex-wrap:wrap;gap:3px 4px}.ae-chip{border:1px solid transparent;background:none;border-radius:6px;padding:2px 6px;font-size:12px;display:inline-flex;align-items:center;gap:5px}.ae-chip:hover{background:#f0f6f4;border-color:#cfe2dd}.ae-chip em{color:#9a9ca3;font-style:normal;font-size:10.5px}.ae-sep{border-top:1px solid #ECEAE5;margin:8px 0 4px}.ae-row{display:flex;gap:6px;align-items:center;padding:4px 14px}.add-emo>.inp{margin:4px 14px;width:calc(100% - 28px)}.add-emo .err{padding:0 14px}.inp{width:100%;border:1px solid #D3D0C8;border-radius:7px;padding:7px 9px;font:inherit;font-size:13px;background:#fff}.inp:focus{outline:none;border-color:#5e9c8f;box-shadow:0 0 0 2px #5e9c8f33}.inp.sm{padding:5px 8px;font-size:12px}textarea.inp{resize:vertical}.lbl{display:block;font-size:11.5px;color:#6a6d75;margin:8px 0 4px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e202652;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000004d;max-height:88vh;display:flex;flex-direction:column;max-width:94vw}.modal-h{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 6px;font-weight:700;font-size:15px}.modal-h .x{border:0;background:none;font-size:20px;color:#999}.modal-b{padding:4px 18px 14px;overflow:auto}.modal-f{display:flex;justify-content:flex-end;gap:8px;padding:10px 18px 14px;border-top:1px solid #F0EEE9}.msg{line-height:1.45;white-space:pre-wrap}.ee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 18px;margin-top:10px}.ee-fam .ae-h{padding:4px 0}.ee-row{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:12.5px}.ee-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lock{font-size:10px}.tag{font-size:10px;color:#9a9ca3}.ar-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid #F2F0EC}.ar-l{font-weight:600}h4{margin:12px 0 2px;font-size:12px;color:#6a6d75;text-transform:uppercase;letter-spacing:1px}.about{display:flex;gap:14px;align-items:center;margin:6px 0 12px}.about-name{font-size:18px;font-weight:700}.about-v{color:#5e9c8f;font-weight:600}.kv td{padding:3px 10px 3px 0;vertical-align:top;font-size:12px}.kv td:first-child{color:#8a8c93;white-space:nowrap}.kv td:last-child{word-break:break-all}.chk{display:flex;gap:6px;align-items:center;margin-top:10px;font-size:12.5px}.notes{white-space:pre-wrap;background:#f6f5f2;padding:8px;border-radius:8px;max-height:200px;overflow:auto;font-size:11.5px}.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%);background:#2e3138;color:#fff;padding:9px 16px;border-radius:10px;display:flex;gap:14px;z-index:200;box-shadow:0 8px 24px #00000040;font-size:12.5px}.toast.error{background:#9e3b37}.toast .link{color:#9fe0d2;font-weight:600}.start{height:100%;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto}.start-card{background:#fff;border-radius:16px;box-shadow:0 6px 30px #00000012;padding:28px 32px;width:640px;max-width:100%}.start-top{display:flex;gap:14px;align-items:center}.start-top h1{margin:0;font-size:22px}.start-actions{display:flex;gap:10px;margin:20px 0 8px}.start-card h3{margin:22px 0 6px;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#6a6d75}.recent{display:flex;flex-direction:column;gap:2px}.recent-row{display:flex;align-items:center;gap:10px;border-radius:8px;padding:2px 4px}.recent-row:hover{background:#f6f5f2}.recent-open{flex:1;min-width:0;border:0;background:none;text-align:left;padding:6px 4px;display:flex;flex-direction:column}.recent-name{font-weight:600;font-size:13.5px}.recent-path{font-size:11px;color:#8a8c93;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-row.missing .recent-name{color:#aaa;text-decoration:line-through}.recent-row.missing .recent-path{color:#b4433f}.foot{margin-top:16px;word-break:break-all}.arrows .arrow-hit{pointer-events:stroke;cursor:pointer}.arrows .arrow:hover .arrow-line{stroke-width:3}.grid.drawing,.grid.drawing .note,.grid.drawing .cell{cursor:crosshair}.note{position:relative}.note.arrow-src{outline:3px solid #2F7BF0;outline-offset:1px;box-shadow:0 0 0 6px #2f7bf02e}.note.arrow-target:hover,.note.arrow-hit{outline:2px dashed #2F7BF0;outline-offset:1px;background:#e3eefe!important}.arrow-handle{position:absolute;left:50%;bottom:-1px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:#2f7bf0;border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:crosshair;opacity:0;transition:opacity .12s}.note:hover .arrow-handle{opacity:1}.note-edit{flex:1 0 auto;min-height:46px;resize:none;overflow-y:hidden;box-sizing:border-box;border:1px solid #2F7BF0;border-radius:6px;font:inherit;padding:3px 4px;background:#fff}.draw-hint{flex:none;font-size:12px;color:#2f7bf0;background:#e3eefe;border-radius:8px;padding:5px 10px}.ctx-menu{z-index:300}.chk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:#4a4d55;white-space:nowrap;cursor:pointer}.tabs{display:inline-flex;background:#eeedea;border-radius:9px;padding:2px;gap:2px;margin-left:6px}.tab{border:0;background:none;border-radius:7px;padding:4px 12px;font-size:12.5px;color:#5a5d66;font-weight:600}.tab.on{background:#fff;color:#23262e;box-shadow:0 1px 3px #0000001f}.tab:hover:not(.on){color:#23262e}.rf{height:100%;display:flex;flex-direction:column;padding:10px 22px 12px;gap:10px;overflow:hidden}.rf-h h1{font-size:21px;margin:0;letter-spacing:1.5px;color:#5e9c8f;font-weight:800}.rf-board{flex:1;min-height:0;display:flex;gap:12px;overflow:auto;align-items:flex-start;padding-bottom:6px}.rf-col{flex:0 0 282px;background:#fff;border-radius:10px;border-top:4px solid;box-shadow:0 2px 8px #0000000f;display:flex;flex-direction:column;max-height:100%;min-height:360px}.rf-col.dragging{opacity:.4}.rf-col.drop-before{box-shadow:-4px 0 #2f7bf0,0 2px 8px #0000000f}.rf-col.drop-after{box-shadow:4px 0 #2f7bf0,0 2px 8px #0000000f}.rf-col-h{display:flex;align-items:center;gap:5px;padding:10px 10px 6px;cursor:grab}.rf-col-name{font-weight:800;font-size:12.5px;letter-spacing:1.2px}.rf-count{color:#9a9ca3;font-size:11.5px}.rf-lock{font-size:10.5px;color:#9a9ca3;white-space:nowrap}.rf-list{flex:1;min-height:60px;overflow:auto;padding:2px 8px 10px;display:flex;flex-direction:column;gap:6px}.rf-item{position:relative;display:flex;gap:6px;align-items:flex-start;background:#faf9f7;border:1px solid #EEEDE9;border-left:4px solid;border-radius:8px;padding:7px 8px;cursor:grab}.rf-item:hover{background:#fff;box-shadow:0 3px 10px #00000014}.rf-item.dragging{opacity:.35}.rf-item.archived{opacity:.7;border-left-color:#d6d4ce;cursor:default;align-items:center}.rf-grip{color:#c4c2bc;font-size:11px;line-height:1.6;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.rf-body{flex:1;min-width:0}.rf-text{font-size:12.5px;line-height:1.35;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:#2c2f37}.rf-date{font-size:10.5px;color:#9a9ca3;margin-top:2px}.rf-actions{display:none;gap:4px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.rf-item:hover .rf-actions{display:inline-flex}.btn.xs{font-size:10.5px;padding:1px 6px;border-radius:6px}.rf-slot{position:relative;height:38px;border:2px dashed #2F7BF0;background:#e3eefe;border-radius:8px;flex:none}.rf-tip{position:absolute;left:50%;top:calc(100% + 4px);transform:translate(-50%);background:#2c2f37;color:#fff;font-size:10.5px;padding:2px 8px;border-radius:5px;white-space:nowrap;z-index:5;pointer-events:none}.rf-add{border:1.5px dashed #D9D7D1;background:none;border-radius:8px;padding:7px;color:#6a6d75;font-size:12px}.rf-add span{color:#a3a5ac;font-size:11px}.rf-add:hover{background:#f6f5f2}.rf-input{width:100%;resize:vertical;border:1px solid #2F7BF0;border-radius:6px;font:inherit;font-size:12.5px;padding:4px 6px}.rf-show-arch{align-self:flex-start;font-size:11px;color:#8a8c93}.rf-add-col{flex:0 0 120px;min-height:360px;align-self:stretch;border:1.5px dashed #CFCDC6;border-radius:10px;background:#fff6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#6a6d75}.rf-add-col b{font-size:20px;font-weight:400}.rf-add-col span{font-size:12.5px}.rf-add-col em{font-style:normal;font-size:10.5px;color:#a3a5ac}.rf-add-col:hover{background:#fff}.arrows .arrow.selected .arrow-line{stroke-width:3.5}.grid.drawing .arrows .arrow-hit{pointer-events:none}.grid.drawing .cell.add-target:hover{background:#e3eefe;outline:2px dashed #2F7BF0;outline-offset:-2px;border-radius:8px}.cell.empty-cell{position:relative;cursor:pointer}.cell.empty-cell:hover{background:#f3f7fe;outline:1.5px dashed #B7C8E8;outline-offset:-2px;border-radius:8px}.cell-plus{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#c5ccd8;font-size:18px;font-weight:500;pointer-events:none;opacity:0}.cell.empty-cell:hover .cell-plus,.cell.trailing .cell-plus{opacity:1}.cell.trailing{min-height:64px}.time-c.trailing{display:flex;align-items:center;justify-content:flex-end;padding-right:8px;font-size:11px}.partner-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;flex:none}.partner-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:999px;border:1.5px solid;background:#fff;font-size:12.5px;font-weight:700}.seg{display:inline-flex;background:#eeedea;border-radius:8px;padding:2px;gap:2px}.seg button{border:0;background:none;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:650;color:#5a5d66;display:inline-flex;align-items:center;gap:5px}.seg button.on{background:#fff;color:#23262e;box-shadow:0 1px 3px #0000001f}.seg-lbl{font-size:11.5px;color:#6a6d75;font-weight:600;margin-right:4px}.note.owned{position:relative;border-left-width:4px}.note .who-badge{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.note-h .who{font-size:10.5px;letter-spacing:.4px;margin-right:4px;opacity:.85}.color-dots{display:inline-flex;gap:6px}.color-dots button{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0}.color-dots button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px currentColor}.couples-setup-hint{background:#f7f1e4;border-radius:8px;padding:10px 12px;font-size:12.5px;color:#6a5a3a;margin-top:8px}.couples-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;color:#6a6d75}.menu-item.sub{display:flex;justify-content:space-between}.ctx-sub{position:absolute;left:100%;top:0;margin-left:4px;background:#fff;border:1px solid #E4E2DC;border-radius:8px;box-shadow:0 8px 24px #0000001f;min-width:140px;padding:4px;z-index:301}.ep{display:flex;flex-direction:column;gap:8px;max-height:min(70vh,560px)}.ep-search{width:100%}.ep-blurb{min-height:34px;font-size:12.5px;color:#3a3d45;background:#f6f5f2;border-radius:8px;padding:7px 10px;line-height:1.35}.ep-scroll{flex:1;min-height:180px;overflow:auto;border:1px solid #EEEDE9;border-radius:8px;padding:8px 10px;background:#fafaf8}.ep-fam{margin-bottom:10px}.ep-fam-h{font-size:11px;font-weight:800;letter-spacing:1px;margin:2px 0 6px}.ep-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:5px}.ep-chip{display:inline-flex;align-items:center;gap:6px;text-align:left;border:1px solid #E4E2DC;background:#fff;border-radius:8px;padding:5px 8px;font-size:12px;color:#2c2f37;cursor:pointer;min-height:30px}.ep-chip i{width:8px;height:8px;border-radius:50%;flex:none}.ep-chip em{margin-left:auto;font-style:normal;color:#2f7bf0;font-weight:800;font-size:11px}.ep-chip small{margin-left:2px;color:#9a9ca3;font-size:10px}.ep-chip-x{flex:none;border:0;background:transparent;color:#8a6a6a;font-size:14px;line-height:1;width:16px;height:16px;margin:0 -2px 0 1px;padding:0;border-radius:4px;cursor:pointer}.ep-chip-x:hover{background:#f8e4e2;color:#9c2f2f}.ep-chip:hover{border-color:#b7c8e8;background:#f3f7fe}.ep-chip.on{border-color:#2f7bf0;background:#e8f0fe;box-shadow:inset 0 0 0 1px #2f7bf0}.ep-chip.on-page{background:#eef3fb}.ep-chip.core:disabled{opacity:.85;cursor:default;background:#f3f7fe}.ep-chip.core:disabled em{color:#7a8a9a}.ep-custom{border-top:1px solid #EEEDE9;padding-top:8px;flex:none}.ep-custom-h{font-size:12.5px;font-weight:700;color:#5e9c8f;margin-bottom:6px}.ep-custom-row{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;gap:6px;width:100%}.ep-custom-row>.ep-custom-name{flex:1 1 16rem;width:auto;min-width:8rem;max-width:28rem}.ep-custom-row>.ep-custom-family{flex:0 0 148px;width:148px}.ep-custom-row>.btn{flex:0 0 auto}.time-c{position:sticky;left:0;z-index:3;background:#f3f2ee}.note-when{display:block;margin-top:4px;color:#6a7180;font-size:11px;line-height:1.3}.insert-gap{position:absolute;left:0;right:-8px;bottom:-5px;height:10px;z-index:6;cursor:pointer;opacity:0;display:flex;align-items:center}.insert-gap.top{top:-5px;bottom:auto}.insert-gap:before{content:"";position:absolute;left:0;top:4px;height:2px;width:2000px;background:#2f7bf0;border-radius:1px;pointer-events:none}.insert-gap-plus{position:relative;z-index:1;width:16px;height:16px;margin-left:2px;border-radius:50%;background:#2f7bf0;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.time-c:hover>.insert-gap,.insert-gap:hover,.insert-gap.on{opacity:1}.time-c.draft-row,.cell.draft-row{background:#f3f7fe;outline:1.5px dashed #B7C8E8;outline-offset:-2px}.grid.drawing .insert-gap,.grid.col-dragging .insert-gap{display:none!important;pointer-events:none}.emotions-btns{display:inline-flex;gap:6px;flex-wrap:wrap;align-items:center;max-width:420px}.emotions-btns .btn.sm{padding:5px 10px;font-size:12px;white-space:nowrap}.ep-source{font-size:11.5px;color:#6a7180;margin:-2px 0 8px;letter-spacing:.01em}.ep-more .ep-fam-h{font-style:italic}.modal.ep-modal-big{max-width:min(960px,calc(100vw - 24px));max-height:min(760px,calc(100vh - 24px))}.ep-modal-big .modal-b{display:flex;flex-direction:column;min-height:0;padding-bottom:8px}.ep.ep-big{display:flex;flex-direction:column;min-height:0;flex:1;height:100%;max-height:none;gap:6px}.ep-tabbar{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #E4E2DC}.ep-tabs{display:flex;gap:4px;flex-wrap:wrap;padding-bottom:4px;min-width:0}.ep-order{display:inline-flex;flex:none;background:#eeedea;border-radius:8px;padding:2px;gap:2px;margin-bottom:4px}.ep-order button{border:0;background:transparent;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700;color:#5a5d66;cursor:pointer}.ep-order button.on{background:#fff;color:#23262e;box-shadow:0 1px 3px #0000001f}.ep-tab{border:0;background:transparent;padding:5px 12px;border-radius:8px 8px 0 0;font-size:13px;font-weight:600;color:#5a5e66;cursor:pointer}.ep-tab.on{background:#eef3ff;color:#1f4ba8;box-shadow:inset 0 -2px #2f7bf0}.ep-big .ep-source{margin:0}.ep-big .ep-blurb{min-height:0;padding:4px 8px;font-size:12px}.ep-big .ep-scroll{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-content:start;align-items:stretch;padding:6px}.ep-big[data-menu=all][data-layout=grouped] .ep-scroll{overflow-y:scroll;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#8E8B84 #F3F2EE}.ep-big[data-menu=all][data-layout=grouped] .ep-scroll::-webkit-scrollbar{-webkit-appearance:none;width:12px}.ep-big[data-menu=all][data-layout=grouped] .ep-scroll::-webkit-scrollbar-track{background:#f3f2ee}.ep-big[data-menu=all][data-layout=grouped] .ep-scroll::-webkit-scrollbar-thumb{background:#8e8b84;border-radius:6px;border:2px solid #F3F2EE}.ep-big .ep-fam{margin:0;min-width:0;background:#fff;border:1px solid #E4E2DC;border-top:3px solid var(--fam-color, #C8C6C0);border-radius:8px;padding:5px 6px 6px}.ep-big .ep-fam-h{font-size:10.5px;letter-spacing:.4px;margin:0 0 4px}.ep-big .ep-grid{display:flex;flex-flow:row wrap;align-items:flex-start;align-content:flex-start;gap:6px 8px}.ep-big .ep-chip{width:auto;max-width:100%;flex:0 0 auto;box-sizing:border-box;font-size:11px;line-height:1.25;padding:1px 5px;min-height:20px;gap:4px;border-radius:5px}.ep-big .ep-chip i{width:7px;height:7px}.ep-big .ep-chip em{margin-left:2px;font-size:10px}.ep-big .ep-chip-x{width:14px;height:14px;font-size:13px}.ep-big .ep-chip span{min-width:0}.ep-big .ep-fam.ep-span,.ep-big .ep-scroll>.ep-span{grid-column:1 / -1}.ep-big .ep-fam.ep-span .ep-grid{display:block;column-count:3;column-gap:10px}.ep-big .ep-fam.ep-span .ep-chip{display:inline-flex;width:auto;max-width:100%;vertical-align:top;break-inside:avoid;margin:0 8px 6px 0}.ep-big[data-layout=az] .ep-scroll{display:block}.ep-big[data-layout=az] .ep-flat{border:0;background:transparent;padding:0}.ep-big[data-layout=az] .ep-flat .ep-grid{display:flex;flex-flow:column nowrap;align-items:stretch;gap:2px}.ep-big[data-layout=az] .ep-chip{width:100%}.ep-big[data-layout=az] .ep-chip em{margin-left:auto}@media (max-width: 760px){.ep-big .ep-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}.ep-big:not([data-layout=az]) .ep-fam.ep-span .ep-grid{column-count:2}}@media (max-width: 520px){.ep-big .ep-scroll{grid-template-columns:1fr}.ep-big:not([data-layout=az]) .ep-fam.ep-span .ep-grid{column-count:1}}.emotions-btns{display:flex}.grid-scroll{position:relative}.grid .fam-bar{position:sticky;top:0;z-index:5}.grid .col-h,.grid .time-h{position:sticky;top:28px;z-index:4}.grid .time-h{z-index:6}.couples-controls-sticky{position:sticky;top:0;z-index:8;background:#f3f2ee;padding:6px 0;flex-wrap:wrap;justify-content:flex-end}.couples-cluster{display:contents}.note.important,.c-note.important,.note.owned.important{box-shadow:0 0 0 2px #f3f2ee,0 0 0 4px #c94a3a,0 0 0 6px #f3f2ee,0 0 0 8px #c94a3a8c;position:relative}.note .imp-badge,.c-note .imp-badge{position:absolute;top:3px;right:3px;font-size:11px;line-height:1;z-index:2;filter:drop-shadow(0 0 1px #fff)}.c-note .imp-badge,.note.owned .imp-badge{right:22px}.note.dimmed,.c-note.dimmed,.note.owned.dimmed,.col-h.dimmed,.fam-bar.dimmed{opacity:.22;filter:grayscale(.4)}.arrow.dimmed,.c-arrow.dimmed{opacity:.15}.important-only-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.arrows{z-index:1}.note,.c-note{z-index:2;background-clip:padding-box}.note.important,.c-note.important,.note.owned.important{z-index:3}.page-break-bar{height:3px;align-self:end;margin-bottom:0;background:#111;border:0;border-radius:1px;z-index:4;pointer-events:auto;cursor:context-menu;position:relative}.page-break-btn{position:relative;z-index:1;width:16px;height:16px;margin-left:4px;border:0;border-radius:4px;background:#2e3138;color:#fff;font-size:11px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}.page-break-btn:hover{background:#111}.section-idx{display:block;font-size:9px;font-weight:700;color:#8a8c93;letter-spacing:.02em;margin-bottom:1px}.show-filter-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 8px;padding:8px 12px;border-radius:8px;background:#fff6e8;border:1px solid #F0D9A8;color:#5a4a28;font-size:12.5px;font-weight:600}.show-filter-banner .btn{margin-left:auto}.ro-banner{display:flex;align-items:center;gap:10px;padding:7px 14px;background:#fdecea;border-bottom:1px solid #F0C2BE;color:#8a2f2c;font-size:12.5px;font-weight:600}.menu-swatch{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 1px #0000001f}.menu-item{display:flex;align-items:center;gap:8px}.tab-short{display:none}@media (max-width: 1099px){.topbar{height:auto;min-height:44px;flex-wrap:wrap;align-items:center;padding:6px 10px;row-gap:6px}.app-name{display:none}.tabs{order:5;flex:1 1 100%;margin-left:0;overflow-x:auto}.tab{flex:0 0 auto}.tab-long{display:none}.tab-short{display:inline}.file-chip{max-width:140px}.file-chip span{display:none}.save-st{min-width:0}.crumb{display:none}.overview{overflow:auto}.page-h,.ov-h{flex-wrap:wrap}.ov-h{display:flex;align-items:center;gap:8px}.ov-h h1,.page-h h1{font-size:18px;margin:0}.page-h .sub,.ov-h .sub{flex-basis:100%}.board{flex-direction:column;overflow:visible}.cat{flex:none;min-height:220px}.goals{min-height:140px}.legend{grid-template-columns:1fr}.cat-grid{display:flex;flex-direction:column;gap:8px}.goal-card-name{font-weight:700;text-align:left}.detail{padding:8px 10px 12px}.detail-h{flex-wrap:wrap}.goal-title{max-width:100%;white-space:normal;letter-spacing:1px;font-size:22px}.detail-actions{flex-wrap:wrap;padding-top:4px;width:100%}.grid-scroll,.rf-board,.overview,.main{-webkit-overflow-scrolling:touch}.rf{padding:8px 10px 12px}.start{align-items:flex-start}.start-card{padding:18px 16px}.start-actions{flex-wrap:wrap}.toast{bottom:max(16px,env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px)}.modal{max-width:calc(100vw - 16px)}}html[data-shell=ios] .topbar{height:auto;min-height:calc(44px + env(safe-area-inset-top,0px));padding-top:calc(6px + env(safe-area-inset-top,0px));flex-wrap:wrap}html[data-shell=ios] .app{padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--keyboard-inset, 0px))}html[data-shell=ios] .modal-back{padding-bottom:var(--keyboard-inset, 0px)}html[data-shell=ios] body{touch-action:pan-x pan-y}html[data-shell=ios] .update-btn{display:none}@media (max-width: 720px){.goals{flex-wrap:wrap;align-content:flex-start}.goal-card{flex:1 1 148px;min-width:148px;min-height:128px}.add-goal{width:36px;min-height:44px}.detail-h .sub{display:none}}.grid.selecting{touch-action:none}@media (max-width: 1099px){.temp-bin-cat{flex:none;max-width:none;min-height:0}.chart-with-bin{flex-direction:column}.temp-bin-rail{width:auto;max-height:220px}.temp-bin-rail-tiles{flex-direction:row;overflow-x:auto}.temp-bin-tile.note{width:200px;flex:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.phone-app{background:#f3f2ee}.phone-body{height:100%;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top,0px)) 20px calc(16px + env(safe-area-inset-bottom,0px));overflow:hidden}.phone-loading{margin:auto;color:#8a8c93}.phone-home{margin:auto 0;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.phone-home h1,.phone-step h1{margin:0;font-size:28px;letter-spacing:-.3px}.phone-lead{margin:0;color:#5c5f66;font-size:16px;line-height:1.4}.phone-record{width:100%;min-height:72px;font-size:22px;font-weight:700;border-radius:16px}.phone-step{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.phone-step-h{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:#8a8c93}.phone-step-h .link{font-size:16px;min-height:44px}.chart-stack{border:1.5px solid #7FB3E8;border-radius:14px;background:#f7faff;padding:8px;display:flex;flex-direction:column;gap:6px;position:relative;z-index:2;width:min(440px,100%);max-width:440px;flex:0 0 auto;box-sizing:border-box;touch-action:none}.chart-stack-nudge{color:#8a8680;font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.chart-stack-add{align-self:stretch;width:100%;margin:0;border:1px solid #C9D8EA;background:#fff;color:#2a3340;border-radius:10px;padding:8px 10px;min-height:44px;font:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center}.chart-stack-add:hover{background:#eef5fc}.stack-add-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1b1959;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px}.stack-add-card{width:min(420px,100%);max-height:min(70vh,640px);overflow:auto;background:#fff;border-radius:16px;padding:16px;box-shadow:0 12px 40px #1c1b192e;display:flex;flex-direction:column;gap:8px}.stack-add-head,.stack-add-family,.stack-add-picked{font-weight:600}.stack-add-family{font-size:12px;color:#6a7180;margin-top:8px}.stack-add-search,.stack-add-message{width:100%;box-sizing:border-box;border:1px solid #D7D4CE;border-radius:10px;padding:8px 10px;font:inherit}.stack-add-option{display:block;width:100%;text-align:left;border:0;background:transparent;font:inherit;padding:8px 4px;cursor:pointer}.stack-add-option:hover{background:#f3f2ee}.stack-add-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}.cell.chart-stack-row{border:none;background:transparent;min-height:0;padding:0;display:block;z-index:1}.chart-stack-row .chart-stack-cards{max-width:440px}.cell.chart-stack-row-note{z-index:3;background:transparent;border:none}.chart-stack-bar{display:flex;align-items:center;gap:8px;min-height:28px}.chart-stack-k{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#3e6f9a}.chart-stack-handle{width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:#e8c46a;box-shadow:0 0 0 1px #c4a24e;padding:0;flex:none;cursor:grab}.chart-stack-handle:active{cursor:grabbing}.chart-stack-toggle{display:inline-flex;border:1px solid #D5D3CE;border-radius:8px;overflow:hidden;background:#fff;flex:none}.chart-stack-toggle button{border:0;background:#fff;min-height:26px;padding:2px 8px;font-size:12px;color:#5c6570}.chart-stack-toggle button.on{background:#2f6fed;color:#fff}.chart-stack-cards{display:flex;flex-direction:column;gap:4px}.chart-stack-card{background:#fff;border:1px solid #E4E2DD;border-radius:10px;padding:8px 10px;text-align:left;cursor:text}.chart-stack-card p{margin:4px 0;white-space:pre-wrap}.chart-stack-card time{color:#8a8c93;font-size:11px}.chart-stack-name{font-size:12px;font-weight:700;letter-spacing:.3px}.chart-stack-arrow{text-align:center;line-height:1;font-size:14px}.detail-actions .chart-stack-toggle{margin-right:4px}.phone-editor-bar{flex:none;position:relative;z-index:2;background:#f3f2ee;min-height:44px}.phone-editor-bar .link{min-width:64px;min-height:44px;padding:0 2px;display:inline-flex;align-items:center;gap:4px}.phone-editor-bar .link:last-child{justify-content:flex-end}.phone-editor-bar .link:disabled{color:#b7b7b7;text-decoration:none}.phone-editor-bar>span{flex:1;text-align:center}.phone-bar-icon{width:14px;height:14px;flex:none;display:block}.phone-field input,.phone-message{width:100%;font-size:16px;border:1px solid #DAD7D0;border-radius:12px;padding:12px 14px;background:#fff;color:#2e3138}.phone-message{min-height:160px;line-height:1.4;resize:none}.phone-add-row{display:flex;gap:8px}.phone-add-row .btn{flex:1;min-height:44px;font-size:14px;white-space:normal}.phone-scroll,.phone-emotions{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.phone-targets{margin:4px 0 12px}.phone-targets h2{margin:0 0 6px;font-size:13px;letter-spacing:.4px;color:#8a8c93;font-weight:700}.phone-target,.phone-emotion,.phone-own{width:100%;min-height:48px;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid #E4E2DD;background:#fff;border-radius:12px;padding:10px 12px;margin:0 0 8px;font-size:16px}.phone-target.on,.phone-emotion.on{border-color:#5e9c8f;background:#f0f6f4;box-shadow:inset 0 0 0 1px #5e9c8f}.phone-no-goal{border-style:dashed}.phone-hint{margin:-6px 2px 0;color:#6a7180;font-size:13px;line-height:1.35}.phone-target em,.phone-emotion em{margin-left:auto;font-style:normal;color:#8a8c93;font-size:12px}.phone-family-h{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin:8px 2px}.phone-emotion i,.phone-saved-e i{width:12px;height:12px;border-radius:50%;display:inline-block;flex:none}.phone-next{width:100%;min-height:52px;font-size:17px;border-radius:14px;flex:none}.phone-saved{justify-content:flex-start;padding-top:12px}.phone-saved-card{background:#fff;border:1px solid #E4E2DD;border-radius:16px;padding:16px}.phone-saved-card p{margin:8px 0 0;font-size:16px;line-height:1.4;white-space:pre-wrap}.phone-saved-k{color:#8a8c93;font-size:13px}.phone-saved-e{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;margin-top:6px}.phone-own{color:#3e6f66}.phone-files{margin:auto 0;max-height:100%;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%}.phone-files .err.box{font-size:15px;line-height:1.4}.phone-files .err.box p{margin:0}.phone-files .err.box .btn{min-height:44px;margin-top:10px}.phone-files h1{text-align:center}.phone-files .logo{align-self:center}.phone-files .phone-lead{text-align:center}.phone-files h2{margin:8px 0 0;font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:#8a8c93}.phone-open{background:#fff}.phone-limit{margin:0;color:#6a7180;font-size:13px;line-height:1.4}.phone-recent{display:flex;align-items:center;gap:8px;text-align:left;background:#fff;border:1px solid #E4E2DD;border-radius:12px;padding:12px;min-height:52px}.phone-recent span{font-weight:700}.phone-recent em{margin-left:auto;font-style:normal;color:#8a8c93;font-size:12px}.phone-recent b{color:#3e6f66;font-size:12px;letter-spacing:.4px}.phone-workspace{flex:1;min-height:0;display:flex;flex-direction:column}.phone-filebar{flex:none;position:relative;z-index:2;display:flex;align-items:flex-start;gap:8px;background:#f3f2ee;padding-bottom:10px}.phone-filebar .phone-filename{font-weight:700;font-size:15px;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-kicker{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#8a8c93;font-weight:700}.phone-chip{min-height:36px;padding:6px 10px;font-size:13px;background:#fff;flex:none}.phone-badge{display:inline-flex;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:9px;background:#c4554a;color:#fff;font-size:11px;align-items:center;justify-content:center}.phone-compose-scroll{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset, 0px));display:flex;flex-direction:column;gap:10px}.phone-compose-scroll>h1{margin:0;font-size:28px;letter-spacing:-.3px}.phone-goal{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:#fff;border:1px solid #E4E2DD;border-radius:12px;padding:10px 14px;font-size:16px}.phone-goal i,.phone-card i,.phone-bin-line i{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.phone-stack{border:1.5px solid #8EB0E8;border-radius:16px;padding:12px;background:#f7faff;display:flex;flex-direction:column;gap:8px}.phone-stack-plain{border:none;background:transparent;padding:0}.phone-stack-k{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#3e6f9a}.phone-card{position:relative;background:#fff;border:1px solid #E4E2DD;border-radius:12px;padding:12px;text-align:left}.phone-card p{margin:6px 0;white-space:pre-wrap}.phone-card time,.phone-card .phone-saved-k{color:#8a8c93;font-size:12px}.phone-card-name{font-weight:700;text-transform:uppercase;letter-spacing:.3px;display:flex;align-items:center}.phone-card-top{display:flex;justify-content:space-between;gap:8px;font-weight:700}.phone-arrow{display:flex;justify-content:center}.phone-add-emotion{min-height:72px;border:1.5px dashed #C5CCD8;border-radius:12px;background:transparent;color:#8a93a3;font-size:16px;display:flex;align-items:center;justify-content:center;gap:8px}.phone-add-emotion span{font-size:22px;font-weight:500}.phone-save,.phone-delete{width:220px;max-width:68%;min-height:52px;margin:18px auto 4px;display:block;align-self:center;border-radius:14px;font-size:17px;font-weight:650}.phone-delete{background:#fff;color:#b42318;border-color:#e7b4b0}.phone-handle{position:absolute;left:8px;top:12px;border:none;background:transparent;color:#8a8c93;letter-spacing:-1px;padding:4px}.phone-card:has(.phone-handle){padding-left:36px}.phone-remove{position:absolute;right:8px;top:8px;border:none;background:transparent;color:#b42318;font-size:18px}.phone-sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e202459;z-index:30;display:flex;align-items:flex-end}.phone-sheet{width:100%;max-height:88%;overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom,0px))}.phone-sheet h1{font-size:22px;margin:4px 0 12px}.phone-grab{width:42px;height:5px;border:none;border-radius:3px;background:#d5d3ce;display:block;margin:6px auto 8px}.phone-target small{display:block;color:#6a7180;font-size:13px;font-weight:400}.phone-target b{font-weight:700}.phone-confirm{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e202473;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px}.phone-confirm-card{background:#fff;border-radius:14px;width:min(100%,320px);overflow:hidden;text-align:center}.phone-confirm-card h2{margin:16px 16px 6px;font-size:17px}.phone-confirm-card p{margin:0 16px 16px;color:#5c5f66}.phone-confirm-card div{display:flex;border-top:1px solid #E4E2DD}.phone-confirm-card button{flex:1;min-height:48px;background:#fff;border:none;font-size:16px;color:#2f6fed}.phone-confirm-card button.danger{color:#c4554a;font-weight:700;border-left:1px solid #E4E2DD}.phone-bin-note,.phone-bin-stack{width:100%;margin-bottom:8px}.phone-bin-stack{text-align:left;background:#fff;border:1px solid #8EB0E8;border-radius:12px;padding:12px}.phone-bin-line{display:flex;align-items:center;margin-top:4px}.phone-note-edit{display:flex;flex-direction:column;gap:8px}@media (hover: none){.arrow-handle{opacity:1}.insert-gap{opacity:.45}.cell.empty-cell .cell-plus,.cell.trailing .cell-plus{opacity:.8}.rf-item .rf-actions{display:inline-flex}.note,.col-h,.grid{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}textarea,input,.note-edit{user-select:text;-webkit-user-select:text}}@media (min-width: 1100px) and (max-width: 1600px){html[data-shell=ios] .overview{overflow:auto}html[data-shell=ios] .board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(260px,1fr);align-content:stretch}html[data-shell=ios] .board>.cat{max-width:none;min-height:260px}}html[data-shell=ios] .rf-item:not(.archived){flex-wrap:wrap;align-items:flex-start}html[data-shell=ios] .rf-item:not(.archived) .rf-body{flex:1 1 calc(100% - 28px);min-width:0}html[data-shell=ios] .rf-item:not(.archived) .rf-actions{display:inline-flex;position:static;transform:none;flex:1 0 100%;justify-content:flex-end;margin-left:16px}@media (min-width: 768px) and (max-width: 1099px){html[data-shell=ios] .couples-controls-sticky{justify-content:flex-start;align-items:center;gap:12px 14px;padding:8px 2px 12px}html[data-shell=ios] .couples-controls-sticky .couples-cluster{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}html[data-shell=ios] .couples-controls-sticky .btn,html[data-shell=ios] .couples-controls-sticky .seg,html[data-shell=ios] .couples-controls-sticky .chk,html[data-shell=ios] .couples-controls-sticky .partner-chip,html[data-shell=ios] .couples-controls-sticky .menu-wrap>button{min-height:40px}html[data-shell=ios] .couples-controls-sticky .seg{align-items:stretch}html[data-shell=ios] .couples-controls-sticky .seg button{min-height:36px;padding:6px 12px}html[data-shell=ios] .couples-controls-sticky .btn.sm{min-height:40px;padding:8px 14px;font-size:13px}html[data-shell=ios] .couples-controls-sticky .menu-wrap>button{min-width:40px}html[data-shell=ios] .couples-controls-sticky .chk{padding:0 2px}html[data-shell=ios] [data-testid=couples-overview] .ov-h{gap:12px 14px;align-items:center}html[data-shell=ios] [data-testid=couples-overview] .ov-h>div:first-child{flex:1 0 100%}html[data-shell=ios] [data-testid=couples-overview] .ov-h .grow{display:none}html[data-shell=ios] [data-testid=couples-overview] .ov-h .btn,html[data-shell=ios] [data-testid=couples-overview] .ov-h .partner-chip{min-height:40px}}
