.op-nib-body{transition:fill .4s cubic-bezier(.22,1,.36,1),stroke .4s cubic-bezier(.22,1,.36,1)}.op-nib-eye{transform-box:fill-box;transform-origin:50% 50%;transition:transform .08s}.op-nib-eyes[data-shut] .op-nib-eye{transform:scaleY(.1)}.op-nib-pupil{transition:cx .18s cubic-bezier(.22,1,.36,1),cy .18s cubic-bezier(.22,1,.36,1)}.op-tabnibs{position:fixed;inset:0;z-index:51;pointer-events:none}.op-tabnib{position:absolute;height:34px}.op-tabnib>*,.op-tabnib-move>*,.op-tabnib-bob>*{position:absolute}.op-tabnib-svg{display:block;overflow:visible;filter:drop-shadow(0 0 .7px #fff) drop-shadow(0 1px 1.5px rgba(14,14,18,.25))}.op-tabnib-move,.op-tabnib-spin,.op-tabnib-flip,.op-tabnib-bob{display:block;width:26px;height:28px}.op-tabnib[data-phase=write] .op-tabnib-line{left:12px;top:27px;height:2px;width:0;border-radius:1px;background:var(--nib);animation:op-tabnib-line 2.8s linear infinite}.op-tabnib[data-phase=write] .op-tabnib-move{left:6px;top:21px;animation:op-tabnib-write 2.8s infinite}.op-tabnib-spin{transform-origin:4px 6px;animation:op-tabnib-spin 2.8s ease-in-out infinite}.op-tabnib-wiggle{transform-origin:4px 6px;animation:op-tabnib-wiggle .24s ease-in-out infinite alternate}@keyframes op-tabnib-line{0%{width:0;opacity:1}75%{width:calc(var(--w) - 30px);opacity:1}88%,to{width:calc(var(--w) - 30px);opacity:0}}@keyframes op-tabnib-write{0%{translate:0 0;animation-timing-function:linear}75%{translate:calc(var(--w) - 30px) 0;animation-timing-function:ease-out}82%{translate:calc(var(--w) - 38px) 6px;animation-timing-function:ease-in-out}91%{translate:calc((var(--w) - 30px) * .35) 10px;animation-timing-function:ease-out}to{translate:0 0}}@keyframes op-tabnib-spin{0%,75%{rotate:0deg}86%,to{rotate:-360deg}}@keyframes op-tabnib-wiggle{0%{rotate:-8deg}to{rotate:10deg}}.op-tabnib[data-phase=carry] .op-tabnib-move{left:10px;top:18px;height:38px;animation:op-tabnib-carry 3.6s ease-in-out infinite}.op-tabnib-flip{height:38px;transform-origin:13px 50%;animation:op-tabnib-flip 3.6s infinite}.op-tabnib-bob{height:38px;animation:op-tabnib-bob .3s ease-in-out infinite alternate}.op-tabnib-bob .op-tabnib-svg{top:8px}.op-tabnib-block{left:1px;top:0;width:12px;height:9px;box-sizing:border-box;border:1.2px solid #2f4bff;border-radius:2px;background:#dde2ff;transform-origin:50% 100%;animation:op-tabnib-teeter .6s ease-in-out infinite alternate;filter:drop-shadow(0 0 .7px #fff)}@keyframes op-tabnib-carry{0%{translate:0 0}42%,50%{translate:calc(var(--w) - 44px) 0}92%,to{translate:0 0}}@keyframes op-tabnib-flip{0%,43%{scale:1 1}48%,93%{scale:-1 1}98%,to{scale:1 1}}@keyframes op-tabnib-bob{to{translate:0 -2px}}@keyframes op-tabnib-teeter{0%{rotate:-6deg}to{rotate:6deg}}.op-tabnib[data-phase=check] .op-tabnib-move{left:6px;top:8px;width:34px;height:40px;animation:op-tabnib-check 3.6s ease-in-out infinite}.op-tabnib[data-phase=check] .op-tabnib-svg{left:8px;top:8px;transform-origin:4px 6px;animation:op-tabnib-nod 3.6s ease-in-out infinite}.op-tabnib-lens{left:0;top:0;transform-origin:7px 7px;filter:drop-shadow(0 0 .7px #fff);animation:op-tabnib-lens 3.6s ease-in-out infinite}@keyframes op-tabnib-check{0%{translate:0 0}19%,36%{translate:calc((var(--w) - 50px) * .4) 0}56%,78%{translate:calc(var(--w) - 50px) 0}97%,to{translate:0 0}}@keyframes op-tabnib-lens{0%,22%,36%,58%,72%,to{scale:1}28%,33%,64%,69%{scale:1.45}}@keyframes op-tabnib-nod{0%,22%,36%,71%,82%,to{rotate:0deg}26%,33%{rotate:-10deg}74%,79%{rotate:12deg}}.op-tabnib-swing{left:calc(var(--w) * .45);top:21px;transform-origin:4.6px 6.5px;animation:op-tabnib-swing 1.2s ease-in-out infinite alternate}.op-tabnib-thought{left:calc(var(--w) * .45 + 29px);top:38px;width:26px;height:16px;animation:op-tabnib-float 1.2s ease-in-out infinite alternate}.op-tabnib-thought svg{display:block}.op-tabnib-thought i{position:absolute;top:8px;width:2.6px;height:2.6px;border-radius:50%;background:#0e0e12;opacity:.2;animation:op-tabnib-dot 2.4s ease-in-out infinite}.op-tabnib-thought i:nth-of-type(1){left:7px}.op-tabnib-thought i:nth-of-type(2){left:11.7px;animation-delay:.3s}.op-tabnib-thought i:nth-of-type(3){left:16.4px;animation-delay:.6s}@keyframes op-tabnib-swing{0%{rotate:-16deg}to{rotate:14deg}}@keyframes op-tabnib-float{to{translate:0 -1.5px}}@keyframes op-tabnib-dot{8%{opacity:1}0%,30%,to{opacity:.2}}.op-tabnib-hang{left:calc(var(--w) - 20px);top:23px;transform-origin:13px 14px;rotate:180deg}.op-tabnib-tada{animation:op-tabnib-tada 1.3s ease-in-out both}.op-tabnib-confetti{left:calc(var(--w) - 14px);top:44px}.op-tabnib-confetti i{position:absolute;width:3px;height:2px;border-radius:1px;opacity:0;animation:op-tabnib-pop .8s ease-out .4s both}.op-tabnib-confetti i:nth-child(2n){width:2.4px;height:2.4px;border-radius:50%}.op-tabnib-confetti i:nth-child(1){--to: -22px -4px}.op-tabnib-confetti i:nth-child(2){--to: -14px 14px}.op-tabnib-confetti i:nth-child(3){--to: 4px 20px}.op-tabnib-confetti i:nth-child(4){--to: 22px 14px}.op-tabnib-confetti i:nth-child(5){--to: 26px -2px}.op-tabnib-confetti i:nth-child(6){--to: -26px 10px}@keyframes op-tabnib-tada{0%{translate:-6px -1px;rotate:0deg;scale:1}14%{translate:-6px -1px;rotate:0deg;scale:1.15 .82}42%{translate:-4px 20px;scale:1.3}88%{translate:0 0;rotate:540deg;scale:1}94%{rotate:528deg}to{translate:0 0;rotate:540deg;scale:1}}@keyframes op-tabnib-pop{0%{opacity:1;translate:0 0;rotate:0deg}to{opacity:0;translate:var(--to);rotate:240deg}}.op-tabnib-sway{animation:op-tabnib-sway 5s ease-in-out infinite}.op-tabnib-blink{transform-box:fill-box;transform-origin:center;animation:op-tabnib-blink 5s infinite}@keyframes op-tabnib-sway{0%,to{rotate:174deg}25%{rotate:186deg}50%{rotate:174deg}66%{rotate:180deg}68.4%,73.2%{rotate:194deg}70.8%,75.6%{rotate:168deg}78%{rotate:180deg}}@keyframes op-tabnib-blink{0%,36%,39.6%,88%,91.6%,to{scale:1 1}37.6%,89.6%{scale:1 .1}}.op-tabnib-bye{animation:op-tabnib-bye 1.4s ease-in-out both}@keyframes op-tabnib-bye{0%{rotate:180deg;translate:0 0;opacity:1}25%{rotate:360deg;translate:0 6px}34%{rotate:348deg}42%{rotate:372deg}50%{rotate:348deg}58%{rotate:372deg}66%{rotate:360deg;translate:0 6px;opacity:1;animation-timing-function:ease-in}to{rotate:360deg;translate:0 40px;opacity:0}}@media(prefers-reduced-motion:reduce){.op-tabnib *,.op-tabnib-line{animation:none!important}.op-tabnib[data-phase=write] .op-tabnib-line{width:calc(var(--w) - 30px)}.op-tabnib-tada,.op-tabnib-bye{rotate:180deg}.op-tabnib-confetti{display:none}}.op-app-shell{display:flex;flex-direction:column;height:100%}.op-app-shell>.op-app-body{flex:1;min-height:0}.op-app-shell[data-floating]{position:relative}.op-app-shell[data-floating]>.op-app-body{height:100%}.op-tabbar{position:absolute;top:12px;left:12px;z-index:50;display:flex;align-items:center;gap:2px;height:46px;max-width:calc(100% - 24px);padding:0 6px;border-radius:23px;background:var(--island-bg);box-shadow:var(--island-shadow);-webkit-app-region:drag;user-select:none}.op-app-shell{--bar-left-w: 232px;--bar-right-w: 300px}.op-app-shell[data-route=file]{--bar-left-w: 264px}.op-app-shell[data-route=dashboard]{--bar-right-w: 340px}.op-tabbar.op-tabbar-left{width:var(--bar-left-w);max-width:none;box-sizing:border-box}.op-tabbar-left .op-tabbar-drag,.op-tabbar:not([data-desktop]).op-tabbar-left .op-tabbar-drag{display:block;flex:1 1 auto;min-width:6px}.op-tabbar.op-tabbar-center{left:50%;transform:translate(-50%);max-width:calc(100% - 2 * (var(--bar-right-w) + 36px));-webkit-app-region:drag}.op-tabbar-center .op-tabs-scroll{position:relative}.op-tabbar-center .op-tab{flex-shrink:0}.op-tab.op-tab-out{position:absolute;left:0;visibility:hidden;pointer-events:none}.op-tab-more{flex:none;height:28px;padding:0 10px;margin:0 2px;border-radius:14px;background:var(--island-hover);color:var(--panel-text);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.op-tab-more:hover{background:var(--panel-border)}.op-tabbar[data-desktop=darwin]{padding-left:78px}.op-tabbar[data-strip]{position:static;max-width:none;height:40px;border-radius:0;background:var(--canvas-bg);box-shadow:inset 0 -1px 0 var(--panel-border);flex-shrink:0}.op-tabbar[data-strip][data-desktop=darwin]{height:52px;padding-left:80px}.op-tabbar>*,.op-tabs-scroll>*{-webkit-app-region:no-drag}.op-tabbar-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:17px;color:var(--panel-text-2);flex-shrink:0}.op-tabbar-btn:hover,.op-tabbar-btn[data-active]{background:var(--island-hover);color:var(--panel-text)}.op-tabbar-menu{display:flex;align-items:center;gap:3px;width:auto;padding:0 8px 0 10px;color:var(--panel-text)}.op-tabbar-menu svg:last-child{color:var(--panel-text-3)}.op-tabbar-nib{position:relative;display:grid;margin:0 -2px 0 -4px}.op-tabbar-menu .op-nib{transition:transform .18s}.op-tabbar-nib[data-saving] .op-nib{transform:rotate(-12deg) translateY(-1px)}.op-nib-line{position:absolute;left:2px;bottom:0}.op-nib-line path{stroke-dasharray:34;stroke-dashoffset:34;animation:op-nib-draw .8s ease-out infinite}@keyframes op-nib-draw{70%,to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.op-nib-line path{animation:none;stroke-dashoffset:0}}.op-tabbar-menu:hover .op-nib,.op-tabbar-menu[data-active] .op-nib{transform:rotate(-8deg) translateY(-1px)}.op-tabs-scroll{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden;flex:0 1 auto}.op-tab{display:flex;align-items:center;gap:7px;height:34px;min-width:72px;max-width:220px;padding:0 7px 0 12px;border-radius:17px;color:var(--panel-text-2);font-size:13px;font-weight:500;cursor:default;flex:0 1 auto}.op-tab:hover{background:var(--island-hover);color:var(--panel-text)}.op-tab[data-active]{background:var(--chip-ink-bg);color:var(--chip-ink-text);font-weight:600}.op-tab-home{flex:0 0 auto;min-width:0;padding-right:12px}.op-tab-divider{width:1px;height:18px;background:var(--panel-border);margin:0 4px;flex-shrink:0}.op-tab-icon{flex-shrink:0;opacity:.8}.op-tab[data-active] .op-tab-icon-wrap{display:none}.op-tab-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}.op-tab-close{display:grid;place-items:center;width:20px;height:20px;border-radius:10px;opacity:0;flex-shrink:0}.op-tab:hover .op-tab-close,.op-tab[data-active] .op-tab-close{opacity:.75}.op-tab-close:hover{background:#7f7f7f38;opacity:1}.op-tab-new{margin-left:2px}.op-tabbar-drag{flex:0 0 10px;align-self:stretch;-webkit-app-region:drag}.op-tabbar[data-strip] .op-tabbar-drag{flex:1;min-width:24px}.op-tabbar:not([data-desktop]) .op-tabbar-drag{display:none}.op-winctl{display:flex;align-items:center;gap:2px}.op-winctl>button{display:grid;place-items:center;width:36px;height:34px;border-radius:17px;color:var(--panel-text-2)}.op-winctl>button:hover{background:var(--island-hover);color:var(--panel-text)}.op-winctl>.op-winctl-close:hover{background:#e5484d;color:#fff}.op-winctl-island{position:absolute;top:12px;right:12px;z-index:50;display:flex;align-items:center;height:46px;padding:0 6px;border-radius:23px;background:var(--island-bg);box-shadow:var(--island-shadow);-webkit-app-region:drag}.op-winctl-island>*{-webkit-app-region:no-drag}.op-winctl-island.op-winctl-corner{z-index:60;opacity:0;transform:translate(14px);pointer-events:none;transition:opacity .14s ease,transform .16s ease}.op-winctl-island.op-winctl-corner[data-show]{opacity:1;transform:none;pointer-events:auto}.op-app-shell[data-route=file] .op-winctl-island.op-winctl-corner{box-shadow:none;background:transparent;top:calc(var(--gap, 12px))}@media(prefers-reduced-motion:reduce){.op-winctl-island.op-winctl-corner{transition:none}}.op-appmenu{position:fixed;z-index:3000;min-width:168px;padding:6px;background:#fff;border-radius:10px;box-shadow:0 0 0 .5px #00000024,0 10px 32px #00000029;font-size:13px;color:#1c1c1c}.op-appmenu-row{position:relative;display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 12px;border-radius:6px;cursor:default;font-size:14px}.op-appmenu-row:hover,.op-appmenu-row[data-open]{background:#f0f0f0}.op-appmenu-sub{position:absolute;left:calc(100% + 8px);top:-6px;min-width:240px;max-height:calc(100vh - 80px);overflow:auto;padding:4px;background:#fff;border-radius:10px;box-shadow:0 0 0 .5px #00000024,0 10px 32px #00000029;color:#1c1c1c}.op-appmenu-sub .op-menu-item{width:100%;font-size:12.5px;color:#1c1c1c}.op-appmenu-sub .op-menu-item:hover{background:var(--accent);color:#fff}.op-appmenu-sub .op-menu-item:hover .op-kbd{color:#ffffffbf}.op-appmenu-sub .op-menu-sep{background:#ececec}.op-appmenu-check{display:inline-block;width:16px}.op-tab-icon-wrap{position:relative;display:inline-flex;flex:none}.op-tab-board .op-tab-icon{color:#8b6cff}
