:root{--font-round:ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--app-bg:#e9edf4;--surface:#fff;--surface-2:#f1f5f9;--hairline:#e3e8ef;--canvas-bg:#fbfaf6;--canvas-dot:#ccd3e0;--paper-bg:#fffdf6;--paper-rule:#ccd8ea;--paper-margin-dot:#ef44446b;--paper-edge:#ece5d5;--ink:#1e293b;--ink-soft:#64748b;--ink-faint:#98a2b3;--accent:#4f46e5;--margin-x:92px;--gutter-x:116px;--hole-size:23px;--hole-gap:min(279px, 46vh);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-round);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=640px){:root{--margin-x:60px;--gutter-x:34px;--hole-size:17px;--hole-gap:min(190px, 38vh)}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--app-bg);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0}button,input{font-family:inherit}button:focus-visible,input:focus-visible,[role=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.segmented{background:var(--surface-2);border:1px solid var(--hairline);border-radius:999px;flex:none;gap:2px;padding:3px;display:inline-flex}.segmented button{height:30px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.segmented button svg{width:17px;height:17px}.segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0f172a24}.segmented--sm button{height:26px;padding:0 10px;font-size:12.5px}.mappicker{z-index:40;border:1px solid var(--hairline);background:var(--surface);text-align:left;border-radius:12px;width:max-content;min-width:210px;max-width:min(340px,100vw - 24px);padding:6px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a33}.mappicker__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:2px 8px 6px;font-size:11px;font-weight:700}.mappicker__list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.mappicker__list button{width:100%;min-height:32px;color:var(--ink);text-align:left;overflow-wrap:break-word;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 9px;font-size:13.5px;line-height:1.35;display:block}.mappicker__list button:hover{background:var(--surface-2)}.mappicker__empty{color:var(--ink-faint);margin:0 8px 6px;font-size:12.5px;line-height:1.45}.mappicker__footer{border:none;border-top:1px solid var(--hairline);width:100%;height:32px;color:var(--ink-soft);text-align:left;cursor:pointer;background:0 0;margin-top:4px;padding:0 9px;font-size:13px;font-weight:600;display:block}.mappicker__footer:hover{background:var(--surface-2);color:var(--ink)}.colorpicker{z-index:40;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;width:max-content;padding:8px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a33}.colorpicker__swatches{grid-template-columns:repeat(7,26px);gap:6px;display:grid}.colorpicker__swatch{cursor:pointer;border:2px solid #0000;border-radius:8px;width:26px;height:26px;padding:0}.colorpicker__swatch.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 2px #fff}.colorpicker__auto{border:1px solid var(--hairline);width:100%;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;margin-top:7px;font-family:inherit;font-size:12.5px;font-weight:600}.colorpicker__auto.is-active{border-color:var(--ink);color:var(--ink)}.colorpicker__auto:hover{background:var(--surface-2);color:var(--ink)}.titlefield{flex:auto;min-width:40px;display:block;position:relative}.titlefield__input,.titlefield__mirror{box-sizing:border-box;width:100%;font:inherit;font-family:var(--font-round);letter-spacing:inherit;line-height:inherit;text-align:inherit;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;border:none;margin:0;padding:0}.titlefield__input{color:inherit;resize:none;background:0 0;outline:none;display:block;position:relative;overflow:hidden}.titlefield__input::placeholder{color:#b6bdc9}.titlefield__mirror{color:#0000;pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.titlefield__mirror mark{color:#0000;background:var(--search-hit,#fde68a);border-radius:3px}.iconpicker{z-index:40;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;width:max-content;max-width:min(320px,100vw - 24px);padding:8px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a33}.iconpicker__search{border:1px solid var(--hairline);background:var(--surface);height:30px;color:var(--ink-faint);border-radius:999px;align-items:center;gap:6px;margin-bottom:8px;padding:0 10px;display:flex}.iconpicker__search svg{flex:none;width:14px;height:14px}.iconpicker__search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:none;outline:none;font-family:inherit;font-size:13px}.iconpicker__scroll{max-height:248px;overflow-y:auto}.iconpicker__group+.iconpicker__group{margin-top:8px}.iconpicker__heading{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 4px 2px;font-size:10.5px;font-weight:700}.iconpicker__empty{color:var(--ink-faint);margin:6px 2px;font-size:12.5px}.iconpicker__grid{grid-template-columns:repeat(8,30px);gap:3px;display:grid}.iconpicker__cell{width:30px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;place-items:center;padding:0;display:grid}.iconpicker__cell:hover{background:var(--surface-2)}.iconpicker__cell.is-active{border-color:var(--ink);background:var(--surface-2)}.iconpicker__none{border:1px solid var(--hairline);width:100%;height:28px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:8px;margin-top:7px;font-family:inherit;font-size:12.5px;font-weight:600}.iconpicker__none.is-active{border-color:var(--ink);color:var(--ink)}.iconpicker__none:hover{background:var(--surface-2);color:var(--ink)}@media (width<=420px){.iconpicker__grid{grid-template-columns:repeat(6,30px)}}.confirm{z-index:100;background:#0f172a61;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm__panel{background:var(--surface);border-radius:16px;width:min(420px,100%);max-height:calc(100vh - 32px);padding:20px;overflow-y:auto;box-shadow:0 24px 60px #0f172a52}.confirm__title{color:var(--ink);margin:0 0 10px;font-size:17px;font-weight:700}.confirm__body{color:var(--ink-soft);margin:0 0 10px;font-size:13.5px;line-height:1.5}.confirm__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.confirm__actions button{border:1px solid var(--hairline);background:var(--surface);height:36px;color:var(--ink-soft);cursor:pointer;border-radius:10px;padding:0 16px;font-family:inherit;font-size:13.5px;font-weight:600}.confirm__cancel:hover{background:var(--surface-2);color:var(--ink)}.confirm__go{background:var(--accent);color:#fff;border-color:#0000}.confirm__go.is-danger{background:#b91c1c}@media (width<=480px){.confirm__actions{flex-direction:column-reverse}.confirm__actions button{width:100%}}.importchoice{flex-direction:column;gap:8px;margin-top:14px;display:flex}.importchoice__option{border:1px solid var(--hairline);background:var(--surface);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;gap:3px;width:100%;padding:11px 13px;display:flex}.importchoice__option:hover{border-color:var(--accent);background:var(--surface-2)}.importchoice__option.is-danger:hover{background:#fef2f2;border-color:#b91c1c}.importchoice__name{color:var(--ink);font-family:inherit;font-size:14px;font-weight:700}.importchoice__hint{color:var(--ink-soft);font-family:inherit;font-size:12.5px;line-height:1.45}.mapview{background:var(--canvas-bg);touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.mapview__canvas{font-family:var(--font-round);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.mapview__canvas.is-dragging{cursor:grabbing}.mapview__dot{fill:var(--canvas-dot)}.map-node{cursor:pointer}.map-node__frame{filter:drop-shadow(0 2px 3px #0f172a17)}.map-node__icon{dominant-baseline:alphabetic;-webkit-user-select:none;user-select:none}.map-node text{-webkit-user-select:none;user-select:none;paint-order:stroke}.map-node__text.is-done{text-decoration:line-through;text-decoration-thickness:1.5px}.map-node__checkbox,.map-node__toggle{cursor:pointer}.map-node__toggle:hover circle{fill:#f8fafc}.map-node__droptarget{fill:none;stroke:var(--ink);stroke-width:2.5px;stroke-dasharray:7 5;opacity:.6}.map-node.is-dimmed{opacity:.92}.mapview__drag{pointer-events:none;filter:drop-shadow(0 8px 14px #0f172a38)}.connector{pointer-events:none}.connector.is-filtered{opacity:.15}.map-editor{z-index:5;box-sizing:border-box;border:2px solid var(--accent);color:var(--ink);font-family:var(--font-round);text-align:center;background:#fff;border-radius:14px;align-items:center;padding:6px 12px;font-weight:600;line-height:1.3;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0f172a2e}.map-actions{z-index:4;border:1px solid var(--hairline);background:#fff;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:2px;max-width:calc(100vw - 24px);padding:4px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 24px #0f172a29}.map-actions>button{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;display:grid}.map-actions>button:hover,.map-actions>button.is-active{background:var(--surface-2);color:var(--ink)}.map-actions__menu{z-index:40;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;min-width:200px;max-width:min(280px,100vw - 24px);padding:5px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0f172a33}.map-actions__menu button{width:100%;height:34px;color:var(--ink);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:0 9px;font-family:inherit;font-size:13.5px;font-weight:500;display:flex}.map-actions__menu button:hover{background:var(--surface-2)}.map-actions__menu button svg{width:16px;height:16px;color:var(--ink-soft);flex:none}.map-actions__menu button.is-danger:hover{color:#b91c1c;background:#fee2e2}.map-actions__menu button.is-danger:hover svg{color:#b91c1c}.map-actions>button.is-danger:hover{color:#b91c1c;background:#fee2e2}.map-actions>button svg{width:19px;height:19px}.map-actions>button svg.is-flipped{transform:rotate(-90deg)}.mapview__zoom{z-index:3;border:1px solid var(--hairline);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffeb;border-radius:14px;flex-direction:column;gap:4px;padding:4px;display:flex;position:absolute;bottom:14px;right:14px;box-shadow:0 6px 18px #0f172a1f}.mapview__zoom button{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;display:grid}.mapview__zoom button:hover{background:var(--surface-2);color:var(--ink)}.mapview__zoom svg{width:20px;height:20px}.mapview__empty{text-align:center;color:var(--ink-soft);pointer-events:none;flex-direction:column;align-items:center;gap:10px;padding:0 24px;display:flex;position:absolute;inset:50% 0 0;transform:translateY(-50%)}.mapview__empty p{color:var(--ink);margin:0;font-size:17px;font-weight:600}.mapview__empty span{max-width:320px;font-size:12.5px;line-height:1.5}.mapview__empty button{pointer-events:auto;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:600}.mapview__zone{fill:#4f46e51a;stroke:#4f46e559;stroke-width:1px;stroke-dasharray:4 4}.mapview__zone.is-active{fill:#4f46e54d;stroke:var(--accent);stroke-width:2px;stroke-dasharray:none}.mapview__zone-label{fill:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.map-node.is-filtered{opacity:.22}.thread-node__text{paint-order:stroke;stroke:var(--canvas-bg);stroke-width:3.5px;stroke-linejoin:round}.thread-node__text.is-done{stroke-width:0;text-decoration:line-through;text-decoration-thickness:1.5px}.thread-node__progress{paint-order:stroke;stroke:var(--canvas-bg);stroke-width:3px}.thread-node__selection{opacity:.14}.thread-node{filter:none}.todo{background:var(--paper-bg);flex-direction:column;height:100%;min-height:0;display:flex}.todo__bar{padding:10px 16px 10px var(--margin-x);background:var(--paper-bg);border-bottom:1px solid var(--paper-edge);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.todo__title{min-width:0;font-family:var(--font-round);color:var(--ink);background:0 0;border:none;outline:none;flex:180px;padding:2px 0;font-size:19px;font-weight:700}.todo__meta{align-items:center;gap:10px;display:flex}.todo__count{color:var(--ink-soft);white-space:nowrap;font-size:12.5px}.paper{background:var(--paper-bg);flex:auto;min-height:0;position:relative}.paper__sheet{height:100%;padding:0 18px 120px calc(var(--margin-x) + var(--gutter-x));background-attachment:local;background-image:radial-gradient(circle at 1px 1px, var(--paper-margin-dot) 1.4px, transparent 1.5px), radial-gradient(circle at 1px 1px, var(--paper-rule) 1.2px, transparent 1.3px);background-size:14px 32px,14px 32px;background-position:calc(var(--margin-x) + var(--gutter-x) - 13px) 30px, 0 30px;background-repeat:repeat-y,repeat;scroll-padding-block:48px;overflow:hidden auto}.paper__holes{width:var(--margin-x);justify-content:center;align-items:center;gap:var(--hole-gap);pointer-events:none;z-index:2;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0}.paper__hole{width:var(--hole-size);height:var(--hole-size);background:var(--app-bg);border-radius:50%;box-shadow:inset 0 1.5px 2px #0f172a4d,0 0 0 1px #0f172a0f}.todo-group{display:block}.todo-row{box-sizing:border-box;min-height:32px;position:relative}.todo-row__content{align-items:center;gap:7px;min-height:32px;display:flex}.todo-row__rail{background:var(--branch-ink,var(--ink-soft));opacity:.8;border-radius:2px;flex:0 0 3px;height:18px}.todo-row__disclosure{width:20px;height:20px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:0 0 20px;place-items:center;padding:0;display:grid}.todo-row__disclosure svg{width:15px;height:15px;transition:transform .12s}.todo-row__disclosure.is-collapsed svg{transform:rotate(-90deg)}.todo-row__disclosure.is-empty{cursor:default}.todo-row__disclosure:hover:not(.is-empty){color:var(--ink);background:#0f172a0f}.todo-check{border:2px solid var(--branch-ink,var(--ink-soft));color:#0000;cursor:pointer;background:0 0;border-radius:6px;flex:0 0 20px;place-items:center;width:20px;height:20px;padding:0;display:grid}.todo-check svg{width:15px;height:15px}.todo-check.is-checked{background:var(--branch-ink,var(--ink-soft));color:#fff}.todo-folder{color:var(--branch-ink,var(--ink-soft));cursor:pointer;-webkit-user-select:none;user-select:none;flex:0 0 20px;place-items:center;display:grid}.todo-folder svg{width:18px;height:18px}.todo-row--link .todo-folder svg{width:16px;height:16px}.todo-row__icon{width:18px;height:18px;color:var(--branch-ink,var(--ink-soft));flex:none;place-items:center;display:grid}.todo-row__input{min-width:40px;color:var(--ink);flex:auto;font-size:15px;line-height:32px}.todo-row--category .todo-row__input{color:var(--branch-ink,var(--ink));font-size:15.5px;font-weight:700}.todo-row__content{align-items:flex-start}.todo-row__content>.todo-row__rail,.todo-row__content>.todo-row__disclosure,.todo-row__content>.todo-check,.todo-row__content>.todo-folder,.todo-row__content>.todo-row__icon,.todo-row__content>.todo-row__progress{flex:none;margin-top:6px}.todo-row.is-done .todo-row__input{color:var(--ink-faint);text-decoration:line-through;text-decoration-thickness:1.5px}.todo-row__progress{color:var(--ink-soft);background:var(--branch-wash,var(--surface-2));border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:600}.todo-row__actions{left:calc(-1 * var(--gutter-x));width:var(--gutter-x);opacity:.4;justify-content:flex-end;align-items:center;gap:1px;height:32px;padding-right:8px;transition:opacity .12s;display:flex;position:absolute;top:0}.todo-row:hover .todo-row__actions,.todo-row:focus-within .todo-row__actions,.todo-row__actions.is-open{opacity:1}.todo-row__actions .colorpicker,.todo-row__actions .iconpicker,.todo-row__actions .mappicker,.todo-row__menu{left:0;right:auto;transform:none}.todo-row__menu{z-index:40;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;min-width:210px;max-width:min(280px,100vw - 24px);padding:5px;position:absolute;top:calc(100% + 6px);box-shadow:0 12px 30px #0f172a33}.todo-row__menu button{width:100%;height:34px;color:var(--ink);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:0 9px;font-family:inherit;font-size:13.5px;font-weight:500;display:flex}.todo-row__menu button:hover{background:var(--surface-2)}.todo-row__menu button svg{width:16px;height:16px;color:var(--ink-soft);flex:none}.todo-row__menu button.is-danger:hover{color:#b91c1c;background:#fee2e2}.todo-row__menu button.is-danger:hover svg{color:#b91c1c}.todo-row__actions>button{width:26px;height:26px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;place-items:center;padding:0;display:grid}.todo-row__actions>button:hover{color:var(--ink);background:#0f172a12}.todo-row__actions>button.is-danger:hover{color:#b91c1c;background:#fee2e2}.todo-row__actions>button svg{width:15px;height:15px}.paper__sheet.is-flat{background-image:radial-gradient(circle at 1px 1px, var(--paper-margin-dot) 1.4px, transparent 1.5px);background-repeat:repeat-y;background-size:14px 32px}.todo-row--flat{background-image:radial-gradient(circle at 1px calc(100% - 2px), var(--paper-rule) 1.2px, transparent 1.3px);background-repeat:repeat-x;background-size:14px 100%;padding-bottom:6px}.todo-flat__text{flex-direction:column;flex:auto;min-width:0;display:flex}.todo-flat__path{color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:17px;overflow:hidden}.todo__add{height:32px;color:var(--ink-soft);font-family:var(--font-round);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;margin-top:4px;padding:0 12px 0 6px;font-size:14px;font-weight:600;display:inline-flex}.todo__add:hover{color:var(--ink);background:#0f172a0f}.todo__add svg{width:16px;height:16px}.todo__empty{color:var(--ink-faint);margin:8px 0;font-size:13.5px;line-height:32px}.mapswitcher{flex:0 auto;min-width:0;position:relative}.mapswitcher__trigger{border:1px solid var(--hairline);background:var(--surface);max-width:260px;height:32px;color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:7px;padding:0 8px 0 10px;font-size:14px;font-weight:700;display:flex}.mapswitcher__trigger:hover{background:var(--surface-2)}.mapswitcher__trigger svg{width:17px;height:17px;color:var(--ink-soft);flex:none}.mapswitcher__trigger svg.is-open{transform:rotate(180deg)}.mapswitcher__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mapswitcher__menu{z-index:30;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;min-width:240px;max-width:min(320px,100vw - 24px);padding:5px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #0f172a2e}.mapswitcher__list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.mapswitcher__list li{border-radius:8px;align-items:center;gap:2px;display:flex}.mapswitcher__list li:hover{background:var(--surface-2)}.mapswitcher__item{min-width:0;height:34px;color:var(--ink);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:auto;align-items:center;gap:8px;padding:0 8px;font-size:14px;display:flex;overflow:hidden}.mapswitcher__bullet{border:1.5px solid var(--ink-faint);background:0 0;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.mapswitcher__list li.is-active .mapswitcher__item{font-weight:700}.mapswitcher__list li.is-active .mapswitcher__bullet{background:var(--accent);border-color:var(--accent)}.mapswitcher__delete{min-width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;place-items:center;padding:0 6px;font-size:11.5px;font-weight:700;display:grid}.mapswitcher__delete:hover,.mapswitcher__delete.is-confirming{color:#b91c1c;background:#fee2e2}.mapswitcher__delete svg{width:15px;height:15px}.mapswitcher__new{border:none;border-top:1px solid var(--hairline);width:100%;height:34px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:0 0 8px 8px;align-items:center;gap:7px;margin-top:4px;padding:0 10px;font-size:13.5px;font-weight:600;display:flex}.mapswitcher__new:hover{background:var(--surface-2);color:var(--ink)}.mapswitcher__new svg{width:16px;height:16px}.mapswitcher__rename{background:var(--surface-2);min-width:0;height:34px;color:var(--ink);outline:2px solid var(--accent);outline-offset:-2px;border:none;border-radius:8px;flex:auto;padding:0 8px 0 23px;font-family:inherit;font-size:14px;font-weight:700}.mapswitcher__rename-button{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:none;place-items:center;display:grid}.mapswitcher__rename-button:hover{color:var(--ink);background:#0f172a14}.mapswitcher__rename-button svg{width:15px;height:15px}.filterbar{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.filterbar__toggle{border:1px solid var(--hairline);background:var(--surface);height:32px;color:var(--ink-soft);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:none}.filterbar__toggle svg{width:16px;height:16px}.filterbar__toggle.is-active{color:var(--accent);border-color:var(--accent)}.filterbar__dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.filterbar__controls{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.filterbar__search{border:1px solid var(--hairline);background:var(--surface);height:30px;color:var(--ink-faint);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:flex}.filterbar__search svg{flex:none;width:15px;height:15px}.filterbar__search input{width:130px;max-width:40vw;color:var(--ink);background:0 0;border:none;outline:none;font-size:13px}.filterbar__search-clear{width:20px;height:20px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.filterbar__search-clear:hover{background:var(--surface-2);color:var(--ink)}.filterbar__search-clear svg{width:12px;height:12px}.filterbar__branches{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.filterbar__chip{border:1px solid var(--hairline);background:var(--surface);max-width:150px;height:30px;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:600;display:inline-flex;overflow:hidden}.filterbar__chip.is-on{border-color:var(--chip-ink,var(--accent));color:var(--chip-ink,var(--accent));background:color-mix(in srgb, var(--chip-ink,var(--accent)) 10%, #fff)}.filterbar__swatch{background:var(--chip-ink,var(--ink-faint));border-radius:50%;flex:none;width:8px;height:8px}.filterbar__clear{height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.filterbar__clear:hover{background:var(--surface-2);color:var(--ink)}.filterbar__clear svg{width:14px;height:14px}@media (width<=860px){.filterbar__toggle{display:inline-flex}.filterbar__controls{display:none}.filterbar.is-open{flex-wrap:wrap;flex-basis:100%}.filterbar.is-open .filterbar__controls{flex-basis:100%;padding-top:2px;display:flex}}.appmenu{position:relative}.appmenu__menu{z-index:40;border:1px solid var(--hairline);background:var(--surface);border-radius:12px;min-width:200px;padding:5px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 30px #0f172a33}.appmenu__menu button{width:100%;height:34px;color:var(--ink);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:9px;padding:0 9px;font-family:inherit;font-size:13.5px;font-weight:500;display:flex}.appmenu__menu button:hover{background:var(--surface-2)}.appmenu__menu button svg{width:16px;height:16px;color:var(--ink-soft);flex:none}.app{background:var(--app-bg);flex-direction:column;height:100%;min-height:0;display:flex}.app__bar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--hairline);z-index:10;flex:none;align-items:center;gap:10px;display:flex;box-shadow:0 1px 2px #0f172a0a}.app__brand{letter-spacing:-.01em;color:var(--ink);flex:1 1 0;align-items:center;gap:7px;min-width:0;font-size:16px;font-weight:800;display:flex}.app__logo{flex:none;width:24px;height:24px}.app__tools{flex:1 1 0;justify-content:flex-end;align-items:center;gap:6px;display:flex}.app__views{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.app__icon-button{border:1px solid var(--hairline);background:var(--surface);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:10px;place-items:center;display:grid}.app__icon-button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.app__icon-button:disabled{opacity:.4;cursor:default}.app__icon-button.is-active{border-color:var(--accent);color:var(--accent)}.app__icon-button svg{width:18px;height:18px}.app__body{flex:auto;min-height:0;position:relative}@media (width<=720px){.app__brand span{display:none}}@media (width<=560px){.app__bar{flex-wrap:wrap;row-gap:6px}.app__brand{flex:none}.app__tools{flex:auto}.app__views{flex:1 0 100%;order:3;justify-content:center}}@media (width<=420px){.app__views .segmented button span{display:none}}.app__subbar{background:var(--surface);border-bottom:1px solid var(--hairline);flex-wrap:wrap;flex:none;align-items:center;gap:8px;padding:7px 12px;display:flex}.app__subbar-spacer{flex:auto}.app__subbar-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.app__subbar-actions .app__icon-button{width:32px;height:32px}
