:root:has(.companion-theme){--companion-bg:#172b24;--companion-panel:rgba(255,255,255,.045);--companion-profile-panel:rgba(24,52,44,.55);--companion-panel-soft:rgba(255,255,255,.025);--companion-row-panel:transparent;--companion-text:#f2f5f1;--companion-text-secondary:#a7b8af;--companion-text-muted:#73877d;--companion-border:rgba(170,205,186,.08);--companion-row-border:rgba(170,205,186,.055);--companion-accent:#d5e3bf;--companion-live-dot:#a7c794;--companion-selected:rgba(213,227,191,.13);--companion-hover:rgba(209,220,184,.07);--companion-row-hover:rgba(213,227,191,.045);--companion-avatar:#c5d6c5;--companion-avatar-bg:rgba(213,227,191,.06);--companion-honor:#d4b46a;--companion-points:#b99b74;--companion-point-gain:#c3a47d;--companion-rank-gold:#d4b46a;--companion-rank-silver:#b6bfb9;--companion-rank-bronze:#bfa080;--companion-copy:#9fb39f;--companion-copy-hover:#e7d197;--companion-copied:#c8e5b5;--companion-content-hover:#f0da9d;--companion-warning:#c8c5a6;--companion-error:#e3c4a2;--companion-retry:#e8d294;--companion-login-bg:#d1dcb8;--companion-login-text:#263d2e;--companion-login-border:rgba(207,223,187,.18);--companion-focus:#e5c987;--companion-scrollbar:#506757;--companion-cow-filter:drop-shadow(0 6px 8px rgba(0,0,0,.22)) drop-shadow(0 2px 2px rgba(0,0,0,.14));--companion-ground:rgba(0,0,0,.24);--companion-ambient:rgba(205,224,190,.09);--companion-ambient-soft:rgba(205,224,190,.04);--companion-toast-bg:rgba(25,54,43,.96);--companion-toast-success:#aacba4;--companion-toast-error:#c59486}:root:has(.companion-theme[data-companion-theme=light]){--companion-bg:#f5f7f3;--companion-panel:#fff;--companion-profile-panel:#fff;--companion-panel-soft:#f0f4ee;--companion-row-panel:rgba(255,255,255,.4);--companion-text:#24322c;--companion-text-secondary:#718078;--companion-text-muted:#87978e;--companion-border:#dfe7e1;--companion-row-border:#e4eae5;--companion-accent:#315e4b;--companion-live-dot:#72906b;--companion-selected:#e7f0eb;--companion-hover:rgba(49,94,75,.055);--companion-row-hover:rgba(49,94,75,.035);--companion-avatar:#637f6c;--companion-avatar-bg:#f0f4ee;--companion-honor:#b28638;--companion-points:#c67a38;--companion-point-gain:#b9783b;--companion-rank-gold:#b78b3e;--companion-rank-silver:#7b8f84;--companion-rank-bronze:#ad8063;--companion-copy:#7c9385;--companion-copy-hover:#315e4b;--companion-copied:#507746;--companion-content-hover:#315e4b;--companion-warning:#95805c;--companion-error:#aa7049;--companion-retry:#8e6d32;--companion-login-bg:#e7f0eb;--companion-login-text:#315e4b;--companion-login-border:#dfe7e1;--companion-focus:#638875;--companion-scrollbar:#becdc1;--companion-cow-filter:drop-shadow(0 5px 7px rgba(67,89,74,.10)) drop-shadow(0 2px 2px rgba(67,89,74,.06));--companion-ground:rgba(67,89,74,.11);--companion-ambient:rgba(231,240,221,.35);--companion-ambient-soft:rgba(255,252,242,.18);--companion-toast-bg:#fff;--companion-toast-success:#6f9166;--companion-toast-error:#aa7162}body:has(.is-companion-workspace){min-width:0;background:var(--companion-bg,#172b24);overflow:hidden}body:has(.is-companion-workspace):before{display:none}.site-main.is-companion-workspace{height:100dvh;min-height:0;overflow:hidden;background:var(--companion-bg);color:var(--companion-text)}.companion-theme{color-scheme:dark}.companion-theme[data-companion-theme=light]{color-scheme:light}.companion-experience{display:flex;flex-direction:column;width:100%;max-width:400px;height:100dvh;margin-inline:auto;font-size:12px;line-height:1.5}.companion-experience button{cursor:pointer}.companion-experience a,.companion-experience button{transition:background-color .14s ease,color .14s ease,border-color .14s ease}.companion-experience a:focus-visible,.companion-experience button:focus-visible{outline:2px solid var(--companion-focus);outline-offset:2px}.companion-status{display:inline-flex;align-items:center;gap:4px;flex:none;margin-left:auto;padding:0;border:0;background:transparent;color:var(--companion-text-secondary);font-size:10px;font-weight:400;white-space:nowrap}.companion-status>span{font-size:8px}.companion-status>span:empty{display:none}.companion-status.is-live{color:var(--companion-accent)}.companion-status.is-live>span{color:var(--companion-live-dot)}.companion-status.is-initializing,.companion-status.is-unknown{color:var(--companion-text-muted)}.companion-status.is-reconnecting{color:var(--companion-warning)}button.companion-status:hover{color:var(--companion-accent)}.companion-content{--companion-workspace-gutter:14px;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;padding:10px var(--companion-workspace-gutter) 20px}.companion-content>*{min-width:0}.companion-card{border:1px solid var(--companion-border);background:var(--companion-panel);border-radius:13px}.companion-profile{position:relative;min-height:74px;padding:8px 13px;background:var(--companion-profile-panel)}.companion-access{flex:1;min-height:0;display:grid;place-items:center;padding:20px 14px;overflow-y:auto}.companion-access-card{width:100%;padding:28px 18px;text-align:center}.companion-access-icon{display:block;margin-bottom:14px;font-size:42px;line-height:1.2}.companion-access-card h2{margin:0;font-size:17px;font-weight:600}.companion-access-card p{margin:12px 0 20px;color:var(--companion-text-secondary);font-size:12px;line-height:1.8}.companion-access-card .companion-login{justify-content:center;min-height:40px;padding-inline:24px;font-size:13px}.companion-identity{display:flex;align-items:center;gap:10px;min-height:42px;min-width:0}.companion-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;color:var(--companion-avatar);background:var(--companion-avatar-bg)}.companion-avatar img{width:100%;height:100%}.companion-user-copy{flex:1;min-width:0}.companion-identity-heading{display:flex;align-items:center;gap:8px;min-width:0;padding-right:32px}.companion-profile-actions{position:absolute;top:4px;right:10px;display:flex;align-items:center;gap:3px}.companion-profile:has(.companion-store-entry) .companion-identity-heading{padding-right:65px}.companion-theme-toggle{position:absolute;top:4px;right:10px}.companion-profile-actions>.companion-theme-toggle{position:static}.companion-store-entry,.companion-theme-toggle{display:grid;place-items:center;flex:none;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--companion-text-secondary)}.companion-store-entry:hover,.companion-theme-toggle:hover{background:var(--companion-hover);color:var(--companion-accent)}.companion-store-entry svg,.companion-theme-toggle svg{opacity:.8;transition:opacity .18s ease}.companion-store-entry:hover svg,.companion-theme-toggle:hover svg{opacity:1}.companion-toast{position:absolute;z-index:30;top:calc(100% + 8px);right:-1px;display:flex;align-items:center;gap:6px;width:fit-content;max-width:calc(100% - 78px);height:32px;padding:0 12px;border:1px solid var(--companion-border);border-radius:11px;background:var(--companion-toast-bg);color:var(--companion-text);font-size:13px;line-height:1;cursor:default;pointer-events:none}.companion-toast-icon{flex:none;color:var(--companion-text-secondary)}.companion-toast.is-success .companion-toast-icon{color:var(--companion-toast-success)}.companion-toast.is-warning .companion-toast-icon{color:var(--companion-warning)}.companion-toast.is-error .companion-toast-icon{color:var(--companion-toast-error)}.companion-toast-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-toast-reward{flex:none;color:var(--companion-points);font-variant-numeric:tabular-nums}.companion-toast[data-phase=enter]{animation:companion-toast-enter .18s ease-out both}.companion-toast[data-phase=exit]{animation:companion-toast-exit .2s ease-in both}.companion-content:has(.companion-toast)>.companion-board-intro small{visibility:hidden}@keyframes companion-toast-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes companion-toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.companion-theme-moon,[data-companion-theme=light] .companion-theme-sun{display:none}[data-companion-theme=light] .companion-theme-moon{display:block}.companion-display-name{flex:1;display:flex;align-items:center;gap:4px;min-width:0}.companion-display-name>strong{min-width:0;font-size:14px;font-weight:600}.companion-display-name>strong,.companion-user-caption{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.companion-user-caption{margin-top:4px;font-size:11px;color:var(--companion-text-secondary)}.companion-honor{display:flex;align-items:center;flex:none;font-size:10px;color:var(--companion-honor)}.companion-honor>img,.companion-honor>svg{width:13px;height:13px;flex:none;object-fit:contain}.companion-login{display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:7px 10px;flex:none;border:1px solid var(--companion-login-border);border-radius:8px;background:var(--companion-login-bg);color:var(--companion-login-text);font-size:11px;font-weight:650}.companion-connection-note{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--companion-warning);font-size:10px}.companion-connection-note>span{flex:1;min-width:0}.companion-connection-note button{flex:none;padding:4px 0 4px 6px;border:0;background:transparent;color:var(--companion-retry);font-size:10px}.companion-points{display:flex;justify-content:flex-end;align-items:baseline;gap:7px;margin-top:2px}.companion-points-label{color:var(--companion-text-muted);font-size:10px}.companion-point-value{position:relative;display:inline-flex;justify-content:flex-end;color:var(--companion-points);font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}.companion-point-number{display:inline-block;min-width:4ch;text-align:right;font-weight:600;transform-origin:right center}.companion-point-number.is-increasing{animation:companion-point-bounce .7s ease-out}.companion-point-gain{position:absolute;right:0;top:-10px;color:var(--companion-point-gain);font-size:10px;font-weight:500;white-space:nowrap;pointer-events:none;animation:companion-point-rise .7s ease-out}@keyframes companion-point-bounce{0%,to{transform:scale(1)}28%{transform:scale(1.08)}}@keyframes companion-point-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.companion-point-gain,.companion-point-number.is-increasing{animation-duration:1ms}}.companion-board-intro{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 2px 8px}.companion-board-intro>span{color:var(--companion-text);font-size:13px;font-weight:600}.companion-board-intro small{font-size:10px;color:var(--companion-text-muted)}.companion-rankings{display:flex;flex-direction:column;min-height:0;overflow:hidden}.companion-tabs{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border-radius:10px;background:var(--companion-panel-soft)}.companion-tabs button{min-width:0;min-height:30px;padding:5px 8px;border:0;border-radius:7px;background:transparent;color:var(--companion-text-secondary);font-size:11px}.companion-tabs button[aria-selected=true]{background:var(--companion-selected);color:var(--companion-accent);font-weight:600}.companion-tabs button:hover{background:var(--companion-hover)}.companion-tabs button:focus-visible{outline-offset:-2px}.companion-ranking{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:8px;overflow:hidden}.companion-ranking[hidden]{display:none}.companion-ranking:focus-visible{outline-offset:-2px}.companion-danmu-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:var(--companion-scrollbar) transparent;list-style:none;margin:0;padding:0 0 4px}.companion-danmu-row{display:grid;grid-template-columns:24px minmax(0,1fr) max-content 28px;align-items:center;column-gap:6px;min-height:46px;padding:7px 4px;border-top:1px solid var(--companion-row-border);border-radius:8px;background:var(--companion-row-panel);transition:background-color .14s ease}.companion-danmu-row:focus-within,.companion-danmu-row:hover{background:var(--companion-row-hover)}.companion-rank{color:var(--companion-text-muted);font-size:11px;text-align:center;font-variant-numeric:tabular-nums}.companion-danmu-row:first-child .companion-rank{color:var(--companion-rank-gold)}.companion-danmu-row:nth-child(2) .companion-rank{color:var(--companion-rank-silver)}.companion-danmu-row:nth-child(3) .companion-rank{color:var(--companion-rank-bronze)}.companion-danmu-content{display:block;min-width:0;margin:0;padding:0;border:0;background:transparent;color:var(--companion-text);font-size:11px;line-height:1.6;text-align:left;user-select:text}.companion-danmu-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.companion-danmu-content:hover{color:var(--companion-content-hover)}.companion-count{min-width:32px;color:var(--companion-text-secondary);font-size:10px;font-variant-numeric:tabular-nums;text-align:right}.companion-copy{display:grid;place-items:center;flex:none;width:28px;height:32px;padding:0;border:0;border-radius:6px;color:var(--companion-copy);background:transparent}.companion-copy:hover{color:var(--companion-copy-hover);background:var(--companion-hover)}.companion-danmu-row.is-copied .companion-copy{color:var(--companion-copied)}.companion-copy-error{grid-column:2/-1;margin:0 0 3px;color:var(--companion-error);font-size:9px}.companion-copy-error p{margin:0 0 4px}.companion-copy-error textarea{width:100%;padding:6px;border:1px solid var(--companion-border);border-radius:4px;background:var(--companion-bg);color:var(--companion-text);font-size:11px;resize:vertical}.companion-empty{flex:1;min-height:0;display:grid;place-items:center;margin:0;padding:15px;color:var(--companion-text-secondary);font-size:10px}.companion-stage{position:relative;justify-self:center;width:min(clamp(201.6px,33.6dvh,268px),78.4%);aspect-ratio:1/1;margin-top:18px}.companion-cow{display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;font-family:inherit;line-height:inherit}.companion-cow,.cow-companion-visual{width:100%;height:100%;aspect-ratio:1/1}.cow-companion-visual{position:relative;isolation:isolate;display:block;flex:none}.cow-companion-visual:after,.cow-companion-visual:before{content:"";position:absolute;pointer-events:none}.cow-companion-visual:before{z-index:0;inset:6% -12% 0;background:radial-gradient(ellipse at 50% 58%,var(--companion-ambient) 0,var(--companion-ambient-soft) 32%,transparent 70%)}.cow-companion-visual:after{z-index:1;left:8%;bottom:7.5%;width:84%;height:5%;border-radius:50%;background:var(--companion-ground);filter:blur(5px)}.cow-companion-visual img{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:var(--companion-cow-filter);opacity:0;pointer-events:none;user-select:none}.cow-companion-visual img.is-current{opacity:1}.companion-workspace-body{display:flex;flex:1;min-height:0}.companion-workspace-body[hidden]{display:none}.companion-content>.companion-stage{width:100%;aspect-ratio:auto}.companion-content>.companion-stage>.companion-cow{width:min(clamp(201.6px,33.6dvh,268px),78.4%);height:auto;margin-inline:auto}.companion-store{flex:1;min-height:0;overflow-y:auto;padding:16px 14px 24px;color:var(--companion-text);background:var(--companion-bg)}.companion-store-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:18px}.companion-store-header button{display:flex;align-items:center;gap:7px;padding:6px 0;border:0;background:transparent;color:var(--companion-text);font:inherit;font-size:14px}.companion-store-header>span{color:var(--companion-points);font-variant-numeric:tabular-nums}.companion-preview-tabs,.companion-store-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:15px}.companion-preview-tabs button,.companion-store-tabs button{flex:none;padding:6px 12px;border:0;border-radius:8px;background:transparent;color:var(--companion-text-secondary);font:inherit}.companion-preview-tabs button[aria-pressed=true],.companion-store-tabs button[aria-pressed=true]{color:var(--companion-accent);background:var(--companion-selected)}.companion-preview-tabs button:hover,.companion-store-tabs button:hover{background:var(--companion-hover)}.companion-store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.companion-product-card{min-width:0;padding:0 0 12px;overflow:hidden;border:1px solid var(--companion-border);border-radius:13px;background:var(--companion-panel);color:var(--companion-text);text-align:left;font:inherit}.companion-product-card:hover{background:var(--companion-hover)}.companion-product-card small,.companion-product-card strong,.companion-product-card>span{display:block;padding:0 10px}.companion-product-card strong{margin:9px 0 4px;font-size:12px;font-weight:500}.companion-product-card>span{color:var(--companion-points);font-size:11px}.companion-product-card small{margin-top:3px;color:var(--companion-text-muted);font-size:10px}.companion-product-image{width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:var(--companion-panel-soft)}.companion-product-image img{display:block;width:100%;height:100%;object-fit:contain}.companion-product-placeholder{display:grid;place-items:center;color:var(--companion-text-muted)}.companion-preview-frame{display:grid;place-items:center;height:280px}.companion-preview-frame>.companion-product-image{width:min(100%,280px);height:280px;border-radius:16px}.companion-preview-frame>.companion-stage{width:268px;max-width:100%;height:268px;margin:0}.companion-preview-tabs{justify-content:center;margin-top:14px;padding-bottom:0}.companion-product-detail{text-align:center}.companion-product-detail h1{margin:22px 0 5px;font-size:17px;font-weight:500}.companion-product-price{color:var(--companion-points);margin:0 0 24px}.companion-store-primary{width:100%;min-height:40px;padding:8px 14px;border:1px solid var(--companion-login-border);border-radius:10px;background:var(--companion-login-bg);color:var(--companion-login-text);font:inherit}.companion-store button:disabled{opacity:.55;cursor:default}.companion-store-empty,.companion-store-message{color:var(--companion-text-secondary);font-size:12px}.companion-store-message button{border:0;background:transparent;color:var(--companion-accent)}.companion-store-empty{padding-block:32px;text-align:center}.companion-purchase-confirm{font-size:13px}.companion-purchase-confirm>div{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.companion-purchase-confirm button{padding:8px 16px;border:1px solid var(--companion-border);border-radius:8px;background:var(--companion-selected);color:var(--companion-text)}body:has(.is-companion-workspace) .account-dialog:has(.companion-purchase-confirm){width:min(340px,calc(100vw - 24px));background:var(--companion-bg);color:var(--companion-text);border-color:var(--companion-border);color-scheme:inherit}body:has(.is-companion-workspace) .account-dialog{max-width:calc(100vw - 24px);padding:18px;color-scheme:light}.companion-board-tools{display:flex;align-items:center;gap:12px}.companion-desktop-entry{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 0;border:0;background:transparent;color:var(--companion-text-secondary);font:inherit;font-size:10px;white-space:nowrap}.companion-desktop-entry:hover{color:var(--companion-accent)}.companion-access-desktop{margin-top:18px}.companion-access-desktop .companion-desktop-entry{font-size:12px}body:has(.is-companion-workspace) .account-dialog:has(.companion-desktop-guide){width:min(360px,calc(100vw - 24px));background:var(--companion-bg);color:var(--companion-text);border-color:var(--companion-border);font-family:var(--companion-font-family,sans-serif);color-scheme:inherit;box-shadow:0 18px 60px rgb(0 0 0/25%)}.account-dialog:has(.companion-desktop-guide)>header{margin-bottom:14px;border-color:var(--companion-border)}.account-dialog:has(.companion-desktop-guide)>header h2{font-size:18px}.account-dialog:has(.companion-desktop-guide)>header button{color:var(--companion-text)}.companion-desktop-guide{font-size:13px}.companion-desktop-guide>p:first-child{margin-top:0;color:var(--companion-text-secondary)}.companion-desktop-download{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 12px;border:1px solid var(--companion-login-border);border-radius:8px;background:var(--companion-login-bg);color:var(--companion-login-text);font-weight:600;text-decoration:none}.companion-desktop-download:hover{filter:brightness(.96)}.companion-desktop-guide ol{margin:18px 0;padding-left:22px;line-height:1.8}.companion-desktop-guide .companion-desktop-note{color:var(--companion-text-secondary);font-size:12px}.companion-desktop-guide details{padding-top:14px;border-top:1px solid var(--companion-border)}.companion-desktop-guide summary{cursor:pointer;color:var(--companion-accent)}.companion-desktop-guide code{display:block;padding:10px;border:1px solid var(--companion-border);border-radius:6px;background:var(--companion-panel-soft);font-size:11px;overflow-wrap:anywhere;user-select:all}.companion-desktop-guide button.companion-desktop-copy{min-height:32px;margin-top:10px;padding:5px 9px;border:1px solid var(--companion-border);background:var(--companion-selected);color:var(--companion-accent);font:inherit;font-size:12px}.companion-desktop-guide a:focus-visible,.companion-desktop-guide button:focus-visible,.companion-desktop-guide summary:focus-visible{outline:2px solid var(--companion-focus);outline-offset:3px}@media (max-width:320px){.companion-content{--companion-workspace-gutter:10px}.companion-profile{padding-inline:11px}.companion-display-name>strong{font-size:13px}.companion-identity-heading{gap:6px}}@media (max-height:700px){.companion-content{padding-top:8px}.companion-board-intro{padding-block:9px 6px}.companion-toast{top:calc(100% + 3px)}}@media (prefers-reduced-motion:reduce){.companion-toast[data-phase]{animation:none}.companion-danmu-row,.companion-experience a,.companion-experience button,.companion-store-entry svg,.companion-theme-toggle svg{transition:none}}