.cmp-icon{display:inline-flex;width:1em;height:1em;line-height:1;color:currentColor}.cmp-icon svg{width:100%;height:100%;display:block;stroke:currentColor}.cmp-icon-button{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;background-color:var(--color-brand-soft);color:var(--color-brand);transition:background-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard);box-shadow:var(--shadow-sm)}.cmp-icon-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cmp-icon-button:active{transform:scale(.96)}.cmp-icon-button--circle{border-radius:var(--radius-full)}.cmp-icon-button--rounded{border-radius:var(--radius-md)}.cmp-icon-button--24{width:24px;height:24px}.cmp-icon-button--32{width:32px;height:32px}.cmp-icon-button--40{width:40px;height:40px}.cmp-icon-button--active{background-color:var(--color-brand);color:var(--color-on-brand)}.cmp-icon-button:disabled{cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.cmp-icon-button__icon{display:inline-flex;width:1em;height:1em}.cmp-icon-button__icon svg{width:100%;height:100%;stroke:currentColor}.cmp-appbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--jiange-8);height:var(--buju-dingbulan-gaodu);padding:0 var(--jiange-16);background:var(--se-beijing-biaomian);border-bottom:1px solid var(--se-biankuang-zhongxing)}.cmp-appbar--left .cmp-appbar__title{justify-self:start}.cmp-appbar__left,.cmp-appbar__right{display:inline-flex;align-items:center;gap:var(--jiange-8)}.cmp-appbar__title{font-size:var(--zi-biaoti-zhong-size);font-weight:var(--zi-biaoti-zhong-weight);text-align:center}.cmp-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-on-brand);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard);box-shadow:var(--shadow-sm)}.cmp-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cmp-button:active{transform:scale(.98)}.cmp-button--primary{background:var(--color-brand);color:var(--color-on-brand);box-shadow:var(--shadow-sm)}.cmp-button--primary:hover{background:var(--color-brand-hover)}.cmp-button--primary:active{background:var(--color-brand-active)}.cmp-button--secondary{background:transparent;color:var(--color-brand);border:var(--border-regular) solid var(--color-brand);box-shadow:none}.cmp-button--secondary:hover{background:color-mix(in srgb,var(--color-brand) 12%,#fff)}.cmp-button--ghost{background:transparent;color:var(--color-text-primary);box-shadow:none}.cmp-button--ghost:hover{background:color-mix(in srgb,var(--color-brand) 8%,transparent)}.cmp-button--large{min-height:48px;font-size:var(--font-size-title-lg);line-height:var(--line-height-title-lg);font-weight:var(--font-weight-semibold)}.cmp-button--small{min-height:32px;font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:var(--font-weight-medium)}.cmp-button--loading{cursor:progress;box-shadow:none}.cmp-button:disabled{cursor:not-allowed;box-shadow:none;opacity:1}.cmp-button__label{display:inline-flex;align-items:center;gap:var(--space-2)}.cmp-button__spinner{width:1rem;height:1rem;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,currentColor 20%,transparent);border-top-color:currentColor;animation:cmp-button-spin var(--motion-slow) linear infinite}.cmp-button--secondary .cmp-button__spinner,.cmp-button--ghost .cmp-button__spinner{border-color:color-mix(in srgb,currentColor 20%,transparent)}.cmp-button--primary:disabled:not(.cmp-button--loading){background:var(--color-brand-soft);color:var(--color-on-brand)}.cmp-button--secondary:disabled:not(.cmp-button--loading),.cmp-button--ghost:disabled:not(.cmp-button--loading){background:color-mix(in srgb,var(--color-brand) 10%,transparent);color:color-mix(in srgb,var(--color-on-brand) 40%,var(--color-text-secondary));border-color:color-mix(in srgb,var(--color-brand) 24%,transparent)}.cmp-button--loading:disabled{cursor:progress}@keyframes cmp-button-spin{to{transform:rotate(360deg)}}.cmp-input{display:flex;flex-direction:column;gap:var(--space-1)}.cmp-input__label{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cmp-input__field{position:relative;display:flex;align-items:center;border:var(--border-regular) solid var(--color-divider);border-radius:var(--radius-sm);background-color:var(--color-bg-card);transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard);min-height:40px;padding:0 var(--space-4);gap:var(--space-2)}.cmp-input__field:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 2px #ffb73c40}.cmp-input__field--error{border-color:var(--color-danger)}.cmp-input__prefix,.cmp-input__suffix{display:inline-flex;align-items:center;color:var(--color-text-secondary)}.cmp-input__field--with-prefix{padding-left:var(--space-3)}.cmp-input__field--with-suffix{padding-right:var(--space-3)}.cmp-input__control{flex:1;border:none;outline:none;font-family:var(--font-sans);font-size:16px;line-height:var(--line-height-body);background:transparent;color:inherit;min-width:0}.cmp-input__control::placeholder{color:color-mix(in srgb,var(--color-text-secondary) 70%,transparent)}.cmp-input__hint{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary)}.cmp-input__error{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-danger)}.cmp-input--disabled .cmp-input__field{background:color-mix(in srgb,var(--color-text-secondary) 10%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-text-secondary) 20%,transparent)}.cmp-input--disabled .cmp-input__control{cursor:not-allowed;color:color-mix(in srgb,var(--color-text-secondary) 60%,transparent)}.cmp-textarea{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.cmp-textarea__label{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cmp-textarea__control{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:var(--border-regular) solid var(--color-divider);background:var(--color-bg-card);resize:vertical;min-height:120px;font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);color:inherit;transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.cmp-textarea__control:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px #ffb73c40}.cmp-textarea__hint{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary);text-align:right;margin-top:var(--space-1)}.cmp-textarea__error{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-danger)}.cmp-textarea--disabled .cmp-textarea__control{cursor:not-allowed;background:color-mix(in srgb,var(--color-text-secondary) 10%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-text-secondary) 20%,transparent);color:color-mix(in srgb,var(--color-text-secondary) 60%,transparent)}.cmp-checkbox{display:inline-flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.cmp-checkbox__input{position:relative;display:inline-flex;width:20px;height:20px}.cmp-checkbox__input input{opacity:0;width:0;height:0}.cmp-checkbox__indicator{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:4px;border:1.5px solid var(--color-border-neutral);background-color:var(--color-bg-card);transition:background-color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.cmp-checkbox__input input:checked+.cmp-checkbox__indicator{background-color:var(--color-brand);border-color:var(--color-brand)}.cmp-checkbox__indicator:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity var(--motion-fast) var(--easing-standard)}.cmp-checkbox__input input:checked+.cmp-checkbox__indicator:after{opacity:1}.cmp-checkbox__input input:focus+.cmp-checkbox__indicator{box-shadow:0 0 0 2px #ffb73c40}.cmp-checkbox__content{display:flex;flex-direction:column;gap:var(--space-1)}.cmp-checkbox__label{font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-primary)}.cmp-checkbox__label a{color:var(--color-info);text-decoration:underline}.cmp-checkbox__label a:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cmp-checkbox__description{font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary)}.cmp-select{display:flex;flex-direction:column;gap:var(--space-1)}.cmp-select__label{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cmp-select__wrapper{position:relative;display:flex;align-items:center;min-height:40px;border:var(--border-regular) solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-bg-card);transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.cmp-select__wrapper:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 2px #ffb73c40}.cmp-select__wrapper--error{border-color:var(--color-danger)}.cmp-select__control{flex:1;border:none;background:transparent;padding:0 var(--space-8) 0 var(--space-4);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);color:inherit;appearance:none;-webkit-appearance:none;-moz-appearance:none}.cmp-select__icon{position:absolute;right:var(--space-4);display:inline-flex;align-items:center;justify-content:center;pointer-events:none;color:var(--color-text-secondary)}.cmp-select__icon .cmp-icon{width:16px;height:16px}.cmp-select__hint{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary)}.cmp-select__error{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-danger)}.cmp-select--disabled .cmp-select__wrapper{background:color-mix(in srgb,var(--color-text-secondary) 10%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-text-secondary) 20%,transparent)}.cmp-select--disabled .cmp-select__control{cursor:not-allowed;color:color-mix(in srgb,var(--color-text-secondary) 60%,transparent)}.voice-select{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.voice-select__label{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.voice-select__trigger{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:0 var(--space-4);border:var(--border-regular) solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-bg-card);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard);width:100%;text-align:left}.voice-select__trigger:hover:not(:disabled){border-color:var(--color-brand)}.voice-select__trigger:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 2px #ffb73c40}.voice-select__trigger--open{border-color:var(--color-brand);box-shadow:0 0 0 2px #ffb73c40}.voice-select__trigger:disabled{cursor:not-allowed;background:color-mix(in srgb,var(--color-text-secondary) 10%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-text-secondary) 20%,transparent);color:color-mix(in srgb,var(--color-text-secondary) 60%,transparent)}.voice-select__trigger-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-select__trigger-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:var(--space-2);color:var(--color-text-secondary);transition:transform var(--motion-fast) var(--easing-standard)}.voice-select__trigger--open .voice-select__trigger-icon{transform:rotate(180deg)}.voice-select__trigger-icon .cmp-icon{width:16px;height:16px}.voice-select__dropdown{position:absolute;top:calc(100% + var(--space-1));left:0;right:0;z-index:1000;max-height:240px;overflow-y:auto;border:var(--border-regular) solid var(--color-divider);border-radius:var(--radius-sm);background:var(--color-bg-card);box-shadow:var(--shadow-md);animation:voice-select-dropdown-appear var(--motion-moderate) var(--easing-standard)}@keyframes voice-select-dropdown-appear{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.voice-select__option{display:flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);cursor:pointer;transition:background-color var(--motion-fast) var(--easing-standard);font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-primary);width:100%;text-align:left;border:none;background:none;outline:none}.voice-select__option:hover,.voice-select__option--focused{background:#ffb73c1a}.voice-select__option--selected{background:#ffb73c26;font-weight:var(--font-weight-title-md)}.voice-select__option--selected.voice-select__option--focused{background:#ffb73c33}.voice-select__option-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--color-brand);font-size:14px;line-height:1}.voice-select__option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-select--disabled{opacity:.6;pointer-events:none}.voice-select__dropdown::-webkit-scrollbar{width:6px}.voice-select__dropdown::-webkit-scrollbar-track{background:transparent}.voice-select__dropdown::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-text-secondary) 30%,transparent);border-radius:3px}.voice-select__dropdown::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text-secondary) 50%,transparent)}.confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.confirm-dialog{background:#fff;border-radius:12px;padding:var(--space-5);max-width:400px;width:90%;box-shadow:0 8px 24px #0000004d}.confirm-dialog--danger{border:1px solid var(--color-error)}.confirm-dialog__title{margin:0 0 var(--space-3) 0}.confirm-dialog__message{margin:0 0 var(--space-5) 0;color:var(--color-text-secondary)}.confirm-dialog__actions{display:flex;gap:var(--space-3);justify-content:flex-end}.cmp-slider{display:flex;flex-direction:column;gap:var(--space-1)}.cmp-slider__track{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-brand) 20%,var(--color-bg-subtle));outline:none}.cmp-slider__track::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-brand);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 22%,transparent)}.cmp-slider__track::-moz-range-thumb{width:16px;height:16px;border-radius:var(--radius-full);background:var(--color-brand);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand) 22%,transparent)}.cmp-slider__labels{display:flex;justify-content:space-between;font-size:var(--font-size-meta);color:var(--color-text-secondary)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%}.toggle__switch{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle--disabled .toggle__switch{cursor:not-allowed;opacity:.5}.toggle__label-text{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.toggle__track{position:relative;display:inline-block;width:44px;height:26px;background-color:#d1d5db;border-radius:var(--radius-full);transition:background-color var(--motion-medium) var(--easing-standard);flex-shrink:0}.toggle__input:checked+.toggle__track{background-color:var(--color-brand)}.toggle__thumb{position:absolute;top:2px;left:2px;width:22px;height:22px;background-color:#fff;border-radius:var(--radius-full);box-shadow:0 2px 4px #0003;transition:transform var(--motion-medium) var(--easing-standard)}.toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(18px)}.toggle__input:focus-visible+.toggle__track{outline:2px solid var(--color-focus-ring);outline-offset:2px}.toggle--disabled .toggle__track{opacity:.5}.cmp-tabbar{display:flex;justify-content:space-between;align-items:center;height:var(--layout-tabbar-height);width:100%;padding:0 var(--space-4);background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);gap:var(--space-2)}.cmp-tabbar__item{position:relative;flex:1 1 0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);transition:color var(--motion-fast) var(--easing-standard),background-color var(--motion-fast) var(--easing-standard)}.cmp-tabbar__item--active{color:var(--color-brand)}.cmp-tabbar__icon{position:relative;display:inline-flex;width:24px;height:24px}.cmp-tabbar__icon .cmp-icon{width:100%;height:100%}.cmp-tabbar__icon svg{width:100%;height:100%;stroke:currentColor}.cmp-tabbar__badge{position:absolute;top:-4px;right:-6px;min-width:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--color-danger);color:#fff;font-size:10px;line-height:16px}.cmp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--cengji-zhezhao);display:flex;justify-content:center;align-items:flex-end;padding:var(--jiange-16);background:#11171a66}.cmp-overlay--deep{background:#11171a99}.cmp-bottomsheet{width:min(480px,100%);background:var(--se-beijing-biaomian);border-radius:20px 20px 0 0;padding:var(--jiange-16);box-shadow:var(--yinying-zhong);max-height:90vh;display:flex;flex-direction:column;gap:var(--jiange-12);animation:cmp-bottomsheet-slide-up var(--dongxiao-zhong) var(--huandong-biaozhun)}.cmp-bottomsheet--small{min-height:30vh}.cmp-bottomsheet--medium{min-height:45vh}.cmp-bottomsheet--large{min-height:70vh}.cmp-bottomsheet__handle{align-self:center;width:40px;height:4px;border-radius:999px;background:#11171a26}.cmp-bottomsheet__header{font-size:var(--zi-biaoti-zhong-size);font-weight:var(--zi-biaoti-zhong-weight);text-align:center}.cmp-bottomsheet__content{overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes cmp-bottomsheet-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.cmp-chat-bubble{max-width:var(--layout-chat-bubble-max-width);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);display:inline-flex;flex-direction:column;gap:var(--space-1);background:var(--color-bg-subtle);color:var(--color-text-primary);position:relative;margin-top:var(--space-2)}.cmp-chat-bubble--stacked{margin-top:var(--space-1)}.cmp-chat-bubble--user{align-self:flex-end;background:var(--color-brand);color:var(--color-on-brand)}.cmp-chat-bubble--ai{align-self:flex-start}.cmp-chat-bubble--pending{opacity:.75}.cmp-chat-bubble--error{box-shadow:inset 0 0 0 1px var(--color-danger)}.cmp-chat-bubble__body{white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-body);line-height:var(--line-height-body)}.cmp-chat-bubble__meta{display:inline-flex;align-items:center;gap:var(--space-2);justify-content:flex-end;font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:var(--letter-spacing-meta);color:var(--color-text-secondary)}.cmp-chat-bubble--user .cmp-chat-bubble__meta{color:#ffffffc7}.cmp-chat-bubble__status{font-weight:var(--font-weight-body)}.cmp-chat-bubble__retry{border:none;background:none;padding:0;font:inherit;color:var(--color-danger);cursor:pointer;text-decoration:underline}.cmp-chat-bubble__retry:hover{text-decoration:none}.cmp-chat-audio{max-width:var(--layout-chat-bubble-max-width);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-subtle);color:var(--color-text-primary);display:inline-flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.cmp-chat-audio--stacked{margin-top:var(--space-1)}.cmp-chat-audio--user{align-self:flex-end;background:var(--color-brand);color:var(--color-on-brand)}.cmp-chat-audio--ai{align-self:flex-start}.cmp-chat-audio--error{box-shadow:inset 0 0 0 1px var(--color-danger)}.cmp-chat-audio--transcribing{box-shadow:inset 0 0 0 1px #ffb73c66}.cmp-chat-audio__header{display:flex;align-items:center;gap:var(--space-2)}.cmp-chat-audio__control{width:32px;height:32px;min-width:32px;min-height:32px;border:none;background:transparent;color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--motion-fast) var(--easing-standard)}.cmp-chat-audio--user .cmp-chat-audio__control{color:var(--color-on-brand)}.cmp-chat-audio--error .cmp-chat-audio__control{color:var(--color-danger)}.cmp-chat-audio__control:hover{transform:translateY(-1px)}.cmp-chat-audio__control .cmp-icon{width:32px;height:32px}.cmp-chat-audio__control .cmp-icon svg{stroke-width:2;vector-effect:non-scaling-stroke}.cmp-chat-audio__duration{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);margin-inline-start:var(--space-1);min-width:48px;font-variant-numeric:tabular-nums}.cmp-chat-audio__duration[data-countdown=true]{opacity:.9}.cmp-chat-composer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-4) calc(env(safe-area-inset-bottom) + var(--space-2));margin-top:0;background:var(--color-bg-page);border-top:var(--border-regular) solid var(--color-border-neutral)}.cmp-chat-composer__mic-toggle{flex:0 0 auto;font-size:32px}.cmp-chat-composer__mic-toggle.cmp-icon-button{background:transparent;box-shadow:none;color:var(--color-text-secondary)}.cmp-chat-composer__mic-toggle .cmp-icon-button__icon{width:auto;height:auto}.cmp-chat-composer__mic-toggle .cmp-icon svg{vector-effect:non-scaling-stroke}.cmp-chat-composer__mic-toggle .cmp-icon svg path,.cmp-chat-composer__mic-toggle .cmp-icon svg line,.cmp-chat-composer__mic-toggle .cmp-icon svg polyline,.cmp-chat-composer__mic-toggle .cmp-icon svg rect,.cmp-chat-composer__mic-toggle .cmp-icon svg circle{stroke-width:1.5}.cmp-chat-composer__mic-toggle .cmp-icon{width:32px;height:32px}.cmp-chat-composer__text{display:flex;align-items:center;gap:var(--space-3)}.cmp-chat-composer__input{width:100%;min-height:var(--layout-composer-height);resize:none;border:var(--border-regular) solid var(--color-border-neutral);border-radius:var(--radius-md);padding:calc((var(--layout-composer-height) - 2 * var(--border-regular) - var(--line-height-body)) / 2) var(--space-3);font-size:var(--font-size-body);line-height:var(--line-height-body);font-family:inherit;background:var(--color-bg-page);color:var(--color-text-primary);transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.cmp-chat-composer__input:focus-visible{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #ffb73c40;background:var(--color-bg-page)}.cmp-chat-composer__input:disabled{background:#94a3b81a;color:var(--color-text-secondary);cursor:not-allowed}.cmp-chat-composer__voice{display:flex;flex-direction:row;gap:var(--space-3);align-items:center}.cmp-chat-composer__record{flex:1 1 auto;width:auto;min-height:var(--layout-composer-height);display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);border:none;background:#ffb73c1f;color:var(--color-brand);font-size:var(--font-size-body);line-height:var(--line-height-body);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform var(--motion-fast) var(--easing-standard),background-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard)}.cmp-chat-composer__record:focus-visible{outline:none;box-shadow:0 0 0 3px #ffb73c40}.cmp-chat-composer__record--active{background:#ffb73c33;color:var(--color-brand);position:relative}.cmp-chat-composer__record--cancel{background:#d645451f;color:var(--color-danger)}.cmp-chat-composer__record--active:before{content:"";position:absolute;left:12px;width:8px;height:8px;background:var(--color-brand);border-radius:var(--radius-full);animation:cmp-record-pulse 1.2s ease-in-out infinite}@keyframes cmp-record-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.55}to{transform:scale(1);opacity:1}}.cmp-chat-composer__record-time{font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:var(--letter-spacing-meta)}.cmp-chat-composer__hint{font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-meta)}.cmp-chat-composer__text .cmp-button{min-width:88px;height:var(--layout-composer-height);display:inline-flex;align-items:center;justify-content:center;padding:0 var(--space-4)}.cmp-chat-typing{display:inline-flex;align-items:center;gap:6px;padding:var(--jiange-8) var(--jiange-12);background:#5fafe714;border-radius:var(--yuanyuan-qipao);color:var(--se-wenzi-ci)}.cmp-chat-typing__dots{display:inline-flex;gap:4px}.cmp-chat-typing__dot{width:6px;height:6px;border-radius:var(--yuanyuan-quan);background:var(--se-pinpai-zhu);animation:cmp-chat-typing 1s infinite ease-in-out}.cmp-chat-typing__dot:nth-child(2){animation-delay:.2s}.cmp-chat-typing__dot:nth-child(3){animation-delay:.4s}@keyframes cmp-chat-typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.cmp-chat-typing__label{font-size:var(--zi-shuoming-size)}.cmp-chat-divider{display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:var(--letter-spacing-meta);margin:var(--space-5) 0}.cmp-chat-divider__line{display:none}.cmp-chat-divider__label{padding:0 var(--space-2);background:var(--color-bg-page);border-radius:var(--radius-full)}.cmp-chat-list-item{width:100%;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:64px;border:none;border-bottom:var(--border-hairline) solid var(--color-border-neutral);background-color:transparent;color:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.cmp-chat-list-item:hover{background-color:#ffb73c1a}.cmp-chat-list-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cmp-chat-list-item--active{background-color:#ffb73c29}.cmp-chat-list-item--pinned:not(.cmp-chat-list-item--active){background-color:#ffb73c14}.cmp-chat-list-item--assistant{background-color:transparent}.cmp-chat-list-item--assistant:hover{background-color:#2c2a270a}.cmp-chat-list-item__avatar{width:40px;height:40px;border-radius:var(--radius-full);background:transparent;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}.cmp-chat-list-item__avatar img{width:100%;height:100%;object-fit:cover}.cmp-chat-list-item__content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.cmp-chat-list-item__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cmp-chat-list-item__title-group{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.cmp-chat-list-item__title{font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-chat-list-item__time{font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-meta)}.cmp-chat-list-item__summary{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-meta);line-height:var(--line-height-meta);letter-spacing:var(--letter-spacing-meta);min-width:0}.cmp-chat-list-item__summary-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.cmp-chat-list-item__badge{min-width:20px;min-height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--color-danger);color:#fff;font-size:var(--font-size-meta);line-height:1;display:inline-flex;align-items:center;justify-content:center}.cmp-chat-list-item__badge--inline{align-self:center;margin-left:var(--space-1)}.cmp-setting-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:var(--border-regular) solid transparent;background:var(--color-bg-card);box-shadow:var(--shadow-sm);text-align:left;transition:box-shadow var(--motion-fast) var(--easing-standard),background-color var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard)}.cmp-setting-item__main{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-setting-item__label{font-family:var(--font-sans);font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cmp-setting-item__description{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-secondary)}.cmp-setting-item__meta{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta)}.cmp-setting-item__status{font-weight:var(--font-weight-medium);color:var(--color-brand)}.cmp-setting-item__icon,.cmp-setting-item__chevron{display:inline-flex;align-items:center;justify-content:center}.cmp-setting-item__chevron .cmp-icon{width:16px;height:16px}.cmp-setting-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.cmp-setting-item--actionable{cursor:pointer}.cmp-setting-item--actionable:hover{box-shadow:var(--shadow-md)}.cmp-setting-item--actionable:active{box-shadow:var(--shadow-sm)}@media (max-width: 768px){.cmp-setting-item{padding:var(--space-3)}}.cmp-memory-item{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);width:100%;padding:var(--space-4);border:var(--border-regular) solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);box-shadow:none;text-align:left;transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard),background-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard)}.cmp-memory-item:hover,.cmp-memory-item:focus-visible{border-color:var(--color-brand);box-shadow:var(--shadow-md);outline:none;transform:translateY(-2px)}.cmp-memory-item--expanded{background:var(--color-bg-card);box-shadow:var(--shadow-md)}.cmp-memory-item--collapsed{background:var(--color-bg-memory-collapsed);border-color:transparent;box-shadow:none}.cmp-memory-item--collapsed:hover,.cmp-memory-item--collapsed:focus-visible{border-color:transparent;box-shadow:none;transform:none}.cmp-memory-item--archived{color:var(--color-text-secondary)}.cmp-memory-item__header{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-2)}.cmp-memory-item__heading{display:inline-flex;align-items:center;gap:var(--space-2)}.cmp-memory-item__pill{display:inline-flex;align-items:center;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--badge-bg);color:var(--badge-text);font-size:var(--font-size-meta);line-height:var(--line-height-meta)}.cmp-memory-item__meta{display:inline-flex;align-items:center;gap:var(--space-2)}.cmp-memory-item__caret{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);background:transparent;color:var(--color-text-secondary);transition:transform var(--motion-fast) var(--easing-standard)}.cmp-memory-item__caret .cmp-icon{width:16px;height:16px}.cmp-memory-item[data-expanded=true] .cmp-memory-item__caret{transform:rotate(180deg)}.cmp-memory-item__title{margin:0;font-size:16px;line-height:1.4;font-weight:500;color:var(--color-text-primary)}.cmp-memory-item__time-row{display:flex;margin-top:calc(var(--space-2) * -1)}.cmp-memory-item__time{font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-meta)}.cmp-memory-item__preview{margin:0;font-size:14px;line-height:1.5;color:var(--color-text-secondary)}.cmp-memory-item__tags{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.cmp-memory-item__tag{padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-brand-soft);color:var(--color-brand);font-size:var(--font-size-meta);line-height:var(--line-height-meta)}.cmp-memory-item__content{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-memory-item__actions{display:flex;width:100%;gap:var(--space-3);justify-content:flex-end!important;padding-top:var(--space-2)}.cmp-memory-item__actions>.cmp-button{align-self:auto!important;margin-left:auto}.cmp-memory-item__header-button{width:100%;padding:0;border:none;background:transparent;text-align:left;cursor:pointer}.cmp-announcement-card{border-radius:var(--yuanyuan-kapian);background:var(--se-beijing-biaomian);padding:var(--jiange-16);box-shadow:var(--yinying-ruo);display:flex;flex-direction:column;gap:var(--jiange-12)}.cmp-announcement-card__header{display:flex;justify-content:space-between;gap:var(--jiange-8);align-items:center}.cmp-announcement-card__header h3{margin:0;font-size:var(--zi-biaoti-zhong-size);font-weight:var(--zi-biaoti-zhong-weight)}.cmp-announcement-card__expire{font-size:var(--zi-shuoming-size);color:var(--se-wenzi-ci)}.cmp-announcement-card__content{margin:0;color:var(--se-wenzi-ci);line-height:var(--zi-zhengwen-line-height)}.cmp-announcement-card__cta{align-self:flex-start;border:none;background:var(--se-pinpai-zhu);color:#fff;border-radius:var(--yuanyuan-kapian);padding:var(--jiange-4) var(--jiange-12);cursor:pointer}.cmp-task-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:var(--border-regular) solid var(--color-border);background:var(--color-bg-card);box-shadow:none;text-align:left;cursor:pointer;transition:box-shadow var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard)}.cmp-task-item:hover,.cmp-task-item:focus-visible{border-color:var(--color-brand);box-shadow:var(--shadow-sm);transform:translateY(-1px);outline:none}.cmp-task-item__main{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-task-item__title-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);min-height:40px}.cmp-task-item__title{margin:0;color:var(--color-text-primary)}.cmp-task-item__status{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:var(--font-weight-medium);background:var(--color-task-pill-todo-bg);color:var(--color-brand)}.cmp-task-item__status--in_progress{background:var(--color-task-pill-in-progress-bg);color:var(--color-energy-high)}.cmp-task-item__status--done{background:var(--color-task-pill-done-bg);color:var(--color-success)}.cmp-task-item__description{display:none}.cmp-task-item__score{align-self:center;font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);font-weight:var(--font-weight-title-sm);color:var(--color-brand)}.cmp-profile-header{display:flex;gap:var(--jiange-16);align-items:center;padding:var(--jiange-16);background:linear-gradient(135deg,#5fafe72e,#5fafe70d);border-radius:var(--yuanyuan-kapian)}.cmp-profile-header__avatar{width:72px;height:72px;border-radius:var(--yuanyuan-quan);border:none;background:var(--se-pinpai-rouhe);display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:var(--se-pinpai-zhu);cursor:pointer;overflow:hidden}.cmp-profile-header__avatar img{width:100%;height:100%;object-fit:cover}.cmp-profile-header__info h2{margin:0;font-size:var(--zi-biaoti-da-size);font-weight:var(--zi-biaoti-da-weight)}.cmp-profile-header__phone{margin:4px 0 0;color:var(--se-wenzi-ci)}.cmp-profile-header__membership{margin-top:var(--jiange-8);padding:2px var(--jiange-8);border-radius:var(--yuanyuan-kapian);background:var(--se-pinpai-rouhe);color:var(--se-pinpai-zhu);font-size:var(--zi-shuoming-size);display:inline-flex;align-items:center;gap:var(--jiange-4)}.cmp-pay-method{display:grid;grid-template-columns:auto 48px 1fr;align-items:center;gap:var(--jiange-12);padding:var(--jiange-12);border-radius:var(--yuanyuan-kapian);border:1px solid rgba(17,23,26,.08);background:var(--se-beijing-biaomian);cursor:pointer}.cmp-pay-method input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;border:2px solid var(--se-biankuang-zhongxing);background:var(--se-beijing-biaomian);outline:none;position:relative;display:inline-grid;place-content:center}.cmp-pay-method input:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--se-pinpai-zhu);transform:scale(0);transition:transform var(--dongxiao-kuai) var(--huandong-biaozhun)}.cmp-pay-method input:checked:after{transform:scale(1)}.cmp-pay-method input:focus-visible{outline:2px solid var(--se-jiaodian-miaobian);outline-offset:2px}.cmp-pay-method__icon{width:48px;height:48px;border-radius:var(--yuanyuan-kapian);background:#5fafe714;display:inline-flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.cmp-pay-method__icon img{width:100%;height:100%;object-fit:contain}.cmp-pay-method__body{display:flex;flex-direction:column;gap:var(--jiange-4)}.cmp-pay-method__label{font-weight:var(--zi-biaoti-zhong-weight)}.cmp-pay-method__description{color:var(--se-wenzi-ci);font-size:var(--zi-shuoming-size)}.cmp-pay-method--disabled{opacity:.6;cursor:not-allowed}.cmp-plan-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);border:var(--border-regular) solid var(--color-divider);background:var(--color-bg-card);box-shadow:var(--shadow-sm);cursor:default;transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard)}.cmp-plan-card--interactive{cursor:pointer}button.cmp-plan-card{background:inherit;color:inherit;font:inherit;text-align:left;width:100%}.cmp-plan-card:hover,.cmp-plan-card--recommended,.cmp-plan-card[aria-pressed=true]{border-color:var(--color-brand);box-shadow:var(--shadow-md)}.cmp-plan-card__header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.cmp-plan-card__title{display:inline-flex;align-items:center;gap:var(--space-2)}.cmp-plan-card__title h3{margin:0;font-size:var(--font-size-title-lg);line-height:var(--line-height-title-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.cmp-plan-card__badge{display:inline-flex;align-items:center;justify-content:center;height:1.5rem;padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:var(--font-weight-semibold);background:color-mix(in srgb,var(--color-brand) 16%,transparent);color:var(--color-brand)}.cmp-plan-card__price{font-size:var(--font-size-title-lg);line-height:var(--line-height-title-lg);font-weight:var(--font-weight-semibold);color:var(--color-brand);white-space:nowrap}.cmp-plan-card__benefits{margin:0;padding-left:1.25rem;display:grid;gap:var(--space-2);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-secondary)}.cmp-plan-card__benefits li::marker{color:var(--color-brand)}.cmp-card{display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-md);background:var(--color-bg-card);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);border:var(--border-regular) solid transparent;transition:box-shadow var(--motion-fast) var(--easing-standard),background-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard)}.cmp-card--outline{box-shadow:none;border-color:var(--color-divider);background:var(--color-bg-card)}.cmp-card--ghost{box-shadow:none;background:color-mix(in srgb,var(--color-brand) 6%,#fff);border-color:transparent}.cmp-card--interactive{cursor:pointer}.cmp-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.cmp-card--interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.cmp-progress{display:flex;align-items:center;gap:var(--space-2)}.cmp-progress__track{position:relative;width:100%;height:12px;border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-brand) 10%,var(--color-bg-subtle));overflow:hidden}.cmp-progress__fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,var(--color-brand) 0%,color-mix(in srgb,var(--color-brand) 80%,#fff) 100%);transition:width var(--motion-medium) var(--easing-standard)}.cmp-progress__label{min-width:44px;font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary);text-align:right}.cmp-bar{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-bar__header{display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text-secondary)}.cmp-bar__headline{font-weight:var(--font-weight-title-md);color:var(--color-text-primary)}.cmp-bar__track{width:100%;height:24px;position:relative;border-radius:var(--radius-xl);background:var(--color-bg-subtle);overflow:hidden}.cmp-bar__track--energy{background:color-mix(in srgb,var(--color-brand) 6%,var(--color-bg-subtle))}.cmp-bar__fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:background-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard);transform-origin:left;transform:scaleX(var(--progress, 1))}.cmp-bar__fill--energy-critical,.cmp-bar__fill--energy-low{background:var(--color-energy-low)}.cmp-bar__fill--energy-mid{background:var(--color-energy-mid)}.cmp-bar__fill--energy-high{background:var(--color-energy-high)}.cmp-bar__track--relationship{height:24px;background:color-mix(in srgb,var(--color-brand) 8%,var(--color-bg-subtle));display:flex;align-items:center}.cmp-bar__track--relationship .cmp-bar__fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:background-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard);transform-origin:left;transform:scaleX(var(--progress, 1))}.cmp-bar__fill--relationship,.cmp-bar__track--relationship[data-stage=stranger] .cmp-bar__fill--relationship{background:var(--color-rel-0)}.cmp-bar__track--relationship[data-stage=acquaintance] .cmp-bar__fill--relationship{background:var(--color-rel-1)}.cmp-bar__track--relationship[data-stage=friend] .cmp-bar__fill--relationship{background:var(--color-rel-2)}.cmp-bar__track--relationship[data-stage=bestie] .cmp-bar__fill--relationship{background:var(--color-rel-3)}.cmp-bar__track--relationship[data-stage=soulmate] .cmp-bar__fill--relationship{background:var(--color-rel-4)}.cmp-bar__markers{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.cmp-bar__marker{position:absolute;top:0;bottom:0;width:1px;background:#ffffffe6;transform:translate(-50%)}.cmp-bar__relationship{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-bar__labels{position:relative;margin-top:var(--space-2);min-height:var(--line-height-meta)}.cmp-bar__label{position:absolute;top:0;transform:translate(-50%);font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary)}.cmp-avatar-picker{display:flex;flex-direction:column;gap:var(--space-3)}.cmp-avatar-picker__preview{width:120px;height:120px;border-radius:var(--radius-full);overflow:hidden;background:color-mix(in srgb,var(--color-brand) 8%,#fff);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--motion-fast) var(--easing-standard);padding:0;border:2px solid color-mix(in srgb,var(--color-brand) 26%,transparent);background-color:transparent}.cmp-avatar-picker__preview:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.cmp-avatar-picker__preview:hover:not(:disabled){border-color:var(--color-brand)}.cmp-avatar-picker__image{width:100%;height:100%;object-fit:cover}.cmp-avatar-picker__actions{display:flex;flex-direction:row;align-items:center;gap:var(--space-1)}.cmp-avatar-picker__upload{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-primary);padding:0;font-size:var(--font-size-body);line-height:var(--line-height-body);cursor:default}.cmp-avatar-picker__upload.is-disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.cmp-avatar-picker__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.cmp-avatar-picker__presets{display:flex;flex-direction:column;gap:var(--space-2)}.cmp-avatar-picker__label{font-size:var(--font-size-meta);line-height:var(--line-height-meta);color:var(--color-text-secondary)}.cmp-avatar-picker__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,max-content));gap:var(--space-2)}.cmp-avatar-picker__preset{width:44px;height:44px;border-radius:var(--radius-full);border:2px solid transparent;overflow:hidden;padding:0;background:color-mix(in srgb,var(--color-brand) 8%,transparent);cursor:pointer;transition:border-color var(--motion-fast) var(--easing-standard),transform var(--motion-fast) var(--easing-standard)}.cmp-avatar-picker__preset img{width:100%;height:100%;object-fit:cover}.cmp-avatar-picker__preset:hover:not(:disabled){transform:translateY(-1px)}.cmp-avatar-picker__preset.is-active{border-color:var(--color-brand)}.cmp-avatar-picker__preset:disabled{cursor:not-allowed;opacity:.6}.cmp-error-boundary{display:grid;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);text-align:center;border:var(--border-regular) solid var(--color-border);box-shadow:var(--shadow-sm)}.cmp-error-boundary h1{margin:0;font-size:var(--font-size-title-md);line-height:var(--line-height-title-md);font-weight:var(--font-weight-title-md);color:var(--color-text-primary)}.cmp-error-boundary p{margin:0;color:var(--color-text-secondary);line-height:1.5}.cmp-error-boundary__trace{margin:0;padding:1rem;text-align:left;background:#0f172ad9;color:#fff;border-radius:.75rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.85rem;overflow-x:auto}.cmp-toast-center{position:fixed;top:1rem;right:1rem;display:grid;gap:.75rem;z-index:1000}.cmp-toast{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.75rem;color:var(--se-wenzi-zhu);box-shadow:0 16px 28px #0f172a40;min-width:200px;max-width:280px}.cmp-toast--info{background:#3f7fbd}.cmp-toast--success{background:#2f9e44}.cmp-toast--warning{background:#f59f00}.cmp-toast--error{background:#d9480f}.cmp-toast__message{flex:1;font-size:.95rem;line-height:1.4}.cmp-toast__close{background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.cmp-toast__close .cmp-icon{width:20px;height:20px}@media (max-width: 480px){.cmp-toast-center{top:auto;bottom:.75rem;left:.75rem;right:.75rem}.cmp-toast{min-width:unset;width:100%}}:root{--font-sans: -apple-system, "SF Pro Text", "Inter", "Noto Sans SC", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-title-lg: 18px;--line-height-title-lg: 24px;--font-weight-title-lg: 600;--font-size-title-md: 18px;--line-height-title-md: 24px;--font-weight-title-md: 600;--font-size-title-sm: 15px;--line-height-title-sm: 24px;--font-weight-title-sm: 600;--font-size-body: 16px;--line-height-body: 24px;--font-weight-body: 400;--font-size-meta: 12px;--line-height-meta: 18px;--font-weight-meta: 400;--letter-spacing-meta: .12px;--font-weight-medium: 500;--font-weight-semibold: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-xl: 20px;--radius-full: 999px;--radius-lg: var(--radius-xl);--border-hairline: 1px;--border-regular: 1px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--z-index-overlay: 1200;--z-index-modal: 1300;--z-index-toast: 1400;--motion-fast: .12s;--motion-medium: .18s;--motion-slow: .24s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--easing-enter: cubic-bezier(.25, .1, .25, 1);--easing-exit: cubic-bezier(.7, 0, .84, 0);--layout-appbar-height: 56px;--layout-tabbar-height: 74px;--layout-composer-height: 48px;--layout-chat-bubble-max-width: 80%;--layout-container-pad-mobile: 16px;--color-bg-page: #f8f8f8;--color-bg-card: #ffffff;--color-bg-subtle: #ebeae7;--color-text-primary: #2c2a27;--color-text-secondary: #6b645b;--color-text-tertiary: rgba(44, 42, 39, .45);--color-border: #ebeae7;--color-divider: #ebeae7;--color-border-neutral: var(--color-divider);--color-overlay: rgba(44, 42, 39, .45);--color-brand: #ffb73c;--color-brand-hover: #f3a326;--color-brand-active: #d98910;--color-brand-soft: #fff2d9;--color-on-brand: #1d1b20;--color-info: #2d8fe7;--color-success: #2f9e44;--color-warning: #f59f00;--color-danger: #d9480f;--color-focus-ring: rgba(255, 183, 60, .35);--color-energy-high: #2563eb;--color-energy-mid: #ffb73c;--color-energy-low: #dc2626;--color-rel-0: #16a34a;--color-rel-1: #f59e0b;--color-rel-2: #f97316;--color-rel-3: #f472b6;--color-rel-4: #e11d48;--tab-active: var(--color-brand);--tab-inactive: var(--color-text-secondary);--tab-active-color: var(--tab-active);--tab-inactive-color: var(--tab-inactive);--badge-bg: rgba(255, 183, 60, .12);--badge-text: var(--color-brand);--color-bg-memory-collapsed: #e9e9e9;--color-task-pill-todo-bg: rgba(255, 183, 60, .18);--color-task-pill-in-progress-bg: rgba(37, 99, 235, .18);--color-task-pill-done-bg: rgba(47, 158, 68, .18)}:root{--font-family-sans: var(--font-sans);--zi-biaoti-da-size: var(--font-size-title-lg);--zi-biaoti-da-line-height: var(--line-height-title-lg);--zi-biaoti-da-weight: var(--font-weight-title-lg);--zi-biaoti-zhong-size: var(--font-size-title-md);--zi-biaoti-zhong-line-height: var(--line-height-title-md);--zi-biaoti-zhong-weight: var(--font-weight-title-md);--zi-zhengwen-size: 16px;--zi-zhengwen-line-height: var(--line-height-body);--zi-zhengwen-weight: var(--font-weight-body);--zi-shuoming-size: var(--font-size-meta);--zi-shuoming-line-height: var(--line-height-meta);--zi-shuoming-weight: var(--font-weight-meta);--jiange-4: var(--space-1);--jiange-8: var(--space-2);--jiange-12: var(--space-3);--jiange-16: var(--space-4);--jiange-24: var(--space-6);--jiange-32: var(--space-8);--jiange-40: 40px;--jiange-48: 48px;--yuanyuan-kapian: var(--radius-md);--yuanyuan-qipao: var(--radius-xl);--yuanyuan-quan: var(--radius-full);--biankuang-fasi: var(--border-hairline);--biankuang-xi: var(--border-regular);--yinying-ruo: var(--shadow-sm);--yinying-zhong: var(--shadow-lg);--cengji-zhezhao: var(--z-index-overlay);--cengji-tanchuang: var(--z-index-modal);--cengji-toast: var(--z-index-toast);--dongxiao-kuai: var(--motion-fast);--dongxiao-zhong: var(--motion-medium);--dongxiao-man: var(--motion-slow);--huandong-biaozhun: var(--easing-standard);--huandong-jinru: var(--easing-enter);--huandong-likai: var(--easing-exit);--buju-dingbulan-gaodu: var(--layout-appbar-height);--buju-tabbar-gaodu: var(--layout-tabbar-height);--buju-shuruqu-gaodu: 48px;--buju-qipao-zuidak: var(--layout-chat-bubble-max-width);--se-beijing-yezi: var(--color-bg-page);--se-beijing-biaomian: var(--color-bg-card);--se-beijing-biaomian2: var(--color-bg-subtle);--se-wenzi-zhu: var(--color-text-primary);--se-wenzi-ci: var(--color-text-secondary);--se-biankuang-zhongxing: var(--color-border-neutral);--se-zhezhao-jichu: var(--color-overlay);--se-pinpai-zhu: var(--color-brand);--se-pinpai-xuanfu: var(--color-brand-hover);--se-pinpai-anjia: var(--color-brand-active);--se-pinpai-rouhe: var(--color-brand-soft);--se-pinpai-foreground: var(--color-on-brand);--se-zhuangtai-xinxi: var(--color-info);--se-zhuangtai-chenggong: var(--color-success);--se-zhuangtai-jinggao: var(--color-warning);--se-zhuangtai-weixian: var(--color-danger);--se-jiaodian-miaobian: var(--color-focus-ring);--se-qingxu-kaixin: #66c6b4;--se-qingxu-shangxin: #4d7bd6;--se-qingxu-fennu: #f25555;--se-qingxu-jiaolv: #f59f00;--se-qingxu-pibei: #9a8c98;--se-qingxu-kunhuo: #7a6ff0;--se-qingxu-pingdan: #94a3b8}:root{--color-brand: #ffb73c;--color-brand-hover: #f3a326;--color-brand-active: #d98910;--color-brand-soft: #fff2d9;--color-on-brand: #1d1b20;--color-info: #2d8fe7;--color-success: #2f9e44;--color-warning: #f59f00;--color-danger: #d9480f;--color-focus-ring: rgba(255, 183, 60, .35);--se-qingxu-kaixin: #6bc5b6;--se-qingxu-shangxin: #4a7dd2;--se-qingxu-fennu: #f16f6f;--se-qingxu-jiaolv: #f7a53b;--se-qingxu-pibei: #a3a3c2;--se-qingxu-kunhuo: #7b7ef5;--se-qingxu-pingdan: #9fb3c8;--se-pinpai-zhu: var(--color-brand);--se-pinpai-xuanfu: var(--color-brand-hover);--se-pinpai-anjia: var(--color-brand-active);--se-pinpai-rouhe: var(--color-brand-soft);--se-pinpai-foreground: var(--color-on-brand);--se-zhuangtai-xinxi: var(--color-info);--se-zhuangtai-chenggong: var(--color-success);--se-zhuangtai-jinggao: var(--color-warning);--se-zhuangtai-weixian: var(--color-danger);--se-jiaodian-miaobian: var(--color-focus-ring)}:root{--vh: 1vh}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);background-color:var(--color-bg-page);color:var(--color-text-primary);height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html.viewport-locked,body.viewport-locked{overflow:hidden}.u-text-title{font-family:var(--font-sans);font-size:var(--font-size-title-lg);line-height:var(--line-height-title-lg);font-weight:var(--font-weight-title-lg);color:var(--color-text-primary)}.u-text-body{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body);color:var(--color-text-primary)}.u-text-meta{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:var(--font-weight-meta);letter-spacing:var(--letter-spacing-meta);color:var(--color-text-secondary)}.u-tab-active,.u-tab-inactive{font-family:var(--font-sans);font-size:var(--font-size-body);line-height:var(--line-height-body);font-weight:var(--font-weight-body)}.u-tab-active{color:var(--tab-active)}.u-tab-inactive{color:var(--tab-inactive)}#root,.app-shell{height:100svh;min-height:calc(var(--vh, 1vh) * 100)}.app-shell{display:grid;grid-template-rows:var(--layout-appbar-height) 1fr auto;position:relative;background-color:var(--color-bg-page)}.app-shell__top{position:relative;display:flex;align-items:center;justify-content:center;padding:0 var(--space-4);background-color:var(--color-bg-page)}.app-shell__top:after{content:"";position:absolute;left:var(--space-4);right:var(--space-4);bottom:0;border-bottom:var(--border-regular) solid var(--color-divider)}.app-shell__title{font-size:var(--font-size-title-md);line-height:var(--line-height-title-md);font-weight:var(--font-weight-title-md)}.app-shell__top-right{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-2)}.app-shell__actions{display:flex;align-items:center;gap:var(--space-2)}.app-shell__content{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 var(--space-4);padding-bottom:calc(var(--layout-tabbar-height) + env(safe-area-inset-bottom))}.app-shell__content,.app-shell__content *{scrollbar-width:none}.app-shell__content::-webkit-scrollbar,.app-shell__content *::-webkit-scrollbar{width:0!important;height:0!important}.app-shell__content--profile{display:flex;flex-direction:column}.app-shell__content-inner{flex:1 1 auto}.app-shell__content:focus{outline:none}.app-shell__content:focus-visible{outline:2px solid var(--color-bg-page);outline-offset:0}.app-shell__content--no-tabs{padding-bottom:env(safe-area-inset-bottom)}.app-shell__disclaimer{position:fixed;left:0;right:0;bottom:var(--layout-tabbar-height);padding:var(--space-2) var(--space-4);text-align:center;color:var(--color-text-secondary);background:var(--color-bg-base);font-size:var(--font-size-meta);line-height:var(--line-height-meta);z-index:19;pointer-events:none}.app-shell__tabs{display:flex;justify-content:center;align-items:stretch;min-height:var(--layout-tabbar-height);padding:0 var(--space-4);position:fixed;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);z-index:20}.app-shell__sidebar,.app-shell__aside{display:none}.app-shell__spinner{width:16px;height:16px;border-radius:var(--radius-full);border:2px solid rgba(95,175,231,.3);border-top-color:var(--color-brand);animation:app-shell-spin var(--motion-medium) linear infinite}@keyframes app-shell-spin{to{transform:rotate(360deg)}}.page{display:flex;flex-direction:column;gap:var(--space-2)}.page h2{font-size:var(--font-size-title-md);line-height:var(--line-height-title-md);font-weight:var(--font-weight-title-md);margin:0}.page p{font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0;color:var(--color-text-secondary)}@media (min-width: 1024px){.app-shell{grid-template-columns:196px minmax(0,1fr);grid-template-rows:var(--layout-appbar-height) 1fr;grid-template-areas:"sidebar top" "sidebar content"}.app-shell__top{grid-area:top;border-bottom:1px solid rgba(17,23,26,.08)}.app-shell__content{grid-area:content;padding:0 var(--space-6);padding-bottom:0}.app-shell__tabs{display:none}.app-shell__disclaimer{position:static;margin-top:auto;padding:var(--space-4) 0;background:transparent}.app-shell__sidebar{display:flex;flex-direction:column;gap:var(--space-2);grid-area:sidebar;padding:var(--space-4);border-right:var(--border-regular) solid var(--color-divider);background:var(--color-bg-subtle)}.app-shell__sidebar-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:calc(var(--space-2) + var(--space-1)) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;font-weight:var(--font-weight-medium);transition:background-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard)}.app-shell__sidebar-link:hover{background-color:var(--color-brand-soft)}.app-shell__sidebar-link--active{background-color:var(--color-brand);color:var(--color-on-brand)}.app-shell__sidebar-link .app-shell__sidebar-icon{width:20px;height:20px;flex-shrink:0}.app-shell__sidebar-link .app-shell__sidebar-icon svg{width:100%;height:100%}.app-shell__aside{display:flex;flex-direction:column;gap:var(--space-4);grid-area:aside;padding:var(--space-6);border-left:var(--border-regular) solid var(--color-divider);background:var(--color-bg-subtle)}.app-shell__aside-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-card);box-shadow:var(--shadow-md)}.app-shell__aside-card h2,.app-shell__aside-card h3{margin:0;font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);font-weight:var(--font-weight-title-sm);color:var(--color-text-primary)}.app-shell__aside-text{margin:0;color:var(--color-text-secondary);line-height:1.5}.app-shell__aside-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2)}.app-shell__aside-links button{width:100%;padding:calc(var(--space-2) + var(--space-1)) var(--space-3);border:var(--border-regular) solid var(--color-divider);border-radius:var(--radius-md);background:var(--color-bg-card);text-align:left;font:inherit;color:var(--color-text-secondary);cursor:pointer;transition:border-color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.app-shell__aside-links button:hover{border-color:var(--color-brand);box-shadow:0 10px 22px #ffb73c2e}}@media (max-width: 1023px){.app-shell__sidebar,.app-shell__aside{display:none}}.app-loading{padding:var(--space-6);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-body)}.app-shell__back{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--motion-fast) var(--easing-standard)}.app-shell__back:hover,.app-shell__back:focus-visible{background:color-mix(in srgb,var(--color-brand) 18%,transparent);outline:none}.app-shell__back .cmp-icon{width:20px;height:20px}
