.v-workplace{z-index:5;min-height:100vh;font-family:var(--font-mono);padding-top:64px;padding-bottom:104px;position:relative}.wp-auth-gate{flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:40px 16px;display:flex}.wp-auth-gate__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);text-align:center;margin-bottom:8px;font-size:clamp(28px,4vw,48px);font-weight:350}.wp-auth-gate__title em{color:var(--accent);font-style:italic}.wp-auth-gate__sub{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;text-align:center;margin-bottom:40px;font-size:12px}.wp-auth-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:12px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 12px 40px -10px #281e142e}.wp-auth-tabs{border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.wp-auth-tab{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);cursor:pointer;border:none;border-right:1px solid var(--rule);background:0 0;padding:13px 6px;font-size:10.5px;transition:color .18s,background .18s}.wp-auth-tab:last-child{border-right:none}.wp-auth-tab.is-active{color:var(--accent);background:var(--bg)}@media (max-width:440px){.wp-auth-tab{letter-spacing:.02em;padding:12px 2px;font-size:9.5px}}.wp-auth-body{padding:28px}.wp-wechat{flex-direction:column;align-items:center;gap:16px;display:flex}.wp-wechat__qr{border:1px solid var(--rule);background:var(--bg);width:200px;height:200px;color:var(--ink-soft);text-align:center;border-radius:8px;place-items:center;padding:16px;font-size:11px;display:grid;position:relative;overflow:hidden}.wp-wechat__qr img{object-fit:contain;border-radius:4px;width:100%;height:100%}.wp-wechat__frame{border:none;border-radius:4px;width:100%;height:100%;display:block}.wp-wechat__qr-loading{background:var(--bg);color:var(--ink-soft);place-items:center;font-size:10.5px;display:grid;position:absolute;inset:0}.wp-wechat__label{color:var(--ink-soft);text-align:center;letter-spacing:.04em;font-size:11px;line-height:1.6}.wp-wechat__status{border:1px solid var(--rule);color:var(--ink-soft);letter-spacing:.06em;border-radius:999px;padding:6px 14px;font-size:10.5px}.wp-wechat__status.is-scanned{border-color:var(--accent);color:var(--accent)}.wp-phone{flex-direction:column;gap:14px;display:flex}.wp-phone__label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.wp-phone__row{gap:0;display:flex}.wp-phone__prefix{border:1px solid var(--rule);background:var(--bg);font-family:var(--font-mono);color:var(--ink-soft);border-right:none;border-radius:6px 0 0 6px;flex-shrink:0;padding:10px 12px;font-size:12px}.wp-phone__input{border:1px solid var(--rule);background:var(--bg);font-family:var(--font-mono);color:var(--ink);border-radius:0 6px 6px 0;outline:none;flex:1;padding:10px 12px;font-size:12px;transition:border-color .18s}.wp-phone__input:focus{border-color:var(--accent)}.wp-phone__input::placeholder{color:var(--ink-soft)}.wp-phone__send{border:1px solid var(--accent);background:var(--accent);color:#fff;font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border-radius:6px;flex-shrink:0;padding:10px 16px;font-size:11px;transition:background .18s,transform .14s}.wp-phone__send:hover:not(:disabled){background:var(--accent-deep)}.wp-phone__send:disabled{opacity:.5;cursor:default}.wp-phone__otp-row{gap:8px;display:flex}.wp-phone__otp{border:1px solid var(--rule);background:var(--bg);font-family:var(--font-mono);letter-spacing:.3em;color:var(--ink);text-align:center;border-radius:6px;outline:none;flex:1;padding:10px 12px;font-size:18px;transition:border-color .18s}.wp-phone__otp:focus{border-color:var(--accent)}.wp-phone__verify{border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink);font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;border-radius:6px;padding:10px 16px;font-size:11px;transition:background .18s,border-color .18s}.wp-phone__verify:hover:not(:disabled){background:var(--ink);color:var(--bg-elev);border-color:var(--ink)}.wp-phone__verify:disabled{opacity:.5;cursor:default}.wp-phone__name{border:1px solid var(--rule);background:var(--bg);font-family:var(--font-mono);color:var(--ink);border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:12px;transition:border-color .18s}.wp-phone__name:focus{border-color:var(--accent)}.wp-phone__name::placeholder{color:var(--ink-soft)}.wp-auth__error{color:#c0392b;background:#c0392b14;border:1px solid #c0392b33;border-radius:6px;margin-top:12px;padding:8px 12px;font-size:11px}.wp-auth__hint{color:var(--ink-soft);text-align:center;margin-top:10px;font-size:10.5px;line-height:1.6}.wp-header{border-bottom:1px solid var(--rule);align-items:center;gap:12px;margin-bottom:28px;padding:20px 0 16px;display:flex}.wp-header__title{font-family:var(--font-display);letter-spacing:-.02em;flex:1;font-size:20px;font-weight:350}.wp-header__title em{color:var(--accent);font-style:italic}.wp-header__user{color:var(--ink-soft);letter-spacing:.06em;align-items:center;gap:8px;font-size:10.5px;display:flex}.wp-header__role{border:1px solid var(--rule);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-radius:999px;padding:3px 8px;font-size:9.5px}.wp-header__logout{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink-soft);cursor:pointer;letter-spacing:.06em;border-radius:6px;padding:6px 12px;font-size:10.5px;transition:all .16s}.wp-header__logout:hover{border-color:var(--ink);color:var(--ink)}.wp-section-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;display:flex}.wp-tiles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-bottom:28px;display:grid}.wp-tile{background:var(--bg-elev);border:1px solid var(--rule);cursor:pointer;border-radius:10px;gap:8px;padding:16px;transition:border-color .18s,box-shadow .18s;display:grid;position:relative}.wp-tile:hover{border-color:var(--accent);box-shadow:0 4px 16px -6px #c9644233}.wp-tile.is-active{border-color:var(--accent)}.wp-tile__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.wp-tile__name{color:var(--ink);letter-spacing:.02em;font-size:12.5px;font-weight:500}.wp-tile__status{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:5px;font-size:10px;display:flex}.wp-tile__dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.wp-tile__dot--live{background:var(--signal-green);animation:1.5s ease-in-out infinite pulseDot}.wp-tile__dot--offline{background:var(--ink-faint)}.wp-tile__dot--starting{background:var(--signal-amber);animation:.8s ease-in-out infinite pulseDot}.wp-tile__dot--error{background:#c53637;background:lab(45.9853% 56.8957 34.8481)}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.wp-tile__desc{color:var(--ink-soft);font-size:10.5px;line-height:1.5}.wp-tile__meta{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;font-size:9.5px;display:flex}.wp-tile__actions{gap:6px;margin-top:4px;display:flex}.wp-tile__btn{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg);color:var(--ink-soft);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:5px 10px;font-size:9.5px;transition:all .16s}.wp-tile__btn:hover,.wp-tile__btn--primary{border-color:var(--accent);color:var(--accent)}.wp-tile__btn--primary:hover{background:var(--accent);color:#fff}.wp-tile--add{min-height:140px;color:var(--ink-soft);cursor:pointer;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.wp-tile--add:hover{border-color:var(--accent);color:var(--accent)}.wp-tile--add .wp-tile__plus{font-size:28px;line-height:1}.wp-tile--add .wp-tile__add-label{letter-spacing:.1em;text-transform:uppercase;font-size:10.5px}.wp-ports{margin-bottom:12px}.wp-port-tabs{border-bottom:1px solid var(--rule);scrollbar-width:none;align-items:center;gap:0;min-height:38px;display:flex;overflow-x:auto}.wp-port-tabs::-webkit-scrollbar{display:none}.wp-port-tab{font-family:var(--font-mono);color:var(--ink-soft);cursor:pointer;letter-spacing:.06em;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:10px 16px;font-size:10.5px;transition:color .16s,border-color .16s;display:flex}.wp-port-tab:hover{color:var(--ink)}.wp-port-tab.is-active{border-bottom-color:var(--accent);color:var(--accent)}.wp-port-tab__dot{background:var(--ink-faint);border-radius:50%;width:6px;height:6px}.wp-port-tab.is-active .wp-port-tab__dot{background:var(--signal-green)}.wp-port-tab__close{width:16px;height:16px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;font-size:12px;line-height:1;transition:color .14s,background .14s;display:grid}.wp-port-tab__close:hover{color:var(--ink);background:var(--rule)}.wp-port-view{background:var(--bg-elev);border:1px solid var(--rule);border-top:none;border-radius:0 0 10px 10px;height:360px;position:relative;overflow:hidden}.wp-port-view--empty{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:10.5px;display:flex}.wp-port-iframe{border:none;width:100%;height:100%;display:block}.wp-terminal{background:var(--bg-ink);color:#decbb1;color:lab(82.6454% 3.88971 15.125);height:100%;font-family:var(--font-mono);grid-template-rows:1fr auto;font-size:12px;line-height:1.6;display:grid}.wp-terminal__output{white-space:pre-wrap;word-break:break-all;padding:16px;overflow-y:auto}.wp-terminal__output::-webkit-scrollbar{width:4px}.wp-terminal__output::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.wp-terminal__line--stderr{color:#ff716b;color:lab(65.744% 56.5434 32.8389)}.wp-terminal__line--exit{color:var(--ink-soft);font-style:italic}.wp-terminal__line--info{color:#5bbe62;color:lab(69.4608% -44.8835 37.1852)}.wp-terminal__input-row{border-top:1px solid #ffffff14;align-items:center;gap:8px;padding:10px 16px;display:flex}.wp-terminal__prompt{color:var(--accent);flex-shrink:0;font-size:13px}.wp-terminal__input{font-family:var(--font-mono);color:#decbb1;color:lab(82.6454% 3.88971 15.125);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1;font-size:12px}.wp-terminal__run{font-family:var(--font-mono);color:#fff9;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:4px;padding:5px 10px;font-size:11px;transition:all .16s}.wp-terminal__run:hover{border-color:var(--accent);color:var(--accent)}.wp-bus{margin-top:28px;margin-bottom:60px}.wp-bus__feed{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;max-height:280px;overflow:hidden auto}.wp-bus__feed::-webkit-scrollbar{width:4px}.wp-bus__feed::-webkit-scrollbar-thumb{background:var(--rule);border-radius:2px}.wp-bus__row{border-bottom:1px solid var(--rule-soft);grid-template-columns:90px 70px 1fr;align-items:baseline;gap:12px;padding:9px 14px;font-size:11px;transition:background .12s;display:grid}.wp-bus__row:last-child{border-bottom:none}.wp-bus__row:hover{background:var(--bg)}.wp-bus__row--error{background:#c0392b0a}.wp-bus__workflow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.wp-bus__time{color:var(--ink-soft);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:9.5px}.wp-bus__text{color:var(--ink);line-height:1.4}.wp-bus__empty{text-align:center;color:var(--ink-soft);letter-spacing:.06em;flex-direction:column;align-items:center;gap:8px;padding:24px;font-size:10.5px;font-style:italic;display:flex}.wp-deploy-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9000;background:#1a161280;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.wp-deploy-modal{background:var(--bg-elev);border:1px solid var(--rule);width:100%;max-width:460px;animation:twkIn .24s var(--ease-out-quart) both;border-radius:12px;padding:28px;box-shadow:0 24px 64px -12px #281e1452}.wp-deploy-modal h3{letter-spacing:.04em;color:var(--ink);margin-bottom:20px;font-size:14px}.wp-deploy-modal input{border:1px solid var(--rule);background:var(--bg);width:100%;font-family:var(--font-mono);color:var(--ink);border-radius:6px;outline:none;margin-bottom:12px;padding:10px 12px;font-size:12px;transition:border-color .18s}.wp-deploy-modal input:focus{border-color:var(--accent)}.wp-deploy-modal input::placeholder{color:var(--ink-soft)}.wp-deploy-modal__actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.wp-deploy-modal__cancel{border:1px solid var(--rule);background:var(--bg-elev);font-family:var(--font-mono);color:var(--ink-soft);cursor:pointer;border-radius:6px;padding:9px 16px;font-size:11px;transition:all .16s}.wp-deploy-modal__cancel:hover{color:var(--ink);border-color:var(--ink)}.wp-deploy-modal__submit{border:1px solid var(--accent);background:var(--accent);font-family:var(--font-mono);color:#fff;cursor:pointer;border-radius:6px;padding:9px 16px;font-size:11px;transition:background .16s}.wp-deploy-modal__submit:hover{background:var(--accent-deep)}.wp-deploy-modal__submit:disabled{opacity:.5;cursor:default}@media (max-width:920px){.wp-tiles{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.wp-port-view{height:320px}}@media (max-width:720px){.wp-tiles{grid-template-columns:1fr 1fr}.wp-bus__row{grid-template-columns:70px 1fr}.wp-bus__time{display:none}}@media (max-width:375px){.wp-tiles{grid-template-columns:1fr}.wp-port-view{height:260px}.wp-tile{padding:12px}}.wp-skeleton{background:linear-gradient(90deg, var(--rule-soft) 25%, var(--bg-deep) 50%, var(--rule-soft) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite wpShimmer}@keyframes wpShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.wp-tile--skeleton{pointer-events:none;gap:10px;display:grid}.wp-tile--skeleton .wp-skeleton-line{height:12px}.wp-tile--skeleton .wp-skeleton-line--sm{width:60%;height:9px}.wp-tile--skeleton .wp-skeleton-line--lg{width:75%;height:14px}.wp-empty-state{text-align:center;color:var(--ink-soft);letter-spacing:.06em;padding:40px 24px;font-size:11px;line-height:1.7}.wp-empty-state__icon{opacity:.4;margin-bottom:10px;font-size:28px;display:block}.wp-team{margin-top:28px;margin-bottom:40px}.wp-team__count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--rule);color:var(--ink-soft);letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:9.5px}.wp-team__list{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.wp-team__row{border-bottom:1px solid var(--rule-soft);font-size:11px;font-family:var(--font-mono);grid-template-columns:minmax(120px,1.4fr) 130px minmax(140px,1.4fr) 100px 130px 90px;align-items:center;gap:12px;padding:11px 16px;transition:background .12s;display:grid}.wp-team__row:last-child{border-bottom:none}.wp-team__row:not(.wp-team__row--head):hover{background:var(--bg)}.wp-team__row--head{background:var(--bg-deep);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:9px}.wp-team__row--head:hover{background:var(--bg-deep)}.wp-team__name{color:var(--ink);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.wp-team__contact,.wp-team__auth,.wp-team__ip{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wp-team__seen{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.wp-team__seen time{color:inherit}.wp-team__role-pill{border:1px solid var(--rule);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-radius:999px;padding:3px 9px;font-size:9.5px;display:inline-block}.wp-team__role-pill--owner{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.wp-team__role-pill--admin{color:var(--signal-amber);border-color:var(--signal-amber)}.wp-team__role-pill--contributor{color:var(--ink-soft);border-color:var(--rule)}.wp-team__role-pill--viewer{color:var(--ink-faint);border-color:var(--rule-soft)}.wp-team__select{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg);color:var(--ink);cursor:pointer;letter-spacing:.04em;text-transform:capitalize;border-radius:6px;outline:none;width:100%;max-width:130px;padding:5px 8px;font-size:10.5px;transition:border-color .16s}.wp-team__select:hover,.wp-team__select:focus{border-color:var(--accent)}.wp-team__loading{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;gap:8px;padding:14px 16px;display:grid}.wp-team__skeleton-line{height:14px}.wp-team__skeleton-line:nth-child(2){width:85%}.wp-team__skeleton-line:nth-child(3){width:70%}@media (max-width:920px){.wp-team__row{grid-template-columns:minmax(110px,1.4fr) 120px minmax(120px,1.2fr) 90px 90px}.wp-team__ip,.wp-team__row--head .wp-team__ip{display:none}}@media (max-width:720px){.wp-team__row{grid-template-columns:minmax(100px,1.4fr) 120px 1fr 90px}.wp-team__auth{display:none}}@media (max-width:375px){.wp-team__row{grid-template-columns:1fr 110px 72px;gap:8px}.wp-team__contact{display:none}.wp-team__select{max-width:110px}}.wp-activity{margin-top:28px;margin-bottom:40px}.wp-activity__count{font-family:var(--font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--rule);color:var(--ink-soft);letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-size:9.5px}.wp-activity__list{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;margin:0;padding:0;list-style:none;overflow:hidden}.wp-activity__row{border-bottom:1px solid var(--rule-soft);font-size:11px;font-family:var(--font-mono);grid-template-columns:44px minmax(0,1fr) 90px;align-items:start;gap:12px;padding:11px 16px;transition:background .12s;display:grid}.wp-activity__row:last-child{border-bottom:none}.wp-activity__row:hover{background:var(--bg)}.wp-activity__badge{border:1px solid var(--rule);letter-spacing:.1em;text-transform:uppercase;min-width:38px;color:var(--ink-soft);background:var(--bg);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:6px;place-items:center;padding:3px 6px;font-size:8.5px;display:inline-grid}.wp-activity__badge--login{color:var(--signal-green);border-color:var(--signal-green)}.wp-activity__badge--logout{color:var(--ink-faint);border-color:var(--rule-soft)}.wp-activity__badge--deploy{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.wp-activity__badge--role{color:var(--signal-amber);border-color:var(--signal-amber)}.wp-activity__badge--workflow{color:var(--accent);border-color:var(--rule);background:var(--accent-soft)}.wp-activity__badge--claude,.wp-activity__badge--default{color:var(--ink-soft);border-color:var(--rule)}.wp-activity__main{flex-direction:column;gap:3px;min-width:0;display:flex}.wp-activity__line{flex-wrap:wrap;align-items:baseline;gap:6px;line-height:1.4;display:flex}.wp-activity__actor{color:var(--ink);letter-spacing:.02em;font-weight:500}.wp-activity__desc{color:var(--ink-soft);letter-spacing:.01em;text-overflow:ellipsis;overflow:hidden}.wp-activity__ip{color:var(--ink-faint);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:9.5px;overflow:hidden}.wp-activity__time{color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:10px}.wp-activity__time time{color:inherit}.wp-activity__loading{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;gap:8px;padding:14px 16px;display:grid}.wp-activity__skeleton-line{height:14px}.wp-activity__skeleton-line:nth-child(2){width:85%}.wp-activity__skeleton-line:nth-child(3){width:70%}@media (max-width:720px){.wp-activity__row{grid-template-columns:40px minmax(0,1fr) 72px;gap:10px}}@media (max-width:375px){.wp-activity__row{grid-template-columns:36px minmax(0,1fr) 56px;gap:8px}.wp-activity__ip{display:none}}.kb-board{margin-top:8px}.kb-columns{grid-template-columns:repeat(3,1fr);align-items:start;gap:14px;display:grid}@media (max-width:720px){.kb-columns{grid-template-columns:1fr}}.kb-col{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;min-height:120px;padding:12px;transition:border-color .15s,background .15s}.kb-col--over{border-color:var(--accent);background:#c964420a}.kb-col__head{border-bottom:1px solid var(--rule);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.kb-col__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kb-col__label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);flex:1;font-size:10px}.kb-col__count{font-family:var(--font-mono);color:var(--ink-faint);font-size:10px}.kb-col__cards{flex-direction:column;gap:8px;display:flex}.kb-col__empty{font-family:var(--font-mono);color:var(--ink-faint);text-align:center;padding:16px 0;font-size:10.5px}.kb-card{background:var(--bg);border:1px solid var(--rule);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:6px;padding:10px 12px;transition:box-shadow .15s,border-color .15s}.kb-card:hover{border-color:var(--accent-soft);box-shadow:0 2px 8px #00000012}.kb-card:active{cursor:grabbing}.kb-card__title{color:var(--ink);margin-bottom:4px;font-size:13px;line-height:1.45}.kb-card__desc{font-family:var(--font-mono);color:var(--ink-soft);margin-bottom:8px;font-size:10px;line-height:1.5}.kb-card__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.kb-card__repo{font-family:var(--font-mono);color:var(--accent);font-size:9.5px;text-decoration:none}.kb-card__time,.kb-card__author{font-family:var(--font-mono);color:var(--ink-faint);font-size:9px}.kb-card__author:before{content:"· "}.kb-card__del{color:var(--ink-faint);margin-left:auto;font-size:13px;line-height:1;transition:color .15s}.kb-card__del:hover{color:#b43e3e}.kb-add-btn{border:1px dashed var(--rule);width:100%;font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.06em;text-align:center;border-radius:6px;margin-top:8px;padding:8px;font-size:10.5px;transition:border-color .15s,color .15s}.kb-add-btn:hover{border-color:var(--accent);color:var(--accent)}.kb-add-form{flex-direction:column;gap:6px;margin-top:8px;display:flex}.kb-add-form__input{background:var(--bg);border:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink);border-radius:4px;outline:none;width:100%;padding:6px 8px;font-size:11px;transition:border-color .15s}.kb-add-form__input:focus{border-color:var(--accent)}.kb-add-form__err{font-family:var(--font-mono);color:#b43e3e;font-size:10px}.kb-add-form__actions{justify-content:flex-end;gap:6px;display:flex}.kb-add-form__cancel{font-family:var(--font-mono);color:var(--ink-soft);border:1px solid var(--rule);border-radius:4px;padding:4px 10px;font-size:10.5px;transition:border-color .15s}.kb-add-form__cancel:hover{border-color:var(--ink-soft)}.kb-add-form__submit{font-family:var(--font-mono);color:var(--bg);background:var(--accent);border-radius:4px;padding:4px 12px;font-size:10.5px;transition:opacity .15s}.wp-math{margin-top:32px}.wp-tile--math{cursor:pointer}.wp-tile--math .wp-tile__dot--live{background:var(--accent)}.wp-math__tile-providers{margin-top:2px}.wp-math__tile-providers .wp-math__pill{padding:3px 9px;font-size:9px}.wp-tile--math .wp-math__launch-note{font-family:var(--font-mono);color:var(--ink-faint);margin-top:2px;font-size:9.5px;line-height:1.5}.wp-math__launch{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;display:flex}.wp-math__launch-desc{font-family:var(--font-mono);color:var(--ink-soft);max-width:62ch;margin:0;font-size:11.5px;line-height:1.7}.wp-math__launch-note{font-family:var(--font-mono);color:var(--ink-faint);font-size:10px;line-height:1.5}.wp-math__open-studio{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:12px;transition:background .15s,transform .12s}.wp-math__open-studio:hover{background:var(--accent-deep,var(--accent));transform:translateY(-1px)}.wp-math__providers{flex-wrap:wrap;gap:6px;display:flex}.wp-math__pill{font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink);cursor:pointer;border-radius:20px;padding:5px 13px;font-size:10px;transition:border-color .15s,color .15s,background .15s}.wp-math__pill:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wp-math__pill--active{border-color:var(--accent);background:var(--accent);color:var(--bg)}.wp-math__pill:disabled{opacity:.3;cursor:not-allowed}.wp-math__model-row{flex-direction:column;gap:4px;margin-top:8px;display:flex}.wp-math__model-label{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;font-size:10px}.wp-math__model-probe{opacity:.7;text-transform:none;letter-spacing:0}.wp-math__model-select{width:100%;font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg-elev);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:11px}.wp-math__model-select:focus{border-color:var(--accent);outline:none}.wp-math__model-select:disabled{opacity:.5}.wp-math__model-coze{font-family:var(--font-mono);color:var(--ink-faint);margin:0;font-size:11px;line-height:1.5}.wp-math__model-hint{font-family:var(--font-mono);color:var(--ink-faint);opacity:.85;margin:0;font-size:10px}.wp-studio__messages{border-top:1px dotted var(--rule);border-bottom:1px dotted var(--rule);flex:1;min-height:0;padding:8px 2px;overflow-y:auto}.wp-math__hint{font-family:var(--font-mono);color:var(--ink-soft);padding:20px 0;font-size:11px;line-height:1.8}.wp-math__input-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex;position:relative}.wp-math__cmd-palette{background:var(--bg-elev,#1a1a1a);border:1px solid var(--rule,#333);z-index:20;border-radius:6px;max-height:280px;margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 4px);left:0;right:48px;overflow-y:auto;box-shadow:0 8px 24px #00000059}.wp-math__cmd-item{text-align:left;width:100%;color:var(--ink,#eee);cursor:pointer;font-family:var(--font-mono);background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;font-size:11px;display:flex}.wp-math__cmd-item.is-active,.wp-math__cmd-item:hover{background:color-mix(in srgb, var(--accent,#6cf) 12%, transparent)}.wp-math__cmd-label{color:var(--accent,#6cf);font-weight:600}.wp-math__cmd-summary{opacity:.75;line-height:1.4}.wp-math__textarea{background:var(--bg-elev);border:1px solid var(--rule);color:var(--ink);font-family:var(--font-mono);resize:none;border-radius:4px;outline:none;flex:1;padding:8px 12px;font-size:12px;line-height:1.55;transition:border-color .15s}.wp-math__textarea:focus{border-color:var(--accent)}.wp-math__textarea:disabled{opacity:.5}.wp-math__send{background:var(--accent);color:var(--bg);font-family:var(--font-mono);cursor:pointer;border-radius:4px;align-self:flex-end;padding:10px 14px;font-size:14px;transition:opacity .15s}.wp-math__send:disabled{opacity:.4;cursor:not-allowed}.wp-math__actions{gap:8px;display:flex}.wp-math__action-btn{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px;font-size:9.5px;transition:border-color .15s,color .15s}.wp-math__action-btn:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.wp-math__action-btn:disabled{opacity:.35;cursor:not-allowed}.wp-studio{z-index:9500;background:var(--bg);--wp-studio-sidebar-w:340px;display:none;position:fixed;inset:0}.wp-studio.is-open .wp-studio__sidebar{z-index:40;isolation:isolate;position:relative}.wp-studio.is-open .wp-studio__stage{z-index:10;isolation:isolate;position:relative}.wp-studio.is-open{grid-template-columns:var(--wp-studio-sidebar-w) minmax(0, 1fr) var(--wp-katex-w,0px);grid-template-rows:1fr;display:grid}.wp-studio.wp-studio--katex-open{--wp-katex-w:clamp(340px, 32vw, 580px)}.wp-studio.wp-studio--sidebar-collapsed{--wp-studio-sidebar-w:46px}.wp-studio__sidebar{border-right:1px solid var(--rule);background:var(--bg-elev);flex-direction:column;grid-area:1/1;gap:10px;min-width:0;padding:14px;transition:padding .18s;display:flex;overflow:hidden}.wp-studio__sidebar.is-collapsed{padding:14px 8px}.wp-studio__sidebar.is-collapsed>:not(.wp-studio__bar){display:none}.wp-studio__stage{background:var(--bg-elev);flex-direction:column;grid-area:1/2;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.wp-studio__stage-bar{border-bottom:1px solid var(--rule);background:var(--bg);z-index:20;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex;position:relative}.wp-studio__stage-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.wp-studio__bar{justify-content:space-between;align-items:center;display:flex}.wp-studio__title{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.wp-studio__sidebar.is-collapsed .wp-studio__title{display:none}.wp-studio__collapse{border:1px solid var(--rule);background:var(--bg);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:6px;flex-shrink:0;font-size:15px;line-height:1}.wp-studio__collapse:hover{border-color:var(--accent);color:var(--accent)}.wp-studio__canvas.wp-ggb-scale{background:var(--bg-elev);flex:auto;width:100%;min-width:0;min-height:0;position:relative;overflow:hidden}.wp-studio__canvas .gwt-PopupPanel,.wp-studio__canvas .PopupPanel,.wp-studio__canvas .ggbPopupMenu{max-width:min(100%,300px);z-index:30!important}body.wp-studio-ggb-open{overflow:hidden}.wp-ggb-host,.wp-studio__canvas #wp-ggb-applet{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important;position:absolute!important;inset:0!important}.wp-studio__canvas #wp-ggb-applet>article,.wp-studio__canvas #wp-ggb-applet .GeoGebraFrame,.wp-studio__canvas #wp-ggb-applet article{width:100%!important;max-width:none!important;height:100%!important;margin:0 auto!important}.wp-studio__canvas #wp-ggb-applet .ggbTransform,.wp-studio__canvas #wp-ggb-applet .GeoGebraFrame>div{transform-origin:0 0}.wp-studio__canvas #wp-ggb-applet canvas{max-width:none;display:block}.wp-studio__close{border:1px solid var(--rule);background:var(--bg-elev);width:34px;height:34px;color:var(--ink);cursor:pointer;z-index:21;border-radius:8px;flex-shrink:0;place-items:center;font-size:20px;line-height:1;display:grid;position:relative;box-shadow:0 2px 8px #00000024}.wp-studio__close:hover{border-color:var(--accent);color:var(--accent)}.wp-studio__katex{border-left:1px solid var(--rule);background:var(--bg-elev);flex-direction:column;grid-area:1/3;min-width:0;display:none;overflow:hidden}.wp-studio--katex-open .wp-studio__katex.is-open{display:flex}.wp-studio__stage-tools{align-items:center;gap:8px;display:flex}.wp-studio__katex-toggle{font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg);color:var(--ink-soft);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:14px;line-height:1}.wp-studio__katex-toggle.is-on,.wp-studio__katex-toggle:hover{border-color:var(--accent);color:var(--accent)}.wp-studio__katex-bar{border-bottom:1px solid var(--rule);background:var(--bg);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.wp-studio__katex-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.wp-studio__katex-tabs{gap:4px;margin-left:auto;display:flex}.wp-studio__katex-tab{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:3px;padding:3px 8px;font-size:10px}.wp-studio__katex-tab.is-active{border-color:var(--accent);color:var(--accent)}.wp-studio__katex-close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.wp-studio__katex-body{flex-direction:column;flex:auto;min-height:0;padding:12px;font-size:13px;display:flex;overflow:auto}.wp-studio__katex-empty{font-family:var(--font-mono);color:var(--ink-soft);font-size:11px;line-height:1.6}.wp-studio__katex-source{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--ink);margin:0;font-size:11px;line-height:1.55}.wp-studio__katex-editor{border:1px solid var(--rule);background:var(--bg-elev);resize:vertical;box-sizing:border-box;border-radius:6px;flex:auto;width:100%;min-height:18rem;padding:10px 12px;font-size:12px;line-height:1.6}.wp-studio__katex-render{flex:auto;font-size:14px;line-height:1.7;overflow:auto}.wp-studio__katex-render .katex-display{overflow-x:auto}.wp-studio__magic{font-family:var(--font-mono);border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;white-space:nowrap;border-radius:4px;padding:5px 10px;font-size:12px;line-height:1}.wp-studio__magic:hover{filter:brightness(1.08)}.wp-studio__magic:disabled{opacity:.45;cursor:not-allowed;filter:none}.wp-tikz{z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.wp-tikz__backdrop{background:#00000080;position:absolute;inset:0}.wp-tikz__panel{background:var(--bg-elev);border:1px solid var(--rule);border-radius:10px;flex-direction:column;width:min(760px,92vw);max-height:84vh;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #00000059}.wp-tikz__bar{border-bottom:1px solid var(--rule);background:var(--bg);flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex}.wp-tikz__title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.wp-tikz__modes{gap:4px;margin-left:auto;display:flex}.wp-tikz__mode{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:3px;padding:3px 10px;font-size:11px}.wp-tikz__mode.is-active{border-color:var(--accent);color:var(--accent)}.wp-tikz__copy{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;border-radius:3px;padding:3px 10px;font-size:11px}.wp-tikz__copy:hover{border-color:var(--accent);color:var(--accent)}.wp-tikz__close{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.wp-tikz__code{background:var(--bg-elev);min-height:16rem;color:var(--ink);font-family:var(--font-mono);white-space:pre;resize:none;box-sizing:border-box;border:none;flex:auto;margin:0;padding:12px 14px;font-size:12px;line-height:1.6;overflow:auto}.wp-tikz__note{border-top:1px solid var(--rule);background:var(--bg);font-family:var(--font-mono);color:var(--ink-soft);flex:none;padding:6px 14px;font-size:10px}@media (max-width:900px){.wp-studio.wp-studio--katex-open{--wp-katex-w:0px;grid-template-rows:1fr auto;grid-template-columns:var(--wp-studio-sidebar-w) minmax(0, 1fr)}.wp-studio--katex-open .wp-studio__katex.is-open{border-left:none;border-top:1px solid var(--rule);grid-area:2/1/auto/-1;max-height:50vh}}@media (max-width:640px){.wp-studio.is-open{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.wp-studio__sidebar{border-right:none;border-top:1px solid var(--rule);grid-area:2/1;max-height:46vh}.wp-studio__sidebar.is-collapsed{max-height:44px;padding:8px 14px}.wp-studio__stage{grid-area:1/1}}.wp-math__ggb-loading{font-family:var(--font-mono);color:var(--ink-soft);z-index:5;pointer-events:none;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.wp-math__ggb-error{z-index:6;text-align:center;background:color-mix(in srgb, var(--bg-elev) 94%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.wp-math__ggb-error-msg{font-family:var(--font-mono);color:var(--ink-soft);font-size:11px;line-height:1.6}.v-workplace>.wp-auth-gate{z-index:1;position:relative}.wp-hero{border-radius:8px;margin-bottom:8px;padding:6px 0}.wp-empty-miku{object-fit:cover;opacity:.85;border-radius:12px;width:58px;height:58px}.wp-tiles--bento{grid-auto-flow:dense;grid-auto-rows:minmax(132px,auto)}.wp-tile{transition:border-color .18s,box-shadow .18s,transform .18s,opacity .18s}.wp-tile:hover{transform:translateY(-2px)}.wp-tile--hero{grid-area:span 2/span 2;padding:20px}.wp-tile--hero .wp-tile__name{font-size:15px}.wp-tile--hero .wp-tile__desc{font-size:11.5px}.wp-tile--live{box-shadow:inset 0 0 0 1px var(--accent-soft,#c9644238)}.wp-tile--live:hover{box-shadow:inset 0 0 0 1px var(--accent), 0 4px 16px -6px #c9644240}.wp-tile--offline{opacity:.6}.wp-tile--offline:hover{opacity:1}.wp-tile--error{border-color:#c53637;border-color:lab(45.9853% 56.8957 34.8481)}@media (max-width:720px){.wp-tile--hero{grid-area:auto;padding:16px}}.wp-enter>*{animation:wpEnter .5s var(--ease-out-quart,ease) both}.wp-enter>:first-child{animation-delay:40ms}.wp-enter>:nth-child(2){animation-delay:.1s}.wp-enter>:nth-child(3){animation-delay:.16s}.wp-enter>:nth-child(4){animation-delay:.22s}.wp-enter>:nth-child(5){animation-delay:.28s}.wp-enter>:nth-child(6){animation-delay:.34s}.wp-enter>:nth-child(7){animation-delay:.4s}.wp-enter>:nth-child(n+8){animation-delay:.46s}@keyframes wpEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.wp-mascot{z-index:7000;font-family:var(--font-mono);pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:20px;left:20px}.wp-mascot__btn,.wp-mascot__say{pointer-events:auto}.wp-mascot__say{background:var(--bg-elev);border:1px solid var(--rule);max-width:210px;color:var(--ink);border-radius:12px 12px 12px 4px;padding:7px 11px;font-size:11px;line-height:1.5;animation:.3s both wpEnter;box-shadow:0 4px 14px #00000024}.wp-mascot__btn{border:1px solid var(--rule);background:var(--bg-elev);cursor:pointer;border-radius:50%;flex-shrink:0;width:56px;height:56px;padding:0;overflow:hidden;box-shadow:0 4px 18px #00000038}.wp-mascot__gif{object-fit:cover;width:100%;height:100%;display:block}.wp-mascot--idle .wp-mascot__btn{animation:3s ease-in-out infinite wpBob}.wp-mascot--working .wp-mascot__btn{animation:1s ease-in-out infinite wpBob}.wp-mascot--wave .wp-mascot__btn{animation:.9s ease-in-out infinite wpWave}.wp-mascot--ping .wp-mascot__btn{animation:.6s wpBounce}.wp-mascot--alert .wp-mascot__btn{border-color:#c53637;border-color:lab(45.9853% 56.8957 34.8481);animation:.5s ease-in-out infinite wpShake}@keyframes wpBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes wpWave{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes wpBounce{0%,to{transform:scale(1)translateY(0)}30%{transform:scale(1.12)translateY(-5px)}}@keyframes wpShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@media (max-width:640px){.wp-mascot{bottom:10px;left:10px}.wp-mascot__btn{width:46px;height:46px}.wp-mascot__say{max-width:150px;font-size:10px}}.wp-md>:first-child{margin-top:0}.wp-md>:last-child{margin-bottom:0}.wp-md p{margin:0 0 8px}.wp-md h1,.wp-md h2,.wp-md h3,.wp-md h4{letter-spacing:.01em;margin:10px 0 5px;font-size:12.5px;font-weight:600}.wp-md ul,.wp-md ol{margin:4px 0 8px;padding-left:18px}.wp-md li{margin:2px 0}.wp-md code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:0 4px;font-size:11px}.wp-md pre{background:var(--bg);border:1px solid var(--rule);border-radius:6px;margin:6px 0;padding:8px 10px;overflow-x:auto}.wp-md pre code{background:0 0;border:none;padding:0}.wp-md a{color:var(--accent);text-underline-offset:2px}.wp-md strong{font-weight:600}.wp-md blockquote{border-left:2px solid var(--rule);color:var(--ink-soft);margin:6px 0;padding-left:10px}.wp-md table{border-collapse:collapse;margin:6px 0;font-size:11px}.wp-md th,.wp-md td{border:1px solid var(--rule);padding:3px 6px}@media (prefers-reduced-motion:reduce){.wp-enter>*{animation:none}.wp-mascot__btn{animation:none!important}.wp-mascot__say{animation:none}.wp-tile:hover{transform:none}}.wp-studio__bar-tools{align-items:center;gap:6px;display:flex}.wp-studio__perf{border:1px solid var(--rule);background:var(--bg);width:28px;height:28px;color:var(--ink-soft);cursor:pointer;border-radius:6px;flex-shrink:0;font-size:13px;line-height:1}.wp-studio__perf:hover{border-color:var(--accent);color:var(--accent)}.wp-studio__perf.is-on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft,#c964421f)}.wp-studio__sidebar.is-collapsed .wp-studio__perf{display:none}.wp-settings{margin-top:28px}.wp-settings__loading{flex-direction:column;gap:8px;display:flex}.wp-settings__skel{border-radius:8px;height:48px}.wp-settings__grid{flex-direction:column;gap:16px;display:flex}.wp-settings__group{border:1px solid var(--rule);background:var(--bg-elev);border-radius:10px;padding:14px 16px}.wp-settings__group-title{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 12px;font-size:11px;display:flex}.wp-settings__note{text-transform:none;letter-spacing:0;color:var(--ink-soft);font-size:10px}.wp-settings__astrbot-desc{font-family:var(--font-mono);color:var(--ink-soft);margin:0 0 10px;font-size:11px;line-height:1.55}.wp-settings__astrbot-desc code{color:var(--ink);font-size:10px}.wp-settings__provider{border-top:1px solid var(--rule);padding:10px 0}.wp-settings__provider:first-of-type{border-top:none;padding-top:0}.wp-settings__provider-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.wp-settings__provider-name{color:var(--ink);font-size:12.5px;font-weight:600}.wp-settings__chip{letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--rule);color:var(--ink-soft);background:var(--bg);border-radius:999px;padding:2px 7px;font-size:9.5px}.wp-settings__chip.is-on{color:var(--accent);border-color:var(--accent)}.wp-settings__fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 12px;display:grid}.wp-settings__field{flex-direction:column;gap:4px;display:flex}.wp-settings__field>span{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:6px;font-size:10px;display:flex}.wp-settings__set{color:var(--accent);text-transform:uppercase;font-size:9px;font-style:normal}.wp-settings__field input{width:100%;font-family:var(--font-mono);border:1px solid var(--rule);background:var(--bg);color:var(--ink);border-radius:6px;padding:8px 10px;font-size:12px}.wp-settings__field input:focus{border-color:var(--accent);outline:none}.wp-settings__field input:disabled{opacity:.5;cursor:not-allowed}.wp-settings__hint{color:var(--ink-soft);font-size:9.5px}.wp-settings__toggle{cursor:pointer;align-items:flex-start;gap:10px;padding:4px 0 12px;display:flex}.wp-settings__toggle input{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.wp-settings__toggle span{flex-direction:column;gap:2px;display:flex}.wp-settings__toggle strong{color:var(--ink);font-size:12px;font-weight:600}.wp-settings__toggle small{color:var(--ink-soft);font-size:10.5px}.wp-settings__group .wp-settings__field{margin-top:10px}.wp-settings__actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.wp-settings__error{color:#c53637;color:lab(45.9853% 56.8957 34.8481);font-size:11px}.wp-settings__ok{color:var(--accent);font-size:11px}.wp-settings__save{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:7px;padding:9px 18px;font-size:11px;transition:opacity .16s}.wp-settings__save:hover{opacity:.88}.wp-settings__save:disabled{opacity:.5;cursor:default}@media (max-width:520px){.wp-settings__fields{grid-template-columns:1fr}}.wp-auth-tabs--4{grid-template-columns:repeat(4,1fr)}.wp-auth-tabs--4 .wp-auth-tab{letter-spacing:.03em;padding:12px 4px;font-size:9.5px}.wp-auth-tabs--4 .wp-auth-tab:last-child{border-right:none}@media (max-width:420px){.wp-auth-tabs--4{grid-template-columns:repeat(2,1fr)}.wp-auth-tabs--4 .wp-auth-tab:nth-child(2){border-right:none}}.wp-intro{z-index:9999;cursor:pointer;opacity:1;background:#0b0a10;place-items:center;transition:opacity .6s;display:grid;position:fixed;inset:0;overflow:hidden}.wp-intro.is-out{opacity:0;pointer-events:none}.wp-intro__video{object-fit:cover;width:100%;height:100%;animation:5s ease-out forwards wpIntroZoom;position:absolute;inset:0;transform:scale(1.04)}@keyframes wpIntroZoom{to{transform:scale(1.12)}}.wp-intro__veil{background:radial-gradient(circle at 50% 42%,#0000 35%,#0000008c 100%),linear-gradient(#0000004d,#0000001a 40%,#00000073);position:absolute;inset:0}.wp-intro__brand{text-align:center;color:#fff;text-shadow:0 2px 24px #00000080;flex-direction:column;align-items:center;gap:6px;animation:.9s cubic-bezier(.2,.7,.2,1) both wpIntroRise;display:flex;position:relative}@keyframes wpIntroRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.wp-intro__title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(34px,7vw,76px);font-weight:350}.wp-intro__title em{color:var(--accent);font-style:italic}.wp-intro__sub{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffffffc7;font-size:11px}.wp-intro__skip{font-family:var(--font-mono);letter-spacing:.06em;color:#fffc;cursor:pointer;background:#00000059;border:1px solid #ffffff40;border-radius:999px;padding:6px 14px;font-size:11px;transition:background .16s,color .16s;position:absolute;bottom:16px;right:18px}.wp-intro__skip:hover{color:#fff;background:#ffffff29}@media (prefers-reduced-motion:reduce){.wp-intro__video,.wp-intro__brand{animation:none}}.wp-studio,.wp-studio__canvas{cursor:auto}@media (max-width:520px){.wp-tiles{grid-template-columns:1fr}.wp-tile--hero{grid-area:auto}.wp-hero{padding:0}.wp-header{flex-wrap:wrap;row-gap:6px}.wp-launch,.wp-math__launch{padding:14px}}.kb-add-form__submit:disabled{opacity:.4}.ab-panel--live2d{animation:abPanelInLeft .3s var(--ease-out-quart)}@keyframes abPanelInLeft{0%{opacity:0;transform:translate(-16px)translateY(8px)}to{opacity:1;transform:translate(0)translateY(0)}}#waifu{transition:filter .15s;z-index:7000!important}#waifu,#waifu *{cursor:auto!important}#waifu #live2d{cursor:grab!important}#waifu #live2d:active{cursor:grabbing!important}#waifu #waifu-tool{opacity:.45;pointer-events:auto;z-index:2}#waifu:hover #waifu-tool,#waifu #waifu-tool:hover{opacity:1}#waifu-tool svg{pointer-events:auto;cursor:pointer!important}#waifu:hover{filter:brightness(1.08)}#waifu:active{filter:brightness(1.15)saturate(1.1)}.ab-panel--live2d,.ab-panel--live2d *{cursor:auto!important}@media (max-width:520px){.ab-panel--live2d{width:calc(100vw - 24px)}#waifu{filter:none}}@media (prefers-reduced-motion:reduce){.ab-panel--live2d{animation:none}#waifu{transition:none}}.wp-studio__sidebar{background:linear-gradient(180deg, color-mix(in oklch, var(--accent) 6%, var(--bg-elev)) 0%, var(--bg-elev) 140px);gap:12px;padding:16px 16px 14px}.wp-studio__bar{border-bottom:1px solid var(--rule);padding-bottom:11px}.wp-studio__title{letter-spacing:.16em;color:var(--ink);align-items:center;gap:7px;font-size:11px;display:inline-flex}.wp-studio__title:before{content:"";background:var(--signal-green,#5bbe62);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in oklch, var(--signal-green,#5bbe62) 22%, transparent);border-radius:50%}@supports (color:lab(0% 0 0)){.wp-studio__title:before{background:var(--signal-green,lab(69.4608% -44.8835 37.1852));box-shadow:0 0 0 3px color-mix(in oklch, var(--signal-green,lab(69.4608% -44.8835 37.1852)) 22%, transparent)}}.wp-studio__sidebar .wp-math__pill{padding:5px 12px;font-size:10px}.wp-studio__messages{padding:12px 4px}.wp-math__more{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);background:var(--bg);border:1px dashed var(--rule);cursor:pointer;border-radius:999px;align-self:center;margin:2px 0 10px;padding:4px 12px;font-size:10px}.wp-math__more:hover{border-color:var(--accent);color:var(--accent)}.wp-studio .wp-math__hint{flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;height:100%;min-height:180px;padding:0 2px;display:flex}.wp-studio .wp-math__hint:before{content:"✦";color:var(--accent);opacity:.75;font-size:22px;line-height:1}.wp-studio .wp-math__textarea{background:var(--bg);border-radius:12px;padding:10px 13px;transition:border-color .15s,box-shadow .15s}.wp-studio .wp-math__textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 16%, transparent)}.wp-studio .wp-math__send{width:40px;height:40px;box-shadow:0 4px 14px color-mix(in oklch, var(--accent) 32%, transparent);border-radius:50%;place-items:center;font-size:15px;transition:transform .12s,opacity .15s,box-shadow .15s;display:grid}.wp-studio .wp-math__send:not(:disabled):hover{transform:translateY(-1px)}.wp-studio__stage-bar{padding:9px 14px}.wp-studio__stage-label{color:var(--ink);opacity:.7;font-weight:600}.wp-studio__close{width:30px;height:30px;font-size:18px}.wp-studio .wp-math__action-btn{border-radius:999px;padding:5px 12px}.wp-math__status{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);align-items:center;gap:7px;min-width:0;padding:2px 2px 0;font-size:10px;display:flex}.wp-math__status-dot{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:7px;height:7px;transition:background .2s}.wp-math__status-provider{color:var(--ink);flex-shrink:0;font-weight:600}.wp-math__status-model{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.wp-math__status-model:before{content:"· ";color:var(--ink-faint);font-weight:400}.wp-math__status-ggb{color:var(--signal-green,#5bbe62);flex-shrink:0;font-weight:600}@supports (color:lab(0% 0 0)){.wp-math__status-ggb{color:var(--signal-green,lab(69.4608% -44.8835 37.1852))}}.wp-math__status-ggb:before{content:"· ";color:var(--ink-faint);font-weight:400}.wp-math__status-text{opacity:.8;flex-shrink:0;margin-left:auto}.wp-math__status--ready .wp-math__status-dot{background:var(--signal-green,#5bbe62)}@supports (color:lab(0% 0 0)){.wp-math__status--ready .wp-math__status-dot{background:var(--signal-green,lab(69.4608% -44.8835 37.1852))}}.wp-math__status--busy .wp-math__status-dot{background:var(--signal-amber,#efa831);animation:1s ease-in-out infinite wpStatusPulse}@supports (color:lab(0% 0 0)){.wp-math__status--busy .wp-math__status-dot{background:var(--signal-amber,lab(74.342% 19.9794 67.2846))}}.wp-math__status--error .wp-math__status-dot{background:#d73337;background:lab(49.2539% 63.2983 39.3808)}.wp-math__status--error .wp-math__status-text{color:#d73337;color:lab(49.2539% 63.2983 39.3808)}@keyframes wpStatusPulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in oklch, var(--signal-amber,#efa831) 60%, transparent);transform:scale(1)}50%{opacity:.7;transform:scale(.82);box-shadow:0 0 0 4px #0000}}@supports (color:lab(0% 0 0)){@keyframes wpStatusPulse{0%,to{opacity:1;box-shadow:0 0 0 0 color-mix(in oklch, var(--signal-amber,lab(74.342% 19.9794 67.2846)) 60%, transparent);transform:scale(1)}50%{opacity:.7;transform:scale(.82);box-shadow:0 0 0 4px #0000}}}.wp-math__pill--active{animation:wpPillPop .36s var(--ease-out-quart,cubic-bezier(.165, .84, .44, 1));box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 22%, transparent)}@keyframes wpPillPop{0%{transform:scale(.9)}55%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.wp-math__status--busy .wp-math__status-dot,.wp-math__pill--active{animation:none}}.wp-studio__stage{transition:none}.wp-studio__stage.is-pure{z-index:60;background:var(--bg,#f5f1eb);isolation:isolate;animation:.25s both wpPureIn;inset:0;position:fixed!important}@keyframes wpPureIn{0%{opacity:.6;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.wp-studio__stage.is-pure .wp-studio__stage-bar{z-index:2;background:color-mix(in oklab, var(--bg,#f5f1eb) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.35;transition:opacity .25s;position:absolute;top:0;left:0;right:0}.wp-studio__stage.is-pure .wp-studio__stage-bar:hover,.wp-studio__stage.is-pure .wp-studio__stage-bar:focus-within{opacity:1}.wp-studio__stage.is-pure .wp-studio__canvas{height:100%;position:absolute;inset:0}.wp-studio__pure-toggle,.wp-studio__steps-toggle{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:5px 10px;font-size:12px;line-height:1}.wp-studio__pure-toggle:hover,.wp-studio__steps-toggle:hover{border-color:var(--accent);color:var(--accent)}.wp-studio__pure-toggle.is-on,.wp-studio__steps-toggle.is-on{background:var(--accent);border-color:var(--accent);color:var(--bg)}.wp-studio__steps-toggle:disabled{opacity:.45;cursor:not-allowed}.wp-steps{z-index:3;background:color-mix(in oklab, var(--bg,#f5f1eb) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--rule);border-radius:8px;flex-direction:column;width:min(340px,100% - 20px);animation:.2s both wpPureIn;display:flex;position:absolute;top:46px;bottom:10px;right:10px;overflow:hidden;box-shadow:0 14px 38px -18px #1e191266}.wp-steps__bar{border-bottom:1px solid var(--rule);align-items:center;gap:8px;padding:9px 12px;display:flex}.wp-steps__title{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink);flex:1;font-size:12px}.wp-steps__copy,.wp-steps__close{font-family:var(--font-mono);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:11px}.wp-steps__copy:hover,.wp-steps__close:hover{border-color:var(--accent);color:var(--accent)}.wp-steps__list{flex:1;gap:2px;margin:0;padding:6px;list-style:none;display:grid;overflow-y:auto}.wp-steps__item{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;gap:9px;width:100%;padding:7px 9px;transition:background .16s,border-color .16s,opacity .16s;display:flex}.wp-steps__item:hover{background:color-mix(in oklab, var(--accent) 8%, transparent)}.wp-steps__item.is-active{background:color-mix(in oklab, var(--accent) 14%, transparent);border-color:var(--accent)}.wp-steps__item.is-future{opacity:.42}.wp-steps__num{width:22px;height:22px;font-family:var(--font-mono);color:var(--accent);border:1px solid color-mix(in oklab, var(--accent) 50%, transparent);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.wp-steps__text{color:var(--ink);font-size:12.5px;line-height:1.55}.wp-steps__nav{border-top:1px solid var(--rule);justify-content:center;align-items:center;gap:8px;padding:8px 12px;display:flex}.wp-steps__nav button{border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:13px}.wp-steps__nav button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.wp-steps__nav button:disabled{opacity:.35;cursor:not-allowed}.wp-steps__pos{font-family:var(--font-mono);color:var(--ink-2);text-align:center;min-width:72px;font-size:11px}@media (max-width:640px){.wp-steps{width:calc(100% - 12px);top:44px;bottom:6px;right:6px}}.wp-steps__body{flex-direction:column;gap:2px;min-width:0;display:flex}.wp-steps__cmd{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.wp-steps__item.is-active .wp-steps__cmd{color:var(--ink-2)}.wp-steps__play{font-family:var(--font-mono);font-size:11px;padding:4px 12px!important}.wp-steps__play.is-on{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--bg)!important}.wp-steps__hint{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-soft);text-align:center;border-top:1px dashed var(--rule);padding:6px 12px 9px;font-size:10px}.wp-pure-hint{z-index:2;font-family:var(--font-mono);letter-spacing:.08em;color:var(--bg);background:color-mix(in oklab, var(--ink) 88%, transparent);pointer-events:none;border-radius:999px;padding:8px 18px;font-size:11.5px;animation:3.2s forwards wpPureHint;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}@keyframes wpPureHint{0%{opacity:0;transform:translate(-50%)translateY(8px)}12%,72%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(0)}}.wp-tile--matlab .wp-tile__status{letter-spacing:.08em}.wp-matlab-studio.is-open{grid-template-rows:1fr;grid-template-columns:clamp(300px,26vw,400px) minmax(0,1fr);display:grid}.wp-matlab__side{border-right:1px solid var(--rule);background:var(--bg-elev);flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex}.wp-matlab__side-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.wp-matlab__logo{font-family:var(--font-mono);letter-spacing:.1em;color:var(--ink);font-size:13px}.wp-matlab__mcp{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--rule);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:10px}.wp-matlab__mcp--up{color:#3e7c5f;border-color:#3e7c5f}.wp-matlab__mcp--down{color:#b43e3e;border-color:#b43e3e}.wp-matlab__chat{flex-direction:column;flex:1;gap:8px;min-height:0;padding:4px 2px;display:flex;overflow-y:auto}.wp-matlab__empty{color:var(--ink-soft);border:1px dashed var(--rule);border-radius:8px;padding:12px 14px;font-size:12.5px;line-height:1.8}.wp-matlab__msg{white-space:pre-wrap;word-break:break-word;border-radius:10px;max-width:95%;padding:8px 11px;font-size:13px;line-height:1.65}.wp-matlab__msg--user{background:color-mix(in oklab, var(--accent) 14%, transparent);color:var(--ink);align-self:flex-end}.wp-matlab__msg--assistant{background:color-mix(in oklab, var(--ink) 5%, transparent);color:var(--ink-2);font-family:var(--font-mono);align-self:flex-start;font-size:12px}.wp-matlab__error{font-family:var(--font-mono);color:#b43e3e;border:1px solid #b43e3e66;border:1px solid lab(44.0895% 48.5702 27.5154/.4);border-radius:6px;padding:6px 10px;font-size:11.5px}.wp-matlab__main{flex-direction:column;min-width:0;min-height:0;display:flex}.wp-matlab__panes{background:var(--rule);flex:1;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1px;min-height:0;display:grid}.wp-matlab__pane{background:var(--bg);flex-direction:column;min-height:0;display:flex}.wp-matlab__pane-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule);padding:8px 14px 6px;font-size:10.5px}.wp-matlab__code{resize:none;min-height:0;color:var(--ink);font-family:var(--font-mono);tab-size:4;background:0 0;border:none;outline:none;flex:1;padding:14px 16px;font-size:12.5px;line-height:1.7}.wp-matlab__console{min-height:0;font-family:var(--font-mono);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;background:color-mix(in oklab, var(--ink) 3%, transparent);flex:1;margin:0;padding:14px 16px;font-size:12px;line-height:1.7;overflow:auto}.wp-matlab__console.is-error{color:#b43e3e}@media (max-width:880px){.wp-matlab-studio.is-open{grid-template-rows:minmax(0,42%) minmax(0,1fr);grid-template-columns:1fr}.wp-matlab__side{border-right:none;border-bottom:1px solid var(--rule)}.wp-matlab__panes{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr}}
.v-notebook{z-index:5;min-height:100vh;padding-top:64px;position:relative}.nb-paper{z-index:0;pointer-events:none;background-image:linear-gradient(90deg,#0000 88px,#b43e3e38 88px 90px,#0000 90px),repeating-linear-gradient(#0000,#0000 31px,#645a461a 31px 32px);background-color:var(--bg);position:fixed;inset:0}@media (max-width:700px){.nb-paper{background-image:linear-gradient(90deg,#0000 44px,#b43e3e2e 44px 46px,#0000 46px),repeating-linear-gradient(#0000,#0000 31px,#645a461a 31px 32px)}}.nb-wrap{z-index:5;max-width:900px;margin:0 auto;padding:0 24px 80px 108px;position:relative}@media (max-width:700px){.nb-wrap{padding:0 16px 60px 56px}}.nb-cover{border-bottom:2px solid var(--rule);grid-template-columns:56px 1fr 200px;align-items:start;gap:32px;padding:56px 0 48px;display:grid}@media (max-width:860px){.nb-cover{grid-template-columns:48px 1fr}.nb-doodle{grid-column:2/3;margin-top:24px}}@media (max-width:600px){.nb-cover{grid-template-columns:1fr}.nb-cover__margin{display:none}.nb-doodle{grid-column:1}}.nb-cover__margin{flex-direction:column;align-items:center;gap:12px;padding-top:8px;display:flex}.nb-cover__vol{font-family:var(--font-mono);color:var(--ink-soft);writing-mode:vertical-rl;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.nb-cover__line{background:var(--rule);flex:1;width:1px;min-height:40px}.nb-cover__body{padding-top:4px}.nb-cover__eyebrow{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px;font-size:10.5px}.nb-h1{font-family:var(--font-cn), var(--font-serif);letter-spacing:-.02em;color:var(--ink);opacity:0;transition:opacity .7s var(--ease-out-expo), transform .7s var(--ease-out-expo);margin-bottom:24px;font-size:clamp(34px,5vw,72px);font-weight:400;line-height:1.15;transform:translateY(18px)}.nb-h1.is-in{opacity:1;transform:translateY(0)}.nb-h1__em{color:var(--accent);text-underline-offset:5px;font-style:italic;-webkit-text-decoration:underline wavy #c9644259;text-decoration:underline wavy #c9644259}.nb-lead{font-family:var(--font-cn), var(--font-serif);color:var(--ink-2);white-space:pre-line;max-width:52ch;margin-bottom:20px;font-size:15.5px;line-height:1.85}.nb-stamp{font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.06em;font-size:11px}.nb-stamp__date{font-variant-numeric:tabular-nums}.nb-doodle{border:1px dashed var(--rule);background:var(--bg-elev);border-radius:2px;padding:14px 16px;position:relative}.nb-doodle:before{content:"";border:1px solid var(--rule-soft);pointer-events:none;border-radius:3px;position:absolute;inset:-1px}.nb-doodle__label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;font-size:9.5px}.nb-doodle__vinyl{text-align:center;margin-bottom:6px}.nb-doodle__disc{color:var(--ink-2);font-size:32px;animation:8s linear infinite nb-spin;display:inline-block}@keyframes nb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nb-doodle__track{font-family:var(--font-cn), var(--font-serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-style:italic;overflow:hidden}.nb-doodle__artist{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-bottom:12px;font-size:10px;overflow:hidden}.nb-doodle__rule{border:none;border-top:1px dashed var(--rule);margin-bottom:10px}.nb-doodle__status{justify-content:space-between;gap:8px;margin-bottom:4px;display:flex}.nb-doodle__key{font-family:var(--font-mono);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;font-size:9.5px}.nb-doodle__val{font-family:var(--font-cn), var(--font-serif);color:var(--ink-2);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.nb-section-rule{align-items:center;gap:16px;margin:40px 0 24px;display:flex}.nb-section-rule:after{content:"";background:repeating-linear-gradient(to right, var(--rule), var(--rule) 4px, transparent 4px, transparent 8px);flex:1;height:1px}.nb-section-rule__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;font-size:10px}.nb-entries{flex-direction:column;gap:0;display:flex}.nb-entry{border-bottom:1px solid var(--rule-soft);color:inherit;grid-template-columns:80px 1fr;gap:24px;padding:24px 0;text-decoration:none;transition:background .2s;display:grid;position:relative}.nb-entry:hover{background:#c9644208}.nb-entry:hover .nb-entry__arrow{transform:translate(4px)}@media (max-width:600px){.nb-entry{grid-template-columns:1fr;gap:8px}.nb-entry__margin{flex-direction:row;align-items:center;gap:12px}}.nb-entry__margin{flex-direction:column;align-items:flex-end;gap:6px;padding-top:4px;display:flex}.nb-entry__num{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.1em;font-size:9.5px}.nb-entry__glyph{color:var(--accent-soft);font-size:20px;line-height:1}.nb-entry__date{font-family:var(--font-mono);color:var(--ink-faint);writing-mode:vertical-rl;letter-spacing:.08em;margin-top:4px;font-size:8.5px}@media (max-width:600px){.nb-entry__date{writing-mode:horizontal-tb}}.nb-entry__body{padding:2px 0}.nb-entry__tag{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:9px}.nb-entry__title{font-family:var(--font-cn), var(--font-serif);color:var(--ink);margin-bottom:10px;font-size:clamp(17px,2.2vw,22px);font-weight:400;line-height:1.3;transition:color .2s}.nb-entry:hover .nb-entry__title{color:var(--accent)}.nb-entry__excerpt{font-family:var(--font-cn), var(--font-serif);color:var(--ink-2);margin-bottom:12px;font-size:14px;line-height:1.75}.nb-entry__footer{justify-content:space-between;align-items:center;display:flex}.nb-entry__read{font-family:var(--font-mono);color:var(--ink-soft);letter-spacing:.06em;font-size:10px}.nb-entry__arrow{font-family:var(--font-mono);color:var(--accent);transition:transform .2s var(--ease-out-expo);font-size:13px}.nb-inks{flex-direction:column;gap:0;display:flex}.nb-ink{border-bottom:1px dashed var(--rule);font-family:var(--font-cn), var(--font-serif);color:var(--ink-2);padding:16px 0;font-size:14px;line-height:1.65}.nb-ink__name{color:var(--ink);font-weight:600}.nb-ink__sep{color:var(--ink-faint)}.nb-ink__time{font-family:var(--font-mono);color:var(--ink-faint);letter-spacing:.06em;margin-top:4px;font-size:9.5px;display:block}.nb-ink-more{font-family:var(--font-mono);color:var(--accent);letter-spacing:.08em;margin-top:16px;font-size:11px;text-decoration:none;transition:opacity .2s;display:inline-block}.nb-ink-more:hover{opacity:.7}.nb-colophon{border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-faint);margin-top:56px;padding-top:24px;font-size:10.5px;line-height:1.75}.v-notebook .reveal{opacity:0;transition:opacity .6s var(--ease-out-expo), transform .6s var(--ease-out-expo);transform:translateY(12px)}.v-notebook .reveal.is-in{opacity:1;transform:translateY(0)}
.mfairy{z-index:8200;pointer-events:none;will-change:transform;opacity:0;--mf-face:1;--mlx:0px;--mly:0px;width:64px;height:78px;transition:opacity .5s;position:fixed;top:0;left:0}.mfairy.is-live{opacity:1}.mfairy.is-behind{z-index:-1}.mfairy.is-behind .mfairy__rig{pointer-events:none}.mfairy__rig{pointer-events:auto;cursor:pointer;transform:scaleX(var(--mf-face)) rotate(var(--mf-rot,0deg));transform-origin:50% 78%;transition:transform .35s;position:absolute;inset:0}.mfairy__svg{filter:drop-shadow(0 1px 2px #1e3c3c2e);display:block}.mfairy__tail,.mfairy__arm,.mfairy__leg,.mfairy__head,.mfairy__eyes,.mfairy__pupil,.mfairy__mouth{transform-box:fill-box}.mfairy__tail{transform-origin:50% 6%;animation:2.4s ease-in-out infinite alternate mfSway}.mfairy__tail--r{animation-delay:-1.2s}.mfairy__arm{transform-origin:50% 10%}.mfairy__leg{transform-origin:50% 6%}.mfairy__head{transform-origin:50% 80%}@keyframes mfSway{0%{transform:rotate(4.5deg)}to{transform:rotate(-4.5deg)}}.mfairy__eyes--open{transform-origin:50%;animation:4.4s ease-in-out infinite mfBlink}.mfairy__eyes--happy,.mfairy__eyes--closed,.mfairy__eyes--wink,.mfairy__mouth--open,.mfairy__mouth--smile{visibility:hidden}.mfairy__pupil{transform:translate(var(--mlx), var(--mly))}@keyframes mfBlink{0%,93%,to{transform:scaleY(1)}95.5%{transform:scaleY(.1)}}.mfairy[data-mode=happy] .mfairy__eyes--open,.mfairy[data-mode=dance] .mfairy__eyes--open,.mfairy[data-mode=cozy] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=happy] .mfairy__eyes--happy,.mfairy[data-mode=dance] .mfairy__eyes--happy,.mfairy[data-mode=cozy] .mfairy__eyes--happy{visibility:visible}.mfairy[data-mode=happy] .mfairy__mouth--small,.mfairy[data-mode=cozy] .mfairy__mouth--small,.mfairy[data-mode=carry] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=happy] .mfairy__mouth--smile,.mfairy[data-mode=cozy] .mfairy__mouth--smile,.mfairy[data-mode=carry] .mfairy__mouth--smile{visibility:visible}.mfairy[data-mode=happy] .mfairy__blush,.mfairy[data-mode=cozy] .mfairy__blush{opacity:1}.mfairy[data-mode=talk] .mfairy__mouth--small,.mfairy[data-mode=dance] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=talk] .mfairy__mouth--open,.mfairy[data-mode=dance] .mfairy__mouth--open{visibility:visible;transform-origin:50% 20%;animation:.34s ease-in-out infinite mfTalk}@keyframes mfTalk{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}.mfairy[data-mode=sleep] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=sleep] .mfairy__eyes--closed{visibility:visible}.mfairy[data-mode=peek] .mfairy__eyes--open,.mfairy[data-mode=startle] .mfairy__eyes--open{animation:none;transform:scale(1.12)}.mfairy[data-mode=walk] .mfairy__leg--l{animation:.46s linear infinite mfStepA}.mfairy[data-mode=walk] .mfairy__leg--r,.mfairy[data-mode=walk] .mfairy__arm--l{animation:.46s linear infinite mfStepB}.mfairy[data-mode=walk] .mfairy__arm--r{animation:.46s linear infinite mfStepA}.mfairy[data-mode=walk] .mfairy__head{animation:.46s linear infinite mfHeadBob}@keyframes mfStepA{0%,to{transform:rotate(22deg)}50%{transform:rotate(-22deg)}}@keyframes mfStepB{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}@keyframes mfHeadBob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}.mfairy[data-mode=fly] .mfairy__rig{--mf-rot:-5deg}.mfairy[data-mode=fly] .mfairy__leg{transform:rotate(14deg)}.mfairy[data-mode=fly] .mfairy__tail{animation-duration:.9s}.mfairy[data-mode=fly] .mfairy__shadow{opacity:.3;transform:scale(.6)}.mfairy[data-mode=swim] .mfairy__rig{--mf-rot:-68deg}.mfairy[data-mode=swim] .mfairy__leg--l{animation:.4s linear infinite mfKickA}.mfairy[data-mode=swim] .mfairy__leg--r{animation:.4s linear infinite mfKickB}.mfairy[data-mode=swim] .mfairy__arm--l{animation:.8s ease-in-out infinite mfStroke}.mfairy[data-mode=swim] .mfairy__arm--r{animation:.8s ease-in-out .4s infinite mfStroke}.mfairy[data-mode=swim] .mfairy__tail{animation-duration:1.1s}.mfairy[data-mode=swim] .mfairy__shadow{opacity:0}@keyframes mfKickA{0%,to{transform:rotate(16deg)}50%{transform:rotate(-16deg)}}@keyframes mfKickB{0%,to{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}@keyframes mfStroke{0%,to{transform:rotate(-60deg)}50%{transform:rotate(40deg)}}.mfairy[data-mode=peek] .mfairy__arm--l{transform:rotate(150deg)}.mfairy[data-mode=peek] .mfairy__arm--r{transform:rotate(-150deg)}.mfairy[data-mode=peek] .mfairy__shadow{opacity:0}.mfairy[data-mode=sit] .mfairy__leg,.mfairy[data-mode=talk] .mfairy__leg{transform:rotate(74deg)}.mfairy[data-mode=sit] .mfairy__rig{animation:3.4s ease-in-out infinite mfSitSway}@keyframes mfSitSway{0%,to{transform:scaleX(var(--mf-face)) rotate(-1.5deg)}50%{transform:scaleX(var(--mf-face)) rotate(1.5deg)}}.mfairy[data-mode=talk] .mfairy__head{animation:.68s ease-in-out infinite mfHeadBob}.mfairy[data-mode=carry] .mfairy__arm--l{transform:rotate(158deg)}.mfairy[data-mode=carry] .mfairy__arm--r{transform:rotate(-158deg)}.mfairy[data-mode=carry] .mfairy__leg{transform:rotate(10deg)}.mfairy[data-mode=carry] .mfairy__tail{animation-duration:1.1s}.mfairy[data-mode=carry] .mfairy__shadow{opacity:.3;transform:scale(.6)}.mfairy[data-mode=cozy] .mfairy__leg--l{transform:rotate(76deg)translateY(-1px)}.mfairy[data-mode=cozy] .mfairy__leg--r{transform:rotate(102deg)translateY(-2.5px)}.mfairy[data-mode=cozy] .mfairy__arm--l{transform:rotate(24deg)}.mfairy[data-mode=cozy] .mfairy__arm--r{transform:rotate(-24deg)}.mfairy[data-mode=cozy] .mfairy__rig{animation:4.2s ease-in-out infinite mfCozySway}.mfairy[data-mode=cozy] .mfairy__head{animation:4.2s ease-in-out infinite mfCozyTilt}@keyframes mfCozySway{0%,to{transform:scaleX(var(--mf-face)) rotate(-1deg)}50%{transform:scaleX(var(--mf-face)) rotate(1.6deg)}}@keyframes mfCozyTilt{0%,to{transform:rotate(-2.4deg)}50%{transform:rotate(2.4deg)}}.mfairy[data-mode=dance] .mfairy__rig{animation:.62s ease-in-out infinite mfDance}.mfairy[data-mode=dance] .mfairy__arm--l{animation:.62s ease-in-out infinite mfArmUpA}.mfairy[data-mode=dance] .mfairy__arm--r{animation:.62s ease-in-out infinite mfArmUpB}.mfairy[data-mode=dance] .mfairy__tail{animation-duration:.62s}@keyframes mfDance{0%,to{transform:scaleX(var(--mf-face)) translateY(0) rotate(-7deg)}25%{transform:scaleX(var(--mf-face)) translateY(-9px) rotate(0deg)}50%{transform:scaleX(var(--mf-face)) translateY(0) rotate(7deg)}75%{transform:scaleX(var(--mf-face)) translateY(-9px) rotate(0deg)}}@keyframes mfArmUpA{0%,to{transform:rotate(150deg)}50%{transform:rotate(115deg)}}@keyframes mfArmUpB{0%,to{transform:rotate(-115deg)}50%{transform:rotate(-150deg)}}.mfairy[data-mode=spin] .mfairy__rig{animation:1.3s cubic-bezier(.45,0,.4,1) mfSpin}@keyframes mfSpin{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(540deg)scale(1.08)}to{transform:rotateY(1080deg)scale(1)}}.mfairy[data-mode=jump] .mfairy__rig{animation:.9s cubic-bezier(.34,1.3,.5,1) mfJump}@keyframes mfJump{0%{transform:scaleX(var(--mf-face)) translateY(0) scaleY(1)}18%{transform:scaleX(var(--mf-face)) translateY(2px) scaleY(.82)}50%{transform:scaleX(var(--mf-face)) translateY(-26px) scaleY(1.08)}82%{transform:scaleX(var(--mf-face)) translateY(1px) scaleY(.9)}to{transform:scaleX(var(--mf-face)) translateY(0) scaleY(1)}}.mfairy[data-mode=wave] .mfairy__arm--r{animation:.42s ease-in-out infinite mfWave}.mfairy[data-mode=wave] .mfairy__rig{animation:1.6s ease-in-out infinite mfSitSway}@keyframes mfWave{0%,to{transform:rotate(-150deg)}50%{transform:rotate(-110deg)}}.mfairy[data-mode=happy] .mfairy__rig{animation:.5s ease-in-out infinite mfHop}@keyframes mfHop{0%,to{transform:scaleX(var(--mf-face)) translateY(0)}50%{transform:scaleX(var(--mf-face)) translateY(-6px)}}.mfairy[data-mode=sleep] .mfairy__rig{--mf-rot:7deg}.mfairy[data-mode=sleep] .mfairy__tail{animation-duration:5s}.mfairy[data-mode=startle] .mfairy__rig{animation:.4s ease-in-out 2 mfStartle}@keyframes mfStartle{0%,to{transform:scaleX(var(--mf-face)) translate(0, 0) rotate(0)}25%{transform:scaleX(var(--mf-face)) translate(-2px, -7px) rotate(-5deg)}60%{transform:scaleX(var(--mf-face)) translate(2px, 0) rotate(4deg)}}.mfairy[data-mode=shy] .mfairy__arm--l{transform:rotate(152deg)}.mfairy[data-mode=shy] .mfairy__arm--r{transform:rotate(-152deg)}.mfairy[data-mode=shy] .mfairy__head{transform:rotate(6deg)translateY(1.5px)}.mfairy[data-mode=shy] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=shy] .mfairy__eyes--closed{visibility:visible}.mfairy[data-mode=shy] .mfairy__blush{opacity:1;transform:scale(1.5)}.mfairy[data-mode=shy] .mfairy__rig{animation:.7s ease-in-out infinite mfSquirm}@keyframes mfSquirm{0%,to{transform:scaleX(var(--mf-face)) rotate(-1.6deg)}50%{transform:scaleX(var(--mf-face)) rotate(1.6deg)}}.mfairy[data-mode=cry] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=cry] .mfairy__eyes--closed{visibility:visible}.mfairy[data-mode=cry] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=cry] .mfairy__mouth--open{visibility:visible;transform:scale(.7)}.mfairy[data-mode=cry] .mfairy__arm--l{transform:rotate(140deg)}.mfairy[data-mode=cry] .mfairy__arm--r{transform:rotate(-140deg)}.mfairy[data-mode=cry] .mfairy__rig{animation:.32s ease-in-out infinite mfSob}@keyframes mfSob{0%,to{transform:scaleX(var(--mf-face)) translateX(-1px)}50%{transform:scaleX(var(--mf-face)) translateX(1px) translateY(-1px)}}.mfairy[data-mode=laugh] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=laugh] .mfairy__eyes--happy{visibility:visible}.mfairy[data-mode=laugh] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=laugh] .mfairy__mouth--open{visibility:visible;transform-origin:50% 20%;animation:.26s ease-in-out infinite mfTalk}.mfairy[data-mode=laugh] .mfairy__head{transform:rotate(-4deg)translateY(-1px)}.mfairy[data-mode=laugh] .mfairy__rig{animation:.38s ease-in-out infinite mfHop}.mfairy[data-mode=kiss] .mfairy__arm--r{transform:rotate(-122deg)}.mfairy[data-mode=kiss] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=kiss] .mfairy__eyes--wink{visibility:visible}.mfairy[data-mode=kiss] .mfairy__mouth--small{visibility:visible;transform:scale(1.3)}.mfairy[data-mode=kiss] .mfairy__blush{opacity:1}.mfairy[data-mode=kiss] .mfairy__rig{transform:scaleX(var(--mf-face)) rotate(-3deg)}.mfairy[data-mode=angry] .mfairy__eyes--open .mfairy__pupil{transform:translate(var(--mlx), .5px) scale(.82)}.mfairy[data-mode=angry] .mfairy__blush{opacity:1;transform:scale(1.3)translateY(1px)}.mfairy[data-mode=angry] .mfairy__arm--l{transform:rotate(30deg)}.mfairy[data-mode=angry] .mfairy__arm--r{transform:rotate(-30deg)}.mfairy[data-mode=angry] .mfairy__rig{animation:.5s ease-in-out infinite mfStomp}.mfairy[data-mode=angry] .mfairy__leg--l{animation:.5s linear infinite mfStepA}@keyframes mfStomp{0%,to{transform:scaleX(var(--mf-face)) translateY(0) scaleY(1)}25%{transform:scaleX(var(--mf-face)) translateY(1.5px) scaleY(.96)}50%{transform:scaleX(var(--mf-face)) translateY(0) scaleY(1)}}.mfairy[data-mode=think] .mfairy__arm--r{transform:rotate(-148deg)}.mfairy[data-mode=think] .mfairy__head{transform:rotate(7deg)}.mfairy[data-mode=think] .mfairy__eyes--open .mfairy__pupil{transform:translate(1px,-2px)}.mfairy[data-mode=think] .mfairy__rig{animation:4.6s ease-in-out infinite mfSitSway}.mfairy[data-mode=cheer] .mfairy__arm--l{animation:.32s ease-in-out infinite mfArmUpA}.mfairy[data-mode=cheer] .mfairy__arm--r{animation:.32s ease-in-out infinite mfArmUpB}.mfairy[data-mode=cheer] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=cheer] .mfairy__eyes--happy{visibility:visible}.mfairy[data-mode=cheer] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=cheer] .mfairy__mouth--open{visibility:visible}.mfairy[data-mode=cheer] .mfairy__rig{animation:.45s ease-in-out infinite mfHop}.mfairy[data-mode=dizzy] .mfairy__rig{animation:.9s ease-in-out infinite mfWobble}.mfairy[data-mode=dizzy] .mfairy__eyes--open{animation:none}.mfairy[data-mode=dizzy] .mfairy__pupil{animation:.8s linear infinite mfPupilSpin}@keyframes mfWobble{0%,to{transform:scaleX(var(--mf-face)) rotate(-8deg) translateX(-3px)}50%{transform:scaleX(var(--mf-face)) rotate(8deg) translateX(3px)}}@keyframes mfPupilSpin{0%{transform:translate(1.6px)}25%{transform:translateY(1.6px)}50%{transform:translate(-1.6px)}75%{transform:translateY(-1.6px)}to{transform:translate(1.6px)}}.mfairy[data-mode=wink] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=wink] .mfairy__eyes--wink{visibility:visible}.mfairy[data-mode=wink] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=wink] .mfairy__mouth--smile{visibility:visible}.mfairy[data-mode=wink] .mfairy__head{transform:rotate(-4deg)}.mfairy[data-mode=stretch] .mfairy__arm--l{animation:2.2s ease-in-out both mfReachA}.mfairy[data-mode=stretch] .mfairy__arm--r{animation:2.2s ease-in-out both mfReachB}.mfairy[data-mode=stretch] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=stretch] .mfairy__eyes--closed{visibility:visible}.mfairy[data-mode=stretch] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=stretch] .mfairy__mouth--open{visibility:visible}.mfairy[data-mode=stretch] .mfairy__rig{animation:2.2s ease-in-out both mfReachBody}@keyframes mfReachA{0%{transform:rotate(0)}45%,80%{transform:rotate(168deg)}to{transform:rotate(20deg)}}@keyframes mfReachB{0%{transform:rotate(0)}45%,80%{transform:rotate(-168deg)}to{transform:rotate(-20deg)}}@keyframes mfReachBody{0%{transform:scaleX(var(--mf-face)) scaleY(1)}45%,80%{transform:scaleX(var(--mf-face)) scaleY(1.06) translateY(-2px)}to{transform:scaleX(var(--mf-face)) scaleY(1)}}.mfairy[data-mode=magic] .mfairy__arm--r{transform:rotate(-165deg)}.mfairy[data-mode=magic] .mfairy__arm--l{transform:rotate(20deg)}.mfairy[data-mode=magic] .mfairy__tail{animation-duration:.5s}.mfairy[data-mode=magic] .mfairy__rig{animation:1.4s ease-in-out infinite mfSitSway}.mfairy[data-mode=vibe] .mfairy__head{animation:.52s ease-in-out infinite mfHeadBang}.mfairy[data-mode=vibe] .mfairy__rig{animation:1.04s ease-in-out infinite mfSitSway}.mfairy[data-mode=vibe] .mfairy__arm--l{animation:.52s linear infinite mfStepB}.mfairy[data-mode=vibe] .mfairy__arm--r{animation:.52s linear infinite mfStepA}.mfairy[data-mode=vibe] .mfairy__eyes--open{visibility:hidden;animation:none}.mfairy[data-mode=vibe] .mfairy__eyes--happy{visibility:visible}@keyframes mfHeadBang{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-2.5px)rotate(2deg)}}.mfairy[data-mode=bounce] .mfairy__rig{animation:.55s cubic-bezier(.35,0,.65,1) infinite mfBounce}.mfairy[data-mode=bounce] .mfairy__tail{animation-duration:.55s}.mfairy[data-mode=bounce] .mfairy__shadow{animation:.55s ease-in-out infinite mfBounceShadow}@keyframes mfBounce{0%,to{transform:scaleX(var(--mf-face)) translateY(0) scaleY(.88)}40%,60%{transform:scaleX(var(--mf-face)) translateY(-22px) scaleY(1.06)}}@keyframes mfBounceShadow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.6)}}.mfairy[data-mode=fish] .mfairy__leg{transform:rotate(74deg)}.mfairy[data-mode=fish] .mfairy__arm--r{transform:rotate(-72deg)}.mfairy[data-mode=fish] .mfairy__rig{animation:4.4s ease-in-out infinite mfSitSway}.mfairy[data-mode=balance] .mfairy__arm--l{transform:rotate(78deg)}.mfairy[data-mode=balance] .mfairy__arm--r{transform:rotate(-78deg)}.mfairy[data-mode=balance] .mfairy__leg--l{animation:.9s ease-in-out infinite mfTiptoeA}.mfairy[data-mode=balance] .mfairy__leg--r{animation:.9s ease-in-out infinite mfTiptoeB}.mfairy[data-mode=balance] .mfairy__rig{animation:1.1s ease-in-out infinite mfWobbleSoft}.mfairy[data-mode=balance] .mfairy__eyes--open{animation:none}.mfairy[data-mode=balance] .mfairy__mouth--small{transform:scale(.8)}@keyframes mfTiptoeA{0%,to{transform:rotate(8deg)}50%{transform:rotate(-8deg)}}@keyframes mfTiptoeB{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes mfWobbleSoft{0%,to{transform:scaleX(var(--mf-face)) rotate(-3.5deg)}50%{transform:scaleX(var(--mf-face)) rotate(3.5deg)}}.mfairy[data-mode=push] .mfairy__rig{transform-origin:50% 95%;animation:.7s ease-in-out infinite mfShove}.mfairy[data-mode=push] .mfairy__arm--l{transform:rotate(-62deg)}.mfairy[data-mode=push] .mfairy__arm--r{transform:rotate(-74deg)}.mfairy[data-mode=push] .mfairy__leg--l{transform:rotate(20deg)}.mfairy[data-mode=push] .mfairy__leg--r{transform:rotate(-14deg)}.mfairy[data-mode=push] .mfairy__blush{opacity:1}.mfairy[data-mode=push] .mfairy__mouth--small{visibility:hidden}.mfairy[data-mode=push] .mfairy__mouth--open{visibility:visible;transform:scale(.7)}@keyframes mfShove{0%,to{transform:scaleX(var(--mf-face)) rotate(10deg) translateX(0)}45%{transform:scaleX(var(--mf-face)) rotate(13deg) translateX(2.5px)}55%{transform:scaleX(var(--mf-face)) rotate(11deg) translateX(1px)}}.mfairy[data-mode=paint] .mfairy__arm--r{animation:.8s ease-in-out infinite mfBrush;transform:rotate(-38deg)}.mfairy[data-mode=paint] .mfairy__arm--l{transform:rotate(16deg)}.mfairy[data-mode=paint] .mfairy__leg{transform:rotate(10deg)}.mfairy[data-mode=paint] .mfairy__head{transform:rotate(5deg)translateY(1px)}.mfairy[data-mode=paint] .mfairy__mouth--small{visibility:visible;transform:translate(2px)scale(.85)}.mfairy[data-mode=paint] .mfairy__shadow{opacity:.3;transform:scale(.6)}@keyframes mfBrush{0%,to{transform:rotate(-34deg)}50%{transform:rotate(-46deg)}}.mfairy__shadow{filter:blur(1px);z-index:-1;background:#19323229;border-radius:50%;width:32px;height:6px;transition:opacity .3s,transform .3s;position:absolute;bottom:-3px;left:16px}.mfairy__bubble{white-space:nowrap;font-family:var(--font-mono,monospace);color:var(--ink,#2c2620);border:1px solid var(--rule,#d8d0c4);opacity:0;pointer-events:none;z-index:7;background:#fffdfaf2;border-radius:11px;padding:4px 10px;font-size:11px;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.6)}.mfairy__bubble:after{content:"";border:4px solid #0000;border-top-color:#fffdfaf2;margin-left:-4px;position:absolute;top:100%;left:50%}.mfairy__bubble.is-on{opacity:1;transform:translate(-50%)scale(1)}.mfword--gone{visibility:hidden}.mfword-ghost{z-index:8195;white-space:nowrap;pointer-events:auto;cursor:pointer;will-change:transform;text-shadow:0 2px 12px #1e323224;position:fixed;top:0;left:0}.mfword-ghost.is-carried{text-shadow:0 6px 18px #1e323238}.mfword-ghost.is-drop,.mfword-ghost.is-return{transition:transform .65s cubic-bezier(.3,1.3,.4,1)}.mf-underline{z-index:8185;background:linear-gradient(90deg, var(--accent,#c96442), color-mix(in oklab, var(--accent,#c96442) 60%, #39c5bb));pointer-events:none;border-radius:2px;width:0;height:2.5px;transition:opacity .5s;position:fixed;top:0;left:0}.mf-underline.is-done{animation:1.1s ease-in-out 2 mfUnderlineGlow}.mf-underline.is-fade{opacity:0}@keyframes mfUnderlineGlow{0%,to{box-shadow:0 0 #c9644200}50%{box-shadow:0 0 10px 1px color-mix(in oklab, var(--accent,#c96442) 70%, transparent)}}.mfairy-fx{z-index:8190;pointer-events:none;position:fixed;inset:0;overflow:hidden}.mfx{will-change:transform, opacity;color:#39c5bb;font-size:15px;line-height:1;position:fixed}.mfx--note{animation:1.5s ease-out forwards mfxRise}.mfx--heart{color:#f0879a;animation:1.7s ease-out forwards mfxRise}.mfx--spark{color:#ffd166;font-size:12px;animation:.9s ease-out forwards mfxTwinkle}.mfx--bubble{color:#39c5bb99;font-size:10px;animation:1.9s ease-out forwards mfxBubble}.mfx--zzz{color:#8a93a1;font-family:var(--font-mono,monospace);animation:2.4s ease-out forwards mfxRise}.mfx--rain{animation:mfxRain var(--d,3s) linear forwards;opacity:.85}.mfx--burst{color:var(--c,#39c5bb);font-size:11px;animation:.95s ease-out forwards mfxBurst}.mfx--tear{font-size:9px;animation:.9s ease-in forwards mfxTear}.mfx--puff{color:#e8657f;font-size:16px;animation:1s ease-out forwards mfxPuff}.mfx--trail{color:#f0879a;font-size:13px;animation:2.2s ease-out forwards mfxTrail}.mfx--flash{pointer-events:none;background:#fff;animation:.5s ease-out forwards mfxFlash;position:fixed;inset:0}@keyframes mfxTear{0%{opacity:.95;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(26px)scale(1.05)}}@keyframes mfxPuff{0%{opacity:0;transform:scale(.3)rotate(-12deg)}25%{opacity:1;transform:scale(1.2)rotate(0)}to{opacity:0;transform:scale(1)rotate(8deg)translateY(-8px)}}@keyframes mfxTrail{0%{opacity:0;transform:scale(.6)}12%,70%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes mfxFlash{0%{opacity:0}18%{opacity:.92}to{opacity:0}}.mfx-line{transform-origin:50% 0;pointer-events:none;z-index:8190;background:linear-gradient(#39c5bbb3,#39c5bb59);width:1.5px;height:90px;animation:2.6s ease-in-out infinite mfLineSway;position:fixed;top:0;left:0}.mfx-line:after{content:"";background:radial-gradient(circle at 35% 35%,#ff9fae,#e8657f);border-radius:50%;width:7px;height:7px;position:absolute;bottom:-4px;left:-3px;box-shadow:0 0 0 1.5px #fffdfa}@keyframes mfLineSway{0%,to{rotate:-2deg}50%{rotate:2.5deg}}.mfpaint{z-index:8185;border:2.5px solid var(--ink,#2c2620);pointer-events:none;background:radial-gradient(circle at 1px 1px,#3c321e0f 1px,#0000 0) 0 0/14px 14px,#fffdf8f5;animation:.5s cubic-bezier(.3,1.3,.4,1) both mfPaintIn;position:fixed;top:0;left:0;box-shadow:5px 6px #2820162e}.mfpaint.is-done{animation:.6s both mfPaintDone}.mfpaint.is-fade{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)scale(.96)}@keyframes mfPaintIn{0%{opacity:0;transform:scale(.9)rotate(-2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes mfPaintDone{0%{transform:scale(1)}40%{transform:scale(1.04)rotate(1deg)}to{transform:scale(1)}}.mfgame-score{z-index:8210;font-family:var(--font-mono,monospace);letter-spacing:.14em;color:var(--bg-elev,#f5f1eb);background:var(--bg-ink,#2c2620);pointer-events:none;border:1px solid #39c5bb99;border-radius:999px;padding:8px 20px;font-size:13px;animation:.4s cubic-bezier(.3,1.3,.4,1) both mfPaintIn;position:fixed;top:78px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.mfpaint,.mfgame-score{animation:none}}@keyframes mfxRise{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(6px,-52px)scale(1.1)}}@keyframes mfxTwinkle{0%{opacity:1;transform:scale(0)rotate(0)}60%{opacity:1;transform:scale(1.25)rotate(80deg)}to{opacity:0;transform:scale(.2)rotate(140deg)}}@keyframes mfxBubble{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:.9}to{opacity:0;transform:translateY(-46px)translate(8px)scale(1.15)}}@keyframes mfxRain{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:.9}to{transform:translate(var(--sway,0px), 105vh) rotate(50deg);opacity:.25}}@keyframes mfxBurst{0%{opacity:1;transform:translate(0)scale(.4)}to{transform:translate(var(--dx), var(--dy)) scale(1.2);opacity:0}}@media (prefers-reduced-motion:reduce){.mfairy *,.mfx{transition:none!important;animation:none!important}.mfairy-fx,.mfword-ghost{display:none}}@media (max-width:640px){.mfairy__rig{transform:scaleX(var(--mf-face)) rotate(var(--mf-rot,0deg)) scale(.85)}}
.mstage{z-index:8750;cursor:pointer;animation:.6s both mstageIn;position:fixed;inset:0;overflow:hidden}.mstage.is-closing{animation:.5s both mstageOut}@keyframes mstageIn{0%{opacity:0}to{opacity:1}}@keyframes mstageOut{0%{opacity:1}to{opacity:0}}.mstage__canvas{width:100%;height:100%;position:absolute;inset:0}.mstage__song{white-space:nowrap;text-overflow:ellipsis;max-width:80vw;font-family:var(--font-mono,monospace);letter-spacing:.16em;color:#eafffdcc;pointer-events:none;background:#080a1880;border:1px solid #39c5bb59;border-radius:999px;padding:7px 18px;font-size:12px;position:absolute;top:26px;left:50%;overflow:hidden;transform:translate(-50%)}.mstage__lyric{text-align:center;max-width:86vw;font-family:var(--font-display,Georgia, serif);color:#f3fffd;text-shadow:0 0 18px #39c5bba6,0 0 50px #ff9fbe59,0 2px 8px #0009;pointer-events:none;font-size:clamp(20px,3.2vw,38px);line-height:1.3;position:absolute;bottom:13vh;left:50%;transform:translate(-50%)}.mstage__lyric.is-pop{animation:.55s cubic-bezier(.2,1.4,.4,1) both mstageLyric}@keyframes mstageLyric{0%{opacity:0;transform:translate(-50%)translateY(18px)scale(.92)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.mstage__hint{font-family:var(--font-mono,monospace);letter-spacing:.14em;color:#ffffff8c;text-transform:uppercase;pointer-events:none;font-size:10px;animation:3s ease-in-out infinite mstageHint;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@keyframes mstageHint{0%,to{opacity:.35}50%{opacity:.8}}.mstage--concert{background:radial-gradient(90% 55% at 50% 108%,#39c5bb33,#0000 60%),radial-gradient(120% 90%,#161034db,#04040ef2)}.mstage--fireworks{background:linear-gradient(#050714eb,#0a0c1cdb)}.mstage--sakura{background:linear-gradient(#ffedf452,#ffdeea2e)}.mstage--stars{background:linear-gradient(#06091ef0,#0d112edb)}.mstage--snow{background:linear-gradient(#d6e4f057,#e4eef833)}.mstage--confetti{background:#0000000a}.mstage__rig{pointer-events:none;position:absolute;inset:0}.mstage__beam{clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);mix-blend-mode:screen;filter:blur(7px);transform-origin:50% 0;width:17vw;height:135vh;margin-left:-8.5vw;animation:5.2s ease-in-out infinite alternate mstageBeam;position:absolute;top:-4vh;left:50%}.mstage__beam--1{background:linear-gradient(#39c5bb80,#0000 72%);animation-delay:0s}.mstage__beam--2{background:linear-gradient(#ff9fbe6b,#0000 72%);animation-duration:4.4s;animation-delay:-1.4s}.mstage__beam--3{background:linear-gradient(#a0cdff66,#0000 72%);animation-duration:6s;animation-delay:-2.6s}.mstage__beam--4{background:linear-gradient(#fff7c257,#0000 72%);animation-duration:4.9s;animation-delay:-3.4s}@keyframes mstageBeam{0%{transform:rotate(-26deg)}to{transform:rotate(26deg)}}.mstage__floor{filter:blur(10px);background:radial-gradient(#39c5bb66,#ff9fbe1f 45%,#0000 70%);width:90vw;height:26vh;animation:2.2s ease-in-out infinite alternate mstageFloor;position:absolute;bottom:-6vh;left:50%;transform:translate(-50%)}@keyframes mstageFloor{0%{opacity:.6}to{opacity:1}}.mstage__rings{mix-blend-mode:screen;background:radial-gradient(circle,#0000 38%,#39c5bb2e 40%,#0000 44%),radial-gradient(circle,#0000 58%,#ff9fbe24 60%,#0000 64%),radial-gradient(circle,#0000 76%,#ffffff1a 78%,#0000 82%);border-radius:50%;width:60vmin;height:60vmin;animation:3.2s ease-in-out infinite mstageRings;position:absolute;bottom:4vh;left:50%;transform:translate(-50%)}@keyframes mstageRings{0%,to{opacity:.7;transform:translate(-50%)scale(.92)}50%{opacity:1;transform:translate(-50%)scale(1.06)}}.mstage__moon{pointer-events:none;background:radial-gradient(circle at 38% 36%,#fffdf2,#f3ecd2 60%,#d9d2b8);border-radius:50%;width:72px;height:72px;position:absolute;top:9vh;right:12vw;box-shadow:0 0 60px 22px #fffae047}body.mstage-on #waifu{transition:transform 1s cubic-bezier(.3,.9,.3,1),left 1s cubic-bezier(.3,.9,.3,1),bottom 1s}body.mstage-live #waifu{transform-origin:50% 100%;z-index:8770!important;bottom:3vh!important;left:50%!important;transform:translate(-50%)translateY(0)scale(1.85)!important}body.mstage-live.mstage-concert #waifu{filter:drop-shadow(0 0 26px #39c5bb73)}body.mstage-live #waifu #waifu-tool{display:none}body.mstage-live #waifu #waifu-tips{color:#eafffd;text-align:center;background:#080a189e;border-color:#39c5bb80;font-size:15px}body.mstage-on:not(.mstage-live) #waifu{z-index:8770!important}@media (prefers-reduced-motion:reduce){.mstage{display:none}}@media (max-width:640px){body.mstage-live #waifu{transform:translate(-50%)translateY(0)scale(1.3)!important}.mstage__beam{width:30vw;margin-left:-15vw}}
@media (hover:none){.v-mag .index-table__row:hover{border-color:var(--rule);background:0 0;padding-left:0}.v-mag .index-table__row:hover .index-table__title{color:var(--ink)}.v-mag .index-table__row:hover .index-table__date,.v-mag .index-table__row:hover .index-table__no,.v-mag .index-table__row:hover .index-table__excerpt,.v-mag .index-table__row:hover .index-table__meta{color:var(--ink-2)}.v-mag .index-table__row:hover:before{width:0}.v-mag .work-card:hover{box-shadow:none;transform:none}.v-mag .work-card:hover .work-card__art .glyph{opacity:.11;transform:none}.v-atlas .map:hover .zone{opacity:1}.v-atlas .atlas-strips .strip:hover{background:#ffffff0a;transform:none}}@media (pointer:coarse){.miku-hub__sat-btn{min-width:44px;min-height:44px}.variant-rail button{padding:10px 12px}.ab-panel__close,.ab-panel__reset,.ab-panel__attach,.ab-panel__send{min-width:40px;min-height:40px}.mfairy__rig{cursor:default}}.miku-hub,.variant-rail{bottom:calc(24px + env(safe-area-inset-bottom,0px))}@media (max-width:720px){.miku-hub{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (max-width:640px){body.redesign-on{overflow-x:hidden}.ab-panel{border-radius:14px 14px 10px 10px}.ab-panel__input{font-size:16px}.music-panel{width:min(380px,100vw - 16px)}.variant-rail{-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:calc(100vw - 88px);overflow-x:auto}.variant-rail::-webkit-scrollbar{display:none}.mstage__lyric{max-width:92vw;font-size:clamp(17px,5.4vw,26px);bottom:16vh}.mstage__song{max-width:88vw;font-size:10px;top:14px}.mstage__hint{bottom:calc(10px + env(safe-area-inset-bottom,0px))}.v-mag .folio:before,.v-mag .feature:before,.v-mag .index-table:before,.v-mag .work-spread:before{font-size:clamp(80px,30vw,160px)}.v-mag .feature__lead:first-letter{font-size:2.6em}.v-atlas .atlas-hero:after{font-size:clamp(100px,34vw,200px)}.v-atlas .zone-detail:after{font-size:clamp(70px,26vw,140px)}.v-atlas .zone-detail__side h3{font-size:clamp(40px,11vw,64px)}.v-atlas .atlas-strips{padding:28px 20px}}@media (max-width:400px){.miku-hub{right:10px}.mfairy__rig{transform:scaleX(var(--mf-face)) rotate(var(--mf-rot,0deg)) scale(.72)}}
